@betteroffice/docx 0.4.2 → 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-RNNTXPXC.mjs → chunk-3RPZ44TT.mjs} +1 -1
- package/dist/{chunk-7SUVUKWT.mjs → chunk-FK7X7557.mjs} +1 -1
- package/dist/{chunk-4PRCO6EC.mjs → chunk-SHVHVJUB.mjs} +1 -1
- package/dist/core.mjs +1 -1
- 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/layout/index.mjs +1 -1
- package/dist/layout/render/index.mjs +1 -1
- package/dist/{wasm-GFT55YT6.mjs → wasm-JPDPN2B2.mjs} +1 -1
- package/dist/{wasm-QXYYV7LU.mjs → wasm-KSZTTO3B.mjs} +1 -1
- package/dist/wasm-edit.mjs +1 -1
- package/dist/wasm-layout.mjs +1 -1
- package/dist/yrs/index.mjs +1 -1
- package/dist/yrs/residentEngineWorker.mjs +1 -1
- package/package.json +1 -1
- /package/dist/{compareDocx-CWOYEBCE.mjs → compareDocx-URPCPAQT.mjs} +0 -0
package/dist/yrs/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {h,i,d as d$2,b as b$3,e,f}from'../chunk-ML6E23W2.mjs';export{g as ownProjectedParagraphs,a as sessionSourcePackage,i as yrsToDocument}from'../chunk-ML6E23W2.mjs';import {d as d$3,a}from'../chunk-5Z22FORG.mjs';export{n as YrsPositionProjection,p as anchorFailure,h as compareYrsLocs,v as computeProposalGeometryMirror,e as createYrsInputPositionMap,k as createYrsLocProjectionFromOutline,l as createYrsPositionProjection,g as displayPositionToYrsLoc,s as hiddenRanges,q as isBodyStory,m as projectYrsDisplayPosition,c as proposalRevisionPreview,u as proposalSetIdentity,i as residentCaretDeviceRect,j as residentCaretSnapshotForFrame,t as resolveAnchorTarget,w as resolveMirroredNavigationTarget,x as resolveNavigationTarget,r as textRangeToRaw,f as yrsLocToDisplayPosition,o as yrsLocToProjectedDisplayPosition}from'../chunk-5Z22FORG.mjs';import'../chunk-EUUIJVM6.mjs';import {b as b$1}from'../chunk-4PRCO6EC.mjs';import'../chunk-LIOWZSE7.mjs';import {d as d$1}from'../chunk-QBMNRD5V.mjs';import {b as b$8}from'../chunk-OBQGPMPQ.mjs';import {d,a as a$1,b as b$6}from'../chunk-47Q2FMFF.mjs';import {b as b$5,p}from'../chunk-LTVVQMHB.mjs';import {b as b$7}from'../chunk-CTBUQRYQ.mjs';import {c,b as b$2}from'../chunk-EBYC3CX7.mjs';import {b as b$4}from'../chunk-UBUTIWXN.mjs';import'../chunk-LT2GCWZ3.mjs';import'../chunk-HPZFJGGM.mjs';import'../chunk-AXFMDV66.mjs';import'../chunk-GKWXOZZH.mjs';export{a as WASM32_MEMORY_LIMIT_BYTES,b as wasmModuleMemories}from'../chunk-HGKSOBXK.mjs';import {b}from'../chunk-TTRUPDAB.mjs';function ve(e,r){let n=c=>{let{content:u,...m}=c;return m},o=c=>[...c??[]].map(([u,m])=>[u,n(m)]),i=c=>(c??[]).map(u=>{let{verbatimXml:m,sourceOrdinal:h,...R}=n(u);return R}),{package:s}=e,a={finalSectionProperties:s.document.finalSectionProperties,sections:s.document.sections?.map(n),headers:o(s.headers),footers:o(s.footers),footnotes:i(s.footnotes),endnotes:i(s.endnotes),relationships:[...s.relationships??[]]},d=c=>JSON.stringify(c,(u,m)=>m instanceof Map?[...m]:m),p=r??s.document.comments??[];return {metadata:d(a),comments:d(p),commentIds:p.map(c=>c.id)}}var jt=new Set(["bootstrap","sync","buildFrame","releasePages","applyInput","applyDelete","proposal","documentRead"]),Ce=6e4;function Ht(){return new Worker(new URL("./residentEngineWorker.mjs",import.meta.url),{type:"module",name:"openooxml-resident-engine"})}var fe=class{constructor(r=Ht()){b(this,"worker",r);b(this,"pending",new Map);b(this,"watchdog",null);b(this,"nextId",1);b(this,"terminalError",null);b(this,"ready",false);b(this,"revision",0);b(this,"remoteVector",null);b(this,"appliedFontsRevision",null);b(this,"bootstrapped",false);b(this,"openedHeapLimit",null);b(this,"bootstraps",0);b(this,"fontRead",null);b(this,"lastSnapshotId",0);b(this,"keepSurfaces",false);b(this,"bootstrapWaiters",[]);b(this,"lastMemory",null);b(this,"answeredFrameEpoch",0);b(this,"retainBuiltPages",false);b(this,"failureListener",null);this.worker.onmessage=n=>{let o=n.data;if(o.memory&&(this.lastMemory=o.memory),o.ok&&o.caret&&(this.answeredFrameEpoch=Math.max(this.answeredFrameEpoch,o.caret.frameEpoch)),o.ok&&o.id>=this.lastSnapshotId){let s=o.proposal?.stateVector??o.stateVector;s&&(this.remoteVector=new Uint8Array(s));}if(!o.ok&&o.terminal){this.fail(o.outOfMemory?new re(o.error,o.memory??[]):new K(o.error));return}this.pending.size>0&&this.armWatchdog();let i=this.pending.get(o.id);i&&(this.pending.delete(o.id),this.pending.size===0&&this.disarmWatchdog(),o.ok?i.resolve(o):i.reject(qt(o.error,o.residentUnavailable)));},this.worker.onerror=n=>{this.fail(new _(`Resident engine worker failed: ${n.message}`));},this.worker.onmessageerror=()=>{this.fail(new _("Resident engine worker returned an unreadable message"));};}isReady(){return this.ready}hasFailed(){return this.terminalError!==null}memory(){return this.lastMemory}layoutRevision(){return this.revision}answeredFrame(){return this.answeredFrameEpoch}setRetainBuiltPages(r){this.retainBuiltPages=r;}onFailure(r){this.failureListener=r;}frameRequestPending(){for(let{type:r}of this.pending.values())if(jt.has(r))return true;return false}remoteStateVector(){return this.remoteVector}syncedFontsRevision(){return this.appliedFontsRevision}bootstrapSent(){return this.bootstrapped}whenBootstrapSent(){return this.bootstrapped?Promise.resolve():new Promise(r=>this.bootstrapWaiters.push(r))}rebootstrap(){this.bootstrapped=false,this.remoteVector=null,this.appliedFontsRevision=null,this.lastSnapshotId=0,this.revision=0,this.keepSurfaces=true,this.openedHeapLimit=null;}async open(r,n={}){if(this.openedHeapLimit||this.bootstrapped)throw new _("Resident engine worker already holds a document");let o={bytes:n.heapLimitBytes};this.openedHeapLimit=o;let i;try{let s=new Uint8Array(r);i=await this.request({type:"open",bytes:s.buffer,...n.digest!==void 0?{digest:n.digest}:{},...n.generation!==void 0?{generation:n.generation}:{},...n.heapLimitBytes!==void 0?{heapLimitBytes:n.heapLimitBytes}:{}},[s.buffer]);}catch(s){throw this.openedHeapLimit===o&&(this.openedHeapLimit=null),s}if(i.hostJson===void 0||!i.stateVector)throw new _("Resident engine worker omitted the opened document");return {hostJson:i.hostJson,stateVector:new Uint8Array(i.stateVector)}}async openPreview(r,n,o={}){if(this.openedHeapLimit||this.bootstrapped)throw new _("Resident engine worker already holds a document");let i={bytes:o.heapLimitBytes};this.openedHeapLimit=i;let s;try{let a=new Uint8Array(r);s=await this.request({type:"open",bytes:a.buffer,previewBlocks:n,...o.heapLimitBytes!==void 0?{heapLimitBytes:o.heapLimitBytes}:{}},[a.buffer]);}catch(a){throw this.openedHeapLimit===i&&(this.openedHeapLimit=null),a}if(s.previewRefused)return this.openedHeapLimit===i&&(this.openedHeapLimit=null),null;if(s.hostJson===void 0||!s.stateVector)throw new _("Resident engine worker omitted the opened preview");return {hostJson:s.hostJson,stateVector:new Uint8Array(s.stateVector)}}fontRequirements(r){let n=this.fontRead;if(n&&n.layoutInput===r&&n.id===this.nextId-1)return n.reply;let o=this.request({type:"fontRequirements",layoutInput:r}).then(a=>{if(a.requirementsJson===void 0)throw new _("Resident engine worker omitted the font requirements");return a.requirementsJson}),i={layoutInput:r,id:this.nextId-1,reply:o};this.fontRead=i;let s=()=>{this.fontRead===i&&(this.fontRead=null);};return o.then(s,s),o}async proposal(r){if(!this.bootstrapped)throw new _("Resident engine worker has not laid out its document");let n=await this.request({type:"proposal",operation:r});if(!n.proposal)throw new _("Resident engine worker omitted the proposal result");return {...n.proposal,updates:n.proposal.updates.map(o=>new Uint8Array(o)),stateVector:new Uint8Array(n.proposal.stateVector)}}async documentRead(r){let n=await this.request({type:"documentRead",read:r});if(!n.read)throw new _("Resident engine worker omitted the document read");return n.read}async handOver(){let r=await this.request({type:"encodeState"});if(!r.state||r.version===void 0||!r.proposals)throw new _("Resident engine worker omitted its document handoff");return {state:new Uint8Array(r.state),version:r.version,proposals:r.proposals}}async encodeState(){let r=await this.request({type:"encodeState"});if(!r.state)throw new _("Resident engine worker omitted its state");return new Uint8Array(r.state)}async revisionCount(){let r=await this.request({type:"revisionCount"});if(typeof r.revisionCount!="number"||!Number.isInteger(r.revisionCount)||r.revisionCount<0)throw new _("Resident engine worker omitted a valid revision count");return r.revisionCount}async warm(){let r=this.request({type:"warm",hostModule:true}),n=o=>{if(!this.terminalError)try{this.worker.postMessage({type:"editModule",module:o});}catch{try{this.worker.postMessage({type:"editModule",module:null});}catch{}}};b$1().then(n,()=>n(null)),await r;}async bootstrap(r,n,o={}){if(o.opened&&!this.openedHeapLimit)throw new _("Resident engine worker has no opened document");if(o.opened&&o.heapLimitBytes!==void 0&&o.heapLimitBytes!==this.openedHeapLimit?.bytes)throw new _("Resident engine worker opened its document under another heap limit");let i=r.fontsRevision;this.bootstrapped=true;for(let u of this.bootstrapWaiters.splice(0))u();let s=this.keepSurfaces;this.keepSurfaces=false;let a=++this.bootstraps,d=this.request({type:"bootstrap",snapshot:r,extras:n,expectedFrameEpoch:o.frameEpoch??0,...o.layoutExtras!==void 0?{layoutExtras:o.layoutExtras}:{},...o.displayWindow?{displayWindow:o.displayWindow,...this.retainBuiltPages?{retainBuiltPages:true}:{}}:{},...o.provisionalPages!==void 0?{provisionalPages:o.provisionalPages}:{},...s?{keepSurfaces:true}:{},...o.opened?{opened:true}:{},...o.heapLimitBytes!==void 0?{heapLimitBytes:o.heapLimitBytes}:{}},lt(r));this.recordSent(o.stateVector,i);let p;try{p=await d;}catch(u){throw o.opened&&!this.openedHeapLimit&&a===this.bootstraps&&(this.bootstrapped=false,this.remoteVector=null,this.appliedFontsRevision=null),u}let c=U(p);return this.recordSync(p,i),this.ready=true,this.revision=c.layoutRevision,c}async sync(r,n,o,i=false,s={}){let a=r.fontsRevision,d=this.request({type:"sync",snapshot:r,extras:n,expectedFrameEpoch:o,paintCaret:i,...s.layoutExtras!==void 0?{layoutExtras:s.layoutExtras}:{},...s.provisionalPages!==void 0?{provisionalPages:s.provisionalPages}:{},...s.displayWindow?{displayWindow:s.displayWindow,...this.retainBuiltPages?{retainBuiltPages:true}:{}}:{}},lt(r));this.recordSent(s.stateVector,a);let p=await d,c=U(p);return this.recordSync(p,a),this.ready=true,this.revision=c.layoutRevision,c}async completeLayout(r,n=false,o){let i=await this.request({type:"completeLayout",expectedFrameEpoch:r,paintCaret:n,...o?{sliceBlocks:o}:{}});return i.frame?U(i):null}async buildFrame(r,n,o=false,i){return U(await this.request({type:"buildFrame",extras:r,expectedFrameEpoch:n,paintCaret:o,...i?{displayWindow:i,...this.retainBuiltPages?{retainBuiltPages:true}:{}}:{}}))}async buildPages(r,n,o=false,i=false){let s=await this.request({type:"buildPages",pages:r,expectedFrameEpoch:n,paintCaret:o,...i?{background:true}:{}});return i&&s.pageBuildSuperseded?null:U(s)}async releasePages(r,n,o=false){let i=await this.request({type:"releasePages",pages:r,expectedFrameEpoch:n,paintCaret:o});return i.superseded?{superseded:true}:U(i)}async applyInput(r,n,o,i=false,s=false,a){if(!this.ready)return {applied:false};try{return {applied:!0,...U(await this.request({type:"applyInput",text:r,selection:n,expectedFrameEpoch:o,profile:i,paintCaret:s,...a?{displayWindow:a,...this.retainBuiltPages?{retainBuiltPages:!0}:{}}:{}}))}}catch(d){if(at(d))return {applied:false};throw d}}async applyDelete(r,n,o,i=false,s=false,a=1,d){if(!this.ready)return {applied:false};try{return {applied:!0,...U(await this.request({type:"applyDelete",direction:r,count:a,selection:n,expectedFrameEpoch:o,profile:i,paintCaret:s,...d?{displayWindow:d,...this.retainBuiltPages?{retainBuiltPages:!0}:{}}:{}}))}}catch(p){if(at(p))return {applied:false};throw p}}eraseCaret(){if(this.terminalError)return;let n={id:this.nextId++,type:"eraseCaret"};this.worker.postMessage(n);}invalidate(r,n){if(this.terminalError)return;this.ready=false;let o=r.slice(),s={id:this.nextId++,type:"applyUpdate",update:o,selection:n};this.worker.postMessage(s,[o.buffer]);}async attachCanvases(r,n,o,i,s){let a=r.map(d=>d.canvas);await this.request({type:"attachCanvases",pages:r,activePageIds:n,devicePixelRatio:o,zoom:i,caretStyle:s},a);}destroy(){if(this.terminalError)return;let n={id:this.nextId++,type:"destroy"};this.worker.postMessage(n),this.fail(new _("Resident engine worker was destroyed"),false);}request(r,n=[]){if(this.terminalError)return Promise.reject(this.terminalError);let o=this.nextId++;return new Promise((i,s)=>{this.pending.size===0&&this.armWatchdog(),this.pending.set(o,{type:r.type,resolve:i,reject:s}),this.worker.postMessage({...r,id:o},n);})}recordSent(r,n){this.terminalError||(this.lastSnapshotId=this.nextId-1,r&&(this.remoteVector=r.slice()),this.appliedFontsRevision=n);}armWatchdog(){this.disarmWatchdog(),this.watchdog=setTimeout(()=>{this.watchdog=null;let r=this.pending.values().next().value?.type??"a request";this.fail(new _(`Resident engine worker did not answer ${r} within ${Ce}ms`));},Ce);}disarmWatchdog(){this.watchdog!==null&&(clearTimeout(this.watchdog),this.watchdog=null);}recordSync(r,n){r.id>=this.lastSnapshotId&&(this.appliedFontsRevision=n);}fail(r,n=true){let o=this.terminalError===null;this.terminalError=r,this.ready=false,this.disarmWatchdog(),this.worker.terminate();for(let i of this.pending.values())i.reject(r);this.pending.clear();for(let i of this.bootstrapWaiters.splice(0))i();n&&o&&this.failureListener?.(r);}},K=class extends Error{},_=class extends Error{},re=class extends K{constructor(n,o){super(n);b(this,"memory",o);}};function at(e){return e instanceof K&&!(e instanceof re)}function qt(e,r=false){return r?new K(e):new Error(e)}function lt(e){return [e.state.buffer,...e.fonts.flatMap(r=>r instanceof Uint8Array?[r.buffer]:[])]}function U(e){if(!e.frame)throw new _("Resident engine worker response omitted its FrameDelta");if(!e.caret)throw new _("Resident engine worker response omitted its caret snapshot");if(e.selection===void 0)throw new _("Resident engine worker response omitted its selection");return {frame:new Uint8Array(e.frame),...e.pageFrames?{pageFrames:e.pageFrames.map(r=>new Uint8Array(r))}:{},updates:(e.updates??[]).map(r=>new Uint8Array(r)),engineMs:e.engineMs??0,workerTotalMs:e.workerTotalMs??0,engineProfile:e.engineProfile,caret:e.caret,selection:e.selection,caretPainted:e.caretPainted??false,replayMs:e.replayMs??0,replayedPages:e.replayedPages??0,layoutRevision:e.layoutRevision??0,deletedUnits:e.deletedUnits??0,...e.layoutJson!==void 0?{layoutJson:e.layoutJson}:{},...e.layoutProvisional?{layoutProvisional:true}:{}}}function Te(){return typeof Worker<"u"}var E=null;function me(e){e.idleTimer!==null&&clearTimeout(e.idleTimer),e.releaseTimer!==null&&clearTimeout(e.releaseTimer),e.idleTimer=null,e.releaseTimer=null;}function te(e){E===e&&(E=null,me(e),e.client.destroy());}function Ie(){if(!Te())return Promise.resolve();E&&(E.factory!==Worker||E.client.hasFailed())&&te(E),E||(E={client:new fe,factory:Worker,ready:null,owners:0,idleTimer:null,releaseTimer:null});let e=E;return e.ready||(e.ready=e.client.warm().catch(r=>{throw e.client.hasFailed()?te(e):e.ready=null,r})),me(e),e.owners===0&&(e.idleTimer=setTimeout(()=>te(e),Ce)),e.ready}function Vt(){let e=E;if(!e)return ()=>{};me(e),e.owners+=1;let r=false;return ()=>{r||(r=true,e.owners-=1,e.owners===0&&E===e&&(e.releaseTimer=setTimeout(()=>te(e),0)));}}function zt(){let e=E;return e?!Te()||e.factory!==Worker||e.client.hasFailed()?(te(e),null):(E=null,me(e),e.client):null}async function $t(){let e=[import('../wasm-QXYYV7LU.mjs').then(n=>n.preloadEditWasm()),import('../wasm-QI7MWC5D.mjs').then(n=>n.preloadOpcWasm()),import('../parseWasm-BESKFFA3.mjs').then(n=>n.preloadParseWasm()),import('../wasm-GFT55YT6.mjs').then(n=>n.preloadLayoutWasm())],r;try{r=Ie();}catch(n){r=Promise.reject(n);}await Promise.all([...e,r]);}function De(e,r,n,o,i,s){let a=r?.pPr;if(!r?.tblStylePr?.some(C=>C.pPr))return a;let d=e.formatting?.look??r.tblPr?.look,p=(C,A)=>d?.[C]??(Number.parseInt(d?.value??(d?"0":"04A0"),16)&A)!==0,c=p("firstRow",32),u=p("lastRow",64),m=p("firstColumn",128),h=p("lastColumn",256),R=e.rows[n].formatting?.gridBefore??0;o+=R,i+=R;let b=!!c&&n===0,g=!!u&&n===e.rows.length-1,S=!!m&&o===0,k=!!h&&i===s,I=e.formatting?.styleRowBandSize??r.tblPr?.styleRowBandSize??1,x=e.formatting?.styleColBandSize??r.tblPr?.styleColBandSize??1,v=[];!p("noHBand",512)&&!b&&!g&&I>0&&v.push(Math.floor((n-+!!c)/I)%2===0?"band1Horz":"band2Horz"),!p("noVBand",1024)&&!S&&!k&&x>0&&v.push(Math.floor((o-+!!m)/x)%2===0?"band1Vert":"band2Vert");for(let[C,A]of [["firstCol",S],["lastCol",k],["firstRow",b],["lastRow",g],["nwCell",b&&S],["neCell",b&&k],["swCell",g&&S],["seCell",g&&k]])A&&v.push(C);for(let C of v)a=b$6(a,r.tblStylePr.find(A=>A.type===C)?.pPr);return a}function dt(e){return Math.max(e.columnWidths?.length??0,...e.rows.map(r=>r.cells.reduce((n,o)=>n+(o.formatting?.gridSpan??1),(r.formatting?.gridBefore??0)+(r.formatting?.gridAfter??0))))}function N(e){if(Array.isArray(e))return e.map(N);if(e!==null&&typeof e=="object"){let r={};for(let[n,o]of Object.entries(e))o!=null&&(r[n]=N(o));return r}return e}var Kt={styleId:"pStyle",_sectionProperties:"sectPr"},Gt=new Set(["paraId","textId","renderedPageBreakBefore","numPrFromStyle"]);function ut(e){let r={};for(let[n,o]of Object.entries(e))Gt.has(n)||o===null||o===void 0||(r[Kt[n]??n]=N(o));return r}var Xt=new Set(["columnWidths"]);function ge(e,r=new Set){let n={};for(let[o,i]of Object.entries(e))r.has(o)||i===null||i===void 0||(n[o]=N(i));return n}function pt(e){return ge(e,Xt)}function ct(e){let r=e.columnWidths;return Array.isArray(r)?r.map(N):[]}function ft(e){return ge(e)}function mt(e,r){let n=ge(e);return r&&(n.header=true),n}function _e(e,r,n,o){return `${e}:t${r}:r${n}c${o}`}function gt(e,r){return `${e}:sdt${r}`}function yt(e){return ge(e)}function ye(e){return `hf:${e}`}function ht(e){return `fn:${e}`}function bt(e){return `en:${e}`}function Qt(e){let r=e.package.settings?.compatibilityFlags?.compatibilityMode;return typeof r=="number"&&Number.isFinite(r)?Math.trunc(r):12}var Zt=new Set(["bold","italic","superscript","subscript","allCaps","smallCaps","emboss","imprint","textShadow","textOutline","hidden","rtl"]);function X(e){if(e==null)return "null";if(Array.isArray(e))return `[${e.map(X).join(",")}]`;if(typeof e=="object"){let r=e;return `{${Object.keys(r).sort().map(n=>`${JSON.stringify(n)}:${X(r[n])}`).join(",")}}`}return JSON.stringify(e)}function er(e,r){if(!e||!r)return e;let n=r.resolveRunStyle(e.styleId);return n?a$1(n,e):e}function xt(e){if(!e)return [];let r=[],n=(a,d={})=>r.push({name:a,attrs:d});e.bold&&n("bold"),e.italic&&n("italic"),e.underline&&e.underline.style!=="none"&&n("underline",{style:e.underline.style,color:e.underline.color??null}),(e.strike||e.doubleStrike)&&n("strike",{double:e.doubleStrike||false}),e.color&&!e.color.auto&&n("textColor",{rgb:e.color.rgb??null,themeColor:e.color.themeColor??null,themeTint:e.color.themeTint??null,themeShade:e.color.themeShade??null});let o=e.shading?.fill,i=(!e.shading?.pattern||e.shading.pattern==="clear")&&o?.rgb&&!o.auto?p(o.rgb):void 0,s=e.highlight&&e.highlight!=="none"?e.highlight:i;return s&&n("highlight",{color:s}),(e.fontSize!=null||e.fontSizeCs!=null)&&n("fontSize",{size:e.fontSize??null,sizeCs:e.fontSizeCs??null}),e.fontFamily&&n("fontFamily",{ascii:e.fontFamily.ascii??null,hAnsi:e.fontFamily.hAnsi??null,eastAsia:e.fontFamily.eastAsia??null,cs:e.fontFamily.cs??null,asciiTheme:e.fontFamily.asciiTheme??null,hAnsiTheme:e.fontFamily.hAnsiTheme??null,eastAsiaTheme:e.fontFamily.eastAsiaTheme??null,csTheme:e.fontFamily.csTheme??null}),e.vertAlign==="superscript"?n("superscript"):e.vertAlign==="subscript"&&n("subscript"),e.allCaps&&n("allCaps"),e.smallCaps&&n("smallCaps"),(e.spacing!=null||e.position!=null||e.scale!=null||e.kerning!=null)&&n("characterSpacing",{spacing:e.spacing??null,position:e.position??null,scale:e.scale??null,kerning:e.kerning??null}),e.emboss&&n("emboss"),e.imprint&&n("imprint"),e.shadow&&n("textShadow"),e.emphasisMark&&e.emphasisMark!=="none"&&n("emphasisMark",{type:e.emphasisMark}),e.outline&&n("textOutline"),e.hidden&&n("hidden"),e.rtl&&n("rtl"),e.snapToGrid===false&&r.push({name:"snapToGrid",attrs:{}}),e.effect&&e.effect!=="none"&&n("textEffect",{effect:e.effect}),e.modernEffects&&n("modernTextEffects",{effects:e.modernEffects}),e.styleId&&n("runStyle",{styleId:e.styleId}),r}function Fe(e){let r={};for(let n of e)n.name==="comment"||n.name==="footnoteRef"||(Zt.has(n.name)?r[n.name]=true:n.name==="snapToGrid"?r.snapToGrid=false:n.name==="highlight"?r.highlight=n.attrs.color:n.name==="insertion"||n.name==="deletion"?r[n.name==="insertion"?"ins":"del"]=N({id:n.attrs.revisionId,author:n.attrs.author,date:n.attrs.date}):r[n.name]=N(n.attrs));return r}function tr(e){return e.filter(r=>r.name!=="hyperlink"&&r.name!=="comment").map(r=>`${r.name}:${JSON.stringify(r.attrs)}`).sort().join("|")}function rr(e,r){return [...e.filter(n=>n.name!==r.name),r]}function ne(e,r){return {kind:"text",text:e,attrs:Fe(r),pmSize:e.length,marks:[...r]}}function D(e,r,n=[],o=1){return {kind:"embed",embedKind:e,payload:r,attrs:Fe(n),pmSize:o,marks:[...n]}}function Pt(e,r,n){let o=e.formatting?.styleId?n?.getRunStyleOwnProperties(e.formatting.styleId):void 0,i=xt(a$1(a$1(r,o),e.formatting)),s=e.formatting?.styleId,a=s?n?.getStyle(s)?.name:void 0;if([s,a].some(d=>/^(?:Followed)?Hyperlink$/i.test(d??""))){for(let[d,p]of [["color","textColor"],["underline","underline"]])if(e.formatting?.[d]===void 0&&o?.[d]!==void 0){let c=i.find(u=>u.name===p);c&&(c.attrs.inheritedHyperlink=true);}}return i}function nr(e){let r=e.size?.width?b$7(e.size.width):void 0,n=e.size?.height?b$7(e.size.height):void 0,o=e.wrap.type,i=e.wrap.wrapText,s=e.position?.horizontal?.alignment,a;o==="inline"||o==="topAndBottom"?a="none":o==="square"||o==="tight"||o==="through"?i==="left"?a="right":i==="right"?a="left":s==="left"||s==="right"?a=s:a="none":a="none";let d=o==="inline"?"inline":o==="topAndBottom"?"block":b$8(o)||a&&a!=="none"?"float":"block",p=[];e.transform?.rotation&&p.push(`rotate(${e.transform.rotation}deg)`),e.transform?.flipH&&p.push("scaleX(-1)"),e.transform?.flipV&&p.push("scaleY(-1)");let c,u,m;if(e.outline?.width){c=Math.round(e.outline.width/914400*96*100)/100,e.outline.color?.rgb&&(u=`#${e.outline.color.rgb}`);let h={solid:"solid",dot:"dotted",dash:"dashed",lgDash:"dashed",dashDot:"dashed",lgDashDot:"dashed",lgDashDotDot:"dashed",sysDot:"dotted",sysDash:"dashed",sysDashDot:"dashed",sysDashDotDot:"dashed"};m=e.outline.style&&h[e.outline.style]||"solid";}return N({src:e.src||"",alt:e.alt??null,title:e.title??null,width:r??null,height:n??null,rId:e.rId??null,wrapType:o,displayMode:d,cssFloat:a??null,transform:p.length>0?p.join(" "):null,distTop:e.wrap.distT!=null?b$7(e.wrap.distT):null,distBottom:e.wrap.distB!=null?b$7(e.wrap.distB):null,distLeft:e.wrap.distL!=null?b$7(e.wrap.distL):null,distRight:e.wrap.distR!=null?b$7(e.wrap.distR):null,position:e.position?{relativeHeight:e.position.relativeHeight,behindDoc:e.position.behindDoc,horizontal:e.position.horizontal?{relativeTo:e.position.horizontal.relativeTo,posOffset:e.position.horizontal.posOffset,align:e.position.horizontal.alignment}:void 0,vertical:e.position.vertical?{relativeTo:e.position.vertical.relativeTo,posOffset:e.position.vertical.posOffset,align:e.position.vertical.alignment}:void 0}:null,borderWidth:c??null,borderColor:u??null,borderColorValue:e.outline?.color??null,borderStyle:m??null,wrapText:i??null,hlinkHref:e.hlinkHref??null,cropTop:e.crop?.top??null,cropRight:e.crop?.right??null,cropBottom:e.crop?.bottom??null,cropLeft:e.crop?.left??null,shapeType:e.shapeType??null,opacity:e.opacity??null,effectExtentTop:e.padding?.top!=null?b$7(e.padding.top):null,effectExtentBottom:e.padding?.bottom!=null?b$7(e.padding.bottom):null,effectExtentLeft:e.padding?.left!=null?b$7(e.padding.left):null,effectExtentRight:e.padding?.right!=null?b$7(e.padding.right):null,layoutInCell:e.layoutInCell??null,allowOverlap:e.allowOverlap??null})}function or(e){return {shapeJson:JSON.stringify(e)}}function sr(e){return N({chartJson:JSON.stringify(e),chartType:e.chartType??null,title:e.title??null,width:e.size?.width?b$7(e.size.width):320,height:e.size?.height?b$7(e.size.height):220,rId:e.rId??null,path:e.path??null})}function G(e,r){let n="",o,i=e.type==="simpleField"?e.content:e.fieldResult;for(let d of i)if(d.type==="run"){for(let p of d.content)p.type==="text"&&(n+=p.text);!o&&d.formatting&&(o=d.formatting);}let s=o??(e.type==="complexField"?e.formatting:void 0),a=e.fieldTree?.displayMode??"result";return {payload:{fieldType:e.fieldType,instruction:e.instruction,displayText:n,fieldKind:e.type==="simpleField"?"simple":"complex",fldLock:e.fldLock??false,dirty:e.dirty??false,displayMode:a,hasCachedResult:n.length>0,fieldData:JSON.stringify(e),modelKind:"field"},marks:xt(a$1(r,s))}}function z(e){let r=new Set,n=[[e,false]];for(;n.length>0;){let[o,i]=n.pop();if(Array.isArray(o))for(let s=o.length-1;s>=0;s--)n.push([o[s],i]);else if(o!==null&&typeof o=="object"){let s=o;if(o!==e&&(s.type==="complexField"||s.type==="simpleField")&&typeof s.instruction=="string"){let d=he(s.instruction);d!==void 0&&r.add(d);}if(s.type==="hyperlink"&&!i)for(let d of Q(o))r.add(d);let a=i||s.type==="hyperlink";for(let d of Object.keys(s).sort().reverse())n.push([s[d],a]);}}return [...r]}function Q(e){let r=[e],n=[],o=[],i=s=>{if(Array.isArray(s))for(let a=s.length-1;a>=0;a--)r.push(s[a]);};for(;r.length>0;){let s=r.pop();if(s){if((s.type==="simpleField"||s.type==="complexField")&&typeof s.instruction=="string"){let a=he(s.instruction);a!==void 0&&o.push(a);}switch(s.type){case "hyperlink":i(s.structuredChildren??s.children);break;case "inlineSdt":case "insertion":case "deletion":case "moveFrom":case "moveTo":i(s.content);break;case "simpleField":i(s.structuredResult?.inline??s.fieldTree?.result?.inline??s.content);break;case "complexField":i(s.structuredResult?.inline??s.fieldTree?.result?.inline??s.fieldResult),i(s.structuredCode?.inline??s.fieldTree?.code?.inline??s.fieldCode);break;case "run":if(!Array.isArray(s.content))break;for(let a of s.content){if(!a)continue;let d;if(a.type==="fieldChar")a.charType==="begin"?n.push(""):a.charType==="separate"&&n.length>0?(d=n[n.length-1],n[n.length-1]=void 0):a.charType==="end"&&(d=n.pop());else if(a.type==="instrText"){let c=n.length-1;n[c]!==void 0&&(n[c]+=typeof a.text=="string"?a.text:"");}let p=d===void 0?void 0:he(d);p!==void 0&&o.push(p);}break}}}return o}function he(e){let r=e.matchAll(/"([^"]*)(?:"|$)|([^\p{White_Space}]+)/gu),n=r.next().value,o=r.next().value,i=n?.[1]??n?.[2],s=o?.[1]??o?.[2];if(!(!i||!/^[sS][eE][qQ]$/.test(i)||s===void 0||s.startsWith("\\")))return s.toLowerCase()}function be(e){return {display:e.display,ommlXml:e.ommlXml,plainText:e.plainText||""}}function ir(e){return {name:"hyperlink",attrs:{href:e.href||(e.anchor?`#${e.anchor}`:""),tooltip:e.tooltip??null,rId:e.rId??null}}}function ar(e,r,n,o,i){let s=e.structuredResult?.inline??[],d=[...(e.type==="complexField"?e.structuredCode?.inline??[]:[]).map((h,R)=>({child:h,index:-R-1})),...s.map((h,R)=>({child:h,index:R}))];if(e.type!=="complexField"||!d.some(({child:h})=>h.type==="hyperlink"||h.type==="simpleField")){i.push(...z(e));let h=G(e,r);return [D("field",h.payload,h.marks)]}let p=[],c=[];d.forEach(({child:h,index:R})=>{if(h.type!=="hyperlink"&&h.type!=="simpleField")return;i.push(...h.type==="hyperlink"?Q(h):z(h));let b=h.type==="simpleField"?G(h,r):null,g=h.type==="hyperlink"?ie(h,r,n,i):[D("field",b.payload,b.marks)];c.push({index:R,items:g.map(S=>S.kind==="text"?{kind:"text",text:S.text,attributes:S.attrs}:{kind:"embed",embedKind:S.embedKind,payload:S.payload,attributes:S.attrs})});for(let S of g)S.attrs={...S.attrs,fieldResult:{id:o,index:R}};p.push(...g);});let u={...e,fieldResult:s.filter(h=>h.type==="run")},m=G(u,r);return i.push(...z(he(e.instruction??"")===void 0?u:e)),m.payload.fieldData=JSON.stringify(e),m.payload.resultProjection={id:o,children:c},p.push(D("field",m.payload,m.marks)),p}function St(e,r,n){let o={name:"footnoteRef",attrs:{id:String(e),noteType:r}},i=[...n,o];return D("noteRef",r==="endnote"?{endnoteRefId:e}:{footnoteRefId:e},i)}function Ye(e){return e.filter(r=>r.name==="insertion"||r.name==="deletion")}function Oe(e,r,n){if((e.type==="drawing"||e.type==="shape"||e.type==="chart")&&r.some(o=>o.name==="hidden")){let o=e.type==="drawing"?e.image:e.type==="shape"?e.shape:e.chart;n.push(...z(o));}switch(e.type){case "text":return e.text?[ne(e.text,r)]:[];case "tab":return [ne(" ",r)];case "break":return e.breakType===void 0||e.breakType==="textWrapping"?[D("break",{},r)]:[];case "softHyphen":return [ne("\xAD",r)];case "noBreakHyphen":return [ne("\u2011",r)];case "symbol":{let o=Number.parseInt(e.char,16);if(!Number.isInteger(o)||o<0||o>1114111)return [];let i={name:"fontFamily",attrs:{ascii:e.font||null,hAnsi:e.font||null,eastAsia:e.font||null,cs:e.font||null,asciiTheme:null,hAnsiTheme:null,eastAsiaTheme:null,csTheme:null}};return [ne(String.fromCodePoint(o),rr(r,i))]}case "commentReference":return [D("field",{fieldType:"COMMENT",instruction:"",displayText:"",fieldKind:"simple",fldLock:false,dirty:false,displayMode:"result",hasCachedResult:false,modelKind:"commentReference",...e.id!==void 0?{commentId:e.id}:{}})];case "drawing":return [D("image",nr(e.image),Ye(r))];case "horizontalRule":return [D("horizontalRule",{rule:e.rule},r)];case "shape":return [D("shape",or(e.shape),Ye(r))];case "chart":return [D("chart",sr(e.chart),Ye(r))];case "footnoteRef":return [St(e.id,"footnote",r)];case "endnoteRef":return [St(e.id,"endnote",r)];default:return []}}function se(e,r,n,o,i=[]){let s=[...Pt(e,r,n),...i];return e.content.flatMap(a=>Oe(a,s,o))}function ie(e,r,n,o,i=[]){let s=[],a=ir(e);for(let d of e.structuredChildren??e.children)if(d.type==="run"){let p=[...Pt(d,r,n),...i,a];for(let c of d.content)s.push(...Oe(c,p,o));}else if(d.type==="simpleField"||d.type==="complexField"){o.push(...z(d));let p=G(d,r);s.push(D("field",p.payload,[...p.marks,...i,a]));}else d.type==="mathEquation"?s.push(D("math",be(d),[...i,a])):d.type==="inlineSdt"&&(i.some(p=>p.name==="insertion"||p.name==="deletion")||b$4(d))&&s.push(D("sdt",Se(d,r,n,o),[...i,a],2));return s}function lr(e,r,n){return {name:r,attrs:{revisionId:e.id,author:e.author,date:e.date??null,isMovePair:n}}}function Ee(e,r,n,o,i=false){let s=e.type==="insertion"||e.type==="moveTo"?"insertion":"deletion",a=lr(e.info,s,e.type==="moveFrom"||e.type==="moveTo"),d=[];for(let p of e.content)if(p.type==="run")d.push(...se(p,r,n,o,[a]));else if(p.type==="hyperlink"){o.push(...Q(p));let c=ie(p,r,n,o,[a]);d.push(...c);}else if(i||p.type==="inlineSdt"||b$4(p)){let c=dr(p,r,n,o,i),u=Fe([a]);d.push(...c.map(m=>({...m,attrs:{...u,...m.attrs},marks:m.marks.some(h=>h.name===a.name)?m.marks:[...m.marks,a]})));}return d}function dr(e,r,n,o,i){if(e.type==="run")return se(e,r,n,o);if(e.type==="hyperlink")return o.push(...Q(e)),ie(e,r,n,o);if(e.type==="simpleField"||e.type==="complexField"){o.push(...z(e));let s=G(e,r);return [D("field",s.payload,s.marks)]}return e.type==="inlineSdt"?[D("sdt",Se(e,r,n,o),[],2)]:e.type==="mathEquation"?[D("math",be(e))]:Ee(e,r,n,o,i)}function Se(e$1,r,n,o){let i=[],s=a=>{if(a.kind==="text"){if((a.text===" "?"tab":"text")==="tab"){i.push({kind:"tab",attrs:a.attrs});return}let p=i[i.length-1];p&&"text"in p&&X(p.attrs)===X(a.attrs)?p.text+=a.text:i.push({kind:"text",text:a.text,attrs:a.attrs});return}i.push({kind:a.embedKind,payload:a.payload,attrs:a.attrs});};for(let a of e$1.content)if(a.type==="run")se(a,r,n,o).forEach(s);else if(a.type==="hyperlink")o.push(...Q(a)),ie(a,r,n,o).forEach(s);else if(a.type==="simpleField"||a.type==="complexField"){o.push(...z(a));let d=G(a,r);s(D("field",d.payload,d.marks));}else a.type==="inlineSdt"?s(D("sdt",Se(a,r,n,o))):a.type==="mathEquation"?s(D("math",be(a))):Ee(a,r,n,o,true).forEach(s);return N({...e(e$1.properties),propertiesJson:JSON.stringify(e$1.properties),content:i})}function ur(e,r,n){let o=r?r.resolveParagraphStyle(e.formatting?.styleId).runFormatting:void 0;return a$1(o,n)}function pr(e){let r=[];for(let n of e.content)n.type==="footnoteRefMark"?r.push("footnote"):n.type==="endnoteRefMark"&&r.push("endnote");return r}function wt(e){return e.map(r=>{if(r.kind==="text")return r.text;let n=r.payload.footnoteRefId??r.payload.endnoteRefId;return String(n??"")}).join("")}function Rt(e){return e.type!=="break"?null:e.breakType==="page"||e.breakType==="column"?e.breakType:null}function cr(e){if(!e.content.some(o=>Rt(o)!==null))return [];let r=[],n=0;for(let o of e.content){let i=Rt(o);if(i!==null){r.push({offset:n,type:i});continue}n+=wt(Oe(o,[],[])).length;}return r}function fr(e,r,n){let o=se(e,r,n,[]);if(o.some(p=>p.kind!=="text"&&p.embedKind!=="noteRef"))return null;let i=o.map(p=>tr(p.marks));if(i.some(p=>p!==i[0]))return null;let s=pr(e),a=cr(e),d=i[0];return {text:wt(o),...s.length>0?{noteMarks:s}:{},...a.length>0?{breaks:a}:{},...d!==void 0?{marksKey:d}:{},...e.formatting?{formatting:e.formatting}:{},...e.propertyChanges?{propertyChanges:e.propertyChanges}:{}}}function mr(e,r,n,o,i){let s=e.formatting,a=s?.styleId,d=s?.indentFirstLine===0?void 0:s?.indentFirstLine,p=d??e.listRendering?.indentFirstLine??s?.indentFirstLine,c=d===void 0&&e.listRendering?.indentFirstLine!==void 0?e.listRendering.hangingIndent:s?.hangingIndent??e.listRendering?.hangingIndent,u={paraId:e.paraId??null,textId:e.textId??null,styleId:a??null,numPr:s?.numPr??null,numPrFromStyle:s?.numPrFromStyle??null,listNumFmt:e.listRendering?.numFmt??null,listIsBullet:e.listRendering?.isBullet??null,listMarker:e.listRendering?.marker??null,listMarkerHidden:e.listRendering?.markerHidden||null,listMarkerFontFamily:e.listRendering?.markerFontFamily||null,listMarkerFontSize:e.listRendering?.markerFontSize||null,listMarkerBold:e.listRendering?.markerBold??null,listMarkerItalic:e.listRendering?.markerItalic??null,listMarkerColor:e.listRendering?.markerColor??null,listMarkerSuffix:e.listRendering?.markerSuffix||null,listLevelNumFmts:e.listRendering?.levelNumFmts||null,listAbstractNumId:e.listRendering?.abstractNumId??null,listStartOverride:e.listRendering?.startOverride??null,_originalFormatting:s??null};if(r){let b=r.resolveParagraphStyle(a,i),g=b.paragraphFormatting;u.alignment=s?.alignment??g?.alignment??null,u.spaceBefore=s?.spaceBefore??g?.spaceBefore??null,u.spaceAfter=s?.spaceAfter??g?.spaceAfter??null,u.spaceBeforeLines=s?.spaceBeforeLines??g?.spaceBeforeLines??null,u.spaceAfterLines=s?.spaceAfterLines??g?.spaceAfterLines??null,u.beforeAutospacing=s?.beforeAutospacing??g?.beforeAutospacing??null,u.afterAutospacing=s?.afterAutospacing??g?.afterAutospacing??null,u.lineSpacing=s?.lineSpacing??g?.lineSpacing??null,u.lineSpacingRule=s?.lineSpacingRule??g?.lineSpacingRule??null,u.spacingExplicit=s?.spacingExplicit||null,u.indentLeft=s?.indentLeft??e.listRendering?.indentLeft??g?.indentLeft??null,u.indentRight=s?.indentRight??g?.indentRight??null;let k=s?.numPr?.numId===0&&g?.numPr&&g.numPr.numId!==0?void 0:g;u.indentFirstLine=p??k?.indentFirstLine??null,u.hangingIndent=c??k?.hangingIndent??false,u.borders=s?.borders??g?.borders??null,u.shading=s?.shading??g?.shading??null,u.tabs=s?.tabs??g?.tabs??null,u.pageBreakBefore=s?.pageBreakBefore??g?.pageBreakBefore??null,u.keepNext=s?.keepNext??g?.keepNext??null,u.keepLines=s?.keepLines??g?.keepLines??null,u.widowControl=s?.widowControl??g?.widowControl??null,u.contextualSpacing=s?.contextualSpacing??g?.contextualSpacing??null,u.snapToGrid=s?.snapToGrid??g?.snapToGrid??null,u.autoSpaceDE=s?.autoSpaceDE??g?.autoSpaceDE??null,u.autoSpaceDN=s?.autoSpaceDN??g?.autoSpaceDN??null,u.outlineLevel=s?.outlineLevel??g?.outlineLevel??null,u.bidi=s?.bidi??g?.bidi??null;let I=r.getDefaultCharacterStyle()?.rPr,x=I?a$1(b.runFormatting,I):b.runFormatting;u.defaultTextFormatting=a$1(x,er(s?.runProperties,r))??null,!s?.numPr&&g?.numPr&&g.numPr.numId!==0&&(u.numPr=g.numPr,u.numPrFromStyle=g.numPr);}else u.alignment=s?.alignment??null,u.spaceBefore=s?.spaceBefore??null,u.spaceAfter=s?.spaceAfter??null,u.spaceBeforeLines=s?.spaceBeforeLines??null,u.spaceAfterLines=s?.spaceAfterLines??null,u.beforeAutospacing=s?.beforeAutospacing??null,u.afterAutospacing=s?.afterAutospacing??null,u.lineSpacing=s?.lineSpacing??null,u.lineSpacingRule=s?.lineSpacingRule??null,u.spacingExplicit=s?.spacingExplicit||null,u.indentLeft=s?.indentLeft??e.listRendering?.indentLeft??null,u.indentRight=s?.indentRight??null,u.indentFirstLine=p??null,u.hangingIndent=c??false,u.borders=s?.borders??null,u.shading=s?.shading??null,u.tabs=s?.tabs??null,u.pageBreakBefore=s?.pageBreakBefore??null,u.keepNext=s?.keepNext??null,u.keepLines=s?.keepLines??null,u.widowControl=s?.widowControl??null,u.snapToGrid=s?.snapToGrid??null,u.autoSpaceDE=s?.autoSpaceDE??null,u.autoSpaceDN=s?.autoSpaceDN??null,u.outlineLevel=s?.outlineLevel??null,u.bidi=s?.bidi??null,u.defaultTextFormatting=s?.runProperties??null;if(e.sectionProperties){u._sectionProperties=e.sectionProperties;let b=e.sectionProperties.sectionStart;(b==="nextPage"||b==="continuous"||b==="oddPage"||b==="evenPage"||b==="nextColumn")&&(u.sectionBreakType=b);}e.renderedPageBreakBefore&&(u.renderedPageBreakBefore=true),hr(e)&&(u.pageBreakBeforeRun=true),e.pPrIns&&(u.pPrIns={revisionId:e.pPrIns.id,author:e.pPrIns.author,date:e.pPrIns.date??null}),e.pPrDel&&(u.pPrDel={revisionId:e.pPrDel.id,author:e.pPrDel.author,date:e.pPrDel.date??null}),e.propertyChanges?.length&&(u.pPrChange=e.propertyChanges);let m=[],h=0,R=0;for(let b of e.content)if(b.type==="bookmarkStart")m.push({id:b.id,name:b.name,kind:"start",offset:R,...b.colFirst!==void 0?{colFirst:b.colFirst}:{},...b.colLast!==void 0?{colLast:b.colLast}:{}});else if(b.type==="bookmarkEnd")m.push({id:b.id,kind:"end",offset:R});else {let g=gr(b);for(let S=0;S<g;S+=1)R+=n[h]?.pmSize??0,h+=1;}return m.length>0&&(u.bookmarks=m),o?.length&&(u._originalRunBoundaries=o),u}var vt=new WeakMap;function gr(e){return vt.get(e)??0}function yr(e,r,n,o){let i=[],s=[],a=[],d=[],p=ur(e,r,n);for(let[u,m]of e.content.entries()){let h=i.length;if(m.type==="commentRangeStart"||m.type==="commentRangeEnd")a.push({unit:h,start:m.type==="commentRangeStart",id:m.id});else if(m.type==="run"){let R=fr(m,p,r);R&&d?d.push(R):d=void 0,i.push(...se(m,p,r,s));}else if(m.type==="hyperlink"){d=void 0,s.push(...Q(m));let R=ie(m,p,r,s);i.push(...R);}else m.type==="simpleField"||m.type==="complexField"?(d=void 0,i.push(...ar(m,p,r,u,s))):m.type==="inlineSdt"?(d=void 0,i.push(D("sdt",Se(m,p,r,s),[],2))):m.type==="insertion"||m.type==="deletion"||m.type==="moveFrom"||m.type==="moveTo"?(d=void 0,i.push(...Ee(m,p,r,s))):m.type==="mathEquation"?(d=void 0,i.push(D("math",be(m)))):m.type!=="bookmarkStart"&&m.type!=="bookmarkEnd"&&m.type!=="rawXml"&&(d=void 0);vt.set(m,i.length-h);}let c=mr(e,r,i,d,o);return {units:i,commentMarks:a,ppr:ut(c),opaqueSequences:s}}function oe(e,r){for(let n of e.content)n.type==="break"&&n.breakType==="page"?r.push("pageBreak"):(n.type!=="text"||n.text.length>0)&&r.push("visible");}function Me(e,r){for(let n of e)if(n.type==="run")oe(n,r);else if(n.type==="hyperlink")for(let o of n.children)o.type==="run"&&oe(o,r);else if(n.type==="simpleField")for(let o of n.content)o.type==="run"&&oe(o,r);else if(n.type==="complexField")for(let o of [...n.fieldCode,...n.fieldResult])oe(o,r);else if(n.type==="inlineSdt")Me(n.content,r);else if(n.type==="insertion"||n.type==="deletion"||n.type==="moveFrom"||n.type==="moveTo")for(let o of n.content)o.type==="run"&&oe(o,r);else n.type==="mathEquation"&&r.push("visible");}function hr(e){let r=[];return Me(e.content,r),r[0]==="pageBreak"}function br(e){let r=[];Me(e.content,r);let n=false,o=false;for(let i of r)if(i==="pageBreak"){if(o||n)return true;n=true;}else o=true;return false}function Sr(e){let r=new Map,n=new Map;return e.rows.forEach((o,i)=>{let s=0,a=o.cells.map(p=>{let c=s;return s+=p.formatting?.gridSpan??1,{column:c,vMerge:p.formatting?.vMerge,key:`${i}-${c}`}});if(a.length>0&&a.every(p=>p.vMerge==="continue"&&n.has(p.column))){for(let p of a)n.delete(p.column),r.set(p.key,{rowSpan:1,skip:false});return}for(let p of a)if(p.vMerge==="restart")n.set(p.column,i),r.set(p.key,{rowSpan:1,skip:false});else if(p.vMerge==="continue"){let c=n.get(p.column);if(c===void 0)r.set(p.key,{rowSpan:1,skip:false});else {let u=r.get(`${c}-${p.column}`);u&&(u.rowSpan+=1),r.set(p.key,{rowSpan:1,skip:true});}}else n.delete(p.column),r.set(p.key,{rowSpan:1,skip:false});}),r}function Ae(e){return {revisionId:e.id,author:e.author,date:e.date??null}}function Rr(e,r,n,o,i,s){let a=r?{top:n?r.top:r.insideH,bottom:o?r.bottom:r.insideH,left:i?r.left:r.insideV,right:s?r.right:r.insideV}:void 0;return a||e?.borders?{...a??{},...e?.borders??{}}:void 0}function kt(e,r){let n=e.formatting,o=b$5(n?.shading?.fill,r.theme),i=n?.width?.value??r.gridWidth,s=n?.width?.type??(r.gridWidth!==void 0?"pct":null),a={colspan:n?.gridSpan??1,rowspan:r.rowspan,width:i??null,widthType:s,verticalAlign:n?.verticalAlign??null,backgroundColor:o??null,borders:Rr(n,r.tableBorders,r.firstRow,r.lastRow,r.firstColumn,r.lastColumn)??null,margins:n?.margins?{top:n.margins.top?.value,bottom:n.margins.bottom?.value,left:n.margins.left?.value??(r.tableBidi?n.margins.end?.value:n.margins.start?.value),right:n.margins.right?.value??(r.tableBidi?n.margins.start?.value:n.margins.end?.value)}:r.defaultMargins??null,textDirection:n?.textDirection??null,noWrap:n?.noWrap??false,_originalFormatting:n??null,_originalResolvedFill:o??null};if(e.structuralChange){let d=e.structuralChange,p=Ae(d.info);d.type==="tableCellInsertion"?a.cellMarker={kind:"ins",info:p}:d.type==="tableCellDeletion"?a.cellMarker={kind:"del",info:p}:d.type==="tableCellMerge"&&(a.cellMarker={kind:"merge",info:p,vMerge:d.vMerge??"cont",...d.vMergeOrig?{vMergeOrig:d.vMergeOrig}:{}});}return e.propertyChanges?.length&&(a.tcPrChange=e.propertyChanges),{attrs:mt(a,r.isHeader),content:e.content.length>0?e.content:[{type:"paragraph",content:[]}]}}function kr(e,r,n,o,i,s,a,d,p){let c={height:e.formatting?.height?.value??null,heightRule:e.formatting?.heightRule??null,isHeader:!!e.formatting?.header,_originalFormatting:e.formatting??null};e.structuralChange&&(e.structuralChange.type==="tableRowInsertion"?c.trIns=Ae(e.structuralChange.info):e.structuralChange.type==="tableRowDeletion"&&(c.trDel=Ae(e.structuralChange.info))),e.propertyChanges?.length&&(c.trPrChange=e.propertyChanges);let u=r.columnWidths,m=u?.reduce((g,S)=>g+S,0)??0,h=u?.length??Math.max(0,...r.rows.map(g=>g.cells.reduce((S,k)=>S+(k.formatting?.gridSpan??1),0))),R=0,b=[];return e.cells.forEach(g=>{let S=g.formatting?.gridSpan??1,k=R,I=o.get(`${n}-${k}`),x;if(u&&m>0){let v=0;for(let C=0;C<S&&k+C<u.length;C+=1)v+=u[k+C];x=Math.round(v/m*100);}R+=S,!I?.skip&&b.push({paragraphFormatting:De(r,d,n,k,R,p),...kt(g,{isHeader:n===0&&!!r.formatting?.look?.firstRow,rowspan:I?.rowSpan??1,gridWidth:x,firstRow:n===0,lastRow:n===r.rows.length-1,firstColumn:k===0,lastColumn:R===h,tableBorders:i,defaultMargins:s,theme:a,tableBidi:!!r.formatting?.bidi})});}),b.length===0&&b.push({paragraphFormatting:De(r,d,n,0,h,p),...kt({formatting:h>1?{gridSpan:h}:void 0,content:[{type:"paragraph",content:[]}]},{isHeader:n===0&&!!r.formatting?.look?.firstRow,rowspan:1,gridWidth:m>0?100:void 0,firstRow:n===0,lastRow:n===r.rows.length-1,firstColumn:true,lastColumn:true,tableBorders:i,defaultMargins:s,theme:a,tableBidi:!!r.formatting?.bidi})}),{attrs:ft(c),cells:b}}function xr(e,r,n,o){let i=r?.getDefaultTableStyle(),s=e.formatting?.styleId,a=s??i?.styleId,d=a?r?.getStyle(a):void 0,p=e.formatting?.borders??d?.tblPr?.borders??i?.tblPr?.borders,c=[e.formatting?.cellMargins,d?.tblPr?.cellMargins??i?.tblPr?.cellMargins].filter(C=>C!=null),u=(...C)=>{for(let A of c)for(let J of C){let ae=A[J]?.value;if(ae!=null)return ae}},[m,h]=e.formatting?.bidi?["end","start"]:["start","end"],R=c.length>0?{top:u("top"),bottom:u("bottom"),left:u("left",m),right:u("right",h)}:void 0,b=[],g=new Set,S=d;for(;S?.basedOn&&b.length<32&&!g.has(S.basedOn);)g.add(S.basedOn),b.unshift(S.basedOn),S=r?.getStyle(S.basedOn);let k={...e.formatting??{},styleCascade:{...s?{selectedStyleId:s}:{},...i?.styleId?{defaultStyleId:i.styleId}:{},...b.length>0?{basedOnStyleIds:b}:{}}},I={styleId:s??null,width:e.formatting?.width?.value??null,widthType:e.formatting?.width?.type??null,justification:e.formatting?.justification??null,columnWidths:e.columnWidths??null,tableLayout:e.formatting?.layout??null,floating:e.formatting?.floating??null,cellMargins:R??null,look:e.formatting?.look??null,bidi:e.formatting?.bidi||null,compatibilityMode:o===12?null:o,_originalFormatting:k};e.propertyChanges?.length&&(I.tblPrChange=e.propertyChanges);let x=Sr(e),v=dt(e);return {attrs:I,rows:e.rows.map((C,A)=>kr(C,e,A,x,p,R,n,d??i,v))}}function Pr(e$1){return yt(e(e$1))}function wr(e){let r=(s,a,d)=>{if(d<=a)return;let p=e.commentCoverage.get(s),c=p[p.length-1];c&&c[1]===a?c[1]=d:p.push([a,d]);},n=[],o=0,i=0;for(let s=0;s<=e.units.length;s+=1){for(;e.commentMarks[i]?.unit===s;){let d=e.commentMarks[i++];if(d.start){if(n.some(p=>p.id===d.id))continue;e.commentCoverage.has(d.id)||e.commentCoverage.set(d.id,[]),n.push({id:d.id,start:o});}else {let p=n.findIndex(c=>c.id===d.id);if(p!==-1){let[c]=n.splice(p,1);r(c.id,c.start,o);}}}let a=e.units[s];if(a){if(a.kind==="embed"&&a.embedKind==="pilcrow")for(let d of n)d.paragraphEnd??(d.paragraphEnd=o);o+=a.kind==="text"?a.text.length:1;}}for(let s of n)r(s.id,s.start,s.paragraphEnd??o);for(let[s,a]of e.commentCoverage)a.length===0&&e.commentCoverage.delete(s);}function Ne(e,r,n){if(d$2(n))return null;if(n.type==="paragraph"){let o=e.paragraph++;return !n.repeatedParaId&&n.paraId||`${r}:p${o}`}return n.type==="table"?`${r}:t${e.table++}`:gt(r,e.sdt++)}function vr(e){return /^\d+$/.test(e.trim())}function Cr(e){let r=e.structuredResult?.blocks??[],n=r[r.length-1];return !n||n.type!=="paragraph"||(n.content?.length??0)>0?null:r.length}function Tr(e,r,n,o,i,s){for(let a of e){if(a.kind!=="embed"||a.embedKind!=="field")continue;let d=a.payload.instruction;if(typeof d!="string"||!vr(d))continue;let p=a.payload.fieldData;if(typeof p!="string")continue;let c;try{c=JSON.parse(p);}catch{continue}let u=Cr(c);if(u===null||o+1+u>n.length)continue;let m={...i},h=[];for(let R=0;R<u;R+=1){let b=n[o+1+R],g=Ne(m,r,b);g!==null&&(b.type==="table"&&s.set(o+1+R,g),h.push(g));}h.length>0&&(a.payload.fieldResultBlocks=h);}}function Ir(e){return !d$2(e)&&e.type==="paragraph"&&(e.content?.some(r=>r.type==="run"&&r.content.some(n=>n.type==="fieldChar"&&n.charType==="separate"))??false)}function Dr(e,r,n,o,i){for(let s of e){if(s.kind!=="embed"||s.embedKind!=="field")continue;let a=s.payload.fieldData;if(typeof a!="string"||!a.includes('"blocks"'))continue;let d;try{d=JSON.parse(a);}catch{continue}if(!d||typeof d!="object")continue;let p=d.structuredCode?.blocks,c=d.structuredResult?.blocks,u=Array.isArray(p)?p.length:0,m=Array.isArray(c)&&c.length>0,h;if(u===0){let k=n[o+1];if(!m||!k||!Ir(k))continue;h=0;}else h=m?u:u-1;if(o+1+h+1>n.length)continue;let R=n.slice(o+1,o+1+h+1);if(R.some(k=>d$2(k)||k.type!=="paragraph"))continue;let b={...i},g=[];for(let k of R){let I=Ne(b,r,k);I!==null&&g.push(I);}let S=g.pop();S!==void 0&&(s.payload.fieldCodeMarks=g,s.payload.fieldCodeTarget=S);}}function V(e,r,n,o){let i={storyId:r,units:[],commentMarks:[],commentCoverage:new Map};e.plans.push(i);let s=n.length>0,a=s?[...n]:[{type:"paragraph",content:[]}],d={paragraph:0,table:0,sdt:0},p=new Map,c=null;for(let[u,m]of a.entries()){if(d$2(m))continue;let h=d.table,R=Ne(d,r,m);if(R===null)continue;if(m.type==="paragraph"){let g=yr(m,e.styleResolver,o.extraRunFormatting,o.tableParagraphFormatting);e.opaqueSequences.push(...g.opaqueSequences),Tr(g.units,r,a,u,d,p),Dr(g.units,r,a,u,d);let S=i.units.length;i.commentMarks.push(...g.commentMarks.map(k=>({...k,unit:S+k.unit}))),i.units.push(...g.units),i.units.push(D("pilcrow",{...g.ppr,...s&&m.paraId?{sourceParaId:m.paraId}:{},...s?{}:{paraOrigin:"synthetic"},paraId:R})),o.includePageBreaks&&br(m)&&i.units.push(D("pageBreak",{})),c="paragraph";continue}if(m.type==="table"){let g=xr(m,e.styleResolver,e.theme,e.compatibilityMode),S=g.rows.map((I,x)=>({trPr:I.attrs,cells:I.cells.map((v,C)=>({tcPr:v.attrs,story:_e(r,h,x,C)}))})),k=p.get(u);i.units.push(D("table",{tblPr:pt(g.attrs),grid:ct(g.attrs),rows:S,...k===void 0?{}:{blockId:k}})),g.rows.forEach((I,x)=>{I.cells.forEach((v,C)=>{V(e,_e(r,h,x,C),v.content,{includePageBreaks:false,appendBodyTail:false,seedComments:o.seedComments,extraRunFormatting:v.extraRunFormatting,tableParagraphFormatting:v.paragraphFormatting});});}),c="table";continue}let b=R;i.units.push(D("blockSdt",{...Pr(m.properties),story:b})),V(e,b,m.content,{includePageBreaks:o.includePageBreaks,appendBodyTail:false,seedComments:o.seedComments,tableParagraphFormatting:o.tableParagraphFormatting}),c="blockSdt";}o.appendBodyTail&&(c==="table"||c==="blockSdt")&&i.units.push(D("pilcrow",{hangingIndent:false,paraId:`${r}:p${d.paragraph}`,paraOrigin:"synthetic"})),o.seedComments&&wr(i);}function _r(e){let r=[{op:"delete",index:0,len:1}],n=0,o="",i={},s=X(i),a=()=>{o&&(r.push({op:"insert",index:n,text:o,attrs:i}),n+=o.length,o="");};for(let d of e)if(d.kind==="text"){let p=X(d.attrs);o&&p!==s&&a(),i=d.attrs,s=p,o+=d.text;}else a(),r.push({op:"insertEmbed",index:n,kind:d.embedKind,payload:d.payload,attrs:d.attrs}),n+=1;return a(),r}function Yr(e,r){let n=_r(r.units);for(let[o,i]of r.commentCoverage)n.push({op:"setComment",id:String(o),ranges:i,author:"",date:"",body:null});e.applySeedRawOps(r.storyId,n);}function Ar(e,r,n={}){h(e,"all");let o={styleResolver:r.package.styles?d(r.package.styles):null,theme:r.package.theme??null,plans:[],compatibilityMode:Qt(r),opaqueSequences:[]};V(o,"body",r.package.document.content,{includePageBreaks:true,appendBodyTail:true,seedComments:true});for(let[i,s]of r.package.headers??[])V(o,ye(i),s.content,{includePageBreaks:false,appendBodyTail:false,seedComments:true});for(let[i,s]of r.package.footers??[])o.plans.some(a=>a.storyId===ye(i))||V(o,ye(i),s.content,{includePageBreaks:false,appendBodyTail:false,seedComments:true});for(let i of r.package.footnotes??[])V(o,ht(i.id),i.content,{includePageBreaks:false,appendBodyTail:false,seedComments:true});for(let i of r.package.endnotes??[])V(o,bt(i.id),i.content,{includePageBreaks:false,appendBodyTail:false,seedComments:true});for(let i of o.plans)e.createStory(i.storyId,"","Normal","left");for(let i of o.plans)Yr(e,i);e.seedOpaqueSequences(o.opaqueSequences),e.beginOpening(n.generation);}function Fr(e){let r=e.package;return [r.document.content,...[...r.headers?.values()??[]].map(n=>n.content),...[...r.footers?.values()??[]].map(n=>n.content),...(r.footnotes??[]).map(n=>n.content),...(r.endnotes??[]).map(n=>n.content)]}var Or="word/comments.xml";function Ct(e){if(Array.isArray(e)&&e.length>0&&e.every(n=>n?.type==="paragraph"))return e;let r=typeof e=="string"?e:"";return [{type:"paragraph",formatting:{},content:r?[{type:"run",formatting:{},content:[{type:"text",text:r}]}]:[]}]}function Er(e,r){let n=r.package.document.comments??[],o=new Map(e.listComments().map(c=>[c.id,c])),i=false,s=n.map(c=>{let u=o.get(String(c.id));return o.delete(String(c.id)),!u||!u.author&&!u.date&&u.body==null?c:(i=true,{...c,...u.author?{author:u.author}:{},...u.date?{date:u.date}:{},...u.body==null?{}:{content:Ct(u.body)}})}),a=new Set(n.map(c=>c.id)),d=new Map,p=Math.max(0,...a)+1;for(let c of o.values()){i=true;let u=/^\d+$/.test(c.id)?Number(c.id):Number.NaN;if(!Number.isSafeInteger(u)||a.has(u)){for(;a.has(p);)p+=1;u=p;}a.add(u),String(u)!==c.id&&d.set(u,c.id),s.push({id:u,author:c.author,...c.date?{date:c.date}:{},content:Ct(c.body)});}return {comments:s,sessionIds:d,changed:i}}function Mr(e,r){let n=new Map(r.paragraphs.flatMap(s=>s.session?[[s.session.paraId,s]]:[])),o=[],i=s=>{for(let a of s)if(a.type==="table")for(let d of a.rows)for(let p of d.cells)i(p.content);else if(a.type==="blockSdt")i(a.content);else if(a.type==="paragraph"&&a.paraId){let d=f(a),p=d===void 0?void 0:n.get(d);if(!p?.session||!p.persisted)continue;o.push({session:p.session,persisted:{...p.persisted,paraId:a.paraId}});}};for(let s of Fr(e))i(s);return o}function Be(e,r){let n=[],o=false;for(let i of e){let s=i;if(i.type==="paragraph")s=r(i);else if(i.type==="table"){let a=i.rows.map(d=>{let p=d.cells.map(c=>{let u=Be(c.content,r);return u===c.content?c:{...c,content:u}});return p.every((c,u)=>c===d.cells[u])?d:{...d,cells:p}});a.some((d,p)=>d!==i.rows[p])&&(s={...i,rows:a});}else if(i.type==="blockSdt"){let a=Be(i.content,r);a!==i.content&&(s={...i,content:a});}o||(o=s!==i),s&&n.push(s);}return o?n:e}function Tt(e,r){let n=s=>{let a=Be(s.content,r);return a===s.content?s:{...s,content:a}},o=e.package,i=s=>s&&new Map([...s].map(([a,d])=>[a,n(d)]));return {...e,package:{...o,document:n(o.document),headers:i(o.headers),footers:i(o.footers),footnotes:o.footnotes?.map(n),endnotes:o.endnotes?.map(n)}}}function Nr(e,r){let n=new Set(r.paragraphs.flatMap(({origin:o,session:i})=>o==="synthetic"&&i?[i.paraId]:[]));return n.size===0?e:Tt(e,o=>{let i=f(o);return o.content.length===0&&i!==void 0&&n.has(i)?null:o})}function Br(e,r){let n=new Map(r.flatMap(({paragraphs:o})=>o.map(([i,s])=>[s,i])));return n.size===0?e:Tt(e,o=>{let i=f(o),s=i===void 0?void 0:n.get(i);return s===void 0||o.sourceOrdinal===s?o:{...o,sourceOrdinal:s}})}function It(e){return {identities:e.paragraphIdentities(),plan:e.paragraphSavePlan()}}async function Dt(e,r,n,o,i={},s=()=>true,a=false,d=s){let p=(n.plan.splicedParts??[]).filter(({part:x})=>d(x)),c={assignments:n.plan.assignments,patchedParts:n.plan.patchedParts.filter(({part:x})=>s(x)),...p.length===0?{}:{splicedParts:p.map(({part:x,sha256:v,paragraphs:C,changed:A})=>({part:x,sha256:v,paragraphs:C.map(([J])=>J),changed:A}))}},u=Nr(r,n.identities),m=Mr(u,n.identities),{buffer:h}=await d$1(Br(u,p),o,i,void 0,void 0,c,a),R=new Uint8Array(h),b=e.writtenParagraphIds(R),g=(x,v)=>b[x]?.includes(v.toUpperCase())??false,S=m.filter(({persisted:x})=>g(x.story.partUri,x.paraId)),k=new Set(e.recordSavedParagraphIds([...S.map(({session:x,persisted:v})=>[x.paraId,v.paraId]),...c.assignments.filter(({part:x,paraId:v})=>g(`/${x}`,v)).map(({part:x,ordinal:v,paraId:C})=>[`/${x}#${v}`,C])]).map(([x,v])=>`${x}\0${v}`)),I=({session:x,persisted:v})=>k.has(`${x.paraId}\0${v.paraId}`);return {bytes:R,paragraphs:S.filter(x=>!I(x)),conflicts:S.filter(I)}}async function Wr(e,r={}){let n=e.materializeDocx();if(!n?.originalBuffer)throw new Error("saveYrsDocx requires a session opened from DOCX bytes");let o=It(e),i$1=Er(e,n),s=i(e,i$1.changed?{...n,package:{...n.package,document:{...n.package.document,comments:i$1.comments}}}:n,{commentIds:i$1.sessionIds});return Dt(e,s,o,n.originalBuffer,r,a=>!i$1.changed||a!==Or)}var Le=new WeakMap;async function qn(e){let r=new Uint8Array(e),n=globalThis.crypto?.subtle;if(!n)return r;try{let o=new Uint8Array(await n.digest("SHA-256",r));Le.set(r,Array.from(o,i=>i.toString(16).padStart(2,"0")).join(""));}catch{}return r}function Vn(e){return Le.get(e)}function zn(e,r){return !e||!r?e===r:e.anchor.story===r.anchor.story&&e.anchor.paraId===r.anchor.paraId&&e.anchor.offset===r.anchor.offset&&e.head.story===r.head.story&&e.head.paraId===r.head.paraId&&e.head.offset===r.head.offset}function Jr(){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 _t(e){return JSON.stringify("revisionId"in e?{revisionId:e.revisionId}:{story:e.story,startPara:e.start.paraId,startOffset:e.start.offset,endPara:e.end.paraId,endOffset:e.end.offset})}function Yt(e){return JSON.stringify(e.map(r=>({story:r.story,startPara:r.start.paraId,startOffset:r.start.offset,endPara:r.end.paraId,endOffset:r.end.offset})))}function At(e){return e.kind==="search"?e.within.story:e.story}function We(e){return e.buffer instanceof ArrayBuffer&&e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer}function $n(e,r){return Je(e,r)}function Je(e,r){let n=JSON.parse(e);if(typeof n!="object"||n===null||Array.isArray(n))throw new TypeError("DOCX host metadata must be an object");let o=n;if(!Array.isArray(o.referencedFonts)||!o.referencedFonts.every(a=>typeof a=="string"))throw new TypeError("DOCX host referencedFonts must be a string array");let i=o.unusedScriptFonts??[];if(!Array.isArray(i)||!i.every(a=>typeof a=="string"))throw new TypeError("DOCX host unusedScriptFonts must be a string array");let s=c(o.envelope,We(r));return {document:s.document,referencedFonts:o.referencedFonts,unusedScriptFonts:i,...o.wholeBody===true?{wholeBody:true}:{},embeddedFonts:s.embeddedFonts,...s.fontTableRelationshipsXml===void 0?{}:{fontTableRelationshipsXml:s.fontTableRelationshipsXml}}}var Lr=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/;function Ur(e,r){let n=new Map,o=[],i=false,s=false,a$1=0,d=0,p=false,c=false,u,m=null,h$1=[],R=new Map,b=new Map,g=null,S=false,k=0,I=false,x=null,v=t=>(t.layoutJson!==void 0&&x!==null&&(g=x,S=true,k+=1,I=false,x=null),t),C=0,A=null,J=null,ae=()=>{u=void 0,m=null;},Ue=()=>{if(!(s||p||d!==0)){p=true;try{for(;!s&&o.length>0;){let t=o.shift();if(!t)break;for(let[l,f]of [...n]){if(s)return;if(n.get(l)===f)try{f(t.update.slice(),t.origin);}catch{}}}}finally{p=false,s&&(o.length=0);}}},le=false,Z=false,y=t=>{if(le)throw new Error("A document preview is display-only");return je(t)},je=t=>{ae(),d+=1;try{return t()}finally{d-=1,d===0&&Ue();}},He=t=>t?{anchor:{...t.anchor},head:{...t.head}}:null,P=t=>{c||(e.track_undo(),c=true),t!==void 0&&(e.select_story(t),w(t));},w=t=>{h(B,t);},F=t=>(w(t.createdStoryIds),w(t.deletedStoryIds),w(t.changedStoryIds),t),de=()=>(u!==void 0?u:JSON.parse(e.selection()))?.head.story??"all",Ft=()=>{i||(e.set_update_observer((t,l)=>{l!==0&&l!==1||(o.push({update:t.slice(),origin:l===0?"local":"remote"}),Ue());}),i=true);},Ot=()=>{!i||n.size>0||s||(o.length=0,e.clear_update_observer(),i=false);},Re=new Map,qe=0,ke=()=>{Re.clear(),qe+=1;},Ve=(t,l,f={})=>{let T=t.slice();w("all"),ke();let W=y(()=>{e.set_media_tokens(f.mediaTokens===true);let j=e.open_docx(T,l,f.generation,Le.get(t));return M.reset(),j}),$=$e(Je(W,T));return A=T,J=ve($.document),Z=false,$},ze=t=>{if(s||!t.startsWith("media:"))return null;let l=Re.get(t);return l===void 0&&(l=e.media_data_url(t)??null,Re.set(t,l)),l},$e=t=>(a(t.document.package.document.comments,ze),t),ue=null,M=d$3({version:()=>e.version(),resolveParagraphAnchor:t=>B.resolveParagraphAnchor(t),findText:t=>B.findText(t),readParagraphs:t=>B.readParagraphs(t),applyEdits:t=>B.applyEdits(t),listRevisions:()=>B.listRevisions(),revisionStamps:t=>JSON.parse(e.revision_stamps_json(JSON.stringify(t))),settleRevisions:(t,l)=>{let f=B.storiesChangedSince(Number.MAX_SAFE_INTEGER).revision;e.settle_revisions_json(JSON.stringify({accept:t,reject:l})),w(B.storiesChangedSince(f).stories);},...typeof e.begin_shared_reads=="function"&&typeof e.end_shared_reads=="function"?{sharedReads:t=>{e.begin_shared_reads();try{return t()}finally{e.end_shared_reads();}}}:{}}),B={clientId:r,openDocxPreview:(t,l)=>{w("all"),ke();let f=je(()=>e.open_docx_preview(t,l));return f===void 0?null:(le=true,Z=true,$e(Je(f,t)))},isDisplayOnly:()=>le,markDisplayOnly:()=>{le=true,Z=true;},setPartialDocument:t=>{Z=t,e.set_partial_document(t);},layoutDocumentWithRegionsPrefixRetainedJson:(t,l)=>{let f=e.layout_document_with_regions_prefix_retained_json(t,l);return g=t,S=true,k+=1,I=false,f},registerFont:t=>{let l=e.register_measure_font(t);return h$1.push(t.slice()),C+=1,l},registerSubstituteFont:(t,l)=>{let f=e.register_substitute_measure_font(t,l);return f===t||(h$1.push({substituteOf:t,family:l}),C+=1),f},clearFonts:()=>{e.clear_measure_fonts(),h$1.length=0,b.clear(),C+=1;},measureParagraphJson:t=>{let l=e.measure_paragraph_json(t);return b.set(t,t),l},layoutDocumentJson:t=>{let l=e.layout_document_json(t);return g=t,S=false,k+=1,I=false,l},layoutFontRequirementsJson:t=>e.layout_font_requirements_json(t),layoutDocumentWithRegionsJson:t=>{let l=e.layout_document_with_regions_json(t);return g=t,S=true,k+=1,I=false,l},layoutDocumentWithRegionsRetainedJson:t=>{let l=e.layout_document_with_regions_retained_json(t);return g=t,S=true,k+=1,I=false,l},beginRegionLayout:t=>(x=t,v(JSON.parse(e.begin_region_layout(t)))),resumeRegionLayout:t=>v(JSON.parse(e.resume_region_layout(t))),adoptResidentWorkerLayout:t=>(g=t,S=true,k+=1,I=true,k),residentLayoutInWorker:()=>I,retainedKernelInputsJson:t=>{if(I)throw new Error("the retained layout was computed in the resident worker");if(t!==k)throw new Error(`retained layout revision mismatch: expected ${t}, current ${k}`);return e.retained_kernel_inputs_json()},buildDisplayListJson:t=>e.build_display_list_json(t),resetFrameBase:()=>{s||e.reset_frame_base();},buildDisplayListFrame:(t,l)=>e.build_display_list_frame(t,l),setDisplayWindow:(t,l)=>e.set_display_window(t,l),setDisplayRetainBuiltPages:t=>e.set_display_retain_built_pages(t),setWindowedIncrementalBuilds:t=>e.set_windowed_incremental_builds(t),buildDisplayPagesFrame:(t,l)=>e.build_display_pages_frame(Uint32Array.from(t),l),releaseDisplayPagesFrame:(t,l)=>{let f=e.release_display_pages_frame(Uint32Array.from(t),l);return f.length===0?null:f},residentCaretSnapshot:()=>JSON.parse(e.resident_caret_snapshot_json()),applyInput:(t,l)=>(P(),w(de()),y(()=>e.apply_input(t,l))),applyDelete:(t,l,f=1)=>(P(),w(de()),y(()=>e.apply_delete(t,l,f))),residentDeletedUnits:()=>e.resident_deleted_units(),applyInputProfiled:(t,l)=>{P(),w(de());let f=y(()=>e.apply_input_profiled(t,l)),T=JSON.parse(e.apply_input_profile_json());return {frame:f,profile:T}},applyDeleteProfiled:(t,l,f=1)=>{P(),w(de());let T=y(()=>e.apply_delete_profiled(t,l,f)),W=JSON.parse(e.apply_input_profile_json());return {frame:T,profile:W}},residentWorkerSnapshot:t=>{if(!g||!S&&R.size===0)return null;let l=ue!==null,f=l?"null":e.selection(),T=l?void 0:e.media_sources_json(),W=t?.knownFontsRevision===C,$=null;if(!l&&t?.knownStateVector)try{$=e.encode_diff(t.knownStateVector.slice());}catch{$=null;}return {clientId:r,...l?{workerAuthoritative:true}:{},state:l?new Uint8Array(0):$??e.encode_state(),selection:JSON.parse(f),fonts:W?[]:h$1.map(j=>j instanceof Uint8Array?j.slice():{...j}),fontsRevision:C,renderInputs:[...R].map(([j,Et])=>({story:j,env:structuredClone(Et)})),measureInputs:[...b.values()],layoutInput:g,layoutWithRegions:S,layoutRevision:k,...Z?{partialDocument:true}:{},...T?{mediaSources:T}:{}}},residentWorkerProbe:()=>!g||!S&&R.size===0?null:{layoutRevision:k},displayHitTestRegionsJson:(t,l,f)=>e.display_hit_test_regions_json(t,l,f),displayVerticalMoveJson:(t,l,f)=>e.display_vertical_move_json(t,l,f),displayRangeRectsJson:(t,l)=>e.display_range_rects_json(t,l),displayRangeRectsRegionJson:(t,l,f,T)=>e.display_range_rects_region_json(t,l,f,T),outlineGlyphJson:(t,l)=>e.outline_glyph_json(t,l),loadState:t=>{w("all"),y(()=>{e.load(t),M.reset();});},seedFromDocx:(t,l)=>Ve(t,true,l),openDocx:Ve,beginOpening:t=>{y(()=>{e.begin_opening(t),M.reset();});},seedOpaqueSequences:t=>{w("all"),y(()=>e.seed_opaque_sequences(JSON.stringify(t)));},mediaSource:t=>{if(s||!t.startsWith("media:"))return null;let l=e.media_bytes(t),f=l&&e.media_type(t);return l&&f?{bytes:l,mimeType:f}:null},loadMediaSources:t=>e.load_media_sources(t),mediaDataUrl:ze,mediaScope:()=>qe,materializeDocx:()=>{let t=A,l=e.materialize_docx();return !t||l===void 0?null:b$2(l,We(t)).document},loadStories:t=>(w(t.map(l=>l.storyId)),y(()=>JSON.parse(e.load_json(JSON.stringify(t))))),encodeState:()=>e.encode_state(),encodeStateVector:()=>e.encode_state_vector(),encodeStateAsUpdate:t=>t===void 0?e.encode_state():e.encode_diff(t.slice()),applyUpdate:t=>(w("all"),y(()=>JSON.parse(e.apply_update_with_inference(t)))),applyLocalUpdate:t=>{P(),w("all"),y(()=>e.apply_local_update(t));},applyHostUpdate:(t,l)=>{w(l??"all"),y(()=>e.apply_host_update(t));},onUpdate:t=>{if(s)throw new Error("yrs session is destroyed");if(typeof t!="function")throw new TypeError("update listener must be a function");let l=a$1++;n.set(l,t),Ft();let f=true;return ()=>{f&&(f=false,n.delete(l),Ot());}},encodeStickyPosition:t=>({story:t.story,encoded:e.encode_sticky_position(t.story,t.paraId,t.offset)}),resolveStickyPosition:t=>{try{return JSON.parse(e.resolve_sticky_position(t.story,t.encoded))}catch{return null}},setSelection:(t,l=t)=>{if(t.story!==l.story)throw new Error("yrs selection must stay inside one story");e.set_selection(t.story,t.paraId,t.offset,l.paraId,l.offset),u={anchor:{...t},head:{...l}};},selection:()=>(u!==void 0||(u=JSON.parse(e.selection())),He(u)),encodeSelection:()=>{let t=JSON.parse(e.encoded_selection());return t?{story:t.story,anchor:Uint8Array.from(t.anchor),head:Uint8Array.from(t.head)}:null},resolveSelection:t=>{try{return JSON.parse(e.resolve_encoded_selection(t.story,t.anchor,t.head))}catch{return null}},setCellSelection:t=>e.set_cell_selection(JSON.stringify(t)),cellSelection:()=>JSON.parse(e.cell_selection()),beginUndoCapture:P,addUndoBoundary:()=>e.add_undo_boundary(),setUndoCaptureMode:t=>e.set_undo_capture_mode(t),undoCaptureMode:()=>e.undo_capture_mode(),historyStories:()=>e.history_stories(),undo:()=>y(()=>{let t=e.undo();return t&&w(e.history_stories()),t}),redo:()=>y(()=>{let t=e.redo();return t&&w(e.history_stories()),t}),canUndo:()=>e.can_undo(),canRedo:()=>e.can_redo(),createStory:(t,l,f="Normal",T="left")=>(w(t),y(()=>JSON.parse(e.create_story(t,l,f,T)))),deleteStory:t=>(w(t),y(()=>e.delete_story(t))),insertTable:(t,l,f,T)=>(P(t.story),y(()=>F(JSON.parse(e.insert_table(t.story,t.paraId,t.offset,l,f,T?.name,T?.date))))),insertRow:(t,l,f)=>(P(t.story),y(()=>F(JSON.parse(e.insert_row(JSON.stringify(t),l==="below",f?.name,f?.date))))),insertColumn:(t,l)=>(P(t.story),y(()=>F(JSON.parse(e.insert_column(JSON.stringify(t),l==="right"))))),deleteRow:(t,l)=>(P(t.anchor.story),y(()=>F(JSON.parse(e.delete_row(JSON.stringify(t),l?.name,l?.date))))),deleteColumn:t=>(P(t.anchor.story),y(()=>F(JSON.parse(e.delete_column(JSON.stringify(t)))))),deleteTable:t=>(P(t.story),y(()=>F(JSON.parse(e.delete_table(JSON.stringify(t)))))),mergeCells:t=>(P(t.anchor.story),y(()=>F(JSON.parse(e.merge_cells(JSON.stringify(t)))))),splitCell:(t,l,f)=>(P(t.story),y(()=>F(JSON.parse(e.split_cell(JSON.stringify(t),l,f))))),setCellShading:(t,l)=>(P(t.anchor.story),y(()=>F(JSON.parse(e.set_cell_shading(JSON.stringify(t),l??void 0))))),setCellTextFormat:(t,l)=>(P(t.anchor.story),y(()=>F(JSON.parse(e.set_cell_text_format(JSON.stringify(t),JSON.stringify(l)))))),setCellBorders:(t,l)=>(P(t.anchor.story),y(()=>F(JSON.parse(e.set_cell_borders(JSON.stringify(t),JSON.stringify(l)))))),setColumnWidth:(t,l)=>(P(t.story),y(()=>F(JSON.parse(e.set_column_width(JSON.stringify(t),l))))),setTableWidth:(t,l)=>(P(t.story),y(()=>F(JSON.parse(e.set_table_width(JSON.stringify(t),l))))),insertText:(t,l,f)=>(P(t.story),y(()=>JSON.parse(e.insert_text(t.story,t.paraId,t.offset,l,f?.name,f?.date)))),deleteRange:(t,l)=>(P(t.story),y(()=>JSON.parse(e.delete_range(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset,l?.name,l?.date)))),replaceRange:(t,l,f)=>(P(t.story),y(()=>JSON.parse(e.replace_range(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset,l,f?.name,f?.date)))),splitParagraph:(t,l)=>(P(t.story),y(()=>JSON.parse(e.split_paragraph(t.story,t.paraId,t.offset,l?.name,l?.date)))),mergeParagraphs:(t,l,f)=>(P(t),y(()=>JSON.parse(e.merge_paragraphs(t,l,f?.name,f?.date)))),toggleMark:(t,l)=>{P(t.story),y(()=>e.toggle_mark(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset,JSON.stringify(l)));},formatRange:(t,l)=>{P(t.story),y(()=>e.format_range(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset,JSON.stringify(l)));},setHyperlink:(t,l)=>{P(t.story),y(()=>e.set_hyperlink(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset,JSON.stringify(l)));},clearFormatting:t=>{P(t.story),y(()=>e.clear_formatting(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset));},applyParagraphStyle:(t,l,f)=>{P(t.story),y(()=>e.apply_paragraph_style(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset,l,f?.name,f?.date));},setParagraphAttrs:(t,l,f)=>{P(t.story),y(()=>e.set_paragraph_attrs(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset,JSON.stringify(l),f?.name,f?.date));},insertImage:(t,l,f)=>(P(t.story),y(()=>JSON.parse(e.insert_image(t.story,t.paraId,t.offset,JSON.stringify(l),f?.name,f?.date)))),setContentControlValue:(t,l)=>{P(),w("all"),y(()=>e.set_content_control_value(t,JSON.stringify(l)));},setContentControlValueAt:(t,l)=>{P(t.story),typeof l=="string"&&w("all"),y(()=>e.set_content_control_value_at(t.story,t.paraId,t.offset,JSON.stringify(l)));},clearContentControlValue:t=>{P(),w("all"),y(()=>e.clear_content_control_value(t));},setImageGeometry:(t,l)=>{P(),w("all"),y(()=>e.set_image_geometry(t,JSON.stringify(l)));},setImageGeometryAt:(t,l)=>{P(t.story),y(()=>e.set_image_geometry_at(t.story,t.paraId,t.offset,JSON.stringify(l)));},insertPageBreak:t=>{P(t.story),y(()=>e.insert_page_break(t.story,t.paraId,t.offset));},insertSectionBreak:(t,l)=>{P(t.story),y(()=>e.insert_section_break(t.story,t.paraId,t.offset,l));},insertWatermark:(t,l)=>{P(t.story),y(()=>e.insert_watermark(t.story,t.paraId,t.offset,JSON.stringify(l)));},applyRawOps:(t,l)=>{let f=l.some(T=>T.op==="insertEmbed"&&T.kind==="pilcrow"||T.op==="setEmbedAttr"&&T.key==="paraId");w(f?"all":t),y(()=>e.apply_raw_ops(t,JSON.stringify(l)));},applySeedRawOps:(t,l)=>{w(t),y(()=>e.apply_seed_raw_ops(t,JSON.stringify(l)));},setParagraphAttr:(t,l,f)=>{w("all"),y(()=>e.set_paragraph_attr(t,l,JSON.stringify(f??null)));},addComment:(t,l,f,T)=>(w(t.map(W=>W.story)),y(()=>JSON.parse(e.add_comment(Yt(t),l,f,JSON.stringify(T??null))))),setCommentRanges:(t,l)=>{P(),y(()=>{e.set_comment_ranges(t,Yt(l)),w("all");});},acceptChange:t=>(w("all"),y(()=>JSON.parse(e.accept_change(_t(t))))),rejectChange:t=>(w("all"),y(()=>JSON.parse(e.reject_change(_t(t))))),selectionContext:t=>{let l=JSON.stringify(t);if(m?.key===l)return JSON.parse(m.json);let f=e.selection_context(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset),T=JSON.parse(f);return m={key:l,json:f},T},listRevisions:()=>JSON.parse(e.list_revisions()),resolveComment:t=>JSON.parse(e.resolve_comment(t)),listComments:()=>JSON.parse(e.list_comments()),storyIds:()=>e.story_ids(),hasStory:t=>!Lr.test(t)&&e.has_story(t),storyLength:t=>e.story_len(t),storyChecksum:t=>BigInt(e.story_checksum(t)),yrsBlocksForStory:(t,l={})=>{let f=e.yrs_blocks_for_story(t,JSON.stringify(l)),T=JSON.parse(f);return R.set(t,structuredClone(l)),T},paragraphs:t=>JSON.parse(e.paragraphs(t)),searchText:(t,l={})=>{if(!t)return [];let f=l.limit??Number.POSITIVE_INFINITY;if(!Number.isSafeInteger(f)&&f!==Number.POSITIVE_INFINITY||f<0)throw new RangeError("search limit must be a non-negative safe integer");return JSON.parse(e.search_text(t,l.caseSensitive??false,Number.isFinite(f)?Math.min(f,4294967295):void 0))},paragraphSpans:t=>JSON.parse(e.paragraph_spans(t)),storySegments:t=>JSON.parse(e.story_segments(t)),storiesChangedSince:t=>JSON.parse(e.stories_changed_since(t)),storySegmentUnitDigests:t=>JSON.parse(e.story_segment_unit_digests(t)),storySegmentUnits:(t,l)=>JSON.parse(e.story_segment_units(t,Uint32Array.from(l))),tablePayload:(t,l)=>{if(!Number.isInteger(l)||l<0||l>4294967295)return e.story_len(t),null;let f=e.table_payload(t,l);return f===void 0?null:JSON.parse(f)},locateParagraph:(t,l)=>JSON.parse(e.locate_paragraph(t,l)),paragraphIdCount:(t,l)=>e.paragraph_id_count(t,l),paragraphIdentities:()=>JSON.parse(e.paragraph_identities()),persistParagraphIds:()=>(w("all"),y(()=>JSON.parse(e.persist_paragraph_ids()))),resolveParagraphAnchor:t=>JSON.parse(e.resolve_paragraph_anchor(JSON.stringify(t))),storyParagraphIds:t=>JSON.parse(e.story_paragraph_ids(t)),paragraphSavePlan:()=>JSON.parse(e.paragraph_save_plan()),recordSavedParagraphIds:t=>y(()=>JSON.parse(e.record_saved_paragraph_ids(JSON.stringify(t)))),writtenParagraphIds:t=>JSON.parse(e.written_paragraph_ids(t)),exportStructured:t=>JSON.parse(e.export_structured_json(JSON.stringify(t))),exportMarkdown:t=>JSON.parse(e.export_markdown_json(JSON.stringify(t))),exportStructuredWithPages:t=>JSON.parse(e.export_structured_with_pages_json(JSON.stringify(t),void 0)),exportStructuredWithPagesFor:(t,l)=>JSON.parse(e.export_structured_with_pages_json(JSON.stringify(t),l)),exportSnapshotWithPrivateFonts:(t,l,f,T)=>JSON.parse(e.export_snapshot_with_private_fonts_json(t,l,f,JSON.stringify(T))),headings:t=>JSON.parse(e.headings_json(t)),listContentControls:(t={})=>JSON.parse(e.list_content_controls_json(JSON.stringify(t))),findContentControls:(t,l={})=>JSON.parse(e.find_content_controls_json(JSON.stringify(t),JSON.stringify(l))),version:()=>ue??e.version(),readParagraphs:t=>JSON.parse(e.read_paragraphs_json(JSON.stringify(t))),findText:t=>JSON.parse(e.find_text_json(JSON.stringify(t))),validateEdits:t=>JSON.parse(e.validate_edits_json(JSON.stringify(t))),applyEdits:t=>y(()=>{let l=JSON.parse(e.apply_edits_json(JSON.stringify(t)));return l.ok&&l.applied&&w(l.changedStories),l}),proposeChanges:t=>y(()=>M.propose(t)),setProposalStates:t=>M.setStates(t),withdrawProposals:t=>y(()=>M.withdraw(t)),getProposals:()=>M.snapshot(),mirrorWorkerDocument:t=>{ue=t?.version??null,M.mirror(t);},workerDocumentMirrored:()=>ue!==null,onProposalChange:t=>{if(s)throw new Error("yrs session is destroyed");return M.subscribe(t)},formatTextTarget:(t,l)=>(P(At(t)),y(()=>JSON.parse(e.format_text_target_json(JSON.stringify(t),JSON.stringify(l))))),commentTextTarget:(t,l)=>(w(At(t)),y(()=>JSON.parse(e.comment_text_target_json(JSON.stringify(t),JSON.stringify({...l,body:l.body??null}))))),selectionText:t=>JSON.parse(e.selection_text_json(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset)),destroy:()=>{s||(s=true,ke(),n.clear(),M.destroy(),o.length=0,i&&e.clear_update_observer(),e.free());}};return b$3(B,{sourcePackage:()=>A&&J?{buffer:We(A),keys:J}:null,compareDocx:(t,l,f)=>{w("all");let T=y(()=>{let W=e.compare_docx_json(t,l,f);return M.reset(),W});return A=t.slice(),J=null,T},finishComparedDocx:t=>e.finish_compared_docx_json(t),failComparedDocx:t=>e.fail_compared_docx_json(t)}),B}async function Kn(e){let r=e?.clientId??Jr(),n=await import('../wasm-QXYYV7LU.mjs');return await n.preloadEditWasm(),Ur(n.createEditSession(r),r)}export{fe as ResidentEngineWorkerClient,_ as ResidentWorkerFailureError,re as ResidentWorkerOutOfMemoryError,Te as canUseResidentEngineWorker,It as captureSessionSave,Kn as createYrsSession,$n as decodeDocxHostJson,Ar as documentToYrs,ve as editorSaveKeys,$t as preloadDocxEngine,Ie as preloadResidentEngineWorker,qn as prepareDocxBytes,Vn as preparedDocxDigest,Vt as retainPreloadedResidentEngineWorker,zn as sameYrsSelection,Wr as saveYrsDocx,zt as takePreloadedResidentEngineWorker,Dt as writeSessionSave};
|
|
1
|
+
import {h,i,d as d$2,b as b$3,e,f}from'../chunk-ML6E23W2.mjs';export{g as ownProjectedParagraphs,a as sessionSourcePackage,i as yrsToDocument}from'../chunk-ML6E23W2.mjs';import {d as d$3,a}from'../chunk-5Z22FORG.mjs';export{n as YrsPositionProjection,p as anchorFailure,h as compareYrsLocs,v as computeProposalGeometryMirror,e as createYrsInputPositionMap,k as createYrsLocProjectionFromOutline,l as createYrsPositionProjection,g as displayPositionToYrsLoc,s as hiddenRanges,q as isBodyStory,m as projectYrsDisplayPosition,c as proposalRevisionPreview,u as proposalSetIdentity,i as residentCaretDeviceRect,j as residentCaretSnapshotForFrame,t as resolveAnchorTarget,w as resolveMirroredNavigationTarget,x as resolveNavigationTarget,r as textRangeToRaw,f as yrsLocToDisplayPosition,o as yrsLocToProjectedDisplayPosition}from'../chunk-5Z22FORG.mjs';import'../chunk-EUUIJVM6.mjs';import {b as b$1}from'../chunk-SHVHVJUB.mjs';import'../chunk-LIOWZSE7.mjs';import {d as d$1}from'../chunk-QBMNRD5V.mjs';import {b as b$8}from'../chunk-OBQGPMPQ.mjs';import {d,a as a$1,b as b$6}from'../chunk-47Q2FMFF.mjs';import {b as b$5,p}from'../chunk-LTVVQMHB.mjs';import {b as b$7}from'../chunk-CTBUQRYQ.mjs';import {c,b as b$2}from'../chunk-EBYC3CX7.mjs';import {b as b$4}from'../chunk-UBUTIWXN.mjs';import'../chunk-LT2GCWZ3.mjs';import'../chunk-HPZFJGGM.mjs';import'../chunk-AXFMDV66.mjs';import'../chunk-GKWXOZZH.mjs';export{a as WASM32_MEMORY_LIMIT_BYTES,b as wasmModuleMemories}from'../chunk-HGKSOBXK.mjs';import {b}from'../chunk-TTRUPDAB.mjs';function ve(e,r){let n=c=>{let{content:u,...m}=c;return m},o=c=>[...c??[]].map(([u,m])=>[u,n(m)]),i=c=>(c??[]).map(u=>{let{verbatimXml:m,sourceOrdinal:h,...R}=n(u);return R}),{package:s}=e,a={finalSectionProperties:s.document.finalSectionProperties,sections:s.document.sections?.map(n),headers:o(s.headers),footers:o(s.footers),footnotes:i(s.footnotes),endnotes:i(s.endnotes),relationships:[...s.relationships??[]]},d=c=>JSON.stringify(c,(u,m)=>m instanceof Map?[...m]:m),p=r??s.document.comments??[];return {metadata:d(a),comments:d(p),commentIds:p.map(c=>c.id)}}var jt=new Set(["bootstrap","sync","buildFrame","releasePages","applyInput","applyDelete","proposal","documentRead"]),Ce=6e4;function Ht(){return new Worker(new URL("./residentEngineWorker.mjs",import.meta.url),{type:"module",name:"openooxml-resident-engine"})}var fe=class{constructor(r=Ht()){b(this,"worker",r);b(this,"pending",new Map);b(this,"watchdog",null);b(this,"nextId",1);b(this,"terminalError",null);b(this,"ready",false);b(this,"revision",0);b(this,"remoteVector",null);b(this,"appliedFontsRevision",null);b(this,"bootstrapped",false);b(this,"openedHeapLimit",null);b(this,"bootstraps",0);b(this,"fontRead",null);b(this,"lastSnapshotId",0);b(this,"keepSurfaces",false);b(this,"bootstrapWaiters",[]);b(this,"lastMemory",null);b(this,"answeredFrameEpoch",0);b(this,"retainBuiltPages",false);b(this,"failureListener",null);this.worker.onmessage=n=>{let o=n.data;if(o.memory&&(this.lastMemory=o.memory),o.ok&&o.caret&&(this.answeredFrameEpoch=Math.max(this.answeredFrameEpoch,o.caret.frameEpoch)),o.ok&&o.id>=this.lastSnapshotId){let s=o.proposal?.stateVector??o.stateVector;s&&(this.remoteVector=new Uint8Array(s));}if(!o.ok&&o.terminal){this.fail(o.outOfMemory?new re(o.error,o.memory??[]):new K(o.error));return}this.pending.size>0&&this.armWatchdog();let i=this.pending.get(o.id);i&&(this.pending.delete(o.id),this.pending.size===0&&this.disarmWatchdog(),o.ok?i.resolve(o):i.reject(qt(o.error,o.residentUnavailable)));},this.worker.onerror=n=>{this.fail(new _(`Resident engine worker failed: ${n.message}`));},this.worker.onmessageerror=()=>{this.fail(new _("Resident engine worker returned an unreadable message"));};}isReady(){return this.ready}hasFailed(){return this.terminalError!==null}memory(){return this.lastMemory}layoutRevision(){return this.revision}answeredFrame(){return this.answeredFrameEpoch}setRetainBuiltPages(r){this.retainBuiltPages=r;}onFailure(r){this.failureListener=r;}frameRequestPending(){for(let{type:r}of this.pending.values())if(jt.has(r))return true;return false}remoteStateVector(){return this.remoteVector}syncedFontsRevision(){return this.appliedFontsRevision}bootstrapSent(){return this.bootstrapped}whenBootstrapSent(){return this.bootstrapped?Promise.resolve():new Promise(r=>this.bootstrapWaiters.push(r))}rebootstrap(){this.bootstrapped=false,this.remoteVector=null,this.appliedFontsRevision=null,this.lastSnapshotId=0,this.revision=0,this.keepSurfaces=true,this.openedHeapLimit=null;}async open(r,n={}){if(this.openedHeapLimit||this.bootstrapped)throw new _("Resident engine worker already holds a document");let o={bytes:n.heapLimitBytes};this.openedHeapLimit=o;let i;try{let s=new Uint8Array(r);i=await this.request({type:"open",bytes:s.buffer,...n.digest!==void 0?{digest:n.digest}:{},...n.generation!==void 0?{generation:n.generation}:{},...n.heapLimitBytes!==void 0?{heapLimitBytes:n.heapLimitBytes}:{}},[s.buffer]);}catch(s){throw this.openedHeapLimit===o&&(this.openedHeapLimit=null),s}if(i.hostJson===void 0||!i.stateVector)throw new _("Resident engine worker omitted the opened document");return {hostJson:i.hostJson,stateVector:new Uint8Array(i.stateVector)}}async openPreview(r,n,o={}){if(this.openedHeapLimit||this.bootstrapped)throw new _("Resident engine worker already holds a document");let i={bytes:o.heapLimitBytes};this.openedHeapLimit=i;let s;try{let a=new Uint8Array(r);s=await this.request({type:"open",bytes:a.buffer,previewBlocks:n,...o.heapLimitBytes!==void 0?{heapLimitBytes:o.heapLimitBytes}:{}},[a.buffer]);}catch(a){throw this.openedHeapLimit===i&&(this.openedHeapLimit=null),a}if(s.previewRefused)return this.openedHeapLimit===i&&(this.openedHeapLimit=null),null;if(s.hostJson===void 0||!s.stateVector)throw new _("Resident engine worker omitted the opened preview");return {hostJson:s.hostJson,stateVector:new Uint8Array(s.stateVector)}}fontRequirements(r){let n=this.fontRead;if(n&&n.layoutInput===r&&n.id===this.nextId-1)return n.reply;let o=this.request({type:"fontRequirements",layoutInput:r}).then(a=>{if(a.requirementsJson===void 0)throw new _("Resident engine worker omitted the font requirements");return a.requirementsJson}),i={layoutInput:r,id:this.nextId-1,reply:o};this.fontRead=i;let s=()=>{this.fontRead===i&&(this.fontRead=null);};return o.then(s,s),o}async proposal(r){if(!this.bootstrapped)throw new _("Resident engine worker has not laid out its document");let n=await this.request({type:"proposal",operation:r});if(!n.proposal)throw new _("Resident engine worker omitted the proposal result");return {...n.proposal,updates:n.proposal.updates.map(o=>new Uint8Array(o)),stateVector:new Uint8Array(n.proposal.stateVector)}}async documentRead(r){let n=await this.request({type:"documentRead",read:r});if(!n.read)throw new _("Resident engine worker omitted the document read");return n.read}async handOver(){let r=await this.request({type:"encodeState"});if(!r.state||r.version===void 0||!r.proposals)throw new _("Resident engine worker omitted its document handoff");return {state:new Uint8Array(r.state),version:r.version,proposals:r.proposals}}async encodeState(){let r=await this.request({type:"encodeState"});if(!r.state)throw new _("Resident engine worker omitted its state");return new Uint8Array(r.state)}async revisionCount(){let r=await this.request({type:"revisionCount"});if(typeof r.revisionCount!="number"||!Number.isInteger(r.revisionCount)||r.revisionCount<0)throw new _("Resident engine worker omitted a valid revision count");return r.revisionCount}async warm(){let r=this.request({type:"warm",hostModule:true}),n=o=>{if(!this.terminalError)try{this.worker.postMessage({type:"editModule",module:o});}catch{try{this.worker.postMessage({type:"editModule",module:null});}catch{}}};b$1().then(n,()=>n(null)),await r;}async bootstrap(r,n,o={}){if(o.opened&&!this.openedHeapLimit)throw new _("Resident engine worker has no opened document");if(o.opened&&o.heapLimitBytes!==void 0&&o.heapLimitBytes!==this.openedHeapLimit?.bytes)throw new _("Resident engine worker opened its document under another heap limit");let i=r.fontsRevision;this.bootstrapped=true;for(let u of this.bootstrapWaiters.splice(0))u();let s=this.keepSurfaces;this.keepSurfaces=false;let a=++this.bootstraps,d=this.request({type:"bootstrap",snapshot:r,extras:n,expectedFrameEpoch:o.frameEpoch??0,...o.layoutExtras!==void 0?{layoutExtras:o.layoutExtras}:{},...o.displayWindow?{displayWindow:o.displayWindow,...this.retainBuiltPages?{retainBuiltPages:true}:{}}:{},...o.provisionalPages!==void 0?{provisionalPages:o.provisionalPages}:{},...s?{keepSurfaces:true}:{},...o.opened?{opened:true}:{},...o.heapLimitBytes!==void 0?{heapLimitBytes:o.heapLimitBytes}:{}},lt(r));this.recordSent(o.stateVector,i);let p;try{p=await d;}catch(u){throw o.opened&&!this.openedHeapLimit&&a===this.bootstraps&&(this.bootstrapped=false,this.remoteVector=null,this.appliedFontsRevision=null),u}let c=U(p);return this.recordSync(p,i),this.ready=true,this.revision=c.layoutRevision,c}async sync(r,n,o,i=false,s={}){let a=r.fontsRevision,d=this.request({type:"sync",snapshot:r,extras:n,expectedFrameEpoch:o,paintCaret:i,...s.layoutExtras!==void 0?{layoutExtras:s.layoutExtras}:{},...s.provisionalPages!==void 0?{provisionalPages:s.provisionalPages}:{},...s.displayWindow?{displayWindow:s.displayWindow,...this.retainBuiltPages?{retainBuiltPages:true}:{}}:{}},lt(r));this.recordSent(s.stateVector,a);let p=await d,c=U(p);return this.recordSync(p,a),this.ready=true,this.revision=c.layoutRevision,c}async completeLayout(r,n=false,o){let i=await this.request({type:"completeLayout",expectedFrameEpoch:r,paintCaret:n,...o?{sliceBlocks:o}:{}});return i.frame?U(i):null}async buildFrame(r,n,o=false,i){return U(await this.request({type:"buildFrame",extras:r,expectedFrameEpoch:n,paintCaret:o,...i?{displayWindow:i,...this.retainBuiltPages?{retainBuiltPages:true}:{}}:{}}))}async buildPages(r,n,o=false,i=false){let s=await this.request({type:"buildPages",pages:r,expectedFrameEpoch:n,paintCaret:o,...i?{background:true}:{}});return i&&s.pageBuildSuperseded?null:U(s)}async releasePages(r,n,o=false){let i=await this.request({type:"releasePages",pages:r,expectedFrameEpoch:n,paintCaret:o});return i.superseded?{superseded:true}:U(i)}async applyInput(r,n,o,i=false,s=false,a){if(!this.ready)return {applied:false};try{return {applied:!0,...U(await this.request({type:"applyInput",text:r,selection:n,expectedFrameEpoch:o,profile:i,paintCaret:s,...a?{displayWindow:a,...this.retainBuiltPages?{retainBuiltPages:!0}:{}}:{}}))}}catch(d){if(at(d))return {applied:false};throw d}}async applyDelete(r,n,o,i=false,s=false,a=1,d){if(!this.ready)return {applied:false};try{return {applied:!0,...U(await this.request({type:"applyDelete",direction:r,count:a,selection:n,expectedFrameEpoch:o,profile:i,paintCaret:s,...d?{displayWindow:d,...this.retainBuiltPages?{retainBuiltPages:!0}:{}}:{}}))}}catch(p){if(at(p))return {applied:false};throw p}}eraseCaret(){if(this.terminalError)return;let n={id:this.nextId++,type:"eraseCaret"};this.worker.postMessage(n);}invalidate(r,n){if(this.terminalError)return;this.ready=false;let o=r.slice(),s={id:this.nextId++,type:"applyUpdate",update:o,selection:n};this.worker.postMessage(s,[o.buffer]);}async attachCanvases(r,n,o,i,s){let a=r.map(d=>d.canvas);await this.request({type:"attachCanvases",pages:r,activePageIds:n,devicePixelRatio:o,zoom:i,caretStyle:s},a);}destroy(){if(this.terminalError)return;let n={id:this.nextId++,type:"destroy"};this.worker.postMessage(n),this.fail(new _("Resident engine worker was destroyed"),false);}request(r,n=[]){if(this.terminalError)return Promise.reject(this.terminalError);let o=this.nextId++;return new Promise((i,s)=>{this.pending.size===0&&this.armWatchdog(),this.pending.set(o,{type:r.type,resolve:i,reject:s}),this.worker.postMessage({...r,id:o},n);})}recordSent(r,n){this.terminalError||(this.lastSnapshotId=this.nextId-1,r&&(this.remoteVector=r.slice()),this.appliedFontsRevision=n);}armWatchdog(){this.disarmWatchdog(),this.watchdog=setTimeout(()=>{this.watchdog=null;let r=this.pending.values().next().value?.type??"a request";this.fail(new _(`Resident engine worker did not answer ${r} within ${Ce}ms`));},Ce);}disarmWatchdog(){this.watchdog!==null&&(clearTimeout(this.watchdog),this.watchdog=null);}recordSync(r,n){r.id>=this.lastSnapshotId&&(this.appliedFontsRevision=n);}fail(r,n=true){let o=this.terminalError===null;this.terminalError=r,this.ready=false,this.disarmWatchdog(),this.worker.terminate();for(let i of this.pending.values())i.reject(r);this.pending.clear();for(let i of this.bootstrapWaiters.splice(0))i();n&&o&&this.failureListener?.(r);}},K=class extends Error{},_=class extends Error{},re=class extends K{constructor(n,o){super(n);b(this,"memory",o);}};function at(e){return e instanceof K&&!(e instanceof re)}function qt(e,r=false){return r?new K(e):new Error(e)}function lt(e){return [e.state.buffer,...e.fonts.flatMap(r=>r instanceof Uint8Array?[r.buffer]:[])]}function U(e){if(!e.frame)throw new _("Resident engine worker response omitted its FrameDelta");if(!e.caret)throw new _("Resident engine worker response omitted its caret snapshot");if(e.selection===void 0)throw new _("Resident engine worker response omitted its selection");return {frame:new Uint8Array(e.frame),...e.pageFrames?{pageFrames:e.pageFrames.map(r=>new Uint8Array(r))}:{},updates:(e.updates??[]).map(r=>new Uint8Array(r)),engineMs:e.engineMs??0,workerTotalMs:e.workerTotalMs??0,engineProfile:e.engineProfile,caret:e.caret,selection:e.selection,caretPainted:e.caretPainted??false,replayMs:e.replayMs??0,replayedPages:e.replayedPages??0,layoutRevision:e.layoutRevision??0,deletedUnits:e.deletedUnits??0,...e.layoutJson!==void 0?{layoutJson:e.layoutJson}:{},...e.layoutProvisional?{layoutProvisional:true}:{}}}function Te(){return typeof Worker<"u"}var E=null;function me(e){e.idleTimer!==null&&clearTimeout(e.idleTimer),e.releaseTimer!==null&&clearTimeout(e.releaseTimer),e.idleTimer=null,e.releaseTimer=null;}function te(e){E===e&&(E=null,me(e),e.client.destroy());}function Ie(){if(!Te())return Promise.resolve();E&&(E.factory!==Worker||E.client.hasFailed())&&te(E),E||(E={client:new fe,factory:Worker,ready:null,owners:0,idleTimer:null,releaseTimer:null});let e=E;return e.ready||(e.ready=e.client.warm().catch(r=>{throw e.client.hasFailed()?te(e):e.ready=null,r})),me(e),e.owners===0&&(e.idleTimer=setTimeout(()=>te(e),Ce)),e.ready}function Vt(){let e=E;if(!e)return ()=>{};me(e),e.owners+=1;let r=false;return ()=>{r||(r=true,e.owners-=1,e.owners===0&&E===e&&(e.releaseTimer=setTimeout(()=>te(e),0)));}}function zt(){let e=E;return e?!Te()||e.factory!==Worker||e.client.hasFailed()?(te(e),null):(E=null,me(e),e.client):null}async function $t(){let e=[import('../wasm-KSZTTO3B.mjs').then(n=>n.preloadEditWasm()),import('../wasm-QI7MWC5D.mjs').then(n=>n.preloadOpcWasm()),import('../parseWasm-BESKFFA3.mjs').then(n=>n.preloadParseWasm()),import('../wasm-JPDPN2B2.mjs').then(n=>n.preloadLayoutWasm())],r;try{r=Ie();}catch(n){r=Promise.reject(n);}await Promise.all([...e,r]);}function De(e,r,n,o,i,s){let a=r?.pPr;if(!r?.tblStylePr?.some(C=>C.pPr))return a;let d=e.formatting?.look??r.tblPr?.look,p=(C,A)=>d?.[C]??(Number.parseInt(d?.value??(d?"0":"04A0"),16)&A)!==0,c=p("firstRow",32),u=p("lastRow",64),m=p("firstColumn",128),h=p("lastColumn",256),R=e.rows[n].formatting?.gridBefore??0;o+=R,i+=R;let b=!!c&&n===0,g=!!u&&n===e.rows.length-1,S=!!m&&o===0,k=!!h&&i===s,I=e.formatting?.styleRowBandSize??r.tblPr?.styleRowBandSize??1,x=e.formatting?.styleColBandSize??r.tblPr?.styleColBandSize??1,v=[];!p("noHBand",512)&&!b&&!g&&I>0&&v.push(Math.floor((n-+!!c)/I)%2===0?"band1Horz":"band2Horz"),!p("noVBand",1024)&&!S&&!k&&x>0&&v.push(Math.floor((o-+!!m)/x)%2===0?"band1Vert":"band2Vert");for(let[C,A]of [["firstCol",S],["lastCol",k],["firstRow",b],["lastRow",g],["nwCell",b&&S],["neCell",b&&k],["swCell",g&&S],["seCell",g&&k]])A&&v.push(C);for(let C of v)a=b$6(a,r.tblStylePr.find(A=>A.type===C)?.pPr);return a}function dt(e){return Math.max(e.columnWidths?.length??0,...e.rows.map(r=>r.cells.reduce((n,o)=>n+(o.formatting?.gridSpan??1),(r.formatting?.gridBefore??0)+(r.formatting?.gridAfter??0))))}function N(e){if(Array.isArray(e))return e.map(N);if(e!==null&&typeof e=="object"){let r={};for(let[n,o]of Object.entries(e))o!=null&&(r[n]=N(o));return r}return e}var Kt={styleId:"pStyle",_sectionProperties:"sectPr"},Gt=new Set(["paraId","textId","renderedPageBreakBefore","numPrFromStyle"]);function ut(e){let r={};for(let[n,o]of Object.entries(e))Gt.has(n)||o===null||o===void 0||(r[Kt[n]??n]=N(o));return r}var Xt=new Set(["columnWidths"]);function ge(e,r=new Set){let n={};for(let[o,i]of Object.entries(e))r.has(o)||i===null||i===void 0||(n[o]=N(i));return n}function pt(e){return ge(e,Xt)}function ct(e){let r=e.columnWidths;return Array.isArray(r)?r.map(N):[]}function ft(e){return ge(e)}function mt(e,r){let n=ge(e);return r&&(n.header=true),n}function _e(e,r,n,o){return `${e}:t${r}:r${n}c${o}`}function gt(e,r){return `${e}:sdt${r}`}function yt(e){return ge(e)}function ye(e){return `hf:${e}`}function ht(e){return `fn:${e}`}function bt(e){return `en:${e}`}function Qt(e){let r=e.package.settings?.compatibilityFlags?.compatibilityMode;return typeof r=="number"&&Number.isFinite(r)?Math.trunc(r):12}var Zt=new Set(["bold","italic","superscript","subscript","allCaps","smallCaps","emboss","imprint","textShadow","textOutline","hidden","rtl"]);function X(e){if(e==null)return "null";if(Array.isArray(e))return `[${e.map(X).join(",")}]`;if(typeof e=="object"){let r=e;return `{${Object.keys(r).sort().map(n=>`${JSON.stringify(n)}:${X(r[n])}`).join(",")}}`}return JSON.stringify(e)}function er(e,r){if(!e||!r)return e;let n=r.resolveRunStyle(e.styleId);return n?a$1(n,e):e}function xt(e){if(!e)return [];let r=[],n=(a,d={})=>r.push({name:a,attrs:d});e.bold&&n("bold"),e.italic&&n("italic"),e.underline&&e.underline.style!=="none"&&n("underline",{style:e.underline.style,color:e.underline.color??null}),(e.strike||e.doubleStrike)&&n("strike",{double:e.doubleStrike||false}),e.color&&!e.color.auto&&n("textColor",{rgb:e.color.rgb??null,themeColor:e.color.themeColor??null,themeTint:e.color.themeTint??null,themeShade:e.color.themeShade??null});let o=e.shading?.fill,i=(!e.shading?.pattern||e.shading.pattern==="clear")&&o?.rgb&&!o.auto?p(o.rgb):void 0,s=e.highlight&&e.highlight!=="none"?e.highlight:i;return s&&n("highlight",{color:s}),(e.fontSize!=null||e.fontSizeCs!=null)&&n("fontSize",{size:e.fontSize??null,sizeCs:e.fontSizeCs??null}),e.fontFamily&&n("fontFamily",{ascii:e.fontFamily.ascii??null,hAnsi:e.fontFamily.hAnsi??null,eastAsia:e.fontFamily.eastAsia??null,cs:e.fontFamily.cs??null,asciiTheme:e.fontFamily.asciiTheme??null,hAnsiTheme:e.fontFamily.hAnsiTheme??null,eastAsiaTheme:e.fontFamily.eastAsiaTheme??null,csTheme:e.fontFamily.csTheme??null}),e.vertAlign==="superscript"?n("superscript"):e.vertAlign==="subscript"&&n("subscript"),e.allCaps&&n("allCaps"),e.smallCaps&&n("smallCaps"),(e.spacing!=null||e.position!=null||e.scale!=null||e.kerning!=null)&&n("characterSpacing",{spacing:e.spacing??null,position:e.position??null,scale:e.scale??null,kerning:e.kerning??null}),e.emboss&&n("emboss"),e.imprint&&n("imprint"),e.shadow&&n("textShadow"),e.emphasisMark&&e.emphasisMark!=="none"&&n("emphasisMark",{type:e.emphasisMark}),e.outline&&n("textOutline"),e.hidden&&n("hidden"),e.rtl&&n("rtl"),e.snapToGrid===false&&r.push({name:"snapToGrid",attrs:{}}),e.effect&&e.effect!=="none"&&n("textEffect",{effect:e.effect}),e.modernEffects&&n("modernTextEffects",{effects:e.modernEffects}),e.styleId&&n("runStyle",{styleId:e.styleId}),r}function Fe(e){let r={};for(let n of e)n.name==="comment"||n.name==="footnoteRef"||(Zt.has(n.name)?r[n.name]=true:n.name==="snapToGrid"?r.snapToGrid=false:n.name==="highlight"?r.highlight=n.attrs.color:n.name==="insertion"||n.name==="deletion"?r[n.name==="insertion"?"ins":"del"]=N({id:n.attrs.revisionId,author:n.attrs.author,date:n.attrs.date}):r[n.name]=N(n.attrs));return r}function tr(e){return e.filter(r=>r.name!=="hyperlink"&&r.name!=="comment").map(r=>`${r.name}:${JSON.stringify(r.attrs)}`).sort().join("|")}function rr(e,r){return [...e.filter(n=>n.name!==r.name),r]}function ne(e,r){return {kind:"text",text:e,attrs:Fe(r),pmSize:e.length,marks:[...r]}}function D(e,r,n=[],o=1){return {kind:"embed",embedKind:e,payload:r,attrs:Fe(n),pmSize:o,marks:[...n]}}function Pt(e,r,n){let o=e.formatting?.styleId?n?.getRunStyleOwnProperties(e.formatting.styleId):void 0,i=xt(a$1(a$1(r,o),e.formatting)),s=e.formatting?.styleId,a=s?n?.getStyle(s)?.name:void 0;if([s,a].some(d=>/^(?:Followed)?Hyperlink$/i.test(d??""))){for(let[d,p]of [["color","textColor"],["underline","underline"]])if(e.formatting?.[d]===void 0&&o?.[d]!==void 0){let c=i.find(u=>u.name===p);c&&(c.attrs.inheritedHyperlink=true);}}return i}function nr(e){let r=e.size?.width?b$7(e.size.width):void 0,n=e.size?.height?b$7(e.size.height):void 0,o=e.wrap.type,i=e.wrap.wrapText,s=e.position?.horizontal?.alignment,a;o==="inline"||o==="topAndBottom"?a="none":o==="square"||o==="tight"||o==="through"?i==="left"?a="right":i==="right"?a="left":s==="left"||s==="right"?a=s:a="none":a="none";let d=o==="inline"?"inline":o==="topAndBottom"?"block":b$8(o)||a&&a!=="none"?"float":"block",p=[];e.transform?.rotation&&p.push(`rotate(${e.transform.rotation}deg)`),e.transform?.flipH&&p.push("scaleX(-1)"),e.transform?.flipV&&p.push("scaleY(-1)");let c,u,m;if(e.outline?.width){c=Math.round(e.outline.width/914400*96*100)/100,e.outline.color?.rgb&&(u=`#${e.outline.color.rgb}`);let h={solid:"solid",dot:"dotted",dash:"dashed",lgDash:"dashed",dashDot:"dashed",lgDashDot:"dashed",lgDashDotDot:"dashed",sysDot:"dotted",sysDash:"dashed",sysDashDot:"dashed",sysDashDotDot:"dashed"};m=e.outline.style&&h[e.outline.style]||"solid";}return N({src:e.src||"",alt:e.alt??null,title:e.title??null,width:r??null,height:n??null,rId:e.rId??null,wrapType:o,displayMode:d,cssFloat:a??null,transform:p.length>0?p.join(" "):null,distTop:e.wrap.distT!=null?b$7(e.wrap.distT):null,distBottom:e.wrap.distB!=null?b$7(e.wrap.distB):null,distLeft:e.wrap.distL!=null?b$7(e.wrap.distL):null,distRight:e.wrap.distR!=null?b$7(e.wrap.distR):null,position:e.position?{relativeHeight:e.position.relativeHeight,behindDoc:e.position.behindDoc,horizontal:e.position.horizontal?{relativeTo:e.position.horizontal.relativeTo,posOffset:e.position.horizontal.posOffset,align:e.position.horizontal.alignment}:void 0,vertical:e.position.vertical?{relativeTo:e.position.vertical.relativeTo,posOffset:e.position.vertical.posOffset,align:e.position.vertical.alignment}:void 0}:null,borderWidth:c??null,borderColor:u??null,borderColorValue:e.outline?.color??null,borderStyle:m??null,wrapText:i??null,hlinkHref:e.hlinkHref??null,cropTop:e.crop?.top??null,cropRight:e.crop?.right??null,cropBottom:e.crop?.bottom??null,cropLeft:e.crop?.left??null,shapeType:e.shapeType??null,opacity:e.opacity??null,effectExtentTop:e.padding?.top!=null?b$7(e.padding.top):null,effectExtentBottom:e.padding?.bottom!=null?b$7(e.padding.bottom):null,effectExtentLeft:e.padding?.left!=null?b$7(e.padding.left):null,effectExtentRight:e.padding?.right!=null?b$7(e.padding.right):null,layoutInCell:e.layoutInCell??null,allowOverlap:e.allowOverlap??null})}function or(e){return {shapeJson:JSON.stringify(e)}}function sr(e){return N({chartJson:JSON.stringify(e),chartType:e.chartType??null,title:e.title??null,width:e.size?.width?b$7(e.size.width):320,height:e.size?.height?b$7(e.size.height):220,rId:e.rId??null,path:e.path??null})}function G(e,r){let n="",o,i=e.type==="simpleField"?e.content:e.fieldResult;for(let d of i)if(d.type==="run"){for(let p of d.content)p.type==="text"&&(n+=p.text);!o&&d.formatting&&(o=d.formatting);}let s=o??(e.type==="complexField"?e.formatting:void 0),a=e.fieldTree?.displayMode??"result";return {payload:{fieldType:e.fieldType,instruction:e.instruction,displayText:n,fieldKind:e.type==="simpleField"?"simple":"complex",fldLock:e.fldLock??false,dirty:e.dirty??false,displayMode:a,hasCachedResult:n.length>0,fieldData:JSON.stringify(e),modelKind:"field"},marks:xt(a$1(r,s))}}function z(e){let r=new Set,n=[[e,false]];for(;n.length>0;){let[o,i]=n.pop();if(Array.isArray(o))for(let s=o.length-1;s>=0;s--)n.push([o[s],i]);else if(o!==null&&typeof o=="object"){let s=o;if(o!==e&&(s.type==="complexField"||s.type==="simpleField")&&typeof s.instruction=="string"){let d=he(s.instruction);d!==void 0&&r.add(d);}if(s.type==="hyperlink"&&!i)for(let d of Q(o))r.add(d);let a=i||s.type==="hyperlink";for(let d of Object.keys(s).sort().reverse())n.push([s[d],a]);}}return [...r]}function Q(e){let r=[e],n=[],o=[],i=s=>{if(Array.isArray(s))for(let a=s.length-1;a>=0;a--)r.push(s[a]);};for(;r.length>0;){let s=r.pop();if(s){if((s.type==="simpleField"||s.type==="complexField")&&typeof s.instruction=="string"){let a=he(s.instruction);a!==void 0&&o.push(a);}switch(s.type){case "hyperlink":i(s.structuredChildren??s.children);break;case "inlineSdt":case "insertion":case "deletion":case "moveFrom":case "moveTo":i(s.content);break;case "simpleField":i(s.structuredResult?.inline??s.fieldTree?.result?.inline??s.content);break;case "complexField":i(s.structuredResult?.inline??s.fieldTree?.result?.inline??s.fieldResult),i(s.structuredCode?.inline??s.fieldTree?.code?.inline??s.fieldCode);break;case "run":if(!Array.isArray(s.content))break;for(let a of s.content){if(!a)continue;let d;if(a.type==="fieldChar")a.charType==="begin"?n.push(""):a.charType==="separate"&&n.length>0?(d=n[n.length-1],n[n.length-1]=void 0):a.charType==="end"&&(d=n.pop());else if(a.type==="instrText"){let c=n.length-1;n[c]!==void 0&&(n[c]+=typeof a.text=="string"?a.text:"");}let p=d===void 0?void 0:he(d);p!==void 0&&o.push(p);}break}}}return o}function he(e){let r=e.matchAll(/"([^"]*)(?:"|$)|([^\p{White_Space}]+)/gu),n=r.next().value,o=r.next().value,i=n?.[1]??n?.[2],s=o?.[1]??o?.[2];if(!(!i||!/^[sS][eE][qQ]$/.test(i)||s===void 0||s.startsWith("\\")))return s.toLowerCase()}function be(e){return {display:e.display,ommlXml:e.ommlXml,plainText:e.plainText||""}}function ir(e){return {name:"hyperlink",attrs:{href:e.href||(e.anchor?`#${e.anchor}`:""),tooltip:e.tooltip??null,rId:e.rId??null}}}function ar(e,r,n,o,i){let s=e.structuredResult?.inline??[],d=[...(e.type==="complexField"?e.structuredCode?.inline??[]:[]).map((h,R)=>({child:h,index:-R-1})),...s.map((h,R)=>({child:h,index:R}))];if(e.type!=="complexField"||!d.some(({child:h})=>h.type==="hyperlink"||h.type==="simpleField")){i.push(...z(e));let h=G(e,r);return [D("field",h.payload,h.marks)]}let p=[],c=[];d.forEach(({child:h,index:R})=>{if(h.type!=="hyperlink"&&h.type!=="simpleField")return;i.push(...h.type==="hyperlink"?Q(h):z(h));let b=h.type==="simpleField"?G(h,r):null,g=h.type==="hyperlink"?ie(h,r,n,i):[D("field",b.payload,b.marks)];c.push({index:R,items:g.map(S=>S.kind==="text"?{kind:"text",text:S.text,attributes:S.attrs}:{kind:"embed",embedKind:S.embedKind,payload:S.payload,attributes:S.attrs})});for(let S of g)S.attrs={...S.attrs,fieldResult:{id:o,index:R}};p.push(...g);});let u={...e,fieldResult:s.filter(h=>h.type==="run")},m=G(u,r);return i.push(...z(he(e.instruction??"")===void 0?u:e)),m.payload.fieldData=JSON.stringify(e),m.payload.resultProjection={id:o,children:c},p.push(D("field",m.payload,m.marks)),p}function St(e,r,n){let o={name:"footnoteRef",attrs:{id:String(e),noteType:r}},i=[...n,o];return D("noteRef",r==="endnote"?{endnoteRefId:e}:{footnoteRefId:e},i)}function Ye(e){return e.filter(r=>r.name==="insertion"||r.name==="deletion")}function Oe(e,r,n){if((e.type==="drawing"||e.type==="shape"||e.type==="chart")&&r.some(o=>o.name==="hidden")){let o=e.type==="drawing"?e.image:e.type==="shape"?e.shape:e.chart;n.push(...z(o));}switch(e.type){case "text":return e.text?[ne(e.text,r)]:[];case "tab":return [ne(" ",r)];case "break":return e.breakType===void 0||e.breakType==="textWrapping"?[D("break",{},r)]:[];case "softHyphen":return [ne("\xAD",r)];case "noBreakHyphen":return [ne("\u2011",r)];case "symbol":{let o=Number.parseInt(e.char,16);if(!Number.isInteger(o)||o<0||o>1114111)return [];let i={name:"fontFamily",attrs:{ascii:e.font||null,hAnsi:e.font||null,eastAsia:e.font||null,cs:e.font||null,asciiTheme:null,hAnsiTheme:null,eastAsiaTheme:null,csTheme:null}};return [ne(String.fromCodePoint(o),rr(r,i))]}case "commentReference":return [D("field",{fieldType:"COMMENT",instruction:"",displayText:"",fieldKind:"simple",fldLock:false,dirty:false,displayMode:"result",hasCachedResult:false,modelKind:"commentReference",...e.id!==void 0?{commentId:e.id}:{}})];case "drawing":return [D("image",nr(e.image),Ye(r))];case "horizontalRule":return [D("horizontalRule",{rule:e.rule},r)];case "shape":return [D("shape",or(e.shape),Ye(r))];case "chart":return [D("chart",sr(e.chart),Ye(r))];case "footnoteRef":return [St(e.id,"footnote",r)];case "endnoteRef":return [St(e.id,"endnote",r)];default:return []}}function se(e,r,n,o,i=[]){let s=[...Pt(e,r,n),...i];return e.content.flatMap(a=>Oe(a,s,o))}function ie(e,r,n,o,i=[]){let s=[],a=ir(e);for(let d of e.structuredChildren??e.children)if(d.type==="run"){let p=[...Pt(d,r,n),...i,a];for(let c of d.content)s.push(...Oe(c,p,o));}else if(d.type==="simpleField"||d.type==="complexField"){o.push(...z(d));let p=G(d,r);s.push(D("field",p.payload,[...p.marks,...i,a]));}else d.type==="mathEquation"?s.push(D("math",be(d),[...i,a])):d.type==="inlineSdt"&&(i.some(p=>p.name==="insertion"||p.name==="deletion")||b$4(d))&&s.push(D("sdt",Se(d,r,n,o),[...i,a],2));return s}function lr(e,r,n){return {name:r,attrs:{revisionId:e.id,author:e.author,date:e.date??null,isMovePair:n}}}function Ee(e,r,n,o,i=false){let s=e.type==="insertion"||e.type==="moveTo"?"insertion":"deletion",a=lr(e.info,s,e.type==="moveFrom"||e.type==="moveTo"),d=[];for(let p of e.content)if(p.type==="run")d.push(...se(p,r,n,o,[a]));else if(p.type==="hyperlink"){o.push(...Q(p));let c=ie(p,r,n,o,[a]);d.push(...c);}else if(i||p.type==="inlineSdt"||b$4(p)){let c=dr(p,r,n,o,i),u=Fe([a]);d.push(...c.map(m=>({...m,attrs:{...u,...m.attrs},marks:m.marks.some(h=>h.name===a.name)?m.marks:[...m.marks,a]})));}return d}function dr(e,r,n,o,i){if(e.type==="run")return se(e,r,n,o);if(e.type==="hyperlink")return o.push(...Q(e)),ie(e,r,n,o);if(e.type==="simpleField"||e.type==="complexField"){o.push(...z(e));let s=G(e,r);return [D("field",s.payload,s.marks)]}return e.type==="inlineSdt"?[D("sdt",Se(e,r,n,o),[],2)]:e.type==="mathEquation"?[D("math",be(e))]:Ee(e,r,n,o,i)}function Se(e$1,r,n,o){let i=[],s=a=>{if(a.kind==="text"){if((a.text===" "?"tab":"text")==="tab"){i.push({kind:"tab",attrs:a.attrs});return}let p=i[i.length-1];p&&"text"in p&&X(p.attrs)===X(a.attrs)?p.text+=a.text:i.push({kind:"text",text:a.text,attrs:a.attrs});return}i.push({kind:a.embedKind,payload:a.payload,attrs:a.attrs});};for(let a of e$1.content)if(a.type==="run")se(a,r,n,o).forEach(s);else if(a.type==="hyperlink")o.push(...Q(a)),ie(a,r,n,o).forEach(s);else if(a.type==="simpleField"||a.type==="complexField"){o.push(...z(a));let d=G(a,r);s(D("field",d.payload,d.marks));}else a.type==="inlineSdt"?s(D("sdt",Se(a,r,n,o))):a.type==="mathEquation"?s(D("math",be(a))):Ee(a,r,n,o,true).forEach(s);return N({...e(e$1.properties),propertiesJson:JSON.stringify(e$1.properties),content:i})}function ur(e,r,n){let o=r?r.resolveParagraphStyle(e.formatting?.styleId).runFormatting:void 0;return a$1(o,n)}function pr(e){let r=[];for(let n of e.content)n.type==="footnoteRefMark"?r.push("footnote"):n.type==="endnoteRefMark"&&r.push("endnote");return r}function wt(e){return e.map(r=>{if(r.kind==="text")return r.text;let n=r.payload.footnoteRefId??r.payload.endnoteRefId;return String(n??"")}).join("")}function Rt(e){return e.type!=="break"?null:e.breakType==="page"||e.breakType==="column"?e.breakType:null}function cr(e){if(!e.content.some(o=>Rt(o)!==null))return [];let r=[],n=0;for(let o of e.content){let i=Rt(o);if(i!==null){r.push({offset:n,type:i});continue}n+=wt(Oe(o,[],[])).length;}return r}function fr(e,r,n){let o=se(e,r,n,[]);if(o.some(p=>p.kind!=="text"&&p.embedKind!=="noteRef"))return null;let i=o.map(p=>tr(p.marks));if(i.some(p=>p!==i[0]))return null;let s=pr(e),a=cr(e),d=i[0];return {text:wt(o),...s.length>0?{noteMarks:s}:{},...a.length>0?{breaks:a}:{},...d!==void 0?{marksKey:d}:{},...e.formatting?{formatting:e.formatting}:{},...e.propertyChanges?{propertyChanges:e.propertyChanges}:{}}}function mr(e,r,n,o,i){let s=e.formatting,a=s?.styleId,d=s?.indentFirstLine===0?void 0:s?.indentFirstLine,p=d??e.listRendering?.indentFirstLine??s?.indentFirstLine,c=d===void 0&&e.listRendering?.indentFirstLine!==void 0?e.listRendering.hangingIndent:s?.hangingIndent??e.listRendering?.hangingIndent,u={paraId:e.paraId??null,textId:e.textId??null,styleId:a??null,numPr:s?.numPr??null,numPrFromStyle:s?.numPrFromStyle??null,listNumFmt:e.listRendering?.numFmt??null,listIsBullet:e.listRendering?.isBullet??null,listMarker:e.listRendering?.marker??null,listMarkerHidden:e.listRendering?.markerHidden||null,listMarkerFontFamily:e.listRendering?.markerFontFamily||null,listMarkerFontSize:e.listRendering?.markerFontSize||null,listMarkerBold:e.listRendering?.markerBold??null,listMarkerItalic:e.listRendering?.markerItalic??null,listMarkerColor:e.listRendering?.markerColor??null,listMarkerSuffix:e.listRendering?.markerSuffix||null,listLevelNumFmts:e.listRendering?.levelNumFmts||null,listAbstractNumId:e.listRendering?.abstractNumId??null,listStartOverride:e.listRendering?.startOverride??null,_originalFormatting:s??null};if(r){let b=r.resolveParagraphStyle(a,i),g=b.paragraphFormatting;u.alignment=s?.alignment??g?.alignment??null,u.spaceBefore=s?.spaceBefore??g?.spaceBefore??null,u.spaceAfter=s?.spaceAfter??g?.spaceAfter??null,u.spaceBeforeLines=s?.spaceBeforeLines??g?.spaceBeforeLines??null,u.spaceAfterLines=s?.spaceAfterLines??g?.spaceAfterLines??null,u.beforeAutospacing=s?.beforeAutospacing??g?.beforeAutospacing??null,u.afterAutospacing=s?.afterAutospacing??g?.afterAutospacing??null,u.lineSpacing=s?.lineSpacing??g?.lineSpacing??null,u.lineSpacingRule=s?.lineSpacingRule??g?.lineSpacingRule??null,u.spacingExplicit=s?.spacingExplicit||null,u.indentLeft=s?.indentLeft??e.listRendering?.indentLeft??g?.indentLeft??null,u.indentRight=s?.indentRight??g?.indentRight??null;let k=s?.numPr?.numId===0&&g?.numPr&&g.numPr.numId!==0?void 0:g;u.indentFirstLine=p??k?.indentFirstLine??null,u.hangingIndent=c??k?.hangingIndent??false,u.borders=s?.borders??g?.borders??null,u.shading=s?.shading??g?.shading??null,u.tabs=s?.tabs??g?.tabs??null,u.pageBreakBefore=s?.pageBreakBefore??g?.pageBreakBefore??null,u.keepNext=s?.keepNext??g?.keepNext??null,u.keepLines=s?.keepLines??g?.keepLines??null,u.widowControl=s?.widowControl??g?.widowControl??null,u.contextualSpacing=s?.contextualSpacing??g?.contextualSpacing??null,u.snapToGrid=s?.snapToGrid??g?.snapToGrid??null,u.autoSpaceDE=s?.autoSpaceDE??g?.autoSpaceDE??null,u.autoSpaceDN=s?.autoSpaceDN??g?.autoSpaceDN??null,u.outlineLevel=s?.outlineLevel??g?.outlineLevel??null,u.bidi=s?.bidi??g?.bidi??null;let I=r.getDefaultCharacterStyle()?.rPr,x=I?a$1(b.runFormatting,I):b.runFormatting;u.defaultTextFormatting=a$1(x,er(s?.runProperties,r))??null,!s?.numPr&&g?.numPr&&g.numPr.numId!==0&&(u.numPr=g.numPr,u.numPrFromStyle=g.numPr);}else u.alignment=s?.alignment??null,u.spaceBefore=s?.spaceBefore??null,u.spaceAfter=s?.spaceAfter??null,u.spaceBeforeLines=s?.spaceBeforeLines??null,u.spaceAfterLines=s?.spaceAfterLines??null,u.beforeAutospacing=s?.beforeAutospacing??null,u.afterAutospacing=s?.afterAutospacing??null,u.lineSpacing=s?.lineSpacing??null,u.lineSpacingRule=s?.lineSpacingRule??null,u.spacingExplicit=s?.spacingExplicit||null,u.indentLeft=s?.indentLeft??e.listRendering?.indentLeft??null,u.indentRight=s?.indentRight??null,u.indentFirstLine=p??null,u.hangingIndent=c??false,u.borders=s?.borders??null,u.shading=s?.shading??null,u.tabs=s?.tabs??null,u.pageBreakBefore=s?.pageBreakBefore??null,u.keepNext=s?.keepNext??null,u.keepLines=s?.keepLines??null,u.widowControl=s?.widowControl??null,u.snapToGrid=s?.snapToGrid??null,u.autoSpaceDE=s?.autoSpaceDE??null,u.autoSpaceDN=s?.autoSpaceDN??null,u.outlineLevel=s?.outlineLevel??null,u.bidi=s?.bidi??null,u.defaultTextFormatting=s?.runProperties??null;if(e.sectionProperties){u._sectionProperties=e.sectionProperties;let b=e.sectionProperties.sectionStart;(b==="nextPage"||b==="continuous"||b==="oddPage"||b==="evenPage"||b==="nextColumn")&&(u.sectionBreakType=b);}e.renderedPageBreakBefore&&(u.renderedPageBreakBefore=true),hr(e)&&(u.pageBreakBeforeRun=true),e.pPrIns&&(u.pPrIns={revisionId:e.pPrIns.id,author:e.pPrIns.author,date:e.pPrIns.date??null}),e.pPrDel&&(u.pPrDel={revisionId:e.pPrDel.id,author:e.pPrDel.author,date:e.pPrDel.date??null}),e.propertyChanges?.length&&(u.pPrChange=e.propertyChanges);let m=[],h=0,R=0;for(let b of e.content)if(b.type==="bookmarkStart")m.push({id:b.id,name:b.name,kind:"start",offset:R,...b.colFirst!==void 0?{colFirst:b.colFirst}:{},...b.colLast!==void 0?{colLast:b.colLast}:{}});else if(b.type==="bookmarkEnd")m.push({id:b.id,kind:"end",offset:R});else {let g=gr(b);for(let S=0;S<g;S+=1)R+=n[h]?.pmSize??0,h+=1;}return m.length>0&&(u.bookmarks=m),o?.length&&(u._originalRunBoundaries=o),u}var vt=new WeakMap;function gr(e){return vt.get(e)??0}function yr(e,r,n,o){let i=[],s=[],a=[],d=[],p=ur(e,r,n);for(let[u,m]of e.content.entries()){let h=i.length;if(m.type==="commentRangeStart"||m.type==="commentRangeEnd")a.push({unit:h,start:m.type==="commentRangeStart",id:m.id});else if(m.type==="run"){let R=fr(m,p,r);R&&d?d.push(R):d=void 0,i.push(...se(m,p,r,s));}else if(m.type==="hyperlink"){d=void 0,s.push(...Q(m));let R=ie(m,p,r,s);i.push(...R);}else m.type==="simpleField"||m.type==="complexField"?(d=void 0,i.push(...ar(m,p,r,u,s))):m.type==="inlineSdt"?(d=void 0,i.push(D("sdt",Se(m,p,r,s),[],2))):m.type==="insertion"||m.type==="deletion"||m.type==="moveFrom"||m.type==="moveTo"?(d=void 0,i.push(...Ee(m,p,r,s))):m.type==="mathEquation"?(d=void 0,i.push(D("math",be(m)))):m.type!=="bookmarkStart"&&m.type!=="bookmarkEnd"&&m.type!=="rawXml"&&(d=void 0);vt.set(m,i.length-h);}let c=mr(e,r,i,d,o);return {units:i,commentMarks:a,ppr:ut(c),opaqueSequences:s}}function oe(e,r){for(let n of e.content)n.type==="break"&&n.breakType==="page"?r.push("pageBreak"):(n.type!=="text"||n.text.length>0)&&r.push("visible");}function Me(e,r){for(let n of e)if(n.type==="run")oe(n,r);else if(n.type==="hyperlink")for(let o of n.children)o.type==="run"&&oe(o,r);else if(n.type==="simpleField")for(let o of n.content)o.type==="run"&&oe(o,r);else if(n.type==="complexField")for(let o of [...n.fieldCode,...n.fieldResult])oe(o,r);else if(n.type==="inlineSdt")Me(n.content,r);else if(n.type==="insertion"||n.type==="deletion"||n.type==="moveFrom"||n.type==="moveTo")for(let o of n.content)o.type==="run"&&oe(o,r);else n.type==="mathEquation"&&r.push("visible");}function hr(e){let r=[];return Me(e.content,r),r[0]==="pageBreak"}function br(e){let r=[];Me(e.content,r);let n=false,o=false;for(let i of r)if(i==="pageBreak"){if(o||n)return true;n=true;}else o=true;return false}function Sr(e){let r=new Map,n=new Map;return e.rows.forEach((o,i)=>{let s=0,a=o.cells.map(p=>{let c=s;return s+=p.formatting?.gridSpan??1,{column:c,vMerge:p.formatting?.vMerge,key:`${i}-${c}`}});if(a.length>0&&a.every(p=>p.vMerge==="continue"&&n.has(p.column))){for(let p of a)n.delete(p.column),r.set(p.key,{rowSpan:1,skip:false});return}for(let p of a)if(p.vMerge==="restart")n.set(p.column,i),r.set(p.key,{rowSpan:1,skip:false});else if(p.vMerge==="continue"){let c=n.get(p.column);if(c===void 0)r.set(p.key,{rowSpan:1,skip:false});else {let u=r.get(`${c}-${p.column}`);u&&(u.rowSpan+=1),r.set(p.key,{rowSpan:1,skip:true});}}else n.delete(p.column),r.set(p.key,{rowSpan:1,skip:false});}),r}function Ae(e){return {revisionId:e.id,author:e.author,date:e.date??null}}function Rr(e,r,n,o,i,s){let a=r?{top:n?r.top:r.insideH,bottom:o?r.bottom:r.insideH,left:i?r.left:r.insideV,right:s?r.right:r.insideV}:void 0;return a||e?.borders?{...a??{},...e?.borders??{}}:void 0}function kt(e,r){let n=e.formatting,o=b$5(n?.shading?.fill,r.theme),i=n?.width?.value??r.gridWidth,s=n?.width?.type??(r.gridWidth!==void 0?"pct":null),a={colspan:n?.gridSpan??1,rowspan:r.rowspan,width:i??null,widthType:s,verticalAlign:n?.verticalAlign??null,backgroundColor:o??null,borders:Rr(n,r.tableBorders,r.firstRow,r.lastRow,r.firstColumn,r.lastColumn)??null,margins:n?.margins?{top:n.margins.top?.value,bottom:n.margins.bottom?.value,left:n.margins.left?.value??(r.tableBidi?n.margins.end?.value:n.margins.start?.value),right:n.margins.right?.value??(r.tableBidi?n.margins.start?.value:n.margins.end?.value)}:r.defaultMargins??null,textDirection:n?.textDirection??null,noWrap:n?.noWrap??false,_originalFormatting:n??null,_originalResolvedFill:o??null};if(e.structuralChange){let d=e.structuralChange,p=Ae(d.info);d.type==="tableCellInsertion"?a.cellMarker={kind:"ins",info:p}:d.type==="tableCellDeletion"?a.cellMarker={kind:"del",info:p}:d.type==="tableCellMerge"&&(a.cellMarker={kind:"merge",info:p,vMerge:d.vMerge??"cont",...d.vMergeOrig?{vMergeOrig:d.vMergeOrig}:{}});}return e.propertyChanges?.length&&(a.tcPrChange=e.propertyChanges),{attrs:mt(a,r.isHeader),content:e.content.length>0?e.content:[{type:"paragraph",content:[]}]}}function kr(e,r,n,o,i,s,a,d,p){let c={height:e.formatting?.height?.value??null,heightRule:e.formatting?.heightRule??null,isHeader:!!e.formatting?.header,_originalFormatting:e.formatting??null};e.structuralChange&&(e.structuralChange.type==="tableRowInsertion"?c.trIns=Ae(e.structuralChange.info):e.structuralChange.type==="tableRowDeletion"&&(c.trDel=Ae(e.structuralChange.info))),e.propertyChanges?.length&&(c.trPrChange=e.propertyChanges);let u=r.columnWidths,m=u?.reduce((g,S)=>g+S,0)??0,h=u?.length??Math.max(0,...r.rows.map(g=>g.cells.reduce((S,k)=>S+(k.formatting?.gridSpan??1),0))),R=0,b=[];return e.cells.forEach(g=>{let S=g.formatting?.gridSpan??1,k=R,I=o.get(`${n}-${k}`),x;if(u&&m>0){let v=0;for(let C=0;C<S&&k+C<u.length;C+=1)v+=u[k+C];x=Math.round(v/m*100);}R+=S,!I?.skip&&b.push({paragraphFormatting:De(r,d,n,k,R,p),...kt(g,{isHeader:n===0&&!!r.formatting?.look?.firstRow,rowspan:I?.rowSpan??1,gridWidth:x,firstRow:n===0,lastRow:n===r.rows.length-1,firstColumn:k===0,lastColumn:R===h,tableBorders:i,defaultMargins:s,theme:a,tableBidi:!!r.formatting?.bidi})});}),b.length===0&&b.push({paragraphFormatting:De(r,d,n,0,h,p),...kt({formatting:h>1?{gridSpan:h}:void 0,content:[{type:"paragraph",content:[]}]},{isHeader:n===0&&!!r.formatting?.look?.firstRow,rowspan:1,gridWidth:m>0?100:void 0,firstRow:n===0,lastRow:n===r.rows.length-1,firstColumn:true,lastColumn:true,tableBorders:i,defaultMargins:s,theme:a,tableBidi:!!r.formatting?.bidi})}),{attrs:ft(c),cells:b}}function xr(e,r,n,o){let i=r?.getDefaultTableStyle(),s=e.formatting?.styleId,a=s??i?.styleId,d=a?r?.getStyle(a):void 0,p=e.formatting?.borders??d?.tblPr?.borders??i?.tblPr?.borders,c=[e.formatting?.cellMargins,d?.tblPr?.cellMargins??i?.tblPr?.cellMargins].filter(C=>C!=null),u=(...C)=>{for(let A of c)for(let J of C){let ae=A[J]?.value;if(ae!=null)return ae}},[m,h]=e.formatting?.bidi?["end","start"]:["start","end"],R=c.length>0?{top:u("top"),bottom:u("bottom"),left:u("left",m),right:u("right",h)}:void 0,b=[],g=new Set,S=d;for(;S?.basedOn&&b.length<32&&!g.has(S.basedOn);)g.add(S.basedOn),b.unshift(S.basedOn),S=r?.getStyle(S.basedOn);let k={...e.formatting??{},styleCascade:{...s?{selectedStyleId:s}:{},...i?.styleId?{defaultStyleId:i.styleId}:{},...b.length>0?{basedOnStyleIds:b}:{}}},I={styleId:s??null,width:e.formatting?.width?.value??null,widthType:e.formatting?.width?.type??null,justification:e.formatting?.justification??null,columnWidths:e.columnWidths??null,tableLayout:e.formatting?.layout??null,floating:e.formatting?.floating??null,cellMargins:R??null,look:e.formatting?.look??null,bidi:e.formatting?.bidi||null,compatibilityMode:o===12?null:o,_originalFormatting:k};e.propertyChanges?.length&&(I.tblPrChange=e.propertyChanges);let x=Sr(e),v=dt(e);return {attrs:I,rows:e.rows.map((C,A)=>kr(C,e,A,x,p,R,n,d??i,v))}}function Pr(e$1){return yt(e(e$1))}function wr(e){let r=(s,a,d)=>{if(d<=a)return;let p=e.commentCoverage.get(s),c=p[p.length-1];c&&c[1]===a?c[1]=d:p.push([a,d]);},n=[],o=0,i=0;for(let s=0;s<=e.units.length;s+=1){for(;e.commentMarks[i]?.unit===s;){let d=e.commentMarks[i++];if(d.start){if(n.some(p=>p.id===d.id))continue;e.commentCoverage.has(d.id)||e.commentCoverage.set(d.id,[]),n.push({id:d.id,start:o});}else {let p=n.findIndex(c=>c.id===d.id);if(p!==-1){let[c]=n.splice(p,1);r(c.id,c.start,o);}}}let a=e.units[s];if(a){if(a.kind==="embed"&&a.embedKind==="pilcrow")for(let d of n)d.paragraphEnd??(d.paragraphEnd=o);o+=a.kind==="text"?a.text.length:1;}}for(let s of n)r(s.id,s.start,s.paragraphEnd??o);for(let[s,a]of e.commentCoverage)a.length===0&&e.commentCoverage.delete(s);}function Ne(e,r,n){if(d$2(n))return null;if(n.type==="paragraph"){let o=e.paragraph++;return !n.repeatedParaId&&n.paraId||`${r}:p${o}`}return n.type==="table"?`${r}:t${e.table++}`:gt(r,e.sdt++)}function vr(e){return /^\d+$/.test(e.trim())}function Cr(e){let r=e.structuredResult?.blocks??[],n=r[r.length-1];return !n||n.type!=="paragraph"||(n.content?.length??0)>0?null:r.length}function Tr(e,r,n,o,i,s){for(let a of e){if(a.kind!=="embed"||a.embedKind!=="field")continue;let d=a.payload.instruction;if(typeof d!="string"||!vr(d))continue;let p=a.payload.fieldData;if(typeof p!="string")continue;let c;try{c=JSON.parse(p);}catch{continue}let u=Cr(c);if(u===null||o+1+u>n.length)continue;let m={...i},h=[];for(let R=0;R<u;R+=1){let b=n[o+1+R],g=Ne(m,r,b);g!==null&&(b.type==="table"&&s.set(o+1+R,g),h.push(g));}h.length>0&&(a.payload.fieldResultBlocks=h);}}function Ir(e){return !d$2(e)&&e.type==="paragraph"&&(e.content?.some(r=>r.type==="run"&&r.content.some(n=>n.type==="fieldChar"&&n.charType==="separate"))??false)}function Dr(e,r,n,o,i){for(let s of e){if(s.kind!=="embed"||s.embedKind!=="field")continue;let a=s.payload.fieldData;if(typeof a!="string"||!a.includes('"blocks"'))continue;let d;try{d=JSON.parse(a);}catch{continue}if(!d||typeof d!="object")continue;let p=d.structuredCode?.blocks,c=d.structuredResult?.blocks,u=Array.isArray(p)?p.length:0,m=Array.isArray(c)&&c.length>0,h;if(u===0){let k=n[o+1];if(!m||!k||!Ir(k))continue;h=0;}else h=m?u:u-1;if(o+1+h+1>n.length)continue;let R=n.slice(o+1,o+1+h+1);if(R.some(k=>d$2(k)||k.type!=="paragraph"))continue;let b={...i},g=[];for(let k of R){let I=Ne(b,r,k);I!==null&&g.push(I);}let S=g.pop();S!==void 0&&(s.payload.fieldCodeMarks=g,s.payload.fieldCodeTarget=S);}}function V(e,r,n,o){let i={storyId:r,units:[],commentMarks:[],commentCoverage:new Map};e.plans.push(i);let s=n.length>0,a=s?[...n]:[{type:"paragraph",content:[]}],d={paragraph:0,table:0,sdt:0},p=new Map,c=null;for(let[u,m]of a.entries()){if(d$2(m))continue;let h=d.table,R=Ne(d,r,m);if(R===null)continue;if(m.type==="paragraph"){let g=yr(m,e.styleResolver,o.extraRunFormatting,o.tableParagraphFormatting);e.opaqueSequences.push(...g.opaqueSequences),Tr(g.units,r,a,u,d,p),Dr(g.units,r,a,u,d);let S=i.units.length;i.commentMarks.push(...g.commentMarks.map(k=>({...k,unit:S+k.unit}))),i.units.push(...g.units),i.units.push(D("pilcrow",{...g.ppr,...s&&m.paraId?{sourceParaId:m.paraId}:{},...s?{}:{paraOrigin:"synthetic"},paraId:R})),o.includePageBreaks&&br(m)&&i.units.push(D("pageBreak",{})),c="paragraph";continue}if(m.type==="table"){let g=xr(m,e.styleResolver,e.theme,e.compatibilityMode),S=g.rows.map((I,x)=>({trPr:I.attrs,cells:I.cells.map((v,C)=>({tcPr:v.attrs,story:_e(r,h,x,C)}))})),k=p.get(u);i.units.push(D("table",{tblPr:pt(g.attrs),grid:ct(g.attrs),rows:S,...k===void 0?{}:{blockId:k}})),g.rows.forEach((I,x)=>{I.cells.forEach((v,C)=>{V(e,_e(r,h,x,C),v.content,{includePageBreaks:false,appendBodyTail:false,seedComments:o.seedComments,extraRunFormatting:v.extraRunFormatting,tableParagraphFormatting:v.paragraphFormatting});});}),c="table";continue}let b=R;i.units.push(D("blockSdt",{...Pr(m.properties),story:b})),V(e,b,m.content,{includePageBreaks:o.includePageBreaks,appendBodyTail:false,seedComments:o.seedComments,tableParagraphFormatting:o.tableParagraphFormatting}),c="blockSdt";}o.appendBodyTail&&(c==="table"||c==="blockSdt")&&i.units.push(D("pilcrow",{hangingIndent:false,paraId:`${r}:p${d.paragraph}`,paraOrigin:"synthetic"})),o.seedComments&&wr(i);}function _r(e){let r=[{op:"delete",index:0,len:1}],n=0,o="",i={},s=X(i),a=()=>{o&&(r.push({op:"insert",index:n,text:o,attrs:i}),n+=o.length,o="");};for(let d of e)if(d.kind==="text"){let p=X(d.attrs);o&&p!==s&&a(),i=d.attrs,s=p,o+=d.text;}else a(),r.push({op:"insertEmbed",index:n,kind:d.embedKind,payload:d.payload,attrs:d.attrs}),n+=1;return a(),r}function Yr(e,r){let n=_r(r.units);for(let[o,i]of r.commentCoverage)n.push({op:"setComment",id:String(o),ranges:i,author:"",date:"",body:null});e.applySeedRawOps(r.storyId,n);}function Ar(e,r,n={}){h(e,"all");let o={styleResolver:r.package.styles?d(r.package.styles):null,theme:r.package.theme??null,plans:[],compatibilityMode:Qt(r),opaqueSequences:[]};V(o,"body",r.package.document.content,{includePageBreaks:true,appendBodyTail:true,seedComments:true});for(let[i,s]of r.package.headers??[])V(o,ye(i),s.content,{includePageBreaks:false,appendBodyTail:false,seedComments:true});for(let[i,s]of r.package.footers??[])o.plans.some(a=>a.storyId===ye(i))||V(o,ye(i),s.content,{includePageBreaks:false,appendBodyTail:false,seedComments:true});for(let i of r.package.footnotes??[])V(o,ht(i.id),i.content,{includePageBreaks:false,appendBodyTail:false,seedComments:true});for(let i of r.package.endnotes??[])V(o,bt(i.id),i.content,{includePageBreaks:false,appendBodyTail:false,seedComments:true});for(let i of o.plans)e.createStory(i.storyId,"","Normal","left");for(let i of o.plans)Yr(e,i);e.seedOpaqueSequences(o.opaqueSequences),e.beginOpening(n.generation);}function Fr(e){let r=e.package;return [r.document.content,...[...r.headers?.values()??[]].map(n=>n.content),...[...r.footers?.values()??[]].map(n=>n.content),...(r.footnotes??[]).map(n=>n.content),...(r.endnotes??[]).map(n=>n.content)]}var Or="word/comments.xml";function Ct(e){if(Array.isArray(e)&&e.length>0&&e.every(n=>n?.type==="paragraph"))return e;let r=typeof e=="string"?e:"";return [{type:"paragraph",formatting:{},content:r?[{type:"run",formatting:{},content:[{type:"text",text:r}]}]:[]}]}function Er(e,r){let n=r.package.document.comments??[],o=new Map(e.listComments().map(c=>[c.id,c])),i=false,s=n.map(c=>{let u=o.get(String(c.id));return o.delete(String(c.id)),!u||!u.author&&!u.date&&u.body==null?c:(i=true,{...c,...u.author?{author:u.author}:{},...u.date?{date:u.date}:{},...u.body==null?{}:{content:Ct(u.body)}})}),a=new Set(n.map(c=>c.id)),d=new Map,p=Math.max(0,...a)+1;for(let c of o.values()){i=true;let u=/^\d+$/.test(c.id)?Number(c.id):Number.NaN;if(!Number.isSafeInteger(u)||a.has(u)){for(;a.has(p);)p+=1;u=p;}a.add(u),String(u)!==c.id&&d.set(u,c.id),s.push({id:u,author:c.author,...c.date?{date:c.date}:{},content:Ct(c.body)});}return {comments:s,sessionIds:d,changed:i}}function Mr(e,r){let n=new Map(r.paragraphs.flatMap(s=>s.session?[[s.session.paraId,s]]:[])),o=[],i=s=>{for(let a of s)if(a.type==="table")for(let d of a.rows)for(let p of d.cells)i(p.content);else if(a.type==="blockSdt")i(a.content);else if(a.type==="paragraph"&&a.paraId){let d=f(a),p=d===void 0?void 0:n.get(d);if(!p?.session||!p.persisted)continue;o.push({session:p.session,persisted:{...p.persisted,paraId:a.paraId}});}};for(let s of Fr(e))i(s);return o}function Be(e,r){let n=[],o=false;for(let i of e){let s=i;if(i.type==="paragraph")s=r(i);else if(i.type==="table"){let a=i.rows.map(d=>{let p=d.cells.map(c=>{let u=Be(c.content,r);return u===c.content?c:{...c,content:u}});return p.every((c,u)=>c===d.cells[u])?d:{...d,cells:p}});a.some((d,p)=>d!==i.rows[p])&&(s={...i,rows:a});}else if(i.type==="blockSdt"){let a=Be(i.content,r);a!==i.content&&(s={...i,content:a});}o||(o=s!==i),s&&n.push(s);}return o?n:e}function Tt(e,r){let n=s=>{let a=Be(s.content,r);return a===s.content?s:{...s,content:a}},o=e.package,i=s=>s&&new Map([...s].map(([a,d])=>[a,n(d)]));return {...e,package:{...o,document:n(o.document),headers:i(o.headers),footers:i(o.footers),footnotes:o.footnotes?.map(n),endnotes:o.endnotes?.map(n)}}}function Nr(e,r){let n=new Set(r.paragraphs.flatMap(({origin:o,session:i})=>o==="synthetic"&&i?[i.paraId]:[]));return n.size===0?e:Tt(e,o=>{let i=f(o);return o.content.length===0&&i!==void 0&&n.has(i)?null:o})}function Br(e,r){let n=new Map(r.flatMap(({paragraphs:o})=>o.map(([i,s])=>[s,i])));return n.size===0?e:Tt(e,o=>{let i=f(o),s=i===void 0?void 0:n.get(i);return s===void 0||o.sourceOrdinal===s?o:{...o,sourceOrdinal:s}})}function It(e){return {identities:e.paragraphIdentities(),plan:e.paragraphSavePlan()}}async function Dt(e,r,n,o,i={},s=()=>true,a=false,d=s){let p=(n.plan.splicedParts??[]).filter(({part:x})=>d(x)),c={assignments:n.plan.assignments,patchedParts:n.plan.patchedParts.filter(({part:x})=>s(x)),...p.length===0?{}:{splicedParts:p.map(({part:x,sha256:v,paragraphs:C,changed:A})=>({part:x,sha256:v,paragraphs:C.map(([J])=>J),changed:A}))}},u=Nr(r,n.identities),m=Mr(u,n.identities),{buffer:h}=await d$1(Br(u,p),o,i,void 0,void 0,c,a),R=new Uint8Array(h),b=e.writtenParagraphIds(R),g=(x,v)=>b[x]?.includes(v.toUpperCase())??false,S=m.filter(({persisted:x})=>g(x.story.partUri,x.paraId)),k=new Set(e.recordSavedParagraphIds([...S.map(({session:x,persisted:v})=>[x.paraId,v.paraId]),...c.assignments.filter(({part:x,paraId:v})=>g(`/${x}`,v)).map(({part:x,ordinal:v,paraId:C})=>[`/${x}#${v}`,C])]).map(([x,v])=>`${x}\0${v}`)),I=({session:x,persisted:v})=>k.has(`${x.paraId}\0${v.paraId}`);return {bytes:R,paragraphs:S.filter(x=>!I(x)),conflicts:S.filter(I)}}async function Wr(e,r={}){let n=e.materializeDocx();if(!n?.originalBuffer)throw new Error("saveYrsDocx requires a session opened from DOCX bytes");let o=It(e),i$1=Er(e,n),s=i(e,i$1.changed?{...n,package:{...n.package,document:{...n.package.document,comments:i$1.comments}}}:n,{commentIds:i$1.sessionIds});return Dt(e,s,o,n.originalBuffer,r,a=>!i$1.changed||a!==Or)}var Le=new WeakMap;async function qn(e){let r=new Uint8Array(e),n=globalThis.crypto?.subtle;if(!n)return r;try{let o=new Uint8Array(await n.digest("SHA-256",r));Le.set(r,Array.from(o,i=>i.toString(16).padStart(2,"0")).join(""));}catch{}return r}function Vn(e){return Le.get(e)}function zn(e,r){return !e||!r?e===r:e.anchor.story===r.anchor.story&&e.anchor.paraId===r.anchor.paraId&&e.anchor.offset===r.anchor.offset&&e.head.story===r.head.story&&e.head.paraId===r.head.paraId&&e.head.offset===r.head.offset}function Jr(){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 _t(e){return JSON.stringify("revisionId"in e?{revisionId:e.revisionId}:{story:e.story,startPara:e.start.paraId,startOffset:e.start.offset,endPara:e.end.paraId,endOffset:e.end.offset})}function Yt(e){return JSON.stringify(e.map(r=>({story:r.story,startPara:r.start.paraId,startOffset:r.start.offset,endPara:r.end.paraId,endOffset:r.end.offset})))}function At(e){return e.kind==="search"?e.within.story:e.story}function We(e){return e.buffer instanceof ArrayBuffer&&e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer}function $n(e,r){return Je(e,r)}function Je(e,r){let n=JSON.parse(e);if(typeof n!="object"||n===null||Array.isArray(n))throw new TypeError("DOCX host metadata must be an object");let o=n;if(!Array.isArray(o.referencedFonts)||!o.referencedFonts.every(a=>typeof a=="string"))throw new TypeError("DOCX host referencedFonts must be a string array");let i=o.unusedScriptFonts??[];if(!Array.isArray(i)||!i.every(a=>typeof a=="string"))throw new TypeError("DOCX host unusedScriptFonts must be a string array");let s=c(o.envelope,We(r));return {document:s.document,referencedFonts:o.referencedFonts,unusedScriptFonts:i,...o.wholeBody===true?{wholeBody:true}:{},embeddedFonts:s.embeddedFonts,...s.fontTableRelationshipsXml===void 0?{}:{fontTableRelationshipsXml:s.fontTableRelationshipsXml}}}var Lr=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/;function Ur(e,r){let n=new Map,o=[],i=false,s=false,a$1=0,d=0,p=false,c=false,u,m=null,h$1=[],R=new Map,b=new Map,g=null,S=false,k=0,I=false,x=null,v=t=>(t.layoutJson!==void 0&&x!==null&&(g=x,S=true,k+=1,I=false,x=null),t),C=0,A=null,J=null,ae=()=>{u=void 0,m=null;},Ue=()=>{if(!(s||p||d!==0)){p=true;try{for(;!s&&o.length>0;){let t=o.shift();if(!t)break;for(let[l,f]of [...n]){if(s)return;if(n.get(l)===f)try{f(t.update.slice(),t.origin);}catch{}}}}finally{p=false,s&&(o.length=0);}}},le=false,Z=false,y=t=>{if(le)throw new Error("A document preview is display-only");return je(t)},je=t=>{ae(),d+=1;try{return t()}finally{d-=1,d===0&&Ue();}},He=t=>t?{anchor:{...t.anchor},head:{...t.head}}:null,P=t=>{c||(e.track_undo(),c=true),t!==void 0&&(e.select_story(t),w(t));},w=t=>{h(B,t);},F=t=>(w(t.createdStoryIds),w(t.deletedStoryIds),w(t.changedStoryIds),t),de=()=>(u!==void 0?u:JSON.parse(e.selection()))?.head.story??"all",Ft=()=>{i||(e.set_update_observer((t,l)=>{l!==0&&l!==1||(o.push({update:t.slice(),origin:l===0?"local":"remote"}),Ue());}),i=true);},Ot=()=>{!i||n.size>0||s||(o.length=0,e.clear_update_observer(),i=false);},Re=new Map,qe=0,ke=()=>{Re.clear(),qe+=1;},Ve=(t,l,f={})=>{let T=t.slice();w("all"),ke();let W=y(()=>{e.set_media_tokens(f.mediaTokens===true);let j=e.open_docx(T,l,f.generation,Le.get(t));return M.reset(),j}),$=$e(Je(W,T));return A=T,J=ve($.document),Z=false,$},ze=t=>{if(s||!t.startsWith("media:"))return null;let l=Re.get(t);return l===void 0&&(l=e.media_data_url(t)??null,Re.set(t,l)),l},$e=t=>(a(t.document.package.document.comments,ze),t),ue=null,M=d$3({version:()=>e.version(),resolveParagraphAnchor:t=>B.resolveParagraphAnchor(t),findText:t=>B.findText(t),readParagraphs:t=>B.readParagraphs(t),applyEdits:t=>B.applyEdits(t),listRevisions:()=>B.listRevisions(),revisionStamps:t=>JSON.parse(e.revision_stamps_json(JSON.stringify(t))),settleRevisions:(t,l)=>{let f=B.storiesChangedSince(Number.MAX_SAFE_INTEGER).revision;e.settle_revisions_json(JSON.stringify({accept:t,reject:l})),w(B.storiesChangedSince(f).stories);},...typeof e.begin_shared_reads=="function"&&typeof e.end_shared_reads=="function"?{sharedReads:t=>{e.begin_shared_reads();try{return t()}finally{e.end_shared_reads();}}}:{}}),B={clientId:r,openDocxPreview:(t,l)=>{w("all"),ke();let f=je(()=>e.open_docx_preview(t,l));return f===void 0?null:(le=true,Z=true,$e(Je(f,t)))},isDisplayOnly:()=>le,markDisplayOnly:()=>{le=true,Z=true;},setPartialDocument:t=>{Z=t,e.set_partial_document(t);},layoutDocumentWithRegionsPrefixRetainedJson:(t,l)=>{let f=e.layout_document_with_regions_prefix_retained_json(t,l);return g=t,S=true,k+=1,I=false,f},registerFont:t=>{let l=e.register_measure_font(t);return h$1.push(t.slice()),C+=1,l},registerSubstituteFont:(t,l)=>{let f=e.register_substitute_measure_font(t,l);return f===t||(h$1.push({substituteOf:t,family:l}),C+=1),f},clearFonts:()=>{e.clear_measure_fonts(),h$1.length=0,b.clear(),C+=1;},measureParagraphJson:t=>{let l=e.measure_paragraph_json(t);return b.set(t,t),l},layoutDocumentJson:t=>{let l=e.layout_document_json(t);return g=t,S=false,k+=1,I=false,l},layoutFontRequirementsJson:t=>e.layout_font_requirements_json(t),layoutDocumentWithRegionsJson:t=>{let l=e.layout_document_with_regions_json(t);return g=t,S=true,k+=1,I=false,l},layoutDocumentWithRegionsRetainedJson:t=>{let l=e.layout_document_with_regions_retained_json(t);return g=t,S=true,k+=1,I=false,l},beginRegionLayout:t=>(x=t,v(JSON.parse(e.begin_region_layout(t)))),resumeRegionLayout:t=>v(JSON.parse(e.resume_region_layout(t))),adoptResidentWorkerLayout:t=>(g=t,S=true,k+=1,I=true,k),residentLayoutInWorker:()=>I,retainedKernelInputsJson:t=>{if(I)throw new Error("the retained layout was computed in the resident worker");if(t!==k)throw new Error(`retained layout revision mismatch: expected ${t}, current ${k}`);return e.retained_kernel_inputs_json()},buildDisplayListJson:t=>e.build_display_list_json(t),resetFrameBase:()=>{s||e.reset_frame_base();},buildDisplayListFrame:(t,l)=>e.build_display_list_frame(t,l),setDisplayWindow:(t,l)=>e.set_display_window(t,l),setDisplayRetainBuiltPages:t=>e.set_display_retain_built_pages(t),setWindowedIncrementalBuilds:t=>e.set_windowed_incremental_builds(t),buildDisplayPagesFrame:(t,l)=>e.build_display_pages_frame(Uint32Array.from(t),l),releaseDisplayPagesFrame:(t,l)=>{let f=e.release_display_pages_frame(Uint32Array.from(t),l);return f.length===0?null:f},residentCaretSnapshot:()=>JSON.parse(e.resident_caret_snapshot_json()),applyInput:(t,l)=>(P(),w(de()),y(()=>e.apply_input(t,l))),applyDelete:(t,l,f=1)=>(P(),w(de()),y(()=>e.apply_delete(t,l,f))),residentDeletedUnits:()=>e.resident_deleted_units(),applyInputProfiled:(t,l)=>{P(),w(de());let f=y(()=>e.apply_input_profiled(t,l)),T=JSON.parse(e.apply_input_profile_json());return {frame:f,profile:T}},applyDeleteProfiled:(t,l,f=1)=>{P(),w(de());let T=y(()=>e.apply_delete_profiled(t,l,f)),W=JSON.parse(e.apply_input_profile_json());return {frame:T,profile:W}},residentWorkerSnapshot:t=>{if(!g||!S&&R.size===0)return null;let l=ue!==null,f=l?"null":e.selection(),T=l?void 0:e.media_sources_json(),W=t?.knownFontsRevision===C,$=null;if(!l&&t?.knownStateVector)try{$=e.encode_diff(t.knownStateVector.slice());}catch{$=null;}return {clientId:r,...l?{workerAuthoritative:true}:{},state:l?new Uint8Array(0):$??e.encode_state(),selection:JSON.parse(f),fonts:W?[]:h$1.map(j=>j instanceof Uint8Array?j.slice():{...j}),fontsRevision:C,renderInputs:[...R].map(([j,Et])=>({story:j,env:structuredClone(Et)})),measureInputs:[...b.values()],layoutInput:g,layoutWithRegions:S,layoutRevision:k,...Z?{partialDocument:true}:{},...T?{mediaSources:T}:{}}},residentWorkerProbe:()=>!g||!S&&R.size===0?null:{layoutRevision:k},displayHitTestRegionsJson:(t,l,f)=>e.display_hit_test_regions_json(t,l,f),displayVerticalMoveJson:(t,l,f)=>e.display_vertical_move_json(t,l,f),displayRangeRectsJson:(t,l)=>e.display_range_rects_json(t,l),displayRangeRectsRegionJson:(t,l,f,T)=>e.display_range_rects_region_json(t,l,f,T),outlineGlyphJson:(t,l)=>e.outline_glyph_json(t,l),loadState:t=>{w("all"),y(()=>{e.load(t),M.reset();});},seedFromDocx:(t,l)=>Ve(t,true,l),openDocx:Ve,beginOpening:t=>{y(()=>{e.begin_opening(t),M.reset();});},seedOpaqueSequences:t=>{w("all"),y(()=>e.seed_opaque_sequences(JSON.stringify(t)));},mediaSource:t=>{if(s||!t.startsWith("media:"))return null;let l=e.media_bytes(t),f=l&&e.media_type(t);return l&&f?{bytes:l,mimeType:f}:null},loadMediaSources:t=>e.load_media_sources(t),mediaDataUrl:ze,mediaScope:()=>qe,materializeDocx:()=>{let t=A,l=e.materialize_docx();return !t||l===void 0?null:b$2(l,We(t)).document},loadStories:t=>(w(t.map(l=>l.storyId)),y(()=>JSON.parse(e.load_json(JSON.stringify(t))))),encodeState:()=>e.encode_state(),encodeStateVector:()=>e.encode_state_vector(),encodeStateAsUpdate:t=>t===void 0?e.encode_state():e.encode_diff(t.slice()),applyUpdate:t=>(w("all"),y(()=>JSON.parse(e.apply_update_with_inference(t)))),applyLocalUpdate:t=>{P(),w("all"),y(()=>e.apply_local_update(t));},applyHostUpdate:(t,l)=>{w(l??"all"),y(()=>e.apply_host_update(t));},onUpdate:t=>{if(s)throw new Error("yrs session is destroyed");if(typeof t!="function")throw new TypeError("update listener must be a function");let l=a$1++;n.set(l,t),Ft();let f=true;return ()=>{f&&(f=false,n.delete(l),Ot());}},encodeStickyPosition:t=>({story:t.story,encoded:e.encode_sticky_position(t.story,t.paraId,t.offset)}),resolveStickyPosition:t=>{try{return JSON.parse(e.resolve_sticky_position(t.story,t.encoded))}catch{return null}},setSelection:(t,l=t)=>{if(t.story!==l.story)throw new Error("yrs selection must stay inside one story");e.set_selection(t.story,t.paraId,t.offset,l.paraId,l.offset),u={anchor:{...t},head:{...l}};},selection:()=>(u!==void 0||(u=JSON.parse(e.selection())),He(u)),encodeSelection:()=>{let t=JSON.parse(e.encoded_selection());return t?{story:t.story,anchor:Uint8Array.from(t.anchor),head:Uint8Array.from(t.head)}:null},resolveSelection:t=>{try{return JSON.parse(e.resolve_encoded_selection(t.story,t.anchor,t.head))}catch{return null}},setCellSelection:t=>e.set_cell_selection(JSON.stringify(t)),cellSelection:()=>JSON.parse(e.cell_selection()),beginUndoCapture:P,addUndoBoundary:()=>e.add_undo_boundary(),setUndoCaptureMode:t=>e.set_undo_capture_mode(t),undoCaptureMode:()=>e.undo_capture_mode(),historyStories:()=>e.history_stories(),undo:()=>y(()=>{let t=e.undo();return t&&w(e.history_stories()),t}),redo:()=>y(()=>{let t=e.redo();return t&&w(e.history_stories()),t}),canUndo:()=>e.can_undo(),canRedo:()=>e.can_redo(),createStory:(t,l,f="Normal",T="left")=>(w(t),y(()=>JSON.parse(e.create_story(t,l,f,T)))),deleteStory:t=>(w(t),y(()=>e.delete_story(t))),insertTable:(t,l,f,T)=>(P(t.story),y(()=>F(JSON.parse(e.insert_table(t.story,t.paraId,t.offset,l,f,T?.name,T?.date))))),insertRow:(t,l,f)=>(P(t.story),y(()=>F(JSON.parse(e.insert_row(JSON.stringify(t),l==="below",f?.name,f?.date))))),insertColumn:(t,l)=>(P(t.story),y(()=>F(JSON.parse(e.insert_column(JSON.stringify(t),l==="right"))))),deleteRow:(t,l)=>(P(t.anchor.story),y(()=>F(JSON.parse(e.delete_row(JSON.stringify(t),l?.name,l?.date))))),deleteColumn:t=>(P(t.anchor.story),y(()=>F(JSON.parse(e.delete_column(JSON.stringify(t)))))),deleteTable:t=>(P(t.story),y(()=>F(JSON.parse(e.delete_table(JSON.stringify(t)))))),mergeCells:t=>(P(t.anchor.story),y(()=>F(JSON.parse(e.merge_cells(JSON.stringify(t)))))),splitCell:(t,l,f)=>(P(t.story),y(()=>F(JSON.parse(e.split_cell(JSON.stringify(t),l,f))))),setCellShading:(t,l)=>(P(t.anchor.story),y(()=>F(JSON.parse(e.set_cell_shading(JSON.stringify(t),l??void 0))))),setCellTextFormat:(t,l)=>(P(t.anchor.story),y(()=>F(JSON.parse(e.set_cell_text_format(JSON.stringify(t),JSON.stringify(l)))))),setCellBorders:(t,l)=>(P(t.anchor.story),y(()=>F(JSON.parse(e.set_cell_borders(JSON.stringify(t),JSON.stringify(l)))))),setColumnWidth:(t,l)=>(P(t.story),y(()=>F(JSON.parse(e.set_column_width(JSON.stringify(t),l))))),setTableWidth:(t,l)=>(P(t.story),y(()=>F(JSON.parse(e.set_table_width(JSON.stringify(t),l))))),insertText:(t,l,f)=>(P(t.story),y(()=>JSON.parse(e.insert_text(t.story,t.paraId,t.offset,l,f?.name,f?.date)))),deleteRange:(t,l)=>(P(t.story),y(()=>JSON.parse(e.delete_range(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset,l?.name,l?.date)))),replaceRange:(t,l,f)=>(P(t.story),y(()=>JSON.parse(e.replace_range(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset,l,f?.name,f?.date)))),splitParagraph:(t,l)=>(P(t.story),y(()=>JSON.parse(e.split_paragraph(t.story,t.paraId,t.offset,l?.name,l?.date)))),mergeParagraphs:(t,l,f)=>(P(t),y(()=>JSON.parse(e.merge_paragraphs(t,l,f?.name,f?.date)))),toggleMark:(t,l)=>{P(t.story),y(()=>e.toggle_mark(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset,JSON.stringify(l)));},formatRange:(t,l)=>{P(t.story),y(()=>e.format_range(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset,JSON.stringify(l)));},setHyperlink:(t,l)=>{P(t.story),y(()=>e.set_hyperlink(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset,JSON.stringify(l)));},clearFormatting:t=>{P(t.story),y(()=>e.clear_formatting(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset));},applyParagraphStyle:(t,l,f)=>{P(t.story),y(()=>e.apply_paragraph_style(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset,l,f?.name,f?.date));},setParagraphAttrs:(t,l,f)=>{P(t.story),y(()=>e.set_paragraph_attrs(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset,JSON.stringify(l),f?.name,f?.date));},insertImage:(t,l,f)=>(P(t.story),y(()=>JSON.parse(e.insert_image(t.story,t.paraId,t.offset,JSON.stringify(l),f?.name,f?.date)))),setContentControlValue:(t,l)=>{P(),w("all"),y(()=>e.set_content_control_value(t,JSON.stringify(l)));},setContentControlValueAt:(t,l)=>{P(t.story),typeof l=="string"&&w("all"),y(()=>e.set_content_control_value_at(t.story,t.paraId,t.offset,JSON.stringify(l)));},clearContentControlValue:t=>{P(),w("all"),y(()=>e.clear_content_control_value(t));},setImageGeometry:(t,l)=>{P(),w("all"),y(()=>e.set_image_geometry(t,JSON.stringify(l)));},setImageGeometryAt:(t,l)=>{P(t.story),y(()=>e.set_image_geometry_at(t.story,t.paraId,t.offset,JSON.stringify(l)));},insertPageBreak:t=>{P(t.story),y(()=>e.insert_page_break(t.story,t.paraId,t.offset));},insertSectionBreak:(t,l)=>{P(t.story),y(()=>e.insert_section_break(t.story,t.paraId,t.offset,l));},insertWatermark:(t,l)=>{P(t.story),y(()=>e.insert_watermark(t.story,t.paraId,t.offset,JSON.stringify(l)));},applyRawOps:(t,l)=>{let f=l.some(T=>T.op==="insertEmbed"&&T.kind==="pilcrow"||T.op==="setEmbedAttr"&&T.key==="paraId");w(f?"all":t),y(()=>e.apply_raw_ops(t,JSON.stringify(l)));},applySeedRawOps:(t,l)=>{w(t),y(()=>e.apply_seed_raw_ops(t,JSON.stringify(l)));},setParagraphAttr:(t,l,f)=>{w("all"),y(()=>e.set_paragraph_attr(t,l,JSON.stringify(f??null)));},addComment:(t,l,f,T)=>(w(t.map(W=>W.story)),y(()=>JSON.parse(e.add_comment(Yt(t),l,f,JSON.stringify(T??null))))),setCommentRanges:(t,l)=>{P(),y(()=>{e.set_comment_ranges(t,Yt(l)),w("all");});},acceptChange:t=>(w("all"),y(()=>JSON.parse(e.accept_change(_t(t))))),rejectChange:t=>(w("all"),y(()=>JSON.parse(e.reject_change(_t(t))))),selectionContext:t=>{let l=JSON.stringify(t);if(m?.key===l)return JSON.parse(m.json);let f=e.selection_context(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset),T=JSON.parse(f);return m={key:l,json:f},T},listRevisions:()=>JSON.parse(e.list_revisions()),resolveComment:t=>JSON.parse(e.resolve_comment(t)),listComments:()=>JSON.parse(e.list_comments()),storyIds:()=>e.story_ids(),hasStory:t=>!Lr.test(t)&&e.has_story(t),storyLength:t=>e.story_len(t),storyChecksum:t=>BigInt(e.story_checksum(t)),yrsBlocksForStory:(t,l={})=>{let f=e.yrs_blocks_for_story(t,JSON.stringify(l)),T=JSON.parse(f);return R.set(t,structuredClone(l)),T},paragraphs:t=>JSON.parse(e.paragraphs(t)),searchText:(t,l={})=>{if(!t)return [];let f=l.limit??Number.POSITIVE_INFINITY;if(!Number.isSafeInteger(f)&&f!==Number.POSITIVE_INFINITY||f<0)throw new RangeError("search limit must be a non-negative safe integer");return JSON.parse(e.search_text(t,l.caseSensitive??false,Number.isFinite(f)?Math.min(f,4294967295):void 0))},paragraphSpans:t=>JSON.parse(e.paragraph_spans(t)),storySegments:t=>JSON.parse(e.story_segments(t)),storiesChangedSince:t=>JSON.parse(e.stories_changed_since(t)),storySegmentUnitDigests:t=>JSON.parse(e.story_segment_unit_digests(t)),storySegmentUnits:(t,l)=>JSON.parse(e.story_segment_units(t,Uint32Array.from(l))),tablePayload:(t,l)=>{if(!Number.isInteger(l)||l<0||l>4294967295)return e.story_len(t),null;let f=e.table_payload(t,l);return f===void 0?null:JSON.parse(f)},locateParagraph:(t,l)=>JSON.parse(e.locate_paragraph(t,l)),paragraphIdCount:(t,l)=>e.paragraph_id_count(t,l),paragraphIdentities:()=>JSON.parse(e.paragraph_identities()),persistParagraphIds:()=>(w("all"),y(()=>JSON.parse(e.persist_paragraph_ids()))),resolveParagraphAnchor:t=>JSON.parse(e.resolve_paragraph_anchor(JSON.stringify(t))),storyParagraphIds:t=>JSON.parse(e.story_paragraph_ids(t)),paragraphSavePlan:()=>JSON.parse(e.paragraph_save_plan()),recordSavedParagraphIds:t=>y(()=>JSON.parse(e.record_saved_paragraph_ids(JSON.stringify(t)))),writtenParagraphIds:t=>JSON.parse(e.written_paragraph_ids(t)),exportStructured:t=>JSON.parse(e.export_structured_json(JSON.stringify(t))),exportMarkdown:t=>JSON.parse(e.export_markdown_json(JSON.stringify(t))),exportStructuredWithPages:t=>JSON.parse(e.export_structured_with_pages_json(JSON.stringify(t),void 0)),exportStructuredWithPagesFor:(t,l)=>JSON.parse(e.export_structured_with_pages_json(JSON.stringify(t),l)),exportSnapshotWithPrivateFonts:(t,l,f,T)=>JSON.parse(e.export_snapshot_with_private_fonts_json(t,l,f,JSON.stringify(T))),headings:t=>JSON.parse(e.headings_json(t)),listContentControls:(t={})=>JSON.parse(e.list_content_controls_json(JSON.stringify(t))),findContentControls:(t,l={})=>JSON.parse(e.find_content_controls_json(JSON.stringify(t),JSON.stringify(l))),version:()=>ue??e.version(),readParagraphs:t=>JSON.parse(e.read_paragraphs_json(JSON.stringify(t))),findText:t=>JSON.parse(e.find_text_json(JSON.stringify(t))),validateEdits:t=>JSON.parse(e.validate_edits_json(JSON.stringify(t))),applyEdits:t=>y(()=>{let l=JSON.parse(e.apply_edits_json(JSON.stringify(t)));return l.ok&&l.applied&&w(l.changedStories),l}),proposeChanges:t=>y(()=>M.propose(t)),setProposalStates:t=>M.setStates(t),withdrawProposals:t=>y(()=>M.withdraw(t)),getProposals:()=>M.snapshot(),mirrorWorkerDocument:t=>{ue=t?.version??null,M.mirror(t);},workerDocumentMirrored:()=>ue!==null,onProposalChange:t=>{if(s)throw new Error("yrs session is destroyed");return M.subscribe(t)},formatTextTarget:(t,l)=>(P(At(t)),y(()=>JSON.parse(e.format_text_target_json(JSON.stringify(t),JSON.stringify(l))))),commentTextTarget:(t,l)=>(w(At(t)),y(()=>JSON.parse(e.comment_text_target_json(JSON.stringify(t),JSON.stringify({...l,body:l.body??null}))))),selectionText:t=>JSON.parse(e.selection_text_json(t.story,t.start.paraId,t.start.offset,t.end.paraId,t.end.offset)),destroy:()=>{s||(s=true,ke(),n.clear(),M.destroy(),o.length=0,i&&e.clear_update_observer(),e.free());}};return b$3(B,{sourcePackage:()=>A&&J?{buffer:We(A),keys:J}:null,compareDocx:(t,l,f)=>{w("all");let T=y(()=>{let W=e.compare_docx_json(t,l,f);return M.reset(),W});return A=t.slice(),J=null,T},finishComparedDocx:t=>e.finish_compared_docx_json(t),failComparedDocx:t=>e.fail_compared_docx_json(t)}),B}async function Kn(e){let r=e?.clientId??Jr(),n=await import('../wasm-KSZTTO3B.mjs');return await n.preloadEditWasm(),Ur(n.createEditSession(r),r)}export{fe as ResidentEngineWorkerClient,_ as ResidentWorkerFailureError,re as ResidentWorkerOutOfMemoryError,Te as canUseResidentEngineWorker,It as captureSessionSave,Kn as createYrsSession,$n as decodeDocxHostJson,Ar as documentToYrs,ve as editorSaveKeys,$t as preloadDocxEngine,Ie as preloadResidentEngineWorker,qn as prepareDocxBytes,Vn as preparedDocxDigest,Vt as retainPreloadedResidentEngineWorker,zn as sameYrsSelection,Wr as saveYrsDocx,zt as takePreloadedResidentEngineWorker,Dt as writeSessionSave};
|
|
@@ -1 +1 @@
|
|
|
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-4PRCO6EC.mjs';import {k as k$1,D,a as a$1,h,l,j as j$2,x as x$2,u}from'../chunk-7SUVUKWT.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);}
|
|
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
|
File without changes
|