docxodus 9.4.0 → 9.6.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.
@@ -5,56 +5,13 @@
5
5
  * and flows it across fixed-size page containers based on document dimensions.
6
6
  */
7
7
  import { formatPageNumber } from "./page-number-format.js";
8
+ import { DEFAULT_MARGIN, DEFAULT_PAGE_WIDTH, parseSectionDimensions, ptToPx, pxToPt, } from "./page-geometry.js";
8
9
  // Default letter size in points (612 x 792 = 8.5" x 11")
9
- const DEFAULT_PAGE_WIDTH = 612;
10
- const DEFAULT_PAGE_HEIGHT = 792;
11
- const DEFAULT_MARGIN = 72; // 1 inch
12
10
  // Maximum percentage of content height that footnotes can occupy
13
11
  // This allows footnotes to expand upward into body content space when needed
14
12
  const MAX_FOOTNOTE_AREA_RATIO = 0.6; // 60% of content height
15
13
  // Minimum body content height per page (to avoid pages with only footnotes)
16
14
  const MIN_BODY_CONTENT_HEIGHT = 72; // 1 inch minimum body content
17
- /**
18
- * Converts pixels to points (assuming 96 DPI screen).
19
- */
20
- function pxToPt(px) {
21
- return px * 0.75; // 72 points / 96 pixels
22
- }
23
- /**
24
- * Converts points to pixels (assuming 96 DPI screen).
25
- */
26
- function ptToPx(pt) {
27
- return pt / 0.75;
28
- }
29
- // Default header/footer distance (0.5 inch)
30
- const DEFAULT_HEADER_FOOTER_HEIGHT = 36;
31
- /**
32
- * Parses page dimensions from a section element's data attributes.
33
- */
34
- function parseDimensions(section) {
35
- const pageWidth = parseFloat(section.dataset.pageWidth || "") || DEFAULT_PAGE_WIDTH;
36
- const pageHeight = parseFloat(section.dataset.pageHeight || "") || DEFAULT_PAGE_HEIGHT;
37
- const contentWidth = parseFloat(section.dataset.contentWidth || "") || pageWidth - 2 * DEFAULT_MARGIN;
38
- const contentHeight = parseFloat(section.dataset.contentHeight || "") || pageHeight - 2 * DEFAULT_MARGIN;
39
- const marginTop = parseFloat(section.dataset.marginTop || "") || DEFAULT_MARGIN;
40
- const marginRight = parseFloat(section.dataset.marginRight || "") || DEFAULT_MARGIN;
41
- const marginBottom = parseFloat(section.dataset.marginBottom || "") || DEFAULT_MARGIN;
42
- const marginLeft = parseFloat(section.dataset.marginLeft || "") || DEFAULT_MARGIN;
43
- const headerHeight = parseFloat(section.dataset.headerHeight || "") || DEFAULT_HEADER_FOOTER_HEIGHT;
44
- const footerHeight = parseFloat(section.dataset.footerHeight || "") || DEFAULT_HEADER_FOOTER_HEIGHT;
45
- return {
46
- pageWidth,
47
- pageHeight,
48
- contentWidth,
49
- contentHeight,
50
- marginTop,
51
- marginRight,
52
- marginBottom,
53
- marginLeft,
54
- headerHeight,
55
- footerHeight,
56
- };
57
- }
58
15
  export class PaginationEngine {
59
16
  /**
60
17
  * Creates a new pagination engine.
@@ -108,7 +65,7 @@ export class PaginationEngine {
108
65
  const sectionsToProcess = sections.length > 0 ? Array.from(sections) : [this.stagingElement];
109
66
  for (const section of sectionsToProcess) {
110
67
  const sectionIndex = parseInt(section.dataset.sectionIndex || "0", 10);
111
- const dims = parseDimensions(section);
68
+ const dims = parseSectionDimensions(section);
112
69
  // Make staging visible for measurement
113
70
  this.stagingElement.style.visibility = "hidden";
114
71
  this.stagingElement.style.position = "absolute";
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,cAAc,EAEd,kBAAkB,EAClB,sBAAsB,EACtB,MAAM,EACN,MAAM,GACP,MAAM,oBAAoB,CAAC;AA4G5B,yDAAyD;AACzD,iEAAiE;AACjE,6EAA6E;AAC7E,MAAM,uBAAuB,GAAG,GAAG,CAAC,CAAC,wBAAwB;AAE7D,4EAA4E;AAC5E,MAAM,uBAAuB,GAAG,EAAE,CAAC,CAAC,8BAA8B;AAyClE,MAAM,OAAO,gBAAgB;IAc3B;;;;;;OAMG;IACH,YACE,OAA6B,EAC7B,SAA+B,EAC/B,UAA6B,EAAE;QAdzB,gCAA2B,GAAgC,IAAI,CAAC;QACxE,iFAAiF;QACzE,kBAAa,GAAsC,IAAI,GAAG,EAAE,CAAC;QAcnE,IAAI,CAAC,cAAc;YACjB,OAAO,OAAO,KAAK,QAAQ;gBACzB,CAAC,CAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAiB;gBACnD,CAAC,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,gBAAgB;YACnB,OAAO,SAAS,KAAK,QAAQ;gBAC3B,CAAC,CAAE,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAiB;gBACrD,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,KAAK,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,8CAA8C;QAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEnD,yCAAyC;QACzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAErD,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CACnD,sBAAsB,CACvB,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAEvD,wEAAwE;QACxE,MAAM,iBAAiB,GACrB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAErE,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YACvE,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAE7C,uCAAuC;YACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;YAC3C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAE5C,uCAAuC;YACvC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC;YAE/C,qCAAqC;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAEjD,yBAAyB;YACzB,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;YAC9E,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;YAC5B,UAAU,IAAI,YAAY,CAAC,MAAM,CAAC;QACpC,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAE3C,4FAA4F;QAC5F,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE9C,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC;IAED,4FAA4F;IACpF,kBAAkB,CAAC,QAAgC;QACzD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAgC,CAAC;QACpD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;YAC9C,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1E,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE;gBACb,KAAK,EAAE,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACxE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;aACnC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACK,0BAA0B,CAAC,UAAkB;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAc,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;QAC3F,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAClC,IAAI,IAAI,CAAC,SAAS,yBAAyB,IAAI,CAAC,SAAS,qBAAqB,CAC/E,CAAC;YACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEnC,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YACnE,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/D,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YACrE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAE7D,2FAA2F;YAC3F,oCAAoC;YACpC,MAAM,SAAS,GACb,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAEnF,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;gBAClC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,UAAU;oBAAE,SAAS;gBACrD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC,MAAM,CAAC;gBAC9D,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,OAAoB,EAAE,IAAoB;QAC9D,MAAM,MAAM,GAAoB,EAAE,CAAC;QAEnC,uDAAuD;QACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAkB,CAAC;QAE/D,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,+CAA+C;YAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC7C,8CAA8C;gBAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACrD,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,iFAAiF;YACjF,sEAAsE;YACtE,MAAM,IAAI,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YACxC,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;YAE9C,MAAM,WAAW,GACf,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,MAAM;gBAClC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC;YAErD,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,KAAK;gBACd,QAAQ;gBACR,WAAW;gBACX,cAAc;gBACd,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,KAAK,MAAM;gBACnD,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,MAAM;gBAC7C,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,KAAK,MAAM;gBACzD,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,OAAoB,EAAE,IAAoB;QAC/D,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC5C,eAAe,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC5C,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QACvC,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC;QAEvD,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;QAC/D,eAAe,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAEjD,MAAM,IAAI,GAAG,eAAe,CAAC,qBAAqB,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAkB;YAC9B,OAAO;YACP,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAC7B,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACrD,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC3D,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK,MAAM;YACrD,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,MAAM;YAC/C,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe,KAAK,MAAM;YAC3D,WAAW,EACT,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,MAAM;gBACpC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC;SACvD,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACK,oBAAoB,CAAC,MAAuB,EAAE,UAAkB;QACtE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3B,IAAI,SAAS,GAAG,UAAU,CAAC;QAE3B,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;gBACrE,MAAM;YACR,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,SAAS,EAAE,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,kCAAkC,CACxC,KAAsB,EACtB,sBAA8B,EAC9B,aAAsB;QAEtB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC;QAE1B,MAAM,cAAc,GAAG,aAAa;YAClC,CAAC,CAAC,UAAU,CAAC,WAAW;YACxB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,sBAAsB,CAAC,GAAG,sBAAsB,CAAC;QACtF,IAAI,UAAU,GAAG,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC;QAEtD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC3F,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAC3B,MAAuB,EACvB,mBAA6B;QAE7B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,8BAA8B,CAAC,IAAoB,EAAE,YAAoB;QAC/E,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAChE,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAChE,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CACjE,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,yBAAyB,CAC/B,OAAoB,EACpB,KAAuB,EACvB,IAA6B,EAC7B,IAA2B,EAC3B,YAAqB;QAErB,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAgB,CAAC;QAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAqB,CAAC;QAE9D,4EAA4E;QAC5E,+EAA+E;QAC/E,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAA4B,CAAC;QACnE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAElC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAC5C,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC;QAED,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACrC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACK,4BAA4B,CAClC,KAAoB,EACpB,IAAoB,EACpB,YAAoB;QAEpB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IACE,OAAO,CAAC,OAAO,KAAK,KAAK;YACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAC7B,KAAK,CAAC,YAAY;YAClB,KAAK,CAAC,SAAS;YACf,KAAK,CAAC,eAAe;YACrB,KAAK,CAAC,WAAW,EACjB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACxC,IAAI,CAAC,CAAC,KAAK,YAAY,gBAAgB,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,IACE,CAAC,IAAI;YACL,KAAK,CAAC,KAAK;YACX,KAAK,CAAC,KAAK;YACX,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC;YACxF,KAAK,CAAC,aAAa,CAAC,iDAAiD,CAAC;YACtE,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAC3C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,oBAAoB,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACrF,4EAA4E;QAC5E,0EAA0E;QAC1E,mEAAmE;QACnE,MAAM,qBAAqB,GAAG,oBAAoB,GAAG,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC;QAC9F,IAAI,qBAAqB,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3B,IAAI,GAAG,GAAG,KAAK,CAAC;YAChB,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAC9C,OAAO,EACP,KAAK,EACL,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,EAC1B,KAAK,KAAK,CAAC,CACZ,CAAC;gBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACtD,IAAI,QAAQ,CAAC,QAAQ,GAAG,qBAAqB,EAAE,CAAC;oBAC9C,MAAM;gBACR,CAAC;gBACD,GAAG,EAAE,CAAC;YACR,CAAC;YAED,wEAAwE;YACxE,kEAAkE;YAClE,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACpC,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAoB,EAAE,CAAC;QACtC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG,KAAK,KAAK,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAC7C,OAAO,EACP,KAAK,EACL,IAAI,EACJ,MAAM,CAAC,KAAK,CAAC,EACb,OAAO,CACR,CAAC;YAEF,uEAAuE;YACvE,yEAAyE;YACzE,+BAA+B;YAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrD,IACE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,cAAc;gBAClE,oBAAoB,EACpB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,SAAS,CAAC,IAAI,CAAC;gBACb,GAAG,QAAQ;gBACX,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,KAAK;gBAChB,eAAe,EAAE,KAAK;gBACtB,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,0BAA0B,CAAC,SAAsB;QACvD,MAAM,SAAS,GAA0C,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,QAAqB,CAAC;QAE1B,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAiB,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEhC,0EAA0E;YAC1E,2EAA2E;YAC3E,uCAAuC;YACvC,MAAM,UAAU,GAAG,MAAM,CAAC;YAC1B,IAAI,KAA6B,CAAC;YAClC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChD,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ;gBAC3E,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3D,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAAC,QAA0B;QACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;aAChC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;aACrC,IAAI,EAAE;aACN,MAAM,GAAG,CAAC,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAAC,KAAoB;QAC/C,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;QAChC,IACE,KAAK,CAAC,YAAY;YAClB,KAAK,CAAC,SAAS;YACf,KAAK,CAAC,eAAe;YACrB,KAAK,CAAC,WAAW;YACjB,SAAS,CAAC,OAAO,CAAC,YAAY,KAAK,MAAM;YACzC,SAAS,CAAC,YAAY,CAAC,iBAAiB,CAAC,EACzC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2EAA2E;QAC3E,wEAAwE;QACxE,MAAM,sBAAsB,GAAG;YAC7B,IAAI;YACJ,KAAK;YACL,SAAS;YACT,KAAK;YACL,MAAM;YACN,QAAQ;YACR,OAAO;YACP,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,UAAU;YACV,OAAO;YACP,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,KAAK;YACL,GAAG;YACH,SAAS;YACT,SAAS;YACT,OAAO;YACP,QAAQ;YACR,UAAU;YACV,SAAS;YACT,oBAAoB;YACpB,oBAAoB;YACpB,eAAe;YACf,MAAM;YACN,mBAAmB;SACpB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,IAAI,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC1D,IACE,cAAc,CAAC,OAAO,KAAK,OAAO;YAClC,cAAc,CAAC,QAAQ,KAAK,QAAQ;YACpC,cAAc,CAAC,KAAK,KAAK,MAAM;YAC/B,cAAc,CAAC,UAAU,KAAK,QAAQ;YACtC,cAAc,CAAC,WAAW,KAAK,MAAM;YACrC,cAAc,CAAC,UAAU,KAAK,MAAM;YACpC,cAAc,CAAC,WAAW,KAAK,OAAO;YACtC,cAAc,CAAC,eAAe,KAAK,MAAM;YACzC,cAAc,CAAC,cAAc,KAAK,MAAM;YACxC,cAAc,CAAC,eAAe,KAAK,OAAO,EAC1C,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,0EAA0E;QAC1E,2EAA2E;QAC3E,6CAA6C;QAC7C,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAc,GAAG,CAAC,CAAC,EAAE,CAAC;YAClF,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAClD,IACE,KAAK,CAAC,OAAO,KAAK,QAAQ;gBAC1B,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAC3B,KAAK,CAAC,KAAK,KAAK,MAAM;gBACtB,KAAK,CAAC,UAAU,KAAK,QAAQ,EAC7B,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,uBAAuB,CAC7B,SAAsB,EACtB,KAAY,EACZ,oBAA6B,EAC7B,eAAwB;QAExB,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAgB,CAAC;QAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACvC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/B,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YACxC,0EAA0E;YAC1E,4EAA4E;YAC5E,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YAC3D,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,wEAAwE;YACxE,oCAAoC;YACpC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACK,oBAAoB,CAC1B,KAAoB,EACpB,IAAoB,EACpB,iBAAyB,EACzB,oBAA4B;QAE5B,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,iBAAiB,IAAI,oBAAoB,EAAE,CAAC;YACnF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QAC7D,sEAAsE;QACtE,2EAA2E;QAC3E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,IAAI,IAAI,GAAuG,IAAI,CAAC;QAEpH,4EAA4E;QAC5E,wEAAwE;QACxE,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;YAE/C,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC/C,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;gBACjB,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjD,IAAI,oBAAoB,GAAG,QAAQ,CAAC,QAAQ,IAAI,iBAAiB,EAAE,CAAC;gBAClE,IAAI,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBAC7C,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7D,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAErD,OAAO;YACL;gBACE,GAAG,IAAI,CAAC,QAAQ;gBAChB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,KAAK;gBAChB,eAAe,EAAE,KAAK;gBACtB,WAAW,EAAE,KAAK;aACnB;YACD;gBACE,GAAG,YAAY;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,KAAK;gBAChB,eAAe,EAAE,KAAK;gBACtB,WAAW,EAAE,KAAK;aACnB;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,yBAAyB;QAC/B,MAAM,QAAQ,GAAyB,IAAI,GAAG,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QAEhF,IAAI,CAAC,UAAU;YAAE,OAAO,QAAQ,CAAC;QAEjC,gEAAgE;QAChE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAc,sBAAsB,CAAC,CAAC,CAAC;QACvG,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9D,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,IAAI,kBAAkB,GAAG,CAAC,GAAG,cAAc,CAAC;YAC/G,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACvC,CAAC;QACD,8CAA8C;QAC9C,MAAM,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,kBAAkB,GAAG,CAAC,GAAG,cAAc,CAAC;QAE5F,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAc,8BAA8B,CAAC,CAAC,CAAC;QAErG,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAgB,CAAC;YAE9C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;YAC5C,mEAAmE;YACnE,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;YAErD,gEAAgE;YAChE,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,mBAAmB,CAAC;YAE5E,sEAAsE;YACtE,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAE7E,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,gBAAgB;oBACnB,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC;oBAChC,OAAO,CAAC,mBAAmB,GAAG,cAAc,CAAC;oBAC7C,MAAM;gBACR,KAAK,cAAc;oBACjB,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;oBAC9B,OAAO,CAAC,iBAAiB,GAAG,cAAc,CAAC;oBAC3C,MAAM;gBACR,KAAK,aAAa;oBAChB,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;oBAC7B,OAAO,CAAC,gBAAgB,GAAG,cAAc,CAAC;oBAC1C,MAAM;gBACR,KAAK,gBAAgB;oBACnB,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC;oBAChC,OAAO,CAAC,mBAAmB,GAAG,cAAc,CAAC;oBAC7C,MAAM;gBACR,KAAK,cAAc;oBACjB,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;oBAC9B,OAAO,CAAC,iBAAiB,GAAG,cAAc,CAAC;oBAC3C,MAAM;gBACR,KAAK,aAAa;oBAChB,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;oBAC7B,OAAO,CAAC,gBAAgB,GAAG,cAAc,CAAC;oBAC1C,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,MAAM,QAAQ,GAAqB,IAAI,GAAG,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;QAEtF,IAAI,CAAC,UAAU;YAAE,OAAO,QAAQ,CAAC;QAEjC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAc,oBAAoB,CAAC,CAAC,CAAC;QAE3F,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAC5C,IAAI,UAAU,EAAE,CAAC;gBACf,2CAA2C;gBAC3C,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,OAAoB;QAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAc,oBAAoB,CAAC,CAAC;QACzE,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACK,sBAAsB,CAC5B,WAAqB,EACrB,YAAoB,EACpB,YAA0C;QAE1C,MAAM,eAAe,GAAG,YAAY,IAAI,YAAY,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;QAClF,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvF,OAAO,CAAC,CAAC;QACX,CAAC;QAED,qFAAqF;QACrF,sFAAsF;QACtF,yEAAyE;QACzE,2CAA2C;QAC3C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvD,gBAAgB,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC7C,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC7C,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,YAAY,IAAI,CAAC;QACnD,gBAAgB,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QACxC,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAE1D,gDAAgD;QAChD,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEjC,0CAA0C;QAC1C,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAClD,WAAW,CAAC,SAAS,GAAG,uBAAuB,CAAC;YAChD,KAAK,MAAM,EAAE,IAAI,YAAa,CAAC,iBAAiB,EAAE,CAAC;gBACjD,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;QAED,gBAAgB;QAChB,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/C,IAAI,QAAQ,EAAE,CAAC;gBACb,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAElD,UAAU;QACV,MAAM,IAAI,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,WAAW;QACX,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAElD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,yBAAyB,CAC/B,YAAkC,EAClC,YAAoB;QAEpB,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvD,gBAAgB,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC7C,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC7C,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,YAAY,IAAI,CAAC;QACnD,gBAAgB,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QACxC,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAE1D,qBAAqB;QACrB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEjC,2BAA2B;QAC3B,KAAK,MAAM,EAAE,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;YAChD,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAElD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,eAA4B,EAC5B,iBAAyB,EACzB,YAAoB;QAEpB,2DAA2D;QAC3D,EAAE;QACF,2FAA2F;QAC3F,0FAA0F;QAC1F,yFAAyF;QACzF,4FAA4F;QAC5F,4FAA4F;QAC5F,uFAAuF;QACvF,MAAM,eAAe,GAAG,eAAe,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAC3E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,wEAAwE;YACxE,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;gBACzF,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAkB,CAAC;QACvE,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACzB,sFAAsF;YACtF,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;gBAC7D,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAkB,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,gCAAgC;QAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACtC,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QACtC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,YAAY,IAAI,CAAC;QAC5C,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QACjC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QACnD,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAE3C,aAAa,GAAG,QAAQ,CAAC;QAEzB,mCAAmC;QACnC,MAAM,cAAc,GAAG,eAAe,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAEzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE1B,uBAAuB;YACvB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACvD,gBAAgB,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC7C,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC7C,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,YAAY,IAAI,CAAC;YACnD,gBAAgB,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;YACxC,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;YAC1D,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5E,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAElD,IAAI,aAAa,GAAG,WAAW,IAAI,iBAAiB,EAAE,CAAC;gBACrD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC,CAAC;gBAChD,aAAa,IAAI,WAAW,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,uCAAuC;gBACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC,CAAC;gBAC5D,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,2BAA2B,CAAC,UAAkB,EAAE,YAAoB;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC;QAExB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvD,gBAAgB,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC7C,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC7C,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,YAAY,IAAI,CAAC;QACnD,gBAAgB,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QACxC,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAC1D,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAElD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,gBAAgB,CACtB,OAAoB,EACpB,WAAqB,EACrB,IAAoB,EACpB,cAAsB,EACtB,YAA0C,EAC1C,gBAAoC;QAEpC,MAAM,eAAe,GAAG,YAAY,IAAI,YAAY,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;QAClF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QAED,wDAAwD;QACxD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAEnF,yFAAyF;QACzF,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAChC,cAAc,EACd,IAAI,CAAC,aAAa,GAAG,uBAAuB,CAC7C,CAAC;QAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnD,YAAY,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,SAAS,WAAW,CAAC;QACtD,YAAY,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACzC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,oBAAoB;QAC1E,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC;QACjD,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC;QACpD,YAAY,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;QAC5C,gFAAgF;QAChF,YAAY,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,iBAAiB,IAAI,CAAC;QACxD,YAAY,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEvC,qBAAqB;QACrB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAE7B,0CAA0C;QAC1C,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAClD,WAAW,CAAC,SAAS,GAAG,uBAAuB,CAAC;YAChD,KAAK,MAAM,EAAE,IAAI,YAAa,CAAC,iBAAiB,EAAE,CAAC;gBACjD,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;QAED,yCAAyC;QACzC,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC7B,sCAAsC;YACtC,MAAM,OAAO,GAAG,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;YACjE,IAAI,OAAO,EAAE,CAAC;gBACZ,sDAAsD;gBACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/C,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACjD,UAAU,CAAC,SAAS,GAAG,eAAe,CAAC;oBACvC,UAAU,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;oBAEnC,sBAAsB;oBACtB,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;oBAC9D,IAAI,UAAU,EAAE,CAAC;wBACf,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBACrD,CAAC;oBAED,+BAA+B;oBAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBACnD,WAAW,CAAC,SAAS,GAAG,kBAAkB,CAAC;oBAC3C,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;wBACzC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC9C,CAAC;oBACD,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;oBAEpC,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,qCAAqC;gBACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/C,IAAI,QAAQ,EAAE,CAAC;oBACb,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACK,YAAY,CAClB,YAAoB,EACpB,aAAqB,EACrB,gBAAwB;QAExB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAEjC,uDAAuD;QACvD,IAAI,aAAa,KAAK,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YACjD,OAAO,SAAS,CAAC,WAAW,CAAC;QAC/B,CAAC;QAED,0CAA0C;QAC1C,IAAI,gBAAgB,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC,UAAU,CAAC;QAC9B,CAAC;QAED,sBAAsB;QACtB,OAAO,SAAS,CAAC,aAAa,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,YAAY,CAClB,YAAoB,EACpB,aAAqB,EACrB,gBAAwB;QAExB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAEjC,uDAAuD;QACvD,IAAI,aAAa,KAAK,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YACjD,OAAO,SAAS,CAAC,WAAW,CAAC;QAC/B,CAAC;QAED,0CAA0C;QAC1C,IAAI,gBAAgB,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC,UAAU,CAAC;QAC9B,CAAC;QAED,sBAAsB;QACtB,OAAO,SAAS,CAAC,aAAa,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACK,mBAAmB,CACzB,IAAoB,EACpB,YAAoB,EACpB,aAAqB,EACrB,gBAAwB;QAExB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEpD,oCAAoC;QACpC,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,oBAAwC,CAAC;YAE7C,8DAA8D;YAC9D,IAAI,aAAa,KAAK,CAAC,IAAI,SAAS,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;gBAC/D,oBAAoB,GAAG,SAAS,CAAC,iBAAiB,CAAC;YACrD,CAAC;iBAAM,IAAI,gBAAgB,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;gBAC5E,oBAAoB,GAAG,SAAS,CAAC,gBAAgB,CAAC;YACpD,CAAC;iBAAM,IAAI,SAAS,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAC;gBACjD,oBAAoB,GAAG,SAAS,CAAC,mBAAmB,CAAC;YACvD,CAAC;YAED,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;gBACjC,6DAA6D;gBAC7D,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,oBAAwC,CAAC;YAE7C,8DAA8D;YAC9D,IAAI,aAAa,KAAK,CAAC,IAAI,SAAS,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;gBAC/D,oBAAoB,GAAG,SAAS,CAAC,iBAAiB,CAAC;YACrD,CAAC;iBAAM,IAAI,gBAAgB,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;gBAC5E,oBAAoB,GAAG,SAAS,CAAC,gBAAgB,CAAC;YACpD,CAAC;iBAAM,IAAI,SAAS,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAC;gBACjD,oBAAoB,GAAG,SAAS,CAAC,mBAAmB,CAAC;YACvD,CAAC;YAED,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;gBACjC,6DAA6D;gBAC7D,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,oEAAoE;QACpE,mEAAmE;QACnE,MAAM,eAAe,GAAG,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;QACtD,MAAM,eAAe,GAAG,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,eAAe,GAAG,eAAe,CAAC;QAE7E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;IACvD,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAC/B,MAAmB,EACnB,YAAoB;QAEpB,2CAA2C;QAC3C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvD,gBAAgB,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC7C,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC7C,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,YAAY,IAAI,CAAC;QACnD,gBAAgB,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QACxC,4CAA4C;QAC5C,gBAAgB,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;QAE7C,0CAA0C;QAC1C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAClD,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAElD,UAAU;QACV,MAAM,IAAI,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,WAAW;QACX,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAElD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACK,WAAW,CACjB,MAAuB,EACvB,IAAoB,EACpB,eAAuB,EACvB,YAAoB;QAEpB,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,UAAU,GAAG,eAAe,CAAC;QACjC,+EAA+E;QAC/E,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,iFAAiF;QACjF,IAAI,EAAE,aAAa,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC,mBAAmB,CACtE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAC9C,CAAC;QACF,IAAI,eAAe,GAAG,sBAAsB,CAAC;QAE7C,iEAAiE;QACjE,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,0CAA0C;QAC1C,IAAI,kBAAkB,GAAa,EAAE,CAAC;QACtC,qDAAqD;QACrD,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAC9B,oEAAoE;QACpE,IAAI,mBAAmB,GAAgC,IAAI,CAAC,2BAA2B,CAAC;QACxF,0DAA0D;QAC1D,IAAI,oBAAoB,GAAgC,IAAI,CAAC;QAC7D;;;;;;;;;;WAUG;QACH,IAAI,mBAAmB,GAAa,EAAE,CAAC;QACvC,uEAAuE;QACvE,IAAI,uBAAuB,GAAsB,EAAE,CAAC;QAEpD,0DAA0D;QAC1D,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5E,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACjG,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,MAAM,sBAAsB,GAC1B,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,sBAAsB;gBAAE,OAAO;YAEnE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAC1B,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CACzE,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEjB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,cAAc,GAAG,EAAE,CAAC;YAEpB,qDAAqD;YACrD,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;YAC3F,sBAAsB,GAAG,UAAU,CAAC,aAAa,CAAC;YAClD,eAAe,GAAG,sBAAsB,CAAC;YAEzC,kBAAkB,GAAG,CAAC,CAAC,CAAC,qCAAqC;YAC7D,kBAAkB,GAAG,EAAE,CAAC,CAAC,+BAA+B;YACxD,uBAAuB,GAAG,EAAE,CAAC,CAAC,uCAAuC;YAErE,uCAAuC;YACvC,mBAAmB,GAAG,oBAAoB,CAAC;YAC3C,oBAAoB,GAAG,IAAI,CAAC;YAE5B,qFAAqF;YACrF,yFAAyF;YACzF,6DAA6D;YAC7D,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,kBAAkB,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC;gBAC9C,mBAAmB,GAAG,EAAE,CAAC;YAC3B,CAAC;YAED,8CAA8C;YAC9C,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5E,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACjG,CAAC;iBAAM,CAAC;gBACN,qBAAqB,GAAG,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,qBAAqB,IAAI,IAAI,CAAC,sBAAsB,CAClD,kBAAkB,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAExB,8BAA8B;YAC9B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtB,UAAU,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YAED,2BAA2B;YAC3B,IAAI,KAAK,CAAC,eAAe,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvD,UAAU,EAAE,CAAC;YACf,CAAC;YAED,sEAAsE;YACtE,uEAAuE;YACvE,0EAA0E;YAC1E,wEAAwE;YACxE,uEAAuE;YACvE,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,MAAM,eAAe,GACnB,CAAC,aAAa;gBACd,CAAC,aAAa,CAAC,YAAY;gBAC3B,aAAa,CAAC,WAAW;gBACzB,KAAK,CAAC,eAAe,CAAC;YACxB,yEAAyE;YACzE,yEAAyE;YACzE,0BAA0B;YAC1B,MAAM,oBAAoB,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,qBAAqB,GAAG,CAAC,CAAC;YACpF,IAAI,oBAAoB,IAAI,KAAK,CAAC,YAAY,IAAI,eAAe,EAAE,CAAC;gBAClE,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACvD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CACpD,SAAS,EACT,kBAAkB,CACnB,CAAC;oBACF,IAAI,6BAA6B,GAAG,CAAC,CAAC;oBACtC,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;wBACrE,MAAM,wBAAwB,GAAG,IAAI,CAAC,sBAAsB,CAC1D,CAAC,GAAG,kBAAkB,EAAE,GAAG,mBAAmB,CAAC,EAC/C,IAAI,CAAC,YAAY,EACjB,mBAAmB,CACpB,CAAC;wBACF,6BAA6B,GAAG,IAAI,CAAC,GAAG,CACtC,CAAC,EACD,wBAAwB,GAAG,qBAAqB,CACjD,CAAC;oBACJ,CAAC;oBAED,MAAM,kBAAkB,GACtB,IAAI,CAAC,kCAAkC,CACrC,SAAS,EACT,kBAAkB,EAClB,cAAc,CAAC,MAAM,KAAK,CAAC,CAC5B;wBACD,6BAA6B,CAAC;oBAChC,MAAM,sBAAsB,GAAG,eAAe,GAAG,qBAAqB,CAAC;oBAEvE,IAAI,kBAAkB,GAAG,sBAAsB,EAAE,CAAC;wBAChD,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAC9C,IAAI,EACJ,YAAY,EACZ,aAAa,GAAG,CAAC,EACjB,UAAU,GAAG,CAAC,CACf,CAAC;wBACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,kCAAkC,CAClE,SAAS,EACT,CAAC,EACD,IAAI,CACL,CAAC;wBACF,2DAA2D;wBAC3D,8DAA8D;wBAC9D,iEAAiE;wBACjE,MAAM,wBAAwB,GAAG,IAAI,CAAC,sBAAsB,CAC1D,mBAAmB,EACnB,IAAI,CAAC,YAAY,EACjB,oBAAoB,CACrB,CAAC;wBAEF,IACE,oBAAoB,GAAG,wBAAwB;4BAC/C,eAAe,CAAC,aAAa,EAC7B,CAAC;4BACD,UAAU,EAAE,CAAC;wBACf,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,8CAA8C;YAC9C,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpE,sDAAsD;YACtD,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAE/E,8DAA8D;YAC9D,IAAI,wBAAwB,GAAG,CAAC,CAAC;YACjC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAChE,0EAA0E;gBAC1E,+BAA+B;gBAC/B,MAAM,mBAAmB,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,cAAc,CAAC,CAAC;gBACvE,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CACrD,mBAAmB,EACnB,IAAI,CAAC,YAAY,EACjB,mBAAmB,CACpB,CAAC;gBACF,wBAAwB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;YACzE,CAAC;YAED,yDAAyD;YACzD,6FAA6F;YAC7F,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;YAClD,IAAI,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC;YAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,gEAAgE;gBAChE,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;YAC5F,CAAC;YACD,6DAA6D;YAC7D,gFAAgF;YAChF,mFAAmF;YACnF,4FAA4F;YAC5F,MAAM,UAAU,GAAG,kBAAkB,GAAG,KAAK,CAAC,QAAQ,GAAG,wBAAwB,CAAC;YAElF,4EAA4E;YAC5E,MAAM,wBAAwB,GAAG,eAAe,GAAG,qBAAqB,CAAC;YAEzE,qFAAqF;YACrF,MAAM,eAAe,GAAG,sBAAsB,GAAG,eAAe,CAAC;YACjE,MAAM,eAAe,GAAG,sBAAsB,GAAG,uBAAuB,CAAC;YACzE,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,qBAAqB,CAAC,CAAC;YAElF,2EAA2E;YAC3E,wEAAwE;YACxE,wEAAwE;YACxE,gDAAgD;YAChD,IAAI,UAAU,GAAG,wBAAwB,EAAE,CAAC;gBAC1C,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAClD,KAAK,EACL,IAAI,EACJ,wBAAwB,EACxB,kBAAkB,CACnB,CAAC;gBACF,IAAI,kBAAkB,EAAE,CAAC;oBACvB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,kBAAkB,CAAC,CAAC;oBAC3C,CAAC,EAAE,CAAC;oBACJ,SAAS;gBACX,CAAC;YACH,CAAC;YAED,gEAAgE;YAChE,IAAI,UAAU,IAAI,wBAAwB,EAAE,CAAC;gBAC3C,8CAA8C;gBAC9C,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC,CAAC;gBAClE,eAAe,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;gBAChF,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC;gBAC1C,oCAAoC;gBACpC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,kBAAkB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;oBAC3C,qBAAqB,IAAI,wBAAwB,CAAC;gBACpD,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,WAAW,IAAI,sBAAsB,EAAE,CAAC;gBACxE,0EAA0E;gBAC1E,MAAM,0BAA0B,GAAG,kBAAkB,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAEvE,iDAAiD;gBACjD,+EAA+E;gBAC/E,MAAM,kBAAkB,GAAG,eAAe,GAAG,0BAA0B,GAAG,uBAAuB,CAAC;gBAClG,MAAM,kBAAkB,GAAG,kBAAkB,IAAI,sBAAsB,CAAC;gBAExE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,0BAA0B,IAAI,wBAAwB,EAAE,CAAC;oBACxF,gEAAgE;oBAChE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC,CAAC;oBAClE,eAAe,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;oBAChF,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC;oBAE1C,mDAAmD;oBACnD,qFAAqF;oBACrF,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CACpC,eAAe,EACf,sBAAsB,GAAG,eAAe,GAAG,0BAA0B,CACtE,CAAC;oBAEF,uEAAuE;oBACvE,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE,CAAC;wBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBACvD,IAAI,CAAC,QAAQ;4BAAE,SAAS;wBAExB,MAAM,cAAc,GAAG,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;wBACvF,MAAM,qBAAqB,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;wBAE5E,IAAI,cAAc,IAAI,qBAAqB,EAAE,CAAC;4BAC5C,uCAAuC;4BACvC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BACpC,qBAAqB,IAAI,cAAc,CAAC;wBAC1C,CAAC;6BAAM,CAAC;4BACN,gEAAgE;4BAChE,IAAI,qBAAqB,GAAG,EAAE,EAAE,CAAC,CAAC,oCAAoC;gCACpE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAChD,QAAQ,EACR,qBAAqB,EACrB,IAAI,CAAC,YAAY,CAClB,CAAC;gCAEF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCACpB,uCAAuC;oCACvC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oCACpC,uBAAuB,CAAC,IAAI,CAAC;wCAC3B,UAAU;wCACV,eAAe,EAAE,IAAI;qCACtB,CAAC,CAAC;oCACH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wCACxB,oBAAoB,GAAG;4CACrB,UAAU;4CACV,iBAAiB,EAAE,QAAQ;yCAC5B,CAAC;oCACJ,CAAC;oCACD,qBAAqB,GAAG,qBAAqB,CAAC;gCAChD,CAAC;qCAAM,CAAC;oCACN,4EAA4E;oCAC5E,6EAA6E;oCAC7E,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gCACvC,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,2DAA2D;gCAC3D,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BACvC,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,kBAAkB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3D,wFAAwF;oBACxF,2FAA2F;oBAE3F,oEAAoE;oBACpE,qDAAqD;oBACrD,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,wBAAwB,GAAG,qBAAqB,CAAC,CAAC;oBAC1G,MAAM,uBAAuB,GAAG,sBAAsB,GAAG,qBAAqB,CAAC;oBAE/E,IAAI,0BAA0B,IAAI,uBAAuB,GAAG,eAAe,EAAE,CAAC;wBAC5E,4CAA4C;wBAC5C,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC,CAAC;wBAClE,mFAAmF;wBACnF,0FAA0F;wBAC1F,wFAAwF;wBACxF,wFAAwF;wBACxF,wFAAwF;wBACxF,mFAAmF;wBACnF,eAAe,GAAG,uBAAuB,GAAG,eAAe,GAAG,0BAA0B,CAAC;wBACzF,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC;wBAC1C,kBAAkB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;wBAC3C,qBAAqB,GAAG,qBAAqB,CAAC;oBAChD,CAAC;yBAAM,CAAC;wBACN,qCAAqC;wBACrC,UAAU,EAAE,CAAC;wBACb,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,MAAM,GAAG,CAAC;4BAC1D,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC;4BAC1F,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvG,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;wBAC/E,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC,CAAC;wBAClE,eAAe,GAAG,sBAAsB,GAAG,YAAY,CAAC;wBACxD,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC;wBAC1C,wFAAwF;wBAC1F,8EAA8E;wBAC9E,kBAAkB,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,mBAAmB,CAAC,CAAC;wBACnE,qBAAqB,GAAG,qBAAqB,CAAC;oBAChD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,4CAA4C;oBAC5C,UAAU,EAAE,CAAC;oBACb,2EAA2E;oBAC3E,6CAA6C;oBAC7C,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,MAAM,GAAG,CAAC;wBAC1D,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC;wBAC1F,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvG,0BAA0B;oBAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;oBAC/E,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC,CAAC;oBAClE,eAAe,GAAG,sBAAsB,GAAG,YAAY,CAAC;oBACxD,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC;oBAC1C,wFAAwF;oBACxF,8EAA8E;oBAC9E,kBAAkB,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,mBAAmB,CAAC,CAAC;oBACrE,qBAAqB,GAAG,qBAAqB,CAAC;gBAChD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,wEAAwE;gBACxE,2EAA2E;gBAC3E,MAAM,cAAc,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBACpF,IAAI,cAAc,EAAE,CAAC;oBACnB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC;wBACrD,UAAU,EAAE,CAAC;oBACf,CAAC;oBACD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC;oBACvC,CAAC,EAAE,CAAC;oBACJ,SAAS;gBACX,CAAC;gBAED,wEAAwE;gBACxE,0EAA0E;gBAC1E,2CAA2C;gBAC3C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,UAAU,EAAE,CAAC;gBACf,CAAC;gBACD,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC,CAAC;gBAClE,wFAAwF;gBACtF,8EAA8E;gBAC9E,kBAAkB,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,mBAAmB,CAAC,CAAC;gBACvE,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,UAAU,EAAE,CAAC;QAEb,oDAAoD;QACpD,IAAI,CAAC,2BAA2B,GAAG,oBAAoB,CAAC;QAExD,OAAO,KAAK,CAAC;IACf,CAAC;IAGD;;;;;;;;;;;;OAYG;IACK,oBAAoB,CAAC,IAAiB;QAC5C,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAc,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7E,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACvB,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAClC,EAAE,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;YAC1C,IAAI,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,IAAI;gBAAE,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED;;OAEG;IACK,UAAU,CAChB,IAAoB,EACpB,UAAkB,EAClB,YAAoB,EACpB,OAAsB,EACtB,aAAqB,EACrB,cAAwB,EAAE,EAC1B,iBAAyB,CAAC,EAC1B,YAA0C,EAC1C,gBAAoC;QAEpC,0DAA0D;QAC1D,sEAAsE;QACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,SAAS,KAAK,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACpC,gFAAgF;QAChF,qFAAqF;QACrF,iEAAiE;QACjE,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACrB,mEAAmE;YACnE,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxC,2DAA2D;YAC3D,mDAAmD;YACnD,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,KAAK,GAAG,CAAC;YACjD,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC;YAC3C,oFAAoF;YACpF,4CAA4C;YAC5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3D,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAClD,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,gBAAgB,IAAI,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,iBAAiB,IAAI,CAAC;QACvE,CAAC;QACD,wDAAwD;QACxD,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,WAAW,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC;QACvC,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QACpD,8FAA8F;QAC9F,uCAAuC;QACvC,OAAO,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAEtD,uFAAuF;QACvF,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAEjG,gDAAgD;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAEhF,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAChD,SAAS,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,SAAS,QAAQ,CAAC;YAChD,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YACtC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,oBAAoB;YAC/C,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC;YAC9C,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC;YACjD,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,gBAAgB,CAAC,YAAY,IAAI,CAAC,CAAC,oCAAoC;YACnG,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACpC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;YACzC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YACjC,SAAS,CAAC,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC;YACzC,SAAS,CAAC,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,yCAAyC;YACtF,SAAS,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,gCAAgC;YACvE,oEAAoE;YACpE,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxD,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;gBAC7D,IAAI,eAAe,CAAC,QAAQ,KAAK,CAAC;oBAAE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;gBAC/E,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,2DAA2D;QAC3D,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,CAAC;QACrD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,aAAa,CAAC;QAEzD,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClD,WAAW,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,SAAS,SAAS,CAAC;QACnD,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACxC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,cAAc,IAAI,CAAC;QAC9C,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC;QAChD,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC;QACnD,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,iBAAiB,IAAI,CAAC;QACpD,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEtC,cAAc;QACd,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEjC,sFAAsF;QACtF,MAAM,eAAe,GAAG,YAAY,IAAI,YAAY,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;QAClF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;YAC9C,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAEpG,CAAC;QAED,gDAAgD;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAChF,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAChD,SAAS,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,SAAS,QAAQ,CAAC;YAChD,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YACtC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,uBAAuB;YACrD,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC;YAC9C,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC;YACjD,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,gBAAgB,CAAC,YAAY,IAAI,CAAC,CAAC,oCAAoC;YACnG,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACpC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;YACzC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YACjC,SAAS,CAAC,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC;YACzC,SAAS,CAAC,KAAK,CAAC,cAAc,GAAG,YAAY,CAAC,CAAC,sCAAsC;YACrF,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,+BAA+B;YACnE,oEAAoE;YACpE,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxD,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;gBAC7D,IAAI,eAAe,CAAC,QAAQ,KAAK,CAAC;oBAAE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;gBAC/E,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,iEAAiE;QACjE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,SAAS,QAAQ,CAAC;YAC9C,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YACzC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE3C,6FAA6F;QAC7F,4FAA4F;QAC5F,8FAA8F;QAC9F,gGAAgG;QAChG,yFAAyF;QACzF,6FAA6F;QAC7F,+FAA+F;QAC/F,+FAA+F;QAC/F,EAAE;QACF,6FAA6F;QAC7F,qEAAqE;QACrE,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAc,IAAI,IAAI,CAAC,SAAS,WAAW,CAAC,CAAC;QAClF,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC;YACrE,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC;YACnF,CAAC;QACH,CAAC;QAED,OAAO;YACL,UAAU;YACV,YAAY;YACZ,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,SAA+B,EAC/B,UAA6B,EAAE;IAE/B,MAAM,WAAW,GACf,OAAO,SAAS,KAAK,QAAQ;QAC3B,CAAC,CAAE,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAiB;QACrD,CAAC,CAAC,SAAS,CAAC;IAEhB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,6BAA6B;IAC7B,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;IAE7B,kCAAkC;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC;IAC/C,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,CAAc,qBAAqB,CAAC;QAC3E,WAAW,CAAC,aAAa,CAAc,IAAI,SAAS,SAAS,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAc,uBAAuB,CAAC;QACnF,WAAW,CAAC,aAAa,CAAc,IAAI,SAAS,WAAW,CAAC,CAAC;IAEnE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,sGAAsG,CACvG,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,wEAAwE;IACxE,uEAAuE;IACvE,4DAA4D;IAC5D,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE;QAC1D,GAAG,OAAO;QACV,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,IAAI;KACvD,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC"}
@@ -30,7 +30,7 @@ export declare const RIBBON_STYLE_ATTR = "data-docxodus-ribbon-styles";
30
30
  * for the converter's document CSS, achieved here by authoring rather than by
31
31
  * rewriting.
32
32
  */
33
- export declare const RIBBON_CSS = "\n.dxr {\n --dxr-ink: #101418;\n --dxr-sheet: #ffffff;\n --dxr-chrome: #eef1f6;\n --dxr-chrome-sunk: #e3e8f0;\n --dxr-rule: #d3dae4;\n --dxr-accent: #1f5fd0;\n --dxr-wash: #dde8fb;\n --dxr-muted: #5d6975;\n --dxr-data: #0b6f6a;\n --dxr-danger: #a3341f;\n --dxr-desk: #dfe3ea;\n --dxr-ui: system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif;\n --dxr-mono: ui-monospace, SFMono-Regular, \"Cascadia Mono\", Consolas, monospace;\n --dxr-tap: 30px;\n\n position: relative;\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n isolation: isolate;\n font-family: var(--dxr-ui);\n color: var(--dxr-ink);\n background: var(--dxr-desk);\n -webkit-text-size-adjust: 100%;\n}\n.dxr *, .dxr *::before, .dxr *::after { box-sizing: border-box; }\n\n/* Touch devices get bigger hit targets everywhere the token is used. */\n@media (pointer: coarse) { .dxr { --dxr-tap: 40px; } }\n\n/* \u2500\u2500 Chrome shell \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.dxr-chrome {\n position: sticky;\n top: 0;\n z-index: 10;\n flex: 0 0 auto;\n background: var(--dxr-chrome);\n border-bottom: 1px solid var(--dxr-rule);\n}\n\n.dxr-titlebar {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 6px 10px 0;\n}\n.dxr-brand {\n display: flex;\n align-items: baseline;\n gap: 7px;\n min-width: 0;\n font-size: 13px;\n font-weight: 600;\n letter-spacing: -.01em;\n}\n.dxr-brand .dxr-mark {\n flex: 0 0 auto;\n width: 9px;\n height: 9px;\n background: var(--dxr-accent);\n clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);\n}\n.dxr-brand .dxr-docname {\n overflow: hidden;\n max-width: 22ch;\n color: var(--dxr-muted);\n font-size: 12px;\n font-weight: 400;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.dxr-quick { flex: 0 0 auto; display: flex; align-items: center; gap: 3px; }\n.dxr-titlebar .dxr-spacer { flex: 1; }\n.dxr-status {\n overflow: hidden;\n max-width: 42ch;\n color: var(--dxr-muted);\n font-family: var(--dxr-mono);\n font-size: 11.5px;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* \u2500\u2500 Tab strip \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.dxr-tabs {\n display: flex;\n gap: 1px;\n padding: 6px 10px 0;\n overflow-x: auto;\n scrollbar-width: none;\n}\n.dxr-tabs::-webkit-scrollbar { display: none; }\n.dxr-tab {\n flex: 0 0 auto;\n padding: 6px 15px 7px;\n border: 1px solid transparent;\n border-bottom: none;\n border-radius: 5px 5px 0 0;\n background: none;\n color: var(--dxr-muted);\n font: inherit;\n font-size: 12.5px;\n cursor: pointer;\n}\n.dxr-tab:hover { color: var(--dxr-ink); background: #e6ebf3; }\n.dxr-tab[aria-selected=\"true\"] {\n color: var(--dxr-ink);\n font-weight: 600;\n background: var(--dxr-chrome-sunk);\n border-color: var(--dxr-rule);\n box-shadow: inset 0 2px 0 var(--dxr-accent);\n}\n/* Contextual tab \u2014 present only while the caret is inside a table. */\n.dxr-tab[data-contextual] { color: var(--dxr-accent); }\n.dxr-tab[hidden] { display: none; }\n\n/* \u2500\u2500 Ribbon panels \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.dxr-ribbon { background: var(--dxr-chrome-sunk); border-top: 1px solid var(--dxr-rule); }\n.dxr-ribbon[aria-disabled=\"true\"] { opacity: .45; pointer-events: none; }\n.dxr-panel {\n display: none;\n align-items: stretch;\n padding: 7px 10px 8px;\n overflow-x: auto;\n overscroll-behavior-x: contain;\n}\n.dxr-panel[data-active] { display: flex; }\n/* Group label sits ABOVE its controls (a spec-sheet reading), with hairline\n dividers rather than boxes \u2014 lighter than the boxed, label-under convention. */\n.dxr-group {\n flex: 0 0 auto;\n display: flex;\n flex-direction: column;\n gap: 5px;\n padding: 0 13px;\n border-right: 1px solid var(--dxr-rule);\n}\n.dxr-group:last-child { border-right: none; }\n.dxr-group:first-child { padding-left: 0; }\n.dxr-glabel {\n color: var(--dxr-muted);\n font-size: 9.5px;\n font-weight: 600;\n letter-spacing: .11em;\n text-transform: uppercase;\n}\n.dxr-row { display: flex; gap: 3px; align-items: center; }\n\n/* \u2500\u2500 Controls \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.dxr button, .dxr label.dxr-btn {\n min-height: var(--dxr-tap);\n padding: 5px 9px;\n border: 1px solid transparent;\n border-radius: 4px;\n background: none;\n color: var(--dxr-ink);\n font: inherit;\n font-size: 13px;\n line-height: 1.15;\n cursor: pointer;\n}\n.dxr label.dxr-btn { display: inline-flex; align-items: center; }\n.dxr button:hover, .dxr label.dxr-btn:hover { background: #d6deea; }\n.dxr button:active { background: #c8d3e3; }\n.dxr button:disabled { opacity: .38; cursor: default; background: none; }\n.dxr button.dxr-on { color: var(--dxr-accent); background: var(--dxr-wash); border-color: #b3ccf2; }\n.dxr-quick button, .dxr-quick label.dxr-btn {\n padding: 4px 10px;\n border-color: var(--dxr-rule);\n background: #f7f9fc;\n font-size: 12.5px;\n}\n.dxr-quick button:hover, .dxr-quick label.dxr-btn:hover { background: #fff; border-color: #b9c4d4; }\n.dxr-quick button:disabled:hover { background: #f7f9fc; border-color: var(--dxr-rule); }\n.dxr button.dxr-icon { min-width: var(--dxr-tap); text-align: center; }\n/* Icons are inline SVG drawn from the same shapes the control acts on (text lines,\n rules), so alignment and indent read at a glance instead of relying on arrow\n glyphs that collide with undo/redo. currentColor keeps them in step with state. */\n.dxr button svg { display: block; margin: 0 auto; fill: currentColor; }\n.dxr button.dxr-wide { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }\n.dxr button.dxr-danger:hover { color: var(--dxr-danger); background: #f6dcd6; }\n.dxr select, .dxr input[type=\"number\"], .dxr input[type=\"text\"] {\n min-height: var(--dxr-tap);\n padding: 4px 6px;\n border: 1px solid var(--dxr-rule);\n border-radius: 4px;\n background: #f7f9fc;\n color: var(--dxr-ink);\n font: inherit;\n font-size: 12.5px;\n}\n.dxr select:focus-visible, .dxr input:focus-visible, .dxr button:focus-visible,\n.dxr .dxr-tab:focus-visible, .dxr label.dxr-btn:focus-within {\n outline: 2px solid var(--dxr-accent);\n outline-offset: 1px;\n}\n.dxr [data-dxr=\"fontsize\"] { width: 62px; }\n.dxr [data-dxr=\"fontfamily\"] { max-width: 132px; }\n.dxr [data-dxr=\"pgstart\"] { width: 64px; }\n.dxr-toggle {\n display: inline-flex;\n gap: 5px;\n align-items: center;\n color: var(--dxr-ink);\n font-size: 12.5px;\n white-space: nowrap;\n cursor: pointer;\n}\n.dxr-note { color: var(--dxr-muted); font-size: 11.5px; }\n\n/* \u2500\u2500 Anchor rail \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n The addressing spine made permanent chrome. Every block in this editor is\n addressable as kind:scope:unid, and the model of record is a live WASM session \u2014\n so the surface states both, live, instead of hiding them behind devtools. It also\n reports each command's real cost, which is what a smoke test needs to see. */\n.dxr-rail {\n display: flex;\n align-items: center;\n height: 25px;\n padding: 0 10px;\n overflow-x: auto;\n background: #f7f9fc;\n border-top: 1px solid var(--dxr-rule);\n color: var(--dxr-muted);\n font-family: var(--dxr-mono);\n font-size: 11.5px;\n scrollbar-width: none;\n}\n.dxr-rail::-webkit-scrollbar { display: none; }\n.dxr-rail .dxr-cell {\n display: flex;\n align-items: baseline;\n gap: 6px;\n padding: 0 13px;\n border-right: 1px solid var(--dxr-rule);\n white-space: nowrap;\n}\n.dxr-rail .dxr-cell:first-child { padding-left: 0; }\n.dxr-rail .dxr-cell:last-child { border-right: none; }\n.dxr-rail .dxr-k {\n color: #8b96a3;\n font-family: var(--dxr-ui);\n font-size: 9.5px;\n letter-spacing: .1em;\n text-transform: uppercase;\n}\n.dxr-rail .dxr-v { color: var(--dxr-data); }\n.dxr-rail .dxr-v.dxr-flash { animation: dxr-railflash .45s ease-out; }\n@keyframes dxr-railflash { from { background: #b9ecdf; } to { background: transparent; } }\n\n/* \u2500\u2500 Hint \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.dxr-hint {\n flex: 0 0 auto;\n max-width: 920px;\n margin: 0 auto;\n padding: 9px 16px 0;\n color: var(--dxr-muted);\n font-size: 12px;\n line-height: 1.5;\n}\n.dxr-hint kbd {\n padding: 0 4px;\n border: 1px solid var(--dxr-rule);\n border-radius: 3px;\n background: #e8ecf3;\n font-family: var(--dxr-mono);\n font-size: 11px;\n}\n\n/* \u2500\u2500 Document surface \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n The surface is also the element the converter's own stylesheet treats as the\n document body: in an embed, its \"body { margin: 20px }\" is rewritten to\n [data-docxodus-embed-root=\"dN\"] [data-dxr-surface] \u2014 (0,2,0), and inserted AFTER\n this sheet, so it wins a tie. Rules that own the SHEET BOX (centering, page\n padding, the paper itself) therefore qualify with the root's data-chrome to reach\n (0,3,0). Rules that only style CONTENT stay unqualified \u2014 there the converter\n SHOULD win.\n (No backticks in this file's comments: the stylesheet is a template literal.) */\n.dxr-scroll { flex: 1 1 auto; min-height: 0; overflow: auto; -webkit-overflow-scrolling: touch; }\n.dxr[data-chrome] .dxr-surface { max-width: 920px; margin: 26px auto; padding: 0 16px 96px; }\n.dxr-surface[data-view=\"continuous\"] > * { background: var(--dxr-sheet); }\n.dxr[data-chrome] .dxr-surface[data-view=\"continuous\"] {\n padding: 56px 72px;\n border-radius: 3px;\n background: var(--dxr-sheet);\n box-shadow: 0 1px 3px rgba(16, 20, 24, .14), 0 8px 24px rgba(16, 20, 24, .05);\n}\n.dxr-surface [contenteditable=\"true\"]:focus {\n outline: 2px solid var(--dxr-accent);\n outline-offset: 2px;\n border-radius: 2px;\n}\n@media (hover: hover) { .dxr-surface [contenteditable=\"true\"]:hover { background: #f2f7ff; } }\n\n/* Header/footer bands: stories live in their own OOXML parts outside the body,\n so they dock as their own regions. Styled from the same tokens as the ribbon\n so the surface reads as one instrument rather than two apps. */\n.dxr-surface .docx-hf-band {\n margin: 0 0 14px;\n padding: 9px 72px 13px;\n border: 1px solid var(--dxr-rule);\n border-left: 2px solid #c2ccd9;\n border-radius: 3px;\n background: var(--dxr-sheet);\n}\n.dxr-surface .docx-hf-band + .docx-body-flow { margin-top: 0; }\n.dxr-surface .docx-hf-band[data-hf-band=\"footer\"] { margin: 14px 0 0; }\n.dxr-surface .docx-hf-chrome {\n display: flex;\n gap: 8px;\n align-items: center;\n flex-wrap: wrap;\n margin: 0 0 7px -60px;\n color: var(--dxr-muted);\n font-size: 9.5px;\n font-weight: 600;\n letter-spacing: .11em;\n text-transform: uppercase;\n}\n.dxr-surface .docx-hf-chrome select, .dxr-surface .docx-hf-chrome input {\n padding: 3px 5px;\n border: 1px solid var(--dxr-rule);\n border-radius: 4px;\n background: #f7f9fc;\n color: var(--dxr-ink);\n font: inherit;\n font-family: var(--dxr-ui);\n font-size: 12.5px;\n font-weight: 400;\n letter-spacing: normal;\n text-transform: none;\n}\n.dxr-surface .docx-hf-chrome input[data-hf-pagestart] { width: 64px; }\n.dxr-surface .docx-hf-label { font-weight: 600; }\n.dxr-surface .docx-hf-warning {\n margin: 0 0 8px -60px;\n padding: 7px 9px;\n border: 1px solid #e8d9a8;\n border-left: 2px solid #c9a227;\n border-radius: 3px;\n background: #fdf6e3;\n color: #6b5310;\n font-size: 12px;\n line-height: 1.45;\n}\n.dxr-surface .docx-hf-warning button {\n margin-left: 6px;\n padding: 2px 8px;\n border-color: #e8d9a8;\n background: #fff;\n font-size: 12px;\n}\n.dxr-surface .docx-hf-placeholder { color: #9aa4b1; font-style: italic; }\n.dxr-surface .docx-hf-inherited {\n color: var(--dxr-muted);\n font-style: italic;\n font-weight: 400;\n letter-spacing: normal;\n text-transform: none;\n}\n.dxr-surface .docx-hf-band[data-hf-inherited] { border-style: dashed; }\n.dxr[data-chrome] .dxr-surface[data-view=\"continuous\"]:has(.docx-body-flow) {\n padding: 0;\n background: transparent;\n box-shadow: none;\n}\n.dxr[data-chrome] .dxr-surface[data-view=\"continuous\"] .docx-body-flow {\n padding: 56px 72px;\n border-radius: 3px;\n background: var(--dxr-sheet);\n box-shadow: 0 1px 3px rgba(16, 20, 24, .14), 0 8px 24px rgba(16, 20, 24, .05);\n}\n\n/* \u2500\u2500 Table size picker \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.dxr-pop {\n display: none;\n position: absolute;\n z-index: 30;\n padding: 9px;\n border: 1px solid var(--dxr-rule);\n border-radius: 6px;\n background: #fff;\n box-shadow: 0 4px 16px rgba(16, 20, 24, .18);\n}\n.dxr-pop[data-open] { display: block; }\n.dxr-gridcells { display: grid; grid-template-columns: repeat(10, 16px); gap: 2px; }\n.dxr-gridcells div {\n width: 16px;\n height: 16px;\n border: 1px solid var(--dxr-rule);\n border-radius: 2px;\n background: #f2f5f9;\n cursor: pointer;\n}\n.dxr-gridcells div[data-on] { background: var(--dxr-wash); border-color: var(--dxr-accent); }\n.dxr-popfoot {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 10px;\n margin-top: 8px;\n font-size: 12px;\n}\n\n/* \u2500\u2500 Compact chrome (the mobile-first base) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n One scrolling strip per tab instead of a multi-row ribbon: group labels turn\n into inline dividers, the rail and hint step aside, and the picker becomes a\n bottom sheet because there is no room to hang a popover off a button. */\n/* A 320px phone cannot hold the product name AND the file actions, and the file\n actions are what a user came for. The strip also scrolls, so nothing is stranded. */\n.dxr[data-chrome=\"compact\"] .dxr-titlebar {\n gap: 6px;\n padding: 5px 8px 0;\n overflow-x: auto;\n scrollbar-width: none;\n}\n.dxr[data-chrome=\"compact\"] .dxr-titlebar::-webkit-scrollbar { display: none; }\n.dxr[data-chrome=\"compact\"] .dxr-brandname { display: none; }\n.dxr[data-chrome=\"compact\"] .dxr-brand { flex: 0 1 auto; }\n/* A filename clipped to \"do...\" tells you less than no filename at all, so it keeps a\n readable floor and the strip scrolls instead. The tighter file-action padding is what\n buys that floor back on a 390px screen. */\n.dxr[data-chrome=\"compact\"] .dxr-brand .dxr-docname { min-width: 6ch; max-width: 14ch; }\n.dxr[data-chrome=\"compact\"] .dxr-quick button,\n.dxr[data-chrome=\"compact\"] .dxr-quick label.dxr-btn { padding: 4px 8px; }\n.dxr[data-chrome=\"compact\"] .dxr-status { display: none; }\n.dxr[data-chrome=\"compact\"] .dxr-tabs { padding: 5px 8px 0; }\n.dxr[data-chrome=\"compact\"] .dxr-tab { padding: 6px 12px 7px; font-size: 12px; }\n.dxr[data-chrome=\"compact\"] .dxr-panel {\n align-items: center;\n gap: 4px;\n padding: 5px 8px;\n scroll-snap-type: x proximity;\n}\n.dxr[data-chrome=\"compact\"] .dxr-group {\n flex-direction: row;\n align-items: center;\n gap: 4px;\n padding: 0 8px;\n scroll-snap-align: start;\n}\n.dxr[data-chrome=\"compact\"] .dxr-glabel { display: none; }\n.dxr[data-chrome=\"compact\"] .dxr-note { display: none; }\n.dxr[data-chrome=\"compact\"] .dxr-rail { display: none; }\n.dxr[data-chrome=\"compact\"] .dxr-hint { display: none; }\n.dxr[data-chrome=\"compact\"] .dxr-surface { margin: 12px auto; padding: 0 10px 64px; }\n.dxr[data-chrome=\"compact\"] .dxr-surface[data-view=\"continuous\"] { padding: 22px 18px; }\n.dxr[data-chrome=\"compact\"] .dxr-surface[data-view=\"continuous\"] .docx-body-flow { padding: 22px 18px; }\n.dxr[data-chrome=\"compact\"] .dxr-surface .docx-hf-band { padding: 9px 18px 13px; }\n.dxr[data-chrome=\"compact\"] .dxr-surface .docx-hf-chrome,\n.dxr[data-chrome=\"compact\"] .dxr-surface .docx-hf-warning { margin-left: 0; }\n/* A popover anchored to a button has nowhere to go on a narrow surface, so the\n picker docks to the bottom edge where a thumb already is. */\n.dxr[data-chrome=\"compact\"] .dxr-pop[data-open] {\n position: fixed;\n left: 50%;\n right: auto;\n bottom: 12px;\n top: auto !important;\n transform: translateX(-50%);\n max-width: calc(100vw - 20px);\n}\n\n/* \u2500\u2500 Loading overlay \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n Kept from the shipped demo: the wait is real (a .NET runtime is streaming), so\n the surface spends it explaining what is being built rather than showing a\n spinner. It covers the whole instrument so half-built chrome never flashes. */\n.dxr-loader {\n position: absolute;\n inset: 0;\n z-index: 40;\n display: grid;\n place-items: center;\n padding: 24px;\n color: #f4f9ff;\n background:\n radial-gradient(circle at 20% 20%, rgba(63, 128, 255, .24), transparent 22rem),\n radial-gradient(circle at 82% 80%, rgba(176, 91, 255, .22), transparent 24rem),\n linear-gradient(145deg, #071221 0%, #0b1930 52%, #101426 100%);\n transition: opacity .55s ease, visibility .55s ease;\n}\n.dxr-loader[hidden] { display: none; }\n/* pointer-events drops the instant the fade starts: the surface underneath is already\n live, so a click during the half-second fade should reach it rather than be eaten. */\n.dxr-loader[data-done] { opacity: 0; visibility: hidden; pointer-events: none; }\n.dxr-loader-grid {\n width: min(850px, 100%);\n display: grid;\n grid-template-columns: 1fr;\n align-items: center;\n gap: 22px;\n text-align: center;\n}\n.dxr-visual { position: relative; width: min(170px, 52vw); aspect-ratio: 1; margin: 0 auto; }\n.dxr-orbit {\n position: absolute;\n inset: 7%;\n border: 1px solid rgba(115, 204, 255, .22);\n border-radius: 50%;\n animation: dxr-spin 9s linear infinite;\n}\n.dxr-orbit.dxr-two {\n inset: 20%;\n border-style: dashed;\n border-color: rgba(196, 128, 255, .32);\n animation-duration: 6s;\n animation-direction: reverse;\n}\n.dxr-orbit::before, .dxr-orbit::after {\n position: absolute;\n width: 10px;\n height: 10px;\n border-radius: 50%;\n content: \"\";\n background: #52e5ff;\n box-shadow: 0 0 18px #52e5ff;\n}\n.dxr-orbit::before { top: -5px; left: 50%; }\n.dxr-orbit::after { right: 7%; bottom: 12%; background: #b26cff; box-shadow: 0 0 18px #b26cff; }\n.dxr-card {\n position: absolute;\n inset: 24% 28%;\n padding: 20px 15px;\n border: 1px solid rgba(255, 255, 255, .33);\n border-radius: 14px;\n background: linear-gradient(150deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .06));\n box-shadow: 0 22px 50px rgba(0, 0, 0, .35), 0 0 45px rgba(71, 150, 255, .13);\n backdrop-filter: blur(10px);\n animation: dxr-float 3.6s ease-in-out infinite;\n}\n.dxr-card::before {\n position: absolute;\n top: -9px;\n right: -9px;\n padding: 4px 7px;\n border-radius: 6px;\n background: #52e5ff;\n color: #06111d;\n content: \"DOCX\";\n font-size: 8px;\n font-weight: 900;\n letter-spacing: .12em;\n}\n.dxr-card i {\n display: block;\n height: 4px;\n margin-bottom: 10px;\n border-radius: 4px;\n background: rgba(255, 255, 255, .56);\n transform-origin: left;\n animation: dxr-pulse 2.2s ease-in-out infinite;\n}\n.dxr-card i:nth-child(2) { width: 76%; animation-delay: -.45s; }\n.dxr-card i:nth-child(3) { width: 88%; animation-delay: -.85s; }\n.dxr-card i:nth-child(4) { width: 58%; background: rgba(255, 111, 139, .75); animation-delay: -1.2s; }\n.dxr-chip {\n position: absolute;\n display: grid;\n width: 34px;\n height: 34px;\n place-items: center;\n border: 1px solid rgba(255, 255, 255, .17);\n border-radius: 11px;\n background: rgba(12, 28, 49, .88);\n box-shadow: 0 12px 30px rgba(0, 0, 0, .28);\n font-size: 11px;\n font-weight: 850;\n}\n.dxr-chip.dxr-b { left: 2%; top: 30%; color: #52e5ff; animation: dxr-chip 3s ease-in-out infinite; }\n.dxr-chip.dxr-r { right: -2%; bottom: 24%; color: #ff8da0; animation: dxr-chip 3s -1.4s ease-in-out infinite; }\n.dxr-chip.dxr-s { left: 20%; bottom: 0; color: #52e0a2; animation: dxr-chip 3s -.7s ease-in-out infinite; }\n.dxr-eyebrow { color: #52e5ff; font-size: 10px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }\n.dxr-loader h2 {\n margin: 10px auto 10px;\n max-width: 520px;\n font-size: clamp(23px, 5vw, 40px);\n line-height: 1.05;\n letter-spacing: -.045em;\n}\n.dxr-loader-copy > p { margin: 0 auto; max-width: 46ch; color: #9eb2c9; font-size: 13.5px; line-height: 1.6; }\n.dxr-ad {\n display: flex;\n gap: 12px;\n margin: 20px auto 0;\n max-width: 420px;\n padding: 13px;\n border: 1px solid rgba(126, 160, 200, .16);\n border-radius: 13px;\n background: rgba(255, 255, 255, .04);\n text-align: left;\n}\n.dxr-ad .dxr-num { color: #b26cff; font: 800 10px/1.4 var(--dxr-mono); }\n.dxr-ad strong { display: block; font-size: 12.5px; }\n.dxr-ad .dxr-adcopy { display: block; margin-top: 4px; color: #849bb5; font-size: 11.5px; line-height: 1.45; }\n.dxr-ad[data-swap] { animation: dxr-swap .4s ease; }\n.dxr-track {\n height: 3px;\n margin: 22px auto 0;\n max-width: 420px;\n overflow: hidden;\n border-radius: 999px;\n background: rgba(255, 255, 255, .09);\n}\n.dxr-bar {\n width: 12%;\n height: 100%;\n border-radius: inherit;\n background: linear-gradient(90deg, #52e5ff, #5c7cff, #b26cff);\n box-shadow: 0 0 16px rgba(82, 229, 255, .55);\n transition: width .65s cubic-bezier(.22, .8, .28, 1);\n}\n.dxr-meta {\n display: flex;\n justify-content: space-between;\n gap: 14px;\n margin: 9px auto 0;\n max-width: 420px;\n color: #647e9c;\n font: 700 9px/1 var(--dxr-mono);\n letter-spacing: .09em;\n text-transform: uppercase;\n}\n.dxr-retry {\n display: none;\n margin-top: 18px;\n padding: 9px 14px;\n border: 1px solid rgba(255, 127, 145, .4);\n border-radius: 9px;\n background: rgba(255, 127, 145, .12);\n color: #fff;\n cursor: pointer;\n}\n.dxr-loader[data-error] .dxr-retry { display: inline-flex; }\n.dxr-loader[data-error] .dxr-visual { opacity: .35; }\n\n/* Two columns once there is room \u2014 the visual earns its space beside the copy. */\n@media (min-width: 760px) {\n .dxr-loader-grid {\n grid-template-columns: minmax(220px, .8fr) minmax(300px, 1.2fr);\n gap: clamp(28px, 6vw, 72px);\n text-align: left;\n }\n .dxr-visual { width: min(280px, 30vw); }\n .dxr-loader h2 { margin-left: 0; }\n .dxr-loader-copy > p { margin-left: 0; min-height: 44px; }\n .dxr-ad, .dxr-track, .dxr-meta { margin-left: 0; }\n}\n\n@keyframes dxr-spin { to { transform: rotate(360deg); } }\n@keyframes dxr-float { 0%, 100% { transform: translateY(-5px) rotate(-2deg); } 50% { transform: translateY(7px) rotate(1deg); } }\n@keyframes dxr-chip { 0%, 100% { transform: translateY(-4px); } 50% { transform: translateY(5px); } }\n@keyframes dxr-pulse { 0%, 100% { transform: scaleX(.65); opacity: .45; } 50% { transform: scaleX(1); opacity: .95; } }\n@keyframes dxr-swap { from { opacity: .1; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }\n\n@media (prefers-reduced-motion: reduce) {\n .dxr *, .dxr *::before, .dxr *::after {\n animation-duration: .01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: .01ms !important;\n }\n}\n";
33
+ export declare const RIBBON_CSS = "\n.dxr {\n --dxr-ink: #101418;\n --dxr-sheet: #ffffff;\n --dxr-chrome: #eef1f6;\n --dxr-chrome-sunk: #e3e8f0;\n --dxr-rule: #d3dae4;\n --dxr-accent: #1f5fd0;\n --dxr-wash: #dde8fb;\n --dxr-muted: #5d6975;\n --dxr-data: #0b6f6a;\n --dxr-danger: #a3341f;\n --dxr-desk: #dfe3ea;\n --dxr-ui: system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif;\n --dxr-mono: ui-monospace, SFMono-Regular, \"Cascadia Mono\", Consolas, monospace;\n --dxr-tap: 30px;\n\n position: relative;\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n isolation: isolate;\n font-family: var(--dxr-ui);\n color: var(--dxr-ink);\n background: var(--dxr-desk);\n -webkit-text-size-adjust: 100%;\n}\n.dxr *, .dxr *::before, .dxr *::after { box-sizing: border-box; }\n\n/* Touch devices get bigger hit targets everywhere the token is used. */\n@media (pointer: coarse) { .dxr { --dxr-tap: 40px; } }\n\n/* \u2500\u2500 Chrome shell \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.dxr-chrome {\n position: sticky;\n top: 0;\n z-index: 10;\n flex: 0 0 auto;\n background: var(--dxr-chrome);\n border-bottom: 1px solid var(--dxr-rule);\n}\n\n.dxr-titlebar {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 6px 10px 0;\n}\n.dxr-brand {\n display: flex;\n align-items: baseline;\n gap: 7px;\n min-width: 0;\n font-size: 13px;\n font-weight: 600;\n letter-spacing: -.01em;\n}\n.dxr-brand .dxr-mark {\n flex: 0 0 auto;\n width: 9px;\n height: 9px;\n background: var(--dxr-accent);\n clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);\n}\n.dxr-brand .dxr-docname {\n overflow: hidden;\n max-width: 22ch;\n color: var(--dxr-muted);\n font-size: 12px;\n font-weight: 400;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.dxr-quick { flex: 0 0 auto; display: flex; align-items: center; gap: 3px; }\n.dxr-titlebar .dxr-spacer { flex: 1; }\n.dxr-status {\n overflow: hidden;\n max-width: 42ch;\n color: var(--dxr-muted);\n font-family: var(--dxr-mono);\n font-size: 11.5px;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* \u2500\u2500 Tab strip \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.dxr-tabs {\n display: flex;\n gap: 1px;\n padding: 6px 10px 0;\n overflow-x: auto;\n scrollbar-width: none;\n}\n.dxr-tabs::-webkit-scrollbar { display: none; }\n.dxr-tab {\n flex: 0 0 auto;\n padding: 6px 15px 7px;\n border: 1px solid transparent;\n border-bottom: none;\n border-radius: 5px 5px 0 0;\n background: none;\n color: var(--dxr-muted);\n font: inherit;\n font-size: 12.5px;\n cursor: pointer;\n}\n.dxr-tab:hover { color: var(--dxr-ink); background: #e6ebf3; }\n.dxr-tab[aria-selected=\"true\"] {\n color: var(--dxr-ink);\n font-weight: 600;\n background: var(--dxr-chrome-sunk);\n border-color: var(--dxr-rule);\n box-shadow: inset 0 2px 0 var(--dxr-accent);\n}\n/* Contextual tab \u2014 present only while the caret is inside a table. */\n.dxr-tab[data-contextual] { color: var(--dxr-accent); }\n.dxr-tab[hidden] { display: none; }\n\n/* \u2500\u2500 Ribbon panels \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.dxr-ribbon { background: var(--dxr-chrome-sunk); border-top: 1px solid var(--dxr-rule); }\n.dxr-ribbon[aria-disabled=\"true\"] { opacity: .45; pointer-events: none; }\n.dxr-panel {\n display: none;\n align-items: stretch;\n padding: 7px 10px 8px;\n overflow-x: auto;\n overscroll-behavior-x: contain;\n}\n.dxr-panel[data-active] { display: flex; }\n/* Group label sits ABOVE its controls (a spec-sheet reading), with hairline\n dividers rather than boxes \u2014 lighter than the boxed, label-under convention. */\n.dxr-group {\n flex: 0 0 auto;\n display: flex;\n flex-direction: column;\n gap: 5px;\n padding: 0 13px;\n border-right: 1px solid var(--dxr-rule);\n}\n.dxr-group:last-child { border-right: none; }\n.dxr-group:first-child { padding-left: 0; }\n.dxr-glabel {\n color: var(--dxr-muted);\n font-size: 9.5px;\n font-weight: 600;\n letter-spacing: .11em;\n text-transform: uppercase;\n}\n.dxr-row { display: flex; gap: 3px; align-items: center; }\n\n/* \u2500\u2500 Controls \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.dxr button, .dxr label.dxr-btn {\n min-height: var(--dxr-tap);\n padding: 5px 9px;\n border: 1px solid transparent;\n border-radius: 4px;\n background: none;\n color: var(--dxr-ink);\n font: inherit;\n font-size: 13px;\n line-height: 1.15;\n cursor: pointer;\n}\n.dxr label.dxr-btn { display: inline-flex; align-items: center; }\n.dxr button:hover, .dxr label.dxr-btn:hover { background: #d6deea; }\n.dxr button:active { background: #c8d3e3; }\n.dxr button:disabled { opacity: .38; cursor: default; background: none; }\n.dxr button.dxr-on { color: var(--dxr-accent); background: var(--dxr-wash); border-color: #b3ccf2; }\n.dxr-quick button, .dxr-quick label.dxr-btn {\n padding: 4px 10px;\n border-color: var(--dxr-rule);\n background: #f7f9fc;\n font-size: 12.5px;\n}\n.dxr-quick button:hover, .dxr-quick label.dxr-btn:hover { background: #fff; border-color: #b9c4d4; }\n.dxr-quick button:disabled:hover { background: #f7f9fc; border-color: var(--dxr-rule); }\n.dxr button.dxr-icon { min-width: var(--dxr-tap); text-align: center; }\n/* Icons are inline SVG drawn from the same shapes the control acts on (text lines,\n rules), so alignment and indent read at a glance instead of relying on arrow\n glyphs that collide with undo/redo. currentColor keeps them in step with state. */\n.dxr button svg { display: block; margin: 0 auto; fill: currentColor; }\n.dxr button.dxr-wide { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }\n.dxr button.dxr-danger:hover { color: var(--dxr-danger); background: #f6dcd6; }\n.dxr select, .dxr input[type=\"number\"], .dxr input[type=\"text\"] {\n min-height: var(--dxr-tap);\n padding: 4px 6px;\n border: 1px solid var(--dxr-rule);\n border-radius: 4px;\n background: #f7f9fc;\n color: var(--dxr-ink);\n font: inherit;\n font-size: 12.5px;\n}\n.dxr select:focus-visible, .dxr input:focus-visible, .dxr button:focus-visible,\n.dxr .dxr-tab:focus-visible, .dxr label.dxr-btn:focus-within {\n outline: 2px solid var(--dxr-accent);\n outline-offset: 1px;\n}\n.dxr [data-dxr=\"fontsize\"] { width: 62px; }\n.dxr [data-dxr=\"fontfamily\"] { max-width: 132px; }\n.dxr [data-dxr=\"pgstart\"] { width: 64px; }\n.dxr-toggle {\n display: inline-flex;\n gap: 5px;\n align-items: center;\n color: var(--dxr-ink);\n font-size: 12.5px;\n white-space: nowrap;\n cursor: pointer;\n}\n.dxr-note { color: var(--dxr-muted); font-size: 11.5px; }\n\n/* \u2500\u2500 Anchor rail \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n The addressing spine made permanent chrome. Every block in this editor is\n addressable as kind:scope:unid, and the model of record is a live WASM session \u2014\n so the surface states both, live, instead of hiding them behind devtools. It also\n reports each command's real cost, which is what a smoke test needs to see. */\n.dxr-rail {\n display: flex;\n align-items: center;\n height: 25px;\n padding: 0 10px;\n overflow-x: auto;\n background: #f7f9fc;\n border-top: 1px solid var(--dxr-rule);\n color: var(--dxr-muted);\n font-family: var(--dxr-mono);\n font-size: 11.5px;\n scrollbar-width: none;\n}\n.dxr-rail::-webkit-scrollbar { display: none; }\n.dxr-rail .dxr-cell {\n display: flex;\n align-items: baseline;\n gap: 6px;\n padding: 0 13px;\n border-right: 1px solid var(--dxr-rule);\n white-space: nowrap;\n}\n.dxr-rail .dxr-cell:first-child { padding-left: 0; }\n.dxr-rail .dxr-cell:last-child { border-right: none; }\n.dxr-rail .dxr-k {\n color: #8b96a3;\n font-family: var(--dxr-ui);\n font-size: 9.5px;\n letter-spacing: .1em;\n text-transform: uppercase;\n}\n.dxr-rail .dxr-v { color: var(--dxr-data); }\n.dxr-rail .dxr-v.dxr-flash { animation: dxr-railflash .45s ease-out; }\n@keyframes dxr-railflash { from { background: #b9ecdf; } to { background: transparent; } }\n\n/* \u2500\u2500 Hint \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.dxr-hint {\n flex: 0 0 auto;\n max-width: 920px;\n margin: 0 auto;\n padding: 9px 16px 0;\n color: var(--dxr-muted);\n font-size: 12px;\n line-height: 1.5;\n}\n.dxr-hint kbd {\n padding: 0 4px;\n border: 1px solid var(--dxr-rule);\n border-radius: 3px;\n background: #e8ecf3;\n font-family: var(--dxr-mono);\n font-size: 11px;\n}\n\n/* \u2500\u2500 Document surface \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n The surface is also the element the converter's own stylesheet treats as the\n document body: in an embed, its \"body { margin: 20px }\" is rewritten to\n [data-docxodus-embed-root=\"dN\"] [data-dxr-surface] \u2014 (0,2,0), and inserted AFTER\n this sheet, so it wins a tie. Rules that own the SHEET BOX (centering, page\n padding, the paper itself) therefore qualify with the root's data-chrome to reach\n (0,3,0). Rules that only style CONTENT stay unqualified \u2014 there the converter\n SHOULD win.\n (No backticks in this file's comments: the stylesheet is a template literal.) */\n.dxr-scroll { flex: 1 1 auto; min-height: 0; overflow: auto; -webkit-overflow-scrolling: touch; }\n.dxr[data-chrome] .dxr-surface { margin: 26px auto; padding: 0 16px 96px; }\n.dxr-surface [contenteditable=\"true\"]:focus {\n outline: 2px solid var(--dxr-accent);\n outline-offset: 2px;\n border-radius: 2px;\n}\n@media (hover: hover) { .dxr-surface [contenteditable=\"true\"]:hover { background: #f2f7ff; } }\n\n/* Header/footer bands: stories live in their own OOXML parts outside the body,\n so they dock as their own regions. Styled from the same tokens as the ribbon\n so the surface reads as one instrument rather than two apps. */\n.dxr-surface .docx-hf-band {\n /* Docked outside the zoomed sheet, so it takes the page's on-screen width from the\n custom property the viewport publishes rather than stretching to the whole surface. */\n width: min(100%, var(--docx-sheet-width, 100%));\n margin: 0 auto 14px;\n padding: 9px 72px 13px;\n border: 1px solid var(--dxr-rule);\n border-left: 2px solid #c2ccd9;\n border-radius: 3px;\n background: var(--dxr-sheet);\n}\n.dxr-surface .docx-hf-band + .docx-body-flow { margin-top: 0; }\n.dxr-surface .docx-hf-band[data-hf-band=\"footer\"] { margin: 14px auto 0; }\n.dxr-surface .docx-hf-chrome {\n display: flex;\n gap: 8px;\n align-items: center;\n flex-wrap: wrap;\n margin: 0 0 7px -60px;\n color: var(--dxr-muted);\n font-size: 9.5px;\n font-weight: 600;\n letter-spacing: .11em;\n text-transform: uppercase;\n}\n.dxr-surface .docx-hf-chrome select, .dxr-surface .docx-hf-chrome input {\n padding: 3px 5px;\n border: 1px solid var(--dxr-rule);\n border-radius: 4px;\n background: #f7f9fc;\n color: var(--dxr-ink);\n font: inherit;\n font-family: var(--dxr-ui);\n font-size: 12.5px;\n font-weight: 400;\n letter-spacing: normal;\n text-transform: none;\n}\n.dxr-surface .docx-hf-chrome input[data-hf-pagestart] { width: 64px; }\n.dxr-surface .docx-hf-label { font-weight: 600; }\n.dxr-surface .docx-hf-warning {\n margin: 0 0 8px -60px;\n padding: 7px 9px;\n border: 1px solid #e8d9a8;\n border-left: 2px solid #c9a227;\n border-radius: 3px;\n background: #fdf6e3;\n color: #6b5310;\n font-size: 12px;\n line-height: 1.45;\n}\n.dxr-surface .docx-hf-warning button {\n margin-left: 6px;\n padding: 2px 8px;\n border-color: #e8d9a8;\n background: #fff;\n font-size: 12px;\n}\n.dxr-surface .docx-hf-placeholder { color: #9aa4b1; font-style: italic; }\n.dxr-surface .docx-hf-inherited {\n color: var(--dxr-muted);\n font-style: italic;\n font-weight: 400;\n letter-spacing: normal;\n text-transform: none;\n}\n.dxr-surface .docx-hf-band[data-hf-inherited] { border-style: dashed; }\n/* The sheet IS the page. The editor's viewport sizes .docx-body-flow to the section's page\n width and its section wrappers to the authored text column, so the horizontal gutters here\n are the document's own w:sectPr margins, not a padding this chrome invents; only the\n vertical breathing room is ours. Centering is left to margin:auto so a page the viewport\n has zoomed to fit stays centered at its scaled width. */\n.dxr[data-chrome] .dxr-surface[data-view=\"continuous\"] .docx-body-flow {\n max-width: 100%;\n margin: 0 auto;\n padding: 56px 0;\n border-radius: 3px;\n background: var(--dxr-sheet);\n box-shadow: 0 1px 3px rgba(16, 20, 24, .14), 0 8px 24px rgba(16, 20, 24, .05);\n}\n\n/* \u2500\u2500 Table size picker \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.dxr-pop {\n display: none;\n position: absolute;\n z-index: 30;\n padding: 9px;\n border: 1px solid var(--dxr-rule);\n border-radius: 6px;\n background: #fff;\n box-shadow: 0 4px 16px rgba(16, 20, 24, .18);\n}\n.dxr-pop[data-open] { display: block; }\n.dxr-gridcells { display: grid; grid-template-columns: repeat(10, 16px); gap: 2px; }\n.dxr-gridcells div {\n width: 16px;\n height: 16px;\n border: 1px solid var(--dxr-rule);\n border-radius: 2px;\n background: #f2f5f9;\n cursor: pointer;\n}\n.dxr-gridcells div[data-on] { background: var(--dxr-wash); border-color: var(--dxr-accent); }\n.dxr-popfoot {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n gap: 10px;\n margin-top: 8px;\n font-size: 12px;\n}\n\n/* \u2500\u2500 Compact chrome (the mobile-first base) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n One scrolling strip per tab instead of a multi-row ribbon: group labels turn\n into inline dividers, the rail and hint step aside, and the picker becomes a\n bottom sheet because there is no room to hang a popover off a button. */\n/* A 320px phone cannot hold the product name AND the file actions, and the file\n actions are what a user came for. The strip also scrolls, so nothing is stranded. */\n.dxr[data-chrome=\"compact\"] .dxr-titlebar {\n gap: 6px;\n padding: 5px 8px 0;\n overflow-x: auto;\n scrollbar-width: none;\n}\n.dxr[data-chrome=\"compact\"] .dxr-titlebar::-webkit-scrollbar { display: none; }\n.dxr[data-chrome=\"compact\"] .dxr-brandname { display: none; }\n.dxr[data-chrome=\"compact\"] .dxr-brand { flex: 0 1 auto; }\n/* A filename clipped to \"do...\" tells you less than no filename at all, so it keeps a\n readable floor and the strip scrolls instead. The tighter file-action padding is what\n buys that floor back on a 390px screen. */\n.dxr[data-chrome=\"compact\"] .dxr-brand .dxr-docname { min-width: 6ch; max-width: 14ch; }\n.dxr[data-chrome=\"compact\"] .dxr-quick button,\n.dxr[data-chrome=\"compact\"] .dxr-quick label.dxr-btn { padding: 4px 8px; }\n.dxr[data-chrome=\"compact\"] .dxr-status { display: none; }\n.dxr[data-chrome=\"compact\"] .dxr-tabs { padding: 5px 8px 0; }\n.dxr[data-chrome=\"compact\"] .dxr-tab { padding: 6px 12px 7px; font-size: 12px; }\n.dxr[data-chrome=\"compact\"] .dxr-panel {\n align-items: center;\n gap: 4px;\n padding: 5px 8px;\n scroll-snap-type: x proximity;\n}\n.dxr[data-chrome=\"compact\"] .dxr-group {\n flex-direction: row;\n align-items: center;\n gap: 4px;\n padding: 0 8px;\n scroll-snap-align: start;\n}\n.dxr[data-chrome=\"compact\"] .dxr-glabel { display: none; }\n.dxr[data-chrome=\"compact\"] .dxr-note { display: none; }\n.dxr[data-chrome=\"compact\"] .dxr-rail { display: none; }\n.dxr[data-chrome=\"compact\"] .dxr-hint { display: none; }\n/* Compact trims the chrome around the page, never the page: the document's own column width\n is what the viewport's fit-to-width zoom scales, so a phone shows a whole smaller page\n instead of a narrower one that breaks its lines somewhere Word never would. */\n.dxr[data-chrome=\"compact\"] .dxr-surface { margin: 12px auto; padding: 0 10px 64px; }\n.dxr[data-chrome=\"compact\"] .dxr-surface[data-view=\"continuous\"] .docx-body-flow { padding: 22px 0; }\n.dxr[data-chrome=\"compact\"] .dxr-surface .docx-hf-band { padding: 9px 18px 13px; }\n.dxr[data-chrome=\"compact\"] .dxr-surface .docx-hf-chrome,\n.dxr[data-chrome=\"compact\"] .dxr-surface .docx-hf-warning { margin-left: 0; }\n/* A popover anchored to a button has nowhere to go on a narrow surface, so the\n picker docks to the bottom edge where a thumb already is. */\n.dxr[data-chrome=\"compact\"] .dxr-pop[data-open] {\n position: fixed;\n left: 50%;\n right: auto;\n bottom: 12px;\n top: auto !important;\n transform: translateX(-50%);\n max-width: calc(100vw - 20px);\n}\n\n/* \u2500\u2500 Loading overlay \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n Kept from the shipped demo: the wait is real (a .NET runtime is streaming), so\n the surface spends it explaining what is being built rather than showing a\n spinner. It covers the whole instrument so half-built chrome never flashes. */\n.dxr-loader {\n position: absolute;\n inset: 0;\n z-index: 40;\n display: grid;\n place-items: center;\n padding: 24px;\n color: #f4f9ff;\n background:\n radial-gradient(circle at 20% 20%, rgba(63, 128, 255, .24), transparent 22rem),\n radial-gradient(circle at 82% 80%, rgba(176, 91, 255, .22), transparent 24rem),\n linear-gradient(145deg, #071221 0%, #0b1930 52%, #101426 100%);\n transition: opacity .55s ease, visibility .55s ease;\n}\n.dxr-loader[hidden] { display: none; }\n/* pointer-events drops the instant the fade starts: the surface underneath is already\n live, so a click during the half-second fade should reach it rather than be eaten. */\n.dxr-loader[data-done] { opacity: 0; visibility: hidden; pointer-events: none; }\n.dxr-loader-grid {\n width: min(850px, 100%);\n display: grid;\n grid-template-columns: 1fr;\n align-items: center;\n gap: 22px;\n text-align: center;\n}\n.dxr-visual { position: relative; width: min(170px, 52vw); aspect-ratio: 1; margin: 0 auto; }\n.dxr-orbit {\n position: absolute;\n inset: 7%;\n border: 1px solid rgba(115, 204, 255, .22);\n border-radius: 50%;\n animation: dxr-spin 9s linear infinite;\n}\n.dxr-orbit.dxr-two {\n inset: 20%;\n border-style: dashed;\n border-color: rgba(196, 128, 255, .32);\n animation-duration: 6s;\n animation-direction: reverse;\n}\n.dxr-orbit::before, .dxr-orbit::after {\n position: absolute;\n width: 10px;\n height: 10px;\n border-radius: 50%;\n content: \"\";\n background: #52e5ff;\n box-shadow: 0 0 18px #52e5ff;\n}\n.dxr-orbit::before { top: -5px; left: 50%; }\n.dxr-orbit::after { right: 7%; bottom: 12%; background: #b26cff; box-shadow: 0 0 18px #b26cff; }\n.dxr-card {\n position: absolute;\n inset: 24% 28%;\n padding: 20px 15px;\n border: 1px solid rgba(255, 255, 255, .33);\n border-radius: 14px;\n background: linear-gradient(150deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .06));\n box-shadow: 0 22px 50px rgba(0, 0, 0, .35), 0 0 45px rgba(71, 150, 255, .13);\n backdrop-filter: blur(10px);\n animation: dxr-float 3.6s ease-in-out infinite;\n}\n.dxr-card::before {\n position: absolute;\n top: -9px;\n right: -9px;\n padding: 4px 7px;\n border-radius: 6px;\n background: #52e5ff;\n color: #06111d;\n content: \"DOCX\";\n font-size: 8px;\n font-weight: 900;\n letter-spacing: .12em;\n}\n.dxr-card i {\n display: block;\n height: 4px;\n margin-bottom: 10px;\n border-radius: 4px;\n background: rgba(255, 255, 255, .56);\n transform-origin: left;\n animation: dxr-pulse 2.2s ease-in-out infinite;\n}\n.dxr-card i:nth-child(2) { width: 76%; animation-delay: -.45s; }\n.dxr-card i:nth-child(3) { width: 88%; animation-delay: -.85s; }\n.dxr-card i:nth-child(4) { width: 58%; background: rgba(255, 111, 139, .75); animation-delay: -1.2s; }\n.dxr-chip {\n position: absolute;\n display: grid;\n width: 34px;\n height: 34px;\n place-items: center;\n border: 1px solid rgba(255, 255, 255, .17);\n border-radius: 11px;\n background: rgba(12, 28, 49, .88);\n box-shadow: 0 12px 30px rgba(0, 0, 0, .28);\n font-size: 11px;\n font-weight: 850;\n}\n.dxr-chip.dxr-b { left: 2%; top: 30%; color: #52e5ff; animation: dxr-chip 3s ease-in-out infinite; }\n.dxr-chip.dxr-r { right: -2%; bottom: 24%; color: #ff8da0; animation: dxr-chip 3s -1.4s ease-in-out infinite; }\n.dxr-chip.dxr-s { left: 20%; bottom: 0; color: #52e0a2; animation: dxr-chip 3s -.7s ease-in-out infinite; }\n.dxr-eyebrow { color: #52e5ff; font-size: 10px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }\n.dxr-loader h2 {\n margin: 10px auto 10px;\n max-width: 520px;\n font-size: clamp(23px, 5vw, 40px);\n line-height: 1.05;\n letter-spacing: -.045em;\n}\n.dxr-loader-copy > p { margin: 0 auto; max-width: 46ch; color: #9eb2c9; font-size: 13.5px; line-height: 1.6; }\n.dxr-ad {\n display: flex;\n gap: 12px;\n margin: 20px auto 0;\n max-width: 420px;\n padding: 13px;\n border: 1px solid rgba(126, 160, 200, .16);\n border-radius: 13px;\n background: rgba(255, 255, 255, .04);\n text-align: left;\n}\n.dxr-ad .dxr-num { color: #b26cff; font: 800 10px/1.4 var(--dxr-mono); }\n.dxr-ad strong { display: block; font-size: 12.5px; }\n.dxr-ad .dxr-adcopy { display: block; margin-top: 4px; color: #849bb5; font-size: 11.5px; line-height: 1.45; }\n.dxr-ad[data-swap] { animation: dxr-swap .4s ease; }\n.dxr-track {\n height: 3px;\n margin: 22px auto 0;\n max-width: 420px;\n overflow: hidden;\n border-radius: 999px;\n background: rgba(255, 255, 255, .09);\n}\n.dxr-bar {\n width: 12%;\n height: 100%;\n border-radius: inherit;\n background: linear-gradient(90deg, #52e5ff, #5c7cff, #b26cff);\n box-shadow: 0 0 16px rgba(82, 229, 255, .55);\n transition: width .65s cubic-bezier(.22, .8, .28, 1);\n}\n.dxr-meta {\n display: flex;\n justify-content: space-between;\n gap: 14px;\n margin: 9px auto 0;\n max-width: 420px;\n color: #647e9c;\n font: 700 9px/1 var(--dxr-mono);\n letter-spacing: .09em;\n text-transform: uppercase;\n}\n.dxr-retry {\n display: none;\n margin-top: 18px;\n padding: 9px 14px;\n border: 1px solid rgba(255, 127, 145, .4);\n border-radius: 9px;\n background: rgba(255, 127, 145, .12);\n color: #fff;\n cursor: pointer;\n}\n.dxr-loader[data-error] .dxr-retry { display: inline-flex; }\n.dxr-loader[data-error] .dxr-visual { opacity: .35; }\n\n/* Two columns once there is room \u2014 the visual earns its space beside the copy. */\n@media (min-width: 760px) {\n .dxr-loader-grid {\n grid-template-columns: minmax(220px, .8fr) minmax(300px, 1.2fr);\n gap: clamp(28px, 6vw, 72px);\n text-align: left;\n }\n .dxr-visual { width: min(280px, 30vw); }\n .dxr-loader h2 { margin-left: 0; }\n .dxr-loader-copy > p { margin-left: 0; min-height: 44px; }\n .dxr-ad, .dxr-track, .dxr-meta { margin-left: 0; }\n}\n\n@keyframes dxr-spin { to { transform: rotate(360deg); } }\n@keyframes dxr-float { 0%, 100% { transform: translateY(-5px) rotate(-2deg); } 50% { transform: translateY(7px) rotate(1deg); } }\n@keyframes dxr-chip { 0%, 100% { transform: translateY(-4px); } 50% { transform: translateY(5px); } }\n@keyframes dxr-pulse { 0%, 100% { transform: scaleX(.65); opacity: .45; } 50% { transform: scaleX(1); opacity: .95; } }\n@keyframes dxr-swap { from { opacity: .1; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }\n\n@media (prefers-reduced-motion: reduce) {\n .dxr *, .dxr *::before, .dxr *::after {\n animation-duration: .01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: .01ms !important;\n }\n}\n";
34
34
  /**
35
35
  * The ribbon's DOM, as one template.
36
36
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ribbon-chrome.d.ts","sourceRoot":"","sources":["../src/ribbon-chrome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,sFAAsF;AACtF,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,UAAU,04yBAypBtB,CAAC;AAKF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,QAuQvB,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,QAI8B,CAAC"}
1
+ {"version":3,"file":"ribbon-chrome.d.ts","sourceRoot":"","sources":["../src/ribbon-chrome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,sFAAsF;AACtF,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,UAAU,kyzBAypBtB,CAAC;AAKF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,QAuQvB,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,QAI8B,CAAC"}
@@ -312,14 +312,7 @@ export const RIBBON_CSS = `
312
312
  SHOULD win.
313
313
  (No backticks in this file's comments: the stylesheet is a template literal.) */
314
314
  .dxr-scroll { flex: 1 1 auto; min-height: 0; overflow: auto; -webkit-overflow-scrolling: touch; }
315
- .dxr[data-chrome] .dxr-surface { max-width: 920px; margin: 26px auto; padding: 0 16px 96px; }
316
- .dxr-surface[data-view="continuous"] > * { background: var(--dxr-sheet); }
317
- .dxr[data-chrome] .dxr-surface[data-view="continuous"] {
318
- padding: 56px 72px;
319
- border-radius: 3px;
320
- background: var(--dxr-sheet);
321
- box-shadow: 0 1px 3px rgba(16, 20, 24, .14), 0 8px 24px rgba(16, 20, 24, .05);
322
- }
315
+ .dxr[data-chrome] .dxr-surface { margin: 26px auto; padding: 0 16px 96px; }
323
316
  .dxr-surface [contenteditable="true"]:focus {
324
317
  outline: 2px solid var(--dxr-accent);
325
318
  outline-offset: 2px;
@@ -331,7 +324,10 @@ export const RIBBON_CSS = `
331
324
  so they dock as their own regions. Styled from the same tokens as the ribbon
332
325
  so the surface reads as one instrument rather than two apps. */
333
326
  .dxr-surface .docx-hf-band {
334
- margin: 0 0 14px;
327
+ /* Docked outside the zoomed sheet, so it takes the page's on-screen width from the
328
+ custom property the viewport publishes rather than stretching to the whole surface. */
329
+ width: min(100%, var(--docx-sheet-width, 100%));
330
+ margin: 0 auto 14px;
335
331
  padding: 9px 72px 13px;
336
332
  border: 1px solid var(--dxr-rule);
337
333
  border-left: 2px solid #c2ccd9;
@@ -339,7 +335,7 @@ export const RIBBON_CSS = `
339
335
  background: var(--dxr-sheet);
340
336
  }
341
337
  .dxr-surface .docx-hf-band + .docx-body-flow { margin-top: 0; }
342
- .dxr-surface .docx-hf-band[data-hf-band="footer"] { margin: 14px 0 0; }
338
+ .dxr-surface .docx-hf-band[data-hf-band="footer"] { margin: 14px auto 0; }
343
339
  .dxr-surface .docx-hf-chrome {
344
340
  display: flex;
345
341
  gap: 8px;
@@ -394,13 +390,15 @@ export const RIBBON_CSS = `
394
390
  text-transform: none;
395
391
  }
396
392
  .dxr-surface .docx-hf-band[data-hf-inherited] { border-style: dashed; }
397
- .dxr[data-chrome] .dxr-surface[data-view="continuous"]:has(.docx-body-flow) {
398
- padding: 0;
399
- background: transparent;
400
- box-shadow: none;
401
- }
393
+ /* The sheet IS the page. The editor's viewport sizes .docx-body-flow to the section's page
394
+ width and its section wrappers to the authored text column, so the horizontal gutters here
395
+ are the document's own w:sectPr margins, not a padding this chrome invents; only the
396
+ vertical breathing room is ours. Centering is left to margin:auto so a page the viewport
397
+ has zoomed to fit stays centered at its scaled width. */
402
398
  .dxr[data-chrome] .dxr-surface[data-view="continuous"] .docx-body-flow {
403
- padding: 56px 72px;
399
+ max-width: 100%;
400
+ margin: 0 auto;
401
+ padding: 56px 0;
404
402
  border-radius: 3px;
405
403
  background: var(--dxr-sheet);
406
404
  box-shadow: 0 1px 3px rgba(16, 20, 24, .14), 0 8px 24px rgba(16, 20, 24, .05);
@@ -479,9 +477,11 @@ export const RIBBON_CSS = `
479
477
  .dxr[data-chrome="compact"] .dxr-note { display: none; }
480
478
  .dxr[data-chrome="compact"] .dxr-rail { display: none; }
481
479
  .dxr[data-chrome="compact"] .dxr-hint { display: none; }
480
+ /* Compact trims the chrome around the page, never the page: the document's own column width
481
+ is what the viewport's fit-to-width zoom scales, so a phone shows a whole smaller page
482
+ instead of a narrower one that breaks its lines somewhere Word never would. */
482
483
  .dxr[data-chrome="compact"] .dxr-surface { margin: 12px auto; padding: 0 10px 64px; }
483
- .dxr[data-chrome="compact"] .dxr-surface[data-view="continuous"] { padding: 22px 18px; }
484
- .dxr[data-chrome="compact"] .dxr-surface[data-view="continuous"] .docx-body-flow { padding: 22px 18px; }
484
+ .dxr[data-chrome="compact"] .dxr-surface[data-view="continuous"] .docx-body-flow { padding: 22px 0; }
485
485
  .dxr[data-chrome="compact"] .dxr-surface .docx-hf-band { padding: 9px 18px 13px; }
486
486
  .dxr[data-chrome="compact"] .dxr-surface .docx-hf-chrome,
487
487
  .dxr[data-chrome="compact"] .dxr-surface .docx-hf-warning { margin-left: 0; }
package/dist/ribbon.js CHANGED
@@ -299,6 +299,8 @@ class RibbonSurface {
299
299
  fabricateClasses: this.options.fabricateClasses,
300
300
  editable: this.options.editable,
301
301
  scale: this.options.scale,
302
+ columnWidth: this.options.columnWidth,
303
+ fitToWidth: this.options.fitToWidth,
302
304
  onEdit: this.options.onEdit,
303
305
  onMove: this.options.onMove,
304
306
  paginated,