@eigenpal/docx-js-editor 0.0.7 → 0.0.8
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/README.md +17 -1
- package/dist/{chunk-PYAIJMEG.cjs → chunk-7O7MPYI7.cjs} +2 -2
- package/dist/chunk-AZFSFU4G.js +58 -0
- package/dist/{chunk-VFBM3YKJ.js → chunk-B2GPMRIP.js} +2 -2
- package/dist/chunk-CEBRVCHO.js +11 -0
- package/dist/chunk-CWWSDDRF.cjs +11 -0
- package/dist/{chunk-ZRXLWSRP.cjs → chunk-EKU3VR4Y.cjs} +2 -2
- package/dist/{chunk-AEANV5BR.js → chunk-VMT4DN2Q.js} +1 -1
- package/dist/chunk-WWGV3HB2.cjs +58 -0
- package/dist/{colorResolver-Di-JRsr9.d.cts → colorResolver-CTmPdBGz.d.cts} +1 -1
- package/dist/{colorResolver-CQcFBxHC.d.ts → colorResolver-DGxlMbv2.d.ts} +1 -1
- package/dist/core-plugins.cjs +1 -1
- package/dist/core-plugins.d.cts +3 -3
- package/dist/core-plugins.d.ts +3 -3
- package/dist/core-plugins.js +1 -1
- package/dist/headless.cjs +2 -2
- package/dist/headless.d.cts +4 -4
- package/dist/headless.d.ts +4 -4
- package/dist/headless.js +1 -1
- package/dist/index.cjs +26 -27
- package/dist/index.css +1 -1
- package/dist/index.d.cts +64 -107
- package/dist/index.d.ts +64 -107
- package/dist/index.js +26 -27
- package/dist/mcp-cli.js +21 -20
- package/dist/mcp.cjs +3 -3
- package/dist/mcp.d.cts +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.js +2 -2
- package/dist/{registry-CrAzNdUO.d.cts → registry-C73dM_1E.d.cts} +1 -1
- package/dist/{registry-aux2uuQs.d.ts → registry-Djkwny4j.d.ts} +1 -1
- package/dist/styles.css +1 -1
- package/dist/{types-BnShY2aQ.d.ts → types-Do_Q8vaT.d.cts} +3 -1
- package/dist/{types-BnShY2aQ.d.cts → types-Do_Q8vaT.d.ts} +3 -1
- package/package.json +10 -5
- package/dist/chunk-2CFVFSUH.js +0 -57
- package/dist/chunk-CDSUWDYP.cjs +0 -11
- package/dist/chunk-TL3YTVN2.cjs +0 -57
- package/dist/chunk-ZZNWTYMW.js +0 -11
package/dist/mcp-cli.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import Tt from'pizzip';import Ct from'docxtemplater';import at from'jszip';import {xml2js,js2xml}from'xml-js';var ft=Object.defineProperty;var lr=(e,t,n)=>t in e?ft(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n;var dt=(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 mt=(e,t)=>()=>(e&&(t=e(e=0)),t);var cr=(e,t)=>{for(var n in t)ft(e,n,{get:t[n],enumerable:true});};var de=(e,t,n)=>lr(e,typeof t!="symbol"?t+"":t,n);var ze,re,ye=mt(()=>{ze=class{constructor(){de(this,"plugins",new Map);de(this,"commandHandlers",new Map);de(this,"eventListeners",new Set);de(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 ze;});var On={};cr(On,{default:()=>Pi,executeCommand:()=>ee,executeCommands:()=>fi});function ee(e,t){let n=re.getCommandHandler(t.type);if(n)return n(e,t);switch(t.type){case "insertText":return di(e,t);case "replaceText":return mi(e,t);case "deleteText":return hi(e,t);case "formatText":return gi(e,t);case "formatParagraph":return wi(e,t);case "applyStyle":return yi(e,t);case "insertTable":return xi(e,t);case "insertImage":return bi(e,t);case "insertHyperlink":return Ti(e,t);case "removeHyperlink":return Ci(e,t);case "insertParagraphBreak":return Hn(e,t);case "mergeParagraphs":return Fi(e,t);case "splitParagraph":return Si(e,t);case "setVariable":return vi(e,t);case "applyVariables":return ki(e,t);default:let r=t;throw new Error(`Unknown command type: ${r.type}`)}}function fi(e,t){return t.reduce((n,r)=>ee(n,r),e)}function V(e){return JSON.parse(JSON.stringify(e))}function H(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 we(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 Le(e,t){return {type:"run",formatting:t,content:[{type:"text",text:e}]}}function Ne(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(Le(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(Le(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 Xn(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 di(e,t){let n=V(e),r=n.package.document,o=H(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=Ne(i,t.position.offset,t.text,t.formatting),n}function mi(e,t){let n=V(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex===i.paragraphIndex){let s=H(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=Ne(a,o.offset,t.text,t.formatting);}else {let s=H(r,o.paragraphIndex),a=r.content[s],c=we(a);a.content=oe(a,o.offset,c.length),a.content=Ne(a,o.offset,t.text,t.formatting);let p=[];for(let f=o.paragraphIndex+1;f<=i.paragraphIndex;f++)p.push(H(r,f));for(let f=p.length-1;f>=0;f--)p[f]!==-1&&r.content.splice(p[f],1);}return n}function hi(e,t){let n=V(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex===i.paragraphIndex){let s=H(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=H(r,o.paragraphIndex),a=r.content[s],c=we(a);a.content=oe(a,o.offset,c.length);let p=H(r,i.paragraphIndex),f=r.content[p];f.content=oe(f,0,i.offset),a.content.push(...f.content);let d=[];for(let g=o.paragraphIndex+1;g<=i.paragraphIndex;g++)d.push(H(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=V(e),r=n.package.document,{start:o,end:i}=t.range;if(o.paragraphIndex===i.paragraphIndex){let s=H(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s];a.content=Xn(a,o.offset,i.offset,t.formatting);}else for(let s=o.paragraphIndex;s<=i.paragraphIndex;s++){let a=H(r,s);if(a===-1)continue;let c=r.content[a],p=we(c),f=0,d=p.length;s===o.paragraphIndex&&(f=o.offset),s===i.paragraphIndex&&(d=i.offset),c.content=Xn(c,f,d,t.formatting);}return n}function wi(e,t){let n=V(e),r=n.package.document,o=H(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(g=>g.abstractNumId===f.abstractNumId);if(d){let g=d.levels.find(h=>h.ilvl===a);g&&(p=g.lvlText||p);}}}i.listRendering={level:a,numId:s.numId,marker:p,isBullet:c};}else delete i.listRendering;}return n}function yi(e,t){let n=V(e),r=n.package.document,o=H(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 xi(e,t){let n=V(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?[Le(f)]:[]}]});}o.push({type:"tableRow",formatting:a===0&&t.hasHeader?{header:true}:void 0,cells:c});}let i={type:"table",rows:o},s=H(r,t.position.paragraphIndex);return s===-1?r.content.push(i):r.content.splice(s+1,0,i),n}function bi(e,t){let n=V(e),r=n.package.document,o=H(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=Ne(i,t.position.offset,"",void 0),p=false,f=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(f+=h.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 Ti(e,t){let n=V(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=H(r,o.paragraphIndex);if(s===-1)throw new Error(`Paragraph index ${o.paragraphIndex} not found`);let a=r.content[s],c=we(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:[Le(p)]},d=false,g=0,h=[];for(let m of a.content)if(m.type==="run"){let b=m.content.filter(F=>F.type==="text").map(F=>F.text).join(""),E=g+b.length;if(!d&&g<=o.offset&&o.offset<=E){let F=o.offset-g;F>0&&h.push({...m,content:[{type:"text",text:b.slice(0,F)}]}),h.push(f),F<b.length&&h.push({...m,content:[{type:"text",text:b.slice(F)}]}),d=true;}else h.push(m);g=E;}else h.push(m);return d||h.push(f),a.content=h,n}function Ci(e,t){let n=V(e),r=n.package.document,{start:o}=t.range,i=H(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 Hn(e,t){let n=V(e),r=n.package.document,o=H(r,t.position.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.position.paragraphIndex} not found`);let i=r.content[o],s=we(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 Fi(e,t){let n=V(e),r=n.package.document,o=H(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=H(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 Si(e,t){return Hn(e,{position:t.position})}function vi(e,t){let n=V(e);return n.templateVariables||(n.templateVariables=[]),n.templateVariables.includes(t.name)||n.templateVariables.push(t.name),n}function ki(e,t){let n=V(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 Pi,nt=mt(()=>{ye();Pi=ee;});ye();function We(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 ht(c,r.offset,p),i.templateVariables||(i.templateVariables=[]),i.templateVariables.includes(o)||i.templateVariables.push(o),i}function _e(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];ur(c,r.start.offset,r.end.offset);let p=`{{${o}}}`;return ht(c,r.start.offset,p),i.templateVariables||(i.templateVariables=[]),i.templateVariables.includes(o)||i.templateVariables.push(o),i}function ht(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=Ve(s),c=r,p=r+a.length;if(!o&&t>=c&&t<=p){let f=t-c,d=a.slice(0,f),g=a.slice(f),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=p;}else if(s.type==="hyperlink")for(let a of s.children)a.type==="run"&&(r+=Ve(a).length);}o||e.content.push({type:"run",content:[{type:"text",text:n}]});}function ur(e,t,n){let r=[],o=0;for(let i of e.content)if(i.type==="run"){let s=Ve(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 Ve(e){return e.content.filter(t=>t.type==="text").map(t=>t.text).join("")}function yt(e){let t=[],n={body:[],headers:[],footers:[],footnotes:[],endnotes:[],textBoxes:[]};if(e.package?.document){let o=pr(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=wt(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=wt(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 pr(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(...Ue(n)):n.type==="table"&&t.push(...xt(n));return t}function Ue(e){let t=[];if(!e.content)return t;for(let n of e.content)n.type==="run"?t.push(...me(n)):n.type==="hyperlink"?t.push(...fr(n)):n.type==="simpleField"?t.push(...dr(n)):n.type==="complexField"&&t.push(...mr(n));return t}function me(e){let t=[];if(!e.content)return t;for(let n of e.content)n.type==="text"&&n.text&&t.push(...bt(n.text));return t}function fr(e){let t=[];if(!e.children)return t;for(let n of e.children)n.type==="run"&&t.push(...me(n));return t}function dr(e){let t=[];if(e.instruction&&t.push(...bt(e.instruction)),e.content)for(let n of e.content)n.type==="run"&&t.push(...me(n));return t}function mr(e){let t=[];if(e.fieldCode)for(let n of e.fieldCode)n.type==="run"&&t.push(...me(n));if(e.fieldResult)for(let n of e.fieldResult)n.type==="run"&&t.push(...me(n));return t}function xt(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(...hr(r));return t}function hr(e){let t=[];if(!e.content)return t;for(let n of e.content)n.type==="paragraph"?t.push(...Ue(n)):n.type==="table"&&t.push(...xt(n));return t}function wt(e){let t=[];for(let n of e)if(n.content)for(let r of n.content)t.push(...Ue(r));return t}var gr=/\{([a-zA-Z_][a-zA-Z0-9_\-\.]*)\}/g;function bt(e){if(!e)return [];let t=[],n=new RegExp(gr),r;for(;(r=n.exec(e))!==null;)t.push(r[1]);return t}function Ft(e,t,n={}){let{nullGetter:r="keep",linebreaks:o=true,delimiters:i}=n,s=[],a=[],c=[];try{let p=new Tt(e),f=new Ct(p,{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);}),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 vt(p)}}function St(e){let t=[],n=[];try{let r=new Tt(e),i=new Ct(r,{paragraphLoop:!0,linebreaks:!0}).getFullText();n=wr(i);let s=yr(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(vt(r)),{valid:false,errors:t,tags:n}}}function wr(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 yr(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 xr(e){return "properties"in e&&typeof e.properties=="object"}function vt(e){if(e instanceof Error){if(xr(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 kt(e){let t=await at.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,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/_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 Pt(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 q(e){return xml2js(e,{compact:false,ignoreComment:true,ignoreInstruction:true,ignoreDoctype:true,alwaysArray:false,trim:false,captureSpacesBetweenElements:true,attributesKey:"attributes",textKey:"text"})}function Rt(e){return js2xml({elements:[e]},{compact:false,spaces:0})}function Y(e){try{let t=q(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 xe(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||xe(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||xe(i.name||"")===n)&&o.push(i);return o}function X(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 be(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+=be(n));return t}function y(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 Te={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 Ce(e){let t=new Map;if(!e||e.trim().length===0)return t;let n=Y(e);if(!n)return console.warn("Failed to parse relationships XML"),t;let r=X(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 Et(e){return e.type===Te.hyperlink&&e.targetMode==="External"}var $t={dk1:"000000",lt1:"FFFFFF",dk2:"44546A",lt2:"E7E6E6",accent1:"4472C4",accent2:"ED7D31",accent3:"A5A5A5",accent4:"FFC000",accent5:"5B9BD5",accent6:"70AD47",hlink:"0563C1",folHlink:"954F72"},Fe={majorFont:{latin:"Calibri Light",ea:"",cs:"",fonts:{}},minorFont:{latin:"Calibri",ea:"",cs:"",fonts:{}}},qe={name:"Office Theme",colorScheme:$t,fontScheme:Fe},Fr=["dk1","lt1","dk2","lt2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink"];function Sr(e){if(!e)return null;switch(xe(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 vr(e){let t={...$t};if(!e)return t;for(let n of Fr){let r=u(e,"a",n);if(r){let o=X(r);if(o.length>0){let i=Sr(o[0]);i&&(t[n]=i);}}}return t}function Mt(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 kr(e){let t={...Fe};if(!e)return t;let n=u(e,"a","majorFont");n&&(t.majorFont=Mt(n));let r=u(e,"a","minorFont");return r&&(t.minorFont=Mt(r)),t}function Dt(e){if(!e)return {...qe};try{let t=Y(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=vr(o),s=u(r,"a","fontScheme"),a=kr(s);return {name:n,colorScheme:i,fontScheme:a}}catch(t){return console.warn("Failed to parse theme:",t),{...qe}}}function Pr(e,t="latin"){if(!e?.fontScheme?.majorFont)return Fe.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 Fe.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 Z(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?Pr(e,o):r?It(e,o):It(e,"latin")}function Se(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 P=l(a,"w","val");if(P){n.underline={style:P};let v=l(a,"w","color"),L=l(a,"w","themeColor");(v||L)&&(n.underline.color=Ge(v,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 P=l(f,"w","val");(P==="superscript"||P==="subscript"||P==="baseline")&&(n.vertAlign=P);}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 b=u(e,"w","highlight");if(b){let P=l(b,"w","val");P&&(n.highlight=P);}let E=u(e,"w","shd");E&&(n.shading=ve(E));let F=u(e,"w","sz");if(F){let P=y(F,"w","val");P!==void 0&&(n.fontSize=P);}let M=u(e,"w","szCs");if(M){let P=y(M,"w","val");P!==void 0&&(n.fontSizeCs=P);}let S=u(e,"w","rFonts");if(S){n.fontFamily={ascii:l(S,"w","ascii")??void 0,hAnsi:l(S,"w","hAnsi")??void 0,eastAsia:l(S,"w","eastAsia")??void 0,cs:l(S,"w","cs")??void 0};let P=l(S,"w","asciiTheme");P&&(n.fontFamily.asciiTheme=P,t&&!n.fontFamily.ascii&&(n.fontFamily.ascii=Z(t,P)));let v=l(S,"w","hAnsiTheme");v&&(n.fontFamily.hAnsiTheme=v,t&&!n.fontFamily.hAnsi&&(n.fontFamily.hAnsi=Z(t,v)));let L=l(S,"w","eastAsiaTheme");L&&(n.fontFamily.eastAsiaTheme=L,t&&!n.fontFamily.eastAsia&&(n.fontFamily.eastAsia=Z(t,L)));let J=l(S,"w","cstheme");J&&(n.fontFamily.csTheme=J,t&&!n.fontFamily.cs&&(n.fontFamily.cs=Z(t,J)));}let w=u(e,"w","spacing");if(w){let P=y(w,"w","val");P!==void 0&&(n.spacing=P);}let T=u(e,"w","position");if(T){let P=y(T,"w","val");P!==void 0&&(n.position=P);}let x=u(e,"w","w");if(x){let P=y(x,"w","val");P!==void 0&&(n.scale=P);}let k=u(e,"w","kern");if(k){let P=y(k,"w","val");P!==void 0&&(n.kerning=P);}let R=u(e,"w","effect");if(R){let P=l(R,"w","val");P&&(n.effect=P);}let I=u(e,"w","em");if(I){let P=l(I,"w","val");P&&(n.emphasisMark=P);}let $=u(e,"w","emboss");$&&(n.emboss=C($));let A=u(e,"w","imprint");A&&(n.imprint=C(A));let _=u(e,"w","outline");_&&(n.outline=C(_));let ae=u(e,"w","shadow");ae&&(n.shadow=C(ae));let ne=u(e,"w","rtl");ne&&(n.rtl=C(ne));let N=u(e,"w","cs");N&&(n.cs=C(N));let z=u(e,"w","rStyle");if(z){let P=l(z,"w","val");P&&(n.styleId=P);}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 ve(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 U(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=y(e,"w","sz");i!==void 0&&(n.size=i);let s=y(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 Rr(e){if(!e)return;let t=D(e,"w","tab");if(t.length===0)return;let n=[];for(let r of t){let o=y(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 Je(e,t){if(!e)return;let n={},r=u(e,"w","jc");if(r){let w=l(r,"w","val");w&&(n.alignment=w);}let o=u(e,"w","bidi");o&&(n.bidi=C(o));let i=u(e,"w","spacing");if(i){let w=y(i,"w","before");w!==void 0&&(n.spaceBefore=w);let T=y(i,"w","after");T!==void 0&&(n.spaceAfter=T);let x=y(i,"w","line");x!==void 0&&(n.lineSpacing=x);let k=l(i,"w","lineRule");k&&(n.lineSpacingRule=k);let R=l(i,"w","beforeAutospacing");R&&(n.beforeAutospacing=R==="1"||R==="true");let I=l(i,"w","afterAutospacing");I&&(n.afterAutospacing=I==="1"||I==="true");}let s=u(e,"w","ind");if(s){let w=y(s,"w","left");w!==void 0&&(n.indentLeft=w);let T=y(s,"w","right");T!==void 0&&(n.indentRight=T);let x=y(s,"w","firstLine");x!==void 0&&(n.indentFirstLine=x);let k=y(s,"w","hanging");k!==void 0&&(n.indentFirstLine=-k,n.hangingIndent=true);}let a=u(e,"w","pBdr");if(a){let w={},T=U(u(a,"w","top"));T&&(w.top=T);let x=U(u(a,"w","bottom"));x&&(w.bottom=x);let k=U(u(a,"w","left"));k&&(w.left=k);let R=U(u(a,"w","right"));R&&(w.right=R);let I=U(u(a,"w","between"));I&&(w.between=I);let $=U(u(a,"w","bar"));$&&(w.bar=$),Object.keys(w).length>0&&(n.borders=w);}let c=u(e,"w","shd");c&&(n.shading=ve(c));let p=u(e,"w","tabs");p&&(n.tabs=Rr(p));let f=u(e,"w","keepNext");f&&(n.keepNext=C(f));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","numPr");if(m){let w=u(m,"w","numId"),T=u(m,"w","ilvl");if(w||T){if(n.numPr={},w){let x=y(w,"w","val");x!==void 0&&(n.numPr.numId=x);}if(T){let x=y(T,"w","val");x!==void 0&&(n.numPr.ilvl=x);}}}let b=u(e,"w","outlineLvl");if(b){let w=y(b,"w","val");w!==void 0&&(n.outlineLevel=w);}let E=u(e,"w","pStyle");if(E){let w=l(E,"w","val");w&&(n.styleId=w);}let F=u(e,"w","suppressLineNumbers");F&&(n.suppressLineNumbers=C(F));let M=u(e,"w","suppressAutoHyphens");M&&(n.suppressAutoHyphens=C(M));let S=u(e,"w","rPr");return S&&(n.runProperties=Se(S,t)),Object.keys(n).length>0?n:void 0}function K(e){if(!e)return;let t=y(e,"w","w"),n=l(e,"w","type");if(t!==void 0&&n)return {value:t,type:n}}function Nt(e){if(!e)return;let t={},n=U(u(e,"w","top"));n&&(t.top=n);let r=U(u(e,"w","bottom"));r&&(t.bottom=r);let o=U(u(e,"w","left"));o&&(t.left=o);let i=U(u(e,"w","right"));i&&(t.right=i);let s=U(u(e,"w","insideH"));s&&(t.insideH=s);let a=U(u(e,"w","insideV"));return a&&(t.insideV=a),Object.keys(t).length>0?t:void 0}function Xt(e){if(!e)return;let t={},n=K(u(e,"w","top"));n&&(t.top=n);let r=K(u(e,"w","bottom"));r&&(t.bottom=r);let o=K(u(e,"w","left"));o&&(t.left=o);let i=K(u(e,"w","right"));return i&&(t.right=i),Object.keys(t).length>0?t:void 0}function Er(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 At(e,t){if(!e)return;let n={},r=u(e,"w","tblW");r&&(n.width=K(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=K(i));let s=u(e,"w","tblInd");s&&(n.indent=K(s));let a=u(e,"w","tblBorders");a&&(n.borders=Nt(a));let c=u(e,"w","tblCellMar");c&&(n.cellMargins=Xt(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=Er(d));let g=u(e,"w","shd");g&&(n.shading=ve(g));let h=u(e,"w","bidiVisual");return h&&(n.bidi=C(h)),Object.keys(n).length>0?n:void 0}function Bt(e){if(!e)return;let t={},n=u(e,"w","trHeight");if(n){t.height=K(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 Lt(e,t){if(!e)return;let n={},r=u(e,"w","tcW");r&&(n.width=K(r));let o=u(e,"w","tcBorders");o&&(n.borders=Nt(o));let i=u(e,"w","tcMar");i&&(n.margins=Xt(i));let s=u(e,"w","shd");s&&(n.shading=ve(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=y(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 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 Mr(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 w=y(c,"w","val");w!==void 0&&(n.uiPriority=w);}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 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=Je(m,t));let b=u(e,"w","rPr");b&&(n.rPr=Se(b,t));let E=u(e,"w","tblPr");E&&(n.tblPr=At(E));let F=u(e,"w","trPr");F&&(n.trPr=Bt(F));let M=u(e,"w","tcPr");M&&(n.tcPr=Lt(M));let S=D(e,"w","tblStylePr");if(S.length>0){n.tblStylePr=[];for(let w of S){let T=l(w,"w","type");if(T){let x={type:T},k=u(w,"w","pPr");k&&(x.pPr=Je(k,t));let R=u(w,"w","rPr");R&&(x.rPr=Se(R,t));let I=u(w,"w","tblPr");I&&(x.tblPr=At(I));let $=u(w,"w","trPr");$&&(x.trPr=Bt($));let A=u(w,"w","tcPr");A&&(x.tcPr=Lt(A)),n.tblStylePr.push(x);}}}return n}function Ir(e,t){if(!e)return;let n={},r=u(e,"w","rPrDefault");if(r){let i=u(r,"w","rPr");i&&(n.rPr=Se(i,t));}let o=u(e,"w","pPrDefault");if(o){let i=u(o,"w","pPr");i&&(n.pPr=Je(i,t));}return n.rPr||n.pPr?n:void 0}function Ht(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 $r(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=Ht(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 Ot(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=Ot(o,t,n,r),s={...e,pPr:$r(i.pPr,e.pPr),rPr:Ht(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 Ze(e,t){let n=new Map;try{let r=Y(e);if(!r)return n;let o=D(r,"w","style");for(let i of o){let s=Mr(i,t);s.styleId&&n.set(s.styleId,s);}for(let[i,s]of n){let a=Ot(s,n,t);n.set(i,a);}}catch(r){console.warn("Failed to parse styles:",r);}return n}function jt(e,t){let n={styles:[]};try{let r=Y(e);if(!r)return n;let o=u(r,"w","docDefaults");n.docDefaults=Ir(o,t);let i=u(r,"w","latentStyles");i&&(n.latentStyles={defLockedState:l(i,"w","defLockedState")==="1",defUIPriority:y(i,"w","defUIPriority"),defSemiHidden:l(i,"w","defSemiHidden")==="1",defUnhideWhenUsed:l(i,"w","defUnhideWhenUsed")==="1",defQFormat:l(i,"w","defQFormat")==="1",count:y(i,"w","count")});let s=Ze(e,t);n.styles=Array.from(s.values());}catch(r){console.warn("Failed to parse style definitions:",r);}return n}function zt(e){let t={abstractNums:[],nums:[]};if(!e)return Ye(t);let n=Y(e);if(!n)return Ye(t);let r=D(n,"w","abstractNum");for(let i of r){let s=Dr(i);s&&t.abstractNums.push(s);}let o=D(n,"w","num");for(let i of o){let s=Ar(i);s&&t.nums.push(s);}return Ye(t)}function Dr(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=Vt(p);f&&r.levels.push(f);}return r.levels.sort((p,f)=>p.ilvl-f.ilvl),r}function Ar(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},g=u(c,"w","startOverride");if(g){let m=l(g,"w","val");if(m!==null){let b=parseInt(m,10);isNaN(b)||(d.startOverride=b);}}let h=u(c,"w","lvl");h&&(d.lvl=Vt(h)??void 0),s.levelOverrides.push(d);}}return s}function Vt(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 b=parseInt(m,10);isNaN(b)||(r.start=b);}}let i=u(e,"w","numFmt");if(i){let m=l(i,"w","val");m&&(r.numFmt=Br(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 b=parseInt(m,10);isNaN(b)||(r.lvlRestart=b);}}let d=u(e,"w","legacy");d&&(r.legacy={legacy:C(d),legacySpace:y(d,"w","legacySpace"),legacyIndent:y(d,"w","legacyIndent")});let g=u(e,"w","pPr");g&&(r.pPr=Lr(g));let h=u(e,"w","rPr");return h&&(r.rPr=Hr(h)),r}function Br(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 Lr(e){let t={},n=u(e,"w","ind");if(n){let o=y(n,"w","left"),i=y(n,"w","right"),s=y(n,"w","firstLine"),a=y(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=y(i,"w","pos"),a=l(i,"w","val"),c=l(i,"w","leader");s!==void 0&&a&&t.tabs.push({position:s,alignment:Nr(a),leader:Xr(c)});}}return t}function Nr(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 Xr(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 Hr(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=y(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 Ye(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 Or(e){if(!e)return;let t=parseInt(e,10);if(!isNaN(t))return t/6e4}function B(e,t){let n=X(e);for(let r of n)if(r.name===t)return r;return null}function jr(e,t){let n=X(e);for(let r of n)if(t.includes(r.name||""))return r;return null}function Wt(e){if(!e)return {width:0,height:0};let t=y(e,null,"cx")??0,n=y(e,null,"cy")??0;return {width:t,height:n}}function _t(e){if(!e)return;let t=y(e,null,"l")??0,n=y(e,null,"t")??0,r=y(e,null,"r")??0,o=y(e,null,"b")??0;if(!(t===0&&n===0&&r===0&&o===0))return {left:t,top:n,right:r,bottom:o}}function Ut(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 zr(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 Vr(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 Wr=["wp:wrapNone","wp:wrapSquare","wp:wrapTight","wp:wrapThrough","wp:wrapTopAndBottom"];function _r(e,t){if(!e)return {type:t?"behind":"inFront"};let r=(e.name||"").replace("wp:",""),o=y(e,null,"distT")??void 0,i=y(e,null,"distB")??void 0,s=y(e,null,"distL")??void 0,a=y(e,null,"distR")??void 0,c=l(e,null,"wrapText")??void 0,p;switch(r){case "wrapNone":p=t?"behind":"inFront";break;case "wrapSquare":p="square";break;case "wrapTight":p="tight";break;case "wrapThrough":p="through";break;case "wrapTopAndBottom":p="topAndBottom";break;default:p="square";}let f={type:p};return c&&(f.wrapText=c),o!==void 0&&(f.distT=o),i!==void 0&&(f.distB=i),s!==void 0&&(f.distL=s),a!==void 0&&(f.distR=a),f}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=Or(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 Jt(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 Zt(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 Ur(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 Yt(e,t,n){if(!e||!t)return {};let r=t.get(e);if(!r)return {};let o=r.target;if(!o)return {};let i=Ur(o),s=o.split("/").pop(),a=(c,p)=>{let f=p.toLowerCase();for(let[d,g]of c.entries())if(d.toLowerCase()===f)return g};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}`,g=a(n,d);if(g)return {src:g.dataUrl||g.base64,mimeType:g.mimeType,filename:s}}return {mimeType:qr(o),filename:s}}function Gr(e,t,n){let r=B(e,"wp:extent"),o=Wt(r),i=B(e,"wp:effectExtent"),s=_t(i),a=B(e,"wp:docPr"),c=Ut(a),p=Gt(e),f=Jt(p),d=Yt(f,t,n),g=Zt(e),h=qt(g),m={type:"image",rId:f,size:o,wrap:{type:"inline"}};return c.id&&(m.id=c.id),c.alt&&(m.alt=c.alt),c.title&&(m.title=c.title),c.decorative&&(m.decorative=true),d.src&&(m.src=d.src),d.mimeType&&(m.mimeType=d.mimeType),d.filename&&(m.filename=d.filename),s&&(m.padding=s),h&&(m.transform=h),m}function Jr(e,t,n){let r=B(e,"wp:extent"),o=Wt(r),i=B(e,"wp:effectExtent"),s=_t(i),a=B(e,"wp:docPr"),c=Ut(a),p=l(e,null,"behindDoc")==="1",f=jr(e,Wr),d=_r(f,p),g=B(e,"wp:positionH"),h=B(e,"wp:positionV"),m=zr(g),b=Vr(h),E;(m||b)&&(E={horizontal:m??{relativeTo:"column"},vertical:b??{relativeTo:"paragraph"}});let F=Gt(e),M=Jt(F),S=Yt(M,t,n),w=Zt(e),T=qt(w),x={type:"image",rId:M,size:o,wrap:d};return c.id&&(x.id=c.id),c.alt&&(x.alt=c.alt),c.title&&(x.title=c.title),c.decorative&&(x.decorative=true),S.src&&(x.src=S.src),S.mimeType&&(x.mimeType=S.mimeType),S.filename&&(x.filename=S.filename),E&&(x.position=E),s&&(x.padding=s),T&&(x.transform=T),x}function Zr(e,t,n){let r=X(e);for(let o of r){let i=o.name||"";if(i==="wp:inline")return Gr(o,t,n);if(i==="wp:anchor")return Jr(o,t,n)}return null}function Kt(e,t,n){return Zr(e,t,n)}function Qt(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 Yr(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 Ke(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 v=l(c,"w","val");if(v){r.underline={style:v};let L=l(c,"w","color"),J=l(c,"w","themeColor");(L||J)&&(r.underline.color=Qt(L,J,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 v=l(d,"w","val");(v==="superscript"||v==="subscript"||v==="baseline")&&(r.vertAlign=v);}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 b=u(e,"w","color");b&&(r.color=Qt(l(b,"w","val"),l(b,"w","themeColor"),l(b,"w","themeTint"),l(b,"w","themeShade")));let E=u(e,"w","highlight");if(E){let v=l(E,"w","val");v&&(r.highlight=v);}let F=u(e,"w","shd");F&&(r.shading=Yr(F));let M=u(e,"w","sz");if(M){let v=y(M,"w","val");v!==void 0&&(r.fontSize=v);}let S=u(e,"w","szCs");if(S){let v=y(S,"w","val");v!==void 0&&(r.fontSizeCs=v);}let w=u(e,"w","rFonts");if(w){r.fontFamily={ascii:l(w,"w","ascii")??void 0,hAnsi:l(w,"w","hAnsi")??void 0,eastAsia:l(w,"w","eastAsia")??void 0,cs:l(w,"w","cs")??void 0};let v=l(w,"w","asciiTheme");v&&(r.fontFamily.asciiTheme=v,t&&!r.fontFamily.ascii&&(r.fontFamily.ascii=Z(t,v)));let L=l(w,"w","hAnsiTheme");L&&(r.fontFamily.hAnsiTheme=L,t&&!r.fontFamily.hAnsi&&(r.fontFamily.hAnsi=Z(t,L)));let J=l(w,"w","eastAsiaTheme");J&&(r.fontFamily.eastAsiaTheme=J,t&&!r.fontFamily.eastAsia&&(r.fontFamily.eastAsia=Z(t,J)));let je=l(w,"w","cstheme");je&&(r.fontFamily.csTheme=je,t&&!r.fontFamily.cs&&(r.fontFamily.cs=Z(t,je)));}let T=u(e,"w","spacing");if(T){let v=y(T,"w","val");v!==void 0&&(r.spacing=v);}let x=u(e,"w","position");if(x){let v=y(x,"w","val");v!==void 0&&(r.position=v);}let k=u(e,"w","w");if(k){let v=y(k,"w","val");v!==void 0&&(r.scale=v);}let R=u(e,"w","kern");if(R){let v=y(R,"w","val");v!==void 0&&(r.kerning=v);}let I=u(e,"w","effect");if(I){let v=l(I,"w","val");v&&(r.effect=v);}let $=u(e,"w","em");if($){let v=l($,"w","val");v&&(r.emphasisMark=v);}let A=u(e,"w","emboss");A&&(r.emboss=C(A));let _=u(e,"w","imprint");_&&(r.imprint=C(_));let ae=u(e,"w","outline");ae&&(r.outline=C(ae));let ne=u(e,"w","shadow");ne&&(r.shadow=C(ne));let N=u(e,"w","rtl");N&&(r.rtl=C(N));let z=u(e,"w","cs");z&&(r.cs=C(z));let P=u(e,"w","rStyle");if(P){let v=l(P,"w","val");v&&(r.styleId=v);}return Object.keys(r).length>0?r:void 0}function Kr(e){let t=be(e),n=l(e,"xml","space")==="preserve";return {type:"text",text:t,preserveSpace:n||void 0}}function Qr(){return {type:"tab"}}function eo(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 to(e){let t=l(e,"w","font")??"",n=l(e,"w","char")??"";return {type:"symbol",font:t,char:n}}function no(e){return {type:"footnoteRef",id:y(e,"w","id")??0}}function ro(e){return {type:"endnoteRef",id:y(e,"w","id")??0}}function oo(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 io(e){return {type:"instrText",text:be(e)}}function so(e,t,n){let r=Kt(e,t??void 0,n??void 0);return r?{type:"drawing",image:r}:null}function ao(e){if(!e)return "";let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function lo(e,t,n){let r=[],o=X(e);for(let i of o)switch(ao(i.name)){case "t":r.push(Kr(i));break;case "tab":r.push(Qr());break;case "br":r.push(eo(i));break;case "sym":r.push(to(i));break;case "footnoteReference":r.push(no(i));break;case "endnoteReference":r.push(ro(i));break;case "fldChar":r.push(oo(i));break;case "instrText":r.push(io(i));break;case "softHyphen":r.push({type:"softHyphen"});break;case "noBreakHyphen":r.push({type:"noBreakHyphen"});break;case "drawing":let a=so(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=Ke(s,n)),i.content=lo(e,r,o),i}function co(e){if(!e)return "";let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function uo(e){let t=y(e,"w","id")??0,n=l(e,"w","name")??"",r={type:"bookmarkStart",id:t,name:n},o=y(e,"w","colFirst");o!==void 0&&(r.colFirst=o);let i=y(e,"w","colLast");return i!==void 0&&(r.colLast=i),r}function po(e){return {type:"bookmarkEnd",id:y(e,"w","id")??0}}function en(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&&(Et(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 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 g=X(e);for(let h of g)switch(co(h.name)){case "r":i.children.push(he(h,n,r,t,o));break;case "bookmarkStart":i.children.push(uo(h));break;case "bookmarkEnd":i.children.push(po(h));break}return i}function tn(e){let t=y(e,"w","id")??0,n=l(e,"w","name")??"",r={type:"bookmarkStart",id:t,name:n},o=y(e,"w","colFirst");o!==void 0&&(r.colFirst=o);let i=y(e,"w","colLast");return i!==void 0&&(r.colLast=i),r}function nn(e){return {type:"bookmarkEnd",id:y(e,"w","id")??0}}function fo(e){if(!e)return;let t=y(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 Q(e){return fo(e)}function le(e){if(!e)return;let r={style:l(e,"w","val")??"none"},o=y(e,"w","sz");o!==void 0&&(r.size=o);let i=y(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 rn(e){if(!e)return;let t={},n=le(u(e,"w","top"));n&&(t.top=n);let r=le(u(e,"w","bottom"));r&&(t.bottom=r);let o=le(u(e,"w","left")??u(e,"w","start"));o&&(t.left=o);let i=le(u(e,"w","right")??u(e,"w","end"));i&&(t.right=i);let s=le(u(e,"w","insideH"));s&&(t.insideH=s);let a=le(u(e,"w","insideV"));if(a&&(t.insideV=a),Object.keys(t).length!==0)return t}function on(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")??u(e,"w","start"));o&&(t.left=o);let i=Q(u(e,"w","right")??u(e,"w","end"));if(i&&(t.right=i),Object.keys(t).length!==0)return t}function sn(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 mo(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 ho(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=y(e,"w","tblpX");o!==void 0&&(t.tblpX=o);let i=l(e,"w","tblpXSpec");i&&(t.tblpXSpec=i);let s=y(e,"w","tblpY");s!==void 0&&(t.tblpY=s);let a=l(e,"w","tblpYSpec");a&&(t.tblpYSpec=a);let c=y(e,"w","topFromText");c!==void 0&&(t.topFromText=c);let p=y(e,"w","bottomFromText");p!==void 0&&(t.bottomFromText=p);let f=y(e,"w","leftFromText");f!==void 0&&(t.leftFromText=f);let d=y(e,"w","rightFromText");if(d!==void 0&&(t.rightFromText=d),Object.keys(t).length!==0)return t}function go(e){if(!e)return;let t={},n=Q(u(e,"w","tblW"));n&&(t.width=n);let r=u(e,"w","jc");if(r){let b=l(r,"w","val");(b==="left"||b==="center"||b==="right"||b==="start")&&(t.justification=b==="start"?"left":b);}let o=Q(u(e,"w","tblCellSpacing"));o&&(t.cellSpacing=o);let i=Q(u(e,"w","tblInd"));i&&(t.indent=i);let s=rn(u(e,"w","tblBorders"));s&&(t.borders=s);let a=on(u(e,"w","tblCellMar"));a&&(t.cellMargins=a);let c=u(e,"w","tblLayout");if(c){let b=l(c,"w","type");(b==="fixed"||b==="autofit")&&(t.layout=b);}let p=u(e,"w","tblStyle");if(p){let b=l(p,"w","val");b&&(t.styleId=b);}let f=mo(u(e,"w","tblLook"));f&&(t.look=f);let d=sn(u(e,"w","shd"));d&&(t.shading=d);let g=u(e,"w","tblOverlap");if(g){let b=l(g,"w","val");(b==="never"||b==="overlap")&&(t.overlap=b);}let h=ho(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 wo(e){if(!e)return;let t={},n=u(e,"w","trHeight");if(n){let c=Q(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=an(u(e,"w","cnfStyle"));if(a&&(t.conditionalFormat=a),Object.keys(t).length!==0)return t}function an(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 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 yo(e){if(!e)return;let t={},n=Q(u(e,"w","tcW"));n&&(t.width=n);let r=rn(u(e,"w","tcBorders"));r&&(t.borders=r);let o=on(u(e,"w","tcMar"));o&&(t.margins=o);let i=sn(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=y(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 h=an(u(e,"w","cnfStyle"));if(h&&(t.conditionalFormat=h),Object.keys(t).length!==0)return t}function xo(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=G(c,t,n,r,o,i);s.push(f);}else if(p==="tbl"){let f=ge(c,t,n,r,o,i);s.push(f);}}return s.length===0&&s.push({type:"paragraph",content:[]}),s}function bo(e,t,n,r,o,i){let s={type:"tableCell",content:[]},a=yo(u(e,"w","tcPr"));return a&&(s.formatting=a),s.content=xo(e,t,n,r,o,i),s}function To(e,t,n,r,o,i){let s={type:"tableRow",cells:[]},a=wo(u(e,"w","trPr"));a&&(s.formatting=a);let c=D(e,"w","tc");for(let p of c){let f=bo(p,t,n,r,o,i);s.cells.push(f);}return s}function Co(e){if(!e)return;let t=[],n=D(e,"w","gridCol");for(let r of n){let o=y(r,"w","w")??0;t.push(o);}return t.length>0?t:void 0}function ge(e,t,n,r,o,i){let s={type:"table",rows:[]},a=go(u(e,"w","tblPr"));a&&(s.formatting=a);let c=Co(u(e,"w","tblGrid"));c&&(s.columnWidths=c);let p=D(e,"w","tr");for(let f of p){let d=To(f,t,n,r,o,i);s.rows.push(d);}return s}function ln(e){switch(e){case "first":return "first";case "even":return "even";default:return "default"}}function cn(e){let t=l(e,"w","type"),n=l(e,"r","id")??"";return {type:ln(t),rId:n}}function un(e){let t=l(e,"w","type"),n=l(e,"r","id")??"";return {type:ln(t),rId:n}}function Qe(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=G(c,t,n,r,o,i);s.push(f);}else if(p==="w:tbl"||p.endsWith(":tbl")){let f=ge(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=Qe(f,t,n,r,o,i);s.push(...d);}}}return s}function pn(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=q(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=Qe(p,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=q(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=Qe(p,n,r,o,i,s)),a}function dn(e){switch(e){case "separator":return "separator";case "continuationSeparator":return "continuationSeparator";case "continuationNotice":return "continuationNotice";default:return "normal"}}function Fo(e,t,n,r,o,i){let s=y(e,"w","id")??0,a=l(e,"w","type"),c=dn(a),f=D(e,"w","p").map(d=>G(d,t,n,r,o));return {type:"footnote",id:s,noteType:c,content:f}}function mn(e,t=null,n=null,r=null,o=null,i=null){let s=new Map,a=[];if(!e)return ke(s,a);let c=q(e);if(!c)return ke(s,a);let p=c.elements?.find(d=>d.type==="element"&&(d.name==="w:footnotes"||d.name?.endsWith(":footnotes")));if(!p)return ke(s,a);let f=D(p,"w","footnote");for(let d of f){let g=Fo(d,t,n,r,o);s.set(g.id,g),a.push(g);}return ke(s,a)}function ke(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 So(e,t,n,r,o,i){let s=y(e,"w","id")??0,a=l(e,"w","type"),c=dn(a),f=D(e,"w","p").map(d=>G(d,t,n,r,o));return {type:"endnote",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 Pe(s,a);let c=q(e);if(!c)return Pe(s,a);let p=c.elements?.find(d=>d.type==="element"&&(d.name==="w:endnotes"||d.name?.endsWith(":endnotes")));if(!p)return Pe(s,a);let f=D(p,"w","endnote");for(let d of f){let g=So(d,t,n,r,o);s.set(g.id,g),a.push(g);}return Pe(s,a)}function Pe(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 vo(e){switch(e){case "pageBottom":return "pageBottom";case "beneathText":return "beneathText";case "sectEnd":return "sectEnd";case "docEnd":return "docEnd";default:return}}function ko(e){switch(e){case "sectEnd":return "sectEnd";case "docEnd":return "docEnd";default:return}}function wn(e){switch(e){case "continuous":return "continuous";case "eachSect":return "eachSect";case "eachPage":return "eachPage";default:return}}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=vo(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=y(o,"w","val")??void 0);let i=u(e,"w","numRestart");if(i){let s=l(i,"w","val");t.numRestart=wn(s);}return t}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=gn(s);}let o=u(e,"w","numStart");o&&(t.numStart=y(o,"w","val")??void 0);let i=u(e,"w","numRestart");if(i){let s=l(i,"w","val");t.numRestart=wn(s);}return t}function Po(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 Re(e){if(!e)return;let r={style:l(e,"w","val")??"none"},o=y(e,"w","sz");o!==void 0&&(r.size=o);let i=y(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=Po(s,a,c,p);f&&(r.color=f);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 Ro(e){switch(e){case "landscape":return "landscape";case "portrait":return "portrait";default:return}}function Eo(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 Mo(e){switch(e){case "top":return "top";case "center":return "center";case "both":return "both";case "bottom":return "bottom";default:return}}function Io(e){switch(e){case "continuous":return "continuous";case "newPage":return "newPage";case "newSection":return "newSection";default:return}}function Ee(e,t){let n={};if(!e)return n;let r=u(e,"w","pgSz");if(r){let w=y(r,"w","w");w!==void 0&&(n.pageWidth=w);let T=y(r,"w","h");T!==void 0&&(n.pageHeight=T);let x=l(r,"w","orient"),k=Ro(x);k&&(n.orientation=k);}let o=u(e,"w","pgMar");if(o){let w=y(o,"w","top");w!==void 0&&(n.marginTop=w);let T=y(o,"w","bottom");T!==void 0&&(n.marginBottom=T);let x=y(o,"w","left");x!==void 0&&(n.marginLeft=x);let k=y(o,"w","right");k!==void 0&&(n.marginRight=k);let R=y(o,"w","header");R!==void 0&&(n.headerDistance=R);let I=y(o,"w","footer");I!==void 0&&(n.footerDistance=I);let $=y(o,"w","gutter");$!==void 0&&(n.gutter=$);}let i=u(e,"w","cols");if(i){let w=y(i,"w","num");w!==void 0&&(n.columnCount=w);let T=y(i,"w","space");T!==void 0&&(n.columnSpace=T);let x=l(i,"w","equalWidth");x==="1"||x==="true"?n.equalWidth=true:(x==="0"||x==="false")&&(n.equalWidth=false);let k=l(i,"w","sep");(k==="1"||k==="true")&&(n.separator=true);let R=D(i,"w","col");if(R.length>0){n.columns=[];for(let I of R){let $={},A=y(I,"w","w");A!==void 0&&($.width=A);let _=y(I,"w","space");_!==void 0&&($.space=_),n.columns.push($);}}}let s=u(e,"w","type");if(s){let w=l(s,"w","val"),T=Eo(w);T&&(n.sectionStart=T);}let a=u(e,"w","vAlign");if(a){let w=l(a,"w","val"),T=Mo(w);T&&(n.verticalAlign=T);}let c=u(e,"w","bidi");c&&(n.bidi=C(c));let p=D(e,"w","headerReference");p.length>0&&(n.headerReferences=p.map(w=>cn(w)));let f=D(e,"w","footerReference");f.length>0&&(n.footerReferences=f.map(w=>un(w)));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 w=y(h,"w","start");w!==void 0&&(n.lineNumbers.start=w);let T=y(h,"w","countBy");T!==void 0&&(n.lineNumbers.countBy=T);let x=y(h,"w","distance");x!==void 0&&(n.lineNumbers.distance=x);let k=l(h,"w","restart"),R=Io(k);R&&(n.lineNumbers.restart=R);}let m=u(e,"w","pgBorders");if(m){n.pageBorders={};let w=Re(u(m,"w","top"));w&&(n.pageBorders.top=w);let T=Re(u(m,"w","bottom"));T&&(n.pageBorders.bottom=T);let x=Re(u(m,"w","left"));x&&(n.pageBorders.left=x);let k=Re(u(m,"w","right"));k&&(n.pageBorders.right=k);let R=l(m,"w","display");(R==="allPages"||R==="firstPage"||R==="notFirstPage")&&(n.pageBorders.display=R);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 b=u(e,"w","background");if(b){n.background={};let w=l(b,"w","color");w&&w!=="auto"&&(n.background.color={rgb:w});let T=l(b,"w","themeColor");T&&(n.background.themeColor=T);let x=l(b,"w","themeTint");x&&(n.background.themeTint=x);let k=l(b,"w","themeShade");k&&(n.background.themeShade=k);}let E=u(e,"w","footnotePr");if(E){let w=yn(E);Object.keys(w).length>0&&(n.footnotePr=w);}let F=u(e,"w","endnotePr");if(F){let w=xn(F);Object.keys(w).length>0&&(n.endnotePr=w);}let M=u(e,"w","docGrid");if(M){n.docGrid={};let w=l(M,"w","type");(w==="default"||w==="lines"||w==="linesAndChars"||w==="snapToChars")&&(n.docGrid.type=w);let T=y(M,"w","linePitch");T!==void 0&&(n.docGrid.linePitch=T);let x=y(M,"w","charSpace");x!==void 0&&(n.docGrid.charSpace=x);}let S=u(e,"w","paperSrc");if(S){let w=y(S,"w","first");w!==void 0&&(n.paperSrcFirst=w);let T=y(S,"w","other");T!==void 0&&(n.paperSrcOther=T);}return n}function bn(){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 $o(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||!Do(e.underline,t.underline)||!Me(e.color,t.color)||!Ao(e.shading,t.shading)||!Bo(e.fontFamily,t.fontFamily))}function Do(e,t){return !e&&!t?true:!e||!t||e.style!==t.style?false:Me(e.color,t.color)}function Me(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 Ao(e,t){return !e&&!t?true:!(!e||!t||e.pattern!==t.pattern||!Me(e.color,t.color)||!Me(e.fill,t.fill))}function Bo(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 Lo(e){return e.type==="text"||e.type==="softHyphen"||e.type==="noBreakHyphen"}function Tn(e){return e.content.length===0?true:e.content.every(Lo)}function No(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 Xo(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}Tn(n)&&Tn(r)&&$o(n.formatting,r.formatting)?n={type:"run",formatting:n.formatting,content:No(n.content,r.content)}:(t.push(n),n={...r,content:[...r.content]});}return n!==null&&t.push(n),t}function et(e){if(e.length<=1)return e;let t=[],n=[];function r(){if(n.length>0){let o=Xo(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:et(o.children)};t.push(i);}else t.push(o);return r(),t}function Ho(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=Cn(n);break;case "comboBox":t.sdtType="comboBox",t.listItems=Cn(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 Cn(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 Fn(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+=Fn(n);return t}function Oo(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 jo(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 ce(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=Oo(r,o,l(e,"w","themeTint"),l(e,"w","themeShade")));let i=y(e,"w","sz");i!==void 0&&(n.size=i);let s=y(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 zo(e){if(!e)return;let t=D(e,"w","tab");if(t.length===0)return;let n=[];for(let r of t){let o=y(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 Vo(e){if(!e)return;let t={},n=y(e,"w","w");n!==void 0&&(t.width=n);let r=y(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=y(e,"w","x");s!==void 0&&(t.x=s);let a=y(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 Wo(e,t,n){if(!e)return;let r={},o=u(e,"w","jc");if(o){let x=l(o,"w","val");x&&(r.alignment=x);}let i=u(e,"w","bidi");i&&(r.bidi=C(i));let s=u(e,"w","spacing");if(s){let x=y(s,"w","before");x!==void 0&&(r.spaceBefore=x);let k=y(s,"w","after");k!==void 0&&(r.spaceAfter=k);let R=y(s,"w","line");R!==void 0&&(r.lineSpacing=R);let I=l(s,"w","lineRule");I&&(r.lineSpacingRule=I);let $=l(s,"w","beforeAutospacing");$&&(r.beforeAutospacing=$==="1"||$==="true");let A=l(s,"w","afterAutospacing");A&&(r.afterAutospacing=A==="1"||A==="true");}let a=u(e,"w","ind");if(a){let x=y(a,"w","left");x!==void 0&&(r.indentLeft=x);let k=y(a,"w","right");k!==void 0&&(r.indentRight=k);let R=y(a,"w","firstLine");R!==void 0&&(r.indentFirstLine=R);let I=y(a,"w","hanging");I!==void 0&&(r.indentFirstLine=-I,r.hangingIndent=true);let $=y(a,"w","start");$!==void 0&&r.indentLeft===void 0&&(r.indentLeft=$);let A=y(a,"w","end");A!==void 0&&r.indentRight===void 0&&(r.indentRight=A);}let c=u(e,"w","pBdr");if(c){let x={},k=ce(u(c,"w","top"));k&&(x.top=k);let R=ce(u(c,"w","bottom"));R&&(x.bottom=R);let I=ce(u(c,"w","left"));I&&(x.left=I);let $=ce(u(c,"w","right"));$&&(x.right=$);let A=ce(u(c,"w","between"));A&&(x.between=A);let _=ce(u(c,"w","bar"));_&&(x.bar=_),Object.keys(x).length>0&&(r.borders=x);}let p=u(e,"w","shd");p&&(r.shading=jo(p));let f=u(e,"w","tabs");f&&(r.tabs=zo(f));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 b=u(e,"w","numPr");if(b){let x=u(b,"w","numId"),k=u(b,"w","ilvl");if(x||k){if(r.numPr={},x){let R=y(x,"w","val");R!==void 0&&(r.numPr.numId=R);}if(k){let R=y(k,"w","val");R!==void 0&&(r.numPr.ilvl=R);}}}let E=u(e,"w","outlineLvl");if(E){let x=y(E,"w","val");x!==void 0&&(r.outlineLevel=x);}let F=u(e,"w","pStyle");if(F){let x=l(F,"w","val");x&&(r.styleId=x);}let M=u(e,"w","framePr");M&&(r.frame=Vo(M));let S=u(e,"w","suppressLineNumbers");S&&(r.suppressLineNumbers=C(S));let w=u(e,"w","suppressAutoHyphens");w&&(r.suppressAutoHyphens=C(w));let T=u(e,"w","rPr");return T&&(r.runProperties=Ke(T,t)),Object.keys(r).length>0?r:void 0}function Sn(e){if(!e)return "";let t=e.indexOf(":");return t>=0?e.substring(t+1):e}function _o(e,t,n,r,o){return en(e,t,n,r,o)}function Uo(e){return tn(e)}function qo(e){return nn(e)}function vn(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 Go(e,t,n,r,o){let i=l(e,"w","instr")??"",s=vn(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=X(e);for(let d of f)Sn(d.name)==="r"&&a.content.push(he(d,t,n,r,o));return a}function Ie(e,t,n,r,o,i){let s=[],a=X(e),c=false,p="",f=[],d=[],g=false,h=false,m=false;for(let b of a){let E=Sn(b.name);switch(E){case "r":{let F=he(b,t,n,o,i),M=false,S=false,w=false,T="";for(let x of F.content)x.type==="fieldChar"?x.charType==="begin"?(M=true,x.fldLock&&(h=true),x.dirty&&(m=true)):x.charType==="separate"?S=true:x.charType==="end"&&(w=true):x.type==="instrText"&&(T+=x.text);if(M&&(c=true,g=false,p="",f=[],d=[],h=false,m=false),c){if(T&&(p+=T),S&&(g=true),g&&!w?S||d.push(F):!g&&!M&&f.push(F),w){let x={type:"complexField",instruction:p.trim(),fieldType:vn(p),fieldCode:f,fieldResult:d};h&&(x.fldLock=true),m&&(x.dirty=true),s.push(x),c=false;}}else s.push(F);break}case "hyperlink":s.push(_o(b,o,t,n,i));break;case "bookmarkStart":s.push(Uo(b));break;case "bookmarkEnd":s.push(qo(b));break;case "fldSimple":s.push(Go(b,t,n,o,i));break;case "pPr":break;case "proofErr":case "permStart":case "permEnd":case "customXml":break;case "sdt":{let F=(b.elements??[]).find(S=>S.type==="element"&&(S.name==="w:sdtPr"||S.name?.endsWith(":sdtPr"))),M=(b.elements??[]).find(S=>S.type==="element"&&(S.name==="w:sdtContent"||S.name?.endsWith(":sdtContent")));if(M){let S=Ie(M,t,n,null,o,i),T={type:"inlineSdt",properties:Ho(F??null),content:S.filter(x=>x.type==="run"||x.type==="hyperlink")};s.push(T);}break}case "ins":{let F={id:parseInt(l(b,"w","id")??"0",10),author:l(b,"w","author")??"Unknown",date:l(b,"w","date")??void 0},M=Ie(b,t,n,null,o,i),S={type:"insertion",info:F,content:M.filter(w=>w.type==="run"||w.type==="hyperlink")};s.push(S);break}case "del":{let F={id:parseInt(l(b,"w","id")??"0",10),author:l(b,"w","author")??"Unknown",date:l(b,"w","date")??void 0},M=Ie(b,t,n,null,o,i),S={type:"deletion",info:F,content:M.filter(w=>w.type==="run"||w.type==="hyperlink")};s.push(S);break}case "smartTag":case "moveTo":case "moveFrom":break;case "commentRangeStart":{let F=parseInt(l(b,"w","id")??"0",10);s.push({type:"commentRangeStart",id:F});break}case "commentRangeEnd":{let F=parseInt(l(b,"w","id")??"0",10);s.push({type:"commentRangeEnd",id:F});break}case "oMath":case "oMathPara":{let F=E==="oMathPara",M=Rt(b),S=Fn(b),w={type:"mathEquation",display:F?"block":"inline",ommlXml:M,plainText:S||void 0};s.push(w);break}}}return s}function G(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=Wo(p,n);let d=u(p,"w","sectPr");d&&(s.sectionProperties=Ee(d));}let f=Ie(e,t,n,r,o,i);if(s.content=et(f),s.formatting?.numPr&&r){let{numId:d,ilvl:g=0}=s.formatting.numPr;if(d!==void 0&&d!==0){let h=r.getLevel(d,g);h&&(s.listRendering={level:g,numId:d,marker:h.lvlText,isBullet:h.numFmt==="bullet",numFmt:h.numFmt},h.pPr&&(s.formatting||(s.formatting={}),h.pPr.indentLeft!==void 0&&(s.formatting.indentLeft=h.pPr.indentLeft),h.pPr.indentFirstLine!==void 0&&(s.formatting.indentFirstLine=h.pPr.indentFirstLine),h.pPr.hangingIndent!==void 0&&(s.formatting.hangingIndent=h.pPr.hangingIndent)));}}return s}function tt(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 Jo(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 Zo(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=Jo(p);return}let c=a;for(let p=0;p<=i;p++){let f=`%${p+1}`;if(c.includes(f)){let d=s[p],g=t.getLevel(o,p),h=Yo(d,g?.numFmt||"decimal");c=c.replace(f,h);}}r.marker=c;}function Yo(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 kn(e).toLowerCase();case "upperRoman":return kn(e);case "bullet":return "\u2022";default:return String(e)}}function kn(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 Pn=/\{\{([^{}]+)\}\}/g;function Rn(e){let t=[],n;for(Pn.lastIndex=0;(n=Pn.exec(e))!==null;){let r=n[1].trim();r&&!t.includes(r)&&t.push(r);}return t}function En(e){let t=[];for(let n of e)if(n.type==="paragraph"){let r=tt(n),o=Rn(r);for(let i of o)t.includes(i)||t.push(i);}else if(n.type==="table"){let r=Mn(n);for(let o of r)t.includes(o)||t.push(o);}return t}function Mn(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=tt(o),s=Rn(i);for(let a of s)t.includes(a)||t.push(a);}else if(o.type==="table"){let i=Mn(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=X(e),c=new Map;for(let p of a){let f=p.name??"";if(f==="w:p"||f.endsWith(":p")){let d=G(p,t,n,r,o,i);Zo(d,r,c),s.push(d);}else if(f==="w:tbl"||f.endsWith(":tbl")){let d=ge(p,t,n,r,o,i);s.push(d);}else if(f==="w:sdt"||f.endsWith(":sdt")){let d=(p.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 Ko(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??bn(),content:r}),n}function $n(e,t=null,n=null,r=null,o=null,i=null){let s={content:[]};if(!e)return s;let a=q(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=In(p,t,n,r,o,i);let f=u(p,"w","sectPr");return f&&(s.finalSectionProperties=Ee(f)),s.sections=Ko(s.content,s.finalSectionProperties),s}function Dn(e,t,n,r,o){if(!e)return [];let i=q(e);if(!i)return [];let s=u(i,"w","comments")??i,a=X(s),c=[];for(let p of a){if((p.name?.replace(/^.*:/,"")??"")!=="comment")continue;let d=parseInt(l(p,"w","id")??"0",10),g=l(p,"w","author")??"Unknown",h=l(p,"w","initials")??void 0,m=l(p,"w","date")??void 0,b=[];for(let E of X(p))if((E.name?.replace(/^.*:/,"")??"")==="p"){let M=G(E,t,n,null,r,o);b.push(M);}c.push({id:d,author:g,initials:h,date:m,content:b});}return c}var De=new Set,$e=new Map,Qo=new Set;function Bn(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 ei(e,t){let n=e.trim();if(De.has(n))return true;let r=$e.get(n);if(r)return r;let o=(async()=>{try{let i=Bn(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 ni(n,3e3),De.add(n),ti([n]),!0):!1}catch(i){return console.warn(`Failed to load font "${n}":`,i),false}finally{$e.delete(n),$e.size===0&&(false);}})();return $e.set(n,o),o}function ti(e){for(let t of Qo)try{t(e);}catch(n){console.warn("Font load callback error:",n);}}async function ni(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 ri={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 oi(e){let t=e.trim();return ri[t]||t}async function ii(e){let t=e.trim(),n=oi(t);return n!==t?(await si(t,n),De.add(t),De.add(n),true):ei(n)}async function si(e,t){let n=`font-alias-${e.toLowerCase().replace(/\s+/g,"-")}`;if(!document.getElementById(n))try{let r=Bn(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*['"]${ai(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 ai(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async function Ln(e){let t=[...new Set(e.map(n=>n.trim()))];await Promise.all(t.map(n=>ii(n)));}async function Nn(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 Be(e,t={}){let n=e instanceof ArrayBuffer?e:await Nn(e),{onProgress:r=()=>{},preloadFonts:o=true,parseHeadersFooters:i=true,parseNotes:s=true,detectVariables:a=true}=t,c=[];try{let g=function(N,z){let P=performance.now(),v=z(),L=performance.now()-P;return d.push({stage:N,ms:L}),L>1e3&&console.warn(`[parseDocx] ${N} took ${Math.round(L)}ms`),v};var p=g;let f=performance.now(),d=[];async function h(N,z){let P=performance.now(),v=await z(),L=performance.now()-P;return d.push({stage:N,ms:L}),L>1e3&&console.warn(`[parseDocx] ${N} took ${Math.round(L)}ms`),v}r("Extracting DOCX...",0);let m=await h("unzip",()=>kt(n));r("Extracted DOCX",10),r("Parsing relationships...",10);let b=g("relationships",()=>m.documentRels?Ce(m.documentRels):new Map);r("Parsed relationships",15),r("Parsing theme...",15);let E=g("theme",()=>Dt(m.themeXml));r("Parsed theme",20),r("Parsing styles...",20);let F=null,M;g("styles",()=>{m.stylesXml&&(F=Ze(m.stylesXml,E),M=jt(m.stylesXml,E));}),r("Parsed styles",30),r("Parsing numbering...",30);let S=g("numbering",()=>zt(m.numberingXml));r("Parsed numbering",35),r("Processing media files...",35);let w=g("media",()=>li(m,b));r("Processed media",40),r("Parsing document body...",40);let T={content:[]};g("documentBody",()=>{m.documentXml?T=$n(m.documentXml,F,E,S,b,w):c.push("No document.xml found in DOCX");}),r("Parsed document body",55);let x,k;if(i){r("Parsing headers/footers...",55);let N=g("headersFooters",()=>ci(m,F,E,S,b,w));x=N.headers,k=N.footers,r("Parsed headers/footers",65);}else r("Skipping headers/footers",65);let R,I;if(s){r("Parsing footnotes/endnotes...",65);let N=g("footnotesEndnotes",()=>ui(m,F,E,S,b,w));R=N.footnotes,I=N.endnotes,r("Parsed footnotes/endnotes",75);}else r("Skipping footnotes/endnotes",75);r("Parsing comments...",75);let $=g("comments",()=>Dn(m.commentsXml,F,E,b,w));$.length>0&&(T.comments=$);let A;a?(r("Detecting template variables...",75),A=g("variables",()=>En(T.content)),r("Detected variables",80)):r("Skipping variable detection",80),o?(r("Loading fonts...",80),await h("fonts",()=>pi(E,M,T)),r("Loaded fonts",95)):r("Skipping font loading",95),r("Assembling document...",95);let ae={package:{document:T,styles:M,theme:E,numbering:S.definitions,headers:x,footers:k,footnotes:R,endnotes:I,relationships:b,media:w},originalBuffer:n,templateVariables:A,warnings:c.length>0?c:void 0},ne=performance.now()-f;if(ne>2e3){let N=d.filter(z=>z.ms>100).map(z=>`${z.stage}: ${Math.round(z.ms)}ms`).join(", ");console.warn(`[parseDocx] Total: ${Math.round(ne)}ms`+(N?` (${N})`:""));}return r("Complete",100),ae}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 li(e,t){let n=new Map;for(let[r,o]of e.media.entries()){let i=r.split("/").pop()||r,s=Pt(r),a=new Uint8Array(o),c="";for(let h=0;h<a.length;h++)c+=String.fromCharCode(a[h]);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 g=r.replace(/^word\//,"");g!==r&&n.set(g,d);}return n}function Ae(e,t){let n=t.toLowerCase();for(let[r,o]of e.entries())if(r.toLowerCase()===n)return o}function ci(e,t,n,r,o,i){let s=new Map,a=new Map;for(let[c,p]of o.entries())if(p.type===Te.header&&p.target){let f=p.target.split("/").pop()||p.target,d=Ae(e.headers,f);if(d){let g=`word/_rels/${f}.rels`,h=Ae(e.allXml,g),m=h?Ce(h):o,b=pn(d,"default",t,n,r,m,i);s.set(c,b);}}else if(p.type===Te.footer&&p.target){let f=p.target.split("/").pop()||p.target,d=Ae(e.footers,f);if(d){let g=`word/_rels/${f}.rels`,h=Ae(e.allXml,g),m=h?Ce(h):o,b=fn(d,"default",t,n,r,m,i);a.set(c,b);}}return {headers:s,footers:a}}function ui(e,t,n,r,o,i){let s=mn(e.footnotesXml,t,n,r,o,i),a=hn(e.endnotesXml,t,n,r,o,i);return {footnotes:s.getNormalFootnotes(),endnotes:a.getNormalEndnotes()}}async function pi(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 Ln(Array.from(r));}catch(o){console.warn("Failed to load some fonts:",o);}}var Xe={type:"string",description:"Document ID from a previous docx_load call"},Ri={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"]},jn={name:"docx_get_variables",description:`List all template variables ({{name}} format) found in the document.
|
|
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,oe,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)}}},oe=new Ve;});var jn={};ur(jn,{default:()=>Ei,executeCommand:()=>te,executeCommands:()=>mi});function te(e,t){let n=oe.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)=>te(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 ie(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=ie(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=ie(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=ie(a,o.offset,i.offset);}else {let s=O(r,o.paragraphIndex),a=r.content[s],c=ye(a);a.content=ie(a,o.offset,c.length);let p=O(r,i.paragraphIndex),f=r.content[p];f.content=ie(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=ie(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=ie({...i,content:[...i.content]},t.position.offset,s.length),c=ie({...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 Ei,rt=ht(()=>{Te();Ei=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 re=u(e,"w","rtl");re&&(n.rtl=C(re));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 re=u(e,"w","shadow");re&&(r.shadow=C(re));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},re=performance.now()-f;if(re>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(re)}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"},Mi={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.
|
|
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:
|
|
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=xt(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}'}]}},Vn={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:
|
|
7
|
+
Variable names should follow the pattern: letters, numbers, underscores, starting with a letter.`,inputSchema:{type:"object",properties:{documentId:Oe,position:Mi,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(()=>(rt(),jn)),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"}}]}},Wn={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:
|
|
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=St(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"}}}]}},_n={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:Xe},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=St(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"}},rt=[jn,zn,Vn,Wn];var _n={id:"docxtemplater",name:"Docxtemplater",version:"1.0.0",description:"Template variable support using standard docxtemplater syntax ({variable})",commandHandlers:{insertTemplateVariable:We,replaceWithTemplateVariable:_e},mcpTools:rt,initialize:()=>{try{dt("docxtemplater"),dt("pizzip");}catch{console.warn("[docxtemplater-plugin] Warning: docxtemplater or pizzip not installed. Template features may not work. Install with: npm install docxtemplater pizzip");}}};ye();function O(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Ei(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 Mi(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 it(e){if(!e)return "";let t=[];if(e.styleId&&t.push(`<w:rStyle w:val="${O(e.styleId)}"/>`),e.fontFamily){let o=[];e.fontFamily.ascii&&o.push(`w:ascii="${O(e.fontFamily.ascii)}"`),e.fontFamily.hAnsi&&o.push(`w:hAnsi="${O(e.fontFamily.hAnsi)}"`),e.fontFamily.eastAsia&&o.push(`w:eastAsia="${O(e.fontFamily.eastAsia)}"`),e.fontFamily.cs&&o.push(`w:cs="${O(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=Ei(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"&&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=Mi(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 Ii(e){return `<w:t${e.preserveSpace||e.text.startsWith(" ")||e.text.endsWith(" ")||e.text.includes(" ")?' xml:space="preserve"':""}>${O(e.text)}</w:t>`}function $i(e){return "<w:tab/>"}function Di(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 Ai(e){return `<w:sym w:font="${O(e.font)}" w:char="${O(e.char)}"/>`}function Bi(e){return e.type==="footnoteRef"?`<w:footnoteReference w:id="${e.id}"/>`:`<w:endnoteReference w:id="${e.id}"/>`}function Li(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 Ni(e){return `<w:instrText${e.text.startsWith(" ")||e.text.endsWith(" ")||e.text.includes(" ")?' xml:space="preserve"':""}>${O(e.text)}</w:instrText>`}function Xi(e){return "<w:softHyphen/>"}function Hi(e){return "<w:noBreakHyphen/>"}function ot(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 Oi(e){if(!e||e.type==="none")return "<a:noFill/>";if(e.type==="solid"&&e.color)return `<a:solidFill>${ot(e.color)}</a:solidFill>`;if(e.type==="gradient"&&e.gradient){let t=e.gradient,n=t.stops.map(o=>`<a:gs pos="${o.position}">${ot(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 Un(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>${ot(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 Gn(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 ji(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="${O(i)}"${e.alt?` descr="${O(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?Un(e.outline):"","</pic:spPr>","</pic:pic>","</a:graphicData>","</a:graphic>"].join("")}function zi(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=ji(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="${O(f)}"${t.alt?` descr="${O(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?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=Gn(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="${p}" name="${O(f)}"${t.alt?` descr="${O(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 Vi(e){return e.map(t=>ue(t)).join("")}function Wi(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}`),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>`,Oi(t.fill),Un(t.outline),"</wps:spPr>"].join(""),m="";if(t.textBody){let w=t.textBody,T=['rot="0"','vert="horz"'];w.anchor&&T.push(`anchor="${w.anchor==="middle"?"ctr":w.anchor}"`),w.anchorCenter&&T.push('anchorCtr="1"'),w.margins&&(w.margins.left!=null&&T.push(`lIns="${w.margins.left}"`),w.margins.top!=null&&T.push(`tIns="${w.margins.top}"`),w.margins.right!=null&&T.push(`rIns="${w.margins.right}"`),w.margins.bottom!=null&&T.push(`bIns="${w.margins.bottom}"`)),o?m=["<wps:txbx><w:txbxContent>",Vi(w.content),"</w:txbxContent></wps:txbx>",`<wps:bodyPr ${T.join(" ")}/>`].join(""):m=[`<wps:bodyPr ${T.join(" ")}/>`].join("");}let E=['<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="${p}">`,`<wp:extent cx="${n}" cy="${r}"/>`,'<wp:effectExtent l="0" t="0" r="0" b="0"/>',`<wp:docPr id="${f}" name="${O(d)}"/>`,"<wp:cNvGraphicFramePr/>",E,"</wp:inline>","</w:drawing>"].join("");let F=t.wrap?.type==="behind"?"1":"0",M=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>',S=Gn(t.wrap);return ["<w:drawing>",`<wp:anchor distT="${s}" distB="${a}" distL="${c}" distR="${p}" simplePos="0" relativeHeight="251658240" behindDoc="${F}" locked="0" layoutInCell="1" allowOverlap="1">`,'<wp:simplePos x="0" y="0"/>',M,`<wp:extent cx="${n}" cy="${r}"/>`,'<wp:effectExtent l="0" t="0" r="0" b="0"/>',S,`<wp:docPr id="${f}" name="${O(d)}"/>`,"<wp:cNvGraphicFramePr/>",E,"</wp:anchor>","</w:drawing>"].join("")}function _i(e){switch(e.type){case "text":return Ii(e);case "tab":return $i();case "break":return Di(e);case "symbol":return Ai(e);case "footnoteRef":case "endnoteRef":return Bi(e);case "fieldChar":return Li(e);case "instrText":return Ni(e);case "softHyphen":return Xi();case "noBreakHyphen":return Hi();case "drawing":return zi(e);case "shape":return Wi(e);default:return ""}}function ie(e){let t=[],n=it(e.formatting);n&&t.push(n);for(let r of e.content){let o=_i(r);o&&t.push(o);}return `<w:r>${t.join("")}</w:r>`}function j(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 Ui(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 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 Gi(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 Ji(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 Zi(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 Yi(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 Ki(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 Qi(e){if(!e)return "";let t=[];e.styleId&&t.push(`<w:pStyle w:val="${j(e.styleId)}"/>`),e.keepNext&&t.push("<w:keepNext/>"),e.keepLines&&t.push("<w:keepLines/>"),e.pageBreakBefore&&t.push("<w:pageBreakBefore/>");let n=Ki(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=Yi(e.numPr);r&&t.push(r);let o=Ui(e.borders);o&&t.push(o);let i=qi(e.shading);i&&t.push(i);let s=Gi(e.tabs);s&&t.push(s),e.suppressLineNumbers&&t.push("<w:suppressLineNumbers/>"),e.suppressAutoHyphens&&t.push("<w:suppressAutoHyphens/>");let a=Ji(e);a&&t.push(a);let c=Zi(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=it(e.runProperties);p&&t.push(p);}return t.length===0?"":`<w:pPr>${t.join("")}</w:pPr>`}function He(e){let t=[];e.rId&&t.push(`r:id="${e.rId}"`),e.anchor&&t.push(`w:anchor="${j(e.anchor)}"`),e.tooltip&&t.push(`w:tooltip="${j(e.tooltip)}"`),e.target&&t.push(`w:tgtFrame="${j(e.target)}"`),e.history===false&&t.push('w:history="0"'),e.docLocation&&t.push(`w:docLocation="${j(e.docLocation)}"`);let n=e.children.map(o=>o.type==="run"?ie(o):o.type==="bookmarkStart"?Zn(o):o.type==="bookmarkEnd"?Yn(o):"").join("");return `<w:hyperlink${t.length>0?" "+t.join(" "):""}>${n}</w:hyperlink>`}function Zn(e){let t=[`w:id="${e.id}"`,`w:name="${j(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 Yn(e){return `<w:bookmarkEnd w:id="${e.id}"/>`}function es(e){let t=[`w:instr="${j(e.instruction)}"`];e.fldLock&&t.push('w:fldLock="true"'),e.dirty&&t.push('w:dirty="true"');let n=e.content.map(r=>r.type==="run"?ie(r):r.type==="hyperlink"?He(r):"").join("");return `<w:fldSimple ${t.join(" ")}>${n}</w:fldSimple>`}function ts(e){let t=[],n=['w:fldCharType="begin"'];if(e.fldLock&&n.push('w:fldLock="true"'),e.dirty&&n.push('w:dirty="true"'),t.push(`<w:r><w:fldChar ${n.join(" ")}/></w:r>`),e.fieldCode.length>0)t.push(...e.fieldCode.map(r=>ie(r)));else {let o=e.instruction.startsWith(" ")||e.instruction.endsWith(" ")||e.instruction.includes(" ")?' xml:space="preserve"':"";t.push(`<w:r><w:instrText${o}>${j(e.instruction)}</w:instrText></w:r>`);}return t.push('<w:r><w:fldChar w:fldCharType="separate"/></w:r>'),t.push(...e.fieldResult.map(r=>ie(r))),t.push('<w:r><w:fldChar w:fldCharType="end"/></w:r>'),t.join("")}function ns(e){let t=e.properties,n=[];switch(t.alias&&n.push(`<w:alias w:val="${j(t.alias)}"/>`),t.tag&&n.push(`<w:tag w:val="${j(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="${j(t.dateFormat)}"/>`):n.push("<w:date/>");break;case "dropdown":{let o=(t.listItems??[]).map(i=>`<w:listItem w:displayText="${j(i.displayText)}" w:value="${j(i.value)}"/>`).join("");n.push(`<w:dropDownList>${o}</w:dropDownList>`);break}case "comboBox":{let o=(t.listItems??[]).map(i=>`<w:listItem w:displayText="${j(i.displayText)}" w:value="${j(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"?ie(o):o.type==="hyperlink"?He(o):"").join("");return `<w:sdt><w:sdtPr>${n.join("")}</w:sdtPr><w:sdtContent>${r}</w:sdtContent></w:sdt>`}function Jn(e,t){let n=t.info,r=[`w:id="${n.id}"`,`w:author="${j(n.author)}"`];n.date&&r.push(`w:date="${j(n.date)}"`);let o=t.content.map(i=>i.type==="run"?ie(i):i.type==="hyperlink"?He(i):"").join("");return `<w:${e} ${r.join(" ")}>${o}</w:${e}>`}function rs(e){switch(e.type){case "run":return ie(e);case "hyperlink":return He(e);case "bookmarkStart":return Zn(e);case "bookmarkEnd":return Yn(e);case "simpleField":return es(e);case "complexField":return ts(e);case "inlineSdt":return ns(e);case "commentRangeStart":return `<w:commentRangeStart w:id="${e.id}"/>`;case "commentRangeEnd":return `<w:commentRangeEnd w:id="${e.id}"/>`;case "insertion":return Jn("ins",e);case "deletion":return Jn("del",e);case "mathEquation":return e.ommlXml||"";default:return ""}}function ue(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=Qi(e.formatting);o&&t.push(o);for(let i of e.content){let s=rs(i);s&&t.push(s);}return `<w:p${r}>${t.join("")}</w:p>`}function os(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function se(e,t){if(!e)return "";let n=[`w:w="${e.value}"`,`w:type="${e.type}"`];return `<w:${t} ${n.join(" ")}/>`}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 Kn(e,t){if(!e)return "";let n=[];if(e.top){let r=fe(e.top,"top");r&&n.push(r);}if(e.left){let r=fe(e.left,"left");r&&n.push(r);}if(e.bottom){let r=fe(e.bottom,"bottom");r&&n.push(r);}if(e.right){let r=fe(e.right,"right");r&&n.push(r);}if(e.insideH){let r=fe(e.insideH,"insideH");r&&n.push(r);}if(e.insideV){let r=fe(e.insideV,"insideV");r&&n.push(r);}return n.length===0?"":`<w:${t}>${n.join("")}</w:${t}>`}function Qn(e,t){if(!e)return "";let n=[];return e.top&&n.push(se(e.top,"top")),e.left&&n.push(se(e.left,"left")),e.bottom&&n.push(se(e.bottom,"bottom")),e.right&&n.push(se(e.right,"right")),n.length===0?"":`<w:${t}>${n.join("")}</w:${t}>`}function er(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 is(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 ss(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 as(e){if(!e)return "";let t=[];e.styleId&&t.push(`<w:tblStyle w:val="${os(e.styleId)}"/>`);let n=ss(e.floating);n&&t.push(n),e.bidi&&t.push("<w:bidiVisual/>");let r=se(e.width,"tblW");r&&t.push(r),e.justification&&t.push(`<w:jc w:val="${e.justification}"/>`);let o=se(e.cellSpacing,"tblCellSpacing");o&&t.push(o);let i=se(e.indent,"tblInd");i&&t.push(i);let s=Kn(e.borders,"tblBorders");s&&t.push(s);let a=Qn(e.cellMargins,"tblCellMar");a&&t.push(a),e.layout&&t.push(`<w:tblLayout w:type="${e.layout}"/>`);let c=er(e.shading);c&&t.push(c);let p=is(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 ls(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 cs(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 us(e){if(!e)return "";let t=[],n=cs(e.conditionalFormat);n&&t.push(n);let r=se(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=Kn(e.borders,"tcBorders");o&&t.push(o);let i=er(e.shading);i&&t.push(i),e.noWrap&&t.push("<w:noWrap/>");let s=Qn(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 ps(e){return !e||e.length===0?"":`<w:tblGrid>${e.map(n=>`<w:gridCol w:w="${n}"/>`).join("")}</w:tblGrid>`}function fs(e){let t=[];for(let n of e)n.type==="paragraph"?t.push(ue(n)):n.type==="table"&&t.push(st(n));return t.length===0&&t.push("<w:p/>"),t.join("")}function ds(e){let t=[],n=us(e.formatting);return n&&t.push(n),t.push(fs(e.content)),`<w:tc>${t.join("")}</w:tc>`}function ms(e){let t=[],n=ls(e.formatting);n&&t.push(n);for(let r of e.cells)t.push(ds(r));return `<w:tr>${t.join("")}</w:tr>`}function st(e){let t=[],n=as(e.formatting);n&&t.push(n);let r=ps(e.columnWidths);r&&t.push(r);for(let o of e.rows)t.push(ms(o));return `<w:tbl>${t.join("")}</w:tbl>`}var W={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 hs(){let e={wpc:W.wpc,mc:W.mc,o:W.o,r:W.r,m:W.m,v:W.v,wp14:W.wp14,wp:W.wp,w10:W.w10,w:W.w,w14:W.w14,w15:W.w15,wpg:W.wpg,wps:W.wps};return Object.entries(e).map(([t,n])=>`xmlns:${t}="${n}"`).join(" ")}function Oe(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 gs(e){return `<w:headerReference ${[`w:type="${e.type}"`,`r:id="${e.rId}"`].join(" ")}/>`}function ws(e){return `<w:footerReference ${[`w:type="${e.type}"`,`r:id="${e.rId}"`].join(" ")}/>`}function ys(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 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:endnotePr>${t.join("")}</w:endnotePr>`}function bs(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 Ts(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 Cs(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 Fs(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 Ss(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=Oe(t.top,"top");i&&r.push(i);}if(t.left){let i=Oe(t.left,"left");i&&r.push(i);}if(t.bottom){let i=Oe(t.bottom,"bottom");i&&r.push(i);}if(t.right){let i=Oe(t.right,"right");i&&r.push(i);}return r.length===0?"":`<w:pgBorders${n.length>0?" "+n.join(" "):""}>${r.join("")}</w:pgBorders>`}function vs(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 ks(e){if(!e)return "";let t=[];if(e.headerReferences)for(let f of e.headerReferences)t.push(gs(f));if(e.footerReferences)for(let f of e.footerReferences)t.push(ws(f));let n=ys(e.footnotePr);n&&t.push(n);let r=xs(e.endnotePr);r&&t.push(r),e.sectionStart&&t.push(`<w:type w:val="${e.sectionStart}"/>`);let o=bs(e);o&&t.push(o);let i=Ts(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=Ss(e);s&&t.push(s);let a=Fs(e);a&&t.push(a);let c=Cs(e);c&&t.push(c);let p=vs(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 tr(e){if(e.type==="paragraph")return ue(e);if(e.type==="table")return st(e);if(e.type==="blockSdt"){let t=e.content.map(o=>tr(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 Ps(e){return e.map(t=>tr(t)).join("")}function Rs(e){let t=[];return t.push(Ps(e.content)),e.finalSectionProperties&&t.push(ks(e.finalSectionProperties)),t.join("")}function nr(e){let t=[];t.push('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>');let n=hs();return t.push(`<w:document ${n} mc:Ignorable="w14 w15 wp14">`),t.push("<w:body>"),t.push(Rs(e.package.document)),t.push("</w:body>"),t.push("</w:document>"),t.join("")}async function lt(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 at.loadAsync(e.originalBuffer),s=new at;for(let[p,f]of Object.entries(i.files)){if(f.dir){s.folder(p.replace(/\/$/,""));continue}let d=await f.async("arraybuffer");s.file(p,d,{compression:"DEFLATE",compressionOptions:{level:n}});}let a=nr(e);if(s.file("word/document.xml",a,{compression:"DEFLATE",compressionOptions:{level:n}}),r){let p="docProps/core.xml",f=i.file(p);if(f){let d=await f.async("text"),g=Es(d,{updateModifiedDate:r,modifiedBy:o});s.file(p,g,{compression:"DEFLATE",compressionOptions:{level:n}});}}return await s.generateAsync({type:"arraybuffer",compression:"DEFLATE",compressionOptions:{level:n}})}function Es(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>${rr(t.modifiedBy)}</cp:lastModifiedBy>`):n=n.replace("</cp:coreProperties>",`<cp:lastModifiedBy>${rr(t.modifiedBy)}</cp:lastModifiedBy></cp:coreProperties>`)),n}function rr(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}async function Ms(){let e=new at;e.file("[Content_Types].xml",`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
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 Ii(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=Ii(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 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 zi(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 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?Gn(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,p=t.id||"1",f=t.title||t.filename||`Picture ${p}`,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="${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 _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,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>`,zi(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>",_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"':""}/>`,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 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 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 qi(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 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 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 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"?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 is(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 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 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=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 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 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=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=as(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 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 ps(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 fs(e){if(!e)return "";let t=[],n=ps(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 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 hs(e){let t=[],n=fs(e.formatting);return n&&t.push(n),t.push(ms(e.content)),`<w:tc>${t.join("")}</w:tc>`}function gs(e){let t=[],n=us(e.formatting);n&&t.push(n);for(let r of e.cells)t.push(hs(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(gs(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 f of e.headerReferences)t.push(ys(f));if(e.footerReferences)for(let f of e.footerReferences)t.push(xs(f));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 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=ks(e);s&&t.push(s);let a=vs(e);a&&t.push(a);let c=Ss(e);c&&t.push(c);let p=Ps(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 Es(e){return e.map(t=>nr(t)).join("")}function Ms(e){let t=[];return t.push(Es(e.content)),e.finalSectionProperties&&t.push(Rs(e.finalSectionProperties)),t.join("")}function rr(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(Ms(e.package.document)),t.push("</w:body>"),t.push("</w:document>"),t.join("")}var Is={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(Is).map(([e,t])=>`xmlns:${e}="${t}"`).join(" ")}function Ds(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=$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}>`}async function ct(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 lt.loadAsync(e.originalBuffer),s=new lt;for(let[p,f]of Object.entries(i.files)){if(f.dir){s.folder(p.replace(/\/$/,""));continue}let d=await f.async("arraybuffer");s.file(p,d,{compression:"DEFLATE",compressionOptions:{level:n}});}let a=rr(e);if(s.file("word/document.xml",a,{compression:"DEFLATE",compressionOptions:{level:n}}),As(e,s,n),r){let p="docProps/core.xml",f=i.file(p);if(f){let d=await f.async("text"),h=Bs(d,{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 As(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}`,p=at(s);t.file(c,p,{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}`,p=at(s);t.file(c,p,{compression:"DEFLATE",compressionOptions:o});}}}function Bs(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>${or(t.modifiedBy)}</cp:lastModifiedBy>`):n=n.replace("</cp:coreProperties>",`<cp:lastModifiedBy>${or(t.modifiedBy)}</cp:lastModifiedBy></cp:coreProperties>`)),n}function or(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}async function Ls(){let e=new lt;e.file("[Content_Types].xml",`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
13
14
|
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
|
|
14
15
|
<Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/>
|
|
15
16
|
<Default Extension="xml" ContentType="application/xml"/>
|
|
@@ -65,22 +66,22 @@ Returns validation result with any errors found and list of valid tags.`,inputSc
|
|
|
65
66
|
<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties">
|
|
66
67
|
<Application>EigenPal DOCX Editor</Application>
|
|
67
68
|
<AppVersion>1.0.0</AppVersion>
|
|
68
|
-
</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 ir(e){let t=await Ls(),n={...e,originalBuffer:t};return ct(n)}rt();var ne={type:"string",description:"Document ID returned from docx_load"},ut={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"]},pt={type:"object",properties:{start:ut,end:ut},required:["start","end"]},Ns={name:"docx_load",description:`Load a DOCX document from base64-encoded content.
|
|
69
70
|
Returns a document ID that can be used with other tools.
|
|
70
|
-
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 f=0;f<o.length;f++)i[f]=o.charCodeAt(f);let s=i.buffer,a=await
|
|
71
|
-
Returns the document as a base64 string that can be saved to a file.`,inputSchema:{type:"object",properties:{documentId:
|
|
72
|
-
Use this when done working with a document.`,inputSchema:{type:"object",properties:{documentId:
|
|
73
|
-
Returns paragraph count, word count, table count, and other useful info.`,inputSchema:{type:"object",properties:{documentId:
|
|
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 f=0;f<o.length;f++)i[f]=o.charCodeAt(f);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 p=a.package.document.content.filter(f=>f.type==="paragraph").length;return {content:[{type:"text",text:JSON.stringify({documentId:c,source:r,paragraphCount:p,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"}},Xs={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:ne},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 ct(r.document):o=await ir(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"}},Hs={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:ne},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"}},Os={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:ne},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(p=>p.type==="paragraph"),a=i.content.filter(p=>p.type==="table"),c=0;for(let p of s)if(p.type==="paragraph"){let f=sr(p);c+=f.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"}},js={name:"docx_get_text",description:`Get the plain text content of the document.
|
|
74
75
|
Returns all text concatenated with paragraph breaks.
|
|
75
|
-
Useful for understanding document content before making edits.`,inputSchema:{type:"object",properties:{documentId:
|
|
76
|
+
Useful for understanding document content before making edits.`,inputSchema:{type:"object",properties:{documentId:ne,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 p of i.content)p.type==="paragraph"?s.push(sr(p)):p.type==="table"&&s.push("[TABLE]");let a=s.join(`
|
|
76
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(`
|
|
77
|
-
`).length:a.length})}]}},annotations:{category:"core",readOnly:true,complexity:"low"}},
|
|
78
|
-
Position is specified by paragraph index (0-indexed) and character offset.`,inputSchema:{type:"object",properties:{documentId:
|
|
79
|
-
Specify start and end positions to define the range to replace.`,inputSchema:{type:"object",properties:{documentId:
|
|
80
|
-
Specify start and end positions to define the range to delete.`,inputSchema:{type:"object",properties:{documentId:
|
|
81
|
-
Supports bold, italic, underline, font size, font family, color, and highlight.`,inputSchema:{type:"object",properties:{documentId:
|
|
82
|
-
Use document styles like "Heading1", "Heading2", "Normal", etc.`,inputSchema:{type:"object",properties:{documentId:
|
|
83
|
-
`);}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"}},zs={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:ne,position:ut,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=te(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"}},Vs={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:ne,range:pt,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=te(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"}},Ws={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:ne,range:pt},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=te(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"}},_s={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:ne,range:pt,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=te(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"}},Us={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:ne,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=te(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 sr(e){let t=[];for(let n of e.content)n.type==="run"?t.push(ar(n)):n.type==="hyperlink"&&t.push(Gs(n));return t.join("")}function ar(e){return e.content.filter(t=>t.type==="text").map(t=>t.text).join("")}function Gs(e){let t=[];for(let n of e.children)n.type==="run"&&t.push(ar(n));return t.join("")}var ft=[Ns,Xs,Hs,Os,js,zs,Vs,Ws,_s,Us];function qs(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 g of ft)s.set(g.name,g),o&&console.log(`[MCP] Registered core tool: ${g.name}`);let c=oe.getMcpTools();for(let g of c)s.has(g.name)&&console.warn(`[MCP] Tool '${g.name}' from plugin overrides existing tool`),s.set(g.name,g),o&&console.log(`[MCP] Registered plugin tool: ${g.name}`);for(let g of i)s.set(g.name,g),o&&console.log(`[MCP] Registered additional tool: ${g.name}`);let p=o?(g,m)=>{console.log(`[MCP] ${g}`,m??"");}:()=>{};async function f(g,m){let y=s.get(g);if(!y)throw new Error(`Unknown tool: ${g}`);p(`Calling tool: ${g}`,m);let k={session:a,log:p};try{let S=await y.handler(m,k);return p(`Tool ${g} completed`,S),S}catch(S){throw p(`Tool ${g} failed`,S),S}}function d(){return Array.from(s.values()).map(g=>({name:g.name,description:g.description,inputSchema:Zs(g.inputSchema),category:g.annotations?.category}))}function h(){return {name:t,version:n,toolCount:s.size}}return {tools:s,session:a,handleToolCall:f,listTools:d,getInfo:h}}async function Js(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 lr(e={}){let t=qs(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 Js(t,s);process.stdout.write(JSON.stringify(a)+`
|
|
84
|
+
`);}catch{}}),r.on("close",()=>{e.debug&&console.error("[MCP] Server closed"),process.exit(0);});}function Zs(e){return typeof e=="object"&&e!==null&&("type"in e||"properties"in e)?e:{type:"object",properties:{}}}function Ys(){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 Ks=`
|
|
84
85
|
docx-editor-mcp - MCP server for DOCX document editing
|
|
85
86
|
|
|
86
87
|
USAGE:
|
|
@@ -132,4 +133,4 @@ EXAMPLES:
|
|
|
132
133
|
|
|
133
134
|
# Start server with debug logging
|
|
134
135
|
docx-editor-mcp --debug
|
|
135
|
-
`;async function
|
|
136
|
+
`;async function Qs(){let{debug:e,help:t,version:n}=Ys();t&&(console.log(Ks),process.exit(0)),n&&(console.log("0.1.0"),process.exit(0)),oe.register(Un),e&&(console.error("[MCP CLI] Registered docxtemplater plugin"),console.error(`[MCP CLI] Total plugins: ${oe.size}`),console.error(`[MCP CLI] Total MCP tools: ${oe.getMcpTools().length}`)),await lr({name:"docx-editor",version:"0.1.0",debug:e});}Qs().catch(e=>{console.error("[MCP CLI] Fatal error:",e),process.exit(1);});
|