@docx-editor.dev/core 2.2.1 → 2.3.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.
- package/dist/automation.cjs +1 -1
- package/dist/automation.d.cts +2 -2
- package/dist/automation.d.ts +2 -2
- package/dist/automation.js +1 -1
- package/dist/binding.cjs +1 -1
- package/dist/binding.d.cts +2 -2
- package/dist/binding.d.ts +2 -2
- package/dist/binding.js +1 -1
- package/dist/chunk-2H6LCX4H.js +10 -0
- package/dist/chunk-5LFOW7UO.cjs +1 -0
- package/dist/chunk-AMLGAD5Q.js +5 -0
- package/dist/chunk-G5D7EXZD.js +2 -0
- package/dist/chunk-G7Y6EPB2.cjs +12 -0
- package/dist/chunk-J6743NQP.cjs +5 -0
- package/dist/chunk-JQSVJSR7.js +12 -0
- package/dist/chunk-LD4YWMBO.cjs +12 -0
- package/dist/chunk-LKWSYFJQ.js +12 -0
- package/dist/chunk-QONAJ66B.cjs +10 -0
- package/dist/chunk-TDYP32AL.cjs +2 -0
- package/dist/chunk-UKI45YR7.cjs +2 -0
- package/dist/chunk-XIKXGERI.js +2 -0
- package/dist/chunk-YTRVI333.js +1 -0
- package/dist/contracts/editor.d.cts +2 -2
- package/dist/contracts/editor.d.ts +2 -2
- package/dist/contracts/interaction.d.cts +2 -2
- package/dist/contracts/interaction.d.ts +2 -2
- package/dist/{editor-25RmHnxu.d.cts → editor-BXstgYTp.d.cts} +1 -1
- package/dist/{editor-C8oaTHr3.d.ts → editor-BajbOumY.d.ts} +1 -1
- package/dist/editor.cjs +1 -1
- package/dist/editor.css +2 -0
- package/dist/editor.d.cts +9 -9
- package/dist/editor.d.ts +9 -9
- package/dist/editor.js +1 -1
- package/dist/{index-Beyo2mTa.d.cts → index-D67PwDZQ.d.cts} +5 -5
- package/dist/{index-BWiuzoVN.d.ts → index-DaJ8nU56.d.ts} +5 -5
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.d.cts +16 -6
- package/dist/layout.d.ts +16 -6
- package/dist/layout.js +1 -1
- package/dist/output.cjs +1 -1
- package/dist/output.js +1 -1
- package/dist/{protocol-FAz_nPm_.d.cts → protocol-DAs0YOP3.d.cts} +62 -3
- package/dist/{protocol-BWVA3Q1p.d.ts → protocol-r6hje8Kf.d.ts} +62 -3
- package/dist/{review-reads-D3r3tnoo.d.cts → review-reads-JBOmRH--.d.cts} +8 -1
- package/dist/{review-reads-CMAqdMnE.d.ts → review-reads-cgvJLJc2.d.ts} +8 -1
- package/dist/{semantic-cell-selection-CI3loBKq.d.cts → semantic-cell-selection-9vfCLkd4.d.cts} +1 -1
- package/dist/{semantic-cell-selection-Cx8P64j2.d.ts → semantic-cell-selection-bA5HTLkV.d.ts} +1 -1
- package/dist/{semantic-interaction-B4HrJFQ2.d.cts → semantic-interaction-BG0jWJ0I.d.cts} +4 -36
- package/dist/{semantic-interaction-unGpRNCk.d.ts → semantic-interaction-lHDX4yIt.d.ts} +4 -36
- package/dist/store.cjs +1 -1
- package/dist/store.d.cts +33 -25
- package/dist/store.d.ts +33 -25
- package/dist/store.js +1 -1
- package/dist/{tree-session-CMA7n4Rm.d.ts → tree-session-COduYhKr.d.ts} +14 -2
- package/dist/{tree-session-Cow6LjPn.d.cts → tree-session-ZpXtFxlP.d.cts} +14 -2
- package/package.json +2 -2
- package/dist/chunk-2QPRJAHK.js +0 -5
- package/dist/chunk-3JENXX7Q.cjs +0 -2
- package/dist/chunk-5WEA7SIG.cjs +0 -12
- package/dist/chunk-73X5I53C.cjs +0 -2
- package/dist/chunk-7D2CP2J7.js +0 -2
- package/dist/chunk-C3YJR64Q.cjs +0 -5
- package/dist/chunk-EWRKYYUA.js +0 -12
- package/dist/chunk-GLHPDILJ.cjs +0 -1
- package/dist/chunk-PD4BVZW5.js +0 -12
- package/dist/chunk-PEIEVTWR.js +0 -2
- package/dist/chunk-QIFQTG57.cjs +0 -10
- package/dist/chunk-RFO2O56I.js +0 -10
- package/dist/chunk-SAUKKJWZ.cjs +0 -12
- package/dist/chunk-WKZR6YPE.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkQONAJ66B_cjs=require('./chunk-QONAJ66B.cjs');var Ht=Object.freeze(["default","first","even"]),dt=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 qe(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 qo=["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"],Gn=["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"],Jn=["deleteNote","insertComment","setCommentResolved","replyToComment","insertCustomNode"],Qn=new Set(Jn);function Yt(n){return Qn.has(n.op)}var Zn=new Set(Gn);function Gt(n){return Zn.has(n.op)}function qn(){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 a=e.call(n,new Uint8Array(16)),s="";for(let l of a)s+=l.toString(16).padStart(2,"0");return s}function to(n){return typeof n=="object"&&n!==null&&"kind"in n&&"ref"in n}function tn(){let n=new Map,e=new Map,a=new Map,s=new Map,l=qn(),u=null,f=(m,g)=>{let A=(s.get(m)??0)+1;s.set(m,A);let y=`${m}:${l}:${String(A)}`;return n.set(y,g),Object.freeze({kind:m,ref:y})},k=(m,g,A)=>{let y=`${m}\0${g}`,S=a.get(y);if(S)return Object.freeze({kind:m,ref:S});let v=f(m,A);return a.set(y,v.ref),v};return {document(){return u??=f("document",{kind:"document"}),u},body(m){return k("body",B(m),{kind:"body",story:m})},paragraph(m,g){let A=e.get(m);if(A)return Object.freeze({kind:"paragraph",ref:A});let y=f("paragraph",{kind:"paragraph",paragraphId:m,story:g});return e.set(m,y.ref),y},section(m){return k("section",String(m),{kind:"section",index:m})},note(m,g){return k("note",`${m}:${String(g)}`,{kind:"note",noteKind:m,noteId:g})},comment(m,g){return k("comment",`${B(g)}\0${m}`,{kind:"comment",commentId:m,story:g})},revision(m,g){return k("revision",`${B(g)}\0${m}`,{kind:"revision",revisionId:m,story:g})},bookmark(m,g){return k("bookmark",`${B(g)}\0${m}`,{kind:"bookmark",name:m,story:g})},list(m,g){return k("list",`${B(g)}\0${m}`,{kind:"list",numId:m,story:g})},contentControl(m,g){return k("contentControl",`${B(g)}\0${m}`,{kind:"contentControl",nodeId:m,story:g})},retarget(m,g){let A=e.get(m);if(!A||m===g)return;let y=n.get(A);!y||y.kind!=="paragraph"||(e.delete(m),n.set(A,{kind:"paragraph",paragraphId:g,story:y.story}),e.has(g)||e.set(g,A));},resolve(m,g){if(!to(m)||m.kind!==g||typeof m.ref!="string")return null;let A=n.get(m.ref);return !A||A.kind!==g?null:A}}}var eo=255,no=Object.freeze({nameOf:()=>null,idOf:()=>null,defaultId:null,present:false});function en(n){let e=chunkQONAJ66B_cjs.Hc(n);if(!e)return no;let a=new Map,s=new Map,l=null;for(let u of chunkQONAJ66B_cjs.Gc(e).values())if(u.type==="paragraph"){if(a.set(u.styleId,u.name),u.name!==null){let f=u.name.trim().toLowerCase();s.has(f)||s.set(f,u.styleId);}u.isDefault&&l===null&&(l=u.styleId);}return Object.freeze({nameOf:u=>a.get(u)??null,idOf:u=>s.get(u.trim().toLowerCase())??null,defaultId:l,present:true})}function Lt(n,e,a){let s=chunkQONAJ66B_cjs.Ea(n,e);if(!s||s.kind!=="paragraph")return null;let l=oo(chunkQONAJ66B_cjs.Md(chunkQONAJ66B_cjs.Kd(s),"pStyle"));return l!==null?a.nameOf(l):a.defaultId===null?null:a.nameOf(a.defaultId)}function oo(n){if(!n)return null;for(let e of n.attributes)if(e.localName==="val")return e.value;return null}function Mt(n,e){if(typeof n!="string"||n.trim().length===0)return {ok:false,detail:"style: not a name"};if(n.length>eo)return {ok:false,detail:"style: name too long"};if(!chunkQONAJ66B_cjs.W(n))return {ok:false,detail:"style: not valid XML text"};if(!e.present)return {ok:false,detail:"style: this document defines no styles"};let a=e.idOf(n);return a===null?{ok:false,detail:"style: this document defines no paragraph style with that name"}:{ok:true,styleId:a}}var on=20,ro=31680,ao=1999,so=Object.freeze({bold:null,italic:null,name:null,size:null,color:null});function U(n,e){if(!n)return null;for(let a of n.attributes)if(a.localName===e)return a.value;return null}function Jt(n){if(!n)return null;let e=U(n,"val");if(e===null)return true;let a=e.trim().toLowerCase();return !(a==="0"||a==="false"||a==="off"||a==="none")}function io(n){if(n===null)return null;let e=n.trim();return /^[0-9a-fA-F]{6}$/.test(e)?`#${e.toUpperCase()}`:null}function lo(n){if(n===null)return null;let e=Number(n.trim());return !Number.isFinite(e)||e<=0?null:e/2}function ct(n){if(n===null)return null;let e=Number(n.trim());return Number.isFinite(e)?e/on:null}function St(n){if(n.length===0)return null;let e=n[0];if(e===null)return null;for(let a of n)if(a!==e)return null;return e}function rn(n,e){let a=[];for(let s of e)for(let l of chunkQONAJ66B_cjs.fg(n,s.paragraphId,s.start,s.end))a.push(chunkQONAJ66B_cjs.Ld(l));return a.length===0?so:{bold:St(a.map(s=>Jt(chunkQONAJ66B_cjs.Md(s,"b")))),italic:St(a.map(s=>Jt(chunkQONAJ66B_cjs.Md(s,"i")))),name:St(a.map(s=>{let l=chunkQONAJ66B_cjs.Md(s,"rFonts"),u=U(l,"ascii");return u===null||u.length===0?null:u})),size:St(a.map(s=>lo(U(chunkQONAJ66B_cjs.Md(s,"sz"),"val")))),color:St(a.map(s=>io(U(chunkQONAJ66B_cjs.Md(s,"color"),"val"))))}}var uo=Object.freeze({left:"Left",start:"Left",center:"Centered",right:"Right",end:"Right",both:"Justified",distribute:"Justified"}),co=Object.freeze({Left:"left",Centered:"center",Right:"right",Justified:"both"});function po(n){let e=U(chunkQONAJ66B_cjs.Md(n,"jc"),"val");return e===null?"Unknown":uo[e.trim().toLowerCase()]??"Unknown"}function an(n,e,a){let s=chunkQONAJ66B_cjs.Ea(n,e);if(!s||s.kind!=="paragraph")return null;let l=chunkQONAJ66B_cjs.Kd(s),u=chunkQONAJ66B_cjs.Md(l,"spacing"),f=chunkQONAJ66B_cjs.Md(l,"ind");return {alignment:po(l),style:Lt(n,e,a),firstLineIndent:mo(f),leftIndent:ct(U(f,"left")??U(f,"start")),rightIndent:ct(U(f,"right")??U(f,"end")),lineSpacing:ct(U(u,"line")),spaceBefore:ct(U(u,"before")),spaceAfter:ct(U(u,"after")),widowControl:Jt(chunkQONAJ66B_cjs.Md(l,"widowControl"))}}function mo(n){let e=ct(U(n,"firstLine"));if(e!==null)return e;let a=ct(U(n,"hanging"));return a===null?null:-a}function Et(n,e){if(typeof n!="number"||!Number.isFinite(n))return {ok:false,detail:`${e}: not a measurement`};let a=Math.round(n*on);return Math.abs(a)>ro?{ok:false,detail:`${e}: out of range`}:{ok:true,value:a}}function sn(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 a=n.name;if(typeof a!="string"||a.length===0||a.length>128)return {ok:false,detail:"name: not a font name"};if(!chunkQONAJ66B_cjs.W(a))return {ok:false,detail:"name: not valid XML text"};e.push({localName:"rFonts",attributes:{ascii:a,hAnsi:a,cs:a}});}if(n.size!==void 0){let a=n.size;if(typeof a!="number"||!Number.isFinite(a)||a<=0)return {ok:false,detail:"size: not a positive number of points"};let s=Math.round(a*2);if(s<1||s>ao)return {ok:false,detail:"size: out of range"};e.push({localName:"sz",attributes:{val:String(s)}}),e.push({localName:"szCs",attributes:{val:String(s)}});}if(n.color!==void 0){let a=n.color;if(typeof a!="string"||!/^#[0-9a-fA-F]{6}$/.test(a.trim()))return {ok:false,detail:"color: not a #RRGGBB triplet"};e.push({localName:"color",attributes:{val:a.trim().slice(1).toUpperCase()}});}return e.length===0?{ok:false,detail:"no formatting was asked for"}:{ok:true,value:e}}function dn(n,e,a,s){let l=chunkQONAJ66B_cjs.Ea(n,e);if(!l||l.kind!=="paragraph")return {ok:false,detail:"not a paragraph"};let u=chunkQONAJ66B_cjs.Kd(l),f=[];if(a.style!==void 0){let v=Mt(a.style,s);if(!v.ok)return {ok:false,detail:v.detail};f.push({localName:"pStyle",attributes:{val:v.styleId}});}if(a.alignment!==void 0){let v=co[a.alignment];if(v===void 0)return {ok:false,detail:`alignment: ${String(a.alignment)}`};f.push({localName:"jc",attributes:{val:v}});}let k=chunkQONAJ66B_cjs.Md(u,"ind"),m=nn(k),g=false;if(a.firstLineIndent!==void 0){let v=Et(a.firstLineIndent,"firstLineIndent");if(!v.ok)return v;delete m.firstLine,delete m.hanging,v.value<0?m.hanging=String(-v.value):m.firstLine=String(v.value),g=true;}for(let[v,T,O]of [["leftIndent","left","start"],["rightIndent","right","end"]]){let H=a[v];if(H===void 0)continue;let M=Et(H,v);if(!M.ok)return M;delete m[O],m[T]=String(M.value),g=true;}g&&f.push({localName:"ind",attributes:m});let A=chunkQONAJ66B_cjs.Md(u,"spacing"),y=nn(A),S=false;for(let[v,T]of [["spaceBefore","before"],["spaceAfter","after"]]){let O=a[v];if(O===void 0)continue;let H=Et(O,v);if(!H.ok)return H;if(H.value<0)return {ok:false,detail:`${v}: out of range`};y[T]=String(H.value),S=true;}if(a.lineSpacing!==void 0){let v=Et(a.lineSpacing,"lineSpacing");if(!v.ok)return v;if(v.value<=0)return {ok:false,detail:"lineSpacing: out of range"};y.line=String(v.value),y.lineRule??="auto",S=true;}if(S&&f.push({localName:"spacing",attributes:y}),a.widowControl!==void 0){if(typeof a.widowControl!="boolean")return {ok:false,detail:"widowControl: not a boolean"};f.push({localName:"widowControl",...a.widowControl?{}:{attributes:{val:"0"}}});}return f.length===0?{ok:false,detail:"no formatting was asked for"}:{ok:true,value:chunkQONAJ66B_cjs.bg(chunkQONAJ66B_cjs.$f(n,e),f)}}function nn(n){let e=Object.create(null);if(!n)return e;for(let a of n.attributes)e[a.localName]=a.value;return e}function ln(){let n=false,e=false,a=false;return {conflict(s){let l=Gt(s),u=Yt(s),f=s.op==="deleteComment";return u&&n||e&&l?{message:"that command commits on its own and cannot share a batch",detail:s.op}:f&&n&&!a||a&&l&&!f?{message:"comment deletions may share a batch only with other comment deletions",detail:s.op}:null},note(s){Gt(s)&&(n=true,Yt(s)&&(e=true),s.op==="deleteComment"&&(a=true));},get hasCommands(){return n}}}var un=20,fo=63360;function st(n){return Math.round(n/un*100)/100}function go(n,e){if(typeof n!="number"||!Number.isFinite(n))return null;let a=Math.round(n*un);return a>fo||a<0||a===0&&!e?null:a}var yo=[["pageWidth","pageWidthTwips",false],["pageHeight","pageHeightTwips",false],["topMargin","marginTopTwips",true],["rightMargin","marginRightTwips",true],["bottomMargin","marginBottomTwips",true],["leftMargin","marginLeftTwips",true]];function cn(n){if(typeof n!="object"||n===null)return {ok:false,reason:"that is not a page setup",detail:"not-an-object"};let e=n,a={},s=0;for(let[u,f,k]of yo){let m=e[u];if(m===void 0)continue;let g=go(m,k);if(g===null)return {ok:false,reason:`that is not a value for ${u}`,detail:String(m)};a[f]=g,s+=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)};a.orientation=l,s+=1;}return s===0?{ok:false,reason:"that page setup names nothing to write",detail:"empty"}:{ok:true,value:a}}function ho(n){let e=chunkQONAJ66B_cjs.jf(n),a=e.widthTwips>e.heightTwips?"landscape":"portrait";return Object.freeze({pageWidth:st(e.widthTwips),pageHeight:st(e.heightTwips),orientation:a,topMargin:st(e.topTwips),rightMargin:st(e.rightTwips),bottomMargin:st(e.bottomTwips),leftMargin:st(e.leftTwips),headerDistance:st(e.headerTwips),footerDistance:st(e.footerTwips),gutter:st(e.gutterTwips)})}function ko(n,e){if(!e)return null;let a=null,s=(l,u,f)=>{if(a!==null||l.kind==="textValue"||f>64)return;let k=l.kind==="paragraph"?l.id:u;if(l.id===e.id){a=k;return}for(let m of l.children)s(m,k,f+1);};return s(n.root,null,0),a}function pn(n,e,a){let s=chunkQONAJ66B_cjs.Sb(e.root);return Object.freeze(s.map((l,u)=>{let f=a[u];return Object.freeze({index:u,markParagraphId:ko(e,l),pageSetup:ho(l),titlePage:f?.titlePage??false,evenAndOddHeaders:f?.evenAndOddHeaders??false})}))}var Zt="\r",Ao=Object.freeze({nameOf:()=>null,idOf:()=>null,defaultId:null,present:false}),vo=Object.freeze([]),bo=Object.freeze([]),mn=Object.freeze([]),Io=Object.freeze({package:null,body:null,story:()=>null,storyOf:()=>null,sections:()=>bo,furniture:()=>mn,noteIds:()=>Object.freeze([]),styles:()=>Ao});function xo(n){return n.kind==="textValue"?vo:Object.freeze(n.children.filter(e=>e.kind!=="textValue").map(e=>{let a=[];chunkQONAJ66B_cjs.Ce([e],a,0);let s=e.kind==="paragraph"?"paragraph":e.kind==="table"?"table":"other",l=e.kind==="paragraph"&&chunkQONAJ66B_cjs.Md(chunkQONAJ66B_cjs.Kd(e),"sectPr")!==void 0;return Object.freeze({id:e.id,kind:s,paragraphIds:Object.freeze(a.map(u=>u.id)),removable:s!=="other"&&!l})}))}function Qt(n,e,a,s,l){let u=chunkQONAJ66B_cjs.Be(s),f=Object.freeze(u.map(y=>y.id)),k=new Map,m=new Map;u.forEach((y,S)=>{k.set(y.id,S),m.set(y.id,y);});let g=new Map,A=y=>{if(!k.has(y))return null;let S=g.get(y);if(S!==void 0)return S;let v=chunkQONAJ66B_cjs.Af(e,y)??"";return g.set(y,v),v};return {story:n,part:e,root:s,scope:a,paragraphIds:f,blocks:xo(s),has:y=>k.has(y),indexOf:y=>k.get(y)??-1,paragraph(y){let S=m.get(y);return S?{nodeId:y,paraId:chunkQONAJ66B_cjs.Kc(S),text:A(y)??""}:null},node:y=>m.get(y)??null,paragraphText:A,text:()=>f.map(y=>A(y)??"").join(Zt),styles:l}}function fn(n){let e=n.parts.get(n.mainDocumentPart);if(!e)return Io;let a,s=()=>a??=en(n),l,u=()=>l??=chunkQONAJ66B_cjs.Tb(n),f,k=new Map,m=v=>{let T=u()[v.sectionIndex];return T?(v.kind==="header"?T.headers:T.footers).get(v.variant)??null:null},g=v=>{if(v.kind==="body"){let O=chunkQONAJ66B_cjs.Ae(e);return O?Qt(v,e,{kind:"body"},O,s):null}if(v.kind==="note"){let O=chunkQONAJ66B_cjs.Ud(n,v.noteKind);if(!O)return null;let H=chunkQONAJ66B_cjs.wd(O.root,v.noteId);return !H||!chunkQONAJ66B_cjs.md(H)?null:Qt(v,O,{kind:"notesPart",noteKind:v.noteKind},H,s)}let T=m(v);return T?Qt(v,T.part,{kind:"headerFooter",rId:T.rId},T.part.root,s):null},A=v=>{let T=B(v);if(k.has(T))return k.get(T)??null;let O=g(v);return k.set(T,O),O},y=v=>{if(A(dt)?.has(v))return dt;for(let[O]of u().entries())for(let H of ["header","footer"])for(let M of Ht){let K={kind:H,sectionIndex:O,variant:M};if(A(K)?.has(v))return K}for(let O of ["footnote","endnote"])for(let H of S(O)){let M={kind:"note",noteKind:O,noteId:H};if(A(M)?.has(v))return M}return null},S=v=>{let T=chunkQONAJ66B_cjs.Ud(n,v);if(!T)return So;let O=[];for(let H of chunkQONAJ66B_cjs.vd(T.root)){if(!chunkQONAJ66B_cjs.md(H))continue;let M=chunkQONAJ66B_cjs.kd(H);M!==null&&O.push(M);}return Object.freeze(O)};return {package:n,get body(){return A(dt)},story:A,storyOf:y,sections:()=>f??=pn(n,e,u()),furniture(v){let T=u()[v];if(!T)return mn;let O=[];for(let H of ["header","footer"]){let M=H==="header"?T.headers:T.footers;for(let K of Ht){let Z=M.get(K);Z&&O.push(Object.freeze({kind:H,variant:K,declared:!Z.inherited}));}}return Object.freeze(O)},noteIds:S,styles:s}}var So=Object.freeze([]);function tt(n,e){return {ok:false,code:n,detail:e}}function et(n){return {ok:true,value:n}}function $(n,e,a,s){let l=a.resolve(n,e);if(!l||l.kind!=="body"&&l.kind!=="paragraph")return tt("invalid-handle",`not-a-${e}-handle`);let u=s.story(l.story);return u?et(u):tt("invalid-handle",`no-such-story:${B(l.story)}`)}function Y(n,e,a){let s=e.resolve(n,"paragraph");if(!s||s.kind!=="paragraph")return tt("invalid-handle","not-a-paragraph-handle");let l=a.story(s.story);if(!l)return tt("invalid-handle",`no-such-story:${B(s.story)}`);let u=l.indexOf(s.paragraphId);return u<0?tt("invalid-handle","paragraph-not-in-body"):et({story:s.story,paragraphId:s.paragraphId,index:u,offset:0})}function Ro(n,e,a){let s=Y(n.paragraph,e,a);if(!s.ok)return s;let u=(a.story(s.value.story)?.paragraphText(s.value.paragraphId)??"").length,{offset:f}=n;return !Number.isInteger(f)||f<0||f>u?tt("invalid-offset",`offset ${String(f)} outside 0..${String(u)}`):et({...s.value,offset:f})}function ft(n,e,a){if("paragraph"in n){if(!("at"in n))return Ro(n,e,a);let k=Y(n.paragraph,e,a);if(!k.ok||n.at==="start")return k;let g=(a.story(k.value.story)?.paragraphText(k.value.paragraphId)??"").length;return et({...k.value,offset:g})}let s=$(n.body,"body",e,a);if(!s.ok)return s;let l=s.value.paragraphIds;if(l.length===0)return tt("invalid-offset","empty-story");if(n.at==="start")return et({story:s.value.story,paragraphId:l[0],index:0,offset:0});let u=l.length-1,f=l[u];return et({story:s.value.story,paragraphId:f,index:u,offset:(s.value.paragraphText(f)??"").length})}function Co(n,e){return n.index<e.index||n.index===e.index&&n.offset<=e.offset}function Oo(n){let e=n.paragraphIds;if(e.length===0)return null;let a=e.length-1,s=e[a];return {start:{story:n.story,paragraphId:e[0],index:0,offset:0},end:{story:n.story,paragraphId:s,index:a,offset:(n.paragraphText(s)??"").length}}}function j(n,e,a){if("body"in n){let u=$(n.body,"body",e,a);return u.ok?et(Oo(u.value)):u}if("paragraph"in n){let u=Y(n.paragraph,e,a);if(!u.ok)return u;let k=(a.story(u.value.story)?.paragraphText(u.value.paragraphId)??"").length;return et({start:u.value,end:{...u.value,offset:k}})}let s=ft(n.start,e,a);if(!s.ok)return s;let l=ft(n.end,e,a);return l.ok?B(s.value.story)!==B(l.value.story)?tt("invalid-handle","span-crosses-stories"):Co(s.value,l.value)?et({start:s.value,end:l.value}):tt("invalid-offset","span-start-after-end"):l}function J(n,e,a){if("body"in n)return $(n.body,"body",e,a);if("paragraph"in n)return $(n.paragraph,"paragraph",e,a);let s=n.start;return "paragraph"in s?$(s.paragraph,"paragraph",e,a):$(s.body,"body",e,a)}function Bt(n,e,a){if("paragraph"in n)return Y(n.paragraph,e,a);let s=$(n.body,"body",e,a);if(!s.ok)return s;let l=s.value.paragraphIds;if(l.length===0)return tt("invalid-offset","empty-story");let u=n.at==="first"?0:l.length-1;return et({story:s.value.story,paragraphId:l[u],index:u,offset:0})}function nt(n,e){return n?e.paragraphIds.slice(n.start.index,n.end.index+1):[]}function qt(n,e){if(!n)return [];let a=nt(n,e),s=a.length-1;return a.map((l,u)=>{let f=(e.paragraphText(l)??"").length,k=u===0?n.start.offset:0,m=u===s?n.end.offset:f;return {paragraphId:l,start:k,end:m,whole:k===0&&m===f}})}function gn(n,e,a){if(!n)return "";let s=nt(n,e);return s.length===1?(e.paragraphText(n.start.paragraphId)??"").slice(n.start.offset,n.end.offset):s.map((l,u)=>{let f=e.paragraphText(l)??"";return u===0?f.slice(n.start.offset):u===s.length-1?f.slice(0,n.end.offset):f}).join(a)}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 Po=256,yn=1e4;function ee(n,e){if(n.kind!=="textValue"){for(let a of n.attributes)if(a.namespaceUri===chunkQONAJ66B_cjs.la&&a.localName===e)return a.value}}function wo(n){return n.startsWith("_")}function ne(n){let e=new Map,a=[],s=new Set;for(let l of n.paragraphIds){let u=n.node(l);if(u?.kind!=="paragraph")continue;let f=chunkQONAJ66B_cjs.Od(u),k=m=>{if(m.kind!=="textValue"){if(m.kind==="bookmarkStart"){if(a.length>=yn||e.size>=yn)return;let g=ee(m,"id"),A=ee(m,"name");if(g===void 0||A===void 0||A.length===0||A.length>Po||wo(A)||s.has(A)||e.has(g))return;let y=f.spanOf(m)?.start??0;e.set(g,{name:A,start:{paragraphId:l,offset:y}});return}if(m.kind==="bookmarkEnd"){let g=ee(m,"id");if(g===void 0)return;let A=e.get(g);if(!A)return;e.delete(g),s.add(A.name);let y=f.spanOf(m)?.start??0;a.push(Object.freeze({name:A.name,start:A.start,end:{paragraphId:l,offset:y}}));return}for(let g of m.children)k(g);}};for(let m of u.children)k(m);}return Object.freeze(a)}function oe(n,e){return ne(n).find(a=>a.name===e)??null}function hn(n,e){let a=n.node(e);if(a?.kind!=="paragraph")return Object.freeze([]);let s=chunkQONAJ66B_cjs.Od(a),l=[],u=(f,k)=>{if(!(f.kind==="textValue"||k>32)){if(chunkQONAJ66B_cjs.Qa(f)){let m=s.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 a.children)u(f,0);return Object.freeze(l)}function kn(n,e,a){let s=chunkQONAJ66B_cjs.Ta(a,l=>chunkQONAJ66B_cjs.Tc(n,e,l));if(s.kind==="external")return s.href;if(s.kind==="internal"){let l=chunkQONAJ66B_cjs.Ra(a);return l===void 0||l.length===0?null:`#${l}`}return null}var gt=8;function An(n){if(!n||n.kind==="textValue")return null;for(let e of n.attributes)if(e.namespaceUri===chunkQONAJ66B_cjs.la&&e.localName==="val")return e.value;return null}function vn(n){let e=chunkQONAJ66B_cjs.Md(chunkQONAJ66B_cjs.Kd(n),"numPr");if(!e)return null;let a=An(chunkQONAJ66B_cjs.Md(e,"numId"));if(a===null||!/^\d{1,10}$/.test(a)||a==="0")return null;let s=An(chunkQONAJ66B_cjs.Md(e,"ilvl")),l=s===null?0:Number(s);return !Number.isInteger(l)||l<0||l>gt?null:{numId:a,level:l}}function _t(n){let e=new Map;for(let a of n.paragraphIds){let s=n.node(a);if(!s)continue;let l=vn(s);if(!l)continue;let u=e.get(l.numId);u?u.push(a):e.set(l.numId,[a]);}return Object.freeze([...e].map(([a,s])=>Object.freeze({numId:a,paragraphIds:Object.freeze(s)})))}function Rt(n,e){let a=n.node(e);return a?vn(a):null}var To={insert:"Insert",delete:"Delete",replace:"Replace",moveFrom:"MovedFrom",moveTo:"MovedTo",format:"Property",paragraphMark:"ParagraphProperty"};function No(n){return n.kind==="note"}function Ho(n,e){return e.length===0?!No(n.story):e.every(a=>n.has(a.start.paragraphId))}function re(n){let e=[];for(let a of chunkQONAJ66B_cjs.kg(n.part)){if(a.readOnly||a.revisionKind==="structural"||!Ho(n,a.ranges))continue;let s=To[a.revisionKind];s!==void 0&&e.push(Object.freeze({id:a.id,type:s,author:a.author,date:a.date??"",item:a}));}return Object.freeze(e)}function Lo(n,e){let a=n;for(let s=0;a!==void 0&&s<=64;s+=1){if(a.parentId===void 0)return a.range!==null;a=e.get(a.parentId);}return false}var Mo=Object.freeze({items:Object.freeze([]),roots:Object.freeze([]),byId:()=>null,textOf:()=>""});function bn(n,e){let a=n.parts.get(chunkQONAJ66B_cjs.Nf(n,e.part.name));if(!a)return Mo;let s=n.parts.get(chunkQONAJ66B_cjs.Of(n,e.part.name)),l=chunkQONAJ66B_cjs.Fe(a),u=s?chunkQONAJ66B_cjs.Ge(s):new Map,f=chunkQONAJ66B_cjs.Ee(e.part).filter(y=>e.has(y.start.paragraphId)),k=chunkQONAJ66B_cjs.lg(l,f,u),m=new Map(k.map(y=>[y.id,y])),g=k.filter(y=>Lo(y,m)),A=new Map(g.map(y=>[y.id,y]));return Object.freeze({items:Object.freeze(g),roots:Object.freeze(g.filter(y=>y.parentId===void 0)),byId:y=>A.get(y)??null,textOf:y=>{let S=A.get(y);return S?chunkQONAJ66B_cjs.ig(S.comment):""}})}var Eo=/[\r\n\u2028\u2029]/u,xn=Object.freeze({kind:"applied"});function yt(n,e,a){return {ok:false,error:Object.freeze(a===void 0?{code:n,message:e}:{code:n,message:e,detail:a})}}function ae(n,e){return yt("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 chunkQONAJ66B_cjs.Gf(n.author)?ae("author",n.kind):chunkQONAJ66B_cjs.Hf(n.text)?ae("text",n.kind):typeof n.text=="string"&&Eo.test(n.text)?yt("unsupported-content",n.kind==="reply"?"a reply is one paragraph in this slice":"a comment is one paragraph in this slice","text"):chunkQONAJ66B_cjs.Jf(n.date)?ae("date",n.kind):null}function ie(n){if(n===void 0)return;let e=chunkQONAJ66B_cjs.If(n);return e.ok?e.value:void 0}function In(n,e){let a=chunkQONAJ66B_cjs.Ea(n.part,e);for(;a;){if(a.kind==="tableCell"||a.kind!=="textValue"&&a.namespaceUri===chunkQONAJ66B_cjs.la&&a.localName==="tc")return a.id;a=chunkQONAJ66B_cjs.Fa(n.part,a.id);}return null}function Sn(n,e,a,s){let l=se({author:n.author,text:n.text,date:n.date,kind:"comment"});if(l)return l;let u=j(n.span,e,a);if(!u.ok)return yt(u.code,"that span is not a place",u.detail);if(u.value===null)return yt("invalid-handle","an empty story has no comment anchor");let f=J(n.span,e,a);if(!f.ok)return yt(f.code,"that span is not a place",f.detail);let k=u.value;if(In(f.value,k.start.paragraphId)!==In(f.value,k.end.paragraphId))return yt("unsupported-content","a comment range cannot cross a table-cell boundary");let m=s(f.value);if(m)return m;let g=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,...g===void 0?{}:{date:g}},story:f.value.story,answer:(y,S)=>S===void 0?xn:{kind:"handle",handle:e.comment(S,f.value.story)}}}function Rn(n,e,a){let s=a(e);if(s)return s;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:()=>xn}}var Bo=1e4;function Cn(n,e){let a=[],s=e.kind==="contentControl"?chunkQONAJ66B_cjs.le(e):e;if(!s)return a;for(let l of chunkQONAJ66B_cjs.pe(s))if(!(l.ancestors.length>0)){if(a.length>=Bo)break;a.push(Tn(n,l.node));}return a}function On(n,e){for(let a of chunkQONAJ66B_cjs.pe(n.root))if(a.node.id===e)return Tn(n,a.node);return null}function Pn(n,e){for(let a of chunkQONAJ66B_cjs.pe(n.root))if(a.node.id===e)return a.node;return null}function de(n,e){let a=Nn(e);if(a.length>0){let s=a[0],l=a[a.length-1],u=n.paragraphText(l);return u===null||!n.has(s)?null:{start:{paragraphId:s,offset:0},end:{paragraphId:l,offset:u.length}}}for(let s of n.paragraphIds){let l=n.node(s);if(!l||l.kind!=="paragraph"||!l.children.some(f=>f.id===e.id))continue;let u=chunkQONAJ66B_cjs.Od(l).spanOf(e);return u?{start:{paragraphId:s,offset:u.start},end:{paragraphId:s,offset:u.end}}:null}return null}function wn(n){return chunkQONAJ66B_cjs.re(n)}function Tn(n,e){return {nodeId:e.id,properties:chunkQONAJ66B_cjs.ne(e),lock:chunkQONAJ66B_cjs.Bf(n.part,e.id),paragraphIds:Nn(e)}}function Nn(n){let e=chunkQONAJ66B_cjs.le(n);if(!e)return [];let a=[];return chunkQONAJ66B_cjs.Ce(e.children,a,0),a.map(s=>s.id)}var _o=new Set(["unlocked","sdtLocked","contentLocked","sdtContentLocked"]),Fo=4096,Hn=64;function Ln(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 a of ["namespaceUri","rootLocalName","nodeId"]){let s=e[a];if(typeof s!="string"||s.length===0||s.length>Fo)return {ok:false,field:a}}return typeof e.label!="string"||e.label.length>chunkQONAJ66B_cjs.Qf?{ok:false,field:"label"}:typeof e.data!="string"||e.data.length===0||e.data.length>chunkQONAJ66B_cjs.Pf?{ok:false,field:"data"}:{ok:true,value:{namespaceUri:e.namespaceUri,rootLocalName:e.rootLocalName,nodeId:e.nodeId,label:e.label,data:e.data}}}function Mn(n){let e=n.at!==void 0,a=n.span!==void 0;return e===a?{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>Hn?{message:`w:tag caps at ${String(Hn)} 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&&!_o.has(n.lock)?{message:"that is not a lock",detail:String(n.lock)}:null}function En(n,e,a,s){return {paragraphId:e.paragraphId,offset:e.offset,...a.offset>e.offset?{replaceUntil:a.offset}:{},tag:n.tag,text:n.text,...n.title===void 0?{}:{alias:n.title},...n.lock===void 0||n.lock==="unlocked"?{}:{lock:n.lock},...s===null?{}:{payload:s}}}function Bn(n,e,a){if(n.span){let l=j(n.span,e,a);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 s=ft(n.at,e,a);return s.ok?{range:{start:s.value,end:s.value}}:{code:s.code,message:"that is not a place",detail:s.detail}}var Ft=/[\r\n\v\f\u2028\u2029]/,jo=16,Wo=64,_n=/\s/;function Ko(n,e,a){return Object.freeze(a===void 0?{code:n,message:e}:{code:n,message:e,detail:a})}function d(n,e,a){return {ok:false,error:Ko(n,e,a)}}var _=Object.freeze({kind:"applied"});function I(n){return {ok:true,kind:"query",value:n}}function Fn(n){let e=n.kind==="contentControl"?chunkQONAJ66B_cjs.le(n):n;return e?chunkQONAJ66B_cjs.pe(e).map(a=>a.node):[]}var zo=new Set(["unlocked","sdtLocked","contentLocked","sdtContentLocked"]),Do=new Set(["whole","content","start","end","before","after"]),Vo=new Set(["richText","plainText","dropDownList","comboBox","date"]),$o=4096;function Uo(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 a=n,s=a.kind;if(s==="text"||s==="listItem"){let l=s==="text"?a.text:a.value;return typeof l!="string"?e("that value is not a string",String(s)):l.length>$o?e("that value is too long",String(l.length)):{ok:true,value:s==="text"?{kind:"text",text:l}:{kind:"listItem",value:l}}}if(s==="checkbox"){let l=a.checked;return typeof l!="boolean"?e("a checkbox is checked or not","checked"):{ok:true,value:{kind:"checkbox",checked:l}}}if(s==="date"){let l=a.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(s))}function Xo(n,e){let a=[],s=0;for(;s<n.length;){let l=null;for(let u of e){let f=n.indexOf(u,s);f<0||(!l||f<l.start||f===l.start&&u.length>l.length)&&(l={start:f,length:u.length});}if(!l)break;a.push(l),s=l.start+l.length;}return a}function Yo(n,e,a){let s=e[a]?.markParagraphId??null;if(s!==null)return s;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 Go(n,e){for(let a of [n.start,n.end]){let s=e.paragraphText(a.paragraphId);if(s===null||a.offset>s.length)return false}return true}function Jo(n,e,a){let s=e,l=a;for(;s<l&&_n.test(n[s]);)s+=1;for(;l>s&&_n.test(n[l-1]);)l-=1;return [s,l]}function jn(n){let{handles:e,capabilities:a}=n,s=n.reads,l=new Map,u=o=>{let t=B(o.story),r=l.get(t);if(r)return r;let i=new Map,c=o.paragraphIds.map(h=>{let b={id:h};return i.set(h,b),b}),p={reads:o,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=ln(),m=null,g=o=>m===null?(m=o,null):m===o?null:d("conflicting-operations","one batch writes into one story",`${B(m.reads.story)} then ${B(o.reads.story)}`),A=o=>g(u(o)),y=o=>{let t=s.package;return t===null?null:bn(t,o)},S=o=>{let t=e.resolve(o,"comment");if(!t||t.kind!=="comment")return {ok:false,planned:d("invalid-handle","that handle does not name a comment","comment")};let r=s.story(t.story);if(!r)return {ok:false,planned:d("invalid-handle","that story is not in this document")};let c=y(r)?.byId(t.commentId)??null;return c?{ok:true,reads:r,item:c}:{ok:false,planned:d("invalid-handle","this document no longer holds that comment",t.commentId)}},v=o=>{let t=e.resolve(o,"revision");if(!t||t.kind!=="revision")return {ok:false,planned:d("invalid-handle","that handle does not name a tracked change","revision")};let r=s.story(t.story);if(!r)return {ok:false,planned:d("invalid-handle","that story is not in this document")};let i=re(r).find(c=>c.id===t.revisionId)??null;return i?{ok:true,reads:r,item:i}:{ok:false,planned:d("invalid-handle","this document no longer holds that tracked change",t.revisionId)}},T=(o,t)=>{let r=o.paragraphText(t.start.paragraphId),i=o.paragraphText(t.end.paragraphId);if(r===null||i===null)return null;let c={story:o.story,paragraphId:t.start.paragraphId,index:o.indexOf(t.start.paragraphId),offset:Math.min(t.start.offset,r.length)},p={story:o.story,paragraphId:t.end.paragraphId,index:o.indexOf(t.end.paragraphId),offset:Math.min(t.end.offset,i.length)};return G({start:c,end:p})},O=(o,t)=>o.order.indexOf(t),H=(o,t)=>o.selected.has(t)?d("conflicting-operations","this batch selects a paragraph it also edits",t):null,M=(o,t)=>{let r=H(o,t);return r||(o.restructured.has(t)||o.touched.has(t)?d("conflicting-operations","another operation in this batch already changes that paragraph",t):(o.restructured.add(t),o.touched.add(t),null))},K=(o,t)=>{let r=H(o,t);return r||(o.restructured.has(t)?d("conflicting-operations","another operation in this batch restructures that paragraph",t):(o.touched.add(t),null))},Z=(o,t,r)=>{let i=`${r}:${t}`;if(o.formatted.has(i))return d("conflicting-operations","another operation in this batch already writes that formatting",t);let c=K(o,t);return c||(o.formatted.add(i),null)},ht=(o,t)=>{let r={id:null};return o.order.splice(t,0,r),o.created.push(r),r},G=o=>te(o,e),L=o=>o===null?null:s.story(o.start.story),lt=(o,t,r,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(!chunkQONAJ66B_cjs.wg(r))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=[],b=nt(t,o),x=b.length-1;for(let[P,w]of b.entries()){if(p<=0)break;let E=o.paragraphText(w)??"",C=chunkQONAJ66B_cjs.xg(E,r,p,{matchCase:i?.matchCase===true,wholeWord:i?.matchWholeWord===true,...P===0&&t?{from:t.start.offset}:{},...P===x&&t?{to:t.end.offset}:{}});for(let R of C.matches){let V=e.paragraph(w,o.story);h.push({start:{paragraph:V,offset:R.start},end:{paragraph:V,offset:R.start+R.length}});}p-=C.matches.length;}return I({kind:"spans",spans:h})},Ct=(o,t,r)=>{if(typeof r!="string")return d("unsupported-content","insertText needs text","text");if(Ft.test(r))return d("unsupported-content","text carrying a paragraph mark is not written by this host","paragraph-mark-in-text");let i=g(o);if(i)return i;let c=K(o,t.paragraphId);if(c)return c;let p=r.length===0?[]:[{op:"insertText",paragraphId:t.paragraphId,offset:t.offset,text:r}],h=()=>({kind:"span",span:G({start:t,end:{...t,offset:t.offset+r.length}})});return {ok:true,kind:"command",ops:p,story:o.reads.story,answer:h}},kt=(o,t,r)=>{let i=o.reads;if(typeof r!="string")return d("unsupported-content","replaceSpan needs text","text");if(Ft.test(r))return d("unsupported-content","text carrying a paragraph mark is not written by this host","paragraph-mark-in-text");let c=nt(t,i),p=t.start.paragraphId,h=[],b=g(o);if(b)return b;if(c.length===1){let w=K(o,p);if(w)return w;t.end.offset>t.start.offset&&h.push({op:"deleteText",paragraphId:p,start:t.start.offset,end:t.end.offset});}else {for(let C of c){let R=M(o,C);if(R)return R}let w=t.end.paragraphId,E=(i.paragraphText(p)??"").length;t.start.offset<E&&h.push({op:"deleteText",paragraphId:p,start:t.start.offset,end:E}),t.end.offset>0&&h.push({op:"deleteText",paragraphId:w,start:0,end:t.end.offset});for(let C of c.slice(1,-1))h.push({op:"deleteBlock",blockId:C});h.push({op:"joinParagraphs",firstId:p,secondId:w});for(let C of c.slice(1)){let R=o.slotById.get(C);R&&o.order.splice(O(o,R),1);}}r.length>0&&h.push({op:"insertText",paragraphId:p,offset:t.start.offset,text:r});let x={...t.start,paragraphId:p},P=()=>({kind:"span",span:G({start:x,end:{...x,offset:x.offset+r.length}})});return {ok:true,kind:"command",ops:h,story:o.reads.story,answer:P}},Ot=(o,t)=>{let r=o.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=r.blocks,c=i.filter(R=>R.removable),p=i.filter(R=>!R.removable).flatMap(R=>R.paragraphIds),h=p.length===0?c.find(R=>R.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 b=g(o);if(b)return b;for(let R of r.paragraphIds){let V=M(o,R);if(V)return V}let x=[],P=(h?[h.id]:[...p]).sort((R,V)=>r.indexOf(R)-r.indexOf(V)),w=P[0];for(let R of P){let V=(r.paragraphText(R)??"").length;V>0&&x.push({op:"deleteText",paragraphId:R,start:0,end:V});}for(let R of c)R.id!==h?.id&&x.push({op:"deleteBlock",blockId:R.id});t.length>0&&x.push({op:"insertText",paragraphId:w,offset:0,text:t});for(let R of c)if(R.id!==h?.id)for(let V of R.paragraphIds){let Pt=o.slotById.get(V);Pt&&o.order.splice(O(o,Pt),1);}let E={story:r.story,paragraphId:w,index:r.indexOf(w),offset:0},C=()=>({kind:"span",span:G({start:E,end:{...E,offset:t.length}})});return {ok:true,kind:"command",ops:x,story:r.story,answer:C}},jt=(o,t,r,i)=>{let c=o.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=g(o);if(p)return p;let h=M(o,t.paragraphId);if(h)return h;let b=o.slotById.get(t.paragraphId);if(!b)return d("invalid-handle","that paragraph is not in the body");let x=(c.paragraphText(t.paragraphId)??"").length,P=[];r==="after"?(i.length>0&&P.push({op:"insertText",paragraphId:t.paragraphId,offset:x,text:i}),P.push({op:"splitParagraph",paragraphId:t.paragraphId,offset:x})):(i.length>0&&P.push({op:"insertText",paragraphId:t.paragraphId,offset:0,text:i}),P.push({op:"splitParagraph",paragraphId:t.paragraphId,offset:i.length}));let w=ht(o,O(o,b)+1);r==="before"&&o.retargets.push({from:t.paragraphId,slot:w});let E=()=>{let C=r==="after"?w.id:t.paragraphId;return C===null?_:{kind:"handle",handle:e.paragraph(C,c.story)}};return {ok:true,kind:"command",ops:P,story:c.story,answer:E}},N=(o,t,r,i,c)=>{let p=o.reads;if(!Array.isArray(r)||r.length===0)return d("unsupported-content","split needs at least one delimiter","delimiters");if(r.length>jo)return d("unsupported-content","too many delimiters",String(r.length));for(let z of r){if(typeof z!="string"||z.length===0)return d("unsupported-content","a delimiter must be a non-empty string","delimiters");if(z.length>Wo)return d("unsupported-content","that delimiter is too long","delimiters")}let h=g(o);if(h)return h;let b=M(o,t.paragraphId);if(b)return b;let x=o.slotById.get(t.paragraphId);if(!x)return d("invalid-handle","that paragraph is not in the body");let P=p.paragraphText(t.paragraphId)??"",w=Xo(P,r),E=[],C=[],R=[];if(w.length===0)R.push(P);else if(i){for(let D of [...w].reverse())E.push({op:"deleteText",paragraphId:t.paragraphId,start:D.start,end:D.start+D.length});let z=0,it=0;for(let D of w){let zt=D.start-z;C.push(zt),R.push(P.slice(it,D.start)),it=D.start+D.length,z+=D.length;}R.push(P.slice(it));}else {let z=0;for(let it of w){let D=it.start+it.length;C.push(D),R.push(P.slice(z,D)),z=D;}R.push(P.slice(z));}C.length>0&&E.push({op:"splitParagraphMany",paragraphId:t.paragraphId,offsets:C});let V=[x];for(let z=0;z<C.length;z+=1)V.push(ht(o,O(o,x)+1+z));let Pt=z=>{let it=z.story(p.story),D=[];return V.forEach((zt,Un)=>{let Dt=zt.id;if(Dt===null)return;let Vt=it?.paragraphText(Dt)??R[Un]??"",[Xn,Yn]=c?Jo(Vt,0,Vt.length):[0,Vt.length],pe=e.paragraph(Dt,p.story);D.push({start:{paragraph:pe,offset:Xn},end:{paragraph:pe,offset:Yn}});}),{kind:"spans",spans:D}};return {ok:true,kind:"command",ops:E,story:p.story,answer:Pt}},W=(o,t)=>{let r=g(o);if(r)return r;let i=M(o,t.paragraphId);if(i)return i;let c=o.slotById.get(t.paragraphId);return c&&o.order.splice(O(o,c),1),{ok:true,kind:"command",ops:[{op:"deleteBlock",blockId:t.paragraphId}],story:o.reads.story,answer:()=>_}},ot=(o,t,r)=>{let i=o.reads,c=i.part,p=g(o);if(p)return p;let h=sn(r??{});if(!h.ok)return d("unsupported-content","that is not formatting this host writes",h.detail);let b=[];for(let x of qt(t,i)){if(x.end<=x.start&&!x.whole)continue;let P=Z(o,x.paragraphId,"runs");if(P)return P;for(let w of chunkQONAJ66B_cjs.eg(c,x.paragraphId,x.start,x.end,h.value))b.push({op:"setRunProperties",paragraphId:x.paragraphId,start:w.start,end:w.end,properties:w.properties,...w.targetRunIds?{targetRunIds:w.targetRunIds}:{}});x.whole&&b.push({op:"setParagraphMarkProperties",paragraphId:x.paragraphId,properties:chunkQONAJ66B_cjs.bg(chunkQONAJ66B_cjs.ag(c,x.paragraphId),h.value)});}return b.length===0?d("invalid-offset","that range covers no characters to format","collapsed-range"):{ok:true,kind:"command",ops:b,story:i.story,answer:()=>_}},At=(o,t,r)=>{let i=o.reads,c=i.part,p=g(o);if(p)return p;let h=Mt(r,i.styles());if(!h.ok)return d("unsupported-content","that is not a style this document has",h.detail);let b={localName:"pStyle",attributes:{val:h.styleId}},x=[];for(let P of nt(t,i)){let w=Z(o,P,"paragraph");if(w)return w;x.push({op:"setParagraphProperties",paragraphId:P,properties:chunkQONAJ66B_cjs.bg(chunkQONAJ66B_cjs.$f(c,P),b)});}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:()=>_}},ut=(o,t,r)=>{let i=o.reads,c=i.part,p=g(o);if(p)return p;let h=dn(c,t.paragraphId,r??{},i.styles());if(!h.ok)return d("unsupported-content","that is not paragraph formatting this host writes",h.detail);let b=Z(o,t.paragraphId,"paragraph");return b||{ok:true,kind:"command",ops:[{op:"setParagraphProperties",paragraphId:t.paragraphId,properties:h.value}],story:i.story,answer:()=>_}},Wn=(o,t)=>{let r=s.body;if(!r)return d("document-unavailable","this host holds no document right now");let i=s.sections();if(!i[o])return d("invalid-handle","that section is not in this document");let p=cn(t);if(!p.ok)return d("unsupported-content",p.reason,p.detail);let h=Yo(r,i,o);if(h===null)return d("unsupported-content","that section holds no paragraph to address it by","no-anchor");let b=u(r),x=g(b);return x||{ok:true,kind:"command",ops:[{op:"setSectionProperties",...p.value,anchorParagraphId:h}],story:dt,answer:()=>_}},Kn=(o,t)=>({ok:true,kind:"command",ops:[{op:"deleteNote",noteKind:o,noteId:t}],story:dt,lifecycle:true,answer:()=>_}),Wt=o=>{let t=e.resolve(o,"list");if(!t||t.kind!=="list")return d("invalid-handle","that handle does not name a list","list");let r=s.story(t.story);if(!r)return d("invalid-handle","that story is not in this document");let i=_t(r).find(c=>c.numId===t.numId);return i?{ok:true,plan:u(r),list:i}:d("invalid-handle","this story numbers nothing with that list",t.numId)},Kt=o=>{if(typeof o!="object"||o===null)return d("invalid-handle","that is not a scope a control lives in","scope");let t=o;if("body"in o){let r=$(t.body,"body",e,s);return r.ok?{reads:r.value,node:r.value.root}:d(r.code,"that handle does not name a body",r.detail)}if("contentControl"in o){let r=q(t.contentControl);return "control"in r?{reads:r.reads,node:r.node}:r}return d("invalid-handle","that is not a scope a control lives in","scope")},q=o=>{let t=e.resolve(o,"contentControl");if(!t||t.kind!=="contentControl")return d("invalid-handle","that handle does not name a content control","contentControl");let r=s.story(t.story);if(!r)return d("invalid-handle","that story is not in this document");let i=On(r,t.nodeId),c=Pn(r,t.nodeId);return !i||!c?d("invalid-handle","this document no longer holds that content control"):{reads:r,control:i,node:c}},zn=(o,t,r)=>{if(!Number.isInteger(r)||r<0||r>gt)return d("invalid-offset",`a list level is 0 to ${String(gt)}`,String(r));if(!Rt(o.reads,t))return d("unsupported-content","that paragraph is not in a list",t);let i=g(o);if(i)return i;let c=Z(o,t,"paragraph");return c||{ok:true,kind:"command",ops:[{op:"setListLevel",paragraphId:t,level:r}],story:o.reads.story,answer:()=>_}},Dn=(o,t,r,i)=>{if(r!=="start"&&r!=="end")return d("unknown-operation","a list takes an item at its start or its end",String(r));let c=o.reads,p=r==="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(o,h,r==="start"?"before":"after",i)},le=(o,t)=>{if(t.start.paragraphId!==t.end.paragraphId)return null;for(let r of hn(o,t.start.paragraphId))if(r.start<=t.start.offset&&r.end>=t.end.offset)return r;return null},Vn=(o,t,r)=>{if(typeof r!="string")return d("unsupported-content","a hyperlink target is a string","target");let i=o.reads,c=le(i,t),p=t.start.paragraphId===t.end.paragraphId&&t.start.offset===t.end.offset;if(r.length===0){if(!c)return d("unsupported-content","that text is not a link","no-link");let C=g(o);if(C)return C;let R=K(o,c.paragraphId);return R||{ok:true,kind:"command",ops:[{op:"removeHyperlink",linkId:c.id}],story:i.story,answer:()=>_}}let h={},b=null;if(r.startsWith("#")){let C=r.slice(1);if(C.length===0||!oe(i,C))return d("unsupported-content","this document declares no such bookmark",r);h={anchor:C};}else {if(chunkQONAJ66B_cjs.Rc(r)===null)return d("unsupported-content","this engine will not author that target","target");b=r;}let x=g(o);if(x)return x;let P=C=>b===null?{ok:true,kind:"command",ops:[C(h)],story:i.story,answer:()=>_}:{ok:true,kind:"command",ops:[],relate:{url:b,ops:R=>[C({relationshipId:R})]},story:i.story,answer:()=>_};if(c){let C=K(o,c.paragraphId);return C||P(R=>({op:"setHyperlinkTarget",linkId:c.id,...R}))}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 w=K(o,t.start.paragraphId);if(w)return w;let E=i.styles().idOf("hyperlink");return P(C=>({op:"insertHyperlink",paragraphId:t.start.paragraphId,start:t.start.offset,end:t.end.offset,...C,...E===null?{}:{styleId:E}}))},ue=(o,t,r)=>{let i=o.reads;if(!a.selection||!n.select)return d("unsupported-capability","this host has no reader to move","selection");if(r!=="select"&&r!=="start"&&r!=="end")return d("unknown-operation","that is not a selection mode",String(r));let c=nt(t,i);for(let p of c)if(o.touched.has(p))return d("conflicting-operations","this batch edits a paragraph the selection covers",p);for(let p of c)o.selected.add(p);return f.push({range:t,mode:r}),{ok:true,kind:"command",ops:[],story:i.story,answer:()=>_}},ce=o=>{let t=e.resolve(o,"bookmark");if(!t||t.kind!=="bookmark")return d("invalid-handle","that handle does not name a bookmark","bookmark");let r=s.story(t.story);if(!r)return d("invalid-handle","that story is not in this document");let i=oe(r,t.name);if(!i)return d("invalid-handle","this document no longer declares that bookmark",t.name);let c=p=>({story:r.story,paragraphId:p.paragraphId,index:r.indexOf(p.paragraphId),offset:p.offset});return {reads:r,range:{start:c(i.start),end:c(i.end)}}},$n=o=>{switch(o.op){case "getDocument":return I({kind:"handle",handle:e.document()});case "getBody":return e.resolve(o.document,"document")?s.body?I({kind:"handle",handle:e.body(dt)}):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=$(o.body,"body",e,s);return t.ok?I({kind:"handles",handles:t.value.paragraphIds.map(r=>e.paragraph(r,t.value.story))}):d(t.code,"that handle does not name a body",t.detail)}case "getSpanParagraphs":{let t=j(o.span,e,s);if(!t.ok)return d(t.code,"that span is not a place",t.detail);let r=J(o.span,e,s);return r.ok?I({kind:"handles",handles:nt(t.value,r.value).map(i=>e.paragraph(i,r.value.story))}):d(r.code,"that span is not a place",r.detail)}case "getText":{if(e.resolve(o.target,"body")){let c=$(o.target,"body",e,s);return c.ok?I({kind:"text",text:c.value.text()}):d(c.code,"that handle does not name a body",c.detail)}let r=Y(o.target,e,s);if(!r.ok)return d(r.code,"that handle does not name a body or a paragraph",r.detail);let i=s.story(r.value.story);return I({kind:"text",text:i?.paragraphText(r.value.paragraphId)??""})}case "getSpanText":{let t=j(o.span,e,s);if(!t.ok)return d(t.code,"that span is not a place",t.detail);let r=J(o.span,e,s);return r.ok?I({kind:"text",text:gn(t.value,r.value,Zt)}):d(r.code,"that span is not a place",r.detail)}case "getParagraphId":{let t=Y(o.paragraph,e,s);if(!t.ok)return d(t.code,"that handle does not name a paragraph",t.detail);let i=s.story(t.value.story)?.paragraph(t.value.paragraphId);return I({kind:"text",text:i?.paraId??""})}case "search":{let t=j(o.scope,e,s);if(!t.ok)return d(t.code,"that is not a scope to search",t.detail);let r=J(o.scope,e,s);return r.ok?lt(r.value,t.value,o.text,o.options):d(r.code,"that is not a scope to search",r.detail)}case "insertText":{let t=ft(o.at,e,s);if(!t.ok)return d(t.code,"that is not a place to insert at",t.detail);let r=s.story(t.value.story);return r?Ct(u(r),t.value,o.text):d("invalid-handle","that story is not in this document")}case "replaceSpan":{if("body"in o.span){let i=$(o.span.body,"body",e,s);return i.ok?Ot(u(i.value),o.text):d(i.code,"that handle does not name a body",i.detail)}let t=j(o.span,e,s);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 r=L(t.value);return r?kt(u(r),t.value,o.text):d("invalid-handle","that story is not in this document")}case "insertParagraph":{let t=Bt(o.anchor,e,s);if(!t.ok)return d(t.code,"that is not a paragraph to insert beside",t.detail);if(o.where!=="before"&&o.where!=="after")return d("unknown-operation","that is not a place to insert",String(o.where));let r=s.story(t.value.story);return r?jt(u(r),t.value,o.where,o.text):d("invalid-handle","that story is not in this document")}case "splitParagraph":{let t=Y(o.paragraph,e,s);if(!t.ok)return d(t.code,"that handle does not name a paragraph",t.detail);let r=s.story(t.value.story);return r?N(u(r),t.value,o.delimiters,o.trimDelimiters===true,o.trimSpacing===true):d("invalid-handle","that story is not in this document")}case "getFont":{let t=j(o.span,e,s);if(!t.ok)return d(t.code,"that span is not a place",t.detail);let r=J(o.span,e,s);return r.ok?I({kind:"font",font:rn(r.value.part,qt(t.value,r.value))}):d(r.code,"that span is not a place",r.detail)}case "setFont":{let t=j(o.span,e,s);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 r=L(t.value);return r?ot(u(r),t.value,o.font):d("invalid-handle","that story is not in this document")}case "getStyle":{let t=j(o.span,e,s);if(!t.ok)return d(t.code,"that span is not a place",t.detail);let r=J(o.span,e,s);if(!r.ok)return d(r.code,"that span is not a place",r.detail);let i=r.value.part,c=r.value.styles(),p=nt(t.value,r.value).map(b=>Lt(i,b,c)),h=p.length>0&&p.every(b=>b!==null&&b===p[0])?p[0]:null;return I({kind:"style",name:h})}case "setStyle":{let t=j(o.span,e,s);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 r=L(t.value);return r?At(u(r),t.value,o.name):d("invalid-handle","that story is not in this document")}case "getParagraphFormat":{let t=Bt(o.paragraph,e,s);if(!t.ok)return d(t.code,"that is not a paragraph",t.detail);let r=s.story(t.value.story);if(!r)return d("document-unavailable","this host holds no document right now");let i=an(r.part,t.value.paragraphId,r.styles());return i?I({kind:"paragraphFormat",format:i}):d("invalid-handle","that handle does not name a paragraph")}case "setParagraphFormat":{let t=Bt(o.paragraph,e,s);if(!t.ok)return d(t.code,"that is not a paragraph",t.detail);let r=s.story(t.value.story);return r?ut(u(r),t.value,o.format):d("invalid-handle","that story is not in this document")}case "deleteParagraph":{let t=Y(o.paragraph,e,s);if(!t.ok)return d(t.code,"that handle does not name a paragraph",t.detail);let r=s.story(t.value.story);return r?W(u(r),t.value):d("invalid-handle","that story is not in this document")}case "getSections":return e.resolve(o.document,"document")?I({kind:"handles",handles:s.sections().map(t=>e.section(t.index))}):d("invalid-handle","that handle does not name a document","document");case "getPageSetup":{let t=e.resolve(o.section,"section");if(!t||t.kind!=="section")return d("invalid-handle","that handle does not name a section","section");let r=s.sections()[t.index];return r?I({kind:"pageSetup",setup:r.pageSetup}):d("invalid-handle","that section is not in this document")}case "setPageSetup":{let t=e.resolve(o.section,"section");return !t||t.kind!=="section"?d("invalid-handle","that handle does not name a section","section"):Wn(t.index,o.setup)}case "getFurniture":{let t=e.resolve(o.section,"section");if(!t||t.kind!=="section")return d("invalid-handle","that handle does not name a section","section");if(o.kind!=="header"&&o.kind!=="footer")return d("unknown-operation","that is not furniture",String(o.kind));let r={kind:o.kind,sectionIndex:t.index,variant:o.variant};return qe(r)?s.story(r)?I({kind:"handle",handle:e.body(r)}):d("invalid-handle","this document declares no such header or footer",B(r)):d("unknown-operation","that is not a furniture variant",String(o.variant))}case "getNotes":{if(!e.resolve(o.document,"document"))return d("invalid-handle","that handle does not name a document","document");if(o.noteKind!=="footnote"&&o.noteKind!=="endnote")return d("unknown-operation","that is not a kind of note",String(o.noteKind));let t=o.noteKind;return I({kind:"handles",handles:s.noteIds(t).map(r=>e.note(t,r))})}case "getNoteBody":case "getNoteText":{let t=e.resolve(o.note,"note");if(!t||t.kind!=="note")return d("invalid-handle","that handle does not name a note","note");let r=t,i=s.story(r);return i?o.op==="getNoteText"?I({kind:"text",text:i.text()}):I({kind:"handle",handle:e.body(r)}):d("invalid-handle","that note is not in this document",B(r))}case "getNoteKind":{let t=e.resolve(o.note,"note");return !t||t.kind!=="note"?d("invalid-handle","that handle does not name a note","note"):I({kind:"text",text:t.noteKind})}case "deleteNote":{let t=e.resolve(o.note,"note");return !t||t.kind!=="note"?d("invalid-handle","that handle does not name a note","note"):s.noteIds(t.noteKind).includes(t.noteId)?Kn(t.noteKind,t.noteId):d("invalid-handle","that note is not in this document")}case "getLists":{let t=$(o.body,"body",e,s);return t.ok?I({kind:"handles",handles:_t(t.value).map(r=>e.list(r.numId,t.value.story))}):d(t.code,"that handle does not name a body",t.detail)}case "getListId":{let t=Wt(o.list);return "list"in t?I({kind:"number",value:Number(t.list.numId)}):t}case "getListById":{let t=$(o.body,"body",e,s);if(!t.ok)return d(t.code,"that handle does not name a body",t.detail);if(!Number.isInteger(o.id)||o.id<=0)return d("unsupported-content","a list is numbered from one",String(o.id));let r=String(o.id),i=_t(t.value).find(c=>c.numId===r);return i?I({kind:"handle",handle:e.list(i.numId,t.value.story)}):d("invalid-handle","no list in that story carries that number",r)}case "getListParagraphs":{let t=Wt(o.list);if(!("list"in t))return t;let r=o.level;if(r!==void 0&&(!Number.isInteger(r)||r<0||r>gt))return d("invalid-offset",`a list level is 0 to ${String(gt)}`,String(r));let i=t.plan.reads,c=r===void 0?t.list.paragraphIds:t.list.paragraphIds.filter(p=>Rt(i,p)?.level===r);return I({kind:"handles",handles:c.map(p=>e.paragraph(p,i.story))})}case "getParagraphList":{let t=Y(o.paragraph,e,s);if(!t.ok)return d(t.code,"that handle does not name a paragraph",t.detail);let r=s.story(t.value.story);if(!r)return d("invalid-handle","that story is not in this document");let i=Rt(r,t.value.paragraphId);return i?I({kind:"handle",handle:e.list(i.numId,r.story)}):d("unsupported-content","that paragraph is not in a list",t.value.paragraphId)}case "getListLevel":{let t=Y(o.paragraph,e,s);if(!t.ok)return d(t.code,"that handle does not name a paragraph",t.detail);let r=s.story(t.value.story);if(!r)return d("invalid-handle","that story is not in this document");let i=Rt(r,t.value.paragraphId);return i?I({kind:"number",value:i.level}):d("unsupported-content","that paragraph is not in a list",t.value.paragraphId)}case "setListLevel":{let t=Y(o.paragraph,e,s);if(!t.ok)return d(t.code,"that handle does not name a paragraph",t.detail);let r=s.story(t.value.story);return r?zn(u(r),t.value.paragraphId,o.level):d("invalid-handle","that story is not in this document")}case "insertListParagraph":{let t=Wt(o.list);return "list"in t?Dn(t.plan,t.list,o.where,o.text):t}case "getHyperlink":{let t=j(o.span,e,s);if(!t.ok)return d(t.code,"that span is not a place",t.detail);let r=J(o.span,e,s);if(!r.ok)return d(r.code,"that span is not a place",r.detail);let i=s.package;if(!i||!t.value)return I({kind:"text",text:""});let c=le(r.value,t.value);if(!c)return I({kind:"text",text:""});let p=chunkQONAJ66B_cjs.Ea(r.value.part,c.id),h=p?kn(i,r.value.part.name,p):null;return I({kind:"text",text:h??""})}case "setHyperlink":{let t=j(o.span,e,s);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 r=L(t.value);return r?Vn(u(r),t.value,o.target):d("invalid-handle","that story is not in this document")}case "getBookmarks":{let t=j(o.scope,e,s);if(!t.ok)return d(t.code,"that span is not a place",t.detail);let r=J(o.scope,e,s);if(!r.ok)return d(r.code,"that span is not a place",r.detail);let i=r.value,c=t.value,p=c===null?null:new Set(nt(c,i)),h=ne(i).filter(b=>{if(!p||!p.has(b.start.paragraphId)&&!p.has(b.end.paragraphId)||c===null)return false;let x=b.start.paragraphId===c.end.paragraphId&&b.start.offset>c.end.offset,P=b.end.paragraphId===c.start.paragraphId&&b.end.offset<c.start.offset;return !x&&!P});return I({kind:"handles",handles:h.map(b=>e.bookmark(b.name,i.story))})}case "getBookmarkName":{let t=e.resolve(o.bookmark,"bookmark");return !t||t.kind!=="bookmark"?d("invalid-handle","that handle does not name a bookmark","bookmark"):I({kind:"text",text:t.name})}case "getBookmarkRange":{let t=ce(o.bookmark);return "reads"in t?I({kind:"span",span:G(t.range)}):t}case "getComments":{let t=j(o.scope,e,s);if(!t.ok)return d(t.code,"that scope is not a place",t.detail);let r=J(o.scope,e,s);if(!r.ok)return d(r.code,"that scope names no story",r.detail);let i=r.value,c=y(i);if(!c)return d("document-unavailable","this host holds no document");let p=t.value,h=c.roots.filter(b=>{if(!p)return true;let x=b.range;if(!x)return false;let P=i.indexOf(x.start.paragraphId),w=i.indexOf(x.end.paragraphId),E=i.indexOf(p.start.paragraphId),C=i.indexOf(p.end.paragraphId);return w<E||P>C?false:w===E&&P===E&&C===E?x.end.offset>p.start.offset&&x.start.offset<p.end.offset:true});return I({kind:"handles",handles:h.map(b=>e.comment(b.id,i.story))})}case "getCommentReplies":{let t=S(o.comment);return t.ok?I({kind:"handles",handles:t.item.replyIds.map(r=>e.comment(r,t.reads.story))}):t.planned}case "getCommentId":{let t=S(o.comment);return t.ok?I({kind:"text",text:t.item.id}):t.planned}case "getCommentAuthor":{let t=S(o.comment);return t.ok?I({kind:"text",text:t.item.comment.author}):t.planned}case "getCommentDate":{let t=S(o.comment);return t.ok?I({kind:"text",text:t.item.comment.date??""}):t.planned}case "getCommentText":{let t=S(o.comment);if(!t.ok)return t.planned;let r=y(t.reads);return I({kind:"text",text:r?.textOf(t.item.id)??""})}case "getCommentRange":{let t=S(o.comment);if(!t.ok)return t.planned;let r=t.item.range;if(!r||t.item.orphaned)return d("invalid-handle","that comment has no range in this document");let i=T(t.reads,r);return i?I({kind:"span",span:i}):d("invalid-handle","that comment\u2019s range is no longer in the story")}case "getCommentResolved":{let t=S(o.comment);return t.ok?I({kind:"flag",value:t.item.resolved}):t.planned}case "insertComment":return Sn(o,e,s,A);case "setCommentResolved":{let t=S(o.comment);if(!t.ok)return t.planned;if(typeof o.resolved!="boolean")return d("unsupported-content","resolved is a yes or a no",String(o.resolved));let r=g(u(t.reads));return r||{ok:true,kind:"commentWrite",write:{kind:"resolve",commentId:t.item.id,resolved:o.resolved},story:t.reads.story,answer:()=>_}}case "replyToComment":{let t=S(o.comment);if(!t.ok)return t.planned;let r=se({author:o.author,text:o.text,date:o.date,kind:"reply"});if(r)return r;let i=t.item.range;if(!i||t.item.orphaned)return d("invalid-handle","that comment has no range to reply over");let c=g(u(t.reads));if(c)return c;let p=t.reads.story,h=ie(o.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:o.text,author:o.author,...h===void 0?{}:{date:h}},story:t.reads.story,answer:(b,x)=>x===void 0?_:{kind:"handle",handle:e.comment(x,p)}}}case "deleteComment":{let t=S(o.comment);return t.ok?Rn(t.item,t.reads,r=>g(u(r))):t.planned}case "getRevisions":{let t=$(o.body,"body",e,s);if(!t.ok)return d(t.code,"that handle does not name a body",t.detail);let r=t.value;return I({kind:"handles",handles:re(r).map(i=>e.revision(i.id,r.story))})}case "getRevisionType":{let t=v(o.revision);return t.ok?I({kind:"text",text:t.item.type}):t.planned}case "getRevisionAuthor":{let t=v(o.revision);return t.ok?I({kind:"text",text:t.item.author}):t.planned}case "getRevisionDate":{let t=v(o.revision);return t.ok?I({kind:"text",text:t.item.date}):t.planned}case "getRevisionRange":{let t=v(o.revision);if(!t.ok)return t.planned;let[r]=t.item.item.ranges;if(!r)return d("invalid-handle","that change covers no characters");let i=T(t.reads,r);return i?I({kind:"span",span:i}):d("invalid-handle","that change\u2019s range is no longer in the story")}case "acceptRevision":case "rejectRevision":{let t=v(o.revision);if(!t.ok)return t.planned;let r=u(t.reads),i=g(r);if(i)return i;let c=o.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:()=>_}}case "acceptAllRevisions":case "rejectAllRevisions":{if(!e.resolve(o.document,"document"))return d("invalid-handle","that handle does not name a document","document");let t=s.body;if(!t)return d("document-unavailable","this host holds no document");let r=u(t),i=g(r);return i||{ok:true,kind:"command",story:t.story,ops:[o.op==="acceptAllRevisions"?{op:"acceptAllRevisions"}:{op:"rejectAllRevisions"}],answer:()=>_}}case "selectSpan":{let t=j(o.span,e,s);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 r=L(t.value);return r?ue(u(r),t.value,o.mode):d("invalid-handle","that story is not in this document")}case "selectBookmark":{let t=ce(o.bookmark);return "reads"in t?ue(u(t.reads),t.range,o.mode):t}case "getContentControls":{let t=Kt(o.scope);return "reads"in t?I({kind:"handles",handles:Cn(t.reads,t.node).map(r=>e.contentControl(r.nodeId,t.reads.story))}):t}case "getContentControlById":{let t=Kt(o.scope);if(!("reads"in t))return t;if(!Number.isInteger(o.id))return d("unsupported-content","a control id is a whole number",String(o.id));let r=Fn(t.node).find(i=>chunkQONAJ66B_cjs.ne(i).id===o.id);return r?I({kind:"handle",handle:e.contentControl(r.id,t.reads.story)}):d("invalid-handle","no control in that scope carries that id",String(o.id))}case "getContentControlsByTag":case "getContentControlsByTitle":{let t=Kt(o.scope);if(!("reads"in t))return t;let r=o.op==="getContentControlsByTag"?o.tag:o.title;if(typeof r!="string"||r.length===0)return d("unsupported-content","a tag or title to match is required",o.op);let i=Fn(t.node).filter(c=>{let p=chunkQONAJ66B_cjs.ne(c);return o.op==="getContentControlsByTag"?p.tag===r:p.alias===r});return I({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=q(o.contentControl);if(!("control"in t))return t;let r=t.control.properties;if(o.op==="getContentControlLock")return I({kind:"text",text:t.control.lock});if(o.op==="getContentControlSubtype")return I({kind:"text",text:r.type});if(o.op==="getContentControlFileId")return I({kind:"text",text:r.id===void 0?"":String(r.id)});let i=o.op==="getContentControlTag"?r.tag:r.alias;return I({kind:"text",text:i??""})}case "getContentControlIsBound":case "getContentControlPlaceholderShown":case "getContentControlTemporary":{let t=q(o.contentControl);if(!("control"in t))return t;let r=o.op==="getContentControlIsBound"?t.control.properties.dataBinding!==void 0:o.op==="getContentControlPlaceholderShown"?t.control.properties.showingPlaceholder:t.control.properties.temporary;return I({kind:"flag",value:r})}case "getContentControlText":{let t=q(o.contentControl);return "control"in t?I({kind:"text",text:wn(t.node)}):t}case "getContentControlParagraphs":{let t=q(o.contentControl);return "control"in t?I({kind:"handles",handles:t.control.paragraphIds.map(r=>e.paragraph(r,t.reads.story))}):t}case "getContentControlRange":{let t=q(o.contentControl);if(!("control"in t))return t;let r=o.location??"whole";if(!Do.has(r))return d("unsupported-content","that is not a place in a control",r);let i=de(t.reads,t.node);if(!i)return d("unsupported-content","that control holds nothing addressable","empty");let c=r==="start"||r==="before"?i.start:i.end,p=r!=="whole"&&r!=="content",h=b=>({story:t.reads.story,paragraphId:b.paragraphId,index:t.reads.indexOf(b.paragraphId),offset:b.offset});return I({kind:"span",span:te(p?{start:h(c),end:h(c)}:{start:h(i.start),end:h(i.end)},e)})}case "setContentControlValue":{let t=q(o.contentControl);if(!("control"in t))return t;let r=Uo(o.value);if(!r.ok)return d(r.code,r.message,r.detail);let i=u(t.reads),c=g(i);return c||{ok:true,kind:"command",story:t.reads.story,ops:[{op:"setContentControlValue",controlId:t.control.nodeId,value:r.value}],answer:()=>_}}case "setContentControlProperties":{let t=q(o.contentControl);if(!("control"in t))return t;if(o.tag===void 0&&o.title===void 0&&o.lock===void 0)return d("unsupported-content","nothing to write","no-properties");if(o.lock!==void 0&&!zo.has(o.lock))return d("unsupported-content","that is not a lock this schema declares",o.lock);let r=u(t.reads),i=g(r);return i||{ok:true,kind:"command",story:t.reads.story,ops:[{op:"setContentControlProperties",controlId:t.control.nodeId,...o.tag===void 0?{}:{tag:o.tag},...o.title===void 0?{}:{alias:o.title},...o.lock===void 0?{}:{lock:o.lock}}],answer:()=>_}}case "insertContentControlText":{let t=q(o.contentControl);if(!("control"in t))return t;if(typeof o.text!="string")return d("unsupported-content","text is required","text");if(o.at!=="replace"&&o.at!=="start"&&o.at!=="end")return d("unsupported-content","that is not a place to insert at",String(o.at));let r=u(t.reads),i=g(r);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=o.at==="end"?c.end:c.start,h=()=>({kind:"span",span:G({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+o.text.length}})});return o.at==="replace"?{ok:true,kind:"command",story:t.reads.story,ops:[{op:"setContentControlValue",controlId:t.control.nodeId,value:{kind:"text",text:o.text}}],answer:h}:{ok:true,kind:"command",story:t.reads.story,ops:o.text.length===0?[]:[{op:"insertText",paragraphId:p.paragraphId,offset:p.offset,text:o.text,inside:t.node.id}],answer:h}}case "deleteContentControl":{let t=q(o.contentControl);if(!("control"in t))return t;if(typeof o.keepContent!="boolean")return d("unsupported-content","keepContent is required","keepContent");let r=u(t.reads),i=g(r);return i||{ok:true,kind:"command",story:t.reads.story,ops:[{op:"removeContentControl",controlId:t.control.nodeId,keepContent:o.keepContent}],answer:()=>_}}case "insertContentControl":{let t=j(o.span,e,s);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 r=L(t.value);if(!r)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(!Vo.has(o.subtype))return d("unsupported-content","that control type cannot be inserted",o.subtype);let c=u(r),p=g(c);return p||{ok:true,kind:"command",story:r.story,ops:[{op:"insertContentControl",paragraphId:i.start.paragraphId,start:i.start.offset,end:i.end.offset,type:o.subtype,...o.tag===void 0?{}:{tag:o.tag},...o.title===void 0?{}:{alias:o.title}}],answer:()=>_}}case "insertCustomNode":{let t=Mn(o);if(t)return d("unsupported-content",t.message,t.detail);let r=Ln(o.payload);if(!r.ok)return d("unsupported-content","that payload cannot be written",r.field);let i=Bn(o,e,s);if("code"in i)return d(i.code,i.message,i.detail);let{start:c,end:p}=i.range,h=L(i.range);if(!h)return d("invalid-handle","that story is not in this document");let b=g(u(h));return b||{ok:true,kind:"customNodeWrite",story:h.story,write:En(o,c,p,r.value),answer:()=>_}}default:return d("unknown-operation","this host does not implement that operation",String(o.op))}};return {plan(o){let t=k.conflict(o);if(t)return d("conflicting-operations",t.message,t.detail);let r=$n(o);return r.ok&&k.note(o),r},get hasCommands(){return k.hasCommands},get writeScope(){return m?.reads.scope??null},settle(o){let t=m;if(t){let r=o.story(t.reads.story);if(!r)return {ok:false,detail:`the story this batch wrote is gone: ${B(t.reads.story)}`};let i=new Set(t.reads.paragraphIds),c=r.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,b)=>{h.id=c[b]??null;});for(let h of t.retargets)h.slot.id&&e.retarget(h.from,h.slot.id);}for(let r of f){let i=o.story(r.range.start.story);!i||!Go(r.range,i)||n.select?.(r.range,r.mode);}return {ok:true}}}}var Qo=Object.freeze({status:"skipped"});function X(n,e,a){return Object.freeze(a===void 0?{code:n,message:e}:{code:n,message:e,detail:a})}function Q(n,e,a,s){return {ok:false,results:n.map((l,u)=>u===e?{status:"error",error:a}:Qo),revision:s,changed:false}}function Oa(n){let{port:e}=n,a=Object.freeze({...n.capabilities}),s=tn(),l=new Set,u=false,f=null,k=a.events?e.subscribe(()=>{if(u)return;let A=Object.freeze({revision:e.revision()});for(let y of [...l])y(A);}):()=>{},m=A=>{if(f&&f.pkg===A)return f.value;let y=fn(A);return f={pkg:A,value:y},y};return {capabilities:a,revision:()=>e.revision(),execute:A=>{let y=Array.isArray(A?.operations)?A.operations:[],S=e.revision();if(u)return Q(y,0,X("disposed","this host was disposed"),S);if(!a.document)return Q(y,0,X("unsupported-capability","this host has no document","document"),S);let v=e.currentPackage();if(!v)return Q(y,0,X("document-unavailable","this host holds no document right now"),S);if(A.expectedRevision!==void 0&&A.expectedRevision!==S)return Q(y,0,X("stale-revision","the document moved since that revision",`expected ${String(A.expectedRevision)}, at ${S}`),S);let T=jn({handles:s,reads:m(v),capabilities:a,...e.select?{select:e.select.bind(e)}:{}}),O=[],H=[],M=null,K=[],Z=null,ht,G=null,L=-1;for(let N=0;N<y.length;N+=1){let W=T.plan(y[N]);if(!W.ok)return Q(y,N,W.error,S);if(O.push(W),W.kind==="command")if(L<0&&(L=N),W.lifecycle)M=W.ops[0]??null;else if(W.relate){let ot=W.relate;H.push(At=>{let ut=At(ot.url);return ut===null?null:ot.ops(ut)});}else {let{ops:ot}=W;H.push(()=>ot);}else W.kind==="commentWrite"?(L<0&&(L=N),K.push(W.write),Z=T.writeScope??{kind:"body"}):W.kind==="customNodeWrite"&&(L<0&&(L=N),G={write:W.write,scope:T.writeScope??{kind:"body"}});}let lt=false;if(K.length>0){let N=e.applyCommentWrites(K,Z??{kind:"body"});if(!N.ok)return Q(y,L<0?0:L,X("transaction-refused","the document store refused the comment write",N.reason),S);lt=N.changed,ht=N.commentId;}if(G){let N=e.applyCustomNodeWrite(G.write,G.scope);if(!N.ok)return Q(y,L<0?0:L,X("transaction-refused","the document store refused the custom-node write",N.reason),S);lt=N.changed;}if(M){let N=e.applyLifecycle(M);if(!N.ok)return Q(y,L<0?0:L,X("transaction-refused","the document store refused the transaction",N.reason),S);lt=N.changed;}if(H.length>0){let N=e.apply(W=>{let ot=[];for(let At of H){let ut=At(W);if(ut===null)return null;ot.push(...ut);}return ot},T.writeScope??{kind:"body"});if(!N.ok)return Q(y,L<0?0:L,X("transaction-refused","the document store refused the transaction",N.reason),S);lt=N.changed;}let Ct=e.currentPackage();if(!Ct)return Q(y,0,X("document-unavailable","this host holds no document right now"),S);let kt=m(Ct),Ot=T.settle(kt);return Ot.ok?{ok:true,results:O.map(N=>({status:"ok",value:N.kind==="query"?N.value:N.kind==="customNodeWrite"?N.answer(kt):N.answer(kt,ht)})),revision:e.revision(),changed:lt}:Q(y,L<0?0:L,X("transaction-refused","the transaction did not produce the document the batch planned",Ot.detail),e.revision())},save(){if(u)return {ok:false,error:X("disposed","this host was disposed")};if(!a.save)return {ok:false,error:X("unsupported-capability","this host cannot save","save")};let A=e.save();return A?{ok:true,bytes:A}:{ok:false,error:X("document-unavailable","this host holds no document right now")}},subscribe(A){return u||!a.events?()=>{}:(l.add(A),()=>{l.delete(A);})},dispose(){u||(u=true,l.clear(),k(),e.dispose(),f=null);}}}exports.a=Ht;exports.b=qo;exports.c=Gn;exports.d=Jn;exports.e=Yt;exports.f=Gt;exports.g=Oa;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import {b,g}from'./chunk-4WWEDTTE.js';import {M as M$1,L,O,G as G$1}from'./chunk-G5D7EXZD.js';import {s,ze as ze$1,Ce,Ea,xb,Qc,Ff,Tf,Je,Ke,Lf,Kf,ff,Nf,Of,Ud,og,Uf,Sc,yc,Tc,Vb,yb,Af,Uc,_d,Tb,Ub,N,Sf,Rf,Rb,Wb,wg,xg,Kc,Jc,ng,Yb,Kb,Mb}from'./chunk-2H6LCX4H.js';import {Schema}from'prosemirror-model';import {EditorState,TextSelection}from'prosemirror-state';import {EditorView}from'prosemirror-view';import {keymap}from'prosemirror-keymap';import {joinBackward,deleteSelection,joinForward,splitBlock,selectTextblockEnd,selectTextblockStart,baseKeymap}from'prosemirror-commands';function _(t){return t.attributes?.val}function j(t){let e=_(t);return e===void 0||!(e==="0"||e==="false"||e==="off")}var hn=/^[0-9A-Fa-f]{6}$/,ye=/^\d{1,6}$/,kn=/^-?\d{1,6}$/;function Ae(t){return t===void 0||t==="auto"?null:hn.test(t)?`#${t}`:null}var xn={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"},bn={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 On(t){return !t||!/^[\w \-.+]{1,64}$/.test(t)?null:`"${t}"`}function U(t,e=false){return t===void 0||!(e?kn:ye).test(t)?null:`${Number(t)/20}pt`}function Lt(t){let e=[],n=[],r=null,s=null;for(let l of t)switch(l.localName){case "b":e.push(`font-weight:${j(l)?"bold":"normal"}`);break;case "i":e.push(`font-style:${j(l)?"italic":"normal"}`);break;case "u":{let o=_(l)??"single";if(o==="none"||!j(l))break;n.push("underline"),r=xn[o]??"solid",s=Ae(l.attributes?.color);break}case "strike":j(l)&&n.push("line-through");break;case "dstrike":j(l)&&n.push("line-through");break;case "caps":j(l)&&e.push("text-transform:uppercase");break;case "smallCaps":j(l)&&e.push("font-variant:small-caps");break;case "vertAlign":{let o=_(l);o==="superscript"?e.push("vertical-align:super","font-size:0.75em"):o==="subscript"&&e.push("vertical-align:sub","font-size:0.75em");break}case "color":{let o=Ae(_(l));o&&e.push(`color:${o}`);break}case "highlight":{let o=bn[_(l)??""];o&&e.push(`background-color:${o}`);break}case "sz":{let o=_(l);o!==void 0&&ye.test(o)&&e.push(`font-size:${Number(o)/2}pt`);break}case "rFonts":{let o=On(l.attributes?.ascii??l.attributes?.hAnsi);o&&e.push(`font-family:${o}`);break}case "spacing":{let o=U(_(l),true);o&&e.push(`letter-spacing:${o}`);break}}return n.length>0&&(e.push(`text-decoration-line:${[...new Set(n)].join(" ")}`),r&&e.push(`text-decoration-style:${r}`),s&&e.push(`text-decoration-color:${s}`)),e.join(";")}var Sn={left:"left",start:"left",right:"right",end:"right",center:"center",both:"justify",distribute:"justify"};function Bt(t){let e=[];for(let n of t)switch(n.localName){case "jc":{let r=Sn[_(n)??""];r&&e.push(`text-align:${r}`);break}case "ind":{let r=U(n.attributes?.left??n.attributes?.start,true),s=U(n.attributes?.right??n.attributes?.end,true),l=U(n.attributes?.firstLine),o=U(n.attributes?.hanging);r&&e.push(`margin-left:${r}`),s&&e.push(`margin-right:${s}`),l?e.push(`text-indent:${l}`):o&&e.push(`text-indent:-${o}`);break}case "spacing":{let r=U(n.attributes?.before),s=U(n.attributes?.after);r&&e.push(`margin-top:${r}`),s&&e.push(`margin-bottom:${s}`);let l=n.attributes?.line,o=n.attributes?.lineRule;l!==void 0&&ye.test(l)&&o!=="exact"&&o!=="atLeast"?e.push(`line-height:${(Number(l)/240).toFixed(3)}`):l!==void 0&&ye.test(l)&&e.push(`line-height:${Number(l)/20}pt`);break}case "shd":{let r=Ae(n.attributes?.fill);r&&e.push(`background-color:${r}`);break}case "pageBreakBefore":j(n)&&e.push("break-before:page");break;}return e.join(";")}var E=new Schema({nodes:{doc:{content:"paragraph+"},paragraph:{content:"inline*",group:"block",attrs:{nodeId:{default:null},props:{default:[]}},toDOM:t=>{let e=Bt(t.attrs.props??[]);return ["p",{"data-node-id":String(t.attrs.nodeId??""),...e?{style:e}:{}},0]},parseDOM:[{tag:"p",getAttrs:t=>typeof t=="string"?null:{nodeId:t.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:t=>["span",{"data-token":"unknown","data-node-id":String(t.attrs.nodeId??""),contenteditable:"false",class:"docx-unknown-inline",title:String(t.attrs.label||"Content this editor cannot edit yet. It is preserved.")}],parseDOM:[{tag:'span[data-token="unknown"]',getAttrs:t=>typeof t=="string"?false:{nodeId:t.getAttribute("data-node-id")||null,label:""}}]}},marks:{runProps:{attrs:{props:{default:[]}},excludes:"runProps",toDOM:t=>{let e=t.attrs.props??[],n=Lt(e);return ["span",{"data-run-props":vn(e),...n?{style:n}:{}},0]},parseDOM:[{tag:"span[data-run-props]",getAttrs:t=>{if(typeof t=="string")return false;let e=Rn(t.getAttribute("data-run-props"));return e?{props:e}:false}}]}}});function vn(t){return JSON.stringify(Array.isArray(t)?t:[])}function Rn(t){if(!t)return null;try{let e=JSON.parse(t);if(!Array.isArray(e))return null;let n=[];for(let r of e){if(typeof r!="object"||r===null)return null;let s=r;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 Le(t){for(let e of t.marks)if(e.type.name==="runProps")return e.attrs.props??[];return []}function he(t,e){return JSON.stringify(ke(t))===JSON.stringify(ke(e))}function ke(t){return [...t].map(e=>({localName:e.localName,attributes:Object.fromEntries(Object.entries(e.attributes??{}).sort(([n],[r])=>n<r?-1:1))})).sort((e,n)=>e.localName<n.localName?-1:1)}function Be(t){if(!t||t.kind==="textValue")return [];let e=[];for(let n of t.children){if(n.kind==="textValue")continue;let r={};for(let s of n.attributes)r[s.localName]=s.value;e.push(Object.keys(r).length>0?{localName:n.localName,attributes:r}:{localName:n.localName});}return e}function Ht(t){return t.kind==="textValue"?"":`${{drawing:"Picture",pict:"Picture",object:"Embedded object",fldSimple:"Field",hyperlink:"Hyperlink",sdt:"Content control",tbl:"Table"}[t.localName]??t.localName} \u2014 preserved, not editable yet`}function G(t){if(t.kind==="textValue")return [];let e=[],n=r=>{if(r.kind!=="run")return;let s=r.children.find(o=>o.kind==="runProperties"),l=Be(s);for(let o of r.children)if(o.kind!=="runProperties"){if(o.kind==="tab"){e.push({kind:"tab"});continue}if(o.kind==="hardBreak"){e.push(Yb(o)?{kind:"pageBreak"}:{kind:"hardBreak"});continue}if(o.kind==="text"){let c="";for(let p of o.children)p.kind==="textValue"&&(c+=p.value);c.length>0&&e.push({kind:"text",text:c,props:l});continue}e.push({kind:"unknown",nodeId:o.id,label:Ht(o)});}};return Rb(t.children,0,r=>{if(r.kind==="run"){n(r);return}e.push({kind:"unknown",nodeId:r.id,label:Ht(r)});}),e}function M(t){let e=[],n=r=>{if(r.kind!=="textValue"){if(r.kind==="body"){for(let s of r.children)s.kind==="paragraph"&&e.push(s);return}for(let s of r.children)n(s);}};return n(t.root),e}function $(t){let e=[];for(let n of ze$1(t))n.root.kind!=="textValue"&&Ce(n.root.children,e,0);return e}function Y(t){let e=M(t).map(n=>{let r=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:Be(r)},s)});return E.node("doc",null,e.length>0?e:[E.node("paragraph")])}function Q(t){let e=[];return t.forEach(n=>{if(n.isText&&n.text){e.push({kind:"text",text:n.text,props:Le(n)});return}n.type.name==="tab"?e.push({kind:"tab"}):n.type.name==="hardBreak"?e.push({kind:"hardBreak"}):n.type.name==="pageBreak"?e.push({kind:"pageBreak"}):n.type.name==="unknownInline"&&e.push({kind:"unknown",nodeId:String(n.attrs.nodeId??""),label:String(n.attrs.label??"")});}),e}function C(t){let e="";for(let n of t)n.kind==="text"?e+=n.text:n.kind==="tab"?e+=" ":n.kind==="hardBreak"?e+=`
|
|
2
|
+
`:n.kind==="pageBreak"&&(e+=Wb);return e}function jt(t){let e=[],n=0;for(let r of t)r.kind==="text"?n+=r.text.length:r.kind==="tab"||r.kind==="hardBreak"||r.kind==="pageBreak"?n+=1:e.push(`${r.nodeId}@${n}`);return e}function In(t,e){if(t===e)return null;let n=0,r=Math.min(t.length,e.length);for(;n<r&&t[n]===e[n];)n+=1;let s=t.length,l=e.length;for(;s>n&&l>n&&t[s-1]===e[l-1];)s-=1,l-=1;return {start:n,endBefore:s,endAfter:l}}function _t(t){let e=[];for(let n of t)if(n.kind==="text")for(let r=0;r<n.text.length;r+=1)e.push(n.props);else (n.kind==="tab"||n.kind==="hardBreak"||n.kind==="pageBreak")&&e.push(e[e.length-1]??[]);return e}function Tn(t,e,n,r,s){let l=[],o=jt(e),c=jt(n);if(JSON.stringify(o)!==JSON.stringify(c))return {ok:false,reason:"unknown-content-moved",detail:t};he(r,s)||l.push({op:"setParagraphProperties",paragraphId:t,properties:ke(s)});let p=C(e),m=C(n),h=In(p,m);if(h&&(h.endBefore>h.start&&l.push({op:"deleteText",paragraphId:t,start:h.start,end:h.endBefore}),h.endAfter>h.start)){let b=m.slice(h.start,h.endAfter),g=h.start,i="",y=()=>{i.length!==0&&(l.push({op:"insertText",paragraphId:t,offset:g,text:i}),g+=i.length,i="");};for(let k of b)k===" "?(y(),l.push({op:"insertTab",paragraphId:t,offset:g}),g+=1):k===`
|
|
3
|
+
`?(y(),l.push({op:"insertHardBreak",paragraphId:t,offset:g}),g+=1):k===Wb?(y(),l.push({op:"insertPageBreak",paragraphId:t,offset:g}),g+=1):i+=k;y();}if(!h){let b=_t(e),g=_t(n),i=0;for(;i<g.length;){if(he(b[i]??[],g[i])){i+=1;continue}let y=i,k=g[i];for(;i<g.length&&he(g[i],k)&&!he(b[i]??[],g[i]);)i+=1;l.push({op:"setRunProperties",paragraphId:t,start:y,end:i,properties:ke(k)});}}return {ok:true,ops:l}}function He(t,e){let n=M(t),r=[];if(e.forEach(l=>{l.type.name==="paragraph"&&r.push(l);}),r.length!==e.childCount)return {ok:false,reason:"unsupported-node"};let s=r.length-n.length;if(s===0){let l=[];for(let[o,c]of r.entries()){let p=n[o];if(c.attrs.nodeId!==p.id)return {ok:false,reason:"paragraph-reordered",detail:String(c.attrs.nodeId)};let m=Tn(p.id,G(p),Q(c),Be(p.kind==="textValue"?void 0:p.children.find(h=>h.kind==="paragraphProperties")),c.attrs.props??[]);if(!m.ok)return m;l.push(...m.ops);}return {ok:true,ops:l}}return s===1?Nn(n,r):s===-1?En(n,r):{ok:false,reason:"paragraph-count-unexplained",detail:String(s)}}function Nn(t,e){for(let n=0;n<t.length;n+=1){let r=t[n],s=e[n],l=e[n+1];if(!s||!l||s.attrs.nodeId!==r.id)continue;let o=l.attrs.nodeId;if(o!==null&&o!==r.id)continue;let c=C(Q(s));if(c+C(Q(l))===C(G(r))&&$t(t,e,n)&&zt(t,e,n+1,n+2))return {ok:true,ops:[{op:"splitParagraph",paragraphId:r.id,offset:c.length}]}}return {ok:false,reason:"split-not-clean"}}function En(t,e){for(let n=0;n+1<t.length;n+=1){let r=t[n],s=t[n+1],l=e[n];if(!l||l.attrs.nodeId!==r.id)continue;let o=C(G(r))+C(G(s));if(C(Q(l))===o&&$t(t,e,n)&&zt(t,e,n+2,n+1))return {ok:true,ops:[{op:"joinParagraphs",firstId:r.id,secondId:s.id}]}}return {ok:false,reason:"join-not-clean"}}function $t(t,e,n){for(let r=0;r<n;r+=1){let s=e[r],l=t[r];if(!s||s.attrs.nodeId!==l.id||C(Q(s))!==C(G(l)))return false}return true}function zt(t,e,n,r){for(let s=0;n+s<t.length;s+=1){let l=t[n+s],o=e[r+s];if(!o||o.attrs.nodeId!==l.id||C(Q(o))!==C(G(l)))return false}return true}function Cn(t,e){return Ea(t,e)!==null}function je(t,e,n){if(!n||n.created.length>0||n.deleted.length>0||n.splitJoin.length>0)return Y(e);let r=new Map;t.forEach(p=>{let m=p.attrs.nodeId;typeof m=="string"&&r.set(m,p);});let s=new Set(n.dirty),l=M(e);if(l.length!==t.childCount)return Y(e);let o=Y(e),c=[];for(let[p,m]of l.entries()){let h=r.get(m.id);c.push(h&&!s.has(m.id)?h:o.child(p));}return E.node("doc",null,c)}function Dn(t,e){let n=t.kind==="revision"?t.ranges[0]??null:t.range;if(!n)return null;let r=e.get(n.start.paragraphId);return r===void 0?null:r}function Wt(t,e,n){for(let s of e)if(s.ranges.length===0)return false;let r=new Set;for(let s of t)s.kind!=="revision"||s.ranges.length>0||Yt(s,n)||r.add(b(s));for(let s of e)if(r.has(b(s)))return false;return true}function Ut(t,e,n,r){let s=e.get(n);if(s===void 0)return [...t];let l=[],o=null;for(let c of t){if(c.kind==="revision"&&Yt(c,n)){o===null&&(o=l.length);continue}if(o===null){let p=Dn(c,e);p!==null&&p>s&&(o=l.length);}l.push(c);}if(o===null&&(o=l.length),r.length>0){let c=r.length<2?[...r]:[...r].sort((p,m)=>g(p,e)-g(m,e));l.splice(o,0,...c);}return ng(l)}function Yt(t,e){return t.ranges.length>0&&t.ranges.every(n=>n.start.paragraphId===e&&n.end.paragraphId===e)}function Mn(t,e){return t.range?t.range.start.paragraphId===e||t.range.end.paragraphId===e:false}function wn(t,e){return t.revisionKind==="structural"&&t.ranges.some(n=>n.start.paragraphId===e||n.end.paragraphId===e)}function Fn(t,e){return t.ranges.length===0||!t.ranges.some(r=>r.start.paragraphId===e||r.end.paragraphId===e)?false:!t.ranges.every(r=>r.start.paragraphId===e&&r.end.paragraphId===e)}function Gt(t,e,n,r,s,l,o){if(t.fromRevision!==e.bodyRevision||o!==e.packageRevision+1||t.story!==void 0&&t.story.kind!=="body"||t.impact!=="text-local"||t.dirty.length!==1||t.created.length>0||t.deleted.length>0||t.splitJoin.length>0||e.commentsPart!==s||e.commentsExtendedPart!==l)return null;let c=t.dirty[0],p=Ea(r,c);if(!p||p.kind!=="paragraph")return null;for(let m of n){if(m.kind==="comment"){if(Mn(m,c))return null;continue}if(m.kind==="custom"){if(m.range?.start.paragraphId===c)return null;continue}if(wn(m,c)||Fn(m,c))return null}return c}var Xt=/^[\p{L}\p{N}\p{M} \-.+_]{1,64}$/u,An=["ascii","hAnsi","cs","eastAsia"],Ln=["asciiTheme","hAnsiTheme","cstheme","eastAsiaTheme"];var Bn=/[\u0000-\u001F\u007F-\u009F]/;function xe(t){return t.kind!=="textValue"}function K(t,e){return t.attributes.find(n=>n.localName===e)?.value}function Jt(t,e){let n=new Map,r=o=>{if(!o||!Xt.test(o))return;let c=o.toLowerCase();n.has(c)||n.set(c,o);},s=[...t].reverse();for(;s.length>0;){let o=s.pop();if(xe(o)){if(o.localName==="rFonts"){for(let c of An)r(K(o,c));if(e)for(let c of Ln){let p=K(o,c);p!==void 0&&(p.startsWith("major")?r(e.major):p.startsWith("minor")&&r(e.minor));}}for(let c=o.children.length-1;c>=0;c-=1)s.push(o.children[c]);}}let l=[...n.values()];return l.sort((o,c)=>o<c?-1:o>c?1:0),l}var Hn=new Set(["paragraph","character","table","numbering"]),jn=/^[0-9A-Fa-f]{6}$/,_n=16,Kt=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 Zt(t){return t.children}function _e(t,e){for(let n of Zt(t))if(xe(n)&&n.localName===e)return n}function $n(t){return Kt.get(t.name.toLowerCase())??Kt.get(t.styleId.toLowerCase())??Number.MAX_SAFE_INTEGER}function $e(t){return t===void 0||t.length===0||t.length>128||Bn.test(t)?null:t}function Qt(t,e){if(!t)return [];let n=new Map;for(let l of t.children){if(!xe(l)||l.localName!=="style")continue;let o=$e(K(l,"styleId"));o!==null&&!n.has(o)&&n.set(o,l);}let r=l=>{let o=false,c=false,p=null,m=false,h=false,b=new Set,g=l;for(let k=0;k<_n&&g!==null&&!b.has(g);k+=1){b.add(g);let I=n.get(g);if(!I)break;let S=_e(I,"rPr");for(let T of S?Zt(S):[]){if(!xe(T))continue;let v=K(T,"val"),H=v!=="0"&&v!=="false"&&v!=="off";T.localName==="b"&&!m?(o=H,m=true):T.localName==="i"&&!h?(c=H,h=true):T.localName==="color"&&p===null&&v&&jn.test(v)&&(p=v);}let P=_e(I,"basedOn");g=P?$e(K(P,"val")):null;}let i=e?.(l),y=i?.fontFamily??null;return {fontFamily:y!==null&&Xt.test(y)?y:null,fontSizePt:i?.fontSizeHalfPoints!=null&&i.fontSizeHalfPoints>0?i.fontSizeHalfPoints/2:null,bold:o,italic:c,color:p}},s=[];for(let[l,o]of n){let c=K(o,"type");if(c===void 0||!Hn.has(c))continue;let p=_e(o,"name"),m=$e(p?K(p,"val"):void 0);s.push({styleId:l,name:m??l,type:c,preview:r(l)});}return s.map((l,o)=>({entry:l,index:o,rank:$n(l)})).sort((l,o)=>l.rank-o.rank||l.index-o.index).map(l=>l.entry)}var zn=128,Wn=/[\u0000-\u001F\u007F-\u009F]/,Un=/[\u0000-\u001F\u007F-\u009F]/g,Yn=200,Gn=/^heading ([1-9])$/i;function ze(t){return t.kind!=="textValue"}function re(t,e){for(let n of t.children)if(ze(n)&&n.localName===e)return n}function oe(t,e){return t.attributes.find(n=>n.localName===e)?.value}function Kn(t){let e=new Map;if(!t)return e;for(let n of t.children){if(!ze(n)||n.localName!=="style"||oe(n,"type")!=="paragraph")continue;let r=oe(n,"styleId");if(r===void 0||r.length===0||r.length>zn||Wn.test(r))continue;let s=re(n,"name"),l=s?oe(s,"val"):void 0,o=l!==void 0?Gn.exec(l):null;if(o){e.set(r,Number(o[1])-1);continue}let c=re(n,"pPr"),p=c?re(c,"outlineLvl"):void 0,m=p?oe(p,"val"):void 0;m!==void 0&&/^[0-8]$/.test(m)&&e.set(r,Number(m));}return e}function We(t){let e=re(t,"pPr"),n=e?re(e,"pStyle"):void 0;return n?oe(n,"val"):void 0}function qt(t,e){let n=Kn(e);if(n.size===0)return [];let r=[];for(let s of M(t)){if(!ze(s))continue;let l=We(s);if(l===void 0)continue;let o=n.get(l);if(o===void 0)continue;let p=(Af(t,s.id)??"").replace(Un," ").trim().slice(0,Yn);p.length!==0&&r.push({text:p,level:o,blockId:s.id});}return r}var be=48,Xn=/[\u0000-\u001F\u007F-\u009F]/g;function Vt(t){return t.kind!=="textValue"}function Oe(t){if(t.kind==="textValue")return t.value.length;if(t.kind==="tab"||t.kind==="hardBreak")return 1;if(t.kind==="runProperties"||t.kind==="generic")return 0;if(t.kind==="hyperlink"||Kb(t)){let n=0,r=t.kind==="hyperlink"?t.children:Mb(t)??[];for(let s of r)n+=Oe(s);return n}let e=0;for(let n of t.children)e+=Oe(n);return e}function Jn(t){let e=[],n=0;return Vt(t)&&Rb(t.children,0,r=>{if(r.kind==="run"){e.push(n),n+=Oe(r);return}n+=Oe(r);}),e}function Zn(t,e){if(t.length===0)return {index:0,offset:e};for(let n=t.length-1;n>=0;n-=1){let r=t[n];if(e>=r)return {index:n,offset:e-r}}return {index:0,offset:e}}function Ue(t,e){return t.replace(Xn," ").slice(0,e)}function en(t,e,n={}){let r={matches:[],truncated:false};if(!wg(e))return r;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}},o=[],c=0;for(let p of M(t)){if(!Vt(p))continue;let m=c;c+=1;let h=Af(t,p.id)??"";if(h.length===0)continue;let b=xg(h,e,s-o.length,l),g=null;for(let i of b.matches){let y=i.start+i.length;g??=Jn(p);let k=Zn(g,i.start);o.push({blockId:p.id,start:i.start,length:i.length,paragraphIndex:m,runIndex:k.index,runOffset:k.offset,text:Ue(h.slice(i.start,y),256),contextBefore:Ue(h.slice(Math.max(0,i.start-be),i.start),be),contextAfter:Ue(h.slice(y,y+be),be)});}if(b.truncated)return {matches:o,truncated:true}}return {matches:o,truncated:false}}var Qn=["lt1","dk1","lt2","dk2","accent1","accent2","accent3","accent4","accent5","accent6"],qn=/^[0-9A-Fa-f]{6}$/,tn={windowText:"000000",window:"FFFFFF"};function on(t){return t.kind!=="textValue"}function Se(t,e){return t.attributes.find(n=>n.localName===e)?.value}function rn(t,e){let n=[t];for(;n.length>0;){let r=n.pop();if(on(r)){if(r.localName===e)return r;for(let s=r.children.length-1;s>=0;s-=1)n.push(r.children[s]);}}return null}function Pe(t,e){for(let n of t.children)if(on(n)&&(e===void 0||n.localName===e))return n;return null}function Vn(t){let e=Pe(t);if(!e)return null;let n;if(e.localName==="srgbClr")n=Se(e,"val");else if(e.localName==="sysClr"){let r=Se(e,"val")??"";n=Se(e,"lastClr")??(Object.prototype.hasOwnProperty.call(tn,r)?tn[r]:void 0);}return n===void 0||!qn.test(n)?null:n.toUpperCase()}var eo=/^[\p{L}\p{N}\p{M} \-.+_]{1,64}$/u;function nn(t,e){let n=Pe(t,e),r=n?Pe(n,"latin"):null,s=r?Se(r,"typeface"):void 0;return s!==void 0&&eo.test(s)?s:null}function ae(t){if(!t)return {major:null,minor:null};let e=rn(t,"fontScheme");return e?{major:nn(e,"majorFont"),minor:nn(e,"minorFont")}:{major:null,minor:null}}function an(t){if(!t)return [];let e=rn(t,"clrScheme");if(!e)return [];let n=[];for(let r of Qn){let s=Pe(e,r),l=s?Vn(s):null;if(l===null)return [];n.push({slot:r,hex:l});}return n}var to=/^[\p{L}\p{N}\p{M} \-.+_]{1,64}$/u;var no=/[\u0000-\u001F\u007F-\u009F]/;function un(t){return t.kind!=="textValue"}function X(t,e){for(let n of t.children)if(un(n)&&n.localName===e)return n}function J(t,e){return t.attributes.find(n=>n.localName===e)?.value}function ln(t){return t===void 0||t.length===0||t.length>128||no.test(t)?null:t}function ve(t,e){return t==="minorAscii"||t==="minorHAnsi"?e.minor:t==="majorAscii"||t==="majorHAnsi"?e.major:null}function oo(t,e){let n=ve(J(t,"asciiTheme"),e)??ve(J(t,"hAnsiTheme"),e);if(n!==null)return n;let r=J(t,"ascii")??J(t,"hAnsi");return r===void 0?null:to.test(r)?r:null}function sn(t,e){if(!t)return {fontFamily:null,fontSizeHalfPoints:null};let n=X(t,"rFonts"),r=X(t,"sz"),s=r?J(r,"val"):void 0,l=s!==void 0&&/^\d{1,4}$/.test(s)?Number(s):null;return {fontFamily:n?oo(n,e):null,fontSizeHalfPoints:l!==null&&l>=2&&l<=3276?l:null}}function Ye(t,e){let n=new Map,r={fontFamily:null,fontSizeHalfPoints:null};if(t){let o=X(t,"docDefaults"),c=o?X(o,"rPrDefault"):void 0;r=sn(c?X(c,"rPr"):void 0,e);for(let p of t.children){if(!un(p)||p.localName!=="style")continue;let m=ln(J(p,"styleId"));if(m===null||n.has(m))continue;let h=X(p,"basedOn");n.set(m,{basedOn:ln(h?J(h,"val"):void 0),own:sn(X(p,"rPr"),e)});}}let s=new Map,l=o=>{let c=o??"",p=s.get(c);if(p)return p;let m=null,h=null,b=new Set,g=o;for(let y=0;g!==null&&y<16&&!b.has(g);y+=1){b.add(g);let k=n.get(g);if(!k)break;m??=k.own.fontFamily,h??=k.own.fontSizeHalfPoints,g=k.basedOn;}let i={fontFamily:m??r.fontFamily,fontSizeHalfPoints:h??r.fontSizeHalfPoints};return s.set(c,i),i};return (o,c)=>{let p=l(o),m=c?.find(b=>b.localName==="rFonts"),h=m?ve(m.attributes?.asciiTheme,e)??ve(m.attributes?.hAnsiTheme,e):null;return h===null?p:{...p,fontFamily:h}}}function dn(t){let e=new Map,n=new Map,r=new Map;return $(t).forEach((s,l)=>{r.set(s.id,l);let o=Kc(s);if(o===null||!Jc(o))return;e.set(s.id,o);let c=o.toUpperCase();n.has(c)||n.set(c,s.id);}),Object.freeze({paraIdByNode:e,nodeByParaId:n,ordinalByNode:r})}var ro=Object.freeze([]);function ao(t,e={}){let n=xb(t);if(!n.ok)return {ok:false,reason:n.reason,...n.detail?{detail:n.detail}:{}};let r=n.package,s=r.parts.get(r.mainDocumentPart);if(!s)return {ok:false,reason:"no-main-document-tree",detail:r.mainDocumentPart};let l=Qc(s),o=new Ff(r,l),c=null,p=null,m=null,h=null;o.subscribe(a=>{h=a;});let b=()=>o.bodyStore(),g=()=>o.currentPackage(),i=Object.freeze({kind:"body"}),y=(a,u)=>{let d=o.currentPackage(),f=a.checkpoint();a.graftPackage(()=>o.currentPackage());let x=u();return x.ok&&(a.restoreHistoryStacks(f),o.replacePackageShell(a.package),o.adoptPackageUnit(d),o.publishStoryWrite(x.change)),x},k=()=>{if(!c||c.packageRevision!==o.packageRevision){let a=Tb(g());c={packageRevision:o.packageRevision,resolution:a,parts:Ub(g())};}return c},I="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",S="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",P=false,T=null,v=()=>{if(P)return T;P=true;let a=g(),u=(a.relationships.get(a.mainDocumentPart)??[]).find(f=>f.type===I),d;if(u){let f=N(u);f.mode==="Internal"&&f.target.ok&&(d=a.parts.get(f.target.partName));}return d??=a.parts.get("/word/styles.xml"),T=d?.root??null,T},H=false,z=null,le=()=>{if(H)return z;H=true;let a=g(),u=(a.relationships.get(a.mainDocumentPart)??[]).find(f=>f.type===S),d;if(u){let f=N(u);f.mode==="Internal"&&f.target.ok&&(d=a.parts.get(f.target.partName));}return d??=a.parts.get("/word/numbering.xml"),z=d?.root??null,z},q="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings",se=-1,Re=null,Ge=()=>{if(se===o.packageRevision)return Re;se=o.packageRevision;let a=g(),u=(a.relationships.get(a.mainDocumentPart)??[]).find(f=>f.type===q),d;if(u){let f=N(u);f.mode==="Internal"&&f.target.ok&&(d=a.parts.get(f.target.partName));}return d??=a.parts.get("/word/settings.xml"),Re=d?.root??null,Re},mn="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",Ke$1=false,Ie=null,V=()=>{if(Ke$1)return Ie;Ke$1=true;let a=g(),u=(a.relationships.get(a.mainDocumentPart)??[]).find(f=>f.type===mn),d;if(u){let f=N(u);f.mode==="Internal"&&f.target.ok&&(d=a.parts.get(f.target.partName));}return d??=a.parts.get("/word/theme/theme1.xml"),Ie=d?.root??null,Ie},gn="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable",ie=null,yn=()=>{if(ie)return ie;let a=g(),u=(a.relationships.get(a.mainDocumentPart)??[]).find(f=>f.type===gn),d;if(u){let f=N(u);f.mode==="Internal"&&f.target.ok&&(d=a.parts.get(f.target.partName));}return d??=a.parts.get("/word/fontTable.xml"),ie=Object.freeze(G$1(a,d)),ie},ee=null,Xe=null,Je$1=null,Ze=null,ue=null,de=null,te=null,ne=null,ce=null,pe=null,Te=()=>{let a=b();return (!ce||ce.revision!==a.revision)&&(ce={revision:a.revision,index:dn(a.part)}),ce.index};return {ok:true,session:{editable:$(b().part).length>0,paragraphIds:()=>$(b().part).map(a=>a.id),paragraphIdsIn(a=i){let u=o.partFor(a);return u?$(u).map(d=>d.id):[]},part:()=>b().part,partFor:a=>o.partFor(a),currentPackage:g,applyTreeOps(a,u,d,f=i){if(a.length===0)return {committed:false,rejected:false,opCount:0};let x=a.filter(R=>Uc(R)||_d(R)).length;if(x>0){if(x!==a.length||a.length!==1)return {committed:false,rejected:true,opCount:a.length,reason:"invalidArgs"};let R=o.applyLifecycleOp(a[0]);return R.ok?{committed:true,rejected:false,opCount:1}:{committed:false,rejected:true,opCount:1,reason:R.detail??R.reason}}let O=o.transact(f,R=>{u!==void 0&&R.selectionBefore(u),d!==void 0&&R.selectionAfter(d);for(let N of a)R.apply(N);});return O.ok?{committed:true,rejected:false,opCount:a.length}:{committed:false,rejected:true,opCount:a.length,reason:O.reason}},projectDoc:()=>Y(b().part),reconcile:a=>je(a,b().part,h),lastCommitWasStructural:()=>h!==null&&(h.created.length>0||h.deleted.length>0||h.splitJoin.length>0||h.impact==="global"),applyPmDoc(a){let u=b(),d=He(u.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 f=o.transact(i,x=>{for(let O of d.ops)x.apply(O);});return f.ok?{committed:true,rejected:false,opCount:d.ops.length}:{committed:false,rejected:true,opCount:d.ops.length,reason:f.reason}},bodyText:()=>lo(b().part),storyText(a){let u=o.partFor(a);return u?$(u).map(d=>Af(u,d.id)??"").join(`
|
|
4
|
+
`):null},revision:()=>b().revision,revisionFor:a=>o.revisionFor(a),packageRevision:()=>o.packageRevision,canUndo:()=>o.canUndo,canRedo:()=>o.canRedo,undo:()=>{let a=o.selectionForUndo();return o.undo()===null?null:a},redo:()=>{let a=o.selectionForRedo();return o.redo()===null?null:a},beginComposition:(a=i)=>{o.beginComposition(a);},endComposition:()=>o.endComposition(),subscribe(a){return o.subscribe(a)},save(){return yb(g())},headerFooterParts:()=>{let a=k().parts;return a[a.length-1]??Vb(g())},headerFooterPartsBySection:()=>k().parts,headerFooterResolutionBySection:()=>k().resolution,documentFonts(){if(ee&&ee.revision===o.packageRevision)return ee.fonts;let a=k().parts,u=[b().part.root],d=v();d&&u.push(d);let f=new Set;for(let x of a){for(let O of x.headers.values())f.has(O)||(f.add(O),u.push(O.root));for(let O of x.footers.values())f.has(O)||(f.add(O),u.push(O.root));}return ee={revision:o.packageRevision,fonts:Jt(u,ae(V()))},ee.fonts},documentStyles(){ue??=Ye(v(),ae(V()));let a=ue;return Xe??=Qt(v(),u=>a(u)),Xe},stylesRoot:()=>v(),documentThemeFonts(){return Ze??=ae(V()),Ze},numberingRoot:()=>le(),settingsRoot:()=>Ge(),trackingSettings:()=>O(Ge()),documentThemeColors(){return Je$1??=an(V()),Je$1},effectiveRunDefaults(a,u){ue??=Ye(v(),ae(V()));let d=b();if(!de||de.revision!==d.revision){let f=new Map;for(let x of $(d.part))x.kind!=="textValue"&&f.set(x.id,We(x)??null);de={revision:d.revision,byId:f};}return ue(de.byId.get(a)??null,u)},documentOutline(){let a=b();return te&&te.revision===a.revision||(te={revision:a.revision,outline:qt(a.part,v())}),te.outline},findText(a,u){let d=b(),f=`${u?.matchCase===true?"c":""}${u?.wholeWord===true?"w":""}${u?.limit??""}\0${a}`;if(ne&&ne.revision===d.revision&&ne.key===f)return ne.result;let x=en(d.part,a,u??{});return ne={revision:d.revision,key:f,result:x},x},embeddedFonts:yn,paragraphAnchors:Te,paraIdOf:a=>Te().paraIdByNode.get(a)??null,nodeIdOf:a=>Te().nodeByParaId.get(a.toUpperCase())??null,relationshipTarget:(a,u=i)=>{let d=g(),f=o.partFor(u);return f?Tc(d,f.name,a):null},bookmarks:()=>{let a=b();return (!pe||pe.revision!==a.revision)&&(pe={revision:a.revision,index:yc(a.part)}),pe.index},ensureHyperlinkRelationship(a,u=i){let d=o.partFor(u);if(!d)return null;let f=g(),x=Sc(f,a,d.name);return x?(x.pkg!==f&&o.replacePackageShell(x.pkg),x.relationshipId):null},reviewItems(){let a=e.reviewModel;if(!a)return ro;let u=b(),d=`${o.packageRevision}:${u.revision}`;if(p&&p.revisionKey===d)return p.items;let f=g(),x=f.parts.get(Nf(f,u.part.name)),O=f.parts.get(Of(f,u.part.name)),R=[],N=new Set;for(let A of k().parts)for(let L of [A.headers,A.footers])for(let B of L.values())N.has(B)||(N.add(B),R.push(B));for(let A of ["footnote","endnote"]){let L=Ud(f,A);!L||N.has(L)||(N.add(L),R.push(L));}let w=p&&h?Gt(h,p,p.items,u.part,x,O,o.packageRevision):null,F,D;if(w&&p){let A=a.revisionItemsOfParagraph(u.part,w);Wt(p.items,A,w)?(F=Ut(p.items,p.paragraphOrder,w,A),D=p.paragraphOrder):(D=og(u.part),F=a.collectReviewItems({storyPart:u.part,furnitureParts:R,commentsPart:x,commentsExtendedPart:O,customNodePayloads:Uf(g(),u.part.name)}));}else D=og(u.part),F=a.collectReviewItems({storyPart:u.part,furnitureParts:R,commentsPart:x,commentsExtendedPart:O,customNodePayloads:Uf(g(),u.part.name)});return p={revisionKey:d,bodyRevision:u.revision,packageRevision:o.packageRevision,items:F,paragraphOrder:D,commentsPart:x,commentsExtendedPart:O},p.items},hasReviewContent(){let a=b();return (!m||m.revision!==a.revision)&&(m={revision:a.revision,present:ff(a.part).length>0||pn(a.part.root)}),m.present},replyToComment(a,u,d,f,x,O=i){let R=O.kind==="body"?null:o.resolveStory(O),N=R?.ok?R.store:b(),w=o.currentPackage(),F=N.checkpoint();N.graftPackage(()=>o.currentPackage());let D=Kf(N,{anchor:{paragraphId:u.paragraphId,start:u.start,end:u.end,...u.endParagraphId===void 0?{}:{endParagraphId:u.endParagraphId}},author:f,text:d,...x===void 0?{}:{date:x},...a===null?{}:{replyToCommentId:a}});return D.ok?(N.restoreHistoryStacks(F),o.replacePackageShell(N.package),o.adoptPackageUnit(w),o.publishStoryWrite(D.change),D.commentId):null},setCommentResolved(a,u){let d=b(),f=o.currentPackage(),x=d.checkpoint();d.graftPackage(()=>o.currentPackage());let O=Lf(d,a,u);return O.ok?(d.restoreHistoryStacks(x),o.replacePackageShell(d.package),o.adoptPackageUnit(f),o.publishStoryWrite(O.change),true):false},deleteComment(a,u=i,d){return this.deleteComments([{commentId:a}],u,d)},deleteComments(a,u=i,d){if(a.length===0)return false;let f=u.kind==="body"?b().part:o.partFor(u);if(!f)return false;let x={storyPartName:f.name,...d===void 0?{}:{noteId:d}},O=b(),R=o.currentPackage(),N=O.checkpoint();O.graftPackage(()=>o.currentPackage());let w=false,F=false,D=O.transact(A=>{A.applyPackage(L=>{let B=L;for(let fe of a){let Ne=fe.parentCommentId===void 0?Je(B,fe.commentId,x):Ke(B,fe.commentId,fe.parentCommentId,x);if(Ne===null)return w=true,L;F||=Ne!==B,B=Ne;}return B});});return w||!D.ok||!F?false:(O.restoreHistoryStacks(N),o.installPackageSnapshot(O.package),o.adoptPackageUnit(R),o.publishStoryWrite(D.change),true)},insertCustomNode(a,u=i){let d=u.kind==="body"?null:o.resolveStory(u),f=d?.ok?d.store:b();return y(f,()=>Rf(f,a,b().part.name))},removeCustomNode(a,u=i){let d=u.kind==="body"?null:o.resolveStory(u),f=d?.ok?d.store:b();return y(f,()=>Sf(f,a))},sweepCustomNodePayloads(a){let u=b(),d=Tf(o.currentPackage(),u.part.name,a);return d.ok?d.removed.length===0?{ok:true,removed:[]}:(o.replacePackageShell(d.pkg),{ok:true,removed:d.removed}):{ok:false,reason:d.reason}},ensureListDefinition(a){let u=L(g(),a);return u?(o.replacePackageShell(u.pkg),H=false,z=null,u.numId):null},ensureNumberingLevel(a,u,d){let f=g(),x=M$1(f,a,u,d);return x?(x!==f&&(o.replacePackageShell(x),H=false,z=null),true):false},insertImage(a,u){return o.insertImage(a,u)},replaceImage(a,u,d,f,x,O){return o.replaceImage(a,u,d,f,x,O)},deleteImage(a,u){return o.deleteImage(a,u)},applyImageProperties(a,u){return o.applyImageProperties(a,u)}}}}function lo(t){return M(t).map(e=>Af(t,e.id)??"").join(`
|
|
5
|
+
`)}var cn=new WeakMap;function pn(t,e=0){if(e>64)return false;let n=cn.get(t);if(n!==void 0)return n;let r=false;for(let s of t.children)if(s.kind!=="textValue"&&(s.kind==="commentRangeStart"||s.kind==="commentReference"||pn(s,e+1))){r=true;break}return cn.set(t,r),r}var so=s.projection;function xo(t,e,n){let r=t.filter(s=>s.localName!==e);return r.length!==t.length?r:[...r,n?{localName:e,attributes:n}:{localName:e}]}function bo(t,e,n={}){let r=null,s=false,l=()=>n.onChange?.(o()),o=()=>({revision:e.revision(),canUndo:e.canUndo(),canRedo:e.canRedo(),lastRejection:r}),c=i=>{s=true;let y=m.state.tr.replaceWith(0,m.state.doc.content.size,i.content);y.setMeta("addToHistory",false),m.dispatch(y),s=false;},p=i=>()=>(i()&&(c(e.projectDoc()),l()),true),m=new EditorView(t,{state:EditorState.create({doc:e.projectDoc(),plugins:[keymap({...baseKeymap,Home:selectTextblockStart,End:selectTextblockEnd,"Mod-z":p(()=>e.undo()!==null),"Mod-y":p(()=>e.redo()!==null),"Shift-Mod-z":p(()=>e.redo()!==null),"Mod-b":(i,y)=>g(i,y,"b"),"Mod-i":(i,y)=>g(i,y,"i"),"Mod-u":(i,y)=>g(i,y,"u",{val:"single"})})]}),editable:()=>e.editable,handleDOMEvents:{keydown:i=>(h(i),false),beforeinput:(i,y)=>{let k=y;if(i.composing)return false;h(i);let I=k.inputType;if(I==="insertText"&&k.data!=null){k.preventDefault();let{from:S,to:P}=i.state.selection;return i.dispatch(i.state.tr.insertText(k.data,S,P)),true}if(I==="deleteContentBackward"){k.preventDefault();let{from:S,empty:P}=i.state.selection;return P?S>0?i.dispatch(i.state.tr.delete(S-1,S)):joinBackward(i.state,i.dispatch):deleteSelection(i.state,i.dispatch),true}if(I==="deleteContentForward"){k.preventDefault();let{from:S,to:P,empty:T}=i.state.selection;return T?P<i.state.doc.content.size?i.dispatch(i.state.tr.delete(S,S+1)):joinForward(i.state,i.dispatch):deleteSelection(i.state,i.dispatch),true}return I==="insertParagraph"?(k.preventDefault(),splitBlock(i.state,i.dispatch),true):false},compositionstart:()=>(e.beginComposition(),false),compositionend:()=>(e.endComposition(),l(),false)},dispatchTransaction(i){let y=m.state.apply(i);if(s||!i.docChanged){m.updateState(y);return}let k=e.applyPmDoc(y.doc);if(k.rejected){r=String(k.reason??"rejected"),m.updateState(y),c(e.projectDoc()),l();return}r=null,m.updateState(k.committed&&e.lastCommitWasStructural()?b(y):y),l();}});function h(i){if(i.composing||s)return;let y=i.dom.ownerDocument.getSelection(),k=y?.anchorNode,I=y?.focusNode;if(!(!y||!k||!I)&&!(!i.dom.contains(k)||!i.dom.contains(I)))try{let S=i.posAtDOM(k,y.anchorOffset),P=i.posAtDOM(I,y.focusOffset),T=i.state.selection;if(T.anchor===S&&T.head===P)return;let v=TextSelection.create(i.state.doc,S,P);i.dispatch(i.state.tr.setSelection(v).setMeta("addToHistory",!1));}catch{}}function b(i){let y=e.paragraphIds(),k=i.tr,I=false,S=0;return i.doc.forEach((P,T)=>{let v=y[S];S+=1,!(P.type.name!=="paragraph"||v===void 0)&&P.attrs.nodeId!==v&&(k=k.setNodeMarkup(T,void 0,{...P.attrs,nodeId:v}),I=true);}),I?i.apply(k.setMeta("addToHistory",false)):i}function g(i,y,k,I){let S=E.marks.runProps;if(!y)return true;let{from:P,to:T,empty:v}=i.selection;if(v)return true;let z=i.doc.resolve(P).marks().find(se=>se.type===S)?.attrs.props??[],le=xo(z,k,I),q=i.tr;return q.removeMark(P,T,S),le.length>0&&q.addMark(P,T,S.create({props:le})),y(q),true}return {view:m,state:o,undo:()=>p(()=>e.undo()!==null)(),redo:()=>p(()=>e.redo()!==null)(),toggleRunProperty(i,y){g(m.state,m.dispatch.bind(m),i,y);},destroy:()=>m.destroy()}}export{E as a,Le as b,M as c,$ as d,Y as e,He as f,Cn as g,je as h,We as i,ao as j,so as k,bo as l};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {t,u,G,w as w$1,B as B$1,A,z,yc,Dc,Ea,Ca,Ha,Aa,o,ca,pe,ne as ne$1,Fa,Ja,le,Ga,zb,df,Ze,Ve as Ve$1,Re,Fb,Ra,ba,Kc,la,q as q$1,ua,wa,Zb,kc,Kb,Mb,va,ka,pa,oa}from'./chunk-2H6LCX4H.js';import {strFromU8,strToU8}from'fflate';var $t=["extension","capability","command","query","schema","dependencyKey","runtimePort","result","origin"],At=/^[a-z0-9]+(?:-[a-z0-9]+)*(?:\.[a-z0-9]+(?:-[a-z0-9]+)*)+$/,Dt=/^@[a-z0-9.-]+\/[a-z0-9.-]+(?:#[a-z0-9]+(?:[/._-][a-z0-9]+)*)?$/;function nt(e){return At.test(e)||Dt.test(e)}function Y(e,t){if(!nt(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 Ft=/^(\d+)\.(\d+)\.(\d+)$/;function k(e){let t=Ft.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 J(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=k(e),r=t.trim();if(r==="*")return true;if(r.startsWith("^")){let o=k(r.slice(1));return J(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=k(a.slice(i.length)),l=J(n,d);i===">="?s=s&&l>=0:s=s&&l<0;}return s}return J(n,k(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 Lt(e,t={}){let n=new Map;for(let l of e){if(Y(l.id,"extension"),rt(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)Y(c.id,c.kind),rt(c.version,`${l.id} \u2192 ${c.id}`),c.replaces&&Ht(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)}}Bt(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=Mt(p,c);i.set(l,m);}return {extensions:n,contributions:i,get:(l,c)=>i.get(_e(l,c))}}function Mt(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 Bt(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 rt(e,t){try{k(e);}catch{throw new h("invalid-version",`invalid version ${JSON.stringify(e)} in ${t}`,[t])}}function Ht(e,t){try{q("0.0.0",e);}catch{throw new h("invalid-version",`invalid version range ${JSON.stringify(e)} in ${t}`,[t])}}var S=class extends Error{constructor(t){super(t),this.name="BudgetError";}},M=class e{constructor(t,n){this.label=t;this.capacity=n;this.used=new G(`${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 S(`${this.label}: cannot release with ${this.children.size} child budget(s) outstanding`);if(this.activeReservations>0)throw new S(`${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 S(`${this.label}: ${t.length} cleanup error(s); first: ${String(t[0])}`)}assertLive(){if(this.disposed)throw new S(`${this.label}: budget already released`)}};var Q=class extends Error{constructor(n,r){super(r?`cancelled: ${r}`:"cancelled");this.derivedOnly=n;this.name="CancellationError";}derivedOnly},B=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 Q(t.derivedOnly,t._reason)}}}};var Z=class extends Error{constructor(n){super(`runtime port not available: ${n}`);this.portId=n;this.name="PortResolutionError";}portId},$e=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 Z(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(w$1.clock)}identity(){return this.resolve(w$1.identity)}},Ae=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}},De=class{constructor(t="id"){this.prefix=t;}prefix;n=0;newId(){return this.n+=1,`${this.prefix}-${this.n}`}};function Ut(e){let t=B$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 M(`op:${o}`,r),cancellation:new B};return Object.freeze(s)}function Vt(e){e.budget.dispose();}var Le=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"}}),ot=Object.keys(Le);function Xt(e,t){return new G(`${Le[t].phase}:${t}`,e[t])}var Fe=class{counter;current=0;peak=0;constructor(t){this.counter=new G("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 jt(){for(let e of ot){let t=A[e],n=z[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 Me(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",Be={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 He(e,t,n,r={}){let o=Be[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:it(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 Ue(e,t){let n=Be[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 Me(t,r)}function it(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)=>it(r,t[o],n)):false}var st=new Set([...t,...u]),at=/^[0-9a-f]{16}$/,Kt=/^[0-9a-f]*$/;function Ve(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}]`;st.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&&Gt(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&&!at.test(i.authoredStateHash)&&n(`${a}: authoredStateHash must be 16-hex`),i.outputHash!==void 0&&!at.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}`),Kt.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 Gt(e,t,n){st.has(e.origin)||n(`${t}: modelChange origin ${e.origin} unknown`),e.toRevision<=e.fromRevision&&n(`${t}: modelChange revision must advance`);}function zt(e,t){let n=Ve(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 {He("authoredState",i.authoredState,i.authoredState).equal||r.push(`${a}: authored state is not self-consistent`);let c=lt(i.authoredState);c!==d.authoredStateHash&&r.push(`${a}: authoredStateHash ${c} != expected ${d.authoredStateHash}`);}}),{ok:r.length===0,mismatches:r}}function lt(e){return Ue("authoredState",e)}var Wt=new Map([["embedRegular","regular"],["embedBold","bold"],["embedItalic","italic"],["embedBoldItalic","boldItalic"]]),Yt=32;function pt(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(Yt,o.length);for(let a=0;a<s;a+=1)o[a]=o[a]^r[a%16];return o}var Xe=(e,t)=>{if(!(e.kind==="textValue"||!("attributes"in e))){for(let n of e.attributes??[])if(n.localName===t)return n.value}},ct=e=>e.kind==="textValue"?[]:e.children??[],dt=e=>e.kind==="textValue"||!("localName"in e)?"":e.localName;function Jt(e,t,n){for(let r of e.relationships.get(t)??[]){if(r.id!==n)continue;if(r.targetMode==="External")return null;let o=q$1(t,r.rawTarget);return o.ok?o.partName:null}return null}function qt(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(dt(d)==="font"){let l=Xe(d,"name");if(l&&l.length<=128)for(let c of ct(d)){if(s.length>=o)return;let p=Wt.get(dt(c));if(!p)continue;let u=Xe(c,"id"),m=Xe(c,"fontKey");if(!u||!m)continue;let f=Jt(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=pt(y,m);O&&(a.set(f,O),s.push({family:l,style:p,bytes:O,partName:f}));}}for(let l of ct(d))i(l);}};return i(t.root),s}function ut(e){if(e.kind!=="textValue")for(let t of e.children){if(t.kind==="textValue")continue;if(t.kind==="hyperlink"){let r=Ra(t);if(r!==void 0&&r.length>0)return r}let n=ut(t);if(n!==void 0)return n}}function Qt(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),Dc(t)}function Zt(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=yc(e),i=new Map;for(let d of o){let l=Dc(d.text),c=i.get(l);c?c.push(d.blockId):i.set(l,[d.blockId]);}return t.resultParagraphIds.map(d=>{let l=Ea(e,d);if(!l||l.kind==="textValue")return null;let c=ut(l),p=c===void 0?void 0:a.get(c);if(p&&s.has(p.paragraphId)){let f=i.get(Dc(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=Qt(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===la?e.localName:`{${e.namespaceUri}}${e.localName}`}function I(e){let t=[];for(let n of e.attributes)t.push(n.namespaceUri===""||n.namespaceUri===la?`${n.localName}=${n.value}`:`{${n.namespaceUri}}${n.localName}=${n.value}`);return t.sort(),t}function ft(e,t){let n=I(e),r=n.length>0?`${C(e)}(${n.join(",")})`:C(e);if(t>=ba)return r;let o=[];for(let s of e.children){if(s.kind==="textValue"){s.value!==""&&o.push(`#${s.value}`);continue}o.push(ft(s,t+1));}return o.sort(),o.length>0?`${r}[${o.join(",")}]`:r}function mt(e){if(!e)return [];let t=[];for(let n of e.children)n.namespaceUri===la&&t.push(ft(n,1));return t.sort(),t}function je(e){if(e.kind==="textValue")return e.value;if(e.kind==="tab")return " ";if(e.kind==="hardBreak")return Zb(e);if(e.kind==="drawing")return kc();if(e.kind==="runProperties"||e.kind==="paragraphProperties"||e.kind==="generic")return "";if(e.kind==="hyperlink"||Kb(e)){let n="",r=e.kind==="hyperlink"?e.children:Mb(e)??[];for(let o of r)n+=je(o);return n}let t="";for(let n of e.children)t+=je(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 U(e,t){try{return va(e,t)}catch(n){if(n instanceof pa&&n.reason==="undeclared-prefix")return `generic-refusal:undeclared-prefix:{${e.namespaceUri}}${e.localName}`;throw n}}function Ke(e,t,n=ua){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!==la&&s.push(U(a,o));s.sort(),t.push(...s);return}if(e.kind==="generic"){t.push(U(e,n));return}if(Kb(e)){t.push(wa(e));return}if(e.kind==="bookmarkStart"||e.kind==="bookmarkEnd"){t.push(va(e,n));return}if(e.kind==="drawing"){t.push(yt(e));return}if(ka(e.kind))return;let r=x(n,e);for(let o of e.children)Ke(o,t,r);}function en(e){return `hyperlink(${e.attributes.map(n=>`${n.namespaceUri}|${n.localName}=${n.value}`).sort().join(",")})`}function tn(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===oa)?.value,o=n.attributes.find(s=>s.localName==="link"&&s.namespaceUri===oa)?.value;if(r!==void 0)return `embed=${r}`;if(o!==void 0)return `link=${o}`}}function ee(e,t,n){if(e.kind==="textValue")return `#${e.value}`;if(t>=ba)return C(e);let r=x(n,e);if(e.kind==="generic")return U(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(ee(i,t+1,r));return a.sort(),a.length>0?`${s}[${a.join(",")}]`:s}function nn(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=>ee(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(ee(l,t+1,r));continue}o.push(ee(s,t+1,r));}return o.sort(),o}function Ge(e,t,n){if(e.kind==="textValue")return `#${e.value}`;if(t>=ba)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=tn(e),d=nn(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(Ge(i,t+1,r));continue}if(i.kind==="generic"){a.push(U(i,r));continue}i.kind!=="textValue"&&a.push(Ge(i,t+1,r));}return a.length>0?`${s}[${a.join(",")}]`:s}function yt(e){let t=x(ua,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(U(i,r));continue}i.kind!=="textValue"&&a.push(Ge(i,1,r));}return a.length>0?`drawing[${s};${a.join(";")}]`:`drawing[${s}]`}function rn(e,t,n){let r=e.children.find(c=>c.kind==="paragraphProperties"),o=[],s="",a=[],i=x(ua,e),d=(c,p)=>{if(c.kind==="run"){let u=x(p,c),m=c.children.find(f=>f.kind==="runProperties");o.push(mt(m)),s+=je(c);for(let f of c.children)Ke(f,a,u);return}if(c.kind==="drawing"){a.push(yt(c));return}if(c.kind==="hyperlink"){a.push(en(c));let u=x(p,c);for(let m of c.children)d(m,u);return}if(c.kind==="contentControl"){a.push(wa({...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}Ke(c,a,p);};for(let c of e.children)d(c,i);let l=Kc(e);return {ordinal:t,path:n,paraId:l===null?null:l.toUpperCase(),text:s,paragraphProperties:mt(r),runProperties:o,genericStructure:a}}function on(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 gt(e,t,n,r,o,s){if(s>ba)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)}`),gt(i,d,n,r,o,s+1);}}function ht(e){let t=on(e.root),n=[],r=[],o=[];gt(t,"",n,r,o,0);let s=n.map((a,i)=>rn(a,i,r[i]));return {partName:e.name,paragraphs:s,structure:o}}function an(e){let t=[];for(let n of e){let r=ht(n);r&&t.push(r);}return {stories:t}}function sn(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 V="http://schemas.openxmlformats.org/wordprocessingml/2006/main",dn="http://schemas.openxmlformats.org/package/2006/relationships",xt="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",w="application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml",pn="application/vnd.openxmlformats-package.relationships+xml",un="http://schemas.openxmlformats.org/package/2006/content-types",Nt="/[Content_Types].xml",E="/word/numbering.xml",Ot=[{text:"\uF0B7",font:"Symbol"},{text:"o",font:"Courier New"},{text:"\uF0A7",font:"Wingdings"}],Rt=["decimal","lowerLetter","lowerRoman"],ze=9;function It(e,t){let n=720*(t+1),r='<w:start w:val="1"/>';if(e==="bullet"){let a=Ot[t%Ot.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=Rt[t%Rt.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 mn(e,t){let n=Array.from({length:ze},(r,o)=>It(e,o)).join("");return `<w:abstractNum w:abstractNumId="${t}"><w:multiLevelType w:val="${e==="bullet"?"hybridMultilevel":"multilevel"}"/>${n}</w:abstractNum>`}function fn(){let e=Aa(`<w:numbering xmlns:w="${V}"></w:numbering>`,{name:E,contentType:w});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===V&&n.push(r);return n},N=(e,t)=>e.attributes.find(n=>n.localName===t)?.value;function kt(e,t){let n=Aa(`<w:numbering xmlns:w="${V}">${e}</w:numbering>`,{name:E,contentType:w});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!==V||s.localName!==a.localName||a.attribute&&N(s,a.attribute.localName)!==a.attribute.value)return null}return r}var Ct=["numPicBullet","abstractNum","num","numIdMacAtCleanup"];function bt(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 Et(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 yn(e,t){let n=e.parts.get(E),r=n??fn();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"),Ye=b(O,"abstractNumId")[0],Je=Ye?N(Ye,"val"):void 0;if(!$||!Je)continue;let qe=s.find(X=>N(X,"abstractNumId")===Je);if(!qe)continue;let Qe=b(qe,"lvl").find(X=>N(X,"ilvl")==="0"||N(X,"ilvl")===void 0),Ze=Qe?b(Qe,"numFmt")[0]:void 0;if(Ze&&N(Ze,"val")===i)return {pkg:e,numId:$}}let d=Et(s,"abstractNumId"),l=Et(a,"numId"),c=kt(mn(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=Ca(r),[u,m]=c.map(O=>te(O,p));if(!u||!m)return null;let f=Ha(r,o.id,bt(o.children,Ct,"abstractNum"),[u]);if(!f.ok)return null;let y=Ha(f.part,o.id,bt(f.part.root.children,Ct,"num"),[m]);if(!y.ok)return null;let g=Object.freeze({...e,parts:new Map([...e.parts,[E,y.part]])});if(!n){let O=Nn(g);if(!O)return null;let $=bn(O);if(!$)return null;g=$;}return {pkg:g,numId:String(l)}}var gn=["nsid","multiLevelType","tmpl","name","styleLink","numStyleLink","lvl"];function St(e){let t=N(e,"ilvl");return t===void 0||!/^\d{1,9}$/.test(t)?null:Number(t)}function hn(e,t){let n=0;return e.forEach((r,o)=>{if(r.kind!=="textValue"){if(r.localName==="lvl"&&r.namespaceUri===V){(St(r)??0)<t&&(n=o+1);return}gn.includes(r.localName)&&(n=o+1);}}),n}function xn(e,t,n,r){if(!Number.isInteger(n)||n<0||n>=ze||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=>St(f)===n))return e;if(c.length>=ze)return null;let p=kt(It(r,n),[{localName:"lvl",attribute:{localName:"ilvl",value:String(n)}}]);if(!p)return null;let u=Ca(o),m=Ha(o,l.id,hn(l.children,n),[te(p[0],u)]);return m.ok?Object.freeze({...e,parts:new Map([...e.parts,[E,m.part]])}):null}function te(e,t){return e.kind==="textValue"?{...e,id:t()}:{...e,id:t(),children:e.children.map(n=>te(n,t))}}function Nn(e){let t=e.mainDocumentPart,n=On(t),r=e.parts.get(n),o=Rn(e),s=Aa(`<Relationships xmlns="${dn}"><Relationship Id="${o}" Type="${xt}" Target="numbering.xml"/></Relationships>`,{name:n,contentType:pn});if(!s.ok)return null;let a=e.relationships.get(t)??[],i={ownerPart:t,id:o,type:xt,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=Ca(r),c=s.part.root.children[0];if(!c)return null;let p=Ha(r,r.root.id,r.root.children.length,[te(c,l)]);return p.ok?Object.freeze({...e,parts:new Map([...e.parts,[n,p.part]]),relationships:d}):null}function On(e){let t=e.lastIndexOf("/");return `${e.slice(0,t)}/_rels/${e.slice(t+1)}.rels`}function Rn(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 Cn=`<Override PartName="${E}" ContentType="${w}"/>`;function bn(e){let t=e.contentTypes.overrides.get(o(E));if(t===w)return e;if(t!==void 0)return null;let n=e.partBytes.get(Nt);if(!n)return null;let r=strFromU8(n),o$1=Pt(r);if(!o$1)return null;let s=r.lastIndexOf(`</${o$1.rootName}>`);if(s===-1)return null;let a=r.slice(0,s)+Cn+r.slice(s),i=Pt(a);if(!i||i.rootName!==o$1.rootName)return null;let d=[...o$1.children,vt("Override",{PartName:E,ContentType:w})];return i.children.length!==d.length||i.children.some((l,c)=>l!==d[c])?null:Object.freeze({...e,partBytes:new Map([...e.partBytes,[Nt,strToU8(a)]]),contentTypes:Object.freeze({defaults:e.contentTypes.defaults,overrides:new Map([...e.contentTypes.overrides,[o(E),w]])})})}function Pt(e){let t=ca(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"]!==un)return null;let a=[];for(let i of r.children)i.type==="element"&&a.push(vt(i.name,i.attributes));return {rootName:r.name,children:a}}function vt(e,t){let n=Object.entries(t).map(([r,o])=>`${r}=${o}`).sort();return [e,...n].join("")}function ne(e){return e!=null&&e.kind!=="textValue"}function We(e,t){for(let n of e.children)if(n.kind!=="textValue"&&n.namespaceUri===la&&n.localName===t)return n;return null}function re(e,t){for(let n of e.attributes)if(n.namespaceUri===la&&n.localName===t)return n.value}function _(e,t){let n=We(e,t);if(!n)return false;let r=re(n,"val");return r===void 0?true:r!=="0"&&r!=="false"&&r!=="off"}var Tt=Object.freeze({trackRevisions:false,restrictedToTrackedChanges:false,doNotTrackMoves:false,doNotTrackFormatting:false});function En(e){if(!ne(e))return Tt;let t=We(e,"documentProtection"),n=t===null?void 0:re(t,"enforcement"),r=n!==void 0&&n!=="0"&&n!=="false"&&n!=="off";return {trackRevisions:_(e,"trackRevisions"),restrictedToTrackedChanges:r&&t!==null&&re(t,"edit")==="trackedChanges",doNotTrackMoves:_(e,"doNotTrackMoves"),doNotTrackFormatting:_(e,"doNotTrackFormatting")}}var wt=Object.freeze({doNotShadeFormData:false});function Pn(e){return ne(e)?{doNotShadeFormData:_(e,"doNotShadeFormData")}:wt}function In(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 pe(n.root)){let l=ne$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=Fa(o,d);if(!c)continue;if(l==="remove"){let g=Ja(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=le(p),m=u?u.children:[],f=c.children.flatMap(g=>g.id===d?m:[g]),y=Ga(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:zb(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 Sn(i,t.storyPartName,d)){let c=df(i,l.itemId),p=Ze(i,l.partName,c);if(p.pkg===i&&p.removed.length===0&&!kn(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=vn(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 kn(e,t,n){return Ve$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 Sn(e,t,n){return Re(e,t).filter(r=>r.namespaceUri===n)}function vn(e,t){let n=Fb(e,t.partName);if(!n.ok)return {pkg:e,ok:false};let r=Fb(n.pkg,t.propsPartName);return r.ok?{pkg:r.pkg,ok:true}:{pkg:e,ok:false}}
|
|
2
|
+
export{He as A,Ue as B,Ve as C,zt as D,lt as E,pt as F,qt as G,Zt as H,ht as I,an as J,sn as K,yn as L,xn as M,Tt as N,En as O,wt as P,Pn as Q,In as R,$t as a,nt as b,Y as c,k as d,J as e,q as f,h as g,Lt as h,S as i,M as j,Q as k,B as l,Z as m,$e as n,Ae as o,De as p,Ut as q,Vt as r,Le as s,ot as t,Xt as u,Fe as v,jt as w,H as x,Me as y,Be as z};
|