@docx-editor.dev/core 2.8.0 → 2.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/automation.cjs +1 -1
  2. package/dist/automation.d.cts +5 -6
  3. package/dist/automation.d.ts +5 -6
  4. package/dist/automation.js +1 -1
  5. package/dist/binding.cjs +1 -1
  6. package/dist/binding.d.cts +11 -12
  7. package/dist/binding.d.ts +11 -12
  8. package/dist/binding.js +1 -1
  9. package/dist/chunk-5VC5HGJA.js +2 -0
  10. package/dist/chunk-A2JIBG75.js +1 -0
  11. package/dist/chunk-DKMKH77K.cjs +5 -0
  12. package/dist/chunk-FWUI7EXG.cjs +15 -0
  13. package/dist/chunk-GZWMLQJO.js +18 -0
  14. package/dist/chunk-IEXDXWTA.cjs +1 -0
  15. package/dist/chunk-IMMAG4QP.cjs +10 -0
  16. package/dist/chunk-JTSNJQFO.js +15 -0
  17. package/dist/chunk-KBCC66CI.js +5 -0
  18. package/dist/chunk-LJ6BY6IU.cjs +18 -0
  19. package/dist/chunk-QDBAXFIK.js +2 -0
  20. package/dist/chunk-RD266XSK.cjs +2 -0
  21. package/dist/chunk-VUJGPCPU.js +10 -0
  22. package/dist/chunk-XMHWBL3K.cjs +2 -0
  23. package/dist/contracts/editor.d.cts +9 -9
  24. package/dist/contracts/editor.d.ts +9 -9
  25. package/dist/contracts/interaction.d.cts +9 -9
  26. package/dist/contracts/interaction.d.ts +9 -9
  27. package/dist/contracts/modules.d.cts +5 -5
  28. package/dist/contracts/modules.d.ts +5 -5
  29. package/dist/{custom-node-writes-BdVl-LAC.d.ts → custom-node-writes-7ERv0f_X.d.cts} +9 -10
  30. package/dist/{custom-node-writes-Bu8JIqfA.d.cts → custom-node-writes-QyVZdTUA.d.ts} +9 -10
  31. package/dist/{editor-CWlj33GH.d.cts → editor-CojjwMmF.d.cts} +4 -4
  32. package/dist/{editor-D52SD4jG.d.ts → editor-PUlv5Pp7.d.ts} +4 -4
  33. package/dist/editor.cjs +1 -1
  34. package/dist/editor.css +129 -14
  35. package/dist/editor.d.cts +25 -25
  36. package/dist/editor.d.ts +25 -25
  37. package/dist/editor.js +1 -1
  38. package/dist/{hf-references-BdjsQNE_.d.ts → hf-references-Dvk6De4Q.d.cts} +1 -2
  39. package/dist/{hf-references-CgEOSw3i.d.cts → hf-references-z5Y4N1ab.d.ts} +1 -2
  40. package/dist/{image-resources-BveffuKp.d.cts → image-resources-DQOiwOuE.d.cts} +2 -2
  41. package/dist/{image-resources-D63k8w5f.d.ts → image-resources-eZqD_-vC.d.ts} +2 -2
  42. package/dist/{index-39yzaZO_.d.cts → index-DGPSeLI0.d.cts} +66 -13
  43. package/dist/{index-ZuqIj0b9.d.ts → index-oN-v8DQ5.d.ts} +66 -13
  44. package/dist/index.cjs +1 -1
  45. package/dist/index.d.cts +18 -18
  46. package/dist/index.d.ts +18 -18
  47. package/dist/index.js +1 -1
  48. package/dist/layout.cjs +1 -1
  49. package/dist/layout.d.cts +353 -272
  50. package/dist/layout.d.ts +353 -272
  51. package/dist/layout.js +1 -1
  52. package/dist/{note-nodes-BPSTVDMr.d.ts → note-nodes-BNCANoGN.d.ts} +1 -1
  53. package/dist/{note-nodes-C6DLxlvj.d.cts → note-nodes-DL-Au22P.d.cts} +1 -1
  54. package/dist/note-properties-CQlxjic_.d.cts +67 -0
  55. package/dist/note-properties-jvnw_DGG.d.ts +67 -0
  56. package/dist/omml-equation-BD-LsmWE.d.cts +84 -0
  57. package/dist/omml-equation-Dd3mBep-.d.ts +84 -0
  58. package/dist/{ooxml-tree-BU0e3DVi.d.cts → ooxml-package-CdEy9ufK.d.cts} +352 -1
  59. package/dist/{ooxml-tree-BU0e3DVi.d.ts → ooxml-package-CdEy9ufK.d.ts} +352 -1
  60. package/dist/output.cjs +1 -1
  61. package/dist/output.d.cts +8 -8
  62. package/dist/output.d.ts +8 -8
  63. package/dist/output.js +1 -1
  64. package/dist/{protocol-CD7slqvl.d.cts → protocol-C7ahrdUx.d.ts} +28 -4
  65. package/dist/{protocol-DsbfgBwA.d.ts → protocol-UuZOcOp7.d.cts} +28 -4
  66. package/dist/{review-support--I4ChuzF.d.ts → review-items-D5SPFtsO.d.ts} +49 -102
  67. package/dist/{review-support-CG7aVSPh.d.cts → review-items-DpsqTHio.d.cts} +49 -102
  68. package/dist/review-reads-B2Ji3fVU.d.ts +176 -0
  69. package/dist/review-reads-CP106AHp.d.cts +176 -0
  70. package/dist/{revision-projection-UKqvPa4-.d.ts → revision-projection-CILpvv4M.d.ts} +1 -1
  71. package/dist/{revision-projection-WzlQGBJx.d.cts → revision-projection-Cc4wz30g.d.cts} +1 -1
  72. package/dist/{semantic-cell-selection-I-uAmi0q.d.ts → semantic-cell-selection-BWhVAk5B.d.ts} +4 -4
  73. package/dist/{semantic-cell-selection-C45Gn4K-.d.cts → semantic-cell-selection-DJPjBWzf.d.cts} +4 -4
  74. package/dist/{semantic-interaction-DVUqu_47.d.cts → semantic-interaction-BjOcDB06.d.cts} +1 -1
  75. package/dist/{semantic-interaction-Bu_3IPaV.d.ts → semantic-interaction-Cca1-X_a.d.ts} +1 -1
  76. package/dist/{semantic-paint-BKiiDJol.d.ts → semantic-paint-CufpIQFw.d.ts} +7 -7
  77. package/dist/{semantic-paint-COQY0Lnq.d.cts → semantic-paint-Ur7pAINj.d.cts} +7 -7
  78. package/dist/{semantic-records-rAKWaD-1.d.cts → semantic-records-C3Z76KeN.d.cts} +59 -5
  79. package/dist/{semantic-records-DHcMZM2-.d.ts → semantic-records-Cc1MJrhM.d.ts} +59 -5
  80. package/dist/{shaped-measurer-Cw45Nu5R.d.ts → shaped-measurer-CYSK20E2.d.cts} +2 -4
  81. package/dist/{shaped-measurer-BRL__nm2.d.cts → shaped-measurer-CwlTPDJO.d.ts} +2 -4
  82. package/dist/store.cjs +1 -1
  83. package/dist/store.d.cts +78 -18
  84. package/dist/store.d.ts +78 -18
  85. package/dist/store.js +1 -1
  86. package/dist/{tree-op-types-A-SLSKzK.d.cts → tree-op-types-B0-sCtw-.d.cts} +27 -3
  87. package/dist/{tree-op-types-BbzrA-kg.d.ts → tree-op-types-XMVsJSpe.d.ts} +27 -3
  88. package/dist/{tree-session-C2NsEgfW.d.cts → tree-session-D945D43B.d.cts} +9 -18
  89. package/dist/{tree-session-DeNJa86l.d.ts → tree-session-DBJgmdmc.d.ts} +9 -18
  90. package/dist/{tree-store-CKswbQl3.d.ts → tree-store-C6vc8E_2.d.cts} +2 -3
  91. package/dist/{tree-store-Dob9Us6Y.d.cts → tree-store-ClA-qng4.d.ts} +2 -3
  92. package/package.json +2 -2
  93. package/dist/chunk-2WIXJ7CW.js +0 -10
  94. package/dist/chunk-42PRWWVE.js +0 -2
  95. package/dist/chunk-5XKD3VFP.js +0 -18
  96. package/dist/chunk-HCSWWXS2.cjs +0 -2
  97. package/dist/chunk-HTJLSGBH.cjs +0 -18
  98. package/dist/chunk-JEHWQPXS.cjs +0 -1
  99. package/dist/chunk-KCJLRAKT.js +0 -5
  100. package/dist/chunk-KTL3UMPK.js +0 -2
  101. package/dist/chunk-M6ZIVJUA.cjs +0 -2
  102. package/dist/chunk-NU57YOQE.js +0 -15
  103. package/dist/chunk-RUS2YBWU.cjs +0 -10
  104. package/dist/chunk-TJEWP7MX.cjs +0 -15
  105. package/dist/chunk-UGUPVZDY.cjs +0 -5
  106. package/dist/chunk-XJRMFS6O.js +0 -1
  107. package/dist/chunk-XN634HAC.js +0 -2
  108. package/dist/chunk-XRDTD4X3.cjs +0 -2
  109. package/dist/content-control-walk-CbTqHq6O.d.cts +0 -56
  110. package/dist/content-control-walk-D06GijR0.d.ts +0 -56
  111. package/dist/ooxml-package-CR5us6ad.d.cts +0 -354
  112. package/dist/ooxml-package-D_CtywTW.d.ts +0 -354
  113. package/dist/review-reads-B_pXe43J.d.ts +0 -432
  114. package/dist/review-reads-Bn7aZU4u.d.cts +0 -432
