@betteroffice/docx 0.0.3 → 0.1.0
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/README.md +22 -8
- package/dist/chunk-24DL53QL.mjs +1 -0
- package/dist/chunk-5F6DLQZP.mjs +1 -0
- package/dist/chunk-BUZ2X5CT.mjs +16 -0
- package/dist/chunk-CTBUQRYQ.mjs +1 -0
- package/dist/{chunk-B4IR6YP4.mjs → chunk-GHEHBYQK.mjs} +1 -1
- package/dist/{chunk-NJHOPXZW.mjs → chunk-HLDJMU3R.mjs} +1 -1
- package/dist/chunk-HTDNSQ44.mjs +1 -0
- package/dist/{chunk-IFT6DUJX.mjs → chunk-LTVVQMHB.mjs} +1 -1
- package/dist/chunk-PI2I3TO5.mjs +57 -0
- package/dist/chunk-TMHG7OAZ.mjs +1 -0
- package/dist/chunk-VRGUAKOC.mjs +1 -0
- package/dist/collaboration/index.d.mts +32 -8
- package/dist/collaboration/index.mjs +1 -1
- package/dist/{content-MOZ6hKP4.d.mts → content-DrqzbIr7.d.mts} +582 -666
- package/dist/core.d.mts +7 -7
- package/dist/core.mjs +1 -1
- package/dist/{displayListQueries-BJlo7Jkz.d.mts → displayListQueries-DGDR-OWc.d.mts} +98 -50
- package/dist/docx/index.d.mts +5 -5
- package/dist/docx/index.mjs +1 -1
- package/dist/editor/index.d.mts +8 -8
- package/dist/{fontLoader-aSewHMKF.d.mts → fontLoader-DnixuYST.d.mts} +127 -2
- package/dist/{formatting-D1EPSaJP.d.mts → formatting-BqrFPeev.d.mts} +85 -203
- package/dist/{frameDelta-D965X8yK.d.mts → frameDelta-DMgR8n13.d.mts} +17 -10
- package/dist/generated/edit/docx_edit_bg.wasm +0 -0
- package/dist/generated/layout/docx_layout_bg.wasm +0 -0
- package/dist/generated/opc/ooxml_opc_bg.wasm +0 -0
- package/dist/generated/parse/docx_parse_bg.wasm +0 -0
- package/dist/{index-Dx4Z3lkz.d.mts → index-ImoMd0Ju.d.mts} +97 -67
- package/dist/layout/index.d.mts +40 -12
- package/dist/layout/index.mjs +1 -1
- package/dist/layout/pagination/index.d.mts +4 -4
- package/dist/layout/pagination/index.mjs +1 -1
- package/dist/layout/render/index.d.mts +33 -77
- package/dist/layout/render/index.mjs +1 -1
- package/dist/plugin-api/RenderedDomContext.d.mts +7 -7
- package/dist/plugin-api/index.d.mts +3 -3
- package/dist/plugin-api/resolveItemPositions.d.mts +3 -3
- package/dist/{rustDisplayList-BRuZBqdL.d.mts → rustDisplayList-B9dQoLHI.d.mts} +79 -50
- package/dist/{rustMeasureSource-D1KsQvVC.d.mts → rustMeasureSource-C0EZB055.d.mts} +5 -2
- package/dist/{selectiveSave-CVoajSKE.d.mts → selectiveSave-CRh-_Y_C.d.mts} +3 -3
- package/dist/styles/index.d.mts +3 -3
- package/dist/{styles-Dn_o3Vo5.d.mts → styles-CMybYYHS.d.mts} +1 -1
- package/dist/types/content.d.mts +2 -2
- package/dist/types/document.d.mts +7 -7
- package/dist/{types-BfqUl2h_.d.mts → types-CXLxVF1t.d.mts} +27 -23
- package/dist/utils/comments.d.mts +2 -2
- package/dist/utils/index.d.mts +11 -13
- package/dist/utils/index.mjs +1 -1
- package/dist/utils/stylePreview.d.mts +2 -2
- package/dist/utils/units.d.mts +4 -34
- package/dist/utils/units.mjs +1 -1
- package/dist/wasm-CJHQHBDE.mjs +1 -0
- package/dist/wasm-T2CRCO7S.mjs +1 -0
- package/dist/wasm-edit.d.mts +524 -168
- package/dist/wasm-edit.mjs +1 -1
- package/dist/wasm-layout.d.mts +35 -28
- package/dist/wasm-layout.mjs +1 -1
- package/dist/wasm-opc.mjs +1 -1
- package/dist/wasm-parse.mjs +1 -1
- package/dist/yrs/index.d.mts +6 -6
- package/dist/yrs/index.mjs +1 -1
- package/dist/yrs/residentEngineWorker.mjs +1 -1
- package/package.json +19 -3
- package/dist/chunk-3UBMCDME.mjs +0 -1
- package/dist/chunk-AEQOEQJ7.mjs +0 -57
- package/dist/chunk-AZ52IWB6.mjs +0 -16
- package/dist/chunk-GGEGIQRK.mjs +0 -1
- package/dist/chunk-T4EZMUXM.mjs +0 -1
- package/dist/chunk-WON6K4FY.mjs +0 -1
- package/dist/chunk-Y7RUNRU2.mjs +0 -1
- package/dist/wasm-DO3BUV7C.mjs +0 -1
- package/dist/wasm-NWXX4H5G.mjs +0 -1
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { a as DisplayPage, b as DisplayPrimitive, D as DisplayList, G as GlyphRunPrimitive, L as LinePrimitive, T as TextRunPrimitive } from '../../frameDelta-
|
|
2
|
-
export { c as DecodedFrameDelta, d as DecorationPrimitive, e as DisplayBounds, f as DocAttrs, F as FRAME_DELTA_HEADER_BYTES, g as FRAME_DELTA_PAGE_OP_BYTES, h as FRAME_DELTA_VERSION, i as FrameDeltaError, j as FrameDeltaErrorCode, k as FramePageOperation, H as HfRegion, I as ImagePrimitive, P as PositionedGlyph, l as RectPrimitive, R as RetainedFrame, m as RetainedFramePage, n as TableCellRef, o as applyFrameDelta, p as applyFrameDeltaOwned, q as decodeFrameDelta } from '../../frameDelta-
|
|
3
|
-
export { a as DisplayListBuildInputs, D as DisplayListHeadersFooters, b as DisplayListHfVariant, c as DisplayListPictureWatermark, d as DisplayListTextWatermark, e as DisplayListWatermark, f as RustDisplayFrameResult, g as RustDisplayListEngine, R as RustDisplayListQueryEngine, h as RustDisplayListSourceError, i as RustDisplayListSourceErrorStage, j as buildRustDisplayFrame, k as buildRustDisplayList, l as encodeDisplayListFrameExtras, m as loadRustDisplayListQueryEngine } from '../../rustDisplayList-
|
|
4
|
-
import { a as DisplayListQueries, b as DisplayListRegionHit, D as DisplayListRect } from '../../displayListQueries-
|
|
5
|
-
export { c as DisplayListHitRegion, d as
|
|
6
|
-
import {
|
|
1
|
+
import { a as DisplayPage, b as DisplayPrimitive, D as DisplayList, G as GlyphRunPrimitive, L as LinePrimitive, T as TextRunPrimitive } from '../../frameDelta-DMgR8n13.mjs';
|
|
2
|
+
export { c as DecodedFrameDelta, d as DecorationPrimitive, e as DisplayBounds, f as DocAttrs, F as FRAME_DELTA_HEADER_BYTES, g as FRAME_DELTA_PAGE_OP_BYTES, h as FRAME_DELTA_VERSION, i as FrameDeltaError, j as FrameDeltaErrorCode, k as FramePageOperation, H as HfRegion, I as ImagePrimitive, P as PositionedGlyph, l as RectPrimitive, R as RetainedFrame, m as RetainedFramePage, n as TableCellRef, o as applyFrameDelta, p as applyFrameDeltaOwned, q as decodeFrameDelta } from '../../frameDelta-DMgR8n13.mjs';
|
|
3
|
+
export { a as DisplayListBuildInputs, D as DisplayListHeadersFooters, b as DisplayListHfVariant, c as DisplayListPictureWatermark, d as DisplayListTextWatermark, e as DisplayListWatermark, f as RustDisplayFrameResult, g as RustDisplayListEngine, R as RustDisplayListQueryEngine, h as RustDisplayListSourceError, i as RustDisplayListSourceErrorStage, j as buildRustDisplayFrame, k as buildRustDisplayList, l as encodeDisplayListFrameExtras, m as loadRustDisplayListQueryEngine } from '../../rustDisplayList-B9dQoLHI.mjs';
|
|
4
|
+
import { a as DisplayListQueries, b as DisplayListRegionHit, D as DisplayListRect } from '../../displayListQueries-DGDR-OWc.mjs';
|
|
5
|
+
export { c as DisplayListHitRegion, d as DisplayListHoverTarget, e as DisplayListImageGeometry, f as DisplayListImageRegion, g as DisplayListParagraphGeometry, h as DisplayListQuerySourceState, i as DisplayListVerticalMove, j as DisplayListVisualLine, L as LocatedImagePrimitive, R as ResidentDisplayListQueryEngine, k as captureInlinePositionEmuFromDisplayList, l as createDisplayListQueries, m as findImagePrimitiveAtPoint, n as findImagePrimitiveByDocPos, o as isDisplayListQuerySourceDead, p as onDisplayListQuerySourceFailure } from '../../displayListQueries-DGDR-OWc.mjs';
|
|
6
|
+
import { u as YrsLoc, Y as YrsSession, v as YrsRevisionInfo } from '../../index-ImoMd0Ju.mjs';
|
|
7
7
|
import { TrackedChangeEntry } from '../../utils/comments.mjs';
|
|
8
|
-
import '../../
|
|
9
|
-
import '../../
|
|
8
|
+
import '../../formatting-BqrFPeev.mjs';
|
|
9
|
+
import '../../content-DrqzbIr7.mjs';
|
|
10
10
|
import '../../docx/wrapTypes.mjs';
|
|
11
|
-
import '../../types-
|
|
11
|
+
import '../../types-CXLxVF1t.mjs';
|
|
12
12
|
import '../pagination/index.mjs';
|
|
13
13
|
import '../../types/document.mjs';
|
|
14
|
-
import '../../styles-
|
|
14
|
+
import '../../styles-CMybYYHS.mjs';
|
|
15
15
|
|
|
16
16
|
/** a cached glyph: its outline path (font units) plus the font's units-per-em. */
|
|
17
17
|
interface GlyphOutline {
|
|
@@ -71,7 +71,6 @@ declare class GlyphCache {
|
|
|
71
71
|
* rasterize as `.notdef`. Keeping the import dynamic also keeps the ~800KB
|
|
72
72
|
* inlined wasm out of the default bundle (see `layout/wasm/index.ts`).
|
|
73
73
|
*
|
|
74
|
-
* @experimental part of the rust-canvas-engine glyph pipeline; shape may evolve.
|
|
75
74
|
*/
|
|
76
75
|
|
|
77
76
|
/**
|
|
@@ -85,6 +84,8 @@ declare class GlyphCache {
|
|
|
85
84
|
*/
|
|
86
85
|
declare function loadGlyphOutlineProvider(): Promise<GlyphOutlineProvider>;
|
|
87
86
|
|
|
87
|
+
/** Builds an accessible display-list mirror with DOM APIs only. */
|
|
88
|
+
|
|
88
89
|
declare const MIRROR_CLASS_NAMES: {
|
|
89
90
|
page: string;
|
|
90
91
|
content: string;
|
|
@@ -159,14 +160,14 @@ interface BuildMirrorPageOptions {
|
|
|
159
160
|
* header/footer regions mirror the painter's structural classes: each HfRegion
|
|
160
161
|
* becomes a `.layout-page-header` / `.layout-page-footer` wrapper at the band's
|
|
161
162
|
* page-local y, and all of the region's primitives (including their block
|
|
162
|
-
* wrappers and doc-range attrs, which refer to the HF
|
|
163
|
+
* wrappers and doc-range attrs, which refer to the HF doc identified by
|
|
163
164
|
* `data-hf-rid`) stay scoped inside it — never under `.layout-page-content`.
|
|
164
165
|
*
|
|
165
166
|
* data-from-line/to-line ride on paragraph fragment primitives (body, HF, text
|
|
166
167
|
* box) and land on the paragraph wrapper; data-vmerge-continuation comes from
|
|
167
168
|
* the cell's `continuation` flag and lands on the ARIA cell. still not derivable
|
|
168
169
|
* from the v0 display list and therefore not emitted: data-carried-from-prev/
|
|
169
|
-
* to-next
|
|
170
|
+
* to-next.
|
|
170
171
|
*/
|
|
171
172
|
declare function buildMirrorPage(page: DisplayPage, options?: BuildMirrorPageOptions): HTMLElement;
|
|
172
173
|
|
|
@@ -196,7 +197,7 @@ interface BuildInteractiveOverlayOptions {
|
|
|
196
197
|
/** Host-localized button names. */
|
|
197
198
|
labels?: InteractiveOverlayLabels;
|
|
198
199
|
}
|
|
199
|
-
/** Apply
|
|
200
|
+
/** Apply content-control focus to the interactive overlay boxes. */
|
|
200
201
|
declare function applyInteractiveSdtFocus(root: ParentNode, focusedGroupIds: ReadonlySet<string>): void;
|
|
201
202
|
/**
|
|
202
203
|
* Build the visible/pointer-active overlay for one page.
|
|
@@ -216,12 +217,7 @@ declare function buildInteractiveOverlayPage(page: DisplayPage, options?: BuildI
|
|
|
216
217
|
type ImageResolver = (relId: string) => CanvasImageSource | Promise<CanvasImageSource | null> | null;
|
|
217
218
|
interface DrawPageOptions {
|
|
218
219
|
resolveImage?: ImageResolver;
|
|
219
|
-
/**
|
|
220
|
-
* Glyph-outline cache for `glyphRun` primitives (phase-2 shaped text). When
|
|
221
|
-
* absent, or when an outline cannot be resolved, the run is painted with
|
|
222
|
-
* `fillText` so text is never invisible. Owned by the host and reused across
|
|
223
|
-
* pages/renders.
|
|
224
|
-
*/
|
|
220
|
+
/** Glyph cache; unresolved outlines fall back to `fillText`. */
|
|
225
221
|
glyphCache?: GlyphCache;
|
|
226
222
|
}
|
|
227
223
|
/**
|
|
@@ -266,28 +262,12 @@ declare function presentOffscreenPageBackBuffer(canvas: OffscreenCanvas, buffer:
|
|
|
266
262
|
declare function sizeCanvasForPage(canvas: PageCanvasLike, ctx: CanvasRenderingContext2D, page: Pick<DisplayPage, 'width' | 'height'>, devicePixelRatio: number, zoom?: number): void;
|
|
267
263
|
/** Raster every display page without requiring a mounted renderer surface. */
|
|
268
264
|
declare function rasterizeDisplayListPages(list: DisplayList, options?: DrawPageOptions, devicePixelRatio?: number): Promise<HTMLCanvasElement[]>;
|
|
269
|
-
/**
|
|
270
|
-
* Replays one DisplayPage onto a 2D context, honoring primitive paint order.
|
|
271
|
-
* Header/footer bands replay after the body, mirroring the DOM painter's
|
|
272
|
-
* append order in renderPage (content, then header, then footer); their
|
|
273
|
-
* primitives are already in page coordinates so they go through the same
|
|
274
|
-
* replay path. Async only because image sources may resolve lazily; each
|
|
275
|
-
* image is awaited in sequence so later primitives still paint above it.
|
|
276
|
-
* Every primitive sets the full context state it depends on, so no
|
|
277
|
-
* save/restore per primitive is needed (images use save/restore for their
|
|
278
|
-
* rotation transform only).
|
|
279
|
-
*/
|
|
265
|
+
/** Replays a page in primitive order, including body and header/footer bands. */
|
|
280
266
|
declare function drawDisplayPage(ctx: CanvasRenderingContext2D, page: DisplayPage, options?: DrawPageOptions): Promise<void>;
|
|
281
267
|
/** Replays a single primitive; exported for hosts that paint incrementally. */
|
|
282
268
|
declare function drawPrimitive(ctx: CanvasRenderingContext2D, primitive: DisplayPrimitive, options?: DrawPageOptions): Promise<void>;
|
|
283
269
|
|
|
284
|
-
/**
|
|
285
|
-
* Renderer-neutral geometry helpers for display-list primitives.
|
|
286
|
-
*
|
|
287
|
-
* These helpers are shared by canvas replay, interaction queries, the a11y
|
|
288
|
-
* mirror, and the temporary painter/display-list differential harness. They
|
|
289
|
-
* must not depend on DOM layout: every returned rectangle is page-local px.
|
|
290
|
-
*/
|
|
270
|
+
/** Renderer-neutral page-local geometry for display-list primitives. */
|
|
291
271
|
|
|
292
272
|
interface GeoRect {
|
|
293
273
|
x: number;
|
|
@@ -304,15 +284,7 @@ declare function glyphRunRect(p: Pick<GlyphRunPrimitive, 'glyphs' | 'size'>): Ge
|
|
|
304
284
|
/** Canonical stroke-expanded page-local box for a line primitive. */
|
|
305
285
|
declare function lineRect(p: Pick<LinePrimitive, 'x1' | 'y1' | 'x2' | 'y2' | 'strokeWidth'>): GeoRect;
|
|
306
286
|
|
|
307
|
-
/**
|
|
308
|
-
* Layout constants + vertical page math for the experimental canvas pages
|
|
309
|
-
* hosts (React `CanvasPagesView` / Vue `CanvasPagesView.vue`): a flex column
|
|
310
|
-
* of one <canvas> per page. Shared by the views themselves and by the
|
|
311
|
-
* display-list consumers that need scroll-container Y coordinates (sidebar
|
|
312
|
-
* anchor positions) so the two can never drift.
|
|
313
|
-
*
|
|
314
|
-
* @experimental part of the rust-canvas-engine change; shape may evolve.
|
|
315
|
-
*/
|
|
287
|
+
/** Shared vertical geometry for canvas page hosts. */
|
|
316
288
|
|
|
317
289
|
/** vertical gap between canvas pages (flex `gap`) */
|
|
318
290
|
declare const CANVAS_PAGE_GAP_PX = 16;
|
|
@@ -335,7 +307,6 @@ declare function canvasPageTops(queries: DisplayListQueries): number[];
|
|
|
335
307
|
* display list's unit space), and ask the Rust `hit_test_regions` query for
|
|
336
308
|
* the region + doc position.
|
|
337
309
|
*
|
|
338
|
-
* @experimental part of the rust-canvas-engine change; shape may evolve.
|
|
339
310
|
*/
|
|
340
311
|
|
|
341
312
|
interface CanvasPointHit {
|
|
@@ -360,13 +331,7 @@ interface DisplayPageClientRect {
|
|
|
360
331
|
width: number;
|
|
361
332
|
height: number;
|
|
362
333
|
}
|
|
363
|
-
/**
|
|
364
|
-
* Resolve the client-space shell for one display-list page. A mounted canvas
|
|
365
|
-
* is the preferred projection host. During the Phase-2 transition the DOM
|
|
366
|
-
* painter may still be the visible renderer, so its *container* is used as a
|
|
367
|
-
* page-stack projection host without inspecting any painted page/text/table
|
|
368
|
-
* node. Page sizes remain display-list-owned.
|
|
369
|
-
*/
|
|
334
|
+
/** Resolves a display-list page rectangle from canvas or DOM page hosts. */
|
|
370
335
|
declare function resolveDisplayPageClientRect(host: HTMLElement, queries: DisplayListQueries, pageIndex: number, options?: DisplayPageHostOptions): DisplayPageClientRect | null;
|
|
371
336
|
/**
|
|
372
337
|
* Resolve a client point against the canvas pages.
|
|
@@ -396,7 +361,6 @@ declare function resolveCanvasPoint(host: HTMLElement, queries: DisplayListQueri
|
|
|
396
361
|
* network fetch (the no-zero-click-external-fetch security contract). Decode
|
|
397
362
|
* results are cached per source so repaints reuse the same HTMLImageElement.
|
|
398
363
|
*
|
|
399
|
-
* @experimental part of the rust-canvas-engine change; shape may evolve.
|
|
400
364
|
*/
|
|
401
365
|
|
|
402
366
|
declare function createCanvasImageResolver(): ImageResolver;
|
|
@@ -414,7 +378,6 @@ declare function createCanvasImageResolver(): ImageResolver;
|
|
|
414
378
|
* entering commented / tracked-change / list content. Edge-triggered on the
|
|
415
379
|
* selection context, so plain typing and uniform caret movement stay silent.
|
|
416
380
|
*
|
|
417
|
-
* @experimental part of the rust-canvas-engine change; shape may evolve.
|
|
418
381
|
*/
|
|
419
382
|
interface A11ySelectionContext {
|
|
420
383
|
hasSelection: boolean;
|
|
@@ -461,7 +424,7 @@ interface A11yAnnouncement {
|
|
|
461
424
|
*/
|
|
462
425
|
declare function computeA11yAnnouncements(prev: A11ySelectionSnapshot | null, next: A11ySelectionSnapshot): A11yAnnouncement[];
|
|
463
426
|
|
|
464
|
-
/** A yrs location projected into the
|
|
427
|
+
/** A yrs location projected into the position space used by the display list. */
|
|
465
428
|
interface YrsSidebarDisplayPoint {
|
|
466
429
|
story: string;
|
|
467
430
|
position: number;
|
|
@@ -480,7 +443,7 @@ interface YrsSidebarProjection {
|
|
|
480
443
|
*/
|
|
481
444
|
declare function yrsIdToNumericId(value: string): number;
|
|
482
445
|
/**
|
|
483
|
-
* Build a lazy
|
|
446
|
+
* Build a lazy projection from live yrs stories to display positions.
|
|
484
447
|
* The canonical yrs segment stream supplies paragraph/atom units; table-cell
|
|
485
448
|
* and block-SDT stories are recursively sized so container tokens are included.
|
|
486
449
|
*/
|
|
@@ -490,12 +453,11 @@ declare function createYrsSidebarProjection(session: YrsSession): YrsSidebarProj
|
|
|
490
453
|
* Comment / tracked-change anchor derivation over the display list, shared
|
|
491
454
|
* by both adapters' sidebar plumbing on the canvas-renderer path.
|
|
492
455
|
*
|
|
493
|
-
* `visitAnchorKeys` walks the
|
|
456
|
+
* `visitAnchorKeys` walks the document and reports every comment /
|
|
494
457
|
* tracked-change anchor as `(key, pos)` — shared between each adapter's
|
|
495
458
|
* layout-math derivation (DOM painter path) and the display-list derivation
|
|
496
459
|
* here, so both register identical keys in identical order.
|
|
497
460
|
*
|
|
498
|
-
* @experimental part of the rust-canvas-engine change; shape may evolve.
|
|
499
461
|
*/
|
|
500
462
|
|
|
501
463
|
/** Structural view shape used only by the legacy display-list anchor walker. */
|
|
@@ -510,13 +472,12 @@ interface AnchorEditorView {
|
|
|
510
472
|
};
|
|
511
473
|
}
|
|
512
474
|
/**
|
|
513
|
-
* Walk the
|
|
475
|
+
* Walk the document and report every comment / tracked-change anchor as
|
|
514
476
|
* `(key, pos)`. `register` is called once per occurrence; callers dedupe.
|
|
515
477
|
*/
|
|
516
478
|
declare function visitAnchorKeys(pmView: AnchorEditorView, register: (key: string, pos: number) => void): void;
|
|
517
479
|
/**
|
|
518
|
-
* Display-list
|
|
519
|
-
* the experimental canvas renderer: anchor Ys come from Rust `range_rects`
|
|
480
|
+
* Display-list anchor derivation: anchor Ys come from Rust `range_rects`
|
|
520
481
|
* queries over the display list (page-local px) plus the canvas page stack
|
|
521
482
|
* math, instead of layout-fragment scans in the DOM viewport's coordinate
|
|
522
483
|
* space. Returns `.canvas-pages`-host Y offsets keyed by
|
|
@@ -529,7 +490,7 @@ interface YrsHeaderFooterRegions {
|
|
|
529
490
|
/**
|
|
530
491
|
* yrs-authoritative sidebar anchors. Comment coverage comes from sticky yrs
|
|
531
492
|
* side-map positions and tracked-change anchors come from `listRevisions()`;
|
|
532
|
-
* neither path reads an
|
|
493
|
+
* neither path reads an `AnchorEditorView` or its document.
|
|
533
494
|
*/
|
|
534
495
|
declare function computeAnchorPositionsFromYrs(session: YrsSession, commentIds: Iterable<string | number>, revisions: readonly YrsRevisionInfo[], projection: YrsSidebarProjection, queries: DisplayListQueries, hfRegions?: YrsHeaderFooterRegions, projectY?: (rect: DisplayListRect) => number | null): Map<string, number>;
|
|
535
496
|
interface DisplayListHfAnchorSource {
|
|
@@ -576,25 +537,24 @@ declare function extractTrackedChangesFromYrs(revisions: readonly YrsRevisionInf
|
|
|
576
537
|
* NOT the table's, so grouping by block id would split a table into one fragment
|
|
577
538
|
* per cell. The adapter therefore supplies `tableKeyOf`, mapping an in-cell doc
|
|
578
539
|
* position to a stable per-table key (in the React adapter: the enclosing table
|
|
579
|
-
* node's
|
|
540
|
+
* node's `before` position, resolved against the live doc). Primitives whose
|
|
580
541
|
* position doesn't resolve to a table are skipped.
|
|
581
542
|
*
|
|
582
543
|
* Column-boundary x's and the right edge are intentionally NOT computed here:
|
|
583
|
-
* they come from the
|
|
544
|
+
* they come from the doc's `columnWidths` (twips) anchored at `originX`,
|
|
584
545
|
* which is exact and robust to horizontally-merged cells (colspan suppresses
|
|
585
546
|
* the interior border line the display list would otherwise expose).
|
|
586
547
|
*
|
|
587
548
|
* Body region only. The HF caret + selection on canvas are now sourced from the
|
|
588
549
|
* region-aware `hfRangeRects` / `hfCaretRects` queries (see
|
|
589
|
-
* `
|
|
550
|
+
* `CanvasPartSelectionOverlay`), but HF *table* resize handles remain a documented
|
|
590
551
|
* gap: this walker takes `page.primitives` (body), and the overlay's
|
|
591
|
-
* `tableKeyOf` / commit path resolves against the body
|
|
552
|
+
* `tableKeyOf` / commit path resolves against the body doc. Closing it needs
|
|
592
553
|
* (1) an optional region parameter here to walk `page.header|footer.primitives`,
|
|
593
554
|
* (2) a `tableKeyOf` bound to the active HF EditorView, and (3) the same
|
|
594
555
|
* nearest-viewport page pick the HF caret uses (the part paints on every page).
|
|
595
556
|
* HF tables are rare, so this is deferred.
|
|
596
557
|
*
|
|
597
|
-
* @experimental part of the rust-canvas-engine change; shape may evolve.
|
|
598
558
|
*/
|
|
599
559
|
|
|
600
560
|
interface TableRowBand {
|
|
@@ -666,7 +626,7 @@ interface DisplayListTableInsertHoverInput {
|
|
|
666
626
|
height: number;
|
|
667
627
|
};
|
|
668
628
|
tableKeyOf: TableKeyResolver;
|
|
669
|
-
/** Resolve a table grid cell to its
|
|
629
|
+
/** Resolve a table grid cell to its cell-start position. */
|
|
670
630
|
cellPmPosOf: (tableKey: string, row: number, col: number) => number | null;
|
|
671
631
|
region?: DisplayListTableRegion;
|
|
672
632
|
edgeProximity?: number;
|
|
@@ -688,7 +648,7 @@ declare function deriveDisplayListTableFragments(list: DisplayList, tableKeyOf:
|
|
|
688
648
|
* Full selected-cell boxes for canvas overlays.
|
|
689
649
|
*
|
|
690
650
|
* The DOM painter highlights `.layout-table-cell` elements directly; in canvas
|
|
691
|
-
* mode those cells are parked, so adapters pass the live
|
|
651
|
+
* mode those cells are parked, so adapters pass the live cell selection as
|
|
692
652
|
* grid coordinates and this helper resolves visible page-local boxes from the
|
|
693
653
|
* display-list table geometry. Border lines provide exact grid edges when
|
|
694
654
|
* present; borderless fragments fall back to the selected cell's content bbox
|
|
@@ -718,14 +678,10 @@ declare function findDisplayListHyperlinkAtPoint(list: DisplayList, pageIndex: n
|
|
|
718
678
|
/**
|
|
719
679
|
* Display-list rendering surface: the renderer-agnostic contract between
|
|
720
680
|
* layout output and every backend, plus the web canvas replay backend.
|
|
721
|
-
*
|
|
722
|
-
* @experimental The display-list pipeline is under active development
|
|
723
|
-
* (rust-canvas-engine change); shape may evolve while the Rust builder lands.
|
|
724
681
|
*/
|
|
725
682
|
|
|
726
683
|
/**
|
|
727
|
-
* Demo display list used
|
|
728
|
-
* display-list builder plugs in. One page, one paragraph of two runs with a
|
|
684
|
+
* Demo display list used when no provider value is injected. One page, one paragraph of two runs with a
|
|
729
685
|
* highlight and underline, a table border line, and an image reference.
|
|
730
686
|
*/
|
|
731
687
|
declare const demoDisplayList: DisplayList;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {d,c,e,s,t,v,f}from'../../chunk-GGEGIQRK.mjs';export{p as FRAME_DELTA_HEADER_BYTES,q as FRAME_DELTA_PAGE_OP_BYTES,o as FRAME_DELTA_VERSION,r as FrameDeltaError,a as GlyphCache,t as applyFrameDelta,u as applyFrameDeltaOwned,s as decodeFrameDelta,m as drawDisplayPage,n as drawPrimitive,b as fontSizePxFromShorthand,d as glyphRunRect,e as lineRect,h as presentDisplayPageBackBuffer,i as presentOffscreenPageBackBuffer,l as rasterizeDisplayListPages,g as rasterizeDisplayPageToBackBuffer,k as sizeCanvasForPage,c as textRunRect}from'../../chunk-GGEGIQRK.mjs';export{b as resolveCanvasPoint,a as resolveDisplayPageClientRect}from'../../chunk-WRWRCBLK.mjs';import {c as c$1}from'../../chunk-3UBMCDME.mjs';import {b}from'../../chunk-TTRUPDAB.mjs';var We={pages:[{pageIndex:0,width:816,height:1056,primitives:[{kind:"rect",x:96,y:96,w:624,h:20,fill:"#fff9c4",blockId:0,docStart:1,docEnd:12},{kind:"text",text:"Hello Word",x:96,baselineY:110,width:84.5,font:"700 16px Calibri, sans-serif",color:"#000000",docStart:1,docEnd:11,blockId:0},{kind:"decoration",deco:"underline",x:96,y:113,w:84.5,h:1,color:"#000000",docStart:1,docEnd:11,blockId:0},{kind:"text",text:" \u2014 second run",x:180.5,baselineY:110,width:96.25,font:"400 16px Calibri, sans-serif",color:"#c0392b",docStart:11,docEnd:24,blockId:0},{kind:"line",x1:96,y1:140,x2:720,y2:140,strokeWidth:.75,color:"#666666",role:"table-border"},{kind:"image",relId:"rId7",x:96,y:160,w:200,h:120,docStart:30,docEnd:31,blockId:2}]}]};function _t(){return import('../../wasm-DO3BUV7C.mjs').then(async e=>(await e.preloadLayoutWasm(),e.outlineGlyphJson))}var D={page:"layout-page layout-page-mirror",content:"layout-page-content",header:"layout-page-header",footer:"layout-page-footer",block:"layout-paragraph",table:"layout-table",tableRow:"layout-table-row",tableCell:"layout-table-cell",text:"layout-run layout-run-text",rect:"layout-mirror-rect",image:"layout-run layout-run-image",shape:"layout-run layout-run-shape",chart:"layout-run layout-run-chart",decoration:"layout-decoration",line:"layout-mirror-line",pageBorder:"layout-page-border",tableCut:"layout-table-cut-border",blockSdt:"layout-block-sdt",inlineSdtWidget:"layout-inline-sdt-widget",revisionPmark:"layout-revision-pmark",revisionPmarkGlyph:"layout-revision-pmark-glyph",revisionPmarkIns:"layout-revision-ins",revisionPmarkDel:"layout-revision-del",listMarker:"layout-list-marker",revisionTable:"oox-revision-table",revisionRow:"oox-revision-row",revisionCell:"oox-revision-cell",revisionIns:"oox-revision-ins",revisionDel:"oox-revision-del",revisionMerge:"oox-revision-merge",notes:"layout-page-notes",note:"layout-note",noteBacklink:"layout-note-backlink"};function Xt(e,t={}){let r=t.document??document,i=t.labels,n={labels:i,noteRefIds:new Set},s=r.createElement("div");s.className=D.page,s.setAttribute("role","document"),i?.page&&s.setAttribute("aria-label",i.page),s.dataset.pageIndex=String(e.pageIndex),e.sectionId!==void 0&&(s.dataset.sectionId=e.sectionId),e.sectionIndex!==void 0&&(s.dataset.sectionIndex=String(e.sectionIndex)),e.sectionPageIndex!==void 0&&(s.dataset.sectionPageIndex=String(e.sectionPageIndex)),e.sectionPageNumber!==void 0&&(s.dataset.sectionPageNumber=String(e.sectionPageNumber)),e.pageLabel!==void 0&&(s.dataset.pageLabel=e.pageLabel),s.style.position="relative",s.style.width=`${e.width}px`,s.style.height=`${e.height}px`,s.style.opacity="0",s.style.pointerEvents="none";let o=r.createElement("div");o.className=D.content,o.style.position="absolute",o.style.left="0",o.style.top="0",o.style.width=`${e.width}px`,o.style.height=`${e.height}px`,s.appendChild(o);for(let a of (e.pageBorders??[]).filter(l=>l.zOrder==="back"))o.appendChild(je(a,r,0));oe(o,e.primitives,r,0,n);for(let a of e.noteAreas??[])o.appendChild(Zt(a,e,r,n));for(let a of [e.header,e.footer])a&&s.appendChild($t(a,e,r,n));for(let a of (e.pageBorders??[]).filter(l=>l.zOrder!=="back"))s.appendChild(je(a,r,0));return s}function $t(e,t,r,i){let n=r.createElement("div");n.className=e.kind==="header"?D.header:D.footer,n.dataset.hfRid=e.rId;let s=e.kind==="header"?i.labels?.header:i.labels?.footer;return s&&(n.setAttribute("role","region"),n.setAttribute("aria-label",s)),n.style.position="absolute",n.style.left="0",n.style.top=`${e.y}px`,n.style.width=`${t.width}px`,n.style.height=`${e.height}px`,oe(n,e.primitives,r,-e.y,i),n}function oe(e,t,r,i,n){let s=new Map;for(let o of t){let a=o.kind==="line"?void 0:o.blockKey??o.blockId;if(a===void 0){e.appendChild(ge(o,r,i,n));continue}let l=o.table,c=l?.tableId!==void 0?`table:${l.tableId}#${l.rowStart??0}`:a,d=s.get(c);if(!d){let p=r.createElement("div");p.dataset.blockId=String(l?.tableId??a),p.style.position="absolute",p.style.left="0",p.style.top="0",e.appendChild(p),d={el:p,prims:[]},s.set(c,d);}d.prims.push(o);}for(let o of s.values())Jt(o,r,i,n);Wt(s);}function Jt(e,t,r,i){let{el:n,prims:s}=e;if(!s.some(y=>y.cell!==void 0||y.structuralRevision?.scope==="table"||y.structuralRevision?.scope==="row"||y.structuralRevision?.scope==="cell")){Ve(n,s,t,r,i);return}n.className=D.table,n.setAttribute("role","table");let a=s.find(y=>y.table!==void 0)?.table;e.table=a,e.cells=[],a?.tableId!==void 0&&(n.dataset.tableId=a.tableId),a?.rowStart!==void 0&&(n.dataset.rowStart=String(a.rowStart)),a?.rowEnd!==void 0&&(n.dataset.rowEnd=String(a.rowEnd)),a?.headerRowCount!==void 0&&(n.dataset.headerRowCount=String(a.headerRowCount)),a?.parentTableId!==void 0&&(n.dataset.parentTableId=a.parentTableId),a?.caption&&n.setAttribute("aria-label",a.caption),a?.description&&n.setAttribute("aria-description",a.description);let l=fe(s,"table");l&&ye(n,l),Ae(n,s.find(y=>y.sdt!==void 0)?.sdt);for(let y of s)y.cell===void 0&&n.appendChild(ge(y,t,r,i));let c=new Map,d=0,p=0;for(let y of s){if(y.cell===void 0)continue;let{row:m,col:h}=y.cell;d=Math.max(d,m+(y.cell.rowSpan??1)),p=Math.max(p,h+(y.cell.colSpan??1));let R=c.get(m);R||(R=new Map,c.set(m,R));let k=R.get(h);k||(k={ref:y.cell,prims:[]},R.set(h,k)),k.prims.push(y);}n.setAttribute("aria-rowcount",String(a?.rowCount??d)),n.setAttribute("aria-colcount",String(a?.columnCount??p));for(let y of [...c.keys()].sort((m,h)=>m-h)){let m=t.createElement("div");m.className=D.tableRow,m.setAttribute("role","row"),m.setAttribute("aria-rowindex",String(y+1));let h=fe(s,"row",y);h&&ye(m,h),m.style.position="absolute",m.style.left="0",m.style.top="0",n.appendChild(m);let R=c.get(y);for(let k of [...R.keys()].sort((v,b)=>v-b)){let v=R.get(k),b=t.createElement("div");b.className=D.tableCell,b.setAttribute("role",v.ref.isHeader?"columnheader":"cell"),b.setAttribute("aria-colindex",String(k+1)),v.ref.cellId&&(b.id=v.ref.cellId),v.ref.headerIds?.length&&b.setAttribute("aria-labelledby",v.ref.headerIds.join(" ")),v.ref.repeatedHeader&&(b.dataset.repeatedHeader="true"),v.ref.noWrap&&(b.dataset.noWrap="true");let M=v.ref.rowSpan??1,A=v.ref.colSpan??1;M>1&&b.setAttribute("aria-rowspan",String(M)),A>1&&b.setAttribute("aria-colspan",String(A));let w=fe(v.prims,"cell",y,k);w&&ye(b,w),v.ref.continuation&&(b.dataset.vmergeContinuation="true"),b.style.position="absolute",b.style.left="0",b.style.top="0";let _=new Map,W=[];for(let P of v.prims){let X=P.blockKey??P.blockId;if(X===void 0){W.push(P);continue}let B=_.get(X);B?B.push(P):_.set(X,[P]);}for(let P of Me(W))b.appendChild(ge(P,t,r,i));for(let[P,X]of _){let B=t.createElement("div");B.dataset.blockId=String(P),B.style.position="absolute",B.style.left="0",B.style.top="0",Ve(B,X,t,r,i),b.appendChild(B);}Qt(b,v.prims),tt(b,v.prims),e.cells.push({el:b,bounds:et(v.prims)}),m.appendChild(b);}}Pe(n,s);}function Ve(e,t,r,i,n){let s=t.find(c=>c.chart!==void 0)?.chart;e.className=s?`${D.block} ${D.chart}`:D.block,e.setAttribute("role",s?"img":"paragraph"),s?.label&&e.setAttribute("aria-label",s.label);for(let c of Me(t))e.appendChild(ge(c,r,i,n));let o=fe(t,"pmark");o&&ye(e,o),Kt(e,t,r,i),Ae(e,t.find(c=>c.sdt!==void 0)?.sdt);let a=t.find(c=>c.paraId!==void 0)?.paraId;a!==void 0&&(e.dataset.paraId=a);let l=t.find(c=>c.fromLine!==void 0);l?.fromLine!==void 0&&(e.dataset.fromLine=String(l.fromLine),l.toLine!==void 0&&(e.dataset.toLine=String(l.toLine))),tt(e,t),zt(e,t);}function Kt(e,t,r,i){Pe(e,t);let n=Number(e.dataset.docStart),s=Number(e.dataset.docEnd),o=t.map(p=>p.fragmentDocStart).filter(p=>Number.isFinite(p)),a=t.map(p=>p.fragmentDocEnd).filter(p=>Number.isFinite(p)),l=o.length>0?Math.min(...o):void 0,c=a.length>0?Math.max(...a):void 0,d=l??(Number.isFinite(n)&&n===s&&n>0?n-1:void 0);if(d!==void 0&&(e.dataset.docStart=String(d)),c!==void 0&&(e.dataset.docEnd=String(c)),d!==void 0&&!t.some(p=>p.docStart===d)){let p=Me(t).find(m=>we(m)!==void 0),y=p?we(p):void 0;if(y){let m=r.createElement("span");m.className="layout-mirror-structural-anchor",m.dataset.docStart=String(d),m.dataset.docEnd=String(d),j(m,y,i),e.insertBefore(m,e.firstChild);}}}function Qt(e,t){let r=e.querySelectorAll(".layout-paragraph[data-doc-start]"),i=1/0,n=-1/0;for(let s of r){let o=Number(s.dataset.docStart),a=Number(s.dataset.docEnd);Number.isFinite(o)&&(i=Math.min(i,o)),Number.isFinite(a)&&(n=Math.max(n,a));}i!==1/0&&(e.dataset.docStart=String(i)),n!==-1/0&&(e.dataset.docEnd=String(n)),i===1/0&&n===-1/0&&Pe(e,t);}function Wt(e){let t=new Map;for(let r of e.values())r.table?.tableId&&t.set(r.table.tableId,r);for(let r of e.values()){let i=r.table?.parentTableId;if(!i)continue;let n=t.get(i),s=et(r.prims);if(!n?.cells?.length||!s)continue;let o=s.x+s.w/2,a=s.y+s.h/2,l=n.cells.filter(c=>c.bounds&&Vt(o,a,c.bounds));l.sort((c,d)=>ze(c.bounds)-ze(d.bounds)),l[0]?.el.appendChild(r.el);}}function Vt(e,t,r){return e>=r.x&&e<=r.x+r.w&&t>=r.y&&t<=r.y+r.h}function ze(e){return e.w*e.h}function et(e){let t;for(let r of e){let i=r.clipGroup?.clip,n=i?.x!==void 0&&i.y!==void 0&&i.w!==void 0&&i.h!==void 0?{x:i.x,y:i.y,w:i.w,h:i.h}:we(r);if(!n)continue;if(!t){t={...n};continue}let s=Math.max(t.x+t.w,n.x+n.w),o=Math.max(t.y+t.h,n.y+n.h);t.x=Math.min(t.x,n.x),t.y=Math.min(t.y,n.y),t.w=s-t.x,t.h=o-t.y;}return t}function we(e){switch(e.kind){case "text":return c(e);case "glyphRun":return d(e);case "rect":return {x:e.x,y:e.y,w:e.w,h:e.h};case "image":case "shape":return {x:e.x,y:e.y,w:e.w,h:e.h};case "decoration":return {x:e.x,y:e.y,w:e.w,h:e.h}}}function Me(e){let t=e.filter(i=>i.logicalOrder!==void 0).sort((i,n)=>(i.logicalOrder??0)-(n.logicalOrder??0)||(i.docStart??0)-(n.docStart??0));if(t.length<2)return e;let r=0;return e.map(i=>i.logicalOrder===void 0?i:t[r++])}function tt(e,t){let r=t.find(s=>s.lang)?.lang;r&&(e.lang=r);let i=t.find(s=>s.bidiLevel!==void 0||"rtl"in s);if(!i)return;let n=i.bidiLevel!==void 0?i.bidiLevel%2===1:"rtl"in i?i.rtl:false;e.dir=n?"rtl":"ltr";}function zt(e,t){let r=t.find(i=>i.ariaLabel||i.ariaDescription||i.decorative||i.hiddenObject||i.groupId);r&&it(e,r);}function Pe(e,t){let r,i;for(let n of t)n.docStart!==void 0&&(r=r===void 0?n.docStart:Math.min(r,n.docStart)),n.docEnd!==void 0&&(i=i===void 0?n.docEnd:Math.max(i,n.docEnd));r!==void 0&&(e.dataset.docStart=String(r)),i!==void 0&&(e.dataset.docEnd=String(i));}function fe(e,t,r,i){return e.find(n=>{let s=n.structuralRevision;return !(!s||s.scope!==t||r!==void 0&&s.rowIndex!==r||i!==void 0&&s.colIndex!==i)})?.structuralRevision}function ge(e$1,t,r,i){switch(e$1.kind){case "text":{let n=Ue(t,e$1,i);return n.className=D.text,n.textContent=e$1.text,j(n,c(e$1),r),n.style.font=e$1.font,qe(n,e$1),Ze(n,e$1),ve(n,e$1.hidden&&e$1.opacity===void 0?.4:e$1.opacity,e$1.rotationDeg,e$1.horizontalScale),e$1.structuralRevision?.scope==="pmark"&&(n.classList.add(D.revisionPmarkGlyph),e$1.structuralRevision.kind==="ins"&&n.classList.add(D.revisionPmarkIns),e$1.structuralRevision.kind==="del"&&n.classList.add(D.revisionPmarkDel),n.setAttribute("aria-hidden","true")),e$1.listMarker&&(n.classList.add(D.listMarker),n.setAttribute("aria-hidden","true"),e$1.listMarkerRevision&&(n.style.color=e$1.listMarkerRevision==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)")),ne(n,e$1),n}case "glyphRun":{let n=Ue(t,e$1,i);return n.className=D.text,n.textContent=e$1.text,j(n,d(e$1),r),n.style.fontSize=`${e$1.size}px`,jt(n,e$1.fallbackFont),qe(n,e$1),Ze(n,e$1),ve(n,e$1.hidden&&e$1.opacity===void 0?.4:e$1.opacity,e$1.rotationDeg,e$1.horizontalScale),ne(n,e$1),n}case "rect":{let n=t.createElement("div");return n.className=D.rect,j(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),ne(n,e$1),n}case "line":{let n=t.createElement("div");return n.className=e$1.role==="table-cut"?D.tableCut:D.line,e$1.role&&e$1.role!=="table-cut"&&(n.dataset.role=e$1.role),j(n,e(e$1),r),n.setAttribute("aria-hidden","true"),n}case "image":{let n=e$1.href?t.createElement("a"):t.createElement("div");return n.className=D.image,e$1.decorative?n.setAttribute("aria-hidden","true"):(n.setAttribute("role","img"),e$1.altText&&n.setAttribute("aria-label",e$1.altText)),nt(n,e$1),n.dataset.relId=e$1.relId,j(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),ve(n,e$1.opacity,e$1.rotationDeg),e$1.filter&&(n.style.filter=e$1.filter),ne(n,e$1),e$1.revision&&(n.style.outline=`2px solid ${e$1.revision.kind==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)"}`),e$1.href||(n.style.pointerEvents="auto"),n}case "shape":{let n=t.createElement("div");return n.className=D.shape,e$1.decorative?n.setAttribute("aria-hidden","true"):n.setAttribute("role","img"),j(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),Ut(n,e$1.transform),ne(n,e$1),n}case "decoration":{let n=t.createElement("span");return n.className=D.decoration,n.dataset.deco=e$1.deco,j(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),ne(n,e$1),n}}}function je(e,t,r){let i=t.createElement("div");return i.className=D.pageBorder,j(i,{x:e.x,y:e.y,w:e.w,h:e.h},r),i.style.boxSizing="border-box",i.style.pointerEvents="none",i.style.zIndex=e.zOrder==="back"?"0":"20",pe(i,"Top",e.top),pe(i,"Right",e.right),pe(i,"Bottom",e.bottom),pe(i,"Left",e.left),i}function j(e,t,r=0){e.style.position="absolute",e.style.left=`${t.x}px`,e.style.top=`${t.y+r}px`,e.style.width=`${t.w}px`,e.style.height=`${t.h}px`;}function Ue(e,t,r){let i=t.noteRef?.id!==void 0?t.noteRef:void 0,n=t.href||i?e.createElement("a"):e.createElement("span");if(nt(n,t),i&&!t.href){let s=i.kind??"footnote",o=`oox-${s}-${i.id}`;n.setAttribute("href",`#${o}`),n.setAttribute("role","doc-noteref");let a=`oox-noteref-${s}-${i.id}`;r.noteRefIds.has(a)||(r.noteRefIds.add(a),n.id=a);}return n}function nt(e,t){let{href:r}=t;if(!r)return;e.setAttribute("href",r),e.dataset.href=r;let i=t.linkTitle??t.tooltip;i&&(e.title=i),t.linkTarget?e.setAttribute("target",t.linkTarget):r.startsWith("#")||e.setAttribute("target","_blank"),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener noreferrer"),t.linkHistory!==void 0&&(e.dataset.linkHistory=String(t.linkHistory)),t.linkDocLocation!==void 0&&(e.dataset.linkDocLocation=t.linkDocLocation);}function jt(e,t){if(t)for(let r of t.split(" ")){if(r.endsWith("px"))break;r==="italic"?e.style.fontStyle="italic":/^[1-9]00$/.test(r)&&r!=="400"&&(e.style.fontWeight=r);}}function qe(e,t){t.lang&&(e.lang=t.lang),t.bidiLevel!==void 0?e.dir=t.bidiLevel%2===1?"rtl":"ltr":t.rtl&&(e.dir="rtl");}function pe(e,t,r){if(!r)return;let i=e.style;i[`border${t}Width`]=`${r.width}px`,i[`border${t}Style`]=r.style,i[`border${t}Color`]=r.color;}function ve(e,t,r,i){t!==void 0&&(e.style.opacity=String(t));let n=[];r&&n.push(`rotate(${r}deg)`),i!==void 0&&i!==100&&n.push(`scaleX(${i/100})`),n.length>0&&(e.style.transform=n.join(" "),e.style.transformOrigin=i!==void 0&&i!==100?"left center":"center center");}function Ut(e,t){if(!t)return;let r=[];t.rotation&&r.push(`rotate(${t.rotation}deg)`),t.flipH&&r.push("scaleX(-1)"),t.flipV&&r.push("scaleY(-1)"),r.length!==0&&(e.style.transform=r.join(" "),e.style.transformOrigin="center center");}function Ze(e,t){if(t.allCaps&&(e.style.textTransform="uppercase"),t.smallCaps&&(e.style.fontVariant="small-caps"),t.hidden&&(e.classList.add("docx-hidden"),e.style.textDecoration="underline dotted"),t.textShadow==="emboss"?e.style.textShadow="1px 1px 1px rgba(255,255,255,0.5), -1px -1px 1px rgba(0,0,0,0.3)":t.textShadow==="imprint"?e.style.textShadow="-1px -1px 1px rgba(255,255,255,0.5), 1px 1px 1px rgba(0,0,0,0.3)":t.textShadow==="shadow"&&(e.style.textShadow="1px 1px 2px rgba(0,0,0,0.3)"),t.textOutline&&(e.style.webkitTextStroke="1px currentColor",e.style.webkitTextFillColor="transparent"),t.emphasisMark){let r=t.emphasisMark==="comma"?"filled sesame":t.emphasisMark==="circle"?"filled circle":"filled dot",i=t.emphasisMark==="underDot"?"under right":"over right";e.style.textEmphasis=r,e.style.textEmphasisPosition=i,e.style.webkitTextEmphasis=r,e.style.webkitTextEmphasisPosition=i;}t.textEffect&&(e.classList.add("docx-text-effect",`docx-text-effect-${t.textEffect}`),e.dataset.effect=t.textEffect);}function ne(e,t){if(t.docStart!==void 0&&(e.dataset.docStart=String(t.docStart)),t.docEnd!==void 0&&(e.dataset.docEnd=String(t.docEnd)),t.commentIds&&t.commentIds.length>0&&(e.dataset.commentId=t.commentIds.join(" ")),t.field){let r=t.field.type??t.field.category;r&&(e.dataset.fieldType=r),t.field.category&&(e.dataset.fieldCategory=t.field.category),t.field.instruction&&(e.dataset.fieldInstruction=t.field.instruction);let i=t.field.instruction?.trim()||r;i&&e.setAttribute("aria-description",i);}if(t.noteRef?.id!==void 0&&(e.dataset.noteRefKind=t.noteRef.kind??"footnote",e.dataset.noteRefId=String(t.noteRef.id)),t.comment){t.comment.status&&(e.dataset.commentStatus=t.comment.status),t.comment.authorId&&(e.dataset.commentAuthorId=t.comment.authorId),t.comment.paletteIndex!==void 0&&(e.dataset.commentPaletteIndex=String(t.comment.paletteIndex)),t.comment.color&&(e.dataset.commentColor=t.comment.color),t.comment.selected!==void 0&&(e.dataset.commentSelected=String(t.comment.selected)),t.comment.authorName&&(e.dataset.commentAuthorName=t.comment.authorName),t.comment.date&&(e.dataset.commentDate=t.comment.date),t.comment.replyCount!==void 0&&(e.dataset.commentReplyCount=String(t.comment.replyCount));let r=[t.comment.status,t.comment.authorName??t.comment.authorId,t.comment.date,t.comment.text,...(t.comment.replies??[]).map(i=>[i.authorName,i.text].filter(Boolean).join(": "))].filter(Boolean).join(", ");r&&e.setAttribute("aria-description",r);}if(t.revision){e.dataset.changeAuthor=t.revision.author,e.dataset.changeDate=t.revision.date,e.dataset.revisionId=t.revision.revisionId,e.classList.add(t.revision.kind==="ins"?"docx-insertion":"docx-deletion"),e.hasAttribute("role")||e.setAttribute("role",t.revision.kind==="ins"?"insertion":"deletion");let r=[t.revision.author,t.revision.date].filter(Boolean).join(", ");r&&e.setAttribute("aria-description",r);}t.href&&(e.dataset.href=t.href),qt(e,t.inlineSdtWidget),Ae(e,t.sdt),t.sdtPath?.length&&(e.dataset.sdtPath=t.sdtPath.map(r=>r.groupId).join(" ")),t.logicalOrder!==void 0&&(e.dataset.logicalOrder=String(t.logicalOrder)),t.bidiLevel!==void 0&&(e.dataset.bidiLevel=String(t.bidiLevel)),it(e,t);}function it(e,t){if(t.groupId&&(e.dataset.groupId=t.groupId),t.decorative||t.hiddenObject){e.setAttribute("aria-hidden","true"),e.removeAttribute("role"),e.removeAttribute("aria-label"),e.removeAttribute("aria-description");return}t.ariaLabel&&e.setAttribute("aria-label",t.ariaLabel),t.ariaDescription&&e.setAttribute("aria-description",t.ariaDescription);}function Ae(e,t){t&&(e.classList.add(D.blockSdt),e.dataset.sdtGroupId=t.groupId,e.dataset.sdtType=t.sdtType,t.depth!==void 0&&(e.dataset.sdtDepth=String(t.depth)),t.tag!==void 0&&(e.dataset.sdtTag=t.tag),t.alias!==void 0&&(e.dataset.sdtAlias=t.alias),t.lock!==void 0&&(e.dataset.sdtLock=t.lock),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked)),t.bound!==void 0&&(e.dataset.sdtBound=String(t.bound)),t.repeatingItem!==void 0&&(e.dataset.sdtRepeatingItem=String(t.repeatingItem)),!e.hasAttribute("aria-label")&&(t.alias||t.tag)&&e.setAttribute("aria-label",t.alias||t.tag||""),t.lock&&e.setAttribute("aria-readonly","true"));}function qt(e,t){if(!t)return;e.classList.add(D.inlineSdtWidget);let r=t.controlKind??t.kind;e.dataset.sdtWidget=r,e.dataset.sdtGroupId=t.groupId,e.dataset.sdtPos=String(t.pos),t.tag!==void 0&&(e.dataset.sdtTag=t.tag),t.alias!==void 0&&(e.dataset.sdtAlias=t.alias),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked),e.setAttribute("aria-checked",String(t.checked))),t.controlId!==void 0&&(e.dataset.sdtControlId=String(t.controlId)),t.value!==void 0&&(e.dataset.sdtValue=t.value),t.selectedIndex!==void 0&&(e.dataset.sdtSelectedIndex=String(t.selectedIndex)),t.dateFormat!==void 0&&(e.dataset.sdtDateFormat=t.dateFormat),t.dateLanguage!==void 0&&(e.dataset.sdtDateLanguage=t.dateLanguage),t.locked!==void 0&&(e.dataset.sdtLocked=String(t.locked)),r==="checkbox"?e.setAttribute("role","checkbox"):r==="dropDownList"||r==="comboBox"?(e.setAttribute("role","combobox"),e.setAttribute("aria-haspopup","listbox"),e.setAttribute("aria-expanded","false")):r==="date"?(e.setAttribute("role","button"),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("role","group"),e.removeAttribute("tabindex"),(t.alias||t.tag)&&e.setAttribute("aria-label",t.alias||t.tag||""),t.locked&&e.setAttribute("aria-disabled","true");}function ye(e,t){switch(t.scope){case "pmark":e.classList.add(D.revisionPmark),t.kind==="ins"&&e.classList.add(D.revisionPmarkIns),t.kind==="del"&&e.classList.add(D.revisionPmarkDel);break;case "table":e.classList.add(D.revisionTable,ke(t.kind));break;case "row":e.classList.add(D.revisionRow,ke(t.kind));break;case "cell":e.classList.add(D.revisionCell,ke(t.kind));break}e.dataset.revisionId=t.revisionId,e.dataset.revisionAuthor=t.author,t.date&&(e.dataset.revisionDate=t.date);let r=[t.author,t.date].filter(Boolean).join(", ");r&&e.setAttribute("aria-description",r);}function ke(e){return e==="ins"?D.revisionIns:e==="del"?D.revisionDel:D.revisionMerge}function Zt(e,t,r,i){let n=r.createElement("section");n.className=D.notes,n.dataset.noteKind=e.kind??"footnote",e.sectionId&&(n.dataset.sectionId=e.sectionId),e.columns!==void 0&&(n.dataset.columns=String(e.columns)),n.style.position="absolute",n.style.left="0",n.style.top=`${e.y??0}px`,n.style.width=`${t.width}px`,n.style.height=`${e.height??0}px`;let s=new Map;for(let a of e.notes??[])a.id!==void 0&&s.set(a.id,a);oe(n,e.separatorPrimitives??[],r,-(e.y??0),i);let o=[...e.primitives??[]];for(let a of e.noteIds??[]){let c=`${e.kind??"footnote"}-${a}`,d=o.filter(m=>m.groupId===c);if(d.length===0)continue;for(let m of d){let h=o.indexOf(m);h>=0&&o.splice(h,1);}let p=r.createElement("aside");p.className=D.note,p.id=`oox-${c}`,p.dataset.noteId=String(a),p.setAttribute("role",e.kind==="endnote"?"doc-endnote":"doc-footnote");let y=s.get(a);if(y&&(y.label!==void 0&&(p.dataset.noteLabel=y.label),y.anchorDocStart!==void 0&&(p.dataset.anchorDocStart=String(y.anchorDocStart)),y.anchorDocEnd!==void 0&&(p.dataset.anchorDocEnd=String(y.anchorDocEnd))),oe(p,d,r,-(e.y??0),i),y){let m=r.createElement("a");m.className=D.noteBacklink,m.setAttribute("role","doc-backlink"),m.setAttribute("href",`#oox-noteref-${c}`);let h=i.labels?.noteBacklink??y.label??String(a);m.setAttribute("aria-label",h),p.appendChild(m);}n.appendChild(p);}return o.length>0&&oe(n,o,r,-(e.y??0),i),n}function en(e,t){for(let r of Array.from(e.querySelectorAll(".layout-canvas-sdt-box[data-sdt-group-id]")))r.classList.toggle("layout-sdt-focused",t.has(r.dataset.sdtGroupId??""));}var tn=".layout-sdt-widget, .layout-inline-sdt-widget, .layout-sdt-repeat-btn";function nn(e,t={}){let r=t.document??document,i=r.createElement("div");i.className="layout-interactive-overlay",i.dataset.pageIndex=String(e.pageIndex),i.style.position="absolute",i.style.inset="0",i.style.width=`${e.width}px`,i.style.height=`${e.height}px`,i.style.pointerEvents="none",i.addEventListener("mousedown",a=>{a.target?.closest?.(tn)&&(a.preventDefault(),a.stopPropagation());});let n=rn(e),s=on(n);for(let a of [...s.values()].sort(an))i.appendChild(ln(a,r,t.labels));let o=sn(n);for(let a of o.values())i.appendChild(cn(a,r,t.labels));return i}function rn(e){return [...e.primitives,...e.header?.primitives??[],...e.footer?.primitives??[],...(e.noteAreas??[]).flatMap(t=>[...t.separatorPrimitives??[],...t.primitives??[]])]}function on(e){let t=new Map;for(let r of e){let i=ot(r);if(!i)continue;let n=r.sdtPath?.length?r.sdtPath:r.sdt?[r.sdt]:[];for(let s of n){let o=t.get(s.groupId);o?o.rect=st(o.rect,i):t.set(s.groupId,{attrs:s,rect:{...i}});}}return t}function sn(e){let t=new Map;for(let r of e){let i=r.inlineSdtWidget,n=ot(r);if(!i||!n)continue;let s=`${i.groupId}:${i.pos}:${i.controlKind??i.kind}`,o=t.get(s);o?o.rect=st(o.rect,n):t.set(s,{attrs:i,rect:{...n}});}return t}function an(e,t){return (e.attrs.depth??0)-(t.attrs.depth??0)||e.rect.y-t.rect.y||e.rect.x-t.rect.x}function ln(e,t,r){let{attrs:i,rect:n}=e,s=t.createElement("div");s.className="layout-block-sdt-box layout-canvas-sdt-box",pn(s,i),at(s,n),s.style.pointerEvents="none";let o=i.alias||i.tag;if(o){let c=t.createElement("span");c.className="layout-block-sdt-label",c.textContent=o,s.appendChild(c);}let a=un(i.sdtType),l=!i.bound&&!mn(i.lock);if(a&&l){let c=t.createElement("button");c.type="button",c.className="layout-sdt-widget",c.dataset.sdtWidget=a,c.dataset.sdtGroupId=i.groupId,i.tag&&(c.dataset.sdtTag=i.tag),i.alias&&(c.dataset.sdtAlias=i.alias),(o||r?.control)&&c.setAttribute("aria-label",o||r?.control||""),a==="dropdown"&&c.setAttribute("aria-haspopup","listbox"),a==="date"&&c.setAttribute("aria-haspopup","dialog"),a==="checkbox"&&(c.setAttribute("role","checkbox"),c.setAttribute("aria-checked",String(i.checked??false))),c.textContent=a==="dropdown"?"\u25BE":a==="date"?"\u25A3":i.checked?"\u2612":"\u2610",c.style.pointerEvents="auto",s.appendChild(c);}if(i.repeatingItem&&l){let c=t.createElement("div");c.className="layout-sdt-repeat-controls",c.style.pointerEvents="auto",c.appendChild(rt(t,i,"add","\uFF0B",r?.addRepeatingItem,o)),c.appendChild(rt(t,i,"remove","\u2715",r?.removeRepeatingItem,o)),s.appendChild(c);}return s}function rt(e,t,r,i,n,s){let o=e.createElement("button");return o.type="button",o.className="layout-sdt-repeat-btn",o.dataset.sdtRepeat=r,o.dataset.sdtGroupId=t.groupId,t.tag&&(o.dataset.sdtTag=t.tag),(n||s)&&o.setAttribute("aria-label",n||s||""),o.textContent=i,o}function cn(e,t,r){let{attrs:i,rect:n}=e,s=i.controlKind??i.kind,o=t.createElement("button");return o.type="button",o.className="layout-sdt-widget layout-inline-sdt-widget layout-canvas-inline-sdt-widget",o.dataset.sdtWidget=dn(s),o.dataset.sdtGroupId=i.groupId,o.dataset.sdtPos=String(i.pos),i.tag&&(o.dataset.sdtTag=i.tag),i.alias&&(o.dataset.sdtAlias=i.alias),i.controlId!==void 0&&(o.dataset.sdtControlId=String(i.controlId)),i.value!==void 0&&(o.dataset.sdtValue=i.value),i.selectedIndex!==void 0&&(o.dataset.sdtSelectedIndex=String(i.selectedIndex)),i.dateFormat&&(o.dataset.sdtDateFormat=i.dateFormat),i.dateLanguage&&(o.dataset.sdtDateLanguage=i.dateLanguage),i.listItems?.length&&(o.dataset.sdtListItems=JSON.stringify(i.listItems)),(i.alias||i.tag||r?.control)&&o.setAttribute("aria-label",i.alias||i.tag||r?.control||""),s==="checkbox"?(o.setAttribute("role","checkbox"),o.setAttribute("aria-checked",String(i.checked??false))):s==="dropDownList"||s==="comboBox"?(o.setAttribute("aria-haspopup","listbox"),o.setAttribute("aria-expanded","false")):s==="date"&&o.setAttribute("aria-haspopup","dialog"),o.disabled=i.locked===true,o.textContent=s==="checkbox"?i.checked?"\u2612":"\u2610":s==="date"?"\u25A3":s==="picture"?"\u25A7":"\u25BE",at(o,n),o.style.pointerEvents="auto",o}function dn(e){return e==="dropDownList"||e==="comboBox"?"dropdown":e}function un(e){return e==="checkbox"?"checkbox":e==="dropDownList"||e==="comboBox"?"dropdown":e==="date"?"date":null}function mn(e){return e==="contentLocked"||e==="sdtContentLocked"||e==="sdtLocked"}function pn(e,t){e.dataset.sdtGroupId=t.groupId,e.dataset.sdtType=t.sdtType,t.depth!==void 0&&(e.dataset.sdtDepth=String(t.depth)),t.tag&&(e.dataset.sdtTag=t.tag),t.alias&&(e.dataset.sdtAlias=t.alias),t.lock&&(e.dataset.sdtLock=t.lock),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked)),t.bound!==void 0&&(e.dataset.sdtBound=String(t.bound)),t.repeatingItem!==void 0&&(e.dataset.sdtRepeatingItem=String(t.repeatingItem));}function ot(e$1){let t=e$1.clipGroup?.clip;if(t?.x!==void 0&&t.y!==void 0&&t.w!==void 0&&t.h!==void 0)return {x:t.x,y:t.y,w:t.w,h:t.h};switch(e$1.kind){case "text":return c(e$1);case "glyphRun":return d(e$1);case "rect":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h};case "line":return e(e$1);case "image":case "shape":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h};case "decoration":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h}}}function st(e,t){let r=Math.min(e.x,t.x),i=Math.min(e.y,t.y),n=Math.max(e.x+e.w,t.x+t.w),s=Math.max(e.y+e.h,t.y+t.h);return {x:r,y:i,w:n-r,h:s-i}}function at(e,t){e.style.position="absolute",e.style.left=`${t.x}px`,e.style.top=`${t.y}px`,e.style.width=`${Math.max(1,t.w)}px`,e.style.height=`${Math.max(1,t.h)}px`;}var Q=class extends Error{constructor(r,i){let n=i instanceof Error?i.message:String(i);super(`Rust display-list ${r} failed: ${n}`);b(this,"stage");this.name="RustDisplayListSourceError",this.stage=r;}},lt=null;function Ee(){return lt??(lt=import('../../wasm-DO3BUV7C.mjs').then(async e=>(await e.preloadLayoutWasm(),{buildDisplayListJson:e.buildDisplayListJson,hitTestRegionsJson:e.hitTestRegionsJson,rangeRectsJson:e.rangeRectsJson,rangeRectsRegionJson:e.rangeRectsRegionJson,hasRangeRectsRegion:e.hasRangeRectsRegion,hasDisplayListSession:e.hasDisplayListSession,openDisplayList:e.openDisplayList,closeDisplayList:e.closeDisplayList,updateDisplayList:e.updateDisplayList,hasDisplayListUpdate:e.hasDisplayListUpdate,hitTestRegionsByHandle:e.hitTestRegionsByHandle,rangeRectsByHandle:e.rangeRectsByHandle,rangeRectsRegionByHandle:e.rangeRectsRegionByHandle}))),lt}function Te(){return Ee()}function fn(e,t){let r=e.measured,i="[";for(let s=0;s<r.length;s++){s>0&&(i+=",");let o=r[s],a=o.measure,l;if(t&&a!==null&&typeof a=="object"){let c=a;l=t.get(c),l===void 0&&(l=JSON.stringify(o.measure),t.set(c,l));}else l=JSON.stringify(o.measure);i+='{"block":'+JSON.stringify(o.block)+',"measure":'+l+"}";}i+="]";let n='{"measured":'+i+',"options":'+JSON.stringify(e.options)+',"layout":'+JSON.stringify(e.layout);return e.contractVersion!==void 0&&(n+=',"contractVersion":'+JSON.stringify(e.contractVersion)),e.headersFooters!==void 0&&(n+=',"headersFooters":'+JSON.stringify(e.headersFooters)),e.fontChains!==void 0&&(n+=',"fontChains":'+JSON.stringify(e.fontChains)),e.noteAreas!==void 0&&(n+=',"noteAreas":'+JSON.stringify(e.noteAreas)),e.resolvedCommentIds!==void 0&&(n+=',"resolvedCommentIds":'+JSON.stringify(e.resolvedCommentIds)),e.commentAuthors!==void 0&&(n+=',"commentAuthors":'+JSON.stringify(e.commentAuthors)),e.commentThreads!==void 0&&(n+=',"commentThreads":'+JSON.stringify(e.commentThreads)),n+="}",n}function ct(e){let t={};return e.contractVersion!==void 0&&(t.contractVersion=e.contractVersion),e.headersFooters!==void 0&&(t.headersFooters=e.headersFooters),e.fontChains!==void 0&&(t.fontChains=e.fontChains),e.noteAreas!==void 0&&(t.noteAreas=e.noteAreas),e.resolvedCommentIds!==void 0&&(t.resolvedCommentIds=e.resolvedCommentIds),e.commentAuthors!==void 0&&(t.commentAuthors=e.commentAuthors),e.commentThreads!==void 0&&(t.commentThreads=e.commentThreads),JSON.stringify(t)}var yn=new WeakMap;async function dt(e,t){let r;try{r=t??await Ee();}catch(s){throw new Q("load",s)}let i,n;try{i=fn(e,yn),n=r.buildDisplayListJson(i);}catch(s){throw new Q("build",s)}try{return JSON.parse(n)}catch(s){throw new Q("parse",s)}}async function gn(e,t$1,r=null){let i;try{i=t$1??await Ee();}catch(l){throw new Q("load",l)}if(!i.buildDisplayListFrame)return {displayList:await dt(e,i),frame:null,transport:"json"};let n=ct(e),s$1;try{s$1=i.buildDisplayListFrame(n,r?.frameEpoch??0);}catch(l){throw new Q("build",l)}let o;try{o=s(s$1);}catch(l){throw new Q("decode",l)}let a;try{a=t(r,o);}catch(l){throw new Q("apply",l)}return {displayList:a.displayList,frame:a,transport:"frame-delta-v1"}}function ut(e,t,r){if(t==="body")return e.primitives.filter(n=>n.kind==="image");let i=t==="header"?e.header:e.footer;return !i||r!==void 0&&i.rId!==r?[]:i.primitives.filter(n=>n.kind==="image")}function Ce(e,t,r="body",i){for(let n of e.pages)for(let s of ut(n,r,i))if(s.docStart===t)return {primitive:s,pageIndex:n.pageIndex,...r!=="body"?{region:r,rId:i}:{}};return null}function Be(e,t,r,i,n="body",s){let o=e.pages[t];if(!o)return null;let a=ut(o,n,s);for(let l=a.length-1;l>=0;l--){let c=a[l];if(!(r<c.x||r>c.x+c.w)&&!(i<c.y||i>c.y+c.h))return {primitive:c,pageIndex:o.pageIndex,...n!=="body"?{region:n,rId:s}:{}}}return null}function hn(e,t){let r=e.imageByPos(t);if(!r)return;let i=e.contentBounds(r.pageIndex),n=e.paragraphRects(t).find(s=>s.pageIndex===r.pageIndex);if(!(!i||!n))return {horizontalEmu:Math.round(c$1(r.primitive.x-i.x)),verticalEmu:Math.round(c$1(r.primitive.y-n.y))}}var He=(()=>{let e=globalThis.FinalizationRegistry;return e?new e(t=>t()):null})(),Ge=new WeakMap;function bn(e,t){let r=new Map;e.list.pages.forEach((s,o)=>r.set(s,o));let i=[],n=[];return t.pages.forEach((s,o)=>{let a=r.get(s);a!==void 0&&v(s)===e.pageRevisions[a]?(i.push([o,a]),r.delete(s)):n.push([o,s]);}),i.length===0?null:JSON.stringify({total:t.pages.length,...t.contractVersion!==void 0?{contractVersion:t.contractVersion}:{},reuse:i,replace:n})}function xn(e,t,r){let i=null,n=()=>i??(i=JSON.stringify(e)),s=Ln(t)?t:null,o=s?null:t??null,a=null,l,c,d=new Promise((u,f)=>{l=u,c=f;});d.catch(()=>{});let p=null,y=false,m=false,h=false,R=null;if(r){let u=Ge.get(r);u&&(R=u.hasHandle()?r:u.donor(),u.supersede());}let k=()=>{if(p!==null){try{o?.closeDisplayList?.(p);}catch{}p=null;}},v$1=()=>{let u=R;if(R=null,!u||!o?.updateDisplayList||!o.hasDisplayListUpdate?.())return false;let f=Ge.get(u);if(!f||f.engine()!==o)return false;let g=bn(f,e);if(!g)return false;let x=f.takeHandle();if(x===null)return false;try{return o.updateDisplayList(x,g),p=x,!0}catch(L){try{o.closeDisplayList?.(x);}catch{}return console.warn("[CanvasRenderer] display-list delta update failed; reopening",L),false}},b=()=>{if(!(h||m||y||p!==null||!o)&&!(!o.hasDisplayListSession?.()||!o.openDisplayList)&&(y=true,!v$1()))try{p=o.openDisplayList(n());}catch(u){p=null,console.warn("[CanvasRenderer] display-list session open failed; using JSON-arg queries",u);}};s||o?l():Te().then(u=>{o=u,l();},u=>{a=u instanceof Error?u:new Error(String(u)),c(a),console.warn("[CanvasRenderer] display-list query engine failed to load",a);});let M=(u,f,g)=>{if(!o)return null;if(p===null&&b(),p!==null&&u)try{return u(p)}catch(x){console.warn(`[CanvasRenderer] ${g} session query failed; falling back`,x),k();}try{return f()}catch(x){return a=x instanceof Error?x:new Error(String(x)),console.warn(`[CanvasRenderer] ${g} query failed`,x),null}},A=(u,f,g)=>{if(u===null)return f;try{return JSON.parse(u)}catch(x){return a=x instanceof Error?x:new Error(String(x)),console.warn(`[CanvasRenderer] ${g} returned invalid JSON`,x),f}},w=(u,f)=>{try{return u()}catch(g){return a=g instanceof Error?g:new Error(String(g)),console.warn(`[CanvasRenderer] resident ${f} query failed`,g),null}},_=(u,f,g)=>{if(s)return A(w(()=>s.displayHitTestRegionsJson(u,f,g),"hit_test_regions"),null,"hit_test_regions");let x=M(o?.hitTestRegionsByHandle&&(L=>o.hitTestRegionsByHandle(L,u,f,g)),()=>o.hitTestRegionsJson(n(),u,f,g),"hit_test_regions");return A(x,null,"hit_test_regions")},W=(u,f)=>{if(s)return A(w(()=>s.displayRangeRectsJson(u,f),"range_rects"),[],"range_rects");let g=M(o?.rangeRectsByHandle&&(x=>o.rangeRectsByHandle(x,u,f)),()=>o.rangeRectsJson(n(),u,f),"range_rects");return A(g,[],"range_rects")},P=(u,f,g,x)=>{if(s)return A(w(()=>s.displayRangeRectsRegionJson(u,f,g,x),"range_rects_region"),[],"range_rects_region");if(!o||!o.hasRangeRectsRegion?.())return [];let L=M(o.rangeRectsRegionByHandle&&(I=>o.rangeRectsRegionByHandle(I,u,f,g,x)),()=>o.rangeRectsRegionJson(n(),u,f,g,x),"range_rects_region");return A(L,[],"range_rects_region")},X=(u,f,g)=>{let x=P(u,f,g,g+1);if(x.length>0){let L=new Map;for(let I of x)L.has(I.pageIndex)||L.set(I.pageIndex,{pageIndex:I.pageIndex,x:I.x,y:I.y,width:0,height:I.height});return [...L.values()]}if(g>0){let L=P(u,f,g-1,g);if(L.length>0){let I=new Map;for(let S of L)I.set(S.pageIndex,{pageIndex:S.pageIndex,x:S.x+S.width,y:S.y,width:0,height:S.height});return [...I.values()]}}return []},B=u=>{let f=W(u,u+1);if(f.length>0){let g=f[0];return {pageIndex:g.pageIndex,x:g.x,y:g.y,width:0,height:g.height}}if(u>0){let g=W(u-1,u);if(g.length>0){let x=g[g.length-1];return {pageIndex:x.pageIndex,x:x.x+x.width,y:x.y,width:0,height:x.height}}}return null},ie=u=>{let f=W(u,u+2);return f.length>0?f[0]:B(u)},ce=(u,f,g)=>{let x=P(u,f,g,g+2);if(x.length===0)return X(u,f,g);let L=new Map;for(let I of x)L.has(I.pageIndex)||L.set(I.pageIndex,I);return [...L.values()]},N=(u,f)=>({pageIndex:u,x:f.x,y:f.y,width:f.w,height:f.h}),ee=u=>{let f=e.pages[u];return f?{pageIndex:f.pageIndex,x:0,y:0,width:f.width,height:f.height}:null},T=u=>{let f=e.pages[u],g=f?.contentBounds;return f&&g?{pageIndex:f.pageIndex,x:g.x,y:g.y,width:g.width,height:g.height}:null},V=u=>{let f=e.pages[u];return f?(f.columnBounds??[]).map(g=>({pageIndex:f.pageIndex,x:g.x,y:g.y,width:g.width,height:g.height})):[]},Y=u=>u.paraId?`para:${u.paraId}`:u.blockKey!==void 0?`block-key:${u.blockKey}`:u.blockId!==void 0?`block-id:${u.blockId}`:null,$=u=>u.blockKey??u.blockId,F=null,z=()=>{if(F)return F;let u=new Map;for(let f$1 of e.pages)for(let g of f$1.primitives){let x=Y(g);if(!x||g.docStart===void 0||g.docEnd===void 0)continue;let L=f(g),I=u.get(x);I||(I=new Map,u.set(x,I));let S=I.get(f$1.pageIndex);if(!S){I.set(f$1.pageIndex,{...N(f$1.pageIndex,L),from:g.docStart,to:g.docEnd,blockId:$(g),paraId:g.paraId});continue}let C=Math.min(S.x,L.x),E=Math.min(S.y,L.y),de=Math.max(S.x+S.width,L.x+L.w),ue=Math.max(S.y+S.height,L.y+L.h);S.x=C,S.y=E,S.width=de-C,S.height=ue-E,S.from=Math.min(S.from,g.docStart),S.to=Math.max(S.to,g.docEnd);}return F=new Map([...u].map(([f,g])=>[f,[...g.values()]])),F},Z=u=>{let f=null;for(let g of e.pages)for(let x of g.primitives){let L=Y(x),I=x.docStart,S=x.docEnd;if(!L||I===void 0||S===void 0||u<I||u>S)continue;let C={identity:L,span:Math.max(0,S-I),startsAtPos:I===u};(!f||C.startsAtPos&&!f.startsAtPos||C.startsAtPos===f.startsAtPos&&C.span<f.span)&&(f=C);}return f?z().get(f.identity)??[]:[]},U=1.5,te=null,Je=()=>{if(te)return te;let u=[];for(let f$1 of e.pages){let g=[],x=0;for(let L of f$1.primitives){if(L.kind!=="text"&&L.kind!=="glyphRun"||L.docStart===void 0||L.docEnd===void 0||L.kind==="glyphRun"&&L.glyphs.length===0)continue;let I=L.kind==="text"?L.baselineY:L.glyphs.reduce((me,It)=>Math.max(me,It.y),-1/0);if(!Number.isFinite(I))continue;let S=Y(L)??`anonymous:${x++}`,C=f(L),E=g.find(me=>me.identity===S&&Math.abs(me.baseline-I)<=U);if(!E){g.push({identity:S,...N(f$1.pageIndex,C),baseline:I,from:L.docStart,to:L.docEnd,blockId:$(L),paraId:L.paraId});continue}let de=Math.min(E.x,C.x),ue=Math.min(E.y,C.y),Rt=Math.max(E.x+E.width,C.x+C.w),Dt=Math.max(E.y+E.height,C.y+C.h);E.x=de,E.y=ue,E.width=Rt-de,E.height=Dt-ue,E.from=Math.min(E.from,L.docStart),E.to=Math.max(E.to,L.docEnd);}u.push(...g.map(({identity:L,...I})=>I));}return te=u,te},bt=u=>{let f=null;for(let g of Je())u<g.from||u>g.to||(!f||g.to-g.from<f.to-f.from)&&(f=g);return f},Ke=u=>{if(!u)return null;let f=u.primitive.docStart;if(f===void 0)return null;let{primitive:g}=u;return {...u,pos:f,rect:{pageIndex:u.pageIndex,x:g.x,y:g.y,width:g.w,height:g.h}}},xt=(u,f,g,x="body",L)=>Ke(Be(e,u,f,g,x,L)),Lt=(u,f="body",g)=>Ke(Ce(e,u,f,g)),be={},xe={displayList:e,isReady:()=>(s!==null||o!==null)&&a===null,sourceState:()=>a?{status:"error",error:a}:s||o?{status:"ready"}:{status:"loading"},whenReady:()=>d,pageCount:()=>e.pages.length,pageSize:u=>{let f=e.pages[u];return f?{width:f.width,height:f.height}:null},pageBounds:ee,contentBounds:T,columnBounds:V,paragraphRects:Z,visualLines:Je,visualLineAtPosition:bt,imageAtPoint:xt,imageByPos:Lt,hitTestRegions:_,rangeRects:W,hfRangeRects:P,hfCaretRects:X,hfAnchorRects:ce,caretRect:B,anchorRect:ie,sidebarAnchorRect:ie,prime:b,dispose:()=>{h||(h=true,k(),He?.unregister(be));}};return He?.register(xe,k,be),Ge.set(xe,{list:e,pageRevisions:e.pages.map(v),engine:()=>o,hasHandle:()=>p!==null,donor:()=>R,supersede:()=>{m=true;},takeHandle:()=>{let u=p;return u!==null&&(p=null,He?.unregister(be)),u}}),xe}function Ln(e){return typeof e?.displayHitTestRegionsJson=="function"&&typeof e?.displayRangeRectsJson=="function"&&typeof e?.displayRangeRectsRegionJson=="function"}var Rn=16,Dn=24;function se(e){let t=[],r=24;for(let i=0;i<e.pageCount();i++)t.push(r),r+=(e.pageSize(i)?.height??0)+16;return t}function In(){let e=new Map;return t=>{if(!t.startsWith("blob:")&&!t.startsWith("data:"))return null;let r=e.get(t);return r||(r=new Promise(i=>{let n=new Image;n.onload=()=>i(n),n.onerror=()=>i(null),n.src=t;}),e.set(t,r)),r}}function Sn(e,t){let r=e.activeCommentIds.length>0?t?.(e.activeCommentIds):void 0;return {hasSelection:e.hasSelection,inInsertion:e.inInsertion,inDeletion:e.inDeletion,hasComment:e.activeCommentIds.length>0,inList:e.inList,listLevel:e.listLevel??0,...r?.authorName!==void 0?{commentAuthor:r.authorName}:{},...r?.replyCount!==void 0?{commentReplyCount:r.replyCount}:{}}}function vn(e,t){if(!e)return [];let r=[];return !e.hasSelection&&t.hasSelection&&r.push({key:"selected"}),e.hasSelection&&!t.hasSelection&&r.push({key:"selectionCleared"}),!e.hasComment&&t.hasComment&&r.push({key:"commentedText",...t.commentAuthor!==void 0||t.commentReplyCount!==void 0?{vars:{...t.commentAuthor!==void 0?{author:t.commentAuthor}:{},...t.commentReplyCount!==void 0?{replies:t.commentReplyCount}:{}}}:{}}),!e.inInsertion&&t.inInsertion&&r.push({key:"trackedInsertion"}),!e.inDeletion&&t.inDeletion&&r.push({key:"trackedDeletion"}),(!e.inList&&t.inList||t.inList&&e.listLevel!==t.listLevel)&&r.push({key:"listItem",vars:{level:t.listLevel+1}}),r}function ae(e){let t=Number(e);if(Number.isFinite(t))return t;let r=0xcbf29ce484222325n;for(let i of new TextEncoder().encode(e))r=(r^BigInt(i))*0x100000001b3n,r&=0xffffffffffffffffn;return Number(r&(1n<<53n)-1n)}function he(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function kn(e){let t=typeof e.story=="string"?[e.story]:[],r=Array.isArray(e.rows)?e.rows:[];for(let i of r){let n=he(i),s=n&&Array.isArray(n.cells)?n.cells:[];for(let o of s){let a=he(o)?.story;typeof a=="string"&&t.push(a);}}return t}function wn(e){let t=e.storyIds(),r=new Map,i=new Set;for(let o of t){let a=[];try{for(let l of e.storySegments(o))if(l.kind==="embed")for(let c of kn(l.payload))a.push(c),i.add(c);}catch{}r.set(o,a);}let n=new Map,s=(o,a,l)=>{if(!(l.has(o)||n.has(o))){l.add(o),n.set(o,a);for(let c of r.get(o)??[])s(c,a,l);l.delete(o);}};t.includes("body")&&s("body",{story:"body"},new Set);for(let o of t)!o.startsWith("hf:")||i.has(o)||s(o,{story:o,hfRid:o.slice(3)},new Set);return n}function Mn(e,t,r,i,n){let s=Array.isArray(t.rows)?t.rows:[],o=r+1;for(let a of s){let l=he(a),c=l&&Array.isArray(l.cells)?l.cells:[],d=o+1;for(let p of c){let y=he(p),m=typeof y?.story=="string"?y.story:null,h=m?Fe(e,m,d+1,i,n):0;d+=h+2;}o=d+1;}return o+1-r}function Fe(e,t,r,i,n){if(n.has(t))throw new Error(`recursive yrs story: ${t}`);n.add(t);try{let s=r,o=r,a=0,l=!0;for(let c of e.storySegments(t)){if(c.kind==="text"){a+=c.text.length,l=!1;continue}if(c.kind==="pilcrow"){let d=o+a+2;i.set(c.paraId,{pmStart:o,pmEnd:d}),s=d,o=s,a=0,l=!0;continue}if(c.embedKind==="table"&&l){s+=Mn(e,c.payload,s,i,n),o=s;continue}if(c.embedKind==="blockSdt"&&l){let d=typeof c.payload.story=="string"?c.payload.story:null,p=d?Fe(e,d,s+1,i,n):0;s+=p+2,o=s;continue}if(l&&(c.embedKind==="pageBreak"||c.embedKind==="columnBreak")){s+=1,o=s;continue}a+=1,l=!1;}return s-r}finally{n.delete(t);}}function Pn(e){let t=new Map,r=wn(e),i=o=>{let a=r.get(o)?.story;if(!a)return null;if(t.has(a))return t.get(a)??null;try{let l=new Map;return Fe(e,a,0,l,new Set),t.set(a,l),l}catch{return t.set(a,null),null}},n=o=>{let a=r.get(o.story);if(!a)return null;let l=i(o.story)?.get(o.paraId);if(!l)return null;let c=Math.max(0,l.pmEnd-l.pmStart-2),d=Math.min(Math.max(0,Math.trunc(o.offset)),c);return {story:o.story,position:l.pmStart+1+d,...a.hfRid?{hfRid:a.hfRid}:{}}};return {locToDisplayPoint:n,storyOffsetToDisplayPoint:(o,a)=>{if(!r.has(o))return null;let l=Math.max(0,Math.trunc(a));try{for(let c of e.paragraphs(o)){let d=e.locateParagraph(o,c.paraId);if(!(l<d.start||l>d.end))return n({story:o,paraId:c.paraId,offset:Math.min(l-d.start,d.end-d.start)})}}catch{return null}return null}}}function Ne(e,t){let{doc:r,schema:i}=e.state,n=i.marks.comment,s=i.marks.insertion,o=i.marks.deletion;!n&&!s&&!o||r.descendants((a,l)=>{let c=a.attrs;if(c){let d=[c.trIns,c.trDel,c.pPrIns,c.pPrDel];for(let h of d){let R=h?.revisionId;typeof R=="number"&&t(`revision-${R}`,l);}let y=c.cellMarker?.info?.revisionId;typeof y=="number"&&t(`revision-${y}`,l);let m=[c.pPrChange,c.trPrChange,c.tcPrChange,c.tblPrChange];for(let h of m)if(Array.isArray(h))for(let R of h){let k=R?.info?.id;typeof k=="number"&&t(`revision-${k}`,l);}}if(a.isInline)for(let d of a.marks){let p=null;n&&d.type===n?p=`comment-${d.attrs.commentId}`:(s&&d.type===s||o&&d.type===o)&&(p=`revision-${d.attrs.revisionId}`),p&&t(p,l);}});}function An(e,t,r){let i=new Map;if(!e?.state)return i;let n=se(t),s=new Set;return Ne(e,(o,a)=>{if(s.has(o))return;s.add(o);let l=t.anchorRect(a);if(!l)return;let c=r?r(l):(n[l.pageIndex]??0)+l.y;c!=null&&i.set(o,c);}),i}function En(e,t,r){if(!e.hfRid)return t.anchorRect(e.position);let i=r?.get(e.hfRid);return i?t.hfAnchorRects(i,e.hfRid,e.position)[0]??null:null}function Tn(e,t,r,i,n,s,o){let a=new Map,l=se(n),c=(d,p)=>{if(!p||a.has(d))return a.has(d);let y=En(p,n,s);if(!y)return false;let m=o?o(y):(l[y.pageIndex]??0)+y.y;return m==null?false:(a.set(d,m),true)};for(let d of t){let p=`comment-${d}`;try{for(let y of e.resolveComment(String(d)))if(c(p,i.storyOffsetToDisplayPoint(y.story,y.start)))break}catch{}}for(let d of r)c(`revision-${ae(d.revisionId)}`,i.locToDisplayPoint({story:d.story,...d.range.start}));return a}function Cn(e,t,r,i){let n=se(t);for(let{region:s,rId:o,view:a}of e)Ne(a,(l,c)=>{if(r.has(l))return;let d=t.hfAnchorRects(s,o,c)[0];if(!d)return;let p=i?i(d):(n[d.pageIndex]??0)+d.y;p!=null&&r.set(l,p);});return r}function Bn(e,t){let r=e.map(o=>{let a=t.locToDisplayPoint({story:o.range.story,...o.range.start}),l=t.locToDisplayPoint({story:o.range.story,...o.range.end}),c=a?.position??0,d=Math.max(c,l?.position??c);return {type:o.kind==="pPrIns"?"paragraphMarkInsertion":o.kind==="pPrDel"?"paragraphMarkDeletion":o.kind==="pPrChange"?"paragraphPropertiesChanged":o.kind==="trIns"?"rowInserted":o.kind==="trDel"?"rowDeleted":o.kind==="tableIns"?"tableInserted":o.kind==="tableDel"?"tableDeleted":o.kind,text:o.preview,author:o.author,date:o.date||void 0,from:c,to:d,revisionId:ae(o.revisionId),...a?.hfRid?{hfRid:a.hfRid}:{}}}),i=new Map;for(let o of r){let a=i.get(o.revisionId)??[];a.push(o),i.set(o.revisionId,a);}let n=[...i.values()].map(o=>{let a=Math.min(...o.map(m=>m.from)),l=Math.max(...o.map(m=>m.to)),c=o.filter(m=>m.type==="insertion"),d=o.filter(m=>m.type==="deletion");if(c.length>0&&d.length>0)return {...c[0],type:"replacement",text:c.map(h=>h.text).join(""),deletedText:d.map(h=>h.text).join(""),from:a,to:l};let p=o.find(m=>m.type==="insertion"||m.type==="deletion")??o[0],y=o.filter(m=>m.type===p.type).map(m=>m.text).join("");return {...p,text:y,from:a,to:l}}),s=[];for(let o=0;o<n.length;o+=1){let a=n[o],l=n[o+1];a.type==="deletion"&&l?.type==="insertion"&&a.author===l.author&&a.date===l.date&&a.to===l.from&&a.hfRid===l.hfRid?(s.push({type:"replacement",text:l.text,deletedText:a.text,author:a.author,date:a.date,from:a.from,to:l.to,revisionId:a.revisionId,insertionRevisionId:l.revisionId,...a.hfRid?{hfRid:a.hfRid}:{}}),o+=1):s.push(a);}return {entries:s,commentToRevision:new Map}}function Hn(e,t){let r=t.kind??"body";if(r==="body")return {kind:r,primitives:e.primitives};let i=r==="header"?e.header:e.footer;return !i||i.kind!==r||t.rId&&i.rId!==t.rId?null:{kind:r,rId:i.rId,primitives:i.primitives}}function Gn(e){switch(e.kind){case "text":return c(e);case "glyphRun":return d(e);case "rect":case "image":case "shape":case "decoration":return {x:e.x,y:e.y,w:e.w,h:e.h};case "line":return {x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),w:Math.abs(e.x2-e.x1),h:Math.abs(e.y2-e.y1)}}}function Fn(e){let t=Gn(e),r=e.clipGroup?.clip;if(!r)return t;let i=r.x??0,n=r.y??0,s=i+Math.max(0,r.w??0),o=n+Math.max(0,r.h??0),a=Math.max(t.x,i),l=Math.max(t.y,n),c=Math.min(t.x+t.w,s),d=Math.min(t.y+t.h,o);return c<a||d<l?null:{x:a,y:l,w:c-a,h:d-l}}function Nn(e){return e.kind==="text"||e.kind==="glyphRun"?e.text:e.kind==="image"?e.altText??"":""}function Yn(e,t,r){return t>=e.x&&t<=e.x+e.w&&r>=e.y&&r<=e.y+e.h}function On(e,t,r,i,n={kind:"body"}){let s=e.pages[t];if(!s)return null;let o=Hn(s,n);if(!o)return null;for(let a=o.primitives.length-1;a>=0;a--){let l=o.primitives[a];if(l.kind==="line"||!l.href||l.hiddenObject)continue;let c=Fn(l);if(c&&Yn(c,r,i))return {pageIndex:t,region:o.kind,rId:o.rId,href:l.href,tooltip:l.linkTitle??l.tooltip,displayText:Nn(l)||l.href,rect:c}}return null}var O=7.5,q=16,mt=320,_n=30,Xn=200,$n=24,Jn=10,Kn=10,Qn=24;function pt(e){let t;switch(e.kind){case "text":t=c(e);break;case "glyphRun":t=d(e);break;case "rect":case "image":case "shape":case "decoration":t={x:e.x,y:e.y,w:e.w,h:e.h};break;case "line":t={x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),w:Math.abs(e.x2-e.x1),h:Math.abs(e.y2-e.y1)};break}let r=Oe(e);return r?Wn(t,r)??{x:r.x,y:r.y,w:0,h:0}:t}function Oe(e){let t=e.clipGroup?.clip;return t?{x:t.x??0,y:t.y??0,w:Math.max(0,t.w??0),h:Math.max(0,t.h??0)}:null}function Wn(e,t){let r=Math.max(e.x,t.x),i=Math.max(e.y,t.y),n=Math.min(e.x+e.w,t.x+t.w),s=Math.min(e.y+e.h,t.y+t.h);return n<r||s<i?null:{x:r,y:i,w:n-r,h:s-i}}function ft(e,t,r){if(e.docStart!=null){let i=t(e.docStart);if(i!=null){let n={tableKey:i,docStartSample:e.docStart};return e.table?.tableId&&!r.has(e.table.tableId)&&r.set(e.table.tableId,n),n}}return e.table?.tableId?r.get(e.table.tableId)??null:null}function yt(e,t,r){let i=e.table?.tableId;if(!i)return null;let n=t.get(i);return n?r.get(n.tableKey)??null:null}function Vn(e,t,r,i){let n=new Map;for(let o of t){if(o.kind==="line")continue;let a=o.cell;if(!a)continue;let l=ft(o,r,i);if(!l)continue;let{tableKey:c,docStartSample:d}=l,p=pt(o),y=Oe(o),m=y??p,h=n.get(c);if(h||(h={tableKey:c,docStartSample:d,contentMinX:m.x,contentMinY:m.y,contentMaxX:m.x+m.w,contentMaxY:m.y+m.h,exactLeftX:[],exactBottomY:[],exactClipLeftX:[],exactClipBottomY:[],rows:new Map},n.set(c,h)),d<h.docStartSample&&(h.docStartSample=d),h.contentMinX=Math.min(h.contentMinX,m.x),h.contentMinY=Math.min(h.contentMinY,m.y),h.contentMaxX=Math.max(h.contentMaxX,m.x+m.w),h.contentMaxY=Math.max(h.contentMaxY,m.y+m.h),y&&(h.exactClipLeftX.push(y.x),h.exactClipBottomY.push(y.y+y.h)),!a.continuation){let R=h.rows.get(a.row);R?(R.top=Math.min(R.top,m.y),R.bottom=Math.max(R.bottom,m.y+m.h)):h.rows.set(a.row,{top:m.y,bottom:m.y+m.h});}}if(n.size===0)return [];for(let o of t){if(o.kind!=="line"||o.role!=="table-border"&&o.role!=="table-cut")continue;let a=yt(o,i,n);if(!a){let d=(o.x1+o.x2)/2,p=(o.y1+o.y2)/2,y=1/0;for(let m of n.values()){let h=d>=m.contentMinX-q&&d<=m.contentMaxX+q,R=p>=m.contentMinY-q&&p<=m.contentMaxY+q;if(!h||!R)continue;let k=Math.max(0,m.contentMinX-d,d-m.contentMaxX),v=Math.max(0,m.contentMinY-p,p-m.contentMaxY),b=k+v;b<y&&(y=b,a=m);}}if(!a)continue;let l=Math.abs(o.x1-o.x2)<.5,c=Math.abs(o.y1-o.y2)<.5;l&&a.exactLeftX.push(Math.min(o.x1,o.x2)),c&&a.exactBottomY.push(Math.max(o.y1,o.y2));}let s=[];for(let o of n.values()){if(o.rows.size===0)continue;let a=o.exactLeftX.length>0||o.exactClipLeftX.length>0,l=a?Math.min(...o.exactLeftX,...o.exactClipLeftX):o.contentMinX-O,c=o.exactBottomY.length>0||o.exactClipBottomY.length>0?Math.max(...o.exactBottomY,...o.exactClipBottomY):o.contentMaxY,d=[...o.rows.entries()].map(([p,y])=>({rowIndex:p,top:y.top,bottom:y.bottom})).sort((p,y)=>p.rowIndex-y.rowIndex);s.push({pageIndex:e,tableKey:o.tableKey,docStartSample:o.docStartSample,originX:l,originY:o.contentMinY,bottomY:c,originExact:a,rowBands:d});}return s}function zn(e,t){let r=[],i=Xe(e,t,{kind:"body"});for(let n of e.pages)r.push(...Vn(n.pageIndex,n.primitives,t,i));return r}function _e(e,t){let r=t.kind??"body";if(r==="body")return {kind:r,primitives:e.primitives};let i=r==="header"?e.header:e.footer;return !i||i.kind!==r||t.rId&&i.rId!==t.rId?null:{kind:r,rId:i.rId,primitives:i.primitives}}function Xe(e,t,r){let i=new Map;for(let n of e.pages){let s=_e(n,r);if(s)for(let o of s.primitives){if(!o.cell||!o.table?.tableId||o.docStart==null)continue;let a=t(o.docStart);if(a==null)continue;let l=i.get(o.table.tableId);(!l||o.docStart<l.docStartSample)&&i.set(o.table.tableId,{tableKey:a,docStartSample:o.docStart});}}return i}function $e(e,t){return `${e}:${t}`}function jn(e,t,r,i){let n=$e(t.row,t.col),s=e.cells.get(n);s?(s.minX=Math.min(s.minX,r.x),s.minY=Math.min(s.minY,r.y),s.maxX=Math.max(s.maxX,r.x+r.w),s.maxY=Math.max(s.maxY,r.y+r.h),s.rowSpan=Math.max(s.rowSpan,t.rowSpan),s.colSpan=Math.max(s.colSpan,t.colSpan),i&&(s.exactClip=i)):e.cells.set(n,{row:t.row,col:t.col,rowSpan:t.rowSpan,colSpan:t.colSpan,minX:r.x,minY:r.y,maxX:r.x+r.w,maxY:r.y+r.h,exactClip:i??void 0});}function gt(e,t,r){let i=new Map;for(let n of e){if(n.kind==="line")continue;let s=n.cell;if(!s)continue;let o=ft(n,t,r);if(!o)continue;let a=o.tableKey,l=pt(n),c=i.get(a);c||(c={tableKey:a,contentMinX:l.x,contentMinY:l.y,contentMaxX:l.x+l.w,contentMaxY:l.y+l.h,cells:new Map,verticalLines:[],horizontalLines:[]},i.set(a,c)),c.contentMinX=Math.min(c.contentMinX,l.x),c.contentMinY=Math.min(c.contentMinY,l.y),c.contentMaxX=Math.max(c.contentMaxX,l.x+l.w),c.contentMaxY=Math.max(c.contentMaxY,l.y+l.h),jn(c,s,l,Oe(n));}if(i.size===0)return [];for(let n of e){if(n.kind!=="line"||n.role!=="table-border"&&n.role!=="table-cut")continue;let s=Math.abs(n.x1-n.x2)<.5,o=Math.abs(n.y1-n.y2)<.5;if(!s&&!o)continue;let a=Math.min(n.x1,n.x2),l=Math.max(n.x1,n.x2),c=Math.min(n.y1,n.y2),d=Math.max(n.y1,n.y2),p=yt(n,r,i);if(p){s?p.verticalLines.push(a):p.horizontalLines.push(c);continue}for(let y of i.values())if(s){if(!(d>=y.contentMinY-q&&c<=y.contentMaxY+q))continue;let h=a;Math.max(0,y.contentMinX-h,h-y.contentMaxX)<=mt&&y.verticalLines.push(h);}else if(o){if(!(l>=y.contentMinX-q&&a<=y.contentMaxX+q))continue;let h=c;Math.max(0,y.contentMinY-h,h-y.contentMaxY)<=mt&&y.horizontalLines.push(h);}}return [...i.values()]}function le(e){let t=[];for(let r of [...e].sort((i,n)=>i-n))(t.length===0||Math.abs(t[t.length-1]-r)>.5)&&t.push(r);return t}function ht(e){let t=le([...e.cells.values()].map(n=>n.row)),r=le(e.horizontalLines),i=new Map;if(t.length>0&&r.length>=t.length+1)for(let n=0;n<t.length;n++)i.set(t[n],r[n]),i.set(t[n]+1,r[n+1]);return i}function Ye(e){if(!e)return null;if(e.exactClip)return e.exactClip;let t=e.minX-O,r=e.minY-O;return {x:t,y:r,w:Math.max(1,e.maxX-e.minX+O*2),h:Math.max(1,e.maxY-e.minY+O*2)}}function Un(e,t){let r=1/0,i=-1/0;for(let n of e.cells.values())n.row===t&&(r=Math.min(r,n.exactClip?.y??n.minY-O),i=Math.max(i,n.exactClip?n.exactClip.y+n.exactClip.h:n.maxY+O));return !Number.isFinite(r)||!Number.isFinite(i)||i<=r?null:{top:r,bottom:i}}function qn(e,t,r){let i=Ye(e.cells.get($e(t,r)));return i?{left:i.x,right:i.x+i.w,top:i.y,bottom:i.y+i.h}:null}function Zn(e,t,r,i={kind:"body"}){if(t.length===0)return [];let n=new Map;for(let a of t){let l=n.get(a.tableKey);l?l.push(a):n.set(a.tableKey,[a]);}let s=[],o=Xe(e,r,i);for(let a of e.pages){let l=_e(a,i);if(!l)continue;let c=gt(l.primitives,r,o);for(let d of c){let p=n.get(d.tableKey);if(!p)continue;let y=le(d.verticalLines),m=ht(d);for(let h of p){let R=d.cells.get($e(h.row,h.col)),k=y[h.col],v=y[h.col+h.colSpan],b=m.get(h.row),M=m.get(h.row+h.rowSpan),A=true;if(k==null||v==null||v<=k){let w=R?.exactClip??Ye(R);if(!w)continue;k=w.x,v=w.x+w.w,A=R?.exactClip!=null;}if(b==null||M==null||M<=b){let w=R?.exactClip??Ye(R);if(!w)continue;b=w.y,M=w.y+w.h,A&&(A=R?.exactClip!=null);}s.push({pageIndex:a.pageIndex,tableKey:d.tableKey,row:h.row,col:h.col,rowSpan:h.rowSpan,colSpan:h.colSpan,x:k,y:b,w:Math.max(1,v-k),h:Math.max(1,M-b),exact:A,region:l.kind,rId:l.rId});}}}return s}function ei(e){let{list:t,pageIndex:r,x:i,y:n,canvasRect:s,pageSize:o,tableKeyOf:a,cellPmPosOf:l,region:c={kind:"body"},edgeProximity:d=_n}=e,p=t.pages[r];if(!p)return null;let y=_e(p,c);if(!y)return null;let m=o.width>0?s.width/o.width:1,h=o.height>0?s.height/o.height:1,R=(b,M)=>({clientX:s.left+b*m,clientY:s.top+M*h}),k=Xe(t,a,c),v=gt(y.primitives,a,k);for(let b of v){let M=le(b.verticalLines),A=ht(b),w=le([...b.cells.values()].map(N=>N.row));if(w.length===0)continue;let _=M[0]??b.contentMinX-O,W=M[M.length-1]??b.contentMaxX+O,P=A.get(w[0])??b.contentMinY-O,X=w[w.length-1],B=A.get(X+1)??b.contentMaxY+O,ie=i<_+d&&i>=_-d,ce=n<P+d&&n>=P-d;if(!(!ie&&!ce)){if(ie&&n>=P-d&&n<=B)for(let N of w){let ee=A.get(N),T=A.get(N+1),V=ee==null||T==null?Un(b,N):null,Y=ee??V?.top,$=T??V?.bottom;if(Y==null||$==null||$<=Y||n<Y||n>$)continue;let F=[...b.cells.values()].filter(U=>U.row===N).sort((U,te)=>U.col-te.col)[0];if(!F)continue;let z=l(b.tableKey,N,F.col);if(!z)continue;let Z=R(_,Y+($-Y)/2);return {type:"row",clientX:Z.clientX-$n,clientY:Z.clientY-Jn,cellPmPos:z}}if(ce&&i>=_-d&&i<=W){let N=w[0],ee=[...b.cells.values()].filter(T=>T.row===N).sort((T,V)=>T.col-V.col);for(let T of ee){let V=M[T.col],Y=M[T.col+T.colSpan],$=V==null||Y==null?qn(b,T.row,T.col):null,F=V??$?.left,z=Y??$?.right;if(F==null||z==null||z<=F||i<F||i>z)continue;let Z=l(b.tableKey,T.row,T.col);if(!Z)continue;let U=R(F+(z-F)/2,P);return {type:"column",clientX:U.clientX-Kn,clientY:U.clientY-Qn,cellPmPos:Z}}}}}return null}var Qi=We;export{Dn as CANVAS_PAGES_PADDING_PX,Rn as CANVAS_PAGE_GAP_PX,Xn as DISPLAY_LIST_TABLE_INSERT_HIDE_DELAY_MS,D as MIRROR_CLASS_NAMES,Q as RustDisplayListSourceError,en as applyInteractiveSdtFocus,nn as buildInteractiveOverlayPage,Xt as buildMirrorPage,gn as buildRustDisplayFrame,dt as buildRustDisplayList,se as canvasPageTops,hn as captureInlinePositionEmuFromDisplayList,vn as computeA11yAnnouncements,An as computeAnchorPositionsFromDisplayList,Tn as computeAnchorPositionsFromYrs,In as createCanvasImageResolver,xn as createDisplayListQueries,Pn as createYrsSidebarProjection,Qi as demoDisplayList,Zn as deriveDisplayListSelectedCellRects,zn as deriveDisplayListTableFragments,ei as detectDisplayListTableInsertHover,ct as encodeDisplayListFrameExtras,Bn as extractTrackedChangesFromYrs,On as findDisplayListHyperlinkAtPoint,Be as findImagePrimitiveAtPoint,Ce as findImagePrimitiveByDocPos,_t as loadGlyphOutlineProvider,Te as loadRustDisplayListQueryEngine,Cn as mergeHfAnchorPositionsFromDisplayList,Sn as snapshotFromSelectionContext,Ne as visitAnchorKeys,ae as yrsIdToNumericId};
|
|
1
|
+
import {d,c,e,s,t,v,f}from'../../chunk-24DL53QL.mjs';export{p as FRAME_DELTA_HEADER_BYTES,q as FRAME_DELTA_PAGE_OP_BYTES,o as FRAME_DELTA_VERSION,r as FrameDeltaError,a as GlyphCache,t as applyFrameDelta,u as applyFrameDeltaOwned,s as decodeFrameDelta,m as drawDisplayPage,n as drawPrimitive,b as fontSizePxFromShorthand,d as glyphRunRect,e as lineRect,h as presentDisplayPageBackBuffer,i as presentOffscreenPageBackBuffer,l as rasterizeDisplayListPages,g as rasterizeDisplayPageToBackBuffer,k as sizeCanvasForPage,c as textRunRect}from'../../chunk-24DL53QL.mjs';export{b as resolveCanvasPoint,a as resolveDisplayPageClientRect}from'../../chunk-WRWRCBLK.mjs';import {c as c$1}from'../../chunk-CTBUQRYQ.mjs';import {b}from'../../chunk-TTRUPDAB.mjs';var Ze={pages:[{pageIndex:0,width:816,height:1056,primitives:[{kind:"rect",x:96,y:96,w:624,h:20,fill:"#fff9c4",blockId:0,docStart:1,docEnd:12},{kind:"text",text:"Hello Word",x:96,baselineY:110,width:84.5,font:"700 16px Calibri, sans-serif",color:"#000000",docStart:1,docEnd:11,blockId:0},{kind:"decoration",deco:"underline",x:96,y:113,w:84.5,h:1,color:"#000000",docStart:1,docEnd:11,blockId:0},{kind:"text",text:" \u2014 second run",x:180.5,baselineY:110,width:96.25,font:"400 16px Calibri, sans-serif",color:"#c0392b",docStart:11,docEnd:24,blockId:0},{kind:"line",x1:96,y1:140,x2:720,y2:140,strokeWidth:.75,color:"#666666",role:"table-border"},{kind:"image",relId:"rId7",x:96,y:160,w:200,h:120,docStart:30,docEnd:31,blockId:2}]}]};function jt(){return import('../../wasm-T2CRCO7S.mjs').then(async e=>(await e.preloadLayoutWasm(),e.outlineGlyphJson))}var D={page:"layout-page layout-page-mirror",content:"layout-page-content",header:"layout-page-header",footer:"layout-page-footer",block:"layout-paragraph",table:"layout-table",tableRow:"layout-table-row",tableCell:"layout-table-cell",text:"layout-run layout-run-text",rect:"layout-mirror-rect",image:"layout-run layout-run-image",shape:"layout-run layout-run-shape",chart:"layout-run layout-run-chart",decoration:"layout-decoration",line:"layout-mirror-line",pageBorder:"layout-page-border",tableCut:"layout-table-cut-border",blockSdt:"layout-block-sdt",inlineSdtWidget:"layout-inline-sdt-widget",revisionPmark:"layout-revision-pmark",revisionPmarkGlyph:"layout-revision-pmark-glyph",revisionPmarkIns:"layout-revision-ins",revisionPmarkDel:"layout-revision-del",listMarker:"layout-list-marker",revisionTable:"oox-revision-table",revisionRow:"oox-revision-row",revisionCell:"oox-revision-cell",revisionIns:"oox-revision-ins",revisionDel:"oox-revision-del",revisionMerge:"oox-revision-merge",notes:"layout-page-notes",note:"layout-note",noteBacklink:"layout-note-backlink"};function Ut(e,t={}){let r=t.document??document,i=t.labels,n={labels:i,noteRefIds:new Set},s=r.createElement("div");s.className=D.page,s.setAttribute("role","document"),i?.page&&s.setAttribute("aria-label",i.page),s.dataset.pageIndex=String(e.pageIndex),e.sectionId!==void 0&&(s.dataset.sectionId=e.sectionId),e.sectionIndex!==void 0&&(s.dataset.sectionIndex=String(e.sectionIndex)),e.sectionPageIndex!==void 0&&(s.dataset.sectionPageIndex=String(e.sectionPageIndex)),e.sectionPageNumber!==void 0&&(s.dataset.sectionPageNumber=String(e.sectionPageNumber)),e.pageLabel!==void 0&&(s.dataset.pageLabel=e.pageLabel),s.style.position="relative",s.style.width=`${e.width}px`,s.style.height=`${e.height}px`,s.style.opacity="0",s.style.pointerEvents="none";let o=r.createElement("div");o.className=D.content,o.style.position="absolute",o.style.left="0",o.style.top="0",o.style.width=`${e.width}px`,o.style.height=`${e.height}px`,s.appendChild(o);for(let a of (e.pageBorders??[]).filter(l=>l.zOrder==="back"))o.appendChild(nt(a,r,0));re(o,e.primitives,r,0,n);for(let a of e.noteAreas??[])o.appendChild(cn(a,e,r,n));for(let a of [e.header,e.footer])a&&s.appendChild(qt(a,e,r,n));for(let a of (e.pageBorders??[]).filter(l=>l.zOrder!=="back"))s.appendChild(nt(a,r,0));return s}function qt(e,t,r,i){let n=r.createElement("div");n.className=e.kind==="header"?D.header:D.footer,n.dataset.hfRid=e.rId;let s=e.kind==="header"?i.labels?.header:i.labels?.footer;return s&&(n.setAttribute("role","region"),n.setAttribute("aria-label",s)),n.style.position="absolute",n.style.left="0",n.style.top=`${e.y}px`,n.style.width=`${t.width}px`,n.style.height=`${e.height}px`,re(n,e.primitives,r,-e.y,i),n}function re(e,t,r,i,n){let s=new Map;for(let o of t){let a=o.kind==="line"?void 0:o.blockKey??o.blockId;if(a===void 0){e.appendChild(he(o,r,i,n));continue}let l=o.table,c=l?.tableId!==void 0?`table:${l.tableId}#${l.rowStart??0}`:a,m=s.get(c);if(!m){let y=r.createElement("div");y.dataset.blockId=String(l?.tableId??a),y.style.position="absolute",y.style.left="0",y.style.top="0",e.appendChild(y),m={el:y,prims:[]},s.set(c,m);}m.prims.push(o);}for(let o of s.values())Zt(o,r,i,n);nn(s);}function Zt(e,t,r,i){let{el:n,prims:s}=e;if(!s.some(g=>g.cell!==void 0||g.structuralRevision?.scope==="table"||g.structuralRevision?.scope==="row"||g.structuralRevision?.scope==="cell")){et(n,s,t,r,i);return}n.className=D.table,n.setAttribute("role","table");let a=s.find(g=>g.table!==void 0)?.table;e.table=a,e.cells=[],a?.tableId!==void 0&&(n.dataset.tableId=a.tableId),a?.rowStart!==void 0&&(n.dataset.rowStart=String(a.rowStart)),a?.rowEnd!==void 0&&(n.dataset.rowEnd=String(a.rowEnd)),a?.headerRowCount!==void 0&&(n.dataset.headerRowCount=String(a.headerRowCount)),a?.parentTableId!==void 0&&(n.dataset.parentTableId=a.parentTableId),a?.caption&&n.setAttribute("aria-label",a.caption),a?.description&&n.setAttribute("aria-description",a.description);let l=ye(s,"table");l&&ge(n,l),He(n,s.find(g=>g.sdt!==void 0)?.sdt);for(let g of s)g.cell===void 0&&n.appendChild(he(g,t,r,i));let c=new Map,m=0,y=0;for(let g of s){if(g.cell===void 0)continue;let{row:f,col:h}=g.cell;m=Math.max(m,f+(g.cell.rowSpan??1)),y=Math.max(y,h+(g.cell.colSpan??1));let R=c.get(f);R||(R=new Map,c.set(f,R));let S=R.get(h);S||(S={ref:g.cell,prims:[]},R.set(h,S)),S.prims.push(g);}n.setAttribute("aria-rowcount",String(a?.rowCount??m)),n.setAttribute("aria-colcount",String(a?.columnCount??y));for(let g of [...c.keys()].sort((f,h)=>f-h)){let f=t.createElement("div");f.className=D.tableRow,f.setAttribute("role","row"),f.setAttribute("aria-rowindex",String(g+1));let h=ye(s,"row",g);h&&ge(f,h),f.style.position="absolute",f.style.left="0",f.style.top="0",n.appendChild(f);let R=c.get(g);for(let S of [...R.keys()].sort((v,L)=>v-L)){let v=R.get(S),L=t.createElement("div");L.className=D.tableCell,L.setAttribute("role",v.ref.isHeader?"columnheader":"cell"),L.setAttribute("aria-colindex",String(S+1)),v.ref.cellId&&(L.id=v.ref.cellId),v.ref.headerIds?.length&&L.setAttribute("aria-labelledby",v.ref.headerIds.join(" ")),v.ref.repeatedHeader&&(L.dataset.repeatedHeader="true"),v.ref.noWrap&&(L.dataset.noWrap="true");let E=v.ref.rowSpan??1,C=v.ref.colSpan??1;E>1&&L.setAttribute("aria-rowspan",String(E)),C>1&&L.setAttribute("aria-colspan",String(C));let P=ye(v.prims,"cell",g,S);P&&ge(L,P),v.ref.continuation&&(L.dataset.vmergeContinuation="true"),L.style.position="absolute",L.style.left="0",L.style.top="0";let Y=new Map,V=[];for(let M of v.prims){let F=M.blockKey??M.blockId;if(F===void 0){V.push(M);continue}let G=Y.get(F);G?G.push(M):Y.set(F,[M]);}for(let M of Ce(V))L.appendChild(he(M,t,r,i));for(let[M,F]of Y){let G=t.createElement("div");G.dataset.blockId=String(M),G.style.position="absolute",G.style.left="0",G.style.top="0",et(G,F,t,r,i),L.appendChild(G);}tn(L,v.prims),at(L,v.prims),e.cells.push({el:L,bounds:st(v.prims)}),f.appendChild(L);}}Be(n,s);}function et(e,t,r,i,n){let s=t.find(c=>c.chart!==void 0)?.chart;e.className=s?`${D.block} ${D.chart}`:D.block,e.setAttribute("role",s?"img":"paragraph"),s?.label&&e.setAttribute("aria-label",s.label);for(let c of Ce(t))e.appendChild(he(c,r,i,n));let o=ye(t,"pmark");o&&ge(e,o),en(e,t,r,i),He(e,t.find(c=>c.sdt!==void 0)?.sdt);let a=t.find(c=>c.paraId!==void 0)?.paraId;a!==void 0&&(e.dataset.paraId=a);let l=t.find(c=>c.fromLine!==void 0);l?.fromLine!==void 0&&(e.dataset.fromLine=String(l.fromLine),l.toLine!==void 0&&(e.dataset.toLine=String(l.toLine))),at(e,t),on(e,t);}function en(e,t,r,i){Be(e,t);let n=Number(e.dataset.docStart),s=Number(e.dataset.docEnd),o=t.map(y=>y.fragmentDocStart).filter(y=>Number.isFinite(y)),a=t.map(y=>y.fragmentDocEnd).filter(y=>Number.isFinite(y)),l=o.length>0?Math.min(...o):void 0,c=a.length>0?Math.max(...a):void 0,m=l??(Number.isFinite(n)&&n===s&&n>0?n-1:void 0);if(m!==void 0&&(e.dataset.docStart=String(m)),c!==void 0&&(e.dataset.docEnd=String(c)),m!==void 0&&!t.some(y=>y.docStart===m)){let y=Ce(t).find(f=>Te(f)!==void 0),g=y?Te(y):void 0;if(g){let f=r.createElement("span");f.className="layout-mirror-structural-anchor",f.dataset.docStart=String(m),f.dataset.docEnd=String(m),U(f,g,i),e.insertBefore(f,e.firstChild);}}}function tn(e,t){let r=e.querySelectorAll(".layout-paragraph[data-doc-start]"),i=1/0,n=-1/0;for(let s of r){let o=Number(s.dataset.docStart),a=Number(s.dataset.docEnd);Number.isFinite(o)&&(i=Math.min(i,o)),Number.isFinite(a)&&(n=Math.max(n,a));}i!==1/0&&(e.dataset.docStart=String(i)),n!==-1/0&&(e.dataset.docEnd=String(n)),i===1/0&&n===-1/0&&Be(e,t);}function nn(e){let t=new Map;for(let r of e.values())r.table?.tableId&&t.set(r.table.tableId,r);for(let r of e.values()){let i=r.table?.parentTableId;if(!i)continue;let n=t.get(i),s=st(r.prims);if(!n?.cells?.length||!s)continue;let o=s.x+s.w/2,a=s.y+s.h/2,l=n.cells.filter(c=>c.bounds&&rn(o,a,c.bounds));l.sort((c,m)=>tt(c.bounds)-tt(m.bounds)),l[0]?.el.appendChild(r.el);}}function rn(e,t,r){return e>=r.x&&e<=r.x+r.w&&t>=r.y&&t<=r.y+r.h}function tt(e){return e.w*e.h}function st(e){let t;for(let r of e){let i=r.clipGroup?.clip,n=i?.x!==void 0&&i.y!==void 0&&i.w!==void 0&&i.h!==void 0?{x:i.x,y:i.y,w:i.w,h:i.h}:Te(r);if(!n)continue;if(!t){t={...n};continue}let s=Math.max(t.x+t.w,n.x+n.w),o=Math.max(t.y+t.h,n.y+n.h);t.x=Math.min(t.x,n.x),t.y=Math.min(t.y,n.y),t.w=s-t.x,t.h=o-t.y;}return t}function Te(e){switch(e.kind){case "text":return c(e);case "glyphRun":return d(e);case "rect":return {x:e.x,y:e.y,w:e.w,h:e.h};case "image":case "shape":return {x:e.x,y:e.y,w:e.w,h:e.h};case "decoration":return {x:e.x,y:e.y,w:e.w,h:e.h}}}function Ce(e){let t=e.filter(i=>i.logicalOrder!==void 0).sort((i,n)=>(i.logicalOrder??0)-(n.logicalOrder??0)||(i.docStart??0)-(n.docStart??0));if(t.length<2)return e;let r=0;return e.map(i=>i.logicalOrder===void 0?i:t[r++])}function at(e,t){let r=t.find(s=>s.lang)?.lang;r&&(e.lang=r);let i=t.find(s=>s.bidiLevel!==void 0||"rtl"in s);if(!i)return;let n=i.bidiLevel!==void 0?i.bidiLevel%2===1:"rtl"in i?i.rtl:false;e.dir=n?"rtl":"ltr";}function on(e,t){let r=t.find(i=>i.ariaLabel||i.ariaDescription||i.decorative||i.hiddenObject||i.groupId);r&&ct(e,r);}function Be(e,t){let r,i;for(let n of t)n.docStart!==void 0&&(r=r===void 0?n.docStart:Math.min(r,n.docStart)),n.docEnd!==void 0&&(i=i===void 0?n.docEnd:Math.max(i,n.docEnd));r!==void 0&&(e.dataset.docStart=String(r)),i!==void 0&&(e.dataset.docEnd=String(i));}function ye(e,t,r,i){return e.find(n=>{let s=n.structuralRevision;return !(!s||s.scope!==t||r!==void 0&&s.rowIndex!==r||i!==void 0&&s.colIndex!==i)})?.structuralRevision}function he(e$1,t,r,i){switch(e$1.kind){case "text":{let n=it(t,e$1,i);return n.className=D.text,n.textContent=e$1.text,U(n,c(e$1),r),n.style.font=e$1.font,rt(n,e$1),ot(n,e$1),Ee(n,e$1.hidden&&e$1.opacity===void 0?.4:e$1.opacity,e$1.rotationDeg,e$1.horizontalScale),e$1.structuralRevision?.scope==="pmark"&&(n.classList.add(D.revisionPmarkGlyph),e$1.structuralRevision.kind==="ins"&&n.classList.add(D.revisionPmarkIns),e$1.structuralRevision.kind==="del"&&n.classList.add(D.revisionPmarkDel),n.setAttribute("aria-hidden","true")),e$1.listMarker&&(n.classList.add(D.listMarker),n.setAttribute("aria-hidden","true"),e$1.listMarkerRevision&&(n.style.color=e$1.listMarkerRevision==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)")),ne(n,e$1),n}case "glyphRun":{let n=it(t,e$1,i);return n.className=D.text,n.textContent=e$1.text,U(n,d(e$1),r),n.style.fontSize=`${e$1.size}px`,sn(n,e$1.fallbackFont),rt(n,e$1),ot(n,e$1),Ee(n,e$1.hidden&&e$1.opacity===void 0?.4:e$1.opacity,e$1.rotationDeg,e$1.horizontalScale),ne(n,e$1),n}case "rect":{let n=t.createElement("div");return n.className=D.rect,U(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),ne(n,e$1),n}case "line":{let n=t.createElement("div");return n.className=e$1.role==="table-cut"?D.tableCut:D.line,e$1.role&&e$1.role!=="table-cut"&&(n.dataset.role=e$1.role),U(n,e(e$1),r),n.setAttribute("aria-hidden","true"),n}case "image":{let n=e$1.href?t.createElement("a"):t.createElement("div");return n.className=D.image,e$1.decorative?n.setAttribute("aria-hidden","true"):(n.setAttribute("role","img"),e$1.altText&&n.setAttribute("aria-label",e$1.altText)),lt(n,e$1),n.dataset.relId=e$1.relId,U(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),Ee(n,e$1.opacity,e$1.rotationDeg),e$1.filter&&(n.style.filter=e$1.filter),ne(n,e$1),e$1.revision&&(n.style.outline=`2px solid ${e$1.revision.kind==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)"}`),e$1.href||(n.style.pointerEvents="auto"),n}case "shape":{let n=t.createElement("div");return n.className=D.shape,e$1.decorative?n.setAttribute("aria-hidden","true"):n.setAttribute("role","img"),U(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),an(n,e$1.transform),ne(n,e$1),n}case "decoration":{let n=t.createElement("span");return n.className=D.decoration,n.dataset.deco=e$1.deco,U(n,{x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h},r),ne(n,e$1),n}}}function nt(e,t,r){let i=t.createElement("div");return i.className=D.pageBorder,U(i,{x:e.x,y:e.y,w:e.w,h:e.h},r),i.style.boxSizing="border-box",i.style.pointerEvents="none",i.style.zIndex=e.zOrder==="back"?"0":"20",fe(i,"Top",e.top),fe(i,"Right",e.right),fe(i,"Bottom",e.bottom),fe(i,"Left",e.left),i}function U(e,t,r=0){e.style.position="absolute",e.style.left=`${t.x}px`,e.style.top=`${t.y+r}px`,e.style.width=`${t.w}px`,e.style.height=`${t.h}px`;}function it(e,t,r){let i=t.noteRef?.id!==void 0?t.noteRef:void 0,n=t.href||i?e.createElement("a"):e.createElement("span");if(lt(n,t),i&&!t.href){let s=i.kind??"footnote",o=`oox-${s}-${i.id}`;n.setAttribute("href",`#${o}`),n.setAttribute("role","doc-noteref");let a=`oox-noteref-${s}-${i.id}`;r.noteRefIds.has(a)||(r.noteRefIds.add(a),n.id=a);}return n}function lt(e,t){let{href:r}=t;if(!r)return;e.setAttribute("href",r),e.dataset.href=r;let i=t.linkTitle??t.tooltip;i&&(e.title=i),t.linkTarget?e.setAttribute("target",t.linkTarget):r.startsWith("#")||e.setAttribute("target","_blank"),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener noreferrer"),t.linkHistory!==void 0&&(e.dataset.linkHistory=String(t.linkHistory)),t.linkDocLocation!==void 0&&(e.dataset.linkDocLocation=t.linkDocLocation);}function sn(e,t){if(t)for(let r of t.split(" ")){if(r.endsWith("px"))break;r==="italic"?e.style.fontStyle="italic":/^[1-9]00$/.test(r)&&r!=="400"&&(e.style.fontWeight=r);}}function rt(e,t){t.lang&&(e.lang=t.lang),t.bidiLevel!==void 0?e.dir=t.bidiLevel%2===1?"rtl":"ltr":t.rtl&&(e.dir="rtl");}function fe(e,t,r){if(!r)return;let i=e.style;i[`border${t}Width`]=`${r.width}px`,i[`border${t}Style`]=r.style,i[`border${t}Color`]=r.color;}function Ee(e,t,r,i){t!==void 0&&(e.style.opacity=String(t));let n=[];r&&n.push(`rotate(${r}deg)`),i!==void 0&&i!==100&&n.push(`scaleX(${i/100})`),n.length>0&&(e.style.transform=n.join(" "),e.style.transformOrigin=i!==void 0&&i!==100?"left center":"center center");}function an(e,t){if(!t)return;let r=[];t.rotation&&r.push(`rotate(${t.rotation}deg)`),t.flipH&&r.push("scaleX(-1)"),t.flipV&&r.push("scaleY(-1)"),r.length!==0&&(e.style.transform=r.join(" "),e.style.transformOrigin="center center");}function ot(e,t){if(t.allCaps&&(e.style.textTransform="uppercase"),t.smallCaps&&(e.style.fontVariant="small-caps"),t.hidden&&(e.classList.add("docx-hidden"),e.style.textDecoration="underline dotted"),t.textShadow==="emboss"?e.style.textShadow="1px 1px 1px rgba(255,255,255,0.5), -1px -1px 1px rgba(0,0,0,0.3)":t.textShadow==="imprint"?e.style.textShadow="-1px -1px 1px rgba(255,255,255,0.5), 1px 1px 1px rgba(0,0,0,0.3)":t.textShadow==="shadow"&&(e.style.textShadow="1px 1px 2px rgba(0,0,0,0.3)"),t.textOutline&&(e.style.webkitTextStroke="1px currentColor",e.style.webkitTextFillColor="transparent"),t.emphasisMark){let r=t.emphasisMark==="comma"?"filled sesame":t.emphasisMark==="circle"?"filled circle":"filled dot",i=t.emphasisMark==="underDot"?"under right":"over right";e.style.textEmphasis=r,e.style.textEmphasisPosition=i,e.style.webkitTextEmphasis=r,e.style.webkitTextEmphasisPosition=i;}t.textEffect&&(e.classList.add("docx-text-effect",`docx-text-effect-${t.textEffect}`),e.dataset.effect=t.textEffect);}function ne(e,t){if(t.docStart!==void 0&&(e.dataset.docStart=String(t.docStart)),t.docEnd!==void 0&&(e.dataset.docEnd=String(t.docEnd)),t.commentIds&&t.commentIds.length>0&&(e.dataset.commentId=t.commentIds.join(" ")),t.field){let r=t.field.type??t.field.category;r&&(e.dataset.fieldType=r),t.field.category&&(e.dataset.fieldCategory=t.field.category),t.field.instruction&&(e.dataset.fieldInstruction=t.field.instruction);let i=t.field.instruction?.trim()||r;i&&e.setAttribute("aria-description",i);}if(t.noteRef?.id!==void 0&&(e.dataset.noteRefKind=t.noteRef.kind??"footnote",e.dataset.noteRefId=String(t.noteRef.id)),t.comment){t.comment.status&&(e.dataset.commentStatus=t.comment.status),t.comment.authorId&&(e.dataset.commentAuthorId=t.comment.authorId),t.comment.paletteIndex!==void 0&&(e.dataset.commentPaletteIndex=String(t.comment.paletteIndex)),t.comment.color&&(e.dataset.commentColor=t.comment.color),t.comment.selected!==void 0&&(e.dataset.commentSelected=String(t.comment.selected)),t.comment.authorName&&(e.dataset.commentAuthorName=t.comment.authorName),t.comment.date&&(e.dataset.commentDate=t.comment.date),t.comment.replyCount!==void 0&&(e.dataset.commentReplyCount=String(t.comment.replyCount));let r=[t.comment.status,t.comment.authorName??t.comment.authorId,t.comment.date,t.comment.text,...(t.comment.replies??[]).map(i=>[i.authorName,i.text].filter(Boolean).join(": "))].filter(Boolean).join(", ");r&&e.setAttribute("aria-description",r);}if(t.revision){e.dataset.changeAuthor=t.revision.author,e.dataset.changeDate=t.revision.date,e.dataset.revisionId=t.revision.revisionId,e.classList.add(t.revision.kind==="ins"?"docx-insertion":"docx-deletion"),e.hasAttribute("role")||e.setAttribute("role",t.revision.kind==="ins"?"insertion":"deletion");let r=[t.revision.author,t.revision.date].filter(Boolean).join(", ");r&&e.setAttribute("aria-description",r);}t.href&&(e.dataset.href=t.href),ln(e,t.inlineSdtWidget),He(e,t.sdt),t.sdtPath?.length&&(e.dataset.sdtPath=t.sdtPath.map(r=>r.groupId).join(" ")),t.logicalOrder!==void 0&&(e.dataset.logicalOrder=String(t.logicalOrder)),t.bidiLevel!==void 0&&(e.dataset.bidiLevel=String(t.bidiLevel)),ct(e,t);}function ct(e,t){if(t.groupId&&(e.dataset.groupId=t.groupId),t.decorative||t.hiddenObject){e.setAttribute("aria-hidden","true"),e.removeAttribute("role"),e.removeAttribute("aria-label"),e.removeAttribute("aria-description");return}t.ariaLabel&&e.setAttribute("aria-label",t.ariaLabel),t.ariaDescription&&e.setAttribute("aria-description",t.ariaDescription);}function He(e,t){t&&(e.classList.add(D.blockSdt),e.dataset.sdtGroupId=t.groupId,e.dataset.sdtType=t.sdtType,t.depth!==void 0&&(e.dataset.sdtDepth=String(t.depth)),t.tag!==void 0&&(e.dataset.sdtTag=t.tag),t.alias!==void 0&&(e.dataset.sdtAlias=t.alias),t.lock!==void 0&&(e.dataset.sdtLock=t.lock),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked)),t.bound!==void 0&&(e.dataset.sdtBound=String(t.bound)),t.repeatingItem!==void 0&&(e.dataset.sdtRepeatingItem=String(t.repeatingItem)),!e.hasAttribute("aria-label")&&(t.alias||t.tag)&&e.setAttribute("aria-label",t.alias||t.tag||""),t.lock&&e.setAttribute("aria-readonly","true"));}function ln(e,t){if(!t)return;e.classList.add(D.inlineSdtWidget);let r=t.controlKind??t.kind;e.dataset.sdtWidget=r,e.dataset.sdtGroupId=t.groupId,e.dataset.sdtPos=String(t.pos),t.tag!==void 0&&(e.dataset.sdtTag=t.tag),t.alias!==void 0&&(e.dataset.sdtAlias=t.alias),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked),e.setAttribute("aria-checked",String(t.checked))),t.controlId!==void 0&&(e.dataset.sdtControlId=String(t.controlId)),t.value!==void 0&&(e.dataset.sdtValue=t.value),t.selectedIndex!==void 0&&(e.dataset.sdtSelectedIndex=String(t.selectedIndex)),t.dateFormat!==void 0&&(e.dataset.sdtDateFormat=t.dateFormat),t.dateLanguage!==void 0&&(e.dataset.sdtDateLanguage=t.dateLanguage),t.locked!==void 0&&(e.dataset.sdtLocked=String(t.locked)),r==="checkbox"?e.setAttribute("role","checkbox"):r==="dropDownList"||r==="comboBox"?(e.setAttribute("role","combobox"),e.setAttribute("aria-haspopup","listbox"),e.setAttribute("aria-expanded","false")):r==="date"?(e.setAttribute("role","button"),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("role","group"),e.removeAttribute("tabindex"),(t.alias||t.tag)&&e.setAttribute("aria-label",t.alias||t.tag||""),t.locked&&e.setAttribute("aria-disabled","true");}function ge(e,t){switch(t.scope){case "pmark":e.classList.add(D.revisionPmark),t.kind==="ins"&&e.classList.add(D.revisionPmarkIns),t.kind==="del"&&e.classList.add(D.revisionPmarkDel);break;case "table":e.classList.add(D.revisionTable,Ae(t.kind));break;case "row":e.classList.add(D.revisionRow,Ae(t.kind));break;case "cell":e.classList.add(D.revisionCell,Ae(t.kind));break}e.dataset.revisionId=t.revisionId,e.dataset.revisionAuthor=t.author,t.date&&(e.dataset.revisionDate=t.date);let r=[t.author,t.date].filter(Boolean).join(", ");r&&e.setAttribute("aria-description",r);}function Ae(e){return e==="ins"?D.revisionIns:e==="del"?D.revisionDel:D.revisionMerge}function cn(e,t,r,i){let n=r.createElement("section");n.className=D.notes,n.dataset.noteKind=e.kind??"footnote",e.sectionId&&(n.dataset.sectionId=e.sectionId),e.columns!==void 0&&(n.dataset.columns=String(e.columns)),n.style.position="absolute",n.style.left="0",n.style.top=`${e.y??0}px`,n.style.width=`${t.width}px`,n.style.height=`${e.height??0}px`;let s=new Map;for(let a of e.notes??[])a.id!==void 0&&s.set(a.id,a);re(n,e.separatorPrimitives??[],r,-(e.y??0),i);let o=[...e.primitives??[]];for(let a of e.noteIds??[]){let c=`${e.kind??"footnote"}-${a}`,m=o.filter(f=>f.groupId===c);if(m.length===0)continue;for(let f of m){let h=o.indexOf(f);h>=0&&o.splice(h,1);}let y=r.createElement("aside");y.className=D.note,y.id=`oox-${c}`,y.dataset.noteId=String(a),y.setAttribute("role",e.kind==="endnote"?"doc-endnote":"doc-footnote");let g=s.get(a);if(g&&(g.label!==void 0&&(y.dataset.noteLabel=g.label),g.anchorDocStart!==void 0&&(y.dataset.anchorDocStart=String(g.anchorDocStart)),g.anchorDocEnd!==void 0&&(y.dataset.anchorDocEnd=String(g.anchorDocEnd))),re(y,m,r,-(e.y??0),i),g){let f=r.createElement("a");f.className=D.noteBacklink,f.setAttribute("role","doc-backlink"),f.setAttribute("href",`#oox-noteref-${c}`);let h=i.labels?.noteBacklink??g.label??String(a);f.setAttribute("aria-label",h),y.appendChild(f);}n.appendChild(y);}return o.length>0&&re(n,o,r,-(e.y??0),i),n}function dn(e,t){for(let r of Array.from(e.querySelectorAll(".layout-canvas-sdt-box[data-sdt-group-id]")))r.classList.toggle("layout-sdt-focused",t.has(r.dataset.sdtGroupId??""));}var un=".layout-sdt-widget, .layout-inline-sdt-widget, .layout-sdt-repeat-btn";function pn(e,t={}){let r=t.document??document,i=r.createElement("div");i.className="layout-interactive-overlay",i.dataset.pageIndex=String(e.pageIndex),i.style.position="absolute",i.style.inset="0",i.style.width=`${e.width}px`,i.style.height=`${e.height}px`,i.style.pointerEvents="none",i.addEventListener("mousedown",a=>{a.target?.closest?.(un)&&(a.preventDefault(),a.stopPropagation());});let n=mn(e),s=fn(n);for(let a of [...s.values()].sort(gn))i.appendChild(hn(a,r,t.labels));let o=yn(n);for(let a of o.values())i.appendChild(bn(a,r,t.labels));return i}function mn(e){return [...e.primitives,...e.header?.primitives??[],...e.footer?.primitives??[],...(e.noteAreas??[]).flatMap(t=>[...t.separatorPrimitives??[],...t.primitives??[]])]}function fn(e){let t=new Map;for(let r of e){let i=ut(r);if(!i)continue;let n=r.sdtPath?.length?r.sdtPath:r.sdt?[r.sdt]:[];for(let s of n){let o=t.get(s.groupId);o?o.rect=pt(o.rect,i):t.set(s.groupId,{attrs:s,rect:{...i}});}}return t}function yn(e){let t=new Map;for(let r of e){let i=r.inlineSdtWidget,n=ut(r);if(!i||!n)continue;let s=`${i.groupId}:${i.pos}:${i.controlKind??i.kind}`,o=t.get(s);o?o.rect=pt(o.rect,n):t.set(s,{attrs:i,rect:{...n}});}return t}function gn(e,t){return (e.attrs.depth??0)-(t.attrs.depth??0)||e.rect.y-t.rect.y||e.rect.x-t.rect.x}function hn(e,t,r){let{attrs:i,rect:n}=e,s=t.createElement("div");s.className="layout-block-sdt-box layout-canvas-sdt-box",Dn(s,i),mt(s,n),s.style.pointerEvents="none";let o=i.alias||i.tag;if(o){let c=t.createElement("span");c.className="layout-block-sdt-label",c.textContent=o,s.appendChild(c);}let a=Ln(i.sdtType),l=!i.bound&&!Rn(i.lock);if(a&&l){let c=t.createElement("button");c.type="button",c.className="layout-sdt-widget",c.dataset.sdtWidget=a,c.dataset.sdtGroupId=i.groupId,i.tag&&(c.dataset.sdtTag=i.tag),i.alias&&(c.dataset.sdtAlias=i.alias),(o||r?.control)&&c.setAttribute("aria-label",o||r?.control||""),a==="dropdown"&&c.setAttribute("aria-haspopup","listbox"),a==="date"&&c.setAttribute("aria-haspopup","dialog"),a==="checkbox"&&(c.setAttribute("role","checkbox"),c.setAttribute("aria-checked",String(i.checked??false))),c.textContent=a==="dropdown"?"\u25BE":a==="date"?"\u25A3":i.checked?"\u2612":"\u2610",c.style.pointerEvents="auto",s.appendChild(c);}if(i.repeatingItem&&l){let c=t.createElement("div");c.className="layout-sdt-repeat-controls",c.style.pointerEvents="auto",c.appendChild(dt(t,i,"add","\uFF0B",r?.addRepeatingItem,o)),c.appendChild(dt(t,i,"remove","\u2715",r?.removeRepeatingItem,o)),s.appendChild(c);}return s}function dt(e,t,r,i,n,s){let o=e.createElement("button");return o.type="button",o.className="layout-sdt-repeat-btn",o.dataset.sdtRepeat=r,o.dataset.sdtGroupId=t.groupId,t.tag&&(o.dataset.sdtTag=t.tag),(n||s)&&o.setAttribute("aria-label",n||s||""),o.textContent=i,o}function bn(e,t,r){let{attrs:i,rect:n}=e,s=i.controlKind??i.kind,o=t.createElement("button");return o.type="button",o.className="layout-sdt-widget layout-inline-sdt-widget layout-canvas-inline-sdt-widget",o.dataset.sdtWidget=xn(s),o.dataset.sdtGroupId=i.groupId,o.dataset.sdtPos=String(i.pos),i.tag&&(o.dataset.sdtTag=i.tag),i.alias&&(o.dataset.sdtAlias=i.alias),i.controlId!==void 0&&(o.dataset.sdtControlId=String(i.controlId)),i.value!==void 0&&(o.dataset.sdtValue=i.value),i.selectedIndex!==void 0&&(o.dataset.sdtSelectedIndex=String(i.selectedIndex)),i.dateFormat&&(o.dataset.sdtDateFormat=i.dateFormat),i.dateLanguage&&(o.dataset.sdtDateLanguage=i.dateLanguage),i.listItems?.length&&(o.dataset.sdtListItems=JSON.stringify(i.listItems)),(i.alias||i.tag||r?.control)&&o.setAttribute("aria-label",i.alias||i.tag||r?.control||""),s==="checkbox"?(o.setAttribute("role","checkbox"),o.setAttribute("aria-checked",String(i.checked??false))):s==="dropDownList"||s==="comboBox"?(o.setAttribute("aria-haspopup","listbox"),o.setAttribute("aria-expanded","false")):s==="date"&&o.setAttribute("aria-haspopup","dialog"),o.disabled=i.locked===true,o.textContent=s==="checkbox"?i.checked?"\u2612":"\u2610":s==="date"?"\u25A3":s==="picture"?"\u25A7":"\u25BE",mt(o,n),o.style.pointerEvents="auto",o}function xn(e){return e==="dropDownList"||e==="comboBox"?"dropdown":e}function Ln(e){return e==="checkbox"?"checkbox":e==="dropDownList"||e==="comboBox"?"dropdown":e==="date"?"date":null}function Rn(e){return e==="contentLocked"||e==="sdtContentLocked"||e==="sdtLocked"}function Dn(e,t){e.dataset.sdtGroupId=t.groupId,e.dataset.sdtType=t.sdtType,t.depth!==void 0&&(e.dataset.sdtDepth=String(t.depth)),t.tag&&(e.dataset.sdtTag=t.tag),t.alias&&(e.dataset.sdtAlias=t.alias),t.lock&&(e.dataset.sdtLock=t.lock),t.checked!==void 0&&(e.dataset.sdtChecked=String(t.checked)),t.bound!==void 0&&(e.dataset.sdtBound=String(t.bound)),t.repeatingItem!==void 0&&(e.dataset.sdtRepeatingItem=String(t.repeatingItem));}function ut(e$1){let t=e$1.clipGroup?.clip;if(t?.x!==void 0&&t.y!==void 0&&t.w!==void 0&&t.h!==void 0)return {x:t.x,y:t.y,w:t.w,h:t.h};switch(e$1.kind){case "text":return c(e$1);case "glyphRun":return d(e$1);case "rect":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h};case "line":return e(e$1);case "image":case "shape":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h};case "decoration":return {x:e$1.x,y:e$1.y,w:e$1.w,h:e$1.h}}}function pt(e,t){let r=Math.min(e.x,t.x),i=Math.min(e.y,t.y),n=Math.max(e.x+e.w,t.x+t.w),s=Math.max(e.y+e.h,t.y+t.h);return {x:r,y:i,w:n-r,h:s-i}}function mt(e,t){e.style.position="absolute",e.style.left=`${t.x}px`,e.style.top=`${t.y}px`,e.style.width=`${Math.max(1,t.w)}px`,e.style.height=`${Math.max(1,t.h)}px`;}var K=class extends Error{constructor(r,i){let n=i instanceof Error?i.message:String(i);super(`Rust display-list ${r} failed: ${n}`);b(this,"stage");this.name="RustDisplayListSourceError",this.stage=r;}},ft=null;function Ge(){return ft??(ft=import('../../wasm-T2CRCO7S.mjs').then(async e=>(await e.preloadLayoutWasm(),{buildDisplayListJson:e.buildDisplayListJson,hitTestRegionsJson:e.hitTestRegionsJson,verticalMoveJson:e.verticalMoveJson,rangeRectsJson:e.rangeRectsJson,rangeRectsRegionJson:e.rangeRectsRegionJson,hasRangeRectsRegion:e.hasRangeRectsRegion,hasDisplayListSession:e.hasDisplayListSession,openDisplayList:e.openDisplayList,closeDisplayList:e.closeDisplayList,updateDisplayList:e.updateDisplayList,hasDisplayListUpdate:e.hasDisplayListUpdate,hitTestRegionsByHandle:e.hitTestRegionsByHandle,verticalMoveByHandle:e.verticalMoveByHandle,rangeRectsByHandle:e.rangeRectsByHandle,rangeRectsRegionByHandle:e.rangeRectsRegionByHandle}))),ft}function Fe(){return Ge()}function vn(e,t){let r=e.measured,i="[";for(let s=0;s<r.length;s++){s>0&&(i+=",");let o=r[s],a=o.measure,l;if(t&&a!==null&&typeof a=="object"){let c=a;l=t.get(c),l===void 0&&(l=JSON.stringify(o.measure),t.set(c,l));}else l=JSON.stringify(o.measure);i+='{"block":'+JSON.stringify(o.block)+',"measure":'+l+"}";}i+="]";let n='{"measured":'+i+',"options":'+JSON.stringify(e.options)+',"layout":'+JSON.stringify(e.layout);return e.contractVersion!==void 0&&(n+=',"contractVersion":'+JSON.stringify(e.contractVersion)),e.headersFooters!==void 0&&(n+=',"headersFooters":'+JSON.stringify(e.headersFooters)),e.fontChains!==void 0&&(n+=',"fontChains":'+JSON.stringify(e.fontChains)),e.noteAreas!==void 0&&(n+=',"noteAreas":'+JSON.stringify(e.noteAreas)),e.resolvedCommentIds!==void 0&&(n+=',"resolvedCommentIds":'+JSON.stringify(e.resolvedCommentIds)),e.commentAuthors!==void 0&&(n+=',"commentAuthors":'+JSON.stringify(e.commentAuthors)),e.commentThreads!==void 0&&(n+=',"commentThreads":'+JSON.stringify(e.commentThreads)),n+="}",n}function yt(e){let t={};return e.contractVersion!==void 0&&(t.contractVersion=e.contractVersion),e.headersFooters!==void 0&&(t.headersFooters=e.headersFooters),e.fontChains!==void 0&&(t.fontChains=e.fontChains),e.noteAreas!==void 0&&(t.noteAreas=e.noteAreas),e.resolvedCommentIds!==void 0&&(t.resolvedCommentIds=e.resolvedCommentIds),e.commentAuthors!==void 0&&(t.commentAuthors=e.commentAuthors),e.commentThreads!==void 0&&(t.commentThreads=e.commentThreads),JSON.stringify(t)}var In=new WeakMap;async function gt(e,t){let r;try{r=t??await Ge();}catch(s){throw new K("load",s)}let i,n;try{i=vn(e,In),n=r.buildDisplayListJson(i);}catch(s){throw new K("build",s)}try{return JSON.parse(n)}catch(s){throw new K("parse",s)}}async function Sn(e,t$1,r=null){let i;try{i=t$1??await Ge();}catch(l){throw new K("load",l)}if(!i.buildDisplayListFrame)return {displayList:await gt(e,i),frame:null,transport:"json"};let n=yt(e),s$1;try{s$1=i.buildDisplayListFrame(n,r?.frameEpoch??0);}catch(l){throw new K("build",l)}let o;try{o=s(s$1);}catch(l){throw new K("decode",l)}let a;try{a=t(r,o);}catch(l){throw new K("apply",l)}return {displayList:a.displayList,frame:a,transport:"frame-delta-v1"}}function ht(e,t,r){if(t==="body")return e.primitives.filter(n=>n.kind==="image");let i=t==="header"?e.header:e.footer;return !i||r!==void 0&&i.rId!==r?[]:i.primitives.filter(n=>n.kind==="image")}function Ne(e,t,r="body",i){for(let n of e.pages)for(let s of ht(n,r,i))if(s.docStart===t)return {primitive:s,pageIndex:n.pageIndex,...r!=="body"?{region:r,rId:i}:{}};return null}function Ye(e,t,r,i,n="body",s){let o=e.pages[t];if(!o)return null;let a=ht(o,n,s);for(let l=a.length-1;l>=0;l--){let c=a[l];if(!(r<c.x||r>c.x+c.w)&&!(i<c.y||i>c.y+c.h))return {primitive:c,pageIndex:o.pageIndex,...n!=="body"?{region:n,rId:s}:{}}}return null}function kn(e,t){let r=e.imageByPos(t);if(!r)return;let i=e.contentBounds(r.pageIndex),n=e.paragraphRects(t).find(s=>s.pageIndex===r.pageIndex);if(!(!i||!n))return {horizontalEmu:Math.round(c$1(r.primitive.x-i.x)),verticalEmu:Math.round(c$1(r.primitive.y-n.y))}}var be=(()=>{let e=globalThis.FinalizationRegistry;return e?new e(t=>t()):null})(),Oe=new WeakMap,Le=new WeakSet,_e=new Set;function wn(e){return e!=null&&Le.has(e)}function Mn(e){return _e.add(e),()=>{_e.delete(e);}}function xe(e){return e instanceof Error?typeof WebAssembly<"u"&&e instanceof WebAssembly.RuntimeError?true:e.name==="RuntimeError":false}function Pn(e,t){let r=new Map;e.list.pages.forEach((s,o)=>r.set(s,o));let i=[],n=[];return t.pages.forEach((s,o)=>{let a=r.get(s);a!==void 0&&v(s)===e.pageRevisions[a]?(i.push([o,a]),r.delete(s)):n.push([o,s]);}),i.length===0?null:JSON.stringify({total:t.pages.length,...t.contractVersion!==void 0?{contractVersion:t.contractVersion}:{},reuse:i,replace:n})}function En(e,t,r){let i=null,n=()=>i??(i=JSON.stringify(e)),s=An(t)?t:null,o=s?null:t??null,a=null,l,c,m=new Promise((d,u)=>{l=d,c=u;});m.catch(()=>{});let y=null,g=false,f$1=false,h=false,R={},S=null;if(r){let d=Oe.get(r);d&&(S=d.hasHandle()?r:d.donor(),d.supersede());}let v$1=()=>s??o,L=()=>{let d=v$1();return d!==null&&Le.has(d)},E=(d,u)=>{let p=u instanceof Error?u:new Error(String(u));a=p,y=null,be?.unregister(R);let b=v$1();if(!(!b||Le.has(b))){Le.add(b),console.error(`[CanvasRenderer] ${d} trapped in wasm; the session is unusable and must be rebuilt`,p);for(let x of _e)try{x(p);}catch(I){console.error("[CanvasRenderer] display-list source failure listener threw",I);}}},C=()=>{if(y!==null&&L()){y=null;return}if(y!==null){try{o?.closeDisplayList?.(y);}catch{}y=null;}},P=()=>{let d=S;if(S=null,!d||!o?.updateDisplayList||!o.hasDisplayListUpdate?.())return false;let u=Oe.get(d);if(!u||u.engine()!==o)return false;let p=Pn(u,e);if(!p)return false;let b=u.takeHandle();if(b===null)return false;try{return o.updateDisplayList(b,p),y=b,!0}catch(x){try{o.closeDisplayList?.(b);}catch{}return console.warn("[CanvasRenderer] display-list delta update failed; reopening",x),false}},Y=()=>{if(!(h||f$1||g||y!==null||!o||L())&&!(!o.hasDisplayListSession?.()||!o.openDisplayList)&&(g=true,!P()))try{y=o.openDisplayList(n());}catch(d){if(y=null,xe(d)){E("display-list session open",d);return}console.warn("[CanvasRenderer] display-list session open failed; using JSON-arg queries",d);}};s||o?l():Fe().then(d=>{o=d,l();},d=>{a=d instanceof Error?d:new Error(String(d)),c(a),console.warn("[CanvasRenderer] display-list query engine failed to load",a);});let V=(d,u,p)=>{if(!o||L())return null;if(y===null&&Y(),y!==null&&d)try{return d(y)}catch(b){if(xe(b))return E(p,b),null;console.warn(`[CanvasRenderer] ${p} session query failed; falling back`,b),C();}try{return u()}catch(b){return xe(b)?(E(p,b),null):(a=b instanceof Error?b:new Error(String(b)),console.warn(`[CanvasRenderer] ${p} query failed`,b),null)}},M=(d,u,p)=>{if(d===null)return u;try{return JSON.parse(d)}catch(b){return a=b instanceof Error?b:new Error(String(b)),console.warn(`[CanvasRenderer] ${p} returned invalid JSON`,b),u}},F=(d,u)=>{if(L())return null;try{return d()}catch(p){return xe(p)?(E(`resident ${u}`,p),null):(a=p instanceof Error?p:new Error(String(p)),console.warn(`[CanvasRenderer] resident ${u} query failed`,p),null)}},G=(d,u,p)=>{if(s)return M(F(()=>s.displayHitTestRegionsJson(d,u,p),"hit_test_regions"),null,"hit_test_regions");let b=V(o?.hitTestRegionsByHandle&&(x=>o.hitTestRegionsByHandle(x,d,u,p)),()=>o.hitTestRegionsJson(n(),d,u,p),"hit_test_regions");return M(b,null,"hit_test_regions")},ee=(d,u)=>{if(s)return M(F(()=>s.displayRangeRectsJson(d,u),"range_rects"),[],"range_rects");let p=V(o?.rangeRectsByHandle&&(b=>o.rangeRectsByHandle(b,d,u)),()=>o.rangeRectsJson(n(),d,u),"range_rects");return M(p,[],"range_rects")},le=(d,u,p)=>{let b=p??Number.NaN;if(s)return M(F(()=>s.displayVerticalMoveJson(d,u,b),"vertical_move"),null,"vertical_move");if(!o?.verticalMoveJson)return null;let x=V(o.verticalMoveByHandle&&(I=>o.verticalMoveByHandle(I,d,u,b)),()=>o.verticalMoveJson(n(),d,u,b),"vertical_move");return M(x,null,"vertical_move")},N=(d,u,p,b)=>{if(s)return M(F(()=>s.displayRangeRectsRegionJson(d,u,p,b),"range_rects_region"),[],"range_rects_region");if(!o||!o.hasRangeRectsRegion?.())return [];let x=V(o.rangeRectsRegionByHandle&&(I=>o.rangeRectsRegionByHandle(I,d,u,p,b)),()=>o.rangeRectsRegionJson(n(),d,u,p,b),"range_rects_region");return M(x,[],"range_rects_region")},q=(d,u,p,b)=>N(d,u,p,b),T=(d,u,p,b)=>N(d,String(u),p,b),$=(d,u)=>{let p=(x,I)=>{let k=new Map;for(let w of x)I&&k.has(w.pageIndex)||k.set(w.pageIndex,{pageIndex:w.pageIndex,x:I?w.x:w.x+w.width,y:w.y,width:0,height:w.height});return [...k.values()]},b=d(u,u+1);if(b.length>0)return p(b,true);if(u>0){let x=d(u-1,u);if(x.length>0)return p(x,false)}return []},O=(d,u,p)=>$((b,x)=>q(d,u,b,x),p),z=(d,u,p)=>$((b,x)=>T(d,u,b,x),p),_=d=>{let u=ee(d,d+1);if(u.length>0){let p=u[0];return {pageIndex:p.pageIndex,x:p.x,y:p.y,width:0,height:p.height}}if(d>0){let p=ee(d-1,d);if(p.length>0){let b=p[p.length-1];return {pageIndex:b.pageIndex,x:b.x+b.width,y:b.y,width:0,height:b.height}}}return null},J=d=>{let u=ee(d,d+2);return u.length>0?u[0]:_(d)},te=(d,u,p)=>{let b=q(d,u,p,p+2);if(b.length===0)return O(d,u,p);let x=new Map;for(let I of b)x.has(I.pageIndex)||x.set(I.pageIndex,I);return [...x.values()]},j=(d,u)=>({pageIndex:d,x:u.x,y:u.y,width:u.w,height:u.h}),De=d=>{let u=e.pages[d];return u?{pageIndex:u.pageIndex,x:0,y:0,width:u.width,height:u.height}:null},It=d=>{let u=e.pages[d],p=u?.contentBounds;return u&&p?{pageIndex:u.pageIndex,x:p.x,y:p.y,width:p.width,height:p.height}:null},St=d=>{let u=e.pages[d];return u?(u.columnBounds??[]).map(p=>({pageIndex:u.pageIndex,x:p.x,y:p.y,width:p.width,height:p.height})):[]},ve=d=>d.paraId?`para:${d.paraId}`:d.blockKey!==void 0?`block-key:${d.blockKey}`:d.blockId!==void 0?`block-id:${d.blockId}`:null,ze=d=>d.blockKey??d.blockId,ce=null,kt=()=>{if(ce)return ce;let d=new Map;for(let u of e.pages)for(let p of u.primitives){let b=ve(p);if(!b||p.docStart===void 0||p.docEnd===void 0)continue;let x=f(p),I=d.get(b);I||(I=new Map,d.set(b,I));let k=I.get(u.pageIndex);if(!k){I.set(u.pageIndex,{...j(u.pageIndex,x),from:p.docStart,to:p.docEnd,blockId:ze(p),paraId:p.paraId});continue}let w=Math.min(k.x,x.x),A=Math.min(k.y,x.y),ue=Math.max(k.x+k.width,x.x+x.w),pe=Math.max(k.y+k.height,x.y+x.h);k.x=w,k.y=A,k.width=ue-w,k.height=pe-A,k.from=Math.min(k.from,p.docStart),k.to=Math.max(k.to,p.docEnd);}return ce=new Map([...d].map(([u,p])=>[u,[...p.values()]])),ce},wt=d=>{let u=null;for(let p of e.pages)for(let b of p.primitives){let x=ve(b),I=b.docStart,k=b.docEnd;if(!x||I===void 0||k===void 0||d<I||d>k)continue;let w={identity:x,span:Math.max(0,k-I),startsAtPos:I===d};(!u||w.startsAtPos&&!u.startsAtPos||w.startsAtPos===u.startsAtPos&&w.span<u.span)&&(u=w);}return u?kt().get(u.identity)??[]:[]},Mt=1.5,de=null,je=()=>{if(de)return de;let d=[];for(let u of e.pages){let p=[],b=0;for(let x of u.primitives){if(x.kind!=="text"&&x.kind!=="glyphRun"||x.docStart===void 0||x.docEnd===void 0||x.kind==="glyphRun"&&x.glyphs.length===0)continue;let I=x.kind==="text"?x.baselineY:x.glyphs.reduce((me,Tt)=>Math.max(me,Tt.y),-1/0);if(!Number.isFinite(I))continue;let k=ve(x)??`anonymous:${b++}`,w=f(x),A=p.find(me=>me.identity===k&&Math.abs(me.baseline-I)<=Mt);if(!A){p.push({identity:k,...j(u.pageIndex,w),baseline:I,from:x.docStart,to:x.docEnd,blockId:ze(x),paraId:x.paraId});continue}let ue=Math.min(A.x,w.x),pe=Math.min(A.y,w.y),Et=Math.max(A.x+A.width,w.x+w.w),At=Math.max(A.y+A.height,w.y+w.h);A.x=ue,A.y=pe,A.width=Et-ue,A.height=At-pe,A.from=Math.min(A.from,x.docStart),A.to=Math.max(A.to,x.docEnd);}d.push(...p.map(({identity:x,...I})=>I));}return de=d,de},Pt=d=>{let u=null;for(let p of je())d<p.from||d>p.to||(!u||p.to-p.from<u.to-u.from)&&(u=p);return u},Ue=d=>{if(!d)return null;let u=d.primitive.docStart;if(u===void 0)return null;let{primitive:p}=d;return {...d,pos:u,rect:{pageIndex:d.pageIndex,x:p.x,y:p.y,width:p.w,height:p.h}}},Ie={displayList:e,isReady:()=>(s!==null||o!==null)&&a===null,sourceState:()=>a?{status:"error",error:a}:s||o?{status:"ready"}:{status:"loading"},whenReady:()=>m,pageCount:()=>e.pages.length,pageSize:d=>{let u=e.pages[d];return u?{width:u.width,height:u.height}:null},pageBounds:De,contentBounds:It,columnBounds:St,paragraphRects:wt,visualLines:je,visualLineAtPosition:Pt,imageAtPoint:(d,u,p,b="body",x)=>Ue(Ye(e,d,u,p,b,x)),imageByPos:(d,u="body",p)=>Ue(Ne(e,d,u,p)),hitTestRegions:G,verticalMove:le,rangeRects:ee,hfRangeRects:q,noteRangeRects:T,hfCaretRects:O,noteCaretRects:z,hfAnchorRects:te,caretRect:_,anchorRect:J,sidebarAnchorRect:J,prime:Y,dispose:()=>{h||(h=true,C(),be?.unregister(R));}};return be?.register(Ie,C,R),Oe.set(Ie,{list:e,pageRevisions:e.pages.map(v),engine:()=>o,hasHandle:()=>y!==null,donor:()=>S,supersede:()=>{f$1=true;},takeHandle:()=>{let d=y;return d!==null&&(y=null,be?.unregister(R)),d}}),Ie}function An(e){return typeof e?.displayHitTestRegionsJson=="function"&&typeof e?.displayVerticalMoveJson=="function"&&typeof e?.displayRangeRectsJson=="function"&&typeof e?.displayRangeRectsRegionJson=="function"}var Tn=16,Cn=24;function oe(e){let t=[],r=24;for(let i=0;i<e.pageCount();i++)t.push(r),r+=(e.pageSize(i)?.height??0)+16;return t}function Bn(){let e=new Map;return t=>{if(!t.startsWith("blob:")&&!t.startsWith("data:"))return null;let r=e.get(t);return r||(r=new Promise(i=>{let n=new Image;n.onload=()=>i(n),n.onerror=()=>i(null),n.src=t;}),e.set(t,r)),r}}function Hn(e,t){let r=e.activeCommentIds.length>0?t?.(e.activeCommentIds):void 0;return {hasSelection:e.hasSelection,inInsertion:e.inInsertion,inDeletion:e.inDeletion,hasComment:e.activeCommentIds.length>0,inList:e.inList,listLevel:e.listLevel??0,...r?.authorName!==void 0?{commentAuthor:r.authorName}:{},...r?.replyCount!==void 0?{commentReplyCount:r.replyCount}:{}}}function Gn(e,t){if(!e)return [];let r=[];return !e.hasSelection&&t.hasSelection&&r.push({key:"selected"}),e.hasSelection&&!t.hasSelection&&r.push({key:"selectionCleared"}),!e.hasComment&&t.hasComment&&r.push({key:"commentedText",...t.commentAuthor!==void 0||t.commentReplyCount!==void 0?{vars:{...t.commentAuthor!==void 0?{author:t.commentAuthor}:{},...t.commentReplyCount!==void 0?{replies:t.commentReplyCount}:{}}}:{}}),!e.inInsertion&&t.inInsertion&&r.push({key:"trackedInsertion"}),!e.inDeletion&&t.inDeletion&&r.push({key:"trackedDeletion"}),(!e.inList&&t.inList||t.inList&&e.listLevel!==t.listLevel)&&r.push({key:"listItem",vars:{level:t.listLevel+1}}),r}function se(e){let t=Number(e);if(Number.isFinite(t))return t;let r=0xcbf29ce484222325n;for(let i of new TextEncoder().encode(e))r=(r^BigInt(i))*0x100000001b3n,r&=0xffffffffffffffffn;return Number(r&(1n<<53n)-1n)}function Re(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function Fn(e){let t=typeof e.story=="string"?[e.story]:[],r=Array.isArray(e.rows)?e.rows:[];for(let i of r){let n=Re(i),s=n&&Array.isArray(n.cells)?n.cells:[];for(let o of s){let a=Re(o)?.story;typeof a=="string"&&t.push(a);}}return t}function Nn(e){let t=e.storyIds(),r=new Map,i=new Set;for(let o of t){let a=[];try{for(let l of e.storySegments(o))if(l.kind==="embed")for(let c of Fn(l.payload))a.push(c),i.add(c);}catch{}r.set(o,a);}let n=new Map,s=(o,a,l)=>{if(!(l.has(o)||n.has(o))){l.add(o),n.set(o,a);for(let c of r.get(o)??[])s(c,a,l);l.delete(o);}};t.includes("body")&&s("body",{story:"body"},new Set);for(let o of t)!o.startsWith("hf:")||i.has(o)||s(o,{story:o,hfRid:o.slice(3)},new Set);return n}function Yn(e,t,r,i,n){let s=Array.isArray(t.rows)?t.rows:[],o=r+1;for(let a of s){let l=Re(a),c=l&&Array.isArray(l.cells)?l.cells:[],m=o+1;for(let y of c){let g=Re(y),f=typeof g?.story=="string"?g.story:null,h=f?Xe(e,f,m+1,i,n):0;m+=h+2;}o=m+1;}return o+1-r}function Xe(e,t,r,i,n){if(n.has(t))throw new Error(`recursive yrs story: ${t}`);n.add(t);try{let s=r,o=r,a=0,l=!0;for(let c of e.storySegments(t)){if(c.kind==="text"){a+=c.text.length,l=!1;continue}if(c.kind==="pilcrow"){let m=o+a+2;i.set(c.paraId,{pmStart:o,pmEnd:m}),s=m,o=s,a=0,l=!0;continue}if(c.embedKind==="table"&&l){s+=Yn(e,c.payload,s,i,n),o=s;continue}if(c.embedKind==="blockSdt"&&l){let m=typeof c.payload.story=="string"?c.payload.story:null,y=m?Xe(e,m,s+1,i,n):0;s+=y+2,o=s;continue}if(l&&(c.embedKind==="pageBreak"||c.embedKind==="columnBreak")){s+=1,o=s;continue}a+=1,l=!1;}return s-r}finally{n.delete(t);}}function On(e){let t=new Map,r=Nn(e),i=o=>{let a=r.get(o)?.story;if(!a)return null;if(t.has(a))return t.get(a)??null;try{let l=new Map;return Xe(e,a,0,l,new Set),t.set(a,l),l}catch{return t.set(a,null),null}},n=o=>{let a=r.get(o.story);if(!a)return null;let l=i(o.story)?.get(o.paraId);if(!l)return null;let c=Math.max(0,l.pmEnd-l.pmStart-2),m=Math.min(Math.max(0,Math.trunc(o.offset)),c);return {story:o.story,position:l.pmStart+1+m,...a.hfRid?{hfRid:a.hfRid}:{}}};return {locToDisplayPoint:n,storyOffsetToDisplayPoint:(o,a)=>{if(!r.has(o))return null;let l=Math.max(0,Math.trunc(a));try{for(let c of e.paragraphs(o)){let m=e.locateParagraph(o,c.paraId);if(!(l<m.start||l>m.end))return n({story:o,paraId:c.paraId,offset:Math.min(l-m.start,m.end-m.start)})}}catch{return null}return null}}}function $e(e,t){let{doc:r,schema:i}=e.state,n=i.marks.comment,s=i.marks.insertion,o=i.marks.deletion;!n&&!s&&!o||r.descendants((a,l)=>{let c=a.attrs;if(c){let m=[c.trIns,c.trDel,c.pPrIns,c.pPrDel];for(let h of m){let R=h?.revisionId;typeof R=="number"&&t(`revision-${R}`,l);}let g=c.cellMarker?.info?.revisionId;typeof g=="number"&&t(`revision-${g}`,l);let f=[c.pPrChange,c.trPrChange,c.tcPrChange,c.tblPrChange];for(let h of f)if(Array.isArray(h))for(let R of h){let S=R?.info?.id;typeof S=="number"&&t(`revision-${S}`,l);}}if(a.isInline)for(let m of a.marks){let y=null;n&&m.type===n?y=`comment-${m.attrs.commentId}`:(s&&m.type===s||o&&m.type===o)&&(y=`revision-${m.attrs.revisionId}`),y&&t(y,l);}});}function _n(e,t,r){let i=new Map;if(!e?.state)return i;let n=oe(t),s=new Set;return $e(e,(o,a)=>{if(s.has(o))return;s.add(o);let l=t.anchorRect(a);if(!l)return;let c=r?r(l):(n[l.pageIndex]??0)+l.y;c!=null&&i.set(o,c);}),i}function Xn(e,t,r){if(!e.hfRid)return t.anchorRect(e.position);let i=r?.get(e.hfRid);return i?t.hfAnchorRects(i,e.hfRid,e.position)[0]??null:null}function $n(e,t,r,i,n,s,o){let a=new Map,l=oe(n),c=(m,y)=>{if(!y||a.has(m))return a.has(m);let g=Xn(y,n,s);if(!g)return false;let f=o?o(g):(l[g.pageIndex]??0)+g.y;return f==null?false:(a.set(m,f),true)};for(let m of t){let y=`comment-${m}`;try{for(let g of e.resolveComment(String(m)))if(c(y,i.storyOffsetToDisplayPoint(g.story,g.start)))break}catch{}}for(let m of r)c(`revision-${se(m.revisionId)}`,i.locToDisplayPoint({story:m.story,...m.range.start}));return a}function Jn(e,t,r,i){let n=oe(t);for(let{region:s,rId:o,view:a}of e)$e(a,(l,c)=>{if(r.has(l))return;let m=t.hfAnchorRects(s,o,c)[0];if(!m)return;let y=i?i(m):(n[m.pageIndex]??0)+m.y;y!=null&&r.set(l,y);});return r}function Qn(e,t){let r=e.map(o=>{let a=t.locToDisplayPoint({story:o.range.story,...o.range.start}),l=t.locToDisplayPoint({story:o.range.story,...o.range.end}),c=a?.position??0,m=Math.max(c,l?.position??c);return {type:o.kind==="pPrIns"?"paragraphMarkInsertion":o.kind==="pPrDel"?"paragraphMarkDeletion":o.kind==="pPrChange"?"paragraphPropertiesChanged":o.kind==="trIns"?"rowInserted":o.kind==="trDel"?"rowDeleted":o.kind==="tableIns"?"tableInserted":o.kind==="tableDel"?"tableDeleted":o.kind,text:o.preview,author:o.author,date:o.date||void 0,from:c,to:m,revisionId:se(o.revisionId),...a?.hfRid?{hfRid:a.hfRid}:{}}}),i=new Map;for(let o of r){let a=i.get(o.revisionId)??[];a.push(o),i.set(o.revisionId,a);}let n=[...i.values()].map(o=>{let a=Math.min(...o.map(f=>f.from)),l=Math.max(...o.map(f=>f.to)),c=o.filter(f=>f.type==="insertion"),m=o.filter(f=>f.type==="deletion");if(c.length>0&&m.length>0)return {...c[0],type:"replacement",text:c.map(h=>h.text).join(""),deletedText:m.map(h=>h.text).join(""),from:a,to:l};let y=o.find(f=>f.type==="insertion"||f.type==="deletion")??o[0],g=o.filter(f=>f.type===y.type).map(f=>f.text).join("");return {...y,text:g,from:a,to:l}}),s=[];for(let o=0;o<n.length;o+=1){let a=n[o],l=n[o+1];a.type==="deletion"&&l?.type==="insertion"&&a.author===l.author&&a.date===l.date&&a.to===l.from&&a.hfRid===l.hfRid?(s.push({type:"replacement",text:l.text,deletedText:a.text,author:a.author,date:a.date,from:a.from,to:l.to,revisionId:a.revisionId,insertionRevisionId:l.revisionId,...a.hfRid?{hfRid:a.hfRid}:{}}),o+=1):s.push(a);}return {entries:s,commentToRevision:new Map}}function Wn(e,t){let r=t.kind??"body";if(r==="body")return {kind:r,primitives:e.primitives};let i=r==="header"?e.header:e.footer;return !i||i.kind!==r||t.rId&&i.rId!==t.rId?null:{kind:r,rId:i.rId,primitives:i.primitives}}function Kn(e){switch(e.kind){case "text":return c(e);case "glyphRun":return d(e);case "rect":case "image":case "shape":case "decoration":return {x:e.x,y:e.y,w:e.w,h:e.h};case "line":return {x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),w:Math.abs(e.x2-e.x1),h:Math.abs(e.y2-e.y1)}}}function Vn(e){let t=Kn(e),r=e.clipGroup?.clip;if(!r)return t;let i=r.x??0,n=r.y??0,s=i+Math.max(0,r.w??0),o=n+Math.max(0,r.h??0),a=Math.max(t.x,i),l=Math.max(t.y,n),c=Math.min(t.x+t.w,s),m=Math.min(t.y+t.h,o);return c<a||m<l?null:{x:a,y:l,w:c-a,h:m-l}}function zn(e){return e.kind==="text"||e.kind==="glyphRun"?e.text:e.kind==="image"?e.altText??"":""}function jn(e,t,r){return t>=e.x&&t<=e.x+e.w&&r>=e.y&&r<=e.y+e.h}function Un(e,t,r,i,n={kind:"body"}){let s=e.pages[t];if(!s)return null;let o=Wn(s,n);if(!o)return null;for(let a=o.primitives.length-1;a>=0;a--){let l=o.primitives[a];if(l.kind==="line"||!l.href||l.hiddenObject)continue;let c=Vn(l);if(c&&jn(c,r,i))return {pageIndex:t,region:o.kind,rId:o.rId,href:l.href,tooltip:l.linkTitle??l.tooltip,displayText:zn(l)||l.href,rect:c}}return null}var X=7.5,Z=16,bt=320,qn=30,Zn=200,ei=24,ti=10,ni=10,ii=24;function xt(e){let t;switch(e.kind){case "text":t=c(e);break;case "glyphRun":t=d(e);break;case "rect":case "image":case "shape":case "decoration":t={x:e.x,y:e.y,w:e.w,h:e.h};break;case "line":t={x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),w:Math.abs(e.x2-e.x1),h:Math.abs(e.y2-e.y1)};break}let r=Qe(e);return r?ri(t,r)??{x:r.x,y:r.y,w:0,h:0}:t}function Qe(e){let t=e.clipGroup?.clip;return t?{x:t.x??0,y:t.y??0,w:Math.max(0,t.w??0),h:Math.max(0,t.h??0)}:null}function ri(e,t){let r=Math.max(e.x,t.x),i=Math.max(e.y,t.y),n=Math.min(e.x+e.w,t.x+t.w),s=Math.min(e.y+e.h,t.y+t.h);return n<r||s<i?null:{x:r,y:i,w:n-r,h:s-i}}function Lt(e,t,r){if(e.docStart!=null){let i=t(e.docStart);if(i!=null){let n={tableKey:i,docStartSample:e.docStart};return e.table?.tableId&&!r.has(e.table.tableId)&&r.set(e.table.tableId,n),n}}return e.table?.tableId?r.get(e.table.tableId)??null:null}function Rt(e,t,r){let i=e.table?.tableId;if(!i)return null;let n=t.get(i);return n?r.get(n.tableKey)??null:null}function oi(e,t,r,i){let n=new Map;for(let o of t){if(o.kind==="line")continue;let a=o.cell;if(!a)continue;let l=Lt(o,r,i);if(!l)continue;let{tableKey:c,docStartSample:m}=l,y=xt(o),g=Qe(o),f=g??y,h=n.get(c);if(h||(h={tableKey:c,docStartSample:m,contentMinX:f.x,contentMinY:f.y,contentMaxX:f.x+f.w,contentMaxY:f.y+f.h,exactLeftX:[],exactBottomY:[],exactClipLeftX:[],exactClipBottomY:[],rows:new Map},n.set(c,h)),m<h.docStartSample&&(h.docStartSample=m),h.contentMinX=Math.min(h.contentMinX,f.x),h.contentMinY=Math.min(h.contentMinY,f.y),h.contentMaxX=Math.max(h.contentMaxX,f.x+f.w),h.contentMaxY=Math.max(h.contentMaxY,f.y+f.h),g&&(h.exactClipLeftX.push(g.x),h.exactClipBottomY.push(g.y+g.h)),!a.continuation){let R=h.rows.get(a.row);R?(R.top=Math.min(R.top,f.y),R.bottom=Math.max(R.bottom,f.y+f.h)):h.rows.set(a.row,{top:f.y,bottom:f.y+f.h});}}if(n.size===0)return [];for(let o of t){if(o.kind!=="line"||o.role!=="table-border"&&o.role!=="table-cut")continue;let a=Rt(o,i,n);if(!a){let m=(o.x1+o.x2)/2,y=(o.y1+o.y2)/2,g=1/0;for(let f of n.values()){let h=m>=f.contentMinX-Z&&m<=f.contentMaxX+Z,R=y>=f.contentMinY-Z&&y<=f.contentMaxY+Z;if(!h||!R)continue;let S=Math.max(0,f.contentMinX-m,m-f.contentMaxX),v=Math.max(0,f.contentMinY-y,y-f.contentMaxY),L=S+v;L<g&&(g=L,a=f);}}if(!a)continue;let l=Math.abs(o.x1-o.x2)<.5,c=Math.abs(o.y1-o.y2)<.5;l&&a.exactLeftX.push(Math.min(o.x1,o.x2)),c&&a.exactBottomY.push(Math.max(o.y1,o.y2));}let s=[];for(let o of n.values()){if(o.rows.size===0)continue;let a=o.exactLeftX.length>0||o.exactClipLeftX.length>0,l=a?Math.min(...o.exactLeftX,...o.exactClipLeftX):o.contentMinX-X,c=o.exactBottomY.length>0||o.exactClipBottomY.length>0?Math.max(...o.exactBottomY,...o.exactClipBottomY):o.contentMaxY,m=[...o.rows.entries()].map(([y,g])=>({rowIndex:y,top:g.top,bottom:g.bottom})).sort((y,g)=>y.rowIndex-g.rowIndex);s.push({pageIndex:e,tableKey:o.tableKey,docStartSample:o.docStartSample,originX:l,originY:o.contentMinY,bottomY:c,originExact:a,rowBands:m});}return s}function si(e,t){let r=[],i=Ke(e,t,{kind:"body"});for(let n of e.pages)r.push(...oi(n.pageIndex,n.primitives,t,i));return r}function We(e,t){let r=t.kind??"body";if(r==="body")return {kind:r,primitives:e.primitives};let i=r==="header"?e.header:e.footer;return !i||i.kind!==r||t.rId&&i.rId!==t.rId?null:{kind:r,rId:i.rId,primitives:i.primitives}}function Ke(e,t,r){let i=new Map;for(let n of e.pages){let s=We(n,r);if(s)for(let o of s.primitives){if(!o.cell||!o.table?.tableId||o.docStart==null)continue;let a=t(o.docStart);if(a==null)continue;let l=i.get(o.table.tableId);(!l||o.docStart<l.docStartSample)&&i.set(o.table.tableId,{tableKey:a,docStartSample:o.docStart});}}return i}function Ve(e,t){return `${e}:${t}`}function ai(e,t,r,i){let n=Ve(t.row,t.col),s=e.cells.get(n);s?(s.minX=Math.min(s.minX,r.x),s.minY=Math.min(s.minY,r.y),s.maxX=Math.max(s.maxX,r.x+r.w),s.maxY=Math.max(s.maxY,r.y+r.h),s.rowSpan=Math.max(s.rowSpan,t.rowSpan),s.colSpan=Math.max(s.colSpan,t.colSpan),i&&(s.exactClip=i)):e.cells.set(n,{row:t.row,col:t.col,rowSpan:t.rowSpan,colSpan:t.colSpan,minX:r.x,minY:r.y,maxX:r.x+r.w,maxY:r.y+r.h,exactClip:i??void 0});}function Dt(e,t,r){let i=new Map;for(let n of e){if(n.kind==="line")continue;let s=n.cell;if(!s)continue;let o=Lt(n,t,r);if(!o)continue;let a=o.tableKey,l=xt(n),c=i.get(a);c||(c={tableKey:a,contentMinX:l.x,contentMinY:l.y,contentMaxX:l.x+l.w,contentMaxY:l.y+l.h,cells:new Map,verticalLines:[],horizontalLines:[]},i.set(a,c)),c.contentMinX=Math.min(c.contentMinX,l.x),c.contentMinY=Math.min(c.contentMinY,l.y),c.contentMaxX=Math.max(c.contentMaxX,l.x+l.w),c.contentMaxY=Math.max(c.contentMaxY,l.y+l.h),ai(c,s,l,Qe(n));}if(i.size===0)return [];for(let n of e){if(n.kind!=="line"||n.role!=="table-border"&&n.role!=="table-cut")continue;let s=Math.abs(n.x1-n.x2)<.5,o=Math.abs(n.y1-n.y2)<.5;if(!s&&!o)continue;let a=Math.min(n.x1,n.x2),l=Math.max(n.x1,n.x2),c=Math.min(n.y1,n.y2),m=Math.max(n.y1,n.y2),y=Rt(n,r,i);if(y){s?y.verticalLines.push(a):y.horizontalLines.push(c);continue}for(let g of i.values())if(s){if(!(m>=g.contentMinY-Z&&c<=g.contentMaxY+Z))continue;let h=a;Math.max(0,g.contentMinX-h,h-g.contentMaxX)<=bt&&g.verticalLines.push(h);}else if(o){if(!(l>=g.contentMinX-Z&&a<=g.contentMaxX+Z))continue;let h=c;Math.max(0,g.contentMinY-h,h-g.contentMaxY)<=bt&&g.horizontalLines.push(h);}}return [...i.values()]}function ae(e){let t=[];for(let r of [...e].sort((i,n)=>i-n))(t.length===0||Math.abs(t[t.length-1]-r)>.5)&&t.push(r);return t}function vt(e){let t=ae([...e.cells.values()].map(n=>n.row)),r=ae(e.horizontalLines),i=new Map;if(t.length>0&&r.length>=t.length+1)for(let n=0;n<t.length;n++)i.set(t[n],r[n]),i.set(t[n]+1,r[n+1]);return i}function Je(e){if(!e)return null;if(e.exactClip)return e.exactClip;let t=e.minX-X,r=e.minY-X;return {x:t,y:r,w:Math.max(1,e.maxX-e.minX+X*2),h:Math.max(1,e.maxY-e.minY+X*2)}}function li(e,t){let r=1/0,i=-1/0;for(let n of e.cells.values())n.row===t&&(r=Math.min(r,n.exactClip?.y??n.minY-X),i=Math.max(i,n.exactClip?n.exactClip.y+n.exactClip.h:n.maxY+X));return !Number.isFinite(r)||!Number.isFinite(i)||i<=r?null:{top:r,bottom:i}}function ci(e,t,r){let i=Je(e.cells.get(Ve(t,r)));return i?{left:i.x,right:i.x+i.w,top:i.y,bottom:i.y+i.h}:null}function di(e,t,r,i={kind:"body"}){if(t.length===0)return [];let n=new Map;for(let a of t){let l=n.get(a.tableKey);l?l.push(a):n.set(a.tableKey,[a]);}let s=[],o=Ke(e,r,i);for(let a of e.pages){let l=We(a,i);if(!l)continue;let c=Dt(l.primitives,r,o);for(let m of c){let y=n.get(m.tableKey);if(!y)continue;let g=ae(m.verticalLines),f=vt(m);for(let h of y){let R=m.cells.get(Ve(h.row,h.col)),S=g[h.col],v=g[h.col+h.colSpan],L=f.get(h.row),E=f.get(h.row+h.rowSpan),C=true;if(S==null||v==null||v<=S){let P=R?.exactClip??Je(R);if(!P)continue;S=P.x,v=P.x+P.w,C=R?.exactClip!=null;}if(L==null||E==null||E<=L){let P=R?.exactClip??Je(R);if(!P)continue;L=P.y,E=P.y+P.h,C&&(C=R?.exactClip!=null);}s.push({pageIndex:a.pageIndex,tableKey:m.tableKey,row:h.row,col:h.col,rowSpan:h.rowSpan,colSpan:h.colSpan,x:S,y:L,w:Math.max(1,v-S),h:Math.max(1,E-L),exact:C,region:l.kind,rId:l.rId});}}}return s}function ui(e){let{list:t,pageIndex:r,x:i,y:n,canvasRect:s,pageSize:o,tableKeyOf:a,cellPmPosOf:l,region:c={kind:"body"},edgeProximity:m=qn}=e,y=t.pages[r];if(!y)return null;let g=We(y,c);if(!g)return null;let f=o.width>0?s.width/o.width:1,h=o.height>0?s.height/o.height:1,R=(L,E)=>({clientX:s.left+L*f,clientY:s.top+E*h}),S=Ke(t,a,c),v=Dt(g.primitives,a,S);for(let L of v){let E=ae(L.verticalLines),C=vt(L),P=ae([...L.cells.values()].map(N=>N.row));if(P.length===0)continue;let Y=E[0]??L.contentMinX-X,V=E[E.length-1]??L.contentMaxX+X,M=C.get(P[0])??L.contentMinY-X,F=P[P.length-1],G=C.get(F+1)??L.contentMaxY+X,ee=i<Y+m&&i>=Y-m,le=n<M+m&&n>=M-m;if(!(!ee&&!le)){if(ee&&n>=M-m&&n<=G)for(let N of P){let q=C.get(N),T=C.get(N+1),$=q==null||T==null?li(L,N):null,O=q??$?.top,z=T??$?.bottom;if(O==null||z==null||z<=O||n<O||n>z)continue;let _=[...L.cells.values()].filter(j=>j.row===N).sort((j,De)=>j.col-De.col)[0];if(!_)continue;let J=l(L.tableKey,N,_.col);if(!J)continue;let te=R(Y,O+(z-O)/2);return {type:"row",clientX:te.clientX-ei,clientY:te.clientY-ti,cellPmPos:J}}if(le&&i>=Y-m&&i<=V){let N=P[0],q=[...L.cells.values()].filter(T=>T.row===N).sort((T,$)=>T.col-$.col);for(let T of q){let $=E[T.col],O=E[T.col+T.colSpan],z=$==null||O==null?ci(L,T.row,T.col):null,_=$??z?.left,J=O??z?.right;if(_==null||J==null||J<=_||i<_||i>J)continue;let te=l(L.tableKey,T.row,T.col);if(!te)continue;let j=R(_+(J-_)/2,M);return {type:"column",clientX:j.clientX-ni,clientY:j.clientY-ii,cellPmPos:te}}}}}return null}var or=Ze;export{Cn as CANVAS_PAGES_PADDING_PX,Tn as CANVAS_PAGE_GAP_PX,Zn as DISPLAY_LIST_TABLE_INSERT_HIDE_DELAY_MS,D as MIRROR_CLASS_NAMES,K as RustDisplayListSourceError,dn as applyInteractiveSdtFocus,pn as buildInteractiveOverlayPage,Ut as buildMirrorPage,Sn as buildRustDisplayFrame,gt as buildRustDisplayList,oe as canvasPageTops,kn as captureInlinePositionEmuFromDisplayList,Gn as computeA11yAnnouncements,_n as computeAnchorPositionsFromDisplayList,$n as computeAnchorPositionsFromYrs,Bn as createCanvasImageResolver,En as createDisplayListQueries,On as createYrsSidebarProjection,or as demoDisplayList,di as deriveDisplayListSelectedCellRects,si as deriveDisplayListTableFragments,ui as detectDisplayListTableInsertHover,yt as encodeDisplayListFrameExtras,Qn as extractTrackedChangesFromYrs,Un as findDisplayListHyperlinkAtPoint,Ye as findImagePrimitiveAtPoint,Ne as findImagePrimitiveByDocPos,wn as isDisplayListQuerySourceDead,jt as loadGlyphOutlineProvider,Fe as loadRustDisplayListQueryEngine,Jn as mergeHfAnchorPositionsFromDisplayList,Mn as onDisplayListQuerySourceFailure,Hn as snapshotFromSelectionContext,$e as visitAnchorKeys,se as yrsIdToNumericId};
|