@betteroffice/docx 0.4.1 → 0.4.3
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/{chunk-2HLVVQIL.mjs → chunk-3RPZ44TT.mjs} +1 -1
- package/dist/chunk-5Z22FORG.mjs +1 -0
- package/dist/chunk-7ZV6P6NZ.mjs +57 -0
- package/dist/{chunk-2QHGQA3V.mjs → chunk-AXFMDV66.mjs} +1 -1
- package/dist/{chunk-YLFKV2NT.mjs → chunk-EBYC3CX7.mjs} +1 -1
- package/dist/chunk-FK7X7557.mjs +1 -0
- package/dist/{chunk-3CYO46ML.mjs → chunk-GKWXOZZH.mjs} +1 -1
- package/dist/chunk-HGKSOBXK.mjs +1 -0
- package/dist/{chunk-DKWD4P4J.mjs → chunk-LIOWZSE7.mjs} +1 -1
- package/dist/chunk-ML6E23W2.mjs +1 -0
- package/dist/{chunk-NVN26RHH.mjs → chunk-MLEMGJP7.mjs} +1 -1
- package/dist/chunk-QBMNRD5V.mjs +2 -0
- package/dist/chunk-SHVHVJUB.mjs +1 -0
- package/dist/chunk-UBUTIWXN.mjs +1 -0
- package/dist/{chunk-7DDF4RHB.mjs → chunk-VH7P4734.mjs} +1 -1
- package/dist/collaboration/index.d.mts +5 -5
- package/dist/compareDocx-URPCPAQT.mjs +1 -0
- package/dist/{computeLayout-4MNWHE2T.mjs → computeLayout-ZTO6TBWX.mjs} +1 -1
- package/dist/{content-BzoC6bSz.d.mts → content-DSb-6a9T.d.mts} +5 -5
- package/dist/core.d.mts +3 -3
- package/dist/core.mjs +1 -1
- package/dist/{displayListQueries-DnHmHUPY.d.mts → displayListQueries-BVBDVXoP.d.mts} +2 -2
- package/dist/docx/index.d.mts +1 -1
- package/dist/docx/index.mjs +2 -2
- package/dist/editor/index.d.mts +10 -6
- package/dist/editor/index.mjs +1 -1
- package/dist/{frameDelta-ByU7HBuB.d.mts → frameDelta-CLeO7K5z.d.mts} +5 -2
- package/dist/generated/edit/docx_edit_bg.wasm +0 -0
- package/dist/generated/layout/docx_layout_bg.wasm +0 -0
- package/dist/generated/opc/ooxml_opc_bg.wasm +0 -0
- package/dist/generated/parse/docx_parse_bg.wasm +0 -0
- package/dist/{index-yOtBET85.d.mts → index-DzZVJC8-.d.mts} +230 -86
- package/dist/layout/index.d.mts +2 -2
- package/dist/layout/index.mjs +1 -1
- package/dist/layout/pagination/index.d.mts +3 -3
- package/dist/layout/render/index.d.mts +9 -9
- package/dist/layout/render/index.mjs +1 -1
- package/dist/{parseWasm-NLAG22EU.mjs → parseWasm-BESKFFA3.mjs} +1 -1
- package/dist/plugin-api/RenderedDomContext.d.mts +5 -5
- package/dist/plugin-api/index.d.mts +1 -1
- package/dist/plugin-api/resolveItemPositions.d.mts +1 -1
- package/dist/{rustDisplayList-DcaA5iok.d.mts → rustDisplayList-B7uPoItK.d.mts} +2 -2
- package/dist/types/content.d.mts +1 -1
- package/dist/types/document.d.mts +2 -2
- package/dist/{types-Buyw6dFd.d.mts → types-Cz7S77Ut.d.mts} +3 -1
- package/dist/utils/comments.d.mts +1 -1
- package/dist/utils/index.d.mts +1 -1
- package/dist/utils/index.mjs +1 -1
- package/dist/{wasm-IBCLSJQU.mjs → wasm-JPDPN2B2.mjs} +1 -1
- package/dist/wasm-KSZTTO3B.mjs +1 -0
- package/dist/wasm-QI7MWC5D.mjs +1 -0
- package/dist/wasm-edit.d.mts +27 -2
- package/dist/wasm-edit.mjs +1 -1
- package/dist/wasm-layout.mjs +1 -1
- package/dist/wasm-opc.mjs +1 -1
- package/dist/wasm-parse.mjs +1 -1
- package/dist/yrs/index.d.mts +4 -4
- package/dist/yrs/index.mjs +1 -1
- package/dist/yrs/residentEngineWorker.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-3OWET2KZ.mjs +0 -1
- package/dist/chunk-4GEXNR7A.mjs +0 -1
- package/dist/chunk-4QHAMEAS.mjs +0 -1
- package/dist/chunk-6CHGYCFU.mjs +0 -1
- package/dist/chunk-C5BX34CG.mjs +0 -2
- package/dist/chunk-EIPVFGIC.mjs +0 -1
- package/dist/chunk-FMOSOX5V.mjs +0 -57
- package/dist/compareDocx-QX2YF3EF.mjs +0 -1
- package/dist/wasm-6WSIEYWC.mjs +0 -1
- package/dist/wasm-GSI2XMOH.mjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import'../chunk-EUUIJVM6.mjs';import {d,u as u$1,v as v$1,j,i,b as b$3}from'../chunk-3OWET2KZ.mjs';import {a,b as b$2,c as c$1}from'../chunk-EIPVFGIC.mjs';import {k as k$1,C as C$1,w as w$1,u as u$2,a as a$1,h,l,j as j$1}from'../chunk-4GEXNR7A.mjs';import'../chunk-DKWD4P4J.mjs';import {b as b$1}from'../chunk-6CHGYCFU.mjs';import'../chunk-TTRUPDAB.mjs';async function Q(e){await a(),b$2(e);let n=c$1(Me()),r=new Set,a$1=false,i=false,l=false,d=()=>{l||(n.track_undo(),l=true);},g=()=>{a$1||(n.set_update_observer((t,s)=>{if(!(s!==0&&s!==1))for(let f of [...r])f(t,s===0?"local":"remote");}),a$1=true);},p={version:()=>n.version(),resolveParagraphAnchor:t=>JSON.parse(n.resolve_paragraph_anchor(JSON.stringify(t))),findText:t=>JSON.parse(n.find_text_json(JSON.stringify(t))),readParagraphs:t=>JSON.parse(n.read_paragraphs_json(JSON.stringify(t))),applyEdits:t=>JSON.parse(n.apply_edits_json(JSON.stringify(t))),listRevisions:()=>JSON.parse(n.list_revisions()),revisionStamps:t=>JSON.parse(n.revision_stamps_json(JSON.stringify(t))),settleRevisions:(t,s)=>{n.settle_revisions_json(JSON.stringify({accept:t,reject:s}));},...typeof n.begin_shared_reads=="function"&&typeof n.end_shared_reads=="function"?{sharedReads:t=>{n.begin_shared_reads();try{return t()}finally{n.end_shared_reads();}}}:{}},R={version:()=>n.version(),hasStory:t=>!Ne.test(t)&&n.has_story(t),storyIds:()=>n.story_ids(),paragraphs:t=>JSON.parse(n.paragraphs(t)),paragraphIdCount:(t,s)=>n.paragraph_id_count(t,s),paragraphSpans:t=>JSON.parse(n.paragraph_spans(t)),storySegments:t=>JSON.parse(n.story_segments(t)),locateParagraph:(t,s)=>JSON.parse(n.locate_paragraph(t,s)),listRevisions:()=>JSON.parse(n.list_revisions()),resolveParagraphAnchor:p.resolveParagraphAnchor,findText:p.findText};return {proposalEngine:p,geometryReader:R,paragraphIdentities:()=>JSON.parse(n.paragraph_identities()),storiesChangedSince:t=>JSON.parse(n.stories_changed_since(t)),openDocx:(t,s,f)=>b$3(n.open_docx(t,true,f,s),m=>m.startsWith("media:")?n.media_data_url(m)??null:null),encodeState:()=>n.encode_state(),revisionCount:()=>JSON.parse(n.list_revisions()).length,registerFont:t=>n.register_measure_font(t),registerSubstituteFont:(t,s)=>n.register_substitute_measure_font(t,s),clearFonts:()=>n.clear_measure_fonts(),encodeStateVector:()=>n.encode_state_vector(),measureParagraphJson:t=>n.measure_paragraph_json(t),layoutDocumentJson:t=>n.layout_document_json(t),layoutFontRequirementsJson:t=>n.layout_font_requirements_json(t),layoutDocumentWithRegionsRetainedJson:t=>n.layout_document_with_regions_retained_json(t),beginRegionLayout:t=>JSON.parse(n.begin_region_layout(t)),resumeRegionLayout:t=>JSON.parse(n.resume_region_layout(t)),setPartialDocument:t=>n.set_partial_document(t),layoutDocumentWithRegionsPrefixRetainedJson:(t,s)=>n.layout_document_with_regions_prefix_retained_json(t,s),layoutDocumentWithRegionsRetained:t=>n.layout_document_with_regions_retained(t),retainedHeadersFootersJson:()=>n.retained_headers_footers_json(),buildDisplayListFrame:(t,s)=>n.build_display_list_frame(t,s),setDisplayWindow:(t,s)=>n.set_display_window(t,s),setDisplayRetainBuiltPages:t=>n.set_display_retain_built_pages(t),setWindowedIncrementalBuilds:t=>n.set_windowed_incremental_builds(t),buildDisplayPagesFrame:(t,s)=>n.build_display_pages_frame(Uint32Array.from(t),s),residentCaretSnapshot:()=>JSON.parse(n.resident_caret_snapshot_json()),selection:()=>JSON.parse(n.selection()),applyInput:(t,s)=>(d(),n.apply_input(t,s)),applyDelete:(t,s,f=1)=>(d(),n.apply_delete(t,s,f)),residentDeletedUnits:()=>n.resident_deleted_units(),applyInputProfiled:(t,s)=>{d();let f=n.apply_input_profiled(t,s),m=JSON.parse(n.apply_input_profile_json());return {frame:f,profile:m}},applyDeleteProfiled:(t,s,f=1)=>{d();let m=n.apply_delete_profiled(t,s,f),x=JSON.parse(n.apply_input_profile_json());return {frame:m,profile:x}},outlineGlyphJson:(t,s)=>n.outline_glyph_json(t,s),loadMediaSources:t=>n.load_media_sources(t),loadState:t=>n.load(t),applyUpdate:t=>JSON.parse(n.apply_update_with_inference(t)),onUpdate:t=>(r.add(t),g(),()=>r.delete(t)),setSelection:(t,s=t)=>{if(t.story!==s.story)throw new Error("yrs selection must stay inside one story");n.set_selection(t.story,t.paraId,t.offset,s.paraId,s.offset);},yrsBlocksForStory:(t,s={})=>JSON.parse(n.yrs_blocks_for_story(t,JSON.stringify(s))),destroy:()=>{i||(i=true,r.clear(),a$1&&n.clear_update_observer(),n.free());}}}var Ne=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/;function Me(){if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function"){let e=new Uint32Array(1);return crypto.getRandomValues(e),e[0]}return Math.floor(Math.random()*4294967295)}var Ie=self,o=null,B=null,G=null,v=null,c=[],re=0,q=-1,ve=Promise.resolve(),_=null,V=null,P=new Map,Y=new Map,C=new Set,F=new Set,H=1,K=1,z={color:"#000",width:2},N=null,w=null,A=null,$=null,M=new Set,b=null,S=null,E=null,y=null,Ye=24,Ue=3,Te=2**32-1,ke=0,Pe=new Set;Ie.onmessage=e=>{Ce(()=>je(e.data),e.data.id);};function Ce(e,n,r=()=>true){ve=ve.then(()=>{if(r()){if(b)throw b;return ke=n,e()}}).catch(a=>Fe(n,a));}function Fe(e,n){let r=b??n;if(r instanceof WebAssembly.RuntimeError){Je(e,r);return}u({id:e,ok:false,error:n instanceof Error?n.message:String(n)});}function Je(e,n){if(Pe.has(e))return;Pe.add(e),b=n;let r=We();u({id:e,ok:false,error:r>0?`Resident engine worker ran out of memory allocating ${r} bytes: ${n.message}`:`Resident engine worker trapped: ${n.message}`,terminal:true,...r>0?{outOfMemory:true}:{}});}async function je(e){if(e.type==="warm"){try{await a(),u({id:e.id,ok:!0});}catch(r){u({id:e.id,ok:false,error:r instanceof Error?r.message:String(r)});}return}if(e.type==="destroy"){De();return}if(e.type==="open"){if(o)throw new Error("Resident engine worker already holds a document");let r=await Q(e.heapLimitBytes),a;try{a=r.openDocx(new Uint8Array(e.bytes),e.digest,e.generation);}catch(l){throw l instanceof WebAssembly.RuntimeError||r.destroy(),l}B?.destroy(),B=null,o=r,G={heapLimitBytes:e.heapLimitBytes};let i=k(o.encodeStateVector());u({id:e.id,ok:true,hostJson:a,stateVector:i},[i]);return}if(e.type==="bootstrap"){if(!e.opened)De(e.keepSurfaces===true),o=await Q(e.heapLimitBytes);else {if(!o||!G)throw new Error("Resident engine worker has no opened document");if(e.heapLimitBytes!==void 0&&e.heapLimitBytes!==G.heapLimitBytes)throw new Error("Resident engine worker opened its document under another heap limit")}v?.(),v=null,I(o,e.displayWindow,e.retainBuiltPages);let{layoutJson:r,provisional:a}=Ee(e.snapshot,e.provisionalPages,e.layoutExtras!==void 0,e.opened!==true);a&&(S={layoutInput:e.snapshot.layoutInput,extras:e.extras,layoutExtras:e.layoutExtras}),xe();let i=performance.now(),l=o.buildDisplayListFrame(te(e.extras,e.layoutExtras,r),e.expectedFrameEpoch);await W(e.id,l,performance.now()-i,c,void 0,i,false,false,e.layoutExtras===void 0?void 0:r??void 0,a);return}if(e.type==="fontRequirements"){if(!o)throw new Error("Resident engine worker is not initialized");u({id:e.id,ok:true,requirementsJson:o.layoutFontRequirementsJson(e.layoutInput)});return}if(e.type==="encodeState"){if(!o)throw new Error("Resident engine worker is not initialized");let r=k(o.encodeState());u({id:e.id,ok:true,state:r,version:o.proposalEngine.version(),proposals:B?.exportState()??{previewVersion:0,entries:[]}},[r]);return}if(e.type==="revisionCount"){if(!o)throw new Error("Resident engine worker is not initialized");u({id:e.id,ok:true,revisionCount:o.revisionCount()});return}if(e.type==="eraseCaret"){N=null,w!==null&&await ne(false),u({id:e.id,ok:true});return}if(!o)throw new Error("Resident engine worker is not initialized");if(e.type==="proposal"){if(!v)throw new Error("Resident engine worker has not laid out its document");await L(),c=[];let r=false;try{let a=B??(B=d(o.proposalEngine)),i=o.storiesChangedSince(Number.MAX_SAFE_INTEGER).revision,l;switch(e.operation.kind){case "propose":l=a.propose(e.operation.request);break;case "setStates":l=a.setStates(e.operation.request);break;case "withdraw":l=a.withdraw(e.operation.request);break}r=e.operation.kind!=="snapshot";let d$1=o.storiesChangedSince(i).stories;d$1.length>0&&(E=null);let g=c.map(k),p=k(o.encodeStateVector());u({id:e.id,ok:!0,proposal:{...l===void 0?{}:{result:l},mirror:{version:o.proposalEngine.version(),proposals:a.exportState()},changedStories:d$1,updates:g,stateVector:p,geometry:u$1(o.geometryReader,a.snapshot())}},[...g,p]);}catch(a){if(b)throw b;if(a instanceof WebAssembly.RuntimeError)throw a;u({id:e.id,ok:false,error:a instanceof Error?a.message:String(a),...r||c.length>0?{terminal:true}:{}});}finally{c=[];}return}if(e.type==="documentRead"){await L();let r=o.proposalEngine,a;switch(e.read.kind){case "paragraphIdentities":a=o.paragraphIdentities();break;case "resolveParagraphAnchors":a={results:e.read.anchors.map(i=>r.resolveParagraphAnchor(i))};break;case "readParagraphs":a=r.readParagraphs(e.read.request);break;case "navigationTarget":a=v$1(o.geometryReader,e.read.story,e.read.paraId);break}u({id:e.id,ok:true,read:{version:r.version(),value:a}});return}if(e.type==="sync"){v?.(),v=null,I(o,e.displayWindow,e.retainBuiltPages);let{layoutJson:r}=Ee(e.snapshot,void 0,e.layoutExtras!==void 0);xe();let a=performance.now(),i=o.buildDisplayListFrame(te(e.extras,e.layoutExtras,r),e.expectedFrameEpoch);await W(e.id,i,performance.now()-a,c,void 0,a,false,e.paintCaret,e.layoutExtras===void 0?void 0:r??void 0);return}if(e.type==="buildPages"){I(o),c=[];let r=performance.now(),a=o.buildDisplayPagesFrame(e.pages,e.expectedFrameEpoch);await W(e.id,a,performance.now()-r,c,void 0,r,false,e.paintCaret);return}if(e.type==="completeLayout"){if(I(o),S&&e.sliceBlocks){ae(),y={id:e.id,expectedFrameEpoch:e.expectedFrameEpoch,paintCaret:e.paintCaret,blocks:e.sliceBlocks,begun:false,restarts:0},ee(y);return}await L(),await oe(e.id,e.expectedFrameEpoch,e.paintCaret);return}if(e.type==="buildFrame"){await L(),I(o,e.displayWindow,e.retainBuiltPages),c=[];let r=performance.now(),a=o.buildDisplayListFrame(e.extras,e.expectedFrameEpoch);await W(e.id,a,performance.now()-r,c,void 0,r,false,e.paintCaret);return}if(e.type==="applyUpdate"){o.applyUpdate(e.update),e.selection&&o.setSelection(e.selection.anchor,e.selection.head);return}if(e.type==="attachCanvases"){let r=P.size>0&&(H!==e.devicePixelRatio||K!==e.zoom),a=new Set(e.pages.map(i=>i.pageId));for(let i of e.activePageIds)F.has(i)||a.add(i);for(let{pageId:i,canvas:l}of e.pages)P.set(i,l);F=new Set(e.activePageIds),H=e.devicePixelRatio,K=e.zoom,z=e.caretStyle;for(let[i,l]of P)F.has(i)||(k$1(l),Y.delete(i),Le(i));await ne(r?true:a),u({id:e.id,ok:true});return}await L(),E=null,I(o,e.displayWindow,e.retainBuiltPages),o.setSelection(e.selection.anchor,e.selection.head),c=[];let n=performance.now();try{let r=e.type==="applyDelete"?e.profile?o.applyDeleteProfiled(e.direction,e.expectedFrameEpoch,e.count):{frame:o.applyDelete(e.direction,e.expectedFrameEpoch,e.count),profile:void 0}:e.profile?o.applyInputProfiled(e.text,e.expectedFrameEpoch):{frame:o.applyInput(e.text,e.expectedFrameEpoch),profile:void 0};await W(e.id,r.frame,performance.now()-n,c,r.profile,n,e.selection.head.story==="body",e.paintCaret,void 0,!1,e.type==="applyDelete"?o.residentDeletedUnits():void 0);}catch(r){if(b)throw b;if(r instanceof WebAssembly.RuntimeError)throw r;let a=r instanceof Error?r.message:String(r);u({id:e.id,ok:false,error:a,residentUnavailable:a.includes("resident input state is not ready"),...c.length>0?{terminal:true}:{}});}finally{c=[];}}function Ee(e,n,r=true,a=true){if(!o)throw new Error("Resident engine worker is not initialized");if(ae(),S=null,E=null,a&&!e.workerAuthoritative&&o.loadState(e.state),o.setPartialDocument(e.partialDocument===true),e.workerAuthoritative||o.loadMediaSources(e.mediaSources??""),e.fontsRevision!==q){o.clearFonts();for(let d of e.fonts)d instanceof Uint8Array?o.registerFont(d):o.registerSubstituteFont(d.substituteOf,d.family);q=e.fontsRevision;}for(let{story:d,env:g}of e.renderInputs)o.yrsBlocksForStory(d,g);for(let d of e.measureInputs)o.measureParagraphJson(d);let i=null,l=false;return e.layoutWithRegions&&n!==void 0?(i=o.layoutDocumentWithRegionsPrefixRetainedJson(e.layoutInput,n),l=JSON.parse(i).provisional===true):e.layoutWithRegions&&!r?o.layoutDocumentWithRegionsRetained(e.layoutInput):e.layoutWithRegions?i=o.layoutDocumentWithRegionsRetainedJson(e.layoutInput):o.layoutDocumentJson(e.layoutInput),!e.workerAuthoritative&&e.selection&&o.setSelection(e.selection.anchor,e.selection.head),re=e.layoutRevision,c=[],{layoutJson:i,provisional:l}}function I(e,n,r){n&&(e.setDisplayWindow(...n),e.setDisplayRetainBuiltPages(r===true)),e.setWindowedIncrementalBuilds(n!==void 0);}async function L(){if(!o||!S)return;let e=y;y=null;let{layoutInput:n,...r}=S;S=null;try{let a;if(e?.begun)try{a=o.resumeRegionLayout(Te).layoutJson;}catch(i){if(i instanceof WebAssembly.RuntimeError)throw i}E={...r,layoutJson:a??o.layoutDocumentWithRegionsRetainedJson(n),headersFootersJson:o.retainedHeadersFootersJson()},e&&await oe(e.id,e.expectedFrameEpoch,e.paintCaret);}catch(a){throw e&&Fe(e.id,a),a}}async function oe(e,n,r){let a=E;if(E=null,!o||!a){u({id:e,ok:true});return}I(o),c=[];let i=performance.now(),l=o.buildDisplayListFrame(te(a.extras,a.layoutExtras,null,a.headersFootersJson),n);await W(e,l,performance.now()-i,c,void 0,i,false,r,a.layoutJson);}var X=typeof MessageChannel=="function"?new MessageChannel:null,Oe=[];X&&(X.port1.onmessage=()=>Oe.shift()?.());function Ge(e){if(!X){setTimeout(e,0);return}Oe.push(e),X.port2.postMessage(null);}function ee(e){Ge(()=>{y===e&&Ce(async()=>{try{await Ve(e);}catch(n){throw y===e&&(y=null),n}},e.id,()=>y===e);});}async function Ve(e){if(!o||y!==e||!S)return;let n;if(!e.begun)n=o.beginRegionLayout(S.layoutInput),e.begun=true;else {let i=performance.now();try{n=o.resumeRegionLayout(e.blocks);}catch(d){if(d instanceof WebAssembly.RuntimeError)throw d;if(e.begun=false,e.restarts+=1,e.restarts>Ue){try{await L();}catch{}return}ee(e);return}let l=Math.max(1,performance.now()-i);e.blocks=Math.min(8192,Math.max(8,Math.round(e.blocks*Ye/l)));}if(n.layoutJson===void 0){ee(e);return}let{layoutInput:r,...a}=S;S=null,y=null,E={...a,layoutJson:n.layoutJson,headersFootersJson:o.retainedHeadersFootersJson()},await oe(e.id,e.expectedFrameEpoch,e.paintCaret);}function ae(){let e=y;y=null,e&&u({id:e.id,ok:true});}function te(e,n,r,a){if(n===void 0)return e;let i=a??(r===null?void 0:o?.retainedHeadersFootersJson()),l=i===void 0?void 0:JSON.parse(i);return C$1({...JSON.parse(n),...l?{headersFooters:l}:{}})}function xe(){o&&(v=o.onUpdate(e=>c.push(e.slice())));}function De(e=false){v?.(),v=null,B?.destroy(),B=null,o?.destroy(),o=null,G=null,c=[],re=0,q=-1,ae(),S=null,E=null,_=null,V=null,Y.clear(),C.clear(),e||(P.clear(),F.clear()),N=null,w=null,A=null,$=null,M.clear();}function Le(e){M.delete(e),w===e&&(w=null,A=null);}async function W(e,n,r,a=c,i,l=performance.now(),d=false,g=false,p,R=false,t){_=w$1(_,u$2(n));for(let h of _.damagedPageIds)C.add(h.toString());let s=o?.residentCaretSnapshot();if(!s||!j(s,_))throw new Error("Resident caret snapshot does not match the produced frame");if(d&&!s.caretRect)throw new Error("Resident input frame omitted collapsed caret geometry");let f=o?.selection()??null;N=g?s.caretRect??null:null;let m=new Set(_.pages.map(h=>h.pageId.toString()));for(let h of C)m.has(h)||C.delete(h);for(let h of P.keys())m.has(h)||(P.delete(h),Y.delete(h),Le(h));let x=performance.now(),{replayedPages:U,caretPainted:D}=await ne(false),J=performance.now()-x,O=k(n),ie=a.map(k),T=o?k(o.encodeStateVector()):void 0;u({id:e,ok:true,frame:O,updates:ie,engineMs:r,workerTotalMs:performance.now()-l,engineProfile:i,caret:s,selection:f,caretPainted:D,replayMs:J,replayedPages:U,layoutRevision:re,...t===void 0?{}:{deletedUnits:t},...T?{stateVector:T}:{},...p!==void 0?{layoutJson:p}:{},...R?{layoutProvisional:R}:{}},[O,...ie,...T?[T]:[]]);}async function ne(e){let n=e===true?F:e;if(n)for(let p of n)C.add(p);if(!_||P.size===0)return {replayedPages:0,caretPainted:false};!V&&o&&(V=new a$1({provider:(p,R)=>{try{return o.outlineGlyphJson(p,R)}catch(t){throw t instanceof WebAssembly.RuntimeError&&We()>0&&Je(ke,t),t}}}));let r=N&&F.has(N.pageId)?N:null,a=r?i(r,z,H,K):null,i$1=r&&a?`${r.pageId}|${a.x}|${a.y}|${a.width}|${a.height}|${z.color}`:null,l$1=[];for(let p=0;p<_.pages.length;p+=1){let t=_.pages[p].pageId.toString();if(!F.has(t))continue;let s=C.has(t),f=t===r?.pageId&&!(w===t&&A===i$1),m=t===w&&t!==r?.pageId;if(!s&&!f&&!m)continue;let x=P.get(t),U=_.displayList.pages[p];if(!x||!U)continue;let D=t,J=Y.get(D);J||(J=new OffscreenCanvas(1,1),Y.set(D,J));let O=J;if(!s&&M.has(D)){l$1.push(Promise.resolve({canvas:x,buffer:O,pageId:D}));continue}l$1.push(h(O,U,{glyphCache:V??void 0},H,K).then(()=>({canvas:x,buffer:O,pageId:D})));}let d=await Promise.all(l$1).catch(async p=>{throw await Promise.allSettled(l$1),p}),g=r!==null&&w===r.pageId&&A===i$1;for(let{canvas:p,buffer:R,pageId:t}of d)r&&a&&t===r.pageId?($||($=new OffscreenCanvas(1,1)),l(p,R,$,{...a,color:z.color}),M.add(t),w=t,A=i$1,g=true):(j$1(p,R),M.delete(t),w===t&&(w=null,A=null)),C.delete(t);return {replayedPages:d.length,caretPainted:g}}function k(e){return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.slice().buffer}function We(){return b$1().find(e=>e.label==="docx-edit")?.failedAllocationBytes??0}function u(e,n=[]){if(b&&e.ok)throw b;Ie.postMessage({...e,memory:b$1()},n);}
|
|
1
|
+
import {d,v,c as c$1,x as x$1,j as j$1,i,b as b$3,k as k$2,l as l$1,o as o$1,e as e$1}from'../chunk-5Z22FORG.mjs';import'../chunk-EUUIJVM6.mjs';import {c,a,d as d$1,e}from'../chunk-SHVHVJUB.mjs';import {k as k$1,D,a as a$1,h,l,j as j$2,x as x$2,u}from'../chunk-FK7X7557.mjs';import {b as b$1}from'../chunk-LIOWZSE7.mjs';import {b as b$2}from'../chunk-HGKSOBXK.mjs';import'../chunk-TTRUPDAB.mjs';async function he(e$1,i=Pn()){await a(),d$1(e$1);let n=e(i);n.set_local_lowering(true);let r=new Set,a$1=false,d=false,p=false,c=new Map,f=new Map,m=new Map,l=t=>{let s=c.get(t),u=JSON.parse(n.stories_changed_since(s?.revision??Number.MAX_SAFE_INTEGER));return !s||u.stories.includes(t)?(s={revision:u.revision,segments:JSON.parse(n.story_segments(t))},c.set(t,s)):s.revision=u.revision,s},g=()=>{p||(n.track_undo(),p=true);},h=()=>{a$1||(n.set_update_observer((t,s)=>{if(!(s!==0&&s!==1))for(let u of [...r])u(t,s===0?"local":"remote");}),a$1=true);},S={version:()=>n.version(),resolveParagraphAnchor:t=>JSON.parse(n.resolve_paragraph_anchor(JSON.stringify(t))),findText:t=>JSON.parse(n.find_text_json(JSON.stringify(t))),readParagraphs:t=>JSON.parse(n.read_paragraphs_json(JSON.stringify(t))),applyEdits:t=>JSON.parse(n.apply_edits_json(JSON.stringify(t))),listRevisions:()=>JSON.parse(n.list_revisions()),revisionStamps:t=>JSON.parse(n.revision_stamps_json(JSON.stringify(t))),settleRevisions:(t,s)=>{n.settle_revisions_json(JSON.stringify({accept:t,reject:s}));},...typeof n.begin_shared_reads=="function"&&typeof n.end_shared_reads=="function"?{sharedReads:t=>{n.begin_shared_reads();try{return t()}finally{n.end_shared_reads();}}}:{}},v={version:()=>n.version(),hasStory:t=>!tn.test(t)&&n.has_story(t),storyIds:()=>n.story_ids(),paragraphs:t=>JSON.parse(n.paragraphs(t)),paragraphIdCount:(t,s)=>n.paragraph_id_count(t,s),paragraphSpans:t=>{let s=f.get(t),u=JSON.parse(n.stories_changed_since(s?.revision??Number.MAX_SAFE_INTEGER));if(s&&!u.stories.includes(t))return s.revision=u.revision,s.spans;let y=JSON.parse(n.paragraph_spans(t));return f.set(t,{revision:u.revision,spans:y}),y},storySegments:t=>l(t).segments,positionOutline:t=>{if(tn.test(t))return null;let s=n.version(),u=m.get(t);if(u?.version===s)return u.outline;let y=JSON.parse(n.geometry_position_outline_json(t)),D=y==="legacy"?null:y;return m.set(t,{version:s,outline:D}),D},locateParagraph:(t,s)=>JSON.parse(n.locate_paragraph(t,s)),listRevisions:()=>JSON.parse(n.list_revisions()),resolveParagraphAnchor:S.resolveParagraphAnchor,findText:S.findText,proposalRevisions:t=>{let s=JSON.parse(n.proposal_revision_ranges_json(JSON.stringify(t)));if(Array.isArray(s))return s;if(s==="fallback"){let u=new Set(t);return v.listRevisions().filter(({revisionId:y})=>u.has(y))}return Rn(v,t)}};return {proposalEngine:S,geometryReader:v,paragraphSegments:(t,s)=>JSON.parse(n.story_segment_units(t,Uint32Array.from(s))),searchText:(t,s={})=>{if(!t)return [];let u=s.limit??Number.POSITIVE_INFINITY;if(!Number.isSafeInteger(u)&&u!==Number.POSITIVE_INFINITY||u<0)throw new RangeError("search limit must be a non-negative safe integer");return JSON.parse(n.search_text(t,s.caseSensitive??false,Number.isFinite(u)?Math.min(u,4294967295):void 0))},encodeStickyPosition:t=>({story:t.story,encoded:n.encode_sticky_position(t.story,t.paraId,t.offset)}),resolveStickyPosition:t=>{try{return JSON.parse(n.resolve_sticky_position(t.story,t.encoded))}catch{return null}},paragraphIdentities:()=>JSON.parse(n.paragraph_identities()),storiesChangedSince:t=>JSON.parse(n.stories_changed_since(t)),openDocx:(t,s,u)=>(c.clear(),b$3(n.open_docx(t,true,u,s),y=>y.startsWith("media:")?n.media_data_url(y)??null:null)),openDocxPreview:(t,s)=>{c.clear();let u=n.open_docx_preview(t,s);return u===void 0?null:b$3(u,y=>y.startsWith("media:")?n.media_data_url(y)??null:null)},encodeState:()=>n.encode_state(),revisionCount:t=>JSON.parse(n.list_revisions()).filter(s=>!t?.has(s.revisionId)).length,registerFont:t=>n.register_measure_font(t),registerSubstituteFont:(t,s)=>n.register_substitute_measure_font(t,s),clearFonts:()=>n.clear_measure_fonts(),encodeStateVector:()=>n.encode_state_vector(),measureParagraphJson:t=>n.measure_paragraph_json(t),layoutDocumentJson:t=>n.layout_document_json(t),layoutFontRequirementsJson:t=>n.layout_font_requirements_json(t),layoutDocumentWithRegionsRetainedJson:t=>n.layout_document_with_regions_retained_json(t),beginRegionLayout:t=>JSON.parse(n.begin_region_layout(t)),resumeRegionLayout:t=>JSON.parse(n.resume_region_layout(t)),setPartialDocument:t=>n.set_partial_document(t),layoutDocumentWithRegionsPrefixRetainedJson:(t,s)=>n.layout_document_with_regions_prefix_retained_json(t,s),layoutDocumentWithRegionsRetained:t=>n.layout_document_with_regions_retained(t),retainedHeadersFootersJson:()=>n.retained_headers_footers_json(),buildDisplayListFrame:(t,s)=>n.build_display_list_frame(t,s),setDisplayWindow:(t,s)=>n.set_display_window(t,s),setDisplayRetainBuiltPages:t=>n.set_display_retain_built_pages(t),setWindowedIncrementalBuilds:t=>n.set_windowed_incremental_builds(t),setDirectBatches:t=>n.set_direct_batches(t),directBatchesApplied:()=>n.direct_batches_applied(),buildDisplayPagesFrame:(t,s)=>n.build_display_pages_frame(Uint32Array.from(t),s),releaseDisplayPagesFrame:(t,s)=>{let u=n.release_display_pages_frame(Uint32Array.from(t),s);return u.length===0?null:u},residentCaretSnapshot:()=>JSON.parse(n.resident_caret_snapshot_json()),selection:()=>JSON.parse(n.selection()),applyInput:(t,s)=>(g(),n.apply_input(t,s)),applyDelete:(t,s,u=1)=>(g(),n.apply_delete(t,s,u)),residentDeletedUnits:()=>n.resident_deleted_units(),applyInputProfiled:(t,s)=>{g();let u=n.apply_input_profiled(t,s),y=JSON.parse(n.apply_input_profile_json());return {frame:u,profile:y}},applyDeleteProfiled:(t,s,u=1)=>{g();let y=n.apply_delete_profiled(t,s,u),D=JSON.parse(n.apply_input_profile_json());return {frame:y,profile:D}},outlineGlyphJson:(t,s)=>n.outline_glyph_json(t,s),loadMediaSources:t=>n.load_media_sources(t),loadState:t=>{c.clear(),n.load(t);},applyUpdate:t=>JSON.parse(n.apply_update_with_inference(t)),onUpdate:t=>(r.add(t),h(),()=>r.delete(t)),setSelection:(t,s=t)=>{if(t.story!==s.story)throw new Error("yrs selection must stay inside one story");n.set_selection(t.story,t.paraId,t.offset,s.paraId,s.offset);},yrsBlocksForStory:(t,s={})=>JSON.parse(n.yrs_blocks_for_story(t,JSON.stringify(s))),destroy:()=>{d||(d=true,r.clear(),c.clear(),a$1&&n.clear_update_observer(),n.free());}}}function Rn(e,i){let n=new Set(i),r=[],a=()=>e.listRevisions().filter(({revisionId:d})=>n.has(d));for(let d of e.storyIds().sort()){let p=0,c=new Set,f=[],m=new Map;for(let l of e.storySegments(d)){if(l.kind==="pilcrow"){if(ge(l.properties)||c.has(l.paraId))return a();c.add(l.paraId);for(let h of f.sort((S,v)=>S.start-v.start))r.push({revisionId:h.revisionId,kind:h.kind,story:d,range:{story:d,start:{paraId:l.paraId,offset:h.start},end:{paraId:l.paraId,offset:h.end}}});p=0,f=[],m.clear();continue}if(l.kind==="embed"&&ge(l.payload))return a();let g=l.kind==="text"?l.text.length:1;for(let[h,S]of [["ins","insertion"],["del","deletion"]]){let v=l.attributes[h];if(!v||typeof v!="object"||Array.isArray(v))continue;let t=v,s=t.info,u=s&&typeof s=="object"&&!Array.isArray(s)?s:t,y="id"in u?u.id:u.revisionId;if(typeof y!="string"&&!(typeof y=="number"&&Number.isFinite(y)))continue;let D=String(y);if(!n.has(D)){m.delete(S);continue}let U=m.get(S);if(U?.revisionId===D&&U.end===p)U.end+=g;else {let V={revisionId:D,kind:S,start:p,end:p+g};f.push(V),m.set(S,V);}}p+=g;}if(f.length>0)return a()}return r}var tn=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/;function ge(e){return !e||typeof e!="object"?false:Object.entries(e).some(([i,n])=>i==="id"||i==="revisionId"||i==="pPrIns"||i==="pPrDel"||i==="pPrChange"||i==="trIns"||i==="trDel"||i==="tableIns"||i==="tableDel"||ge(n))}function Pn(){if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function"){let e=new Uint32Array(1);return crypto.getRandomValues(e),e[0]}return Math.floor(Math.random()*4294967295)}function rn(e,i,n,r){return e!==true?null:i?n??0:r===null?0:Math.max(0,r-2)}function ve(e,i){let[n,r]=e??[0,i];return [n,Math.min(r,Math.max(n,i))]}function on(e,i,n,r){if(!i)return {matches:[],carried:-1};let a=e.searchText(i,{caseSensitive:n}).filter(t=>t.story==="body"||t.story.startsWith("body:"));if(a.length===0)return {matches:[],carried:-1};let d=e.hasStory("body")?e.positionOutline?.("body"):null,p=d?k$2(d):l$1(e,"body"),c=new Map,f=t=>(c.has(t)||c.set(t,e.hasStory(t)?e$1(t,e.paragraphSpans(t)):null),c.get(t)),m=t=>t.story==="body"||t.story.startsWith("body:")?o$1(e,()=>p,t,"body",f):null,l=[];for(let t of a){let s={story:t.story,paraId:t.paraId,offset:t.start},u=m(s),y=m({...s,offset:t.end});u==null||y==null||u>=y||l.push({story:t.story,paraId:t.paraId,start:t.start,displayFrom:u,displayTo:y});}if(l.sort((t,s)=>t.displayFrom-s.displayFrom),l.length===0)return {matches:l,carried:-1};let g=null;try{g=r?e.resolveStickyPosition(r):null;}catch{}if(!g)return {matches:l,carried:0};let h=l.findIndex(t=>t.story===g.story&&t.paraId===g.paraId&&t.start===g.offset);if(h>=0)return {matches:l,carried:h};let S=m(g),v=S==null?-1:l.findIndex(t=>t.displayFrom>=S);return {matches:l,carried:v>=0?v:l.length-1}}var ke=self,de,sn=fn(),o=null,N=null,we=null,P=null,J=null,ee=null,_n=8,ne=null,be=false,E=null,A=null,X=null,W=null,b=[],De=0,Re=-1,an=Promise.resolve(),R=null,te=null,B=new Map,$=new Map,j=new Set,G=new Set,se=1,ae=1,re={color:"#000",width:2},H=null,C=null,z=null,oe=null,Q=new Set,x=null,_=null,T=null,k=null,In=24,En=3,xn=2**32-1,L=null,un=4,cn=0,ln=new Set;ke.onmessage=e=>{let i=e.data;if(i.type==="editModule"){de(i.module instanceof WebAssembly.Module?i.module:null);return}Fe(()=>kn(i),i.id);};ke.onmessageerror=()=>de(null);function fn(){return new Promise(e=>{de=e;})}function Fe(e,i,n=()=>true){an=an.then(()=>{if(n()){if(x)throw x;return cn=i,e()}}).catch(r=>gn(i,r));}function gn(e,i){let n=x??i;if(n instanceof WebAssembly.RuntimeError){yn(e,n);return}w({id:e,ok:false,error:i instanceof Error?i.message:String(i)});}function yn(e,i){if(ln.has(e))return;ln.add(e),x=i;let n=bn();w({id:e,ok:false,error:n>0?`Resident engine worker ran out of memory allocating ${n} bytes: ${i.message}`:`Resident engine worker trapped: ${i.message}`,terminal:true,...n>0?{outOfMemory:true}:{}});}async function kn(e){if(Oe(),e.type==="warm"){try{if(e.hostModule){let n=setTimeout(()=>de(null),1e4);await c(sn.then(r=>(clearTimeout(n),r)));}else await a();w({id:e.id,ok:!0});}catch(n){e.hostModule&&(sn=fn()),w({id:e.id,ok:false,error:n instanceof Error?n.message:String(n)});}return}if(e.type==="destroy"){Se();return}if(e.type==="open"){if(o&&(!be||e.previewBlocks!==void 0))throw new Error("Resident engine worker already holds a document");o&&Se(true);let n=await he(e.heapLimitBytes),r;try{e.previewBlocks===void 0&&n.setDirectBatches(!0),r=e.previewBlocks===void 0?n.openDocx(new Uint8Array(e.bytes),e.digest,e.generation):n.openDocxPreview(new Uint8Array(e.bytes),e.previewBlocks);}catch(d){throw d instanceof WebAssembly.RuntimeError||n.destroy(),d}if(r===null){n.destroy(),w({id:e.id,ok:true,previewRefused:true});return}N?.destroy(),N=null,o=n,ne={heapLimitBytes:e.heapLimitBytes},be=e.previewBlocks!==void 0;let a=Y(o.encodeStateVector());w({id:e.id,ok:true,hostJson:r,stateVector:a},[a]);return}if(e.type==="bootstrap"){if(!e.opened)Se(e.keepSurfaces===true),o=await he(e.heapLimitBytes);else {if(!o||!ne)throw new Error("Resident engine worker has no opened document");if(e.heapLimitBytes!==void 0&&e.heapLimitBytes!==ne.heapLimitBytes)throw new Error("Resident engine worker opened its document under another heap limit")}W?.(),W=null,E=null,K(),O(o,e.displayWindow,e.retainBuiltPages);let{layoutJson:n,provisional:r}=dn(e.snapshot,e.provisionalPages,e.layoutExtras!==void 0,e.opened!==true);(E!==null||A!==null)&&O(o,e.displayWindow,e.retainBuiltPages),r&&(_={layoutInput:e.snapshot.layoutInput,workerAuthoritative:e.snapshot.workerAuthoritative,extras:e.extras,layoutExtras:e.layoutExtras}),pn();let a=performance.now(),d=o.buildDisplayListFrame(Ie(e.extras,e.layoutExtras,n),e.expectedFrameEpoch);await M(e.id,d,performance.now()-a,b,void 0,a,false,false,e.layoutExtras===void 0?void 0:n??void 0,r);return}if(e.type==="fontRequirements"){if(!o)throw new Error("Resident engine worker is not initialized");let n=mn(o,e.layoutInput);ee={owner:o,layoutInput:e.layoutInput},P={version:o.proposalEngine.version(),layoutInput:e.layoutInput,requirementsJson:n},w({id:e.id,ok:true,requirementsJson:n});return}if(e.type==="encodeState"){if(!o)throw new Error("Resident engine worker is not initialized");let n=Y(o.encodeState());w({id:e.id,ok:true,state:n,version:o.proposalEngine.version(),proposals:N?.exportState()??{previewVersion:0,entries:[]}},[n]);return}if(e.type==="revisionCount"){if(!o)throw new Error("Resident engine worker is not initialized");let n=new Set(N?.snapshot().proposals.flatMap(r=>r.revisionIds));w({id:e.id,ok:true,revisionCount:o.revisionCount(n)});return}if(e.type==="eraseCaret"){H=null,C!==null&&await xe(false),w({id:e.id,ok:true});return}if(!o)throw new Error("Resident engine worker is not initialized");if(e.type==="proposal"){if(!W)throw new Error("Resident engine worker has not laid out its document");b=[];let n=false;try{let r=N??(N=d(o.proposalEngine)),a=o.proposalEngine.version(),d$1=o.storiesChangedSince(Number.MAX_SAFE_INTEGER).revision,p;switch(e.operation.kind){case "propose":p=r.propose(e.operation.request);break;case "setStates":p=r.setStates(e.operation.request);break;case "withdraw":p=r.withdraw(e.operation.request);break}n=e.operation.kind!=="snapshot";let c=o.storiesChangedSince(d$1).stories;c.length>0&&(T=null);let f=b.map(Y),m=Y(o.encodeStateVector()),l=r.snapshot(),g=l.version,h=v(o.geometryReader,l,g===a&&(g===we||b$1(o.geometryReader)));we=h.version;let S=P?.version===a&&e.operation.kind==="propose"&&p?.ok===!0&&c$1(l)===void 0&&On(o,e.operation.request,p);P=P&&(S||e.operation.kind==="snapshot"&&P.version===l.version)?{...P,version:l.version}:null;let v$1=c$1(l);e.operation.kind==="setStates"&&p?.ok===!0&&c.length===0&&ee?.owner===o&&(P=Dn(o,ee.layoutInput,v$1,l.version)),w({id:e.id,ok:!0,proposal:{...p===void 0?{}:{result:p},mirror:{version:g,proposals:r.exportState()},changedStories:c,updates:f,stateVector:m,geometry:h,...P?{fontRequirements:{layoutInput:P.layoutInput,requirementsJson:P.requirementsJson}}:{}}},[...f,m]);}catch(r){if(x)throw x;if(r instanceof WebAssembly.RuntimeError)throw r;w({id:e.id,ok:false,error:r instanceof Error?r.message:String(r),...n||b.length>0?{terminal:true}:{}});}finally{b=[];}return}if(e.type==="documentRead"){let n=o.proposalEngine,r;switch(e.read.kind){case "paragraphIdentities":r=o.paragraphIdentities();break;case "resolveParagraphAnchors":r={results:e.read.anchors.map(a=>n.resolveParagraphAnchor(a))};break;case "readParagraphs":r=n.readParagraphs(e.read.request);break;case "navigationTarget":r=x$1(o.geometryReader,e.read.story,e.read.paraId);break;case "searchText":r=on({...o.geometryReader,searchText:o.searchText,resolveStickyPosition:o.resolveStickyPosition},e.read.query,e.read.caseSensitive,e.read.carry);break;case "stickyAnchors":{let a=o;r=e.read.locs.map(d=>{try{return a.encodeStickyPosition(d)}catch{return null}});break}}w({id:e.id,ok:true,read:{version:n.version(),value:r}});return}if(e.type==="sync"){W?.(),W=null,E=null,K(),O(o,e.displayWindow,e.retainBuiltPages);let{layoutJson:n,provisional:r}=dn(e.snapshot,e.provisionalPages,e.layoutExtras!==void 0);(E!==null||A!==null)&&O(o,e.displayWindow,e.retainBuiltPages),r&&(_={layoutInput:e.snapshot.layoutInput,workerAuthoritative:e.snapshot.workerAuthoritative,extras:e.extras,layoutExtras:e.layoutExtras}),pn();let a=performance.now(),d=o.buildDisplayListFrame(Ie(e.extras,e.layoutExtras,n),e.expectedFrameEpoch);await M(e.id,d,performance.now()-a,b,void 0,a,false,e.paintCaret,e.layoutExtras===void 0?void 0:n??void 0,r);return}if(e.type==="buildPages"){let n=E===null?A:Math.min(E,A??E),r=n===null?e.pages:e.pages.filter(p=>p<n);if(e.background&&r.length>un){let p={request:r===e.pages?e:{...e,pages:r},owner:o,frameEpoch:e.expectedFrameEpoch,frames:[],offset:0,started:performance.now(),engineMs:0};L=p,Sn(p);return}O(o),b=[];let a=performance.now(),d=o.buildDisplayPagesFrame(r,e.expectedFrameEpoch);await M(e.id,d,performance.now()-a,b,void 0,a,false,e.paintCaret);return}if(e.type==="releasePages"){if(!R||R.frameEpoch!==e.expectedFrameEpoch||e.pages.some(({index:a,pageId:d})=>R.pages[a]?.pageId.toString()!==d)){w({id:e.id,ok:true,superseded:true});return}let n=performance.now(),r=o.releaseDisplayPagesFrame(e.pages.map(({index:a})=>a),e.expectedFrameEpoch);if(r===null){w({id:e.id,ok:true,superseded:true});return}await M(e.id,r,performance.now()-n,[],void 0,n,false,e.paintCaret);return}if(e.type==="completeLayout"){if(O(o),_&&e.sliceBlocks){Ce(),k={id:e.id,expectedFrameEpoch:e.expectedFrameEpoch,paintCaret:e.paintCaret,blocks:e.sliceBlocks,begun:false,restarts:0},_e(k);return}await ie(),await Je(e.id,e.expectedFrameEpoch,e.paintCaret);return}if(e.type==="buildFrame"){_?.workerAuthoritative||await ie(),O(o,e.displayWindow,e.retainBuiltPages),b=[];let n=performance.now(),r=o.buildDisplayListFrame(e.extras,e.expectedFrameEpoch);await M(e.id,r,performance.now()-n,b,void 0,n,false,e.paintCaret);return}if(e.type==="applyUpdate"){P=null,o.applyUpdate(e.update),e.selection&&o.setSelection(e.selection.anchor,e.selection.head);return}if(e.type==="attachCanvases"){let n=B.size>0&&(se!==e.devicePixelRatio||ae!==e.zoom),r=new Set(e.pages.map(a=>a.pageId));for(let a of e.activePageIds)G.has(a)||r.add(a);for(let{pageId:a,canvas:d}of e.pages)B.set(a,d);G=new Set(e.activePageIds),se=e.devicePixelRatio,ae=e.zoom,re=e.caretStyle;for(let[a,d]of B)G.has(a)||(k$1(d),$.delete(a),wn(a));await xe(n?true:r),w({id:e.id,ok:true});return}await ie(),P=null,T=null,O(o,e.displayWindow,e.retainBuiltPages),o.setSelection(e.selection.anchor,e.selection.head),b=[];let i=performance.now();try{let n=e.type==="applyDelete"?e.profile?o.applyDeleteProfiled(e.direction,e.expectedFrameEpoch,e.count):{frame:o.applyDelete(e.direction,e.expectedFrameEpoch,e.count),profile:void 0}:e.profile?o.applyInputProfiled(e.text,e.expectedFrameEpoch):{frame:o.applyInput(e.text,e.expectedFrameEpoch),profile:void 0};await M(e.id,n.frame,performance.now()-i,b,n.profile,i,e.selection.head.story==="body",e.paintCaret,void 0,!1,e.type==="applyDelete"?o.residentDeletedUnits():void 0);}catch(n){if(x)throw x;if(n instanceof WebAssembly.RuntimeError)throw n;let r=n instanceof Error?n.message:String(n);w({id:e.id,ok:false,error:r,residentUnavailable:r.includes("resident input state is not ready"),...b.length>0?{terminal:true}:{}});}finally{b=[];}}function dn(e,i,n=true,r=true){if(!o)throw new Error("Resident engine worker is not initialized");if(Ce(),_=null,K(),T=null,r&&!e.workerAuthoritative&&(P=null,o.loadState(e.state)),o.setPartialDocument(e.partialDocument===true),E=e.partialDocument===true?0:null,e.workerAuthoritative||o.loadMediaSources(e.mediaSources??""),e.fontsRevision!==Re){o.clearFonts();for(let c of e.fonts)c instanceof Uint8Array?o.registerFont(c):o.registerSubstituteFont(c.substituteOf,c.family);Re=e.fontsRevision;}for(let{story:c,env:f}of e.renderInputs)o.yrsBlocksForStory(c,f);for(let c of e.measureInputs)o.measureParagraphJson(c);let a=null,d=false,p=null;if(e.layoutWithRegions&&i!==void 0){a=o.layoutDocumentWithRegionsPrefixRetainedJson(e.layoutInput,i);let c=JSON.parse(a);d=c.provisional===true,p=c.layout.pages.length;}else e.layoutWithRegions&&!n?o.layoutDocumentWithRegionsRetained(e.layoutInput):e.layoutWithRegions?(a=o.layoutDocumentWithRegionsRetainedJson(e.layoutInput),e.partialDocument===true&&(p=JSON.parse(a).layout.pages.length)):o.layoutDocumentJson(e.layoutInput);return !e.workerAuthoritative&&e.selection&&o.setSelection(e.selection.anchor,e.selection.head),De=e.layoutRevision,b=[],E=rn(e.partialDocument,d,i,p),A=d&&e.partialDocument!==true?i??null:null,{layoutJson:a,provisional:d}}function Pe(){J?.release(),J=null;}function mn(e,i){let n=e.proposalEngine.version();(J?.owner!==e||J.version!==n)&&(Pe(),J={owner:e,version:n,byInput:new Map,release:e.onUpdate(Pe)});let r=J.byInput.get(i);if(r!==void 0)return r;let a=e.layoutFontRequirementsJson(i);return J.byInput.size>=_n&&J.byInput.delete(J.byInput.keys().next().value),J.byInput.set(i,a),a}function Dn(e,i,n,r){try{if(e.proposalEngine.version()!==r)return null;let a=JSON.parse(i);if(!a.renderEnv||typeof a.renderEnv!="object")return null;n===void 0?delete a.renderEnv.revisionPreview:a.renderEnv.revisionPreview=n;let d=JSON.stringify(a);return {version:r,layoutInput:d,requirementsJson:mn(e,d)}}catch(a){if(x)throw x;if(a instanceof WebAssembly.RuntimeError)throw a;return null}}function O(e,i,n){if(E!==null){e.setDisplayWindow(...ve(i,E)),e.setDisplayRetainBuiltPages(i!==void 0&&n===true),e.setWindowedIncrementalBuilds(true);return}i&&(A!==null?(X={window:i,retainBuiltPages:n===true},e.setDisplayWindow(...ve(i,A)),e.setDisplayRetainBuiltPages(false)):(e.setDisplayWindow(...i),e.setDisplayRetainBuiltPages(n===true))),e.setWindowedIncrementalBuilds(i!==void 0);}function K(){A=null,o&&X&&(o.setDisplayWindow(...X.window),o.setDisplayRetainBuiltPages(X.retainBuiltPages)),X=null;}async function ie(){if(!o||!_)return;let e=k;k=null;let{layoutInput:i,...n}=_;_=null;try{let r;if(e?.begun)try{r=o.resumeRegionLayout(xn).layoutJson;}catch(a){if(a instanceof WebAssembly.RuntimeError)throw a}T={...n,layoutJson:r??o.layoutDocumentWithRegionsRetainedJson(i),headersFootersJson:o.retainedHeadersFootersJson()},K(),e&&await Je(e.id,e.expectedFrameEpoch,e.paintCaret);}catch(r){throw e&&gn(e.id,r),r}}async function Je(e,i,n){let r=T;if(T=null,!o||!r){w({id:e,ok:true});return}O(o),b=[];let a=performance.now(),d=o.buildDisplayListFrame(Ie(r.extras,r.layoutExtras,null,r.headersFootersJson),i);await M(e,d,performance.now()-a,b,void 0,a,false,n,r.layoutJson);}var le=typeof MessageChannel=="function"?new MessageChannel:null,hn=[];le&&(le.port1.onmessage=()=>hn.shift()?.());function vn(e){if(!le){setTimeout(e,0);return}hn.push(e),le.port2.postMessage(null);}function Oe(){let e=L;e&&(L=null,w({id:e.request.id,ok:true,pageBuildSuperseded:true}));}function Sn(e){vn(()=>{L===e&&Fe(async()=>{try{await Fn(e);}catch(i){throw L===e&&(L=null),i}},e.request.id,()=>L===e);});}async function Fn(e){if(o!==e.owner||e.offset>0&&R?.frameEpoch!==e.frameEpoch){Oe();return}O(e.owner);let i=performance.now(),n=e.request.pages.slice(e.offset,e.offset+un),r=e.owner.buildDisplayPagesFrame(n,e.frameEpoch);if(e.engineMs+=performance.now()-i,e.offset+=n.length,e.offset===e.request.pages.length){L=null,await M(e.request.id,r,e.engineMs,[],void 0,e.started,false,e.request.paintCaret,void 0,false,void 0,e.frames);return}Ee(r),e.frameEpoch=R.frameEpoch,e.frames.push(r),Sn(e);}function _e(e){vn(()=>{k===e&&Fe(async()=>{try{await Jn(e);}catch(i){throw k===e&&(k=null),i}},e.id,()=>k===e);});}async function Jn(e){if(!o||k!==e||!_)return;let i;if(!e.begun)i=o.beginRegionLayout(_.layoutInput),e.begun=true;else {let a=performance.now();try{i=o.resumeRegionLayout(e.blocks);}catch(p){if(p instanceof WebAssembly.RuntimeError)throw p;let c=p instanceof Error?p.message:String(p);if(c!=="no region layout to resume"&&c!=="the document or its fonts changed since the region layout began")throw p;if(e.begun=false,e.restarts+=1,e.restarts>En&&!_.workerAuthoritative&&!N){try{await ie();}catch{}return}_e(e);return}let d=Math.max(1,performance.now()-a);e.blocks=Math.min(8192,Math.max(8,Math.round(e.blocks*In/d)));}if(i.layoutJson===void 0){_e(e);return}let{layoutInput:n,...r}=_;_=null,K(),k=null,T={...r,layoutJson:i.layoutJson,headersFootersJson:o.retainedHeadersFootersJson()},await Je(e.id,e.expectedFrameEpoch,e.paintCaret);}function Ce(){let e=k;k=null,e&&w({id:e.id,ok:true});}function Ie(e,i,n,r){if(i===void 0)return e;let a=r??(n===null?void 0:o?.retainedHeadersFootersJson()),d=a===void 0?void 0:JSON.parse(a);return D({...JSON.parse(i),...d?{headersFooters:d}:{}})}function pn(){o&&(W=o.onUpdate(e=>b.push(e.slice())));}function On(e,i,n){if(!n.ok||!P)return false;let r=JSON.parse(P.requirementsJson),a=JSON.parse(P.layoutInput);if(r.some(({scripts:p})=>p&&p.length>0)||Object.keys(a.renderEnv?.revisionPreview??{}).length>0)return false;let d=new Map;for(let p of i.proposals){let c=p.op==="replaceText"?p.replaceWith:p.text;if(!/^[\x20-\x7e]*$/.test(c))return false;let f=n.snapshot.proposals.find(({id:h})=>h===p.id);if(!f?.changed)continue;let{story:m,paraId:l}=f.paragraph,g=d.get(m)??new Set;g.add(l),d.set(m,g);}for(let[p,c]of d){let f=new Map,m=e.geometryReader.paragraphSpans(p);for(let g=0;g<m.length;g+=1){let{paraId:h}=m[g];if(c.has(h)){if(f.has(h))return false;f.set(h,g);}}if(f.size!==c.size)return false;let l=[...f.values()];for(let g of e.paragraphSegments(p,l)){let h=true,S=false;for(let v of g)v.kind==="text"?(h&&(h=/^[\x20-\x7e]*$/.test(v.text)),S||(S=v.text.length>0&&v.attributes.ins==null)):v.kind!=="pilcrow"&&(h=false);if(!h||!S)return false}}return true}function Se(e=false){Oe(),P=null,Pe(),ee=null,W?.(),W=null,N?.destroy(),N=null,o?.destroy(),we=null,o=null,ne=null,be=false,E=null,K(),b=[],De=0,Re=-1,Ce(),_=null,T=null,R=null,te=null,$.clear(),j.clear(),e||(B.clear(),G.clear()),H=null,C=null,z=null,oe=null,Q.clear();}function wn(e){Q.delete(e),C===e&&(C=null,z=null);}function Ee(e){R=x$2(R,u(e));for(let i of R.damagedPageIds)j.add(i.toString());}async function M(e,i,n,r=b,a,d=performance.now(),p=false,c=false,f,m=false,l,g=[]){Ee(i);let h=A;if(o&&h!==null&&R){let I=R.displayList.pages.filter(F=>F.pageIndex>=h&&!F.unbuilt).map(F=>F.pageIndex);if(I.length>0){if(o.releaseDisplayPagesFrame(I,R.frameEpoch)===null)throw new Error("Provisional display pages could not be released");i=o.buildDisplayPagesFrame([],0),Ee(i);}}let S=o?.residentCaretSnapshot();if(!S||!R||!j$1(S,R))throw new Error("Resident caret snapshot does not match the produced frame");if(p&&!S.caretRect)throw new Error("Resident input frame omitted collapsed caret geometry");let v=o?.selection()??null;H=c?S.caretRect??null:null;let t=new Map(R.pages.map(({pageId:I,page:F})=>[I.toString(),F.unbuilt===true]));for(let I of j)t.get(I)!==false&&j.delete(I);for(let I of new Set([...B.keys(),...$.keys()])){let F=t.get(I);if(F===false)continue;let Be=B.get(I);F===void 0?B.delete(I):Be&&k$1(Be),$.delete(I),wn(I);}let s=performance.now(),{replayedPages:u,caretPainted:y}=await xe(false),D=performance.now()-s,U=Y(i),V=g.map(Y),Ae=r.map(Y),Z=o?Y(o.encodeStateVector()):void 0;w({id:e,ok:true,frame:U,...V.length>0?{pageFrames:[...V,U]}:{},updates:Ae,engineMs:n,workerTotalMs:performance.now()-d,engineProfile:a,caret:S,selection:v,caretPainted:y,replayMs:D,replayedPages:u,layoutRevision:De,...l===void 0?{}:{deletedUnits:l},...Z?{stateVector:Z}:{},...f!==void 0?{layoutJson:f}:{},...m?{layoutProvisional:m}:{}},[U,...V,...Ae,...Z?[Z]:[]]);}async function xe(e){let i$1=e===true?G:e;if(i$1)for(let{pageId:f,page:m}of R?.pages??[]){let l=f.toString();!m.unbuilt&&i$1.has(l)&&j.add(l);}if(!R||B.size===0)return {replayedPages:0,caretPainted:false};!te&&o&&(te=new a$1({provider:(f,m)=>{try{return o.outlineGlyphJson(f,m)}catch(l){throw l instanceof WebAssembly.RuntimeError&&bn()>0&&yn(cn,l),l}}}));let n=H&&G.has(H.pageId)?H:null,r=n?i(n,re,se,ae):null,a=n&&r?`${n.pageId}|${r.x}|${r.y}|${r.width}|${r.height}|${re.color}`:null,d=[];for(let f=0;f<R.pages.length;f+=1){let l=R.pages[f].pageId.toString();if(!G.has(l))continue;let g=j.has(l),h$1=l===n?.pageId&&!(C===l&&z===a),S=l===C&&l!==n?.pageId;if(!g&&!h$1&&!S)continue;let v=B.get(l),t=R.displayList.pages[f];if(!v||!t||t.unbuilt)continue;let s=l,u=$.get(s);u||(u=new OffscreenCanvas(1,1),$.set(s,u));let y=u;if(!g&&Q.has(s)){d.push(Promise.resolve({canvas:v,buffer:y,pageId:s}));continue}d.push(h(y,t,{glyphCache:te??void 0},se,ae).then(()=>({canvas:v,buffer:y,pageId:s})));}let p=await Promise.all(d).catch(async f=>{throw await Promise.allSettled(d),f}),c=n!==null&&C===n.pageId&&z===a;for(let{canvas:f,buffer:m,pageId:l$1}of p)n&&r&&l$1===n.pageId?(oe||(oe=new OffscreenCanvas(1,1)),l(f,m,oe,{...r,color:re.color}),Q.add(l$1),C=l$1,z=a,c=true):(j$2(f,m),Q.delete(l$1),C===l$1&&(C=null,z=null)),j.delete(l$1);return {replayedPages:p.length,caretPainted:c}}function Y(e){return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.slice().buffer}function bn(){return b$2().find(e=>e.label==="docx-edit")?.failedAllocationBytes??0}function w(e,i=[]){if(x&&e.ok)throw x;ke.postMessage({...e,memory:b$2()},i);}
|
package/package.json
CHANGED
package/dist/chunk-3OWET2KZ.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import {b as b$1}from'./chunk-DKWD4P4J.mjs';import {b}from'./chunk-TTRUPDAB.mjs';function C(r,e){if(Array.isArray(r))for(let t of r)C(t,e);else if(r&&typeof r=="object"){let t=r;for(let[o,n]of Object.entries(t))o==="src"&&typeof n=="string"?t[o]=e(n)??n:C(n,e);}}function de(r,e){if(!r.includes('"media:'))return r;let t=JSON.parse(r),o=t.envelope?.document?.package?.document?.comments;return o===void 0?r:(C(o,e),JSON.stringify(t))}function O(r){let e=new Map;for(let t of r.proposals)if(t.state!=="proposed")for(let o of t.revisionIds)e.set(o,t.state);if(e.size!==0)return Object.fromEntries([...e].sort(([t],[o])=>t<o?-1:t>o?1:0))}function $(r){return Array.isArray(r)?r.map($):r===null||typeof r!="object"?r:Object.fromEntries(Object.keys(r).sort().filter(e=>r[e]!==void 0).map(e=>[e,$(r[e])]))}function U(r){let e=r.op==="replaceText"?{op:r.op,search:r.search,replaceWith:r.replaceWith,occurrence:r.occurrence===void 0||r.occurrence===1?"first":r.occurrence}:{op:r.op,at:r.at,text:r.text};return JSON.stringify($({paragraph:r.paragraph,...e}))}function ee(r){if(!r||typeof r!="object")throw new TypeError("a proposal must be an object");let e={...r},t=o=>{if(typeof e[o]!="string")throw new TypeError(`proposal ${o} must be a string`)};if(t("id"),!r.paragraph||typeof r.paragraph!="object")throw new TypeError("proposal paragraph must be a paragraph anchor");if(!r.suggest||typeof r.suggest!="object")throw new TypeError("proposal suggest must carry author and date");if(r.op==="replaceText")t("search"),t("replaceWith");else if(r.op==="insertText")t("text");else throw new TypeError(`unknown proposal op ${JSON.stringify(r.op)}`)}function re(r){let e=[],t=-1;for(let o of r)o.range.start.offset<t||(e.push(o),t=o.range.end.offset);return e}function te(r,e,t){let o=r.flatMap((n,i)=>n.op==="replaceText"&&n.target.kind==="range"&&!t[i]?[{index:i,range:n.target}]:[]);for(let n of o)for(let i of o)if(e[n.index]!==e[i.index]&&n.range.story===i.range.story&&n.range.start.paraId===i.range.start.paraId&&n.range.end.offset===i.range.start.offset)return n.index<i.index?[n.index,i.index]:[i.index,n.index];return null}function oe(r,e,t){let o=(a,s=r.version())=>({ok:false,failure:a,version:s});if(t!==r.version())return o({code:"stale-version",message:"the document changed since the expected version was read"});let n=a=>{let s=(p,d)=>({failure:{code:p,message:d,proposalId:a.id}}),c=r.resolveParagraphAnchor(a.paragraph);switch(c.status){case "found":return c.anchor.kind==="session"?{anchor:c.anchor}:s("unsupported",`proposal ${a.id} targets a paragraph outside the editable stories`);case "missing":return s("missing-target",`proposal ${a.id} targets a paragraph that was not found`);case "ambiguous":return s("ambiguous-target",`proposal ${a.id} targets a paragraph id that ${c.candidates.length} paragraphs carry`);default:return s("unsupported",`proposal ${a.id} targets an anchor this session cannot resolve (${c.reason})`)}},i=(a,s)=>{let c=(v,I)=>({failure:{code:v,message:I,proposalId:a.id}}),{story:p,paraId:d}=s,h={author:a.suggest.author,date:a.suggest.date};if(a.op==="insertText"){if(typeof a.at=="string")return a.at!=="start"&&a.at!=="end"?c("invalid-step",`proposal ${a.id} inserts at an unknown boundary`):{steps:[{op:"insertText",target:{kind:"paragraph",story:p,paraId:d},at:a.at,text:a.text,suggest:h}]};let v=a.at?.offset;if(!Number.isInteger(v)||v<0||v>4294967295)return c("invalid-step",`proposal ${a.id} inserts at an offset that is not a non-negative integer`);let I={paraId:d,offset:v};return {steps:[{op:"insertText",target:{kind:"range",story:p,start:I,end:I,view:"accepted"},at:"start",text:a.text,suggest:h}]}}let x=a.occurrence??"first";if(x!=="first"&&x!=="all"&&!(Number.isSafeInteger(x)&&x>=1))return c("invalid-step",`proposal ${a.id} names occurrence ${String(x)}; use 'first', 'all' or a number from 1`);if(a.search==="")return f(a,s,x);let w=r.findText({text:a.search,within:{kind:"paragraph",story:p,paraId:d},view:"accepted",limit:1e4});if(!w.ok)return {failure:{...w.failure,proposalId:a.id}};let R=re(w.matches),D=x==="all"?R:R.slice(x==="first"?0:x-1).slice(0,1);return w.truncated?c("limit-exceeded",`proposal ${a.id} matches more than 10000 times`):D.length===0?c("missing-target",R.length===0?`proposal ${a.id}: ${JSON.stringify(a.search)} was not found in its paragraph`:`proposal ${a.id}: occurrence ${x} of ${JSON.stringify(a.search)} was not found; its paragraph has ${R.length}`):{steps:D.map(v=>({op:"replaceText",target:{kind:"range",...v.range},text:a.replaceWith,suggest:h}))}},f=(a,{story:s,paraId:c},p)=>{let d=r.readParagraphs({story:s,paraIds:[c],view:"accepted"});if(!d.ok)return {failure:{...d.failure,proposalId:a.id}};let h=d.paragraphs.length===1&&d.paragraphs[0].text==="";if(!h||typeof p=="number"&&p>1)return {failure:{code:"missing-target",message:h?`proposal ${a.id}: occurrence ${p} of empty text was not found; its paragraph has 1`:`proposal ${a.id} fills a paragraph that is not empty`,proposalId:a.id}};let x={paraId:c,offset:0};return {steps:[{op:"replaceText",target:{kind:"range",story:s,start:x,end:x,view:"accepted"},text:a.replaceWith,suggest:{author:a.suggest.author,date:a.suggest.date}}]}},m=[],u=[],l=[],g=[];for(let[a,s]of e.entries()){let c=n(s);if("failure"in c)return o(c.failure);let p=i(s,c.anchor);if("failure"in p)return o(p.failure);g.push({anchor:c.anchor,first:m.length,count:p.steps.length});for(let d of p.steps)m.push(d),u.push(a),l.push(s.op==="replaceText"&&s.replaceWith===s.search);}let y=te(m,u,l);if(y){let[a,s]=y.map(c=>e[u[c]].id);return o({code:"overlapping-steps",message:`proposal ${s} adjoins proposal ${a}; adjacent suggestions would share one revision`,proposalId:s})}let b=r.applyEdits({expectVersion:t,history:"none",steps:m});if(!b.ok){let{stepIndex:a,conflictingStepIndex:s,...c}=b.failure,p=a===void 0?void 0:e[u[a]]?.id,d=s===void 0?void 0:e[u[s]]?.id;return o({...c,...d!==void 0&&d!==p?{message:`proposal ${p} overlaps proposal ${d}`}:p!==void 0?{message:`proposal ${p}: ${c.message}`}:{},...p!==void 0?{proposalId:p}:{}},b.version)}return {ok:true,planned:g,receipts:b.receipts,changedStories:b.changedStories}}function ne(r,{owned:e,accept:t,reject:o,proposalIds:n,suggested:i,expectVersion:f}){if(f!==void 0&&f!==r.version())return {ok:false,failure:{code:"stale-version",message:"the document changed since the expected version was read"}};let m=new Set(e),u=r.listRevisions().find(({revisionId:l,kind:g})=>m.has(l)&&g!=="insertion"&&g!=="deletion");if(u){let l=n?.[u.revisionId];return {ok:false,failure:{code:"tracked-revision-conflict",message:l===void 0?`revision ${u.revisionId} also marks a ${u.kind} change made outside the proposals`:`proposal ${l} shares revision ${u.revisionId} with a ${u.kind} change made outside the proposals`,...l===void 0?{}:{proposalId:l}}}}if(r.revisionStamps){let l=r.revisionStamps(e);for(let g of e){let y=i[g];if(y&&l[g]?.some(({author:b,date:a})=>b!==y.author||a!==y.date)){let b=n?.[g];return {ok:false,failure:{code:"tracked-revision-conflict",message:b===void 0?`revision ${g} holds changes made outside the proposals`:`proposal ${b} shares revision ${g} with changes made outside the proposals`,...b===void 0?{}:{proposalId:b}}}}}}return (t.length>0||o.length>0)&&r.settleRevisions(t,o),{ok:true}}function fe(r){let e=new Map,t=new Set,o=0,n=null,i=false,f=false,m=()=>({version:n?.version??r.version(),previewVersion:n?.proposals.previewVersion??o,proposals:(n?.proposals.entries??[...e.values()]).map(({record:s})=>({...s,paragraph:{...s.paragraph},revisionIds:[...s.revisionIds]}))}),u=()=>{if(f=true,!i){i=true;try{for(;f;){if(f=!1,t.size===0)return;let s=m();for(let c of [...t]){try{c(s);}catch(p){console.error("[yrs] a proposal listener threw",p);}if(f)break}}}finally{i=false,f=false;}}},l=(s,c=r.version())=>({ok:false,version:c,failure:s}),g=()=>{if(n)throw new Error("proposals are held by the resident worker")},y=s=>{if(g(),!s||typeof s!="object"||!Array.isArray(s.proposals))throw new TypeError("a proposal request needs a proposals array");let c=[],p=new Map;for(let h of s.proposals){if(ee(h),h.id==="")return l({code:"invalid-step",message:"a proposal id must not be empty",proposalId:""});let x=U(h),w=e.get(h.id)?.key??p.get(h.id);if(w!==void 0){if(w===x)continue;return l({code:"proposal-id-conflict",message:`proposal id ${h.id} already names a different change`,proposalId:h.id})}p.set(h.id,x),c.push({input:h,key:x});}if(c.length===0)return {ok:true,snapshot:m()};if(s.expectVersion!==r.version())return l({code:"stale-version",message:"the document changed since the expected version was read"});let d=oe(r,c.map(({input:h})=>h),s.expectVersion);if(!d.ok)return l(d.failure,d.version);for(let[h,{input:x,key:w}]of c.entries()){let{anchor:R,first:D,count:v}=d.planned[h],I=d.receipts.slice(D,D+v);e.set(x.id,{key:w,suggest:{author:x.suggest.author,date:x.suggest.date},record:{id:x.id,state:"proposed",paragraph:{kind:"session",sessionId:R.sessionId,story:R.story,paraId:R.paraId},revisionIds:[...new Set(I.flatMap(P=>P.revisionIds))],changed:I.some(P=>P.changed)}});}return u(),{ok:true,snapshot:m()}};return {propose(s){let c=()=>y(s);return r.sharedReads?r.sharedReads(c):c()},setStates:s=>{if(g(),!s||typeof s!="object"||!Array.isArray(s.changes))throw new TypeError("a proposal state request needs a changes array");if(s.expectVersion!==r.version())return l({code:"stale-version",message:"the document changed since the expected version was read"});if(s.expectPreviewVersion!==o)return l({code:"stale-preview",message:`the proposals are at preview version ${o}, not ${s.expectPreviewVersion}`});let c=new Map;for(let d of s.changes){if(!d||typeof d.id!="string")throw new TypeError("a state change needs an id");if(d.state!=="proposed"&&d.state!=="accepted"&&d.state!=="rejected")return l({code:"invalid-step",message:`proposal ${d.id} cannot be set to ${JSON.stringify(d.state)}`,proposalId:d.id});if(!e.has(d.id))return l({code:"unknown-proposal",message:`no proposal has id ${d.id}`,proposalId:d.id});let h=c.get(d.id);if(h!==void 0&&h!==d.state)return l({code:"invalid-step",message:`proposal ${d.id} is set to two states`,proposalId:d.id});c.set(d.id,d.state);}let p=false;for(let[d,h]of c){let x=e.get(d);x.record.state!==h&&(x.record={...x.record,state:h},p=true);}return p&&(o+=1,u()),{ok:true,snapshot:m()}},withdraw:s=>{if(g(),!s||typeof s!="object"||!Array.isArray(s.ids))throw new TypeError("a withdrawal request needs an ids array");for(let P of s.ids)if(typeof P!="string")throw new TypeError("a proposal id must be a string");let c=[...new Set(s.ids)].filter(P=>e.has(P));if(c.length===0)return {ok:true,snapshot:m()};if(s.expectVersion!==r.version())return l({code:"stale-version",message:"the document changed since the expected version was read"});let p=new Set(c),d=new Map;for(let[P,{record:k}]of e)if(!p.has(P))for(let T of k.revisionIds)d.set(T,P);let h=new Map;for(let P of c){let{record:k}=e.get(P);for(let T of k.revisionIds){let W=d.get(T);if(W!==void 0)return l({code:"tracked-revision-conflict",message:`proposal ${P} shares revision ${T} with proposal ${W}`,proposalId:P});h.set(T,P);}}let x=O(m())??{},w=[...h.keys()],R=w.filter(P=>x[P]==="accepted"),D=w.filter(P=>x[P]!=="accepted"),v=ne(r,{owned:w,accept:R,reject:D,proposalIds:Object.fromEntries(h),suggested:Object.fromEntries([...h].map(([P,k])=>[P,e.get(k).suggest]))});if(!v.ok)return l(v.failure);let I=false;for(let P of c)I||(I=e.get(P).record.state!=="proposed"),e.delete(P);return I&&(o+=1),u(),{ok:true,snapshot:m()}},snapshot:m,exportState(){return structuredClone(n?.proposals??{previewVersion:o,entries:[...e.values()]})},mirror(s){let c=s===null,p=()=>{let{version:h,...x}=m();return JSON.stringify($(c?{version:h,...x}:x))},d=p();if(s)n=structuredClone(s);else if(n){e.clear();for(let h of n.proposals.entries)e.set(h.record.id,h);o=n.proposals.previewVersion,n=null;}p()!==d&&u();},subscribe(s){if(typeof s!="function")throw new TypeError("proposal listener must be a function");return t.add(s),()=>{t.delete(s);}},reset(){n||e.size===0||([...e.values()].some(({record:s})=>s.state!=="proposed")&&(o+=1),e.clear(),u());},destroy(){n=null,e.clear(),t.clear();}}}function L(r,e){let t=0,o=e.map(n=>{let i={paraId:n.paraId,length:Math.max(0,Math.trunc(n.length)),displayStart:t};return t+=i.length+2,i});return {story:r,paragraphs:o}}function E(r,e){let t=r.paragraphs.find(o=>o.paraId===e.paraId);return !t||e.story!==r.story?r.paragraphs[0]?.displayStart??0:t.displayStart+1+Math.min(Math.max(0,e.offset),t.length)}function ye(r,e){if(r.paragraphs.length===0)return null;let t=Math.max(0,Math.trunc(e)),o=r.paragraphs[0];for(let n of r.paragraphs){if(n.displayStart>t)break;o=n;}return {story:r.story,paraId:o.paraId,offset:Math.min(Math.max(0,t-(o.displayStart+1)),o.length)}}function xe(r,e,t){return E(r,e)-E(r,t)}function Se(r,e,t,o){let n=t*o;return {x:r.x*n,y:r.y*n,width:Math.max(1,e.width*t),height:r.height*n}}function we(r,e){if(!Number.isSafeInteger(r.frameEpoch)||r.frameEpoch!==e.frameEpoch)return null;let t=r.caretRect;return t?!Number.isInteger(t.pageIndex)||t.pageIndex<0||!Number.isFinite(t.x)||!Number.isFinite(t.y)||!Number.isFinite(t.height)||t.height<0||!/^[1-9]\d*$/u.test(t.pageId)?null:e.pages[t.pageIndex]?.pageId.toString()===t.pageId?r:null:r}function G(r,e,t){return r.hasStory(e)?new V(r,e,t):null}function De(r,e){let t="body";if(typeof r!="number")switch(r.region){case "header":case "footer":if(!r.rId)return null;t=`hf:${r.rId}`;break;case "footnote":case "endnote":if(r.noteId===void 0)return null;t=`${r.region==="footnote"?"fn":"en"}:${r.noteId}`;break}let o=typeof r=="number"?r:r.position,n=e(t);return !n||!Number.isFinite(o)||o<0||o>n.size?null:n.targetAt(o)}var V=class{constructor(e,t,o){b(this,"rootStory",t);b(this,"stories",new Map);b(this,"nodes",new Map);b(this,"tables",[]);b(this,"source");b(this,"paragraphsById",new Map);this.source=o??{segments:n=>e.storySegments(n)},this.buildStory(t,0,0);}get size(){return this.stories.get(this.rootStory)?.size??0}nodeAt(e){return this.nodes.get(e)??null}tableAtPosition(e){let t=null;for(let o of this.tables)e<o.start||e>o.start+o.nodeSize||(!t||o.nodeSize<t.nodeSize)&&(t=o);return t}tableAtStart(e){return this.tables.find(t=>t.start===e)??null}tableStartForLoc(e){return this.stories.get(e.story)?.tables.find(t=>t.tableIndex===e.tableIndex)?.start??null}cellPosition(e,t,o){let n=this.tableAtStart(e);return n?n.cells.find(f=>f.row<=t&&t<f.row+f.rowspan&&f.column<=o&&o<f.column+f.colspan)?.start??null:null}targetAt(e){let t=this.stories.get(this.rootStory)??null;for(let o of this.stories.values())e>=o.contentStart&&e<=o.contentStart+o.size&&(!t||o.depth>t.depth)&&(t=o);return {story:t?.story??this.rootStory,displayPosition:t?this.inputPositionAt(t,e):0,...t?.cell?{cell:t.cell}:{}}}positionForLoc(e){let t=this.stories.get(e.story),o=t?this.paragraphIndex(t).get(e.paraId):void 0;return !t||!o?null:t.contentStart+o.displayStart+1+Math.min(Math.max(0,e.offset-o.leading),o.length)}paragraphIndex(e){let t=this.paragraphsById.get(e);if(!t){t=new Map;for(let o of e.paragraphs)t.has(o.paraId)||t.set(o.paraId,o);this.paragraphsById.set(e,t);}return t}bookmarkPosition(e){for(let t of this.stories.values())for(let o of t.paragraphs){let i=this.nodes.get(t.contentStart+o.displayStart)?.attrs.bookmarks;if(Array.isArray(i)&&i.some(f=>f!=null&&typeof f=="object"&&String(f.name??"")===e))return t.contentStart+o.displayStart}return null}buildStory(e,t,o,n){let i=this.stories.get(e);if(i)return i;let f={story:e,contentStart:t,size:0,depth:o,cell:n,paragraphs:[],tables:[]};this.stories.set(e,f);let m=this.source.segments(e),u=0,l=0,g=0,y=0,b=0,a=0;for(let s of m){if(s.kind==="text"){l+=s.text.length;continue}if(s.kind==="pilcrow"){let p=l+2,d=t+y,h={kind:"paragraph",start:d,nodeSize:p,attrs:{...s.properties,paraId:s.paraId},story:e};this.nodes.set(d,h),f.paragraphs.push({paraId:s.paraId,displayStart:y,inputStart:b,length:l,leading:g}),b+=p+g,u=y+p,y=u,l=0,g=0;continue}if(s.embedKind==="table"){let p=this.buildTable(s,e,a,t+u,o);f.tables.push(p),this.tables.push(p),this.nodes.set(p.start,p),a+=1,u+=p.nodeSize,y=u,g+=1;continue}if(s.embedKind==="blockSdt"){let p=String(s.payload.story??`${e}:sdt0`),d=t+u,h=this.buildStory(p,d+1,o+1,n),x={kind:"blockSdt",start:d,nodeSize:h.size+2,attrs:s.payload,story:e};this.nodes.set(d,x),u+=x.nodeSize,y=u,g+=1;continue}if((s.embedKind==="pageBreak"||s.embedKind==="columnBreak")&&l===0){let p={kind:s.embedKind,start:t+u,nodeSize:1,attrs:s.payload,story:e};this.nodes.set(p.start,p),u+=1,y=u,g+=1;continue}let c=t+y+1+l;this.nodes.set(c,{kind:s.embedKind,start:c,nodeSize:1,attrs:{...s.payload,...s.attributes},story:e}),l+=1;}return f.size=Math.max(u,y+(l>0?l+2:0)),f}inputPositionAt(e,t){let o=Math.max(0,t-e.contentStart),n=e.paragraphs[0];for(let i of e.paragraphs){if(i.displayStart>o)break;n=i;}return n?n.inputStart+n.leading+Math.min(Math.max(0,o-n.displayStart),n.length+1):0}buildTable(e,t,o,n,i){let f=Array.isArray(e.payload.rows)?e.payload.rows:[],m=Array.from({length:f.length},()=>[]),u=[],l=0;return f.forEach((g,y)=>{let b=n+1+l,a=Array.isArray(g.cells)?g.cells:[],s=0,c=0;a.forEach((p,d)=>{for(;m[y]?.[c];)c+=1;let h=se(p.tcPr),x=K(h.rowspan),w=K(h.colspan),R=String(p.story??`${t}:t${o}:r${y}c${d}`),D=b+1+s,v={story:t,tableIndex:o,row:y,column:c},P=this.buildStory(R,D+1,i+1,v).size+2;u.push({row:y,column:c,rowspan:x,colspan:w,story:R,start:D,contentStart:D+1,nodeSize:P,attrs:h});for(let k=y;k<y+x;k+=1){m[k]??(m[k]=[]);for(let T=c;T<c+w;T+=1)m[k][T]=true;}s+=P,c+=w;}),l+=s+2;}),{kind:"table",start:n,nodeSize:l+2,attrs:e.payload,story:t,tableIndex:o,widthsTwips:Array.isArray(e.payload.grid)?e.payload.grid.filter(g=>typeof g=="number"):[],rowCount:f.length,cells:u}}};function se(r){return r!=null&&typeof r=="object"&&!Array.isArray(r)?r:{}}function K(r){return typeof r=="number"&&Number.isInteger(r)&&r>0?r:1}function J(r,e,t,o="body",n){let i=n?n(t.story):r.hasStory(t.story)?L(t.story,r.paragraphSpans(t.story)):null;if(!i)return null;let f=t.story==="body"||t.story.startsWith("body:")?"body":o;return e(f)?.positionForLoc(t)??(t.story===f?E(i,t):null)}var B=new WeakMap;function F(r,e){let t=B.get(r);return t?.version!==e&&(t={version:e,spans:new Map,segments:new Map,anchors:new Map},B.set(r,t)),t}function Y(r,e,t){if(r.has(e))return r.get(e);let o=t();return r.set(e,o),o}function X(r,e){let t=F(r,e);return t.revisions??(t.revisions=r.listRevisions())}function N(r,e,t){return Y(F(r,e).segments,t,()=>r.storySegments(t))}function S(r,e){return {ok:false,failure:{code:r,message:e}}}function z(r){return r==="body"||r.startsWith("body:")}var ae=new Set(["table","blockSdt","pageBreak","columnBreak"]);function Q(r,e){let t=[],o=0,n=0,i=[],f=true,m=0;for(let u of r){if(u.kind==="pilcrow"){t.push({paraId:u.paraId,inlineStart:m,rawLength:o,viewLength:n,spans:i}),m=0,o=0,n=0,i=[],f=true;continue}if(f&&u.kind==="embed"&&ae.has(u.embedKind)){o+=1,m=o;continue}f=false;let l=u.kind==="text"?u.text.length:1;!(u.attributes[e==="accepted"?"del":"ins"]!=null)&&l>0&&(i.push({raw:o,view:n,length:l}),n+=l),o+=l;}return t}function Z(r,e){let t=u=>{let l=r.filter(g=>g.paraId===u);return l.length>1?S("ambiguous-target","The paragraph cannot be resolved uniquely"):l[0]??S("missing-target","The paragraph no longer exists")},o=t(e.start.paraId);if("ok"in o)return o;let n=t(e.end.paraId);if("ok"in n)return n;if(!Number.isInteger(e.start.offset)||!Number.isInteger(e.end.offset)||e.start.offset<0||e.end.offset<0||e.start.offset>o.viewLength||e.end.offset>n.viewLength||r.indexOf(o)>r.indexOf(n)||o===n&&e.start.offset>e.end.offset)return S("missing-target","The range is outside the paragraph text");let i=(u,l,g)=>{let y=u.spans.find(b=>g?l>=b.view&&l<b.view+b.length:l>b.view&&l<=b.view+b.length);return y?y.raw+l-y.view:g?u.rawLength:u.inlineStart},f=i(o,e.start.offset,true),m=o===n&&e.start.offset===e.end.offset;return {ok:true,range:{start:{story:e.story,paraId:o.paraId,offset:f},end:{story:e.story,paraId:n.paraId,offset:m?f:i(n,e.end.offset,false)}}}}function ie(r,e){return Z(Q(r,e.view),e)}function _(r,e,t){let o=F(r,t),n=Y(o.anchors,JSON.stringify(e),()=>r.resolveParagraphAnchor(e));if(n.status==="missing")return S("missing-target","The paragraph no longer exists");if(n.status==="ambiguous")return S("ambiguous-target","The paragraph cannot be resolved uniquely");if(n.status==="unsupported"||n.anchor.kind!=="session"||!z(n.anchor.story))return S("unsupported","The paragraph has no body display position");let{story:i,paraId:f}=n.anchor,m=Y(o.spans,i,()=>r.paragraphSpans(i)).filter(u=>u.paraId===f);return m.length>1?S("ambiguous-target","The paragraph cannot be resolved uniquely"):m.length?{ok:true,loc:{story:i,paraId:f,offset:0},length:m[0].length}:S("missing-target","The paragraph no longer exists")}function pe(r,e,t){let o=t?O(t):void 0;return o?X(r,e).filter(({revisionId:n,kind:i})=>i==="deletion"&&o[n]==="accepted"||i==="insertion"&&o[n]==="rejected").map(({story:n,range:i})=>({start:{story:n,...i.start},end:{story:n,...i.end}})):[]}function ce(r,e,t,o=null){if(e.kind==="range"){if(e.version!==t)return S("stale-version","The document changed after that version");if(!z(e.range.story))return S("unsupported","The range has no body display position");if(!r.hasStory(e.range.story))return S("missing-target","The story no longer exists");let a=ie(N(r,t,e.range.story),e.range);return a.ok?{ok:true,ranges:[a.range],paragraph:{...a.range.start,offset:0}}:a}if(e.kind==="proposal"||e.kind==="revision"){let a=e.kind==="proposal"?o?.proposals.find(p=>p.id===e.id):null;if(e.kind==="proposal"&&!a)return S("unknown-proposal","The proposal is not registered in this document");let s=X(r,t).filter(p=>e.kind==="revision"?p.revisionId===e.revisionId:a.revisionIds.includes(p.revisionId));if(e.kind==="revision"&&!s.length)return S("missing-target","The revision no longer exists");let c=s.map(({story:p,range:d})=>({start:{story:p,...d.start},end:{story:p,...d.end}}));if(c.some(p=>!z(p.start.story)))return S("unsupported","The revision has no body display position");if(a){let p=_(r,a.paragraph,t);return p.ok?{ok:true,ranges:c,paragraph:p.loc}:p}return {ok:true,ranges:c,paragraph:{...c[0].start,offset:0}}}let n=_(r,e.paragraph,t);if(!n.ok)return n;if(e.kind==="paragraph")return {ok:true,ranges:[{start:n.loc,end:{...n.loc,offset:n.length}}],paragraph:n.loc};if(!e.text)return S("missing-target","The search text is empty");let i=e.occurrence??"first";if(i!=="first"&&i!=="all"&&(!Number.isInteger(i)||i<1))return S("missing-target","The occurrence must be first, all, or a positive integer");let{story:f,paraId:m}=n.loc,u=r.findText({text:e.text,within:{kind:"paragraph",story:f,paraId:m},view:"accepted",limit:1e4});if(!u.ok){let{code:a,message:s}=u.failure;return S(a==="stale-version"||a==="missing-target"||a==="ambiguous-target"?a:"unsupported",s)}let l=[];for(let{range:a}of [...u.matches].sort((s,c)=>s.range.start.offset-c.range.start.offset))a.start.offset>=(l.at(-1)?.end.offset??0)&&l.push(a);let g=i==="all"?l:l.slice(i==="first"?0:i-1,i==="first"?1:i);if(u.truncated&&(i==="all"||!g.length))return S("unsupported","The search returned too many matches");if(!g.length)return S("missing-target",`The requested search occurrence (${i}) is unavailable`);let y=Q(N(r,t,f),"accepted").filter(a=>a.paraId===m),b=[];for(let a of g){let s=Z(y,a);if(!s.ok)return s;b.push(s.range);}return {ok:true,ranges:b,paragraph:n.loc}}var H=new WeakMap;function le(r){let e=H.get(r);return e===void 0&&(e=JSON.stringify(r.proposals.map(({id:t,revisionIds:o,paragraph:n})=>[t,o,n])),H.set(r,e)),e}function Ee(r,e){let t=r.version(),o=new Map,n=new Map,i=g=>Y(o,g,()=>G(r,g,{segments:y=>N(r,t,y)})),f=g=>Y(n,g,()=>r.hasStory(g)?L(g,Y(F(r,t).spans,g,()=>r.paragraphSpans(g))):null),m=g=>J(r,i,g,"body",f),u=g=>{let y=m(g.start),b=m(g.end);return y===null||b===null?null:{from:y,to:b}},l=Object.fromEntries(e.proposals.map(({id:g})=>{let y=ce(r,{kind:"proposal",id:g},t,e);if(!y.ok)return [g,y];let b=[];for(let a of y.ranges){let s=u(a);if(!s)return [g,S("unsupported","The target has no body display position")];b.push(s);}return b.sort((a,s)=>a.from-s.from||a.to-s.to),[g,{ok:true,ranges:b,paragraph:m(y.paragraph)}]}));return {version:t,previewVersion:e.previewVersion,proposals:le(e),targets:l,hidden:pe(r,t,e).map(u).filter(g=>g!==null)}}function Le(r,e,t){if(typeof e!="string"||typeof t!="string"||!r.hasStory(e))return "missing-target";let o=r.paragraphIdCount(e,t);if(o===0)return "missing-target";if(o>1)return "ambiguous-target";let n={story:e,paraId:t,offset:0},i=b$1(r).locToDisplayPoint(n);return !i||i.hfRid?"unsupported":{loc:n,position:i.position}}export{C as a,de as b,O as c,fe as d,L as e,E as f,ye as g,xe as h,Se as i,we as j,G as k,De as l,V as m,J as n,S as o,z as p,ie as q,pe as r,ce as s,le as t,Ee as u,Le as v};
|
package/dist/chunk-4GEXNR7A.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import {b}from'./chunk-TTRUPDAB.mjs';var le=class{constructor(e){b(this,"provider");b(this,"maxEntries");b(this,"createPath");b(this,"entries",new Map);this.provider=e.provider,this.maxEntries=Math.max(1,e.maxEntries??4096),this.createPath=e.createPath??(()=>new Path2D);}get size(){return this.entries.size}get(e,n){let i=`${e}:${n}`,r=this.entries.get(i);if(r!==void 0)return this.entries.delete(i),this.entries.set(i,r),r;let o=this.build(e,n);if(this.entries.set(i,o),this.entries.size>this.maxEntries){let a=this.entries.keys().next().value;a!==void 0&&this.entries.delete(a);}return o}build(e,n){let{upem:i,cmds:r}=it(this.provider(e,n));return r.length===0?{path:null,upem:i}:{path:rt(r,this.createPath),upem:i}}};function it(t){let e=JSON.parse(t),n=typeof e.upem=="number"&&e.upem>0?e.upem:NaN;if(!Number.isFinite(n))throw new Error("glyph outline: missing or non-positive upem");let i=Array.isArray(e.cmds)?e.cmds:[];return {upem:n,cmds:i}}function rt(t,e){let n=e();for(let i of t)switch(i.t){case "M":n.moveTo(i.x,i.y);break;case "L":n.lineTo(i.x,i.y);break;case "Q":n.quadraticCurveTo(i.cx,i.cy,i.x,i.y);break;case "C":n.bezierCurveTo(i.c1x,i.c1y,i.c2x,i.c2y,i.x,i.y);break;case "Z":n.closePath();break}return n}function ot(t){let e=/(\d+(?:\.\d+)?)px/.exec(t),n=e?Number(e[1]):NaN;return Number.isFinite(n)&&n>0?n:1056/72}function K(t){let e=ot(t.font);return {x:t.x,y:t.baselineY-e*.8,w:t.width,h:e*1.2}}function q(t){let{glyphs:e,size:n}=t;if(e.length===0)return {x:0,y:0,w:0,h:n*1.2};let i=1/0,r=-1/0,o=-1/0,a=true;for(let d of e)d.x<i&&(i=d.x),d.x>r&&(r=d.x),d.advance===void 0?a=false:o=Math.max(o,d.x+d.advance);let s=a?Math.max(o-i,0):r-i+(e.length>1?(r-i)/(e.length-1):n*.6);return {x:i,y:e[0].y-n*.8,w:s,h:n*1.2}}function at(t){let e=Math.min(t.x1,t.x2),n=Math.min(t.y1,t.y2),i=Math.abs(t.x2-t.x1),r=Math.abs(t.y2-t.y1),o=t.strokeWidth;return r===0?{x:e,y:n-o/2,w:i,h:o}:i===0?{x:e-o/2,y:n,w:o,h:r}:{x:e-o/2,y:n-o/2,w:i+o,h:r+o}}function xn(t){switch(t.kind){case "text":return K(t);case "glyphRun":return q(t);case "rect":case "image":case "shape":case "decoration":return {x:t.x,y:t.y,w:t.w,h:t.h};case "line":return at(t)}}function Cn(t,e,n){let i=d=>d!==void 0&&Number.isFinite(d)?d:0,r=t.clipGroup?.clip;if(r){let d=i(r.x),l=i(r.y),c=Math.max(0,i(r.w)),u=Math.max(0,i(r.h));if(c<=0||u<=0||e<d||e>d+c||n<l||n>l+u)return false}let o=t.kind==="text"||t.kind==="glyphRun"?t.paintClip:void 0;if(!o)return true;let a=i(o.x),s=Math.max(0,i(o.w));return s>0&&e>=a&&e<=a+s}async function _n(t,e,n={},i=1,r=1){let o=t.getContext("2d");if(!o)throw new Error("Canvas 2D context is unavailable");let a=i*r,s=Math.ceil(e.width*a),d=Math.ceil(e.height*a);return t.width!==s&&(t.width=s),t.height!==d&&(t.height=d),o.resetTransform(),o.scale(a,a),await ve(o,e,n),t}function Ln(t,e,n,i=1){t.width!==e.width&&(t.width=e.width),t.height!==e.height&&(t.height=e.height),typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement&&(t.style.width=`${n.width*i}px`,t.style.height=`${n.height*i}px`);let r=t.getContext("2d");if(!r)throw new Error("Canvas 2D context is unavailable");r.resetTransform(),r.globalCompositeOperation="copy",r.drawImage(e,0,0),r.globalCompositeOperation="source-over";}function Mn(t,e){t.width!==e.width&&(t.width=e.width),t.height!==e.height&&(t.height=e.height);let n=t.getContext("bitmaprenderer");if(!n)throw new Error("Offscreen bitmap renderer is unavailable");n.transferFromImageBitmap(e.transferToImageBitmap());}function An(t){t.width===1&&t.height===1||(t.width=1,t.height=1,t.getContext("bitmaprenderer")?.transferFromImageBitmap(null));}function Nn(t,e,n,i){n.width!==e.width&&(n.width=e.width),n.height!==e.height&&(n.height=e.height);let r=n.getContext("2d");if(!r)throw new Error("Caret stage 2D context is unavailable");r.resetTransform(),r.globalCompositeOperation="copy",r.drawImage(e,0,0),r.globalCompositeOperation="source-over",r.fillStyle=i.color,r.fillRect(i.x,i.y,i.width,i.height),t.width!==n.width&&(t.width=n.width),t.height!==n.height&&(t.height=n.height);let o=t.getContext("bitmaprenderer");if(!o)throw new Error("Offscreen bitmap renderer is unavailable");o.transferFromImageBitmap(n.transferToImageBitmap());}function st(t,e,n,i,r=1){let o=i*r;t.width=Math.ceil(n.width*o),t.height=Math.ceil(n.height*o),t.style.width=`${n.width*r}px`,t.style.height=`${n.height*r}px`,e.scale(o,o);}async function Fn(t,e={},n=2){let i=[];for(let r of t.pages){let o=document.createElement("canvas"),a=o.getContext("2d");a&&(st(o,a,r,n),await ve(a,r,e),i.push(o));}return i}async function ve(t,e,n={}){t.clearRect(0,0,e.width,e.height),e.background&&(t.fillStyle=e.background,t.fillRect(0,0,e.width,e.height));for(let r of (e.pageBorders??[]).filter(o=>o.zOrder==="back"))ge(t,r);let i=Math.min(e.watermarkPrimitiveCount??0,e.primitives.length);for(let r=0;r<i;r+=1)await $(t,e.primitives[r],n);for(let r of [e.header,e.footer])if(r)for(let o of r.primitives)await $(t,o,n);for(let r=i;r<e.primitives.length;r+=1)await $(t,e.primitives[r],n);for(let r of e.noteAreas??[]){for(let o of r.separatorPrimitives??[])await $(t,o,n);for(let o of r.primitives??[])await $(t,o,n);}for(let r of (e.pageBorders??[]).filter(o=>o.zOrder!=="back"))ge(t,r);}async function $(t,e,n={}){let i=e.clipGroup?.clip;if(i){t.save();let r=g(i.x,0),o=g(i.y,0),a=Math.max(0,g(i.w,0)),s=Math.max(0,g(i.h,0));t.beginPath(),t.rect(r,o,a,s),t.clip(),C(t,e.clipGroup?.opacity);}try{await lt(t,e,n);}finally{i&&t.restore();}}async function lt(t,e,n){let i=n.fontFamilies;switch(e.kind){case "text":dt(t,i?.size?$t(e,i):e);break;case "glyphRun":mt(t,i?.size&&e.fallbackFont?{...e,fallbackFont:ee(e.fallbackFont,i)}:e,n.glyphCache);break;case "rect":ct(t,e);break;case "line":pt(t,e);break;case "shape":await gt(t,e,n.resolveImage);break;case "decoration":if(e.style&&e.style!=="solid"){ne(t,e.x,e.y+e.h/2,e.x+e.w,e.y+e.h/2,Math.max(e.h,1),e.color,e.style);break}if(e.dashed||e.dotted){let r=Math.max(e.h,1),o=e.dotted?r:Math.max(Math.round(r*2),2),a=e.dotted?Math.max(Math.round(r*2),2):o;t.strokeStyle=e.color,t.lineWidth=r,t.setLineDash([o,a]);let s=e.y+e.h/2;t.beginPath(),t.moveTo(e.x,s),t.lineTo(e.x+e.w,s),t.stroke(),t.setLineDash([]);break}t.fillStyle=e.color,t.fillRect(e.x,e.y,e.w,e.h);break;case "image":await Mt(t,e,n.resolveImage);break;default:throw Yt(e)}}function dt(t,e){let n=K(e),i=Re(t,n,e.paintClip,e.hidden&&e.opacity===void 0?.4:e.opacity,e.rotationDeg,e.horizontalScale);!i&&Me(e)&&(t.save(),i=true),t.font=Te(e.font,e.smallCaps),t.fillStyle=e.color,t.textAlign="left",t.textBaseline="alphabetic",t.direction=e.rtl?"rtl":"ltr","letterSpacing"in t&&(t.letterSpacing=`${e.letterSpacing??0}px`),"wordSpacing"in t&&(t.wordSpacing=`${e.wordSpacing??0}px`);let r=e.allCaps?e.text.toUpperCase():e.text;e.leaderGlyphs?.glyph&&(e.leaderGlyphs.count??0)>0?Wt(t,e):_e(t,r,e.x,e.baselineY,e,n)||Le(t,r,e.x,e.baselineY,e),zt(t,r,e.x,e.baselineY,e.width,e),i&&t.restore();}function ct(t,e){let n=e.opacity!==void 0;n&&(t.save(),C(t,e.opacity)),t.fillStyle=e.fill,t.fillRect(e.x,e.y,e.w,e.h),n&&t.restore();}var de=false;function ut(t){de||(de=true,console.warn("[canvasBackend] glyph outlines unavailable; painting glyph runs with fillText",t));}var ce=false;function ft(){ce||(ce=true,console.warn("[canvasBackend] synthetic text metrics active; clipping paint to estimated layout slots"));}function mt(t,e,n){let i=q(e),r=Re(t,i,e.paintClip,e.hidden&&e.opacity===void 0?.4:e.opacity,e.rotationDeg,e.horizontalScale);if(!r&&Me(e)&&(t.save(),r=true),n)try{let o=e.glyphs.map(c=>n.get(e.fontId,c.id)),a=e.modernEffects,s=Oe(t,a,i,e.color),d=()=>{for(let c=0;c<e.glyphs.length;c++){let{path:u,upem:m}=o[c];if(!u)continue;let h=e.glyphs[c],y=e.size/m;t.save(),t.translate(h.x,h.y),t.scale(y,-y);let p=a?.textOutline;if(e.textOutline||p){t.strokeStyle=p?.color??e.color;let v=p?.width??Math.max(.5,e.size/16);t.lineWidth=Math.max(.5,v)/y,t.stroke(u),p&&!e.textOutline&&a?.textFill?.kind!=="none"&&t.fill(u);}else a?.textFill?.kind!=="none"&&t.fill(u);t.restore();}},l=a?.reflection;if(l){t.save();let c=i.y+i.h;t.translate(0,2*c+g(l.distance,0)),t.scale(1,-1),C(t,P(g(l.startOpacity,.35),0,1)),t.fillStyle=s,d(),t.restore();}t.fillStyle=s,Ae(t,e.textShadow,e.size),ke(t,a),d(),Ne(t,e),r&&t.restore();return}catch(o){ut(o);}ht(t,e),r&&t.restore();}function ht(t,e){let n=e.glyphs[0];if(!n)return;t.font=Te(e.fallbackFont??`${e.size}px sans-serif`,e.smallCaps),t.fillStyle=e.color,t.textAlign="left",t.textBaseline="alphabetic",t.direction=e.rtl?"rtl":"ltr";let i=e.allCaps?e.text.toUpperCase():e.text;_e(t,i,n.x,n.y,e,q(e))||Le(t,i,n.x,n.y,e),Ne(t,e);}function pt(t,e){let n=e.opacity!==void 0;n&&(t.save(),C(t,e.opacity)),ne(t,e.x1,e.y1,e.x2,e.y2,e.strokeWidth,e.color,e.borderStyle??"solid",e.secondaryColor,e.dash),n&&t.restore();}async function gt(t,e,n){let i=e.fillPaint,r=e.strokePaint;if(!e.fill&&!e.stroke&&!i&&!r)return;t.save(),C(t,e.opacity),yt(t,e);let o=bt(e);o||(t.beginPath(),Pe(t,e.geometryPath)),Rt(t,e);let a=i?.kind,s=a==="picture"?i?.pictureSrc??i?.pictureRelId:void 0;if(a==="picture"&&s&&n){let d=await n(s);if(d)Pt(t,e,o,d);else {let l=fe(t,e);l&&ue(t,o,l);}}else if(a==="pattern")wt(t,e,o);else if(a!=="none"){let d=fe(t,e);d&&ue(t,o,d);}(e.stroke||r)&&xt(t,e,o),t.restore();}function yt(t,e){let n=e.transform;if(!n?.rotation&&!n?.flipH&&!n?.flipV)return;let i=e.x+e.w/2,r=e.y+e.h/2;t.translate(i,r),n.rotation&&t.rotate(n.rotation*Math.PI/180),(n.flipH||n.flipV)&&t.scale(n.flipH?-1:1,n.flipV?-1:1),t.translate(-i,-r);}function bt(t){let e=typeof Path2D>"u"?void 0:Path2D;if(!e)return null;let n=new e;return Pe(n,t.geometryPath),n}function Pe(t,e){for(let n of e)switch(n.type){case "move":t.moveTo(n.x,n.y);break;case "line":t.lineTo(n.x,n.y);break;case "quad":t.quadraticCurveTo(n.cpx,n.cpy,n.x,n.y);break;case "cubic":t.bezierCurveTo(n.cp1x,n.cp1y,n.cp2x,n.cp2y,n.x,n.y);break;case "close":t.closePath();break}}function ue(t,e,n){t.fillStyle=n,e?t.fill(e):t.fill();}function fe(t,e){let n=e.fillPaint;if(!n||n.kind==="solid"||n.kind==="theme")return n?.color??e.fill??null;if(n.kind!=="gradient")return n.color??e.fill??null;let i=Ie(n.stops,n.color??e.fill??"#000000"),r;if(n.gradientType==="radial"||n.gradientType==="rectangular"||n.gradientType==="path"){let o=e.x+e.w/2,a=e.y+e.h/2;r=t.createRadialGradient(o,a,0,o,a,Math.max(e.w,e.h)/2);}else {let{x1:o,y1:a,x2:s,y2:d}=De(e,n.angle??0);r=t.createLinearGradient(o,a,s,d);}for(let o of i)r.addColorStop(o.position,o.color);return r}function Ie(t,e){let n=(t??[]).filter(i=>i!=null).map(i=>{let r=g(i.position,0);return {position:P(r>1?r/1e5:r,0,1),color:i.color??e}}).sort((i,r)=>i.position-r.position);return n.length===0?[{position:0,color:e},{position:1,color:e}]:n.length===1?[{position:0,color:n[0].color},{position:1,color:n[0].color}]:n}function De(t,e){let n=e*Math.PI/180,i=Math.cos(n),r=Math.sin(n),o=t.x+t.w/2,a=t.y+t.h/2,s=Math.abs(i)*t.w/2+Math.abs(r)*t.h/2;return {x1:o-i*s,y1:a-r*s,x2:o+i*s,y2:a+r*s}}function we(t,e){e?t.clip(e):t.clip();}var vt=4096;function Pt(t,e,n,i){let r=e.fillPaint;if(t.save(),we(t,n),C(t,r?.pictureOpacity),r?.pictureFillMode==="tile"&&Dt(t,e,i)){t.restore();return}let o=r?.pictureStretchRect,a=P(g(o?.left,0),-10,10),s=P(g(o?.top,0),-10,10),d=P(g(o?.right,0),-10,10),l=P(g(o?.bottom,0),-10,10),c={x:e.x+a*e.w,y:e.y+s*e.h,w:e.w*(1-a-d),h:e.h*(1-s-l)};c.w>0&&c.h>0&&Z(t,i,c,It(r)),t.restore();}function It(t){let e=t?.pictureSrcRect;if(e)return {top:g(e.top,0),right:g(e.right,0),bottom:g(e.bottom,0),left:g(e.left,0)}}function Dt(t,e,n){let{width:i,height:r}=Be(n);if(i<=0||r<=0||e.w<=0||e.h<=0)return false;let o=e.fillPaint?.pictureTile,a=Math.max(1,i*P(g(o?.scaleX,1),.01,100)),s=Math.max(1,r*P(g(o?.scaleY,1),.01,100)),d=Math.ceil(e.w/a)+1,l=Math.ceil(e.h/s)+1;if(d*l>vt)return false;let c=o?.alignment??"tl",u=e.x;c==="t"||c==="ctr"||c==="b"?u=e.x+(e.w-a)/2:(c==="tr"||c==="r"||c==="br")&&(u=e.x+e.w-a);let m=e.y;c==="l"||c==="ctr"||c==="r"?m=e.y+(e.h-s)/2:(c==="bl"||c==="b"||c==="br")&&(m=e.y+e.h-s),u+=P(g(o?.offsetX,0),-1e5,1e5),m+=P(g(o?.offsetY,0),-1e5,1e5);let h=Math.ceil((u-e.x)/a),y=Math.ceil((m-e.y)/s),p=o?.flip??"none",v=p==="x"||p==="xy",O=p==="y"||p==="xy";for(let k=-y;;k++){let S=m+k*s;if(S>=e.y+e.h)break;for(let _=-h;;_++){let x=u+_*a;if(x>=e.x+e.w)break;let G=v&&Math.abs(_)%2===1,B=O&&Math.abs(k)%2===1;G||B?(t.save(),t.translate(G?2*x+a:0,B?2*S+s:0),t.scale(G?-1:1,B?-1:1),t.drawImage(n,x,S,a,s),t.restore()):t.drawImage(n,x,S,a,s);}}return true}function wt(t,e,n){let i=e.fillPaint,r=i?.foregroundColor??i?.color??e.fill??"#000000",o=i?.backgroundColor??"#ffffff",a=i?.patternPreset??"pct50";t.save(),we(t,n),t.fillStyle=o,t.fillRect(e.x,e.y,e.w,e.h),t.strokeStyle=r,t.fillStyle=r,t.lineWidth=1,St(t,e,a),t.restore();}function St(t,e,n){let i=Et(n),r=e.x+e.w,o=e.y+e.h,a=/horz|horizontal|cross|grid|plaid|weave|trellis/i.test(n),s=/vert|vertical|cross|grid|plaid|weave|trellis/i.test(n),d=/dnDiag|downDiag|diagCross|trellis|weave/i.test(n),l=/upDiag|diagCross|trellis|weave|zigZag/i.test(n);if(/pct|dot|sphere|confetti/i.test(n)||!a&&!s&&!d&&!l){let u=/pct5|pct10|sm/i.test(n)?.5:1;for(let m=e.y;m<=o;m+=i)for(let h=e.x;h<=r;h+=i)t.beginPath(),t.arc(h,m,u,0,Math.PI*2),t.fill();}if(a)for(let u=e.y;u<=o;u+=i)M(t,e.x,u,r,u);if(s)for(let u=e.x;u<=r;u+=i)M(t,u,e.y,u,o);if(d)for(let u=-e.h;u<=e.w;u+=i)M(t,e.x+u,e.y,e.x+u+e.h,o);if(l)for(let u=0;u<=e.w+e.h;u+=i)M(t,e.x+u,o,e.x+u-e.h,e.y);}function Et(t){return /pct5|pct10|sm|lt/i.test(t)?8:/pct75|pct80|pct90|dk/i.test(t)?3:5}function Rt(t,e){let n=e.effects?.find(o=>o.kind==="shadow"||o.kind==="outerShadow"||o.kind==="glow");if(!n||(t.shadowColor=n.color??"#000000",t.shadowBlur=Math.max(0,n.blurRadius??n.size??0),n.kind==="glow"))return;let i=(n.direction??0)*Math.PI/180,r=n.distance??0;t.shadowOffsetX=Math.cos(i)*r,t.shadowOffsetY=Math.sin(i)*r;}function xt(t,e,n){let i=e.strokePaint,r=e.stroke,o=i?.color??r?.color??"#000000",a=Math.max(0,i?.width??r?.width??1);if(a===0)return;t.strokeStyle=o,i?.cap&&(t.lineCap=i.cap==="flat"?"butt":i.cap),i?.join&&(t.lineJoin=i.join),i?.miterLimit!==void 0&&(t.miterLimit=Math.max(1,i.miterLimit));let s=i?.customDash?.length?i.customDash.map(c=>Math.max(0,c*a)):te(i?.dash??r?.dash,a);t.lineWidth=a,t.setLineDash(s);let d=i?.compound??"single";if(d==="single"){n?t.stroke(n):t.stroke(),me(t,e,i?.headEnd,i?.tailEnd,o,a);return}let l=Ct(d,a);for(let c of l)t.lineWidth=c,n?t.stroke(n):t.stroke();me(t,e,i?.headEnd,i?.tailEnd,o,a);}function Ct(t,e){switch(t){case "double":return [e,Math.max(.5,e/3)];case "triple":return [e,Math.max(.5,e*.6),Math.max(.5,e*.2)];case "thinThick":case "thickThin":return [e,Math.max(.5,e*.4)];default:return [e]}}function me(t,e,n,i,r,o){let a=Tt(e.geometryPath);a&&(n?.type&&n.type!=="none"&&he(t,a.start,a.next,n,r,o),i?.type&&i.type!=="none"&&he(t,a.end,a.prev,i,r,o));}function Tt(t){let e=[];for(let n of t)n.type==="move"||n.type==="line"?e.push({x:n.x,y:n.y}):n.type==="quad"?e.push({x:n.x,y:n.y}):n.type==="cubic"&&e.push({x:n.x,y:n.y});return e.length<2?null:{start:e[0],next:e[1],prev:e[e.length-2],end:e[e.length-1]}}function he(t,e,n,i,r,o){let a=Math.atan2(n.y-e.y,n.x-e.x),s=o*pe(i.length,4),d=o*pe(i.width,2),l=e.x+Math.cos(a)*s,c=e.y+Math.sin(a)*s,u=-Math.sin(a)*d,m=Math.cos(a)*d;t.save(),t.fillStyle=r,t.strokeStyle=r,i.type==="oval"?(t.beginPath(),t.arc(e.x,e.y,d,0,Math.PI*2),t.fill()):i.type==="diamond"?(t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(l+u,c+m),t.lineTo(e.x+Math.cos(a)*s*2,e.y+Math.sin(a)*s*2),t.lineTo(l-u,c-m),t.closePath(),t.fill()):(t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(l+u,c+m),t.lineTo(l-u,c-m),t.closePath(),i.type==="arrow"?t.stroke():t.fill()),t.restore();}function pe(t,e){return t==="sm"?e*.75:t==="lg"?e*1.5:e}function te(t,e){switch(t){case "dot":case "dotted":case "sysDot":return [Math.max(1,e),Math.max(2,e*2)];case "dash":case "dashed":case "dashSmallGap":case "sysDash":return [Math.max(2,e*3),Math.max(2,e*2)];case "lgDash":case "dashLong":case "dashLongHeavy":return [Math.max(4,e*6),Math.max(2,e*2)];case "dashDot":case "lgDashDot":case "sysDashDot":case "dashDotHeavy":return [Math.max(2,e*3),Math.max(2,e*2),e,Math.max(2,e*2)];case "dashDotDot":case "lgDashDotDot":case "sysDashDotDot":case "dashDotDotHeavy":return [Math.max(2,e*3),Math.max(2,e*2),e,Math.max(2,e*2),e,Math.max(2,e*2)];default:return []}}function ne(t,e,n,i,r,o,a,s,d,l){let c=Math.max(o,.5);if(s==="wave"||s==="doubleWave"){_t(t,e,n,i,r,c,a,s==="doubleWave");return}if(s==="double"||s==="triple"||s==="thinThick"||s==="thickThin"){kt(t,e,n,i,r,c,a,s);return}if(s==="groove"||s==="ridge"||s==="inset"||s==="outset"){Lt(t,e,n,i,r,c,a,d,s);return}t.strokeStyle=a,t.lineWidth=c,t.setLineDash(l??Ot(s,c)),M(t,e,n,i,r);}function Ot(t,e){switch(t){case "dotted":return [Math.max(1,e),Math.max(1.5,e*1.5)];case "dashed":return [Math.max(2,e*4),Math.max(2,e*2)];case "dashDot":return [e*4,e*1.5,e,e*1.5];case "dashDotDot":return [e*4,e*1.5,e,e*1.5,e,e*1.5];default:return []}}function Se(t,e,n,i){let r=n-t,o=i-e,a=Math.hypot(r,o)||1;return {x:-o/a,y:r/a}}function kt(t,e,n,i,r,o,a,s){let d=Se(e,n,i,r),l=s==="triple"?[{offset:-o,width:Math.max(.5,o/3)},{offset:0,width:Math.max(.5,o/3)},{offset:o,width:Math.max(.5,o/3)}]:s==="thinThick"?[{offset:-o*.45,width:Math.max(.5,o*.25)},{offset:o*.3,width:Math.max(.75,o*.55)}]:s==="thickThin"?[{offset:-o*.3,width:Math.max(.75,o*.55)},{offset:o*.45,width:Math.max(.5,o*.25)}]:[{offset:-o/2,width:Math.max(.5,o/3)},{offset:o/2,width:Math.max(.5,o/3)}];t.strokeStyle=a,t.setLineDash([]);for(let c of l){t.lineWidth=c.width;let u=d.x*c.offset,m=d.y*c.offset;M(t,e+u,n+m,i+u,r+m);}}function _t(t,e,n,i,r,o,a,s){let d=i-e,l=r-n,c=Math.hypot(d,l);if(c===0)return;let u={x:d/c,y:l/c},m={x:-u.y,y:u.x},h=Math.max(4,o*4),y=Math.max(1,o),p=s?[-y,y]:[0];t.strokeStyle=a,t.lineWidth=Math.max(.5,o/(s?2:1)),t.setLineDash([]);for(let v of p){t.beginPath(),t.moveTo(e+m.x*v,n+m.y*v);let O=0,k=1;for(;O<c;){let S=Math.min(c,O+h/2),_=(O+S)/2;t.quadraticCurveTo(e+u.x*_+m.x*(v+y*k),n+u.y*_+m.y*(v+y*k),e+u.x*S+m.x*v,n+u.y*S+m.y*v),O=S,k*=-1;}t.stroke();}}function Lt(t,e,n,i,r,o,a,s,d){let l=Se(e,n,i,r),c=s??ye(a,"#ffffff",.55),u=ye(a,"#000000",.45),m=d==="ridge"||d==="outset",h=m?c:u,y=m?u:c,p=o/4;t.setLineDash([]),t.lineWidth=Math.max(.5,o/2),t.strokeStyle=h,M(t,e-l.x*p,n-l.y*p,i-l.x*p,r-l.y*p),t.strokeStyle=y,M(t,e+l.x*p,n+l.y*p,i+l.x*p,r+l.y*p);}function ge(t,e){let n=e.x,i=e.y,r=e.x+e.w,o=e.y+e.h;e.top&&Q(t,n,i,r,i,e.top),e.right&&Q(t,r,i,r,o,e.right),e.bottom&&Q(t,n,o,r,o,e.bottom),e.left&&Q(t,n,i,n,o,e.left);}function Q(t,e,n,i,r,o,a){ne(t,e,n,i,r,o.width,o.color,o.style),t.setLineDash([]);}function M(t,e,n,i,r){t.beginPath(),t.moveTo(e,n),t.lineTo(i,r),t.stroke();}async function Mt(t,e,n){if(!n)return;let i=await n(e.relId);if(!i)return;let r=At(e);t.save(),C(t,e.opacity);let o=Nt(e);if(o&&"filter"in t&&(t.filter=o),e.rotationDeg||e.flipH||e.flipV){let a=r.x+r.w/2,s=r.y+r.h/2;t.translate(a,s),e.rotationDeg&&t.rotate(e.rotationDeg*Math.PI/180),(e.flipH||e.flipV)&&t.scale(e.flipH?-1:1,e.flipV?-1:1),t.translate(-a,-s);}e.shapeType==="ellipse"?(t.save(),Ee(t,r),t.clip(),Z(t,i,r,e.crop),t.restore()):Z(t,i,r,e.crop),Gt(t,e,r),e.revision&&(t.strokeStyle=e.revision.kind==="ins"?"rgb(46, 125, 50)":"rgb(198, 40, 40)",t.lineWidth=2,t.setLineDash([]),t.strokeRect(r.x,r.y,r.w,r.h),e.revision.kind==="del"&&(t.beginPath(),t.moveTo(r.x,r.y+r.h),t.lineTo(r.x+r.w,r.y),t.stroke())),t.restore();}function At(t){return {x:g(t.contentFrame?.x,t.x),y:g(t.contentFrame?.y,t.y),w:Math.max(0,g(t.contentFrame?.w,t.w)),h:Math.max(0,g(t.contentFrame?.h,t.h))}}function Z(t,e,n,i){if(!i){t.drawImage(e,n.x,n.y,n.w,n.h);return}let{width:r,height:o}=Be(e);if(r<=0||o<=0||n.w<=0||n.h<=0)return;let a={x:i.left*r,y:i.top*o,w:r*(1-i.left-i.right),h:o*(1-i.top-i.bottom)};if(a.w<=0||a.h<=0)return;if(a.x>=0&&a.y>=0&&a.x+a.w<=r&&a.y+a.h<=o){t.drawImage(e,a.x,a.y,a.w,a.h,n.x,n.y,n.w,n.h);return}let s={x:P(a.x,0,r),y:P(a.y,0,o),right:P(a.x+a.w,0,r),bottom:P(a.y+a.h,0,o)},d=s.right-s.x,l=s.bottom-s.y;if(d<=0||l<=0)return;let c={x:n.x+(s.x-a.x)/a.w*n.w,y:n.y+(s.y-a.y)/a.h*n.h,w:d/a.w*n.w,h:l/a.h*n.h};t.drawImage(e,s.x,s.y,d,l,c.x,c.y,c.w,c.h);}function Nt(t){let e=[],n=Ft(t.filter);n&&e.push(n);for(let i of t.effects??[]){let r=g(i.amount,1);switch(i.kind){case "brightness":case "contrast":case "saturate":e.push(`${i.kind}(${Math.max(0,r)})`);break;case "saturation":e.push(`saturate(${Math.max(0,r)})`);break;case "grayscale":e.push(`grayscale(${P(r,0,1)})`);break;case "biLevel":e.push(`grayscale(1) contrast(${Math.max(1,r||4)})`);break;case "blur":e.push(`blur(${P(r,0,128)}px)`);break}}return e.length>0?e.join(" "):null}function Ft(t){if(!t)return null;let e=/^(?:\s*(?:blur\(\d+(?:\.\d+)?px\)|brightness\(\d+(?:\.\d+)?\)|contrast\(\d+(?:\.\d+)?\)|grayscale\(\d+(?:\.\d+)?%?\)|hue-rotate\(-?\d+(?:\.\d+)?deg\)|invert\(\d+(?:\.\d+)?%?\)|opacity\(\d+(?:\.\d+)?%?\)|saturate\(\d+(?:\.\d+)?\)|sepia\(\d+(?:\.\d+)?%?\))\s*)+$/;return t.length<=512&&e.test(t)?t.trim():null}function Ee(t,e){t.beginPath(),t.ellipse(e.x+e.w/2,e.y+e.h/2,e.w/2,e.h/2,0,0,2*Math.PI);}function Gt(t,e,n){let i=e.border,r=g(i?.width,0);!i||r<=0||(t.strokeStyle=i.color??"#000000",t.lineWidth=r,t.setLineDash(i.dash??te(i.style,r)),e.shapeType==="ellipse"?(Ee(t,n),t.stroke()):t.strokeRect(n.x,n.y,n.w,n.h));}function Bt(t,e){t.beginPath(),t.rect(g(e.x,0),-1e9,Math.max(0,g(e.w,0)),1e9*2),t.clip();}function Re(t,e,n,i,r,o){return n?(ft(),t.save(),Bt(t,n),xe(t,e,i,r,o),true):Ut(t,e,i,r,o)}function Ut(t,e,n,i,r){return n===void 0&&!i&&!Ce(r)?false:(t.save(),xe(t,e,n,i,r),true)}function xe(t,e,n,i,r){if(C(t,n),i){let o=e.x+e.w/2,a=e.y+e.h/2;t.translate(o,a),t.rotate(i*Math.PI/180),t.translate(-o,-a);}if(Ce(r)){let o=r/100,a=e.y+e.h/2;t.translate(e.x,a),t.scale(o,1),t.translate(-e.x,-a);}}function Wt(t,e){let n=e.leaderGlyphs;if(!n?.glyph)return;let i=Math.max(0,Math.floor(n.count??0)),r=g(n.advance,0);if(i===0||r<=0)return;let o=g(n.x,e.x),a=g(n.baselineY,e.baselineY);t.font=n.font??e.font,t.fillStyle=n.color??e.color;for(let s=0;s<i;s++){let d=n.rtl?i-1-s:s;t.fillText(n.glyph,o+d*r,a);}}function Ce(t){return t!==void 0&&t!==100}var Vt=/^(.*?\d*\.?\d+px(?:\/\S+)?\s+)(.+)$/,Ht=/(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|[^,"'])+/g;function ee(t,e){let n=Vt.exec(t)??["","",t],i=false,r=(n[2].match(Ht)??[]).map(o=>{let a=o.trim(),s=/^["']/.test(a)?a.slice(1,-1).replace(/\\(.)/g,"$1"):a,d=s.toLowerCase(),l=e.get(s)??[...e].find(([c])=>c.toLowerCase()===d)?.[1];return l===void 0||l===s?o:(i=true,` "${l.replace(/["\\]/g,"\\$&")}"`)});return i?`${n[1]}${r.join(",").trimStart()}`:t}function $t(t,e){let n=ee(t.font,e),i=t.leaderGlyphs?.font&&ee(t.leaderGlyphs.font,e);return n===t.font&&i===t.leaderGlyphs?.font?t:{...t,font:n,...t.leaderGlyphs?{leaderGlyphs:{...t.leaderGlyphs,font:i}}:{}}}function Te(t,e){return !e||/\bsmall-caps\b/.test(t)?t:t.replace(/^(italic|oblique)\s+/,"$1 small-caps ").replace(/^((?!italic|oblique).*)$/,"small-caps $1")}function Oe(t,e,n,i){let r=e?.textFill;if(!r)return i;if(r.kind==="gradient"){let o=Ie(r.stops,i),{x1:a,y1:s,x2:d,y2:l}=De({x:n.x,y:n.y,w:Math.max(n.w,1),h:Math.max(n.h,1)},g(r.angle,90)),c=t.createLinearGradient(a,s,d,l);for(let u of o)c.addColorStop(u.position,u.color);return c}return r.kind==="solid"&&r.color?r.color:i}function ke(t,e){if(!e)return;if(e.glow){t.shadowColor=e.glow.color??"rgba(255, 192, 0, 0.75)",t.shadowBlur=Math.max(0,g(e.glow.radius,4)),t.shadowOffsetX=0,t.shadowOffsetY=0;return}let n=e.shadow;if(!n)return;t.shadowColor=n.color??"rgba(0, 0, 0, 0.4)",t.shadowBlur=Math.max(0,g(n.blurRadius,0));let i=g(n.direction,0)*Math.PI/180,r=g(n.distance,0);t.shadowOffsetX=Math.cos(i)*r,t.shadowOffsetY=Math.sin(i)*r;}function _e(t,e,n,i,r,o){let a=r.modernEffects;if(!a)return false;let s=Oe(t,a,o,r.color),d=a.reflection;if(d){t.save();let c=o.y+o.h;t.translate(0,2*c+g(d.distance,0)),t.scale(1,-1),C(t,P(g(d.startOpacity,.35),0,1)),t.fillStyle=s,t.fillText(e,n,i),t.restore();}ke(t,a),a.textFill?.kind!=="none"&&(t.fillStyle=s,t.fillText(e,n,i));let l=a.textOutline;if(l&&!l.noFill){let c=Math.max(.5,g(l.width,1));t.strokeStyle=l.color??r.color,t.lineWidth=c,t.setLineDash(te(l.dash,c)),t.strokeText(e,n,i),t.setLineDash([]);}return true}function Le(t,e,n,i,r){if(!r.textShadow&&!r.textOutline){t.fillText(e,n,i);return}let o=r.size??Ge(r.font),a=Math.max(.5,o/16);if(r.textShadow==="emboss"?(t.fillStyle="rgba(255,255,255,0.5)",t.fillText(e,n+a,i+a),t.fillStyle="rgba(0,0,0,0.3)",t.fillText(e,n-a,i-a)):r.textShadow==="imprint"?(t.fillStyle="rgba(255,255,255,0.5)",t.fillText(e,n-a,i-a),t.fillStyle="rgba(0,0,0,0.3)",t.fillText(e,n+a,i+a)):Ae(t,r.textShadow,o),t.fillStyle=r.color,r.textOutline){t.strokeStyle=r.color,t.lineWidth=a,t.strokeText(e,n,i);return}t.fillText(e,n,i);}function Me(t){return t.textShadow!==void 0||t.textOutline===true||t.modernEffects!=null}function Ae(t,e,n=16){e==="shadow"&&(t.shadowColor="rgba(0,0,0,0.3)",t.shadowBlur=Math.max(1,n/8),t.shadowOffsetX=Math.max(.5,n/16),t.shadowOffsetY=Math.max(.5,n/16));}function zt(t,e,n,i,r,o){if(!o.emphasisMark)return;let a=[...e];if(a.length===0||r<=0)return;let s=Fe(o.emphasisMark);if(!s)return;let d=o.size??Ge(o.font),l=Math.max(4,d*.5),c=o.emphasisMark==="underDot"?i+d*.45:i-d*.85,u=r/a.length;t.save(),t.font=`${l}px sans-serif`,t.fillStyle=o.color,t.textAlign="center",t.textBaseline="middle";for(let m=0;m<a.length;m++)/\s/.test(a[m])||t.fillText(s,n+u*m+u/2,c);t.restore();}function Ne(t,e){if(!e.emphasisMark||e.glyphs.length===0)return;let n=Fe(e.emphasisMark);if(!n)return;let i=new Map;for(let s of e.glyphs){let d=i.get(s.cluster),l=s.x+Math.max(0,s.advance??0);d?(d.minX=Math.min(d.minX,s.x),d.maxX=Math.max(d.maxX,l),d.baselineY=Math.max(d.baselineY,s.y)):i.set(s.cluster,{minX:s.x,maxX:l,baselineY:s.y});}let r=[...i.keys()].sort((s,d)=>s-d),o=new TextEncoder().encode(e.text),a=Math.max(4,e.size*.5);t.save(),t.font=`${a}px sans-serif`,t.fillStyle=e.color,t.textAlign="center",t.textBaseline="middle";for(let s=0;s<r.length;s++){let d=r[s],l=r[s+1]??o.length,c=new TextDecoder().decode(o.slice(d,l));if(!c||/^\s+$/u.test(c))continue;let u=i.get(d);if(!u)continue;let m=e.size*.5,h=u.maxX>u.minX?u.maxX:u.minX+m,y=e.emphasisMark==="underDot"?u.baselineY+e.size*.45:u.baselineY-e.size*.85;t.fillText(n,(u.minX+h)/2,y);}t.restore();}function Fe(t){switch(t){case "dot":case "underDot":return "\u2022";case "comma":return "\uFE45";case "circle":return "\u25CB";default:return null}}function Ge(t){let e=t?.match(/(\d+(?:\.\d+)?)px\b/);return e?Number(e[1]):16}function Be(t){let e=t;if(typeof e.naturalWidth=="number"&&typeof e.naturalHeight=="number")return {width:e.naturalWidth,height:e.naturalHeight};if(typeof e.videoWidth=="number"&&typeof e.videoHeight=="number")return {width:e.videoWidth,height:e.videoHeight};let n=typeof e.width=="number"?e.width:e.width?.baseVal.value??0,i=typeof e.height=="number"?e.height:e.height?.baseVal.value??0;return {width:n,height:i}}function C(t,e){if(e===void 0)return;let n=Number.isFinite(t.globalAlpha)?t.globalAlpha:1;t.globalAlpha=n*P(e,0,1);}function g(t,e){return typeof t=="number"&&Number.isFinite(t)?t:e}function P(t,e,n){return Math.min(n,Math.max(e,t))}function ye(t,e,n){let i=be(t),r=be(e);if(!i||!r)return t;let o=(a,s)=>Math.round(a+(s-a)*P(n,0,1)).toString(16).padStart(2,"0");return `#${o(i.r,r.r)}${o(i.g,r.g)}${o(i.b,r.b)}`}function be(t){let e=t.match(/^#([0-9a-f]{3}|[0-9a-f]{6})$/i);if(!e)return null;let n=e[1].length===3?[...e[1]].map(i=>i+i).join(""):e[1];return {r:Number.parseInt(n.slice(0,2),16),g:Number.parseInt(n.slice(2,4),16),b:Number.parseInt(n.slice(4,6),16)}}function Yt(t){let e=t.kind;return new Error(`[canvasBackend] unsupported display primitive kind: ${String(e)}`)}var Un=1,Wn=80,Vn=48;var Xt=-(2n**63n),Jt=64,N=1e7,ie=BigInt(Number.MAX_SAFE_INTEGER),ze=BigInt(Number.MIN_SAFE_INTEGER),jt=0,qt=1,Qt=2,Kt=3,Zt=4,en=5,tn=6,nn=7,rn=8,on=9,Ue=1,We=2,A=class extends Error{constructor(n,i){super(`FrameDelta: ${i}`);b(this,"code");this.name="FrameDeltaError",this.code=n;}};function Ye(t){let e=t instanceof Uint8Array?t:new Uint8Array(t);e.byteOffset%8!==0&&(e=e.slice());let n=new oe(e);n.requireLength(80,"fixed header"),(n.u8(0)!==70||n.u8(1)!==68||n.u8(2)!==86||n.u8(3)!==49)&&f("bad magic");let i=n.u16(4);if(i!==1)throw new A("unsupported-version",`unsupported protocol version ${i}`);n.u16(6)!==80&&f("invalid v1 header length"),n.u32(8)!==e.byteLength&&f("declared total length does not match buffer");let r=n.u32(12);(r&-2)!==0&&f(`unknown frame flags 0x${r.toString(16)}`);let o=(r&1)!==0,a=n.safeU64(16,"document epoch"),s=n.safeU64(24,"layout epoch"),d=n.safeU64(32,"frame epoch"),l=n.safeU64(40,"base frame epoch");o&&l!==0&&f("full frame must have base epoch zero"),!o&&l===0&&f("delta frame requires a nonzero base epoch");let c=n.u32(48),u=n.u32(52),m=n.u32(56),h=n.u32(60),y=n.u32(64),p=n.u32(68),v=n.u32(72),O=v===0?void 0:v;n.u32(76)!==0&&f("reserved header bytes must be zero"),m!==80&&f("invalid operation table offset"),E(m,$e(u,48,"operation table"),"operation table")!==h&&f("operation table/string table are not contiguous");let S=E(h,y,"string table");(S>p||p>e.byteLength)&&f("string/data section bounds are invalid"),p%8!==0&&f("data section is not 8-byte aligned");let _=un(n,h,S),x=[],G=new Set;for(let b=0;b<u;b++){let w=m+b*48,I=n.u8(w);I!==1&&I!==2&&I!==3&&I!==4&&I!==5&&f(`unknown page opcode ${I}`);for(let R=1;R<4;R++)n.u8(w+R)!==0&&f("page operation reserved bytes are nonzero");let z=I===5?44:40;for(let R=z;R<48;R++)n.u8(w+R)!==0&&f("page operation tail is nonzero");let Y=I===5?n.u32(w+40):0,U=n.u32(w+4),L=n.u64(w+8),H=n.u64(w+16),X=n.u32(w+24),W=n.u32(w+28),F=n.u32(w+32),V=n.u32(w+36);if(L===0n&&f("page id zero is reserved"),G.has(L)&&f(`duplicate page operation for id ${L}`),G.add(L),I===2||I===3)(X||W||F||V)&&f("remove/move operation carries an unexpected payload");else if(I===1){U>=c&&f("upsert page index exceeds final page count"),(W<p||W%8!==0)&&f("primitive id array has an invalid offset/alignment");let R=E(W,$e(X,8,"primitive id array"),"primitive id array"),nt=E(F,V,"page payload");(R>e.byteLength||F<R||nt>e.byteLength||V===0)&&f("page payload bounds are invalid");}else {U>=c&&f("position patch page index exceeds final page count");let R=E(F,V,"position patch payload");(X>N||W!==0||F<p||F%8!==0||V<8||R>e.byteLength)&&f("position patch payload bounds are invalid");}x.push({opcode:I,pageIndex:U,pageId:L,fingerprint:H,primitiveCount:X,primitiveIdsOffset:W,payloadOffset:F,payloadLength:V,anchorCount:Y});}o&&x.some(b=>b.opcode!==1)&&f("full frame may contain only page upserts"),fn(n,x,S,p);let B=x.map(b=>{if(b.opcode===2)return {kind:"remove",pageIndex:b.pageIndex,pageId:b.pageId};if(b.opcode===3)return b.pageIndex>=c&&f("move page index exceeds final page count"),{kind:"move",pageIndex:b.pageIndex,pageId:b.pageId,fingerprint:b.fingerprint};if(b.opcode===4)return {kind:"patch-positions",pageIndex:b.pageIndex,pageId:b.pageId,fingerprint:b.fingerprint,patches:hn(n,b)};if(b.opcode===5)return {kind:"shift-positions",pageIndex:b.pageIndex,pageId:b.pageId,fingerprint:b.fingerprint,...mn(n,b)};let w=b.payloadOffset+b.payloadLength,I=new re(n,_,b.payloadOffset,w),z=I.value(0);I.offset!==w&&f("page payload has trailing bytes"),vn(z,b.pageIndex,b.primitiveCount);let Y=e.byteOffset+b.primitiveIdsOffset;Y%8!==0&&f("primitive id array is not host-view aligned");let U=new BigUint64Array(e.buffer,Y,b.primitiveCount),L=new Set;for(let H of U)(H===0n||L.has(H))&&f("primitive id array contains zero or duplicate ids"),L.add(H);return {kind:"upsert",pageIndex:b.pageIndex,pageId:b.pageId,fingerprint:b.fingerprint,primitiveIds:U,page:z}});return o&&B.length!==c&&f("full frame does not define every page"),{protocolVersion:1,full:o,docEpoch:a,layoutEpoch:s,frameEpoch:d,baseFrameEpoch:l,pageCount:c,contractVersion:O,operations:B,bytes:e}}function Xe(t,e){return Je(t,e,false)}function Hn(t,e){return Je(t,e,true)}function Je(t,e,n){if(t&&e.frameEpoch<=t.frameEpoch)throw new A("stale-frame",`frame ${e.frameEpoch} is not newer than applied frame ${t.frameEpoch}`);if(!e.full&&(!t||e.baseFrameEpoch!==t.frameEpoch))throw new A("base-mismatch",`delta base ${e.baseFrameEpoch} does not match applied frame ${t?.frameEpoch??0}`);if(t&&e.docEpoch<t.docEpoch)throw new A("stale-frame","document epoch moved backwards");if(t&&e.layoutEpoch<t.layoutEpoch)throw new A("stale-frame","layout epoch moved backwards");let i=new Map;if(!e.full&&t)for(let l of t.pages)i.set(l.pageId,l);let r=new Set,o=new Set;for(let l of e.operations){if(l.kind==="remove"){i.delete(l.pageId)||f(`remove references unknown page ${l.pageId}`),o.add(l.pageId);continue}if(l.kind==="move"){let c=i.get(l.pageId);c||f(`move references unknown page ${l.pageId}`),c.fingerprint!==l.fingerprint&&f(`move fingerprint differs for page ${l.pageId}`),i.set(l.pageId,{...c,pageIndex:l.pageIndex,page:c.page.pageIndex===l.pageIndex?c.page:{...c.page,pageIndex:l.pageIndex}});continue}if(l.kind==="patch-positions"){let c=i.get(l.pageId);c||f(`position patch references unknown page ${l.pageId}`),i.set(l.pageId,{...c,pageIndex:l.pageIndex,fingerprint:l.fingerprint,page:pn(c.page,c.primitiveIds,l.patches,l.pageIndex)});continue}if(l.kind==="shift-positions"){let c=i.get(l.pageId);c||f(`position shift references unknown page ${l.pageId}`),i.set(l.pageId,{...c,pageIndex:l.pageIndex,fingerprint:l.fingerprint,page:n?dn(c.page,l,l.pageIndex):gn(c.page,l,l.pageIndex)});continue}i.set(l.pageId,{pageIndex:l.pageIndex,pageId:l.pageId,fingerprint:l.fingerprint,primitiveIds:l.primitiveIds.slice(),page:l.page}),r.add(l.pageId);}if(e.full&&t)for(let l of t.pages)i.has(l.pageId)||o.add(l.pageId);i.size!==e.pageCount&&f("applied page count does not match frame header");let a=[...i.values()].sort((l,c)=>l.pageIndex-c.pageIndex),s=new Set;for(let l=0;l<a.length;l++){let c=a[l];(c.pageIndex!==l||c.page.pageIndex!==l)&&f("applied pages are not a contiguous zero-based sequence"),s.has(c.pageId)&&f(`duplicate retained page id ${c.pageId}`),s.add(c.pageId);}let d={...e.contractVersion===void 0?{}:{contractVersion:e.contractVersion},pages:a.map(l=>l.page)};return {protocolVersion:1,docEpoch:e.docEpoch,layoutEpoch:e.layoutEpoch,frameEpoch:e.frameEpoch,contractVersion:e.contractVersion,pages:a,damagedPageIds:r,removedPageIds:o,displayList:d}}var je="__betterofficePageRevision";function ae(t){return t[je]??0}function an(t){Object.defineProperty(t,je,{value:ae(t)+1,enumerable:false,configurable:true,writable:true});}var qe="__betterofficeNoteAnchorRevision";function sn(t){return t[qe]??0}var Qe="__betterofficePageShiftLog",Ve=64;function Ke(t){return t[Qe]??[]}function ln(t,e){let n=Ke(t);n.push({revision:ae(t),shift:{runs:e.runs,anchors:e.anchors}}),n.length>Ve&&n.splice(0,n.length-Ve),Object.defineProperty(t,Qe,{value:n,enumerable:false,configurable:true,writable:true});}function $n(t,e){let n=ae(t);if(n===e)return [];if(n<e)return null;let i=Ke(t).filter(r=>r.revision>e);return i.length!==n-e?null:i.map(r=>r.shift)}function Ze(t,e){let n=t.noteAreas?.[e.area]?.notes?.[e.note];return n||f("note anchor shift references an unknown note"),n}function et(t,e){e.start===null?delete t.anchorDocStart:t.anchorDocStart=e.start,e.end===null?delete t.anchorDocEnd:t.anchorDocEnd=e.end;}function dn(t,e,n){let{runs:i}=e,r=e.anchors.map(d=>Ze(t,d)),o=0,a=0,s=d=>{for(let l of d){for(;a<i.length&&i[a].start+i[a].count<=o;)a+=1;let c=i[a];c&&o>=c.start&&o<c.start+c.count&&cn(l,c.changedMask,c.delta),o+=1;}};s(t.primitives);for(let d of t.noteAreas??[])s(d.separatorPrimitives??[]),s(d.primitives??[]);return t.header&&s(t.header.primitives),t.footer&&s(t.footer.primitives),i.some(d=>d.start+d.count>o)&&f("position shift range exceeds retained primitive count"),e.anchors.forEach((d,l)=>et(r[l],d)),e.anchors.length>0&&Object.defineProperty(t,qe,{value:sn(t)+1,enumerable:false,configurable:true,writable:true}),an(t),ln(t,e),t.pageIndex===n?t:{...t,pageIndex:n}}function cn(t,e,n){let i=(e&128)!==0,r=(o,a)=>{if((e&o)===0)return;let s=t[a];if(i&&s===void 0)return;typeof s!="number"&&f(`position shift requires retained ${a}`);let d=s+n;Number.isSafeInteger(d)||f(`position shift overflows ${a}`),t[a]=d;};r(1,"docStart"),r(2,"docEnd"),r(4,"fragmentDocStart"),r(8,"fragmentDocEnd"),(e&16)!==0&&!(i&&t.inlineSdtWidget===void 0)&&((!t.inlineSdtWidget||!Number.isSafeInteger(t.inlineSdtWidget.pos+n))&&f("position shift requires retained inline widget metadata"),t.inlineSdtWidget.pos+=n);}function un(t,e,n){let i=e;i+4>n&&f("truncated string table count");let r=t.u32(i);i+=4,r>N&&f("string table count exceeds decoder limit");let o=new TextDecoder("utf-8",{fatal:true}),a=[];for(let s=0;s<r;s++){i+4>n&&f("truncated string length");let d=t.u32(i);i+=4;let l=E(i,d,"string bytes");l>n&&f("string exceeds string table bounds");try{a.push(o.decode(t.bytes.subarray(i,l)));}catch{f("string table contains invalid UTF-8");}i=l;}return i!==n&&f("string table length/count mismatch"),a}function fn(t,e,n,i){let r=[];for(let a of e)a.opcode===1?(a.primitiveCount>0&&r.push({start:a.primitiveIdsOffset,end:a.primitiveIdsOffset+a.primitiveCount*8}),r.push({start:a.payloadOffset,end:a.payloadOffset+a.payloadLength})):(a.opcode===4||a.opcode===5)&&r.push({start:a.payloadOffset,end:a.payloadOffset+a.payloadLength});r.sort((a,s)=>a.start-s.start||a.end-s.end),He(t,n,i);let o=i;for(let a of r)a.start<o&&f("data regions overlap"),He(t,o,a.start),o=a.end;o!==t.bytes.byteLength&&f("data section has trailing bytes");}function mn(t,e){let n=e.payloadOffset,i=e.payloadOffset+e.payloadLength,r=(l,c)=>{let u=E(n,l,c);u>i&&f(`truncated ${c}`);let m=n;return n=u,m},o=t.u32(r(4,"position shift run count"));(o!==e.primitiveCount||o+e.anchorCount===0||o>N)&&f("position shift run count mismatch"),t.u32(r(4,"position shift reserved word"))!==0&&f("position shift reserved word is nonzero");let a=[],s=0;for(let l=0;l<o;l++){let c=t.u32(r(4,"position shift start")),u=t.u32(r(4,"position shift count")),m=t.u8(r(1,"position shift changed mask"));r(7,"position shift reserved bytes");for(let p=n-7;p<n;p++)t.u8(p)!==0&&f("position shift reserved bytes are nonzero");let h=t.safeI64(r(8,"position shift delta"),"position shift delta"),y=E(c,u,"position shift range");(u===0||c<s||(m&31)===0||(m&-160)!==0||h===0)&&f("position shift run is invalid"),s=y,a.push({start:c,count:u,changedMask:m,delta:h});}let d=[];if(e.anchorCount>0){let l=t.u32(r(4,"note anchor count"));(l!==e.anchorCount||l>N)&&f("note anchor count mismatch"),t.u32(r(4,"note anchor reserved word"))!==0&&f("note anchor reserved word is nonzero");let c=u=>{let m=r(8,u);return t.i64(m)===Xt?null:t.safeI64(m,u)};for(let u=0;u<l;u++){let m=t.u32(r(4,"note anchor area")),h=t.u32(r(4,"note anchor note")),y=c("note anchor start"),p=c("note anchor end"),v=d.at(-1);v&&(m<v.area||m===v.area&&h<=v.note)&&f("note anchors are not in strictly increasing order"),d.push({area:m,note:h,start:y,end:p});}}return n!==i&&f("position shift byte length/count mismatch"),{runs:a,anchors:d}}function He(t,e,n){for(let i=e;i<n;i++)t.u8(i)!==0&&f("alignment padding is nonzero");}function hn(t,e){let n=e.payloadOffset,i=e.payloadOffset+e.payloadLength,r=(l,c)=>{let u=E(n,l,c);u>i&&f(`truncated ${c}`);let m=n;return n=u,m},o=t.u32(r(4,"position patch count"));o!==e.primitiveCount&&f("position patch count mismatch"),(o===0||o>N)&&f("invalid position patch count"),t.u32(r(4,"position patch reserved word"))!==0&&f("position patch reserved word is nonzero");let a=new Set,s=[],d=[[1,"docStart"],[2,"docEnd"],[4,"fragmentDocStart"],[8,"fragmentDocEnd"],[16,"inlineWidgetPos"]];for(let l=0;l<o;l++){let c=t.u64(r(8,"position patch primitive id"));(c===0n||a.has(c))&&f("position patch carries an invalid or duplicate primitive id"),a.add(c);let u=t.u8(r(1,"position patch changed mask")),m=t.u8(r(1,"position patch present mask"));(u===0||(u&-32)!==0)&&f("position patch changed mask is invalid"),(m&~u)!==0&&f("position patch present mask is not a subset of changed fields"),t.u16(r(2,"position patch reserved bytes"))!==0&&f("position patch reserved bytes are nonzero");let h={primitiveId:c};for(let[y,p]of d)(u&y)!==0&&(h[p]=(m&y)===0?null:t.safeI64(r(8,`position patch ${p}`),p));s.push(h);}return n!==i&&f("position patch byte length/count mismatch"),s}function pn(t,e,n,i){let r=new Map;for(let u of n)r.has(u.primitiveId)&&f(`duplicate position patch ${u.primitiveId}`),r.set(u.primitiveId,u);let o=0,a=u=>u.map(m=>{o>=e.length&&f("retained primitive id array is shorter than its page");let h=e[o++],y=r.get(h);return y?(r.delete(h),bn(m,y)):m}),s=a(t.primitives),d=t.noteAreas?.map(u=>({...u,...u.separatorPrimitives?{separatorPrimitives:a(u.separatorPrimitives)}:{},...u.primitives?{primitives:a(u.primitives)}:{}})),l=t.header?{...t.header,primitives:a(t.header.primitives)}:void 0,c=t.footer?{...t.footer,primitives:a(t.footer.primitives)}:void 0;return o!==e.length&&f("retained primitive id array is longer than its page"),r.size!==0&&f("position patch references an unknown primitive id"),{...t,pageIndex:i,primitives:s,...d?{noteAreas:d}:{},...l?{header:l}:{},...c?{footer:c}:{}}}function gn(t,e,n){let{runs:i}=e,r=0,o=0,a=h=>h.map(y=>{for(;o<i.length&&i[o].start+i[o].count<=r;)o+=1;let p=i[o],v=p&&r>=p.start&&r<p.start+p.count?yn(y,p.changedMask,p.delta):y;return r+=1,v}),s=a(t.primitives),d=t.noteAreas?.map(h=>({...h,...h.separatorPrimitives?{separatorPrimitives:a(h.separatorPrimitives)}:{},...h.primitives?{primitives:a(h.primitives)}:{}})),l=t.header?{...t.header,primitives:a(t.header.primitives)}:void 0,c=t.footer?{...t.footer,primitives:a(t.footer.primitives)}:void 0;i.some(h=>h.start+h.count>r)&&f("position shift range exceeds retained primitive count");let u=e.anchors.map(h=>Ze(t,h)),m=new Set;return e.anchors.forEach((h,y)=>{let p=d[h.area];m.has(h.area)||(p.notes=p.notes.slice()),m.add(h.area);let v={...u[y]};et(v,h),p.notes[h.note]=v;}),{...t,pageIndex:n,primitives:s,...d?{noteAreas:d}:{},...l?{header:l}:{},...c?{footer:c}:{}}}function yn(t,e,n){let i={...t},r=(e&128)!==0,o=(a,s)=>{if((e&a)===0)return;let d=i[s];if(r&&d===void 0)return;typeof d!="number"&&f(`position shift requires retained ${s}`);let l=d+n;Number.isSafeInteger(l)||f(`position shift overflows ${s}`),i[s]=l;};return o(1,"docStart"),o(2,"docEnd"),o(4,"fragmentDocStart"),o(8,"fragmentDocEnd"),(e&16)!==0&&!(r&&i.inlineSdtWidget===void 0)&&((!i.inlineSdtWidget||!Number.isSafeInteger(i.inlineSdtWidget.pos+n))&&f("position shift requires retained inline widget metadata"),i.inlineSdtWidget={...i.inlineSdtWidget,pos:i.inlineSdtWidget.pos+n}),i}function bn(t,e){let n={...t},i=(r,o)=>{o===null?delete n[r]:n[r]=o;};return e.docStart!==void 0&&i("docStart",e.docStart),e.docEnd!==void 0&&i("docEnd",e.docEnd),e.fragmentDocStart!==void 0&&i("fragmentDocStart",e.fragmentDocStart),e.fragmentDocEnd!==void 0&&i("fragmentDocEnd",e.fragmentDocEnd),e.inlineWidgetPos!==void 0&&((e.inlineWidgetPos===null||!n.inlineSdtWidget)&&f("inline widget position patch requires retained widget metadata"),n.inlineSdtWidget={...n.inlineSdtWidget,pos:e.inlineWidgetPos}),n}var re=class{constructor(e,n,i,r){b(this,"reader",e);b(this,"strings",n);b(this,"end",r);b(this,"offset");this.offset=i;}value(e){e>Jt&&f("typed value nesting exceeds decoder limit");let n=this.readU8("value tag");switch(n){case jt:return null;case qt:return false;case Qt:return true;case Kt:return this.safeInteger(this.readI64("i64 value"),"signed value");case Zt:return this.safeInteger(this.readU64("u64 value"),"unsigned value");case en:{let i=this.readF64("f64 value");return Number.isFinite(i)||f("non-finite f64 value"),i}case tn:return this.string(this.readU32("string id"));case nn:{let i=this.readU32("array byte length"),r=this.readU32("array item count");r>N&&f("array item count exceeds decoder limit");let o=E(this.offset,i,"array payload");o>this.end&&f("array payload exceeds parent bounds");let a=[];for(let s=0;s<r;s++)a.push(this.value(e+1));return this.offset!==o&&f("array byte length/count mismatch"),a}case rn:{let i=this.readU32("object byte length"),r=this.readU32("object field count");r>N&&f("object field count exceeds decoder limit");let o=E(this.offset,i,"object payload");o>this.end&&f("object payload exceeds parent bounds");let a={};for(let s=0;s<r;s++){let d=this.string(this.readU32("object key id"));Object.prototype.hasOwnProperty.call(a,d)&&f(`duplicate object key ${d}`),d in Object.prototype?Object.defineProperty(a,d,{value:this.value(e+1),enumerable:true,configurable:true,writable:true}):a[d]=this.value(e+1);}return this.offset!==o&&f("object byte length/count mismatch"),a}case on:{let i=this.readU32("glyph array byte length"),r=this.readU32("glyph array item count");r>N&&f("glyph array item count exceeds decoder limit");let o=E(this.offset,i,"glyph array payload");o>this.end&&f("glyph array payload exceeds parent bounds");let a=[];for(let s=0;s<r;s++){let d=this.readU32("glyph id"),l=this.finiteF64("glyph x"),c=this.finiteF64("glyph y"),u=this.readU32("glyph cluster"),m=this.finiteF64("glyph advance"),h=this.readU8("glyph flags");(h&-4)!==0&&f("glyph flags contain unknown bits");let y={id:d,x:l,y:c,cluster:u,advance:m};(h&Ue)!==0&&(y.logicalOrder=this.safeInteger(this.readU64("glyph logical order"),"glyph logical order")),(h&We)!==0&&(y.bidiLevel=this.readU8("glyph bidi level")),a.push(y);}return this.offset!==o&&f("glyph array byte length/count mismatch"),a}default:f(`unknown typed value opcode ${n}`);}}string(e){let n=this.strings[e];return n===void 0&&f(`string id ${e} is out of bounds`),n}safeInteger(e,n){return (e<ze||e>ie)&&f(`${n} exceeds JavaScript safe-integer range`),Number(e)}require(e,n){let i=E(this.offset,e,n);i>this.end&&f(`truncated ${n}`);let r=this.offset;return this.offset=i,r}readU8(e){return this.reader.u8(this.require(1,e))}readU32(e){return this.reader.u32(this.require(4,e))}readU64(e){return this.reader.u64(this.require(8,e))}readI64(e){return this.reader.i64(this.require(8,e))}readF64(e){return this.reader.f64(this.require(8,e))}finiteF64(e){let n=this.readF64(e);return Number.isFinite(n)||f(`non-finite ${e}`),n}},oe=class{constructor(e){b(this,"bytes",e);b(this,"view");this.view=new DataView(e.buffer,e.byteOffset,e.byteLength);}requireLength(e,n){this.bytes.byteLength<e&&f(`truncated ${n}`);}u8(e){return this.bounds(e,1),this.view.getUint8(e)}u16(e){return this.bounds(e,2),this.view.getUint16(e,true)}u32(e){return this.bounds(e,4),this.view.getUint32(e,true)}u64(e){return this.bounds(e,8),this.view.getBigUint64(e,true)}i64(e){return this.bounds(e,8),this.view.getBigInt64(e,true)}f64(e){return this.bounds(e,8),this.view.getFloat64(e,true)}safeU64(e,n){let i=this.u64(e);return i>ie&&f(`${n} exceeds JavaScript safe-integer range`),Number(i)}safeI64(e,n){let i=this.i64(e);return (i<ze||i>ie)&&f(`${n} exceeds JavaScript safe-integer range`),Number(i)}bounds(e,n){(e<0||e+n>this.bytes.byteLength)&&f("read exceeds frame bounds");}};function vn(t,e,n){(!t||typeof t!="object"||Array.isArray(t))&&f("page payload is not an object"),t.pageIndex!==e&&f("page payload/index operation mismatch"),(!Number.isFinite(t.width)||t.width<0||!Number.isFinite(t.height)||t.height<0)&&f("page dimensions are invalid"),Array.isArray(t.primitives)||f("page primitives are not an array");let i=t.watermarkPrimitiveCount??0;(!Number.isSafeInteger(i)||i<0||i>t.primitives.length)&&f("watermark primitive count is invalid");let r=t.primitives.length;for(let o of t.noteAreas??[])(!Array.isArray(o.separatorPrimitives??[])||!Array.isArray(o.primitives??[]))&&f("note primitive collections are invalid"),r+=(o.separatorPrimitives?.length??0)+(o.primitives?.length??0);for(let o of [t.header,t.footer])o&&!Array.isArray(o.primitives)&&f("header/footer primitives are invalid"),r+=o?.primitives.length??0;r!==n&&f("primitive id count does not match decoded page");}function E(t,e,n){let i=t+e;return (!Number.isSafeInteger(i)||i<0)&&f(`${n} byte offset overflow`),i}function $e(t,e,n){let i=t*e;return (!Number.isSafeInteger(i)||i<0)&&f(`${n} byte length overflow`),i}function f(t){throw new A("invalid-frame",t)}var T=class extends Error{constructor(n,i){let r=i instanceof Error?i.message:String(i);super(`Rust display-list ${n} failed: ${r}`);b(this,"stage");this.name="RustDisplayListSourceError",this.stage=n;}},tt=null;function se(){return tt??(tt=import('./wasm-IBCLSJQU.mjs').then(async t=>(await t.preloadLayoutWasm(),{buildDisplayListJson:t.buildDisplayListJson,hitTestRegionsJson:t.hitTestRegionsJson,verticalMoveJson:t.verticalMoveJson,rangeRectsJson:t.rangeRectsJson,rangeRectsRegionJson:t.rangeRectsRegionJson,hasRangeRectsRegion:t.hasRangeRectsRegion,hasDisplayListSession:t.hasDisplayListSession,openDisplayList:t.openDisplayList,closeDisplayList:t.closeDisplayList,updateDisplayList:t.updateDisplayList,hasDisplayListUpdate:t.hasDisplayListUpdate,hitTestRegionsByHandle:t.hitTestRegionsByHandle,verticalMoveByHandle:t.verticalMoveByHandle,rangeRectsByHandle:t.rangeRectsByHandle,rangeRectsRegionByHandle:t.rangeRectsRegionByHandle}))),tt}function jn(){return se()}function Pn(t,e){let n=t.measured,i="[";for(let o=0;o<n.length;o++){o>0&&(i+=",");let a=n[o],s=a.measure,d;if(e&&s!==null&&typeof s=="object"){let l=s;d=e.get(l),d===void 0&&(d=JSON.stringify(a.measure),e.set(l,d));}else d=JSON.stringify(a.measure);i+='{"block":'+JSON.stringify(a.block)+',"measure":'+d+"}";}i+="]";let r='{"measured":'+i+',"options":'+JSON.stringify(t.options)+',"layout":'+JSON.stringify(t.layout);return t.contractVersion!==void 0&&(r+=',"contractVersion":'+JSON.stringify(t.contractVersion)),t.headersFooters!==void 0&&(r+=',"headersFooters":'+JSON.stringify(t.headersFooters)),t.fontChains!==void 0&&(r+=',"fontChains":'+JSON.stringify(t.fontChains)),t.noteAreas!==void 0&&(r+=',"noteAreas":'+JSON.stringify(t.noteAreas)),t.resolvedCommentIds!==void 0&&(r+=',"resolvedCommentIds":'+JSON.stringify(t.resolvedCommentIds)),t.commentAuthors!==void 0&&(r+=',"commentAuthors":'+JSON.stringify(t.commentAuthors)),t.commentThreads!==void 0&&(r+=',"commentThreads":'+JSON.stringify(t.commentThreads)),r+="}",r}function In(t){let e={};return t.contractVersion!==void 0&&(e.contractVersion=t.contractVersion),t.headersFooters!==void 0&&(e.headersFooters=t.headersFooters),t.fontChains!==void 0&&(e.fontChains=t.fontChains),t.noteAreas!==void 0&&(e.noteAreas=t.noteAreas),t.resolvedCommentIds!==void 0&&(e.resolvedCommentIds=t.resolvedCommentIds),t.commentAuthors!==void 0&&(e.commentAuthors=t.commentAuthors),t.commentThreads!==void 0&&(e.commentThreads=t.commentThreads),JSON.stringify(e)}var Dn=new WeakMap;async function wn(t,e){let n;try{n=e??await se();}catch(o){throw new T("load",o)}let i,r;try{i=Pn(t,Dn),r=n.buildDisplayListJson(i);}catch(o){throw new T("build",o)}try{return JSON.parse(r)}catch(o){throw new T("parse",o)}}async function qn(t,e,n=null,i=n?.frameEpoch??0){let r;try{r=e??await se();}catch(l){throw new T("load",l)}if(!r.buildDisplayListFrame)return {displayList:await wn(t,r),frame:null,transport:"json"};let o=In(t),a;try{a=r.buildDisplayListFrame(o,i);}catch(l){throw new T("build",l)}let s;try{s=Ye(a);}catch(l){throw new T("decode",l)}let d;try{d=Xe(n,s);}catch(l){throw new T("apply",l)}return {displayList:d.displayList,frame:d,transport:"frame-delta-v1"}}export{T as A,jn as B,In as C,wn as D,qn as E,le as a,ot as b,K as c,q as d,at as e,xn as f,Cn as g,_n as h,Ln as i,Mn as j,An as k,Nn as l,st as m,Fn as n,ve as o,$ as p,Un as q,Wn as r,Vn as s,A as t,Ye as u,Xe as v,Hn as w,ae as x,sn as y,$n as z};
|
package/dist/chunk-4QHAMEAS.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import {c}from'./chunk-CTBUQRYQ.mjs';import {b}from'./chunk-TTRUPDAB.mjs';var ee=new WeakMap;function Dn(e){return ee.get(e)?.sourcePackage()??null}function On(e,n){ee.set(e,n);}function Ln(e){let n=ee.get(e);if(!n)throw new Error("the session was not created by createYrsSession");return n}function be(e){return e.type==="rawXml"}var D=class extends Error{constructor(n){super(n),this.name="ContentControlValueError";}};function J(e,n,t){let r=new RegExp(`<${n}\\b[^>]*>`).exec(e);if(!r)return;let i=new RegExp(`\\b${t}="([^"]*)"`).exec(r[0]);return i?i[1]:void 0}function ne(e,n,t,r){let o=new RegExp(`<${n}\\b[^>]*?(/?)>`).exec(e);if(!o)return e;let l=o[0],s=o[1]==="/",a=l.slice(1,s?-2:-1),d=new RegExp(`\\b${t}="[^"]*"`).test(a)?a.replace(new RegExp(`\\b${t}="[^"]*"`),()=>`${t}="${r}"`):`${a} ${t}="${r}"`;return e.replace(l,()=>`<${d}${s?"/>":">"}`)}function We(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function Xe(e,n){if(!e)return n;let t=parseInt(e,16);return Number.isNaN(t)||t<0||t>1114111||t>=55296&&t<=57343?n:String.fromCodePoint(t)}function Je(e,n,t){let[r,i,o]=e.slice(0,10).split("-").map(f=>parseInt(f,10));if(!ke(r,i,o))return e;let l=n&&n.trim()?n:"M/d/yyyy",s=f=>String(f).padStart(2,"0"),a=new Date(Date.UTC(r,i-1,o)),c=f=>{try{return new Intl.DateTimeFormat(t||"en",{month:f,timeZone:"UTC"}).format(a)}catch{return new Intl.DateTimeFormat("en",{month:f,timeZone:"UTC"}).format(a)}},d={yyyy:String(r),yy:String(r).slice(-2),MMMM:c("long"),MMM:c("short"),MM:s(i),M:String(i),dd:s(o),d:String(o)};return l.replace(/yyyy|yy|MMMM|MMM|MM|M|dd|d/g,f=>d[f])}function ke(e,n,t){if(!e||!n||!t)return false;let r=new Date(Date.UTC(e,n-1,t));return r.getUTCFullYear()===e&&r.getUTCMonth()===n-1&&r.getUTCDate()===t}function te(e,n){return e?{type:"paragraph",content:[{type:"run",content:[{type:"text",text:e}],...n?{formatting:{fontFamily:{ascii:n,hAnsi:n,eastAsia:n,cs:n}}}:{}}]}:{type:"paragraph",content:[]}}function Ve(e){return e&&e.replace(/<w:showingPlcHdr\b[^>]*\/>/g,"").replace(/<w:showingPlcHdr\b[^>]*>[\s\S]*?<\/w:showingPlcHdr>/g,"")}function re(e,n){let t=Ve(n);return {...e,showingPlaceholder:false,rawPropertiesXml:(t??n)||void 0}}function oe(e,n){let t=e.rawPropertiesXml??"";switch(n.kind){case "dropdown":{if(e.sdtType!=="dropDownList"&&e.sdtType!=="comboBox")throw new D(`Control is '${e.sdtType}', not a dropdown/combo box.`);let r=e.listItems?.find(c=>c.value===n.value||c.displayText===n.value);if(!r&&e.sdtType==="dropDownList")throw new D(`'${n.value}' is not one of the control's list items.`);let i=r?.value??n.value,o=r?.displayText??n.value,l=r?e.listItems?.indexOf(r):void 0,s=e.sdtType==="comboBox"?"w:comboBox":"w:dropDownList",a=ne(t,s,"w:lastValue",We(i));return {properties:{...re(e,a),listLastValue:i,controlState:{...e.controlState,value:o,selectedValue:i,selectedIndex:l,placeholder:false}},content:[te(o)]}}case "checkbox":{if(e.sdtType!=="checkbox")throw new D(`Control is '${e.sdtType}', not a checkbox.`);if(J(t,"w14:checked","w14:val")==null)throw new D("Checkbox control has no <w14:checked> state to update (not a Word checkbox).");let r=n.checked?"w14:checkedState":"w14:uncheckedState",i=Xe(J(t,r,"w14:val"),n.checked?"\u2612":"\u2610"),o=J(t,r,"w14:font"),l=ne(t,"w14:checked","w14:val",n.checked?"1":"0");return {properties:{...re(e,l),checked:n.checked,controlState:{...e.controlState,checked:n.checked,value:i,placeholder:false}},content:[te(i,o)]}}case "date":{if(e.sdtType!=="date")throw new D(`Control is '${e.sdtType}', not a date control.`);let r=n.date.slice(0,10),[i,o,l]=/^\d{4}-\d{2}-\d{2}$/.test(r)?r.split("-").map(Number):[];if(!ke(i,o,l))throw new D(`Date must be ISO yyyy-mm-dd, got '${n.date}'.`);let s=`${r}T00:00:00`,a=ne(t,"w:date","w:fullDate",s),c=e.dateState?.format??e.dateFormat??J(t,"w:dateFormat","w:val"),d=e.dateState?.language,f=Je(r,c,d);return {properties:{...re(e,a),dateFormat:c,dateState:{...e.dateState,fullDate:s,format:c},controlState:{...e.controlState,value:r,placeholder:false}},content:[te(f)]}}}}function Yn(e){return {sdtType:e.sdtType,id:e.id??null,alias:e.alias??null,tag:e.tag??null,lock:e.lock??null,placeholder:e.placeholder??null,showingPlaceholder:e.showingPlaceholder??false,dateFormat:e.dateFormat??null,listItems:e.listItems?JSON.stringify(e.listItems):null,checked:e.checked??null,dataBinding:e.dataBinding?JSON.stringify(e.dataBinding):null,multiLine:e.multiLine??null,rawPropertiesXml:e.rawPropertiesXml??null,rawEndPropertiesXml:e.rawEndPropertiesXml??null}}function ie(e){let n={sdtType:e.sdtType??"richText"};if(typeof e.id=="number"&&(n.id=e.id),e.alias!=null&&(n.alias=String(e.alias)),e.tag!=null&&(n.tag=String(e.tag)),e.lock!=null&&(n.lock=e.lock),e.placeholder!=null&&(n.placeholder=String(e.placeholder)),e.showingPlaceholder&&(n.showingPlaceholder=true),e.dateFormat!=null&&(n.dateFormat=String(e.dateFormat)),typeof e.listItems=="string"&&e.listItems)try{n.listItems=JSON.parse(e.listItems);}catch{}if(e.checked!=null&&(n.checked=e.checked),typeof e.dataBinding=="string"&&e.dataBinding)try{n.dataBinding=JSON.parse(e.dataBinding);}catch{}return typeof e.multiLine=="boolean"&&(n.multiLine=e.multiLine),e.rawPropertiesXml!=null&&(n.rawPropertiesXml=String(e.rawPropertiesXml)),e.rawEndPropertiesXml!=null&&(n.rawEndPropertiesXml=String(e.rawEndPropertiesXml)),n}function we(e){return e.numPrFromStyle!=null&&e.numPr!=null&&JSON.stringify(e.numPr)===JSON.stringify(e.numPrFromStyle)}function xe(e){if(e._originalFormatting){let t=e._originalFormatting,r={...t};return e.alignment!==(t.alignment||void 0)&&(r.alignment=e.alignment||void 0),we(e)?(delete r.numPr,delete r.numPrFromStyle):e.numPr!==t.numPr&&JSON.stringify(e.numPr)!==JSON.stringify(t.numPr)&&(r.numPr=e.numPr||void 0,delete r.numPrFromStyle),e.styleId!==(t.styleId||void 0)&&(r.styleId=e.styleId||void 0),e.pageBreakBefore!==(t.pageBreakBefore||void 0)&&(r.pageBreakBefore=e.pageBreakBefore||void 0),e.widowControl!==(t.widowControl??void 0)&&(r.widowControl=e.widowControl??void 0),e.autoSpaceDE!==(t.autoSpaceDE??void 0)&&(r.autoSpaceDE=e.autoSpaceDE??void 0),e.autoSpaceDN!==(t.autoSpaceDN??void 0)&&(r.autoSpaceDN=e.autoSpaceDN??void 0),e.bidi!==(t.bidi||void 0)&&(r.bidi=e.bidi||void 0),r}if(e.alignment||e.spaceBefore!=null||e.spaceAfter!=null||e.spaceBeforeLines!=null||e.spaceAfterLines!=null||e.beforeAutospacing!=null||e.afterAutospacing!=null||e.lineSpacing||e.indentLeft||e.indentRight||e.indentFirstLine||e.numPr||e.styleId||e.borders||e.shading||e.tabs||e.outlineLevel!=null||e.contextualSpacing||e.pageBreakBefore||e.widowControl!=null||e.autoSpaceDE!=null||e.autoSpaceDN!=null||e.bidi)return {alignment:e.alignment||void 0,spaceBefore:e.spaceBefore??void 0,spaceAfter:e.spaceAfter??void 0,spaceBeforeLines:e.spaceBeforeLines??void 0,spaceAfterLines:e.spaceAfterLines??void 0,beforeAutospacing:e.beforeAutospacing??void 0,afterAutospacing:e.afterAutospacing??void 0,lineSpacing:e.lineSpacing||void 0,lineSpacingRule:e.lineSpacingRule||void 0,indentLeft:e.indentLeft||void 0,indentRight:e.indentRight||void 0,indentFirstLine:e.indentFirstLine||void 0,hangingIndent:e.hangingIndent||void 0,numPr:we(e)?void 0:e.numPr||void 0,styleId:e.styleId||void 0,borders:e.borders||void 0,shading:e.shading||void 0,tabs:e.tabs||void 0,outlineLevel:e.outlineLevel??void 0,contextualSpacing:e.contextualSpacing||void 0,pageBreakBefore:e.pageBreakBefore||void 0,widowControl:e.widowControl??void 0,autoSpaceDE:e.autoSpaceDE??void 0,autoSpaceDN:e.autoSpaceDN??void 0,bidi:e.bidi||void 0}}function Se(e){if(e._originalFormatting){let t=e._originalFormatting,r={...t};return e.styleId!==(t.styleId||void 0)&&(r.styleId=e.styleId||void 0),e.justification!==(t.justification||void 0)&&(r.justification=e.justification||void 0),e.floating!==(t.floating||void 0)&&(r.floating=e.floating||void 0),e.tableLayout!==(t.layout||void 0)&&(r.layout=e.tableLayout||void 0),e.look!==(t.look||void 0)&&(r.look=e.look||void 0),e.bidi!==(t.bidi||void 0)&&(r.bidi=e.bidi||void 0),(e.width!==t.width?.value||e.widthType!==t.width?.type)&&(r.width=e.width!=null||e.widthType?{value:e.width??0,type:e.widthType||"dxa"}:void 0),e.cellMargins&&(r.cellMargins=Te(e.cellMargins)),r}if(e.styleId||e.width!=null||e.widthType||e.justification||e.tableLayout||e.floating||e.cellMargins||e.look||e.bidi)return {styleId:e.styleId||void 0,width:e.width!=null||e.widthType?{value:e.width??0,type:e.widthType||"dxa"}:void 0,justification:e.justification||void 0,layout:e.tableLayout||void 0,floating:e.floating||void 0,cellMargins:e.cellMargins?Te(e.cellMargins):void 0,look:e.look||void 0,bidi:e.bidi||void 0}}function Te(e){return {top:e.top!=null?{value:e.top,type:"dxa"}:void 0,bottom:e.bottom!=null?{value:e.bottom,type:"dxa"}:void 0,left:e.left!=null?{value:e.left,type:"dxa"}:void 0,right:e.right!=null?{value:e.right,type:"dxa"}:void 0}}function Pe(e){if(e._originalFormatting){let n=e._originalFormatting,t={...n};return e.height!==(n.height?.value||void 0)&&(t.height=e.height?{value:e.height,type:"dxa"}:void 0),e.heightRule!==(n.heightRule||void 0)&&(t.heightRule=e.heightRule||void 0),e.isHeader!==(n.header||void 0)&&(t.header=e.isHeader||void 0),t}if(!(!e.height&&!e.isHeader))return {height:e.height?{value:e.height,type:"dxa"}:void 0,heightRule:e.heightRule||void 0,header:e.isHeader||void 0}}function Ie(e){if(e._originalFormatting){let t=e._originalFormatting,r={...t};return e.colspan>1&&(r.gridSpan=e.colspan),e.width!=null&&(r.width={value:e.width,type:e.widthType||"dxa"}),e.verticalAlign!==(t.verticalAlign||void 0)&&(r.verticalAlign=e.verticalAlign||void 0),e.backgroundColor?r.shading=e._originalResolvedFill===e.backgroundColor&&t.shading?t.shading:{fill:{rgb:e.backgroundColor}}:t.shading&&(r.shading=void 0),e.borders&&(r.borders=e.borders),e.margins&&(r.margins=Ce(e.margins)),e.textDirection!==(t.textDirection||void 0)&&(r.textDirection=e.textDirection||void 0),r}if(e.colspan>1||e.rowspan>1||e.width!=null||e.verticalAlign||e.backgroundColor||e.borders||e.margins||e.textDirection)return {gridSpan:e.colspan>1?e.colspan:void 0,width:e.width!=null?{value:e.width,type:e.widthType||"dxa"}:void 0,verticalAlign:e.verticalAlign||void 0,textDirection:e.textDirection||void 0,shading:e.backgroundColor?{fill:{rgb:e.backgroundColor}}:void 0,borders:e.borders,margins:e.margins?Ce(e.margins):void 0}}function Ce(e){let n={};return e.top!=null&&(n.top={value:e.top,type:"dxa"}),e.bottom!=null&&(n.bottom={value:e.bottom,type:"dxa"}),e.left!=null&&(n.left={value:e.left,type:"dxa"}),e.right!=null&&(n.right={value:e.right,type:"dxa"}),n}var Ue={paraId:null,textId:null,alignment:null,spaceBefore:null,spaceAfter:null,lineSpacing:null,lineSpacingRule:null,spacingExplicit:null,indentLeft:null,indentRight:null,indentFirstLine:null,hangingIndent:false,numPr:null,numPrFromStyle:null,listNumFmt:null,listIsBullet:null,listMarker:null,listMarkerHidden:null,listMarkerFontFamily:null,listMarkerFontSize:null,listMarkerSuffix:null,listLevelNumFmts:null,listAbstractNumId:null,listStartOverride:null,styleId:null,borders:null,shading:null,tabs:null,pageBreakBefore:null,renderedPageBreakBefore:null,keepNext:null,keepLines:null,widowControl:null,contextualSpacing:null,snapToGrid:null,autoSpaceDE:null,autoSpaceDN:null,defaultTextFormatting:null,sectionBreakType:null,bidi:null,outlineLevel:null,bookmarks:null,_originalFormatting:null,_originalRunBoundaries:null,_sectionProperties:null,pPrIns:null,pPrDel:null,pPrChange:null},qe={styleId:null,width:null,widthType:null,justification:null,columnWidths:null,tableLayout:null,floating:null,cellMargins:null,look:null,bidi:null,_originalFormatting:null,tblPrChange:null},Ge={height:null,heightRule:null,isHeader:false,_originalFormatting:null,trIns:null,trDel:null,trPrChange:null},Ze={colspan:1,rowspan:1,colwidth:null,width:null,widthType:null,verticalAlign:null,backgroundColor:null,borders:null,margins:null,textDirection:null,noWrap:false,_originalFormatting:null,_originalResolvedFill:null,cellMarker:null,tcPrChange:null},Qe=new Set(["bold","italic","superscript","subscript","allCaps","smallCaps","emboss","imprint","textShadow","textOutline","hidden","rtl"]);function w(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function C(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function h(e){return typeof e=="string"?e:void 0}function U(e){if(Array.isArray(e))return e.map(U);let n=w(e);if(!n)return e;let t={};for(let[r,i]of Object.entries(n))i!=null&&(t[r]=U(i));return t}function N(e){if(e==null)return "null";if(Array.isArray(e))return `[${e.map(N).join(",")}]`;let n=w(e);return n?`{${Object.keys(n).sort().map(t=>`${JSON.stringify(t)}:${N(n[t])}`).join(",")}}`:JSON.stringify(e)}function K(e){let n={...e};return delete n.hyperlink,delete n.ins,delete n.del,n}function X(e){let n={};e.bold&&(n.bold=true),e.italic&&(n.italic=true),(e.boldCs??e.bold)&&(n.boldCs=true),(e.italicCs??e.italic)&&(n.italicCs=true);let t=w(e.underline);t&&t.inheritedHyperlink!==true&&(n.underline={style:h(t.style)||"single",color:w(t.color)??null});let r=w(e.strike);r&&(r.double?n.doubleStrike=true:n.strike=true);let i=w(e.textColor);i&&i.inheritedHyperlink!==true&&(n.color={rgb:h(i.rgb)??null,themeColor:i.themeColor??null,themeTint:h(i.themeTint)??null,themeShade:h(i.themeShade)??null}),typeof e.highlight=="string"&&(n.highlight=e.highlight);let o=w(e.fontSize);if(o){let u=C(o.size),g=C(o.sizeCs);u!==void 0&&(n.fontSize=u),g!==void 0&&(n.fontSizeCs=g);}let l=w(e.fontFamily);if(l){let u=h(l.ascii);n.fontFamily={ascii:u??null,hAnsi:h(l.hAnsi)??null,eastAsia:h(l.eastAsia),cs:h(l.cs),asciiTheme:l.asciiTheme??null,hAnsiTheme:h(l.hAnsiTheme),eastAsiaTheme:h(l.eastAsiaTheme),csTheme:h(l.csTheme)};}e.superscript&&(n.vertAlign="superscript"),e.subscript&&(n.vertAlign="subscript"),e.allCaps&&(n.allCaps=true),e.smallCaps&&(n.smallCaps=true);let s=w(e.characterSpacing);if(s){let u=C(s.spacing),g=C(s.position),y=C(s.scale),x=C(s.kerning);u!==void 0&&(n.spacing=u),g!==void 0&&(n.position=g),y!==void 0&&(n.scale=y),x!==void 0&&(n.kerning=x);}e.emboss&&(n.emboss=true),e.imprint&&(n.imprint=true),e.textShadow&&(n.shadow=true);let a=w(e.emphasisMark);a&&(n.emphasisMark=h(a.type)||"dot"),e.textOutline&&(n.outline=true),e.hidden&&(n.hidden=true),e.rtl&&(n.rtl=true);let c=w(e.textEffect);c&&(n.effect=h(c.effect)||"blinkBackground");let d=w(e.modernTextEffects);d?.effects&&(n.modernEffects=d.effects);let f=w(e.runStyle),p=h(f?.styleId);return p&&(n.styleId=p),n}function V(e,n){let t=[],r="",i=()=>{r&&(t.push({type:"text",text:r}),r="");},o=n.fontFamily?[n.fontFamily.ascii,n.fontFamily.hAnsi,n.fontFamily.eastAsia,n.fontFamily.cs].filter(s=>!!s):[],l=o.length>0&&o.every(s=>s===o[0])?o[0]:null;for(let s of e){let a=s.codePointAt(0)??0;s==="\xAD"?(i(),t.push({type:"softHyphen"})):s==="\u2011"?(i(),t.push({type:"noBreakHyphen"})):l&&a>=61440&&a<=63743?(i(),t.push({type:"symbol",font:l,char:a.toString(16).toUpperCase().padStart(4,"0")})):r+=s;}return i(),t}function Z(e,n){let t=X(K(n));return {type:"run",formatting:Object.keys(t).length>0?t:void 0,content:V(e,t)}}function en(e,n){for(let t of n.content){let r=e.content[e.content.length-1];r?.type==="text"&&t.type==="text"?r.text+=t.text:e.content.push(t);}}function nn(e){let n=0xcbf29ce484222325n;for(let t of new TextEncoder().encode(e))n=(n^BigInt(t))*0x100000001b3n,n&=0xffffffffffffffffn;return Number(n&(1n<<53n)-1n)}function ae(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){let n=Number(e);return Number.isFinite(n)?n:nn(e)}return 0}function _(e,n=false,t){let r=w(e);if(!r)return null;let i=h(r.author)||"Unknown",o=h(r.date);return {id:t??ae(r.revisionId??r.id),author:i,...o?{date:o}:{}}}function tn(e,n,t){let r=w(e),i=r?.revisionId??r?.id;return typeof i=="string"?t?.get(i)?.[n]:void 0}function rn(e){let n=w(e.hyperlink);if(!n)return null;let t=h(n.href)||"";return t.startsWith("#")?{type:"hyperlink",anchor:t.slice(1),tooltip:h(n.tooltip)||void 0,children:[]}:{type:"hyperlink",href:t,tooltip:h(n.tooltip)||void 0,rId:h(n.rId)||void 0,children:[]}}function on(e){let n=w(e.hyperlink);return n?h(n.href)||"":null}function me(e,n){let t=h(e.fieldData);if(t&&t.length<=2e6)try{let d=JSON.parse(t);t.includes('"media:')&&H(d);let f=d.type==="simpleField"?d.content:d.fieldResult;if((d.type==="simpleField"||d.type==="complexField")&&typeof d.instruction=="string"&&Array.isArray(f)){let p=h(e.displayMode);return d.fieldTree&&p&&(d.fieldTree.displayMode=p),d}}catch{}let r=X(K(n)),i={type:"run",content:[{type:"text",text:h(e.displayText)||""}],...Object.keys(r).length>0?{formatting:r}:{}},o=h(e.instruction)||"",l=h(e.fieldType)||"UNKNOWN",s=e.fldLock===true||void 0,a=e.dirty===true||void 0,c=h(e.displayMode)||"result";return e.fieldKind==="complex"?{type:"complexField",instruction:o,fieldType:l,fieldCode:[],fieldResult:[i],fldLock:s,dirty:a,fieldTree:{version:1,displayMode:c}}:{type:"simpleField",instruction:o,fieldType:l,content:[i],fldLock:s,dirty:a,fieldTree:{version:1,displayMode:c}}}function Be(e){return {type:"mathEquation",display:h(e.display)||"inline",ommlXml:h(e.ommlXml)||"",plainText:h(e.plainText)||void 0}}function he(e,n){let t=w(e.rule),r=C(t?.height);if(!t||r===void 0||t.width!=null&&C(t.width)===void 0||t.widthPercent!=null&&C(t.widthPercent)===void 0||typeof t.alignment!="string"||typeof t.noShade!="boolean"||typeof t.color!="string"||typeof t.xml!="string")throw new Error("Malformed horizontalRule embed payload");let i={width:C(t.width)??null,widthPercent:C(t.widthPercent)??null,height:r,alignment:t.alignment,noShade:t.noShade,color:t.color,xml:t.xml},o=X(K(n));return {type:"run",content:[{type:"horizontalRule",rule:i}],...Object.keys(o).length>0?{formatting:o}:{}}}var W=null;function Me(e){return W&&e.startsWith("media:")?W(e)??e:e}function H(e){if(Array.isArray(e)){for(let t of e)H(t);return}let n=w(e);if(n)for(let[t,r]of Object.entries(n))t==="src"&&typeof r=="string"?n[t]=Me(r):H(r);}function Ne(e){let n=e,t={type:h(n.wrapType)||"inline"};n.distTop!==void 0&&(t.distT=c(Number(n.distTop))),n.distBottom!==void 0&&(t.distB=c(Number(n.distBottom))),n.distLeft!==void 0&&(t.distL=c(Number(n.distLeft))),n.distRight!==void 0&&(t.distR=c(Number(n.distRight))),n.wrapText&&(t.wrapText=n.wrapText);let r={type:"image",rId:h(n.rId)||"",src:Me(h(n.src)||""),alt:h(n.alt)||void 0,title:h(n.title)||void 0,shapeType:h(n.shapeType)||void 0,size:{width:c(Number(n.width)||0),height:c(Number(n.height)||0)},wrap:t};if(n.transform){let l={},s=n.transform.match(/rotate\(([-\d.]+)deg\)/)?.[1];s&&(l.rotation=Number.parseFloat(s)),n.transform.includes("scaleX(-1)")&&(l.flipH=true),n.transform.includes("scaleY(-1)")&&(l.flipV=true),(l.rotation||l.flipH||l.flipV)&&(r.transform=l);}if(n.position?.horizontal&&n.position.vertical&&(r.position={relativeHeight:n.position.relativeHeight,horizontal:{relativeTo:n.position.horizontal.relativeTo||"column",alignment:n.position.horizontal.align,posOffset:n.position.horizontal.posOffset},vertical:{relativeTo:n.position.vertical.relativeTo||"paragraph",alignment:n.position.vertical.align,posOffset:n.position.vertical.posOffset}}),n.borderWidth&&n.borderWidth>0){let l={solid:"solid",dotted:"dot",dashed:"dash",double:"solid",groove:"solid",ridge:"solid",inset:"solid",outset:"solid"};r.outline={width:c(n.borderWidth),color:n.borderColor?{rgb:n.borderColor.replace("#","")}:void 0,style:n.borderStyle&&l[n.borderStyle]||"solid"};}n.hlinkHref&&(r.hlinkHref=n.hlinkHref);let i={};n.cropTop!=null&&(i.top=n.cropTop),n.cropRight!=null&&(i.right=n.cropRight),n.cropBottom!=null&&(i.bottom=n.cropBottom),n.cropLeft!=null&&(i.left=n.cropLeft),Object.keys(i).length>0&&(r.crop=i),n.opacity!=null&&n.opacity<1&&(r.opacity=n.opacity),n.layoutInCell!=null&&(r.layoutInCell=n.layoutInCell),n.allowOverlap!=null&&(r.allowOverlap=n.allowOverlap);let o={};return n.effectExtentTop!=null&&(o.top=c(n.effectExtentTop)),n.effectExtentBottom!=null&&(o.bottom=c(n.effectExtentBottom)),n.effectExtentLeft!=null&&(o.left=c(n.effectExtentLeft)),n.effectExtentRight!=null&&(o.right=c(n.effectExtentRight)),Object.keys(o).length>0&&(r.padding=o),{type:"run",content:[{type:"drawing",image:r}]}}function ln(e){let n=h(e);if(!(!n||n.length>2e6))try{let t=JSON.parse(n);return t?.type!=="shape"||typeof t.shapeType!="string"?void 0:(w(t.size)||(t.size={width:0,height:0}),n.includes('"media:')&&H(t),t)}catch{return}}function Ee(e){let n=h(e.chartJson);if(!n)return null;try{let t=JSON.parse(n);return n.includes('"media:')&&H(t),t?.type!=="chart"||typeof t.chartType!="string"?null:{type:"run",content:[{type:"chart",chart:t}]}}catch{return null}}function De(e){let n=ln(e.shapeJson)??{type:"shape",shapeType:"rect",size:{width:0,height:0}},t=h(e.shapeType);t&&(n.shapeType=t);let r=h(e.shapeId);if(r&&(n.id=r),e.width&&(n.size={...n.size,width:c(Number(e.width))}),e.height&&(n.size={...n.size,height:c(Number(e.height))}),Array.isArray(e.geometryPath)&&e.geometryPath.length>0&&(n.geometryPath=e.geometryPath),e.fillType==="gradient"&&typeof e.gradientStops=="string")try{let o=JSON.parse(e.gradientStops);n.fill={type:"gradient",gradient:{type:h(e.gradientType)||"linear",angle:C(e.gradientAngle)||void 0,stops:o.map(l=>({position:l.position,color:{rgb:l.color.replace("#","")}}))}};}catch{n.fill={type:"solid",color:{rgb:(h(e.fillColor)||"000000").replace("#","")}};}else typeof e.fillColor=="string"?n.fill={type:h(e.fillType)||"solid",color:{rgb:e.fillColor.replace("#","")}}:e.fillType==="none"&&(n.fill={type:"none"});if(typeof e.outlineWidth=="number"&&e.outlineWidth>0){let o={solid:"solid",dotted:"dot",dashed:"dash"},l=h(e.outlineStyle);n.outline={width:c(e.outlineWidth),color:typeof e.outlineColor=="string"?{rgb:e.outlineColor.replace("#","")}:void 0,style:l&&o[l]||"solid"};}let i={};if(typeof e.rotation=="number")i.rotation=e.rotation;else if(typeof e.transform=="string"){let o=e.transform.match(/rotate\(([-\d.]+)deg\)/)?.[1];o&&(i.rotation=Number.parseFloat(o));}return (e.flipH||String(e.transform||"").includes("scaleX(-1)"))&&(i.flipH=true),(e.flipV||String(e.transform||"").includes("scaleY(-1)"))&&(i.flipV=true),(i.rotation||i.flipH||i.flipV)&&(n.transform=i),{type:"run",content:[{type:"shape",shape:n}]}}function sn(e){let n=ie(e),t=h(e.propertiesJson);if(t&&t.length<=1e6)try{let l=JSON.parse(t);t.includes('"media:')&&H(l),l&&typeof l=="object"&&typeof l.sdtType=="string"&&(n=l);}catch{}let r=[];for(let l of Array.isArray(e.content)?e.content:[]){let s=w(l),a=h(s?.kind);if(!s||!a)continue;let c=w(s.attrs)??{};if(a==="text"){let d=h(s.text);d!==void 0&&r.push({kind:"text",text:d,attributes:c});continue}r.push({kind:"embed",embedKind:a,payload:w(s.payload)??{},attributes:c});}let i=de(Q(r)),o=Oe(e.value);if(o)try{let l=oe(n,o);n=l.properties;let s=l.content[0];i=de(s?.type==="paragraph"?s.content:[]);}catch{}return {type:"inlineSdt",properties:n,content:i}}function de(e){return e.filter(n=>n.type==="run"||n.type==="hyperlink"||n.type==="simpleField"||n.type==="complexField"||n.type==="inlineSdt"||n.type==="mathEquation")}function Oe(e){let n=w(e);return n?.kind==="checkbox"&&typeof n.checked=="boolean"?{kind:"checkbox",checked:n.checked}:n?.kind==="dropdown"&&typeof n.value=="string"?{kind:"dropdown",value:n.value}:n?.kind==="date"&&typeof n.date=="string"?{kind:"date",date:n.date}:null}function Le(e){if(e.modelKind!=="commentReference")return null;let n=C(e.commentId);return {type:"run",content:[{type:"commentReference",...n!==void 0?{id:n}:{}}]}}function Re(e){if(e.kind==="text")return Z(e.text,e.attributes);switch(e.embedKind){case "break":return {type:"run",content:[{type:"break",breakType:"textWrapping"}]};case "tab":return $e(e.attributes);case "image":return Ne(e.payload);case "horizontalRule":return he(e.payload,e.attributes);case "shape":return De(e.payload);case "chart":return Ee(e.payload);case "field":return Le(e.payload)??me(e.payload,e.attributes);case "math":return Be(e.payload);case "sdt":return sn(e.payload);case "noteRef":{let n=e.payload.footnoteRefId,t=e.payload.endnoteRefId;return {type:"run",content:[n!==void 0?{type:"footnoteRef",id:ae(n)}:{type:"endnoteRef",id:ae(t)}]}}default:return null}}function $e(e){let n=X(K(e));return {type:"run",content:[{type:"tab"}],...Object.keys(n).length>0?{formatting:n}:{}}}function an(e,n){let t;e.kind==="embed"&&e.embedKind==="image"?t=Ne(e.payload):e.kind==="embed"&&e.embedKind==="tab"?t=$e(e.attributes):e.kind==="embed"&&e.embedKind==="horizontalRule"?t=he(e.payload,e.attributes):e.kind==="embed"&&e.embedKind==="shape"?t=De(e.payload):e.kind==="embed"&&e.embedKind==="chart"?t=Ee(e.payload)??{type:"run",content:[]}:e.kind==="text"?t=Z(e.text,e.attributes):t={type:"run",content:[]};let i=(w(e.attributes.ins)??w(e.attributes.del))?.isMovePair===true;return e.attributes.ins?i?{type:"moveTo",info:n,content:[t]}:{type:"insertion",info:n,content:[t]}:i?{type:"moveFrom",info:n,content:[t]}:{type:"deletion",info:n,content:[t]}}function dn(e,n){let t;n.kind==="text"?t=Z(n.text,n.attributes):n.embedKind==="break"?t={type:"run",content:[{type:"break",breakType:"textWrapping"}]}:n.embedKind==="tab"?t={type:"run",content:[{type:"tab"}]}:n.embedKind==="horizontalRule"?t=he(n.payload,n.attributes):n.embedKind==="field"?t=Le(n.payload)??me(n.payload,n.attributes):n.embedKind==="math"&&(t=Be(n.payload)),t&&(t.type==="run"&&e.children.push(t),(t.type!=="run"||e.structuredChildren)&&(e.structuredChildren??(e.structuredChildren=[...e.children])).push(t));}function Ae(e){let n=[];for(let t of e){let r={...t.attributes};delete r.fieldResult;let i=t.kind==="embed"&&t.embedKind==="tab"?{kind:"text",text:" ",attributes:r}:{...t,attributes:r},o=n.at(-1);i.kind==="text"&&o?.kind==="text"&&N(o.attributes)===N(r)?o.text+=i.text:n.push(i);}return N(n)}function un(e){let n=[];for(let[i,o]of e.entries()){if(o.kind!=="embed"||o.embedKind!=="field")continue;let l=C(w(o.payload.resultProjection)?.id);l!==void 0&&n.push({id:l,owner:o,position:i});}if(n.length===0)return e;let t=new Map,r=e.filter((i,o)=>{let l=w(i.attributes.fieldResult),s=C(l?.id),a=C(l?.index),c=n.find(u=>u.id===s&&u.position>o)?.owner;if(a===void 0||!c)return true;let d=t.get(c)??new Map,f=d.get(a)??[],p={...i.attributes};return delete p.fieldResult,f.push({...i,attributes:p}),d.set(a,f),t.set(c,d),false});for(let{owner:i}of n){let o=me(i.payload,i.attributes);if(o.type!=="complexField")continue;let l=w(i.payload.resultProjection),s=Array.isArray(l?.children)?l.children:[],a=new Map;for(let f of s){let p=w(f),u=C(p?.index);if(u===void 0||!Array.isArray(p?.items))continue;let g=t.get(i)?.get(u)??[];if(Ae(g)===Ae(p.items))continue;let y=de(Q(g)),x=u<0?o.structuredCode?.inline?.[-u-1]:o.structuredResult?.inline?.[u];x?.type==="hyperlink"&&y.length===1&&y[0]?.type==="hyperlink"&&(y[0]={...x,...y[0],structuredChildren:y[0].structuredChildren}),a.set(u,y);}if(a.size===0)continue;let c=(o.structuredResult?.inline??[]).flatMap((f,p)=>a.get(p)??[f]),d=o.structuredCode?.inline?.flatMap((f,p)=>a.get(-p-1)??[f]);o.structuredResult={...o.structuredResult,inline:c},d&&(o.structuredCode={...o.structuredCode,inline:d}),o.fieldTree&&(o.fieldTree.result={...o.fieldTree.result,inline:c},d&&(o.fieldTree.code={...o.fieldTree.code,inline:d})),o.fieldResult=c.flatMap(f=>f.type==="run"?[f]:f.type==="hyperlink"?f.children.filter(p=>p.type==="run"):[]),i.payload={...i.payload,fieldData:JSON.stringify(o)};}return r}function ue(e){return e?.type==="insertion"||e?.type==="deletion"||e?.type==="moveFrom"||e?.type==="moveTo"}function Q(e,n){e=un(e);let t=[],r=null,i=null,o=null,l=()=>{r&&t.push(r),r=null,i=null;},s=()=>{o&&t.push(o),o=null;};for(let a of e){if(a.kind==="embed"&&a.embedKind==="noteRef"){l(),s();let u=Re(a);u&&t.push(u);continue}let c=a.attributes.ins??a.attributes.del,d=_(c,false,tn(c,a.attributes.ins?"insertion":"deletion",n));if(d){l(),s();let u=an(a,d),g=t[t.length-1];ue(g)&&ue(u)&&g.type===u.type&&g.info.id===u.info.id&&g.info.author===u.info.author&&g.info.date===u.info.date?g.content.push(...u.content):t.push(u);continue}let f=on(a.attributes);if(f!==null){l();let u=o?o.href||(o.anchor?`#${o.anchor}`:""):null;(!o||u!==f)&&(s(),o=rn(a.attributes)),o&&dn(o,a);continue}if(s(),a.kind==="text"){let u=N(K(a.attributes)),g=Z(a.text,a.attributes);r&&i===u?en(r,g):(l(),r=g,i=u);continue}l();let p=Re(a);p&&t.push(p);}return l(),s(),t}function cn(e){if(!e)return {};let n={};for(let t of e.split("|")){let r=t.indexOf(":");if(r<=0)return null;let i=t.slice(0,r),o;try{o=JSON.parse(t.slice(r+1));}catch{return null}i==="comment"||i==="footnoteRef"||(Qe.has(i)?n[i]=true:i==="highlight"?n.highlight=o.color:i==="insertion"||i==="deletion"?n[i==="insertion"?"ins":"del"]=U({id:o.revisionId,author:o.author,date:o.date,isMovePair:o.isMovePair}):n[i]=U(o));}return n}function fn(e){return e.noteMarks?.length?e.noteMarks.map(n=>({type:n==="endnote"?"endnoteRefMark":"footnoteRefMark"})):null}function pn(e,n){let t=fn(e);if(t)return t;if(!e.breaks?.length)return V(e.text,n);let r=[],i=0;for(let o of e.breaks){let l=Math.min(Math.max(o.offset,i),e.text.length);l>i&&r.push(...V(e.text.slice(i,l),n)),r.push({type:"break",breakType:o.type}),i=l;}return i<e.text.length&&r.push(...V(e.text.slice(i),n)),r}function gn(e,n,t){if(!t?.length||!e.every(s=>s.type==="run"&&s.content.every(a=>a.type==="text"))||n.some(s=>s.kind!=="text"||s.attributes.hyperlink)||t.some(s=>s.noteMarks?.length&&s.text.length>0)||n.map(s=>s.kind==="text"?s.text:"").join("")!==t.map(s=>s.text).join(""))return e;let i=0,o=0,l=[];for(let s of t){let a=cn(s.marksKey);if(!a)return e;l.push(a);let c=s.text.length;for(;c>0;){let d=n[i];if(d?.kind!=="text"||N(K(d.attributes))!==N(a))return e;let f=d.text.length-o,p=Math.min(c,f);c-=p,o+=p,o===d.text.length&&(i+=1,o=0);}}return i!==n.length||o!==0?e:t.map((s,a)=>{let c=s.text.length===0?s.formatting:X(l[a]),d={type:"run",content:pn(s,c??{})};return c&&Object.keys(c).length>0&&(d.formatting=c),s.propertyChanges?.length&&(d.propertyChanges=s.propertyChanges),d})}function je(e){return e.type==="text"||e.type==="instrText"?e.text.length:e.type==="symbol"?e.char.length:e.type==="tab"||e.type==="softHyphen"||e.type==="noBreakHyphen"||e.type==="footnoteRef"||e.type==="endnoteRef"||e.type==="horizontalRule"||e.type==="commentReference"||e.type==="drawing"||e.type==="shape"||e.type==="chart"||e.type==="break"&&(e.breakType===void 0||e.breakType==="textWrapping")?1:0}function _e(e){return e.content.reduce((n,t)=>n+je(t),0)}function He(e){return e.type==="run"?_e(e):e.type==="simpleField"||e.type==="complexField"||e.type==="mathEquation"?1:0}function j(e){switch(e.type){case "run":return _e(e);case "hyperlink":return (e.structuredChildren??e.children).reduce((n,t)=>n+He(t),0);case "complexField":return [...e.structuredCode?.inline??[],...e.structuredResult?.inline??[]].filter(n=>n.type==="hyperlink"||n.type==="simpleField").reduce((n,t)=>n+j(t),1);case "simpleField":case "inlineSdt":case "mathEquation":return 1;case "insertion":case "deletion":case "moveFrom":case "moveTo":return e.content.reduce((n,t)=>n+j(t),0);default:return 0}}function le(e,n,t,r){let i=[],o=[],l=0;for(let s of e){let a=t(s);if(l>=n)o.push(s);else if(l+a<=n)i.push(s);else {let c=r(s,n-l);if(!c)return null;c[0]&&i.push(c[0]),c[1]&&o.push(c[1]);}l+=a;}return [i,o]}function mn(e,n){return e.type!=="text"&&e.type!=="instrText"?null:[{...e,text:e.text.slice(0,n)},{...e,text:e.text.slice(n)}]}function ve(e,n){if(n.length===0)return null;let t=n.filter(r=>r.type==="run"||r.type==="bookmarkStart"||r.type==="bookmarkEnd");return e.structuredChildren?{...e,children:t,structuredChildren:n}:{...e,children:t}}function ce(e,n){if(e.type==="run"){let t=le(e.content,n,je,mn);return t&&[t[0].length>0?{...e,content:t[0]}:null,t[1].length>0?{...e,content:t[1]}:null]}if(e.type==="hyperlink"){let t=e.structuredChildren??e.children,r=le(t,n,He,(i,o)=>i.type==="run"?ce(i,o):null);return r&&[ve(e,r[0]),ve(e,r[1])]}if(ue(e)){let t=le(e.content,n,j,(r,i)=>ce(r,i));return t&&[t[0].length>0?{...e,content:t[0]}:null,t[1].length>0?{...e,content:t[1]}:null]}return null}function fe(e,n,t=r=>r.kind==="start"?{type:"commentRangeStart",id:r.id}:{type:"commentRangeEnd",id:r.id}){if(n.length===0)return e;let r=new Set(n.filter(d=>d.kind==="end"&&n.some(f=>f.kind==="start"&&f.id===d.id&&f.offset===d.offset)).map(d=>`${d.offset}:${d.id}`)),i=d=>r.has(`${d.offset}:${d.id}`)?1:d.kind==="end"?0:2,o=[...n].sort((d,f)=>d.offset-f.offset||i(d)-i(f)||d.id-f.id||(d.kind===f.kind?0:d.kind==="start"?-1:1)),l=[],s=0,a=0,c=d=>{for(;a<o.length&&o[a].offset<=d;)l.push(t(o[a++]));};c(0);for(let d of e){let f=s+j(d),p=d;for(;p&&a<o.length&&o[a].offset<f;){let g=o[a].offset,y=ce(p,g-s);if(!y)break;y[0]&&l.push(y[0]),s=g,c(s),p=y[1];}let u=[];for(;a<o.length&&o[a].offset<f;)u.push(o[a++]);for(let g of u)g.kind==="start"&&l.push(t(g));p&&l.push(p);for(let g of u)g.kind==="end"&&l.push(t(g));s=f,c(s);}return c(Number.POSITIVE_INFINITY),l}function hn(e){if(!Array.isArray(e.bookmarks))return [];let n=[];for(let t of e.bookmarks){let r=w(t),i=C(r?.id);if(!r||i===void 0)continue;let o=C(r.offset)??0,l={name:h(r.name),colFirst:C(r.colFirst),colLast:C(r.colLast)};r.kind==="start"?n.push({id:i,kind:"start",offset:o,...l}):r.kind==="end"?n.push({id:i,kind:"end",offset:o,...l}):(n.push({id:i,kind:"start",offset:0,...l}),n.push({id:i,kind:"end",offset:Number.MAX_SAFE_INTEGER,...l}));}return n}function q(e,n=[]){if(Array.isArray(e))for(let t of e)q(t,n);else if(e!==null&&typeof e=="object"){let t=e;t.type==="paragraph"&&n.push(t);for(let r of Object.values(t))q(r,n);}return n}function yn(e,n){let t=q(n);if(!t.some(i=>typeof i.sourceOrdinal=="number"))return;let r=q(e);r.length===t.length&&r.forEach((i,o)=>{let l=t[o].sourceOrdinal;typeof l=="number"&&(i.sourceOrdinal=l);});}function bn(e,n){if(!n)return e;let t=e.reduce((o,l)=>o+j(l),0),r=[],i=0;for(let[o,l]of n.content.entries())l.type==="rawXml"&&r.push({id:o,kind:"start",offset:Math.min(i,t)}),i+=j(l);return fe(e,r,o=>n.content[o.id])}function kn(e){let n={...Ue,...e};return n.styleId=e.pStyle??null,n._sectionProperties=e.sectPr??null,delete n.pStyle,delete n.sectPr,n}function wn(e,n,t,r,i,o){let l=kn(n),s=Q(t,o);s=gn(s,t,Array.isArray(l._originalRunBoundaries)?l._originalRunBoundaries:void 0),s=bn(s,i),i&&yn(s,i.content),s=fe(s,r);let a=hn(n).map(p=>({...p,offset:p.offset===Number.MAX_SAFE_INTEGER?s.reduce((u,g)=>u+j(g),0):p.offset}));a.length>0&&(s=fe(s,a,p=>{let u=p;return u.kind==="start"?{type:"bookmarkStart",id:u.id,name:u.name||"",...u.colFirst!==void 0?{colFirst:u.colFirst}:{},...u.colLast!==void 0?{colLast:u.colLast}:{},position:{offset:u.offset}}:{type:"bookmarkEnd",id:u.id,position:{offset:u.offset}}}));let c={type:"paragraph",paraId:e||void 0,textId:i?.textId,...i?.extraAttributes?{extraAttributes:i.extraAttributes}:{},...i?.paraIdAttribute?{paraIdAttribute:i.paraIdAttribute}:{},formatting:xe(l),content:s};i?.renderedPageBreakBefore&&(c.renderedPageBreakBefore=true);let d=_(n.pPrIns,true),f=_(n.pPrDel,true);return d&&(c.pPrIns=d),f&&(c.pPrDel=f),Array.isArray(n.pPrChange)&&n.pPrChange.length>0&&(c.propertyChanges=n.pPrChange),n.sectPr?c.sectionProperties=n.sectPr:n.sectionBreakType&&(c.sectionProperties={sectionStart:n.sectionBreakType}),c}function Tn(e){let n=e[0]?.cells,t=e[e.length-1]?.cells,r=n?.[0]?.formatting?.borders;if(!n||!t||!r)return;let i={top:r.top,left:r.left,bottom:t[0]?.formatting?.borders?.bottom,right:n[n.length-1]?.formatting?.borders?.right,insideH:e.length>1?r.bottom:void 0,insideV:n.length>1?r.right:void 0},o=Object.entries(i).filter(([,l])=>l!==void 0);return o.length>0?Object.fromEntries(o):void 0}function Cn(e){let n=new Map;e.forEach((r,i)=>{let o=0;for(let l of r.cells){let s=o;if(o+=l.formatting?.gridSpan??1,l.formatting?.vMerge){let a=n.get(s)??[];a.push({rowIndex:i,cell:l}),n.set(s,a);}}});let t=r=>{r.formatting&&(delete r.formatting.vMerge,Object.keys(r.formatting).length===0&&(r.formatting=void 0));};for(let r of n.values()){let i=null,o=0,l=-1,s=()=>{i&&o<2&&t(i),i=null,o=0;};for(let a of r){let c=a.cell.formatting?.vMerge;c==="restart"?(s(),i=a.cell,o=1,l=a.rowIndex):c==="continue"&&(i&&a.rowIndex===l+1?(o+=1,l=a.rowIndex):(s(),t(a.cell)));}s();}}function xn(e,n){let t={...Ze,...n.tcPr??{}},r=n.story&&e.storyIds.has(n.story)?e.storyToBlocks(n.story):[],i={type:"tableCell",formatting:Ie(t),content:r},o=t.cellMarker;if(o){let l=_(o.info,true)??{id:0,author:"Unknown"};o.kind==="ins"?i.structuralChange={type:"tableCellInsertion",info:l}:o.kind==="del"?i.structuralChange={type:"tableCellDeletion",info:l}:i.structuralChange={type:"tableCellMerge",info:l,...o.vMerge?{vMerge:o.vMerge}:{},...o.vMergeOrig?{vMergeOrig:o.vMergeOrig}:{}};}return Array.isArray(t.tcPrChange)&&t.tcPrChange.length>0&&(i.propertyChanges=t.tcPrChange),i}function Sn(e,n){let t=Array.isArray(n.rows)?n.rows:[],r=[],i=[],o=0;t.forEach((u,g)=>{let y=0;for(let x of Array.isArray(u.cells)?u.cells:[]){for(;r[g]?.[y];)y+=1;let v=x.tcPr??{},O=C(v.rowspan)||1,E=C(v.colspan)||1;i.push({row:g,col:y,rowspan:O,colspan:E,cell:xn(e,x)});for(let S=g;S<g+O;S+=1){r[S]??(r[S]=[]);for(let m=y;m<y+E;m+=1)r[S][m]=true;}y+=E,o=Math.max(o,y);}});let l=new Map(i.map(u=>[`${u.row}-${u.col}`,u])),s=new Map;for(let u of i)for(let g=u.row;g<u.row+u.rowspan;g+=1)for(let y=u.col;y<u.col+u.colspan;y+=1)s.set(`${g}-${y}`,u);let a=t.map((u,g)=>{let y=[];for(let S=0;S<o;){let m=l.get(`${g}-${S}`);if(m){let T={...m.cell.formatting??{}};m.colspan>1?T.gridSpan=m.colspan:delete T.gridSpan,m.rowspan>1?T.vMerge="restart":T.vMerge!=="restart"&&T.vMerge!=="continue"&&delete T.vMerge,y.push({...m.cell,formatting:Object.keys(T).length>0?T:void 0}),S+=m.colspan;continue}let b=s.get(`${g}-${S}`);if(!b){S+=1;continue}let k={...b.cell.formatting??{}};b.colspan>1?k.gridSpan=b.colspan:delete k.gridSpan,k.vMerge="continue",y.push({...b.cell,content:[],formatting:k}),S+=b.colspan;}let x={...Ge,...u.trPr??{}},v={type:"tableRow",formatting:Pe(x),cells:y},O=_(x.trIns,true),E=_(x.trDel,true);return O?v.structuralChange={type:"tableRowInsertion",info:O}:E&&(v.structuralChange={type:"tableRowDeletion",info:E}),Array.isArray(x.trPrChange)&&x.trPrChange.length>0&&(v.propertyChanges=x.trPrChange),v});Cn(a);let c=Array.isArray(n.grid)?n.grid.filter(u=>typeof u=="number"):[],d={...qe,...n.tblPr??{},columnWidths:c.length>0?c:void 0},f=Se(d);if(!f?.borders){let u=Tn(a);u&&(f={...f??{},borders:u});}let p={type:"table",columnWidths:d.columnWidths||void 0,formatting:f,rows:a};return Array.isArray(d.tblPrChange)&&d.tblPrChange.length>0&&(p.propertyChanges=d.tblPrChange),p}function Pn(){return {type:"paragraph",content:[{type:"run",content:[{type:"break",breakType:"page"}]}]}}function ye(e){return e.type==="insertion"||e.type==="deletion"||e.type==="moveFrom"||e.type==="moveTo"?e.content.length>0&&e.content.every(ye):e.type==="run"&&e.content.length>0&&e.content.every(n=>n.type==="footnoteRefMark"||n.type==="endnoteRefMark")}function In(e){return e.some(n=>n.type==="paragraph"&&n.content.some(ye))}function Rn(e,n){if(In(e))return e;let t=n.find(a=>a.type==="paragraph")?.content??[],r=t.findIndex(a=>!ye(a)),i=t.slice(0,r<0?t.length:r);if(i.length===0)return e;let o=e.findIndex(a=>a.type==="paragraph");if(o<0)return e;let l=e[o],s=[...e];return s[o]={...l,content:[...i,...l.content]},s}function An(e){let n=new Map;for(let[t,r]of e){let i=0;for(let o of r){if(o.type!=="paragraph")continue;let l=F.get(o)?.sessionKey??(!o.repeatedParaId&&o.paraId||`${t}:p${i}`);i+=1,n.has(l)||n.set(l,o);}}return n}function vn(e){let n=new Map,t=(r,i)=>{n.set(r,i);let o=0,l=0;for(let s of i){if(s.type==="blockSdt"){t(`${r}:sdt${l++}`,s.content);continue}if(s.type!=="table")continue;let a=o++;s.rows.forEach((c,d)=>{c.cells.forEach((f,p)=>{t(`${r}:t${a}:r${d}c${p}`,f.content);});});}};t("body",e.package.document.content);for(let[r,i]of e.package.headers??[])t(`hf:${r}`,i.content);for(let[r,i]of e.package.footers??[])t(`hf:${r}`,i.content);for(let r of e.package.footnotes??[])t(`fn:${r.id}`,r.content);for(let r of e.package.endnotes??[])t(`en:${r.id}`,r.content);return n}function Fn(e,n,t){let r=new Map;for(let i of n??[]){let o;try{o=e.resolveComment(t?.get(i.id)??String(i.id));}catch{continue}let l=new Map;for(let s of o){let a=l.get(s.story)??[];a.push(s),l.set(s.story,a);}for(let[s,a]of l){if(a.length===0)continue;let c=Math.min(...a.map(p=>p.start)),d=Math.max(...a.map(p=>p.end)),f=r.get(s)??[];f.push({id:i.id,start:c,end:d}),r.set(s,f);}}return r}function Bn(e,n){let t=0;for(let r=0;r<n.length;r+=1){let i=n[r];if(!be(i))continue;let o=n.slice(r+1).find(a=>a.type==="paragraph"&&a.paraId&&e.some(c=>c.type==="paragraph"&&c.paraId===a.paraId)),l=o?.type==="paragraph"?e.findIndex(a=>a.type==="paragraph"&&a.paraId===o.paraId):-1,s=l>=0?l:Math.min(r+t,e.length);e.splice(s,0,i),t=Math.max(0,s-r);}return e}var F=new WeakMap;function et(e){return F.get(e)?.sessionKey}function Mn(e,n){let t=n.filter(i=>i.type==="paragraph"),r=0;return e.map(i=>{if(i.type!=="paragraph")return i;let o=t[r++];if(!o?.paraId)return i;let l={...i,paraId:o.paraId},s=F.get(o)?.sessionKey;return s&&F.set(l,{sessionKey:s}),l})}var Fe=new WeakMap;function Ke(e){let n=Fe.get(e);return n||(n={wholesale:true,clean:new Set,dirty:new Set,stories:new Map,parents:new Map},Fe.set(e,n)),n}function G(e,n){if(e===n)return true;if(Array.isArray(e)&&Array.isArray(n))return e.length===n.length&&e.every((o,l)=>G(o,n[l]));let t=w(e),r=w(n);if(!t||!r)return false;let i=Object.keys(t);return i.length===Object.keys(r).length&&i.every(o=>o in r&&G(t[o],r[o]))}var pe=/^(.*?)(?::t\d+:r\d+c\d+|:sdt\d+)$/,Nn=e=>e.kind==="embed"&&(e.embedKind==="pageBreak"||e.embedKind==="columnBreak");function nt(e,n){let t=Ke(e);if(n==="all"){t.wholesale=true,t.clean.clear(),t.dirty.clear(),t.stories.clear(),t.parents.clear();return}let r=typeof n=="string"?[n]:[...n],i=new Set(r);for(let o=0;o<r.length;o+=1){let l=r[o];t.dirty.add(l),t.clean.delete(l),t.stories.delete(l);let s=t.parents.get(l)??pe.exec(l)?.[1];s&&!i.has(s)&&(i.add(s),r.push(s));}}var se=[],ge=class{constructor(n,t,r,i){b(this,"session",n);b(this,"revisionIds",i);b(this,"storyIds");b(this,"baseParagraphs");b(this,"baseStories");b(this,"comments");b(this,"subtreeComments",new Map);b(this,"memo");this.storyIds=new Set(n.storyIds()),this.baseStories=vn(t),this.baseParagraphs=An(this.baseStories),this.comments=Fn(n,t.package.document.comments,r),this.memo=Ke(n);for(let[o,l]of this.comments){let s=new Set;for(let a=o;a!==void 0&&!s.has(a);a=this.memo.parents.get(a)??pe.exec(a)?.[1]){s.add(a);let c=this.subtreeComments.get(a)??new Map;c.set(o,l),this.subtreeComments.set(a,c);}}}storyIsClean(n){return this.memo.wholesale?this.memo.clean.has(n):!this.memo.dirty.has(n)}cellContents(n,t){let r=[];for(let i of Array.isArray(n.rows)?n.rows:[])for(let o of Array.isArray(i.cells)?i.cells:[])o.story!==void 0&&this.memo.parents.set(o.story,t),r.push(o.story!==void 0&&this.storyIds.has(o.story)?this.storyToBlocks(o.story):se);return r}storyToBlocks(n){let t=this.baseStories.get(n),r=this.comments.get(n)??[],i=this.subtreeComments.get(n),o=i?N(Object.fromEntries(i)):"",l=this.memo.stories.get(n);if(l!==void 0&&l.commentsKey===o&&this.storyIsClean(n)&&(pe.test(n)||t===void 0||t===l.blocks))return l.blocks;let s=[],a=this.session.storyParagraphIds(n),c=this.session.storySegments(n),d=[],f=0,p=0,u=0,g=0,y=null,x=m=>{if(!y){y=new Map;for(let b of t??[]){let k=F.get(b)?.key;if(k===void 0)continue;let T=y.get(k);T?T.push(b):y.set(k,[b]);}}return y.get(m)??[]},v=(m,b,k)=>x(m).find(T=>{let P=F.get(T);return P?.inputs!==void 0&&P.children!==void 0&&G(P.inputs,b)&&P.children.length===k.length&&P.children.every((A,R)=>A===k[R])}),O=m=>{let b=[];for(let k of r){if(k.start>=f&&k.start<=m){let T=Math.max(0,k.start-p);b.push({id:k.id,kind:"start",offset:T});}k.end>=f&&k.end<=m&&b.push({id:k.id,kind:"end",offset:Math.max(0,k.end-p)});}return b},E=(m,b)=>{let k=0;for(let T=0;T<m.length;T+=1)m[T]===" "&&(T>k&&d.push({kind:"text",text:m.slice(k,T),attributes:b}),d.push({kind:"embed",embedKind:"tab",payload:{},attributes:b}),k=T+1);k<m.length&&d.push({kind:"text",text:m.slice(k),attributes:b});};for(let m of c){if(m.kind==="text"){E(m.text,m.attributes),g+=m.text.length;continue}if(m.kind==="pilcrow"){let b=a[u]??"",k=this.baseParagraphs.get(m.paraId),T=O(g),P=[m.paraId,b,m.properties,m.attributes,d,T],A=k!==void 0?F.get(k):void 0,R;if(k!==void 0&&A?.inputs!==void 0&&G(A.inputs,P))R=k;else {let B=P.map((L,$)=>$===4?L.map(Ye=>({...Ye})):L);R=wn(b,m.properties,d,T,k,this.revisionIds),F.set(R,{inputs:B,sessionKey:m.paraId});}s.push(R),d=[],u+=1,g+=1,f=g,p=g;continue}if(m.embedKind==="table"){let b=m.payload,k=[m.attributes,b],P=`T${(Array.isArray(b.rows)?b.rows[0]?.cells?.[0]:void 0)?.story??""}`,A=x(P).length>0?this.cellContents(b,n):void 0,R=A!==void 0?v(P,k,A):void 0,B;R?B=R:(B=Sn(this,b),F.set(B,{key:P,inputs:k,children:A??this.cellContents(b,n)})),s.push(B);}else if(m.embedKind==="blockSdt"){let b=h(m.payload.story);b&&this.memo.parents.set(b,n);let k=b&&this.storyIds.has(b)?this.storyToBlocks(b):se,T=[m.attributes,m.payload],P=v(`S${b??""}`,T,[k]);if(P)s.push(P);else {let A=ie(m.payload),R=k,B=Oe(m.payload.value);if(B)try{let $=oe(A,B);A=$.properties,R=Mn($.content,k);}catch{}let L={type:"blockSdt",properties:A,content:R===se?[]:R};if(R!==k&&b!==void 0){let $=this.memo.stories.get(b);$&&($.blocks=L.content);}F.set(L,{key:`S${b??""}`,inputs:T,children:[L.content]}),s.push(L);}}else if(m.embedKind==="opaque"){let b=w(m.payload.blob);if(b?.type==="pageBreak")s.push(Pn());else {let k=t?.[s.length];b?.type==="blockSdt"&&k?.type==="blockSdt"&&s.push(k);}}else d.push(m);g+=1,d.every(Nn)&&(p=g);}if(d.length>0){let m=Q(d,this.revisionIds);m.length>0&&s.push({type:"paragraph",content:m});}let S=Bn(s,t??[]);return this.memo.stories.set(n,{commentsKey:o,blocks:S}),this.memo.dirty.delete(n),this.memo.clean.add(n),S}};function tt(e,n,t={}){return ze(e,n,t)}function rt(e,n,t){return ze(e,n,{storyIds:new Set(["body"])},t)}function ze(e,n,t,r){let i=W;W=o=>e.mediaDataUrl?.(o)??null;try{return En(e,n,t,r)}finally{W=i;}}function En(e,n,t,r){let i=new ge(e,n,t.commentIds,r),o=p=>t.storyIds===void 0||t.storyIds.has(p),l=i.storyIds.has("body")&&o("body")?i.storyToBlocks("body"):n.package.document.content,s=n.package.headers;s&&(t.storyIds===void 0||[...s.keys()].some(p=>o(`hf:${p}`)))&&(s=new Map([...s].map(([p,u])=>{let g=`hf:${p}`;return [p,i.storyIds.has(g)&&o(g)?{...u,content:i.storyToBlocks(g)}:u]})));let a=n.package.footers;a&&(t.storyIds===void 0||[...a.keys()].some(p=>o(`hf:${p}`)))&&(a=new Map([...a].map(([p,u])=>{let g=`hf:${p}`;return [p,i.storyIds.has(g)&&o(g)?{...u,content:i.storyToBlocks(g)}:u]})));let c=(p,u)=>t.storyIds===void 0||p?.some(y=>o(`${u}${y.id}`))?p?.map(y=>{let x=`${u}${y.id}`;return i.storyIds.has(x)&&o(x)?{...y,content:Rn(i.storyToBlocks(x),y.content),verbatimXml:void 0}:y}):p,d=c(n.package.footnotes,"fn:"),f=c(n.package.endnotes,"en:");return {...n,package:{...n.package,document:{...n.package.document,content:l},...s?{headers:s}:{},...a?{footers:a}:{},...d?{footnotes:d}:{},...f?{endnotes:f}:{}}}}export{Dn as a,On as b,Ln as c,be as d,Yn as e,et as f,nt as g,tt as h,rt as i};
|
package/dist/chunk-6CHGYCFU.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function u(e){let n=globalThis.process;if(typeof n?.getBuiltinModule=="function")try{return n.getBuiltinModule(e)}catch{return}}function a(e){if(e.protocol!=="file:")return;let n=u("node:fs"),t=u("node:url");if(!(!n||!t))try{return n.readFileSync(t.fileURLToPath(e.href))}catch{return}}function d(e){return e.protocol!=="file:"?e:a(e)??e}var c=4*1024*1024*1024,l=[];function y(){let e=[];for(let n of l){let t=n.memory();t&&e.push({label:n.label,bufferBytes:t.buffer.byteLength,...n.heap?.()});}return e}function i(e){let n=e?.memory;return typeof WebAssembly<"u"&&n instanceof WebAssembly.Memory?n:null}function p(e){let n=false,t,o=null;return l.push({label:e.label,memory:()=>n?o:null,...e.heap?{heap:e.heap}:{}}),{preload(s){return n?Promise.resolve():t||(t=e.initAsync({module_or_path:s??d(e.assetUrl())}).then(r=>{o=i(r),n=true;},r=>{throw t=void 0,r instanceof Error?r:new Error(String(r))}),t)},ensure(){if(n)return;let s=a(e.assetUrl());if(s){o=i(e.initSync({module:s})),n=true;return}throw new Error(`${e.label} wasm is not initialized; await ${e.preloadName}() before first use (browser builds load the external wasm asset asynchronously)`)}}}export{c as a,y as b,p as c};
|
package/dist/chunk-C5BX34CG.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {c,a,b}from'./chunk-2QHGQA3V.mjs';import {a as a$1,g}from'./chunk-3CYO46ML.mjs';var S={image:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",hyperlink:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",header:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",footer:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",footnotes:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes",endnotes:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes",styles:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",numbering:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",fontTable:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable",theme:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",settings:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings",webSettings:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings",oleObject:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject",chart:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",diagramData:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramData",officeDocument:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",coreProperties:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",extendedProperties:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",customProperties:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",customXml:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",comments:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",commentsExtended:"http://schemas.microsoft.com/office/2011/relationships/commentsExtended",commentsIds:"http://schemas.microsoft.com/office/2016/09/relationships/commentsIds",commentsExtensible:"http://schemas.microsoft.com/office/2018/08/relationships/commentsExtensible"};var O=new TextEncoder,F=new TextDecoder("utf-8",{ignoreBOM:true});function J(e){return typeof e=="string"?O.encode(e):e instanceof Uint8Array?e:new Uint8Array(e)}function k(e){return e?F.decode(e):void 0}function K(e){let t=c(Object.fromEntries(e)),r=new ArrayBuffer(t.byteLength);return new Uint8Array(r).set(t),r}function P(e){return e.startsWith("/")?e.slice(1):`word/${e}`}function v(e){let t=[{relsPath:"word/_rels/document.xml.rels",blocks:e.package.document.content}],r=a=>(a??[]).flatMap(i=>i.content),n=[...r(e.package.footnoteSeparators),...r(e.package.footnotes)];n.length>0&&t.push({relsPath:"word/_rels/footnotes.xml.rels",blocks:n});let o=[...r(e.package.endnoteSeparators),...r(e.package.endnotes)];o.length>0&&t.push({relsPath:"word/_rels/endnotes.xml.rels",blocks:o});let f=e.package.relationships;if(!f)return t;let d=(a,i)=>{if(a)for(let[c,l]of a.entries()){let p=f.get(c);if(!p||p.type!==i||!p.target)continue;let g=P(p.target).replace(/^word\//,"");t.push({relsPath:`word/_rels/${g}.rels`,blocks:l.content});}};return d(e.package.headers,S.header),d(e.package.footers,S.footer),t}async function H(e){let t=await crypto.subtle.digest("SHA-256",Uint8Array.from(e).buffer);return Array.from(new Uint8Array(t),r=>r.toString(16).padStart(2,"0")).join("")}async function te(e,t,r={},n,o,f,d=false){await a(),await a$1();let a$2=o??{seed:await H(new Uint8Array(t)),now:new Date().toISOString()};j(a$2);let i=e.package,c={determinism:a$2,document:i.document,headerEntries:[...i.headers?.entries()??[]],footerEntries:[...i.footers?.entries()??[]],footnotes:i.footnotes??[],endnotes:i.endnotes??[],footnoteSeparators:i.footnoteSeparators??[],endnoteSeparators:i.endnoteSeparators??[],relationshipEntries:[...i.relationships?.entries()??[]],...i.numbering===void 0?{}:{numbering:i.numbering},options:{updateModifiedDate:r.updateModifiedDate??true,...r.modifiedBy===void 0?{}:{modifiedBy:r.modifiedBy}},...n===void 0?{}:{selective:{changedParaIds:[...n.changedParaIds],...n.sourceParagraphs===void 0?{}:{sourceParagraphs:n.sourceParagraphs}}},...f===void 0?{}:{paragraphIds:f}};I(c,"save");let l=g(JSON.stringify(c),new Uint8Array(t)),p=N(l);return !n&&!d&&C(e,t,p),{buffer:p,determinism:a$2}}function C(e,t,r){let n=b(new Uint8Array(t)),o=b(new Uint8Array(r));for(let a of v(e)){let i=k(n[a.relsPath])??"",c=k(o[a.relsPath])??"",l=new Set(x(i).map(s=>m(s,"Id"))),p=x(c).filter(s=>m(s,"Type")?.endsWith("/image")).map(s=>m(s,"Id")).filter(s=>!!s&&!l.has(s)),u=$(a.blocks);if(u.length>p.length)throw new Error(`Rust save image mutation mismatch in ${a.relsPath}: ${u.length} model images, ${p.length} relationships`);u.forEach((s,h)=>{s.rId=p[h];});let g=x(c).filter(s=>m(s,"Type")?.endsWith("/hyperlink")&&m(s,"TargetMode")==="External");for(let s of D(a.blocks)){if(!s.href){M(c,s.rId)||(s.rId=void 0);continue}let h=g.find(w=>W(m(w,"Target")??"")===s.href),y=h&&m(h,"Id");y&&(s.rId=y);}}let f=e.package.headers,d=e.package.relationships;if(!(!f||!d))for(let[a,i]of f){let c=i.watermark;if(!c||c.kind!=="picture")continue;let l=d.get(a);if(!l?.target)continue;let u=`word/_rels/${P(l.target).replace(/^word\//,"")}.rels`,g=k(o[u])??"";if(M(g,c.relId))continue;let s=c.mediaPath?.split("/").pop(),h=x(g).find(w=>{if(!m(w,"Type")?.endsWith("/image"))return false;let _=m(w,"Target")?.split("/").pop();return s?_===s:true}),y=h&&m(h,"Id");y&&(c.relId=y);}}function $(e){let t=[],r=n=>{for(let o of n.content)o.type==="drawing"&&o.image.src?.startsWith("data:")&&!o.image.rId&&t.push(o.image);};for(let n of e)if(n.type==="paragraph"){for(let o of n.content)if(o.type==="run")r(o);else if(o.type==="insertion"||o.type==="deletion"||o.type==="moveFrom"||o.type==="moveTo")for(let f of o.content)f.type==="run"&&r(f);}else if(n.type==="table")for(let o of n.rows)for(let f of o.cells)t.push(...$(f.content));return t}function D(e){let t=[];for(let r of e)if(r.type==="paragraph")for(let n of r.content)n.type==="hyperlink"&&(n.href||n.rId)&&!n.anchor&&t.push(n);else if(r.type==="table")for(let n of r.rows)for(let o of n.cells)t.push(...D(o.content));else r.type==="blockSdt"&&t.push(...D(r.content));return t}function x(e){return [...e.matchAll(/<Relationship\b[^>]*\/?>/g)].map(t=>t[0])}function m(e,t){return e.match(new RegExp(`\\b${t}="([^"]*)"`))?.[1]}function M(e,t){if(t)return x(e).find(r=>m(r,"Id")===t)}function W(e){return e.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/&#(\d+);/g,(t,r)=>String.fromCodePoint(Number(r))).replace(/&#x([0-9A-Fa-f]+);/g,(t,r)=>String.fromCodePoint(parseInt(r,16))).replace(/&/g,"&")}function j(e){if(!/^[0-9a-f]{64}$/i.test(e.seed))throw new TypeError("Rust save determinism seed must be a SHA-256 hex digest");if(!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(e.now))throw new TypeError("Rust save clock must be a UTC ISO-8601 millisecond timestamp")}var L=new Set(["__proto__","constructor","prototype"]);function I(e,t,r=new WeakSet){if(!(e===null||typeof e!="object")){if(r.has(e))throw new TypeError(`${t} contains a cycle`);if(r.add(e),Array.isArray(e))e.forEach((n,o)=>I(n,`${t}[${o}]`,r));else for(let n of Object.keys(e)){if(L.has(n))throw new TypeError(`${t} contains forbidden key ${n}`);I(e[n],`${t}.${n}`,r);}r.delete(e);}}function N(e){let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),t}
|
|
2
|
-
export{S as a,J as b,K as c,te as d};
|