@eigenpal/docx-js-editor 0.0.11 → 0.0.13
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/DocumentAgent-Ci6_T-XM.d.ts +412 -0
- package/dist/DocumentAgent-DEGFgYEN.d.cts +412 -0
- package/dist/FindReplaceDialog-BAACAU67.cjs +1 -0
- package/dist/FindReplaceDialog-RWYDRWHF.js +1 -0
- package/dist/FootnotePropertiesDialog-BC6JIPDA.cjs +1 -0
- package/dist/FootnotePropertiesDialog-CWQF5EBK.js +1 -0
- package/dist/HyperlinkDialog-EG2BSLPD.cjs +1 -0
- package/dist/HyperlinkDialog-YAVK64F4.js +1 -0
- package/dist/ImagePositionDialog-IGYS5KMK.cjs +1 -0
- package/dist/ImagePositionDialog-S6SMH7XH.js +1 -0
- package/dist/ImagePropertiesDialog-UO5QUIBS.js +1 -0
- package/dist/ImagePropertiesDialog-VGV4E4SN.cjs +1 -0
- package/dist/TablePropertiesDialog-VBOU4DID.js +1 -0
- package/dist/TablePropertiesDialog-WRM47JI6.cjs +1 -0
- package/dist/{types-BALm1KBi.d.cts → agentApi-CbVUCZRu.d.cts} +1 -308
- package/dist/{types-BALm1KBi.d.ts → agentApi-CbVUCZRu.d.ts} +1 -308
- package/dist/chunk-2ASOEN3V.js +1 -0
- package/dist/chunk-6MBDPZVD.js +111 -0
- package/dist/chunk-6YLNNCRZ.cjs +10 -0
- package/dist/chunk-BVQ2QRHA.cjs +4 -0
- package/dist/chunk-COP5BIBZ.js +10 -0
- package/dist/chunk-CZ7W7MCM.cjs +2 -0
- package/dist/chunk-E6XDMUAM.js +4 -0
- package/dist/chunk-EMKABJPH.js +1 -0
- package/dist/{chunk-TRAQI6RX.cjs → chunk-EPCZ24TY.cjs} +5 -5
- package/dist/chunk-ESI4BSBF.js +1 -0
- package/dist/chunk-FLECKDK4.cjs +58 -0
- package/dist/chunk-ITWEFKGQ.cjs +1 -0
- package/dist/chunk-KESNGXGO.js +1 -0
- package/dist/chunk-KVAT5SVD.js +2 -0
- package/dist/chunk-L34XFLQZ.cjs +1 -0
- package/dist/chunk-M7F2CUUD.js +2 -0
- package/dist/chunk-MDPDH7KS.js +58 -0
- package/dist/chunk-MTX3EEBJ.js +258 -0
- package/dist/chunk-NT2REEAA.cjs +1 -0
- package/dist/{chunk-PM4Y7OFN.js → chunk-OTG4NABM.js} +5 -5
- package/dist/chunk-OW5H5DNE.cjs +1 -0
- package/dist/chunk-PJVI53AH.js +2 -0
- package/dist/chunk-PNMZPPPI.cjs +2 -0
- package/dist/chunk-SF53KLDZ.cjs +1 -0
- package/dist/chunk-TOI5W3HK.js +8 -0
- package/dist/chunk-UAVOWAIF.cjs +8 -0
- package/dist/chunk-VN7XH644.cjs +258 -0
- package/dist/chunk-W4DUKACP.cjs +111 -0
- package/dist/chunk-XS2AQFMF.cjs +2 -0
- package/dist/chunk-ZDYHAYN6.js +1 -0
- package/dist/clipboard-BOocwmAM.d.ts +539 -0
- package/dist/clipboard-Cx7cb3kX.d.cts +539 -0
- package/dist/{colorResolver-BNj-uZ58.d.ts → colorResolver-CIDiSPWd.d.cts} +3 -411
- package/dist/{colorResolver-DiMquGWR.d.cts → colorResolver-KXbUgzWC.d.ts} +3 -411
- package/dist/core-plugins.cjs +1 -1
- package/dist/core-plugins.d.cts +4 -3
- package/dist/core-plugins.d.ts +4 -3
- package/dist/core-plugins.js +1 -1
- package/dist/core.cjs +1 -0
- package/dist/core.d.cts +23 -0
- package/dist/core.d.ts +23 -0
- package/dist/core.js +1 -0
- package/dist/headless.cjs +2 -2
- package/dist/headless.d.cts +8 -175
- package/dist/headless.d.ts +8 -175
- package/dist/headless.js +1 -1
- package/dist/index.cjs +9 -378
- package/dist/index.d.cts +17 -4161
- package/dist/index.d.ts +17 -4161
- package/dist/index.js +9 -378
- package/dist/insertOperations-CzB5b-Of.d.ts +176 -0
- package/dist/insertOperations-DKVmCV32.d.cts +176 -0
- package/dist/mcp-cli.js +21 -21
- package/dist/mcp.cjs +10 -10
- package/dist/mcp.d.cts +2 -1
- package/dist/mcp.d.ts +2 -1
- package/dist/mcp.js +9 -9
- package/dist/processTemplate-BHBTDAIC.js +1 -0
- package/dist/processTemplate-QOEAXCKA.cjs +1 -0
- package/dist/react-Be1YOl4z.d.ts +1356 -0
- package/dist/react-DPuSVbgY.d.cts +1356 -0
- package/dist/react.cjs +1 -0
- package/dist/react.css +1 -0
- package/dist/react.d.cts +9 -0
- package/dist/react.d.ts +9 -0
- package/dist/react.js +1 -0
- package/dist/{registry-CzqAPdui.d.ts → registry-D4tvj9f3.d.ts} +1 -1
- package/dist/{registry-BUTMLqSj.d.cts → registry-ngv6Bumt.d.cts} +1 -1
- package/dist/types-D96elyJF.d.cts +310 -0
- package/dist/types-xMzSPT4i.d.ts +310 -0
- package/dist/ui.cjs +1 -0
- package/dist/ui.d.cts +2103 -0
- package/dist/ui.d.ts +2103 -0
- package/dist/ui.js +1 -0
- package/dist/variableDetector-CPxKo9jP.d.cts +173 -0
- package/dist/variableDetector-DeM1N-_L.d.ts +173 -0
- package/package.json +85 -10
- package/dist/chunk-GQ4JYQWC.js +0 -58
- package/dist/chunk-H3JNHCD7.cjs +0 -10
- package/dist/chunk-L2UUZRZI.js +0 -10
- package/dist/chunk-QOIY4Y6N.cjs +0 -9
- package/dist/chunk-QYKJKSKZ.cjs +0 -58
- package/dist/chunk-TPUJJJWA.js +0 -9
package/dist/mcp-cli.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import Ct from'pizzip';import Ft from'docxtemplater';import lt from'jszip';import {xml2js,js2xml}from'xml-js';var dt=Object.defineProperty;var cr=(e,t,n)=>t in e?dt(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n;var mt=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var ht=(e,t)=>()=>(e&&(t=e(e=0)),t);var ur=(e,t)=>{for(var n in t)dt(e,n,{get:t[n],enumerable:true});};var me=(e,t,n)=>cr(e,typeof t!="symbol"?t+"":t,n);var Ve,re,Te=ht(()=>{Ve=class{constructor(){me(this,"plugins",new Map);me(this,"commandHandlers",new Map);me(this,"eventListeners",new Set);me(this,"initialized",new Set);}register(t,n){let r=[];if(!t.id)return {success:false,error:"Plugin must have an id"};if(this.plugins.has(t.id))return {success:false,error:`Plugin '${t.id}' is already registered`};if(t.dependencies){for(let o of t.dependencies)if(!this.plugins.has(o))return {success:false,error:`Plugin '${t.id}' requires '${o}' which is not registered`}}if(t.commandHandlers)for(let[o,i]of Object.entries(t.commandHandlers)){if(this.commandHandlers.has(o)){let s=this.commandHandlers.get(o);r.push(`Command '${o}' from '${t.id}' overrides handler from '${s.pluginId}'`);}this.commandHandlers.set(o,{pluginId:t.id,handler:i});}if(this.plugins.set(t.id,t),t.initialize&&!this.initialized.has(t.id))try{let o=t.initialize();o instanceof Promise?o.then(()=>{this.initialized.add(t.id);}).catch(i=>{this.emit({type:"error",pluginId:t.id,error:i});}):this.initialized.add(t.id);}catch(o){this.emit({type:"error",pluginId:t.id,error:o});}return n?.debug&&console.log(`[PluginRegistry] Registered plugin: ${t.id}`),this.emit({type:"registered",plugin:t}),{success:true,plugin:t,warnings:r.length>0?r:void 0}}unregister(t){let n=this.plugins.get(t);if(!n)return false;for(let[r,o]of this.plugins)if(o.dependencies?.includes(t))return console.warn(`Cannot unregister '${t}': '${r}' depends on it`),false;for(let[r,{pluginId:o}]of this.commandHandlers)o===t&&this.commandHandlers.delete(r);if(n.destroy)try{let r=n.destroy();r instanceof Promise&&r.catch(o=>{this.emit({type:"error",pluginId:t,error:o});});}catch(r){this.emit({type:"error",pluginId:t,error:r});}return this.plugins.delete(t),this.initialized.delete(t),this.emit({type:"unregistered",pluginId:t}),true}get(t){return this.plugins.get(t)}getAll(){return Array.from(this.plugins.values())}has(t){return this.plugins.has(t)}get size(){return this.plugins.size}getCommandHandler(t){return this.commandHandlers.get(t)?.handler}getCommandTypes(){return Array.from(this.commandHandlers.keys())}hasCommandHandler(t){return this.commandHandlers.has(t)}getMcpTools(){let t=[];for(let n of this.plugins.values())n.mcpTools&&t.push(...n.mcpTools);return t}getMcpToolsForPlugin(t){return this.plugins.get(t)?.mcpTools||[]}getMcpTool(t){for(let n of this.plugins.values())if(n.mcpTools){let r=n.mcpTools.find(o=>o.name===t);if(r)return r}}addEventListener(t){this.eventListeners.add(t);}removeEventListener(t){this.eventListeners.delete(t);}emit(t){for(let n of this.eventListeners)try{n(t);}catch(r){console.error("[PluginRegistry] Event listener error:",r);}}clear(){for(let t of this.plugins.values())if(t.destroy)try{t.destroy();}catch{}this.plugins.clear(),this.commandHandlers.clear(),this.initialized.clear();}getDebugInfo(){return {plugins:Array.from(this.plugins.keys()),commandTypes:Array.from(this.commandHandlers.keys()),mcpTools:this.getMcpTools().map(t=>t.name),initialized:Array.from(this.initialized)}}},re=new Ve;});var jn={};ur(jn,{executeCommand:()=>ie,executeCommands:()=>mi});function ie(e,t){let n=re.getCommandHandler(t.type);if(n)return n(e,t);switch(t.type){case "insertText":return hi(e,t);case "replaceText":return gi(e,t);case "deleteText":return wi(e,t);case "formatText":return yi(e,t);case "formatParagraph":return xi(e,t);case "applyStyle":return bi(e,t);case "insertTable":return Ti(e,t);case "insertImage":return Ci(e,t);case "insertHyperlink":return Fi(e,t);case "removeHyperlink":return Si(e,t);case "insertParagraphBreak":return On(e,t);case "mergeParagraphs":return vi(e,t);case "splitParagraph":return ki(e,t);case "setVariable":return Pi(e,t);case "applyVariables":return Ri(e,t);default:let r=t;throw new Error(`Unknown command type: ${r.type}`)}}function mi(e,t){return t.reduce((n,r)=>ie(n,r),e)}function W(e){return JSON.parse(JSON.stringify(e))}function O(e,t){let n=0;for(let r=0;r<e.content.length;r++)if(e.content[r].type==="paragraph"){if(n===t)return r;n++;}return -1}function ye(e){let t="";for(let n of e.content)if(n.type==="run")for(let r of n.content)r.type==="text"&&(t+=r.text);else if(n.type==="hyperlink"){for(let r of n.children)if(r.type==="run")for(let o of r.content)o.type==="text"&&(t+=o.text);}return t}function Xe(e,t){return {type:"run",formatting:t,content:[{type:"text",text:e}]}}function He(e,t,n,r){let o=[],i=0,s=false;for(let a of e.content)if(a.type==="run"){let c=a.content.filter(d=>d.type==="text").map(d=>d.text).join(""),p=i,f=i+c.length;if(!s&&t>=p&&t<=f){let d=t-p;d>0&&o.push({...a,content:[{type:"text",text:c.slice(0,d)}]}),o.push(Xe(n,r||a.formatting)),d<c.length&&o.push({...a,content:[{type:"text",text:c.slice(d)}]}),s=true;}else o.push(a);i=f;}else o.push(a);return s||o.push(Xe(n,r)),o}function oe(e,t,n){let r=[],o=0;for(let i of e.content)if(i.type==="run"){let s=i.content.filter(p=>p.type==="text").map(p=>p.text).join(""),a=o,c=o+s.length;if(c<=t||a>=n)r.push(i);else {let p="";a<t&&(p+=s.slice(0,t-a)),c>n&&(p+=s.slice(n-a)),p.length>0&&r.push({...i,content:[{type:"text",text:p}]});}o=c;}else r.push(i);return r}function Hn(e,t,n,r){let o=[],i=0;for(let s of e.content)if(s.type==="run"){let a=s.content.filter(f=>f.type==="text").map(f=>f.text).join(""),c=i,p=i+a.length;if(p<=t||c>=n)o.push(s);else if(c>=t&&p<=n)o.push({...s,formatting:{...s.formatting,...r}});else {let f=Math.max(t,c),d=Math.min(n,p);c<f&&o.push({...s,content:[{type:"text",text:a.slice(0,f-c)}]}),o.push({...s,formatting:{...s.formatting,...r},content:[{type:"text",text:a.slice(f-c,d-c)}]}),p>d&&o.push({...s,content:[{type:"text",text:a.slice(d-c)}]});}i=p;}else o.push(s);return o}function hi(e,t){let n=W(e),r=n.package.document,o=O(r,t.position.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.position.paragraphIndex} not found`);let i=r.content[o];return i.content=He(i,t.position.offset,t.text,t.formatting),n}function gi(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex===i.paragraphIndex){let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s];a.content=oe(a,o.offset,i.offset),a.content=He(a,o.offset,t.text,t.formatting);}else {let s=O(r,o.paragraphIndex),a=r.content[s],c=ye(a);a.content=oe(a,o.offset,c.length),a.content=He(a,o.offset,t.text,t.formatting);let p=[];for(let f=o.paragraphIndex+1;f<=i.paragraphIndex;f++)p.push(O(r,f));for(let f=p.length-1;f>=0;f--)p[f]!==-1&&r.content.splice(p[f],1);}return n}function wi(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex===i.paragraphIndex){let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s];a.content=oe(a,o.offset,i.offset);}else {let s=O(r,o.paragraphIndex),a=r.content[s],c=ye(a);a.content=oe(a,o.offset,c.length);let p=O(r,i.paragraphIndex),f=r.content[p];f.content=oe(f,0,i.offset),a.content.push(...f.content);let d=[];for(let h=o.paragraphIndex+1;h<=i.paragraphIndex;h++)d.push(O(r,h));for(let h=d.length-1;h>=0;h--)d[h]!==-1&&r.content.splice(d[h],1);}return n}function yi(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex===i.paragraphIndex){let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s];a.content=Hn(a,o.offset,i.offset,t.formatting);}else for(let s=o.paragraphIndex;s<=i.paragraphIndex;s++){let a=O(r,s);if(a===-1)continue;let c=r.content[a],p=ye(c),f=0,d=p.length;s===o.paragraphIndex&&(f=o.offset),s===i.paragraphIndex&&(d=i.offset),c.content=Hn(c,f,d,t.formatting);}return n}function xi(e,t){let n=W(e),r=n.package.document,o=O(r,t.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let i=r.content[o];if(i.formatting={...i.formatting,...t.formatting},"numPr"in t.formatting){let s=t.formatting.numPr;if(s&&s.numId!==void 0&&s.numId!==0){let a=s.ilvl??0,c=s.numId===1,p=c?"\u2022":"1.";if(n.package.numbering){let f=n.package.numbering.nums.find(d=>d.numId===s.numId);if(f){let d=n.package.numbering.abstractNums.find(h=>h.abstractNumId===f.abstractNumId);if(d){let h=d.levels.find(g=>g.ilvl===a);h&&(p=h.lvlText||p);}}}i.listRendering={level:a,numId:s.numId,marker:p,isBullet:c};}else delete i.listRendering;}return n}function bi(e,t){let n=W(e),r=n.package.document,o=O(r,t.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let i=r.content[o];return i.formatting={...i.formatting,styleId:t.styleId},n}function Ti(e,t){let n=W(e),r=n.package.document,o=[];for(let a=0;a<t.rows;a++){let c=[];for(let p=0;p<t.columns;p++){let f=t.data?.[a]?.[p]||"";c.push({type:"tableCell",content:[{type:"paragraph",content:f?[Xe(f)]:[]}]});}o.push({type:"tableRow",formatting:a===0&&t.hasHeader?{header:true}:void 0,cells:c});}let i={type:"table",rows:o},s=O(r,t.position.paragraphIndex);return s===-1?r.content.push(i):r.content.splice(s+1,0,i),n}function Ci(e,t){let n=W(e),r=n.package.document,o=O(r,t.position.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.position.paragraphIndex} not found`);let i=r.content[o],a={type:"run",content:[{type:"drawing",image:{type:"image",rId:`rId_img_${Date.now()}`,src:t.src,alt:t.alt,size:{width:(t.width||100)*914400,height:(t.height||100)*914400},wrap:{type:"inline"}}}]},c=He(i,t.position.offset,"",void 0),p=false,f=0;for(let d=0;d<c.length;d++){let h=c[d];if(h.type==="run"){let g=h.content.filter(m=>m.type==="text").map(m=>m.text).join("");if(f+=g.length,!p&&f>=t.position.offset){c.splice(d+1,0,a),p=true;break}}}return p||c.push(a),i.content=c,n}function Fi(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex!==i.paragraphIndex)throw new Error("Hyperlinks cannot span multiple paragraphs");let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s],c=ye(a),p=t.displayText||c.slice(o.offset,i.offset);a.content=oe(a,o.offset,i.offset);let f={type:"hyperlink",href:t.url,tooltip:t.tooltip,children:[Xe(p)]},d=false,h=0,g=[];for(let m of a.content)if(m.type==="run"){let y=m.content.filter(S=>S.type==="text").map(S=>S.text).join(""),k=h+y.length;if(!d&&h<=o.offset&&o.offset<=k){let S=o.offset-h;S>0&&g.push({...m,content:[{type:"text",text:y.slice(0,S)}]}),g.push(f),S<y.length&&g.push({...m,content:[{type:"text",text:y.slice(S)}]}),d=true;}else g.push(m);h=k;}else g.push(m);return d||g.push(f),a.content=g,n}function Si(e,t){let n=W(e),r=n.package.document,{start:o}=t.range,i=O(r,o.paragraphIndex);if(i===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let s=r.content[i],a=[];for(let c of s.content)if(c.type==="hyperlink")for(let p of c.children)p.type==="run"&&a.push(p);else a.push(c);return s.content=a,n}function On(e,t){let n=W(e),r=n.package.document,o=O(r,t.position.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.position.paragraphIndex} not found`);let i=r.content[o],s=ye(i),a=oe({...i,content:[...i.content]},t.position.offset,s.length),c=oe({...i,content:[...i.content]},0,t.position.offset);i.content=a;let p={type:"paragraph",formatting:i.formatting,content:c};return r.content.splice(o+1,0,p),n}function vi(e,t){let n=W(e),r=n.package.document,o=O(r,t.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let i=r.content[o],s=[];for(let a=1;a<=t.count;a++){let c=O(r,t.paragraphIndex+a);if(c!==-1){let p=r.content[c];i.content.push(...p.content),s.push(c);}}for(let a=s.length-1;a>=0;a--)r.content.splice(s[a],1);return n}function ki(e,t){return On(e,{position:t.position})}function Pi(e,t){let n=W(e);return n.templateVariables||(n.templateVariables=[]),n.templateVariables.includes(t.name)||n.templateVariables.push(t.name),n}function Ri(e,t){let n=W(e),r=n.package.document;function o(a){for(let c of a.content)if(c.type==="text")for(let[p,f]of Object.entries(t.values)){let d=new RegExp(`\\{${p}\\}`,"g");c.text=c.text.replace(d,f);}}function i(a){for(let c of a.content)if(c.type==="run")o(c);else if(c.type==="hyperlink")for(let p of c.children)p.type==="run"&&o(p);}function s(a){if(a.type==="paragraph")i(a);else if(a.type==="table")for(let c of a.rows)for(let p of c.cells)for(let f of p.content)s(f);}for(let a of r.content)s(a);return n}var rt=ht(()=>{Te();});Te();function _e(e,t){let n=t,{position:r,variableName:o}=n,i=JSON.parse(JSON.stringify(e)),a=i.package.document.content.filter(f=>f.type==="paragraph");if(r.paragraphIndex>=a.length)throw new Error(`Paragraph index ${r.paragraphIndex} out of bounds`);let c=a[r.paragraphIndex],p=`{{${o}}}`;return gt(c,r.offset,p),i.templateVariables||(i.templateVariables=[]),i.templateVariables.includes(o)||i.templateVariables.push(o),i}function Ue(e,t){let n=t,{range:r,variableName:o}=n,i=JSON.parse(JSON.stringify(e)),a=i.package.document.content.filter(f=>f.type==="paragraph");if(r.start.paragraphIndex!==r.end.paragraphIndex)throw new Error("Template variable replacement cannot span multiple paragraphs");if(r.start.paragraphIndex>=a.length)throw new Error(`Paragraph index ${r.start.paragraphIndex} out of bounds`);let c=a[r.start.paragraphIndex];pr(c,r.start.offset,r.end.offset);let p=`{{${o}}}`;return gt(c,r.start.offset,p),i.templateVariables||(i.templateVariables=[]),i.templateVariables.includes(o)||i.templateVariables.push(o),i}function gt(e,t,n){let r=0,o=false;for(let i=0;i<e.content.length;i++){let s=e.content[i];if(s.type==="run"){let a=We(s),c=r,p=r+a.length;if(!o&&t>=c&&t<=p){let f=t-c,d=a.slice(0,f),h=a.slice(f),g=[];for(let m=0;m<i;m++)g.push(e.content[m]);d&&g.push({type:"run",formatting:s.formatting,content:[{type:"text",text:d}]}),g.push({type:"run",formatting:s.formatting,content:[{type:"text",text:n}]}),h&&g.push({type:"run",formatting:s.formatting,content:[{type:"text",text:h}]});for(let m=i+1;m<e.content.length;m++)g.push(e.content[m]);e.content=g,o=true;break}r=p;}else if(s.type==="hyperlink")for(let a of s.children)a.type==="run"&&(r+=We(a).length);}o||e.content.push({type:"run",content:[{type:"text",text:n}]});}function pr(e,t,n){let r=[],o=0;for(let i of e.content)if(i.type==="run"){let s=We(i),a=o,c=o+s.length;if(c<=t||a>=n)r.push(i);else {let p="";a<t&&(p+=s.slice(0,t-a)),c>n&&(p+=s.slice(n-a)),p.length>0&&r.push({type:"run",formatting:i.formatting,content:[{type:"text",text:p}]});}o=c;}else r.push(i);e.content=r;}function We(e){return e.content.filter(t=>t.type==="text").map(t=>t.text).join("")}function xt(e){let t=[],n={body:[],headers:[],footers:[],footnotes:[],endnotes:[],textBoxes:[]};if(e.package?.document){let o=fr(e.package.document);o.forEach(i=>{t.push({name:i,location:"body"});}),n.body=Array.from(new Set(o)).sort();}if(e.package?.document?.sections&&e.package.document.sections.forEach((o,i)=>{o.properties.headerReferences&&o.properties.headerReferences.forEach(s=>{});}),e.package?.footnotes){let o=yt(e.package.footnotes);o.forEach(i=>{t.push({name:i,location:"footnote"});}),n.footnotes=Array.from(new Set(o)).sort();}if(e.package?.endnotes){let o=yt(e.package.endnotes);o.forEach(i=>{t.push({name:i,location:"endnote"});}),n.endnotes=Array.from(new Set(o)).sort();}e.templateVariables&&e.templateVariables.forEach(o=>{t.some(i=>i.name===o)||t.push({name:o,location:"body"});});let r=new Set;return t.forEach(o=>r.add(o.name)),{variables:Array.from(r).sort(),totalOccurrences:t.length,byLocation:n,occurrences:t}}function fr(e){let t=[];if(e.content&&t.push(...wt(e.content)),e.sections)for(let n of e.sections)n.content&&t.push(...wt(n.content));return t}function wt(e){let t=[];for(let n of e)n.type==="paragraph"?t.push(...Ge(n)):n.type==="table"&&t.push(...bt(n));return t}function Ge(e){let t=[];if(!e.content)return t;for(let n of e.content)n.type==="run"?t.push(...he(n)):n.type==="hyperlink"?t.push(...dr(n)):n.type==="simpleField"?t.push(...mr(n)):n.type==="complexField"&&t.push(...hr(n));return t}function he(e){let t=[];if(!e.content)return t;for(let n of e.content)n.type==="text"&&n.text&&t.push(...Tt(n.text));return t}function dr(e){let t=[];if(!e.children)return t;for(let n of e.children)n.type==="run"&&t.push(...he(n));return t}function mr(e){let t=[];if(e.instruction&&t.push(...Tt(e.instruction)),e.content)for(let n of e.content)n.type==="run"&&t.push(...he(n));return t}function hr(e){let t=[];if(e.fieldCode)for(let n of e.fieldCode)n.type==="run"&&t.push(...he(n));if(e.fieldResult)for(let n of e.fieldResult)n.type==="run"&&t.push(...he(n));return t}function bt(e){let t=[];if(!e.rows)return t;for(let n of e.rows)if(n.cells)for(let r of n.cells)t.push(...gr(r));return t}function gr(e){let t=[];if(!e.content)return t;for(let n of e.content)n.type==="paragraph"?t.push(...Ge(n)):n.type==="table"&&t.push(...bt(n));return t}function yt(e){let t=[];for(let n of e)if(n.content)for(let r of n.content)t.push(...Ge(r));return t}var wr=/\{([a-zA-Z_][a-zA-Z0-9_\-\.]*)\}/g;function Tt(e){if(!e)return [];let t=[],n=new RegExp(wr),r;for(;(r=n.exec(e))!==null;)t.push(r[1]);return t}function St(e,t,n={}){let{nullGetter:r="keep",linebreaks:o=true,delimiters:i}=n,s=[],a=[],c=[];try{let p=new Ct(e),f=new Ft(p,{paragraphLoop:!0,linebreaks:o,nullGetter:h=>{let g=h.value||"";if(r==="error")throw new Error(`Undefined variable: ${g}`);return r==="empty"?(c.push(g),""):(c.push(g),`{${g}}`)},delimiters:i?{start:i.start||"{",end:i.end||"}"}:void 0});return Object.keys(t).forEach(h=>{t[h]!==void 0&&t[h]!==null&&a.push(h);}),f.setData(t),f.render(),{buffer:f.getZip().generate({type:"arraybuffer",compression:"DEFLATE",compressionOptions:{level:6}}),replacedVariables:a,unreplacedVariables:c,warnings:s}}catch(p){throw kt(p)}}function vt(e){let t=[],n=[];try{let r=new Ct(e),i=new Ft(r,{paragraphLoop:!0,linebreaks:!0}).getFullText();n=yr(i);let s=xr(i);for(let a of s)t.push({message:`Unclosed tag: ${a}`,variable:a,type:"parse"});return {valid:t.length===0,errors:t,tags:n}}catch(r){return t.push(kt(r)),{valid:false,errors:t,tags:n}}}function yr(e){let t=[],n=/\{([^{}]+)\}/g,r;for(;(r=n.exec(e))!==null;){let o=r[1].trim();o&&!t.includes(o)&&t.push(o);}return t.sort()}function xr(e){let t=[],n=0,r="";for(let o of e)o==="{"?(n++,r=""):o==="}"?(n--,n<0&&(n=0)):n>0&&(r+=o);return n>0&&r.trim()&&t.push(r.trim()),t}function br(e){return "properties"in e&&typeof e.properties=="object"}function kt(e){if(e instanceof Error){if(br(e)&&e.properties?.errors){let t=e.properties.errors[0];return {message:t?.message||"Template processing error",variable:t?.properties?.tag,type:"render",originalError:e}}if(e.message.includes("undefined")){let t=e.message.match(/undefined (?:variable|tag):\s*(\S+)/i);return {message:e.message,variable:t?t[1]:void 0,type:"undefined",originalError:e}}return e.message.includes("parse")||e.message.includes("unclosed")||e.message.includes("syntax")?{message:e.message,type:"parse",originalError:e}:{message:e.message,type:"unknown",originalError:e}}return {message:String(e),type:"unknown"}}async function Pt(e){let t=await lt.loadAsync(e),n={documentXml:null,stylesXml:null,themeXml:null,numberingXml:null,fontTableXml:null,settingsXml:null,webSettingsXml:null,headers:new Map,footers:new Map,footnotesXml:null,endnotesXml:null,commentsXml:null,commentsExtensibleXml:null,documentRels:null,packageRels:null,contentTypesXml:null,corePropsXml:null,appPropsXml:null,customPropsXml:null,media:new Map,fonts:new Map,allXml:new Map,originalZip:t,originalBuffer:e};for(let[r,o]of Object.entries(t.files)){if(o.dir)continue;let i=r.toLowerCase();if(i.endsWith(".xml")||i.endsWith(".rels")){let s=await o.async("text");if(n.allXml.set(r,s),i==="word/document.xml")n.documentXml=s;else if(i==="word/styles.xml")n.stylesXml=s;else if(i==="word/theme/theme1.xml")n.themeXml=s;else if(i==="word/numbering.xml")n.numberingXml=s;else if(i==="word/fonttable.xml")n.fontTableXml=s;else if(i==="word/settings.xml")n.settingsXml=s;else if(i==="word/websettings.xml")n.webSettingsXml=s;else if(i==="word/footnotes.xml")n.footnotesXml=s;else if(i==="word/endnotes.xml")n.endnotesXml=s;else if(i==="word/comments.xml")n.commentsXml=s;else if(i==="word/commentsextensible.xml"||i==="word/commentsextended.xml")n.commentsExtensibleXml||(n.commentsExtensibleXml=s);else if(i==="word/_rels/document.xml.rels")n.documentRels=s;else if(i==="_rels/.rels")n.packageRels=s;else if(i==="[content_types].xml")n.contentTypesXml=s;else if(i==="docprops/core.xml")n.corePropsXml=s;else if(i==="docprops/app.xml")n.appPropsXml=s;else if(i==="docprops/custom.xml")n.customPropsXml=s;else if(i.match(/^word\/header\d+\.xml$/)){let a=r.split("/").pop()||r;n.headers.set(a,s);}else if(i.match(/^word\/footer\d+\.xml$/)){let a=r.split("/").pop()||r;n.footers.set(a,s);}}else if(i.startsWith("word/media/")){let s=await o.async("arraybuffer");n.media.set(r,s);}else if(i.startsWith("word/fonts/")){let s=await o.async("arraybuffer");n.fonts.set(r,s);}}return n}function Rt(e){switch(e.toLowerCase().split(".").pop()){case "png":return "image/png";case "jpg":case "jpeg":return "image/jpeg";case "gif":return "image/gif";case "bmp":return "image/bmp";case "tif":case "tiff":return "image/tiff";case "wmf":return "image/x-wmf";case "emf":return "image/x-emf";case "svg":return "image/svg+xml";case "webp":return "image/webp";default:return "application/octet-stream"}}function U(e){return xml2js(e,{compact:false,ignoreComment:true,ignoreInstruction:true,ignoreDoctype:true,alwaysArray:false,trim:false,captureSpacesBetweenElements:true,attributesKey:"attributes",textKey:"text"})}function Et(e){return js2xml({elements:[e]},{compact:false,spaces:0})}function K(e){try{let t=U(e);return t.elements&&t.elements.length>0?t.elements.find(n=>n.type==="element")??null:t}catch(t){return console.warn("Failed to parse XML:",t),null}}function Ce(e){let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function u(e,t,n){if(!e||!e.elements)return null;let r=`${t}:${n}`;for(let o of e.elements)if(o.type==="element"&&(o.name===r||Ce(o.name||"")===n))return o;return null}function D(e,t,n){if(!e||!e.elements)return [];let r=`${t}:${n}`,o=[];for(let i of e.elements)i.type==="element"&&(i.name===r||Ce(i.name||"")===n)&&o.push(i);return o}function N(e){return !e||!e.elements?[]:e.elements.filter(t=>t.type==="element")}function l(e,t,n){if(!e||!e.attributes)return null;let r=e.attributes;if(t){let o=`${t}:${n}`;if(o in r)return r[o]}return n in r?r[n]:null}function Fe(e){if(!e)return "";if("text"in e&&typeof e.text=="string")return e.text;if(!e.elements)return "";let t="";for(let n of e.elements)n.type==="text"&&"text"in n?t+=n.text??"":n.type==="element"&&(t+=Fe(n));return t}function w(e,t,n,r=1){let o=l(e,t,n);if(o===null)return;let i=parseInt(o,10);if(!isNaN(i))return i*r}function C(e,t="w"){if(!e)return false;let n=l(e,t,"val");return n===null?true:!(n==="0"||n==="false"||n==="off")}var ce={hyperlink:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",header:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",footer:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer"};function Se(e){let t=new Map;if(!e||e.trim().length===0)return t;let n=K(e);if(!n)return console.warn("Failed to parse relationships XML"),t;let r=N(n);for(let o of r){let i=o.name||"";if(!i.endsWith("Relationship")&&!i.includes(":Relationship"))continue;let s=l(o,null,"Id"),a=l(o,null,"Type"),c=l(o,null,"Target"),p=l(o,null,"TargetMode");if(!s||!a||!c){console.warn("Relationship missing required attributes:",{id:s,type:a,target:c});continue}let f={id:s,type:a,target:c};p==="External"?f.targetMode="External":p==="Internal"&&(f.targetMode="Internal"),t.set(s,f);}return t}function Mt(e){return e.type===ce.hyperlink&&e.targetMode==="External"}var Dt={dk1:"000000",lt1:"FFFFFF",dk2:"44546A",lt2:"E7E6E6",accent1:"4472C4",accent2:"ED7D31",accent3:"A5A5A5",accent4:"FFC000",accent5:"5B9BD5",accent6:"70AD47",hlink:"0563C1",folHlink:"954F72"},ve={majorFont:{latin:"Calibri Light",ea:"",cs:"",fonts:{}},minorFont:{latin:"Calibri",ea:"",cs:"",fonts:{}}},qe={name:"Office Theme",colorScheme:Dt,fontScheme:ve},Sr=["dk1","lt1","dk2","lt2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink"];function vr(e){if(!e)return null;switch(Ce(e.name||"")){case "srgbClr":return l(e,"a","val")??l(e,null,"val")??null;case "sysClr":{let n=l(e,"a","lastClr")??l(e,null,"lastClr");if(n)return n;switch(l(e,"a","val")??l(e,null,"val")){case "windowText":case "menuText":case "captionText":case "btnText":return "000000";case "window":case "menu":case "btnFace":case "btnHighlight":return "FFFFFF";case "highlight":return "0078D7";case "highlightText":return "FFFFFF";case "grayText":return "808080";default:return null}}case "schemeClr":{l(e,"a","val")??l(e,null,"val");return null}default:return null}}function kr(e){let t={...Dt};if(!e)return t;for(let n of Sr){let r=u(e,"a",n);if(r){let o=N(r);if(o.length>0){let i=vr(o[0]);i&&(t[n]=i);}}}return t}function It(e){let t={latin:"",ea:"",cs:"",fonts:{}};if(!e)return t;let n=u(e,"a","latin");n&&(t.latin=l(n,"a","typeface")??l(n,null,"typeface")??"");let r=u(e,"a","ea");r&&(t.ea=l(r,"a","typeface")??l(r,null,"typeface")??"");let o=u(e,"a","cs");o&&(t.cs=l(o,"a","typeface")??l(o,null,"typeface")??"");let i=D(e,"a","font");for(let s of i){let a=l(s,"a","script")??l(s,null,"script"),c=l(s,"a","typeface")??l(s,null,"typeface");a&&c&&(t.fonts=t.fonts||{},t.fonts[a]=c);}return t}function Pr(e){let t={...ve};if(!e)return t;let n=u(e,"a","majorFont");n&&(t.majorFont=It(n));let r=u(e,"a","minorFont");return r&&(t.minorFont=It(r)),t}function At(e){if(!e)return {...qe};try{let t=K(e);if(!t)return {...qe};let n=l(t,"a","name")??l(t,null,"name")??"Office Theme",r=u(t,"a","themeElements"),o=u(r,"a","clrScheme"),i=kr(o),s=u(r,"a","fontScheme"),a=Pr(s);return {name:n,colorScheme:i,fontScheme:a}}catch(t){return console.warn("Failed to parse theme:",t),{...qe}}}function Rr(e,t="latin"){if(!e?.fontScheme?.majorFont)return ve.majorFont?.latin??"Calibri Light";let n=e.fontScheme.majorFont;return t==="latin"?n.latin||"Calibri Light":t==="ea"?n.ea||"":t==="cs"?n.cs||"":n.fonts?.[t]?n.fonts[t]:n.latin||"Calibri Light"}function $t(e,t="latin"){if(!e?.fontScheme?.minorFont)return ve.minorFont?.latin??"Calibri";let n=e.fontScheme.minorFont;return t==="latin"?n.latin||"Calibri":t==="ea"?n.ea||"":t==="cs"?n.cs||"":n.fonts?.[t]?n.fonts[t]:n.latin||"Calibri"}function Y(e,t){if(!t)return "Calibri";let n=t.toLowerCase().includes("major"),r=t.toLowerCase().includes("minor"),o="latin",i=t.toLowerCase();return i.includes("eastasia")?o="ea":(i.includes("bidi")||i.includes("cs"))&&(o="cs"),n?Rr(e,o):r?$t(e,o):$t(e,"latin")}function ke(e,t){if(!e)return;let n={},r=u(e,"w","b");r&&(n.bold=C(r));let o=u(e,"w","bCs");o&&(n.boldCs=C(o));let i=u(e,"w","i");i&&(n.italic=C(i));let s=u(e,"w","iCs");s&&(n.italicCs=C(s));let a=u(e,"w","u");if(a){let M=l(a,"w","val");if(M){n.underline={style:M};let P=l(a,"w","color"),L=l(a,"w","themeColor");(P||L)&&(n.underline.color=Je(P,L,l(a,"w","themeTint"),l(a,"w","themeShade")));}}let c=u(e,"w","strike");c&&(n.strike=C(c));let p=u(e,"w","dstrike");p&&(n.doubleStrike=C(p));let f=u(e,"w","vertAlign");if(f){let M=l(f,"w","val");(M==="superscript"||M==="subscript"||M==="baseline")&&(n.vertAlign=M);}let d=u(e,"w","smallCaps");d&&(n.smallCaps=C(d));let h=u(e,"w","caps");h&&(n.allCaps=C(h));let g=u(e,"w","vanish");g&&(n.hidden=C(g));let m=u(e,"w","color");m&&(n.color=Je(l(m,"w","val"),l(m,"w","themeColor"),l(m,"w","themeTint"),l(m,"w","themeShade")));let y=u(e,"w","highlight");if(y){let M=l(y,"w","val");M&&(n.highlight=M);}let k=u(e,"w","shd");k&&(n.shading=Pe(k));let S=u(e,"w","sz");if(S){let M=w(S,"w","val");M!==void 0&&(n.fontSize=M);}let R=u(e,"w","szCs");if(R){let M=w(R,"w","val");M!==void 0&&(n.fontSizeCs=M);}let v=u(e,"w","rFonts");if(v){n.fontFamily={ascii:l(v,"w","ascii")??void 0,hAnsi:l(v,"w","hAnsi")??void 0,eastAsia:l(v,"w","eastAsia")??void 0,cs:l(v,"w","cs")??void 0};let M=l(v,"w","asciiTheme");M&&(n.fontFamily.asciiTheme=M,t&&!n.fontFamily.ascii&&(n.fontFamily.ascii=Y(t,M)));let P=l(v,"w","hAnsiTheme");P&&(n.fontFamily.hAnsiTheme=P,t&&!n.fontFamily.hAnsi&&(n.fontFamily.hAnsi=Y(t,P)));let L=l(v,"w","eastAsiaTheme");L&&(n.fontFamily.eastAsiaTheme=L,t&&!n.fontFamily.eastAsia&&(n.fontFamily.eastAsia=Y(t,L)));let Z=l(v,"w","cstheme");Z&&(n.fontFamily.csTheme=Z,t&&!n.fontFamily.cs&&(n.fontFamily.cs=Y(t,Z)));}let x=u(e,"w","spacing");if(x){let M=w(x,"w","val");M!==void 0&&(n.spacing=M);}let b=u(e,"w","position");if(b){let M=w(b,"w","val");M!==void 0&&(n.position=M);}let F=u(e,"w","w");if(F){let M=w(F,"w","val");M!==void 0&&(n.scale=M);}let T=u(e,"w","kern");if(T){let M=w(T,"w","val");M!==void 0&&(n.kerning=M);}let E=u(e,"w","effect");if(E){let M=l(E,"w","val");M&&(n.effect=M);}let I=u(e,"w","em");if(I){let M=l(I,"w","val");M&&(n.emphasisMark=M);}let $=u(e,"w","emboss");$&&(n.emboss=C($));let A=u(e,"w","imprint");A&&(n.imprint=C(A));let H=u(e,"w","outline");H&&(n.outline=C(H));let J=u(e,"w","shadow");J&&(n.shadow=C(J));let ne=u(e,"w","rtl");ne&&(n.rtl=C(ne));let X=u(e,"w","cs");X&&(n.cs=C(X));let V=u(e,"w","rStyle");if(V){let M=l(V,"w","val");M&&(n.styleId=M);}return Object.keys(n).length>0?n:void 0}function Je(e,t,n,r){let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),o}function Pe(e){if(!e)return;let t={},n=l(e,"w","color");n&&n!=="auto"&&(t.color={rgb:n});let r=l(e,"w","fill");r&&r!=="auto"&&(t.fill={rgb:r});let o=l(e,"w","themeFill");o&&(t.fill=t.fill||{},t.fill.themeColor=o);let i=l(e,"w","themeFillTint");i&&t.fill&&(t.fill.themeTint=i);let s=l(e,"w","themeFillShade");s&&t.fill&&(t.fill.themeShade=s);let a=l(e,"w","val");return a&&(t.pattern=a),Object.keys(t).length>0?t:void 0}function G(e){if(!e)return;let t=l(e,"w","val");if(!t)return;let n={style:t},r=l(e,"w","color"),o=l(e,"w","themeColor");(r||o)&&(n.color=Je(r,o,l(e,"w","themeTint"),l(e,"w","themeShade")));let i=w(e,"w","sz");i!==void 0&&(n.size=i);let s=w(e,"w","space");s!==void 0&&(n.space=s);let a=l(e,"w","shadow");a&&(n.shadow=a==="1"||a==="true");let c=l(e,"w","frame");return c&&(n.frame=c==="1"||c==="true"),n}function Er(e){if(!e)return;let t=D(e,"w","tab");if(t.length===0)return;let n=[];for(let r of t){let o=w(r,"w","pos"),i=l(r,"w","val");if(o!==void 0&&i){let s={position:o,alignment:i},a=l(r,"w","leader");a&&(s.leader=a),n.push(s);}}return n.length>0?n:void 0}function Ze(e,t){if(!e)return;let n={},r=u(e,"w","jc");if(r){let b=l(r,"w","val");b&&(n.alignment=b);}let o=u(e,"w","bidi");o&&(n.bidi=C(o));let i=u(e,"w","spacing");if(i){let b=w(i,"w","before");b!==void 0&&(n.spaceBefore=b);let F=w(i,"w","after");F!==void 0&&(n.spaceAfter=F);let T=w(i,"w","line");T!==void 0&&(n.lineSpacing=T);let E=l(i,"w","lineRule");E&&(n.lineSpacingRule=E);let I=l(i,"w","beforeAutospacing");I&&(n.beforeAutospacing=I==="1"||I==="true");let $=l(i,"w","afterAutospacing");$&&(n.afterAutospacing=$==="1"||$==="true");}let s=u(e,"w","ind");if(s){let b=w(s,"w","left");b!==void 0&&(n.indentLeft=b);let F=w(s,"w","right");F!==void 0&&(n.indentRight=F);let T=w(s,"w","firstLine");T!==void 0&&(n.indentFirstLine=T);let E=w(s,"w","hanging");E!==void 0&&(n.indentFirstLine=-E,n.hangingIndent=true);}let a=u(e,"w","pBdr");if(a){let b={},F=G(u(a,"w","top"));F&&(b.top=F);let T=G(u(a,"w","bottom"));T&&(b.bottom=T);let E=G(u(a,"w","left"));E&&(b.left=E);let I=G(u(a,"w","right"));I&&(b.right=I);let $=G(u(a,"w","between"));$&&(b.between=$);let A=G(u(a,"w","bar"));A&&(b.bar=A),Object.keys(b).length>0&&(n.borders=b);}let c=u(e,"w","shd");c&&(n.shading=Pe(c));let p=u(e,"w","tabs");p&&(n.tabs=Er(p));let f=u(e,"w","keepNext");f&&(n.keepNext=C(f));let d=u(e,"w","keepLines");d&&(n.keepLines=C(d));let h=u(e,"w","widowControl");h&&(n.widowControl=C(h));let g=u(e,"w","pageBreakBefore");g&&(n.pageBreakBefore=C(g));let m=u(e,"w","contextualSpacing");m&&(n.contextualSpacing=C(m));let y=u(e,"w","numPr");if(y){let b=u(y,"w","numId"),F=u(y,"w","ilvl");if(b||F){if(n.numPr={},b){let T=w(b,"w","val");T!==void 0&&(n.numPr.numId=T);}if(F){let T=w(F,"w","val");T!==void 0&&(n.numPr.ilvl=T);}}}let k=u(e,"w","outlineLvl");if(k){let b=w(k,"w","val");b!==void 0&&(n.outlineLevel=b);}let S=u(e,"w","pStyle");if(S){let b=l(S,"w","val");b&&(n.styleId=b);}let R=u(e,"w","suppressLineNumbers");R&&(n.suppressLineNumbers=C(R));let v=u(e,"w","suppressAutoHyphens");v&&(n.suppressAutoHyphens=C(v));let x=u(e,"w","rPr");return x&&(n.runProperties=ke(x,t)),Object.keys(n).length>0?n:void 0}function Q(e){if(!e)return;let t=w(e,"w","w"),n=l(e,"w","type");if(t!==void 0&&n)return {value:t,type:n}}function Xt(e){if(!e)return;let t={},n=G(u(e,"w","top"));n&&(t.top=n);let r=G(u(e,"w","bottom"));r&&(t.bottom=r);let o=G(u(e,"w","left"));o&&(t.left=o);let i=G(u(e,"w","right"));i&&(t.right=i);let s=G(u(e,"w","insideH"));s&&(t.insideH=s);let a=G(u(e,"w","insideV"));return a&&(t.insideV=a),Object.keys(t).length>0?t:void 0}function Ht(e){if(!e)return;let t={},n=Q(u(e,"w","top"));n&&(t.top=n);let r=Q(u(e,"w","bottom"));r&&(t.bottom=r);let o=Q(u(e,"w","left"));o&&(t.left=o);let i=Q(u(e,"w","right"));return i&&(t.right=i),Object.keys(t).length>0?t:void 0}function Mr(e){if(!e)return;let t={},n=l(e,"w","val");if(n){let p=parseInt(n,16);isNaN(p)||(t.firstRow=(p&32)!==0,t.lastRow=(p&64)!==0,t.firstColumn=(p&128)!==0,t.lastColumn=(p&256)!==0,t.noHBand=(p&512)!==0,t.noVBand=(p&1024)!==0);}let r=l(e,"w","firstColumn");r&&(t.firstColumn=r==="1");let o=l(e,"w","firstRow");o&&(t.firstRow=o==="1");let i=l(e,"w","lastColumn");i&&(t.lastColumn=i==="1");let s=l(e,"w","lastRow");s&&(t.lastRow=s==="1");let a=l(e,"w","noHBand");a&&(t.noHBand=a==="1");let c=l(e,"w","noVBand");return c&&(t.noVBand=c==="1"),Object.keys(t).length>0?t:void 0}function Bt(e,t){if(!e)return;let n={},r=u(e,"w","tblW");r&&(n.width=Q(r));let o=u(e,"w","jc");if(o){let m=l(o,"w","val");(m==="left"||m==="center"||m==="right")&&(n.justification=m);}let i=u(e,"w","tblCellSpacing");i&&(n.cellSpacing=Q(i));let s=u(e,"w","tblInd");s&&(n.indent=Q(s));let a=u(e,"w","tblBorders");a&&(n.borders=Xt(a));let c=u(e,"w","tblCellMar");c&&(n.cellMargins=Ht(c));let p=u(e,"w","tblLayout");if(p){let m=l(p,"w","type");(m==="fixed"||m==="autofit")&&(n.layout=m);}let f=u(e,"w","tblStyle");if(f){let m=l(f,"w","val");m&&(n.styleId=m);}let d=u(e,"w","tblLook");d&&(n.look=Mr(d));let h=u(e,"w","shd");h&&(n.shading=Pe(h));let g=u(e,"w","bidiVisual");return g&&(n.bidi=C(g)),Object.keys(n).length>0?n:void 0}function Lt(e){if(!e)return;let t={},n=u(e,"w","trHeight");if(n){t.height=Q(n);let a=l(n,"w","hRule");a&&(t.heightRule=a);}let r=u(e,"w","tblHeader");r&&(t.header=C(r));let o=u(e,"w","cantSplit");o&&(t.cantSplit=C(o));let i=u(e,"w","jc");if(i){let a=l(i,"w","val");(a==="left"||a==="center"||a==="right")&&(t.justification=a);}let s=u(e,"w","hidden");return s&&(t.hidden=C(s)),Object.keys(t).length>0?t:void 0}function Nt(e,t){if(!e)return;let n={},r=u(e,"w","tcW");r&&(n.width=Q(r));let o=u(e,"w","tcBorders");o&&(n.borders=Xt(o));let i=u(e,"w","tcMar");i&&(n.margins=Ht(i));let s=u(e,"w","shd");s&&(n.shading=Pe(s));let a=u(e,"w","vAlign");if(a){let m=l(a,"w","val");(m==="top"||m==="center"||m==="bottom")&&(n.verticalAlign=m);}let c=u(e,"w","textDirection");if(c){let m=l(c,"w","val");m&&(n.textDirection=m);}let p=u(e,"w","gridSpan");if(p){let m=w(p,"w","val");m!==void 0&&(n.gridSpan=m);}let f=u(e,"w","vMerge");if(f){let m=l(f,"w","val");n.vMerge=m==="restart"?"restart":"continue";}let d=u(e,"w","tcFitText");d&&(n.fitText=C(d));let h=u(e,"w","noWrap");h&&(n.noWrap=C(h));let g=u(e,"w","hideMark");return g&&(n.hideMark=C(g)),Object.keys(n).length>0?n:void 0}function Ir(e,t){let n={styleId:l(e,"w","styleId")??"",type:l(e,"w","type")??"paragraph"},r=l(e,"w","default");r&&(n.default=r==="1"||r==="true");let o=u(e,"w","name");o&&(n.name=l(o,"w","val")??void 0);let i=u(e,"w","basedOn");i&&(n.basedOn=l(i,"w","val")??void 0);let s=u(e,"w","next");s&&(n.next=l(s,"w","val")??void 0);let a=u(e,"w","link");a&&(n.link=l(a,"w","val")??void 0);let c=u(e,"w","uiPriority");if(c){let x=w(c,"w","val");x!==void 0&&(n.uiPriority=x);}let p=u(e,"w","hidden");p&&(n.hidden=C(p));let f=u(e,"w","semiHidden");f&&(n.semiHidden=C(f));let d=u(e,"w","unhideWhenUsed");d&&(n.unhideWhenUsed=C(d));let h=u(e,"w","qFormat");h&&(n.qFormat=C(h));let g=u(e,"w","personal");g&&(n.personal=C(g));let m=u(e,"w","pPr");m&&(n.pPr=Ze(m,t));let y=u(e,"w","rPr");y&&(n.rPr=ke(y,t));let k=u(e,"w","tblPr");k&&(n.tblPr=Bt(k));let S=u(e,"w","trPr");S&&(n.trPr=Lt(S));let R=u(e,"w","tcPr");R&&(n.tcPr=Nt(R));let v=D(e,"w","tblStylePr");if(v.length>0){n.tblStylePr=[];for(let x of v){let b=l(x,"w","type");if(b){let F={type:b},T=u(x,"w","pPr");T&&(F.pPr=Ze(T,t));let E=u(x,"w","rPr");E&&(F.rPr=ke(E,t));let I=u(x,"w","tblPr");I&&(F.tblPr=Bt(I));let $=u(x,"w","trPr");$&&(F.trPr=Lt($));let A=u(x,"w","tcPr");A&&(F.tcPr=Nt(A)),n.tblStylePr.push(F);}}}return n}function $r(e,t){if(!e)return;let n={},r=u(e,"w","rPrDefault");if(r){let i=u(r,"w","rPr");i&&(n.rPr=ke(i,t));}let o=u(e,"w","pPrDefault");if(o){let i=u(o,"w","pPr");i&&(n.pPr=Ze(i,t));}return n.rPr||n.pPr?n:void 0}function Ot(e,t){if(!t)return e;if(!e)return t?{...t}:void 0;let n={...e};for(let r of Object.keys(t)){let o=t[r];o!==void 0&&(n[r]=typeof o=="object"&&o!==null?{...n[r]||{},...o}:o);}return n}function Dr(e,t){if(!t)return e;if(!e)return t?{...t}:void 0;let n={...e};for(let r of Object.keys(t)){let o=t[r];if(o!==void 0)if(r==="runProperties")n.runProperties=Ot(n.runProperties,t.runProperties);else if(r==="borders"||r==="numPr"||r==="frame"){let i=n[r],s=o;n[r]={...i||{},...s||{}};}else r==="tabs"&&Array.isArray(o)?n.tabs=[...o]:n[r]=o;}return n}function jt(e,t,n,r=new Set){if(r.has(e.styleId)||(r.add(e.styleId),!e.basedOn))return e;let o=t.get(e.basedOn);if(!o)return e;let i=jt(o,t,n,r),s={...e,pPr:Dr(i.pPr,e.pPr),rPr:Ot(i.rPr,e.rPr)};return e.type==="table"&&((i.tblPr||e.tblPr)&&(s.tblPr={...i.tblPr||{},...e.tblPr||{}}),(i.trPr||e.trPr)&&(s.trPr={...i.trPr||{},...e.trPr||{}}),(i.tcPr||e.tcPr)&&(s.tcPr={...i.tcPr||{},...e.tcPr||{}})),s}function Ye(e,t){let n=new Map;try{let r=K(e);if(!r)return n;let o=D(r,"w","style");for(let i of o){let s=Ir(i,t);s.styleId&&n.set(s.styleId,s);}for(let[i,s]of n){let a=jt(s,n,t);n.set(i,a);}}catch(r){console.warn("Failed to parse styles:",r);}return n}function zt(e,t){let n={styles:[]};try{let r=K(e);if(!r)return n;let o=u(r,"w","docDefaults");n.docDefaults=$r(o,t);let i=u(r,"w","latentStyles");i&&(n.latentStyles={defLockedState:l(i,"w","defLockedState")==="1",defUIPriority:w(i,"w","defUIPriority"),defSemiHidden:l(i,"w","defSemiHidden")==="1",defUnhideWhenUsed:l(i,"w","defUnhideWhenUsed")==="1",defQFormat:l(i,"w","defQFormat")==="1",count:w(i,"w","count")});let s=Ye(e,t);n.styles=Array.from(s.values());}catch(r){console.warn("Failed to parse style definitions:",r);}return n}function Vt(e){let t={abstractNums:[],nums:[]};if(!e)return Ke(t);let n=K(e);if(!n)return Ke(t);let r=D(n,"w","abstractNum");for(let i of r){let s=Ar(i);s&&t.abstractNums.push(s);}let o=D(n,"w","num");for(let i of o){let s=Br(i);s&&t.nums.push(s);}return Ke(t)}function Ar(e){let t=l(e,"w","abstractNumId");if(t===null)return null;let n=parseInt(t,10);if(isNaN(n))return null;let r={abstractNumId:n,levels:[]},o=u(e,"w","multiLevelType");if(o){let p=l(o,"w","val");(p==="hybridMultilevel"||p==="multilevel"||p==="singleLevel")&&(r.multiLevelType=p);}let i=u(e,"w","name");i&&(r.name=l(i,"w","val")??void 0);let s=u(e,"w","numStyleLink");s&&(r.numStyleLink=l(s,"w","val")??void 0);let a=u(e,"w","styleLink");a&&(r.styleLink=l(a,"w","val")??void 0);let c=D(e,"w","lvl");for(let p of c){let f=Wt(p);f&&r.levels.push(f);}return r.levels.sort((p,f)=>p.ilvl-f.ilvl),r}function Br(e){let t=l(e,"w","numId");if(t===null)return null;let n=parseInt(t,10);if(isNaN(n))return null;let r=u(e,"w","abstractNumId");if(!r)return null;let o=l(r,"w","val");if(o===null)return null;let i=parseInt(o,10);if(isNaN(i))return null;let s={numId:n,abstractNumId:i},a=D(e,"w","lvlOverride");if(a.length>0){s.levelOverrides=[];for(let c of a){let p=l(c,"w","ilvl");if(p===null)continue;let f=parseInt(p,10);if(isNaN(f))continue;let d={ilvl:f},h=u(c,"w","startOverride");if(h){let m=l(h,"w","val");if(m!==null){let y=parseInt(m,10);isNaN(y)||(d.startOverride=y);}}let g=u(c,"w","lvl");g&&(d.lvl=Wt(g)??void 0),s.levelOverrides.push(d);}}return s}function Wt(e){let t=l(e,"w","ilvl");if(t===null)return null;let n=parseInt(t,10);if(isNaN(n)||n<0||n>8)return null;let r={ilvl:n,numFmt:"decimal",lvlText:""},o=u(e,"w","start");if(o){let m=l(o,"w","val");if(m!==null){let y=parseInt(m,10);isNaN(y)||(r.start=y);}}let i=u(e,"w","numFmt");if(i){let m=l(i,"w","val");m&&(r.numFmt=Lr(m));}let s=u(e,"w","lvlText");s&&(r.lvlText=l(s,"w","val")??"");let a=u(e,"w","lvlJc");if(a){let m=l(a,"w","val");(m==="left"||m==="center"||m==="right")&&(r.lvlJc=m);}let c=u(e,"w","suff");if(c){let m=l(c,"w","val");(m==="tab"||m==="space"||m==="nothing")&&(r.suffix=m);}let p=u(e,"w","isLgl");p&&(r.isLgl=C(p));let f=u(e,"w","lvlRestart");if(f){let m=l(f,"w","val");if(m!==null){let y=parseInt(m,10);isNaN(y)||(r.lvlRestart=y);}}let d=u(e,"w","legacy");d&&(r.legacy={legacy:C(d),legacySpace:w(d,"w","legacySpace"),legacyIndent:w(d,"w","legacyIndent")});let h=u(e,"w","pPr");h&&(r.pPr=Nr(h));let g=u(e,"w","rPr");return g&&(r.rPr=Or(g)),r}function Lr(e){return {decimal:"decimal",upperRoman:"upperRoman",lowerRoman:"lowerRoman",upperLetter:"upperLetter",lowerLetter:"lowerLetter",ordinal:"ordinal",cardinalText:"cardinalText",ordinalText:"ordinalText",hex:"hex",chicago:"chicago",bullet:"bullet",none:"none",decimalZero:"decimalZero",ganada:"ganada",chosung:"chosung",ideographDigital:"ideographDigital",japaneseCounting:"japaneseCounting",aiueo:"aiueo",iroha:"iroha",decimalFullWidth:"decimalFullWidth",decimalHalfWidth:"decimalHalfWidth",japaneseLegal:"japaneseLegal",japaneseDigitalTenThousand:"japaneseDigitalTenThousand",decimalEnclosedCircle:"decimalEnclosedCircle",decimalFullWidth2:"decimalFullWidth2",aiueoFullWidth:"aiueoFullWidth",irohaFullWidth:"irohaFullWidth",decimalEnclosedFullstop:"decimalEnclosedFullstop",decimalEnclosedParen:"decimalEnclosedParen",decimalEnclosedCircleChinese:"decimalEnclosedCircleChinese",ideographEnclosedCircle:"ideographEnclosedCircle",ideographTraditional:"ideographTraditional",ideographZodiac:"ideographZodiac",ideographZodiacTraditional:"ideographZodiacTraditional",taiwaneseCounting:"taiwaneseCounting",ideographLegalTraditional:"ideographLegalTraditional",taiwaneseCountingThousand:"taiwaneseCountingThousand",taiwaneseDigital:"taiwaneseDigital",chineseCounting:"chineseCounting",chineseLegalSimplified:"chineseLegalSimplified",chineseCountingThousand:"chineseCountingThousand",koreanDigital:"koreanDigital",koreanCounting:"koreanCounting",koreanLegal:"koreanLegal",koreanDigital2:"koreanDigital2",vietnameseCounting:"vietnameseCounting",russianLower:"russianLower",russianUpper:"russianUpper",numberInDash:"numberInDash",hebrew1:"hebrew1",hebrew2:"hebrew2",arabicAlpha:"arabicAlpha",arabicAbjad:"arabicAbjad",hindiVowels:"hindiVowels",hindiConsonants:"hindiConsonants",hindiNumbers:"hindiNumbers",hindiCounting:"hindiCounting",thaiLetters:"thaiLetters",thaiNumbers:"thaiNumbers",thaiCounting:"thaiCounting"}[e]??"decimal"}function Nr(e){let t={},n=u(e,"w","ind");if(n){let o=w(n,"w","left"),i=w(n,"w","right"),s=w(n,"w","firstLine"),a=w(n,"w","hanging");o!==void 0&&(t.indentLeft=o),i!==void 0&&(t.indentRight=i),a!==void 0?(t.indentFirstLine=-a,t.hangingIndent=true):s!==void 0&&(t.indentFirstLine=s);}let r=u(e,"w","tabs");if(r){t.tabs=[];let o=D(r,"w","tab");for(let i of o){let s=w(i,"w","pos"),a=l(i,"w","val"),c=l(i,"w","leader");s!==void 0&&a&&t.tabs.push({position:s,alignment:Xr(a),leader:Hr(c)});}}return t}function Xr(e){switch(e){case "left":return "left";case "center":return "center";case "right":return "right";case "decimal":return "decimal";case "bar":return "bar";case "clear":return "clear";case "num":return "num";default:return "left"}}function Hr(e){if(e)switch(e){case "none":return "none";case "dot":return "dot";case "hyphen":return "hyphen";case "underscore":return "underscore";case "heavy":return "heavy";case "middleDot":return "middleDot";default:return}}function Or(e){let t={},n=u(e,"w","rFonts");n&&(t.fontFamily={ascii:l(n,"w","ascii")??void 0,hAnsi:l(n,"w","hAnsi")??void 0,eastAsia:l(n,"w","eastAsia")??void 0,cs:l(n,"w","cs")??void 0});let r=u(e,"w","sz");if(r){let a=w(r,"w","val");a!==void 0&&(t.fontSize=a);}let o=u(e,"w","color");if(o){let a=l(o,"w","val"),c=l(o,"w","themeColor");a==="auto"?t.color={auto:true}:c?t.color={themeColor:c,themeTint:l(o,"w","themeTint")??void 0,themeShade:l(o,"w","themeShade")??void 0}:a&&(t.color={rgb:a});}let i=u(e,"w","b");i&&(t.bold=C(i));let s=u(e,"w","i");return s&&(t.italic=C(s)),t}function Ke(e){let t=new Map;for(let r of e.abstractNums)t.set(r.abstractNumId,r);let n=new Map;for(let r of e.nums)n.set(r.numId,r);return {definitions:e,getLevel(r,o){let i=n.get(r);if(!i)return null;if(i.levelOverrides){let a=i.levelOverrides.find(c=>c.ilvl===o);if(a){if(a.lvl)return a.lvl;let c=t.get(i.abstractNumId);if(c){let p=c.levels.find(f=>f.ilvl===o);if(p&&a.startOverride!==void 0)return {...p,start:a.startOverride}}}}let s=t.get(i.abstractNumId);return s?s.levels.find(a=>a.ilvl===o)??null:null},getAbstract(r){return t.get(r)??null},hasNumbering(r){return n.has(r)}}}function jr(e){if(!e)return;let t=parseInt(e,10);if(!isNaN(t))return t/6e4}function B(e,t){let n=N(e);for(let r of n)if(r.name===t)return r;return null}function zr(e,t){let n=N(e);for(let r of n)if(t.includes(r.name||""))return r;return null}function _t(e){if(!e)return {width:0,height:0};let t=w(e,null,"cx")??0,n=w(e,null,"cy")??0;return {width:t,height:n}}function Ut(e){if(!e)return;let t=w(e,null,"l")??0,n=w(e,null,"t")??0,r=w(e,null,"r")??0,o=w(e,null,"b")??0;if(!(t===0&&n===0&&r===0&&o===0))return {left:t,top:n,right:r,bottom:o}}function Gt(e){if(!e)return {};let t=l(e,null,"id")??void 0,n=l(e,null,"name")??void 0,r=l(e,null,"descr")??void 0,o=l(e,null,"title")??void 0,i=l(e,null,"decorative")==="1";return {id:t,name:n,alt:r,title:o,decorative:i||void 0}}function Vr(e){if(!e)return;let t=l(e,null,"relativeFrom")??"column",n=B(e,"wp:align");if(n){let o=n.elements?.[0]?.text??null;return {relativeTo:t,alignment:o}}let r=B(e,"wp:posOffset");if(r){let o=String(r.elements?.[0]?.text??"0"),i=parseInt(o,10);return {relativeTo:t,posOffset:isNaN(i)?0:i}}return {relativeTo:t}}function Wr(e){if(!e)return;let t=l(e,null,"relativeFrom")??"paragraph",n=B(e,"wp:align");if(n){let o=n.elements?.[0]?.text??null;return {relativeTo:t,alignment:o}}let r=B(e,"wp:posOffset");if(r){let o=String(r.elements?.[0]?.text??"0"),i=parseInt(o,10);return {relativeTo:t,posOffset:isNaN(i)?0:i}}return {relativeTo:t}}var _r=["wp:wrapNone","wp:wrapSquare","wp:wrapTight","wp:wrapThrough","wp:wrapTopAndBottom"];function Ur(e,t,n){if(!e){let k={type:t?"behind":"inFront"};return n?.distT!==void 0&&(k.distT=n.distT),n?.distB!==void 0&&(k.distB=n.distB),n?.distL!==void 0&&(k.distL=n.distL),n?.distR!==void 0&&(k.distR=n.distR),k}let o=(e.name||"").replace("wp:",""),i=w(e,null,"distT")??void 0,s=w(e,null,"distB")??void 0,a=w(e,null,"distL")??void 0,c=w(e,null,"distR")??void 0,p=i??n?.distT,f=s??n?.distB,d=a??n?.distL,h=c??n?.distR,g=l(e,null,"wrapText")??void 0,m;switch(o){case "wrapNone":m=t?"behind":"inFront";break;case "wrapSquare":m="square";break;case "wrapTight":m="tight";break;case "wrapThrough":m="through";break;case "wrapTopAndBottom":m="topAndBottom";break;default:m="square";}let y={type:m};return g&&(y.wrapText=g),p!==void 0&&(y.distT=p),f!==void 0&&(y.distB=f),d!==void 0&&(y.distL=d),h!==void 0&&(y.distR=h),y}function qt(e){if(!e)return;let t=l(e,null,"rot"),n=l(e,null,"flipH")==="1",r=l(e,null,"flipV")==="1",o=jr(t);if(o===void 0&&!n&&!r)return;let i={};return o!==void 0&&(i.rotation=o),n&&(i.flipH=true),r&&(i.flipV=true),i}function Jt(e){let t=B(e,"a:graphic");if(!t)return null;let n=B(t,"a:graphicData");if(!n)return null;let r=B(n,"pic:pic");if(!r)return null;let o=B(r,"pic:blipFill");return o?B(o,"a:blip"):null}function Zt(e){if(!e)return "";let t=l(e,"r","embed");if(t)return t;let n=l(e,null,"embed");if(n)return n;let r=l(e,"r","link");return r||""}function Yt(e){let t=B(e,"a:graphic");if(!t)return null;let n=B(t,"a:graphicData");if(!n)return null;let r=B(n,"pic:pic");if(!r)return null;let o=B(r,"pic:spPr");return o?B(o,"a:xfrm"):null}function Gr(e){if(!e)return e;let t=e.replace(/^\/+/,"");return t.startsWith("media/")?t=`word/${t}`:t.startsWith("word/")||(t=`word/${t}`),t}function qr(e){let t=e.split(".").pop()?.toLowerCase()??"";return {png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",bmp:"image/bmp",tiff:"image/tiff",tif:"image/tiff",webp:"image/webp",svg:"image/svg+xml",emf:"image/x-emf",wmf:"image/x-wmf"}[t]??"application/octet-stream"}function Kt(e,t,n){if(!e||!t)return {};let r=t.get(e);if(!r)return {};let o=r.target;if(!o)return {};let i=Gr(o),s=o.split("/").pop(),a=(c,p)=>{let f=p.toLowerCase();for(let[d,h]of c.entries())if(d.toLowerCase()===f)return h};if(n){let c=a(n,i);if(c)return {src:c.dataUrl||c.base64,mimeType:c.mimeType,filename:s};let p=o.replace(/^\/+/,""),f=a(n,p);if(f)return {src:f.dataUrl||f.base64,mimeType:f.mimeType,filename:s};let d=`word/${p}`,h=a(n,d);if(h)return {src:h.dataUrl||h.base64,mimeType:h.mimeType,filename:s}}return {mimeType:qr(o),filename:s}}function Jr(e,t,n){let r=B(e,"wp:extent"),o=_t(r),i=B(e,"wp:effectExtent"),s=Ut(i),a=B(e,"wp:docPr"),c=Gt(a),p=Jt(e),f=Zt(p),d=Kt(f,t,n),h=Yt(e),g=qt(h),m=w(e,null,"distT")??void 0,y=w(e,null,"distB")??void 0,k=w(e,null,"distL")??void 0,S=w(e,null,"distR")??void 0,R={type:"inline"};m!==void 0&&(R.distT=m),y!==void 0&&(R.distB=y),k!==void 0&&(R.distL=k),S!==void 0&&(R.distR=S);let v={type:"image",rId:f,size:o,wrap:R};return c.id&&(v.id=c.id),c.alt&&(v.alt=c.alt),c.title&&(v.title=c.title),c.decorative&&(v.decorative=true),d.src&&(v.src=d.src),d.mimeType&&(v.mimeType=d.mimeType),d.filename&&(v.filename=d.filename),s&&(v.padding=s),g&&(v.transform=g),v}function Zr(e,t,n){let r=B(e,"wp:extent"),o=_t(r),i=B(e,"wp:effectExtent"),s=Ut(i),a=B(e,"wp:docPr"),c=Gt(a),p=l(e,null,"behindDoc")==="1",f={distT:w(e,null,"distT")??void 0,distB:w(e,null,"distB")??void 0,distL:w(e,null,"distL")??void 0,distR:w(e,null,"distR")??void 0},d=zr(e,_r),h=Ur(d,p,f),g=B(e,"wp:positionH"),m=B(e,"wp:positionV"),y=Vr(g),k=Wr(m),S;(y||k)&&(S={horizontal:y??{relativeTo:"column"},vertical:k??{relativeTo:"paragraph"}});let R=Jt(e),v=Zt(R),x=Kt(v,t,n),b=Yt(e),F=qt(b),T={type:"image",rId:v,size:o,wrap:h};return c.id&&(T.id=c.id),c.alt&&(T.alt=c.alt),c.title&&(T.title=c.title),c.decorative&&(T.decorative=true),x.src&&(T.src=x.src),x.mimeType&&(T.mimeType=x.mimeType),x.filename&&(T.filename=x.filename),S&&(T.position=S),s&&(T.padding=s),F&&(T.transform=F),T}function Yr(e,t,n){let r=N(e);for(let o of r){let i=o.name||"";if(i==="wp:inline")return Jr(o,t,n);if(i==="wp:anchor")return Zr(o,t,n)}return null}function Qt(e,t,n){return Yr(e,t,n)}function en(e,t,n,r){let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),o}function Kr(e){if(!e)return;let t={},n=l(e,"w","color");n&&n!=="auto"&&(t.color={rgb:n});let r=l(e,"w","fill");r&&r!=="auto"&&(t.fill={rgb:r});let o=l(e,"w","themeFill");o&&(t.fill=t.fill||{},t.fill.themeColor=o);let i=l(e,"w","themeFillTint");i&&t.fill&&(t.fill.themeTint=i);let s=l(e,"w","themeFillShade");s&&t.fill&&(t.fill.themeShade=s);let a=l(e,"w","val");return a&&(t.pattern=a),Object.keys(t).length>0?t:void 0}function Qe(e,t,n){if(!e)return;let r={},o=u(e,"w","b");o&&(r.bold=C(o));let i=u(e,"w","bCs");i&&(r.boldCs=C(i));let s=u(e,"w","i");s&&(r.italic=C(s));let a=u(e,"w","iCs");a&&(r.italicCs=C(a));let c=u(e,"w","u");if(c){let P=l(c,"w","val");if(P){r.underline={style:P};let L=l(c,"w","color"),Z=l(c,"w","themeColor");(L||Z)&&(r.underline.color=en(L,Z,l(c,"w","themeTint"),l(c,"w","themeShade")));}}let p=u(e,"w","strike");p&&(r.strike=C(p));let f=u(e,"w","dstrike");f&&(r.doubleStrike=C(f));let d=u(e,"w","vertAlign");if(d){let P=l(d,"w","val");(P==="superscript"||P==="subscript"||P==="baseline")&&(r.vertAlign=P);}let h=u(e,"w","smallCaps");h&&(r.smallCaps=C(h));let g=u(e,"w","caps");g&&(r.allCaps=C(g));let m=u(e,"w","vanish");m&&(r.hidden=C(m));let y=u(e,"w","color");y&&(r.color=en(l(y,"w","val"),l(y,"w","themeColor"),l(y,"w","themeTint"),l(y,"w","themeShade")));let k=u(e,"w","highlight");if(k){let P=l(k,"w","val");P&&(r.highlight=P);}let S=u(e,"w","shd");S&&(r.shading=Kr(S));let R=u(e,"w","sz");if(R){let P=w(R,"w","val");P!==void 0&&(r.fontSize=P);}let v=u(e,"w","szCs");if(v){let P=w(v,"w","val");P!==void 0&&(r.fontSizeCs=P);}let x=u(e,"w","rFonts");if(x){r.fontFamily={ascii:l(x,"w","ascii")??void 0,hAnsi:l(x,"w","hAnsi")??void 0,eastAsia:l(x,"w","eastAsia")??void 0,cs:l(x,"w","cs")??void 0};let P=l(x,"w","asciiTheme");P&&(r.fontFamily.asciiTheme=P,t&&!r.fontFamily.ascii&&(r.fontFamily.ascii=Y(t,P)));let L=l(x,"w","hAnsiTheme");L&&(r.fontFamily.hAnsiTheme=L,t&&!r.fontFamily.hAnsi&&(r.fontFamily.hAnsi=Y(t,L)));let Z=l(x,"w","eastAsiaTheme");Z&&(r.fontFamily.eastAsiaTheme=Z,t&&!r.fontFamily.eastAsia&&(r.fontFamily.eastAsia=Y(t,Z)));let ze=l(x,"w","cstheme");ze&&(r.fontFamily.csTheme=ze,t&&!r.fontFamily.cs&&(r.fontFamily.cs=Y(t,ze)));}let b=u(e,"w","spacing");if(b){let P=w(b,"w","val");P!==void 0&&(r.spacing=P);}let F=u(e,"w","position");if(F){let P=w(F,"w","val");P!==void 0&&(r.position=P);}let T=u(e,"w","w");if(T){let P=w(T,"w","val");P!==void 0&&(r.scale=P);}let E=u(e,"w","kern");if(E){let P=w(E,"w","val");P!==void 0&&(r.kerning=P);}let I=u(e,"w","effect");if(I){let P=l(I,"w","val");P&&(r.effect=P);}let $=u(e,"w","em");if($){let P=l($,"w","val");P&&(r.emphasisMark=P);}let A=u(e,"w","emboss");A&&(r.emboss=C(A));let H=u(e,"w","imprint");H&&(r.imprint=C(H));let J=u(e,"w","outline");J&&(r.outline=C(J));let ne=u(e,"w","shadow");ne&&(r.shadow=C(ne));let X=u(e,"w","rtl");X&&(r.rtl=C(X));let V=u(e,"w","cs");V&&(r.cs=C(V));let M=u(e,"w","rStyle");if(M){let P=l(M,"w","val");P&&(r.styleId=P);}return Object.keys(r).length>0?r:void 0}function Qr(e){let t=Fe(e),n=l(e,"xml","space")==="preserve";return {type:"text",text:t,preserveSpace:n||void 0}}function eo(){return {type:"tab"}}function to(e){let t=l(e,"w","type"),n=l(e,"w","clear"),r={type:"break"};return (t==="page"||t==="column"||t==="textWrapping")&&(r.breakType=t),(n==="none"||n==="left"||n==="right"||n==="all")&&(r.clear=n),r}function no(e){let t=l(e,"w","font")??"",n=l(e,"w","char")??"";return {type:"symbol",font:t,char:n}}function ro(e){return {type:"footnoteRef",id:w(e,"w","id")??0}}function oo(e){return {type:"endnoteRef",id:w(e,"w","id")??0}}function io(e){let t=l(e,"w","fldCharType"),n=l(e,"w","fldLock")==="true"||l(e,"w","fldLock")==="1",r=l(e,"w","dirty")==="true"||l(e,"w","dirty")==="1",o="begin";return t==="separate"?o="separate":t==="end"&&(o="end"),{type:"fieldChar",charType:o,fldLock:n||void 0,dirty:r||void 0}}function so(e){return {type:"instrText",text:Fe(e)}}function ao(e,t,n){let r=Qt(e,t??void 0,n??void 0);return r?{type:"drawing",image:r}:null}function lo(e){if(!e)return "";let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function co(e,t,n){let r=[],o=N(e);for(let i of o)switch(lo(i.name)){case "t":r.push(Qr(i));break;case "tab":r.push(eo());break;case "br":r.push(to(i));break;case "sym":r.push(no(i));break;case "footnoteReference":r.push(ro(i));break;case "endnoteReference":r.push(oo(i));break;case "fldChar":r.push(io(i));break;case "instrText":r.push(so(i));break;case "softHyphen":r.push({type:"softHyphen"});break;case "noBreakHyphen":r.push({type:"noBreakHyphen"});break;case "drawing":let a=ao(i,t,n);a&&r.push(a);break;case "pict":case "object":break;case "rPr":break;case "lastRenderedPageBreak":break;case "cr":r.push({type:"break",breakType:"textWrapping"});break;}return r}function ge(e,t,n,r=null,o=null){let i={type:"run",content:[]},s=u(e,"w","rPr");return s&&(i.formatting=Qe(s,n)),i.content=co(e,r,o),i}function uo(e){if(!e)return "";let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function po(e){let t=w(e,"w","id")??0,n=l(e,"w","name")??"",r={type:"bookmarkStart",id:t,name:n},o=w(e,"w","colFirst");o!==void 0&&(r.colFirst=o);let i=w(e,"w","colLast");return i!==void 0&&(r.colLast=i),r}function fo(e){return {type:"bookmarkEnd",id:w(e,"w","id")??0}}function tn(e,t,n=null,r=null,o=null){let i={type:"hyperlink",children:[]},s=l(e,"r","id");if(s&&(i.rId=s,t)){let g=t.get(s);g&&(Mt(g),i.href=g.target);}let a=l(e,"w","anchor");a&&(i.anchor=a,i.href||(i.href=`#${a}`));let c=l(e,"w","tooltip");c&&(i.tooltip=c);let p=l(e,"w","tgtFrame");p&&(i.target=p);let f=l(e,"w","history");(f==="1"||f==="true")&&(i.history=true);let d=l(e,"w","docLocation");d&&(i.docLocation=d);let h=N(e);for(let g of h)switch(uo(g.name)){case "r":i.children.push(ge(g,n,r,t,o));break;case "bookmarkStart":i.children.push(po(g));break;case "bookmarkEnd":i.children.push(fo(g));break}return i}function nn(e){let t=w(e,"w","id")??0,n=l(e,"w","name")??"",r={type:"bookmarkStart",id:t,name:n},o=w(e,"w","colFirst");o!==void 0&&(r.colFirst=o);let i=w(e,"w","colLast");return i!==void 0&&(r.colLast=i),r}function rn(e){return {type:"bookmarkEnd",id:w(e,"w","id")??0}}function mo(e){if(!e)return;let t=w(e,"w","w")??0,n=l(e,"w","type")??"dxa",r="dxa";return (n==="auto"||n==="dxa"||n==="nil"||n==="pct")&&(r=n),{value:t,type:r}}function ee(e){return mo(e)}function ue(e){if(!e)return;let r={style:l(e,"w","val")??"none"},o=w(e,"w","sz");o!==void 0&&(r.size=o);let i=w(e,"w","space");i!==void 0&&(r.space=i);let s=l(e,"w","color"),a=l(e,"w","themeColor"),c=l(e,"w","themeTint"),p=l(e,"w","themeShade");(s||a||c||p)&&(r.color={rgb:s??void 0,themeColor:a,themeTint:c??void 0,themeShade:p??void 0});let f=l(e,"w","shadow");(f==="1"||f==="true")&&(r.shadow=true);let d=l(e,"w","frame");return (d==="1"||d==="true")&&(r.frame=true),r}function on(e){if(!e)return;let t={},n=ue(u(e,"w","top"));n&&(t.top=n);let r=ue(u(e,"w","bottom"));r&&(t.bottom=r);let o=ue(u(e,"w","left")??u(e,"w","start"));o&&(t.left=o);let i=ue(u(e,"w","right")??u(e,"w","end"));i&&(t.right=i);let s=ue(u(e,"w","insideH"));s&&(t.insideH=s);let a=ue(u(e,"w","insideV"));if(a&&(t.insideV=a),Object.keys(t).length!==0)return t}function sn(e){if(!e)return;let t={},n=ee(u(e,"w","top"));n&&(t.top=n);let r=ee(u(e,"w","bottom"));r&&(t.bottom=r);let o=ee(u(e,"w","left")??u(e,"w","start"));o&&(t.left=o);let i=ee(u(e,"w","right")??u(e,"w","end"));if(i&&(t.right=i),Object.keys(t).length!==0)return t}function an(e){if(!e)return;let t={},n=l(e,"w","fill");n&&n!=="auto"&&(t.fill={rgb:n});let r=l(e,"w","themeFill");if(r){t.fill={themeColor:r};let s=l(e,"w","themeFillTint");s&&t.fill&&(t.fill.themeTint=s);let a=l(e,"w","themeFillShade");a&&t.fill&&(t.fill.themeShade=a);}let o=l(e,"w","color");o&&o!=="auto"&&(t.color={rgb:o});let i=l(e,"w","val");if(i&&(t.pattern=i),Object.keys(t).length!==0)return t}function ho(e){if(!e)return;let t={},n=l(e,"w","firstRow");(n==="1"||n==="true")&&(t.firstRow=true);let r=l(e,"w","lastRow");(r==="1"||r==="true")&&(t.lastRow=true);let o=l(e,"w","firstColumn");(o==="1"||o==="true")&&(t.firstColumn=true);let i=l(e,"w","lastColumn");(i==="1"||i==="true")&&(t.lastColumn=true);let s=l(e,"w","noHBand");(s==="1"||s==="true")&&(t.noHBand=true);let a=l(e,"w","noVBand");(a==="1"||a==="true")&&(t.noVBand=true);let c=l(e,"w","val");if(c){let p=parseInt(c,16);isNaN(p)||(p&32&&(t.firstRow=true),p&64&&(t.lastRow=true),p&128&&(t.firstColumn=true),p&256&&(t.lastColumn=true),p&512&&(t.noHBand=true),p&1024&&(t.noVBand=true));}if(Object.keys(t).length!==0)return t}function go(e){if(!e)return;let t={},n=l(e,"w","horzAnchor");(n==="margin"||n==="page"||n==="text")&&(t.horzAnchor=n);let r=l(e,"w","vertAnchor");(r==="margin"||r==="page"||r==="text")&&(t.vertAnchor=r);let o=w(e,"w","tblpX");o!==void 0&&(t.tblpX=o);let i=l(e,"w","tblpXSpec");i&&(t.tblpXSpec=i);let s=w(e,"w","tblpY");s!==void 0&&(t.tblpY=s);let a=l(e,"w","tblpYSpec");a&&(t.tblpYSpec=a);let c=w(e,"w","topFromText");c!==void 0&&(t.topFromText=c);let p=w(e,"w","bottomFromText");p!==void 0&&(t.bottomFromText=p);let f=w(e,"w","leftFromText");f!==void 0&&(t.leftFromText=f);let d=w(e,"w","rightFromText");if(d!==void 0&&(t.rightFromText=d),Object.keys(t).length!==0)return t}function wo(e){if(!e)return;let t={},n=ee(u(e,"w","tblW"));n&&(t.width=n);let r=u(e,"w","jc");if(r){let y=l(r,"w","val");(y==="left"||y==="center"||y==="right"||y==="start")&&(t.justification=y==="start"?"left":y);}let o=ee(u(e,"w","tblCellSpacing"));o&&(t.cellSpacing=o);let i=ee(u(e,"w","tblInd"));i&&(t.indent=i);let s=on(u(e,"w","tblBorders"));s&&(t.borders=s);let a=sn(u(e,"w","tblCellMar"));a&&(t.cellMargins=a);let c=u(e,"w","tblLayout");if(c){let y=l(c,"w","type");(y==="fixed"||y==="autofit")&&(t.layout=y);}let p=u(e,"w","tblStyle");if(p){let y=l(p,"w","val");y&&(t.styleId=y);}let f=ho(u(e,"w","tblLook"));f&&(t.look=f);let d=an(u(e,"w","shd"));d&&(t.shading=d);let h=u(e,"w","tblOverlap");if(h){let y=l(h,"w","val");(y==="never"||y==="overlap")&&(t.overlap=y);}let g=go(u(e,"w","tblpPr"));if(g&&(t.floating=g),C(u(e,"w","bidiVisual"))&&(t.bidi=true),Object.keys(t).length!==0)return t}function yo(e){if(!e)return;let t={},n=u(e,"w","trHeight");if(n){let c=ee(n);c&&(t.height=c);let p=l(n,"w","hRule");(p==="auto"||p==="atLeast"||p==="exact")&&(t.heightRule=p);}C(u(e,"w","tblHeader"))&&(t.header=true),C(u(e,"w","cantSplit"))&&(t.cantSplit=true);let i=u(e,"w","jc");if(i){let c=l(i,"w","val");(c==="left"||c==="center"||c==="right")&&(t.justification=c);}C(u(e,"w","hidden"))&&(t.hidden=true);let a=ln(u(e,"w","cnfStyle"));if(a&&(t.conditionalFormat=a),Object.keys(t).length!==0)return t}function ln(e){if(!e)return;let t={},n=l(e,"w","firstRow");(n==="1"||n==="true")&&(t.firstRow=true);let r=l(e,"w","lastRow");(r==="1"||r==="true")&&(t.lastRow=true);let o=l(e,"w","firstColumn");(o==="1"||o==="true")&&(t.firstColumn=true);let i=l(e,"w","lastColumn");(i==="1"||i==="true")&&(t.lastColumn=true);let s=l(e,"w","oddHBand");(s==="1"||s==="true")&&(t.oddHBand=true);let a=l(e,"w","evenHBand");(a==="1"||a==="true")&&(t.evenHBand=true);let c=l(e,"w","oddVBand");(c==="1"||c==="true")&&(t.oddVBand=true);let p=l(e,"w","evenVBand");(p==="1"||p==="true")&&(t.evenVBand=true);let f=l(e,"w","firstRowFirstColumn");(f==="1"||f==="true")&&(t.nwCell=true);let d=l(e,"w","firstRowLastColumn");(d==="1"||d==="true")&&(t.neCell=true);let h=l(e,"w","lastRowFirstColumn");(h==="1"||h==="true")&&(t.swCell=true);let g=l(e,"w","lastRowLastColumn");(g==="1"||g==="true")&&(t.seCell=true);let m=l(e,"w","val");if(m&&m.length===12&&(m[0]==="1"&&(t.firstRow=true),m[1]==="1"&&(t.lastRow=true),m[2]==="1"&&(t.firstColumn=true),m[3]==="1"&&(t.lastColumn=true),m[4]==="1"&&(t.oddVBand=true),m[5]==="1"&&(t.evenVBand=true),m[6]==="1"&&(t.oddHBand=true),m[7]==="1"&&(t.evenHBand=true),m[8]==="1"&&(t.nwCell=true),m[9]==="1"&&(t.neCell=true),m[10]==="1"&&(t.swCell=true),m[11]==="1"&&(t.seCell=true)),Object.keys(t).length!==0)return t}function xo(e){if(!e)return;let t={},n=ee(u(e,"w","tcW"));n&&(t.width=n);let r=on(u(e,"w","tcBorders"));r&&(t.borders=r);let o=sn(u(e,"w","tcMar"));o&&(t.margins=o);let i=an(u(e,"w","shd"));i&&(t.shading=i);let s=u(e,"w","vAlign");if(s){let m=l(s,"w","val");(m==="top"||m==="center"||m==="bottom")&&(t.verticalAlign=m);}let a=u(e,"w","textDirection");if(a){let m=l(a,"w","val");m&&(t.textDirection=m);}let c=u(e,"w","gridSpan");if(c){let m=w(c,"w","val");m!==void 0&&m>1&&(t.gridSpan=m);}let p=u(e,"w","vMerge");p&&(l(p,"w","val")==="restart"?t.vMerge="restart":t.vMerge="continue"),C(u(e,"w","tcFitText"))&&(t.fitText=true),C(u(e,"w","noWrap"))&&(t.noWrap=true),C(u(e,"w","hideMark"))&&(t.hideMark=true);let g=ln(u(e,"w","cnfStyle"));if(g&&(t.conditionalFormat=g),Object.keys(t).length!==0)return t}function bo(e,t,n,r,o,i){let s=[],a=e.elements||[];for(let c of a){if(!c.name)continue;let p=c.name.split(":").pop();if(p==="p"){let f=q(c,t,n,r,o,i);s.push(f);}else if(p==="tbl"){let f=we(c,t,n,r,o,i);s.push(f);}}return s.length===0&&s.push({type:"paragraph",content:[]}),s}function To(e,t,n,r,o,i){let s={type:"tableCell",content:[]},a=xo(u(e,"w","tcPr"));return a&&(s.formatting=a),s.content=bo(e,t,n,r,o,i),s}function Co(e,t,n,r,o,i){let s={type:"tableRow",cells:[]},a=yo(u(e,"w","trPr"));a&&(s.formatting=a);let c=D(e,"w","tc");for(let p of c){let f=To(p,t,n,r,o,i);s.cells.push(f);}return s}function Fo(e){if(!e)return;let t=[],n=D(e,"w","gridCol");for(let r of n){let o=w(r,"w","w")??0;t.push(o);}return t.length>0?t:void 0}function we(e,t,n,r,o,i){let s={type:"table",rows:[]},a=wo(u(e,"w","tblPr"));a&&(s.formatting=a);let c=Fo(u(e,"w","tblGrid"));c&&(s.columnWidths=c);let p=D(e,"w","tr");for(let f of p){let d=Co(f,t,n,r,o,i);s.rows.push(d);}return s}function cn(e){switch(e){case "first":return "first";case "even":return "even";default:return "default"}}function un(e){let t=l(e,"w","type"),n=l(e,"r","id")??"";return {type:cn(t),rId:n}}function pn(e){let t=l(e,"w","type"),n=l(e,"r","id")??"";return {type:cn(t),rId:n}}function et(e,t,n,r,o,i){let s=[],a=e.elements??[];for(let c of a){if(c.type!=="element")continue;let p=c.name??"";if(p==="w:p"||p.endsWith(":p")){let f=q(c,t,n,r,o,i);s.push(f);}else if(p==="w:tbl"||p.endsWith(":tbl")){let f=we(c,t,n,r,o,i);s.push(f);}else if(p==="w:sdt"||p.endsWith(":sdt")){let f=(c.elements??[]).find(d=>d.type==="element"&&(d.name==="w:sdtContent"||d.name?.endsWith(":sdtContent")));if(f){let d=et(f,t,n,r,o,i);s.push(...d);}}}return s}function fn(e,t="default",n=null,r=null,o=null,i=null,s=null){let a={type:"header",hdrFtrType:t,content:[]};if(!e)return a;let c=U(e);if(!c)return a;let p=c.elements?.find(f=>f.type==="element"&&(f.name==="w:hdr"||f.name?.endsWith(":hdr")));return p&&(a.content=et(p,n,r,o,i,s)),a}function dn(e,t="default",n=null,r=null,o=null,i=null,s=null){let a={type:"footer",hdrFtrType:t,content:[]};if(!e)return a;let c=U(e);if(!c)return a;let p=c.elements?.find(f=>f.type==="element"&&(f.name==="w:ftr"||f.name?.endsWith(":ftr")));return p&&(a.content=et(p,n,r,o,i,s)),a}function mn(e){switch(e){case "separator":return "separator";case "continuationSeparator":return "continuationSeparator";case "continuationNotice":return "continuationNotice";default:return "normal"}}function So(e,t,n,r,o,i){let s=w(e,"w","id")??0,a=l(e,"w","type"),c=mn(a),f=D(e,"w","p").map(d=>q(d,t,n,r,o));return {type:"footnote",id:s,noteType:c,content:f}}function hn(e,t=null,n=null,r=null,o=null,i=null){let s=new Map,a=[];if(!e)return Re(s,a);let c=U(e);if(!c)return Re(s,a);let p=c.elements?.find(d=>d.type==="element"&&(d.name==="w:footnotes"||d.name?.endsWith(":footnotes")));if(!p)return Re(s,a);let f=D(p,"w","footnote");for(let d of f){let h=So(d,t,n,r,o);s.set(h.id,h),a.push(h);}return Re(s,a)}function Re(e,t){return {byId:e,footnotes:t,getFootnote(n){return e.get(n)},hasFootnote(n){return e.has(n)},getNormalFootnotes(){return t.filter(n=>n.noteType==="normal")},getSeparator(){return t.find(n=>n.noteType==="separator")},getContinuationSeparator(){return t.find(n=>n.noteType==="continuationSeparator")}}}function vo(e,t,n,r,o,i){let s=w(e,"w","id")??0,a=l(e,"w","type"),c=mn(a),f=D(e,"w","p").map(d=>q(d,t,n,r,o));return {type:"endnote",id:s,noteType:c,content:f}}function gn(e,t=null,n=null,r=null,o=null,i=null){let s=new Map,a=[];if(!e)return Ee(s,a);let c=U(e);if(!c)return Ee(s,a);let p=c.elements?.find(d=>d.type==="element"&&(d.name==="w:endnotes"||d.name?.endsWith(":endnotes")));if(!p)return Ee(s,a);let f=D(p,"w","endnote");for(let d of f){let h=vo(d,t,n,r,o);s.set(h.id,h),a.push(h);}return Ee(s,a)}function Ee(e,t){return {byId:e,endnotes:t,getEndnote(n){return e.get(n)},hasEndnote(n){return e.has(n)},getNormalEndnotes(){return t.filter(n=>n.noteType==="normal")},getSeparator(){return t.find(n=>n.noteType==="separator")},getContinuationSeparator(){return t.find(n=>n.noteType==="continuationSeparator")}}}function wn(e){return e?{decimal:"decimal",upperRoman:"upperRoman",lowerRoman:"lowerRoman",upperLetter:"upperLetter",lowerLetter:"lowerLetter",ordinal:"ordinal",cardinalText:"cardinalText",ordinalText:"ordinalText",bullet:"bullet",chicago:"chicago",none:"none"}[e]:void 0}function ko(e){switch(e){case "pageBottom":return "pageBottom";case "beneathText":return "beneathText";case "sectEnd":return "sectEnd";case "docEnd":return "docEnd";default:return}}function Po(e){switch(e){case "sectEnd":return "sectEnd";case "docEnd":return "docEnd";default:return}}function yn(e){switch(e){case "continuous":return "continuous";case "eachSect":return "eachSect";case "eachPage":return "eachPage";default:return}}function xn(e){let t={};if(!e)return t;let n=u(e,"w","pos");if(n){let s=l(n,"w","val");t.position=ko(s);}let r=u(e,"w","numFmt");if(r){let s=l(r,"w","val");t.numFmt=wn(s);}let o=u(e,"w","numStart");o&&(t.numStart=w(o,"w","val")??void 0);let i=u(e,"w","numRestart");if(i){let s=l(i,"w","val");t.numRestart=yn(s);}return t}function bn(e){let t={};if(!e)return t;let n=u(e,"w","pos");if(n){let s=l(n,"w","val");t.position=Po(s);}let r=u(e,"w","numFmt");if(r){let s=l(r,"w","val");t.numFmt=wn(s);}let o=u(e,"w","numStart");o&&(t.numStart=w(o,"w","val")??void 0);let i=u(e,"w","numRestart");if(i){let s=l(i,"w","val");t.numRestart=yn(s);}return t}function Ro(e,t,n,r){if(!e&&!t)return;let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),Object.keys(o).length>0?o:void 0}function Me(e){if(!e)return;let r={style:l(e,"w","val")??"none"},o=w(e,"w","sz");o!==void 0&&(r.size=o);let i=w(e,"w","space");i!==void 0&&(r.space=i);let s=l(e,"w","color"),a=l(e,"w","themeColor"),c=l(e,"w","themeTint"),p=l(e,"w","themeShade"),f=Ro(s,a,c,p);f&&(r.color=f);let d=l(e,"w","shadow");(d==="1"||d==="true")&&(r.shadow=true);let h=l(e,"w","frame");return (h==="1"||h==="true")&&(r.frame=true),r}function Eo(e){switch(e){case "landscape":return "landscape";case "portrait":return "portrait";default:return}}function Mo(e){switch(e){case "continuous":return "continuous";case "nextPage":return "nextPage";case "oddPage":return "oddPage";case "evenPage":return "evenPage";case "nextColumn":return "nextColumn";default:return}}function Io(e){switch(e){case "top":return "top";case "center":return "center";case "both":return "both";case "bottom":return "bottom";default:return}}function $o(e){switch(e){case "continuous":return "continuous";case "newPage":return "newPage";case "newSection":return "newSection";default:return}}function Ie(e,t){let n={};if(!e)return n;let r=u(e,"w","pgSz");if(r){let x=w(r,"w","w");x!==void 0&&(n.pageWidth=x);let b=w(r,"w","h");b!==void 0&&(n.pageHeight=b);let F=l(r,"w","orient"),T=Eo(F);T&&(n.orientation=T);}let o=u(e,"w","pgMar");if(o){let x=w(o,"w","top");x!==void 0&&(n.marginTop=x);let b=w(o,"w","bottom");b!==void 0&&(n.marginBottom=b);let F=w(o,"w","left");F!==void 0&&(n.marginLeft=F);let T=w(o,"w","right");T!==void 0&&(n.marginRight=T);let E=w(o,"w","header");E!==void 0&&(n.headerDistance=E);let I=w(o,"w","footer");I!==void 0&&(n.footerDistance=I);let $=w(o,"w","gutter");$!==void 0&&(n.gutter=$);}let i=u(e,"w","cols");if(i){let x=w(i,"w","num");x!==void 0&&(n.columnCount=x);let b=w(i,"w","space");b!==void 0&&(n.columnSpace=b);let F=l(i,"w","equalWidth");F==="1"||F==="true"?n.equalWidth=true:(F==="0"||F==="false")&&(n.equalWidth=false);let T=l(i,"w","sep");(T==="1"||T==="true")&&(n.separator=true);let E=D(i,"w","col");if(E.length>0){n.columns=[];for(let I of E){let $={},A=w(I,"w","w");A!==void 0&&($.width=A);let H=w(I,"w","space");H!==void 0&&($.space=H),n.columns.push($);}}}let s=u(e,"w","type");if(s){let x=l(s,"w","val"),b=Mo(x);b&&(n.sectionStart=b);}let a=u(e,"w","vAlign");if(a){let x=l(a,"w","val"),b=Io(x);b&&(n.verticalAlign=b);}let c=u(e,"w","bidi");c&&(n.bidi=C(c));let p=D(e,"w","headerReference");p.length>0&&(n.headerReferences=p.map(x=>un(x)));let f=D(e,"w","footerReference");f.length>0&&(n.footerReferences=f.map(x=>pn(x)));let d=u(e,"w","titlePg");d&&(n.titlePg=C(d));let h=u(e,"w","evenAndOddHeaders");h&&(n.evenAndOddHeaders=C(h));let g=u(e,"w","lnNumType");if(g){n.lineNumbers={};let x=w(g,"w","start");x!==void 0&&(n.lineNumbers.start=x);let b=w(g,"w","countBy");b!==void 0&&(n.lineNumbers.countBy=b);let F=w(g,"w","distance");F!==void 0&&(n.lineNumbers.distance=F);let T=l(g,"w","restart"),E=$o(T);E&&(n.lineNumbers.restart=E);}let m=u(e,"w","pgBorders");if(m){n.pageBorders={};let x=Me(u(m,"w","top"));x&&(n.pageBorders.top=x);let b=Me(u(m,"w","bottom"));b&&(n.pageBorders.bottom=b);let F=Me(u(m,"w","left"));F&&(n.pageBorders.left=F);let T=Me(u(m,"w","right"));T&&(n.pageBorders.right=T);let E=l(m,"w","display");(E==="allPages"||E==="firstPage"||E==="notFirstPage")&&(n.pageBorders.display=E);let I=l(m,"w","offsetFrom");(I==="page"||I==="text")&&(n.pageBorders.offsetFrom=I);let $=l(m,"w","zOrder");($==="front"||$==="back")&&(n.pageBorders.zOrder=$);}let y=u(e,"w","background");if(y){n.background={};let x=l(y,"w","color");x&&x!=="auto"&&(n.background.color={rgb:x});let b=l(y,"w","themeColor");b&&(n.background.themeColor=b);let F=l(y,"w","themeTint");F&&(n.background.themeTint=F);let T=l(y,"w","themeShade");T&&(n.background.themeShade=T);}let k=u(e,"w","footnotePr");if(k){let x=xn(k);Object.keys(x).length>0&&(n.footnotePr=x);}let S=u(e,"w","endnotePr");if(S){let x=bn(S);Object.keys(x).length>0&&(n.endnotePr=x);}let R=u(e,"w","docGrid");if(R){n.docGrid={};let x=l(R,"w","type");(x==="default"||x==="lines"||x==="linesAndChars"||x==="snapToChars")&&(n.docGrid.type=x);let b=w(R,"w","linePitch");b!==void 0&&(n.docGrid.linePitch=b);let F=w(R,"w","charSpace");F!==void 0&&(n.docGrid.charSpace=F);}let v=u(e,"w","paperSrc");if(v){let x=w(v,"w","first");x!==void 0&&(n.paperSrcFirst=x);let b=w(v,"w","other");b!==void 0&&(n.paperSrcOther=b);}return n}function Tn(){return {pageWidth:12240,pageHeight:15840,orientation:"portrait",marginTop:1440,marginBottom:1440,marginLeft:1440,marginRight:1440,headerDistance:720,footerDistance:720,gutter:0,columnCount:1,columnSpace:720,equalWidth:true,sectionStart:"nextPage",verticalAlign:"top"}}function Do(e,t){return !e&&!t?true:!(!e||!t||e.bold!==t.bold||e.boldCs!==t.boldCs||e.italic!==t.italic||e.italicCs!==t.italicCs||e.strike!==t.strike||e.doubleStrike!==t.doubleStrike||e.smallCaps!==t.smallCaps||e.allCaps!==t.allCaps||e.hidden!==t.hidden||e.emboss!==t.emboss||e.imprint!==t.imprint||e.outline!==t.outline||e.shadow!==t.shadow||e.rtl!==t.rtl||e.cs!==t.cs||e.fontSize!==t.fontSize||e.fontSizeCs!==t.fontSizeCs||e.spacing!==t.spacing||e.position!==t.position||e.scale!==t.scale||e.kerning!==t.kerning||e.vertAlign!==t.vertAlign||e.highlight!==t.highlight||e.effect!==t.effect||e.emphasisMark!==t.emphasisMark||e.styleId!==t.styleId||!Ao(e.underline,t.underline)||!$e(e.color,t.color)||!Bo(e.shading,t.shading)||!Lo(e.fontFamily,t.fontFamily))}function Ao(e,t){return !e&&!t?true:!e||!t||e.style!==t.style?false:$e(e.color,t.color)}function $e(e,t){return !e&&!t?true:!e||!t?false:e.rgb===t.rgb&&e.auto===t.auto&&e.themeColor===t.themeColor&&e.themeTint===t.themeTint&&e.themeShade===t.themeShade}function Bo(e,t){return !e&&!t?true:!(!e||!t||e.pattern!==t.pattern||!$e(e.color,t.color)||!$e(e.fill,t.fill))}function Lo(e,t){return !e&&!t?true:!e||!t?false:e.ascii===t.ascii&&e.hAnsi===t.hAnsi&&e.eastAsia===t.eastAsia&&e.cs===t.cs&&e.asciiTheme===t.asciiTheme&&e.hAnsiTheme===t.hAnsiTheme&&e.eastAsiaTheme===t.eastAsiaTheme&&e.csTheme===t.csTheme}function No(e){return e.type==="text"||e.type==="softHyphen"||e.type==="noBreakHyphen"}function Cn(e){return e.content.length===0?true:e.content.every(No)}function Xo(e,t){let n=[];for(let r of e)n.push(r);if(n.length>0&&t.length>0&&n[n.length-1].type==="text"&&t[0].type==="text"){let r=n[n.length-1],o=t[0];n[n.length-1]={type:"text",text:r.text+o.text,preserveSpace:r.preserveSpace||o.preserveSpace||void 0};for(let i=1;i<t.length;i++)n.push(t[i]);}else for(let r of t)n.push(r);return n}function Ho(e){if(e.length<=1)return e;let t=[],n=null;for(let r of e)if(r.content.length!==0){if(n===null){n={...r,content:[...r.content]};continue}Cn(n)&&Cn(r)&&Do(n.formatting,r.formatting)?n={type:"run",formatting:n.formatting,content:Xo(n.content,r.content)}:(t.push(n),n={...r,content:[...r.content]});}return n!==null&&t.push(n),t}function tt(e){if(e.length<=1)return e;let t=[],n=[];function r(){if(n.length>0){let o=Ho(n);t.push(...o),n.length=0;}}for(let o of e)if(o.type==="run")n.push(o);else if(r(),o.type==="hyperlink"){let i={...o,children:tt(o.children)};t.push(i);}else t.push(o);return r(),t}function Oo(e){let t={sdtType:"richText"};if(!e||!e.elements)return t;for(let n of e.elements){if(n.type!=="element")continue;switch(n.name?.replace(/^w:/,"")??""){case "alias":t.alias=l(n,"w","val")??void 0;break;case "tag":t.tag=l(n,"w","val")??void 0;break;case "lock":t.lock=l(n,"w","val")??"unlocked";break;case "placeholder":{let o=u(n,"w","docPart");if(o){let i=u(o,"w","val");t.placeholder=i?l(i,"w","val")??void 0:void 0;}break}case "showingPlcHdr":t.showingPlaceholder=true;break;case "text":t.sdtType="plainText";break;case "date":t.sdtType="date",t.dateFormat=l(n,"w","fullDate")??void 0;break;case "dropDownList":t.sdtType="dropdown",t.listItems=Fn(n);break;case "comboBox":t.sdtType="comboBox",t.listItems=Fn(n);break;case "checkbox":{t.sdtType="checkbox";let o=u(n,"w14","checked")??u(n,"w","checked");t.checked=o?l(o,"w14","val")==="1"||l(o,"w","val")==="1":false;break}case "picture":t.sdtType="picture";break;case "docPartObj":t.sdtType="buildingBlockGallery";break;case "group":t.sdtType="group";break}}return t}function Fn(e){let t=[];for(let n of e.elements??[])n.type==="element"&&(n.name==="w:listItem"||n.name?.endsWith(":listItem"))&&t.push({displayText:l(n,"w","displayText")??"",value:l(n,"w","value")??""});return t}function Sn(e){let t="";if(e.type==="text"&&typeof e.text=="string")return e.text;if(e.elements)for(let n of e.elements)if((n.name?.replace(/^.*:/,"")??"")==="t"&&n.elements)for(let o of n.elements)o.type==="text"&&typeof o.text=="string"&&(t+=o.text);else t+=Sn(n);return t}function jo(e,t,n,r){let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),o}function zo(e){if(!e)return;let t={},n=l(e,"w","color");n&&n!=="auto"&&(t.color={rgb:n});let r=l(e,"w","fill");r&&r!=="auto"&&(t.fill={rgb:r});let o=l(e,"w","themeFill");o&&(t.fill=t.fill||{},t.fill.themeColor=o);let i=l(e,"w","themeFillTint");i&&t.fill&&(t.fill.themeTint=i);let s=l(e,"w","themeFillShade");s&&t.fill&&(t.fill.themeShade=s);let a=l(e,"w","val");return a&&(t.pattern=a),Object.keys(t).length>0?t:void 0}function pe(e){if(!e)return;let t=l(e,"w","val");if(!t)return;let n={style:t},r=l(e,"w","color"),o=l(e,"w","themeColor");(r||o)&&(n.color=jo(r,o,l(e,"w","themeTint"),l(e,"w","themeShade")));let i=w(e,"w","sz");i!==void 0&&(n.size=i);let s=w(e,"w","space");s!==void 0&&(n.space=s);let a=l(e,"w","shadow");a&&(n.shadow=a==="1"||a==="true");let c=l(e,"w","frame");return c&&(n.frame=c==="1"||c==="true"),n}function Vo(e){if(!e)return;let t=D(e,"w","tab");if(t.length===0)return;let n=[];for(let r of t){let o=w(r,"w","pos"),i=l(r,"w","val");if(o!==void 0&&i){let s={position:o,alignment:i},a=l(r,"w","leader");a&&(s.leader=a),n.push(s);}}return n.length>0?n:void 0}function Wo(e){if(!e)return;let t={},n=w(e,"w","w");n!==void 0&&(t.width=n);let r=w(e,"w","h");r!==void 0&&(t.height=r);let o=l(e,"w","hAnchor");(o==="text"||o==="margin"||o==="page")&&(t.hAnchor=o);let i=l(e,"w","vAnchor");(i==="text"||i==="margin"||i==="page")&&(t.vAnchor=i);let s=w(e,"w","x");s!==void 0&&(t.x=s);let a=w(e,"w","y");a!==void 0&&(t.y=a);let c=l(e,"w","xAlign");c&&(t.xAlign=c);let p=l(e,"w","yAlign");p&&(t.yAlign=p);let f=l(e,"w","wrap");return f&&(t.wrap=f),Object.keys(t).length>0?t:void 0}function _o(e,t,n){if(!e)return;let r={},o=u(e,"w","jc");if(o){let T=l(o,"w","val");T&&(r.alignment=T);}let i=u(e,"w","bidi");i&&(r.bidi=C(i));let s=u(e,"w","spacing");if(s){let T=w(s,"w","before");T!==void 0&&(r.spaceBefore=T);let E=w(s,"w","after");E!==void 0&&(r.spaceAfter=E);let I=w(s,"w","line");I!==void 0&&(r.lineSpacing=I);let $=l(s,"w","lineRule");$&&(r.lineSpacingRule=$);let A=l(s,"w","beforeAutospacing");A&&(r.beforeAutospacing=A==="1"||A==="true");let H=l(s,"w","afterAutospacing");H&&(r.afterAutospacing=H==="1"||H==="true");}let a=u(e,"w","ind");if(a){let T=w(a,"w","left");T!==void 0&&(r.indentLeft=T);let E=w(a,"w","right");E!==void 0&&(r.indentRight=E);let I=w(a,"w","firstLine");I!==void 0&&(r.indentFirstLine=I);let $=w(a,"w","hanging");$!==void 0&&(r.indentFirstLine=-$,r.hangingIndent=true);let A=w(a,"w","start");A!==void 0&&r.indentLeft===void 0&&(r.indentLeft=A);let H=w(a,"w","end");H!==void 0&&r.indentRight===void 0&&(r.indentRight=H);}let c=u(e,"w","pBdr");if(c){let T={},E=pe(u(c,"w","top"));E&&(T.top=E);let I=pe(u(c,"w","bottom"));I&&(T.bottom=I);let $=pe(u(c,"w","left"));$&&(T.left=$);let A=pe(u(c,"w","right"));A&&(T.right=A);let H=pe(u(c,"w","between"));H&&(T.between=H);let J=pe(u(c,"w","bar"));J&&(T.bar=J),Object.keys(T).length>0&&(r.borders=T);}let p=u(e,"w","shd");p&&(r.shading=zo(p));let f=u(e,"w","tabs");f&&(r.tabs=Vo(f));let d=u(e,"w","keepNext");d&&(r.keepNext=C(d));let h=u(e,"w","keepLines");h&&(r.keepLines=C(h));let g=u(e,"w","widowControl");g&&(r.widowControl=C(g));let m=u(e,"w","pageBreakBefore");m&&(r.pageBreakBefore=C(m));let y=u(e,"w","contextualSpacing");y&&(r.contextualSpacing=C(y));let k=u(e,"w","numPr");if(k){let T=u(k,"w","numId"),E=u(k,"w","ilvl");if(T||E){if(r.numPr={},T){let I=w(T,"w","val");I!==void 0&&(r.numPr.numId=I);}if(E){let I=w(E,"w","val");I!==void 0&&(r.numPr.ilvl=I);}}}let S=u(e,"w","outlineLvl");if(S){let T=w(S,"w","val");T!==void 0&&(r.outlineLevel=T);}let R=u(e,"w","pStyle");if(R){let T=l(R,"w","val");T&&(r.styleId=T);}let v=u(e,"w","framePr");v&&(r.frame=Wo(v));let x=u(e,"w","suppressLineNumbers");x&&(r.suppressLineNumbers=C(x));let b=u(e,"w","suppressAutoHyphens");b&&(r.suppressAutoHyphens=C(b));let F=u(e,"w","rPr");return F&&(r.runProperties=Qe(F,t)),Object.keys(r).length>0?r:void 0}function vn(e){if(!e)return "";let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function Uo(e,t,n,r,o){return tn(e,t,n,r,o)}function Go(e){return nn(e)}function qo(e){return rn(e)}function kn(e){let t=e.trim().match(/^\\?([A-Z]+)/i);if(!t)return "UNKNOWN";let n=t[1].toUpperCase();return ["PAGE","NUMPAGES","NUMWORDS","NUMCHARS","DATE","TIME","CREATEDATE","SAVEDATE","PRINTDATE","AUTHOR","TITLE","SUBJECT","KEYWORDS","COMMENTS","FILENAME","FILESIZE","TEMPLATE","DOCPROPERTY","DOCVARIABLE","REF","PAGEREF","NOTEREF","HYPERLINK","TOC","TOA","INDEX","SEQ","STYLEREF","AUTONUM","AUTONUMLGL","AUTONUMOUT","IF","MERGEFIELD","NEXT","NEXTIF","ASK","SET","QUOTE","INCLUDETEXT","INCLUDEPICTURE","SYMBOL","ADVANCE","EDITTIME","REVNUM","SECTION","SECTIONPAGES","USERADDRESS","USERNAME","USERINITIALS"].includes(n)?n:"UNKNOWN"}function Jo(e,t,n,r,o){let i=l(e,"w","instr")??"",s=kn(i),a={type:"simpleField",instruction:i,fieldType:s,content:[]},c=l(e,"w","fldLock");(c==="1"||c==="true")&&(a.fldLock=true);let p=l(e,"w","dirty");(p==="1"||p==="true")&&(a.dirty=true);let f=N(e);for(let d of f)vn(d.name)==="r"&&a.content.push(ge(d,t,n,r,o));return a}function De(e,t,n,r,o,i){let s=[],a=N(e),c=false,p="",f=[],d=[],h=false,g=false,m=false;for(let y of a){let k=vn(y.name);switch(k){case "r":{let S=ge(y,t,n,o,i),R=false,v=false,x=false,b="";for(let F of S.content)F.type==="fieldChar"?F.charType==="begin"?(R=true,F.fldLock&&(g=true),F.dirty&&(m=true)):F.charType==="separate"?v=true:F.charType==="end"&&(x=true):F.type==="instrText"&&(b+=F.text);if(R&&(c=true,h=false,p="",f=[],d=[],g=false,m=false),c){if(b&&(p+=b),v&&(h=true),h&&!x?v||d.push(S):!h&&!R&&f.push(S),x){let F={type:"complexField",instruction:p.trim(),fieldType:kn(p),fieldCode:f,fieldResult:d};g&&(F.fldLock=true),m&&(F.dirty=true),s.push(F),c=false;}}else s.push(S);break}case "hyperlink":s.push(Uo(y,o,t,n,i));break;case "bookmarkStart":s.push(Go(y));break;case "bookmarkEnd":s.push(qo(y));break;case "fldSimple":s.push(Jo(y,t,n,o,i));break;case "pPr":break;case "proofErr":case "permStart":case "permEnd":case "customXml":break;case "sdt":{let S=(y.elements??[]).find(v=>v.type==="element"&&(v.name==="w:sdtPr"||v.name?.endsWith(":sdtPr"))),R=(y.elements??[]).find(v=>v.type==="element"&&(v.name==="w:sdtContent"||v.name?.endsWith(":sdtContent")));if(R){let v=De(R,t,n,null,o,i),b={type:"inlineSdt",properties:Oo(S??null),content:v.filter(F=>F.type==="run"||F.type==="hyperlink")};s.push(b);}break}case "ins":{let S={id:parseInt(l(y,"w","id")??"0",10),author:l(y,"w","author")??"Unknown",date:l(y,"w","date")??void 0},R=De(y,t,n,null,o,i),v={type:"insertion",info:S,content:R.filter(x=>x.type==="run"||x.type==="hyperlink")};s.push(v);break}case "del":{let S={id:parseInt(l(y,"w","id")??"0",10),author:l(y,"w","author")??"Unknown",date:l(y,"w","date")??void 0},R=De(y,t,n,null,o,i),v={type:"deletion",info:S,content:R.filter(x=>x.type==="run"||x.type==="hyperlink")};s.push(v);break}case "smartTag":case "moveTo":case "moveFrom":break;case "commentRangeStart":{let S=parseInt(l(y,"w","id")??"0",10);s.push({type:"commentRangeStart",id:S});break}case "commentRangeEnd":{let S=parseInt(l(y,"w","id")??"0",10);s.push({type:"commentRangeEnd",id:S});break}case "oMath":case "oMathPara":{let S=k==="oMathPara",R=Et(y),v=Sn(y),x={type:"mathEquation",display:S?"block":"inline",ommlXml:R,plainText:v||void 0};s.push(x);break}}}return s}function q(e,t,n,r,o=null,i=null){let s={type:"paragraph",content:[]},a=l(e,"w14","paraId")??l(e,"w","paraId");a&&(s.paraId=a);let c=l(e,"w14","textId")??l(e,"w","textId");c&&(s.textId=c);let p=u(e,"w","pPr");if(p){s.formatting=_o(p,n);let h=u(p,"w","sectPr");h&&(s.sectionProperties=Ie(h));}let f=De(e,t,n,r,o,i);s.content=tt(f);let d=s.formatting?.numPr;if(!d&&s.formatting?.styleId&&t){let h=t.get(s.formatting.styleId);h?.pPr?.numPr&&(d=h.pPr.numPr,s.formatting||(s.formatting={}),s.formatting.numPr=d);}if(d&&r){let{numId:h,ilvl:g=0}=d;if(h!==void 0&&h!==0){let m=r.getLevel(h,g);if(m&&(s.listRendering={level:g,numId:h,marker:m.lvlText,isBullet:m.numFmt==="bullet",numFmt:m.numFmt},m.pPr)){s.formatting||(s.formatting={});let y=p?u(p,"w","ind"):null,k=y!=null&&(l(y,"w","left")!==null||l(y,"w","start")!==null),S=y!=null&&(l(y,"w","firstLine")!==null||l(y,"w","hanging")!==null);!k&&m.pPr.indentLeft!==void 0&&(s.formatting.indentLeft=m.pPr.indentLeft),S||(m.pPr.indentFirstLine!==void 0&&(s.formatting.indentFirstLine=m.pPr.indentFirstLine),m.pPr.hangingIndent!==void 0&&(s.formatting.hangingIndent=m.pPr.hangingIndent));}}}return s}function nt(e){let t="";for(let n of e.content)if(n.type==="run")for(let r of n.content)r.type==="text"?t+=r.text:r.type==="tab"?t+=" ":r.type==="break"&&(r.breakType==="page"?t+="\f":t+=`
|
|
3
|
-
`);else if(n.type==="hyperlink"){for(let r of n.children)if(r.type==="run")for(let o of r.content)o.type==="text"&&(t+=o.text);}else if(n.type==="simpleField"){for(let r of n.content)if(r.type==="run")for(let o of r.content)o.type==="text"&&(t+=o.text);}else if(n.type==="complexField")for(let r of n.fieldResult)for(let o of r.content)o.type==="text"&&(t+=o.text);return t}function Zo(e){if(!e||e.trim()==="")return "\u2022";let t=e.charCodeAt(0),n={183:"\u2022",111:"\u25CB",167:"\u25A0",252:"\u2713",110:"\u25A0",113:"\u25CB",117:"\u25C6",118:"\u2756",168:"\u2713",251:"\u2713",254:"\u2713",61623:"\u2022",61550:"\u25A0",61551:"\u25CB",61607:"\u25A0",61692:"\u2713",8226:"\u2022",9679:"\u25CF",9675:"\u25CB",9632:"\u25A0",9633:"\u25A1",9670:"\u25C6",9671:"\u25C7",8211:"\u2013",8212:"\u2014",62:">",45:"-"};return n[t]?n[t]:t>=57344&&t<=63743||t<32||t>=127&&t<160?"\u2022":e}function Yo(e,t,n){let r=e.listRendering;if(!r||!t)return;let{numId:o,level:i}=r;if(o===void 0||o===0)return;n.has(o)||n.set(o,new Array(9).fill(0));let s=n.get(o);s[i]=(s[i]||0)+1;for(let p=i+1;p<s.length;p++)s[p]=0;let a=r.marker;if(r.isBullet){let p=a||"";r.marker=Zo(p);return}let c=a;for(let p=0;p<=i;p++){let f=`%${p+1}`;if(c.includes(f)){let d=s[p],h=t.getLevel(o,p),g=Ko(d,h?.numFmt||"decimal");c=c.replace(f,g);}}r.marker=c;}function Ko(e,t){switch(t){case "decimal":case "decimalZero":return String(e);case "lowerLetter":return String.fromCharCode(96+(e-1)%26+1);case "upperLetter":return String.fromCharCode(64+(e-1)%26+1);case "lowerRoman":return Pn(e).toLowerCase();case "upperRoman":return Pn(e);case "bullet":return "\u2022";default:return String(e)}}function Pn(e){let t=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]],n="";for(let[r,o]of t)for(;e>=r;)n+=o,e-=r;return n}var Rn=/\{\{([^{}]+)\}\}/g;function En(e){let t=[],n;for(Rn.lastIndex=0;(n=Rn.exec(e))!==null;){let r=n[1].trim();r&&!t.includes(r)&&t.push(r);}return t}function Mn(e){let t=[];for(let n of e)if(n.type==="paragraph"){let r=nt(n),o=En(r);for(let i of o)t.includes(i)||t.push(i);}else if(n.type==="table"){let r=In(n);for(let o of r)t.includes(o)||t.push(o);}return t}function In(e){let t=[];for(let n of e.rows)for(let r of n.cells)for(let o of r.content)if(o.type==="paragraph"){let i=nt(o),s=En(i);for(let a of s)t.includes(a)||t.push(a);}else if(o.type==="table"){let i=In(o);for(let s of i)t.includes(s)||t.push(s);}return t}function $n(e,t,n,r,o,i){let s=[],a=N(e),c=new Map;for(let p of a){let f=p.name??"";if(f==="w:p"||f.endsWith(":p")){let d=q(p,t,n,r,o,i);Yo(d,r,c),s.push(d);}else if(f==="w:tbl"||f.endsWith(":tbl")){let d=we(p,t,n,r,o,i);s.push(d);}else if(f==="w:sdt"||f.endsWith(":sdt")){let d=(p.elements??[]).find(h=>h.type==="element"&&(h.name==="w:sdtContent"||h.name?.endsWith(":sdtContent")));if(d){let h=$n(d,t,n,r,o,i);s.push(...h);}}}return s}function Qo(e,t){let n=[],r=[];for(let o of e)r.push(o),o.type==="paragraph"&&o.sectionProperties&&(n.push({properties:o.sectionProperties,content:r}),r=[]);return (r.length>0||n.length===0)&&n.push({properties:t??Tn(),content:r}),n}function Dn(e,t=null,n=null,r=null,o=null,i=null){let s={content:[]};if(!e)return s;let a=U(e);if(!a)return s;let c=(a.elements??[]).find(d=>d.type==="element"&&(d.name==="w:document"||d.name?.endsWith(":document")));if(!c)return s;let p=u(c,"w","body");if(!p)return s;s.content=$n(p,t,n,r,o,i);let f=u(p,"w","sectPr");return f&&(s.finalSectionProperties=Ie(f)),s.sections=Qo(s.content,s.finalSectionProperties),s}function ei(e){let t=new Map,n=U(e);if(!n)return t;let r=u(n,"w16cex","commentsExtensible")??n;for(let o of N(r)){if((o.name?.replace(/^.*:/,"")??"")!=="comment")continue;let s=l(o,"w16cex","paraId")??l(o,"w15","paraId")??o.attributes?.["w16cex:paraId"]??o.attributes?.["w15:paraId"],a=l(o,"w16cex","dateUtc")??l(o,"w15","dateUtc")??o.attributes?.["w16cex:dateUtc"]??o.attributes?.["w15:dateUtc"];s&&a&&t.set(String(s).toUpperCase(),String(a));}return t}function An(e,t,n,r,o,i){if(!e)return [];let s=U(e);if(!s)return [];let a=i?ei(i):new Map,c=u(s,"w","comments")??s,p=N(c),f=[];for(let d of p){if((d.name?.replace(/^.*:/,"")??"")!=="comment")continue;let g=parseInt(l(d,"w","id")??"0",10),m=l(d,"w","author")??"Unknown",y=l(d,"w","initials"),k=y!=null?String(y):void 0,S=l(d,"w","date"),R=S!=null?String(S):void 0,v=l(d,"w14","paraId")??d.attributes?.["w14:paraId"]??l(d,"w","paraId"),b=(v?a.get(String(v).toUpperCase()):void 0)??R,F=[];for(let T of N(d))if((T.name?.replace(/^.*:/,"")??"")==="p"){let I=q(T,t,n,null,r,o);F.push(I);}f.push({id:g,author:m,initials:k,date:b,content:F});}return f}var Be=new Set,Ae=new Map,ti=new Set;function Ln(e,t=[400,700],n=["normal","italic"]){let r=encodeURIComponent(e),o=[];for(let s of n){let a=s==="italic"?1:0;for(let c of t)o.push(`${a},${c}`);}o.sort();let i=o.join(";");return `https://fonts.googleapis.com/css2?family=${r}:ital,wght@${i}&display=swap`}async function ni(e,t){let n=e.trim();if(Be.has(n))return true;let r=Ae.get(n);if(r)return r;let o=(async()=>{try{let i=Ln(n,t?.weights,t?.styles),s=document.createElement("link");return s.rel="stylesheet",s.href=i,await new Promise(c=>{s.onload=()=>c(!0),s.onerror=()=>c(!1),document.head.appendChild(s),setTimeout(()=>c(!1),5e3);})?(await oi(n,3e3),Be.add(n),ri([n]),!0):!1}catch(i){return console.warn(`Failed to load font "${n}":`,i),false}finally{Ae.delete(n),Ae.size===0&&(false);}})();return Ae.set(n,o),o}function ri(e){for(let t of ti)try{t(e);}catch(n){console.warn("Font load callback error:",n);}}async function oi(e,t){if("fonts"in document)try{let n=`400 16px "${e}"`;return await Promise.race([document.fonts.load(n),new Promise(r=>setTimeout(r,t))]),document.fonts.check(n)}catch{}return await new Promise(n=>setTimeout(n,100)),true}var ii={Calibri:"Carlito",Cambria:"Caladea",Arial:"Arimo","Times New Roman":"Tinos","Courier New":"Cousine",Garamond:"EB Garamond","Book Antiqua":"EB Garamond",Georgia:"Tinos",Verdana:"Open Sans",Tahoma:"Open Sans","Trebuchet MS":"Source Sans Pro","Century Gothic":"Poppins","Franklin Gothic":"Libre Franklin",Palatino:"EB Garamond","Palatino Linotype":"EB Garamond","Lucida Sans":"Open Sans","Segoe UI":"Open Sans",Impact:"Anton","Comic Sans MS":"Comic Neue",Consolas:"Inconsolata","Lucida Console":"Inconsolata",Monaco:"Fira Code"};function si(e){let t=e.trim();return ii[t]||t}async function ai(e){let t=e.trim(),n=si(t);return n!==t?(await li(t,n),Be.add(t),Be.add(n),true):ni(n)}async function li(e,t){let n=`font-alias-${e.toLowerCase().replace(/\s+/g,"-")}`;if(!document.getElementById(n))try{let r=Ln(t,[400,700],["normal","italic"]),o=await fetch(r);if(!o.ok){console.warn(`Failed to fetch Google Fonts CSS for "${t}": ${o.status}`);return}let i=await o.text(),s=new RegExp(`font-family:\\s*['"]${ci(t)}['"]`,"gi"),a=i.replace(s,`font-family: '${e}'`),c=document.createElement("style");c.id=n,c.textContent=a,document.head.appendChild(c);}catch(r){console.warn(`Failed to create font alias for "${e}":`,r);}}function ci(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async function Nn(e){let t=[...new Set(e.map(n=>n.trim()))];await Promise.all(t.map(n=>ai(n)));}async function Xn(e){if(e instanceof ArrayBuffer)return e;if(e instanceof Uint8Array){let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),t}if(e instanceof Blob)return e.arrayBuffer();throw new TypeError(`Unsupported DocxInput type: ${typeof e}`)}async function Ne(e,t={}){let n=e instanceof ArrayBuffer?e:await Xn(e),{onProgress:r=()=>{},preloadFonts:o=true,parseHeadersFooters:i=true,parseNotes:s=true,detectVariables:a=true}=t,c=[];try{let h=function(X,V){let M=performance.now(),P=V(),L=performance.now()-M;return d.push({stage:X,ms:L}),L>1e3&&console.warn(`[parseDocx] ${X} took ${Math.round(L)}ms`),P};var p=h;let f=performance.now(),d=[];async function g(X,V){let M=performance.now(),P=await V(),L=performance.now()-M;return d.push({stage:X,ms:L}),L>1e3&&console.warn(`[parseDocx] ${X} took ${Math.round(L)}ms`),P}r("Extracting DOCX...",0);let m=await g("unzip",()=>Pt(n));r("Extracted DOCX",10),r("Parsing relationships...",10);let y=h("relationships",()=>m.documentRels?Se(m.documentRels):new Map);r("Parsed relationships",15),r("Parsing theme...",15);let k=h("theme",()=>At(m.themeXml));r("Parsed theme",20),r("Parsing styles...",20);let S=null,R;h("styles",()=>{m.stylesXml&&(S=Ye(m.stylesXml,k),R=zt(m.stylesXml,k));}),r("Parsed styles",30),r("Parsing numbering...",30);let v=h("numbering",()=>Vt(m.numberingXml));r("Parsed numbering",35),r("Processing media files...",35);let x=h("media",()=>ui(m,y));r("Processed media",40),r("Parsing document body...",40);let b={content:[]};h("documentBody",()=>{m.documentXml?b=Dn(m.documentXml,S,k,v,y,x):c.push("No document.xml found in DOCX");}),r("Parsed document body",55);let F,T;if(i){r("Parsing headers/footers...",55);let X=h("headersFooters",()=>pi(m,S,k,v,y,x));F=X.headers,T=X.footers,r("Parsed headers/footers",65);}else r("Skipping headers/footers",65);let E,I;if(s){r("Parsing footnotes/endnotes...",65);let X=h("footnotesEndnotes",()=>fi(m,S,k,v,y,x));E=X.footnotes,I=X.endnotes,r("Parsed footnotes/endnotes",75);}else r("Skipping footnotes/endnotes",75);r("Parsing comments...",75);let $=h("comments",()=>An(m.commentsXml,S,k,y,x,m.commentsExtensibleXml));$.length>0&&(b.comments=$);let A;a?(r("Detecting template variables...",75),A=h("variables",()=>Mn(b.content)),r("Detected variables",80)):r("Skipping variable detection",80),o?(r("Loading fonts...",80),await g("fonts",()=>di(k,R,b)),r("Loaded fonts",95)):r("Skipping font loading",95),r("Assembling document...",95);let J={package:{document:b,styles:R,theme:k,numbering:v.definitions,headers:F,footers:T,footnotes:E,endnotes:I,relationships:y,media:x},originalBuffer:n,templateVariables:A,warnings:c.length>0?c:void 0},ne=performance.now()-f;if(ne>2e3){let X=d.filter(V=>V.ms>100).map(V=>`${V.stage}: ${Math.round(V.ms)}ms`).join(", ");console.warn(`[parseDocx] Total: ${Math.round(ne)}ms`+(X?` (${X})`:""));}return r("Complete",100),J}catch(f){let d=f instanceof Error?f.message:String(f);throw console.error("[parseDocx] Failed to parse DOCX:",d,f),new Error(`Failed to parse DOCX: ${d}`)}}function ui(e,t){let n=new Map;for(let[r,o]of e.media.entries()){let i=r.split("/").pop()||r,s=Rt(r),a=new Uint8Array(o),c="";for(let g=0;g<a.length;g++)c+=String.fromCharCode(a[g]);let p=btoa(c),f=`data:${s};base64,${p}`,d={path:r,filename:i,mimeType:s,data:o,dataUrl:f};n.set(r,d);let h=r.replace(/^word\//,"");h!==r&&n.set(h,d);}return n}function Le(e,t){let n=t.toLowerCase();for(let[r,o]of e.entries())if(r.toLowerCase()===n)return o}function pi(e,t,n,r,o,i){let s=new Map,a=new Map;for(let[c,p]of o.entries())if(p.type===ce.header&&p.target){let f=p.target.split("/").pop()||p.target,d=Le(e.headers,f);if(d){let h=`word/_rels/${f}.rels`,g=Le(e.allXml,h),m=g?Se(g):o,y=fn(d,"default",t,n,r,m,i);s.set(c,y);}}else if(p.type===ce.footer&&p.target){let f=p.target.split("/").pop()||p.target,d=Le(e.footers,f);if(d){let h=`word/_rels/${f}.rels`,g=Le(e.allXml,h),m=g?Se(g):o,y=dn(d,"default",t,n,r,m,i);a.set(c,y);}}return {headers:s,footers:a}}function fi(e,t,n,r,o,i){let s=hn(e.footnotesXml,t,n,r,o,i),a=gn(e.endnotesXml,t,n,r,o,i);return {footnotes:s.getNormalFootnotes(),endnotes:a.getNormalEndnotes()}}async function di(e,t,n){let r=new Set;if(e?.fontScheme){let{majorFont:o,minorFont:i}=e.fontScheme;o?.latin&&r.add(o.latin),i?.latin&&r.add(i.latin);}if(t?.docDefaults?.rPr?.fontFamily?.ascii&&r.add(t.docDefaults.rPr.fontFamily.ascii),t?.styles)for(let o of t.styles)o.rPr?.fontFamily?.ascii&&r.add(o.rPr.fontFamily.ascii),o.rPr?.fontFamily?.hAnsi&&r.add(o.rPr.fontFamily.hAnsi);if(n.content){for(let o of n.content)if(o.type==="paragraph")for(let i of o.content)i.type==="run"&&i.formatting?.fontFamily&&(i.formatting.fontFamily.ascii&&r.add(i.formatting.fontFamily.ascii),i.formatting.fontFamily.hAnsi&&r.add(i.formatting.fontFamily.hAnsi));}if(r.size>0)try{await Nn(Array.from(r));}catch(o){console.warn("Failed to load some fonts:",o);}}var Oe={type:"string",description:"Document ID from a previous docx_load call"},Ei={type:"object",properties:{paragraphIndex:{type:"number",description:"Index of the paragraph (0-indexed)"},offset:{type:"number",description:"Character offset within the paragraph"}},required:["paragraphIndex","offset"]},zn={name:"docx_get_variables",description:`List all template variables ({{name}} format) found in the document.
|
|
2
|
+
import bt from'pizzip';import Tt from'docxtemplater';import it from'jszip';import {xml2js,js2xml}from'xml-js';var ct=Object.defineProperty;var sr=(e,t,n)=>t in e?ct(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n;var ut=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var ft=(e,t)=>()=>(e&&(t=e(e=0)),t);var ar=(e,t)=>{for(var n in t)ct(e,n,{get:t[n],enumerable:true});};var me=(e,t,n)=>sr(e,typeof t!="symbol"?t+"":t,n);var Ve,re,Te=ft(()=>{Ve=class{constructor(){me(this,"plugins",new Map);me(this,"commandHandlers",new Map);me(this,"eventListeners",new Set);me(this,"initialized",new Set);}register(t,n){let r=[];if(!t.id)return {success:false,error:"Plugin must have an id"};if(this.plugins.has(t.id))return {success:false,error:`Plugin '${t.id}' is already registered`};if(t.dependencies){for(let o of t.dependencies)if(!this.plugins.has(o))return {success:false,error:`Plugin '${t.id}' requires '${o}' which is not registered`}}if(t.commandHandlers)for(let[o,i]of Object.entries(t.commandHandlers)){if(this.commandHandlers.has(o)){let s=this.commandHandlers.get(o);r.push(`Command '${o}' from '${t.id}' overrides handler from '${s.pluginId}'`);}this.commandHandlers.set(o,{pluginId:t.id,handler:i});}if(this.plugins.set(t.id,t),t.initialize&&!this.initialized.has(t.id))try{let o=t.initialize();o instanceof Promise?o.then(()=>{this.initialized.add(t.id);}).catch(i=>{this.emit({type:"error",pluginId:t.id,error:i});}):this.initialized.add(t.id);}catch(o){this.emit({type:"error",pluginId:t.id,error:o});}return n?.debug&&console.log(`[PluginRegistry] Registered plugin: ${t.id}`),this.emit({type:"registered",plugin:t}),{success:true,plugin:t,warnings:r.length>0?r:void 0}}unregister(t){let n=this.plugins.get(t);if(!n)return false;for(let[r,o]of this.plugins)if(o.dependencies?.includes(t))return console.warn(`Cannot unregister '${t}': '${r}' depends on it`),false;for(let[r,{pluginId:o}]of this.commandHandlers)o===t&&this.commandHandlers.delete(r);if(n.destroy)try{let r=n.destroy();r instanceof Promise&&r.catch(o=>{this.emit({type:"error",pluginId:t,error:o});});}catch(r){this.emit({type:"error",pluginId:t,error:r});}return this.plugins.delete(t),this.initialized.delete(t),this.emit({type:"unregistered",pluginId:t}),true}get(t){return this.plugins.get(t)}getAll(){return Array.from(this.plugins.values())}has(t){return this.plugins.has(t)}get size(){return this.plugins.size}getCommandHandler(t){return this.commandHandlers.get(t)?.handler}getCommandTypes(){return Array.from(this.commandHandlers.keys())}hasCommandHandler(t){return this.commandHandlers.has(t)}getMcpTools(){let t=[];for(let n of this.plugins.values())n.mcpTools&&t.push(...n.mcpTools);return t}getMcpToolsForPlugin(t){return this.plugins.get(t)?.mcpTools||[]}getMcpTool(t){for(let n of this.plugins.values())if(n.mcpTools){let r=n.mcpTools.find(o=>o.name===t);if(r)return r}}addEventListener(t){this.eventListeners.add(t);}removeEventListener(t){this.eventListeners.delete(t);}emit(t){for(let n of this.eventListeners)try{n(t);}catch(r){console.error("[PluginRegistry] Event listener error:",r);}}clear(){for(let t of this.plugins.values())if(t.destroy)try{t.destroy();}catch{}this.plugins.clear(),this.commandHandlers.clear(),this.initialized.clear();}getDebugInfo(){return {plugins:Array.from(this.plugins.keys()),commandTypes:Array.from(this.commandHandlers.keys()),mcpTools:this.getMcpTools().map(t=>t.name),initialized:Array.from(this.initialized)}}},re=new Ve;});var Hn={};ar(Hn,{executeCommand:()=>ie,executeCommands:()=>fi});function ie(e,t){let n=re.getCommandHandler(t.type);if(n)return n(e,t);switch(t.type){case "insertText":return pi(e,t);case "replaceText":return di(e,t);case "deleteText":return mi(e,t);case "formatText":return gi(e,t);case "formatParagraph":return hi(e,t);case "applyStyle":return wi(e,t);case "insertTable":return yi(e,t);case "insertImage":return xi(e,t);case "insertHyperlink":return bi(e,t);case "removeHyperlink":return Ti(e,t);case "insertParagraphBreak":return Xn(e,t);case "mergeParagraphs":return Ci(e,t);case "splitParagraph":return Fi(e,t);case "setVariable":return Si(e,t);case "applyVariables":return vi(e,t);default:let r=t;throw new Error(`Unknown command type: ${r.type}`)}}function fi(e,t){return t.reduce((n,r)=>ie(n,r),e)}function W(e){return JSON.parse(JSON.stringify(e))}function O(e,t){let n=0;for(let r=0;r<e.content.length;r++)if(e.content[r].type==="paragraph"){if(n===t)return r;n++;}return -1}function ye(e){let t="";for(let n of e.content)if(n.type==="run")for(let r of n.content)r.type==="text"&&(t+=r.text);else if(n.type==="hyperlink"){for(let r of n.children)if(r.type==="run")for(let o of r.content)o.type==="text"&&(t+=o.text);}return t}function Xe(e,t){return {type:"run",formatting:t,content:[{type:"text",text:e}]}}function He(e,t,n,r){let o=[],i=0,s=false;for(let a of e.content)if(a.type==="run"){let c=a.content.filter(d=>d.type==="text").map(d=>d.text).join(""),f=i,p=i+c.length;if(!s&&t>=f&&t<=p){let d=t-f;d>0&&o.push({...a,content:[{type:"text",text:c.slice(0,d)}]}),o.push(Xe(n,r||a.formatting)),d<c.length&&o.push({...a,content:[{type:"text",text:c.slice(d)}]}),s=true;}else o.push(a);i=p;}else o.push(a);return s||o.push(Xe(n,r)),o}function oe(e,t,n){let r=[],o=0;for(let i of e.content)if(i.type==="run"){let s=i.content.filter(f=>f.type==="text").map(f=>f.text).join(""),a=o,c=o+s.length;if(c<=t||a>=n)r.push(i);else {let f="";a<t&&(f+=s.slice(0,t-a)),c>n&&(f+=s.slice(n-a)),f.length>0&&r.push({...i,content:[{type:"text",text:f}]});}o=c;}else r.push(i);return r}function Nn(e,t,n,r){let o=[],i=0;for(let s of e.content)if(s.type==="run"){let a=s.content.filter(p=>p.type==="text").map(p=>p.text).join(""),c=i,f=i+a.length;if(f<=t||c>=n)o.push(s);else if(c>=t&&f<=n)o.push({...s,formatting:{...s.formatting,...r}});else {let p=Math.max(t,c),d=Math.min(n,f);c<p&&o.push({...s,content:[{type:"text",text:a.slice(0,p-c)}]}),o.push({...s,formatting:{...s.formatting,...r},content:[{type:"text",text:a.slice(p-c,d-c)}]}),f>d&&o.push({...s,content:[{type:"text",text:a.slice(d-c)}]});}i=f;}else o.push(s);return o}function pi(e,t){let n=W(e),r=n.package.document,o=O(r,t.position.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.position.paragraphIndex} not found`);let i=r.content[o];return i.content=He(i,t.position.offset,t.text,t.formatting),n}function di(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex===i.paragraphIndex){let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s];a.content=oe(a,o.offset,i.offset),a.content=He(a,o.offset,t.text,t.formatting);}else {let s=O(r,o.paragraphIndex),a=r.content[s],c=ye(a);a.content=oe(a,o.offset,c.length),a.content=He(a,o.offset,t.text,t.formatting);let f=[];for(let p=o.paragraphIndex+1;p<=i.paragraphIndex;p++)f.push(O(r,p));for(let p=f.length-1;p>=0;p--)f[p]!==-1&&r.content.splice(f[p],1);}return n}function mi(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex===i.paragraphIndex){let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s];a.content=oe(a,o.offset,i.offset);}else {let s=O(r,o.paragraphIndex),a=r.content[s],c=ye(a);a.content=oe(a,o.offset,c.length);let f=O(r,i.paragraphIndex),p=r.content[f];p.content=oe(p,0,i.offset),a.content.push(...p.content);let d=[];for(let g=o.paragraphIndex+1;g<=i.paragraphIndex;g++)d.push(O(r,g));for(let g=d.length-1;g>=0;g--)d[g]!==-1&&r.content.splice(d[g],1);}return n}function gi(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex===i.paragraphIndex){let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s];a.content=Nn(a,o.offset,i.offset,t.formatting);}else for(let s=o.paragraphIndex;s<=i.paragraphIndex;s++){let a=O(r,s);if(a===-1)continue;let c=r.content[a],f=ye(c),p=0,d=f.length;s===o.paragraphIndex&&(p=o.offset),s===i.paragraphIndex&&(d=i.offset),c.content=Nn(c,p,d,t.formatting);}return n}function hi(e,t){let n=W(e),r=n.package.document,o=O(r,t.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let i=r.content[o];if(i.formatting={...i.formatting,...t.formatting},"numPr"in t.formatting){let s=t.formatting.numPr;if(s&&s.numId!==void 0&&s.numId!==0){let a=s.ilvl??0,c=s.numId===1,f=c?"\u2022":"1.";if(n.package.numbering){let p=n.package.numbering.nums.find(d=>d.numId===s.numId);if(p){let d=n.package.numbering.abstractNums.find(g=>g.abstractNumId===p.abstractNumId);if(d){let g=d.levels.find(h=>h.ilvl===a);g&&(f=g.lvlText||f);}}}i.listRendering={level:a,numId:s.numId,marker:f,isBullet:c};}else delete i.listRendering;}return n}function wi(e,t){let n=W(e),r=n.package.document,o=O(r,t.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let i=r.content[o];return i.formatting={...i.formatting,styleId:t.styleId},n}function yi(e,t){let n=W(e),r=n.package.document,o=[];for(let a=0;a<t.rows;a++){let c=[];for(let f=0;f<t.columns;f++){let p=t.data?.[a]?.[f]||"";c.push({type:"tableCell",content:[{type:"paragraph",content:p?[Xe(p)]:[]}]});}o.push({type:"tableRow",formatting:a===0&&t.hasHeader?{header:true}:void 0,cells:c});}let i={type:"table",rows:o},s=O(r,t.position.paragraphIndex);return s===-1?r.content.push(i):r.content.splice(s+1,0,i),n}function xi(e,t){let n=W(e),r=n.package.document,o=O(r,t.position.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.position.paragraphIndex} not found`);let i=r.content[o],a={type:"run",content:[{type:"drawing",image:{type:"image",rId:`rId_img_${Date.now()}`,src:t.src,alt:t.alt,size:{width:(t.width||100)*914400,height:(t.height||100)*914400},wrap:{type:"inline"}}}]},c=He(i,t.position.offset,"",void 0),f=false,p=0;for(let d=0;d<c.length;d++){let g=c[d];if(g.type==="run"){let h=g.content.filter(m=>m.type==="text").map(m=>m.text).join("");if(p+=h.length,!f&&p>=t.position.offset){c.splice(d+1,0,a),f=true;break}}}return f||c.push(a),i.content=c,n}function bi(e,t){let n=W(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex!==i.paragraphIndex)throw new Error("Hyperlinks cannot span multiple paragraphs");let s=O(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s],c=ye(a),f=t.displayText||c.slice(o.offset,i.offset);a.content=oe(a,o.offset,i.offset);let p={type:"hyperlink",href:t.url,tooltip:t.tooltip,children:[Xe(f)]},d=false,g=0,h=[];for(let m of a.content)if(m.type==="run"){let y=m.content.filter(S=>S.type==="text").map(S=>S.text).join(""),k=g+y.length;if(!d&&g<=o.offset&&o.offset<=k){let S=o.offset-g;S>0&&h.push({...m,content:[{type:"text",text:y.slice(0,S)}]}),h.push(p),S<y.length&&h.push({...m,content:[{type:"text",text:y.slice(S)}]}),d=true;}else h.push(m);g=k;}else h.push(m);return d||h.push(p),a.content=h,n}function Ti(e,t){let n=W(e),r=n.package.document,{start:o}=t.range,i=O(r,o.paragraphIndex);if(i===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let s=r.content[i],a=[];for(let c of s.content)if(c.type==="hyperlink")for(let f of c.children)f.type==="run"&&a.push(f);else a.push(c);return s.content=a,n}function Xn(e,t){let n=W(e),r=n.package.document,o=O(r,t.position.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.position.paragraphIndex} not found`);let i=r.content[o],s=ye(i),a=oe({...i,content:[...i.content]},t.position.offset,s.length),c=oe({...i,content:[...i.content]},0,t.position.offset);i.content=a;let f={type:"paragraph",formatting:i.formatting,content:c};return r.content.splice(o+1,0,f),n}function Ci(e,t){let n=W(e),r=n.package.document,o=O(r,t.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let i=r.content[o],s=[];for(let a=1;a<=t.count;a++){let c=O(r,t.paragraphIndex+a);if(c!==-1){let f=r.content[c];i.content.push(...f.content),s.push(c);}}for(let a=s.length-1;a>=0;a--)r.content.splice(s[a],1);return n}function Fi(e,t){return Xn(e,{position:t.position})}function Si(e,t){let n=W(e);return n.templateVariables||(n.templateVariables=[]),n.templateVariables.includes(t.name)||n.templateVariables.push(t.name),n}function vi(e,t){let n=W(e),r=n.package.document;function o(a){for(let c of a.content)if(c.type==="text")for(let[f,p]of Object.entries(t.values)){let d=new RegExp(`\\{${f}\\}`,"g");c.text=c.text.replace(d,p);}}function i(a){for(let c of a.content)if(c.type==="run")o(c);else if(c.type==="hyperlink")for(let f of c.children)f.type==="run"&&o(f);}function s(a){if(a.type==="paragraph")i(a);else if(a.type==="table")for(let c of a.rows)for(let f of c.cells)for(let p of f.content)s(p);}for(let a of r.content)s(a);return n}var tt=ft(()=>{Te();});Te();function pt(e,t){let n=t,{position:r,variableName:o}=n,i=JSON.parse(JSON.stringify(e)),a=i.package.document.content.filter(p=>p.type==="paragraph");if(r.paragraphIndex>=a.length)throw new Error(`Paragraph index ${r.paragraphIndex} out of bounds`);let c=a[r.paragraphIndex],f=`{{${o}}}`;return mt(c,r.offset,f),i.templateVariables||(i.templateVariables=[]),i.templateVariables.includes(o)||i.templateVariables.push(o),i}function dt(e,t){let n=t,{range:r,variableName:o}=n,i=JSON.parse(JSON.stringify(e)),a=i.package.document.content.filter(p=>p.type==="paragraph");if(r.start.paragraphIndex!==r.end.paragraphIndex)throw new Error("Template variable replacement cannot span multiple paragraphs");if(r.start.paragraphIndex>=a.length)throw new Error(`Paragraph index ${r.start.paragraphIndex} out of bounds`);let c=a[r.start.paragraphIndex];lr(c,r.start.offset,r.end.offset);let f=`{{${o}}}`;return mt(c,r.start.offset,f),i.templateVariables||(i.templateVariables=[]),i.templateVariables.includes(o)||i.templateVariables.push(o),i}function mt(e,t,n){let r=0,o=false;for(let i=0;i<e.content.length;i++){let s=e.content[i];if(s.type==="run"){let a=We(s),c=r,f=r+a.length;if(!o&&t>=c&&t<=f){let p=t-c,d=a.slice(0,p),g=a.slice(p),h=[];for(let m=0;m<i;m++)h.push(e.content[m]);d&&h.push({type:"run",formatting:s.formatting,content:[{type:"text",text:d}]}),h.push({type:"run",formatting:s.formatting,content:[{type:"text",text:n}]}),g&&h.push({type:"run",formatting:s.formatting,content:[{type:"text",text:g}]});for(let m=i+1;m<e.content.length;m++)h.push(e.content[m]);e.content=h,o=true;break}r=f;}else if(s.type==="hyperlink")for(let a of s.children)a.type==="run"&&(r+=We(a).length);}o||e.content.push({type:"run",content:[{type:"text",text:n}]});}function lr(e,t,n){let r=[],o=0;for(let i of e.content)if(i.type==="run"){let s=We(i),a=o,c=o+s.length;if(c<=t||a>=n)r.push(i);else {let f="";a<t&&(f+=s.slice(0,t-a)),c>n&&(f+=s.slice(n-a)),f.length>0&&r.push({type:"run",formatting:i.formatting,content:[{type:"text",text:f}]});}o=c;}else r.push(i);e.content=r;}function We(e){return e.content.filter(t=>t.type==="text").map(t=>t.text).join("")}function wt(e){let t=[],n={body:[],headers:[],footers:[],footnotes:[],endnotes:[],textBoxes:[]};if(e.package?.document){let o=cr(e.package.document);o.forEach(i=>{t.push({name:i,location:"body"});}),n.body=Array.from(new Set(o)).sort();}if(e.package?.document?.sections&&e.package.document.sections.forEach((o,i)=>{o.properties.headerReferences&&o.properties.headerReferences.forEach(s=>{});}),e.package?.footnotes){let o=ht(e.package.footnotes);o.forEach(i=>{t.push({name:i,location:"footnote"});}),n.footnotes=Array.from(new Set(o)).sort();}if(e.package?.endnotes){let o=ht(e.package.endnotes);o.forEach(i=>{t.push({name:i,location:"endnote"});}),n.endnotes=Array.from(new Set(o)).sort();}e.templateVariables&&e.templateVariables.forEach(o=>{t.some(i=>i.name===o)||t.push({name:o,location:"body"});});let r=new Set;return t.forEach(o=>r.add(o.name)),{variables:Array.from(r).sort(),totalOccurrences:t.length,byLocation:n,occurrences:t}}function cr(e){let t=[];if(e.content&&t.push(...gt(e.content)),e.sections)for(let n of e.sections)n.content&&t.push(...gt(n.content));return t}function gt(e){let t=[];for(let n of e)n.type==="paragraph"?t.push(..._e(n)):n.type==="table"&&t.push(...yt(n));return t}function _e(e){let t=[];if(!e.content)return t;for(let n of e.content)n.type==="run"?t.push(...ge(n)):n.type==="hyperlink"?t.push(...ur(n)):n.type==="simpleField"?t.push(...fr(n)):n.type==="complexField"&&t.push(...pr(n));return t}function ge(e){let t=[];if(!e.content)return t;for(let n of e.content)n.type==="text"&&n.text&&t.push(...xt(n.text));return t}function ur(e){let t=[];if(!e.children)return t;for(let n of e.children)n.type==="run"&&t.push(...ge(n));return t}function fr(e){let t=[];if(e.instruction&&t.push(...xt(e.instruction)),e.content)for(let n of e.content)n.type==="run"&&t.push(...ge(n));return t}function pr(e){let t=[];if(e.fieldCode)for(let n of e.fieldCode)n.type==="run"&&t.push(...ge(n));if(e.fieldResult)for(let n of e.fieldResult)n.type==="run"&&t.push(...ge(n));return t}function yt(e){let t=[];if(!e.rows)return t;for(let n of e.rows)if(n.cells)for(let r of n.cells)t.push(...dr(r));return t}function dr(e){let t=[];if(!e.content)return t;for(let n of e.content)n.type==="paragraph"?t.push(..._e(n)):n.type==="table"&&t.push(...yt(n));return t}function ht(e){let t=[];for(let n of e)if(n.content)for(let r of n.content)t.push(..._e(r));return t}var mr=/\{([a-zA-Z_][a-zA-Z0-9_\-\.]*)\}/g;function xt(e){if(!e)return [];let t=[],n=new RegExp(mr),r;for(;(r=n.exec(e))!==null;)t.push(r[1]);return t}function Ct(e,t,n={}){let{nullGetter:r="keep",linebreaks:o=true,delimiters:i}=n,s=[],a=[],c=[];try{let f=new bt(e),p=new Tt(f,{paragraphLoop:!0,linebreaks:o,nullGetter:g=>{let h=g.value||"";if(r==="error")throw new Error(`Undefined variable: ${h}`);return r==="empty"?(c.push(h),""):(c.push(h),`{${h}}`)},delimiters:i?{start:i.start||"{",end:i.end||"}"}:void 0});return Object.keys(t).forEach(g=>{t[g]!==void 0&&t[g]!==null&&a.push(g);}),p.setData(t),p.render(),{buffer:p.getZip().generate({type:"arraybuffer",compression:"DEFLATE",compressionOptions:{level:6}}),replacedVariables:a,unreplacedVariables:c,warnings:s}}catch(f){throw St(f)}}function Ft(e){let t=[],n=[];try{let r=new bt(e),i=new Tt(r,{paragraphLoop:!0,linebreaks:!0}).getFullText();n=gr(i);let s=hr(i);for(let a of s)t.push({message:`Unclosed tag: ${a}`,variable:a,type:"parse"});return {valid:t.length===0,errors:t,tags:n}}catch(r){return t.push(St(r)),{valid:false,errors:t,tags:n}}}function gr(e){let t=[],n=/\{([^{}]+)\}/g,r;for(;(r=n.exec(e))!==null;){let o=r[1].trim();o&&!t.includes(o)&&t.push(o);}return t.sort()}function hr(e){let t=[],n=0,r="";for(let o of e)o==="{"?(n++,r=""):o==="}"?(n--,n<0&&(n=0)):n>0&&(r+=o);return n>0&&r.trim()&&t.push(r.trim()),t}function wr(e){return "properties"in e&&typeof e.properties=="object"}function St(e){if(e instanceof Error){if(wr(e)&&e.properties?.errors){let t=e.properties.errors[0];return {message:t?.message||"Template processing error",variable:t?.properties?.tag,type:"render",originalError:e}}if(e.message.includes("undefined")){let t=e.message.match(/undefined (?:variable|tag):\s*(\S+)/i);return {message:e.message,variable:t?t[1]:void 0,type:"undefined",originalError:e}}return e.message.includes("parse")||e.message.includes("unclosed")||e.message.includes("syntax")?{message:e.message,type:"parse",originalError:e}:{message:e.message,type:"unknown",originalError:e}}return {message:String(e),type:"unknown"}}async function vt(e){let t=await it.loadAsync(e),n={documentXml:null,stylesXml:null,themeXml:null,numberingXml:null,fontTableXml:null,settingsXml:null,webSettingsXml:null,headers:new Map,footers:new Map,footnotesXml:null,endnotesXml:null,commentsXml:null,commentsExtensibleXml:null,documentRels:null,packageRels:null,contentTypesXml:null,corePropsXml:null,appPropsXml:null,customPropsXml:null,media:new Map,fonts:new Map,allXml:new Map,originalZip:t,originalBuffer:e};for(let[r,o]of Object.entries(t.files)){if(o.dir)continue;let i=r.toLowerCase();if(i.endsWith(".xml")||i.endsWith(".rels")){let s=await o.async("text");if(n.allXml.set(r,s),i==="word/document.xml")n.documentXml=s;else if(i==="word/styles.xml")n.stylesXml=s;else if(i==="word/theme/theme1.xml")n.themeXml=s;else if(i==="word/numbering.xml")n.numberingXml=s;else if(i==="word/fonttable.xml")n.fontTableXml=s;else if(i==="word/settings.xml")n.settingsXml=s;else if(i==="word/websettings.xml")n.webSettingsXml=s;else if(i==="word/footnotes.xml")n.footnotesXml=s;else if(i==="word/endnotes.xml")n.endnotesXml=s;else if(i==="word/comments.xml")n.commentsXml=s;else if(i==="word/commentsextensible.xml"||i==="word/commentsextended.xml")n.commentsExtensibleXml||(n.commentsExtensibleXml=s);else if(i==="word/_rels/document.xml.rels")n.documentRels=s;else if(i==="_rels/.rels")n.packageRels=s;else if(i==="[content_types].xml")n.contentTypesXml=s;else if(i==="docprops/core.xml")n.corePropsXml=s;else if(i==="docprops/app.xml")n.appPropsXml=s;else if(i==="docprops/custom.xml")n.customPropsXml=s;else if(i.match(/^word\/header\d+\.xml$/)){let a=r.split("/").pop()||r;n.headers.set(a,s);}else if(i.match(/^word\/footer\d+\.xml$/)){let a=r.split("/").pop()||r;n.footers.set(a,s);}}else if(i.startsWith("word/media/")){let s=await o.async("arraybuffer");n.media.set(r,s);}else if(i.startsWith("word/fonts/")){let s=await o.async("arraybuffer");n.fonts.set(r,s);}}return n}function kt(e){switch(e.toLowerCase().split(".").pop()){case "png":return "image/png";case "jpg":case "jpeg":return "image/jpeg";case "gif":return "image/gif";case "bmp":return "image/bmp";case "tif":case "tiff":return "image/tiff";case "wmf":return "image/x-wmf";case "emf":return "image/x-emf";case "svg":return "image/svg+xml";case "webp":return "image/webp";default:return "application/octet-stream"}}function U(e){return xml2js(e,{compact:false,ignoreComment:true,ignoreInstruction:true,ignoreDoctype:true,alwaysArray:false,trim:false,captureSpacesBetweenElements:true,attributesKey:"attributes",textKey:"text"})}function Pt(e){return js2xml({elements:[e]},{compact:false,spaces:0})}function K(e){try{let t=U(e);return t.elements&&t.elements.length>0?t.elements.find(n=>n.type==="element")??null:t}catch(t){return console.warn("Failed to parse XML:",t),null}}function Ce(e){let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function u(e,t,n){if(!e||!e.elements)return null;let r=`${t}:${n}`;for(let o of e.elements)if(o.type==="element"&&(o.name===r||Ce(o.name||"")===n))return o;return null}function D(e,t,n){if(!e||!e.elements)return [];let r=`${t}:${n}`,o=[];for(let i of e.elements)i.type==="element"&&(i.name===r||Ce(i.name||"")===n)&&o.push(i);return o}function N(e){return !e||!e.elements?[]:e.elements.filter(t=>t.type==="element")}function l(e,t,n){if(!e||!e.attributes)return null;let r=e.attributes;if(t){let o=`${t}:${n}`;if(o in r)return r[o]}return n in r?r[n]:null}function Fe(e){if(!e)return "";if("text"in e&&typeof e.text=="string")return e.text;if(!e.elements)return "";let t="";for(let n of e.elements)n.type==="text"&&"text"in n?t+=n.text??"":n.type==="element"&&(t+=Fe(n));return t}function w(e,t,n,r=1){let o=l(e,t,n);if(o===null)return;let i=parseInt(o,10);if(!isNaN(i))return i*r}function C(e,t="w"){if(!e)return false;let n=l(e,t,"val");return n===null?true:!(n==="0"||n==="false"||n==="off")}var ce={hyperlink:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",header:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",footer:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer"};function Se(e){let t=new Map;if(!e||e.trim().length===0)return t;let n=K(e);if(!n)return console.warn("Failed to parse relationships XML"),t;let r=N(n);for(let o of r){let i=o.name||"";if(!i.endsWith("Relationship")&&!i.includes(":Relationship"))continue;let s=l(o,null,"Id"),a=l(o,null,"Type"),c=l(o,null,"Target"),f=l(o,null,"TargetMode");if(!s||!a||!c){console.warn("Relationship missing required attributes:",{id:s,type:a,target:c});continue}let p={id:s,type:a,target:c};f==="External"?p.targetMode="External":f==="Internal"&&(p.targetMode="Internal"),t.set(s,p);}return t}function Rt(e){return e.type===ce.hyperlink&&e.targetMode==="External"}var Mt={dk1:"000000",lt1:"FFFFFF",dk2:"44546A",lt2:"E7E6E6",accent1:"4472C4",accent2:"ED7D31",accent3:"A5A5A5",accent4:"FFC000",accent5:"5B9BD5",accent6:"70AD47",hlink:"0563C1",folHlink:"954F72"},ve={majorFont:{latin:"Calibri Light",ea:"",cs:"",fonts:{}},minorFont:{latin:"Calibri",ea:"",cs:"",fonts:{}}},Ue={name:"Office Theme",colorScheme:Mt,fontScheme:ve},Tr=["dk1","lt1","dk2","lt2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink"];function Cr(e){if(!e)return null;switch(Ce(e.name||"")){case "srgbClr":return l(e,"a","val")??l(e,null,"val")??null;case "sysClr":{let n=l(e,"a","lastClr")??l(e,null,"lastClr");if(n)return n;switch(l(e,"a","val")??l(e,null,"val")){case "windowText":case "menuText":case "captionText":case "btnText":return "000000";case "window":case "menu":case "btnFace":case "btnHighlight":return "FFFFFF";case "highlight":return "0078D7";case "highlightText":return "FFFFFF";case "grayText":return "808080";default:return null}}case "schemeClr":{l(e,"a","val")??l(e,null,"val");return null}default:return null}}function Fr(e){let t={...Mt};if(!e)return t;for(let n of Tr){let r=u(e,"a",n);if(r){let o=N(r);if(o.length>0){let i=Cr(o[0]);i&&(t[n]=i);}}}return t}function Et(e){let t={latin:"",ea:"",cs:"",fonts:{}};if(!e)return t;let n=u(e,"a","latin");n&&(t.latin=l(n,"a","typeface")??l(n,null,"typeface")??"");let r=u(e,"a","ea");r&&(t.ea=l(r,"a","typeface")??l(r,null,"typeface")??"");let o=u(e,"a","cs");o&&(t.cs=l(o,"a","typeface")??l(o,null,"typeface")??"");let i=D(e,"a","font");for(let s of i){let a=l(s,"a","script")??l(s,null,"script"),c=l(s,"a","typeface")??l(s,null,"typeface");a&&c&&(t.fonts=t.fonts||{},t.fonts[a]=c);}return t}function Sr(e){let t={...ve};if(!e)return t;let n=u(e,"a","majorFont");n&&(t.majorFont=Et(n));let r=u(e,"a","minorFont");return r&&(t.minorFont=Et(r)),t}function $t(e){if(!e)return {...Ue};try{let t=K(e);if(!t)return {...Ue};let n=l(t,"a","name")??l(t,null,"name")??"Office Theme",r=u(t,"a","themeElements"),o=u(r,"a","clrScheme"),i=Fr(o),s=u(r,"a","fontScheme"),a=Sr(s);return {name:n,colorScheme:i,fontScheme:a}}catch(t){return console.warn("Failed to parse theme:",t),{...Ue}}}function vr(e,t="latin"){if(!e?.fontScheme?.majorFont)return ve.majorFont?.latin??"Calibri Light";let n=e.fontScheme.majorFont;return t==="latin"?n.latin||"Calibri Light":t==="ea"?n.ea||"":t==="cs"?n.cs||"":n.fonts?.[t]?n.fonts[t]:n.latin||"Calibri Light"}function It(e,t="latin"){if(!e?.fontScheme?.minorFont)return ve.minorFont?.latin??"Calibri";let n=e.fontScheme.minorFont;return t==="latin"?n.latin||"Calibri":t==="ea"?n.ea||"":t==="cs"?n.cs||"":n.fonts?.[t]?n.fonts[t]:n.latin||"Calibri"}function Y(e,t){if(!t)return "Calibri";let n=t.toLowerCase().includes("major"),r=t.toLowerCase().includes("minor"),o="latin",i=t.toLowerCase();return i.includes("eastasia")?o="ea":(i.includes("bidi")||i.includes("cs"))&&(o="cs"),n?vr(e,o):r?It(e,o):It(e,"latin")}function ke(e,t){if(!e)return;let n={},r=u(e,"w","b");r&&(n.bold=C(r));let o=u(e,"w","bCs");o&&(n.boldCs=C(o));let i=u(e,"w","i");i&&(n.italic=C(i));let s=u(e,"w","iCs");s&&(n.italicCs=C(s));let a=u(e,"w","u");if(a){let I=l(a,"w","val");if(I){n.underline={style:I};let P=l(a,"w","color"),L=l(a,"w","themeColor");(P||L)&&(n.underline.color=Ge(P,L,l(a,"w","themeTint"),l(a,"w","themeShade")));}}let c=u(e,"w","strike");c&&(n.strike=C(c));let f=u(e,"w","dstrike");f&&(n.doubleStrike=C(f));let p=u(e,"w","vertAlign");if(p){let I=l(p,"w","val");(I==="superscript"||I==="subscript"||I==="baseline")&&(n.vertAlign=I);}let d=u(e,"w","smallCaps");d&&(n.smallCaps=C(d));let g=u(e,"w","caps");g&&(n.allCaps=C(g));let h=u(e,"w","vanish");h&&(n.hidden=C(h));let m=u(e,"w","color");m&&(n.color=Ge(l(m,"w","val"),l(m,"w","themeColor"),l(m,"w","themeTint"),l(m,"w","themeShade")));let y=u(e,"w","highlight");if(y){let I=l(y,"w","val");I&&(n.highlight=I);}let k=u(e,"w","shd");k&&(n.shading=Pe(k));let S=u(e,"w","sz");if(S){let I=w(S,"w","val");I!==void 0&&(n.fontSize=I);}let R=u(e,"w","szCs");if(R){let I=w(R,"w","val");I!==void 0&&(n.fontSizeCs=I);}let v=u(e,"w","rFonts");if(v){n.fontFamily={ascii:l(v,"w","ascii")??void 0,hAnsi:l(v,"w","hAnsi")??void 0,eastAsia:l(v,"w","eastAsia")??void 0,cs:l(v,"w","cs")??void 0};let I=l(v,"w","asciiTheme");I&&(n.fontFamily.asciiTheme=I,t&&!n.fontFamily.ascii&&(n.fontFamily.ascii=Y(t,I)));let P=l(v,"w","hAnsiTheme");P&&(n.fontFamily.hAnsiTheme=P,t&&!n.fontFamily.hAnsi&&(n.fontFamily.hAnsi=Y(t,P)));let L=l(v,"w","eastAsiaTheme");L&&(n.fontFamily.eastAsiaTheme=L,t&&!n.fontFamily.eastAsia&&(n.fontFamily.eastAsia=Y(t,L)));let Z=l(v,"w","cstheme");Z&&(n.fontFamily.csTheme=Z,t&&!n.fontFamily.cs&&(n.fontFamily.cs=Y(t,Z)));}let x=u(e,"w","spacing");if(x){let I=w(x,"w","val");I!==void 0&&(n.spacing=I);}let b=u(e,"w","position");if(b){let I=w(b,"w","val");I!==void 0&&(n.position=I);}let F=u(e,"w","w");if(F){let I=w(F,"w","val");I!==void 0&&(n.scale=I);}let T=u(e,"w","kern");if(T){let I=w(T,"w","val");I!==void 0&&(n.kerning=I);}let E=u(e,"w","effect");if(E){let I=l(E,"w","val");I&&(n.effect=I);}let M=u(e,"w","em");if(M){let I=l(M,"w","val");I&&(n.emphasisMark=I);}let $=u(e,"w","emboss");$&&(n.emboss=C($));let A=u(e,"w","imprint");A&&(n.imprint=C(A));let H=u(e,"w","outline");H&&(n.outline=C(H));let J=u(e,"w","shadow");J&&(n.shadow=C(J));let ne=u(e,"w","rtl");ne&&(n.rtl=C(ne));let X=u(e,"w","cs");X&&(n.cs=C(X));let V=u(e,"w","rStyle");if(V){let I=l(V,"w","val");I&&(n.styleId=I);}return Object.keys(n).length>0?n:void 0}function Ge(e,t,n,r){let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),o}function Pe(e){if(!e)return;let t={},n=l(e,"w","color");n&&n!=="auto"&&(t.color={rgb:n});let r=l(e,"w","fill");r&&r!=="auto"&&(t.fill={rgb:r});let o=l(e,"w","themeFill");o&&(t.fill=t.fill||{},t.fill.themeColor=o);let i=l(e,"w","themeFillTint");i&&t.fill&&(t.fill.themeTint=i);let s=l(e,"w","themeFillShade");s&&t.fill&&(t.fill.themeShade=s);let a=l(e,"w","val");return a&&(t.pattern=a),Object.keys(t).length>0?t:void 0}function G(e){if(!e)return;let t=l(e,"w","val");if(!t)return;let n={style:t},r=l(e,"w","color"),o=l(e,"w","themeColor");(r||o)&&(n.color=Ge(r,o,l(e,"w","themeTint"),l(e,"w","themeShade")));let i=w(e,"w","sz");i!==void 0&&(n.size=i);let s=w(e,"w","space");s!==void 0&&(n.space=s);let a=l(e,"w","shadow");a&&(n.shadow=a==="1"||a==="true");let c=l(e,"w","frame");return c&&(n.frame=c==="1"||c==="true"),n}function kr(e){if(!e)return;let t=D(e,"w","tab");if(t.length===0)return;let n=[];for(let r of t){let o=w(r,"w","pos"),i=l(r,"w","val");if(o!==void 0&&i){let s={position:o,alignment:i},a=l(r,"w","leader");a&&(s.leader=a),n.push(s);}}return n.length>0?n:void 0}function qe(e,t){if(!e)return;let n={},r=u(e,"w","jc");if(r){let b=l(r,"w","val");b&&(n.alignment=b);}let o=u(e,"w","bidi");o&&(n.bidi=C(o));let i=u(e,"w","spacing");if(i){let b=w(i,"w","before");b!==void 0&&(n.spaceBefore=b);let F=w(i,"w","after");F!==void 0&&(n.spaceAfter=F);let T=w(i,"w","line");T!==void 0&&(n.lineSpacing=T);let E=l(i,"w","lineRule");E&&(n.lineSpacingRule=E);let M=l(i,"w","beforeAutospacing");M&&(n.beforeAutospacing=M==="1"||M==="true");let $=l(i,"w","afterAutospacing");$&&(n.afterAutospacing=$==="1"||$==="true");}let s=u(e,"w","ind");if(s){let b=w(s,"w","left");b!==void 0&&(n.indentLeft=b);let F=w(s,"w","right");F!==void 0&&(n.indentRight=F);let T=w(s,"w","firstLine");T!==void 0&&(n.indentFirstLine=T);let E=w(s,"w","hanging");E!==void 0&&(n.indentFirstLine=-E,n.hangingIndent=true);}let a=u(e,"w","pBdr");if(a){let b={},F=G(u(a,"w","top"));F&&(b.top=F);let T=G(u(a,"w","bottom"));T&&(b.bottom=T);let E=G(u(a,"w","left"));E&&(b.left=E);let M=G(u(a,"w","right"));M&&(b.right=M);let $=G(u(a,"w","between"));$&&(b.between=$);let A=G(u(a,"w","bar"));A&&(b.bar=A),Object.keys(b).length>0&&(n.borders=b);}let c=u(e,"w","shd");c&&(n.shading=Pe(c));let f=u(e,"w","tabs");f&&(n.tabs=kr(f));let p=u(e,"w","keepNext");p&&(n.keepNext=C(p));let d=u(e,"w","keepLines");d&&(n.keepLines=C(d));let g=u(e,"w","widowControl");g&&(n.widowControl=C(g));let h=u(e,"w","pageBreakBefore");h&&(n.pageBreakBefore=C(h));let m=u(e,"w","contextualSpacing");m&&(n.contextualSpacing=C(m));let y=u(e,"w","numPr");if(y){let b=u(y,"w","numId"),F=u(y,"w","ilvl");if(b||F){if(n.numPr={},b){let T=w(b,"w","val");T!==void 0&&(n.numPr.numId=T);}if(F){let T=w(F,"w","val");T!==void 0&&(n.numPr.ilvl=T);}}}let k=u(e,"w","outlineLvl");if(k){let b=w(k,"w","val");b!==void 0&&(n.outlineLevel=b);}let S=u(e,"w","pStyle");if(S){let b=l(S,"w","val");b&&(n.styleId=b);}let R=u(e,"w","suppressLineNumbers");R&&(n.suppressLineNumbers=C(R));let v=u(e,"w","suppressAutoHyphens");v&&(n.suppressAutoHyphens=C(v));let x=u(e,"w","rPr");return x&&(n.runProperties=ke(x,t)),Object.keys(n).length>0?n:void 0}function Q(e){if(!e)return;let t=w(e,"w","w"),n=l(e,"w","type");if(t!==void 0&&n)return {value:t,type:n}}function Lt(e){if(!e)return;let t={},n=G(u(e,"w","top"));n&&(t.top=n);let r=G(u(e,"w","bottom"));r&&(t.bottom=r);let o=G(u(e,"w","left"));o&&(t.left=o);let i=G(u(e,"w","right"));i&&(t.right=i);let s=G(u(e,"w","insideH"));s&&(t.insideH=s);let a=G(u(e,"w","insideV"));return a&&(t.insideV=a),Object.keys(t).length>0?t:void 0}function Nt(e){if(!e)return;let t={},n=Q(u(e,"w","top"));n&&(t.top=n);let r=Q(u(e,"w","bottom"));r&&(t.bottom=r);let o=Q(u(e,"w","left"));o&&(t.left=o);let i=Q(u(e,"w","right"));return i&&(t.right=i),Object.keys(t).length>0?t:void 0}function Pr(e){if(!e)return;let t={},n=l(e,"w","val");if(n){let f=parseInt(n,16);isNaN(f)||(t.firstRow=(f&32)!==0,t.lastRow=(f&64)!==0,t.firstColumn=(f&128)!==0,t.lastColumn=(f&256)!==0,t.noHBand=(f&512)!==0,t.noVBand=(f&1024)!==0);}let r=l(e,"w","firstColumn");r&&(t.firstColumn=r==="1");let o=l(e,"w","firstRow");o&&(t.firstRow=o==="1");let i=l(e,"w","lastColumn");i&&(t.lastColumn=i==="1");let s=l(e,"w","lastRow");s&&(t.lastRow=s==="1");let a=l(e,"w","noHBand");a&&(t.noHBand=a==="1");let c=l(e,"w","noVBand");return c&&(t.noVBand=c==="1"),Object.keys(t).length>0?t:void 0}function Dt(e,t){if(!e)return;let n={},r=u(e,"w","tblW");r&&(n.width=Q(r));let o=u(e,"w","jc");if(o){let m=l(o,"w","val");(m==="left"||m==="center"||m==="right")&&(n.justification=m);}let i=u(e,"w","tblCellSpacing");i&&(n.cellSpacing=Q(i));let s=u(e,"w","tblInd");s&&(n.indent=Q(s));let a=u(e,"w","tblBorders");a&&(n.borders=Lt(a));let c=u(e,"w","tblCellMar");c&&(n.cellMargins=Nt(c));let f=u(e,"w","tblLayout");if(f){let m=l(f,"w","type");(m==="fixed"||m==="autofit")&&(n.layout=m);}let p=u(e,"w","tblStyle");if(p){let m=l(p,"w","val");m&&(n.styleId=m);}let d=u(e,"w","tblLook");d&&(n.look=Pr(d));let g=u(e,"w","shd");g&&(n.shading=Pe(g));let h=u(e,"w","bidiVisual");return h&&(n.bidi=C(h)),Object.keys(n).length>0?n:void 0}function At(e){if(!e)return;let t={},n=u(e,"w","trHeight");if(n){t.height=Q(n);let a=l(n,"w","hRule");a&&(t.heightRule=a);}let r=u(e,"w","tblHeader");r&&(t.header=C(r));let o=u(e,"w","cantSplit");o&&(t.cantSplit=C(o));let i=u(e,"w","jc");if(i){let a=l(i,"w","val");(a==="left"||a==="center"||a==="right")&&(t.justification=a);}let s=u(e,"w","hidden");return s&&(t.hidden=C(s)),Object.keys(t).length>0?t:void 0}function Bt(e,t){if(!e)return;let n={},r=u(e,"w","tcW");r&&(n.width=Q(r));let o=u(e,"w","tcBorders");o&&(n.borders=Lt(o));let i=u(e,"w","tcMar");i&&(n.margins=Nt(i));let s=u(e,"w","shd");s&&(n.shading=Pe(s));let a=u(e,"w","vAlign");if(a){let m=l(a,"w","val");(m==="top"||m==="center"||m==="bottom")&&(n.verticalAlign=m);}let c=u(e,"w","textDirection");if(c){let m=l(c,"w","val");m&&(n.textDirection=m);}let f=u(e,"w","gridSpan");if(f){let m=w(f,"w","val");m!==void 0&&(n.gridSpan=m);}let p=u(e,"w","vMerge");if(p){let m=l(p,"w","val");n.vMerge=m==="restart"?"restart":"continue";}let d=u(e,"w","tcFitText");d&&(n.fitText=C(d));let g=u(e,"w","noWrap");g&&(n.noWrap=C(g));let h=u(e,"w","hideMark");return h&&(n.hideMark=C(h)),Object.keys(n).length>0?n:void 0}function Rr(e,t){let n={styleId:l(e,"w","styleId")??"",type:l(e,"w","type")??"paragraph"},r=l(e,"w","default");r&&(n.default=r==="1"||r==="true");let o=u(e,"w","name");o&&(n.name=l(o,"w","val")??void 0);let i=u(e,"w","basedOn");i&&(n.basedOn=l(i,"w","val")??void 0);let s=u(e,"w","next");s&&(n.next=l(s,"w","val")??void 0);let a=u(e,"w","link");a&&(n.link=l(a,"w","val")??void 0);let c=u(e,"w","uiPriority");if(c){let x=w(c,"w","val");x!==void 0&&(n.uiPriority=x);}let f=u(e,"w","hidden");f&&(n.hidden=C(f));let p=u(e,"w","semiHidden");p&&(n.semiHidden=C(p));let d=u(e,"w","unhideWhenUsed");d&&(n.unhideWhenUsed=C(d));let g=u(e,"w","qFormat");g&&(n.qFormat=C(g));let h=u(e,"w","personal");h&&(n.personal=C(h));let m=u(e,"w","pPr");m&&(n.pPr=qe(m,t));let y=u(e,"w","rPr");y&&(n.rPr=ke(y,t));let k=u(e,"w","tblPr");k&&(n.tblPr=Dt(k));let S=u(e,"w","trPr");S&&(n.trPr=At(S));let R=u(e,"w","tcPr");R&&(n.tcPr=Bt(R));let v=D(e,"w","tblStylePr");if(v.length>0){n.tblStylePr=[];for(let x of v){let b=l(x,"w","type");if(b){let F={type:b},T=u(x,"w","pPr");T&&(F.pPr=qe(T,t));let E=u(x,"w","rPr");E&&(F.rPr=ke(E,t));let M=u(x,"w","tblPr");M&&(F.tblPr=Dt(M));let $=u(x,"w","trPr");$&&(F.trPr=At($));let A=u(x,"w","tcPr");A&&(F.tcPr=Bt(A)),n.tblStylePr.push(F);}}}return n}function Er(e,t){if(!e)return;let n={},r=u(e,"w","rPrDefault");if(r){let i=u(r,"w","rPr");i&&(n.rPr=ke(i,t));}let o=u(e,"w","pPrDefault");if(o){let i=u(o,"w","pPr");i&&(n.pPr=qe(i,t));}return n.rPr||n.pPr?n:void 0}function Xt(e,t){if(!t)return e;if(!e)return t?{...t}:void 0;let n={...e};for(let r of Object.keys(t)){let o=t[r];o!==void 0&&(n[r]=typeof o=="object"&&o!==null?{...n[r]||{},...o}:o);}return n}function Ir(e,t){if(!t)return e;if(!e)return t?{...t}:void 0;let n={...e};for(let r of Object.keys(t)){let o=t[r];if(o!==void 0)if(r==="runProperties")n.runProperties=Xt(n.runProperties,t.runProperties);else if(r==="borders"||r==="numPr"||r==="frame"){let i=n[r],s=o;n[r]={...i||{},...s||{}};}else r==="tabs"&&Array.isArray(o)?n.tabs=[...o]:n[r]=o;}return n}function Ht(e,t,n,r=new Set){if(r.has(e.styleId)||(r.add(e.styleId),!e.basedOn))return e;let o=t.get(e.basedOn);if(!o)return e;let i=Ht(o,t,n,r),s={...e,pPr:Ir(i.pPr,e.pPr),rPr:Xt(i.rPr,e.rPr)};return e.type==="table"&&((i.tblPr||e.tblPr)&&(s.tblPr={...i.tblPr||{},...e.tblPr||{}}),(i.trPr||e.trPr)&&(s.trPr={...i.trPr||{},...e.trPr||{}}),(i.tcPr||e.tcPr)&&(s.tcPr={...i.tcPr||{},...e.tcPr||{}})),s}function Je(e,t){let n=new Map;try{let r=K(e);if(!r)return n;let o=D(r,"w","style");for(let i of o){let s=Rr(i,t);s.styleId&&n.set(s.styleId,s);}for(let[i,s]of n){let a=Ht(s,n,t);n.set(i,a);}}catch(r){console.warn("Failed to parse styles:",r);}return n}function Ot(e,t){let n={styles:[]};try{let r=K(e);if(!r)return n;let o=u(r,"w","docDefaults");n.docDefaults=Er(o,t);let i=u(r,"w","latentStyles");i&&(n.latentStyles={defLockedState:l(i,"w","defLockedState")==="1",defUIPriority:w(i,"w","defUIPriority"),defSemiHidden:l(i,"w","defSemiHidden")==="1",defUnhideWhenUsed:l(i,"w","defUnhideWhenUsed")==="1",defQFormat:l(i,"w","defQFormat")==="1",count:w(i,"w","count")});let s=Je(e,t);n.styles=Array.from(s.values());}catch(r){console.warn("Failed to parse style definitions:",r);}return n}function jt(e){let t={abstractNums:[],nums:[]};if(!e)return Ze(t);let n=K(e);if(!n)return Ze(t);let r=D(n,"w","abstractNum");for(let i of r){let s=Mr(i);s&&t.abstractNums.push(s);}let o=D(n,"w","num");for(let i of o){let s=$r(i);s&&t.nums.push(s);}return Ze(t)}function Mr(e){let t=l(e,"w","abstractNumId");if(t===null)return null;let n=parseInt(t,10);if(isNaN(n))return null;let r={abstractNumId:n,levels:[]},o=u(e,"w","multiLevelType");if(o){let f=l(o,"w","val");(f==="hybridMultilevel"||f==="multilevel"||f==="singleLevel")&&(r.multiLevelType=f);}let i=u(e,"w","name");i&&(r.name=l(i,"w","val")??void 0);let s=u(e,"w","numStyleLink");s&&(r.numStyleLink=l(s,"w","val")??void 0);let a=u(e,"w","styleLink");a&&(r.styleLink=l(a,"w","val")??void 0);let c=D(e,"w","lvl");for(let f of c){let p=zt(f);p&&r.levels.push(p);}return r.levels.sort((f,p)=>f.ilvl-p.ilvl),r}function $r(e){let t=l(e,"w","numId");if(t===null)return null;let n=parseInt(t,10);if(isNaN(n))return null;let r=u(e,"w","abstractNumId");if(!r)return null;let o=l(r,"w","val");if(o===null)return null;let i=parseInt(o,10);if(isNaN(i))return null;let s={numId:n,abstractNumId:i},a=D(e,"w","lvlOverride");if(a.length>0){s.levelOverrides=[];for(let c of a){let f=l(c,"w","ilvl");if(f===null)continue;let p=parseInt(f,10);if(isNaN(p))continue;let d={ilvl:p},g=u(c,"w","startOverride");if(g){let m=l(g,"w","val");if(m!==null){let y=parseInt(m,10);isNaN(y)||(d.startOverride=y);}}let h=u(c,"w","lvl");h&&(d.lvl=zt(h)??void 0),s.levelOverrides.push(d);}}return s}function zt(e){let t=l(e,"w","ilvl");if(t===null)return null;let n=parseInt(t,10);if(isNaN(n)||n<0||n>8)return null;let r={ilvl:n,numFmt:"decimal",lvlText:""},o=u(e,"w","start");if(o){let m=l(o,"w","val");if(m!==null){let y=parseInt(m,10);isNaN(y)||(r.start=y);}}let i=u(e,"w","numFmt");if(i){let m=l(i,"w","val");m&&(r.numFmt=Dr(m));}let s=u(e,"w","lvlText");s&&(r.lvlText=l(s,"w","val")??"");let a=u(e,"w","lvlJc");if(a){let m=l(a,"w","val");(m==="left"||m==="center"||m==="right")&&(r.lvlJc=m);}let c=u(e,"w","suff");if(c){let m=l(c,"w","val");(m==="tab"||m==="space"||m==="nothing")&&(r.suffix=m);}let f=u(e,"w","isLgl");f&&(r.isLgl=C(f));let p=u(e,"w","lvlRestart");if(p){let m=l(p,"w","val");if(m!==null){let y=parseInt(m,10);isNaN(y)||(r.lvlRestart=y);}}let d=u(e,"w","legacy");d&&(r.legacy={legacy:C(d),legacySpace:w(d,"w","legacySpace"),legacyIndent:w(d,"w","legacyIndent")});let g=u(e,"w","pPr");g&&(r.pPr=Ar(g));let h=u(e,"w","rPr");return h&&(r.rPr=Nr(h)),r}function Dr(e){return {decimal:"decimal",upperRoman:"upperRoman",lowerRoman:"lowerRoman",upperLetter:"upperLetter",lowerLetter:"lowerLetter",ordinal:"ordinal",cardinalText:"cardinalText",ordinalText:"ordinalText",hex:"hex",chicago:"chicago",bullet:"bullet",none:"none",decimalZero:"decimalZero",ganada:"ganada",chosung:"chosung",ideographDigital:"ideographDigital",japaneseCounting:"japaneseCounting",aiueo:"aiueo",iroha:"iroha",decimalFullWidth:"decimalFullWidth",decimalHalfWidth:"decimalHalfWidth",japaneseLegal:"japaneseLegal",japaneseDigitalTenThousand:"japaneseDigitalTenThousand",decimalEnclosedCircle:"decimalEnclosedCircle",decimalFullWidth2:"decimalFullWidth2",aiueoFullWidth:"aiueoFullWidth",irohaFullWidth:"irohaFullWidth",decimalEnclosedFullstop:"decimalEnclosedFullstop",decimalEnclosedParen:"decimalEnclosedParen",decimalEnclosedCircleChinese:"decimalEnclosedCircleChinese",ideographEnclosedCircle:"ideographEnclosedCircle",ideographTraditional:"ideographTraditional",ideographZodiac:"ideographZodiac",ideographZodiacTraditional:"ideographZodiacTraditional",taiwaneseCounting:"taiwaneseCounting",ideographLegalTraditional:"ideographLegalTraditional",taiwaneseCountingThousand:"taiwaneseCountingThousand",taiwaneseDigital:"taiwaneseDigital",chineseCounting:"chineseCounting",chineseLegalSimplified:"chineseLegalSimplified",chineseCountingThousand:"chineseCountingThousand",koreanDigital:"koreanDigital",koreanCounting:"koreanCounting",koreanLegal:"koreanLegal",koreanDigital2:"koreanDigital2",vietnameseCounting:"vietnameseCounting",russianLower:"russianLower",russianUpper:"russianUpper",numberInDash:"numberInDash",hebrew1:"hebrew1",hebrew2:"hebrew2",arabicAlpha:"arabicAlpha",arabicAbjad:"arabicAbjad",hindiVowels:"hindiVowels",hindiConsonants:"hindiConsonants",hindiNumbers:"hindiNumbers",hindiCounting:"hindiCounting",thaiLetters:"thaiLetters",thaiNumbers:"thaiNumbers",thaiCounting:"thaiCounting"}[e]??"decimal"}function Ar(e){let t={},n=u(e,"w","ind");if(n){let o=w(n,"w","left"),i=w(n,"w","right"),s=w(n,"w","firstLine"),a=w(n,"w","hanging");o!==void 0&&(t.indentLeft=o),i!==void 0&&(t.indentRight=i),a!==void 0?(t.indentFirstLine=-a,t.hangingIndent=true):s!==void 0&&(t.indentFirstLine=s);}let r=u(e,"w","tabs");if(r){t.tabs=[];let o=D(r,"w","tab");for(let i of o){let s=w(i,"w","pos"),a=l(i,"w","val"),c=l(i,"w","leader");s!==void 0&&a&&t.tabs.push({position:s,alignment:Br(a),leader:Lr(c)});}}return t}function Br(e){switch(e){case "left":return "left";case "center":return "center";case "right":return "right";case "decimal":return "decimal";case "bar":return "bar";case "clear":return "clear";case "num":return "num";default:return "left"}}function Lr(e){if(e)switch(e){case "none":return "none";case "dot":return "dot";case "hyphen":return "hyphen";case "underscore":return "underscore";case "heavy":return "heavy";case "middleDot":return "middleDot";default:return}}function Nr(e){let t={},n=u(e,"w","rFonts");n&&(t.fontFamily={ascii:l(n,"w","ascii")??void 0,hAnsi:l(n,"w","hAnsi")??void 0,eastAsia:l(n,"w","eastAsia")??void 0,cs:l(n,"w","cs")??void 0});let r=u(e,"w","sz");if(r){let a=w(r,"w","val");a!==void 0&&(t.fontSize=a);}let o=u(e,"w","color");if(o){let a=l(o,"w","val"),c=l(o,"w","themeColor");a==="auto"?t.color={auto:true}:c?t.color={themeColor:c,themeTint:l(o,"w","themeTint")??void 0,themeShade:l(o,"w","themeShade")??void 0}:a&&(t.color={rgb:a});}let i=u(e,"w","b");i&&(t.bold=C(i));let s=u(e,"w","i");return s&&(t.italic=C(s)),t}function Ze(e){let t=new Map;for(let r of e.abstractNums)t.set(r.abstractNumId,r);let n=new Map;for(let r of e.nums)n.set(r.numId,r);return {definitions:e,getLevel(r,o){let i=n.get(r);if(!i)return null;if(i.levelOverrides){let a=i.levelOverrides.find(c=>c.ilvl===o);if(a){if(a.lvl)return a.lvl;let c=t.get(i.abstractNumId);if(c){let f=c.levels.find(p=>p.ilvl===o);if(f&&a.startOverride!==void 0)return {...f,start:a.startOverride}}}}let s=t.get(i.abstractNumId);if(!s)return null;if(s.numStyleLink&&s.levels.length===0){for(let a of t.values())if(a.styleLink===s.numStyleLink&&a.levels.length>0){s=a;break}}return s.levels.find(a=>a.ilvl===o)??null},getAbstract(r){return t.get(r)??null},hasNumbering(r){return n.has(r)}}}function Xr(e){if(!e)return;let t=parseInt(e,10);if(!isNaN(t))return t/6e4}function B(e,t){let n=N(e);for(let r of n)if(r.name===t)return r;return null}function Hr(e,t){let n=N(e);for(let r of n)if(t.includes(r.name||""))return r;return null}function Vt(e){if(!e)return {width:0,height:0};let t=w(e,null,"cx")??0,n=w(e,null,"cy")??0;return {width:t,height:n}}function Wt(e){if(!e)return;let t=w(e,null,"l")??0,n=w(e,null,"t")??0,r=w(e,null,"r")??0,o=w(e,null,"b")??0;if(!(t===0&&n===0&&r===0&&o===0))return {left:t,top:n,right:r,bottom:o}}function _t(e){if(!e)return {};let t=l(e,null,"id")??void 0,n=l(e,null,"name")??void 0,r=l(e,null,"descr")??void 0,o=l(e,null,"title")??void 0,i=l(e,null,"decorative")==="1";return {id:t,name:n,alt:r,title:o,decorative:i||void 0}}function Or(e){if(!e)return;let t=l(e,null,"relativeFrom")??"column",n=B(e,"wp:align");if(n){let o=n.elements?.[0]?.text??null;return {relativeTo:t,alignment:o}}let r=B(e,"wp:posOffset");if(r){let o=String(r.elements?.[0]?.text??"0"),i=parseInt(o,10);return {relativeTo:t,posOffset:isNaN(i)?0:i}}return {relativeTo:t}}function jr(e){if(!e)return;let t=l(e,null,"relativeFrom")??"paragraph",n=B(e,"wp:align");if(n){let o=n.elements?.[0]?.text??null;return {relativeTo:t,alignment:o}}let r=B(e,"wp:posOffset");if(r){let o=String(r.elements?.[0]?.text??"0"),i=parseInt(o,10);return {relativeTo:t,posOffset:isNaN(i)?0:i}}return {relativeTo:t}}var zr=["wp:wrapNone","wp:wrapSquare","wp:wrapTight","wp:wrapThrough","wp:wrapTopAndBottom"];function Vr(e,t,n){if(!e){let k={type:t?"behind":"inFront"};return n?.distT!==void 0&&(k.distT=n.distT),n?.distB!==void 0&&(k.distB=n.distB),n?.distL!==void 0&&(k.distL=n.distL),n?.distR!==void 0&&(k.distR=n.distR),k}let o=(e.name||"").replace("wp:",""),i=w(e,null,"distT")??void 0,s=w(e,null,"distB")??void 0,a=w(e,null,"distL")??void 0,c=w(e,null,"distR")??void 0,f=i??n?.distT,p=s??n?.distB,d=a??n?.distL,g=c??n?.distR,h=l(e,null,"wrapText")??void 0,m;switch(o){case "wrapNone":m=t?"behind":"inFront";break;case "wrapSquare":m="square";break;case "wrapTight":m="tight";break;case "wrapThrough":m="through";break;case "wrapTopAndBottom":m="topAndBottom";break;default:m="square";}let y={type:m};return h&&(y.wrapText=h),f!==void 0&&(y.distT=f),p!==void 0&&(y.distB=p),d!==void 0&&(y.distL=d),g!==void 0&&(y.distR=g),y}function Ut(e){if(!e)return;let t=l(e,null,"rot"),n=l(e,null,"flipH")==="1",r=l(e,null,"flipV")==="1",o=Xr(t);if(o===void 0&&!n&&!r)return;let i={};return o!==void 0&&(i.rotation=o),n&&(i.flipH=true),r&&(i.flipV=true),i}function Gt(e){let t=B(e,"a:graphic");if(!t)return null;let n=B(t,"a:graphicData");if(!n)return null;let r=B(n,"pic:pic");if(!r)return null;let o=B(r,"pic:blipFill");return o?B(o,"a:blip"):null}function qt(e){if(!e)return "";let t=l(e,"r","embed");if(t)return t;let n=l(e,null,"embed");if(n)return n;let r=l(e,"r","link");return r||""}function Jt(e){let t=B(e,"a:graphic");if(!t)return null;let n=B(t,"a:graphicData");if(!n)return null;let r=B(n,"pic:pic");if(!r)return null;let o=B(r,"pic:spPr");return o?B(o,"a:xfrm"):null}function Wr(e){if(!e)return e;let t=e.replace(/^\/+/,"");return t.startsWith("media/")?t=`word/${t}`:t.startsWith("word/")||(t=`word/${t}`),t}function _r(e){let t=e.split(".").pop()?.toLowerCase()??"";return {png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",bmp:"image/bmp",tiff:"image/tiff",tif:"image/tiff",webp:"image/webp",svg:"image/svg+xml",emf:"image/x-emf",wmf:"image/x-wmf"}[t]??"application/octet-stream"}function Zt(e,t,n){if(!e||!t)return {};let r=t.get(e);if(!r)return {};let o=r.target;if(!o)return {};let i=Wr(o),s=o.split("/").pop(),a=(c,f)=>{let p=f.toLowerCase();for(let[d,g]of c.entries())if(d.toLowerCase()===p)return g};if(n){let c=a(n,i);if(c)return {src:c.dataUrl||c.base64,mimeType:c.mimeType,filename:s};let f=o.replace(/^\/+/,""),p=a(n,f);if(p)return {src:p.dataUrl||p.base64,mimeType:p.mimeType,filename:s};let d=`word/${f}`,g=a(n,d);if(g)return {src:g.dataUrl||g.base64,mimeType:g.mimeType,filename:s}}return {mimeType:_r(o),filename:s}}function Ur(e,t,n){let r=B(e,"wp:extent"),o=Vt(r),i=B(e,"wp:effectExtent"),s=Wt(i),a=B(e,"wp:docPr"),c=_t(a),f=Gt(e),p=qt(f),d=Zt(p,t,n),g=Jt(e),h=Ut(g),m=w(e,null,"distT")??void 0,y=w(e,null,"distB")??void 0,k=w(e,null,"distL")??void 0,S=w(e,null,"distR")??void 0,R={type:"inline"};m!==void 0&&(R.distT=m),y!==void 0&&(R.distB=y),k!==void 0&&(R.distL=k),S!==void 0&&(R.distR=S);let v={type:"image",rId:p,size:o,wrap:R};return c.id&&(v.id=c.id),c.alt&&(v.alt=c.alt),c.title&&(v.title=c.title),c.decorative&&(v.decorative=true),d.src&&(v.src=d.src),d.mimeType&&(v.mimeType=d.mimeType),d.filename&&(v.filename=d.filename),s&&(v.padding=s),h&&(v.transform=h),v}function Gr(e,t,n){let r=B(e,"wp:extent"),o=Vt(r),i=B(e,"wp:effectExtent"),s=Wt(i),a=B(e,"wp:docPr"),c=_t(a),f=l(e,null,"behindDoc")==="1",p={distT:w(e,null,"distT")??void 0,distB:w(e,null,"distB")??void 0,distL:w(e,null,"distL")??void 0,distR:w(e,null,"distR")??void 0},d=Hr(e,zr),g=Vr(d,f,p),h=B(e,"wp:positionH"),m=B(e,"wp:positionV"),y=Or(h),k=jr(m),S;(y||k)&&(S={horizontal:y??{relativeTo:"column"},vertical:k??{relativeTo:"paragraph"}});let R=Gt(e),v=qt(R),x=Zt(v,t,n),b=Jt(e),F=Ut(b),T={type:"image",rId:v,size:o,wrap:g};return c.id&&(T.id=c.id),c.alt&&(T.alt=c.alt),c.title&&(T.title=c.title),c.decorative&&(T.decorative=true),x.src&&(T.src=x.src),x.mimeType&&(T.mimeType=x.mimeType),x.filename&&(T.filename=x.filename),S&&(T.position=S),s&&(T.padding=s),F&&(T.transform=F),T}function qr(e,t,n){let r=N(e);for(let o of r){let i=o.name||"";if(i==="wp:inline")return Ur(o,t,n);if(i==="wp:anchor")return Gr(o,t,n)}return null}function Yt(e,t,n){return qr(e,t,n)}function Kt(e,t,n,r){let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),o}function Jr(e){if(!e)return;let t={},n=l(e,"w","color");n&&n!=="auto"&&(t.color={rgb:n});let r=l(e,"w","fill");r&&r!=="auto"&&(t.fill={rgb:r});let o=l(e,"w","themeFill");o&&(t.fill=t.fill||{},t.fill.themeColor=o);let i=l(e,"w","themeFillTint");i&&t.fill&&(t.fill.themeTint=i);let s=l(e,"w","themeFillShade");s&&t.fill&&(t.fill.themeShade=s);let a=l(e,"w","val");return a&&(t.pattern=a),Object.keys(t).length>0?t:void 0}function Ye(e,t,n){if(!e)return;let r={},o=u(e,"w","b");o&&(r.bold=C(o));let i=u(e,"w","bCs");i&&(r.boldCs=C(i));let s=u(e,"w","i");s&&(r.italic=C(s));let a=u(e,"w","iCs");a&&(r.italicCs=C(a));let c=u(e,"w","u");if(c){let P=l(c,"w","val");if(P){r.underline={style:P};let L=l(c,"w","color"),Z=l(c,"w","themeColor");(L||Z)&&(r.underline.color=Kt(L,Z,l(c,"w","themeTint"),l(c,"w","themeShade")));}}let f=u(e,"w","strike");f&&(r.strike=C(f));let p=u(e,"w","dstrike");p&&(r.doubleStrike=C(p));let d=u(e,"w","vertAlign");if(d){let P=l(d,"w","val");(P==="superscript"||P==="subscript"||P==="baseline")&&(r.vertAlign=P);}let g=u(e,"w","smallCaps");g&&(r.smallCaps=C(g));let h=u(e,"w","caps");h&&(r.allCaps=C(h));let m=u(e,"w","vanish");m&&(r.hidden=C(m));let y=u(e,"w","color");y&&(r.color=Kt(l(y,"w","val"),l(y,"w","themeColor"),l(y,"w","themeTint"),l(y,"w","themeShade")));let k=u(e,"w","highlight");if(k){let P=l(k,"w","val");P&&(r.highlight=P);}let S=u(e,"w","shd");S&&(r.shading=Jr(S));let R=u(e,"w","sz");if(R){let P=w(R,"w","val");P!==void 0&&(r.fontSize=P);}let v=u(e,"w","szCs");if(v){let P=w(v,"w","val");P!==void 0&&(r.fontSizeCs=P);}let x=u(e,"w","rFonts");if(x){r.fontFamily={ascii:l(x,"w","ascii")??void 0,hAnsi:l(x,"w","hAnsi")??void 0,eastAsia:l(x,"w","eastAsia")??void 0,cs:l(x,"w","cs")??void 0};let P=l(x,"w","asciiTheme");P&&(r.fontFamily.asciiTheme=P,t&&!r.fontFamily.ascii&&(r.fontFamily.ascii=Y(t,P)));let L=l(x,"w","hAnsiTheme");L&&(r.fontFamily.hAnsiTheme=L,t&&!r.fontFamily.hAnsi&&(r.fontFamily.hAnsi=Y(t,L)));let Z=l(x,"w","eastAsiaTheme");Z&&(r.fontFamily.eastAsiaTheme=Z,t&&!r.fontFamily.eastAsia&&(r.fontFamily.eastAsia=Y(t,Z)));let ze=l(x,"w","cstheme");ze&&(r.fontFamily.csTheme=ze,t&&!r.fontFamily.cs&&(r.fontFamily.cs=Y(t,ze)));}let b=u(e,"w","spacing");if(b){let P=w(b,"w","val");P!==void 0&&(r.spacing=P);}let F=u(e,"w","position");if(F){let P=w(F,"w","val");P!==void 0&&(r.position=P);}let T=u(e,"w","w");if(T){let P=w(T,"w","val");P!==void 0&&(r.scale=P);}let E=u(e,"w","kern");if(E){let P=w(E,"w","val");P!==void 0&&(r.kerning=P);}let M=u(e,"w","effect");if(M){let P=l(M,"w","val");P&&(r.effect=P);}let $=u(e,"w","em");if($){let P=l($,"w","val");P&&(r.emphasisMark=P);}let A=u(e,"w","emboss");A&&(r.emboss=C(A));let H=u(e,"w","imprint");H&&(r.imprint=C(H));let J=u(e,"w","outline");J&&(r.outline=C(J));let ne=u(e,"w","shadow");ne&&(r.shadow=C(ne));let X=u(e,"w","rtl");X&&(r.rtl=C(X));let V=u(e,"w","cs");V&&(r.cs=C(V));let I=u(e,"w","rStyle");if(I){let P=l(I,"w","val");P&&(r.styleId=P);}return Object.keys(r).length>0?r:void 0}function Zr(e){let t=Fe(e),n=l(e,"xml","space")==="preserve";return {type:"text",text:t,preserveSpace:n||void 0}}function Yr(){return {type:"tab"}}function Kr(e){let t=l(e,"w","type"),n=l(e,"w","clear"),r={type:"break"};return (t==="page"||t==="column"||t==="textWrapping")&&(r.breakType=t),(n==="none"||n==="left"||n==="right"||n==="all")&&(r.clear=n),r}function Qr(e){let t=l(e,"w","font")??"",n=l(e,"w","char")??"";return {type:"symbol",font:t,char:n}}function eo(e){return {type:"footnoteRef",id:w(e,"w","id")??0}}function to(e){return {type:"endnoteRef",id:w(e,"w","id")??0}}function no(e){let t=l(e,"w","fldCharType"),n=l(e,"w","fldLock")==="true"||l(e,"w","fldLock")==="1",r=l(e,"w","dirty")==="true"||l(e,"w","dirty")==="1",o="begin";return t==="separate"?o="separate":t==="end"&&(o="end"),{type:"fieldChar",charType:o,fldLock:n||void 0,dirty:r||void 0}}function ro(e){return {type:"instrText",text:Fe(e)}}function oo(e,t,n){let r=Yt(e,t??void 0,n??void 0);return r?{type:"drawing",image:r}:null}function io(e){if(!e)return "";let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function so(e,t,n){let r=[],o=N(e);for(let i of o)switch(io(i.name)){case "t":r.push(Zr(i));break;case "tab":r.push(Yr());break;case "br":r.push(Kr(i));break;case "sym":r.push(Qr(i));break;case "footnoteReference":r.push(eo(i));break;case "endnoteReference":r.push(to(i));break;case "fldChar":r.push(no(i));break;case "instrText":r.push(ro(i));break;case "softHyphen":r.push({type:"softHyphen"});break;case "noBreakHyphen":r.push({type:"noBreakHyphen"});break;case "drawing":let a=oo(i,t,n);a&&r.push(a);break;case "pict":case "object":break;case "rPr":break;case "lastRenderedPageBreak":break;case "cr":r.push({type:"break",breakType:"textWrapping"});break;}return r}function he(e,t,n,r=null,o=null){let i={type:"run",content:[]},s=u(e,"w","rPr");return s&&(i.formatting=Ye(s,n)),i.content=so(e,r,o),i}function ao(e){if(!e)return "";let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function lo(e){let t=w(e,"w","id")??0,n=l(e,"w","name")??"",r={type:"bookmarkStart",id:t,name:n},o=w(e,"w","colFirst");o!==void 0&&(r.colFirst=o);let i=w(e,"w","colLast");return i!==void 0&&(r.colLast=i),r}function co(e){return {type:"bookmarkEnd",id:w(e,"w","id")??0}}function Qt(e,t,n=null,r=null,o=null){let i={type:"hyperlink",children:[]},s=l(e,"r","id");if(s&&(i.rId=s,t)){let h=t.get(s);h&&(Rt(h),i.href=h.target);}let a=l(e,"w","anchor");a&&(i.anchor=a,i.href||(i.href=`#${a}`));let c=l(e,"w","tooltip");c&&(i.tooltip=c);let f=l(e,"w","tgtFrame");f&&(i.target=f);let p=l(e,"w","history");(p==="1"||p==="true")&&(i.history=true);let d=l(e,"w","docLocation");d&&(i.docLocation=d);let g=N(e);for(let h of g)switch(ao(h.name)){case "r":i.children.push(he(h,n,r,t,o));break;case "bookmarkStart":i.children.push(lo(h));break;case "bookmarkEnd":i.children.push(co(h));break}return i}function en(e){let t=w(e,"w","id")??0,n=l(e,"w","name")??"",r={type:"bookmarkStart",id:t,name:n},o=w(e,"w","colFirst");o!==void 0&&(r.colFirst=o);let i=w(e,"w","colLast");return i!==void 0&&(r.colLast=i),r}function tn(e){return {type:"bookmarkEnd",id:w(e,"w","id")??0}}function uo(e){if(!e)return;let t=w(e,"w","w")??0,n=l(e,"w","type")??"dxa",r="dxa";return (n==="auto"||n==="dxa"||n==="nil"||n==="pct")&&(r=n),{value:t,type:r}}function ee(e){return uo(e)}function ue(e){if(!e)return;let r={style:l(e,"w","val")??"none"},o=w(e,"w","sz");o!==void 0&&(r.size=o);let i=w(e,"w","space");i!==void 0&&(r.space=i);let s=l(e,"w","color"),a=l(e,"w","themeColor"),c=l(e,"w","themeTint"),f=l(e,"w","themeShade");(s||a||c||f)&&(r.color={rgb:s??void 0,themeColor:a,themeTint:c??void 0,themeShade:f??void 0});let p=l(e,"w","shadow");(p==="1"||p==="true")&&(r.shadow=true);let d=l(e,"w","frame");return (d==="1"||d==="true")&&(r.frame=true),r}function nn(e){if(!e)return;let t={},n=ue(u(e,"w","top"));n&&(t.top=n);let r=ue(u(e,"w","bottom"));r&&(t.bottom=r);let o=ue(u(e,"w","left")??u(e,"w","start"));o&&(t.left=o);let i=ue(u(e,"w","right")??u(e,"w","end"));i&&(t.right=i);let s=ue(u(e,"w","insideH"));s&&(t.insideH=s);let a=ue(u(e,"w","insideV"));if(a&&(t.insideV=a),Object.keys(t).length!==0)return t}function rn(e){if(!e)return;let t={},n=ee(u(e,"w","top"));n&&(t.top=n);let r=ee(u(e,"w","bottom"));r&&(t.bottom=r);let o=ee(u(e,"w","left")??u(e,"w","start"));o&&(t.left=o);let i=ee(u(e,"w","right")??u(e,"w","end"));if(i&&(t.right=i),Object.keys(t).length!==0)return t}function on(e){if(!e)return;let t={},n=l(e,"w","fill");n&&n!=="auto"&&(t.fill={rgb:n});let r=l(e,"w","themeFill");if(r){t.fill={themeColor:r};let s=l(e,"w","themeFillTint");s&&t.fill&&(t.fill.themeTint=s);let a=l(e,"w","themeFillShade");a&&t.fill&&(t.fill.themeShade=a);}let o=l(e,"w","color");o&&o!=="auto"&&(t.color={rgb:o});let i=l(e,"w","val");if(i&&(t.pattern=i),Object.keys(t).length!==0)return t}function fo(e){if(!e)return;let t={},n=l(e,"w","firstRow");(n==="1"||n==="true")&&(t.firstRow=true);let r=l(e,"w","lastRow");(r==="1"||r==="true")&&(t.lastRow=true);let o=l(e,"w","firstColumn");(o==="1"||o==="true")&&(t.firstColumn=true);let i=l(e,"w","lastColumn");(i==="1"||i==="true")&&(t.lastColumn=true);let s=l(e,"w","noHBand");(s==="1"||s==="true")&&(t.noHBand=true);let a=l(e,"w","noVBand");(a==="1"||a==="true")&&(t.noVBand=true);let c=l(e,"w","val");if(c){let f=parseInt(c,16);isNaN(f)||(f&32&&(t.firstRow=true),f&64&&(t.lastRow=true),f&128&&(t.firstColumn=true),f&256&&(t.lastColumn=true),f&512&&(t.noHBand=true),f&1024&&(t.noVBand=true));}if(Object.keys(t).length!==0)return t}function po(e){if(!e)return;let t={},n=l(e,"w","horzAnchor");(n==="margin"||n==="page"||n==="text")&&(t.horzAnchor=n);let r=l(e,"w","vertAnchor");(r==="margin"||r==="page"||r==="text")&&(t.vertAnchor=r);let o=w(e,"w","tblpX");o!==void 0&&(t.tblpX=o);let i=l(e,"w","tblpXSpec");i&&(t.tblpXSpec=i);let s=w(e,"w","tblpY");s!==void 0&&(t.tblpY=s);let a=l(e,"w","tblpYSpec");a&&(t.tblpYSpec=a);let c=w(e,"w","topFromText");c!==void 0&&(t.topFromText=c);let f=w(e,"w","bottomFromText");f!==void 0&&(t.bottomFromText=f);let p=w(e,"w","leftFromText");p!==void 0&&(t.leftFromText=p);let d=w(e,"w","rightFromText");if(d!==void 0&&(t.rightFromText=d),Object.keys(t).length!==0)return t}function mo(e){if(!e)return;let t={},n=ee(u(e,"w","tblW"));n&&(t.width=n);let r=u(e,"w","jc");if(r){let y=l(r,"w","val");(y==="left"||y==="center"||y==="right"||y==="start")&&(t.justification=y==="start"?"left":y);}let o=ee(u(e,"w","tblCellSpacing"));o&&(t.cellSpacing=o);let i=ee(u(e,"w","tblInd"));i&&(t.indent=i);let s=nn(u(e,"w","tblBorders"));s&&(t.borders=s);let a=rn(u(e,"w","tblCellMar"));a&&(t.cellMargins=a);let c=u(e,"w","tblLayout");if(c){let y=l(c,"w","type");(y==="fixed"||y==="autofit")&&(t.layout=y);}let f=u(e,"w","tblStyle");if(f){let y=l(f,"w","val");y&&(t.styleId=y);}let p=fo(u(e,"w","tblLook"));p&&(t.look=p);let d=on(u(e,"w","shd"));d&&(t.shading=d);let g=u(e,"w","tblOverlap");if(g){let y=l(g,"w","val");(y==="never"||y==="overlap")&&(t.overlap=y);}let h=po(u(e,"w","tblpPr"));if(h&&(t.floating=h),C(u(e,"w","bidiVisual"))&&(t.bidi=true),Object.keys(t).length!==0)return t}function go(e){if(!e)return;let t={},n=u(e,"w","trHeight");if(n){let c=ee(n);c&&(t.height=c);let f=l(n,"w","hRule");(f==="auto"||f==="atLeast"||f==="exact")&&(t.heightRule=f);}C(u(e,"w","tblHeader"))&&(t.header=true),C(u(e,"w","cantSplit"))&&(t.cantSplit=true);let i=u(e,"w","jc");if(i){let c=l(i,"w","val");(c==="left"||c==="center"||c==="right")&&(t.justification=c);}C(u(e,"w","hidden"))&&(t.hidden=true);let a=sn(u(e,"w","cnfStyle"));if(a&&(t.conditionalFormat=a),Object.keys(t).length!==0)return t}function sn(e){if(!e)return;let t={},n=l(e,"w","firstRow");(n==="1"||n==="true")&&(t.firstRow=true);let r=l(e,"w","lastRow");(r==="1"||r==="true")&&(t.lastRow=true);let o=l(e,"w","firstColumn");(o==="1"||o==="true")&&(t.firstColumn=true);let i=l(e,"w","lastColumn");(i==="1"||i==="true")&&(t.lastColumn=true);let s=l(e,"w","oddHBand");(s==="1"||s==="true")&&(t.oddHBand=true);let a=l(e,"w","evenHBand");(a==="1"||a==="true")&&(t.evenHBand=true);let c=l(e,"w","oddVBand");(c==="1"||c==="true")&&(t.oddVBand=true);let f=l(e,"w","evenVBand");(f==="1"||f==="true")&&(t.evenVBand=true);let p=l(e,"w","firstRowFirstColumn");(p==="1"||p==="true")&&(t.nwCell=true);let d=l(e,"w","firstRowLastColumn");(d==="1"||d==="true")&&(t.neCell=true);let g=l(e,"w","lastRowFirstColumn");(g==="1"||g==="true")&&(t.swCell=true);let h=l(e,"w","lastRowLastColumn");(h==="1"||h==="true")&&(t.seCell=true);let m=l(e,"w","val");if(m&&m.length===12&&(m[0]==="1"&&(t.firstRow=true),m[1]==="1"&&(t.lastRow=true),m[2]==="1"&&(t.firstColumn=true),m[3]==="1"&&(t.lastColumn=true),m[4]==="1"&&(t.oddVBand=true),m[5]==="1"&&(t.evenVBand=true),m[6]==="1"&&(t.oddHBand=true),m[7]==="1"&&(t.evenHBand=true),m[8]==="1"&&(t.nwCell=true),m[9]==="1"&&(t.neCell=true),m[10]==="1"&&(t.swCell=true),m[11]==="1"&&(t.seCell=true)),Object.keys(t).length!==0)return t}function ho(e){if(!e)return;let t={},n=ee(u(e,"w","tcW"));n&&(t.width=n);let r=nn(u(e,"w","tcBorders"));r&&(t.borders=r);let o=rn(u(e,"w","tcMar"));o&&(t.margins=o);let i=on(u(e,"w","shd"));i&&(t.shading=i);let s=u(e,"w","vAlign");if(s){let m=l(s,"w","val");(m==="top"||m==="center"||m==="bottom")&&(t.verticalAlign=m);}let a=u(e,"w","textDirection");if(a){let m=l(a,"w","val");m&&(t.textDirection=m);}let c=u(e,"w","gridSpan");if(c){let m=w(c,"w","val");m!==void 0&&m>1&&(t.gridSpan=m);}let f=u(e,"w","vMerge");f&&(l(f,"w","val")==="restart"?t.vMerge="restart":t.vMerge="continue"),C(u(e,"w","tcFitText"))&&(t.fitText=true),C(u(e,"w","noWrap"))&&(t.noWrap=true),C(u(e,"w","hideMark"))&&(t.hideMark=true);let h=sn(u(e,"w","cnfStyle"));if(h&&(t.conditionalFormat=h),Object.keys(t).length!==0)return t}function wo(e,t,n,r,o,i){let s=[],a=e.elements||[];for(let c of a){if(!c.name)continue;let f=c.name.split(":").pop();if(f==="p"){let p=q(c,t,n,r,o,i);s.push(p);}else if(f==="tbl"){let p=we(c,t,n,r,o,i);s.push(p);}}return s.length===0&&s.push({type:"paragraph",content:[]}),s}function yo(e,t,n,r,o,i){let s={type:"tableCell",content:[]},a=ho(u(e,"w","tcPr"));return a&&(s.formatting=a),s.content=wo(e,t,n,r,o,i),s}function xo(e,t,n,r,o,i){let s={type:"tableRow",cells:[]},a=go(u(e,"w","trPr"));a&&(s.formatting=a);let c=D(e,"w","tc");for(let f of c){let p=yo(f,t,n,r,o,i);s.cells.push(p);}return s}function bo(e){if(!e)return;let t=[],n=D(e,"w","gridCol");for(let r of n){let o=w(r,"w","w")??0;t.push(o);}return t.length>0?t:void 0}function we(e,t,n,r,o,i){let s={type:"table",rows:[]},a=mo(u(e,"w","tblPr"));a&&(s.formatting=a);let c=bo(u(e,"w","tblGrid"));c&&(s.columnWidths=c);let f=D(e,"w","tr");for(let p of f){let d=xo(p,t,n,r,o,i);s.rows.push(d);}return s}function an(e){switch(e){case "first":return "first";case "even":return "even";default:return "default"}}function ln(e){let t=l(e,"w","type"),n=l(e,"r","id")??"";return {type:an(t),rId:n}}function cn(e){let t=l(e,"w","type"),n=l(e,"r","id")??"";return {type:an(t),rId:n}}function Ke(e,t,n,r,o,i){let s=[],a=e.elements??[];for(let c of a){if(c.type!=="element")continue;let f=c.name??"";if(f==="w:p"||f.endsWith(":p")){let p=q(c,t,n,r,o,i);s.push(p);}else if(f==="w:tbl"||f.endsWith(":tbl")){let p=we(c,t,n,r,o,i);s.push(p);}else if(f==="w:sdt"||f.endsWith(":sdt")){let p=(c.elements??[]).find(d=>d.type==="element"&&(d.name==="w:sdtContent"||d.name?.endsWith(":sdtContent")));if(p){let d=Ke(p,t,n,r,o,i);s.push(...d);}}}return s}function un(e,t="default",n=null,r=null,o=null,i=null,s=null){let a={type:"header",hdrFtrType:t,content:[]};if(!e)return a;let c=U(e);if(!c)return a;let f=c.elements?.find(p=>p.type==="element"&&(p.name==="w:hdr"||p.name?.endsWith(":hdr")));return f&&(a.content=Ke(f,n,r,o,i,s)),a}function fn(e,t="default",n=null,r=null,o=null,i=null,s=null){let a={type:"footer",hdrFtrType:t,content:[]};if(!e)return a;let c=U(e);if(!c)return a;let f=c.elements?.find(p=>p.type==="element"&&(p.name==="w:ftr"||p.name?.endsWith(":ftr")));return f&&(a.content=Ke(f,n,r,o,i,s)),a}function pn(e){switch(e){case "separator":return "separator";case "continuationSeparator":return "continuationSeparator";case "continuationNotice":return "continuationNotice";default:return "normal"}}function To(e,t,n,r,o,i){let s=w(e,"w","id")??0,a=l(e,"w","type"),c=pn(a),p=D(e,"w","p").map(d=>q(d,t,n,r,o));return {type:"footnote",id:s,noteType:c,content:p}}function dn(e,t=null,n=null,r=null,o=null,i=null){let s=new Map,a=[];if(!e)return Re(s,a);let c=U(e);if(!c)return Re(s,a);let f=c.elements?.find(d=>d.type==="element"&&(d.name==="w:footnotes"||d.name?.endsWith(":footnotes")));if(!f)return Re(s,a);let p=D(f,"w","footnote");for(let d of p){let g=To(d,t,n,r,o);s.set(g.id,g),a.push(g);}return Re(s,a)}function Re(e,t){return {byId:e,footnotes:t,getFootnote(n){return e.get(n)},hasFootnote(n){return e.has(n)},getNormalFootnotes(){return t.filter(n=>n.noteType==="normal")},getSeparator(){return t.find(n=>n.noteType==="separator")},getContinuationSeparator(){return t.find(n=>n.noteType==="continuationSeparator")}}}function Co(e,t,n,r,o,i){let s=w(e,"w","id")??0,a=l(e,"w","type"),c=pn(a),p=D(e,"w","p").map(d=>q(d,t,n,r,o));return {type:"endnote",id:s,noteType:c,content:p}}function mn(e,t=null,n=null,r=null,o=null,i=null){let s=new Map,a=[];if(!e)return Ee(s,a);let c=U(e);if(!c)return Ee(s,a);let f=c.elements?.find(d=>d.type==="element"&&(d.name==="w:endnotes"||d.name?.endsWith(":endnotes")));if(!f)return Ee(s,a);let p=D(f,"w","endnote");for(let d of p){let g=Co(d,t,n,r,o);s.set(g.id,g),a.push(g);}return Ee(s,a)}function Ee(e,t){return {byId:e,endnotes:t,getEndnote(n){return e.get(n)},hasEndnote(n){return e.has(n)},getNormalEndnotes(){return t.filter(n=>n.noteType==="normal")},getSeparator(){return t.find(n=>n.noteType==="separator")},getContinuationSeparator(){return t.find(n=>n.noteType==="continuationSeparator")}}}function gn(e){return e?{decimal:"decimal",upperRoman:"upperRoman",lowerRoman:"lowerRoman",upperLetter:"upperLetter",lowerLetter:"lowerLetter",ordinal:"ordinal",cardinalText:"cardinalText",ordinalText:"ordinalText",bullet:"bullet",chicago:"chicago",none:"none"}[e]:void 0}function Fo(e){switch(e){case "pageBottom":return "pageBottom";case "beneathText":return "beneathText";case "sectEnd":return "sectEnd";case "docEnd":return "docEnd";default:return}}function So(e){switch(e){case "sectEnd":return "sectEnd";case "docEnd":return "docEnd";default:return}}function hn(e){switch(e){case "continuous":return "continuous";case "eachSect":return "eachSect";case "eachPage":return "eachPage";default:return}}function wn(e){let t={};if(!e)return t;let n=u(e,"w","pos");if(n){let s=l(n,"w","val");t.position=Fo(s);}let r=u(e,"w","numFmt");if(r){let s=l(r,"w","val");t.numFmt=gn(s);}let o=u(e,"w","numStart");o&&(t.numStart=w(o,"w","val")??void 0);let i=u(e,"w","numRestart");if(i){let s=l(i,"w","val");t.numRestart=hn(s);}return t}function yn(e){let t={};if(!e)return t;let n=u(e,"w","pos");if(n){let s=l(n,"w","val");t.position=So(s);}let r=u(e,"w","numFmt");if(r){let s=l(r,"w","val");t.numFmt=gn(s);}let o=u(e,"w","numStart");o&&(t.numStart=w(o,"w","val")??void 0);let i=u(e,"w","numRestart");if(i){let s=l(i,"w","val");t.numRestart=hn(s);}return t}function vo(e,t,n,r){if(!e&&!t)return;let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),Object.keys(o).length>0?o:void 0}function Ie(e){if(!e)return;let r={style:l(e,"w","val")??"none"},o=w(e,"w","sz");o!==void 0&&(r.size=o);let i=w(e,"w","space");i!==void 0&&(r.space=i);let s=l(e,"w","color"),a=l(e,"w","themeColor"),c=l(e,"w","themeTint"),f=l(e,"w","themeShade"),p=vo(s,a,c,f);p&&(r.color=p);let d=l(e,"w","shadow");(d==="1"||d==="true")&&(r.shadow=true);let g=l(e,"w","frame");return (g==="1"||g==="true")&&(r.frame=true),r}function ko(e){switch(e){case "landscape":return "landscape";case "portrait":return "portrait";default:return}}function Po(e){switch(e){case "continuous":return "continuous";case "nextPage":return "nextPage";case "oddPage":return "oddPage";case "evenPage":return "evenPage";case "nextColumn":return "nextColumn";default:return}}function Ro(e){switch(e){case "top":return "top";case "center":return "center";case "both":return "both";case "bottom":return "bottom";default:return}}function Eo(e){switch(e){case "continuous":return "continuous";case "newPage":return "newPage";case "newSection":return "newSection";default:return}}function Me(e,t){let n={};if(!e)return n;let r=u(e,"w","pgSz");if(r){let x=w(r,"w","w");x!==void 0&&(n.pageWidth=x);let b=w(r,"w","h");b!==void 0&&(n.pageHeight=b);let F=l(r,"w","orient"),T=ko(F);T&&(n.orientation=T);}let o=u(e,"w","pgMar");if(o){let x=w(o,"w","top");x!==void 0&&(n.marginTop=x);let b=w(o,"w","bottom");b!==void 0&&(n.marginBottom=b);let F=w(o,"w","left");F!==void 0&&(n.marginLeft=F);let T=w(o,"w","right");T!==void 0&&(n.marginRight=T);let E=w(o,"w","header");E!==void 0&&(n.headerDistance=E);let M=w(o,"w","footer");M!==void 0&&(n.footerDistance=M);let $=w(o,"w","gutter");$!==void 0&&(n.gutter=$);}let i=u(e,"w","cols");if(i){let x=w(i,"w","num");x!==void 0&&(n.columnCount=x);let b=w(i,"w","space");b!==void 0&&(n.columnSpace=b);let F=l(i,"w","equalWidth");F==="1"||F==="true"?n.equalWidth=true:(F==="0"||F==="false")&&(n.equalWidth=false);let T=l(i,"w","sep");(T==="1"||T==="true")&&(n.separator=true);let E=D(i,"w","col");if(E.length>0){n.columns=[];for(let M of E){let $={},A=w(M,"w","w");A!==void 0&&($.width=A);let H=w(M,"w","space");H!==void 0&&($.space=H),n.columns.push($);}}}let s=u(e,"w","type");if(s){let x=l(s,"w","val"),b=Po(x);b&&(n.sectionStart=b);}let a=u(e,"w","vAlign");if(a){let x=l(a,"w","val"),b=Ro(x);b&&(n.verticalAlign=b);}let c=u(e,"w","bidi");c&&(n.bidi=C(c));let f=D(e,"w","headerReference");f.length>0&&(n.headerReferences=f.map(x=>ln(x)));let p=D(e,"w","footerReference");p.length>0&&(n.footerReferences=p.map(x=>cn(x)));let d=u(e,"w","titlePg");d&&(n.titlePg=C(d));let g=u(e,"w","evenAndOddHeaders");g&&(n.evenAndOddHeaders=C(g));let h=u(e,"w","lnNumType");if(h){n.lineNumbers={};let x=w(h,"w","start");x!==void 0&&(n.lineNumbers.start=x);let b=w(h,"w","countBy");b!==void 0&&(n.lineNumbers.countBy=b);let F=w(h,"w","distance");F!==void 0&&(n.lineNumbers.distance=F);let T=l(h,"w","restart"),E=Eo(T);E&&(n.lineNumbers.restart=E);}let m=u(e,"w","pgBorders");if(m){n.pageBorders={};let x=Ie(u(m,"w","top"));x&&(n.pageBorders.top=x);let b=Ie(u(m,"w","bottom"));b&&(n.pageBorders.bottom=b);let F=Ie(u(m,"w","left"));F&&(n.pageBorders.left=F);let T=Ie(u(m,"w","right"));T&&(n.pageBorders.right=T);let E=l(m,"w","display");(E==="allPages"||E==="firstPage"||E==="notFirstPage")&&(n.pageBorders.display=E);let M=l(m,"w","offsetFrom");(M==="page"||M==="text")&&(n.pageBorders.offsetFrom=M);let $=l(m,"w","zOrder");($==="front"||$==="back")&&(n.pageBorders.zOrder=$);}let y=u(e,"w","background");if(y){n.background={};let x=l(y,"w","color");x&&x!=="auto"&&(n.background.color={rgb:x});let b=l(y,"w","themeColor");b&&(n.background.themeColor=b);let F=l(y,"w","themeTint");F&&(n.background.themeTint=F);let T=l(y,"w","themeShade");T&&(n.background.themeShade=T);}let k=u(e,"w","footnotePr");if(k){let x=wn(k);Object.keys(x).length>0&&(n.footnotePr=x);}let S=u(e,"w","endnotePr");if(S){let x=yn(S);Object.keys(x).length>0&&(n.endnotePr=x);}let R=u(e,"w","docGrid");if(R){n.docGrid={};let x=l(R,"w","type");(x==="default"||x==="lines"||x==="linesAndChars"||x==="snapToChars")&&(n.docGrid.type=x);let b=w(R,"w","linePitch");b!==void 0&&(n.docGrid.linePitch=b);let F=w(R,"w","charSpace");F!==void 0&&(n.docGrid.charSpace=F);}let v=u(e,"w","paperSrc");if(v){let x=w(v,"w","first");x!==void 0&&(n.paperSrcFirst=x);let b=w(v,"w","other");b!==void 0&&(n.paperSrcOther=b);}return n}function xn(){return {pageWidth:12240,pageHeight:15840,orientation:"portrait",marginTop:1440,marginBottom:1440,marginLeft:1440,marginRight:1440,headerDistance:720,footerDistance:720,gutter:0,columnCount:1,columnSpace:720,equalWidth:true,sectionStart:"nextPage",verticalAlign:"top"}}function Io(e,t){return !e&&!t?true:!(!e||!t||e.bold!==t.bold||e.boldCs!==t.boldCs||e.italic!==t.italic||e.italicCs!==t.italicCs||e.strike!==t.strike||e.doubleStrike!==t.doubleStrike||e.smallCaps!==t.smallCaps||e.allCaps!==t.allCaps||e.hidden!==t.hidden||e.emboss!==t.emboss||e.imprint!==t.imprint||e.outline!==t.outline||e.shadow!==t.shadow||e.rtl!==t.rtl||e.cs!==t.cs||e.fontSize!==t.fontSize||e.fontSizeCs!==t.fontSizeCs||e.spacing!==t.spacing||e.position!==t.position||e.scale!==t.scale||e.kerning!==t.kerning||e.vertAlign!==t.vertAlign||e.highlight!==t.highlight||e.effect!==t.effect||e.emphasisMark!==t.emphasisMark||e.styleId!==t.styleId||!Mo(e.underline,t.underline)||!$e(e.color,t.color)||!$o(e.shading,t.shading)||!Do(e.fontFamily,t.fontFamily))}function Mo(e,t){return !e&&!t?true:!e||!t||e.style!==t.style?false:$e(e.color,t.color)}function $e(e,t){return !e&&!t?true:!e||!t?false:e.rgb===t.rgb&&e.auto===t.auto&&e.themeColor===t.themeColor&&e.themeTint===t.themeTint&&e.themeShade===t.themeShade}function $o(e,t){return !e&&!t?true:!(!e||!t||e.pattern!==t.pattern||!$e(e.color,t.color)||!$e(e.fill,t.fill))}function Do(e,t){return !e&&!t?true:!e||!t?false:e.ascii===t.ascii&&e.hAnsi===t.hAnsi&&e.eastAsia===t.eastAsia&&e.cs===t.cs&&e.asciiTheme===t.asciiTheme&&e.hAnsiTheme===t.hAnsiTheme&&e.eastAsiaTheme===t.eastAsiaTheme&&e.csTheme===t.csTheme}function Ao(e){return e.type==="text"||e.type==="softHyphen"||e.type==="noBreakHyphen"}function bn(e){return e.content.length===0?true:e.content.every(Ao)}function Bo(e,t){let n=[];for(let r of e)n.push(r);if(n.length>0&&t.length>0&&n[n.length-1].type==="text"&&t[0].type==="text"){let r=n[n.length-1],o=t[0];n[n.length-1]={type:"text",text:r.text+o.text,preserveSpace:r.preserveSpace||o.preserveSpace||void 0};for(let i=1;i<t.length;i++)n.push(t[i]);}else for(let r of t)n.push(r);return n}function Lo(e){if(e.length<=1)return e;let t=[],n=null;for(let r of e)if(r.content.length!==0){if(n===null){n={...r,content:[...r.content]};continue}bn(n)&&bn(r)&&Io(n.formatting,r.formatting)?n={type:"run",formatting:n.formatting,content:Bo(n.content,r.content)}:(t.push(n),n={...r,content:[...r.content]});}return n!==null&&t.push(n),t}function Qe(e){if(e.length<=1)return e;let t=[],n=[];function r(){if(n.length>0){let o=Lo(n);t.push(...o),n.length=0;}}for(let o of e)if(o.type==="run")n.push(o);else if(r(),o.type==="hyperlink"){let i={...o,children:Qe(o.children)};t.push(i);}else t.push(o);return r(),t}function No(e){let t={sdtType:"richText"};if(!e||!e.elements)return t;for(let n of e.elements){if(n.type!=="element")continue;switch(n.name?.replace(/^w:/,"")??""){case "alias":t.alias=l(n,"w","val")??void 0;break;case "tag":t.tag=l(n,"w","val")??void 0;break;case "lock":t.lock=l(n,"w","val")??"unlocked";break;case "placeholder":{let o=u(n,"w","docPart");if(o){let i=u(o,"w","val");t.placeholder=i?l(i,"w","val")??void 0:void 0;}break}case "showingPlcHdr":t.showingPlaceholder=true;break;case "text":t.sdtType="plainText";break;case "date":t.sdtType="date",t.dateFormat=l(n,"w","fullDate")??void 0;break;case "dropDownList":t.sdtType="dropdown",t.listItems=Tn(n);break;case "comboBox":t.sdtType="comboBox",t.listItems=Tn(n);break;case "checkbox":{t.sdtType="checkbox";let o=u(n,"w14","checked")??u(n,"w","checked");t.checked=o?l(o,"w14","val")==="1"||l(o,"w","val")==="1":false;break}case "picture":t.sdtType="picture";break;case "docPartObj":t.sdtType="buildingBlockGallery";break;case "group":t.sdtType="group";break}}return t}function Tn(e){let t=[];for(let n of e.elements??[])n.type==="element"&&(n.name==="w:listItem"||n.name?.endsWith(":listItem"))&&t.push({displayText:l(n,"w","displayText")??"",value:l(n,"w","value")??""});return t}function Cn(e){let t="";if(e.type==="text"&&typeof e.text=="string")return e.text;if(e.elements)for(let n of e.elements)if((n.name?.replace(/^.*:/,"")??"")==="t"&&n.elements)for(let o of n.elements)o.type==="text"&&typeof o.text=="string"&&(t+=o.text);else t+=Cn(n);return t}function Xo(e,t,n,r){let o={};return e&&e!=="auto"?o.rgb=e:e==="auto"&&(o.auto=true),t&&(o.themeColor=t),n&&(o.themeTint=n),r&&(o.themeShade=r),o}function Ho(e){if(!e)return;let t={},n=l(e,"w","color");n&&n!=="auto"&&(t.color={rgb:n});let r=l(e,"w","fill");r&&r!=="auto"&&(t.fill={rgb:r});let o=l(e,"w","themeFill");o&&(t.fill=t.fill||{},t.fill.themeColor=o);let i=l(e,"w","themeFillTint");i&&t.fill&&(t.fill.themeTint=i);let s=l(e,"w","themeFillShade");s&&t.fill&&(t.fill.themeShade=s);let a=l(e,"w","val");return a&&(t.pattern=a),Object.keys(t).length>0?t:void 0}function fe(e){if(!e)return;let t=l(e,"w","val");if(!t)return;let n={style:t},r=l(e,"w","color"),o=l(e,"w","themeColor");(r||o)&&(n.color=Xo(r,o,l(e,"w","themeTint"),l(e,"w","themeShade")));let i=w(e,"w","sz");i!==void 0&&(n.size=i);let s=w(e,"w","space");s!==void 0&&(n.space=s);let a=l(e,"w","shadow");a&&(n.shadow=a==="1"||a==="true");let c=l(e,"w","frame");return c&&(n.frame=c==="1"||c==="true"),n}function Oo(e){if(!e)return;let t=D(e,"w","tab");if(t.length===0)return;let n=[];for(let r of t){let o=w(r,"w","pos"),i=l(r,"w","val");if(o!==void 0&&i){let s={position:o,alignment:i},a=l(r,"w","leader");a&&(s.leader=a),n.push(s);}}return n.length>0?n:void 0}function jo(e){if(!e)return;let t={},n=w(e,"w","w");n!==void 0&&(t.width=n);let r=w(e,"w","h");r!==void 0&&(t.height=r);let o=l(e,"w","hAnchor");(o==="text"||o==="margin"||o==="page")&&(t.hAnchor=o);let i=l(e,"w","vAnchor");(i==="text"||i==="margin"||i==="page")&&(t.vAnchor=i);let s=w(e,"w","x");s!==void 0&&(t.x=s);let a=w(e,"w","y");a!==void 0&&(t.y=a);let c=l(e,"w","xAlign");c&&(t.xAlign=c);let f=l(e,"w","yAlign");f&&(t.yAlign=f);let p=l(e,"w","wrap");return p&&(t.wrap=p),Object.keys(t).length>0?t:void 0}function zo(e,t,n){if(!e)return;let r={},o=u(e,"w","jc");if(o){let T=l(o,"w","val");T&&(r.alignment=T);}let i=u(e,"w","bidi");i&&(r.bidi=C(i));let s=u(e,"w","spacing");if(s){let T=w(s,"w","before");T!==void 0&&(r.spaceBefore=T);let E=w(s,"w","after");E!==void 0&&(r.spaceAfter=E);let M=w(s,"w","line");M!==void 0&&(r.lineSpacing=M);let $=l(s,"w","lineRule");$&&(r.lineSpacingRule=$);let A=l(s,"w","beforeAutospacing");A&&(r.beforeAutospacing=A==="1"||A==="true");let H=l(s,"w","afterAutospacing");H&&(r.afterAutospacing=H==="1"||H==="true");}let a=u(e,"w","ind");if(a){let T=w(a,"w","left");T!==void 0&&(r.indentLeft=T);let E=w(a,"w","right");E!==void 0&&(r.indentRight=E);let M=w(a,"w","firstLine");M!==void 0&&(r.indentFirstLine=M);let $=w(a,"w","hanging");$!==void 0&&(r.indentFirstLine=-$,r.hangingIndent=true);let A=w(a,"w","start");A!==void 0&&r.indentLeft===void 0&&(r.indentLeft=A);let H=w(a,"w","end");H!==void 0&&r.indentRight===void 0&&(r.indentRight=H);}let c=u(e,"w","pBdr");if(c){let T={},E=fe(u(c,"w","top"));E&&(T.top=E);let M=fe(u(c,"w","bottom"));M&&(T.bottom=M);let $=fe(u(c,"w","left"));$&&(T.left=$);let A=fe(u(c,"w","right"));A&&(T.right=A);let H=fe(u(c,"w","between"));H&&(T.between=H);let J=fe(u(c,"w","bar"));J&&(T.bar=J),Object.keys(T).length>0&&(r.borders=T);}let f=u(e,"w","shd");f&&(r.shading=Ho(f));let p=u(e,"w","tabs");p&&(r.tabs=Oo(p));let d=u(e,"w","keepNext");d&&(r.keepNext=C(d));let g=u(e,"w","keepLines");g&&(r.keepLines=C(g));let h=u(e,"w","widowControl");h&&(r.widowControl=C(h));let m=u(e,"w","pageBreakBefore");m&&(r.pageBreakBefore=C(m));let y=u(e,"w","contextualSpacing");y&&(r.contextualSpacing=C(y));let k=u(e,"w","numPr");if(k){let T=u(k,"w","numId"),E=u(k,"w","ilvl");if(T||E){if(r.numPr={},T){let M=w(T,"w","val");M!==void 0&&(r.numPr.numId=M);}if(E){let M=w(E,"w","val");M!==void 0&&(r.numPr.ilvl=M);}}}let S=u(e,"w","outlineLvl");if(S){let T=w(S,"w","val");T!==void 0&&(r.outlineLevel=T);}let R=u(e,"w","pStyle");if(R){let T=l(R,"w","val");T&&(r.styleId=T);}let v=u(e,"w","framePr");v&&(r.frame=jo(v));let x=u(e,"w","suppressLineNumbers");x&&(r.suppressLineNumbers=C(x));let b=u(e,"w","suppressAutoHyphens");b&&(r.suppressAutoHyphens=C(b));let F=u(e,"w","rPr");return F&&(r.runProperties=Ye(F,t)),Object.keys(r).length>0?r:void 0}function Fn(e){if(!e)return "";let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function Vo(e,t,n,r,o){return Qt(e,t,n,r,o)}function Wo(e){return en(e)}function _o(e){return tn(e)}function Sn(e){let t=e.trim().match(/^\\?([A-Z]+)/i);if(!t)return "UNKNOWN";let n=t[1].toUpperCase();return ["PAGE","NUMPAGES","NUMWORDS","NUMCHARS","DATE","TIME","CREATEDATE","SAVEDATE","PRINTDATE","AUTHOR","TITLE","SUBJECT","KEYWORDS","COMMENTS","FILENAME","FILESIZE","TEMPLATE","DOCPROPERTY","DOCVARIABLE","REF","PAGEREF","NOTEREF","HYPERLINK","TOC","TOA","INDEX","SEQ","STYLEREF","AUTONUM","AUTONUMLGL","AUTONUMOUT","IF","MERGEFIELD","NEXT","NEXTIF","ASK","SET","QUOTE","INCLUDETEXT","INCLUDEPICTURE","SYMBOL","ADVANCE","EDITTIME","REVNUM","SECTION","SECTIONPAGES","USERADDRESS","USERNAME","USERINITIALS"].includes(n)?n:"UNKNOWN"}function Uo(e,t,n,r,o){let i=l(e,"w","instr")??"",s=Sn(i),a={type:"simpleField",instruction:i,fieldType:s,content:[]},c=l(e,"w","fldLock");(c==="1"||c==="true")&&(a.fldLock=true);let f=l(e,"w","dirty");(f==="1"||f==="true")&&(a.dirty=true);let p=N(e);for(let d of p)Fn(d.name)==="r"&&a.content.push(he(d,t,n,r,o));return a}function De(e,t,n,r,o,i){let s=[],a=N(e),c=false,f="",p=[],d=[],g=false,h=false,m=false;for(let y of a){let k=Fn(y.name);switch(k){case "r":{let S=he(y,t,n,o,i),R=false,v=false,x=false,b="";for(let F of S.content)F.type==="fieldChar"?F.charType==="begin"?(R=true,F.fldLock&&(h=true),F.dirty&&(m=true)):F.charType==="separate"?v=true:F.charType==="end"&&(x=true):F.type==="instrText"&&(b+=F.text);if(R&&(c=true,g=false,f="",p=[],d=[],h=false,m=false),c){if(b&&(f+=b),v&&(g=true),g&&!x?v||d.push(S):!g&&!R&&p.push(S),x){let F={type:"complexField",instruction:f.trim(),fieldType:Sn(f),fieldCode:p,fieldResult:d};h&&(F.fldLock=true),m&&(F.dirty=true),s.push(F),c=false;}}else s.push(S);break}case "hyperlink":s.push(Vo(y,o,t,n,i));break;case "bookmarkStart":s.push(Wo(y));break;case "bookmarkEnd":s.push(_o(y));break;case "fldSimple":s.push(Uo(y,t,n,o,i));break;case "pPr":break;case "proofErr":case "permStart":case "permEnd":case "customXml":break;case "sdt":{let S=(y.elements??[]).find(v=>v.type==="element"&&(v.name==="w:sdtPr"||v.name?.endsWith(":sdtPr"))),R=(y.elements??[]).find(v=>v.type==="element"&&(v.name==="w:sdtContent"||v.name?.endsWith(":sdtContent")));if(R){let v=De(R,t,n,null,o,i),b={type:"inlineSdt",properties:No(S??null),content:v.filter(F=>F.type==="run"||F.type==="hyperlink")};s.push(b);}break}case "ins":{let S={id:parseInt(l(y,"w","id")??"0",10),author:l(y,"w","author")??"Unknown",date:l(y,"w","date")??void 0},R=De(y,t,n,null,o,i),v={type:"insertion",info:S,content:R.filter(x=>x.type==="run"||x.type==="hyperlink")};s.push(v);break}case "del":{let S={id:parseInt(l(y,"w","id")??"0",10),author:l(y,"w","author")??"Unknown",date:l(y,"w","date")??void 0},R=De(y,t,n,null,o,i),v={type:"deletion",info:S,content:R.filter(x=>x.type==="run"||x.type==="hyperlink")};s.push(v);break}case "smartTag":case "moveTo":case "moveFrom":break;case "commentRangeStart":{let S=parseInt(l(y,"w","id")??"0",10);s.push({type:"commentRangeStart",id:S});break}case "commentRangeEnd":{let S=parseInt(l(y,"w","id")??"0",10);s.push({type:"commentRangeEnd",id:S});break}case "oMath":case "oMathPara":{let S=k==="oMathPara",R=Pt(y),v=Cn(y),x={type:"mathEquation",display:S?"block":"inline",ommlXml:R,plainText:v||void 0};s.push(x);break}}}return s}function q(e,t,n,r,o=null,i=null){let s={type:"paragraph",content:[]},a=l(e,"w14","paraId")??l(e,"w","paraId");a&&(s.paraId=a);let c=l(e,"w14","textId")??l(e,"w","textId");c&&(s.textId=c);let f=u(e,"w","pPr");if(f){s.formatting=zo(f,n);let g=u(f,"w","sectPr");g&&(s.sectionProperties=Me(g));}let p=De(e,t,n,r,o,i);s.content=Qe(p);let d=s.formatting?.numPr;if(!d&&s.formatting?.styleId&&t){let g=t.get(s.formatting.styleId);g?.pPr?.numPr&&(d=g.pPr.numPr,s.formatting||(s.formatting={}),s.formatting.numPr=d);}if(d&&r){let{numId:g,ilvl:h=0}=d;if(g!==void 0&&g!==0){let m=r.getLevel(g,h);if(m&&(s.listRendering={level:h,numId:g,marker:m.lvlText,isBullet:m.numFmt==="bullet",numFmt:m.numFmt},m.pPr)){s.formatting||(s.formatting={});let y=f?u(f,"w","ind"):null,k=y!=null&&(l(y,"w","left")!==null||l(y,"w","start")!==null),S=y!=null&&(l(y,"w","firstLine")!==null||l(y,"w","hanging")!==null);!k&&m.pPr.indentLeft!==void 0&&(s.formatting.indentLeft=m.pPr.indentLeft),S||(m.pPr.indentFirstLine!==void 0&&(s.formatting.indentFirstLine=m.pPr.indentFirstLine),m.pPr.hangingIndent!==void 0&&(s.formatting.hangingIndent=m.pPr.hangingIndent));}}}return s}function et(e){let t="";for(let n of e.content)if(n.type==="run")for(let r of n.content)r.type==="text"?t+=r.text:r.type==="tab"?t+=" ":r.type==="break"&&(r.breakType==="page"?t+="\f":t+=`
|
|
3
|
+
`);else if(n.type==="hyperlink"){for(let r of n.children)if(r.type==="run")for(let o of r.content)o.type==="text"&&(t+=o.text);}else if(n.type==="simpleField"){for(let r of n.content)if(r.type==="run")for(let o of r.content)o.type==="text"&&(t+=o.text);}else if(n.type==="complexField")for(let r of n.fieldResult)for(let o of r.content)o.type==="text"&&(t+=o.text);return t}function Go(e){if(!e||e.trim()==="")return "\u2022";let t=e.charCodeAt(0),n={183:"\u2022",111:"\u25CB",167:"\u25A0",252:"\u2713",110:"\u25A0",113:"\u25CB",117:"\u25C6",118:"\u2756",168:"\u2713",251:"\u2713",254:"\u2713",61623:"\u2022",61550:"\u25A0",61551:"\u25CB",61607:"\u25A0",61692:"\u2713",8226:"\u2022",9679:"\u25CF",9675:"\u25CB",9632:"\u25A0",9633:"\u25A1",9670:"\u25C6",9671:"\u25C7",8211:"\u2013",8212:"\u2014",62:">",45:"-"};return n[t]?n[t]:t>=57344&&t<=63743||t<32||t>=127&&t<160?"\u2022":e}function qo(e,t,n){let r=e.listRendering;if(!r||!t)return;let{numId:o,level:i}=r;if(o===void 0||o===0)return;n.has(o)||n.set(o,new Array(9).fill(0));let s=n.get(o);s[i]=(s[i]||0)+1;for(let f=i+1;f<s.length;f++)s[f]=0;let a=r.marker;if(r.isBullet){let f=a||"";r.marker=Go(f);return}let c=a;for(let f=0;f<=i;f++){let p=`%${f+1}`;if(c.includes(p)){let d=s[f],g=t.getLevel(o,f),h=Jo(d,g?.numFmt||"decimal");c=c.replace(p,h);}}r.marker=c;}function Jo(e,t){switch(t){case "decimal":case "decimalZero":return String(e);case "lowerLetter":return String.fromCharCode(96+(e-1)%26+1);case "upperLetter":return String.fromCharCode(64+(e-1)%26+1);case "lowerRoman":return vn(e).toLowerCase();case "upperRoman":return vn(e);case "bullet":return "\u2022";default:return String(e)}}function vn(e){let t=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]],n="";for(let[r,o]of t)for(;e>=r;)n+=o,e-=r;return n}var kn=/\{\{([^{}]+)\}\}/g;function Pn(e){let t=[],n;for(kn.lastIndex=0;(n=kn.exec(e))!==null;){let r=n[1].trim();r&&!t.includes(r)&&t.push(r);}return t}function Rn(e){let t=[];for(let n of e)if(n.type==="paragraph"){let r=et(n),o=Pn(r);for(let i of o)t.includes(i)||t.push(i);}else if(n.type==="table"){let r=En(n);for(let o of r)t.includes(o)||t.push(o);}return t}function En(e){let t=[];for(let n of e.rows)for(let r of n.cells)for(let o of r.content)if(o.type==="paragraph"){let i=et(o),s=Pn(i);for(let a of s)t.includes(a)||t.push(a);}else if(o.type==="table"){let i=En(o);for(let s of i)t.includes(s)||t.push(s);}return t}function In(e,t,n,r,o,i){let s=[],a=N(e),c=new Map;for(let f of a){let p=f.name??"";if(p==="w:p"||p.endsWith(":p")){let d=q(f,t,n,r,o,i);qo(d,r,c),s.push(d);}else if(p==="w:tbl"||p.endsWith(":tbl")){let d=we(f,t,n,r,o,i);s.push(d);}else if(p==="w:sdt"||p.endsWith(":sdt")){let d=(f.elements??[]).find(g=>g.type==="element"&&(g.name==="w:sdtContent"||g.name?.endsWith(":sdtContent")));if(d){let g=In(d,t,n,r,o,i);s.push(...g);}}}return s}function Zo(e,t){let n=[],r=[];for(let o of e)r.push(o),o.type==="paragraph"&&o.sectionProperties&&(n.push({properties:o.sectionProperties,content:r}),r=[]);return (r.length>0||n.length===0)&&n.push({properties:t??xn(),content:r}),n}function Mn(e,t=null,n=null,r=null,o=null,i=null){let s={content:[]};if(!e)return s;let a=U(e);if(!a)return s;let c=(a.elements??[]).find(d=>d.type==="element"&&(d.name==="w:document"||d.name?.endsWith(":document")));if(!c)return s;let f=u(c,"w","body");if(!f)return s;s.content=In(f,t,n,r,o,i);let p=u(f,"w","sectPr");return p&&(s.finalSectionProperties=Me(p)),s.sections=Zo(s.content,s.finalSectionProperties),s}function Yo(e){let t=new Map,n=U(e);if(!n)return t;let r=u(n,"w16cex","commentsExtensible")??n;for(let o of N(r)){if((o.name?.replace(/^.*:/,"")??"")!=="comment")continue;let s=l(o,"w16cex","paraId")??l(o,"w15","paraId")??o.attributes?.["w16cex:paraId"]??o.attributes?.["w15:paraId"],a=l(o,"w16cex","dateUtc")??l(o,"w15","dateUtc")??o.attributes?.["w16cex:dateUtc"]??o.attributes?.["w15:dateUtc"];s&&a&&t.set(String(s).toUpperCase(),String(a));}return t}function $n(e,t,n,r,o,i){if(!e)return [];let s=U(e);if(!s)return [];let a=i?Yo(i):new Map,c=u(s,"w","comments")??s,f=N(c),p=[];for(let d of f){if((d.name?.replace(/^.*:/,"")??"")!=="comment")continue;let h=parseInt(l(d,"w","id")??"0",10),m=l(d,"w","author")??"Unknown",y=l(d,"w","initials"),k=y!=null?String(y):void 0,S=l(d,"w","date"),R=S!=null?String(S):void 0,v=l(d,"w14","paraId")??d.attributes?.["w14:paraId"]??l(d,"w","paraId"),b=(v?a.get(String(v).toUpperCase()):void 0)??R,F=[];for(let T of N(d))if((T.name?.replace(/^.*:/,"")??"")==="p"){let M=q(T,t,n,null,r,o);F.push(M);}p.push({id:h,author:m,initials:k,date:b,content:F});}return p}var Be=new Set,Ae=new Map,Ko=new Set;function An(e,t=[400,700],n=["normal","italic"]){let r=encodeURIComponent(e),o=[];for(let s of n){let a=s==="italic"?1:0;for(let c of t)o.push(`${a},${c}`);}o.sort();let i=o.join(";");return `https://fonts.googleapis.com/css2?family=${r}:ital,wght@${i}&display=swap`}async function Qo(e,t){let n=e.trim();if(Be.has(n))return true;let r=Ae.get(n);if(r)return r;let o=(async()=>{try{let i=An(n,t?.weights,t?.styles),s=document.createElement("link");return s.rel="stylesheet",s.href=i,await new Promise(c=>{s.onload=()=>c(!0),s.onerror=()=>c(!1),document.head.appendChild(s),setTimeout(()=>c(!1),5e3);})?(await ti(n,3e3),Be.add(n),ei([n]),!0):!1}catch(i){return console.warn(`Failed to load font "${n}":`,i),false}finally{Ae.delete(n),Ae.size===0&&(false);}})();return Ae.set(n,o),o}function ei(e){for(let t of Ko)try{t(e);}catch(n){console.warn("Font load callback error:",n);}}async function ti(e,t){if("fonts"in document)try{let n=`400 16px "${e}"`;return await Promise.race([document.fonts.load(n),new Promise(r=>setTimeout(r,t))]),document.fonts.check(n)}catch{}return await new Promise(n=>setTimeout(n,100)),true}var ni={Calibri:"Carlito",Cambria:"Caladea",Arial:"Arimo","Times New Roman":"Tinos","Courier New":"Cousine",Garamond:"EB Garamond","Book Antiqua":"EB Garamond",Georgia:"Tinos",Verdana:"Open Sans",Tahoma:"Open Sans","Trebuchet MS":"Source Sans Pro","Century Gothic":"Poppins","Franklin Gothic":"Libre Franklin",Palatino:"EB Garamond","Palatino Linotype":"EB Garamond","Lucida Sans":"Open Sans","Segoe UI":"Open Sans",Impact:"Anton","Comic Sans MS":"Comic Neue",Consolas:"Inconsolata","Lucida Console":"Inconsolata",Monaco:"Fira Code"};function ri(e){let t=e.trim();return ni[t]||t}async function oi(e){let t=e.trim(),n=ri(t);return n!==t?(await ii(t,n),Be.add(t),Be.add(n),true):Qo(n)}async function ii(e,t){let n=`font-alias-${e.toLowerCase().replace(/\s+/g,"-")}`;if(!document.getElementById(n))try{let r=An(t,[400,700],["normal","italic"]),o=await fetch(r);if(!o.ok){console.warn(`Failed to fetch Google Fonts CSS for "${t}": ${o.status}`);return}let i=await o.text(),s=new RegExp(`font-family:\\s*['"]${si(t)}['"]`,"gi"),a=i.replace(s,`font-family: '${e}'`),c=document.createElement("style");c.id=n,c.textContent=a,document.head.appendChild(c);}catch(r){console.warn(`Failed to create font alias for "${e}":`,r);}}function si(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async function Bn(e){let t=[...new Set(e.map(n=>n.trim()))];await Promise.all(t.map(n=>oi(n)));}async function Ln(e){if(e instanceof ArrayBuffer)return e;if(e instanceof Uint8Array){let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),t}if(e instanceof Blob)return e.arrayBuffer();throw new TypeError(`Unsupported DocxInput type: ${typeof e}`)}async function Ne(e,t={}){let n=e instanceof ArrayBuffer?e:await Ln(e),{onProgress:r=()=>{},preloadFonts:o=true,parseHeadersFooters:i=true,parseNotes:s=true,detectVariables:a=true}=t,c=[];try{let g=function(X,V){let I=performance.now(),P=V(),L=performance.now()-I;return d.push({stage:X,ms:L}),L>1e3&&console.warn(`[parseDocx] ${X} took ${Math.round(L)}ms`),P};var f=g;let p=performance.now(),d=[];async function h(X,V){let I=performance.now(),P=await V(),L=performance.now()-I;return d.push({stage:X,ms:L}),L>1e3&&console.warn(`[parseDocx] ${X} took ${Math.round(L)}ms`),P}r("Extracting DOCX...",0);let m=await h("unzip",()=>vt(n));r("Extracted DOCX",10),r("Parsing relationships...",10);let y=g("relationships",()=>m.documentRels?Se(m.documentRels):new Map);r("Parsed relationships",15),r("Parsing theme...",15);let k=g("theme",()=>$t(m.themeXml));r("Parsed theme",20),r("Parsing styles...",20);let S=null,R;g("styles",()=>{m.stylesXml&&(S=Je(m.stylesXml,k),R=Ot(m.stylesXml,k));}),r("Parsed styles",30),r("Parsing numbering...",30);let v=g("numbering",()=>jt(m.numberingXml));r("Parsed numbering",35),r("Processing media files...",35);let x=g("media",()=>ai(m,y));r("Processed media",40),r("Parsing document body...",40);let b={content:[]};g("documentBody",()=>{m.documentXml?b=Mn(m.documentXml,S,k,v,y,x):c.push("No document.xml found in DOCX");}),r("Parsed document body",55);let F,T;if(i){r("Parsing headers/footers...",55);let X=g("headersFooters",()=>li(m,S,k,v,y,x));F=X.headers,T=X.footers,r("Parsed headers/footers",65);}else r("Skipping headers/footers",65);let E,M;if(s){r("Parsing footnotes/endnotes...",65);let X=g("footnotesEndnotes",()=>ci(m,S,k,v,y,x));E=X.footnotes,M=X.endnotes,r("Parsed footnotes/endnotes",75);}else r("Skipping footnotes/endnotes",75);r("Parsing comments...",75);let $=g("comments",()=>$n(m.commentsXml,S,k,y,x,m.commentsExtensibleXml));$.length>0&&(b.comments=$);let A;a?(r("Detecting template variables...",75),A=g("variables",()=>Rn(b.content)),r("Detected variables",80)):r("Skipping variable detection",80),o?(r("Loading fonts...",80),await h("fonts",()=>ui(k,R,b)),r("Loaded fonts",95)):r("Skipping font loading",95),r("Assembling document...",95);let J={package:{document:b,styles:R,theme:k,numbering:v.definitions,headers:F,footers:T,footnotes:E,endnotes:M,relationships:y,media:x},originalBuffer:n,templateVariables:A,warnings:c.length>0?c:void 0},ne=performance.now()-p;if(ne>2e3){let X=d.filter(V=>V.ms>100).map(V=>`${V.stage}: ${Math.round(V.ms)}ms`).join(", ");console.warn(`[parseDocx] Total: ${Math.round(ne)}ms`+(X?` (${X})`:""));}return r("Complete",100),J}catch(p){let d=p instanceof Error?p.message:String(p);throw console.error("[parseDocx] Failed to parse DOCX:",d,p),new Error(`Failed to parse DOCX: ${d}`)}}function ai(e,t){let n=new Map;for(let[r,o]of e.media.entries()){let i=r.split("/").pop()||r,s=kt(r),a=new Uint8Array(o),c="";for(let h=0;h<a.length;h++)c+=String.fromCharCode(a[h]);let f=btoa(c),p=`data:${s};base64,${f}`,d={path:r,filename:i,mimeType:s,data:o,dataUrl:p};n.set(r,d);let g=r.replace(/^word\//,"");g!==r&&n.set(g,d);}return n}function Le(e,t){let n=t.toLowerCase();for(let[r,o]of e.entries())if(r.toLowerCase()===n)return o}function li(e,t,n,r,o,i){let s=new Map,a=new Map;for(let[c,f]of o.entries())if(f.type===ce.header&&f.target){let p=f.target.split("/").pop()||f.target,d=Le(e.headers,p);if(d){let g=`word/_rels/${p}.rels`,h=Le(e.allXml,g),m=h?Se(h):o,y=un(d,"default",t,n,r,m,i);s.set(c,y);}}else if(f.type===ce.footer&&f.target){let p=f.target.split("/").pop()||f.target,d=Le(e.footers,p);if(d){let g=`word/_rels/${p}.rels`,h=Le(e.allXml,g),m=h?Se(h):o,y=fn(d,"default",t,n,r,m,i);a.set(c,y);}}return {headers:s,footers:a}}function ci(e,t,n,r,o,i){let s=dn(e.footnotesXml,t,n,r,o,i),a=mn(e.endnotesXml,t,n,r,o,i);return {footnotes:s.getNormalFootnotes(),endnotes:a.getNormalEndnotes()}}async function ui(e,t,n){let r=new Set;if(e?.fontScheme){let{majorFont:o,minorFont:i}=e.fontScheme;o?.latin&&r.add(o.latin),i?.latin&&r.add(i.latin);}if(t?.docDefaults?.rPr?.fontFamily?.ascii&&r.add(t.docDefaults.rPr.fontFamily.ascii),t?.styles)for(let o of t.styles)o.rPr?.fontFamily?.ascii&&r.add(o.rPr.fontFamily.ascii),o.rPr?.fontFamily?.hAnsi&&r.add(o.rPr.fontFamily.hAnsi);if(n.content){for(let o of n.content)if(o.type==="paragraph")for(let i of o.content)i.type==="run"&&i.formatting?.fontFamily&&(i.formatting.fontFamily.ascii&&r.add(i.formatting.fontFamily.ascii),i.formatting.fontFamily.hAnsi&&r.add(i.formatting.fontFamily.hAnsi));}if(r.size>0)try{await Bn(Array.from(r));}catch(o){console.warn("Failed to load some fonts:",o);}}var Oe={type:"string",description:"Document ID from a previous docx_load call"},ki={type:"object",properties:{paragraphIndex:{type:"number",description:"Index of the paragraph (0-indexed)"},offset:{type:"number",description:"Character offset within the paragraph"}},required:["paragraphIndex","offset"]},Pi={name:"docx_get_variables",description:`List all template variables ({{name}} format) found in the document.
|
|
4
4
|
Returns variable names without braces, along with their locations (body, headers, footers, etc.).
|
|
5
|
-
Use this to discover what data fields a template document expects.`,inputSchema:{type:"object",properties:{documentId:Oe},required:["documentId"]},handler:async(e,t)=>{let{documentId:n}=e,r=t.session.documents.get(n);if(!r)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};try{let o=
|
|
5
|
+
Use this to discover what data fields a template document expects.`,inputSchema:{type:"object",properties:{documentId:Oe},required:["documentId"]},handler:async(e,t)=>{let{documentId:n}=e,r=t.session.documents.get(n);if(!r)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};try{let o=wt(r.document);return {content:[{type:"text",text:JSON.stringify({variables:o.variables,count:o.variables.length,totalOccurrences:o.totalOccurrences,byLocation:o.byLocation},null,2)}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to detect variables: ${o.message}`}]}}},annotations:{category:"template",readOnly:true,complexity:"low",examples:[{description:"Get all variables from a loaded document",input:{documentId:"doc_123"},output:'{"variables": ["customer_name", "invoice_date"], "count": 2}'}]}},Ri={name:"docx_insert_variable",description:`Insert a template variable placeholder ({{name}}) at a specific position in the document.
|
|
6
6
|
The variable can later be substituted with actual values using docx_apply_template.
|
|
7
|
-
Variable names should follow the pattern: letters, numbers, underscores, starting with a letter.`,inputSchema:{type:"object",properties:{documentId:Oe,position:
|
|
7
|
+
Variable names should follow the pattern: letters, numbers, underscores, starting with a letter.`,inputSchema:{type:"object",properties:{documentId:Oe,position:ki,variableName:{type:"string",description:'Variable name without braces (e.g., "customer_name"). Will be inserted as {{customer_name}}',pattern:"^[a-zA-Z_][a-zA-Z0-9_]*$"}},required:["documentId","position","variableName"]},handler:async(e,t)=>{let{documentId:n,position:r,variableName:o}=e,i=t.session.documents.get(n);if(!i)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};if(!/^[a-zA-Z_][a-zA-Z0-9_\-.]*$/.test(o))return {isError:true,content:[{type:"text",text:`Invalid variable name: ${o}. Must start with letter/underscore and contain only alphanumeric, underscore, hyphen, or dot.`}]};try{let{executeCommand:s}=await Promise.resolve().then(()=>(tt(),Hn)),a=s(i.document,{type:"insertText",position:r,text:`{{${o}}}`});return i.document=a,i.lastModified=Date.now(),a.templateVariables||(a.templateVariables=[]),a.templateVariables.includes(o)||a.templateVariables.push(o),{content:[{type:"text",text:JSON.stringify({success:!0,variable:o,insertedAs:`{{${o}}}`,position:r})}]}}catch(s){return {isError:true,content:[{type:"text",text:`Failed to insert variable: ${s.message}`}]}}},annotations:{category:"template",readOnly:false,complexity:"low",examples:[{description:"Insert customer name variable at start of first paragraph",input:{documentId:"doc_123",position:{paragraphIndex:0,offset:0},variableName:"customer_name"}}]}},Ei={name:"docx_apply_template",description:`Substitute template variables with actual values in the document.
|
|
8
8
|
Replaces all {variable} placeholders with the corresponding values provided.
|
|
9
9
|
Preserves all formatting (fonts, styles, colors, tables).
|
|
10
|
-
Use docx_get_variables first to discover what variables exist in the document.`,inputSchema:{type:"object",properties:{documentId:Oe,variables:{type:"object",description:'Map of variable names to values (e.g., {"customer_name": "John Doe", "date": "2024-01-15"})',additionalProperties:{type:"string"}},keepUnmatchedVariables:{type:"boolean",description:"If true, keep {variable} placeholders for variables not in the map. If false, replace with empty string. Default: true",default:true}},required:["documentId","variables"]},handler:async(e,t)=>{let{documentId:n,variables:r,keepUnmatchedVariables:o=true}=e,i=t.session.documents.get(n);if(!i)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};if(!i.buffer)return {isError:true,content:[{type:"text",text:"Cannot apply template: document was not loaded from a DOCX buffer"}]};try{let s=
|
|
10
|
+
Use docx_get_variables first to discover what variables exist in the document.`,inputSchema:{type:"object",properties:{documentId:Oe,variables:{type:"object",description:'Map of variable names to values (e.g., {"customer_name": "John Doe", "date": "2024-01-15"})',additionalProperties:{type:"string"}},keepUnmatchedVariables:{type:"boolean",description:"If true, keep {variable} placeholders for variables not in the map. If false, replace with empty string. Default: true",default:true}},required:["documentId","variables"]},handler:async(e,t)=>{let{documentId:n,variables:r,keepUnmatchedVariables:o=true}=e,i=t.session.documents.get(n);if(!i)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};if(!i.buffer)return {isError:true,content:[{type:"text",text:"Cannot apply template: document was not loaded from a DOCX buffer"}]};try{let s=Ct(i.buffer,r,{nullGetter:o?"keep":"empty"}),a=await Ne(s.buffer);return i.document=a,i.buffer=s.buffer,i.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,replacedVariables:s.replacedVariables,unreplacedVariables:s.unreplacedVariables,warnings:s.warnings})}]}}catch(s){return {isError:true,content:[{type:"text",text:`Failed to apply template: ${s.message}`}]}}},annotations:{category:"template",readOnly:false,complexity:"medium",examples:[{description:"Fill in customer and date values",input:{documentId:"doc_123",variables:{customer_name:"Jane Smith",invoice_date:"2024-02-15",amount:"$1,234.56"}}}]}},Ii={name:"docx_validate_template",description:`Validate that a document is a valid docxtemplater template.
|
|
11
11
|
Checks for syntax errors like unclosed braces, invalid tag names, etc.
|
|
12
|
-
Returns validation result with any errors found and list of valid tags.`,inputSchema:{type:"object",properties:{documentId:Oe},required:["documentId"]},handler:async(e,t)=>{let{documentId:n}=e,r=t.session.documents.get(n);if(!r)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};if(!r.buffer)return {isError:true,content:[{type:"text",text:"Cannot validate template: document was not loaded from a DOCX buffer"}]};try{let o=vt(r.buffer);return {content:[{type:"text",text:JSON.stringify({valid:o.valid,tags:o.tags,errors:o.errors.map(i=>({message:i.message,variable:i.variable,type:i.type}))},null,2)}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to validate template: ${o.message}`}]}}},annotations:{category:"template",readOnly:true,complexity:"low"}},ot=[zn,Vn,Wn,_n];var Un={id:"docxtemplater",name:"Docxtemplater",version:"1.0.0",description:"Template variable support using standard docxtemplater syntax ({variable})",commandHandlers:{insertTemplateVariable:_e,replaceWithTemplateVariable:Ue},mcpTools:ot,initialize:()=>{try{mt("docxtemplater"),mt("pizzip");}catch{console.warn("[docxtemplater-plugin] Warning: docxtemplater or pizzip not installed. Template features may not work. Install with: npm install docxtemplater pizzip");}}};Te();function j(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Mi(e){if(!e)return "";let t=[];return e.auto?t.push('w:val="auto"'):e.rgb&&t.push(`w:val="${e.rgb}"`),e.themeColor&&t.push(`w:themeColor="${e.themeColor}"`),e.themeTint&&t.push(`w:themeTint="${e.themeTint}"`),e.themeShade&&t.push(`w:themeShade="${e.themeShade}"`),t.length===0?"":`<w:color ${t.join(" ")}/>`}function Ii(e){if(!e)return "";let t=[];return e.pattern?t.push(`w:val="${e.pattern}"`):t.push('w:val="clear"'),e.color?.rgb?t.push(`w:color="${e.color.rgb}"`):e.color?.auto&&t.push('w:color="auto"'),e.fill?.rgb?t.push(`w:fill="${e.fill.rgb}"`):e.fill?.auto&&t.push('w:fill="auto"'),e.fill?.themeColor&&t.push(`w:themeFill="${e.fill.themeColor}"`),e.fill?.themeTint&&t.push(`w:themeFillTint="${e.fill.themeTint}"`),e.fill?.themeShade&&t.push(`w:themeFillShade="${e.fill.themeShade}"`),t.length===0?"":`<w:shd ${t.join(" ")}/>`}function xe(e){if(!e)return "";let t=[];if(e.styleId&&t.push(`<w:rStyle w:val="${j(e.styleId)}"/>`),e.fontFamily){let o=[];e.fontFamily.ascii&&o.push(`w:ascii="${j(e.fontFamily.ascii)}"`),e.fontFamily.hAnsi&&o.push(`w:hAnsi="${j(e.fontFamily.hAnsi)}"`),e.fontFamily.eastAsia&&o.push(`w:eastAsia="${j(e.fontFamily.eastAsia)}"`),e.fontFamily.cs&&o.push(`w:cs="${j(e.fontFamily.cs)}"`),e.fontFamily.asciiTheme&&o.push(`w:asciiTheme="${e.fontFamily.asciiTheme}"`),e.fontFamily.hAnsiTheme&&o.push(`w:hAnsiTheme="${e.fontFamily.hAnsiTheme}"`),e.fontFamily.eastAsiaTheme&&o.push(`w:eastAsiaTheme="${e.fontFamily.eastAsiaTheme}"`),e.fontFamily.csTheme&&o.push(`w:csTheme="${e.fontFamily.csTheme}"`),o.length>0&&t.push(`<w:rFonts ${o.join(" ")}/>`);}e.bold===true?t.push("<w:b/>"):e.bold===false&&t.push('<w:b w:val="0"/>'),e.boldCs===true?t.push("<w:bCs/>"):e.boldCs===false&&t.push('<w:bCs w:val="0"/>'),e.italic===true?t.push("<w:i/>"):e.italic===false&&t.push('<w:i w:val="0"/>'),e.italicCs===true?t.push("<w:iCs/>"):e.italicCs===false&&t.push('<w:iCs w:val="0"/>'),e.allCaps&&t.push("<w:caps/>"),e.smallCaps&&t.push("<w:smallCaps/>"),e.strike&&t.push("<w:strike/>"),e.doubleStrike&&t.push("<w:dstrike/>"),e.outline&&t.push("<w:outline/>"),e.shadow&&t.push("<w:shadow/>"),e.emboss&&t.push("<w:emboss/>"),e.imprint&&t.push("<w:imprint/>"),e.hidden&&t.push("<w:vanish/>");let n=Mi(e.color);if(n&&t.push(n),e.spacing!==void 0&&t.push(`<w:spacing w:val="${e.spacing}"/>`),e.scale!==void 0&&t.push(`<w:w w:val="${e.scale}"/>`),e.kerning!==void 0&&t.push(`<w:kern w:val="${e.kerning}"/>`),e.position!==void 0&&t.push(`<w:position w:val="${e.position}"/>`),e.fontSize!==void 0&&t.push(`<w:sz w:val="${e.fontSize}"/>`),e.fontSizeCs!==void 0&&t.push(`<w:szCs w:val="${e.fontSizeCs}"/>`),e.highlight&&e.highlight!=="none"&&new Set(["black","blue","cyan","darkBlue","darkCyan","darkGray","darkGreen","darkMagenta","darkRed","darkYellow","green","lightGray","magenta","red","white","yellow"]).has(e.highlight)&&t.push(`<w:highlight w:val="${e.highlight}"/>`),e.underline){let o=[`w:val="${e.underline.style}"`];e.underline.color&&(e.underline.color.rgb&&o.push(`w:color="${e.underline.color.rgb}"`),e.underline.color.themeColor&&o.push(`w:themeColor="${e.underline.color.themeColor}"`)),t.push(`<w:u ${o.join(" ")}/>`);}e.effect&&e.effect!=="none"&&t.push(`<w:effect w:val="${e.effect}"/>`),e.emphasisMark&&e.emphasisMark!=="none"&&t.push(`<w:em w:val="${e.emphasisMark}"/>`);let r=Ii(e.shading);return r&&t.push(r),e.vertAlign&&e.vertAlign!=="baseline"&&t.push(`<w:vertAlign w:val="${e.vertAlign}"/>`),e.rtl&&t.push("<w:rtl/>"),e.cs&&t.push("<w:cs/>"),t.length===0?"":`<w:rPr>${t.join("")}</w:rPr>`}function $i(e){return `<w:t${e.preserveSpace||e.text.startsWith(" ")||e.text.endsWith(" ")||e.text.includes(" ")?' xml:space="preserve"':""}>${j(e.text)}</w:t>`}function Di(e){return "<w:tab/>"}function Ai(e){let t=[];return e.breakType==="page"?t.push('w:type="page"'):e.breakType==="column"?t.push('w:type="column"'):e.breakType==="textWrapping"&&(t.push('w:type="textWrapping"'),e.clear&&e.clear!=="none"&&t.push(`w:clear="${e.clear}"`)),t.length===0?"<w:br/>":`<w:br ${t.join(" ")}/>`}function Bi(e){return `<w:sym w:font="${j(e.font)}" w:char="${j(e.char)}"/>`}function Li(e){return e.type==="footnoteRef"?`<w:footnoteReference w:id="${e.id}"/>`:`<w:endnoteReference w:id="${e.id}"/>`}function Ni(e){let t=[`w:fldCharType="${e.charType}"`];return e.fldLock&&t.push('w:fldLock="true"'),e.dirty&&t.push('w:dirty="true"'),`<w:fldChar ${t.join(" ")}/>`}function Xi(e){return `<w:instrText${e.text.startsWith(" ")||e.text.endsWith(" ")||e.text.includes(" ")?' xml:space="preserve"':""}>${j(e.text)}</w:instrText>`}function Hi(e){return "<w:softHyphen/>"}function Oi(e){return "<w:noBreakHyphen/>"}function it(e){if(!e)return "";if(e.rgb)return `<a:srgbClr val="${e.rgb.replace("#","")}"/>`;if(e.themeColor){let t=`<a:schemeClr val="${e.themeColor}"`;return e.themeTint?t+=`><a:tint val="${e.themeTint}"/></a:schemeClr>`:e.themeShade?t+=`><a:shade val="${e.themeShade}"/></a:schemeClr>`:t+="/>",t}return ""}function ji(e){if(!e||e.type==="none")return "<a:noFill/>";if(e.type==="solid"&&e.color)return `<a:solidFill>${it(e.color)}</a:solidFill>`;if(e.type==="gradient"&&e.gradient){let t=e.gradient,n=t.stops.map(o=>`<a:gs pos="${o.position}">${it(o.color)}</a:gs>`).join(""),r=t.type==="linear"?`<a:lin ang="${(t.angle||0)*6e4}" scaled="1"/>`:"";return `<a:gradFill><a:gsLst>${n}</a:gsLst>${r}</a:gradFill>`}return ""}function Gn(e){if(!e)return "";let t=[];e.width!=null&&t.push(`w="${e.width}"`),e.cap&&t.push(`cap="${e.cap}"`);let n=[];return e.color&&n.push(`<a:solidFill>${it(e.color)}</a:solidFill>`),e.style&&e.style!=="solid"&&n.push(`<a:prstDash val="${e.style}"/>`),e.headEnd&&n.push(`<a:headEnd type="${e.headEnd.type}"${e.headEnd.width?` w="${e.headEnd.width}"`:""}${e.headEnd.length?` len="${e.headEnd.length}"`:""}/>`),e.tailEnd&&n.push(`<a:tailEnd type="${e.tailEnd.type}"${e.tailEnd.width?` w="${e.tailEnd.width}"`:""}${e.tailEnd.length?` len="${e.tailEnd.length}"`:""}/>`),n.length===0&&t.length===0?"":`<a:ln${t.length?" "+t.join(" "):""}>${n.join("")}</a:ln>`}function qn(e){let t=[],n=e.horizontal;t.push(`<wp:positionH relativeFrom="${n.relativeTo}">`),n.alignment?t.push(`<wp:align>${n.alignment}</wp:align>`):t.push(`<wp:posOffset>${n.posOffset||0}</wp:posOffset>`),t.push("</wp:positionH>");let r=e.vertical;return t.push(`<wp:positionV relativeFrom="${r.relativeTo}">`),r.alignment?t.push(`<wp:align>${r.alignment}</wp:align>`):t.push(`<wp:posOffset>${r.posOffset||0}</wp:posOffset>`),t.push("</wp:positionV>"),t.join("")}function Jn(e){let t=e.wrapText?` wrapText="${e.wrapText}"`:' wrapText="bothSides"';switch(e.type){case "square":return `<wp:wrapSquare${t}/>`;case "tight":return `<wp:wrapTight${t}><wp:wrapPolygon edited="0"><wp:start x="0" y="0"/><wp:lineTo x="0" y="21600"/><wp:lineTo x="21600" y="21600"/><wp:lineTo x="21600" y="0"/><wp:lineTo x="0" y="0"/></wp:wrapPolygon></wp:wrapTight>`;case "through":return `<wp:wrapThrough${t}><wp:wrapPolygon edited="0"><wp:start x="0" y="0"/><wp:lineTo x="0" y="21600"/><wp:lineTo x="21600" y="21600"/><wp:lineTo x="21600" y="0"/><wp:lineTo x="0" y="0"/></wp:wrapPolygon></wp:wrapThrough>`;case "topAndBottom":return "<wp:wrapTopAndBottom/>";case "behind":case "inFront":return "<wp:wrapNone/>";default:return "<wp:wrapNone/>"}}function zi(e){let t=e.size.width,n=e.size.height,r=e.rId||"rId1",o=e.id||"0",i=e.filename||`image${o}`,s="";return e.transform?.rotation&&(s+=` rot="${Math.round(e.transform.rotation*6e4)}"`),e.transform?.flipH&&(s+=' flipH="1"'),e.transform?.flipV&&(s+=' flipV="1"'),['<a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">','<a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture">','<pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture">',"<pic:nvPicPr>",`<pic:cNvPr id="${o}" name="${j(i)}"${e.alt?` descr="${j(e.alt)}"`:""}/>`,"<pic:cNvPicPr/>","</pic:nvPicPr>","<pic:blipFill>",`<a:blip r:embed="${r}"/>`,"<a:stretch><a:fillRect/></a:stretch>","</pic:blipFill>","<pic:spPr>",`<a:xfrm${s}>`,'<a:off x="0" y="0"/>',`<a:ext cx="${t}" cy="${n}"/>`,"</a:xfrm>",'<a:prstGeom prst="rect"><a:avLst/></a:prstGeom>',e.outline?Gn(e.outline):"","</pic:spPr>","</pic:pic>","</a:graphicData>","</a:graphic>"].join("")}function Vi(e){let t=e.image,n=t.wrap.type!=="inline",r=t.size.width,o=t.size.height,i=t.padding?.top??t.wrap.distT??0,s=t.padding?.bottom??t.wrap.distB??0,a=t.padding?.left??t.wrap.distL??0,c=t.padding?.right??t.wrap.distR??0,p=t.id||"1",f=t.title||t.filename||`Picture ${p}`,d=zi(t);if(!n)return ["<w:drawing>",`<wp:inline distT="${i}" distB="${s}" distL="${a}" distR="${c}">`,`<wp:extent cx="${r}" cy="${o}"/>`,'<wp:effectExtent l="0" t="0" r="0" b="0"/>',`<wp:docPr id="${p}" name="${j(f)}"${t.alt?` descr="${j(t.alt)}"`:""}${t.decorative?' hidden="1"':""}/>`,'<wp:cNvGraphicFramePr><a:graphicFrameLocks xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" noChangeAspect="1"/></wp:cNvGraphicFramePr>',d,"</wp:inline>","</w:drawing>"].join("");let h=t.wrap.type==="behind"?"1":"0",g=t.position?qn(t.position):'<wp:positionH relativeFrom="column"><wp:posOffset>0</wp:posOffset></wp:positionH><wp:positionV relativeFrom="paragraph"><wp:posOffset>0</wp:posOffset></wp:positionV>',m=Jn(t.wrap);return ["<w:drawing>",`<wp:anchor distT="${i}" distB="${s}" distL="${a}" distR="${c}" simplePos="0" relativeHeight="251658240" behindDoc="${h}" locked="0" layoutInCell="1" allowOverlap="1">`,'<wp:simplePos x="0" y="0"/>',g,`<wp:extent cx="${r}" cy="${o}"/>`,'<wp:effectExtent l="0" t="0" r="0" b="0"/>',m,`<wp:docPr id="${p}" name="${j(f)}"${t.alt?` descr="${j(t.alt)}"`:""}/>`,'<wp:cNvGraphicFramePr><a:graphicFrameLocks xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" noChangeAspect="1"/></wp:cNvGraphicFramePr>',d,"</wp:anchor>","</w:drawing>"].join("")}function Wi(e){return e.map(t=>ae(t)).join("")}function _i(e){let t=e.shape,n=t.size.width,r=t.size.height,o=t.shapeType==="textBox",i=t.wrap&&t.wrap.type!=="inline",s=t.wrap?.distT??0,a=t.wrap?.distB??0,c=t.wrap?.distL??0,p=t.wrap?.distR??0,f=t.id||"1",d=t.name||(o?`TextBox ${f}`:`Shape ${f}`),h="";t.transform?.rotation&&(h+=` rot="${Math.round(t.transform.rotation*6e4)}"`),t.transform?.flipH&&(h+=' flipH="1"'),t.transform?.flipV&&(h+=' flipV="1"');let g=["<wps:spPr>",`<a:xfrm${h}>`,'<a:off x="0" y="0"/>',`<a:ext cx="${n}" cy="${r}"/>`,"</a:xfrm>",`<a:prstGeom prst="${t.shapeType==="textBox"?"rect":t.shapeType}"><a:avLst/></a:prstGeom>`,ji(t.fill),Gn(t.outline),"</wps:spPr>"].join(""),m="";if(t.textBody){let x=t.textBody,b=['rot="0"','vert="horz"'];x.anchor&&b.push(`anchor="${x.anchor==="middle"?"ctr":x.anchor}"`),x.anchorCenter&&b.push('anchorCtr="1"'),x.margins&&(x.margins.left!=null&&b.push(`lIns="${x.margins.left}"`),x.margins.top!=null&&b.push(`tIns="${x.margins.top}"`),x.margins.right!=null&&b.push(`rIns="${x.margins.right}"`),x.margins.bottom!=null&&b.push(`bIns="${x.margins.bottom}"`)),o?m=["<wps:txbx><w:txbxContent>",Wi(x.content),"</w:txbxContent></wps:txbx>",`<wps:bodyPr ${b.join(" ")}/>`].join(""):m=[`<wps:bodyPr ${b.join(" ")}/>`].join("");}let k=['<a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">','<a:graphicData uri="http://schemas.microsoft.com/office/word/2010/wordprocessingShape">',["<wps:wsp>",`<wps:cNvSpPr${o?' txBox="1"':""}/>`,g,m,"</wps:wsp>"].join(""),"</a:graphicData>","</a:graphic>"].join("");if(!i)return ["<w:drawing>",`<wp:inline distT="${s}" distB="${a}" distL="${c}" distR="${p}">`,`<wp:extent cx="${n}" cy="${r}"/>`,'<wp:effectExtent l="0" t="0" r="0" b="0"/>',`<wp:docPr id="${f}" name="${j(d)}"/>`,"<wp:cNvGraphicFramePr/>",k,"</wp:inline>","</w:drawing>"].join("");let S=t.wrap?.type==="behind"?"1":"0",R=t.position?qn(t.position):'<wp:positionH relativeFrom="column"><wp:posOffset>0</wp:posOffset></wp:positionH><wp:positionV relativeFrom="paragraph"><wp:posOffset>0</wp:posOffset></wp:positionV>',v=Jn(t.wrap);return ["<w:drawing>",`<wp:anchor distT="${s}" distB="${a}" distL="${c}" distR="${p}" simplePos="0" relativeHeight="251658240" behindDoc="${S}" locked="0" layoutInCell="1" allowOverlap="1">`,'<wp:simplePos x="0" y="0"/>',R,`<wp:extent cx="${n}" cy="${r}"/>`,'<wp:effectExtent l="0" t="0" r="0" b="0"/>',v,`<wp:docPr id="${f}" name="${j(d)}"/>`,"<wp:cNvGraphicFramePr/>",k,"</wp:anchor>","</w:drawing>"].join("")}function Ui(e){switch(e.type){case "text":return $i(e);case "tab":return Di();case "break":return Ai(e);case "symbol":return Bi(e);case "footnoteRef":case "endnoteRef":return Li(e);case "fieldChar":return Ni(e);case "instrText":return Xi(e);case "softHyphen":return Hi();case "noBreakHyphen":return Oi();case "drawing":return Vi(e);case "shape":return _i(e);default:return ""}}function se(e){let t=[],n=xe(e.formatting);n&&t.push(n);for(let r of e.content){let o=Ui(r);o&&t.push(o);}return `<w:r>${t.join("")}</w:r>`}function z(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function fe(e,t){if(!e||e.style==="none"||e.style==="nil")return "";let n=[`w:val="${e.style}"`];return e.size!==void 0&&n.push(`w:sz="${e.size}"`),e.space!==void 0&&n.push(`w:space="${e.space}"`),e.color&&(e.color.auto?n.push('w:color="auto"'):e.color.rgb&&n.push(`w:color="${e.color.rgb}"`),e.color.themeColor&&n.push(`w:themeColor="${e.color.themeColor}"`),e.color.themeTint&&n.push(`w:themeTint="${e.color.themeTint}"`),e.color.themeShade&&n.push(`w:themeShade="${e.color.themeShade}"`)),e.shadow&&n.push('w:shadow="true"'),e.frame&&n.push('w:frame="true"'),`<w:${t} ${n.join(" ")}/>`}function Gi(e){if(!e)return "";let t=[];if(e.top){let n=fe(e.top,"top");n&&t.push(n);}if(e.left){let n=fe(e.left,"left");n&&t.push(n);}if(e.bottom){let n=fe(e.bottom,"bottom");n&&t.push(n);}if(e.right){let n=fe(e.right,"right");n&&t.push(n);}if(e.between){let n=fe(e.between,"between");n&&t.push(n);}if(e.bar){let n=fe(e.bar,"bar");n&&t.push(n);}return t.length===0?"":`<w:pBdr>${t.join("")}</w:pBdr>`}function qi(e){if(!e)return "";let t=[];return e.pattern?t.push(`w:val="${e.pattern}"`):t.push('w:val="clear"'),e.color?.rgb?t.push(`w:color="${e.color.rgb}"`):e.color?.auto&&t.push('w:color="auto"'),e.fill?.rgb?t.push(`w:fill="${e.fill.rgb}"`):e.fill?.auto&&t.push('w:fill="auto"'),e.fill?.themeColor&&t.push(`w:themeFill="${e.fill.themeColor}"`),e.fill?.themeTint&&t.push(`w:themeFillTint="${e.fill.themeTint}"`),e.fill?.themeShade&&t.push(`w:themeFillShade="${e.fill.themeShade}"`),t.length===0?"":`<w:shd ${t.join(" ")}/>`}function Ji(e){return !e||e.length===0?"":`<w:tabs>${e.map(n=>{let r=[`w:val="${n.alignment}"`,`w:pos="${n.position}"`];return n.leader&&n.leader!=="none"&&r.push(`w:leader="${n.leader}"`),`<w:tab ${r.join(" ")}/>`}).join("")}</w:tabs>`}function Zi(e){let t=[];return e.spaceBefore!==void 0&&t.push(`w:before="${e.spaceBefore}"`),e.spaceAfter!==void 0&&t.push(`w:after="${e.spaceAfter}"`),e.lineSpacing!==void 0&&t.push(`w:line="${e.lineSpacing}"`),e.lineSpacingRule&&t.push(`w:lineRule="${e.lineSpacingRule}"`),e.beforeAutospacing&&t.push('w:beforeAutospacing="1"'),e.afterAutospacing&&t.push('w:afterAutospacing="1"'),t.length===0?"":`<w:spacing ${t.join(" ")}/>`}function Yi(e){let t=[];return e.indentLeft!==void 0&&t.push(`w:left="${e.indentLeft}"`),e.indentRight!==void 0&&t.push(`w:right="${e.indentRight}"`),e.indentFirstLine!==void 0&&(e.hangingIndent?t.push(`w:hanging="${Math.abs(e.indentFirstLine)}"`):e.indentFirstLine!==0&&t.push(`w:firstLine="${e.indentFirstLine}"`)),t.length===0?"":`<w:ind ${t.join(" ")}/>`}function Ki(e){if(!e)return "";let t=[];return e.ilvl!==void 0&&t.push(`<w:ilvl w:val="${e.ilvl}"/>`),e.numId!==void 0&&t.push(`<w:numId w:val="${e.numId}"/>`),t.length===0?"":`<w:numPr>${t.join("")}</w:numPr>`}function Qi(e){if(!e)return "";let t=[];return e.width!==void 0&&t.push(`w:w="${e.width}"`),e.height!==void 0&&t.push(`w:h="${e.height}"`),e.hAnchor&&t.push(`w:hAnchor="${e.hAnchor}"`),e.vAnchor&&t.push(`w:vAnchor="${e.vAnchor}"`),e.x!==void 0&&t.push(`w:x="${e.x}"`),e.y!==void 0&&t.push(`w:y="${e.y}"`),e.xAlign&&t.push(`w:xAlign="${e.xAlign}"`),e.yAlign&&t.push(`w:yAlign="${e.yAlign}"`),e.wrap&&t.push(`w:wrap="${e.wrap}"`),t.length===0?"":`<w:framePr ${t.join(" ")}/>`}function es(e){if(!e)return "";let t=[];e.styleId&&t.push(`<w:pStyle w:val="${z(e.styleId)}"/>`),e.keepNext&&t.push("<w:keepNext/>"),e.keepLines&&t.push("<w:keepLines/>"),e.contextualSpacing&&t.push("<w:contextualSpacing/>"),e.pageBreakBefore&&t.push("<w:pageBreakBefore/>");let n=Qi(e.frame);n&&t.push(n),e.widowControl===false?t.push('<w:widowControl w:val="0"/>'):e.widowControl===true&&t.push("<w:widowControl/>");let r=Ki(e.numPr);r&&t.push(r);let o=Gi(e.borders);o&&t.push(o);let i=qi(e.shading);i&&t.push(i);let s=Ji(e.tabs);s&&t.push(s),e.suppressLineNumbers&&t.push("<w:suppressLineNumbers/>"),e.suppressAutoHyphens&&t.push("<w:suppressAutoHyphens/>");let a=Zi(e);a&&t.push(a);let c=Yi(e);if(c&&t.push(c),e.bidi&&t.push("<w:bidi/>"),e.alignment&&t.push(`<w:jc w:val="${e.alignment}"/>`),e.outlineLevel!==void 0&&t.push(`<w:outlineLvl w:val="${e.outlineLevel}"/>`),e.runProperties){let p=xe(e.runProperties);p&&t.push(p);}return t.length===0?"":`<w:pPr>${t.join("")}</w:pPr>`}function st(e){let t=[];e.rId&&t.push(`r:id="${e.rId}"`),e.anchor&&t.push(`w:anchor="${z(e.anchor)}"`),e.tooltip&&t.push(`w:tooltip="${z(e.tooltip)}"`),e.target&&t.push(`w:tgtFrame="${z(e.target)}"`),e.history===false&&t.push('w:history="0"'),e.docLocation&&t.push(`w:docLocation="${z(e.docLocation)}"`);let n=e.children.map(o=>o.type==="run"?se(o):o.type==="bookmarkStart"?Yn(o):o.type==="bookmarkEnd"?Kn(o):"").join("");return `<w:hyperlink${t.length>0?" "+t.join(" "):""}>${n}</w:hyperlink>`}function Yn(e){let t=[`w:id="${e.id}"`,`w:name="${z(e.name)}"`];return e.colFirst!==void 0&&t.push(`w:colFirst="${e.colFirst}"`),e.colLast!==void 0&&t.push(`w:colLast="${e.colLast}"`),`<w:bookmarkStart ${t.join(" ")}/>`}function Kn(e){return `<w:bookmarkEnd w:id="${e.id}"/>`}function ts(e){let t=[],n=e.content.find(a=>a.type==="run"),r=n?.formatting?xe(n.formatting):"",o=['w:fldCharType="begin"'];e.fldLock&&o.push('w:fldLock="true"'),t.push(`<w:r>${r}<w:fldChar ${o.join(" ")}/></w:r>`);let s=e.instruction.startsWith(" ")||e.instruction.endsWith(" ")||e.instruction.includes(" ")?' xml:space="preserve"':"";t.push(`<w:r>${r}<w:instrText${s}>${z(e.instruction)}</w:instrText></w:r>`),t.push(`<w:r>${r}<w:fldChar w:fldCharType="separate"/></w:r>`);for(let a of e.content)a.type==="run"&&t.push(se(a));return t.push(`<w:r>${r}<w:fldChar w:fldCharType="end"/></w:r>`),t.join("")}function ns(e){let t=[],n=e.fieldResult?.[0]?.formatting,r=n?xe(n):"",o=['w:fldCharType="begin"'];if(e.fldLock&&o.push('w:fldLock="true"'),t.push(`<w:r>${r}<w:fldChar ${o.join(" ")}/></w:r>`),e.fieldCode.length>0)t.push(...e.fieldCode.map(i=>se(i)));else {let s=e.instruction.startsWith(" ")||e.instruction.endsWith(" ")||e.instruction.includes(" ")?' xml:space="preserve"':"";t.push(`<w:r>${r}<w:instrText${s}>${z(e.instruction)}</w:instrText></w:r>`);}return t.push(`<w:r>${r}<w:fldChar w:fldCharType="separate"/></w:r>`),t.push(...e.fieldResult.map(i=>se(i))),t.push(`<w:r>${r}<w:fldChar w:fldCharType="end"/></w:r>`),t.join("")}function rs(e){let t=e.properties,n=[];switch(t.alias&&n.push(`<w:alias w:val="${z(t.alias)}"/>`),t.tag&&n.push(`<w:tag w:val="${z(t.tag)}"/>`),t.lock&&t.lock!=="unlocked"&&n.push(`<w:lock w:val="${t.lock}"/>`),t.showingPlaceholder&&n.push("<w:showingPlcHdr/>"),t.sdtType){case "plainText":n.push("<w:text/>");break;case "date":t.dateFormat?n.push(`<w:date w:fullDate="${z(t.dateFormat)}"/>`):n.push("<w:date/>");break;case "dropdown":{let o=(t.listItems??[]).map(i=>`<w:listItem w:displayText="${z(i.displayText)}" w:value="${z(i.value)}"/>`).join("");n.push(`<w:dropDownList>${o}</w:dropDownList>`);break}case "comboBox":{let o=(t.listItems??[]).map(i=>`<w:listItem w:displayText="${z(i.displayText)}" w:value="${z(i.value)}"/>`).join("");n.push(`<w:comboBox>${o}</w:comboBox>`);break}case "checkbox":n.push(`<w14:checkbox><w14:checked w14:val="${t.checked?"1":"0"}"/></w14:checkbox>`);break;case "picture":n.push("<w:picture/>");break}let r=e.content.map(o=>o.type==="run"?se(o):o.type==="hyperlink"?st(o):"").join("");return `<w:sdt><w:sdtPr>${n.join("")}</w:sdtPr><w:sdtContent>${r}</w:sdtContent></w:sdt>`}function Zn(e,t){let n=t.info,r=[`w:id="${n.id}"`,`w:author="${z(n.author)}"`];n.date&&r.push(`w:date="${z(n.date)}"`);let o=t.content.map(i=>i.type==="run"?se(i):i.type==="hyperlink"?st(i):"").join("");return `<w:${e} ${r.join(" ")}>${o}</w:${e}>`}function os(e){switch(e.type){case "run":return se(e);case "hyperlink":return st(e);case "bookmarkStart":return Yn(e);case "bookmarkEnd":return Kn(e);case "simpleField":return ts(e);case "complexField":return ns(e);case "inlineSdt":return rs(e);case "commentRangeStart":return `<w:commentRangeStart w:id="${e.id}"/>`;case "commentRangeEnd":return `<w:commentRangeEnd w:id="${e.id}"/>`;case "insertion":return Zn("ins",e);case "deletion":return Zn("del",e);case "mathEquation":return e.ommlXml||"";default:return ""}}function ae(e){let t=[],n=[];e.paraId&&n.push(`w14:paraId="${e.paraId}"`),e.textId&&n.push(`w14:textId="${e.textId}"`);let r=n.length>0?" "+n.join(" "):"",o=es(e.formatting);o&&t.push(o);for(let i of e.content){let s=os(i);s&&t.push(s);}return `<w:p${r}>${t.join("")}</w:p>`}function is(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function le(e,t){if(!e)return "";let n=[`w:w="${e.value}"`,`w:type="${e.type}"`];return `<w:${t} ${n.join(" ")}/>`}function de(e,t){if(!e||e.style==="none"||e.style==="nil")return "";let n=[`w:val="${e.style}"`];return e.size!==void 0&&n.push(`w:sz="${e.size}"`),e.space!==void 0&&n.push(`w:space="${e.space}"`),e.color&&(e.color.auto?n.push('w:color="auto"'):e.color.rgb&&n.push(`w:color="${e.color.rgb}"`),e.color.themeColor&&n.push(`w:themeColor="${e.color.themeColor}"`),e.color.themeTint&&n.push(`w:themeTint="${e.color.themeTint}"`),e.color.themeShade&&n.push(`w:themeShade="${e.color.themeShade}"`)),e.shadow&&n.push('w:shadow="true"'),e.frame&&n.push('w:frame="true"'),`<w:${t} ${n.join(" ")}/>`}function Qn(e,t){if(!e)return "";let n=[];if(e.top){let r=de(e.top,"top");r&&n.push(r);}if(e.left){let r=de(e.left,"left");r&&n.push(r);}if(e.bottom){let r=de(e.bottom,"bottom");r&&n.push(r);}if(e.right){let r=de(e.right,"right");r&&n.push(r);}if(e.insideH){let r=de(e.insideH,"insideH");r&&n.push(r);}if(e.insideV){let r=de(e.insideV,"insideV");r&&n.push(r);}return n.length===0?"":`<w:${t}>${n.join("")}</w:${t}>`}function er(e,t){if(!e)return "";let n=[];return e.top&&n.push(le(e.top,"top")),e.left&&n.push(le(e.left,"left")),e.bottom&&n.push(le(e.bottom,"bottom")),e.right&&n.push(le(e.right,"right")),n.length===0?"":`<w:${t}>${n.join("")}</w:${t}>`}function tr(e){if(!e)return "";let t=[];return e.pattern?t.push(`w:val="${e.pattern}"`):t.push('w:val="clear"'),e.color?.rgb?t.push(`w:color="${e.color.rgb}"`):e.color?.auto&&t.push('w:color="auto"'),e.fill?.rgb?t.push(`w:fill="${e.fill.rgb}"`):e.fill?.auto&&t.push('w:fill="auto"'),e.fill?.themeColor&&t.push(`w:themeFill="${e.fill.themeColor}"`),e.fill?.themeTint&&t.push(`w:themeFillTint="${e.fill.themeTint}"`),e.fill?.themeShade&&t.push(`w:themeFillShade="${e.fill.themeShade}"`),t.length===0?"":`<w:shd ${t.join(" ")}/>`}function ss(e){if(!e)return "";let t=[];return e.firstRow&&t.push('w:firstRow="1"'),e.lastRow&&t.push('w:lastRow="1"'),e.firstColumn&&t.push('w:firstColumn="1"'),e.lastColumn&&t.push('w:lastColumn="1"'),e.noHBand&&t.push('w:noHBand="1"'),e.noVBand&&t.push('w:noVBand="1"'),t.length===0?"":`<w:tblLook ${t.join(" ")}/>`}function as(e){if(!e)return "";let t=[];return e.horzAnchor&&t.push(`w:horzAnchor="${e.horzAnchor}"`),e.vertAnchor&&t.push(`w:vertAnchor="${e.vertAnchor}"`),e.tblpX!==void 0&&t.push(`w:tblpX="${e.tblpX}"`),e.tblpXSpec&&t.push(`w:tblpXSpec="${e.tblpXSpec}"`),e.tblpY!==void 0&&t.push(`w:tblpY="${e.tblpY}"`),e.tblpYSpec&&t.push(`w:tblpYSpec="${e.tblpYSpec}"`),e.topFromText!==void 0&&t.push(`w:topFromText="${e.topFromText}"`),e.bottomFromText!==void 0&&t.push(`w:bottomFromText="${e.bottomFromText}"`),e.leftFromText!==void 0&&t.push(`w:leftFromText="${e.leftFromText}"`),e.rightFromText!==void 0&&t.push(`w:rightFromText="${e.rightFromText}"`),t.length===0?"":`<w:tblpPr ${t.join(" ")}/>`}function ls(e){if(!e)return "";let t=[];e.styleId&&t.push(`<w:tblStyle w:val="${is(e.styleId)}"/>`);let n=as(e.floating);n&&t.push(n),e.bidi&&t.push("<w:bidiVisual/>");let r=le(e.width,"tblW");r&&t.push(r),e.justification&&t.push(`<w:jc w:val="${e.justification}"/>`);let o=le(e.cellSpacing,"tblCellSpacing");o&&t.push(o);let i=le(e.indent,"tblInd");i&&t.push(i);let s=Qn(e.borders,"tblBorders");s&&t.push(s);let a=er(e.cellMargins,"tblCellMar");a&&t.push(a),e.layout&&t.push(`<w:tblLayout w:type="${e.layout}"/>`);let c=tr(e.shading);c&&t.push(c);let p=ss(e.look);return p&&t.push(p),e.overlap&&t.push(`<w:tblOverlap w:val="${e.overlap}"/>`),t.length===0?"":`<w:tblPr>${t.join("")}</w:tblPr>`}function cs(e){if(!e)return "";let t=[];if(e.cantSplit&&t.push("<w:cantSplit/>"),e.header&&t.push("<w:tblHeader/>"),e.height){let n=[`w:val="${e.height.value}"`];e.heightRule&&n.push(`w:hRule="${e.heightRule}"`),t.push(`<w:trHeight ${n.join(" ")}/>`);}return e.justification&&t.push(`<w:jc w:val="${e.justification}"/>`),e.hidden&&t.push("<w:hidden/>"),t.length===0?"":`<w:trPr>${t.join("")}</w:trPr>`}function us(e){if(!e)return "";let n=[e.firstRow?"1":"0",e.lastRow?"1":"0",e.firstColumn?"1":"0",e.lastColumn?"1":"0",e.oddVBand?"1":"0",e.evenVBand?"1":"0",e.oddHBand?"1":"0",e.evenHBand?"1":"0",e.nwCell?"1":"0",e.neCell?"1":"0",e.swCell?"1":"0",e.seCell?"1":"0"].join("");return n==="000000000000"?"":`<w:cnfStyle w:val="${n}"/>`}function ps(e){if(!e)return "";let t=[],n=us(e.conditionalFormat);n&&t.push(n);let r=le(e.width,"tcW");r&&t.push(r),e.gridSpan&&e.gridSpan>1&&t.push(`<w:gridSpan w:val="${e.gridSpan}"/>`),e.vMerge&&(e.vMerge==="restart"?t.push('<w:vMerge w:val="restart"/>'):t.push("<w:vMerge/>"));let o=Qn(e.borders,"tcBorders");o&&t.push(o);let i=tr(e.shading);i&&t.push(i),e.noWrap&&t.push("<w:noWrap/>");let s=er(e.margins,"tcMar");return s&&t.push(s),e.textDirection&&t.push(`<w:textDirection w:val="${e.textDirection}"/>`),e.fitText&&t.push("<w:tcFitText/>"),e.verticalAlign&&t.push(`<w:vAlign w:val="${e.verticalAlign}"/>`),e.hideMark&&t.push("<w:hideMark/>"),t.length===0?"":`<w:tcPr>${t.join("")}</w:tcPr>`}function fs(e){return !e||e.length===0?"":`<w:tblGrid>${e.map(n=>`<w:gridCol w:w="${n}"/>`).join("")}</w:tblGrid>`}function ds(e){let t=[];for(let n of e)n.type==="paragraph"?t.push(ae(n)):n.type==="table"&&t.push(be(n));return t.length===0&&t.push("<w:p/>"),t.join("")}function ms(e){let t=[],n=ps(e.formatting);return n&&t.push(n),t.push(ds(e.content)),`<w:tc>${t.join("")}</w:tc>`}function hs(e){let t=[],n=cs(e.formatting);n&&t.push(n);for(let r of e.cells)t.push(ms(r));return `<w:tr>${t.join("")}</w:tr>`}function be(e){let t=[],n=ls(e.formatting);n&&t.push(n);let r=fs(e.columnWidths);r&&t.push(r);for(let o of e.rows)t.push(hs(o));return `<w:tbl>${t.join("")}</w:tbl>`}var _={wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape"};function gs(){let e={wpc:_.wpc,mc:_.mc,o:_.o,r:_.r,m:_.m,v:_.v,wp14:_.wp14,wp:_.wp,w10:_.w10,w:_.w,w14:_.w14,w15:_.w15,wpg:_.wpg,wps:_.wps};return Object.entries(e).map(([t,n])=>`xmlns:${t}="${n}"`).join(" ")}function je(e,t){if(!e||e.style==="none"||e.style==="nil")return "";let n=[`w:val="${e.style}"`];return e.size!==void 0&&n.push(`w:sz="${e.size}"`),e.space!==void 0&&n.push(`w:space="${e.space}"`),e.color&&(e.color.auto?n.push('w:color="auto"'):e.color.rgb&&n.push(`w:color="${e.color.rgb}"`),e.color.themeColor&&n.push(`w:themeColor="${e.color.themeColor}"`),e.color.themeTint&&n.push(`w:themeTint="${e.color.themeTint}"`),e.color.themeShade&&n.push(`w:themeShade="${e.color.themeShade}"`)),e.shadow&&n.push('w:shadow="true"'),e.frame&&n.push('w:frame="true"'),`<w:${t} ${n.join(" ")}/>`}function ws(e){return `<w:headerReference ${[`w:type="${e.type}"`,`r:id="${e.rId}"`].join(" ")}/>`}function ys(e){return `<w:footerReference ${[`w:type="${e.type}"`,`r:id="${e.rId}"`].join(" ")}/>`}function xs(e){if(!e)return "";let t=[];return e.position&&t.push(`<w:pos w:val="${e.position}"/>`),e.numFmt&&t.push(`<w:numFmt w:val="${e.numFmt}"/>`),e.numStart!==void 0&&t.push(`<w:numStart w:val="${e.numStart}"/>`),e.numRestart&&t.push(`<w:numRestart w:val="${e.numRestart}"/>`),t.length===0?"":`<w:footnotePr>${t.join("")}</w:footnotePr>`}function bs(e){if(!e)return "";let t=[];return e.position&&t.push(`<w:pos w:val="${e.position}"/>`),e.numFmt&&t.push(`<w:numFmt w:val="${e.numFmt}"/>`),e.numStart!==void 0&&t.push(`<w:numStart w:val="${e.numStart}"/>`),e.numRestart&&t.push(`<w:numRestart w:val="${e.numRestart}"/>`),t.length===0?"":`<w:endnotePr>${t.join("")}</w:endnotePr>`}function Ts(e){let t=[];return e.pageWidth!==void 0&&t.push(`w:w="${e.pageWidth}"`),e.pageHeight!==void 0&&t.push(`w:h="${e.pageHeight}"`),e.orientation==="landscape"&&t.push('w:orient="landscape"'),t.length===0?"":`<w:pgSz ${t.join(" ")}/>`}function Cs(e){let t=[];return e.marginTop!==void 0&&t.push(`w:top="${e.marginTop}"`),e.marginRight!==void 0&&t.push(`w:right="${e.marginRight}"`),e.marginBottom!==void 0&&t.push(`w:bottom="${e.marginBottom}"`),e.marginLeft!==void 0&&t.push(`w:left="${e.marginLeft}"`),e.headerDistance!==void 0&&t.push(`w:header="${e.headerDistance}"`),e.footerDistance!==void 0&&t.push(`w:footer="${e.footerDistance}"`),e.gutter!==void 0&&t.push(`w:gutter="${e.gutter}"`),t.length===0?"":`<w:pgMar ${t.join(" ")}/>`}function Fs(e){if(!e.columnCount&&!e.columns?.length)return "";let t=[];e.columnCount!==void 0&&e.columnCount>1&&t.push(`w:num="${e.columnCount}"`),e.columnSpace!==void 0&&t.push(`w:space="${e.columnSpace}"`),e.equalWidth!==void 0&&t.push(`w:equalWidth="${e.equalWidth?"1":"0"}"`),e.separator&&t.push('w:sep="1"');let n="";return e.columns&&e.columns.length>0&&(n=e.columns.map(o=>{let i=[];return o.width!==void 0&&i.push(`w:w="${o.width}"`),o.space!==void 0&&i.push(`w:space="${o.space}"`),`<w:col ${i.join(" ")}/>`}).join("")),t.length===0&&!n?"":`<w:cols${t.length>0?" "+t.join(" "):""}>${n}</w:cols>`}function Ss(e){if(!e.lineNumbers)return "";let t=e.lineNumbers,n=[];return t.countBy!==void 0&&n.push(`w:countBy="${t.countBy}"`),t.start!==void 0&&n.push(`w:start="${t.start}"`),t.distance!==void 0&&n.push(`w:distance="${t.distance}"`),t.restart&&n.push(`w:restart="${t.restart}"`),n.length===0?"":`<w:lnNumType ${n.join(" ")}/>`}function vs(e){if(!e.pageBorders)return "";let t=e.pageBorders,n=[],r=[];if(t.display&&n.push(`w:display="${t.display}"`),t.offsetFrom&&n.push(`w:offsetFrom="${t.offsetFrom}"`),t.zOrder&&n.push(`w:zOrder="${t.zOrder}"`),t.top){let i=je(t.top,"top");i&&r.push(i);}if(t.left){let i=je(t.left,"left");i&&r.push(i);}if(t.bottom){let i=je(t.bottom,"bottom");i&&r.push(i);}if(t.right){let i=je(t.right,"right");i&&r.push(i);}return r.length===0?"":`<w:pgBorders${n.length>0?" "+n.join(" "):""}>${r.join("")}</w:pgBorders>`}function ks(e){if(!e.docGrid)return "";let t=e.docGrid,n=[];return t.type&&n.push(`w:type="${t.type}"`),t.linePitch!==void 0&&n.push(`w:linePitch="${t.linePitch}"`),t.charSpace!==void 0&&n.push(`w:charSpace="${t.charSpace}"`),n.length===0?"":`<w:docGrid ${n.join(" ")}/>`}function Ps(e){if(!e)return "";let t=[];if(e.headerReferences)for(let f of e.headerReferences)t.push(ws(f));if(e.footerReferences)for(let f of e.footerReferences)t.push(ys(f));let n=xs(e.footnotePr);n&&t.push(n);let r=bs(e.endnotePr);r&&t.push(r),e.sectionStart&&t.push(`<w:type w:val="${e.sectionStart}"/>`);let o=Ts(e);o&&t.push(o);let i=Cs(e);if(i&&t.push(i),e.paperSrcFirst!==void 0||e.paperSrcOther!==void 0){let f=[];e.paperSrcFirst!==void 0&&f.push(`w:first="${e.paperSrcFirst}"`),e.paperSrcOther!==void 0&&f.push(`w:other="${e.paperSrcOther}"`),t.push(`<w:paperSrc ${f.join(" ")}/>`);}let s=vs(e);s&&t.push(s);let a=Ss(e);a&&t.push(a);let c=Fs(e);c&&t.push(c);let p=ks(e);return p&&t.push(p),e.verticalAlign&&t.push(`<w:vAlign w:val="${e.verticalAlign}"/>`),e.bidi&&t.push("<w:bidi/>"),e.titlePg&&t.push("<w:titlePg/>"),e.evenAndOddHeaders&&t.push("<w:evenAndOddHeaders/>"),t.length===0?"":`<w:sectPr>${t.join("")}</w:sectPr>`}function nr(e){if(e.type==="paragraph")return ae(e);if(e.type==="table")return be(e);if(e.type==="blockSdt"){let t=e.content.map(o=>nr(o)).join(""),n=e.properties,r=[];return n.alias&&r.push(`<w:alias w:val="${n.alias}"/>`),n.tag&&r.push(`<w:tag w:val="${n.tag}"/>`),`<w:sdt><w:sdtPr>${r.join("")}</w:sdtPr><w:sdtContent>${t}</w:sdtContent></w:sdt>`}return ""}function Rs(e){return e.map(t=>nr(t)).join("")}function Es(e){let t=[];return t.push(Rs(e.content)),e.finalSectionProperties&&t.push(Ps(e.finalSectionProperties)),t.join("")}function rr(e){let t=[];t.push('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>');let n=gs();return t.push(`<w:document ${n} mc:Ignorable="w14 w15 wp14">`),t.push("<w:body>"),t.push(Es(e.package.document)),t.push("</w:body>"),t.push("</w:document>"),t.join("")}var Ms={wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape"};function Is(){return Object.entries(Ms).map(([e,t])=>`xmlns:${e}="${t}"`).join(" ")}function $s(e){return e.type==="paragraph"?ae(e):e.type==="table"?be(e):""}function at(e){let t=e.type==="header"?"w:hdr":"w:ftr",n=Is(),r=e.content.map(o=>$s(o)).join("");return r||(r="<w:p><w:pPr/></w:p>"),`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
13
|
-
<${t} ${n}>${r}</${t}>`}async function
|
|
12
|
+
Returns validation result with any errors found and list of valid tags.`,inputSchema:{type:"object",properties:{documentId:Oe},required:["documentId"]},handler:async(e,t)=>{let{documentId:n}=e,r=t.session.documents.get(n);if(!r)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};if(!r.buffer)return {isError:true,content:[{type:"text",text:"Cannot validate template: document was not loaded from a DOCX buffer"}]};try{let o=Ft(r.buffer);return {content:[{type:"text",text:JSON.stringify({valid:o.valid,tags:o.tags,errors:o.errors.map(i=>({message:i.message,variable:i.variable,type:i.type}))},null,2)}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to validate template: ${o.message}`}]}}},annotations:{category:"template",readOnly:true,complexity:"low"}},On=[Pi,Ri,Ei,Ii];var jn={id:"docxtemplater",name:"Docxtemplater",version:"1.0.0",description:"Template variable support using standard docxtemplater syntax ({variable})",commandHandlers:{insertTemplateVariable:pt,replaceWithTemplateVariable:dt},mcpTools:On,initialize:()=>{try{ut("docxtemplater"),ut("pizzip");}catch{console.warn("[docxtemplater-plugin] Warning: docxtemplater or pizzip not installed. Template features may not work. Install with: npm install docxtemplater pizzip");}}};Te();function j(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Mi(e){if(!e)return "";let t=[];return e.auto?t.push('w:val="auto"'):e.rgb&&t.push(`w:val="${e.rgb}"`),e.themeColor&&t.push(`w:themeColor="${e.themeColor}"`),e.themeTint&&t.push(`w:themeTint="${e.themeTint}"`),e.themeShade&&t.push(`w:themeShade="${e.themeShade}"`),t.length===0?"":`<w:color ${t.join(" ")}/>`}function $i(e){if(!e)return "";let t=[];return e.pattern?t.push(`w:val="${e.pattern}"`):t.push('w:val="clear"'),e.color?.rgb?t.push(`w:color="${e.color.rgb}"`):e.color?.auto&&t.push('w:color="auto"'),e.fill?.rgb?t.push(`w:fill="${e.fill.rgb}"`):e.fill?.auto&&t.push('w:fill="auto"'),e.fill?.themeColor&&t.push(`w:themeFill="${e.fill.themeColor}"`),e.fill?.themeTint&&t.push(`w:themeFillTint="${e.fill.themeTint}"`),e.fill?.themeShade&&t.push(`w:themeFillShade="${e.fill.themeShade}"`),t.length===0?"":`<w:shd ${t.join(" ")}/>`}function xe(e){if(!e)return "";let t=[];if(e.styleId&&t.push(`<w:rStyle w:val="${j(e.styleId)}"/>`),e.fontFamily){let o=[];e.fontFamily.ascii&&o.push(`w:ascii="${j(e.fontFamily.ascii)}"`),e.fontFamily.hAnsi&&o.push(`w:hAnsi="${j(e.fontFamily.hAnsi)}"`),e.fontFamily.eastAsia&&o.push(`w:eastAsia="${j(e.fontFamily.eastAsia)}"`),e.fontFamily.cs&&o.push(`w:cs="${j(e.fontFamily.cs)}"`),e.fontFamily.asciiTheme&&o.push(`w:asciiTheme="${e.fontFamily.asciiTheme}"`),e.fontFamily.hAnsiTheme&&o.push(`w:hAnsiTheme="${e.fontFamily.hAnsiTheme}"`),e.fontFamily.eastAsiaTheme&&o.push(`w:eastAsiaTheme="${e.fontFamily.eastAsiaTheme}"`),e.fontFamily.csTheme&&o.push(`w:csTheme="${e.fontFamily.csTheme}"`),o.length>0&&t.push(`<w:rFonts ${o.join(" ")}/>`);}e.bold===true?t.push("<w:b/>"):e.bold===false&&t.push('<w:b w:val="0"/>'),e.boldCs===true?t.push("<w:bCs/>"):e.boldCs===false&&t.push('<w:bCs w:val="0"/>'),e.italic===true?t.push("<w:i/>"):e.italic===false&&t.push('<w:i w:val="0"/>'),e.italicCs===true?t.push("<w:iCs/>"):e.italicCs===false&&t.push('<w:iCs w:val="0"/>'),e.allCaps&&t.push("<w:caps/>"),e.smallCaps&&t.push("<w:smallCaps/>"),e.strike&&t.push("<w:strike/>"),e.doubleStrike&&t.push("<w:dstrike/>"),e.outline&&t.push("<w:outline/>"),e.shadow&&t.push("<w:shadow/>"),e.emboss&&t.push("<w:emboss/>"),e.imprint&&t.push("<w:imprint/>"),e.hidden&&t.push("<w:vanish/>");let n=Mi(e.color);if(n&&t.push(n),e.spacing!==void 0&&t.push(`<w:spacing w:val="${e.spacing}"/>`),e.scale!==void 0&&t.push(`<w:w w:val="${e.scale}"/>`),e.kerning!==void 0&&t.push(`<w:kern w:val="${e.kerning}"/>`),e.position!==void 0&&t.push(`<w:position w:val="${e.position}"/>`),e.fontSize!==void 0&&t.push(`<w:sz w:val="${e.fontSize}"/>`),e.fontSizeCs!==void 0&&t.push(`<w:szCs w:val="${e.fontSizeCs}"/>`),e.highlight&&e.highlight!=="none"&&new Set(["black","blue","cyan","darkBlue","darkCyan","darkGray","darkGreen","darkMagenta","darkRed","darkYellow","green","lightGray","magenta","red","white","yellow"]).has(e.highlight)&&t.push(`<w:highlight w:val="${e.highlight}"/>`),e.underline){let o=[`w:val="${e.underline.style}"`];e.underline.color&&(e.underline.color.rgb&&o.push(`w:color="${e.underline.color.rgb}"`),e.underline.color.themeColor&&o.push(`w:themeColor="${e.underline.color.themeColor}"`)),t.push(`<w:u ${o.join(" ")}/>`);}e.effect&&e.effect!=="none"&&t.push(`<w:effect w:val="${e.effect}"/>`),e.emphasisMark&&e.emphasisMark!=="none"&&t.push(`<w:em w:val="${e.emphasisMark}"/>`);let r=$i(e.shading);return r&&t.push(r),e.vertAlign&&e.vertAlign!=="baseline"&&t.push(`<w:vertAlign w:val="${e.vertAlign}"/>`),e.rtl&&t.push("<w:rtl/>"),e.cs&&t.push("<w:cs/>"),t.length===0?"":`<w:rPr>${t.join("")}</w:rPr>`}function Di(e){return `<w:t${e.preserveSpace||e.text.startsWith(" ")||e.text.endsWith(" ")||e.text.includes(" ")?' xml:space="preserve"':""}>${j(e.text)}</w:t>`}function Ai(e){return "<w:tab/>"}function Bi(e){let t=[];return e.breakType==="page"?t.push('w:type="page"'):e.breakType==="column"?t.push('w:type="column"'):e.breakType==="textWrapping"&&(t.push('w:type="textWrapping"'),e.clear&&e.clear!=="none"&&t.push(`w:clear="${e.clear}"`)),t.length===0?"<w:br/>":`<w:br ${t.join(" ")}/>`}function Li(e){return `<w:sym w:font="${j(e.font)}" w:char="${j(e.char)}"/>`}function Ni(e){return e.type==="footnoteRef"?`<w:footnoteReference w:id="${e.id}"/>`:`<w:endnoteReference w:id="${e.id}"/>`}function Xi(e){let t=[`w:fldCharType="${e.charType}"`];return e.fldLock&&t.push('w:fldLock="true"'),e.dirty&&t.push('w:dirty="true"'),`<w:fldChar ${t.join(" ")}/>`}function Hi(e){return `<w:instrText${e.text.startsWith(" ")||e.text.endsWith(" ")||e.text.includes(" ")?' xml:space="preserve"':""}>${j(e.text)}</w:instrText>`}function Oi(e){return "<w:softHyphen/>"}function ji(e){return "<w:noBreakHyphen/>"}function nt(e){if(!e)return "";if(e.rgb)return `<a:srgbClr val="${e.rgb.replace("#","")}"/>`;if(e.themeColor){let t=`<a:schemeClr val="${e.themeColor}"`;return e.themeTint?t+=`><a:tint val="${e.themeTint}"/></a:schemeClr>`:e.themeShade?t+=`><a:shade val="${e.themeShade}"/></a:schemeClr>`:t+="/>",t}return ""}function zi(e){if(!e||e.type==="none")return "<a:noFill/>";if(e.type==="solid"&&e.color)return `<a:solidFill>${nt(e.color)}</a:solidFill>`;if(e.type==="gradient"&&e.gradient){let t=e.gradient,n=t.stops.map(o=>`<a:gs pos="${o.position}">${nt(o.color)}</a:gs>`).join(""),r=t.type==="linear"?`<a:lin ang="${(t.angle||0)*6e4}" scaled="1"/>`:"";return `<a:gradFill><a:gsLst>${n}</a:gsLst>${r}</a:gradFill>`}return ""}function zn(e){if(!e)return "";let t=[];e.width!=null&&t.push(`w="${e.width}"`),e.cap&&t.push(`cap="${e.cap}"`);let n=[];return e.color&&n.push(`<a:solidFill>${nt(e.color)}</a:solidFill>`),e.style&&e.style!=="solid"&&n.push(`<a:prstDash val="${e.style}"/>`),e.headEnd&&n.push(`<a:headEnd type="${e.headEnd.type}"${e.headEnd.width?` w="${e.headEnd.width}"`:""}${e.headEnd.length?` len="${e.headEnd.length}"`:""}/>`),e.tailEnd&&n.push(`<a:tailEnd type="${e.tailEnd.type}"${e.tailEnd.width?` w="${e.tailEnd.width}"`:""}${e.tailEnd.length?` len="${e.tailEnd.length}"`:""}/>`),n.length===0&&t.length===0?"":`<a:ln${t.length?" "+t.join(" "):""}>${n.join("")}</a:ln>`}function Vn(e){let t=[],n=e.horizontal;t.push(`<wp:positionH relativeFrom="${n.relativeTo}">`),n.alignment?t.push(`<wp:align>${n.alignment}</wp:align>`):t.push(`<wp:posOffset>${n.posOffset||0}</wp:posOffset>`),t.push("</wp:positionH>");let r=e.vertical;return t.push(`<wp:positionV relativeFrom="${r.relativeTo}">`),r.alignment?t.push(`<wp:align>${r.alignment}</wp:align>`):t.push(`<wp:posOffset>${r.posOffset||0}</wp:posOffset>`),t.push("</wp:positionV>"),t.join("")}function Wn(e){let t=e.wrapText?` wrapText="${e.wrapText}"`:' wrapText="bothSides"';switch(e.type){case "square":return `<wp:wrapSquare${t}/>`;case "tight":return `<wp:wrapTight${t}><wp:wrapPolygon edited="0"><wp:start x="0" y="0"/><wp:lineTo x="0" y="21600"/><wp:lineTo x="21600" y="21600"/><wp:lineTo x="21600" y="0"/><wp:lineTo x="0" y="0"/></wp:wrapPolygon></wp:wrapTight>`;case "through":return `<wp:wrapThrough${t}><wp:wrapPolygon edited="0"><wp:start x="0" y="0"/><wp:lineTo x="0" y="21600"/><wp:lineTo x="21600" y="21600"/><wp:lineTo x="21600" y="0"/><wp:lineTo x="0" y="0"/></wp:wrapPolygon></wp:wrapThrough>`;case "topAndBottom":return "<wp:wrapTopAndBottom/>";case "behind":case "inFront":return "<wp:wrapNone/>";default:return "<wp:wrapNone/>"}}function Vi(e){let t=e.size.width,n=e.size.height,r=e.rId||"rId1",o=e.id||"0",i=e.filename||`image${o}`,s="";return e.transform?.rotation&&(s+=` rot="${Math.round(e.transform.rotation*6e4)}"`),e.transform?.flipH&&(s+=' flipH="1"'),e.transform?.flipV&&(s+=' flipV="1"'),['<a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">','<a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture">','<pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture">',"<pic:nvPicPr>",`<pic:cNvPr id="${o}" name="${j(i)}"${e.alt?` descr="${j(e.alt)}"`:""}/>`,"<pic:cNvPicPr/>","</pic:nvPicPr>","<pic:blipFill>",`<a:blip r:embed="${r}"/>`,"<a:stretch><a:fillRect/></a:stretch>","</pic:blipFill>","<pic:spPr>",`<a:xfrm${s}>`,'<a:off x="0" y="0"/>',`<a:ext cx="${t}" cy="${n}"/>`,"</a:xfrm>",'<a:prstGeom prst="rect"><a:avLst/></a:prstGeom>',e.outline?zn(e.outline):"","</pic:spPr>","</pic:pic>","</a:graphicData>","</a:graphic>"].join("")}function Wi(e){let t=e.image,n=t.wrap.type!=="inline",r=t.size.width,o=t.size.height,i=t.padding?.top??t.wrap.distT??0,s=t.padding?.bottom??t.wrap.distB??0,a=t.padding?.left??t.wrap.distL??0,c=t.padding?.right??t.wrap.distR??0,f=t.id||"1",p=t.title||t.filename||`Picture ${f}`,d=Vi(t);if(!n)return ["<w:drawing>",`<wp:inline distT="${i}" distB="${s}" distL="${a}" distR="${c}">`,`<wp:extent cx="${r}" cy="${o}"/>`,'<wp:effectExtent l="0" t="0" r="0" b="0"/>',`<wp:docPr id="${f}" name="${j(p)}"${t.alt?` descr="${j(t.alt)}"`:""}${t.decorative?' hidden="1"':""}/>`,'<wp:cNvGraphicFramePr><a:graphicFrameLocks xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" noChangeAspect="1"/></wp:cNvGraphicFramePr>',d,"</wp:inline>","</w:drawing>"].join("");let g=t.wrap.type==="behind"?"1":"0",h=t.position?Vn(t.position):'<wp:positionH relativeFrom="column"><wp:posOffset>0</wp:posOffset></wp:positionH><wp:positionV relativeFrom="paragraph"><wp:posOffset>0</wp:posOffset></wp:positionV>',m=Wn(t.wrap);return ["<w:drawing>",`<wp:anchor distT="${i}" distB="${s}" distL="${a}" distR="${c}" simplePos="0" relativeHeight="251658240" behindDoc="${g}" locked="0" layoutInCell="1" allowOverlap="1">`,'<wp:simplePos x="0" y="0"/>',h,`<wp:extent cx="${r}" cy="${o}"/>`,'<wp:effectExtent l="0" t="0" r="0" b="0"/>',m,`<wp:docPr id="${f}" name="${j(p)}"${t.alt?` descr="${j(t.alt)}"`:""}/>`,'<wp:cNvGraphicFramePr><a:graphicFrameLocks xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" noChangeAspect="1"/></wp:cNvGraphicFramePr>',d,"</wp:anchor>","</w:drawing>"].join("")}function _i(e){return e.map(t=>ae(t)).join("")}function Ui(e){let t=e.shape,n=t.size.width,r=t.size.height,o=t.shapeType==="textBox",i=t.wrap&&t.wrap.type!=="inline",s=t.wrap?.distT??0,a=t.wrap?.distB??0,c=t.wrap?.distL??0,f=t.wrap?.distR??0,p=t.id||"1",d=t.name||(o?`TextBox ${p}`:`Shape ${p}`),g="";t.transform?.rotation&&(g+=` rot="${Math.round(t.transform.rotation*6e4)}"`),t.transform?.flipH&&(g+=' flipH="1"'),t.transform?.flipV&&(g+=' flipV="1"');let h=["<wps:spPr>",`<a:xfrm${g}>`,'<a:off x="0" y="0"/>',`<a:ext cx="${n}" cy="${r}"/>`,"</a:xfrm>",`<a:prstGeom prst="${t.shapeType==="textBox"?"rect":t.shapeType}"><a:avLst/></a:prstGeom>`,zi(t.fill),zn(t.outline),"</wps:spPr>"].join(""),m="";if(t.textBody){let x=t.textBody,b=['rot="0"','vert="horz"'];x.anchor&&b.push(`anchor="${x.anchor==="middle"?"ctr":x.anchor}"`),x.anchorCenter&&b.push('anchorCtr="1"'),x.margins&&(x.margins.left!=null&&b.push(`lIns="${x.margins.left}"`),x.margins.top!=null&&b.push(`tIns="${x.margins.top}"`),x.margins.right!=null&&b.push(`rIns="${x.margins.right}"`),x.margins.bottom!=null&&b.push(`bIns="${x.margins.bottom}"`)),o?m=["<wps:txbx><w:txbxContent>",_i(x.content),"</w:txbxContent></wps:txbx>",`<wps:bodyPr ${b.join(" ")}/>`].join(""):m=[`<wps:bodyPr ${b.join(" ")}/>`].join("");}let k=['<a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">','<a:graphicData uri="http://schemas.microsoft.com/office/word/2010/wordprocessingShape">',["<wps:wsp>",`<wps:cNvSpPr${o?' txBox="1"':""}/>`,h,m,"</wps:wsp>"].join(""),"</a:graphicData>","</a:graphic>"].join("");if(!i)return ["<w:drawing>",`<wp:inline distT="${s}" distB="${a}" distL="${c}" distR="${f}">`,`<wp:extent cx="${n}" cy="${r}"/>`,'<wp:effectExtent l="0" t="0" r="0" b="0"/>',`<wp:docPr id="${p}" name="${j(d)}"/>`,"<wp:cNvGraphicFramePr/>",k,"</wp:inline>","</w:drawing>"].join("");let S=t.wrap?.type==="behind"?"1":"0",R=t.position?Vn(t.position):'<wp:positionH relativeFrom="column"><wp:posOffset>0</wp:posOffset></wp:positionH><wp:positionV relativeFrom="paragraph"><wp:posOffset>0</wp:posOffset></wp:positionV>',v=Wn(t.wrap);return ["<w:drawing>",`<wp:anchor distT="${s}" distB="${a}" distL="${c}" distR="${f}" simplePos="0" relativeHeight="251658240" behindDoc="${S}" locked="0" layoutInCell="1" allowOverlap="1">`,'<wp:simplePos x="0" y="0"/>',R,`<wp:extent cx="${n}" cy="${r}"/>`,'<wp:effectExtent l="0" t="0" r="0" b="0"/>',v,`<wp:docPr id="${p}" name="${j(d)}"/>`,"<wp:cNvGraphicFramePr/>",k,"</wp:anchor>","</w:drawing>"].join("")}function Gi(e){switch(e.type){case "text":return Di(e);case "tab":return Ai();case "break":return Bi(e);case "symbol":return Li(e);case "footnoteRef":case "endnoteRef":return Ni(e);case "fieldChar":return Xi(e);case "instrText":return Hi(e);case "softHyphen":return Oi();case "noBreakHyphen":return ji();case "drawing":return Wi(e);case "shape":return Ui(e);default:return ""}}function se(e){let t=[],n=xe(e.formatting);n&&t.push(n);for(let r of e.content){let o=Gi(r);o&&t.push(o);}return `<w:r>${t.join("")}</w:r>`}function z(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function pe(e,t){if(!e||e.style==="none"||e.style==="nil")return "";let n=[`w:val="${e.style}"`];return e.size!==void 0&&n.push(`w:sz="${e.size}"`),e.space!==void 0&&n.push(`w:space="${e.space}"`),e.color&&(e.color.auto?n.push('w:color="auto"'):e.color.rgb&&n.push(`w:color="${e.color.rgb}"`),e.color.themeColor&&n.push(`w:themeColor="${e.color.themeColor}"`),e.color.themeTint&&n.push(`w:themeTint="${e.color.themeTint}"`),e.color.themeShade&&n.push(`w:themeShade="${e.color.themeShade}"`)),e.shadow&&n.push('w:shadow="true"'),e.frame&&n.push('w:frame="true"'),`<w:${t} ${n.join(" ")}/>`}function qi(e){if(!e)return "";let t=[];if(e.top){let n=pe(e.top,"top");n&&t.push(n);}if(e.left){let n=pe(e.left,"left");n&&t.push(n);}if(e.bottom){let n=pe(e.bottom,"bottom");n&&t.push(n);}if(e.right){let n=pe(e.right,"right");n&&t.push(n);}if(e.between){let n=pe(e.between,"between");n&&t.push(n);}if(e.bar){let n=pe(e.bar,"bar");n&&t.push(n);}return t.length===0?"":`<w:pBdr>${t.join("")}</w:pBdr>`}function Ji(e){if(!e)return "";let t=[];return e.pattern?t.push(`w:val="${e.pattern}"`):t.push('w:val="clear"'),e.color?.rgb?t.push(`w:color="${e.color.rgb}"`):e.color?.auto&&t.push('w:color="auto"'),e.fill?.rgb?t.push(`w:fill="${e.fill.rgb}"`):e.fill?.auto&&t.push('w:fill="auto"'),e.fill?.themeColor&&t.push(`w:themeFill="${e.fill.themeColor}"`),e.fill?.themeTint&&t.push(`w:themeFillTint="${e.fill.themeTint}"`),e.fill?.themeShade&&t.push(`w:themeFillShade="${e.fill.themeShade}"`),t.length===0?"":`<w:shd ${t.join(" ")}/>`}function Zi(e){return !e||e.length===0?"":`<w:tabs>${e.map(n=>{let r=[`w:val="${n.alignment}"`,`w:pos="${n.position}"`];return n.leader&&n.leader!=="none"&&r.push(`w:leader="${n.leader}"`),`<w:tab ${r.join(" ")}/>`}).join("")}</w:tabs>`}function Yi(e){let t=[];return e.spaceBefore!==void 0&&t.push(`w:before="${e.spaceBefore}"`),e.spaceAfter!==void 0&&t.push(`w:after="${e.spaceAfter}"`),e.lineSpacing!==void 0&&t.push(`w:line="${e.lineSpacing}"`),e.lineSpacingRule&&t.push(`w:lineRule="${e.lineSpacingRule}"`),e.beforeAutospacing&&t.push('w:beforeAutospacing="1"'),e.afterAutospacing&&t.push('w:afterAutospacing="1"'),t.length===0?"":`<w:spacing ${t.join(" ")}/>`}function Ki(e){let t=[];return e.indentLeft!==void 0&&t.push(`w:left="${e.indentLeft}"`),e.indentRight!==void 0&&t.push(`w:right="${e.indentRight}"`),e.indentFirstLine!==void 0&&(e.hangingIndent?t.push(`w:hanging="${Math.abs(e.indentFirstLine)}"`):e.indentFirstLine!==0&&t.push(`w:firstLine="${e.indentFirstLine}"`)),t.length===0?"":`<w:ind ${t.join(" ")}/>`}function Qi(e){if(!e)return "";let t=[];return e.ilvl!==void 0&&t.push(`<w:ilvl w:val="${e.ilvl}"/>`),e.numId!==void 0&&t.push(`<w:numId w:val="${e.numId}"/>`),t.length===0?"":`<w:numPr>${t.join("")}</w:numPr>`}function es(e){if(!e)return "";let t=[];return e.width!==void 0&&t.push(`w:w="${e.width}"`),e.height!==void 0&&t.push(`w:h="${e.height}"`),e.hAnchor&&t.push(`w:hAnchor="${e.hAnchor}"`),e.vAnchor&&t.push(`w:vAnchor="${e.vAnchor}"`),e.x!==void 0&&t.push(`w:x="${e.x}"`),e.y!==void 0&&t.push(`w:y="${e.y}"`),e.xAlign&&t.push(`w:xAlign="${e.xAlign}"`),e.yAlign&&t.push(`w:yAlign="${e.yAlign}"`),e.wrap&&t.push(`w:wrap="${e.wrap}"`),t.length===0?"":`<w:framePr ${t.join(" ")}/>`}function ts(e){if(!e)return "";let t=[];e.styleId&&t.push(`<w:pStyle w:val="${z(e.styleId)}"/>`),e.keepNext&&t.push("<w:keepNext/>"),e.keepLines&&t.push("<w:keepLines/>"),e.contextualSpacing&&t.push("<w:contextualSpacing/>"),e.pageBreakBefore&&t.push("<w:pageBreakBefore/>");let n=es(e.frame);n&&t.push(n),e.widowControl===false?t.push('<w:widowControl w:val="0"/>'):e.widowControl===true&&t.push("<w:widowControl/>");let r=Qi(e.numPr);r&&t.push(r);let o=qi(e.borders);o&&t.push(o);let i=Ji(e.shading);i&&t.push(i);let s=Zi(e.tabs);s&&t.push(s),e.suppressLineNumbers&&t.push("<w:suppressLineNumbers/>"),e.suppressAutoHyphens&&t.push("<w:suppressAutoHyphens/>");let a=Yi(e);a&&t.push(a);let c=Ki(e);if(c&&t.push(c),e.bidi&&t.push("<w:bidi/>"),e.alignment&&t.push(`<w:jc w:val="${e.alignment}"/>`),e.outlineLevel!==void 0&&t.push(`<w:outlineLvl w:val="${e.outlineLevel}"/>`),e.runProperties){let f=xe(e.runProperties);f&&t.push(f);}return t.length===0?"":`<w:pPr>${t.join("")}</w:pPr>`}function rt(e){let t=[];e.rId&&t.push(`r:id="${e.rId}"`),e.anchor&&t.push(`w:anchor="${z(e.anchor)}"`),e.tooltip&&t.push(`w:tooltip="${z(e.tooltip)}"`),e.target&&t.push(`w:tgtFrame="${z(e.target)}"`),e.history===false&&t.push('w:history="0"'),e.docLocation&&t.push(`w:docLocation="${z(e.docLocation)}"`);let n=e.children.map(o=>o.type==="run"?se(o):o.type==="bookmarkStart"?Un(o):o.type==="bookmarkEnd"?Gn(o):"").join("");return `<w:hyperlink${t.length>0?" "+t.join(" "):""}>${n}</w:hyperlink>`}function Un(e){let t=[`w:id="${e.id}"`,`w:name="${z(e.name)}"`];return e.colFirst!==void 0&&t.push(`w:colFirst="${e.colFirst}"`),e.colLast!==void 0&&t.push(`w:colLast="${e.colLast}"`),`<w:bookmarkStart ${t.join(" ")}/>`}function Gn(e){return `<w:bookmarkEnd w:id="${e.id}"/>`}function ns(e){let t=[],n=e.content.find(a=>a.type==="run"),r=n?.formatting?xe(n.formatting):"",o=['w:fldCharType="begin"'];e.fldLock&&o.push('w:fldLock="true"'),t.push(`<w:r>${r}<w:fldChar ${o.join(" ")}/></w:r>`);let s=e.instruction.startsWith(" ")||e.instruction.endsWith(" ")||e.instruction.includes(" ")?' xml:space="preserve"':"";t.push(`<w:r>${r}<w:instrText${s}>${z(e.instruction)}</w:instrText></w:r>`),t.push(`<w:r>${r}<w:fldChar w:fldCharType="separate"/></w:r>`);for(let a of e.content)a.type==="run"&&t.push(se(a));return t.push(`<w:r>${r}<w:fldChar w:fldCharType="end"/></w:r>`),t.join("")}function rs(e){let t=[],n=e.fieldResult?.[0]?.formatting,r=n?xe(n):"",o=['w:fldCharType="begin"'];if(e.fldLock&&o.push('w:fldLock="true"'),t.push(`<w:r>${r}<w:fldChar ${o.join(" ")}/></w:r>`),e.fieldCode.length>0)t.push(...e.fieldCode.map(i=>se(i)));else {let s=e.instruction.startsWith(" ")||e.instruction.endsWith(" ")||e.instruction.includes(" ")?' xml:space="preserve"':"";t.push(`<w:r>${r}<w:instrText${s}>${z(e.instruction)}</w:instrText></w:r>`);}return t.push(`<w:r>${r}<w:fldChar w:fldCharType="separate"/></w:r>`),t.push(...e.fieldResult.map(i=>se(i))),t.push(`<w:r>${r}<w:fldChar w:fldCharType="end"/></w:r>`),t.join("")}function os(e){let t=e.properties,n=[];switch(t.alias&&n.push(`<w:alias w:val="${z(t.alias)}"/>`),t.tag&&n.push(`<w:tag w:val="${z(t.tag)}"/>`),t.lock&&t.lock!=="unlocked"&&n.push(`<w:lock w:val="${t.lock}"/>`),t.showingPlaceholder&&n.push("<w:showingPlcHdr/>"),t.sdtType){case "plainText":n.push("<w:text/>");break;case "date":t.dateFormat?n.push(`<w:date w:fullDate="${z(t.dateFormat)}"/>`):n.push("<w:date/>");break;case "dropdown":{let o=(t.listItems??[]).map(i=>`<w:listItem w:displayText="${z(i.displayText)}" w:value="${z(i.value)}"/>`).join("");n.push(`<w:dropDownList>${o}</w:dropDownList>`);break}case "comboBox":{let o=(t.listItems??[]).map(i=>`<w:listItem w:displayText="${z(i.displayText)}" w:value="${z(i.value)}"/>`).join("");n.push(`<w:comboBox>${o}</w:comboBox>`);break}case "checkbox":n.push(`<w14:checkbox><w14:checked w14:val="${t.checked?"1":"0"}"/></w14:checkbox>`);break;case "picture":n.push("<w:picture/>");break}let r=e.content.map(o=>o.type==="run"?se(o):o.type==="hyperlink"?rt(o):"").join("");return `<w:sdt><w:sdtPr>${n.join("")}</w:sdtPr><w:sdtContent>${r}</w:sdtContent></w:sdt>`}function _n(e,t){let n=t.info,r=[`w:id="${n.id}"`,`w:author="${z(n.author)}"`];n.date&&r.push(`w:date="${z(n.date)}"`);let o=t.content.map(i=>i.type==="run"?se(i):i.type==="hyperlink"?rt(i):"").join("");return `<w:${e} ${r.join(" ")}>${o}</w:${e}>`}function is(e){switch(e.type){case "run":return se(e);case "hyperlink":return rt(e);case "bookmarkStart":return Un(e);case "bookmarkEnd":return Gn(e);case "simpleField":return ns(e);case "complexField":return rs(e);case "inlineSdt":return os(e);case "commentRangeStart":return `<w:commentRangeStart w:id="${e.id}"/>`;case "commentRangeEnd":return `<w:commentRangeEnd w:id="${e.id}"/>`;case "insertion":return _n("ins",e);case "deletion":return _n("del",e);case "mathEquation":return e.ommlXml||"";default:return ""}}function ae(e){let t=[],n=[];e.paraId&&n.push(`w14:paraId="${e.paraId}"`),e.textId&&n.push(`w14:textId="${e.textId}"`);let r=n.length>0?" "+n.join(" "):"",o=ts(e.formatting);o&&t.push(o);for(let i of e.content){let s=is(i);s&&t.push(s);}return `<w:p${r}>${t.join("")}</w:p>`}function ss(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function le(e,t){if(!e)return "";let n=[`w:w="${e.value}"`,`w:type="${e.type}"`];return `<w:${t} ${n.join(" ")}/>`}function de(e,t){if(!e||e.style==="none"||e.style==="nil")return "";let n=[`w:val="${e.style}"`];return e.size!==void 0&&n.push(`w:sz="${e.size}"`),e.space!==void 0&&n.push(`w:space="${e.space}"`),e.color&&(e.color.auto?n.push('w:color="auto"'):e.color.rgb&&n.push(`w:color="${e.color.rgb}"`),e.color.themeColor&&n.push(`w:themeColor="${e.color.themeColor}"`),e.color.themeTint&&n.push(`w:themeTint="${e.color.themeTint}"`),e.color.themeShade&&n.push(`w:themeShade="${e.color.themeShade}"`)),e.shadow&&n.push('w:shadow="true"'),e.frame&&n.push('w:frame="true"'),`<w:${t} ${n.join(" ")}/>`}function qn(e,t){if(!e)return "";let n=[];if(e.top){let r=de(e.top,"top");r&&n.push(r);}if(e.left){let r=de(e.left,"left");r&&n.push(r);}if(e.bottom){let r=de(e.bottom,"bottom");r&&n.push(r);}if(e.right){let r=de(e.right,"right");r&&n.push(r);}if(e.insideH){let r=de(e.insideH,"insideH");r&&n.push(r);}if(e.insideV){let r=de(e.insideV,"insideV");r&&n.push(r);}return n.length===0?"":`<w:${t}>${n.join("")}</w:${t}>`}function Jn(e,t){if(!e)return "";let n=[];return e.top&&n.push(le(e.top,"top")),e.left&&n.push(le(e.left,"left")),e.bottom&&n.push(le(e.bottom,"bottom")),e.right&&n.push(le(e.right,"right")),n.length===0?"":`<w:${t}>${n.join("")}</w:${t}>`}function Zn(e){if(!e)return "";let t=[];return e.pattern?t.push(`w:val="${e.pattern}"`):t.push('w:val="clear"'),e.color?.rgb?t.push(`w:color="${e.color.rgb}"`):e.color?.auto&&t.push('w:color="auto"'),e.fill?.rgb?t.push(`w:fill="${e.fill.rgb}"`):e.fill?.auto&&t.push('w:fill="auto"'),e.fill?.themeColor&&t.push(`w:themeFill="${e.fill.themeColor}"`),e.fill?.themeTint&&t.push(`w:themeFillTint="${e.fill.themeTint}"`),e.fill?.themeShade&&t.push(`w:themeFillShade="${e.fill.themeShade}"`),t.length===0?"":`<w:shd ${t.join(" ")}/>`}function as(e){if(!e)return "";let t=[];return e.firstRow&&t.push('w:firstRow="1"'),e.lastRow&&t.push('w:lastRow="1"'),e.firstColumn&&t.push('w:firstColumn="1"'),e.lastColumn&&t.push('w:lastColumn="1"'),e.noHBand&&t.push('w:noHBand="1"'),e.noVBand&&t.push('w:noVBand="1"'),t.length===0?"":`<w:tblLook ${t.join(" ")}/>`}function ls(e){if(!e)return "";let t=[];return e.horzAnchor&&t.push(`w:horzAnchor="${e.horzAnchor}"`),e.vertAnchor&&t.push(`w:vertAnchor="${e.vertAnchor}"`),e.tblpX!==void 0&&t.push(`w:tblpX="${e.tblpX}"`),e.tblpXSpec&&t.push(`w:tblpXSpec="${e.tblpXSpec}"`),e.tblpY!==void 0&&t.push(`w:tblpY="${e.tblpY}"`),e.tblpYSpec&&t.push(`w:tblpYSpec="${e.tblpYSpec}"`),e.topFromText!==void 0&&t.push(`w:topFromText="${e.topFromText}"`),e.bottomFromText!==void 0&&t.push(`w:bottomFromText="${e.bottomFromText}"`),e.leftFromText!==void 0&&t.push(`w:leftFromText="${e.leftFromText}"`),e.rightFromText!==void 0&&t.push(`w:rightFromText="${e.rightFromText}"`),t.length===0?"":`<w:tblpPr ${t.join(" ")}/>`}function cs(e){if(!e)return "";let t=[];e.styleId&&t.push(`<w:tblStyle w:val="${ss(e.styleId)}"/>`);let n=ls(e.floating);n&&t.push(n),e.bidi&&t.push("<w:bidiVisual/>");let r=le(e.width,"tblW");r&&t.push(r),e.justification&&t.push(`<w:jc w:val="${e.justification}"/>`);let o=le(e.cellSpacing,"tblCellSpacing");o&&t.push(o);let i=le(e.indent,"tblInd");i&&t.push(i);let s=qn(e.borders,"tblBorders");s&&t.push(s);let a=Jn(e.cellMargins,"tblCellMar");a&&t.push(a),e.layout&&t.push(`<w:tblLayout w:type="${e.layout}"/>`);let c=Zn(e.shading);c&&t.push(c);let f=as(e.look);return f&&t.push(f),e.overlap&&t.push(`<w:tblOverlap w:val="${e.overlap}"/>`),t.length===0?"":`<w:tblPr>${t.join("")}</w:tblPr>`}function us(e){if(!e)return "";let t=[];if(e.cantSplit&&t.push("<w:cantSplit/>"),e.header&&t.push("<w:tblHeader/>"),e.height){let n=[`w:val="${e.height.value}"`];e.heightRule&&n.push(`w:hRule="${e.heightRule}"`),t.push(`<w:trHeight ${n.join(" ")}/>`);}return e.justification&&t.push(`<w:jc w:val="${e.justification}"/>`),e.hidden&&t.push("<w:hidden/>"),t.length===0?"":`<w:trPr>${t.join("")}</w:trPr>`}function fs(e){if(!e)return "";let n=[e.firstRow?"1":"0",e.lastRow?"1":"0",e.firstColumn?"1":"0",e.lastColumn?"1":"0",e.oddVBand?"1":"0",e.evenVBand?"1":"0",e.oddHBand?"1":"0",e.evenHBand?"1":"0",e.nwCell?"1":"0",e.neCell?"1":"0",e.swCell?"1":"0",e.seCell?"1":"0"].join("");return n==="000000000000"?"":`<w:cnfStyle w:val="${n}"/>`}function ps(e){if(!e)return "";let t=[],n=fs(e.conditionalFormat);n&&t.push(n);let r=le(e.width,"tcW");r&&t.push(r),e.gridSpan&&e.gridSpan>1&&t.push(`<w:gridSpan w:val="${e.gridSpan}"/>`),e.vMerge&&(e.vMerge==="restart"?t.push('<w:vMerge w:val="restart"/>'):t.push("<w:vMerge/>"));let o=qn(e.borders,"tcBorders");o&&t.push(o);let i=Zn(e.shading);i&&t.push(i),e.noWrap&&t.push("<w:noWrap/>");let s=Jn(e.margins,"tcMar");return s&&t.push(s),e.textDirection&&t.push(`<w:textDirection w:val="${e.textDirection}"/>`),e.fitText&&t.push("<w:tcFitText/>"),e.verticalAlign&&t.push(`<w:vAlign w:val="${e.verticalAlign}"/>`),e.hideMark&&t.push("<w:hideMark/>"),t.length===0?"":`<w:tcPr>${t.join("")}</w:tcPr>`}function ds(e){return !e||e.length===0?"":`<w:tblGrid>${e.map(n=>`<w:gridCol w:w="${n}"/>`).join("")}</w:tblGrid>`}function ms(e){let t=[];for(let n of e)n.type==="paragraph"?t.push(ae(n)):n.type==="table"&&t.push(be(n));return t.length===0&&t.push("<w:p/>"),t.join("")}function gs(e){let t=[],n=ps(e.formatting);return n&&t.push(n),t.push(ms(e.content)),`<w:tc>${t.join("")}</w:tc>`}function hs(e){let t=[],n=us(e.formatting);n&&t.push(n);for(let r of e.cells)t.push(gs(r));return `<w:tr>${t.join("")}</w:tr>`}function be(e){let t=[],n=cs(e.formatting);n&&t.push(n);let r=ds(e.columnWidths);r&&t.push(r);for(let o of e.rows)t.push(hs(o));return `<w:tbl>${t.join("")}</w:tbl>`}var _={wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape"};function ws(){let e={wpc:_.wpc,mc:_.mc,o:_.o,r:_.r,m:_.m,v:_.v,wp14:_.wp14,wp:_.wp,w10:_.w10,w:_.w,w14:_.w14,w15:_.w15,wpg:_.wpg,wps:_.wps};return Object.entries(e).map(([t,n])=>`xmlns:${t}="${n}"`).join(" ")}function je(e,t){if(!e||e.style==="none"||e.style==="nil")return "";let n=[`w:val="${e.style}"`];return e.size!==void 0&&n.push(`w:sz="${e.size}"`),e.space!==void 0&&n.push(`w:space="${e.space}"`),e.color&&(e.color.auto?n.push('w:color="auto"'):e.color.rgb&&n.push(`w:color="${e.color.rgb}"`),e.color.themeColor&&n.push(`w:themeColor="${e.color.themeColor}"`),e.color.themeTint&&n.push(`w:themeTint="${e.color.themeTint}"`),e.color.themeShade&&n.push(`w:themeShade="${e.color.themeShade}"`)),e.shadow&&n.push('w:shadow="true"'),e.frame&&n.push('w:frame="true"'),`<w:${t} ${n.join(" ")}/>`}function ys(e){return `<w:headerReference ${[`w:type="${e.type}"`,`r:id="${e.rId}"`].join(" ")}/>`}function xs(e){return `<w:footerReference ${[`w:type="${e.type}"`,`r:id="${e.rId}"`].join(" ")}/>`}function bs(e){if(!e)return "";let t=[];return e.position&&t.push(`<w:pos w:val="${e.position}"/>`),e.numFmt&&t.push(`<w:numFmt w:val="${e.numFmt}"/>`),e.numStart!==void 0&&t.push(`<w:numStart w:val="${e.numStart}"/>`),e.numRestart&&t.push(`<w:numRestart w:val="${e.numRestart}"/>`),t.length===0?"":`<w:footnotePr>${t.join("")}</w:footnotePr>`}function Ts(e){if(!e)return "";let t=[];return e.position&&t.push(`<w:pos w:val="${e.position}"/>`),e.numFmt&&t.push(`<w:numFmt w:val="${e.numFmt}"/>`),e.numStart!==void 0&&t.push(`<w:numStart w:val="${e.numStart}"/>`),e.numRestart&&t.push(`<w:numRestart w:val="${e.numRestart}"/>`),t.length===0?"":`<w:endnotePr>${t.join("")}</w:endnotePr>`}function Cs(e){let t=[];return e.pageWidth!==void 0&&t.push(`w:w="${e.pageWidth}"`),e.pageHeight!==void 0&&t.push(`w:h="${e.pageHeight}"`),e.orientation==="landscape"&&t.push('w:orient="landscape"'),t.length===0?"":`<w:pgSz ${t.join(" ")}/>`}function Fs(e){let t=[];return e.marginTop!==void 0&&t.push(`w:top="${e.marginTop}"`),e.marginRight!==void 0&&t.push(`w:right="${e.marginRight}"`),e.marginBottom!==void 0&&t.push(`w:bottom="${e.marginBottom}"`),e.marginLeft!==void 0&&t.push(`w:left="${e.marginLeft}"`),e.headerDistance!==void 0&&t.push(`w:header="${e.headerDistance}"`),e.footerDistance!==void 0&&t.push(`w:footer="${e.footerDistance}"`),e.gutter!==void 0&&t.push(`w:gutter="${e.gutter}"`),t.length===0?"":`<w:pgMar ${t.join(" ")}/>`}function Ss(e){if(!e.columnCount&&!e.columns?.length)return "";let t=[];e.columnCount!==void 0&&e.columnCount>1&&t.push(`w:num="${e.columnCount}"`),e.columnSpace!==void 0&&t.push(`w:space="${e.columnSpace}"`),e.equalWidth!==void 0&&t.push(`w:equalWidth="${e.equalWidth?"1":"0"}"`),e.separator&&t.push('w:sep="1"');let n="";return e.columns&&e.columns.length>0&&(n=e.columns.map(o=>{let i=[];return o.width!==void 0&&i.push(`w:w="${o.width}"`),o.space!==void 0&&i.push(`w:space="${o.space}"`),`<w:col ${i.join(" ")}/>`}).join("")),t.length===0&&!n?"":`<w:cols${t.length>0?" "+t.join(" "):""}>${n}</w:cols>`}function vs(e){if(!e.lineNumbers)return "";let t=e.lineNumbers,n=[];return t.countBy!==void 0&&n.push(`w:countBy="${t.countBy}"`),t.start!==void 0&&n.push(`w:start="${t.start}"`),t.distance!==void 0&&n.push(`w:distance="${t.distance}"`),t.restart&&n.push(`w:restart="${t.restart}"`),n.length===0?"":`<w:lnNumType ${n.join(" ")}/>`}function ks(e){if(!e.pageBorders)return "";let t=e.pageBorders,n=[],r=[];if(t.display&&n.push(`w:display="${t.display}"`),t.offsetFrom&&n.push(`w:offsetFrom="${t.offsetFrom}"`),t.zOrder&&n.push(`w:zOrder="${t.zOrder}"`),t.top){let i=je(t.top,"top");i&&r.push(i);}if(t.left){let i=je(t.left,"left");i&&r.push(i);}if(t.bottom){let i=je(t.bottom,"bottom");i&&r.push(i);}if(t.right){let i=je(t.right,"right");i&&r.push(i);}return r.length===0?"":`<w:pgBorders${n.length>0?" "+n.join(" "):""}>${r.join("")}</w:pgBorders>`}function Ps(e){if(!e.docGrid)return "";let t=e.docGrid,n=[];return t.type&&n.push(`w:type="${t.type}"`),t.linePitch!==void 0&&n.push(`w:linePitch="${t.linePitch}"`),t.charSpace!==void 0&&n.push(`w:charSpace="${t.charSpace}"`),n.length===0?"":`<w:docGrid ${n.join(" ")}/>`}function Rs(e){if(!e)return "";let t=[];if(e.headerReferences)for(let p of e.headerReferences)t.push(ys(p));if(e.footerReferences)for(let p of e.footerReferences)t.push(xs(p));let n=bs(e.footnotePr);n&&t.push(n);let r=Ts(e.endnotePr);r&&t.push(r),e.sectionStart&&t.push(`<w:type w:val="${e.sectionStart}"/>`);let o=Cs(e);o&&t.push(o);let i=Fs(e);if(i&&t.push(i),e.paperSrcFirst!==void 0||e.paperSrcOther!==void 0){let p=[];e.paperSrcFirst!==void 0&&p.push(`w:first="${e.paperSrcFirst}"`),e.paperSrcOther!==void 0&&p.push(`w:other="${e.paperSrcOther}"`),t.push(`<w:paperSrc ${p.join(" ")}/>`);}let s=ks(e);s&&t.push(s);let a=vs(e);a&&t.push(a);let c=Ss(e);c&&t.push(c);let f=Ps(e);return f&&t.push(f),e.verticalAlign&&t.push(`<w:vAlign w:val="${e.verticalAlign}"/>`),e.bidi&&t.push("<w:bidi/>"),e.titlePg&&t.push("<w:titlePg/>"),e.evenAndOddHeaders&&t.push("<w:evenAndOddHeaders/>"),t.length===0?"":`<w:sectPr>${t.join("")}</w:sectPr>`}function Yn(e){if(e.type==="paragraph")return ae(e);if(e.type==="table")return be(e);if(e.type==="blockSdt"){let t=e.content.map(o=>Yn(o)).join(""),n=e.properties,r=[];return n.alias&&r.push(`<w:alias w:val="${n.alias}"/>`),n.tag&&r.push(`<w:tag w:val="${n.tag}"/>`),`<w:sdt><w:sdtPr>${r.join("")}</w:sdtPr><w:sdtContent>${t}</w:sdtContent></w:sdt>`}return ""}function Es(e){return e.map(t=>Yn(t)).join("")}function Is(e){let t=[];return t.push(Es(e.content)),e.finalSectionProperties&&t.push(Rs(e.finalSectionProperties)),t.join("")}function Kn(e){let t=[];t.push('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>');let n=ws();return t.push(`<w:document ${n} mc:Ignorable="w14 w15 wp14">`),t.push("<w:body>"),t.push(Is(e.package.document)),t.push("</w:body>"),t.push("</w:document>"),t.join("")}var Ms={wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape"};function $s(){return Object.entries(Ms).map(([e,t])=>`xmlns:${e}="${t}"`).join(" ")}function Ds(e){return e.type==="paragraph"?ae(e):e.type==="table"?be(e):""}function ot(e){let t=e.type==="header"?"w:hdr":"w:ftr",n=$s(),r=e.content.map(o=>Ds(o)).join("");return r||(r="<w:p><w:pPr/></w:p>"),`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
13
|
+
<${t} ${n}>${r}</${t}>`}function er(e){let t=[];for(let n of e)if(n.type==="paragraph"){for(let r of n.content)if(r.type==="run")for(let o of r.content)o.type==="drawing"&&o.image.src?.startsWith("data:")&&t.push(o.image);}else if(n.type==="table")for(let r of n.rows)for(let o of r.cells)t.push(...er(o.content));return t}var As={"image/png":"png","image/jpeg":"jpeg","image/gif":"gif","image/bmp":"bmp","image/tiff":"tiff","image/webp":"webp","image/svg+xml":"svg"};function Bs(e){let t=e.match(/^data:([^;]+);base64,(.+)$/);if(!t)throw new Error("Invalid data URL");let n=atob(t[2]),r=new Uint8Array(n.length);for(let o=0;o<n.length;o++)r[o]=n.charCodeAt(o);return {data:r.buffer,extension:As[t[1]]||"png"}}async function Ls(e,t,n){if(e.length===0)return;let r="word/_rels/document.xml.rels",o=t.file(r);if(!o)return;let i=await o.async("text"),s=0;for(let p of i.matchAll(/Id="rId(\d+)"/g)){let d=parseInt(p[1],10);d>s&&(s=d);}let a=0;t.forEach(p=>{let d=p.match(/^word\/media\/image(\d+)\./);if(d){let g=parseInt(d[1],10);g>a&&(a=g);}});let c=[],f=new Set;for(let p of e){let{data:d,extension:g}=Bs(p.src);a++,s++;let h=`image${a}.${g}`,m=`word/media/${h}`,y=`rId${s}`;t.file(m,d,{compression:"DEFLATE",compressionOptions:{level:n}}),c.push(`<Relationship Id="${y}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/${h}"/>`),f.add(g),p.rId=y;}if(c.length>0&&(i=i.replace("</Relationships>",c.join("")+"</Relationships>"),t.file(r,i,{compression:"DEFLATE",compressionOptions:{level:n}})),f.size>0){let p=t.file("[Content_Types].xml");if(p){let d=await p.async("text");for(let g of f)if(!d.includes(`Extension="${g}"`)){let h=Hs(g);d=d.replace("</Types>",`<Default Extension="${g}" ContentType="${h}"/></Types>`);}t.file("[Content_Types].xml",d,{compression:"DEFLATE",compressionOptions:{level:n}});}}}async function st(e,t={}){if(!e.originalBuffer)throw new Error("Cannot repack document: no original buffer for round-trip. Use createDocx() for new documents.");let{compressionLevel:n=6,updateModifiedDate:r=true,modifiedBy:o}=t,i=await it.loadAsync(e.originalBuffer),s=new it;for(let[p,d]of Object.entries(i.files)){if(d.dir){s.folder(p.replace(/\/$/,""));continue}let g=await d.async("arraybuffer");s.file(p,g,{compression:"DEFLATE",compressionOptions:{level:n}});}let a=er(e.package.document.content);await Ls(a,s,n);let c=Kn(e);if(s.file("word/document.xml",c,{compression:"DEFLATE",compressionOptions:{level:n}}),Ns(e,s,n),r){let p="docProps/core.xml",d=i.file(p);if(d){let g=await d.async("text"),h=Xs(g,{updateModifiedDate:r,modifiedBy:o});s.file(p,h,{compression:"DEFLATE",compressionOptions:{level:n}});}}return await s.generateAsync({type:"arraybuffer",compression:"DEFLATE",compressionOptions:{level:n}})}function Ns(e,t,n){let r=e.package.relationships;if(!r)return;let o={level:n};if(e.package.headers)for(let[i,s]of e.package.headers.entries()){let a=r.get(i);if(a&&a.type===ce.header&&a.target){let c=a.target.startsWith("/")?a.target.slice(1):`word/${a.target}`,f=ot(s);t.file(c,f,{compression:"DEFLATE",compressionOptions:o});}}if(e.package.footers)for(let[i,s]of e.package.footers.entries()){let a=r.get(i);if(a&&a.type===ce.footer&&a.target){let c=a.target.startsWith("/")?a.target.slice(1):`word/${a.target}`,f=ot(s);t.file(c,f,{compression:"DEFLATE",compressionOptions:o});}}}function Xs(e,t){let n=e;if(t.updateModifiedDate){let r=new Date().toISOString();n.includes("<dcterms:modified")?n=n.replace(/<dcterms:modified[^>]*>[^<]*<\/dcterms:modified>/,`<dcterms:modified xsi:type="dcterms:W3CDTF">${r}</dcterms:modified>`):n=n.replace("</cp:coreProperties>",`<dcterms:modified xsi:type="dcterms:W3CDTF">${r}</dcterms:modified></cp:coreProperties>`);}return t.modifiedBy&&(n.includes("<cp:lastModifiedBy")?n=n.replace(/<cp:lastModifiedBy>[^<]*<\/cp:lastModifiedBy>/,`<cp:lastModifiedBy>${Qn(t.modifiedBy)}</cp:lastModifiedBy>`):n=n.replace("</cp:coreProperties>",`<cp:lastModifiedBy>${Qn(t.modifiedBy)}</cp:lastModifiedBy></cp:coreProperties>`)),n}function Qn(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function Hs(e,t){return {png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",bmp:"image/bmp",tif:"image/tiff",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp",wmf:"image/x-wmf",emf:"image/x-emf"}[e]||"application/octet-stream"}async function Os(){let e=new it;e.file("[Content_Types].xml",`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
14
14
|
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
|
|
15
15
|
<Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/>
|
|
16
16
|
<Default Extension="xml" ContentType="application/xml"/>
|
|
@@ -66,22 +66,22 @@ Returns validation result with any errors found and list of valid tags.`,inputSc
|
|
|
66
66
|
<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties">
|
|
67
67
|
<Application>EigenPal DOCX Editor</Application>
|
|
68
68
|
<AppVersion>1.0.0</AppVersion>
|
|
69
|
-
</Properties>`),e.generateAsync({type:"arraybuffer",compression:"DEFLATE",compressionOptions:{level:6}})}async function
|
|
69
|
+
</Properties>`),e.generateAsync({type:"arraybuffer",compression:"DEFLATE",compressionOptions:{level:6}})}async function tr(e){let t=await Os(),n={...e,originalBuffer:t};return st(n)}tt();var te={type:"string",description:"Document ID returned from docx_load"},at={type:"object",properties:{paragraphIndex:{type:"number",description:"Index of the paragraph (0-indexed)",minimum:0},offset:{type:"number",description:"Character offset within the paragraph",minimum:0}},required:["paragraphIndex","offset"]},lt={type:"object",properties:{start:at,end:at},required:["start","end"]},js={name:"docx_load",description:`Load a DOCX document from base64-encoded content.
|
|
70
70
|
Returns a document ID that can be used with other tools.
|
|
71
|
-
The document remains in session memory until closed.`,inputSchema:{type:"object",properties:{content:{type:"string",description:"Base64-encoded DOCX file content"},source:{type:"string",description:"Optional source filename or identifier for reference"}},required:["content"]},handler:async(e,t)=>{let{content:n,source:r}=e;try{let o=atob(n),i=new Uint8Array(o.length);for(let
|
|
72
|
-
Returns the document as a base64 string that can be saved to a file.`,inputSchema:{type:"object",properties:{documentId:te},required:["documentId"]},handler:async(e,t)=>{let{documentId:n}=e,r=t.session.documents.get(n);if(!r)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};try{let o;r.buffer?o=await
|
|
73
|
-
Use this when done working with a document.`,inputSchema:{type:"object",properties:{documentId:te},required:["documentId"]},handler:async(e,t)=>{let{documentId:n}=e;return t.session.documents.has(n)?(t.session.documents.delete(n),{content:[{type:"text",text:JSON.stringify({documentId:n,message:"Document closed"})}]}):{isError:true,content:[{type:"text",text:`Document not found: ${n}`}]}},annotations:{category:"core",readOnly:false,complexity:"low"}},
|
|
74
|
-
Returns paragraph count, word count, table count, and other useful info.`,inputSchema:{type:"object",properties:{documentId:te},required:["documentId"]},handler:async(e,t)=>{let{documentId:n}=e,r=t.session.documents.get(n);if(!r)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};let o=r.document,i=o.package.document,s=i.content.filter(
|
|
71
|
+
The document remains in session memory until closed.`,inputSchema:{type:"object",properties:{content:{type:"string",description:"Base64-encoded DOCX file content"},source:{type:"string",description:"Optional source filename or identifier for reference"}},required:["content"]},handler:async(e,t)=>{let{content:n,source:r}=e;try{let o=atob(n),i=new Uint8Array(o.length);for(let p=0;p<o.length;p++)i[p]=o.charCodeAt(p);let s=i.buffer,a=await Ne(s),c=`doc_${Date.now()}_${Math.random().toString(36).substr(2,9)}`;t.session.documents.set(c,{id:c,document:a,buffer:s,source:r,lastModified:Date.now()});let f=a.package.document.content.filter(p=>p.type==="paragraph").length;return {content:[{type:"text",text:JSON.stringify({documentId:c,source:r,paragraphCount:f,message:"Document loaded successfully"})}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to load document: ${o.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}},zs={name:"docx_save",description:`Export the document to base64-encoded DOCX format.
|
|
72
|
+
Returns the document as a base64 string that can be saved to a file.`,inputSchema:{type:"object",properties:{documentId:te},required:["documentId"]},handler:async(e,t)=>{let{documentId:n}=e,r=t.session.documents.get(n);if(!r)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};try{let o;r.buffer?o=await st(r.document):o=await tr(r.document);let i=new Uint8Array(o),s="";for(let c=0;c<i.length;c++)s+=String.fromCharCode(i[c]);let a=btoa(s);return {content:[{type:"text",text:JSON.stringify({documentId:n,base64:a,size:o.byteLength,message:"Document exported successfully"})}]}}catch(o){return {isError:true,content:[{type:"text",text:`Failed to save document: ${o.message}`}]}}},annotations:{category:"core",readOnly:true,complexity:"low"}},Vs={name:"docx_close",description:`Close a document and free its memory.
|
|
73
|
+
Use this when done working with a document.`,inputSchema:{type:"object",properties:{documentId:te},required:["documentId"]},handler:async(e,t)=>{let{documentId:n}=e;return t.session.documents.has(n)?(t.session.documents.delete(n),{content:[{type:"text",text:JSON.stringify({documentId:n,message:"Document closed"})}]}):{isError:true,content:[{type:"text",text:`Document not found: ${n}`}]}},annotations:{category:"core",readOnly:false,complexity:"low"}},Ws={name:"docx_get_info",description:`Get metadata and statistics about a document.
|
|
74
|
+
Returns paragraph count, word count, table count, and other useful info.`,inputSchema:{type:"object",properties:{documentId:te},required:["documentId"]},handler:async(e,t)=>{let{documentId:n}=e,r=t.session.documents.get(n);if(!r)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};let o=r.document,i=o.package.document,s=i.content.filter(f=>f.type==="paragraph"),a=i.content.filter(f=>f.type==="table"),c=0;for(let f of s)if(f.type==="paragraph"){let p=nr(f);c+=p.split(/\s+/).filter(d=>d.length>0).length;}return {content:[{type:"text",text:JSON.stringify({documentId:n,paragraphCount:s.length,tableCount:a.length,wordCount:c,hasStyles:!!o.package.styles,hasTheme:!!o.package.theme,source:r.source,lastModified:r.lastModified})}]}},annotations:{category:"core",readOnly:true,complexity:"low"}},_s={name:"docx_get_text",description:`Get the plain text content of the document.
|
|
75
75
|
Returns all text concatenated with paragraph breaks.
|
|
76
|
-
Useful for understanding document content before making edits.`,inputSchema:{type:"object",properties:{documentId:te,maxLength:{type:"number",description:"Maximum characters to return (default: 10000)",default:1e4}},required:["documentId"]},handler:async(e,t)=>{let{documentId:n,maxLength:r=1e4}=e,o=t.session.documents.get(n);if(!o)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};let i=o.document.package.document,s=[];for(let
|
|
76
|
+
Useful for understanding document content before making edits.`,inputSchema:{type:"object",properties:{documentId:te,maxLength:{type:"number",description:"Maximum characters to return (default: 10000)",default:1e4}},required:["documentId"]},handler:async(e,t)=>{let{documentId:n,maxLength:r=1e4}=e,o=t.session.documents.get(n);if(!o)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};let i=o.document.package.document,s=[];for(let f of i.content)f.type==="paragraph"?s.push(nr(f)):f.type==="table"&&s.push("[TABLE]");let a=s.join(`
|
|
77
77
|
`),c=a.length>r;return c&&(a=a.slice(0,r)+"..."),{content:[{type:"text",text:JSON.stringify({documentId:n,text:a,truncated:c,totalLength:c?s.join(`
|
|
78
|
-
`).length:a.length})}]}},annotations:{category:"core",readOnly:true,complexity:"low"}},
|
|
79
|
-
Position is specified by paragraph index (0-indexed) and character offset.`,inputSchema:{type:"object",properties:{documentId:te,position:
|
|
80
|
-
Specify start and end positions to define the range to replace.`,inputSchema:{type:"object",properties:{documentId:te,range:
|
|
81
|
-
Specify start and end positions to define the range to delete.`,inputSchema:{type:"object",properties:{documentId:te,range:
|
|
82
|
-
Supports bold, italic, underline, font size, font family, color, and highlight.`,inputSchema:{type:"object",properties:{documentId:te,range:
|
|
83
|
-
Use document styles like "Heading1", "Heading2", "Normal", etc.`,inputSchema:{type:"object",properties:{documentId:te,paragraphIndex:{type:"number",description:"Index of the paragraph (0-indexed)",minimum:0},styleId:{type:"string",description:'Style ID (e.g., "Heading1", "Normal")'}},required:["documentId","paragraphIndex","styleId"]},handler:async(e,t)=>{let{documentId:n,paragraphIndex:r,styleId:o}=e,i=t.session.documents.get(n);if(!i)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};try{let s=ie(i.document,{type:"applyStyle",paragraphIndex:r,styleId:o});return i.document=s,i.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,paragraphIndex:r,styleId:o})}]}}catch(s){return {isError:true,content:[{type:"text",text:`Failed to apply style: ${s.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}};function
|
|
84
|
-
`);}catch{}}),r.on("close",()=>{e.debug&&console.error("[MCP] Server closed"),process.exit(0);});}function
|
|
78
|
+
`).length:a.length})}]}},annotations:{category:"core",readOnly:true,complexity:"low"}},Us={name:"docx_insert_text",description:`Insert text at a specific position in the document.
|
|
79
|
+
Position is specified by paragraph index (0-indexed) and character offset.`,inputSchema:{type:"object",properties:{documentId:te,position:at,text:{type:"string",description:"Text to insert"}},required:["documentId","position","text"]},handler:async(e,t)=>{let{documentId:n,position:r,text:o}=e,i=t.session.documents.get(n);if(!i)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};try{let s=ie(i.document,{type:"insertText",position:r,text:o});return i.document=s,i.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,insertedLength:o.length,position:r})}]}}catch(s){return {isError:true,content:[{type:"text",text:`Failed to insert text: ${s.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}},Gs={name:"docx_replace_text",description:`Replace text in a range with new text.
|
|
80
|
+
Specify start and end positions to define the range to replace.`,inputSchema:{type:"object",properties:{documentId:te,range:lt,text:{type:"string",description:"Replacement text"}},required:["documentId","range","text"]},handler:async(e,t)=>{let{documentId:n,range:r,text:o}=e,i=t.session.documents.get(n);if(!i)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};try{let s=ie(i.document,{type:"replaceText",range:r,text:o});return i.document=s,i.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,replacedRange:r,newTextLength:o.length})}]}}catch(s){return {isError:true,content:[{type:"text",text:`Failed to replace text: ${s.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}},qs={name:"docx_delete_text",description:`Delete text in a range.
|
|
81
|
+
Specify start and end positions to define the range to delete.`,inputSchema:{type:"object",properties:{documentId:te,range:lt},required:["documentId","range"]},handler:async(e,t)=>{let{documentId:n,range:r}=e,o=t.session.documents.get(n);if(!o)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};try{let i=ie(o.document,{type:"deleteText",range:r});return o.document=i,o.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,deletedRange:r})}]}}catch(i){return {isError:true,content:[{type:"text",text:`Failed to delete text: ${i.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}},Js={name:"docx_format_text",description:`Apply formatting to text in a range.
|
|
82
|
+
Supports bold, italic, underline, font size, font family, color, and highlight.`,inputSchema:{type:"object",properties:{documentId:te,range:lt,formatting:{type:"object",description:"Formatting options to apply",properties:{bold:{type:"boolean"},italic:{type:"boolean"},underline:{type:"boolean"},strikethrough:{type:"boolean"},fontSize:{type:"number",description:"Font size in points"},fontFamily:{type:"string"},color:{type:"string",description:'Hex color (e.g., "#FF0000")'},highlight:{type:"string",description:"Highlight color name"}}}},required:["documentId","range","formatting"]},handler:async(e,t)=>{let{documentId:n,range:r,formatting:o}=e,i=t.session.documents.get(n);if(!i)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};try{let s=ie(i.document,{type:"formatText",range:r,formatting:o});return i.document=s,i.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,range:r,appliedFormatting:o})}]}}catch(s){return {isError:true,content:[{type:"text",text:`Failed to format text: ${s.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"medium"}},Zs={name:"docx_apply_style",description:`Apply a named style to a paragraph.
|
|
83
|
+
Use document styles like "Heading1", "Heading2", "Normal", etc.`,inputSchema:{type:"object",properties:{documentId:te,paragraphIndex:{type:"number",description:"Index of the paragraph (0-indexed)",minimum:0},styleId:{type:"string",description:'Style ID (e.g., "Heading1", "Normal")'}},required:["documentId","paragraphIndex","styleId"]},handler:async(e,t)=>{let{documentId:n,paragraphIndex:r,styleId:o}=e,i=t.session.documents.get(n);if(!i)return {isError:true,content:[{type:"text",text:`Document not found: ${n}`}]};try{let s=ie(i.document,{type:"applyStyle",paragraphIndex:r,styleId:o});return i.document=s,i.lastModified=Date.now(),{content:[{type:"text",text:JSON.stringify({success:!0,paragraphIndex:r,styleId:o})}]}}catch(s){return {isError:true,content:[{type:"text",text:`Failed to apply style: ${s.message}`}]}}},annotations:{category:"core",readOnly:false,complexity:"low"}};function nr(e){let t=[];for(let n of e.content)n.type==="run"?t.push(rr(n)):n.type==="hyperlink"&&t.push(Ys(n));return t.join("")}function rr(e){return e.content.filter(t=>t.type==="text").map(t=>t.text).join("")}function Ys(e){let t=[];for(let n of e.children)n.type==="run"&&t.push(rr(n));return t.join("")}var or=[js,zs,Vs,Ws,_s,Us,Gs,qs,Js,Zs];function Ks(e={}){let{name:t="docx-editor",version:n="0.1.0",includeCoreTools:r=true,debug:o=false,additionalTools:i=[]}=e,s=new Map,a={id:`session_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,documents:new Map,data:new Map};if(r)for(let h of or)s.set(h.name,h),o&&console.log(`[MCP] Registered core tool: ${h.name}`);let c=re.getMcpTools();for(let h of c)s.has(h.name)&&console.warn(`[MCP] Tool '${h.name}' from plugin overrides existing tool`),s.set(h.name,h),o&&console.log(`[MCP] Registered plugin tool: ${h.name}`);for(let h of i)s.set(h.name,h),o&&console.log(`[MCP] Registered additional tool: ${h.name}`);let f=o?(h,m)=>{console.log(`[MCP] ${h}`,m??"");}:()=>{};async function p(h,m){let y=s.get(h);if(!y)throw new Error(`Unknown tool: ${h}`);f(`Calling tool: ${h}`,m);let k={session:a,log:f};try{let S=await y.handler(m,k);return f(`Tool ${h} completed`,S),S}catch(S){throw f(`Tool ${h} failed`,S),S}}function d(){return Array.from(s.values()).map(h=>({name:h.name,description:h.description,inputSchema:ea(h.inputSchema),category:h.annotations?.category}))}function g(){return {name:t,version:n,toolCount:s.size}}return {tools:s,session:a,handleToolCall:p,listTools:d,getInfo:g}}async function Qs(e,t){let{id:n,method:r,params:o}=t;try{switch(r){case "initialize":return {jsonrpc:"2.0",id:n,result:{protocolVersion:"2024-11-05",capabilities:{tools:{}},serverInfo:e.getInfo()}};case "tools/list":{let i=e.listTools();return {jsonrpc:"2.0",id:n,result:{tools:i.map(s=>({name:s.name,description:s.description,inputSchema:s.inputSchema}))}}}case "tools/call":{let{name:i,arguments:s}=o,a=await e.handleToolCall(i,s);return {jsonrpc:"2.0",id:n,result:a}}default:return {jsonrpc:"2.0",id:n,error:{code:-32601,message:`Method not found: ${r}`}}}}catch(i){return {jsonrpc:"2.0",id:n,error:{code:-32e3,message:i.message}}}}async function ir(e={}){let t=Ks(e);e.debug&&(console.error(`[MCP] Server started: ${t.getInfo().name} v${t.getInfo().version}`),console.error(`[MCP] Tools registered: ${t.tools.size}`));let r=(await import('readline')).createInterface({input:process.stdin,output:process.stdout,terminal:false}),o="";r.on("line",async i=>{o+=i;try{let s=JSON.parse(o);o="";let a=await Qs(t,s);process.stdout.write(JSON.stringify(a)+`
|
|
84
|
+
`);}catch{}}),r.on("close",()=>{e.debug&&console.error("[MCP] Server closed"),process.exit(0);});}function ea(e){return typeof e=="object"&&e!==null&&("type"in e||"properties"in e)?e:{type:"object",properties:{}}}function ta(){let e=process.argv.slice(2);return {debug:e.includes("--debug")||e.includes("-d"),help:e.includes("--help")||e.includes("-h"),version:e.includes("--version")||e.includes("-v")}}var na=`
|
|
85
85
|
docx-editor-mcp - MCP server for DOCX document editing
|
|
86
86
|
|
|
87
87
|
USAGE:
|
|
@@ -133,4 +133,4 @@ EXAMPLES:
|
|
|
133
133
|
|
|
134
134
|
# Start server with debug logging
|
|
135
135
|
docx-editor-mcp --debug
|
|
136
|
-
`;async function
|
|
136
|
+
`;async function ra(){let{debug:e,help:t,version:n}=ta();t&&(console.log(na),process.exit(0)),n&&(console.log("0.1.0"),process.exit(0)),re.register(jn),e&&(console.error("[MCP CLI] Registered docxtemplater plugin"),console.error(`[MCP CLI] Total plugins: ${re.size}`),console.error(`[MCP CLI] Total MCP tools: ${re.getMcpTools().length}`)),await ir({name:"docx-editor",version:"0.1.0",debug:e});}ra().catch(e=>{console.error("[MCP CLI] Fatal error:",e),process.exit(1);});
|