@@ -1,5 +0,0 @@
1
- 'use strict';var chunkXRDTD4X3_cjs=require('./chunk-XRDTD4X3.cjs'),chunkHCSWWXS2_cjs=require('./chunk-HCSWWXS2.cjs'),chunkRUS2YBWU_cjs=require('./chunk-RUS2YBWU.cjs'),prosemirrorModel=require('prosemirror-model'),prosemirrorState=require('prosemirror-state'),prosemirrorView=require('prosemirror-view'),prosemirrorKeymap=require('prosemirror-keymap'),prosemirrorCommands=require('prosemirror-commands');function B(e){return e.attributes?.val}function L(e){let t=B(e);return t===void 0||!(t==="0"||t==="false"||t==="off")}var jn=/^[0-9A-Fa-f]{6}$/,he=/^\d{1,6}$/,$n=/^-?\d{1,6}$/;function Le(e){return e===void 0||e==="auto"?null:jn.test(e)?`#${e}`:null}var zn={single:"solid",words:"solid",thick:"solid",double:"double",dotted:"dotted",dottedHeavy:"dotted",dash:"dashed",dashedHeavy:"dashed",dashLong:"dashed",dashLongHeavy:"dashed",dotDash:"dashed",dashDotHeavy:"dashed",dotDotDash:"dashed",dashDotDotHeavy:"dashed",wave:"wavy",wavyHeavy:"wavy",wavyDouble:"wavy"},Wn={black:"#000000",blue:"#0000ff",cyan:"#00ffff",darkBlue:"#000080",darkCyan:"#008080",darkGray:"#808080",darkGreen:"#008000",darkMagenta:"#800080",darkRed:"#800000",darkYellow:"#808000",green:"#00ff00",lightGray:"#c0c0c0",magenta:"#ff00ff",red:"#ff0000",yellow:"#ffff00",white:"#ffffff"};function Un(e){return !e||!/^[\w \-.+]{1,64}$/.test(e)?null:`"${e}"`}function U(e,t=false){return e===void 0||!(t?$n:he).test(e)?null:`${Number(e)/20}pt`}function Jt(e){let t=[],n=[],o=null,s=null;for(let l of e)switch(l.localName){case "b":t.push(`font-weight:${L(l)?"bold":"normal"}`);break;case "i":t.push(`font-style:${L(l)?"italic":"normal"}`);break;case "u":{let r=B(l)??"single";if(r==="none"||!L(l))break;n.push("underline"),o=zn[r]??"solid",s=Le(l.attributes?.color);break}case "strike":L(l)&&n.push("line-through");break;case "dstrike":L(l)&&n.push("line-through");break;case "caps":L(l)&&t.push("text-transform:uppercase");break;case "smallCaps":L(l)&&t.push("font-variant:small-caps");break;case "vertAlign":{let r=B(l);r==="superscript"?t.push("vertical-align:super","font-size:0.75em"):r==="subscript"&&t.push("vertical-align:sub","font-size:0.75em");break}case "color":{let r=Le(B(l));r&&t.push(`color:${r}`);break}case "highlight":{let r=Wn[B(l)??""];r&&t.push(`background-color:${r}`);break}case "sz":{let r=B(l);r!==void 0&&he.test(r)&&t.push(`font-size:${Number(r)/2}pt`);break}case "rFonts":{let r=Un(l.attributes?.ascii??l.attributes?.hAnsi);r&&t.push(`font-family:${r}`);break}case "spacing":{let r=U(B(l),true);r&&t.push(`letter-spacing:${r}`);break}}return n.length>0&&(t.push(`text-decoration-line:${[...new Set(n)].join(" ")}`),o&&t.push(`text-decoration-style:${o}`),s&&t.push(`text-decoration-color:${s}`)),t.join(";")}var Yn={left:"left",start:"left",right:"right",end:"right",center:"center",both:"justify",distribute:"justify"};function Zt(e){let t=[];for(let n of e)switch(n.localName){case "jc":{let o=Yn[B(n)??""];o&&t.push(`text-align:${o}`);break}case "ind":{let o=U(n.attributes?.left??n.attributes?.start,true),s=U(n.attributes?.right??n.attributes?.end,true),l=U(n.attributes?.firstLine),r=U(n.attributes?.hanging);o&&t.push(`margin-left:${o}`),s&&t.push(`margin-right:${s}`),l?t.push(`text-indent:${l}`):r&&t.push(`text-indent:-${r}`);break}case "spacing":{let o=U(n.attributes?.before),s=U(n.attributes?.after);o&&t.push(`margin-top:${o}`),s&&t.push(`margin-bottom:${s}`);let l=n.attributes?.line,r=n.attributes?.lineRule;l!==void 0&&he.test(l)&&r!=="exact"&&r!=="atLeast"?t.push(`line-height:${(Number(l)/240).toFixed(3)}`):l!==void 0&&he.test(l)&&t.push(`line-height:${Number(l)/20}pt`);break}case "shd":{let o=Le(n.attributes?.fill);o&&t.push(`background-color:${o}`);break}case "pageBreakBefore":L(n)&&t.push("break-before:page");break;}return t.join(";")}var E=new prosemirrorModel.Schema({nodes:{doc:{content:"paragraph+"},paragraph:{content:"inline*",group:"block",attrs:{nodeId:{default:null},props:{default:[]}},toDOM:e=>{let t=Zt(e.attrs.props??[]);return ["p",{"data-node-id":String(e.attrs.nodeId??""),...t?{style:t}:{}},0]},parseDOM:[{tag:"p",getAttrs:e=>typeof e=="string"?null:{nodeId:e.getAttribute("data-node-id")||null,props:[]}}]},text:{group:"inline"},tab:{inline:true,group:"inline",atom:true,selectable:false,toDOM:()=>["span",{"data-token":"tab",class:"docx-tab"},"\u2192"],parseDOM:[{tag:'span[data-token="tab"]'}]},hardBreak:{inline:true,group:"inline",atom:true,selectable:false,toDOM:()=>["br"],parseDOM:[{tag:"br"}]},pageBreak:{inline:true,group:"inline",atom:true,selectable:false,toDOM:()=>["span",{"data-token":"page-break",class:"docx-page-break"}],parseDOM:[{tag:'span[data-token="page-break"]'}]},unknownInline:{inline:true,group:"inline",atom:true,selectable:false,draggable:false,attrs:{nodeId:{default:null},label:{default:""}},toDOM:e=>["span",{"data-token":"unknown","data-node-id":String(e.attrs.nodeId??""),contenteditable:"false",class:"docx-unknown-inline",title:String(e.attrs.label||"Content this editor cannot edit yet. It is preserved.")}],parseDOM:[{tag:'span[data-token="unknown"]',getAttrs:e=>typeof e=="string"?false:{nodeId:e.getAttribute("data-node-id")||null,label:""}}]}},marks:{runProps:{attrs:{props:{default:[]}},excludes:"runProps",toDOM:e=>{let t=e.attrs.props??[],n=Jt(t);return ["span",{"data-run-props":Xn(t),...n?{style:n}:{}},0]},parseDOM:[{tag:"span[data-run-props]",getAttrs:e=>{if(typeof e=="string")return false;let t=Kn(e.getAttribute("data-run-props"));return t?{props:t}:false}}]}}});function Xn(e){return JSON.stringify(Array.isArray(e)?e:[])}function Kn(e){if(!e)return null;try{let t=JSON.parse(e);if(!Array.isArray(t))return null;let n=[];for(let o of t){if(typeof o!="object"||o===null)return null;let s=o;if(typeof s.localName!="string"||s.attributes!==void 0&&(typeof s.attributes!="object"||s.attributes===null))return null;n.push(s.attributes===void 0?{localName:s.localName}:{localName:s.localName,attributes:s.attributes});}return n}catch{return null}}function Be(e){for(let t of e.marks)if(t.type.name==="runProps")return t.attrs.props??[];return []}function xe(e,t){return JSON.stringify(ke(e))===JSON.stringify(ke(t))}function ke(e){return [...e].map(t=>({localName:t.localName,attributes:Object.fromEntries(Object.entries(t.attributes??{}).sort(([n],[o])=>n<o?-1:1))})).sort((t,n)=>t.localName<n.localName?-1:1)}function He(e){if(!e||e.kind==="textValue")return [];let t=[];for(let n of e.children){if(n.kind==="textValue")continue;let o={};for(let s of n.attributes)o[s.localName]=s.value;t.push(Object.keys(o).length>0?{localName:n.localName,attributes:o}:{localName:n.localName});}return t}function Vt(e){return e.kind==="textValue"?"":`${{drawing:"Picture",pict:"Picture",object:"Embedded object",fldSimple:"Field",hyperlink:"Hyperlink",sdt:"Content control",tbl:"Table"}[e.localName]??e.localName} \u2014 preserved, not editable yet`}function G(e){if(e.kind==="textValue")return [];let t=[],n=o=>{if(o.kind!=="run")return;let s=o.children.find(r=>r.kind==="runProperties"),l=He(s);for(let r of o.children)if(r.kind!=="runProperties"){if(r.kind==="tab"){t.push({kind:"tab"});continue}if(r.kind==="hardBreak"){t.push(chunkRUS2YBWU_cjs.Zb(r)?{kind:"pageBreak"}:{kind:"hardBreak"});continue}if(r.kind==="text"){let f="";for(let m of r.children)m.kind==="textValue"&&(f+=m.value);f.length>0&&t.push({kind:"text",text:f,props:l});continue}t.push({kind:"unknown",nodeId:r.id,label:Vt(r)});}};return chunkRUS2YBWU_cjs.Sb(e.children,0,o=>{if(o.kind==="run"){n(o);return}t.push({kind:"unknown",nodeId:o.id,label:Vt(o)});}),t}function H(e){let t=[],n=o=>{if(o.kind!=="textValue"){if(o.kind==="body"){for(let s of o.children)s.kind==="paragraph"&&t.push(s);return}for(let s of o.children)n(s);}};return n(e.root),t}var Qt=chunkRUS2YBWU_cjs.Ie(16);function D(e){let t=Qt.get(e);if(t)return t;let n=[];for(let o of chunkRUS2YBWU_cjs.De(e))o.root.kind!=="textValue"&&chunkRUS2YBWU_cjs.He(o.root.children,n,0);return Qt.set(e,n),n}function Y(e){let t=H(e).map(n=>{let o=n.kind==="textValue"?void 0:n.children.find(l=>l.kind==="paragraphProperties"),s=G(n).map(l=>{switch(l.kind){case "text":return E.text(l.text,l.props.length>0?[E.marks.runProps.create({props:l.props})]:[]);case "tab":return E.node("tab");case "hardBreak":return E.node("hardBreak");case "pageBreak":return E.node("pageBreak");default:return E.node("unknownInline",{nodeId:l.nodeId,label:l.label})}});return E.node("paragraph",{nodeId:n.id,props:He(o)},s)});return E.node("doc",null,t.length>0?t:[E.node("paragraph")])}function Z(e){let t=[];return e.forEach(n=>{if(n.isText&&n.text){t.push({kind:"text",text:n.text,props:Be(n)});return}n.type.name==="tab"?t.push({kind:"tab"}):n.type.name==="hardBreak"?t.push({kind:"hardBreak"}):n.type.name==="pageBreak"?t.push({kind:"pageBreak"}):n.type.name==="unknownInline"&&t.push({kind:"unknown",nodeId:String(n.attrs.nodeId??""),label:String(n.attrs.label??"")});}),t}function C(e){let t="";for(let n of e)n.kind==="text"?t+=n.text:n.kind==="tab"?t+=" ":n.kind==="hardBreak"?t+=`
2
- `:n.kind==="pageBreak"&&(t+=chunkRUS2YBWU_cjs.Xb);return t}function qt(e){let t=[],n=0;for(let o of e)o.kind==="text"?n+=o.text.length:o.kind==="tab"||o.kind==="hardBreak"||o.kind==="pageBreak"?n+=1:t.push(`${o.nodeId}@${n}`);return t}function Jn(e,t){if(e===t)return null;let n=0,o=Math.min(e.length,t.length);for(;n<o&&e[n]===t[n];)n+=1;let s=e.length,l=t.length;for(;s>n&&l>n&&e[s-1]===t[l-1];)s-=1,l-=1;return {start:n,endBefore:s,endAfter:l}}function en(e){let t=[];for(let n of e)if(n.kind==="text")for(let o=0;o<n.text.length;o+=1)t.push(n.props);else (n.kind==="tab"||n.kind==="hardBreak"||n.kind==="pageBreak")&&t.push(t[t.length-1]??[]);return t}function Zn(e,t,n,o,s){let l=[],r=qt(t),f=qt(n);if(JSON.stringify(r)!==JSON.stringify(f))return {ok:false,reason:"unknown-content-moved",detail:e};xe(o,s)||l.push({op:"setParagraphProperties",paragraphId:e,properties:ke(s)});let m=C(t),p=C(n),g=Jn(m,p);if(g&&(g.endBefore>g.start&&l.push({op:"deleteText",paragraphId:e,start:g.start,end:g.endBefore}),g.endAfter>g.start)){let h=p.slice(g.start,g.endAfter),y=g.start,c="",k=()=>{c.length!==0&&(l.push({op:"insertText",paragraphId:e,offset:y,text:c}),y+=c.length,c="");};for(let b of h)b===" "?(k(),l.push({op:"insertTab",paragraphId:e,offset:y}),y+=1):b===`
3
- `?(k(),l.push({op:"insertHardBreak",paragraphId:e,offset:y}),y+=1):b===chunkRUS2YBWU_cjs.Xb?(k(),l.push({op:"insertPageBreak",paragraphId:e,offset:y}),y+=1):c+=b;k();}if(!g){let h=en(t),y=en(n),c=0;for(;c<y.length;){if(xe(h[c]??[],y[c])){c+=1;continue}let k=c,b=y[c];for(;c<y.length&&xe(y[c],b)&&!xe(h[c]??[],y[c]);)c+=1;l.push({op:"setRunProperties",paragraphId:e,start:k,end:c,properties:ke(b)});}}return {ok:true,ops:l}}function je(e,t){let n=H(e),o=[];if(t.forEach(l=>{l.type.name==="paragraph"&&o.push(l);}),o.length!==t.childCount)return {ok:false,reason:"unsupported-node"};let s=o.length-n.length;if(s===0){let l=[];for(let[r,f]of o.entries()){let m=n[r];if(f.attrs.nodeId!==m.id)return {ok:false,reason:"paragraph-reordered",detail:String(f.attrs.nodeId)};let p=Zn(m.id,G(m),Z(f),He(m.kind==="textValue"?void 0:m.children.find(g=>g.kind==="paragraphProperties")),f.attrs.props??[]);if(!p.ok)return p;l.push(...p.ops);}return {ok:true,ops:l}}return s===1?Vn(n,o):s===-1?Qn(n,o):{ok:false,reason:"paragraph-count-unexplained",detail:String(s)}}function Vn(e,t){for(let n=0;n<e.length;n+=1){let o=e[n],s=t[n],l=t[n+1];if(!s||!l||s.attrs.nodeId!==o.id)continue;let r=l.attrs.nodeId;if(r!==null&&r!==o.id)continue;let f=C(Z(s));if(f+C(Z(l))===C(G(o))&&tn(e,t,n)&&nn(e,t,n+1,n+2))return {ok:true,ops:[{op:"splitParagraph",paragraphId:o.id,offset:f.length}]}}return {ok:false,reason:"split-not-clean"}}function Qn(e,t){for(let n=0;n+1<e.length;n+=1){let o=e[n],s=e[n+1],l=t[n];if(!l||l.attrs.nodeId!==o.id)continue;let r=C(G(o))+C(G(s));if(C(Z(l))===r&&tn(e,t,n)&&nn(e,t,n+2,n+1))return {ok:true,ops:[{op:"joinParagraphs",firstId:o.id,secondId:s.id}]}}return {ok:false,reason:"join-not-clean"}}function tn(e,t,n){for(let o=0;o<n;o+=1){let s=t[o],l=e[o];if(!s||s.attrs.nodeId!==l.id||C(Z(s))!==C(G(l)))return false}return true}function nn(e,t,n,o){for(let s=0;n+s<e.length;s+=1){let l=e[n+s],r=t[o+s];if(!r||r.attrs.nodeId!==l.id||C(Z(r))!==C(G(l)))return false}return true}function qn(e,t){return chunkRUS2YBWU_cjs.Fa(e,t)!==null}function $e(e,t,n){if(!n||n.created.length>0||n.deleted.length>0||n.splitJoin.length>0)return Y(t);let o=new Map;e.forEach(m=>{let p=m.attrs.nodeId;typeof p=="string"&&o.set(p,m);});let s=new Set(n.dirty),l=H(t);if(l.length!==e.childCount)return Y(t);let r=Y(t),f=[];for(let[m,p]of l.entries()){let g=o.get(p.id);f.push(g&&!s.has(p.id)?g:r.child(m));}return E.node("doc",null,f)}function rn(e){return D(e).map(t=>chunkRUS2YBWU_cjs.Jf(e,t.id)??"").join(`
4
- `)}var eo=64,on=new WeakMap;function ze(e,t=0){if(t>eo)return false;let n=on.get(e);if(n!==void 0)return n;let o=false;for(let s of e.children)if(s.kind!=="textValue"&&(s.kind==="commentRangeStart"||s.kind==="commentReference"||ze(s,t+1))){o=true;break}return on.set(e,o),o}function to(e,t){let n=e.kind==="revision"?e.ranges[0]??null:e.range;if(!n)return null;let o=t.get(n.start.paragraphId);return o===void 0?null:o}function an(e,t,n){for(let s of t)if(s.ranges.length===0)return false;let o=new Set;for(let s of e)s.kind!=="revision"||s.ranges.length>0||sn(s,n)||o.add(chunkXRDTD4X3_cjs.b(s));for(let s of t)if(o.has(chunkXRDTD4X3_cjs.b(s)))return false;return true}function ln(e,t,n,o){let s=t.get(n);if(s===void 0)return [...e];let l=[],r=null;for(let f of e){if(f.kind==="revision"&&sn(f,n)){r===null&&(r=l.length);continue}if(r===null){let m=to(f,t);m!==null&&m>s&&(r=l.length);}l.push(f);}if(r===null&&(r=l.length),o.length>0){let f=o.length<2?[...o]:[...o].sort((m,p)=>chunkXRDTD4X3_cjs.g(m,t)-chunkXRDTD4X3_cjs.g(p,t));l.splice(r,0,...f);}return chunkRUS2YBWU_cjs.xg(l)}function sn(e,t){return e.ranges.length>0&&e.ranges.every(n=>n.start.paragraphId===t&&n.end.paragraphId===t)}function no(e,t){return e.range?e.range.start.paragraphId===t||e.range.end.paragraphId===t:false}function oo(e,t){return e.revisionKind==="structural"&&e.ranges.some(n=>n.start.paragraphId===t||n.end.paragraphId===t)}function ro(e,t){return e.ranges.length===0||!e.ranges.some(o=>o.start.paragraphId===t||o.end.paragraphId===t)?false:!e.ranges.every(o=>o.start.paragraphId===t&&o.end.paragraphId===t)}function cn(e,t,n,o,s,l,r){if(e.fromRevision!==t.bodyRevision||r!==t.packageRevision+1||e.story!==void 0&&e.story.kind!=="body"||e.impact!=="text-local"||e.dirty.length!==1||e.created.length>0||e.deleted.length>0||e.splitJoin.length>0||t.commentsPart!==s||t.commentsExtendedPart!==l)return null;let f=e.dirty[0],m=chunkRUS2YBWU_cjs.Fa(o,f);if(!m||m.kind!=="paragraph")return null;for(let p of n){if(p.kind==="comment"){if(no(p,f))return null;continue}if(p.kind==="custom"){if(p.range?.start.paragraphId===f)return null;continue}if(oo(p,f)||ro(p,f))return null}return f}var un=/^[\p{L}\p{N}\p{M} \-.+_]{1,64}$/u,ao=["ascii","hAnsi","cs","eastAsia"],lo=["asciiTheme","hAnsiTheme","cstheme","eastAsiaTheme"],so=128,io=/[\u0000-\u001F\u007F-\u009F]/;function j(e){return e.kind!=="textValue"}function X(e,t){return e.attributes.find(n=>n.localName===t)?.value}function pn(e,t){let n=new Map;for(let s of e)for(let l of s.children)if(j(l))for(let[r,f]of mn(l,t))n.has(r)||n.set(r,f);let o=[...n.values()];return o.sort((s,l)=>s<l?-1:s>l?1:0),o}var We=new WeakMap,co=16,uo=32;function mn(e,t,n=0){let o=t?.major??null,s=t?.minor??null,l=We.get(e);if(l&&l.major===o&&l.minor===s)return l.byFold;if(e.children.length>=co&&n<uo&&e.localName!=="rFonts"){let p=new Map;for(let g of e.children)if(j(g))for(let[h,y]of mn(g,t,n+1))p.has(h)||p.set(h,y);return We.set(e,{major:o,minor:s,byFold:p}),p}let r=new Map,f=p=>{if(!p||!un.test(p))return;let g=p.toLowerCase();r.has(g)||r.set(g,p);},m=[e];for(;m.length>0;){let p=m.pop();if(j(p)){if(p.localName==="rFonts"){for(let g of ao)f(X(p,g));if(t)for(let g of lo){let h=X(p,g);h!==void 0&&(h.startsWith("major")?f(t.major):h.startsWith("minor")&&f(t.minor));}}for(let g=p.children.length-1;g>=0;g-=1)m.push(p.children[g]);}}return We.set(e,{major:o,minor:s,byFold:r}),r}function fn(e){let t=[...e];for(;t.length>0;){let n=t.pop();if(j(n)){if(n.localName==="t"&&n.namespaceUri===chunkRUS2YBWU_cjs.ma){for(let o of n.children)if(!j(o)&&o.value.length>0)return true;continue}for(let o of n.children)t.push(o);}}return false}var po=new Set(["paragraph","character","table","numbering"]),mo=/^[0-9A-Fa-f]{6}$/,fo=16,dn=new Map([["normal",0],["title",1],["subtitle",2],["heading 1",11],["heading 2",12],["heading 3",13],["heading 4",14],["heading 5",15],["heading 6",16],["heading 7",17],["heading 8",18],["heading 9",19]]);function gn(e){return e.children}function Ue(e,t){for(let n of gn(e))if(j(n)&&n.localName===t)return n}function go(e){return dn.get(e.name.toLowerCase())??dn.get(e.styleId.toLowerCase())??Number.MAX_SAFE_INTEGER}function Ye(e){return e===void 0||e.length===0||e.length>so||io.test(e)?null:e}function yn(e,t){if(!e)return [];let n=new Map;for(let l of e.children){if(!j(l)||l.localName!=="style")continue;let r=Ye(X(l,"styleId"));r!==null&&!n.has(r)&&n.set(r,l);}let o=l=>{let r=false,f=false,m=null,p=false,g=false,h=new Set,y=l;for(let b=0;b<fo&&y!==null&&!h.has(y);b+=1){h.add(y);let R=n.get(y);if(!R)break;let O=Ue(R,"rPr");for(let I of O?gn(O):[]){if(!j(I))continue;let v=X(I,"val"),A=v!=="0"&&v!=="false"&&v!=="off";I.localName==="b"&&!p?(r=A,p=true):I.localName==="i"&&!g?(f=A,g=true):I.localName==="color"&&m===null&&v&&mo.test(v)&&(m=v);}let S=Ue(R,"basedOn");y=S?Ye(X(S,"val")):null;}let c=t?.(l),k=c?.fontFamily??null;return {fontFamily:k!==null&&un.test(k)?k:null,fontSizePt:c?.fontSizeHalfPoints!=null&&c.fontSizeHalfPoints>0?c.fontSizeHalfPoints/2:null,bold:r,italic:f,color:m}},s=[];for(let[l,r]of n){let f=X(r,"type");if(f===void 0||!po.has(f))continue;let m=Ue(r,"name"),p=Ye(m?X(m,"val"):void 0);s.push({styleId:l,name:p??l,type:f,preview:o(l)});}return s.map((l,r)=>({entry:l,index:r,rank:go(l)})).sort((l,r)=>l.rank-r.rank||l.index-r.index).map(l=>l.entry)}var yo=128,ho=/[\u0000-\u001F\u007F-\u009F]/,xo=/[\u0000-\u001F\u007F-\u009F]/g,ko=200,bo=/^heading ([1-9])$/i;function Ge(e){return e.kind!=="textValue"}function le(e,t){for(let n of e.children)if(Ge(n)&&n.localName===t)return n}function ae(e,t){return e.attributes.find(n=>n.localName===t)?.value}function Po(e){let t=new Map;if(!e)return t;for(let n of e.children){if(!Ge(n)||n.localName!=="style"||ae(n,"type")!=="paragraph")continue;let o=ae(n,"styleId");if(o===void 0||o.length===0||o.length>yo||ho.test(o))continue;let s=le(n,"name"),l=s?ae(s,"val"):void 0,r=l!==void 0?bo.exec(l):null;if(r){t.set(o,Number(r[1])-1);continue}let f=le(n,"pPr"),m=f?le(f,"outlineLvl"):void 0,p=m?ae(m,"val"):void 0;p!==void 0&&/^[0-8]$/.test(p)&&t.set(o,Number(p));}return t}function Xe(e){let t=le(e,"pPr"),n=t?le(t,"pStyle"):void 0;return n?ae(n,"val"):void 0}function hn(e,t){let n=Po(t);if(n.size===0)return [];let o=[];for(let s of H(e)){if(!Ge(s))continue;let l=Xe(s);if(l===void 0)continue;let r=n.get(l);if(r===void 0)continue;let m=(chunkRUS2YBWU_cjs.Jf(e,s.id)??"").replace(xo," ").trim().slice(0,ko);m.length!==0&&o.push({text:m,level:r,blockId:s.id});}return o}var be=48,Oo=/[\u0000-\u001F\u007F-\u009F]/g;function xn(e){return e.kind!=="textValue"}function Pe(e){if(e.kind==="textValue")return e.value.length;if(e.kind==="tab"||e.kind==="hardBreak")return 1;if(e.kind==="runProperties"||e.kind==="generic")return 0;if(e.kind==="hyperlink"||chunkRUS2YBWU_cjs.Lb(e)){let n=0,o=e.kind==="hyperlink"?e.children:chunkRUS2YBWU_cjs.Nb(e)??[];for(let s of o)n+=Pe(s);return n}let t=0;for(let n of e.children)t+=Pe(n);return t}function So(e){let t=[],n=0;return xn(e)&&chunkRUS2YBWU_cjs.Sb(e.children,0,o=>{if(o.kind==="run"){t.push(n),n+=Pe(o);return}n+=Pe(o);}),t}function vo(e,t){if(e.length===0)return {index:0,offset:t};for(let n=e.length-1;n>=0;n-=1){let o=e[n];if(t>=o)return {index:n,offset:t-o}}return {index:0,offset:t}}function Ke(e,t){return e.replace(Oo," ").slice(0,t)}function kn(e,t,n={}){let o={matches:[],truncated:false};if(!chunkRUS2YBWU_cjs.Gg(t))return o;let s=n.limit!==void 0&&Number.isInteger(n.limit)&&n.limit>0?Math.min(n.limit,2e3):2e3,l={...n.matchCase===void 0?{}:{matchCase:n.matchCase},...n.wholeWord===void 0?{}:{wholeWord:n.wholeWord}},r=[],f=0;for(let m of H(e)){if(!xn(m))continue;let p=f;f+=1;let g=chunkRUS2YBWU_cjs.Jf(e,m.id)??"";if(g.length===0)continue;let h=chunkRUS2YBWU_cjs.Hg(g,t,s-r.length,l),y=null;for(let c of h.matches){let k=c.start+c.length;y??=So(m);let b=vo(y,c.start);r.push({blockId:m.id,start:c.start,length:c.length,paragraphIndex:p,runIndex:b.index,runOffset:b.offset,text:Ke(g.slice(c.start,k),256),contextBefore:Ke(g.slice(Math.max(0,c.start-be),c.start),be),contextAfter:Ke(g.slice(k,k+be),be)});}if(h.truncated)return {matches:r,truncated:true}}return {matches:r,truncated:false}}var Ro=["lt1","dk1","lt2","dk2","accent1","accent2","accent3","accent4","accent5","accent6"],Io=/^[0-9A-Fa-f]{6}$/,bn={windowText:"000000",window:"FFFFFF"};function On(e){return e.kind!=="textValue"}function Oe(e,t){return e.attributes.find(n=>n.localName===t)?.value}function Sn(e,t){let n=[e];for(;n.length>0;){let o=n.pop();if(On(o)){if(o.localName===t)return o;for(let s=o.children.length-1;s>=0;s-=1)n.push(o.children[s]);}}return null}function Se(e,t){for(let n of e.children)if(On(n)&&(t===void 0||n.localName===t))return n;return null}function To(e){let t=Se(e);if(!t)return null;let n;if(t.localName==="srgbClr")n=Oe(t,"val");else if(t.localName==="sysClr"){let o=Oe(t,"val")??"";n=Oe(t,"lastClr")??(Object.prototype.hasOwnProperty.call(bn,o)?bn[o]:void 0);}return n===void 0||!Io.test(n)?null:n.toUpperCase()}var No=/^[\p{L}\p{N}\p{M} \-.+_]{1,64}$/u;function Pn(e,t){let n=Se(e,t),o=n?Se(n,"latin"):null,s=o?Oe(o,"typeface"):void 0;return s!==void 0&&No.test(s)?s:null}function se(e){if(!e)return {major:null,minor:null};let t=Sn(e,"fontScheme");return t?{major:Pn(t,"majorFont"),minor:Pn(t,"minorFont")}:{major:null,minor:null}}function vn(e){if(!e)return [];let t=Sn(e,"clrScheme");if(!t)return [];let n=[];for(let o of Ro){let s=Se(t,o),l=s?To(s):null;if(l===null)return [];n.push({slot:o,hex:l});}return n}var Eo=/^[\p{L}\p{N}\p{M} \-.+_]{1,64}$/u;var Co=/[\u0000-\u001F\u007F-\u009F]/;function Tn(e){return e.kind!=="textValue"}function K(e,t){for(let n of e.children)if(Tn(n)&&n.localName===t)return n}function J(e,t){return e.attributes.find(n=>n.localName===t)?.value}function Rn(e){return e===void 0||e.length===0||e.length>128||Co.test(e)?null:e}function ve(e,t){return e==="minorAscii"||e==="minorHAnsi"?t.minor:e==="majorAscii"||e==="majorHAnsi"?t.major:null}function Do(e,t){let n=ve(J(e,"asciiTheme"),t)??ve(J(e,"hAnsiTheme"),t);if(n!==null)return n;let o=J(e,"ascii")??J(e,"hAnsi");return o===void 0?null:Eo.test(o)?o:null}function In(e,t){if(!e)return {fontFamily:null,fontSizeHalfPoints:null};let n=K(e,"rFonts"),o=K(e,"sz"),s=o?J(o,"val"):void 0,l=s!==void 0&&/^\d{1,4}$/.test(s)?Number(s):null;return {fontFamily:n?Do(n,t):null,fontSizeHalfPoints:l!==null&&l>=2&&l<=3276?l:null}}function Je(e,t){let n=new Map,o={fontFamily:null,fontSizeHalfPoints:null};if(e){let r=K(e,"docDefaults"),f=r?K(r,"rPrDefault"):void 0;o=In(f?K(f,"rPr"):void 0,t);for(let m of e.children){if(!Tn(m)||m.localName!=="style")continue;let p=Rn(J(m,"styleId"));if(p===null||n.has(p))continue;let g=K(m,"basedOn");n.set(p,{basedOn:Rn(g?J(g,"val"):void 0),own:In(K(m,"rPr"),t)});}}let s=new Map,l=r=>{let f=r??"",m=s.get(f);if(m)return m;let p=null,g=null,h=new Set,y=r;for(let k=0;y!==null&&k<16&&!h.has(y);k+=1){h.add(y);let b=n.get(y);if(!b)break;p??=b.own.fontFamily,g??=b.own.fontSizeHalfPoints,y=b.basedOn;}let c={fontFamily:p??o.fontFamily,fontSizeHalfPoints:g??o.fontSizeHalfPoints};return s.set(f,c),c};return (r,f)=>{let m=l(r),p=f?.find(h=>h.localName==="rFonts"),g=p?ve(p.attributes?.asciiTheme,t)??ve(p.attributes?.hAnsiTheme,t):null;return g===null?m:{...m,fontFamily:g}}}var Nn=new WeakMap;function Mo(e){let t=Nn.get(e);if(t!==void 0)return t;let n=chunkRUS2YBWU_cjs.Oc(e),o=n===null||!chunkRUS2YBWU_cjs.Nc(n)?null:n;return Nn.set(e,o),o}function En(e){let t=new Map,n=new Map,o=new Map,s=new Set,l=new Map,r=new Map,f=0;for(let m of e)for(let p of D(m)){o.set(p.id,f),l.set(p.id,m),f+=1;let g=Mo(p);if(g===null)continue;t.set(p.id,g);let h=g.toUpperCase(),y=r.get(h);y?(y.push(p.id),s.add(h)):(r.set(h,[p.id]),n.set(h,p.id));}return Object.freeze({paraIdByNode:t,nodeByParaId:n,ordinalByNode:o,ambiguousParaIds:s,partByNode:l,claimantsByParaId:r})}var wo=Object.freeze([]);function Fo(e,t={}){let n=chunkRUS2YBWU_cjs.yb(e);if(!n.ok)return {ok:false,reason:n.reason,...n.detail?{detail:n.detail}:{}};let o=n.package,s=o.parts.get(o.mainDocumentPart);if(!s)return {ok:false,reason:"no-main-document-tree",detail:o.mainDocumentPart};let l=chunkRUS2YBWU_cjs.Uc(s),r=new chunkRUS2YBWU_cjs.Mf(o,l),f=null,m=null,p=null,g=null;r.subscribe(a=>{g=a;});let h=()=>r.bodyStore(),y=()=>r.currentPackage(),c=Object.freeze({kind:"body"}),k=(a,i)=>{let d=r.currentPackage(),u=a.checkpoint();a.graftPackage(()=>r.currentPackage());let x=i();return x.ok&&(a.restoreHistoryStacks(u),r.replacePackageShell(a.package),r.adoptPackageUnit(d),r.publishStoryWrite(x.change)),x},b=()=>{if(!f||f.packageRevision!==r.packageRevision){let a=chunkRUS2YBWU_cjs.Ub(y());f={packageRevision:r.packageRevision,resolution:a,parts:chunkRUS2YBWU_cjs.Vb(y())};}return f},R="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",O="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",S=false,I=null,v=()=>{if(S)return I;S=true;let a=y(),i=(a.relationships.get(a.mainDocumentPart)??[]).find(u=>u.type===R),d;if(i){let u=chunkRUS2YBWU_cjs.O(i);u.mode==="Internal"&&u.target.ok&&(d=a.parts.get(u.target.partName));}return d??=a.parts.get("/word/styles.xml"),I=d?.root??null,I},A=false,$=null,ie=()=>{if(A)return $;A=true;let a=y(),i=(a.relationships.get(a.mainDocumentPart)??[]).find(u=>u.type===O),d;if(i){let u=chunkRUS2YBWU_cjs.O(i);u.mode==="Internal"&&u.target.ok&&(d=a.parts.get(u.target.partName));}return d??=a.parts.get("/word/numbering.xml"),$=d?.root??null,$},V="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings",ce=-1,Re=null,Ze=()=>{if(ce===r.packageRevision)return Re;ce=r.packageRevision;let a=y(),i=(a.relationships.get(a.mainDocumentPart)??[]).find(u=>u.type===V),d;if(i){let u=chunkRUS2YBWU_cjs.O(i);u.mode==="Internal"&&u.target.ok&&(d=a.parts.get(u.target.partName));}return d??=a.parts.get("/word/settings.xml"),Re=d?.root??null,Re},Dn="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",Mn="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",Ve=(a,i)=>{let d=y(),u=(d.relationships.get("/")??[]).find(P=>P.type===a),x;if(u){let P=chunkRUS2YBWU_cjs.O(u);P.mode==="Internal"&&P.target.ok&&(x=d.parts.get(P.target.partName));}return x??d.parts.get(i)},Qe=-1,Ie=chunkHCSWWXS2_cjs.R,wn=()=>{if(Qe===r.packageRevision)return Ie;Qe=r.packageRevision;let a=Ve(Dn,"/docProps/core.xml"),i=Ve(Mn,"/docProps/app.xml");return Ie=chunkHCSWWXS2_cjs.S(a?.root??null,i?.root??null),Ie},Fn="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",qe=false,Te=null,Q=()=>{if(qe)return Te;qe=true;let a=y(),i=(a.relationships.get(a.mainDocumentPart)??[]).find(u=>u.type===Fn),d;if(i){let u=chunkRUS2YBWU_cjs.O(i);u.mode==="Internal"&&u.target.ok&&(d=a.parts.get(u.target.partName));}return d??=a.parts.get("/word/theme/theme1.xml"),Te=d?.root??null,Te},An="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable",de=null,_n=()=>{if(de)return de;let a=y(),i=(a.relationships.get(a.mainDocumentPart)??[]).find(u=>u.type===An),d;if(i){let u=chunkRUS2YBWU_cjs.O(i);u.mode==="Internal"&&u.target.ok&&(d=a.parts.get(u.target.partName));}return d??=a.parts.get("/word/fontTable.xml"),de=Object.freeze(chunkHCSWWXS2_cjs.G(a,d)),de},q=null,ee=null,et=null,tt=null,nt=null,ot=()=>{let a=[h().part.root],i=v();i&&a.push(i);let d=new Set;for(let u of z())d.has(u)||(d.add(u),a.push(u.root));return a},ue=null,pe=null,te=null,ne=null,oe=null,rt=new WeakMap,me=null,Ln=a=>{let i=rt.get(a);if(i)return i;let d=chunkRUS2YBWU_cjs.Uc(a);return rt.set(a,d),d},Ne=()=>{let a=r.packageRevision,i=r.openStoryToken();if(!oe||oe.revision!==a||oe.openStories!==i){let d=r.openStoryParts(),u=new Set(d.map(P=>P.name)),x=z().filter(P=>!u.has(P.name)).map(Ln);oe={revision:a,openStories:i,index:En([h().part,...d,...x])};}return oe.index},at=()=>{let a=h().part.name,i=new Map;for(let d of [h().part,...z()])for(let[u,x]of chunkRUS2YBWU_cjs.$f(y(),d.name,a))i.set(u,x);return i},Bn=()=>[h().part,...z()],z=()=>{let a=[],i=new Set;for(let u of b().parts)for(let x of [u.headers,u.footers])for(let P of x.values())i.has(P)||(i.add(P),a.push(P));let d=y();for(let u of ["footnote","endnote"]){let x=chunkRUS2YBWU_cjs.Yd(d,u);!x||i.has(x)||(i.add(x),a.push(x));}return a};return {ok:true,session:{editable:D(h().part).length>0,paragraphIds:()=>D(h().part).map(a=>a.id),paragraphIdsIn(a=c){let i=r.partFor(a);return i?D(i).map(d=>d.id):[]},part:()=>h().part,partFor:a=>r.partFor(a),currentPackage:y,applyTreeOps(a,i,d,u=c){if(a.length===0)return {committed:false,rejected:false,opCount:0};let x=a.filter(T=>chunkRUS2YBWU_cjs.Yc(T)||chunkRUS2YBWU_cjs.ce(T)).length;if(x>0){if(x!==a.length||a.length!==1)return {committed:false,rejected:true,opCount:a.length,reason:"invalidArgs"};let T=r.applyLifecycleOp(a[0]);return T.ok?{committed:true,rejected:false,opCount:1}:{committed:false,rejected:true,opCount:1,reason:T.detail??T.reason}}let P=r.transact(u,T=>{i!==void 0&&T.selectionBefore(i),d!==void 0&&T.selectionAfter(d);for(let N of a)T.apply(N);});return P.ok?{committed:true,rejected:false,opCount:a.length}:{committed:false,rejected:true,opCount:a.length,reason:P.reason}},projectDoc:()=>Y(h().part),reconcile:a=>$e(a,h().part,g),lastCommitWasStructural:()=>g!==null&&(g.created.length>0||g.deleted.length>0||g.splitJoin.length>0||g.impact==="global"),applyPmDoc(a){let i=h(),d=je(i.part,a);if(!d.ok)return {committed:false,rejected:true,opCount:0,reason:d.reason};if(d.ops.length===0)return {committed:false,rejected:false,opCount:0};let u=r.transact(c,x=>{for(let P of d.ops)x.apply(P);});return u.ok?{committed:true,rejected:false,opCount:d.ops.length}:{committed:false,rejected:true,opCount:d.ops.length,reason:u.reason}},storyParts:Bn,bodyText:()=>rn(h().part),storyText(a){let i=r.partFor(a);return i?D(i).map(d=>chunkRUS2YBWU_cjs.Jf(i,d.id)??"").join(`
5
- `):null},revision:()=>h().revision,revisionFor:a=>r.revisionFor(a),packageRevision:()=>r.packageRevision,canUndo:()=>r.canUndo,canRedo:()=>r.canRedo,undo:()=>{let a=r.selectionForUndo();return r.undo()===null?null:a},redo:()=>{let a=r.selectionForRedo();return r.redo()===null?null:a},beginComposition:(a=c)=>{r.beginComposition(a);},endComposition:()=>r.endComposition(),subscribe(a){return r.subscribe(a)},save(){return chunkRUS2YBWU_cjs.zb(y())},headerFooterParts:()=>{let a=b().parts;return a[a.length-1]??chunkRUS2YBWU_cjs.Wb(y())},headerFooterPartsBySection:()=>b().parts,headerFooterResolutionBySection:()=>b().resolution,documentFonts(){return q&&q.revision===r.packageRevision||(q={revision:r.packageRevision,fonts:pn(ot(),se(Q()))}),q.fonts},rendersText(){return ee&&ee.revision===r.packageRevision||(ee={revision:r.packageRevision,rendersText:fn(ot())}),ee.rendersText},documentStyles(){ue??=Je(v(),se(Q()));let a=ue;return et??=yn(v(),i=>a(i)),et},stylesRoot:()=>v(),documentThemeFonts(){return nt??=se(Q()),nt},numberingRoot:()=>ie(),settingsRoot:()=>Ze(),documentProperties:()=>wn(),trackingSettings:()=>chunkHCSWWXS2_cjs.O(Ze()),documentThemeColors(){return tt??=vn(Q()),tt},effectiveRunDefaults(a,i){ue??=Je(v(),se(Q()));let d=h();if(!pe||pe.revision!==d.revision){let u=new Map;for(let x of D(d.part))x.kind!=="textValue"&&u.set(x.id,Xe(x)??null);pe={revision:d.revision,byId:u};}return ue(pe.byId.get(a)??null,i)},documentOutline(){let a=h();return te&&te.revision===a.revision||(te={revision:a.revision,outline:hn(a.part,v())}),te.outline},findText(a,i){let d=h(),u=`${i?.matchCase===true?"c":""}${i?.wholeWord===true?"w":""}${i?.limit??""}\0${a}`;if(ne&&ne.revision===d.revision&&ne.key===u)return ne.result;let x=kn(d.part,a,i??{});return ne={revision:d.revision,key:u,result:x},x},embeddedFonts:_n,paragraphAnchors:Ne,paraIdOf:a=>Ne().paraIdByNode.get(a)??null,nodeIdOf:a=>Ne().nodeByParaId.get(a.toUpperCase())??null,relationshipTarget:(a,i=c)=>{let d=y(),u=r.partFor(i);return u?chunkRUS2YBWU_cjs.Xc(d,u.name,a):null},bookmarks:()=>{let a=r.packageRevision;if(!me||me.revision!==a){let i=new Map(chunkRUS2YBWU_cjs.Cc(h().part));for(let d of z())for(let[u,x]of chunkRUS2YBWU_cjs.Cc(d))i.has(u)||i.set(u,x);me={revision:a,index:i};}return me.index},ensureHyperlinkRelationship(a,i=c){let d=r.partFor(i);if(!d)return null;let u=y(),x=chunkRUS2YBWU_cjs.Wc(u,a,d.name);return x?(x.pkg!==u&&r.replacePackageShell(x.pkg),x.relationshipId):null},reviewItems(){let a=t.reviewModel;if(!a)return wo;let i=h(),d=`${r.packageRevision}:${i.revision}`;if(m&&m.revisionKey===d)return m.items;let u=y(),x=u.parts.get(chunkRUS2YBWU_cjs.Uf(u,i.part.name)),P=u.parts.get(chunkRUS2YBWU_cjs.Vf(u,i.part.name)),T=z(),N=m&&g?cn(g,m,m.items,i.part,x,P,r.packageRevision):null,M,w;if(N&&m){let F=a.revisionItemsOfParagraph(i.part,N);an(m.items,F,N)?(M=ln(m.items,m.paragraphOrder,N,F),w=m.paragraphOrder):(w=chunkRUS2YBWU_cjs.yg(i.part),M=a.collectReviewItems({storyPart:i.part,furnitureParts:T,commentsPart:x,commentsExtendedPart:P,customNodePayloads:at()}));}else w=chunkRUS2YBWU_cjs.yg(i.part),M=a.collectReviewItems({storyPart:i.part,furnitureParts:T,commentsPart:x,commentsExtendedPart:P,customNodePayloads:at()});return m={revisionKey:d,bodyRevision:i.revision,packageRevision:r.packageRevision,items:M,paragraphOrder:w,commentsPart:x,commentsExtendedPart:P},m.items},hasReviewContent(){let a=r.packageRevision;if(!p||p.revision!==a){let i=[h().part,...z()];p={revision:a,present:i.some(d=>chunkRUS2YBWU_cjs.lf(d).length>0||ze(d.root))};}return p.present},replyToComment(a,i,d,u,x,P=c){let T=P.kind==="body"?null:r.resolveStory(P),N=T?.ok?T.store:h(),M=r.currentPackage(),w=N.checkpoint();N.graftPackage(()=>r.currentPackage());let F=chunkRUS2YBWU_cjs.Rf(N,{anchor:{paragraphId:i.paragraphId,start:i.start,end:i.end,...i.endParagraphId===void 0?{}:{endParagraphId:i.endParagraphId}},author:u,text:d,...x===void 0?{}:{date:x},...a===null?{}:{replyToCommentId:a}});return F.ok?(N.restoreHistoryStacks(w),r.replacePackageShell(N.package),r.adoptPackageUnit(M),r.publishStoryWrite(F.change),F.commentId):null},setCommentResolved(a,i){let d=h(),u=r.currentPackage(),x=d.checkpoint();d.graftPackage(()=>r.currentPackage());let P=chunkRUS2YBWU_cjs.Sf(d,a,i);return P.ok?(P.changed&&(d.restoreHistoryStacks(x),r.replacePackageShell(d.package),r.adoptPackageUnit(u),r.publishStoryWrite(P.change)),true):false},deleteComment(a,i=c,d){return this.deleteComments([{commentId:a}],i,d)},deleteComments(a,i=c,d){if(a.length===0)return false;let u=i.kind==="body"?h().part:r.partFor(i);if(!u)return false;let x={storyPartName:u.name,...d===void 0?{}:{noteId:d}},P=h(),T=r.currentPackage(),N=P.checkpoint();P.graftPackage(()=>r.currentPackage());let M=false,w=false,F=P.transact(Hn=>{Hn.applyPackage(lt=>{let re=lt;for(let fe of a){let Ee=fe.parentCommentId===void 0?chunkRUS2YBWU_cjs.Pe(re,fe.commentId,x):chunkRUS2YBWU_cjs.Qe(re,fe.commentId,fe.parentCommentId,x);if(Ee===null)return M=true,lt;w||=Ee!==re,re=Ee;}return re});});return M||!F.ok||!w?false:(P.restoreHistoryStacks(N),r.installPackageSnapshot(P.package),r.adoptPackageUnit(T),r.publishStoryWrite(F.change),true)},insertCustomNode(a,i=c){let d=i.kind==="body"?null:r.resolveStory(i),u=d?.ok?d.store:h();return k(u,()=>chunkRUS2YBWU_cjs.Yf(u,a,h().part.name))},removeCustomNode(a,i=c){let d=i.kind==="body"?null:r.resolveStory(i),u=d?.ok?d.store:h();return k(u,()=>chunkRUS2YBWU_cjs.Zf(u,a))},sweepCustomNodePayloads(a){let i=h(),d=chunkRUS2YBWU_cjs._f(r.currentPackage(),i.part.name,a);return d.ok?d.removed.length===0?{ok:true,removed:[]}:(r.replacePackageShell(d.pkg),{ok:true,removed:d.removed}):{ok:false,reason:d.reason}},ensureListDefinition(a){let i=chunkHCSWWXS2_cjs.L(y(),a);return i?(r.replacePackageShell(i.pkg),A=false,$=null,i.numId):null},ensureNumberingLevel(a,i,d){let u=y(),x=chunkHCSWWXS2_cjs.M(u,a,i,d);return x?(x!==u&&(r.replacePackageShell(x),A=false,$=null),true):false},insertImage(a,i){return r.insertImage(a,i)},replaceImage(a,i,d,u,x,P){return r.replaceImage(a,i,d,u,x,P)},deleteImage(a,i){return r.deleteImage(a,i)},applyImageProperties(a,i){return r.applyImageProperties(a,i)}}}}var Ao=chunkRUS2YBWU_cjs.t.projection;function Go(e,t,n){let o=e.filter(s=>s.localName!==t);return o.length!==e.length?o:[...o,n?{localName:t,attributes:n}:{localName:t}]}function Xo(e,t,n={}){let o=null,s=false,l=()=>n.onChange?.(r()),r=()=>({revision:t.revision(),canUndo:t.canUndo(),canRedo:t.canRedo(),lastRejection:o}),f=c=>{s=true;let k=p.state.tr.replaceWith(0,p.state.doc.content.size,c.content);k.setMeta("addToHistory",false),p.dispatch(k),s=false;},m=c=>()=>(c()&&(f(t.projectDoc()),l()),true),p=new prosemirrorView.EditorView(e,{state:prosemirrorState.EditorState.create({doc:t.projectDoc(),plugins:[prosemirrorKeymap.keymap({...prosemirrorCommands.baseKeymap,Home:prosemirrorCommands.selectTextblockStart,End:prosemirrorCommands.selectTextblockEnd,"Mod-z":m(()=>t.undo()!==null),"Mod-y":m(()=>t.redo()!==null),"Shift-Mod-z":m(()=>t.redo()!==null),"Mod-b":(c,k)=>y(c,k,"b"),"Mod-i":(c,k)=>y(c,k,"i"),"Mod-u":(c,k)=>y(c,k,"u",{val:"single"})})]}),editable:()=>t.editable,handleDOMEvents:{keydown:c=>(g(c),false),beforeinput:(c,k)=>{let b=k;if(c.composing)return false;g(c);let R=b.inputType;if(R==="insertText"&&b.data!=null){b.preventDefault();let{from:O,to:S}=c.state.selection;return c.dispatch(c.state.tr.insertText(b.data,O,S)),true}if(R==="deleteContentBackward"){b.preventDefault();let{from:O,empty:S}=c.state.selection;return S?O>0?c.dispatch(c.state.tr.delete(O-1,O)):prosemirrorCommands.joinBackward(c.state,c.dispatch):prosemirrorCommands.deleteSelection(c.state,c.dispatch),true}if(R==="deleteContentForward"){b.preventDefault();let{from:O,to:S,empty:I}=c.state.selection;return I?S<c.state.doc.content.size?c.dispatch(c.state.tr.delete(O,O+1)):prosemirrorCommands.joinForward(c.state,c.dispatch):prosemirrorCommands.deleteSelection(c.state,c.dispatch),true}return R==="insertParagraph"?(b.preventDefault(),prosemirrorCommands.splitBlock(c.state,c.dispatch),true):false},compositionstart:()=>(t.beginComposition(),false),compositionend:()=>(t.endComposition(),l(),false)},dispatchTransaction(c){let k=p.state.apply(c);if(s||!c.docChanged){p.updateState(k);return}let b=t.applyPmDoc(k.doc);if(b.rejected){o=String(b.reason??"rejected"),p.updateState(k),f(t.projectDoc()),l();return}o=null,p.updateState(b.committed&&t.lastCommitWasStructural()?h(k):k),l();}});function g(c){if(c.composing||s)return;let k=c.dom.ownerDocument.getSelection(),b=k?.anchorNode,R=k?.focusNode;if(!(!k||!b||!R)&&!(!c.dom.contains(b)||!c.dom.contains(R)))try{let O=c.posAtDOM(b,k.anchorOffset),S=c.posAtDOM(R,k.focusOffset),I=c.state.selection;if(I.anchor===O&&I.head===S)return;let v=prosemirrorState.TextSelection.create(c.state.doc,O,S);c.dispatch(c.state.tr.setSelection(v).setMeta("addToHistory",!1));}catch{}}function h(c){let k=t.paragraphIds(),b=c.tr,R=false,O=0;return c.doc.forEach((S,I)=>{let v=k[O];O+=1,!(S.type.name!=="paragraph"||v===void 0)&&S.attrs.nodeId!==v&&(b=b.setNodeMarkup(I,void 0,{...S.attrs,nodeId:v}),R=true);}),R?c.apply(b.setMeta("addToHistory",false)):c}function y(c,k,b,R){let O=E.marks.runProps;if(!k)return true;let{from:S,to:I,empty:v}=c.selection;if(v)return true;let $=c.doc.resolve(S).marks().find(ce=>ce.type===O)?.attrs.props??[],ie=Go($,b,R),V=c.tr;return V.removeMark(S,I,O),ie.length>0&&V.addMark(S,I,O.create({props:ie})),k(V),true}return {view:p,state:r,undo:()=>m(()=>t.undo()!==null)(),redo:()=>m(()=>t.redo()!==null)(),toggleRunProperty(c,k){y(p.state,p.dispatch.bind(p),c,k);},destroy:()=>p.destroy()}}exports.a=E;exports.b=Be;exports.c=H;exports.d=D;exports.e=Y;exports.f=je;exports.g=qn;exports.h=$e;exports.i=Xe;exports.j=Fo;exports.k=Ao;exports.l=Xo;
@@ -1 +0,0 @@
1
- import {re as re$1,Fa,Yd,nd,qd,od,xd,Ub,Tb,Xf,Wf,Sd,ve,pe,te as te$1,Nf,Of,Qf,Pf,Vc,Ua,Xc,Sa,Od,Qd,ig,gg,og,ng,pg,Pd,Gg,Hg,Lc,Kc,Fe,Ad,tf,He,mf,ug,ma,Ga,Uf,Vf,Le,Me,Ke,vg,sg,X,Ge,Oc,Ra,Jf}from'./chunk-2WIXJ7CW.js';var Ht=Object.freeze(["default","first","even"]),ct=Object.freeze({kind:"body"});function B(n){switch(n.kind){case "body":return "body";case "note":return `note:${n.noteKind}:${String(n.noteId)}`;default:return `${n.kind}:${String(n.sectionIndex)}:${n.variant}`}}function tn(n){if(typeof n!="object"||n===null)return false;let e=n;return e.kind==="body"?true:e.kind==="note"?(e.noteKind==="footnote"||e.noteKind==="endnote")&&Number.isInteger(e.noteId):e.kind!=="header"&&e.kind!=="footer"?false:Number.isInteger(e.sectionIndex)&&e.sectionIndex>=0&&Ht.includes(e.variant)}var rr=["getDocument","getBody","getParagraphs","getSpanParagraphs","getText","getSpanText","getParagraphId","search","getFont","getParagraphFormat","getStyle","getSections","getPageSetup","getFurniture","getNotes","getNoteBody","getNoteText","getNoteKind","getLists","getListId","getListById","getListParagraphs","getParagraphList","getListLevel","getHyperlink","getBookmarks","getBookmarkName","getBookmarkRange","getComments","getCommentReplies","getCommentId","getCommentAuthor","getCommentDate","getCommentText","getCommentRange","getCommentResolved","getRevisions","getRevisionType","getRevisionAuthor","getRevisionDate","getRevisionRange","getContentControls","getContentControlById","getContentControlsByTag","getContentControlsByTitle","getContentControlTag","getContentControlTitle","getContentControlFileId","getContentControlSubtype","getContentControlLock","getContentControlIsBound","getContentControlPlaceholderShown","getContentControlTemporary","getContentControlText","getContentControlParagraphs","getContentControlRange"],qn=["insertText","replaceSpan","insertParagraph","splitParagraph","deleteParagraph","selectSpan","selectBookmark","setFont","setParagraphFormat","setStyle","setPageSetup","deleteNote","setListLevel","insertListParagraph","setHyperlink","insertComment","setCommentResolved","replyToComment","deleteComment","acceptRevision","rejectRevision","acceptAllRevisions","rejectAllRevisions","setContentControlValue","setContentControlProperties","deleteContentControl","insertContentControlText","insertContentControl","insertCustomNode"],to=["deleteNote","insertComment","setCommentResolved","replyToComment","insertCustomNode"],eo=new Set(to);function Yt(n){return eo.has(n.op)}var no=new Set(qn);function Gt(n){return no.has(n.op)}function oo(){let n=globalThis.crypto,e=n?.getRandomValues;if(typeof e!="function")throw new Error("automation: no secure random source. globalThis.crypto.getRandomValues is required to scope document handles to one host.");let s=e.call(n,new Uint8Array(16)),a="";for(let l of s)a+=l.toString(16).padStart(2,"0");return a}function ro(n){return typeof n=="object"&&n!==null&&"kind"in n&&"ref"in n}function en(){let n=new Map,e=new Map,s=new Map,a=new Map,l=oo(),u=null,f=(m,y)=>{let v=(a.get(m)??0)+1;a.set(m,v);let g=`${m}:${l}:${String(v)}`;return n.set(g,y),Object.freeze({kind:m,ref:g})},k=(m,y,v)=>{let g=`${m}\0${y}`,I=s.get(g);if(I)return Object.freeze({kind:m,ref:I});let C=f(m,v);return s.set(g,C.ref),C};return {document(){return u??=f("document",{kind:"document"}),u},body(m){return k("body",B(m),{kind:"body",story:m})},paragraph(m,y){let v=e.get(m);if(v)return Object.freeze({kind:"paragraph",ref:v});let g=f("paragraph",{kind:"paragraph",paragraphId:m,story:y});return e.set(m,g.ref),g},section(m){return k("section",String(m),{kind:"section",index:m})},note(m,y){return k("note",`${m}:${String(y)}`,{kind:"note",noteKind:m,noteId:y})},comment(m,y){return k("comment",`${B(y)}\0${m}`,{kind:"comment",commentId:m,story:y})},revision(m,y){return k("revision",`${B(y)}\0${m}`,{kind:"revision",revisionId:m,story:y})},bookmark(m,y){return k("bookmark",`${B(y)}\0${m}`,{kind:"bookmark",name:m,story:y})},list(m,y){return k("list",`${B(y)}\0${m}`,{kind:"list",numId:m,story:y})},contentControl(m,y){return k("contentControl",`${B(y)}\0${m}`,{kind:"contentControl",nodeId:m,story:y})},retarget(m,y){let v=e.get(m);if(!v||m===y)return;let g=n.get(v);!g||g.kind!=="paragraph"||(e.delete(m),n.set(v,{kind:"paragraph",paragraphId:y,story:g.story}),e.has(y)||e.set(y,v));},resolve(m,y){if(!ro(m)||m.kind!==y||typeof m.ref!="string")return null;let v=n.get(m.ref);return !v||v.kind!==y?null:v}}}var ao=255,so=Object.freeze({nameOf:()=>null,idOf:()=>null,defaultId:null,present:false});function nn(n){let e=Lc(n);if(!e)return so;let s=new Map,a=new Map,l=null;for(let u of Kc(e).values())if(u.type==="paragraph"){if(s.set(u.styleId,u.name),u.name!==null){let f=u.name.trim().toLowerCase();a.has(f)||a.set(f,u.styleId);}u.isDefault&&l===null&&(l=u.styleId);}return Object.freeze({nameOf:u=>s.get(u)??null,idOf:u=>a.get(u.trim().toLowerCase())??null,defaultId:l,present:true})}function Lt(n,e,s){let a=Fa(n,e);if(!a||a.kind!=="paragraph")return null;let l=io(Qd(Od(a),"pStyle"));return l!==null?s.nameOf(l):s.defaultId===null?null:s.nameOf(s.defaultId)}function io(n){if(!n)return null;for(let e of n.attributes)if(e.localName==="val")return e.value;return null}function Et(n,e){if(typeof n!="string"||n.trim().length===0)return {ok:false,detail:"style: not a name"};if(n.length>ao)return {ok:false,detail:"style: name too long"};if(!X(n))return {ok:false,detail:"style: not valid XML text"};if(!e.present)return {ok:false,detail:"style: this document defines no styles"};let s=e.idOf(n);return s===null?{ok:false,detail:"style: this document defines no paragraph style with that name"}:{ok:true,styleId:s}}var rn=20,lo=31680,uo=1999,co=Object.freeze({bold:null,italic:null,name:null,size:null,color:null});function G(n,e){if(!n)return null;for(let s of n.attributes)if(s.localName===e)return s.value;return null}function Jt(n){if(!n)return null;let e=G(n,"val");if(e===null)return true;let s=e.trim().toLowerCase();return !(s==="0"||s==="false"||s==="off"||s==="none")}function po(n){if(n===null)return null;let e=n.trim();return /^[0-9a-fA-F]{6}$/.test(e)?`#${e.toUpperCase()}`:null}function mo(n){if(n===null)return null;let e=Number(n.trim());return !Number.isFinite(e)||e<=0?null:e/2}function mt(n){if(n===null)return null;let e=Number(n.trim());return Number.isFinite(e)?e/rn:null}function St(n){if(n.length===0)return null;let e=n[0];if(e===null)return null;for(let s of n)if(s!==e)return null;return e}function an(n,e){let s=[];for(let a of e)for(let l of pg(n,a.paragraphId,a.start,a.end))s.push(Pd(l));return s.length===0?co:{bold:St(s.map(a=>Jt(Qd(a,"b")))),italic:St(s.map(a=>Jt(Qd(a,"i")))),name:St(s.map(a=>{let l=Qd(a,"rFonts"),u=G(l,"ascii");return u===null||u.length===0?null:u})),size:St(s.map(a=>mo(G(Qd(a,"sz"),"val")))),color:St(s.map(a=>po(G(Qd(a,"color"),"val"))))}}var fo=Object.freeze({left:"Left",start:"Left",center:"Centered",right:"Right",end:"Right",both:"Justified",distribute:"Justified"}),yo=Object.freeze({Left:"left",Centered:"center",Right:"right",Justified:"both"});function go(n){let e=G(Qd(n,"jc"),"val");return e===null?"Unknown":fo[e.trim().toLowerCase()]??"Unknown"}function sn(n,e,s){let a=Fa(n,e);if(!a||a.kind!=="paragraph")return null;let l=Od(a),u=Qd(l,"spacing"),f=Qd(l,"ind");return {alignment:go(l),style:Lt(n,e,s),firstLineIndent:ho(f),leftIndent:mt(G(f,"left")??G(f,"start")),rightIndent:mt(G(f,"right")??G(f,"end")),lineSpacing:mt(G(u,"line")),spaceBefore:mt(G(u,"before")),spaceAfter:mt(G(u,"after")),widowControl:Jt(Qd(l,"widowControl"))}}function ho(n){let e=mt(G(n,"hanging"));if(e!==null&&e>0)return -e;let s=mt(G(n,"firstLine"));return s!==null?s:e===null?null:-e}function Mt(n,e){if(typeof n!="number"||!Number.isFinite(n))return {ok:false,detail:`${e}: not a measurement`};let s=Math.round(n*rn);return Math.abs(s)>lo?{ok:false,detail:`${e}: out of range`}:{ok:true,value:s}}function dn(n){let e=[];if(n.bold!==void 0){if(typeof n.bold!="boolean")return {ok:false,detail:"bold: not a boolean"};e.push({localName:"b",...n.bold?{}:{attributes:{val:"0"}}});}if(n.italic!==void 0){if(typeof n.italic!="boolean")return {ok:false,detail:"italic: not a boolean"};e.push({localName:"i",...n.italic?{}:{attributes:{val:"0"}}});}if(n.name!==void 0){let s=n.name;if(typeof s!="string"||s.length===0||s.length>128)return {ok:false,detail:"name: not a font name"};if(!X(s))return {ok:false,detail:"name: not valid XML text"};e.push({localName:"rFonts",attributes:{ascii:s,hAnsi:s}});}if(n.size!==void 0){let s=n.size;if(typeof s!="number"||!Number.isFinite(s)||s<=0)return {ok:false,detail:"size: not a positive number of points"};let a=Math.round(s*2);if(a<1||a>uo)return {ok:false,detail:"size: out of range"};e.push({localName:"sz",attributes:{val:String(a)}}),e.push({localName:"szCs",attributes:{val:String(a)}});}if(n.color!==void 0){let s=n.color;if(typeof s!="string"||!/^#[0-9a-fA-F]{6}$/.test(s.trim()))return {ok:false,detail:"color: not a #RRGGBB triplet"};e.push({localName:"color",attributes:{val:s.trim().slice(1).toUpperCase()}});}return e.length===0?{ok:false,detail:"no formatting was asked for"}:{ok:true,value:e}}function ln(n,e,s,a){let l=Fa(n,e);if(!l||l.kind!=="paragraph")return {ok:false,detail:"not a paragraph"};let u=Od(l),f=[];if(s.style!==void 0){let C=Et(s.style,a);if(!C.ok)return {ok:false,detail:C.detail};f.push({localName:"pStyle",attributes:{val:C.styleId}});}if(s.alignment!==void 0){let C=yo[s.alignment];if(C===void 0)return {ok:false,detail:`alignment: ${String(s.alignment)}`};f.push({localName:"jc",attributes:{val:C}});}let k=Qd(u,"ind"),m=on(k),y=false;if(s.firstLineIndent!==void 0){let C=Mt(s.firstLineIndent,"firstLineIndent");if(!C.ok)return C;delete m.firstLine,delete m.hanging,C.value<0?m.hanging=String(-C.value):m.firstLine=String(C.value),y=true;}for(let[C,R,N]of [["leftIndent","left","start"],["rightIndent","right","end"]]){let P=s[C];if(P===void 0)continue;let L=Mt(P,C);if(!L.ok)return L;delete m[N],m[R]=String(L.value),y=true;}y&&f.push({localName:"ind",attributes:m});let v=Qd(u,"spacing"),g=on(v),I=false;for(let[C,R]of [["spaceBefore","before"],["spaceAfter","after"]]){let N=s[C];if(N===void 0)continue;let P=Mt(N,C);if(!P.ok)return P;if(P.value<0)return {ok:false,detail:`${C}: out of range`};g[R]=String(P.value),I=true;}if(s.lineSpacing!==void 0){let C=Mt(s.lineSpacing,"lineSpacing");if(!C.ok)return C;if(C.value<=0)return {ok:false,detail:"lineSpacing: out of range"};g.line=String(C.value),g.lineRule??="auto",I=true;}if(I&&f.push({localName:"spacing",attributes:g}),s.widowControl!==void 0){if(typeof s.widowControl!="boolean")return {ok:false,detail:"widowControl: not a boolean"};f.push({localName:"widowControl",...s.widowControl?{}:{attributes:{val:"0"}}});}return f.length===0?{ok:false,detail:"no formatting was asked for"}:{ok:true,value:ig(gg(n,e),f)}}function on(n){let e=Object.create(null);if(!n)return e;for(let s of n.attributes)e[s.localName]=s.value;return e}function un(){let n=false,e=false,s=false;return {conflict(a){let l=Gt(a),u=Yt(a),f=a.op==="deleteComment";return u&&n||e&&l?{message:"that command commits on its own and cannot share a batch",detail:a.op}:f&&n&&!s||s&&l&&!f?{message:"comment deletions may share a batch only with other comment deletions",detail:a.op}:null},note(a){Gt(a)&&(n=true,Yt(a)&&(e=true),a.op==="deleteComment"&&(s=true));},get hasCommands(){return n}}}var cn=20,ko=63360;function lt(n){return Math.round(n/cn*100)/100}function Ao(n,e){if(typeof n!="number"||!Number.isFinite(n))return null;let s=Math.round(n*cn);return s>ko||s<0||s===0&&!e?null:s}var vo=[["pageWidth","pageWidthTwips",false],["pageHeight","pageHeightTwips",false],["topMargin","marginTopTwips",true],["rightMargin","marginRightTwips",true],["bottomMargin","marginBottomTwips",true],["leftMargin","marginLeftTwips",true]];function pn(n){if(typeof n!="object"||n===null)return {ok:false,reason:"that is not a page setup",detail:"not-an-object"};let e=n,s={},a=0;for(let[u,f,k]of vo){let m=e[u];if(m===void 0)continue;let y=Ao(m,k);if(y===null)return {ok:false,reason:`that is not a value for ${u}`,detail:String(m)};s[f]=y,a+=1;}let l=e.orientation;if(l!==void 0){if(l!=="portrait"&&l!=="landscape")return {ok:false,reason:"that is not an orientation",detail:String(l)};s.orientation=l,a+=1;}return a===0?{ok:false,reason:"that page setup names nothing to write",detail:"empty"}:{ok:true,value:s}}function bo(n){let e=tf(n),s=e.widthTwips>e.heightTwips?"landscape":"portrait";return Object.freeze({pageWidth:lt(e.widthTwips),pageHeight:lt(e.heightTwips),orientation:s,topMargin:lt(e.topTwips),rightMargin:lt(e.rightTwips),bottomMargin:lt(e.bottomTwips),leftMargin:lt(e.leftTwips),headerDistance:lt(e.headerTwips),footerDistance:lt(e.footerTwips),gutter:lt(e.gutterTwips)})}function Io(n,e){if(!e)return null;let s=null,a=(l,u,f)=>{if(s!==null||l.kind==="textValue"||f>64)return;let k=l.kind==="paragraph"?l.id:u;if(l.id===e.id){s=k;return}for(let m of l.children)a(m,k,f+1);};return a(n.root,null,0),s}function mn(n,e,s){let a=Tb(e.root);return Object.freeze(a.map((l,u)=>{let f=s[u];return Object.freeze({index:u,markParagraphId:Io(e,l),pageSetup:bo(l),titlePage:f?.titlePage??false,evenAndOddHeaders:f?.evenAndOddHeaders??false})}))}var Zt="\r",xo=Object.freeze({nameOf:()=>null,idOf:()=>null,defaultId:null,present:false}),So=Object.freeze([]),Ro=Object.freeze([]),fn=Object.freeze([]),Co=Object.freeze({package:null,body:null,story:()=>null,storyOf:()=>null,sections:()=>Ro,furniture:()=>fn,noteIds:()=>({ok:true,ids:gn}),styles:()=>xo});function Oo(n){return n.kind==="textValue"?So:Object.freeze(n.children.filter(e=>e.kind!=="textValue").map(e=>{let s=[];He([e],s,0);let a=e.kind==="paragraph"?"paragraph":e.kind==="table"?"table":"other",l=e.kind==="paragraph"&&Qd(Od(e),"sectPr")!==void 0;return Object.freeze({id:e.id,kind:a,paragraphIds:Object.freeze(s.map(u=>u.id)),removable:a!=="other"&&!l})}))}function Qt(n,e,s,a,l){let u=Ge(a),f=Object.freeze(u.map(g=>g.id)),k=new Map,m=new Map;u.forEach((g,I)=>{k.set(g.id,I),m.set(g.id,g);});let y=new Map,v=g=>{if(!k.has(g))return null;let I=y.get(g);if(I!==void 0)return I;let C=Jf(e,g)??"";return y.set(g,C),C};return {story:n,part:e,root:a,scope:s,paragraphIds:f,blocks:Oo(a),has:g=>k.has(g),indexOf:g=>k.get(g)??-1,paragraph(g){let I=m.get(g);return I?{nodeId:g,paraId:Oc(I),text:v(g)??""}:null},node:g=>m.get(g)??null,paragraphText:v,text:()=>f.map(g=>v(g)??"").join(Zt),styles:l}}function yn(n){let e=n.parts.get(n.mainDocumentPart);if(!e)return Co;let s,a=()=>s??=nn(n),l,u=()=>l??=Ub(n),f,k=new Map,m=new Map,y=R=>{let N=m.get(R);if(N)return N;let P=Yd(n,R);if(!P){let X={ok:true,ids:gn};return m.set(R,X),X}let L=[],M=new Set,j=new Set,Z=0,U=false;for(let X of P.root.children){if(nd(X)!==R)continue;if(Z+=1,X.kind!=="note"){U=true;continue}if(!qd(X))continue;let et=od(X);if(et===null){U=true;continue}M.has(et)?j.add(et):(M.add(et),L.push(et));}let E=Z>xd?{ok:false,reason:"truncated"}:U?{ok:false,reason:"malformed"}:j.size>0?{ok:false,reason:"duplicates",duplicateIds:Object.freeze([...j])}:{ok:true,ids:Object.freeze(L)};return m.set(R,E),E},v=R=>{let N=u()[R.sectionIndex];return N?(R.kind==="header"?N.headers:N.footers).get(R.variant)??null:null},g=R=>{if(R.kind==="body"){let P=Fe(e);return P?Qt(R,e,{kind:"body"},P,a):null}if(R.kind==="note"){let P=y(R.noteKind);if(!P.ok||!P.ids.includes(R.noteId))return null;let L=Yd(n,R.noteKind);if(!L)return null;let M=Ad(L.root,R.noteId);return !M||!qd(M)?null:Qt(R,L,{kind:"notesPart",noteKind:R.noteKind},M,a)}let N=v(R);return N?Qt(R,N.part,{kind:"headerFooter",rId:N.rId},N.part.root,a):null},I=R=>{let N=B(R);if(k.has(N))return k.get(N)??null;let P=g(R);return k.set(N,P),P};return {package:n,get body(){return I(ct)},story:I,storyOf:R=>{if(I(ct)?.has(R))return ct;for(let[P]of u().entries())for(let L of ["header","footer"])for(let M of Ht){let j={kind:L,sectionIndex:P,variant:M};if(I(j)?.has(R))return j}for(let P of ["footnote","endnote"]){let L=y(P);if(L.ok)for(let M of L.ids){let j={kind:"note",noteKind:P,noteId:M};if(I(j)?.has(R))return j}}return null},sections:()=>f??=mn(n,e,u()),furniture(R){let N=u()[R];if(!N)return fn;let P=[];for(let L of ["header","footer"]){let M=L==="header"?N.headers:N.footers;for(let j of Ht){let Z=M.get(j);Z&&P.push(Object.freeze({kind:L,variant:j,declared:!Z.inherited}));}}return Object.freeze(P)},noteIds:y,styles:a}}var gn=Object.freeze([]);function ot(n,e){return {ok:false,code:n,detail:e}}function rt(n){return {ok:true,value:n}}function K(n,e,s,a){let l=s.resolve(n,e);if(!l||l.kind!=="body"&&l.kind!=="paragraph")return ot("invalid-handle",`not-a-${e}-handle`);let u=a.story(l.story);return u?rt(u):ot("invalid-handle",`no-such-story:${B(l.story)}`)}function Q(n,e,s){let a=e.resolve(n,"paragraph");if(!a||a.kind!=="paragraph")return ot("invalid-handle","not-a-paragraph-handle");let l=s.story(a.story);if(!l)return ot("invalid-handle",`no-such-story:${B(a.story)}`);let u=l.indexOf(a.paragraphId);return u<0?ot("invalid-handle","paragraph-not-in-body"):rt({story:a.story,paragraphId:a.paragraphId,index:u,offset:0})}function Po(n,e,s){let a=Q(n.paragraph,e,s);if(!a.ok)return a;let u=(s.story(a.value.story)?.paragraphText(a.value.paragraphId)??"").length,{offset:f}=n;return !Number.isInteger(f)||f<0||f>u?ot("invalid-offset",`offset ${String(f)} outside 0..${String(u)}`):rt({...a.value,offset:f})}function gt(n,e,s){if("paragraph"in n){if(!("at"in n))return Po(n,e,s);let k=Q(n.paragraph,e,s);if(!k.ok||n.at==="start")return k;let y=(s.story(k.value.story)?.paragraphText(k.value.paragraphId)??"").length;return rt({...k.value,offset:y})}let a=K(n.body,"body",e,s);if(!a.ok)return a;let l=a.value.paragraphIds;if(l.length===0)return ot("invalid-offset","empty-story");if(n.at==="start")return rt({story:a.value.story,paragraphId:l[0],index:0,offset:0});let u=l.length-1,f=l[u];return rt({story:a.value.story,paragraphId:f,index:u,offset:(a.value.paragraphText(f)??"").length})}function wo(n,e){return n.index<e.index||n.index===e.index&&n.offset<=e.offset}function To(n){let e=n.paragraphIds;if(e.length===0)return null;let s=e.length-1,a=e[s];return {start:{story:n.story,paragraphId:e[0],index:0,offset:0},end:{story:n.story,paragraphId:a,index:s,offset:(n.paragraphText(a)??"").length}}}function W(n,e,s){if("body"in n){let u=K(n.body,"body",e,s);return u.ok?rt(To(u.value)):u}if("paragraph"in n){let u=Q(n.paragraph,e,s);if(!u.ok)return u;let k=(s.story(u.value.story)?.paragraphText(u.value.paragraphId)??"").length;return rt({start:u.value,end:{...u.value,offset:k}})}let a=gt(n.start,e,s);if(!a.ok)return a;let l=gt(n.end,e,s);return l.ok?B(a.value.story)!==B(l.value.story)?ot("invalid-handle","span-crosses-stories"):wo(a.value,l.value)?rt({start:a.value,end:l.value}):ot("invalid-offset","span-start-after-end"):l}function q(n,e,s){if("body"in n)return K(n.body,"body",e,s);if("paragraph"in n)return K(n.paragraph,"paragraph",e,s);let a=n.start;return "paragraph"in a?K(a.paragraph,"paragraph",e,s):K(a.body,"body",e,s)}function _t(n,e,s){if("paragraph"in n)return Q(n.paragraph,e,s);let a=K(n.body,"body",e,s);if(!a.ok)return a;let l=a.value.paragraphIds;if(l.length===0)return ot("invalid-offset","empty-story");let u=n.at==="first"?0:l.length-1;return rt({story:a.value.story,paragraphId:l[u],index:u,offset:0})}function at(n,e){return n?e.paragraphIds.slice(n.start.index,n.end.index+1):[]}function qt(n,e){if(!n)return [];let s=at(n,e),a=s.length-1;return s.map((l,u)=>{let f=(e.paragraphText(l)??"").length,k=u===0?n.start.offset:0,m=u===a?n.end.offset:f;return {paragraphId:l,start:k,end:m,whole:k===0&&m===f}})}function hn(n,e,s){if(!n)return "";let a=at(n,e);return a.length===1?(e.paragraphText(n.start.paragraphId)??"").slice(n.start.offset,n.end.offset):a.map((l,u)=>{let f=e.paragraphText(l)??"";return u===0?f.slice(n.start.offset):u===a.length-1?f.slice(0,n.end.offset):f}).join(s)}function te(n,e){return {start:{paragraph:e.paragraph(n.start.paragraphId,n.start.story),offset:n.start.offset},end:{paragraph:e.paragraph(n.end.paragraphId,n.end.story),offset:n.end.offset}}}var No=256,kn=1e4;function ee(n,e){if(n.kind!=="textValue"){for(let s of n.attributes)if(s.namespaceUri===ma&&s.localName===e)return s.value}}function Ho(n){return n.startsWith("_")}function ne(n){let e=new Map,s=[],a=new Set;for(let l of n.paragraphIds){let u=n.node(l);if(u?.kind!=="paragraph")continue;let f=Sd(u),k=m=>{if(m.kind!=="textValue"){if(m.kind==="bookmarkStart"){if(s.length>=kn||e.size>=kn)return;let y=ee(m,"id"),v=ee(m,"name");if(y===void 0||v===void 0||v.length===0||v.length>No||Ho(v)||a.has(v)||e.has(y))return;let g=f.spanOf(m)?.start??0;e.set(y,{name:v,start:{paragraphId:l,offset:g}});return}if(m.kind==="bookmarkEnd"){let y=ee(m,"id");if(y===void 0)return;let v=e.get(y);if(!v)return;e.delete(y),a.add(v.name);let g=f.spanOf(m)?.start??0;s.push(Object.freeze({name:v.name,start:v.start,end:{paragraphId:l,offset:g}}));return}for(let y of m.children)k(y);}};for(let m of u.children)k(m);}return Object.freeze(s)}function oe(n,e){return ne(n).find(s=>s.name===e)??null}function An(n,e){let s=n.node(e);if(s?.kind!=="paragraph")return Object.freeze([]);let a=Sd(s),l=[],u=(f,k)=>{if(!(f.kind==="textValue"||k>32)){if(Ra(f)){let m=a.spanOf(f);m&&l.push(Object.freeze({id:f.id,paragraphId:e,start:m.start,end:m.end}));return}for(let m of f.children)u(m,k+1);}};for(let f of s.children)u(f,0);return Object.freeze(l)}function vn(n,e,s){let a=Ua(s,l=>Xc(n,e,l));if(a.kind==="external")return a.href;if(a.kind==="internal"){let l=Sa(s);return l===void 0||l.length===0?null:`#${l}`}return null}var ht=8;function bn(n){if(!n||n.kind==="textValue")return null;for(let e of n.attributes)if(e.namespaceUri===ma&&e.localName==="val")return e.value;return null}function In(n){let e=Qd(Od(n),"numPr");if(!e)return null;let s=bn(Qd(e,"numId"));if(s===null||!/^\d{1,10}$/.test(s)||s==="0")return null;let a=bn(Qd(e,"ilvl")),l=a===null?0:Number(a);return !Number.isInteger(l)||l<0||l>ht?null:{numId:s,level:l}}function Bt(n){let e=new Map;for(let s of n.paragraphIds){let a=n.node(s);if(!a)continue;let l=In(a);if(!l)continue;let u=e.get(l.numId);u?u.push(s):e.set(l.numId,[s]);}return Object.freeze([...e].map(([s,a])=>Object.freeze({numId:s,paragraphIds:Object.freeze(a)})))}function Rt(n,e){let s=n.node(e);return s?In(s):null}var Lo={insert:"Insert",delete:"Delete",replace:"Replace",moveFrom:"MovedFrom",moveTo:"MovedTo",format:"Property",paragraphMark:"ParagraphProperty"};function Eo(n){return n.kind==="note"}function Mo(n,e){return e.length===0?!Eo(n.story):e.every(s=>n.has(s.start.paragraphId))}function _o(n){return Object.freeze(ug(n.part).filter(e=>Mo(n,e.ranges)))}function re(n){let e=[];for(let s of _o(n)){if(s.readOnly||s.revisionKind==="structural")continue;let a=Lo[s.revisionKind];a!==void 0&&e.push(Object.freeze({id:s.id,type:a,author:s.author,date:s.date??"",item:s}));}return Object.freeze(e)}function Bo(n,e){let s=n;for(let a=0;s!==void 0&&a<=64;a+=1){if(s.parentId===void 0)return s.range!==null;s=e.get(s.parentId);}return false}var Fo=Object.freeze({items:Object.freeze([]),roots:Object.freeze([]),byId:()=>null,textOf:()=>""});function xn(n,e){let s=n.parts.get(Uf(n,e.part.name));if(!s)return Fo;let a=n.parts.get(Vf(n,e.part.name)),l=Le(s),u=a?Me(a):new Map,f=Ke(e.part).filter(g=>e.has(g.start.paragraphId)),k=vg(l,f,u),m=new Map(k.map(g=>[g.id,g])),y=k.filter(g=>Bo(g,m)),v=new Map(y.map(g=>[g.id,g]));return Object.freeze({items:Object.freeze(y),roots:Object.freeze(y.filter(g=>g.parentId===void 0)),byId:g=>v.get(g)??null,textOf:g=>{let I=v.get(g);return I?sg(I.comment):""}})}function Sn(n,e,s){if("body"in n){let a=K(n.body,"body",e,s);return a.ok?{ok:true,reads:a.value}:{ok:false,code:a.code,message:"that handle does not name a body",detail:a.detail}}return e.resolve(n.document,"document")?s.body?{ok:true,reads:s.body}:{ok:false,code:"document-unavailable",message:"this host holds no document"}:{ok:false,code:"invalid-handle",message:"that handle does not name a document",detail:"document"}}function Rn(n,e){let s=n.op==="acceptAllRevisions",a=e.story.kind==="note"?{scopeRootId:e.root.id}:{};return [s?{op:"acceptAllRevisions",...a}:{op:"rejectAllRevisions",...a}]}var jo=/[\r\n\u2028\u2029]/u,On=Object.freeze({kind:"applied"});function kt(n,e,s){return {ok:false,error:Object.freeze(s===void 0?{code:n,message:e}:{code:n,message:e,detail:s})}}function ae(n,e){return kt("unsupported-content",n==="author"?"a comment records who wrote it":n==="date"?"a comment date must be a valid ISO-8601 instant":e==="reply"?"a reply says something":"a comment says something",n)}function se(n){return Nf(n.author)?ae("author",n.kind):Of(n.text)?ae("text",n.kind):typeof n.text=="string"&&jo.test(n.text)?kt("unsupported-content",n.kind==="reply"?"a reply is one paragraph in this slice":"a comment is one paragraph in this slice","text"):Qf(n.date)?ae("date",n.kind):null}function ie(n){if(n===void 0)return;let e=Pf(n);return e.ok?e.value:void 0}function Cn(n,e){let s=Fa(n.part,e);for(;s;){if(s.kind==="tableCell"||s.kind!=="textValue"&&s.namespaceUri===ma&&s.localName==="tc")return s.id;s=Ga(n.part,s.id);}return null}function Pn(n,e,s,a){let l=se({author:n.author,text:n.text,date:n.date,kind:"comment"});if(l)return l;let u=W(n.span,e,s);if(!u.ok)return kt(u.code,"that span is not a place",u.detail);if(u.value===null)return kt("invalid-handle","an empty story has no comment anchor");let f=q(n.span,e,s);if(!f.ok)return kt(f.code,"that span is not a place",f.detail);let k=u.value;if(Cn(f.value,k.start.paragraphId)!==Cn(f.value,k.end.paragraphId))return kt("unsupported-content","a comment range cannot cross a table-cell boundary");let m=a(f.value);if(m)return m;let y=ie(n.date);return {ok:true,kind:"commentWrite",write:{kind:"create",anchor:{paragraphId:k.start.paragraphId,start:k.start.offset,end:k.end.offset,...k.end.paragraphId===k.start.paragraphId?{}:{endParagraphId:k.end.paragraphId}},text:n.text,author:n.author,...y===void 0?{}:{date:y}},story:f.value.story,answer:(g,I)=>I===void 0?On:{kind:"handle",handle:e.comment(I,f.value.story)}}}function wn(n,e,s){let a=s(e);if(a)return a;let l=e.story;return {ok:true,kind:"commentWrite",write:{kind:"delete",commentId:n.id,...n.parentId===void 0?{}:{parentCommentId:n.parentId},...l.kind==="note"?{noteId:l.noteId}:{}},story:l,answer:()=>On}}var Do=1e4;function Tn(n,e){let s=[],a=e.kind==="contentControl"?pe(e):e;if(!a)return s;for(let l of te$1(a))if(!(l.ancestors.length>0)){if(s.length>=Do)break;s.push(En(n,l.node));}return s}function Nn(n,e){for(let s of te$1(n.root))if(s.node.id===e)return En(n,s.node);return null}function Hn(n,e){for(let s of te$1(n.root))if(s.node.id===e)return s.node;return null}function de(n,e){let s=Mn(e);if(s.length>0){let a=s[0],l=s[s.length-1],u=n.paragraphText(l);return u===null||!n.has(a)?null:{start:{paragraphId:a,offset:0},end:{paragraphId:l,offset:u.length}}}for(let a of n.paragraphIds){let l=n.node(a);if(!l||l.kind!=="paragraph"||!l.children.some(f=>f.id===e.id))continue;let u=Sd(l).spanOf(e);return u?{start:{paragraphId:a,offset:u.start},end:{paragraphId:a,offset:u.end}}:null}return null}function Ln(n){return ve(n)}function En(n,e){return {nodeId:e.id,properties:re$1(e),lock:mf(n.part,e.id),paragraphIds:Mn(e)}}function Mn(n){let e=pe(n);if(!e)return [];let s=[];return He(e.children,s,0),s.map(a=>a.id)}var Wo=new Set(["unlocked","sdtLocked","contentLocked","sdtContentLocked"]),zo=4096,_n=64;function Bn(n){if(n===void 0)return {ok:true,value:null};if(typeof n!="object"||n===null)return {ok:false,field:"payload"};let e=n;for(let s of ["namespaceUri","rootLocalName","nodeId"]){let a=e[s];if(typeof a!="string"||a.length===0||a.length>zo)return {ok:false,field:s}}return typeof e.label!="string"||e.label.length>Xf?{ok:false,field:"label"}:typeof e.data!="string"||e.data.length===0||e.data.length>Wf?{ok:false,field:"data"}:{ok:true,value:{namespaceUri:e.namespaceUri,rootLocalName:e.rootLocalName,nodeId:e.nodeId,label:e.label,data:e.data}}}function Fn(n){let e=n.at!==void 0,s=n.span!==void 0;return e===s?{message:"a custom node goes at a position or over a span, not both",detail:e?"at+span":"no-place"}:typeof n.tag!="string"||n.tag.length===0?{message:"a custom node carries its identity in its tag",detail:"tag"}:n.tag.length>_n?{message:`w:tag caps at ${String(_n)} characters; a longer payload belongs in the store`,detail:"tag"}:typeof n.text!="string"||n.text.length===0?{message:"a custom node shows some text",detail:"text"}:n.lock!==void 0&&!Wo.has(n.lock)?{message:"that is not a lock",detail:String(n.lock)}:null}function jn(n,e,s,a){return {paragraphId:e.paragraphId,offset:e.offset,...s.offset>e.offset?{replaceUntil:s.offset}:{},tag:n.tag,text:n.text,...n.title===void 0?{}:{alias:n.title},...n.lock===void 0||n.lock==="unlocked"?{}:{lock:n.lock},...a===null?{}:{payload:a}}}function Dn(n,e,s){if(n.span){let l=W(n.span,e,s);return l.ok?l.value?l.value.start.paragraphId!==l.value.end.paragraphId?{code:"unsupported-content",message:"a custom node wraps text inside one paragraph",detail:"multi-paragraph"}:{range:l.value}:{code:"invalid-offset",message:"that story holds nothing to wrap",detail:"empty-story"}:{code:l.code,message:"that span is not a place",detail:l.detail}}let a=gt(n.at,e,s);return a.ok?{range:{start:a.value,end:a.value}}:{code:a.code,message:"that is not a place",detail:a.detail}}var Ft=/[\r\n\v\f\u2028\u2029]/,Ko=16,Vo=64,Wn=/\s/;function $o(n,e,s){return Object.freeze(s===void 0?{code:n,message:e}:{code:n,message:e,detail:s})}function d(n,e,s){return {ok:false,error:$o(n,e,s)}}var F=Object.freeze({kind:"applied"});function b(n){return {ok:true,kind:"query",value:n}}function zn(n){let e=n.kind==="contentControl"?pe(n):n;return e?te$1(e).map(s=>s.node):[]}var Uo=new Set(["unlocked","sdtLocked","contentLocked","sdtContentLocked"]),Xo=new Set(["whole","content","start","end","before","after"]),Yo=new Set(["richText","plainText","dropDownList","comboBox","date"]),Go=4096;function Jo(n){let e=(l,u)=>({ok:false,code:"unsupported-content",message:l,detail:u});if(typeof n!="object"||n===null||!("kind"in n))return e("a control value states its kind","value");let s=n,a=s.kind;if(a==="text"||a==="listItem"){let l=a==="text"?s.text:s.value;return typeof l!="string"?e("that value is not a string",String(a)):l.length>Go?e("that value is too long",String(l.length)):{ok:true,value:a==="text"?{kind:"text",text:l}:{kind:"listItem",value:l}}}if(a==="checkbox"){let l=s.checked;return typeof l!="boolean"?e("a checkbox is checked or not","checked"):{ok:true,value:{kind:"checkbox",checked:l}}}if(a==="date"){let l=s.iso;return typeof l!="string"?e("a date is an ISO-8601 string","iso"):l.length>64?e("that is not a date",String(l.length)):{ok:true,value:{kind:"date",iso:l}}}return e("that is not a value any control accepts",String(a))}function Qo(n,e){let s=[],a=0;for(;a<n.length;){let l=null;for(let u of e){let f=n.indexOf(u,a);f<0||(!l||f<l.start||f===l.start&&u.length>l.length)&&(l={start:f,length:u.length});}if(!l)break;s.push(l),a=l.start+l.length;}return s}function Zo(n,e,s){let a=e[s]?.markParagraphId??null;if(a!==null)return a;let l=n.paragraphIds,u=l[l.length-1];return u===void 0||new Set(e.map(k=>k.markParagraphId).filter(k=>k!==null)).has(u)?null:u}function qo(n,e){for(let s of [n.start,n.end]){let a=e.paragraphText(s.paragraphId);if(a===null||s.offset>a.length)return false}return true}function tr(n,e,s){let a=e,l=s;for(;a<l&&Wn.test(n[a]);)a+=1;for(;l>a&&Wn.test(n[l-1]);)l-=1;return [a,l]}function Kn(n){let{handles:e,capabilities:s}=n,a=n.reads,l=new Map,u=r=>{let t=B(r.story),o=l.get(t);if(o)return o;let i=new Map,c=r.paragraphIds.map(h=>{let A={id:h};return i.set(h,A),A}),p={reads:r,order:c,slotById:i,created:[],restructured:new Set,touched:new Set,formatted:new Set,selected:new Set,retargets:[]};return l.set(t,p),p},f=[],k=un(),m=null,y=r=>m===null?(m=r,null):m===r?null:d("conflicting-operations","one batch writes into one story",`${B(m.reads.story)} then ${B(r.reads.story)}`),v=r=>y(u(r)),g=r=>{let t=a.package;return t===null?null:xn(t,r)},I=r=>{let t=e.resolve(r,"comment");if(!t||t.kind!=="comment")return {ok:false,planned:d("invalid-handle","that handle does not name a comment","comment")};let o=a.story(t.story);if(!o)return {ok:false,planned:d("invalid-handle","that story is not in this document")};let c=g(o)?.byId(t.commentId)??null;return c?{ok:true,reads:o,item:c}:{ok:false,planned:d("invalid-handle","this document no longer holds that comment",t.commentId)}},C=r=>{let t=e.resolve(r,"revision");if(!t||t.kind!=="revision")return {ok:false,planned:d("invalid-handle","that handle does not name a tracked change","revision")};let o=a.story(t.story);if(!o)return {ok:false,planned:d("invalid-handle","that story is not in this document")};let i=re(o).find(c=>c.id===t.revisionId)??null;return i?{ok:true,reads:o,item:i}:{ok:false,planned:d("invalid-handle","this document no longer holds that tracked change",t.revisionId)}},R=(r,t)=>{let o=r.paragraphText(t.start.paragraphId),i=r.paragraphText(t.end.paragraphId);if(o===null||i===null)return null;let c={story:r.story,paragraphId:t.start.paragraphId,index:r.indexOf(t.start.paragraphId),offset:Math.min(t.start.offset,o.length)},p={story:r.story,paragraphId:t.end.paragraphId,index:r.indexOf(t.end.paragraphId),offset:Math.min(t.end.offset,i.length)};return U({start:c,end:p})},N=(r,t)=>r.order.indexOf(t),P=(r,t)=>r.selected.has(t)?d("conflicting-operations","this batch selects a paragraph it also edits",t):null,L=(r,t)=>{let o=P(r,t);return o||(r.restructured.has(t)||r.touched.has(t)?d("conflicting-operations","another operation in this batch already changes that paragraph",t):(r.restructured.add(t),r.touched.add(t),null))},M=(r,t)=>{let o=P(r,t);return o||(r.restructured.has(t)?d("conflicting-operations","another operation in this batch restructures that paragraph",t):(r.touched.add(t),null))},j=(r,t,o)=>{let i=`${o}:${t}`;if(r.formatted.has(i))return d("conflicting-operations","another operation in this batch already writes that formatting",t);let c=M(r,t);return c||(r.formatted.add(i),null)},Z=(r,t)=>{let o={id:null};return r.order.splice(t,0,o),r.created.push(o),o},U=r=>te(r,e),E=r=>r===null?null:a.story(r.start.story),X=(r,t,o,i)=>{if(i?.matchWildcards===true)return d("unsupported-capability","wildcard search is not implemented","matchWildcards");if(i?.ignorePunct===true)return d("unsupported-capability","ignoring punctuation is not implemented","ignorePunct");if(i?.ignoreSpace===true)return d("unsupported-capability","ignoring whitespace is not implemented","ignoreSpace");if(!Gg(o))return d("unsupported-content","that is not a query this host will scan for","text");let c=i?.limit;if(c!==void 0&&(!Number.isInteger(c)||c<0))return d("invalid-offset","limit must be a non-negative integer",String(c));let p=Math.min(c??2e3,2e3),h=[],A=at(t,r),x=A.length-1;for(let[w,T]of A.entries()){if(p<=0)break;let _=r.paragraphText(T)??"",O=Hg(_,o,p,{matchCase:i?.matchCase===true,wholeWord:i?.matchWholeWord===true,...w===0&&t?{from:t.start.offset}:{},...w===x&&t?{to:t.end.offset}:{}});for(let S of O.matches){let Y=e.paragraph(T,r.story);h.push({start:{paragraph:Y,offset:S.start},end:{paragraph:Y,offset:S.start+S.length}});}p-=O.matches.length;}return b({kind:"spans",spans:h})},et=(r,t,o)=>{if(typeof o!="string")return d("unsupported-content","insertText needs text","text");if(Ft.test(o))return d("unsupported-content","text carrying a paragraph mark is not written by this host","paragraph-mark-in-text");let i=y(r);if(i)return i;let c=M(r,t.paragraphId);if(c)return c;let p=o.length===0?[]:[{op:"insertText",paragraphId:t.paragraphId,offset:t.offset,text:o}],h=()=>({kind:"span",span:U({start:t,end:{...t,offset:t.offset+o.length}})});return {ok:true,kind:"command",ops:p,story:r.reads.story,answer:h}},At=(r,t,o)=>{let i=r.reads;if(typeof o!="string")return d("unsupported-content","replaceSpan needs text","text");if(Ft.test(o))return d("unsupported-content","text carrying a paragraph mark is not written by this host","paragraph-mark-in-text");let c=at(t,i),p=t.start.paragraphId,h=[],A=y(r);if(A)return A;if(c.length===1){let T=M(r,p);if(T)return T;t.end.offset>t.start.offset&&h.push({op:"deleteText",paragraphId:p,start:t.start.offset,end:t.end.offset});}else {for(let O of c){let S=L(r,O);if(S)return S}let T=t.end.paragraphId,_=(i.paragraphText(p)??"").length;t.start.offset<_&&h.push({op:"deleteText",paragraphId:p,start:t.start.offset,end:_}),t.end.offset>0&&h.push({op:"deleteText",paragraphId:T,start:0,end:t.end.offset});for(let O of c.slice(1,-1))h.push({op:"deleteBlock",blockId:O});h.push({op:"joinParagraphs",firstId:p,secondId:T});for(let O of c.slice(1)){let S=r.slotById.get(O);S&&r.order.splice(N(r,S),1);}}o.length>0&&h.push({op:"insertText",paragraphId:p,offset:t.start.offset,text:o});let x={...t.start,paragraphId:p},w=()=>({kind:"span",span:U({start:x,end:{...x,offset:x.offset+o.length}})});return {ok:true,kind:"command",ops:h,story:r.reads.story,answer:w}},Ct=(r,t)=>{let o=r.reads;if(typeof t!="string")return d("unsupported-content","replaceSpan needs text","text");if(Ft.test(t))return d("unsupported-content","text carrying a paragraph mark is not written by this host","paragraph-mark-in-text");let i=o.blocks,c=i.filter(S=>S.removable),p=i.filter(S=>!S.removable).flatMap(S=>S.paragraphIds),h=p.length===0?c.find(S=>S.kind==="paragraph"):void 0;if(!h&&p.length===0)return d("invalid-offset","that story holds no paragraph this host can write into","no-top-level-paragraph");let A=y(r);if(A)return A;for(let S of o.paragraphIds){let Y=L(r,S);if(Y)return Y}let x=[],w=(h?[h.id]:[...p]).sort((S,Y)=>o.indexOf(S)-o.indexOf(Y)),T=w[0];for(let S of w){let Y=(o.paragraphText(S)??"").length;Y>0&&x.push({op:"deleteText",paragraphId:S,start:0,end:Y});}for(let S of c)S.id!==h?.id&&x.push({op:"deleteBlock",blockId:S.id});t.length>0&&x.push({op:"insertText",paragraphId:T,offset:0,text:t});for(let S of c)if(S.id!==h?.id)for(let Y of S.paragraphIds){let Ot=r.slotById.get(Y);Ot&&r.order.splice(N(r,Ot),1);}let _={story:o.story,paragraphId:T,index:o.indexOf(T),offset:0},O=()=>({kind:"span",span:U({start:_,end:{..._,offset:t.length}})});return {ok:true,kind:"command",ops:x,story:o.story,answer:O}},jt=(r,t,o,i)=>{let c=r.reads;if(typeof i!="string")return d("unsupported-content","insertParagraph needs text","text");if(Ft.test(i))return d("unsupported-content","a paragraph mark inside a paragraph\u2019s text is not written by this host","paragraph-mark-in-text");let p=y(r);if(p)return p;let h=L(r,t.paragraphId);if(h)return h;let A=r.slotById.get(t.paragraphId);if(!A)return d("invalid-handle","that paragraph is not in the body");let x=(c.paragraphText(t.paragraphId)??"").length,w=[];o==="after"?(i.length>0&&w.push({op:"insertText",paragraphId:t.paragraphId,offset:x,text:i}),w.push({op:"splitParagraph",paragraphId:t.paragraphId,offset:x})):(i.length>0&&w.push({op:"insertText",paragraphId:t.paragraphId,offset:0,text:i}),w.push({op:"splitParagraph",paragraphId:t.paragraphId,offset:i.length}));let T=Z(r,N(r,A)+1);o==="before"&&r.retargets.push({from:t.paragraphId,slot:T});let _=()=>{let O=o==="after"?T.id:t.paragraphId;return O===null?F:{kind:"handle",handle:e.paragraph(O,c.story)}};return {ok:true,kind:"command",ops:w,story:c.story,answer:_}},H=(r,t,o,i,c)=>{let p=r.reads;if(!Array.isArray(o)||o.length===0)return d("unsupported-content","split needs at least one delimiter","delimiters");if(o.length>Ko)return d("unsupported-content","too many delimiters",String(o.length));for(let V of o){if(typeof V!="string"||V.length===0)return d("unsupported-content","a delimiter must be a non-empty string","delimiters");if(V.length>Vo)return d("unsupported-content","that delimiter is too long","delimiters")}let h=y(r);if(h)return h;let A=L(r,t.paragraphId);if(A)return A;let x=r.slotById.get(t.paragraphId);if(!x)return d("invalid-handle","that paragraph is not in the body");let w=p.paragraphText(t.paragraphId)??"",T=Qo(w,o),_=[],O=[],S=[];if(T.length===0)S.push(w);else if(i){for(let $ of [...T].reverse())_.push({op:"deleteText",paragraphId:t.paragraphId,start:$.start,end:$.start+$.length});let V=0,ut=0;for(let $ of T){let zt=$.start-V;O.push(zt),S.push(w.slice(ut,$.start)),ut=$.start+$.length,V+=$.length;}S.push(w.slice(ut));}else {let V=0;for(let ut of T){let $=ut.start+ut.length;O.push($),S.push(w.slice(V,$)),V=$;}S.push(w.slice(V));}O.length>0&&_.push({op:"splitParagraphMany",paragraphId:t.paragraphId,offsets:O});let Y=[x];for(let V=0;V<O.length;V+=1)Y.push(Z(r,N(r,x)+1+V));let Ot=V=>{let ut=V.story(p.story),$=[];return Y.forEach((zt,Jn)=>{let Kt=zt.id;if(Kt===null)return;let Vt=ut?.paragraphText(Kt)??S[Jn]??"",[Qn,Zn]=c?tr(Vt,0,Vt.length):[0,Vt.length],pe=e.paragraph(Kt,p.story);$.push({start:{paragraph:pe,offset:Qn},end:{paragraph:pe,offset:Zn}});}),{kind:"spans",spans:$}};return {ok:true,kind:"command",ops:_,story:p.story,answer:Ot}},z=(r,t)=>{let o=y(r);if(o)return o;let i=L(r,t.paragraphId);if(i)return i;let c=r.slotById.get(t.paragraphId);return c&&r.order.splice(N(r,c),1),{ok:true,kind:"command",ops:[{op:"deleteBlock",blockId:t.paragraphId}],story:r.reads.story,answer:()=>F}},st=(r,t,o)=>{let i=r.reads,c=i.part,p=y(r);if(p)return p;let h=dn(o??{});if(!h.ok)return d("unsupported-content","that is not formatting this host writes",h.detail);let A=[];for(let x of qt(t,i)){if(x.end<=x.start&&!x.whole)continue;let w=j(r,x.paragraphId,"runs");if(w)return w;for(let T of og(c,x.paragraphId,x.start,x.end,h.value))A.push({op:"setRunProperties",paragraphId:x.paragraphId,start:T.start,end:T.end,properties:T.properties,...T.targetRunIds?{targetRunIds:T.targetRunIds}:{}});x.whole&&A.push({op:"setParagraphMarkProperties",paragraphId:x.paragraphId,properties:ng(c,x.paragraphId,h.value)});}return A.length===0?d("invalid-offset","that range covers no characters to format","collapsed-range"):{ok:true,kind:"command",ops:A,story:i.story,answer:()=>F}},vt=(r,t,o)=>{let i=r.reads,c=i.part,p=y(r);if(p)return p;let h=Et(o,i.styles());if(!h.ok)return d("unsupported-content","that is not a style this document has",h.detail);let A={localName:"pStyle",attributes:{val:h.styleId}},x=[];for(let w of at(t,i)){let T=j(r,w,"paragraph");if(T)return T;x.push({op:"setParagraphProperties",paragraphId:w,properties:ig(gg(c,w),A)});}return x.length===0?d("invalid-offset","that story holds no paragraph to style","empty-story"):{ok:true,kind:"command",ops:x,story:i.story,answer:()=>F}},pt=(r,t,o)=>{let i=r.reads,c=i.part,p=y(r);if(p)return p;let h=ln(c,t.paragraphId,o??{},i.styles());if(!h.ok)return d("unsupported-content","that is not paragraph formatting this host writes",h.detail);let A=j(r,t.paragraphId,"paragraph");return A||{ok:true,kind:"command",ops:[{op:"setParagraphProperties",paragraphId:t.paragraphId,properties:h.value}],story:i.story,answer:()=>F}},Vn=(r,t)=>{let o=a.body;if(!o)return d("document-unavailable","this host holds no document right now");let i=a.sections();if(!i[r])return d("invalid-handle","that section is not in this document");let p=pn(t);if(!p.ok)return d("unsupported-content",p.reason,p.detail);let h=Zo(o,i,r);if(h===null)return d("unsupported-content","that section holds no paragraph to address it by","no-anchor");let A=u(o),x=y(A);return x||{ok:true,kind:"command",ops:[{op:"setSectionProperties",...p.value,anchorParagraphId:h}],story:ct,answer:()=>F}},$n=(r,t)=>({ok:true,kind:"command",ops:[{op:"deleteNote",noteKind:r,noteId:t}],story:ct,lifecycle:true,answer:()=>F}),Dt=r=>{let t=e.resolve(r,"list");if(!t||t.kind!=="list")return d("invalid-handle","that handle does not name a list","list");let o=a.story(t.story);if(!o)return d("invalid-handle","that story is not in this document");let i=Bt(o).find(c=>c.numId===t.numId);return i?{ok:true,plan:u(o),list:i}:d("invalid-handle","this story numbers nothing with that list",t.numId)},Wt=r=>{if(typeof r!="object"||r===null)return d("invalid-handle","that is not a scope a control lives in","scope");let t=r;if("body"in r){let o=K(t.body,"body",e,a);return o.ok?{reads:o.value,node:o.value.root}:d(o.code,"that handle does not name a body",o.detail)}if("contentControl"in r){let o=nt(t.contentControl);return "control"in o?{reads:o.reads,node:o.node}:o}return d("invalid-handle","that is not a scope a control lives in","scope")},nt=r=>{let t=e.resolve(r,"contentControl");if(!t||t.kind!=="contentControl")return d("invalid-handle","that handle does not name a content control","contentControl");let o=a.story(t.story);if(!o)return d("invalid-handle","that story is not in this document");let i=Nn(o,t.nodeId),c=Hn(o,t.nodeId);return !i||!c?d("invalid-handle","this document no longer holds that content control"):{reads:o,control:i,node:c}},Un=(r,t,o)=>{if(!Number.isInteger(o)||o<0||o>ht)return d("invalid-offset",`a list level is 0 to ${String(ht)}`,String(o));if(!Rt(r.reads,t))return d("unsupported-content","that paragraph is not in a list",t);let i=y(r);if(i)return i;let c=j(r,t,"paragraph");return c||{ok:true,kind:"command",ops:[{op:"setListLevel",paragraphId:t,level:o}],story:r.reads.story,answer:()=>F}},Xn=(r,t,o,i)=>{if(o!=="start"&&o!=="end")return d("unknown-operation","a list takes an item at its start or its end",String(o));let c=r.reads,p=o==="start"?t.paragraphIds[0]:t.paragraphIds[t.paragraphIds.length-1];if(p===void 0)return d("invalid-handle","that list holds no paragraph");let h={story:c.story,paragraphId:p,index:c.indexOf(p)};return jt(r,h,o==="start"?"before":"after",i)},le=(r,t)=>{if(t.start.paragraphId!==t.end.paragraphId)return null;for(let o of An(r,t.start.paragraphId))if(o.start<=t.start.offset&&o.end>=t.end.offset)return o;return null},Yn=(r,t,o)=>{if(typeof o!="string")return d("unsupported-content","a hyperlink target is a string","target");let i=r.reads,c=le(i,t),p=t.start.paragraphId===t.end.paragraphId&&t.start.offset===t.end.offset;if(o.length===0){if(!c)return d("unsupported-content","that text is not a link","no-link");let O=y(r);if(O)return O;let S=M(r,c.paragraphId);return S||{ok:true,kind:"command",ops:[{op:"removeHyperlink",linkId:c.id}],story:i.story,answer:()=>F}}let h={},A=null;if(o.startsWith("#")){let O=o.slice(1);if(O.length===0||!oe(i,O))return d("unsupported-content","this document declares no such bookmark",o);h={anchor:O};}else {if(Vc(o)===null)return d("unsupported-content","this engine will not author that target","target");A=o;}let x=y(r);if(x)return x;let w=O=>A===null?{ok:true,kind:"command",ops:[O(h)],story:i.story,answer:()=>F}:{ok:true,kind:"command",ops:[],relate:{url:A,ops:S=>[O({relationshipId:S})]},story:i.story,answer:()=>F};if(c){let O=M(r,c.paragraphId);return O||w(S=>({op:"setHyperlinkTarget",linkId:c.id,...S}))}if(p)return d("unsupported-content","a link with no text has nothing to click","collapsed");if(t.start.paragraphId!==t.end.paragraphId)return d("unsupported-content","a link lives inside one paragraph","crosses-paragraph-mark");let T=M(r,t.start.paragraphId);if(T)return T;let _=i.styles().idOf("hyperlink");return w(O=>({op:"insertHyperlink",paragraphId:t.start.paragraphId,start:t.start.offset,end:t.end.offset,...O,..._===null?{}:{styleId:_}}))},ue=(r,t,o)=>{let i=r.reads;if(!s.selection||!n.select)return d("unsupported-capability","this host has no reader to move","selection");if(o!=="select"&&o!=="start"&&o!=="end")return d("unknown-operation","that is not a selection mode",String(o));let c=at(t,i);for(let p of c)if(r.touched.has(p))return d("conflicting-operations","this batch edits a paragraph the selection covers",p);for(let p of c)r.selected.add(p);return f.push({range:t,mode:o}),{ok:true,kind:"command",ops:[],story:i.story,answer:()=>F}},ce=r=>{let t=e.resolve(r,"bookmark");if(!t||t.kind!=="bookmark")return d("invalid-handle","that handle does not name a bookmark","bookmark");let o=a.story(t.story);if(!o)return d("invalid-handle","that story is not in this document");let i=oe(o,t.name);if(!i)return d("invalid-handle","this document no longer declares that bookmark",t.name);let c=p=>({story:o.story,paragraphId:p.paragraphId,index:o.indexOf(p.paragraphId),offset:p.offset});return {reads:o,range:{start:c(i.start),end:c(i.end)}}},Gn=r=>{switch(r.op){case "getDocument":return b({kind:"handle",handle:e.document()});case "getBody":return e.resolve(r.document,"document")?a.body?b({kind:"handle",handle:e.body(ct)}):d("document-unavailable","this host holds no document right now"):d("invalid-handle","that handle does not name a document","document");case "getParagraphs":{let t=K(r.body,"body",e,a);return t.ok?b({kind:"handles",handles:t.value.paragraphIds.map(o=>e.paragraph(o,t.value.story))}):d(t.code,"that handle does not name a body",t.detail)}case "getSpanParagraphs":{let t=W(r.span,e,a);if(!t.ok)return d(t.code,"that span is not a place",t.detail);let o=q(r.span,e,a);return o.ok?b({kind:"handles",handles:at(t.value,o.value).map(i=>e.paragraph(i,o.value.story))}):d(o.code,"that span is not a place",o.detail)}case "getText":{if(e.resolve(r.target,"body")){let c=K(r.target,"body",e,a);return c.ok?b({kind:"text",text:c.value.text()}):d(c.code,"that handle does not name a body",c.detail)}let o=Q(r.target,e,a);if(!o.ok)return d(o.code,"that handle does not name a body or a paragraph",o.detail);let i=a.story(o.value.story);return b({kind:"text",text:i?.paragraphText(o.value.paragraphId)??""})}case "getSpanText":{let t=W(r.span,e,a);if(!t.ok)return d(t.code,"that span is not a place",t.detail);let o=q(r.span,e,a);return o.ok?b({kind:"text",text:hn(t.value,o.value,Zt)}):d(o.code,"that span is not a place",o.detail)}case "getParagraphId":{let t=Q(r.paragraph,e,a);if(!t.ok)return d(t.code,"that handle does not name a paragraph",t.detail);let i=a.story(t.value.story)?.paragraph(t.value.paragraphId);return b({kind:"text",text:i?.paraId??""})}case "search":{let t=W(r.scope,e,a);if(!t.ok)return d(t.code,"that is not a scope to search",t.detail);let o=q(r.scope,e,a);return o.ok?X(o.value,t.value,r.text,r.options):d(o.code,"that is not a scope to search",o.detail)}case "insertText":{let t=gt(r.at,e,a);if(!t.ok)return d(t.code,"that is not a place to insert at",t.detail);let o=a.story(t.value.story);return o?et(u(o),t.value,r.text):d("invalid-handle","that story is not in this document")}case "replaceSpan":{if("body"in r.span){let i=K(r.span.body,"body",e,a);return i.ok?Ct(u(i.value),r.text):d(i.code,"that handle does not name a body",i.detail)}let t=W(r.span,e,a);if(!t.ok)return d(t.code,"that span is not a place",t.detail);if(!t.value)return d("invalid-offset","that story holds no paragraph to write into","empty-story");let o=E(t.value);return o?At(u(o),t.value,r.text):d("invalid-handle","that story is not in this document")}case "insertParagraph":{let t=_t(r.anchor,e,a);if(!t.ok)return d(t.code,"that is not a paragraph to insert beside",t.detail);if(r.where!=="before"&&r.where!=="after")return d("unknown-operation","that is not a place to insert",String(r.where));let o=a.story(t.value.story);return o?jt(u(o),t.value,r.where,r.text):d("invalid-handle","that story is not in this document")}case "splitParagraph":{let t=Q(r.paragraph,e,a);if(!t.ok)return d(t.code,"that handle does not name a paragraph",t.detail);let o=a.story(t.value.story);return o?H(u(o),t.value,r.delimiters,r.trimDelimiters===true,r.trimSpacing===true):d("invalid-handle","that story is not in this document")}case "getFont":{let t=W(r.span,e,a);if(!t.ok)return d(t.code,"that span is not a place",t.detail);let o=q(r.span,e,a);return o.ok?b({kind:"font",font:an(o.value.part,qt(t.value,o.value))}):d(o.code,"that span is not a place",o.detail)}case "setFont":{let t=W(r.span,e,a);if(!t.ok)return d(t.code,"that span is not a place",t.detail);if(!t.value)return d("invalid-offset","that story holds no paragraph to format","empty-story");let o=E(t.value);return o?st(u(o),t.value,r.font):d("invalid-handle","that story is not in this document")}case "getStyle":{let t=W(r.span,e,a);if(!t.ok)return d(t.code,"that span is not a place",t.detail);let o=q(r.span,e,a);if(!o.ok)return d(o.code,"that span is not a place",o.detail);let i=o.value.part,c=o.value.styles(),p=at(t.value,o.value).map(A=>Lt(i,A,c)),h=p.length>0&&p.every(A=>A!==null&&A===p[0])?p[0]:null;return b({kind:"style",name:h})}case "setStyle":{let t=W(r.span,e,a);if(!t.ok)return d(t.code,"that span is not a place",t.detail);if(!t.value)return d("invalid-offset","that story holds no paragraph to style","empty-story");let o=E(t.value);return o?vt(u(o),t.value,r.name):d("invalid-handle","that story is not in this document")}case "getParagraphFormat":{let t=_t(r.paragraph,e,a);if(!t.ok)return d(t.code,"that is not a paragraph",t.detail);let o=a.story(t.value.story);if(!o)return d("document-unavailable","this host holds no document right now");let i=sn(o.part,t.value.paragraphId,o.styles());return i?b({kind:"paragraphFormat",format:i}):d("invalid-handle","that handle does not name a paragraph")}case "setParagraphFormat":{let t=_t(r.paragraph,e,a);if(!t.ok)return d(t.code,"that is not a paragraph",t.detail);let o=a.story(t.value.story);return o?pt(u(o),t.value,r.format):d("invalid-handle","that story is not in this document")}case "deleteParagraph":{let t=Q(r.paragraph,e,a);if(!t.ok)return d(t.code,"that handle does not name a paragraph",t.detail);let o=a.story(t.value.story);return o?z(u(o),t.value):d("invalid-handle","that story is not in this document")}case "getSections":return e.resolve(r.document,"document")?b({kind:"handles",handles:a.sections().map(t=>e.section(t.index))}):d("invalid-handle","that handle does not name a document","document");case "getPageSetup":{let t=e.resolve(r.section,"section");if(!t||t.kind!=="section")return d("invalid-handle","that handle does not name a section","section");let o=a.sections()[t.index];return o?b({kind:"pageSetup",setup:o.pageSetup}):d("invalid-handle","that section is not in this document")}case "setPageSetup":{let t=e.resolve(r.section,"section");return !t||t.kind!=="section"?d("invalid-handle","that handle does not name a section","section"):Vn(t.index,r.setup)}case "getFurniture":{let t=e.resolve(r.section,"section");if(!t||t.kind!=="section")return d("invalid-handle","that handle does not name a section","section");if(r.kind!=="header"&&r.kind!=="footer")return d("unknown-operation","that is not furniture",String(r.kind));let o={kind:r.kind,sectionIndex:t.index,variant:r.variant};return tn(o)?a.story(o)?b({kind:"handle",handle:e.body(o)}):d("invalid-handle","this document declares no such header or footer",B(o)):d("unknown-operation","that is not a furniture variant",String(r.variant))}case "getNotes":{if(!e.resolve(r.document,"document"))return d("invalid-handle","that handle does not name a document","document");if(r.noteKind!=="footnote"&&r.noteKind!=="endnote")return d("unknown-operation","that is not a kind of note",String(r.noteKind));let t=r.noteKind,o=a.noteIds(t);return o.ok?b({kind:"handles",handles:o.ids.map(i=>e.note(t,i))}):d("ambiguous-document",`${t} identities are not completely and unambiguously enumerable`,o.reason==="duplicates"?o.duplicateIds.join(","):o.reason)}case "getNoteBody":case "getNoteText":{let t=e.resolve(r.note,"note");if(!t||t.kind!=="note")return d("invalid-handle","that handle does not name a note","note");let o=t,i=a.story(o);return i?r.op==="getNoteText"?b({kind:"text",text:i.text()}):b({kind:"handle",handle:e.body(o)}):d("invalid-handle","that note is not in this document",B(o))}case "getNoteKind":{let t=e.resolve(r.note,"note");return !t||t.kind!=="note"?d("invalid-handle","that handle does not name a note","note"):b({kind:"text",text:t.noteKind})}case "deleteNote":{let t=e.resolve(r.note,"note");if(!t||t.kind!=="note")return d("invalid-handle","that handle does not name a note","note");let o=a.noteIds(t.noteKind);return o.ok?o.ids.includes(t.noteId)?$n(t.noteKind,t.noteId):d("invalid-handle","that note is not in this document"):d("ambiguous-document",`${t.noteKind} identities are not completely and unambiguously enumerable`,o.reason==="duplicates"?o.duplicateIds.join(","):o.reason)}case "getLists":{let t=K(r.body,"body",e,a);return t.ok?b({kind:"handles",handles:Bt(t.value).map(o=>e.list(o.numId,t.value.story))}):d(t.code,"that handle does not name a body",t.detail)}case "getListId":{let t=Dt(r.list);return "list"in t?b({kind:"number",value:Number(t.list.numId)}):t}case "getListById":{let t=K(r.body,"body",e,a);if(!t.ok)return d(t.code,"that handle does not name a body",t.detail);if(!Number.isInteger(r.id)||r.id<=0)return d("unsupported-content","a list is numbered from one",String(r.id));let o=String(r.id),i=Bt(t.value).find(c=>c.numId===o);return i?b({kind:"handle",handle:e.list(i.numId,t.value.story)}):d("invalid-handle","no list in that story carries that number",o)}case "getListParagraphs":{let t=Dt(r.list);if(!("list"in t))return t;let o=r.level;if(o!==void 0&&(!Number.isInteger(o)||o<0||o>ht))return d("invalid-offset",`a list level is 0 to ${String(ht)}`,String(o));let i=t.plan.reads,c=o===void 0?t.list.paragraphIds:t.list.paragraphIds.filter(p=>Rt(i,p)?.level===o);return b({kind:"handles",handles:c.map(p=>e.paragraph(p,i.story))})}case "getParagraphList":{let t=Q(r.paragraph,e,a);if(!t.ok)return d(t.code,"that handle does not name a paragraph",t.detail);let o=a.story(t.value.story);if(!o)return d("invalid-handle","that story is not in this document");let i=Rt(o,t.value.paragraphId);return i?b({kind:"handle",handle:e.list(i.numId,o.story)}):d("unsupported-content","that paragraph is not in a list",t.value.paragraphId)}case "getListLevel":{let t=Q(r.paragraph,e,a);if(!t.ok)return d(t.code,"that handle does not name a paragraph",t.detail);let o=a.story(t.value.story);if(!o)return d("invalid-handle","that story is not in this document");let i=Rt(o,t.value.paragraphId);return i?b({kind:"number",value:i.level}):d("unsupported-content","that paragraph is not in a list",t.value.paragraphId)}case "setListLevel":{let t=Q(r.paragraph,e,a);if(!t.ok)return d(t.code,"that handle does not name a paragraph",t.detail);let o=a.story(t.value.story);return o?Un(u(o),t.value.paragraphId,r.level):d("invalid-handle","that story is not in this document")}case "insertListParagraph":{let t=Dt(r.list);return "list"in t?Xn(t.plan,t.list,r.where,r.text):t}case "getHyperlink":{let t=W(r.span,e,a);if(!t.ok)return d(t.code,"that span is not a place",t.detail);let o=q(r.span,e,a);if(!o.ok)return d(o.code,"that span is not a place",o.detail);let i=a.package;if(!i||!t.value)return b({kind:"text",text:""});let c=le(o.value,t.value);if(!c)return b({kind:"text",text:""});let p=Fa(o.value.part,c.id),h=p?vn(i,o.value.part.name,p):null;return b({kind:"text",text:h??""})}case "setHyperlink":{let t=W(r.span,e,a);if(!t.ok)return d(t.code,"that span is not a place",t.detail);if(!t.value)return d("invalid-offset","that story holds no text to link","empty-story");let o=E(t.value);return o?Yn(u(o),t.value,r.target):d("invalid-handle","that story is not in this document")}case "getBookmarks":{let t=W(r.scope,e,a);if(!t.ok)return d(t.code,"that span is not a place",t.detail);let o=q(r.scope,e,a);if(!o.ok)return d(o.code,"that span is not a place",o.detail);let i=o.value,c=t.value,p=c===null?null:new Set(at(c,i)),h=ne(i).filter(A=>{if(!p||!p.has(A.start.paragraphId)&&!p.has(A.end.paragraphId)||c===null)return false;let x=A.start.paragraphId===c.end.paragraphId&&A.start.offset>c.end.offset,w=A.end.paragraphId===c.start.paragraphId&&A.end.offset<c.start.offset;return !x&&!w});return b({kind:"handles",handles:h.map(A=>e.bookmark(A.name,i.story))})}case "getBookmarkName":{let t=e.resolve(r.bookmark,"bookmark");return !t||t.kind!=="bookmark"?d("invalid-handle","that handle does not name a bookmark","bookmark"):b({kind:"text",text:t.name})}case "getBookmarkRange":{let t=ce(r.bookmark);return "reads"in t?b({kind:"span",span:U(t.range)}):t}case "getComments":{let t=W(r.scope,e,a);if(!t.ok)return d(t.code,"that scope is not a place",t.detail);let o=q(r.scope,e,a);if(!o.ok)return d(o.code,"that scope names no story",o.detail);let i=o.value,c=g(i);if(!c)return d("document-unavailable","this host holds no document");let p=t.value,h=c.roots.filter(A=>{if(!p)return true;let x=A.range;if(!x)return false;let w=i.indexOf(x.start.paragraphId),T=i.indexOf(x.end.paragraphId),_=i.indexOf(p.start.paragraphId),O=i.indexOf(p.end.paragraphId);return T<_||w>O?false:T===_&&w===_&&O===_?x.end.offset>p.start.offset&&x.start.offset<p.end.offset:true});return b({kind:"handles",handles:h.map(A=>e.comment(A.id,i.story))})}case "getCommentReplies":{let t=I(r.comment);return t.ok?b({kind:"handles",handles:t.item.replyIds.map(o=>e.comment(o,t.reads.story))}):t.planned}case "getCommentId":{let t=I(r.comment);return t.ok?b({kind:"text",text:t.item.id}):t.planned}case "getCommentAuthor":{let t=I(r.comment);return t.ok?b({kind:"text",text:t.item.comment.author}):t.planned}case "getCommentDate":{let t=I(r.comment);return t.ok?b({kind:"text",text:t.item.comment.date??""}):t.planned}case "getCommentText":{let t=I(r.comment);if(!t.ok)return t.planned;let o=g(t.reads);return b({kind:"text",text:o?.textOf(t.item.id)??""})}case "getCommentRange":{let t=I(r.comment);if(!t.ok)return t.planned;let o=t.item.range;if(!o||t.item.orphaned)return d("invalid-handle","that comment has no range in this document");let i=R(t.reads,o);return i?b({kind:"span",span:i}):d("invalid-handle","that comment\u2019s range is no longer in the story")}case "getCommentResolved":{let t=I(r.comment);return t.ok?b({kind:"flag",value:t.item.resolved}):t.planned}case "insertComment":return Pn(r,e,a,v);case "setCommentResolved":{let t=I(r.comment);if(!t.ok)return t.planned;if(typeof r.resolved!="boolean")return d("unsupported-content","resolved is a yes or a no",String(r.resolved));let o=y(u(t.reads));return o||{ok:true,kind:"commentWrite",write:{kind:"resolve",commentId:t.item.id,resolved:r.resolved},story:t.reads.story,answer:()=>F}}case "replyToComment":{let t=I(r.comment);if(!t.ok)return t.planned;let o=se({author:r.author,text:r.text,date:r.date,kind:"reply"});if(o)return o;let i=t.item.range;if(!i||t.item.orphaned)return d("invalid-handle","that comment has no range to reply over");let c=y(u(t.reads));if(c)return c;let p=t.reads.story,h=ie(r.date);return {ok:true,kind:"commentWrite",write:{kind:"reply",parentCommentId:t.item.id,anchor:{paragraphId:i.start.paragraphId,start:i.start.offset,end:i.end.offset,...i.end.paragraphId===i.start.paragraphId?{}:{endParagraphId:i.end.paragraphId}},text:r.text,author:r.author,...h===void 0?{}:{date:h}},story:t.reads.story,answer:(A,x)=>x===void 0?F:{kind:"handle",handle:e.comment(x,p)}}}case "deleteComment":{let t=I(r.comment);return t.ok?wn(t.item,t.reads,o=>y(u(o))):t.planned}case "getRevisions":{let t=K(r.body,"body",e,a);if(!t.ok)return d(t.code,"that handle does not name a body",t.detail);let o=t.value;return b({kind:"handles",handles:re(o).map(i=>e.revision(i.id,o.story))})}case "getRevisionType":{let t=C(r.revision);return t.ok?b({kind:"text",text:t.item.type}):t.planned}case "getRevisionAuthor":{let t=C(r.revision);return t.ok?b({kind:"text",text:t.item.author}):t.planned}case "getRevisionDate":{let t=C(r.revision);return t.ok?b({kind:"text",text:t.item.date}):t.planned}case "getRevisionRange":{let t=C(r.revision);if(!t.ok)return t.planned;let[o]=t.item.item.ranges;if(!o)return d("invalid-handle","that change covers no characters");let i=R(t.reads,o);return i?b({kind:"span",span:i}):d("invalid-handle","that change\u2019s range is no longer in the story")}case "acceptRevision":case "rejectRevision":{let t=C(r.revision);if(!t.ok)return t.planned;let o=u(t.reads),i=y(o);if(i)return i;let c=r.op==="acceptRevision";return {ok:true,kind:"command",story:t.reads.story,ops:t.item.item.addresses.map(p=>c?{op:"acceptRevision",revision:p}:{op:"rejectRevision",revision:p}),answer:()=>F}}case "acceptAllRevisions":case "rejectAllRevisions":{let t=Sn(r,e,a);if(!t.ok)return d(t.code,t.message,t.detail);let o=u(t.reads),i=y(o);if(i)return i;let c=Rn(r,t.reads);return {ok:true,kind:"command",story:t.reads.story,ops:c,answer:()=>F}}case "selectSpan":{let t=W(r.span,e,a);if(!t.ok)return d(t.code,"that span is not a place",t.detail);if(!t.value)return d("invalid-offset","that story holds no paragraph to select","empty-story");let o=E(t.value);return o?ue(u(o),t.value,r.mode):d("invalid-handle","that story is not in this document")}case "selectBookmark":{let t=ce(r.bookmark);return "reads"in t?ue(u(t.reads),t.range,r.mode):t}case "getContentControls":{let t=Wt(r.scope);return "reads"in t?b({kind:"handles",handles:Tn(t.reads,t.node).map(o=>e.contentControl(o.nodeId,t.reads.story))}):t}case "getContentControlById":{let t=Wt(r.scope);if(!("reads"in t))return t;if(!Number.isInteger(r.id))return d("unsupported-content","a control id is a whole number",String(r.id));let o=zn(t.node).find(i=>re$1(i).id===r.id);return o?b({kind:"handle",handle:e.contentControl(o.id,t.reads.story)}):d("invalid-handle","no control in that scope carries that id",String(r.id))}case "getContentControlsByTag":case "getContentControlsByTitle":{let t=Wt(r.scope);if(!("reads"in t))return t;let o=r.op==="getContentControlsByTag"?r.tag:r.title;if(typeof o!="string"||o.length===0)return d("unsupported-content","a tag or title to match is required",r.op);let i=zn(t.node).filter(c=>{let p=re$1(c);return r.op==="getContentControlsByTag"?p.tag===o:p.alias===o});return b({kind:"handles",handles:i.map(c=>e.contentControl(c.id,t.reads.story))})}case "getContentControlTag":case "getContentControlTitle":case "getContentControlFileId":case "getContentControlSubtype":case "getContentControlLock":{let t=nt(r.contentControl);if(!("control"in t))return t;let o=t.control.properties;if(r.op==="getContentControlLock")return b({kind:"text",text:t.control.lock});if(r.op==="getContentControlSubtype")return b({kind:"text",text:o.type});if(r.op==="getContentControlFileId")return b({kind:"text",text:o.id===void 0?"":String(o.id)});let i=r.op==="getContentControlTag"?o.tag:o.alias;return b({kind:"text",text:i??""})}case "getContentControlIsBound":case "getContentControlPlaceholderShown":case "getContentControlTemporary":{let t=nt(r.contentControl);if(!("control"in t))return t;let o=r.op==="getContentControlIsBound"?t.control.properties.dataBinding!==void 0:r.op==="getContentControlPlaceholderShown"?t.control.properties.showingPlaceholder:t.control.properties.temporary;return b({kind:"flag",value:o})}case "getContentControlText":{let t=nt(r.contentControl);return "control"in t?b({kind:"text",text:Ln(t.node)}):t}case "getContentControlParagraphs":{let t=nt(r.contentControl);return "control"in t?b({kind:"handles",handles:t.control.paragraphIds.map(o=>e.paragraph(o,t.reads.story))}):t}case "getContentControlRange":{let t=nt(r.contentControl);if(!("control"in t))return t;let o=r.location??"whole";if(!Xo.has(o))return d("unsupported-content","that is not a place in a control",o);let i=de(t.reads,t.node);if(!i)return d("unsupported-content","that control holds nothing addressable","empty");let c=o==="start"||o==="before"?i.start:i.end,p=o!=="whole"&&o!=="content",h=A=>({story:t.reads.story,paragraphId:A.paragraphId,index:t.reads.indexOf(A.paragraphId),offset:A.offset});return b({kind:"span",span:te(p?{start:h(c),end:h(c)}:{start:h(i.start),end:h(i.end)},e)})}case "setContentControlValue":{let t=nt(r.contentControl);if(!("control"in t))return t;let o=Jo(r.value);if(!o.ok)return d(o.code,o.message,o.detail);let i=u(t.reads),c=y(i);return c||{ok:true,kind:"command",story:t.reads.story,ops:[{op:"setContentControlValue",controlId:t.control.nodeId,value:o.value}],answer:()=>F}}case "setContentControlProperties":{let t=nt(r.contentControl);if(!("control"in t))return t;if(r.tag===void 0&&r.title===void 0&&r.lock===void 0)return d("unsupported-content","nothing to write","no-properties");if(r.lock!==void 0&&!Uo.has(r.lock))return d("unsupported-content","that is not a lock this schema declares",r.lock);let o=u(t.reads),i=y(o);return i||{ok:true,kind:"command",story:t.reads.story,ops:[{op:"setContentControlProperties",controlId:t.control.nodeId,...r.tag===void 0?{}:{tag:r.tag},...r.title===void 0?{}:{alias:r.title},...r.lock===void 0?{}:{lock:r.lock}}],answer:()=>F}}case "insertContentControlText":{let t=nt(r.contentControl);if(!("control"in t))return t;if(typeof r.text!="string")return d("unsupported-content","text is required","text");if(r.at!=="replace"&&r.at!=="start"&&r.at!=="end")return d("unsupported-content","that is not a place to insert at",String(r.at));let o=u(t.reads),i=y(o);if(i)return i;let c=de(t.reads,t.node);if(!c)return d("unsupported-content","that control holds nothing addressable","empty");let p=r.at==="end"?c.end:c.start,h=()=>({kind:"span",span:U({start:{story:t.reads.story,paragraphId:p.paragraphId,index:t.reads.indexOf(p.paragraphId),offset:p.offset},end:{story:t.reads.story,paragraphId:p.paragraphId,index:t.reads.indexOf(p.paragraphId),offset:p.offset+r.text.length}})});return r.at==="replace"?{ok:true,kind:"command",story:t.reads.story,ops:[{op:"setContentControlValue",controlId:t.control.nodeId,value:{kind:"text",text:r.text}}],answer:h}:{ok:true,kind:"command",story:t.reads.story,ops:r.text.length===0?[]:[{op:"insertText",paragraphId:p.paragraphId,offset:p.offset,text:r.text,inside:t.node.id}],answer:h}}case "deleteContentControl":{let t=nt(r.contentControl);if(!("control"in t))return t;if(typeof r.keepContent!="boolean")return d("unsupported-content","keepContent is required","keepContent");let o=u(t.reads),i=y(o);return i||{ok:true,kind:"command",story:t.reads.story,ops:[{op:"removeContentControl",controlId:t.control.nodeId,keepContent:r.keepContent}],answer:()=>F}}case "insertContentControl":{let t=W(r.span,e,a);if(!t.ok)return d(t.code,"that span is not a place",t.detail);if(!t.value)return d("invalid-offset","that story holds nothing to wrap","empty-story");let o=E(t.value);if(!o)return d("invalid-handle","that story is not in this document");let i=t.value;if(i.start.paragraphId!==i.end.paragraphId)return d("unsupported-content","wrapping several paragraphs in one control is not supported here","multi-paragraph");if(!Yo.has(r.subtype))return d("unsupported-content","that control type cannot be inserted",r.subtype);let c=u(o),p=y(c);return p||{ok:true,kind:"command",story:o.story,ops:[{op:"insertContentControl",paragraphId:i.start.paragraphId,start:i.start.offset,end:i.end.offset,type:r.subtype,...r.tag===void 0?{}:{tag:r.tag},...r.title===void 0?{}:{alias:r.title}}],answer:()=>F}}case "insertCustomNode":{let t=Fn(r);if(t)return d("unsupported-content",t.message,t.detail);let o=Bn(r.payload);if(!o.ok)return d("unsupported-content","that payload cannot be written",o.field);let i=Dn(r,e,a);if("code"in i)return d(i.code,i.message,i.detail);let{start:c,end:p}=i.range,h=E(i.range);if(!h)return d("invalid-handle","that story is not in this document");let A=y(u(h));return A||{ok:true,kind:"customNodeWrite",story:h.story,write:jn(r,c,p,o.value),answer:()=>F}}default:return d("unknown-operation","this host does not implement that operation",String(r.op))}};return {plan(r){let t=k.conflict(r);if(t)return d("conflicting-operations",t.message,t.detail);let o=Gn(r);return o.ok&&k.note(r),o},get hasCommands(){return k.hasCommands},get writeScope(){return m?.reads.scope??null},settle(r){let t=m;if(t){let o=r.story(t.reads.story);if(!o)return {ok:false,detail:`the story this batch wrote is gone: ${B(t.reads.story)}`};let i=new Set(t.reads.paragraphIds),c=o.paragraphIds.filter(h=>!i.has(h));if(c.length!==t.created.length)return {ok:false,detail:`planned ${String(t.created.length)} new paragraphs, the transaction made ${String(c.length)}`};t.order.filter(h=>h.id===null).forEach((h,A)=>{h.id=c[A]??null;});for(let h of t.retargets)h.slot.id&&e.retarget(h.from,h.slot.id);}for(let o of f){let i=r.story(o.range.start.story);!i||!qo(o.range,i)||n.select?.(o.range,o.mode);}return {ok:true}}}}var er=Object.freeze({status:"skipped"});function J(n,e,s){return Object.freeze(s===void 0?{code:n,message:e}:{code:n,message:e,detail:s})}function nr(n){let e=n==="unsupported-revision"||n.startsWith("unsupported-revision:");return J(e?"unsupported-revision":"transaction-refused",e?"that story contains a tracked change this engine cannot resolve":"the document store refused the transaction",n)}function tt(n,e,s,a){return {ok:false,results:n.map((l,u)=>u===e?{status:"error",error:s}:er),revision:a,changed:false}}function Ma(n){let{port:e}=n,s=Object.freeze({...n.capabilities}),a=en(),l=new Set,u=false,f=null,k=s.events?e.subscribe(()=>{if(u)return;let v=Object.freeze({revision:e.revision()});for(let g of [...l])g(v);}):()=>{},m=v=>{if(f&&f.pkg===v)return f.value;let g=yn(v);return f={pkg:v,value:g},g};return {capabilities:s,revision:()=>e.revision(),execute:v=>{let g=Array.isArray(v?.operations)?v.operations:[],I=e.revision();if(u)return tt(g,0,J("disposed","this host was disposed"),I);if(!s.document)return tt(g,0,J("unsupported-capability","this host has no document","document"),I);let C=e.currentPackage();if(!C)return tt(g,0,J("document-unavailable","this host holds no document right now"),I);if(v.expectedRevision!==void 0&&v.expectedRevision!==I)return tt(g,0,J("stale-revision","the document moved since that revision",`expected ${String(v.expectedRevision)}, at ${I}`),I);let R=Kn({handles:a,reads:m(C),capabilities:s,...e.select?{select:e.select.bind(e)}:{}}),N=[],P=[],L=null,M=[],j=null,Z,U=null,E=-1;for(let H=0;H<g.length;H+=1){let z=R.plan(g[H]);if(!z.ok)return tt(g,H,z.error,I);if(N.push(z),z.kind==="command")if(E<0&&(E=H),z.lifecycle)L=z.ops[0]??null;else if(z.relate){let st=z.relate;P.push(vt=>{let pt=vt(st.url);return pt===null?null:st.ops(pt)});}else {let{ops:st}=z;P.push(()=>st);}else z.kind==="commentWrite"?(E<0&&(E=H),M.push(z.write),j=R.writeScope??{kind:"body"}):z.kind==="customNodeWrite"&&(E<0&&(E=H),U={write:z.write,scope:R.writeScope??{kind:"body"}});}let X=false;if(M.length>0){let H=e.applyCommentWrites(M,j??{kind:"body"});if(!H.ok)return tt(g,E<0?0:E,J("transaction-refused","the document store refused the comment write",H.reason),I);X=H.changed,Z=H.commentId;}if(U){let H=e.applyCustomNodeWrite(U.write,U.scope);if(!H.ok)return tt(g,E<0?0:E,J("transaction-refused","the document store refused the custom-node write",H.reason),I);X=H.changed;}if(L){let H=e.applyLifecycle(L);if(!H.ok)return tt(g,E<0?0:E,J("transaction-refused","the document store refused the transaction",H.reason),I);X=H.changed;}if(P.length>0){let H=e.apply(z=>{let st=[];for(let vt of P){let pt=vt(z);if(pt===null)return null;st.push(...pt);}return st},R.writeScope??{kind:"body"});if(!H.ok)return tt(g,E<0?0:E,nr(H.reason),I);X=H.changed;}let et=e.currentPackage();if(!et)return tt(g,0,J("document-unavailable","this host holds no document right now"),I);let At=m(et),Ct=R.settle(At);return Ct.ok?{ok:true,results:N.map(H=>({status:"ok",value:H.kind==="query"?H.value:H.kind==="customNodeWrite"?H.answer(At):H.answer(At,Z)})),revision:e.revision(),changed:X}:tt(g,E<0?0:E,J("transaction-refused","the transaction did not produce the document the batch planned",Ct.detail),e.revision())},save(){if(u)return {ok:false,error:J("disposed","this host was disposed")};if(!s.save)return {ok:false,error:J("unsupported-capability","this host cannot save","save")};let v=e.save();return v?{ok:true,bytes:v}:{ok:false,error:J("document-unavailable","this host holds no document right now")}},subscribe(v){return u||!s.events?()=>{}:(l.add(v),()=>{l.delete(v);})},dispose(){u||(u=true,l.clear(),k(),e.dispose(),f=null);}}}export{Ht as a,rr as b,qn as c,to as d,Yt as e,Gt as f,Ma as g};
@@ -1,2 +0,0 @@
1
- import {u,v as v$1,H as H$1,x as x$1,C as C$1,B as B$1,A as A$1,Cc,Hc,Fa,Da,Ia,Ba,p,da,te as te$1,re as re$1,Ga,Ka,pe,Ha,Ab,jf,df,$e as $e$1,Xe as Xe$1,Gb,Sa,ca,Oc,ma,r,va,xa,_b,mc,Lb,Nb,wa,la,qa,pa}from'./chunk-2WIXJ7CW.js';import {strFromU8,strToU8}from'fflate';var Ft=["extension","capability","command","query","schema","dependencyKey","runtimePort","result","origin"],Lt=/^[a-z0-9]+(?:-[a-z0-9]+)*(?:\.[a-z0-9]+(?:-[a-z0-9]+)*)+$/,Bt=/^@[a-z0-9.-]+\/[a-z0-9.-]+(?:#[a-z0-9]+(?:[/._-][a-z0-9]+)*)?$/;function ot(e){return Lt.test(e)||Bt.test(e)}function J(e,t){if(!ot(e))throw new Error(`invalid ${t??"registry"} id ${JSON.stringify(e)}: must be reverse-domain (dev.docx-editor.core.x) or package-owned (@scope/pkg#kind/name)`)}var Ut=/^(\d+)\.(\d+)\.(\d+)$/;function S(e){let t=Ut.exec(e);if(!t)throw new Error(`invalid semantic version: ${JSON.stringify(e)}`);return {major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3])}}function q(e,t){return e.major!==t.major?e.major<t.major?-1:1:e.minor!==t.minor?e.minor<t.minor?-1:1:e.patch!==t.patch?e.patch<t.patch?-1:1:0}function Q(e,t){let n=S(e),r=t.trim();if(r==="*")return true;if(r.startsWith("^")){let o=S(r.slice(1));return q(n,o)<0?false:o.major>0?n.major===o.major:o.minor>0?n.major===0&&n.minor===o.minor:n.major===0&&n.minor===0}if(r.includes(" ")){let o=r.split(/\s+/);if(o.length!==2)throw new Error(`unsupported version range: ${JSON.stringify(t)}`);let s=true;for(let a of o){let i=a.startsWith(">=")?">=":a.startsWith("<")?"<":null;if(!i)throw new Error(`unsupported version range: ${JSON.stringify(t)}`);let d=S(a.slice(i.length)),l=q(n,d);i===">="?s=s&&l>=0:s=s&&l<0;}return s}return q(n,S(r))===0}var h=class extends Error{constructor(n,r,o=[]){super(r);this.code=n;this.responsible=o;this.name="RegistryError";}code;responsible},$e=(e,t)=>`${e}:${t}`;function Ht(e,t={}){let n=new Map;for(let l of e){if(J(l.id,"extension"),it(l.version,l.id),n.has(l.id))throw new h("duplicate-extension",`duplicate extension id ${l.id}`,[l.id]);n.set(l.id,l);for(let c of l.contributions)J(c.id,c.kind),it(c.version,`${l.id} \u2192 ${c.id}`),c.replaces&&Xt(c.replaces.targetRange,`${l.id} \u2192 replaces ${c.replaces.targetId}`);}for(let l of e){for(let c of l.dependencies??[])if(!n.has(c))throw new h("missing-dependency",`${l.id} requires missing extension ${c}`,[l.id,c]);for(let c of l.conflicts??[])if(n.has(c)){let p=[l.id,c].sort();throw new h("conflict",`extensions ${p[0]} and ${p[1]} conflict`,p)}}jt(n);let r=new Set(t.availablePorts??[]);for(let l of e)for(let c of l.contributions)c.kind==="runtimePort"&&r.add(c.id);for(let l of e)for(let c of l.requiredPorts??[])if(!r.has(c))throw new h("missing-port",`${l.id} requires unavailable port ${c}`,[l.id,c]);let o=new Map,s=new Map,a=new Map;for(let l of e)for(let c of l.contributions){let p=$e(c.kind,c.id);if(c.replaces){let u=$e(c.kind,c.replaces.targetId),m=a.get(u)??[];m.push({ext:l.id,c}),a.set(u,m);continue}if(s.has(p)){let u=[o.get(p),l.id].sort();throw new h("id-collision",`${c.kind} id ${c.id} registered by both ${u[0]} and ${u[1]}`,u)}s.set(p,c),o.set(p,l.id);}let i=new Map(s);for(let[l,c]of a){let p=s.get(l);if(!p){let f=c[0];throw new h("replacement-target-missing",`${f.ext} replaces missing target ${f.c.replaces.targetId}`,[f.ext,f.c.replaces.targetId])}let u=p.replaceable??{kind:"none"};for(let{ext:f,c:y}of c){if(!Q(p.version,y.replaces.targetRange))throw new h("replacement-version-mismatch",`${f} replaces ${y.replaces.targetId}@${p.version} outside range ${y.replaces.targetRange}`,[f,y.replaces.targetId]);if(u.kind==="none")throw new h("unauthorized-replacement",`${y.replaces.targetId} does not authorize replacement (attempted by ${f})`,[f,y.replaces.targetId])}let m=Vt(p,c);i.set(l,m);}return {extensions:n,contributions:i,get:(l,c)=>i.get($e(l,c))}}function Vt(e,t){let n=e.replaceable??{kind:"none"};if(t.length===1)return t[0].c;if(n.kind==="priority"){let o=[...t].sort((i,d)=>(d.c.replaces.priority??0)-(i.c.replaces.priority??0)),s=o[0].c.replaces.priority??0,a=o.filter(i=>(i.c.replaces.priority??0)===s);if(a.length>1){let i=a.map(d=>d.ext).sort();throw new h("ambiguous-replacement",`multiple replacers of ${e.id} share top priority ${s}: ${i.join(", ")}`,i)}return o[0].c}let r=t.map(o=>o.ext).sort();throw new h("ambiguous-replacement",`multiple replacers of ${e.id}: ${r.join(", ")}`,r)}function jt(e){let o=new Map,s=[],a=i=>{o.set(i,1),s.push(i);let d=[...e.get(i)?.dependencies??[]].sort();for(let l of d){let c=o.get(l)??0;if(c===1){let p=s.indexOf(l),u=[...s.slice(p),l];throw new h("dependency-cycle",`dependency cycle: ${u.join(" -> ")}`,u)}c===0&&a(l);}s.pop(),o.set(i,2);};for(let i of [...e.keys()].sort())(o.get(i)??0)===0&&a(i);}function it(e,t){try{S(e);}catch{throw new h("invalid-version",`invalid version ${JSON.stringify(e)} in ${t}`,[t])}}function Xt(e,t){try{Q("0.0.0",e);}catch{throw new h("invalid-version",`invalid version range ${JSON.stringify(e)} in ${t}`,[t])}}var v=class extends Error{constructor(t){super(t),this.name="BudgetError";}},B=class e{constructor(t,n){this.label=t;this.capacity=n;this.used=new H$1(`${t}.budget`,n);}label;capacity;used;children=new Set;activeReservations=0;cleanups=[];disposed=false;carveAmount=0;parent;get inUse(){return this.used.current}get available(){return this.used.remaining}get isDisposed(){return this.disposed}reserve(t){this.assertLive(),this.used.add(t),this.activeReservations+=1;let n=false,r=this;return {amount:t,get released(){return n},release(){n||(n=true,r.used.release(t),r.activeReservations-=1);}}}child(t,n){this.assertLive(),this.used.add(n);let r=new e(t,n);return r.parent=this,r.carveAmount=n,this.children.add(r),r}onRelease(t){this.assertLive(),this.cleanups.push(t);}dispose(){if(this.disposed)return;if(this.children.size>0)throw new v(`${this.label}: cannot release with ${this.children.size} child budget(s) outstanding`);if(this.activeReservations>0)throw new v(`${this.label}: cannot release with ${this.activeReservations} reservation(s) outstanding`);let t=[];for(let n=this.cleanups.length-1;n>=0;n--)try{this.cleanups[n]();}catch(r){t.push(r);}if(this.disposed=true,this.parent&&(this.parent.children.delete(this),this.parent.used.release(this.carveAmount),this.parent=void 0),t.length>0)throw new v(`${this.label}: ${t.length} cleanup error(s); first: ${String(t[0])}`)}assertLive(){if(this.disposed)throw new v(`${this.label}: budget already released`)}};var Z=class extends Error{constructor(n,r){super(r?`cancelled: ${r}`:"cancelled");this.derivedOnly=n;this.name="CancellationError";}derivedOnly},U=class{_cancelled=false;_phase="pre-publication";_reason;cancel(t){this._cancelled=true,t!==void 0&&(this._reason=t);}markPublished(){this._phase="post-publication";}get isCancelled(){return this._cancelled}get phase(){return this._phase}get isPublished(){return this._phase==="post-publication"}get derivedOnly(){return this._cancelled&&this._phase==="post-publication"}get token(){let t=this;return {get isCancelled(){return t._cancelled},get phase(){return t._phase},get derivedOnly(){return t.derivedOnly},checkpoint(){if(t._cancelled)throw new Z(t.derivedOnly,t._reason)}}}};var ee=class extends Error{constructor(n){super(`runtime port not available: ${n}`);this.portId=n;this.name="PortResolutionError";}portId},De=class{ports=new Map;provide(t,n){return this.ports.set(t,n),this}has(t){return this.ports.has(t)}resolve(t){if(!this.ports.has(t))throw new ee(t);return this.ports.get(t)}missing(t){return t.filter(n=>!this.ports.has(n))}availablePorts(){return [...this.ports.keys()]}clock(){return this.resolve(x$1.clock)}identity(){return this.resolve(x$1.identity)}},Me=class{constructor(t=0,n=1){this.step=n;this.t=t;}step;t;now(){let t=this.t;return this.t+=this.step,t}},Fe=class{constructor(t="id"){this.prefix=t;}prefix;n=0;newId(){return this.n+=1,`${this.prefix}-${this.n}`}};function Kt(e){let t=C$1(e.limits),n=Object.freeze({...e.config??{}}),r=e.capacity??t.maxDecompressedBytes,o=e.id??"op",s={id:o,limits:t,config:n,ports:e.ports,budget:new B(`op:${o}`,r),cancellation:new U};return Object.freeze(s)}function Gt(e){e.budget.dispose();}var Be=Object.freeze({maxRecursionDepth:{unit:"depth",phase:"xml-parse"},maxElementCount:{unit:"count",phase:"xml-parse"},maxPartCount:{unit:"count",phase:"package-read"},maxDecompressedBytes:{unit:"bytes",phase:"package-read"},maxCompressedBytes:{unit:"bytes",phase:"package-read"},maxCompressionRatio:{unit:"ratio",phase:"package-read"},maxChunkBytes:{unit:"bytes",phase:"package-read"},maxPaginationPasses:{unit:"passes",phase:"layout"},maxQueueDepth:{unit:"count",phase:"output"}}),at=Object.keys(Be);function zt(e,t){return new H$1(`${Be[t].phase}:${t}`,e[t])}var Le=class{counter;current=0;peak=0;constructor(t){this.counter=new H$1("memory",t);}allocate(t){this.counter.add(t),this.current+=t,this.current>this.peak&&(this.peak=this.current);}free(t){this.counter.release(t),this.current=Math.max(0,this.current-t);}get currentBytes(){return this.current}get peakBytes(){return this.peak}reset(){this.counter.release(this.current),this.current=0;}};function Wt(){for(let e of at){let t=B$1[e],n=A$1[e];if(!Number.isFinite(t)||t<=0)throw new Error(`default ${e} must be finite > 0`);if(!Number.isFinite(n)||n<=0)throw new Error(`ceiling ${e} must be finite > 0`);if(t>n)throw new Error(`default ${e} exceeds ceiling`)}}function H(e,t=new Set){let n=new WeakSet,r=o=>{if(o===null)return "null";let s=typeof o;if(s==="boolean")return o?"true":"false";if(s==="number"){let a=o;if(!Number.isFinite(a))throw new Error(`non-finite number is not comparable: ${a}`);return Object.is(a,-0)?"0":String(a)}if(s==="string")return JSON.stringify(o);if(s==="bigint")return `${o.toString()}n`;if(Array.isArray(o))return `[${o.map(r).join(",")}]`;if(s==="object"){let a=o;if(n.has(a))throw new Error("cannot canonicalize a cyclic structure");n.add(a);let d=Object.keys(a).filter(l=>!t.has(l)).sort().map(l=>`${JSON.stringify(l)}:${r(a[l])}`).join(",");return n.delete(a),`{${d}}`}throw new Error(`unsupported value type in comparator input: ${s}`)};return r(e)}function Ue(e,t){let n=H(e,t),r=0xcbf29ce484222325n,o=0x100000001b3n,s=0xffffffffffffffffn;for(let a=0;a<n.length;a++)r^=BigInt(n.charCodeAt(a)),r=r*o&s;return r.toString(16).padStart(16,"0")}var R="dev.docx-editor.core.comparator",He={authoredState:{id:`${R}.authored-state`,mode:"canonical-exact",ephemera:["revision","provenance","producedAt","commitId"],note:"canonical normalized authored records; ephemera excluded"},anchor:{id:`${R}.anchor`,mode:"exact",ephemera:[],note:"internal anchor identity/affinity compares exactly"},yjsStateVector:{id:`${R}.yjs-state-vector`,mode:"sync-optimization-only",ephemera:[],note:"exchange optimization only; never proves update or delete-set coverage"},shapedRun:{id:`${R}.shaped-run`,mode:"exact",ephemera:[],note:"glyph ids, clusters, and fixed-point advances compare exactly"},paginationFingerprint:{id:`${R}.pagination-fingerprint`,mode:"exact",ephemera:[],note:"page/column boundaries, break causes, fixed-point geometry compare exactly"},semanticTree:{id:`${R}.semantic-tree`,mode:"exact",ephemera:[],note:"reading order, roles, headings, alt text compare exactly"},hitTest:{id:`${R}.hit-test`,mode:"exact",ephemera:[],note:"resolved hit target and cluster affinity compare exactly"},pdfSemantics:{id:`${R}.pdf-semantics`,mode:"canonical-exact",ephemera:["objectNumber","producer","creationDate","modDate","subsetTag"],note:"canonical semantic PDF objects; container ephemera excluded"},rasterCheckpoint:{id:`${R}.raster-checkpoint`,mode:"tolerance",ephemera:[],note:"documented unavoidable raster comparison; explicit tolerance only"},benchmarkEvidence:{id:`${R}.benchmark-evidence`,mode:"sync-optimization-only",ephemera:[],note:"diagnostic evidence, not an equivalence basis"}};function Ve(e,t,n,r={}){let o=He[e];switch(o.mode){case "sync-optimization-only":throw new Error(`${o.id} is not an equivalence basis (${o.note})`);case "tolerance":{if(r.epsilon===void 0)throw new Error(`${o.id} requires an explicit epsilon`);return {equal:st(t,n,r.epsilon)}}case "exact":case "canonical-exact":{let s=o.mode==="canonical-exact"?new Set(o.ephemera):new Set,a=H(t,s),i=H(n,s);return a===i?{equal:true}:{equal:false,left:a,right:i}}}}function je(e,t){let n=He[e];if(n.mode==="tolerance"||n.mode==="sync-optimization-only")throw new Error(`${n.id} has no canonical fingerprint (${n.mode})`);let r=n.mode==="canonical-exact"?new Set(n.ephemera):void 0;return Ue(t,r)}function st(e,t,n){return typeof e=="number"&&typeof t=="number"?Number.isFinite(e)&&Number.isFinite(t)&&Math.abs(e-t)<=n:Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((r,o)=>st(r,t[o],n)):false}var ct=new Set([...u,...v$1]),lt=/^[0-9a-f]{16}$/,Yt=/^[0-9a-f]*$/;function Xe(e){let t=[],n=o=>t.push(o);e.formatVersion!==1&&n(`unsupported formatVersion ${e.formatVersion}`),e.documentId||n("documentId is required"),e.source.kind==="docx"&&!/^[0-9a-f]{64}$/.test(e.source.sha256)&&n("docx source requires a 64-hex sha256");let r=-1;e.steps.forEach((o,s)=>{let a=`step[${s}]`;ct.has(o.origin)||n(`${a}: unknown origin ${o.origin}`),(!Number.isInteger(o.baseRevision)||o.baseRevision<0)&&n(`${a}: baseRevision must be a non-negative integer`),o.baseRevision<r&&n(`${a}: baseRevision regressed below ${r}`);let i=o.expect;i.outcome==="applied"?(i.committedRevision===void 0?n(`${a}: applied step needs committedRevision`):i.committedRevision<=o.baseRevision?n(`${a}: committedRevision ${i.committedRevision} must exceed baseRevision ${o.baseRevision}`):r=i.committedRevision,i.modelChange&&Jt(i.modelChange,a,n)):(i.committedRevision!==void 0&&n(`${a}: ${i.outcome} step must not commit a revision`),i.authoredStateHash!==void 0&&n(`${a}: ${i.outcome} step must not change authored state`)),i.authoredStateHash!==void 0&&!lt.test(i.authoredStateHash)&&n(`${a}: authoredStateHash must be 16-hex`),i.outputHash!==void 0&&!lt.test(i.outputHash)&&n(`${a}: outputHash must be 16-hex`);});for(let o of [...e.snapshots??[],...e.updates??[]])o.documentId!==e.documentId&&n(`envelope documentId ${o.documentId} != ${e.documentId}`),Yt.test(o.bytesHex)||n("envelope bytesHex must be hex"),o.bytesHex.length!==o.byteLength*2&&n(`envelope byteLength ${o.byteLength} disagrees with ${o.bytesHex.length/2} decoded bytes`);return {valid:t.length===0,errors:t}}function Jt(e,t,n){ct.has(e.origin)||n(`${t}: modelChange origin ${e.origin} unknown`),e.toRevision<=e.fromRevision&&n(`${t}: modelChange revision must advance`);}function qt(e,t){let n=Xe(e);if(!n.valid)return {ok:false,mismatches:n.errors};let r=[];return t.init(e),e.steps.forEach((o,s)=>{let a=`step[${s}]`,i=t.applyStep(o),d=o.expect;if(i.outcome!==d.outcome){r.push(`${a}: outcome ${i.outcome} != expected ${d.outcome}`);return}if(d.outcome==="applied"&&(i.committedRevision!==d.committedRevision&&r.push(`${a}: revision ${i.committedRevision} != expected ${d.committedRevision}`),d.authoredStateHash!==void 0))if(i.authoredState===void 0)r.push(`${a}: store returned no authored state to hash`);else {Ve("authoredState",i.authoredState,i.authoredState).equal||r.push(`${a}: authored state is not self-consistent`);let c=dt(i.authoredState);c!==d.authoredStateHash&&r.push(`${a}: authoredStateHash ${c} != expected ${d.authoredStateHash}`);}}),{ok:r.length===0,mismatches:r}}function dt(e){return je("authoredState",e)}var Qt=new Map([["embedRegular","regular"],["embedBold","bold"],["embedItalic","italic"],["embedBoldItalic","boldItalic"]]),Zt=32;function mt(e,t){let n=t.replace(/[^0-9a-fA-F]/g,"");if(n.length!==32)return null;let r=new Uint8Array(16);for(let a=0;a<16;a+=1){let i=Number.parseInt(n.slice(a*2,a*2+2),16);if(Number.isNaN(i))return null;r[15-a]=i;}let o=new Uint8Array(e),s=Math.min(Zt,o.length);for(let a=0;a<s;a+=1)o[a]=o[a]^r[a%16];return o}var Ke=(e,t)=>{if(!(e.kind==="textValue"||!("attributes"in e))){for(let n of e.attributes??[])if(n.localName===t)return n.value}},pt=e=>e.kind==="textValue"?[]:e.children??[],ut=e=>e.kind==="textValue"||!("localName"in e)?"":e.localName;function en(e,t,n){for(let r$1 of e.relationships.get(t)??[]){if(r$1.id!==n)continue;if(r$1.targetMode==="External")return null;let o=r(t,r$1.rawTarget);return o.ok?o.partName:null}return null}function tn(e,t,n={}){if(!t)return [];let r=n.maxFontBytes??16*1024*1024,o=n.maxFonts??64,s=[],a=new Map,i=d=>{if(!(s.length>=o)){if(ut(d)==="font"){let l=Ke(d,"name");if(l&&l.length<=128)for(let c of pt(d)){if(s.length>=o)return;let p=Qt.get(ut(c));if(!p)continue;let u=Ke(c,"id"),m=Ke(c,"fontKey");if(!u||!m)continue;let f=en(e,t.name,u);if(!f)continue;let y=e.partBytes.get(f);if(!y||y.length===0||y.length>r)continue;let g=a.get(f);if(g){s.push({family:l,style:p,bytes:g,partName:f});continue}let O=mt(y,m);O&&(a.set(f,O),s.push({family:l,style:p,bytes:O,partName:f}));}}for(let l of pt(d))i(l);}};return i(t.root),s}function ft(e){if(e.kind!=="textValue")for(let t of e.children){if(t.kind==="textValue")continue;if(t.kind==="hyperlink"){let r=Sa(t);if(r!==void 0&&r.length>0)return r}let n=ft(t);if(n!==void 0)return n}}function nn(e){let t="",n=false,r=o=>{if(!(n||o.kind==="textValue")){if(o.kind==="tab"||o.localName==="ptab"||o.localName==="tab"){n=true;return}if(o.kind==="text"||o.localName==="t"){for(let s of o.children)s.kind==="textValue"&&(t+=s.value);return}for(let s of o.children)r(s);}};return r(e),Hc(t)}function rn(e,t,n,r){let o=n.filter(d=>{if(r.has(d.blockId))return false;let l=d.level+1;return l>=t.instruction.outlineStart&&l<=t.instruction.outlineEnd}),s=new Set(o.map(d=>d.blockId)),a=Cc(e),i=new Map;for(let d of o){let l=Hc(d.text),c=i.get(l);c?c.push(d.blockId):i.set(l,[d.blockId]);}return t.resultParagraphIds.map(d=>{let l=Fa(e,d);if(!l||l.kind==="textValue")return null;let c=ft(l),p=c===void 0?void 0:a.get(c);if(p&&s.has(p.paragraphId)){let f=i.get(Hc(o.find(g=>g.blockId===p.paragraphId)?.text??"")),y=f?.indexOf(p.paragraphId)??-1;return f&&y>=0&&f.splice(y,1),p.paragraphId}let u=nn(l);if(u.length===0)return null;let m=i.get(u);return !m||m.length===0?null:m.shift()??null})}function C(e){return e.namespaceUri===ma?e.localName:`{${e.namespaceUri}}${e.localName}`}function I(e){let t=[];for(let n of e.attributes)t.push(n.namespaceUri===""||n.namespaceUri===ma?`${n.localName}=${n.value}`:`{${n.namespaceUri}}${n.localName}=${n.value}`);return t.sort(),t}function gt(e,t){let n=I(e),r=n.length>0?`${C(e)}(${n.join(",")})`:C(e);if(t>=ca)return r;let o=[];for(let s of e.children){if(s.kind==="textValue"){s.value!==""&&o.push(`#${s.value}`);continue}o.push(gt(s,t+1));}return o.sort(),o.length>0?`${r}[${o.join(",")}]`:r}function yt(e){if(!e)return [];let t=[];for(let n of e.children)n.namespaceUri===ma&&t.push(gt(n,1));return t.sort(),t}function Ge(e){if(e.kind==="textValue")return e.value;if(e.kind==="tab")return " ";if(e.kind==="hardBreak")return _b(e);if(e.kind==="drawing")return mc();if(e.kind==="runProperties"||e.kind==="paragraphProperties"||e.kind==="generic")return "";if(e.kind==="hyperlink"||Lb(e)){let n="",r=e.kind==="hyperlink"?e.children:Nb(e)??[];for(let o of r)n+=Ge(o);return n}let t="";for(let n of e.children)t+=Ge(n);return t}function x(e,t){let n=new Map(e);for(let r of t.namespaceBindings)n.set(r.prefix,r.namespaceUri);return n}function V(e,t){try{return wa(e,t)}catch(n){if(n instanceof qa&&n.reason==="undeclared-prefix")return `generic-refusal:undeclared-prefix:{${e.namespaceUri}}${e.localName}`;throw n}}function ze(e,t,n=va){if(e.kind==="textValue")return;if(e.kind==="runProperties"||e.kind==="paragraphProperties"){let o=x(n,e),s=[];for(let a of e.children)a.namespaceUri!==ma&&s.push(V(a,o));s.sort(),t.push(...s);return}if(e.kind==="generic"){t.push(V(e,n));return}if(Lb(e)){t.push(xa(e));return}if(e.kind==="bookmarkStart"||e.kind==="bookmarkEnd"){t.push(wa(e,n));return}if(e.kind==="drawing"){t.push(ht(e));return}if(la(e.kind))return;let r=x(n,e);for(let o of e.children)ze(o,t,r);}function on(e){return `hyperlink(${e.attributes.map(n=>`${n.namespaceUri}|${n.localName}=${n.value}`).sort().join(",")})`}function an(e){for(let t of e.children)if(t.kind==="pictureBlipFill")for(let n of t.children){if(n.kind!=="pictureBlip")continue;let r=n.attributes.find(s=>s.localName==="embed"&&s.namespaceUri===pa)?.value,o=n.attributes.find(s=>s.localName==="link"&&s.namespaceUri===pa)?.value;if(r!==void 0)return `embed=${r}`;if(o!==void 0)return `link=${o}`}}function te(e,t,n){if(e.kind==="textValue")return `#${e.value}`;if(t>=ca)return C(e);let r=x(n,e);if(e.kind==="generic")return V(e,r);let o=I(e),s=o.length>0?`${C(e)}(${o.join(",")})`:C(e),a=[];for(let i of e.children)i.kind!=="textValue"&&a.push(te(i,t+1,r));return a.sort(),a.length>0?`${s}[${a.join(",")}]`:s}function sn(e,t,n){let r=x(n,e),o=[];for(let s of e.children)if(s.kind!=="textValue"){if(s.kind==="pictureBlipFill"){let a=s.children,i=a.find(l=>l.kind==="pictureBlip"),d=a.filter(l=>l.kind!=="pictureBlip").map(l=>te(l,t+1,r));if(d.sort(),i&&i.kind==="pictureBlip"){let l=I(i),c=l.length>0?`pictureBlip(${l.join(",")})`:"pictureBlip";o.push(d.length>0?`${c}[${d.join(",")}]`:c);}else for(let l of a)o.push(te(l,t+1,r));continue}o.push(te(s,t+1,r));}return o.sort(),o}function We(e,t,n){if(e.kind==="textValue")return `#${e.value}`;if(t>=ca)return C(e);let r=x(n,e);if(e.kind==="drawingDocPr"){let i=I(e);return i.length>0?`docPr(${i.join(",")})`:"docPr"}if(e.kind==="picture"){let i=an(e),d=sn(e,t+1,r),l=i===void 0?"picture":`picture(${i})`;return d.length>0?`${l}[${d.join(",")}]`:l}let o=I(e),s=o.length>0?`${C(e)}(${o.join(",")})`:C(e),a=[];for(let i of e.children){if(i.kind==="picture"){a.push(We(i,t+1,r));continue}if(i.kind==="generic"){a.push(V(i,r));continue}i.kind!=="textValue"&&a.push(We(i,t+1,r));}return a.length>0?`${s}[${a.join(",")}]`:s}function ht(e){let t=x(va,e),n=e.children.find(i=>i.kind==="inlineDrawing"||i.kind==="anchoredDrawing");if(!n||n.kind==="textValue")return `drawing(${I(e).join(",")})`;let r=x(t,n),o=I(n),s=o.length>0?`${n.kind}(${o.join(",")})`:n.kind,a=[];for(let i of n.children){if(i.kind==="generic"){a.push(V(i,r));continue}i.kind!=="textValue"&&a.push(We(i,1,r));}return a.length>0?`drawing[${s};${a.join(";")}]`:`drawing[${s}]`}function ln(e,t,n){let r=e.children.find(c=>c.kind==="paragraphProperties"),o=[],s="",a=[],i=x(va,e),d=(c,p)=>{if(c.kind==="run"){let u=x(p,c),m=c.children.find(f=>f.kind==="runProperties");o.push(yt(m)),s+=Ge(c);for(let f of c.children)ze(f,a,u);return}if(c.kind==="drawing"){a.push(ht(c));return}if(c.kind==="hyperlink"){a.push(on(c));let u=x(p,c);for(let m of c.children)d(m,u);return}if(c.kind==="contentControl"){a.push(xa({...c,children:c.children.filter(m=>m.kind!=="contentControlContent")}));let u=x(p,c);for(let m of c.children){if(m.kind!=="contentControlContent")continue;let f=x(u,m);for(let y of m.children)d(y,f);}return}ze(c,a,p);};for(let c of e.children)d(c,i);let l=Oc(e);return {ordinal:t,path:n,paraId:l===null?null:l.toUpperCase(),text:s,paragraphProperties:yt(r),runProperties:o,genericStructure:a}}function cn(e){if(e.localName==="hdr"||e.localName==="ftr"||e.kind==="body")return e;for(let t of e.children)if(t.kind!=="textValue"&&(t.kind==="body"||t.localName==="hdr"||t.localName==="ftr"))return t;return e}function xt(e,t,n,r,o,s){if(s>ca)return;let a=0;for(let i of e.children){if(i.kind==="textValue"){i.value.trim()!==""&&o.push(`${t}/#text ${i.value}`);continue}let d=t===""?String(a):`${t}/${a}`;if(a+=1,i.kind==="paragraph"){n.push(i),r.push(d),o.push(`${d} p`);continue}let l=I(i);o.push(l.length>0?`${d} ${C(i)}(${l.join(",")})`:`${d} ${C(i)}`),xt(i,d,n,r,o,s+1);}}function Nt(e){let t=cn(e.root),n=[],r=[],o=[];xt(t,"",n,r,o,0);let s=n.map((a,i)=>ln(a,i,r[i]));return {partName:e.name,paragraphs:s,structure:o}}function dn(e){let t=[];for(let n of e){let r=Nt(n);r&&t.push(r);}return {stories:t}}function pn(e,t){let n=[],r=(s,a,i)=>{n.push({path:s,before:JSON.stringify(a)??"undefined",after:JSON.stringify(i)??"undefined"});};e.stories.length!==t.stories.length&&r("stories.length",e.stories.length,t.stories.length);let o=Math.min(e.stories.length,t.stories.length);for(let s=0;s<o;s+=1){let a=e.stories[s],i=t.stories[s],d=p=>`${a.partName}${p}`;a.paragraphs.length!==i.paragraphs.length&&r(d(".paragraphs.length"),a.paragraphs.length,i.paragraphs.length);let l=Math.min(a.paragraphs.length,i.paragraphs.length);for(let p=0;p<l;p+=1){let u=a.paragraphs[p],m=i.paragraphs[p];u.text!==m.text&&r(d(`.p[${p}].text`),u.text,m.text),u.path!==m.path&&r(d(`.p[${p}].path`),u.path,m.path),u.paraId!==m.paraId&&r(d(`.p[${p}].paraId`),u.paraId,m.paraId),JSON.stringify(u.paragraphProperties)!==JSON.stringify(m.paragraphProperties)&&r(d(`.p[${p}].paragraphProperties`),u.paragraphProperties,m.paragraphProperties),JSON.stringify(u.runProperties)!==JSON.stringify(m.runProperties)&&r(d(`.p[${p}].runProperties`),u.runProperties,m.runProperties),JSON.stringify(u.genericStructure)!==JSON.stringify(m.genericStructure)&&r(d(`.p[${p}].genericStructure`),u.genericStructure,m.genericStructure);}a.structure.length!==i.structure.length&&r(d(".structure.length"),a.structure.length,i.structure.length);let c=Math.min(a.structure.length,i.structure.length);for(let p=0;p<c;p+=1)a.structure[p]!==i.structure[p]&&r(d(`.structure[${p}]`),a.structure[p],i.structure[p]);}return n}var j="http://schemas.openxmlformats.org/wordprocessingml/2006/main",fn="http://schemas.openxmlformats.org/package/2006/relationships",Ot="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",_="application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml",yn="application/vnd.openxmlformats-package.relationships+xml",gn="http://schemas.openxmlformats.org/package/2006/content-types",Rt="/[Content_Types].xml",E="/word/numbering.xml",Ct=[{text:"\uF0B7",font:"Symbol"},{text:"o",font:"Courier New"},{text:"\uF0A7",font:"Wingdings"}],bt=["decimal","lowerLetter","lowerRoman"],Ye=9;function St(e,t){let n=720*(t+1),r='<w:start w:val="1"/>';if(e==="bullet"){let a=Ct[t%Ct.length];return `<w:lvl w:ilvl="${t}">${r}<w:numFmt w:val="bullet"/><w:lvlText w:val="${a.text}"/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="${n}" w:hanging="360"/></w:pPr><w:rPr><w:rFonts w:ascii="${a.font}" w:hAnsi="${a.font}" w:hint="default"/></w:rPr></w:lvl>`}let o=bt[t%bt.length],s=o==="lowerRoman";return `<w:lvl w:ilvl="${t}">${r}<w:numFmt w:val="${o}"/><w:lvlText w:val="%${t+1}."/><w:lvlJc w:val="${s?"right":"left"}"/><w:pPr><w:ind w:left="${n}" w:hanging="${s?180:360}"/></w:pPr></w:lvl>`}function hn(e,t){let n=Array.from({length:Ye},(r,o)=>St(e,o)).join("");return `<w:abstractNum w:abstractNumId="${t}"><w:multiLevelType w:val="${e==="bullet"?"hybridMultilevel":"multilevel"}"/>${n}</w:abstractNum>`}function xn(){let e=Ba(`<w:numbering xmlns:w="${j}"></w:numbering>`,{name:E,contentType:_});return e.ok?e.part:null}var b=(e,t)=>{let n=[];for(let r of e.children)r.kind==="textValue"||r.localName!==t||r.namespaceUri===j&&n.push(r);return n},N=(e,t)=>e.attributes.find(n=>n.localName===t)?.value;function vt(e,t){let n=Ba(`<w:numbering xmlns:w="${j}">${e}</w:numbering>`,{name:E,contentType:_});if(!n.ok)return null;let r=[];for(let o of n.part.root.children)o.kind!=="textValue"&&r.push(o);if(r.length!==t.length)return null;for(let o=0;o<t.length;o+=1){let s=r[o],a=t[o];if(s.namespaceUri!==j||s.localName!==a.localName||a.attribute&&N(s,a.attribute.localName)!==a.attribute.value)return null}return r}var Et=["numPicBullet","abstractNum","num","numIdMacAtCleanup"];function Pt(e,t,n){let r=t.indexOf(n);if(r===-1)return e.length;let o=0;return e.forEach((s,a)=>{if(s.kind==="textValue")return;let i=t.indexOf(s.localName);i!==-1&&i<=r&&(o=a+1);}),o}function It(e,t){let n=0;for(let r of e){let o=N(r,t);!o||!/^\d{1,9}$/.test(o)||(n=Math.max(n,Number(o)));}return n+1}function Nn(e,t){let n=e.parts.get(E),r=n??xn();if(!r)return null;let o=r.root,s=b(o,"abstractNum"),a=b(o,"num"),i=t==="bullet"?"bullet":"decimal";for(let O of a){let $=N(O,"numId"),qe=b(O,"abstractNumId")[0],Qe=qe?N(qe,"val"):void 0;if(!$||!Qe)continue;let Ze=s.find(X=>N(X,"abstractNumId")===Qe);if(!Ze)continue;let et=b(Ze,"lvl").find(X=>N(X,"ilvl")==="0"||N(X,"ilvl")===void 0),tt=et?b(et,"numFmt")[0]:void 0;if(tt&&N(tt,"val")===i)return {pkg:e,numId:$}}let d=It(s,"abstractNumId"),l=It(a,"numId"),c=vt(hn(t,d)+`<w:num w:numId="${l}"><w:abstractNumId w:val="${d}"/></w:num>`,[{localName:"abstractNum",attribute:{localName:"abstractNumId",value:String(d)}},{localName:"num",attribute:{localName:"numId",value:String(l)}}]);if(!c)return null;let p=Da(r),[u,m]=c.map(O=>ne(O,p));if(!u||!m)return null;let f=Ia(r,o.id,Pt(o.children,Et,"abstractNum"),[u]);if(!f.ok)return null;let y=Ia(f.part,o.id,Pt(f.part.root.children,Et,"num"),[m]);if(!y.ok)return null;let g=Object.freeze({...e,parts:new Map([...e.parts,[E,y.part]])});if(!n){let O=bn(g);if(!O)return null;let $=kn(O);if(!$)return null;g=$;}return {pkg:g,numId:String(l)}}var On=["nsid","multiLevelType","tmpl","name","styleLink","numStyleLink","lvl"];function Tt(e){let t=N(e,"ilvl");return t===void 0||!/^\d{1,9}$/.test(t)?null:Number(t)}function Rn(e,t){let n=0;return e.forEach((r,o)=>{if(r.kind!=="textValue"){if(r.localName==="lvl"&&r.namespaceUri===j){(Tt(r)??0)<t&&(n=o+1);return}On.includes(r.localName)&&(n=o+1);}}),n}function Cn(e,t,n,r){if(!Number.isInteger(n)||n<0||n>=Ye||t.length===0||t.length>64)return null;let o=e.parts.get(E);if(!o)return null;let s=o.root,a=b(s,"num").find(f=>N(f,"numId")===t),i=a?b(a,"abstractNumId")[0]:void 0,d=i?N(i,"val"):void 0;if(!d)return null;let l=b(s,"abstractNum").find(f=>N(f,"abstractNumId")===d);if(!l||b(l,"numStyleLink").length>0)return null;let c=b(l,"lvl");if(c.some(f=>Tt(f)===n))return e;if(c.length>=Ye)return null;let p=vt(St(r,n),[{localName:"lvl",attribute:{localName:"ilvl",value:String(n)}}]);if(!p)return null;let u=Da(o),m=Ia(o,l.id,Rn(l.children,n),[ne(p[0],u)]);return m.ok?Object.freeze({...e,parts:new Map([...e.parts,[E,m.part]])}):null}function ne(e,t){return e.kind==="textValue"?{...e,id:t()}:{...e,id:t(),children:e.children.map(n=>ne(n,t))}}function bn(e){let t=e.mainDocumentPart,n=En(t),r=e.parts.get(n),o=Pn(e),s=Ba(`<Relationships xmlns="${fn}"><Relationship Id="${o}" Type="${Ot}" Target="numbering.xml"/></Relationships>`,{name:n,contentType:yn});if(!s.ok)return null;let a=e.relationships.get(t)??[],i={ownerPart:t,id:o,type:Ot,rawTarget:"numbering.xml",targetMode:"Internal",order:a.reduce((u,m)=>Math.max(u,m.order),-1)+1},d=new Map([...e.relationships,[t,[...a,i]]]);if(!r)return Object.freeze({...e,parts:new Map([...e.parts,[n,s.part]]),relationships:d});let l=Da(r),c=s.part.root.children[0];if(!c)return null;let p=Ia(r,r.root.id,r.root.children.length,[ne(c,l)]);return p.ok?Object.freeze({...e,parts:new Map([...e.parts,[n,p.part]]),relationships:d}):null}function En(e){let t=e.lastIndexOf("/");return `${e.slice(0,t)}/_rels/${e.slice(t+1)}.rels`}function Pn(e){let t=0;for(let n of e.relationships.values())for(let r of n){let o=/^rId(\d{1,9})$/.exec(r.id);o&&(t=Math.max(t,Number(o[1])));}for(let n of e.externalTargets){let r=/^rId(\d{1,9})$/.exec(n.id);r&&(t=Math.max(t,Number(r[1])));}return `rId${t+1}`}var In=`<Override PartName="${E}" ContentType="${_}"/>`;function kn(e){let t=e.contentTypes.overrides.get(p(E));if(t===_)return e;if(t!==void 0)return null;let n=e.partBytes.get(Rt);if(!n)return null;let r=strFromU8(n),o=kt(r);if(!o)return null;let s=r.lastIndexOf(`</${o.rootName}>`);if(s===-1)return null;let a=r.slice(0,s)+In+r.slice(s),i=kt(a);if(!i||i.rootName!==o.rootName)return null;let d=[...o.children,wt("Override",{PartName:E,ContentType:_})];return i.children.length!==d.length||i.children.some((l,c)=>l!==d[c])?null:Object.freeze({...e,partBytes:new Map([...e.partBytes,[Rt,strToU8(a)]]),contentTypes:Object.freeze({defaults:e.contentTypes.defaults,overrides:new Map([...e.contentTypes.overrides,[p(E),_]])})})}function kt(e){let t=da(e);if(!t.ok)return null;let n=t.nodes.filter(i=>i.type==="element");if(n.length!==1)return null;let r=n[0],o=r.name.indexOf(":"),s=o===-1?"":r.name.slice(0,o);if(r.name.slice(o+1)!=="Types"||r.attributes[s?`xmlns:${s}`:"xmlns"]!==gn)return null;let a=[];for(let i of r.children)i.type==="element"&&a.push(wt(i.name,i.attributes));return {rootName:r.name,children:a}}function wt(e,t){let n=Object.entries(t).map(([r,o])=>`${r}=${o}`).sort();return [e,...n].join("")}function re(e){return e!=null&&e.kind!=="textValue"}function Je(e,t){for(let n of e.children)if(n.kind!=="textValue"&&n.namespaceUri===ma&&n.localName===t)return n;return null}function oe(e,t){for(let n of e.attributes)if(n.namespaceUri===ma&&n.localName===t)return n.value}function A(e,t){let n=Je(e,t);if(!n)return false;let r=oe(n,"val");return r===void 0?true:r!=="0"&&r!=="false"&&r!=="off"}var _t=Object.freeze({trackRevisions:false,restrictedToTrackedChanges:false,doNotTrackMoves:false,doNotTrackFormatting:false});function Sn(e){if(!re(e))return _t;let t=Je(e,"documentProtection"),n=t===null?void 0:oe(t,"enforcement"),r=n!==void 0&&n!=="0"&&n!=="false"&&n!=="off";return {trackRevisions:A(e,"trackRevisions"),restrictedToTrackedChanges:r&&t!==null&&oe(t,"edit")==="trackedChanges",doNotTrackMoves:A(e,"doNotTrackMoves"),doNotTrackFormatting:A(e,"doNotTrackFormatting")}}var At=Object.freeze({doNotShadeFormData:false});function vn(e){return re(e)?{doNotShadeFormData:A(e,"doNotShadeFormData")}:At}function Tn(e,t){let n=e.parts.get(t.storyPartName);if(!n)return {ok:false,reason:`no story part named ${t.storyPartName}`};let r=[];for(let d of te$1(n.root)){let l=re$1(d.node).tag;if(l===void 0||l.length===0)continue;let c=t.decide(l);c!=="keep"&&r.push({nodeId:d.node.id,policy:c});}let o=n,s=0,a=0;for(let{nodeId:d,policy:l}of r){let c=Ga(o,d);if(!c)continue;if(l==="remove"){let g=Ka(o,d,{deferValidation:true});if(!g.ok)return {ok:false,reason:`a node could not be removed: ${$t(g)}`};o=g.part,a+=1;continue}let p=c.children.find(g=>g.id===d);if(!p)continue;let u=pe(p),m=u?u.children:[],f=c.children.flatMap(g=>g.id===d?m:[g]),y=Ha(o,c.id,f,{deferValidation:true});if(!y.ok)return {ok:false,reason:`a node could not be unwrapped: ${$t(y)}`};o=y.part,s+=1;}let i=o===n?e:Ab(e,o);if(!i.parts.has(t.storyPartName))return {ok:false,reason:"the story went missing during the export"};for(let d of t.namespaces)for(let l of _n(i,t.storyPartName,d)){let c=jf(i,l.itemId),p=df(i,l.partName,c);if(p.pkg===i&&p.removed.length===0&&!wn(i,l.partName,c))return {ok:false,reason:`the payloads in ${d} could not be removed`};if(i=p.pkg,c.size>0)continue;let u=An(i,l);if(!u.ok)return {ok:false,reason:`the payload store for ${d} could not be removed`};i=u.pkg;}return {ok:true,pkg:i,unwrapped:s,removed:a}}function wn(e,t,n){return $e$1(e,t).every(r=>n.has(r.id))}function $t(e){return e.issues.map(t=>t.code).join(", ")||"the edit was refused"}function _n(e,t,n){return Xe$1(e,t).filter(r=>r.namespaceUri===n)}function An(e,t){let n=Gb(e,t.partName);if(!n.ok)return {pkg:e,ok:false};let r=Gb(n.pkg,t.propsPartName);return r.ok?{pkg:r.pkg,ok:true}:{pkg:e,ok:false}}var ie="http://purl.org/dc/elements/1.1/",Dt="http://schemas.openxmlformats.org/package/2006/metadata/core-properties",Mt="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";var pp=Object.freeze({});function k(e,t,n){if(e.kind!=="textValue")for(let r of e.children){if(r.kind==="textValue"||r.namespaceUri!==t||r.localName!==n)continue;let o=r.children.find(a=>a.kind==="textValue");if(!o||o.kind!=="textValue")return;let s=o.value.trim();return s.length===0?void 0:s.length>4096?s.slice(0,4096):s}}function up(e,t){let n={};if(e&&e.kind!=="textValue"){let r=k(e,ie,"title");r!==void 0&&(n.title=r);let o=k(e,ie,"creator");o!==void 0&&(n.creator=o);let s=k(e,ie,"subject");s!==void 0&&(n.subject=s);let a=k(e,ie,"description");a!==void 0&&(n.description=a);let i=k(e,Dt,"keywords");i!==void 0&&(n.keywords=i);let d=k(e,Dt,"lastModifiedBy");d!==void 0&&(n.lastModifiedBy=d);}if(t&&t.kind!=="textValue"){let r=k(t,Mt,"Company");r!==void 0&&(n.company=r);let o=k(t,Mt,"Manager");o!==void 0&&(n.manager=o);}return n}
2
- export{Ve as A,je as B,Xe as C,qt as D,dt as E,mt as F,tn as G,rn as H,Nt as I,dn as J,pn as K,Nn as L,Cn as M,_t as N,Sn as O,At as P,vn as Q,pp as R,up as S,Tn as T,Ft as a,ot as b,J as c,S as d,q as e,Q as f,h as g,Ht as h,v as i,B as j,Z as k,U as l,ee as m,De as n,Me as o,Fe as p,Kt as q,Gt as r,Be as s,at as t,zt as u,Le as v,Wt as w,H as x,Ue as y,He as z};
@@ -1,2 +0,0 @@
1
- 'use strict';var k="http://schemas.microsoft.com/office/word/2012/wordml";function A(e){return `${e.kind}-${e.id}`}function M(e){let a=[],t=n=>{if(n.kind==="textValue"){a.push(n.value);return}for(let o of n.children)t(o);};for(let n of e.blocks)t(n);return a.join("")}function C(e){if(e.initials&&e.initials.trim().length>0)return e.initials.trim();let a=e.author.trim().split(/\s+/).filter(Boolean);return a.length===0?"?":a.slice(0,2).map(t=>t[0].toUpperCase()).join("")}function m(e){return e.kind==="revision"?e.ranges:e.range?[e.range]:[]}function y(e){return m(e)[0]??null}function T(e,a){let t=y(e);if(!t)return Number.MAX_SAFE_INTEGER;let n=a.get(t.start.paragraphId);return n===void 0?Number.MAX_SAFE_INTEGER:n*1e6+Math.min(t.start.offset,999999)}function p(e,a){let t=a.get(e.start.paragraphId),n=a.get(e.end.paragraphId);return t===void 0||n===void 0?Number.MAX_SAFE_INTEGER:(n-t)*1e6+(e.end.offset-e.start.offset)}var c=0,f=1,R=2;function v(e,a,t){let n=t.get(a.paragraphId),o=t.get(e.start.paragraphId),r=t.get(e.end.paragraphId);return n===void 0||o===void 0||r===void 0||n<o||n>r||n===o&&a.offset<e.start.offset||n===r&&a.offset>e.end.offset?null:o===r&&e.start.offset===e.end.offset?c:n===r&&a.offset===e.end.offset?R:f}function I(e,a,t){let n=null;for(let o of m(e)){let r=v(o,a,t);if(r===null)continue;let i=p(o,t);(n===null||r<n.grip||r===n.grip&&i<n.width)&&(n={grip:r,width:i});}return n}var s={comment:0,custom:1,revision:2};function w(e,a,t){let n=[];for(let o of e){let r=I(o,a,t);r!==null&&n.push({item:o,grip:r.grip,width:r.width});}return n.sort((o,r)=>o.grip!==r.grip?o.grip-r.grip:o.width!==r.width?o.width-r.width:o.item.kind!==r.item.kind?s[o.item.kind]-s[r.item.kind]:o.item.kind==="revision"&&r.item.kind==="revision"?r.item.nesting-o.item.nesting:0).map(o=>o.item)}function N(e,a,t){let o=w(e,a,t).filter(r=>!(r.kind==="comment"&&r.resolved))[0];return o?o.kind==="comment"?g(e,o):o:null}function _(e,a){return g(e,a)}function g(e,a){let t=new Map,n=new Map;for(let i of e)i.kind==="comment"?t.set(i.id,i):i.kind==="revision"&&n.set(i.id,i);let o=new Set([a.id]),r=a;for(;r.parentId!==void 0;){let i=t.get(r.parentId);if(!i||o.has(i.id))break;o.add(i.id),r=i;}if(r.parentRevisionId!==void 0){let i=n.get(r.parentRevisionId);if(i)return i}return r}function h(e,a,t){let n=e.lines?.find(o=>{let r=o.spans;if(!r)return t<o.range.end;let i=r.filter(d=>d.range.paragraphId===a);return i.length===r.length?t<o.range.end:i.length>0&&t<i[i.length-1].range.end});return n?n.box.y:e.fragmentY}function E(e,a){let t=new Map;for(let n of e.pages)for(let[o,r]of x(n,a))t.has(o)||t.set(o,r);return t}var l=new WeakMap;function x(e,a){let t=l.get(a);t||(t=new WeakMap,l.set(a,t));let n=t.get(e);if(n)return n;let o=new Map;for(let r of a(e)){let i=new Set([r.paragraphId]);for(let d of r.lines??[])for(let u of d.spans??[])i.add(u.range.paragraphId);for(let d of i)o.has(d)||o.set(d,{pageIndex:e.index,contentY:e.contentBox.y,fragmentY:r.box.y,...r.lines?{lines:r.lines}:{}});}return t.set(e,o),o}function O(e,a){let t=y(e);if(!t)return null;let n=a.get(t.start.paragraphId);return n?{pageIndex:n.pageIndex,y:n.contentY+h(n,t.start.paragraphId,t.start.offset)}:null}
2
- exports.a=k;exports.b=A;exports.c=M;exports.d=C;exports.e=m;exports.f=y;exports.g=T;exports.h=w;exports.i=N;exports.j=_;exports.k=h;exports.l=E;exports.m=O;
@@ -1,56 +0,0 @@
1
- import { O as OoxmlNode, a as OoxmlElement, b as OoxmlContentControlNode, c as OoxmlGenericElementNode, d as OoxmlContentControlContentNode } from './ooxml-tree-BU0e3DVi.cjs';
2
-
3
- /** Nested content-control wrappers deeper than this stop flattening; content stays preserved. */
4
- declare const MAX_CONTENT_CONTROL_NESTING = 32;
5
- type ContentControlLike = OoxmlContentControlNode | OoxmlGenericElementNode;
6
- type ContentControlContentLike = OoxmlContentControlContentNode | OoxmlGenericElementNode;
7
- /**
8
- * Block or inline structured-document-tag wrapper — typed or generic during migration.
9
- *
10
- * Generic fallback requires the WordprocessingML namespace so foreign-namespace
11
- * `<x:sdt>` elements stay opaque wrappers and are never treated as Word controls.
12
- */
13
- declare function isContentControl(node: OoxmlNode): node is ContentControlLike;
14
- /**
15
- * True when `node` is the control's content container (`w:sdtContent`).
16
- *
17
- * Generic `sdtContent` requires the WML namespace — same foreign-namespace rule as
18
- * {@link isContentControl}.
19
- */
20
- declare function isContentControlContent(node: OoxmlNode): node is ContentControlContentLike;
21
- /** Children of the first `w:sdtContent` under a control, or null when absent or not a control. */
22
- declare function contentControlContentOf(node: OoxmlNode): readonly OoxmlNode[] | null;
23
- /**
24
- * Children of every `w:sdtContent` under a control, in document order.
25
- *
26
- * Does not recurse into nested controls — callers that flatten blocks or inline runs do that
27
- * with their own depth counter against {@link MAX_CONTENT_CONTROL_NESTING}.
28
- */
29
- declare function contentControlContentChildren(control: OoxmlNode): readonly OoxmlNode[];
30
- /**
31
- * Collect paragraph and table blocks from a sibling list, flattening through content-control
32
- * wrappers up to {@link MAX_CONTENT_CONTROL_NESTING}.
33
- *
34
- * `accept` filters which typed blocks are kept (e.g. skip revision-removed paragraphs). When
35
- * nesting exceeds the bound the wrapper is skipped entirely — same fail-closed rule as the
36
- * historical `storyBlocks` walk.
37
- */
38
- declare function collectFlowBlocks(children: readonly OoxmlNode[], depth?: number, accept?: (block: OoxmlElement) => boolean): OoxmlElement[];
39
- /**
40
- * Story blocks in document order, flattening block-level content controls — same shape as
41
- * layout's `storyBlocks` and store `bodyBlocks`.
42
- */
43
- declare function walkStoryBlocks(children: readonly OoxmlNode[], depth: number, visit: (block: OoxmlElement) => void): void;
44
- /**
45
- * Every story paragraph in reading order — body, table cells, and flattened block controls.
46
- */
47
- declare function walkAllStoryParagraphs(children: readonly OoxmlNode[], sdtDepth: number, visit: (paragraph: OoxmlElement) => void): void;
48
- /**
49
- * Paragraph-level inline sequence — runs, hyperlinks, and inline content controls in order.
50
- *
51
- * `visit` receives each direct `w:r` and any other inline node the caller treats as opaque
52
- * (bookmarks, drawings, …). Hyperlinks and content controls are descended transparently.
53
- */
54
- declare function walkParagraphInline(children: readonly OoxmlNode[], depth: number, visit: (child: OoxmlNode) => void): void;
55
-
56
- export { MAX_CONTENT_CONTROL_NESTING as M, contentControlContentChildren as a, isContentControlContent as b, collectFlowBlocks as c, contentControlContentOf as d, walkParagraphInline as e, walkStoryBlocks as f, isContentControl as i, walkAllStoryParagraphs as w };
@@ -1,56 +0,0 @@
1
- import { O as OoxmlNode, a as OoxmlElement, b as OoxmlContentControlNode, c as OoxmlGenericElementNode, d as OoxmlContentControlContentNode } from './ooxml-tree-BU0e3DVi.js';
2
-
3
- /** Nested content-control wrappers deeper than this stop flattening; content stays preserved. */
4
- declare const MAX_CONTENT_CONTROL_NESTING = 32;
5
- type ContentControlLike = OoxmlContentControlNode | OoxmlGenericElementNode;
6
- type ContentControlContentLike = OoxmlContentControlContentNode | OoxmlGenericElementNode;
7
- /**
8
- * Block or inline structured-document-tag wrapper — typed or generic during migration.
9
- *
10
- * Generic fallback requires the WordprocessingML namespace so foreign-namespace
11
- * `<x:sdt>` elements stay opaque wrappers and are never treated as Word controls.
12
- */
13
- declare function isContentControl(node: OoxmlNode): node is ContentControlLike;
14
- /**
15
- * True when `node` is the control's content container (`w:sdtContent`).
16
- *
17
- * Generic `sdtContent` requires the WML namespace — same foreign-namespace rule as
18
- * {@link isContentControl}.
19
- */
20
- declare function isContentControlContent(node: OoxmlNode): node is ContentControlContentLike;
21
- /** Children of the first `w:sdtContent` under a control, or null when absent or not a control. */
22
- declare function contentControlContentOf(node: OoxmlNode): readonly OoxmlNode[] | null;
23
- /**
24
- * Children of every `w:sdtContent` under a control, in document order.
25
- *
26
- * Does not recurse into nested controls — callers that flatten blocks or inline runs do that
27
- * with their own depth counter against {@link MAX_CONTENT_CONTROL_NESTING}.
28
- */
29
- declare function contentControlContentChildren(control: OoxmlNode): readonly OoxmlNode[];
30
- /**
31
- * Collect paragraph and table blocks from a sibling list, flattening through content-control
32
- * wrappers up to {@link MAX_CONTENT_CONTROL_NESTING}.
33
- *
34
- * `accept` filters which typed blocks are kept (e.g. skip revision-removed paragraphs). When
35
- * nesting exceeds the bound the wrapper is skipped entirely — same fail-closed rule as the
36
- * historical `storyBlocks` walk.
37
- */
38
- declare function collectFlowBlocks(children: readonly OoxmlNode[], depth?: number, accept?: (block: OoxmlElement) => boolean): OoxmlElement[];
39
- /**
40
- * Story blocks in document order, flattening block-level content controls — same shape as
41
- * layout's `storyBlocks` and store `bodyBlocks`.
42
- */
43
- declare function walkStoryBlocks(children: readonly OoxmlNode[], depth: number, visit: (block: OoxmlElement) => void): void;
44
- /**
45
- * Every story paragraph in reading order — body, table cells, and flattened block controls.
46
- */
47
- declare function walkAllStoryParagraphs(children: readonly OoxmlNode[], sdtDepth: number, visit: (paragraph: OoxmlElement) => void): void;
48
- /**
49
- * Paragraph-level inline sequence — runs, hyperlinks, and inline content controls in order.
50
- *
51
- * `visit` receives each direct `w:r` and any other inline node the caller treats as opaque
52
- * (bookmarks, drawings, …). Hyperlinks and content controls are descended transparently.
53
- */
54
- declare function walkParagraphInline(children: readonly OoxmlNode[], depth: number, visit: (child: OoxmlNode) => void): void;
55
-
56
- export { MAX_CONTENT_CONTROL_NESTING as M, contentControlContentChildren as a, isContentControlContent as b, collectFlowBlocks as c, contentControlContentOf as d, walkParagraphInline as e, walkStoryBlocks as f, isContentControl as i, walkAllStoryParagraphs as w };