@p10node/office-engine 0.1.1 → 0.2.2

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.
@@ -1,7 +1,7 @@
1
1
 
2
2
  import { t as e } from "./xlsx-ops-CsjNpMI0.js";
3
3
  // src/core/worker/worker.ts?worker&inline
4
- var t = "\nconst e=e=>typeof e==`object`&&!!e;function t(e){let t=[],n=[],r=e=>(n.length?n[n.length-1].c:t).push(e),i=0,a=e.length;for(;i<a;){let t=e.indexOf(`<`,i);if(t<0){r(e.slice(i));break}t>i&&r(e.slice(i,t));let o=e[t+1];if(o===`!`||o===`?`){let n;n=e.startsWith(`<!--`,t)?e.indexOf(`-->`,t)+3:e.startsWith(`<![CDATA[`,t)?e.indexOf(`]]>`,t)+3:o===`?`?e.indexOf(`?>`,t)+2:e.indexOf(`>`,t)+1,n<=0&&(n=a),r(e.slice(t,n)),i=n;continue}if(o===`/`){let r=e.indexOf(`>`,t);n.pop(),i=r<0?a:r+1;continue}let s=-1,c=``;for(let n=t+1;n<a;n++){let t=e[n];if(c)t===c&&(c=``);else if(t===`\"`||t===`'`)c=t;else if(t===`>`){s=n;break}}s<0&&(s=a-1);let l=e.slice(t+1,s),u=l.endsWith(`/`);u&&(l=l.slice(0,-1));let d=/^[^\\s/>]+/.exec(l),f=d?d[0]:l,p={q:f,a:l.slice(f.length),c:[],self:u};r(p),u||n.push(p),i=s+1}return t}function n(e){if(Array.isArray(e)){let t=``;for(let r of e)t+=n(r);return t}return typeof e==`string`?e:e.self&&!e.c.length?`<${e.q}${e.a}/>`:`<${e.q}${e.a}>${n(e.c)}</${e.q}>`}const r=e=>e.slice(e.indexOf(`:`)+1),i=e=>e.includes(`:`)?e.slice(0,e.indexOf(`:`)+1):``;function a(t){return t.find(e)}function o(t,n){return t?t.c.filter(t=>e(t)&&(!n||r(t.q)===n)):[]}function s(t,n){if(t){for(let i of t.c)if(e(i)&&r(i.q)===n)return i}}const c=/([^\\s=]+)\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/g;function l(e,t,n=!1){c.lastIndex=0;let i;for(;i=c.exec(e.a);)if(i[1]===t||n&&r(i[1])===t)return _(i[3]??i[4]??``)}function u(e,t,n){c.lastIndex=0;let r;for(;r=c.exec(e.a);)if(r[1]===t){let i=n===void 0?``:`${t}=\"${g(n)}\"`;e.a=e.a.slice(0,r.index)+i+e.a.slice(r.index+r[0].length),n===void 0&&(e.a=e.a.replace(/\\s+$/,``).replace(/\\s{2,}/g,` `));return}n!==void 0&&(e.a=`${e.a.replace(/\\s+$/,``)} ${t}=\"${g(n)}\"`)}function d(e,t={},n=[]){let r=``;for(let[e,n]of Object.entries(t))n!==void 0&&(r+=` ${e}=\"${g(n)}\"`);return{q:e,a:r,c:n,self:n.length===0}}function f(e){if(typeof e==`string`)return e;let t=e;return{q:t.q,a:t.a,self:t.self,c:t.c.map(f)}}function p(t,n){let i=typeof n==`string`?e=>e===n:n;t.c=t.c.filter(t=>!(e(t)&&i(r(t.q))))}function m(t,n,i,a){let o=t.c.findIndex(t=>e(t)&&r(t.q)===i);if(o>=0){n?t.c[o]=n:t.c.splice(o,1),t.self=t.c.length===0;return}if(!n)return;let s=a.indexOf(i),c=t.c.length;for(let n=0;n<t.c.length;n++){let i=t.c[n];if(e(i)&&a.indexOf(r(i.q))>s){c=n;break}}t.c.splice(c,0,n),t.self=!1}function h(e){return e.replace(/[\\u0000-\\u0008\\u000b\\u000c\\u000e-\\u001f\\uFFFE\\uFFFF]/g,``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function g(e){return h(e).replace(/\"/g,`&quot;`)}function _(e){return e.indexOf(`&`)<0?e:e.replace(/&(lt|gt|amp|quot|apos|#\\d+|#x[0-9a-fA-F]+);/g,(e,t)=>{switch(t){case`lt`:return`<`;case`gt`:return`>`;case`amp`:return`&`;case`quot`:return`\"`;case`apos`:return`'`}let n=t[1]===`x`?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return Number.isFinite(n)?String.fromCodePoint(n):e})}function v(t,n){let i=t=>{let a=!1,o=r(t.q)===`AlternateContent`;for(let s=0;s<t.c.length;s++){let c=t.c[s];if(!e(c))continue;let l=r(c.q);if(l!==`Fallback`){if(o&&l===`Choice`){if(a)continue;a=!0,i(c)}else l===`AlternateContent`?i(c):n(c,t,s)||i(c)}}};i(t)}const y=`http://schemas.openxmlformats.org/officeDocument/2006/relationships`;function b(e,t=`id`,n){let r=RegExp(`xmlns:([\\\\w.-]+)=\"${y.replace(/[.]/g,`\\\\.`)}\"`).exec(e.a);return r?{[`${r[1]}:${t}`]:n}:{\"xmlns:r\":y,[`r:${t}`]:n}}const x=(e,t)=>Number(e.getBigUint64(t,!0));var S=class e{src;entries=/* @__PURE__ */ new Map;constructor(e){this.src=e}static async open(t){let n=new e(t);return await n.readDirectory(),n}async readDirectory(){let{src:e}=this;if(e.size<22)throw Error(`Not a ZIP/OOXML file (too small)`);let t=Math.min(e.size,65577),n=e.size-t,r=await e.read(n,t),i=new DataView(r.buffer,r.byteOffset,r.byteLength),a=-1;for(let e=r.length-22;e>=0;e--)if(i.getUint32(e,!0)===101010256){a=e;break}if(a<0){let t=await e.read(0,8);throw t[0]===208&&t[1]===207?Error(`Legacy binary Office format (.doc/.xls/.ppt) or encrypted file is not supported`):Error(`Not a ZIP/OOXML file (no end of central directory)`)}let o=i.getUint16(a+10,!0),s=i.getUint32(a+12,!0),c=i.getUint32(a+16,!0);if(o===65535||s===4294967295||c===4294967295){let t=a-20;if(t>=0&&i.getUint32(t,!0)===117853008){let n=x(i,t+8),r=await e.read(n,56),a=new DataView(r.buffer,r.byteOffset,r.byteLength);a.getUint32(0,!0)===101075792&&(o=x(a,32),s=x(a,40),c=x(a,48))}}let l=await e.read(c,s),u=new DataView(l.buffer,l.byteOffset,l.byteLength),d=new TextDecoder,f=0;for(let e=0;e<o&&f+46<=l.length&&u.getUint32(f,!0)===33639248;e++){let e=u.getUint16(f+8,!0),t=u.getUint16(f+10,!0),n=u.getUint16(f+12,!0),r=u.getUint16(f+14,!0),i=u.getUint32(f+16,!0),a=u.getUint32(f+20,!0),o=u.getUint32(f+24,!0),s=u.getUint16(f+28,!0),c=u.getUint16(f+30,!0),p=u.getUint16(f+32,!0),m=u.getUint32(f+42,!0),h=d.decode(l.subarray(f+46,f+46+s));if(o===4294967295||a===4294967295||m===4294967295){let e=f+46+s,t=e+c;for(;e+4<=t;){let t=u.getUint16(e,!0),n=u.getUint16(e+2,!0);if(t===1){let t=e+4;o===4294967295&&(o=x(u,t),t+=8),a===4294967295&&(a=x(u,t),t+=8),m===4294967295&&(m=x(u,t));break}e+=4+n}}h.endsWith(`/`)||this.entries.set(C(h),{name:h,method:t,flags:e,crc:i,time:n,date:r,compSize:a,size:o,localOffset:m}),f+=46+s+c+p}}list(){return[...this.entries.values()]}get(e){return this.entries.get(C(e))}has(e){return this.entries.has(C(e))}async dataOffset(e){if(e.dataOffset!==void 0)return e.dataOffset;let t=await this.src.read(e.localOffset,30),n=new DataView(t.buffer,t.byteOffset,t.byteLength);if(n.getUint32(0,!0)!==67324752)throw Error(`Corrupt ZIP local header for ${e.name}`);return e.dataOffset=e.localOffset+30+n.getUint16(26,!0)+n.getUint16(28,!0),e.dataOffset}async rawData(e){let t=await this.dataOffset(e);return this.src.slice?this.src.slice(t,e.compSize):this.src.read(t,e.compSize)}async stream(e,t){let n=this.get(e);if(!n)throw Error(`Missing part: ${e}`);if(n.flags&1)throw Error(`Encrypted documents are not supported`);let r=await this.dataOffset(n),i=this.src.stream(r,n.compSize);if(t){let e=0,r=n.compSize;i=i.pipeThrough(new TransformStream({transform(n,i){e+=n.length,t(e,r),i.enqueue(n)}}))}if(n.method===0)return i;if(n.method===8)return i.pipeThrough(new DecompressionStream(`deflate-raw`));throw Error(`Unsupported ZIP compression method ${n.method} for ${n.name}`)}async bytes(e){let t=this.get(e);if(!t)throw Error(`Missing part: ${e}`);let n=(await this.stream(e)).getReader(),r=new Uint8Array(t.size),i=0,a=[];for(;;){let{done:e,value:t}=await n.read();if(e)break;i+t.length<=r.length?r.set(t,i):a.push(t),i+=t.length}if(!a.length)return i===r.length?r:r.subarray(0,i);let o=new Uint8Array(i);o.set(r);let s=r.length;for(let e of a)o.set(e,s),s+=e.length;return o}async text(e){return new TextDecoder().decode(await this.bytes(e))}};function C(e){return e.replace(/^\\/+/,``).replace(/\\\\/g,`/`).toLowerCase()}const w=(()=>{let e=/* @__PURE__ */ new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n>>>0}return e})();function ee(e,t=0){let n=~t>>>0;for(let t=0;t<e.length;t++)n=w[(n^e[t])&255]^n>>>8;return~n>>>0}const te=globalThis.Bun!==void 0;async function ne(e){let t=0,n=0,r=e.pipeThrough(new TransformStream({transform(e,r){t=ee(e,t),n+=e.length,r.enqueue(e)}})).pipeThrough(new CompressionStream(`deflate-raw`)).getReader(),i=[],a=0;for(;;){let{done:e,value:t}=await r.read();if(e)break;i.push(t),a+=t.length}return{chunks:i,crc:t,size:n,csize:a}}function re(e){if(typeof e==`function`)return e();let t=typeof e==`string`?new TextEncoder().encode(e):e;return new ReadableStream({start(e){e.enqueue(t),e.close()}})}function ie(){let e=/* @__PURE__ */ new Date;return{time:e.getHours()<<11|e.getMinutes()<<5|e.getSeconds()>>1,date:e.getFullYear()-1980<<9|e.getMonth()+1<<5|e.getDate()}}async function ae(e,t,n=`application/zip`){let r=new TextEncoder,i=[],a=[],o=0,s=0,c=/* @__PURE__ */ new Map;for(let[e,n]of t)c.set(C(e),{name:e.replace(/^\\/+/,``),data:n});let l=(e,t,n,c,l,u,d,f)=>{let p=r.encode(e),m=/[^\\x20-\\x7e]/.test(e)?2048:0;if(o>4294967280||c>4294967280)throw Error(`Saved file exceeds 4 GB (ZIP64 writing not supported)`);let h=new Uint8Array(30+p.length),g=new DataView(h.buffer);g.setUint32(0,67324752,!0),g.setUint16(4,20,!0),g.setUint16(6,m,!0),g.setUint16(8,t,!0),g.setUint16(10,u,!0),g.setUint16(12,d,!0),g.setUint32(14,n,!0),g.setUint32(18,c,!0),g.setUint32(22,l,!0),g.setUint16(26,p.length,!0),h.set(p,30);let _=new Uint8Array(46+p.length),v=new DataView(_.buffer);v.setUint32(0,33639248,!0),v.setUint16(4,20,!0),v.setUint16(6,20,!0),v.setUint16(8,m,!0),v.setUint16(10,t,!0),v.setUint16(12,u,!0),v.setUint16(14,d,!0),v.setUint32(16,n,!0),v.setUint32(20,c,!0),v.setUint32(24,l,!0),v.setUint16(28,p.length,!0),v.setUint32(42,o,!0),_.set(p,46),i.push(h,...f),a.push(_),o+=h.length+c,s++},u=async(e,t)=>{let n=await ne(re(t)),{time:r,date:i}=ie();l(e,8,n.crc,n.csize,n.size,r,i,n.chunks)};for(let t of e?.list()??[]){let n=C(t.name),r=c.get(n);if(r){c.delete(n),r.data!==null&&await u(t.name,r.data);continue}let i=await e.rawData(t);te&&i instanceof Blob&&(i=new Uint8Array(await i.arrayBuffer())),l(t.name,t.method,t.crc,t.compSize,t.size,t.time,t.date,[i])}for(let{name:e,data:t}of c.values())t!==null&&await u(e,t);let d=a.reduce((e,t)=>e+t.length,0),f=/* @__PURE__ */ new Uint8Array(22),p=new DataView(f.buffer);return p.setUint32(0,101010256,!0),p.setUint16(8,s,!0),p.setUint16(10,s,!0),p.setUint32(12,d,!0),p.setUint32(16,o,!0),new Blob([...i,...a,f],{type:n})}const oe=/* @__PURE__ */ new Set([`http://schemas.openxmlformats.org/officeDocument/2006/relationships`,`http://purl.oclc.org/ooxml/officeDocument/relationships`]),se={lt:`<`,gt:`>`,amp:`&`,quot:`\"`,apos:`'`};function ce(e){return e.indexOf(`&`)<0?e:e.replace(/&(#x[0-9a-fA-F]+|#\\d+|[a-zA-Z]+);/g,(e,t)=>{if(t[0]===`#`){let n=t[1]===`x`||t[1]===`X`?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return Number.isFinite(n)&&n<=1114111?String.fromCodePoint(n):e}return se[t]??e})}const le=e=>e===32||e===9||e===10||e===13;var ue=class{h;raw;buf=``;depth=0;skipDepth=-1;relPrefixes=/* @__PURE__ */ new Set([`r`]);constructor(e,t){this.h=e,this.raw=t}write(e){this.buf=this.buf.length?this.buf+e:e,this.run(!1)}end(){this.run(!0),this.buf=``}run(e){let t=this.buf,n=t.length,r=0;for(;r<n;){let i=t.indexOf(`<`,r);if(i<0){if(e){let e=t.substring(r);this.raw?.(e),this.onText(e),r=n}break}if(i>r){let e=t.substring(r,i);this.raw?.(e),this.onText(e)}if(r=i,i+1>=n)break;let a=t.charCodeAt(i+1);if(a===47){let e=t.indexOf(`>`,i+2);if(e<0)break;this.raw?.(t.substring(i,e+1)),this.onClose(t.substring(i+2,e)),r=e+1;continue}if(a===63){let e=t.indexOf(`?>`,i+2);if(e<0)break;this.raw?.(t.substring(i,e+2)),r=e+2;continue}if(a===33){if(n-i<9&&!e)break;if(t.startsWith(`<!--`,i)){let e=t.indexOf(`-->`,i+4);if(e<0)break;this.raw?.(t.substring(i,e+3)),r=e+3;continue}if(t.startsWith(`<![CDATA[`,i)){let e=t.indexOf(`]]>`,i+9);if(e<0)break;this.raw?.(t.substring(i,e+3)),this.skipDepth<0&&this.h.text(t.substring(i+9,e)),r=e+3;continue}let a=t.indexOf(`>`,i+2);if(a<0)break;this.raw?.(t.substring(i,a+1)),r=a+1;continue}let o=-1,s=0;for(let e=i+1;e<n;e++){let n=t.charCodeAt(e);if(s!==0)n===s&&(s=0);else if(n===34||n===39)s=n;else if(n===62){o=e;break}}if(o<0)break;this.raw?.(t.substring(i,o+1)),this.onOpen(t,i+1,o),r=o+1}this.buf=r>=n?``:t.substring(r)}onText(e){this.skipDepth>=0||this.depth===0||this.h.text(e.indexOf(`&`)>=0?ce(e):e)}onOpen(e,t,n){let r=n,i=!1;if(e.charCodeAt(n-1)===47&&(i=!0,r=n-1),this.skipDepth>=0){i||this.depth++;return}let a=t;for(;a<r&&!le(e.charCodeAt(a));)a++;let o=e.substring(t,a),s=o.indexOf(`:`),c=s<0?o:o.substring(s+1),l={};for(;a<r;){if(le(e.charCodeAt(a))){a++;continue}let t=e.indexOf(`=`,a);if(t<0||t>=r)break;let n=e.substring(a,t).trim(),i=t+1;for(;i<r&&e.charCodeAt(i)!==34&&e.charCodeAt(i)!==39;)i++;if(i>=r)break;let o=e.indexOf(e[i],i+1);if(o<0)break;let s=e.substring(i+1,o);a=o+1;let c=n.indexOf(`:`);if(c>=0){let e=n.substring(0,c),t=n.substring(c+1);if(e===`xmlns`){oe.has(s)&&this.relPrefixes.add(t);continue}n=this.relPrefixes.has(e)?`r:`+t:t}else if(n===`xmlns`)continue;l[n]=s.indexOf(`&`)>=0?ce(s):s}let u=this.h.open(c,l,i);i?u||this.h.close(c):(this.depth++,u&&(this.skipDepth=this.depth))}onClose(e){if(this.skipDepth>=0){this.depth===this.skipDepth&&(this.skipDepth=-1),this.depth--;return}this.depth--;let t=e.trim(),n=t.indexOf(`:`);this.h.close(n<0?t:t.substring(n+1))}},de=class extends Error{constructor(){super(`aborted`),this.name=`AbortError`}};async function fe(e,t,n={}){let r=e.getReader(),i=new TextDecoder,a=new ue(t,n.raw);try{for(;;){if(n.signal?.aborted)throw new de;let{done:e,value:t}=await r.read();if(e)break;a.write(i.decode(t,{stream:!0})),n.onChunk&&await n.onChunk(t.length)}a.write(i.decode()),a.end()}catch(e){throw r.cancel().catch(()=>{}),e}}var pe=class{o;root=null;stack=[];parents=[];depth=0;alt=[];constructor(e={}){this.o=e}open(e,t){if(e===`Fallback`||this.o.skip?.has(e))return!0;if(e===`AlternateContent`){this.alt.push(!1),this.stack.push(0);return}if(e===`Choice`&&this.alt.length){let e=this.alt.length-1;if(this.alt[e])return!0;this.alt[e]=!0,this.stack.push(0);return}let n=this.depth++;if(this.o.emitDepth!==void 0&&n<this.o.emitDepth){this.o.onShallowOpen?.(e,t,n),this.stack.push(1);return}let r={n:e,a:t,c:[],t:``},i=this.parents[this.parents.length-1];i&&i.c.push(r),this.parents.push(r),this.stack.push(r)}close(e){let t=this.stack.pop();t===0?e===`AlternateContent`&&this.alt.pop():(this.depth--,t!==1&&t!==void 0&&(this.parents.pop(),this.parents.length===0&&(this.o.emitDepth===void 0?this.root=t:this.o.onElement?.(t))))}text(e){let t=this.parents[this.parents.length-1];t&&(t.t+=e)}};function me(e,t){let n=new pe({skip:t}),r=new ue(n);if(r.write(e),r.end(),!n.root)throw Error(`Empty XML document`);return n.root}function T(e,t){if(e){for(let n of e.c)if(n.n===t)return n}}function E(e,t){return e?e.c.filter(e=>e.n===t):[]}function D(e,...t){let n=e;for(let e of t)if(n=T(n,e),!n)return;return n}function he(e,t){if(e)for(let n of e.c){if(n.n===t)return n;let e=he(n,t);if(e)return e}}function ge(e,t,n=[]){if(!e)return n;for(let r of e.c)r.n===t?n.push(r):ge(r,t,n);return n}function O(e,t){if(e===void 0||e===``)return t;let n=Number(e);return Number.isFinite(n)?n:t}function k(e,t=`val`){if(!e)return;let n=e.a[t];return n===void 0||n!==`0`&&n!==`false`&&n!==`off`&&n!==`none`}function _e(e){if(!e)return``;if(!e.c.length)return e.t;let t=``;for(let n of e.c)t+=n.n===`t`?n.t:_e(n);return t}const ve={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,jpe:`image/jpeg`,gif:`image/gif`,bmp:`image/bmp`,svg:`image/svg+xml`,webp:`image/webp`,tif:`image/tiff`,tiff:`image/tiff`,ico:`image/x-icon`,emf:`image/emf`,wmf:`image/wmf`,mp4:`video/mp4`,m4v:`video/mp4`,mov:`video/quicktime`,mp3:`audio/mpeg`,wav:`audio/wav`,m4a:`audio/mp4`};function ye(e){let t=e.split(`.`).pop()?.toLowerCase()??``;return ve[t]??`application/octet-stream`}function be(e){let t=e.lastIndexOf(`/`);return t<0?``:e.slice(0,t)}function xe(e,t){if(t.startsWith(`/`))return t.slice(1);let n=e?e.split(`/`):[];for(let e of t.split(`/`))e===`..`?n.pop():e&&e!==`.`&&n.push(e);return n.join(`/`)}function Se(e,t){let n=e?e.split(`/`):[],r=t.split(`/`),i=0;for(;i<n.length&&i<r.length-1&&n[i]===r[i];)i++;return[...n.slice(i).map(()=>`..`),...r.slice(i)].join(`/`)}function A(e){let t=be(e),n=e.slice(t.length?t.length+1:0);return(t?t+`/`:``)+`_rels/`+n+`.rels`}var Ce=class{zip;relsCache=/* @__PURE__ */ new Map;xmlCache=/* @__PURE__ */ new Map;contentTypes;changes=/* @__PURE__ */ new Map;constructor(e){this.zip=e}has(e){let t=this.changes.get(C(e));return t?t.data!==null:this.zip.has(e)}get dirty(){return this.changes.size>0}async text(e){let t=this.changes.get(C(e));if(t){if(t.data===null)throw Error(`Missing part: ${e}`);if(typeof t.data==`string`)return t.data;if(t.data instanceof Uint8Array)return new TextDecoder().decode(t.data);throw Error(`Part ${e} is a stream`)}return this.zip.text(e)}async stream(e,t){let n=this.changes.get(C(e));if(!n)return this.zip.stream(e,t);if(n.data===null)throw Error(`Missing part: ${e}`);if(typeof n.data==`function`)return n.data();let r=typeof n.data==`string`?new TextEncoder().encode(n.data):n.data;return new ReadableStream({start(e){e.enqueue(r),e.close()}})}setPart(e,t){e=e.replace(/^\\/+/,``),this.changes.set(C(e),{path:e,data:t}),this.xmlCache.delete(e),this.relsCache.clear(),/\\[content_types\\]\\.xml$/i.test(e)&&(this.contentTypes=void 0)}async save(e){let t=/* @__PURE__ */ new Map;for(let{path:e,data:n}of this.changes.values())t.set(e,n);return ae(this.zip,t,e)}async addRel(e,r,i,s=!1){let c=A(e),u=this.has(c)?t(await this.text(c)):t(`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"></Relationships>`),f=a(u),p=new Set(o(f,`Relationship`).map(e=>l(e,`Id`))),m=p.size+1;for(;p.has(`rId${m}`);)m++;let h=`rId${m}`;return f.c.push(d(`Relationship`,s?{Id:h,Type:r,Target:i,TargetMode:`External`}:{Id:h,Type:r,Target:Se(be(e),i)})),f.self=!1,this.setPart(c,n(u)),h}async removeRelsTo(r,i){let o=A(r);if(!this.has(o))return;let s=t(await this.text(o)),c=a(s),u=be(r);c.c=c.c.filter(t=>!(e(t)&&xe(u,l(t,`Target`)??``).toLowerCase()===i.toLowerCase())),this.setPart(o,n(s))}async ensureDefaultType(e,r){let i=`[Content_Types].xml`,s=t(await this.text(i)),c=a(s);o(c,`Default`).some(t=>l(t,`Extension`)?.toLowerCase()===e.toLowerCase())||(c.c.unshift(d(`Default`,{Extension:e,ContentType:r})),this.setPart(i,n(s)))}freeName(e,t,n){for(let r=1;;r++){let i=`${e}/${t}${r}.${n}`;if(!this.has(i))return i}}async setContentType(r,i){let o=`[Content_Types].xml`,s=t(await this.text(o)),c=a(s),u=`/`+r.replace(/^\\/+/,``);c.c=c.c.filter(t=>!(e(t)&&l(t,`PartName`)?.toLowerCase()===u.toLowerCase())),i&&c.c.push(d(`Override`,{PartName:u,ContentType:i})),this.setPart(o,n(s))}xml(e,t=!0){let n=async()=>this.has(e)?me(await this.text(e),Te):void 0;if(!t)return n();let r=this.xmlCache.get(e);return r||this.xmlCache.set(e,r=n()),r}rels(e){let t=this.relsCache.get(e);return t||(t=(async()=>{let t=/* @__PURE__ */ new Map,n=A(e);if(!this.has(n))return t;let r=me(await this.text(n)),i=be(e);for(let e of E(r,`Relationship`)){let n=e.a.TargetMode===`External`,r=e.a.Target??``;t.set(e.a.Id,{id:e.a.Id,type:e.a.Type??``,external:n,target:n?r:xe(i,r)})}return t})(),this.relsCache.set(e,t)),t}async contentType(e){this.contentTypes||=(async()=>{let e=/* @__PURE__ */ new Map;if(!this.has(`[Content_Types].xml`))return e;let t=me(await this.text(`[Content_Types].xml`));for(let n of E(t,`Default`))e.set(`ext:`+(n.a.Extension??``).toLowerCase(),n.a.ContentType);for(let n of E(t,`Override`))e.set((n.a.PartName??``).replace(/^\\//,``).toLowerCase(),n.a.ContentType);return e})();let t=await this.contentTypes,n=e.toLowerCase();return t.get(n)??t.get(`ext:`+(n.split(`.`).pop()??``))}async blob(e){let t=this.changes.get(C(e)),n=t&&t.data!==null&&typeof t.data!=`function`?typeof t.data==`string`?new TextEncoder().encode(t.data):t.data:await this.zip.bytes(e);return new Blob([n],{type:ye(e)})}async mainPart(){let e=await this.rels(``),t;for(let n of e.values())n.type.endsWith(`/officeDocument`)&&(t=n.target);let n=[[`word/document.xml`,`docx`],[`xl/workbook.xml`,`xlsx`],[`ppt/presentation.xml`,`pptx`]];if(t||=n.find(([e])=>this.zip.has(e))?.[0],!t)throw Error(`Not an Office Open XML document (no main part found)`);let r=await this.contentType(t)??``,i;if(i=r.includes(`wordprocessingml`)?`docx`:r.includes(`spreadsheetml`)?`xlsx`:r.includes(`presentationml`)?`pptx`:n.find(([e])=>t.toLowerCase().startsWith(e.split(`/`)[0]+`/`))?.[1],!i)throw Error(`Unsupported document type (${r||t})`);return{path:t,kind:i}}};function j(e,t){for(let n of e.values())if(n.type.endsWith(`/`+t))return n}function we(e,t){return[...e.values()].filter(e=>e.type.endsWith(`/`+t))}const Te=/* @__PURE__ */ new Set([`extLst`]),Ee={colors:{dk1:`#000000`,lt1:`#ffffff`,dk2:`#44546a`,lt2:`#e7e6e6`,accent1:`#4472c4`,accent2:`#ed7d31`,accent3:`#a5a5a5`,accent4:`#ffc000`,accent5:`#5b9bd5`,accent6:`#70ad47`,hlink:`#0563c1`,folHlink:`#954f72`},major:`Calibri Light`,minor:`Calibri`,fillStyles:[],bgFillStyles:[],lineStyles:[]};function De(e){if(!e)return Ee;let t=T(e,`themeElements`),n={...Ee.colors};for(let e of T(t,`clrScheme`)?.c??[]){let t=e.c[0];t&&(t.n===`srgbClr`&&t.a.val?n[e.n]=`#`+t.a.val.toLowerCase():t.n===`sysClr`&&(n[e.n]=`#`+(t.a.lastClr??(t.a.val===`window`?`ffffff`:`000000`)).toLowerCase()))}let r=T(t,`fontScheme`),i=T(t,`fmtScheme`);return{colors:n,major:D(r,`majorFont`,`latin`)?.a.typeface||Ee.major,minor:D(r,`minorFont`,`latin`)?.a.typeface||Ee.minor,fillStyles:T(i,`fillStyleLst`)?.c??[],bgFillStyles:T(i,`bgFillStyleLst`)?.c??[],lineStyles:E(T(i,`lnStyleLst`),`ln`)}}const Oe=9525,M=e=>(e??0)/Oe,ke=e=>(e??0)/12700,Ae={calibri:`Carlito`,cambria:`Caladea`,arial:`\"Liberation Sans\", Arimo`,helvetica:`\"Liberation Sans\", Arimo`,\"times new roman\":`\"Liberation Serif\", Tinos`,\"courier new\":`\"Liberation Mono\", Cousine`,\"segoe ui\":`system-ui`,\"calibri light\":`Carlito`,aptos:`\"Segoe UI\", system-ui`,\"aptos display\":`\"Segoe UI\", system-ui`},je=/times|cambria|georgia|garamond|book|serif|palatino|minion|baskerville|didot|caslon|mincho|song/i,Me=/courier|mono|consolas|menlo|code/i,Ne=/* @__PURE__ */ new Map;function Pe(e){if(!e)return;let t=Ne.get(e);if(t)return t;let n=e.toLowerCase(),r=Me.test(e)?`monospace`:je.test(e)&&!/sans/i.test(e)?`serif`:`sans-serif`,i=Ae[n];return t=`\"${e.replace(/\"/g,``)}\"${i?`, `+i:``}, ${r}`,Ne.set(e,t),t}const Fe={yellow:`#ffff00`,green:`#00ff00`,cyan:`#00ffff`,magenta:`#ff00ff`,blue:`#0000ff`,red:`#ff0000`,darkBlue:`#000080`,darkCyan:`#008080`,darkGreen:`#008000`,darkMagenta:`#800080`,darkRed:`#800000`,darkYellow:`#808000`,darkGray:`#808080`,lightGray:`#c0c0c0`,black:`#000000`,white:`#ffffff`},Ie=e=>e&&e!==`auto`&&/^[0-9a-fA-F]{6}$/.test(e)?`#`+e.toLowerCase():void 0;function Le(e){if(e)return Ie(e.a.fill)??(e.a.val===`solid`?Ie(e.a.color):void 0)}const Re={single:`solid`,thick:`solid`,double:`double`,dotted:`dotted`,dashed:`dashed`,dotDash:`dashed`,dotDotDash:`dotted`,triple:`double`,thinThickSmallGap:`double`,thickThinSmallGap:`double`,wave:`solid`,dashSmallGap:`dashed`,outset:`outset`,inset:`inset`};function ze(e){if(!e)return;let t=e.a.val;if(!t||t===`nil`||t===`none`)return null;let n=Math.max(.5,(O(e.a.sz)??4)/8);return{w:t===`double`?Math.max(n,2.25):n,style:Re[t]??`solid`,color:Ie(e.a.color)??`#000000`}}const Be=e=>e===null?`none`:e?`${e.w}pt ${e.style} ${e.color}`:void 0;function Ve(e,t){let n=e.a.asciiTheme??e.a.hAnsiTheme;return Pe(n?n.startsWith(`major`)?t.major:t.minor:e.a.ascii??e.a.hAnsi??e.a.cs??e.a.eastAsia)}function He(e,t){let n={};if(!e)return n;for(let r of e.c)switch(r.n){case`b`:n.b=k(r);break;case`i`:n.i=k(r);break;case`strike`:n.strike=k(r);break;case`dstrike`:n.dstrike=k(r);break;case`caps`:n.caps=k(r);break;case`smallCaps`:n.smallCaps=k(r);break;case`vanish`:n.vanish=k(r);break;case`u`:n.u=r.a.val??`single`;break;case`color`:{let e=Ie(r.a.val);e&&(n.color=e);break}case`sz`:{let e=O(r.a.val);e&&(n.sz=e/2);break}case`rFonts`:{let e=Ve(r,t);e&&(n.font=e);break}case`highlight`:{let e=Fe[r.a.val];e&&(n.hl=e);break}case`shd`:{let e=Le(r);e&&(n.shd=e);break}case`vertAlign`:n.va=r.a.val===`superscript`?`sup`:r.a.val===`subscript`?`sub`:void 0;break;case`spacing`:{let e=O(r.a.val);e&&(n.spacing=e/20);break}}return n}function Ue(e){let t={},n={ps:t};if(!e)return n;for(let r of e.c)switch(r.n){case`pStyle`:n.styleId=r.a.val;break;case`numPr`:{let e=T(r,`numId`)?.a.val;e!==void 0&&(n.numPr={numId:e,ilvl:O(T(r,`ilvl`)?.a.val,0)});break}case`jc`:{let e=r.a.val;t.align=e===`center`?`center`:e===`right`||e===`end`?`right`:e===`both`||e===`distribute`?`justify`:`left`;break}case`ind`:{let e=O(r.a.left??r.a.start),n=O(r.a.right??r.a.end);e!==void 0&&(t.indL=e/20),n!==void 0&&(t.indR=n/20);let i=O(r.a.hanging),a=O(r.a.firstLine);i===void 0?a!==void 0&&(t.indFirst=a/20):t.indFirst=-i/20;break}case`spacing`:{let e=O(r.a.before),n=O(r.a.after);r.a.beforeAutospacing===`1`||r.a.beforeAutospacing===`true`?t.before=14:e!==void 0&&(t.before=e/20),r.a.afterAutospacing===`1`||r.a.afterAutospacing===`true`?t.after=14:n!==void 0&&(t.after=n/20);let i=O(r.a.line);if(i!==void 0){let e=r.a.lineRule??`auto`;t.lineRule=e,t.line=e===`auto`?i/240:i/20}break}case`shd`:{let e=Le(r);e&&(t.shd=e);break}case`pBdr`:{let e=ze(T(r,`top`)),n=ze(T(r,`bottom`)),i=ze(T(r,`left`)??T(r,`start`)),a=ze(T(r,`right`)??T(r,`end`));e&&(t.bTop=e),n&&(t.bBottom=n),i&&(t.bLeft=i),a&&(t.bRight=a);break}case`keepNext`:t.keepNext=k(r);break;case`contextualSpacing`:t.contextual=k(r);break;case`pageBreakBefore`:t.pageBreakBefore=k(r);break;case`outlineLvl`:t.outline=O(r.a.val);break;case`sectPr`:n.sectPr=r}return n}const N=(...e)=>Object.assign({},...e.filter(Boolean)),We={normal:`normal`,title:`title`,subtitle:`subtitle`,\"heading 1\":`h1`,\"heading 2\":`h2`,\"heading 3\":`h3`,\"heading 4\":`h4`,\"heading 5\":`h5`,\"heading 6\":`h6`,heading1:`h1`,heading2:`h2`,heading3:`h3`,heading4:`h4`,heading5:`h5`,heading6:`h6`};var Ge=class{theme;defs=/* @__PURE__ */ new Map;paraCache=/* @__PURE__ */ new Map;charCache=/* @__PURE__ */ new Map;tblCache=/* @__PURE__ */ new Map;defaultPara;defaultTable;docRs={};docPs={};constructor(e,t){if(this.theme=t,!e)return;let n=T(e,`docDefaults`);this.docRs=He(D(n,`rPrDefault`,`rPr`),t),this.docPs=Ue(D(n,`pPrDefault`,`pPr`)).ps;for(let t of E(e,`style`)){let e=t.a.styleId;if(!e)continue;let n={id:e,type:t.a.type??`paragraph`,basedOn:T(t,`basedOn`)?.a.val,el:t,isDefault:t.a.default===`1`||t.a.default===`true`,name:T(t,`name`)?.a.val??e,next:T(t,`next`)?.a.val,quick:!!T(t,`qFormat`),hidden:!!T(t,`semiHidden`)||!!T(t,`hidden`)};this.defs.set(e,n),n.isDefault&&n.type===`paragraph`&&(this.defaultPara=e),n.isDefault&&n.type===`table`&&(this.defaultTable=e)}}add(e){let t=e.a.styleId;t&&(this.defs.set(t,{id:t,type:e.a.type??`paragraph`,basedOn:T(e,`basedOn`)?.a.val,el:e,isDefault:!1,name:T(e,`name`)?.a.val??t,next:T(e,`next`)?.a.val,quick:!!T(e,`qFormat`),hidden:!1}),this.paraCache.clear())}canonical(){let e={};this.defaultPara&&(e.normal=this.defaultPara);for(let t of this.defs.values()){if(t.type!==`paragraph`)continue;let n=We[t.name.toLowerCase()]??We[t.id.toLowerCase()];n&&!e[n]&&(e[n]=t.id)}return e}has(e){return this.defs.has(e)}quickStyles(){let e=e=>e.replace(/^heading (\\d)$/i,`Heading $1`).replace(/^\\w/,e=>e.toUpperCase()),t=this.canonical(),n=new Map(Object.entries(t).map(([e,t])=>[t,e]));return[...this.defs.values()].filter(e=>e.type===`paragraph`&&(e.isDefault||n.has(e.id)||e.quick&&!e.hidden)).map(t=>{let r=this.para(t.id),{b:i,i:a,color:o,sz:s,font:c}=r.rs;return{id:t.id,name:e(t.name),next:t.next,canon:n.get(t.id),outline:r.ps.outline,preview:{b:i,i:a,color:o,sz:s,font:c}}})}chain(e){let t=[],n=/* @__PURE__ */ new Set,r=e?this.defs.get(e):void 0;for(;r&&!n.has(r.id);)n.add(r.id),t.unshift(r),r=r.basedOn?this.defs.get(r.basedOn):void 0;return t}para(e){let t=e??this.defaultPara??``,n=this.paraCache.get(t);if(n)return n;n={ps:{},rs:{}};for(let e of this.chain(t)){let t=Ue(T(e.el,`pPr`));n.ps=N(n.ps,t.ps),t.numPr&&(n.numPr=t.numPr),n.rs=N(n.rs,He(T(e.el,`rPr`),this.theme))}return this.paraCache.set(t,n),n}char(e){if(!e)return{};let t=this.charCache.get(e);if(t)return t;t={};for(let n of this.chain(e))t=N(t,He(T(n.el,`rPr`),this.theme));return this.charCache.set(e,t),t}table(e){let t=e??this.defaultTable??``,n=this.tblCache.get(t);if(n)return n;n={ps:{},rs:{},borders:{},cellMar:{},cond:{}};for(let e of this.chain(t)){n.ps=N(n.ps,Ue(T(e.el,`pPr`)).ps),n.rs=N(n.rs,He(T(e.el,`rPr`),this.theme));let t=T(e.el,`tblPr`);Object.assign(n.borders,Ke(T(t,`tblBorders`))),Object.assign(n.cellMar,qe(T(t,`tblCellMar`)));let r=Le(D(e.el,`tcPr`,`shd`));r&&(n.shd=r);for(let t of E(e.el,`tblStylePr`)){let e=t.a.type;if(!e)continue;let r=n.cond[e]??{rs:{}};n.cond[e]={rs:N(r.rs,He(T(t,`rPr`),this.theme)),shd:Le(D(t,`tcPr`,`shd`))??r.shd}}}return this.tblCache.set(t,n),n}};function Ke(e){let t={};if(!e)return t;for(let n of e.c){let e=n.n===`start`?`left`:n.n===`end`?`right`:n.n,r=ze(n);r!==void 0&&(t[e]=r)}return t}function qe(e){let t={};if(!e)return t;for(let n of e.c){let e=n.n===`start`?`left`:n.n===`end`?`right`:n.n,r=O(n.a.w);r!==void 0&&(n.a.type===void 0||n.a.type===`dxa`)&&(t[e]=r/20)}return t}const Je={\"\":`•`,\"\":`▪`,\"\":`□`,\"\":`✓`,\"\":`➢`,\"\":`❖`,\"\":`➔`,\"\":`■`,\"\":`□`,\"\":`❑`,\"\":`◆`,\"\":`➔`,\"\":`⇨`,\"\":`→`,\"\":`–`,\"·\":`•`,\"\":`—`,\"\":`○`,\"\":`•`,\"\":`☑`,o:`◦`};function Ye(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,i]of t)for(;e>=r;)n+=i,e-=r;return n}function Xe(e){return e<=0?``:String.fromCharCode(97+(e-1)%26).repeat(Math.floor((e-1)/26)+1)}function Ze(e,t){switch(t){case`decimalZero`:return e<10?`0`+e:String(e);case`upperRoman`:return Ye(e).toUpperCase();case`lowerRoman`:return Ye(e);case`upperLetter`:return Xe(e).toUpperCase();case`lowerLetter`:return Xe(e);case`ordinal`:{let t=[`th`,`st`,`nd`,`rd`],n=e%100;return e+(t[(n-20)%10]||t[n]||t[0])}case`none`:return``;case`bullet`:return``;default:return String(e)}}var Qe=class{abstracts=/* @__PURE__ */ new Map;nums=/* @__PURE__ */ new Map;counters=/* @__PURE__ */ new Map;constructor(e,t){if(!e)return;let n=e=>{let n={};for(let r of E(e,`lvl`)){let e=O(r.a.ilvl,0);n[e]={start:O(T(r,`start`)?.a.val,1),fmt:T(r,`numFmt`)?.a.val??`decimal`,text:T(r,`lvlText`)?.a.val??``,ps:Ue(T(r,`pPr`)).ps,rs:He(T(r,`rPr`),t),isLgl:!!T(r,`isLgl`),suff:T(r,`suff`)?.a.val??`tab`,restart:O(T(r,`lvlRestart`)?.a.val)}}return n};for(let t of E(e,`abstractNum`))this.abstracts.set(t.a.abstractNumId,n(t));for(let t of E(e,`num`)){let e={abstractId:T(t,`abstractNumId`)?.a.val??``,starts:{},levels:{}};for(let r of E(t,`lvlOverride`)){let t=O(r.a.ilvl,0),i=O(T(r,`startOverride`)?.a.val);i!==void 0&&(e.starts[t]=i);let a=T(r,`lvl`);a&&Object.assign(e.levels,n({n:`x`,a:{},c:[{...a,a:{...a.a,ilvl:String(t)}}],t:``}))}this.nums.set(t.a.numId,e)}}reset(){this.counters.clear()}findList(e){for(let[t,n]of this.nums){if(Object.keys(n.starts).length)continue;let r=this.abstracts.get(n.abstractId)?.[0];if(r&&(e===`bullet`?r.fmt===`bullet`:r.fmt===`decimal`))return t}}ids(){let e=[...this.abstracts.keys()].map(Number).filter(Number.isFinite),t=[...this.nums.keys()].map(Number).filter(Number.isFinite);return{abstract:e.length?Math.max(...e)+1:0,num:t.length?Math.max(...t)+1:1}}level(e,t){let n=this.nums.get(e);if(n)return n.levels[t]??this.abstracts.get(n.abstractId)?.[t]}next(e,t){let n=this.nums.get(e),r=this.level(e,t);if(!n||!r)return;let i=Object.keys(n.starts).length>0?`n`+e:`a`+n.abstractId,a=this.counters.get(i);a||(a=[],this.counters.set(i,a));let o=t=>n.starts[t]??this.level(e,t)?.start??1;a[t]=a[t]===void 0?o(t):a[t]+1;for(let e=t+1;e<9;e++)a[e]=void 0;for(let e=0;e<t;e++)a[e]===void 0&&(a[e]=o(e));if(r.fmt===`bullet`){let e=r.text;return{text:Je[e]??(e||`•`),level:r}}return{text:r.text.replace(/%(\\d)/g,(n,i)=>{let s=Number(i)-1,c=this.level(e,s);return Ze(a[s]??o(s),r.isLgl&&s<t?`decimal`:c?.fmt??`decimal`)}),level:r}}};const $e={w:612,h:792,mt:72,mr:72,mb:72,ml:72,header:36,footer:36};function et(e){let t=/^\\s*(PAGE|NUMPAGES|SECTIONPAGES)\\b/i.exec(e);if(t)return t[1].toUpperCase()===`PAGE`?`PAGE`:`NUMPAGES`}function tt(e,t){if(e===t)return!0;if(!e||!t)return!e&&!t;let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(e[r]!==t[r])return!1;return!0}function nt(e,t){if(!e)return;let n=RegExp(`(?:^|;)\\\\s*${t}\\\\s*:\\\\s*([\\\\d.]+)\\\\s*(pt|in|px|cm|mm)?`,`i`).exec(e);if(!n)return;let r=Number(n[1]);switch((n[2]??`px`).toLowerCase()){case`pt`:return r;case`in`:return r*72;case`cm`:return r*72/2.54;case`mm`:return r*72/25.4;default:return r*.75}}function rt(e){if(!e)return{...$e};let t=T(e,`pgSz`),n=T(e,`pgMar`),r=(e,t)=>e===void 0?t:Math.abs(Number(e))/20,i=r(t?.a.w,$e.w),a=r(t?.a.h,$e.h);return t?.a.orient===`landscape`&&a>i&&([i,a]=[a,i]),{w:i,h:a,mt:r(n?.a.top,72),mr:r(n?.a.right??n?.a.end,72),mb:r(n?.a.bottom,72),ml:r(n?.a.left??n?.a.start,72),header:r(n?.a.header,36),footer:r(n?.a.footer,36)}}const it=/* @__PURE__ */ new Set([`p`,`del`,`moveFrom`,`oMath`,`oMathPara`,`pPr`,`rPr`,`r`]);function at(e){let t=/* @__PURE__ */ new Map,n=e=>{for(let r of e.c)r.n===`r`&&t.set(r,t.size),it.has(r.n)||n(r)};return n(e),t}function ot(e,t=/* @__PURE__ */ new Map){let n=e=>{e.n===`p`&&t.set(e,t.size);for(let t of e.c)n(t)};for(let t of e)n(t);return t}function st(e,t,n){let r=e.next(t.numId,t.ilvl);if(!r)return;let i=N(n,r.level.rs);return delete i.u,delete i.hl,{marker:{text:r.level.suff===`space`?r.text+` `:r.text,s:i,tab:r.level.suff===`tab`},lst:r.level.fmt===`bullet`?`bullet`:`number`}}var ct=class{styles;numbering;theme;rels;hooks;fields=[];tableLayer;boxDepth=0;tableDepth=0;cur;constructor(e,t,n,r,i={}){this.styles=e,this.numbering=t,this.theme=n,this.rels=r,this.hooks=i}blocks(e,t){switch(e.n){case`p`:this.paragraph(e,t);break;case`tbl`:t.push(this.table(e));break;case`sdt`:for(let n of T(e,`sdtContent`)?.c??[])this.blocks(n,t);break;case`customXml`:case`ins`:case`smartTag`:case`sdtContent`:for(let n of e.c)this.blocks(n,t)}}paragraph(e,t){let n=T(e,`pPr`),r=Ue(n),i=this.styles.para(r.styleId),a=this.hooks.forced?.root===e?this.hooks.forced:void 0,o=a?a.layer:this.tableLayer,s=r.numPr??i.numPr,c=s&&s.numId!==`0`?this.numbering.level(s.numId,s.ilvl):void 0,l=N(this.styles.docPs,o?.ps,i.ps,c?.ps,r.ps),u=N(this.styles.docRs,o?.rs,i.rs),d=N(u,He(T(n,`rPr`),this.theme)),f=r.styleId??this.styles.defaultPara??``,p={t:`p`,ps:l,runs:[],markSz:d.sz,markFont:d.font,sid:f};l.pageBreakBefore&&(p.pb=!0);let m;if(c&&s){if(a)m=c.fmt===`bullet`?`bullet`:`number`,a.marker?p.marker=a.marker:p.marker={text:c.fmt===`bullet`?`•`:``,s:N(d,c.rs),tab:c.suff===`tab`};else{let e=st(this.numbering,s,d);e&&(p.marker=e.marker,m=e.lst)}m&&(p.lst=m,p.ilvl=s.ilvl)}let h={layer:o,num:s&&s.numId!==`0`?s:void 0,ro:this.fields.length>0||this.boxDepth>0||this.tableDepth>1,sid:f,lst:m,marker:p.marker};a&&(a.rec=h);let g=a?a.pid:this.hooks.para?.(e,h);g!==void 0&&(p.pid=g);let _=this.cur;this.cur={pid:g,runs:at(e),forced:a};let v=[p];this.inlines(e.c,u,void 0,void 0,{push:e=>{let t=p.runs,n=t[t.length-1];e.t===`text`&&n?.t===`text`&&n.href===e.href&&n.lk===e.lk&&tt(n.s,e.s)&&tt(n.d,e.d)?n.text+=e.text:t.push(e)},pageBreak:()=>{p={t:`p`,ps:l,runs:[],markSz:d.sz,markFont:d.font,pb:!0,sid:f},g!==void 0&&(p.pid=g),v.push(p)}}),this.cur=_,this.fields.length>0&&(h.ro=!0);for(let e of v)h.ro&&(e.ro=!0),t.push(e);r.sectPr&&t.push({t:`sect`,page:rt(r.sectPr),kind:T(r.sectPr,`type`)?.a.val??`nextPage`})}srcOf(e){let t=this.cur;if(!t)return{};let n=t.runs.get(e);if(n===void 0)return{};if(t.forced){let e=t.forced.map[n];return e?{src:e.src,d:e.d}:{}}return t.pid===void 0?{}:{src:[t.pid,n]}}inlines(e,t,n,r,i){for(let a of e)switch(a.n){case`r`:this.run(a,t,n,r,i);break;case`hyperlink`:{let e=a.a[`r:id`],o=e?this.rels.get(e)?.target:a.a.anchor?`#`+a.a.anchor:void 0,s=e?`r:`+e:a.a.anchor?`a:`+a.a.anchor:void 0;this.inlines(a.c,t,o??n,s??r,i);break}case`fldSimple`:{let e=et(a.a.instr??``);if(e){let n=T(a,`r`);i.push({t:`field`,kind:e,s:N(t,He(T(n,`rPr`),this.theme)),...n?this.srcOf(n):{}})}else this.inlines(a.c,t,n,r,i);break}case`ins`:case`smartTag`:case`customXml`:case`bdo`:case`dir`:case`moveTo`:this.inlines(a.c,t,n,r,i);break;case`sdt`:this.inlines(T(a,`sdtContent`)?.c??[],t,n,r,i);break;case`oMath`:case`oMathPara`:{let e=ge(a,`t`).map(e=>e.t).join(``);e&&i.push({t:`text`,text:e,s:{...t,i:!0,font:`\"Cambria Math\", \"STIX Two Math\", serif`}});break}}}run(e,t,n,r,i){let a=T(e,`rPr`),o=N(t,this.styles.char(T(a,`rStyle`)?.a.val),He(a,this.theme));if(o.vanish)return;let{src:s,d:c}=this.srcOf(e),l=(e,t=o,a=n)=>i.push({t:`text`,text:e,s:t,href:a,lk:a===n?r:void 0,src:s,d:c});for(let t of e.c){let e=this.fields[this.fields.length-1];switch(t.n){case`fldChar`:{let n=t.a.fldCharType;if(n===`begin`)this.fields.push({instr:``,phase:`instr`});else if(n===`separate`&&e){e.phase=`result`,e.kind=et(e.instr);let t=/HYPERLINK\\s+(?:\\\\l\\s+)?\"([^\"]+)\"/.exec(e.instr);t&&(e.href=/\\\\l/.test(e.instr)?`#`+t[1]:t[1]),e.kind&&i.push({t:`field`,kind:e.kind,s:o,src:s})}else if(n===`end`){if(e&&e.phase===`instr`){let t=et(e.instr);t&&i.push({t:`field`,kind:t,s:o,src:s})}this.fields.pop()}break}case`instrText`:e&&(e.instr+=t.t);break;case`t`:if(e&&(e.phase===`instr`||e.kind))break;t.t&&l(t.t,o,e?.href??n);break;case`tab`:case`ptab`:(!e||e.phase===`result`&&!e.kind)&&l(` `);break;case`br`:t.a.type===`page`?i.pageBreak():l(`\n`);break;case`cr`:l(`\n`);break;case`noBreakHyphen`:l(`‑`);break;case`softHyphen`:l(`­`);break;case`sym`:{let e=parseInt(t.a.char??``,16);e&&l(String.fromCharCode(e>=61440?e-61440:e),{...o,font:t.a.font?`\"${t.a.font}\", ${o.font??`serif`}`:o.font});break}case`drawing`:this.drawing(t,n,i,s);break;case`pict`:case`object`:this.vml(t,n,i,s);break;case`footnoteReference`:case`endnoteReference`:i.push({t:`ref`,text:t.a.id??`*`,s:{...o,va:`sup`},src:s})}}}target(e){if(!e)return;let t=this.rels.get(e);return t&&!t.external?t.target:void 0}boxBlocks(e){let t=[],n=this.cur;this.boxDepth++;for(let n of e)for(let e of n.c)this.blocks(e,t);return this.boxDepth--,this.cur=n,t}drawing(e,t,n,r){let i=T(e,`inline`)??T(e,`anchor`);if(!i)return;let a=T(i,`extent`),o=ke(O(a?.a.cx,0)),s=ke(O(a?.a.cy,0)),c=T(i,`docPr`),l=D(i,`graphic`,`graphicData`),u=ge(l,`txbxContent`);if(u.length){let e=this.boxBlocks(u),t=he(l,`spPr`),i=D(t,`solidFill`,`srgbClr`)?.a.val,a=D(t,`ln`,`solidFill`,`srgbClr`)?.a.val;n.push({t:`box`,w:o,h:s,blocks:e,fill:i?`#`+i:void 0,border:a?`1px solid #${a}`:void 0,src:r});return}let d=he(l,`blip`),f=this.target(d?.a[`r:embed`]);if(f){let e=this.rels.get(T(c,`hlinkClick`)?.a[`r:id`]??``)?.target;n.push({t:`img`,target:f,w:o,h:s,alt:c?.a.descr||c?.a.title||void 0,href:e??t,src:r,rid:d?.a[`r:embed`]})}else he(l,`chart`)?n.push({t:`shape`,w:o,h:s,label:`Chart`,src:r}):he(l,`relIds`)?n.push({t:`shape`,w:o,h:s,label:`Diagram`,src:r}):n.push({t:`shape`,w:0,h:0,src:r})}vml(e,t,n,r){let i=he(e,`txbxContent`),a=(he(e,`shape`)??he(e,`rect`))?.a.style,o=nt(a,`width`)??0,s=nt(a,`height`)??0;if(i){n.push({t:`box`,w:o,h:s,blocks:this.boxBlocks([i]),src:r});return}let c=this.target(he(e,`imagedata`)?.a[`r:id`]);c&&o&&s?n.push({t:`img`,target:c,w:o,h:s,href:t,src:r}):n.push({t:`shape`,w:0,h:0,src:r})}table(e){this.tableDepth++;try{let t=this.tableInner(e);return this.tableDepth===1&&this.hooks.item&&(t.item=this.hooks.item()),t}finally{this.tableDepth--}}tableInner(e){let t=T(e,`tblPr`),n=this.styles.table(T(t,`tblStyle`)?.a.val),r=ut(T(t,`tblLook`)),i={...n.borders,...Ke(T(t,`tblBorders`))},a={top:0,bottom:0,left:5.4,right:5.4,...n.cellMar,...qe(T(t,`tblCellMar`))},o=E(T(e,`tblGrid`),`gridCol`).map(e=>(O(e.a.w)??0)/20),s=T(t,`jc`)?.a.val,c=T(t,`tblInd`),l=lt(e,`tr`),u=[],d=o.length;l.forEach((e,t)=>{let i=T(e,`trPr`),o=T(i,`trHeight`),s={cells:[],src:t};o?.a.val&&(s.h=Number(o.a.val)/20,s.exact=o.a.hRule===`exact`),T(i,`tblHeader`)&&(s.header=!0);let c=O(T(i,`gridBefore`)?.a.val,0),f=[];for(let[i,o]of lt(e,`tc`).entries()){let e=T(o,`tcPr`),s=Math.max(1,O(T(e,`gridSpan`)?.a.val,1)),u=T(e,`vMerge`),p=[];if(r.noVBand||p.push((c-+!!r.firstCol)%2==0?`band1Vert`:`band2Vert`),!r.noHBand){let e=t-+!!r.firstRow;e>=0&&p.push(e%2==0?`band1Horz`:`band2Horz`)}r.firstCol&&c===0&&p.push(`firstCol`),r.lastCol&&d&&c+s>=d&&p.push(`lastCol`),r.firstRow&&t===0&&p.push(`firstRow`),r.lastRow&&t===l.length-1&&p.push(`lastRow`);let m=n.shd,h={};for(let e of p){let t=n.cond[e];t&&(t.shd&&(m=t.shd),h=N(h,t.rs))}m=Le(T(e,`shd`))??m;let g=this.tableLayer;this.tableLayer={ps:n.ps,rs:N(n.rs,h)};let _=[];for(let e of o.c)e.n!==`tcPr`&&this.blocks(e,_);this.tableLayer=g;let v=qe(T(e,`tcMar`)),y=T(e,`vAlign`)?.a.val,b=T(e,`tcW`);f.push({blocks:_,src:[t,i],colSpan:s,rowSpan:1,w:b&&(b.a.type??`dxa`)===`dxa`?Number(b.a.w)/20:void 0,shd:m,vAlign:y===`center`?`middle`:y===`bottom`?`bottom`:void 0,borders:{},pad:[v.top??a.top,v.right??a.right,v.bottom??a.bottom,v.left??a.left],gs:c,vm:u?u.a.val===`restart`?`restart`:`continue`:void 0,tcB:Ke(T(e,`tcBorders`)),ri:t}),c+=s}d=Math.max(d,c),u.push({row:s,cells:f})});for(let e=0;e<u.length;e++)for(let t of u[e].cells)if(!t.gone&&t.vm)for(let n=e+1;n<u.length;n++){let e=u[n].cells.find(e=>e.gs===t.gs);if(!e||e.vm!==`continue`)break;e.gone=!0,t.rowSpan++}let f=u.length;return{t:`tbl`,cols:o,rows:u.map(({row:e,cells:t})=>{for(let n of t){if(n.gone)continue;let t=n.ri+n.rowSpan-1==f-1,r={t:Be(n.tcB.top===void 0?n.ri===0?i.top:i.insideH:n.tcB.top),b:Be(n.tcB.bottom===void 0?t?i.bottom:i.insideH:n.tcB.bottom),l:Be(n.tcB.left===void 0?n.gs===0?i.left:i.insideV:n.tcB.left),r:Be(n.tcB.right===void 0?n.gs+n.colSpan>=d?i.right:i.insideV:n.tcB.right)},{gs:a,vm:o,tcB:s,gone:c,ri:l,...u}=n;e.cells.push({...u,borders:r})}return e}),align:s===`center`?`center`:s===`right`||s===`end`?`right`:void 0,indL:c&&(c.a.type??`dxa`)===`dxa`?Number(c.a.w)/20:void 0}}};function lt(e,t){let n=[];for(let r of e.c)r.n===t?n.push(r):r.n===`sdt`?n.push(...lt(T(r,`sdtContent`)??r,t)):(r.n===`customXml`||r.n===`sdtContent`)&&n.push(...lt(r,t));return n}function ut(e){let t={firstRow:!0,lastRow:!1,firstCol:!0,lastCol:!1,noHBand:!1,noVBand:!0};if(!e)return t;let n=e.a.val;if(n&&/^[0-9a-fA-F]+$/.test(n)&&e.a.firstRow===void 0){let e=parseInt(n,16);return{firstRow:!!(e&32),lastRow:!!(e&64),firstCol:!!(e&128),lastCol:!!(e&256),noHBand:!!(e&512),noVBand:!!(e&1024)}}let r=(t,n)=>e.a[t]===void 0?n:e.a[t]===`1`||e.a[t]===`true`;return{firstRow:r(`firstRow`,!0),lastRow:r(`lastRow`,!1),firstCol:r(`firstColumn`,!0),lastCol:r(`lastColumn`,!1),noHBand:r(`noHBand`,!1),noVBand:r(`noVBand`,!0)}}var dt=class{tb;onItem;prefix=``;items=[];suffix=``;buf=``;tail=``;pending=``;inItem=!1;depth=0;els=[];constructor(e,t){this.tb=e,this.onItem=t}raw=e=>{this.flush(),this.pending=e};element=e=>{this.els.push(e)};flush(){this.pending&&=(this.inItem?this.buf+=this.pending:this.tail+=this.pending,``)}open(e,t){this.depth===2&&(this.items.length?this.items[this.items.length-1]+=this.tail:this.prefix+=this.tail,this.tail=``,this.inItem=!0,this.buf=``,this.els=[]),this.flush();let n=this.tb.open(e,t);return n||this.depth++,n}close(e){this.flush(),this.tb.close(e),this.depth--,this.depth===2&&this.inItem&&(this.inItem=!1,this.items.push(this.buf),this.buf=``,this.onItem(this.items.length-1,this.els),this.els=[])}text(e){this.flush(),this.tb.text(e)}finish(){this.flush(),this.items.length?this.suffix=this.tail:this.prefix+=this.tail,this.tail=``}},ft=class e{pkg;mainPath;rels;styles;numbering;theme;items=[];prefix=``;suffix=``;info=/* @__PURE__ */ new Map;origLoc=/* @__PURE__ */ new Map;ordPid=/* @__PURE__ */ new Map;itemParas=/* @__PURE__ */ new Map;groups=/* @__PURE__ */ new Map;genXml=/* @__PURE__ */ new Map;itemXml=/* @__PURE__ */ new Map;nextPid=1;captured=!1;edited=!1;constructor(e,t,n,r,i,a){this.pkg=e,this.mainPath=t,this.rels=n,this.styles=r,this.numbering=i,this.theme=a}static async open(t,n){let r=await t.rels(n),i=j(r,`theme`),a=De(i?await t.xml(i.target):void 0),o=j(r,`styles`),s=j(r,`numbering`),c=new Ge(o?await t.xml(o.target):void 0,a),l=new Qe(s?await t.xml(s.target):void 0,a);return new e(t,n,r,c,l,a)}get dirty(){return this.edited||this.pkg.dirty}markEdited(){this.edited=!0}async headerFooter(e){let t=e?this.rels.get(e):void 0;if(!t)return;let n=await this.pkg.xml(t.target);if(!n)return;let r=new ct(this.styles,this.numbering,this.theme,await this.pkg.rels(t.target)),i=[];for(let e of n.c)r.blocks(e,i);return i}async stream(e){let t=0,n=/* @__PURE__ */ new Map,r=new ct(this.styles,this.numbering,this.theme,this.rels,{item:()=>t,para:(e,r)=>{let i=n.get(e);if(i===void 0)return;let a=this.nextPid++,o=r;o.item=t,o.ord=i,this.info.set(a,o),this.origLoc.set(a,{item:t,ord:i}),this.ordPid.set(`${t}:${i}`,a);let s=this.itemParas.get(t);return s||this.itemParas.set(t,s=[]),s[i]=a,a}}),i={font:this.styles.docRs.font??`\"Times New Roman\", serif`,sz:this.styles.docRs.sz??10,styles:this.styles.quickStyles()},a=[],o,s,c=Date.now(),l=e.initialHoldMs??350,u=0,d=!0,f=(e,i)=>{t=e,n=ot(i);for(let e of i){if(e.n===`sectPr`){o=e;continue}let t=a.length;if(r.blocks(e,a),!s)for(let e=t;e<a.length;e++){let t=a[e];t.t===`sect`&&(s=t.page)}}},p;p=new dt(new pe({emitDepth:2,onElement:e=>p.element(e)}),f);let m=()=>{a.length&&(e.onBlocks(a),a=[],u=Date.now())};await fe(await this.pkg.zip.stream(this.mainPath,e.onProgress),p,{signal:e.signal,raw:p.raw,onChunk:async()=>{let t=Date.now();if(d){if(t-c<l)return;d=!1,e.onMeta({page:s??{...$e},...i}),m()}else(a.length>=400||a.length&&t-u>120)&&(m(),await new Promise(e=>setTimeout(e,0)))}}),p.finish(),this.items=p.items,this.prefix=p.prefix,this.suffix=p.suffix,this.captured=!0;let h=o,g={page:rt(h),...i,final:!0};if(h){let e=(e,t)=>E(h,e).find(e=>(e.a.type??`default`)===t)?.a[`r:id`];g.header=await this.headerFooter(e(`headerReference`,`default`)),g.footer=await this.headerFooter(e(`footerReference`,`default`)),g.titlePg=!!T(h,`titlePg`)&&T(h,`titlePg`)?.a.val!==`0`,g.titlePg&&(g.firstHeader=await this.headerFooter(e(`headerReference`,`first`)),g.firstFooter=await this.headerFooter(e(`footerReference`,`first`)))}e.onMeta(g),m()}get ready(){return this.captured}reconvert(e,t,n,r,i){let a=me(t),o={pid:e,root:a,map:n,layer:r,marker:i},s=new ct(this.styles,this.numbering,this.theme,this.rels,{forced:o}),c=[];return s.paragraph(a,c),{blocks:c,rec:o.rec}}recomputeMarkers(){let e=/* @__PURE__ */ new Map;this.numbering.reset();let t=[...this.itemParas.keys()].sort((e,t)=>e-t);for(let n of t){let t=this.itemParas.get(n);for(let r=0;r<t.length;r++){let i=t[r];if(i===void 0)continue;let a=this.groups.get(`${n}:${r}`)??[i];for(let t of a){let n=this.info.get(t);if(!n)continue;let r,i;if(n.num){let e=n.marker?.s??{},t=st(this.numbering,n.num,e);t&&(r={...t.marker,s:n.marker?.s??t.marker.s},i=t.lst)}((r?.text??null)!==(n.marker?.text??null)||i!==n.lst)&&(n.marker=r,n.lst=i,e.set(t,n))}}}return e}};const pt=/* @__PURE__ */ `pStyle.keepNext.keepLines.pageBreakBefore.framePr.widowControl.numPr.suppressLineNumbers.pBdr.shd.tabs.suppressAutoHyphens.kinsoku.wordWrap.overflowPunct.topLinePunct.autoSpaceDE.autoSpaceDN.bidi.adjustRightInd.snapToGrid.spacing.ind.contextualSpacing.mirrorIndents.suppressOverlap.jc.textDirection.textAlignment.textboxTightWrap.outlineLvl.divId.cnfStyle.rPr.sectPr.pPrChange`.split(`.`),mt=/* @__PURE__ */ `rStyle.rFonts.b.bCs.i.iCs.caps.smallCaps.strike.dstrike.outline.shadow.emboss.imprint.noProof.snapToGrid.vanish.webHidden.color.spacing.w.kern.position.sz.szCs.highlight.u.effect.bdr.shd.fitText.vertAlign.rtl.cs.em.lang.eastAsianLayout.specVanish.oMath`.split(`.`),ht=/* @__PURE__ */ new Set([`bookmarkStart`,`commentRangeStart`,`permStart`,`moveFromRangeStart`,`moveToRangeStart`]),gt=/* @__PURE__ */ new Set([`bookmarkEnd`,`commentRangeEnd`,`permEnd`,`moveFromRangeEnd`,`moveToRangeEnd`]),_t=/* @__PURE__ */ new Set([`p`,`del`,`moveFrom`,`oMath`,`oMathPara`,`pPr`,`rPr`,`r`]),vt=Object.fromEntries(Object.entries(Fe).map(([e,t])=>[t,e]));function yt(t){let n=[];return t.forEach((i,a)=>{e(i)&&(r(i.q)===`p`&&n.push({node:i,list:t,index:a}),v(i,(e,t,i)=>{r(e.q)===`p`&&n.push({node:e,list:t.c,index:i})}))}),n}function bt(e){let t=[];return v(e,e=>{let n=r(e.q);return n===`r`&&t.push(e),_t.has(n)}),t}const xt=/* @__PURE__ */ new WeakMap;function St(e,n){let r=xt.get(e);r||xt.set(e,r=/* @__PURE__ */ new Map);let i=r.get(n);return i||(i=yt(t(e.items[n]??``)),r.size>64&&r.delete(r.keys().next().value),r.set(n,i)),i}function Ct(e,t){let n=e.origLoc.get(t);if(n)return St(e,n.item)[n.ord]?.node}const wt=/* @__PURE__ */ new WeakMap;function Tt(e,t){if(!t)return;let n=Ct(e,t[0]);if(!n)return;let r=wt.get(n);return r||wt.set(n,r=bt(n)),r[t[1]]}function Et(e,t,n){let r=n+`val`,i=(t,n)=>m(e,n,t,mt),a=(e,t)=>i(e,t?d(n+e):d(n+e,{[r]:`0`}));if(t.b!==void 0&&(a(`b`,t.b),a(`bCs`,t.b)),t.i!==void 0&&(a(`i`,t.i),a(`iCs`,t.i)),t.strike!==void 0&&(a(`strike`,t.strike),t.strike&&i(`dstrike`,void 0)),t.u!==void 0&&i(`u`,d(n+`u`,{[r]:t.u&&t.u!==`none`?t.u:`none`})),`color`in t&&i(`color`,t.color?d(n+`color`,{[r]:t.color.replace(`#`,``).toUpperCase()}):void 0),t.sz!==void 0){let e=String(Math.round(t.sz*2));i(`sz`,d(n+`sz`,{[r]:e})),i(`szCs`,d(n+`szCs`,{[r]:e}))}if(t.font!==void 0){let e=t.font;i(`rFonts`,d(n+`rFonts`,{[n+`ascii`]:e,[n+`hAnsi`]:e,[n+`eastAsia`]:e,[n+`cs`]:e}))}if(`hl`in t){let e=t.hl?vt[t.hl.toLowerCase()]:void 0;t.hl?e?i(`highlight`,d(n+`highlight`,{[r]:e})):i(`shd`,d(n+`shd`,{[r]:`clear`,[n+`color`]:`auto`,[n+`fill`]:t.hl.replace(`#`,``).toUpperCase()})):(i(`highlight`,void 0),i(`shd`,void 0))}`va`in t&&i(`vertAlign`,t.va?d(n+`vertAlign`,{[r]:t.va===`sup`?`superscript`:`subscript`}):void 0)}function Dt(e,t){let n=``;for(let r of e.split(/(\\t|\\n)/))r&&(n+=r===` `?`<${t}tab/>`:r===`\n`?`<${t}br/>`:`<${t}t xml:space=\"preserve\">${h(r)}</${t}t>`);return n}function Ot(e,t,n){let r=[`•`,`◦`,`▪`],i=[`decimal`,`lowerLetter`,`lowerRoman`],a=``;for(let t=0;t<9;t++){let o=n===`bullet`?`bullet`:i[t%3],s=n===`bullet`?r[t%3]:`%${t+1}.`;a+=`<${e}lvl ${e}ilvl=\"${t}\"><${e}start ${e}val=\"1\"/><${e}numFmt ${e}val=\"${o}\"/><${e}lvlText ${e}val=\"${s}\"/><${e}lvlJc ${e}val=\"left\"/><${e}pPr><${e}ind ${e}left=\"${720*(t+1)}\" ${e}hanging=\"360\"/></${e}pPr></${e}lvl>`}return`<${e}abstractNum ${e}abstractNumId=\"${t}\"><${e}multiLevelType ${e}val=\"hybridMultilevel\"/>${a}</${e}abstractNum>`}function kt(e,t){let n=e=>`<${t}sz ${t}val=\"${e}\"/><${t}szCs ${t}val=\"${e}\"/>`,r=e=>`<${t}color ${t}val=\"${e}\"/>`;if(e===`title`)return{id:`Title`,name:`Title`,ppr:`<${t}spacing ${t}after=\"80\" ${t}line=\"240\" ${t}lineRule=\"auto\"/><${t}contextualSpacing/>`,rpr:`<${t}spacing ${t}val=\"-10\"/><${t}kern ${t}val=\"28\"/>${n(56)}`};if(e===`subtitle`)return{id:`Subtitle`,name:`Subtitle`,ppr:`<${t}spacing ${t}after=\"160\"/>`,rpr:`${r(`5A5A5A`)}<${t}spacing ${t}val=\"15\"/>${n(28)}`};let i=Number(e.slice(1)),[a,o,s,c]={1:[240,32,`2F5496`,!1],2:[40,26,`2F5496`,!1],3:[40,24,`1F3763`,!1],4:[40,22,`2F5496`,!0],5:[40,22,`2F5496`,!1],6:[40,22,`1F3763`,!0]}[i];return{id:`Heading${i}`,name:`heading ${i}`,ppr:`<${t}keepNext/><${t}keepLines/><${t}spacing ${t}before=\"${a}\" ${t}after=\"0\"/><${t}outlineLvl ${t}val=\"${i-1}\"/>`,rpr:`${c?`<${t}i/><${t}iCs/>`:``}${r(s)}${n(o)}`}}async function At(e,r){let o=e.styles.canonical()[r];if(o||r===`normal`)return{id:o??``,styles:e.styles.quickStyles()};let s=j(e.rels,`styles`),c=s?.target??`word/styles.xml`,l=t(e.pkg.has(c)?await e.pkg.text(c):`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<w:styles xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"></w:styles>`),u=a(l),d=i(u.q),f=kt(r,d),p=f.id;for(let t=2;e.styles.has(p);t++)p=f.id+t;let m=e.styles.defaultPara,h=m?`<${d}basedOn ${d}val=\"${m}\"/><${d}next ${d}val=\"${m}\"/>`:``,g=`<${d}style ${d}type=\"paragraph\" ${d}styleId=\"${p}\"><${d}name ${d}val=\"${f.name}\"/>${h}<${d}uiPriority ${d}val=\"9\"/><${d}qFormat/><${d}pPr>${f.ppr}</${d}pPr><${d}rPr>${f.rpr}</${d}rPr></${d}style>`;u.c.push(t(g)[0]),u.self=!1,e.pkg.setPart(c,n(l)),s||(await e.pkg.addRel(e.mainPath,`http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles`,c),await e.pkg.setContentType(c,`application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml`),e.rels=await e.pkg.rels(e.mainPath));let _=me(d?g.replace(`<${d}style `,`<${d}style xmlns:${d.slice(0,-1)}=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" `):g);return _&&e.styles.add(_),e.markEdited(),{id:p,styles:e.styles.quickStyles()}}async function jt(o,s){let c=o.numbering.findList(s);if(c)return c;let l=j(o.rels,`numbering`),u=l?.target??`word/numbering.xml`,d=t(o.pkg.has(u)?await o.pkg.text(u):`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<w:numbering xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"></w:numbering>`),f=a(d),p=i(f.q),{abstract:m,num:h}=o.numbering.ids(),g=t(Ot(p,m,s))[0],_=t(`<${p}num ${p}numId=\"${h}\"><${p}abstractNumId ${p}val=\"${m}\"/></${p}num>`)[0],v=(t,n)=>{let i=-1;return f.c.forEach((a,o)=>{e(a)&&r(a.q)===t&&(n||i<0)&&(i=o)}),i},y=v(`abstractNum`,!0),b=v(`num`,!1);f.c.splice(y>=0?y+1:b>=0?b:f.c.length,0,g);let x=v(`num`,!0),S=v(`numIdMacAtCleanup`,!1);f.c.splice(x>=0?x+1:S>=0?S:f.c.length,0,_),f.self=!1;let C=n(d);return o.pkg.setPart(u,C),l||(await o.pkg.addRel(o.mainPath,`http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering`,u),await o.pkg.setContentType(u,`application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml`),o.rels=await o.pkg.rels(o.mainPath)),o.numbering=new Qe(me(C),o.theme),String(h)}async function Mt(e,t,n,r){let i=r+`val`,a=(e,n)=>m(t,n,e,pt);if(n.style!==void 0&&a(`pStyle`,n.style&&n.style!==e.styles.defaultPara?d(r+`pStyle`,{[i]:n.style}):void 0),n.align&&a(`jc`,d(r+`jc`,{[i]:n.align===`justify`?`both`:n.align})),n.line!==void 0||n.before!==void 0||n.after!==void 0){let e=f(s(t,`spacing`)??d(r+`spacing`));n.before!==void 0&&(u(e,r+`before`,String(Math.round(n.before*20))),u(e,r+`beforeAutospacing`,void 0)),n.after!==void 0&&(u(e,r+`after`,String(Math.round(n.after*20))),u(e,r+`afterAutospacing`,void 0)),n.line!==void 0&&(u(e,r+`line`,String(Math.round(n.line*240))),u(e,r+`lineRule`,`auto`)),a(`spacing`,e)}if(n.pageBreak!==void 0&&a(`pageBreakBefore`,n.pageBreak?d(r+`pageBreakBefore`):void 0),n.indL!==void 0){let e=f(s(t,`ind`)??d(r+`ind`));u(e,r+`start`,void 0),u(e,r+`left`,String(Math.max(0,Math.round(n.indL*20)))),a(`ind`,e)}let o=e.styles.para(Pt(t)).numPr,c=(e,t)=>d(r+`numPr`,{},[d(r+`ilvl`,{[i]:String(t)}),d(r+`numId`,{[i]:e})]);if(n.list===`none`)a(`numPr`,o?c(`0`,0):void 0);else if(n.list)a(`numPr`,c(await jt(e,n.list),n.ilvl??0));else if(n.ilvl!==void 0){let e=s(t,`numPr`),r=(e&&Nt(s(e,`numId`),i))??o?.numId;r&&r!==`0`&&a(`numPr`,c(r,n.ilvl))}}function Nt(e,t){if(e)return RegExp(`(?:^|\\\\s)${t.replace(`:`,`\\\\:`)}=\"([^\"]*)\"`).exec(e.a)?.[1]}function Pt(e){let t=s(e,`pStyle`);return t?/=\"([^\"]*)\"/.exec(t.a)?.[1]:void 0}async function Ft(e,t){let a=Ct(e,t.from),c=a?.q??`w:p`,l=i(c)||`w:`,m=f(s(a,`pPr`)??d(l+`pPr`));t.pd&&await Mt(e,m,t.pd,l),(t.keepSect??t.pid===t.from)||p(m,`sectPr`);let g=s(m,`rPr`),_=[],y=``,b,x=()=>{b!==void 0&&(y+=`</${l}hyperlink>`),b=void 0},S=(e,t)=>`<${l}r>${e&&e.c.length?n(e):``}${t}</${l}r>`,C=t=>{let n=s(Tt(e,t),`rPr`)??g;if(!n)return;let r=f(n);return r.q=l+`rPr`,p(r,e=>e===`rPrChange`||e===`ins`||e===`del`||e===`moveFrom`||e===`moveTo`),r};t.parts.forEach((t,i)=>{i>0&&(x(),y+=`<${l}r><${l}br ${l}type=\"page\"/></${l}r>`,_.push({}));for(let i of t){if(`obj`in i){if(x(),i.obj===`field`){let e=C(void 0);i.set&&Et(e??=d(l+`rPr`),i.set,l),y+=`<${l}fldSimple ${l}instr=\" ${i.kind} \">${S(e,`<${l}t>1</${l}t>`)}</${l}fldSimple>`,_.push({d:i.set})}else if(i.obj===`image`)y+=Bt(l,i.rid,i.w,i.h,i.name,i.alt),_.push({});else{let t=Tt(e,i.src);if(t){if(i.size||i.alt!==void 0||i.rid){let e=f(t),a=i.size&&String(Math.round(i.size[0]*12700)),o=i.size&&String(Math.round(i.size[1]*12700));v(e,e=>{let t=r(e.q);if(a&&o&&(t===`extent`||t===`ext`&&/\\scx=/.test(e.a))&&(u(e,`cx`,a),u(e,`cy`,o)),i.alt!==void 0&&(t===`docPr`||t===`cNvPr`&&/\\sid=/.test(e.a))&&u(e,`descr`,i.alt||void 0),i.rid&&t===`blip`){let t=/([\\w.-]+):embed=\"/.exec(e.a);u(e,t?`${t[1]}:embed`:`r:embed`,i.rid)}}),y+=n(e)}else y+=n(t);_.push({src:i.src})}}continue}if(i.lk!==b&&(x(),i.lk)){let e=i.lk.startsWith(`r:`)?`r:id=\"${i.lk.slice(2)}\"`:`${l}anchor=\"${h(i.lk.slice(2))}\"`;y+=`<${l}hyperlink ${e}>`,b=i.lk}let t=C(i.src);i.set&&Object.keys(i.set).length&&Et(t??=d(l+`rPr`),i.set,l),i.text&&(y+=S(t,Dt(i.text,l)),_.push({src:i.src,d:i.set}))}}),x();let w=``,ee=``,te=t.orig??(t.pid===t.from?[t.from]:[]);for(let t of te){let i=Ct(e,t);if(i){for(let e of o(i)){let t=r(e.q);ht.has(t)?w+=n(e):gt.has(t)&&(ee+=n(e))}for(let e of bt(i))s(e,`commentReference`)&&(ee+=n(e),_.push({}))}}let ne=a?.a??``;t.pid!==t.from&&(ne=ne.replace(/\\s+w14:(paraId|textId)=\"[^\"]*\"/g,``));let re=m.c.length?n(m):``;return{xml:`<${c}${ne}>${re}${w}${y}${ee}</${c}>`,map:_}}function It(e,t){let n=e.groups.get(t);if(!n){let r=e.ordPid.get(t);n=r===void 0?[]:[r],e.groups.set(t,n)}return n}function Lt(e,t){let n=e.info.get(t);if(!n)return;let r=It(e,`${n.item}:${n.ord}`),i=r.indexOf(t);i>=0&&r.splice(i,1)}async function Rt(e,t){if(!e.ready)throw Error(`Document is still loading`);let r=e.info.get(t.anchor);if(!r)throw Error(`Unknown paragraph ${t.anchor}`);e.markEdited();let i=[t.anchor,...t.list.map(e=>e.pid),...t.remove??[]],a=t.list.some(e=>e.pd)||i.some(t=>e.info.get(t)?.num),o=r.item,s=r.ord,c=t.list.map(e=>e.pid);for(let n of[...c,...t.remove??[]])n!==t.anchor&&Lt(e,n);let l=It(e,`${o}:${s}`),u=l.indexOf(t.anchor);if(u<0)throw Error(`Paragraph ${t.anchor} is not in the document`);l.splice(u,1,...c);for(let n of[t.anchor,...t.remove??[]])c.includes(n)||e.genXml.delete(n);let d={};for(let i of t.list){let a=e.info.get(i.from)??r,c=e.info.get(i.pid),l,u,f=i.pristine&&i.pid===i.from?Ct(e,i.pid):void 0;f?(l=n(f),u=bt(f).map((e,t)=>({src:[i.pid,t]}))):{xml:l,map:u}=await Ft(e,i),e.genXml.set(i.pid,l);let{blocks:p,rec:m}=e.reconvert(i.pid,l,u,a.layer,c?.marker);e.info.set(i.pid,{...m,item:o,ord:s,marker:c?.marker,lst:c?.lst}),t.want&&(d[i.pid]=p)}let f=a||t.list.some(t=>e.info.get(t.pid)?.num)?e.recomputeMarkers():/* @__PURE__ */ new Map,p={};for(let[e,t]of f)p[e]=t.marker?{...t.marker,lst:t.lst}:null;for(let[t,n]of Object.entries(d)){let r=e.info.get(Number(t));n.filter(e=>e.t===`p`).forEach((e,t)=>{delete e.marker,delete e.lst,t===0&&r?.marker&&(e.marker=r.marker,e.lst=r.lst)})}return{blocks:d,markers:p}}let zt=7e3;function Bt(e,t,n,r,i=`Picture`,a){let o=Math.round(n*12700),s=Math.round(r*12700),c=++zt,l=`http://schemas.openxmlformats.org/drawingml/2006/main`,u=`http://schemas.openxmlformats.org/drawingml/2006/picture`,d=h(i),f=a?` descr=\"${h(a).replace(/\"/g,`&quot;`)}\"`:``;return`<${e}r><${e}drawing><wp:inline xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\"><wp:extent cx=\"${o}\" cy=\"${s}\"/><wp:effectExtent l=\"0\" t=\"0\" r=\"0\" b=\"0\"/><wp:docPr id=\"${c}\" name=\"${d} ${c}\"${f}/><wp:cNvGraphicFramePr><a:graphicFrameLocks xmlns:a=\"${l}\" noChangeAspect=\"1\"/></wp:cNvGraphicFramePr><a:graphic xmlns:a=\"${l}\"><a:graphicData uri=\"${u}\"><pic:pic xmlns:pic=\"${u}\"><pic:nvPicPr><pic:cNvPr id=\"${c}\" name=\"${d}\"${f}/><pic:cNvPicPr/></pic:nvPicPr><pic:blipFill><a:blip r:embed=\"${t}\"/><a:stretch><a:fillRect/></a:stretch></pic:blipFill><pic:spPr><a:xfrm><a:off x=\"0\" y=\"0\"/><a:ext cx=\"${o}\" cy=\"${s}\"/></a:xfrm><a:prstGeom prst=\"rect\"><a:avLst/></a:prstGeom></pic:spPr></pic:pic></a:graphicData></a:graphic></wp:inline></${e}drawing></${e}r>`}const Vt={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,bmp:`image/bmp`,svg:`image/svg+xml`,webp:`image/webp`};async function Ht(e,t,n){if(n=n.toLowerCase().replace(`jpeg`,`jpg`),!Vt[n])throw Error(`Unsupported image type .${n}`);let r=e.pkg.freeName(`word/media`,`image`,n);e.pkg.setPart(r,t),await e.pkg.ensureDefaultType(n,Vt[n]);let i=await e.pkg.addRel(e.mainPath,`http://schemas.openxmlformats.org/officeDocument/2006/relationships/image`,r);return e.rels=await e.pkg.rels(e.mainPath),e.markEdited(),{rid:i,path:r}}async function Ut(e,t){let n=await e.pkg.addRel(e.mainPath,`http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink`,t,!0);return e.rels=await e.pkg.rels(e.mainPath),`r:`+n}const Wt=[`cnfStyle`,`tcW`,`gridSpan`,`hMerge`,`vMerge`,`tcBorders`,`shd`,`noWrap`,`tcMar`,`textDirection`,`tcFitText`,`vAlign`,`hideMark`];function Gt(e){let t=[],n=e=>{for(let i of o(e)){let e=r(i.q);e===`tr`?t.push(i):(e===`sdt`||e===`sdtContent`||e===`customXml`)&&n(i)}};return n(e),t}function Kt(e){let t=[],n=e=>{for(let i of o(e)){let e=r(i.q);e===`tc`?t.push(i):(e===`sdt`||e===`sdtContent`||e===`customXml`)&&n(i)}};return n(e),t}async function qt(e,o){let c;if(o.item!==void 0){let n=a(t(e.items[o.item]??``));n&&(r(n.q)===`tbl`?c=n:v(n,e=>(!c&&r(e.q)===`tbl`&&(c=e),!!c)))}let l=c&&i(c.q)||`w:`,u=l+`val`,h=c?Gt(c):[],g=c?s(c,`tblPr`):void 0;if(!g){let n=e.styles.has(`TableGrid`)?`<${l}tblStyle ${u}=\"TableGrid\"/>`:``;g=t(`<${l}tblPr>${n}<${l}tblW ${l}w=\"0\" ${l}type=\"auto\"/>${n?``:`<${l}tblBorders>${[`top`,`left`,`bottom`,`right`,`insideH`,`insideV`].map(e=>`<${l}${e} ${u}=\"single\" ${l}sz=\"4\" ${l}space=\"0\" ${l}color=\"auto\"/>`).join(``)}</${l}tblBorders>`}<${l}tblLook ${u}=\"04A0\" ${l}firstRow=\"1\" ${l}lastRow=\"0\" ${l}firstColumn=\"1\" ${l}lastColumn=\"0\" ${l}noHBand=\"0\" ${l}noVBand=\"1\"/></${l}tblPr>`)[0]}let _=`<${l}tblGrid>${o.cols.map(e=>`<${l}gridCol ${l}w=\"${Math.round(e*20)}\"/>`).join(``)}</${l}tblGrid>`,y=h.length?s(Kt(h[0])[0],`tcPr`):void 0,b=o.cols.length,x=[],S=`<${l}tbl${c?.a??``}>${n(g)}${_}`,C=(e,t,r,i,a)=>{let c=f((e?s(Kt(h[e[0]]??{c:[]})[e[1]],`tcPr`):void 0)??y??d(l+`tcPr`));c.q=l+`tcPr`,p(c,e=>e===`gridSpan`||e===`vMerge`||e===`hMerge`);let g=o.cols.slice(t,t+r).reduce((e,t)=>e+t,0);return m(c,d(l+`tcW`,{[l+`w`]:String(Math.round(g*20)),[l+`type`]:`dxa`}),`tcW`,Wt),r>1&&m(c,d(l+`gridSpan`,{[u]:String(r)}),`gridSpan`,Wt),i&&m(c,d(l+`vMerge`,i===`restart`?{[u]:`restart`}:{}),`vMerge`,Wt),a!==void 0&&m(c,a?d(l+`shd`,{[u]:`clear`,[l+`color`]:`auto`,[l+`fill`]:a.replace(`#`,``).toUpperCase()}):void 0,`shd`,Wt),n(c)};for(let t of o.rows){let r=t.src===void 0?void 0:h[t.src],i=s(r,`trPr`);S+=`<${l}tr${r?.a??``}>${i?n(i):``}`;let a=0,o=0,c=t.cells;for(;a<b&&(o<c.length||x[a]);){let t=x[a];if(t&&t.left>0){S+=`<${l}tc>${t.tcPr,``}${C(void 0,a,t.span,`continue`)}<${l}p/></${l}tc>`,t.left--,t.left||(x[a]=void 0),a+=t.span;continue}let r=c[o++];if(!r)break;let i=Math.max(1,Math.min(r.colSpan,b-a)),s=``;for(let t of r.paras){let r=t.pristine&&t.pid===t.from?Ct(e,t.pid):void 0;s+=r?n(r):(await Ft(e,t)).xml}S+=`<${l}tc>${C(r.src,a,i,r.rowSpan>1?`restart`:void 0,r.shd)}${s||`<${l}p/>`}</${l}tc>`,r.rowSpan>1&&(x[a]={left:r.rowSpan-1,span:i}),a+=i}S+=`</${l}tr>`}return S+`</${l}tbl>`}async function Jt(e,t){if(!e.ready)throw Error(`Document is still loading`);e.markEdited();let n=t.spec?await qt(e,t.spec):``;if(t.item!==void 0){e.itemXml.set(t.item,n);return}let r;for(let[n,i]of e.groups)i.includes(t.tid)&&(r=n);if(!t.spec)r&&e.groups.get(r).splice(e.groups.get(r).indexOf(t.tid),1),e.genXml.delete(t.tid);else{if(!r){let n=t.anchor===void 0?void 0:e.info.get(t.anchor);if(!n||t.anchor===void 0)throw Error(`Table anchor paragraph not found`);let r=It(e,`${n.item}:${n.ord}`);r.splice(r.indexOf(t.anchor)+1,0,t.tid)}e.genXml.set(t.tid,n)}}async function Yt(e){if(!e.ready)throw Error(`Document is still loading`);if(e.groups.size||e.itemXml.size){let r=/* @__PURE__ */ new Set;for(let t of e.groups.keys())r.add(Number(t.split(`:`)[0]));let i=[e.prefix];for(let a=0;a<e.items.length;a++){let o=e.itemXml.get(a);if(o!==void 0){i.push(o+(/\\s*$/.exec(e.items[a])?.[0]??``));continue}if(!r.has(a)){i.push(e.items[a]);continue}let s=t(e.items[a]),c=yt(s);for(let t=0;t<c.length;t++){let r=e.groups.get(`${a}:${t}`);if(!r)continue;let i=c[t];i.list[i.index]=r.map(t=>e.genXml.get(t)??(Ct(e,t)?n(Ct(e,t)):``)).join(``)}i.push(n(s))}i.push(e.suffix),e.pkg.setPart(e.mainPath,i.join(``))}return e.pkg.save(`application/vnd.openxmlformats-officedocument.wordprocessingml.document`)}function Xt(e){let t=e.replace(`#`,``),n=t.length===8?t.slice(2):t.padStart(6,`0`).slice(0,6);return[parseInt(n.slice(0,2),16)||0,parseInt(n.slice(2,4),16)||0,parseInt(n.slice(4,6),16)||0]}function Zt([e,t,n]){let r=e=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,`0`);return`#`+r(e)+r(t)+r(n)}function Qt([e,t,n]){e/=255,t/=255,n/=255;let r=Math.max(e,t,n),i=Math.min(e,t,n),a=(r+i)/2;if(r===i)return[0,0,a];let o=r-i,s=a>.5?o/(2-r-i):o/(r+i),c=0;return c=r===e?(t-n)/o+(t<n?6:0):r===t?(n-e)/o+2:(e-t)/o+4,[c/6,s,a]}function $t([e,t,n]){if(t===0)return[n*255,n*255,n*255];let r=n<.5?n*(1+t):n+t-n*t,i=2*n-r,a=e=>(e<0&&(e+=1),e>1&&--e,e<1/6?i+(r-i)*6*e:e<1/2?r:e<2/3?i+(r-i)*(2/3-e)*6:i);return[a(e+1/3)*255,a(e)*255,a(e-1/3)*255]}const en=e=>Math.max(0,Math.min(1,e));function tn(e,t){if(!t)return e;let n=Qt(Xt(e));return n[2]=t<0?n[2]*(1+t):n[2]*(1-t)+t,Zt($t(n))}const nn={black:`#000000`,white:`#ffffff`,red:`#ff0000`,green:`#008000`,blue:`#0000ff`,yellow:`#ffff00`,cyan:`#00ffff`,magenta:`#ff00ff`,gray:`#808080`,grey:`#808080`,ltGray:`#d3d3d3`,dkGray:`#a9a9a9`,orange:`#ffa500`,purple:`#800080`,navy:`#000080`,maroon:`#800000`,olive:`#808000`,teal:`#008080`,silver:`#c0c0c0`,lime:`#00ff00`,pink:`#ffc0cb`,brown:`#a52a2a`,gold:`#ffd700`},rn={bg1:`lt1`,tx1:`dk1`,bg2:`lt2`,tx2:`dk2`},an=/* @__PURE__ */ new Set([`srgbClr`,`schemeClr`,`sysClr`,`prstClr`,`scrgbClr`,`hslClr`]);function on(e,t){let n;switch(e.n){case`srgbClr`:n=`#`+(e.a.val??`000000`).toLowerCase();break;case`sysClr`:n=`#`+(e.a.lastClr??(e.a.val===`window`?`ffffff`:`000000`));break;case`prstClr`:n=nn[e.a.val]??`#000000`;break;case`scrgbClr`:n=Zt([(O(e.a.r)??0)/1e5*255,(O(e.a.g)??0)/1e5*255,(O(e.a.b)??0)/1e5*255]);break;case`hslClr`:n=Zt($t([(O(e.a.hue)??0)/216e5,(O(e.a.sat)??0)/1e5,(O(e.a.lum)??0)/1e5]));break;case`schemeClr`:{let r=e.a.val;if(r===`phClr`)n=t.phClr;else{let e=t.clrMap?.[r]??rn[r]??r;n=t.theme?.colors[e]??t.theme?.colors[r]}break}}if(n)return sn(n,e)}function sn(e,t){if(!t.c.length)return e;let n=Xt(e),r=1;for(let e of t.c){let t=(O(e.a.val)??0)/1e5;switch(e.n){case`alpha`:r=t;break;case`lumMod`:{let e=Qt(n);e[2]=en(e[2]*t),n=$t(e);break}case`lumOff`:{let e=Qt(n);e[2]=en(e[2]+t),n=$t(e);break}case`satMod`:{let e=Qt(n);e[1]=en(e[1]*t),n=$t(e);break}case`tint`:n=n.map(e=>e+(255-e)*(1-t));break;case`shade`:n=n.map(e=>e*t);break;case`inv`:n=n.map(e=>255-e);break;case`gray`:{let e=n[0]*.3+n[1]*.59+n[2]*.11;n=[e,e,e];break}}}let i=Zt(n);if(r>=1)return i;let[a,o,s]=Xt(i);return`rgba(${a},${o},${s},${+r.toFixed(3)})`}function P(e,t){if(e){for(let n of e.c)if(an.has(n.n))return on(n,t)}}const cn=`000000 FFFFFF FF0000 00FF00 0000FF FFFF00 FF00FF 00FFFF 000000 FFFFFF FF0000 00FF00 0000FF FFFF00 FF00FF 00FFFF 800000 008000 000080 808000 800080 008080 C0C0C0 808080 9999FF 993366 FFFFCC CCFFFF 660066 FF8080 0066CC CCCCFF 000080 FF00FF FFFF00 00FFFF 800080 800000 008080 0000FF 00CCFF CCFFFF CCFFCC FFFF99 99CCFF FF99CC CC99FF FFCC99 3366FF 33CCCC 99CC00 FFCC00 FF9900 FF6600 666699 969696 003366 339966 003300 333300 993300 993366 333399 333333`.split(` `).map(e=>`#`+e),ln=[`lt1`,`dk1`,`lt2`,`dk2`,`accent1`,`accent2`,`accent3`,`accent4`,`accent5`,`accent6`,`hlink`,`folHlink`];function un(e,t,n=cn){if(!e||e.a.auto===`1`||e.a.auto===`true`)return;let r;if(e.a.rgb){let t=e.a.rgb;r=`#`+(t.length===8?t.slice(2):t)}else if(e.a.theme!==void 0)r=t?.colors[ln[Number(e.a.theme)]??``]??void 0;else if(e.a.indexed!==void 0){let t=Number(e.a.indexed);if(t===64||t===65)return;r=n[t]}if(!r)return;let i=O(e.a.tint)??0;return i?tn(r,i):r.toLowerCase()}function dn(e){let t=E(T(T(e,`colors`),`indexedColors`),`rgbColor`);return t.length?t.map(e=>`#`+(e.a.rgb??`FF000000`).slice(-6)):cn}const fn=[`ln`,`noFill`,`solidFill`,`gradFill`,`blipFill`,`pattFill`,`grpFill`,`effectLst`,`effectDag`,`highlight`,`uLnTx`,`uLn`,`uFillTx`,`uFill`,`latin`,`ea`,`cs`,`sym`,`hlinkClick`,`hlinkMouseOver`,`rtl`,`extLst`],pn=/* @__PURE__ */ new Set([`noFill`,`solidFill`,`gradFill`,`blipFill`,`pattFill`,`grpFill`]),mn={left:`l`,center:`ctr`,right:`r`,justify:`just`};function hn(t,n){let i;for(let a of t)e(a)&&v(a,e=>{if(i)return!0;if(r(e.q)!==`sp`)return;let t=l(s(s(e,`nvSpPr`),`cNvPr`)??e,`id`);return t!==void 0&&Number(t)===n&&(i=e),!0});return i}function gn(e,t,n){t.sz!==void 0&&u(e,`sz`,String(Math.round(t.sz*100))),t.b!==void 0&&u(e,`b`,t.b?`1`:`0`),t.i!==void 0&&u(e,`i`,t.i?`1`:`0`),t.u!==void 0&&u(e,`u`,t.u?`sng`:`none`),t.strike!==void 0&&u(e,`strike`,t.strike?`sngStrike`:`noStrike`),`color`in t&&(p(e,e=>pn.has(e)),t.color&&m(e,d(n+`solidFill`,{},[d(n+`srgbClr`,{val:t.color.replace(`#`,``).toUpperCase()})]),`solidFill`,fn)),t.font&&m(e,d(n+`latin`,{typeface:t.font}),`latin`,fn),`hl`in t&&m(e,t.hl?d(n+`highlight`,{},[d(n+`srgbClr`,{val:t.hl.replace(`#`,``).toUpperCase()})]):void 0,`highlight`,fn),`baseline`in t&&u(e,`baseline`,t.baseline?String(Math.round(t.baseline*1e3)):void 0)}const _n=[`lnSpc`,`spcBef`,`spcAft`,`buClrTx`,`buClr`,`buSzTx`,`buSzPct`,`buSzPts`,`buFontTx`,`buFont`,`buNone`,`buAutoNum`,`buChar`,`buBlip`,`tabLst`,`defRPr`,`extLst`],vn=/* @__PURE__ */ new Set([`buNone`,`buAutoNum`,`buChar`,`buBlip`]);function yn(e,t,n){if(t.algn&&u(e,`algn`,mn[t.algn]),t.lvl!==void 0&&String(t.lvl)!==(l(e,`lvl`)??`0`)&&(u(e,`lvl`,t.lvl?String(t.lvl):void 0),u(e,`marL`,void 0),u(e,`indent`,void 0)),t.bullet){if(p(e,e=>vn.has(e)),t.bullet===`none`)m(e,d(n+`buNone`),`buNone`,_n),l(e,`indent`)?.startsWith(`-`)&&u(e,`indent`,`0`);else{let r=t.bullet===`bullet`?d(n+`buChar`,{char:`•`}):d(n+`buAutoNum`,{type:`arabicPeriod`});if(t.bullet===`bullet`&&m(e,d(n+`buFont`,{typeface:`Arial`}),`buFont`,_n),m(e,r,t.bullet===`bullet`?`buChar`:`buAutoNum`,_n),!l(e,`marL`)){let t=Number(l(e,`lvl`)??0);u(e,`marL`,String(342900+t*457200)),u(e,`indent`,`-342900`)}}}t.lnPct&&m(e,d(n+`lnSpc`,{},[d(n+`spcPct`,{val:String(Math.round(t.lnPct*1e5))})]),`lnSpc`,_n),e.self=e.c.length===0}const bn={l:`left`,ctr:`center`,r:`right`,just:`justify`,dist:`justify`,thaiDist:`justify`,justLow:`justify`},xn={dash:`4 3`,sysDash:`3 1`,dot:`1 1`,sysDot:`1 1`,lgDash:`8 3`,dashDot:`4 3 1 3`,lgDashDot:`8 3 1 3`,lgDashDotDot:`8 3 1 3 1 3`,sysDashDot:`3 1 1 1`,sysDashDotDot:`3 1 1 1 1 1`};function Sn(e){let t=e.c[0];return t?T(t,`nvPr`):void 0}function Cn(e){let t=T(Sn(e),`ph`);if(t)return{type:t.a.type??`body`,idx:t.a.idx}}const wn=e=>e===`ctrTitle`?`title`:e===`subTitle`||e===`obj`?`body`:e;function Tn(e){let t=/* @__PURE__ */ new Map,n=/* @__PURE__ */ new Map,r=e=>{for(let i of e?.c??[]){i.n===`grpSp`&&r(i);let e=Cn(i);e&&(e.idx!==void 0&&!t.has(e.idx)&&t.set(e.idx,i),n.has(e.type)||n.set(e.type,i))}};return r(e),{byIdx:t,byType:n}}function En(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,i]of t)for(;e>=r;)n+=i,e-=r;return n}function Dn(e,t){let n=e=>String.fromCharCode(97+(e-1)%26).repeat(Math.floor((e-1)/26)+1),r=String(t);return e.startsWith(`alphaLc`)?r=n(t):e.startsWith(`alphaUc`)?r=n(t).toUpperCase():e.startsWith(`romanLc`)?r=En(t):e.startsWith(`romanUc`)&&(r=En(t).toUpperCase()),e.endsWith(`ParenBoth`)?`(${r})`:e.endsWith(`ParenR`)?`${r})`:e.endsWith(`Period`)?`${r}.`:e.endsWith(`Minus`)?`- ${r} -`:r}var On=class a{pkg;mainPath;defaultTextStyle;masters=/* @__PURE__ */ new Map;layouts=/* @__PURE__ */ new Map;tableStyles;meta;constructor(e,t,n,r){this.pkg=e,this.mainPath=t,this.defaultTextStyle=n,this.meta=r}static async open(e,t){let n=await e.xml(t);if(!n)throw Error(`Missing presentation part`);let r=await e.rels(t),i=T(n,`sldSz`),o=[];for(let t of E(T(n,`sldIdLst`),`sldId`)){let n=r.get(t.a[`r:id`]);n&&e.has(n.target)&&o.push({index:o.length,path:n.target,hidden:!1})}let s={w:M(O(i?.a.cx,9144e3)),h:M(O(i?.a.cy,6858e3)),count:o.length,slides:o};return new a(e,t,T(n,`defaultTextStyle`),s)}async part(e){let t=await this.pkg.xml(e,!1);if(!t)throw Error(`Missing part ${e}`);let n=D(t,`cSld`,`spTree`);return{path:e,root:t,rels:await this.pkg.rels(e),spTree:n,...Tn(n)}}master(e){let t=this.masters.get(e);return t||(t=(async()=>{let t=await this.part(e),n=j(t.rels,`theme`),r=De(n?await this.pkg.xml(n.target):void 0),i={...T(t.root,`clrMap`)?.a??{}},a=T(t.root,`txStyles`);return{...t,theme:r,clrMap:i,title:T(a,`titleStyle`),body:T(a,`bodyStyle`),other:T(a,`otherStyle`)}})(),this.masters.set(e,t)),t}layout(e){let t=this.layouts.get(e);return t||(t=(async()=>{let t=await this.part(e),n=j(t.rels,`slideMaster`);if(!n)throw Error(`Layout ${e} has no master`);let r=await this.master(n.target);return{...t,master:r,clrMap:kn(t.root,r.clrMap)}})(),this.layouts.set(e,t)),t}getTableStyles(){return this.tableStyles||=(async()=>{let e=/* @__PURE__ */ new Map,t=j(await this.pkg.rels(this.mainPath),`tableStyles`),n=t?await this.pkg.xml(t.target):void 0;for(let t of E(n,`tblStyle`))e.set(t.a.styleId,t);return e})(),this.tableStyles}async slide(e){let t=this.meta.slides[e];if(!t)throw Error(`No slide #${e}`);let n=await this.part(t.path),r=j(n.rels,`slideLayout`),i=r?await this.layout(r.target):void 0,a=i?.master,o=a?.theme??De(void 0),s=kn(n.root,i?.clrMap??a?.clrMap??{}),c=new Mn(this,n,i,a,o,s,e,await this.getTableStyles()),l=[],u=n.root.a.showMasterSp!==`0`;return a&&u&&i?.root.a.showMasterSp!==`0`&&c.walk(a,a.spTree,An,l,!0),i&&u&&c.walk(i,i.spTree,An,l,!0),c.walk(n,n.spTree,An,l,!1),{index:e,w:this.meta.w,h:this.meta.h,bg:c.background(),els:l,hidden:n.root.a.show===`0`}}get defaults(){return this.defaultTextStyle}genMaps=/* @__PURE__ */ new Map;touched=!1;undoStack=[];redoStack=[];originals=/* @__PURE__ */ new Map;lateShapes=/* @__PURE__ */ new Map;async keepOriginal(e){this.originals.has(e)||this.originals.set(e,await this.pkg.text(e))}genMap(e,t){return this.genMaps.get(`${e}#${t}`)}get dirty(){return this.genMaps.size>0||this.touched}async setText(a,c,l){let u=this.meta.slides[a];if(!u)throw Error(`No slide #${a}`);let p=u.path;await this.keepOriginal(p);let m=t(await this.pkg.text(p)),g=hn(m,c),_=`${p}#${c}`;g&&!this.lateShapes.has(_)&&!hn(t(this.originals.get(p)),c)&&this.lateShapes.set(_,n([g]));let v=this.lateShapes.get(_),y=v?t(v)[0]:hn(t(this.originals.get(p)),c);if(!g||!y)throw Error(`Shape ${c} not found`);let b=s(g,`txBody`),x=s(y,`txBody`),S=o(x,`p`),C=i(g.q),w=i((s(x,`bodyPr`)??S[0])?.q??`a:x`)||`a:`;b||(b=d(C+`txBody`,{},[d(w+`bodyPr`),d(w+`lstStyle`)]),g.c.push(b),g.self=!1);let ee=S.map(e=>o(e).filter(e=>[`r`,`br`,`fld`].includes(r(e.q)))),te=[],ne=l.map(e=>{let t=e.k===void 0?S[S.length-1]:S[e.k],n=d(w+`p`),r=s(t,`pPr`),i=e.algn||e.lvl!==void 0||e.bullet||e.lnPct,a=r?f(r):i?d(w+`pPr`):void 0;a&&i&&yn(a,e,w),a&&n.c.push(a);let o=s(t,`endParaRPr`),c={k:e.k,runs:[]},l=e=>{let t=s(e?ee[e[0]]?.[e[1]]:void 0,`rPr`)??(o?{...f(o),q:w+`rPr`}:void 0);return t?f(t):d(w+`rPr`,{lang:`en-US`,dirty:`0`})};for(let t of e.runs)if(t.fld&&t.src){let e=ee[t.src[0]]?.[t.src[1]];e&&(n.c.push(f(e)),c.runs.push(t.src))}else t.text.split(`\n`).forEach((e,r)=>{let i=l(t.src);t.set&&gn(i,t.set,w),r>0&&(n.c.push(d(w+`br`,{},[{...f(i)}])),c.runs.push(t.src)),e&&(n.c.push(d(w+`r`,{},[i,d(w+`t`,{},[h(e)])])),c.runs.push(t.src))});return n.c.push(o?f(o):d(w+`endParaRPr`,{lang:`en-US`,dirty:`0`})),n.self=!1,te.push(c),n}),re=b.c.filter(t=>!(e(t)&&r(t.q)===`p`));return b.c=[...re,...ne],b.self=!1,this.pkg.setPart(p,n(m)),this.genMaps.set(`${p}#${c}`,te),this.undoStack=this.undoStack.filter(e=>e.path!==p),this.redoStack=this.redoStack.filter(e=>e.path!==p),this.slide(a)}save(){return this.pkg.save(`application/vnd.openxmlformats-officedocument.presentationml.presentation`)}};function kn(e,t){let n=D(e,`clrMapOvr`,`overrideClrMapping`);return n?{...n.a}:t}const An=e=>e;function jn(e){if(!e)return;let t=T(e,`off`),n=T(e,`ext`);if(!t&&!n)return;let r={x:M(O(t?.a.x,0)),y:M(O(t?.a.y,0)),w:M(O(n?.a.cx,0)),h:M(O(n?.a.cy,0))},i=O(e.a.rot);return i&&(r.rot=i/6e4),e.a.flipH===`1`&&(r.flipH=!0),e.a.flipV===`1`&&(r.flipV=!0),r}var Mn=class{pres;slide;layout;master;theme;clrMap;index;tableStyles;constructor(e,t,n,r,i,a,o,s){this.pres=e,this.slide=t,this.layout=n,this.master=r,this.theme=i,this.clrMap=a,this.index=o,this.tableStyles=s}cc(e){return{theme:this.theme,clrMap:this.clrMap,phClr:e}}font(e){if(e)return e.startsWith(`+mj`)?Pe(this.theme.major):e.startsWith(`+mn`)?Pe(this.theme.minor):Pe(e)}fill(e,t,n){if(e)for(let r of e.c)switch(r.n){case`noFill`:return{t:`none`};case`solidFill`:{let e=P(r,this.cc(n));return e?{t:`solid`,c:e}:void 0}case`gradFill`:{let e=E(T(r,`gsLst`),`gs`).map(e=>({pos:O(e.a.pos,0)/1e3|0,col:P(e,this.cc(n))})).filter(e=>e.col).sort((e,t)=>e.pos-t.pos);if(!e.length)return;if(e.length===1)return{t:`solid`,c:e[0].col};let t=e.map(e=>`${e.col} ${e.pos}%`).join(`, `);return T(r,`path`)?{t:`grad`,css:`radial-gradient(circle, ${t})`}:{t:`grad`,css:`linear-gradient(${(O(T(r,`lin`)?.a.ang,0)/6e4+90)%360}deg, ${t})`}}case`blipFill`:{let e=T(r,`blip`)?.a[`r:embed`],n=e?t.get(e):void 0;return n&&!n.external?{t:`img`,target:n.target,tile:!!T(r,`tile`)}:void 0}case`pattFill`:{let e=P(T(r,`fgClr`),this.cc(n));return e?{t:`solid`,c:e}:void 0}}}themeFill(e,t){if(!e)return;let n=O(e.a.idx,0);if(!n)return;let r=P(e,this.cc()),i=(n>=1001?this.theme.bgFillStyles:this.theme.fillStyles)[n>=1001?n-1001:n-1];return i?this.fill({n:`x`,a:{},c:[i],t:``},t,r)??(r?{t:`solid`,c:r}:void 0):r?{t:`solid`,c:r}:void 0}stroke(e,t){let n=O(t?.a.idx,0),r=n?this.theme.lineStyles[n-1]:void 0,i=t?P(t,this.cc()):void 0;if(e&&T(e,`noFill`))return;let a=e?P(T(e,`solidFill`),this.cc(i)):void 0;if(!a&&e){let t=D(e,`gradFill`,`gsLst`,`gs`);t&&(a=P(t,this.cc(i)))}if(!a&&n&&(a=i??(r?P(T(r,`solidFill`),this.cc(i)):void 0)),!a)return;let o=O(e?.a.w)??O(r?.a.w)??9525,s=T(e,`prstDash`)?.a.val??T(r,`prstDash`)?.a.val,c={c:a,w:Math.max(.5,M(o))};s&&xn[s]&&(c.dash=xn[s].split(` `).map(e=>+(Number(e)*c.w).toFixed(2)).join(` `));let l=T(e,`headEnd`)?.a.type,u=T(e,`tailEnd`)?.a.type;return l&&l!==`none`&&(c.head=l),u&&u!==`none`&&(c.tail=u),c}background(){for(let e of[this.slide,this.layout,this.master]){if(!e)continue;let t=D(e.root,`cSld`,`bg`);if(!t)continue;let n=T(t,`bgPr`);if(n){let t=this.fill(n,e.rels);if(t)return t}let r=T(t,`bgRef`);if(r)return this.themeFill(r,e.rels)}return{t:`solid`,c:this.theme.colors[this.clrMap.bg1??`lt1`]??`#ffffff`}}readRun(e,t={}){if(!e)return t;let n=e.a;n.sz&&(t.sz=Number(n.sz)/100),n.b!==void 0&&(t.b=n.b===`1`||n.b===`true`),n.i!==void 0&&(t.i=n.i===`1`||n.i===`true`),n.u!==void 0&&(t.u=n.u!==`none`),n.strike!==void 0&&(t.strike=n.strike!==`noStrike`),n.baseline!==void 0&&(t.baseline=Number(n.baseline)/1e3),n.cap!==void 0&&(t.caps=n.cap===`all`);let r=T(e,`solidFill`);if(r){let e=P(r,this.cc());e&&(t.color=e)}else{let n=D(e,`gradFill`,`gsLst`,`gs`),r=n&&P(n,this.cc());r&&(t.color=r)}let i=P(T(e,`highlight`),this.cc());i&&(t.hl=i);let a=T(e,`latin`)?.a.typeface??T(e,`ea`)?.a.typeface,o=this.font(a);return o&&(t.font=o),t}readLvl(e,t){let n={...t,r:{...t.r}};if(!e)return n;let r=e.a;r.algn&&(n.algn=bn[r.algn]??`left`),r.marL!==void 0&&(n.marL=M(Number(r.marL))),r.indent!==void 0&&(n.indent=M(Number(r.indent)));for(let t of e.c)switch(t.n){case`lnSpc`:{let e=O(T(t,`spcPct`)?.a.val),r=O(T(t,`spcPts`)?.a.val);e===void 0?r!==void 0&&(n.lnPts=r/100,n.lnPct=void 0):(n.lnPct=e/1e5,n.lnPts=void 0);break}case`spcBef`:case`spcAft`:{let e=O(T(t,`spcPct`)?.a.val),r=O(T(t,`spcPts`)?.a.val),i=e===void 0?{pts:(r??0)/100}:{pct:e/1e5};t.n===`spcBef`?n.bef=i:n.aft=i;break}case`buNone`:n.bu={kind:`none`};break;case`buChar`:n.bu={kind:`char`,char:t.a.char??`•`};break;case`buAutoNum`:n.bu={kind:`auto`,autoType:t.a.type??`arabicPeriod`,startAt:O(t.a.startAt,1)};break;case`buClr`:n.buClr=P(t,this.cc());break;case`buFont`:n.buFont=t.a.typeface;break;case`buSzPct`:n.buSzPct=O(t.a.val,1e5)/1e5;break;case`defRPr`:this.readRun(t,n.r)}return n}levels(e){let t=[];for(let n=1;n<=9;n++){let r={r:{}};for(let t of e)t&&(r=this.readLvl(T(t,`defPPr`),r),r=this.readLvl(T(t,`lvl${n}pPr`),r));t.push(r)}return t}textBody(e,t,n,r,i,a){if(!e)return;let o=E(e,`p`),s=!o.some(e=>e.c.some(e=>e.n===`r`||e.n===`fld`));if(s&&a===void 0)return;let c=a===void 0?void 0:this.pres.genMap(this.slide.path,a),l=this.master,u;if(n){let e=wn(n.type);u=e===`title`?l?.title:e===`body`?l?.body:l?.other}let d=n?[u]:[l?.other,this.pres.defaults];if(r){let e=P(r,this.cc()),t=r.a.idx===`major`?this.theme.major:r.a.idx===`minor`?this.theme.minor:void 0,n={n:`lstStyle`,a:{},c:[],t:``},i={n:`defRPr`,a:{},c:[],t:``};e&&i.c.push({n:`solidFill`,a:{},c:[{n:`srgbClr`,a:{val:e.replace(`#`,``).slice(0,6)},c:[],t:``}],t:``}),t&&i.c.push({n:`latin`,a:{typeface:t},c:[],t:``}),n.c.push({n:`defPPr`,a:{},c:[i],t:``}),d.push(n)}for(let e of t)d.push(D(e,`txBody`,`lstStyle`));let f=this.levels(d),p={},m;for(let e of t){let t=D(e,`txBody`,`bodyPr`);if(!t)continue;Object.assign(p,t.a);let n=T(t,`normAutofit`);n&&(m=n)}let h=m?O(m.a.fontScale,1e5)/1e5:1,g=m?O(m.a.lnSpcReduction,0)/1e5:0,_=[M(O(p.lIns,91440)),M(O(p.tIns,45720)),M(O(p.rIns,91440)),M(O(p.bIns,45720))],v=[],y=i?.rels??this.slide.rels,b=o.map((e,t)=>{let n=T(e,`pPr`),r=Math.min(8,O(n?.a.lvl,0)),i=this.readLvl(n,f[r]),a=[],o=0;for(let n of e.c){let e=n.n===`r`||n.n===`fld`||n.n===`br`?c?c[t]?.runs[o++]:[t,o++]:void 0;if(n.n===`r`||n.n===`fld`){let t=this.readRun(T(n,`rPr`),{...i.r}),r=_e(T(n,`t`));n.n===`fld`&&n.a.type===`slidenum`&&(r=String(this.index+1));let o=D(n,`rPr`,`hlinkClick`)?.a[`r:id`],s=o?y.get(o)?.target:void 0;a.push({text:r,sz:(t.sz??18)*h,b:t.b,i:t.i,u:t.u||!!s,strike:t.strike,color:t.color??(s?this.theme.colors.hlink:void 0),font:t.font,baseline:t.baseline,caps:t.caps,href:s,hl:t.hl,src:e,...n.n===`fld`?{fld:!0}:{}})}else if(n.n===`br`){let t=this.readRun(T(n,`rPr`),{...i.r});a.push({text:``,br:!0,sz:(t.sz??18)*h,src:e})}}let s=this.readRun(T(e,`endParaRPr`),{...i.r}),l=a[0]?.sz??(s.sz??18)*h,u=a.some(e=>e.text),d;if(i.bu&&i.bu.kind!==`none`&&u){let e=l*(i.buSzPct??1),t=i.buClr??a[0]?.color??i.r.color;if(i.bu.kind===`char`)d={text:i.bu.char??`•`,sz:e,color:t,font:i.buFont?this.font(i.buFont):void 0};else{v[r]=(v[r]??(i.bu.startAt??1)-1)+1;for(let e=r+1;e<9;e++)v[e]=void 0;d={text:Dn(i.bu.autoType??`arabicPeriod`,v[r]),sz:e,color:t}}}else if(!i.bu||i.bu.kind===`none`)for(let e=r;e<9;e++)v[e]=void 0;let p=e=>e?e.pts===void 0?(e.pct??0)*l*1.2*(4/3):e.pts*4/3:0;return{algn:i.algn??`left`,marL:i.marL??0,indent:i.indent??0,lnPct:i.lnPct===void 0?g?1-g:void 0:i.lnPct*(1-g),lnPx:i.lnPts===void 0?void 0:i.lnPts*4/3,spcBef:p(i.bef),spcAft:p(i.aft),bullet:d,lvl:r||void 0,buKind:i.bu?.kind===`char`?`bullet`:i.bu?.kind===`auto`?`number`:void 0,runs:a,endSz:(s.sz??18)*h,k:c?c[t]?.k:t}});return{anchor:p.anchor===`ctr`?`ctr`:p.anchor===`b`?`b`:`t`,ins:_,wrap:p.wrap!==`none`,vert:p.vert&&p.vert!==`horz`?p.vert:void 0,paras:b,empty:s||void 0}}inheritChain(e,t){let n=Cn(e);if(!n)return{chain:[e]};let r=[],i=wn(n.type);if(t===this.slide){let e=this.layout?(n.idx===void 0?void 0:this.layout.byIdx.get(n.idx))??this.layout.byType.get(n.type):void 0,t=e?Cn(e)?.type??i:i,a=this.master?.byType.get(wn(t))??this.master?.byType.get(i);a&&r.push(a),e&&r.push(e)}else if(t===this.layout){let e=this.master?.byType.get(i);e&&r.push(e)}return r.push(e),{chain:r,ph:n}}walk(e,t,n,r,i,a){if(t)for(let o of t.c){if(i&&(o.n===`sp`||o.n===`pic`)&&Cn(o))continue;let t=T(o.c[0],`cNvPr`)?.a.id,s=a??(e===this.slide&&t?Number(t):void 0),c=r.length;try{switch(o.n){case`sp`:case`cxnSp`:this.shape(o,e,n,r);break;case`pic`:this.pic(o,e,n,r);break;case`grpSp`:this.group(o,e,n,r,i,s);break;case`graphicFrame`:this.frame(o,e,n,r)}}catch{}if(s!==void 0)for(let e=c;e<r.length;e++)r[e].top=s}}boxOf(e,t,n){for(let r=e.length-1;r>=0;r--){let i=jn(D(e[r],...t));if(i)return n(i)}}shape(e,t,n,r){let{chain:i,ph:a}=this.inheritChain(e,t),o=this.boxOf(i,[`spPr`,`xfrm`],n);if(!o)return;let s=T(e,`style`),c;for(let e=i.length-1;e>=0&&!c;e--)c=this.fill(T(i[e],`spPr`),t.rels);!c&&s&&(c=this.themeFill(T(s,`fillRef`),t.rels));let l;for(let e=i.length-1;e>=0&&!l;e--)l=D(i[e],`spPr`,`ln`);let u=this.stroke(l,T(s,`lnRef`)),d=`rect`,f,p;for(let e=i.length-1;e>=0;e--){let t=D(i[e],`spPr`,`prstGeom`);if(t){d=t.a.prst??`rect`;let e=E(T(t,`avLst`),`gd`);if(e.length){f={};for(let t of e){let e=/val\\s+(-?\\d+)/.exec(t.a.fmla??``);e&&(f[t.a.name]=Number(e[1]))}}break}let n=D(i[e],`spPr`,`custGeom`);if(n){d=`custom`,p=Fn(n,o);break}}e.n===`cxnSp`&&d===`rect`&&(d=`line`);let m=D(e,`nvSpPr`,`cNvPr`)?.a.id,h=t===this.slide&&e.n===`sp`&&m?Number(m):void 0,g=e.n===`sp`?this.textBody(T(e,`txBody`),i,a,T(s,`fontRef`),t,h):void 0;(c&&c.t!==`none`||u||g)&&r.push({t:`shape`,box:o,geom:d,adj:f,fill:c,stroke:u,text:g,path:p,sid:h})}pic(e,t,n,r){let{chain:i}=this.inheritChain(e,t),a=this.boxOf(i,[`spPr`,`xfrm`],n);if(!a)return;let o=T(e,`blipFill`),s=T(o,`blip`)?.a[`r:embed`],c=s?t.rels.get(s):void 0,l=T(o,`srcRect`),u=l?[O(l.a.l,0)/1e5,O(l.a.t,0)/1e5,O(l.a.r,0)/1e5,O(l.a.b,0)/1e5]:void 0,d=!!T(Sn(e),`videoFile`)||!!T(Sn(e),`audioFile`);r.push({t:`pic`,box:a,target:c&&!c.external?c.target:void 0,crop:u&&u.some(e=>e!==0)?u:void 0,stroke:this.stroke(D(e,`spPr`,`ln`),D(e,`style`,`lnRef`)),geom:D(e,`spPr`,`prstGeom`)?.a.prst,video:d})}group(e,t,n,r,i,a){let o=D(e,`grpSpPr`,`xfrm`),s=T(o,`off`),c=T(o,`ext`),l=T(o,`chOff`),u=T(o,`chExt`);if(!s||!c)return this.walk(t,e,n,r,i,a);let d=M(O(s.a.x,0)),f=M(O(s.a.y,0)),p=M(O(l?.a.x,0)),m=M(O(l?.a.y,0)),h=u&&O(u.a.cx)?O(c.a.cx,0)/O(u.a.cx,1):1,g=u&&O(u.a.cy)?O(c.a.cy,0)/O(u.a.cy,1):1;this.walk(t,e,e=>n({...e,x:d+(e.x-p)*h,y:f+(e.y-m)*g,w:e.w*h,h:e.h*g}),r,i,a)}frame(e,t,n,r){let i=jn(T(e,`xfrm`));if(!i)return;let a=n(i),o=D(e,`graphic`,`graphicData`);if(!o)return;let s=T(o,`tbl`);if(s)return void r.push(this.table(s,a,t));let c=T(T(o,`oleObj`),`pic`);if(c){let e=D(c,`blipFill`,`blip`)?.a[`r:embed`],n=e?t.rels.get(e):void 0;r.push({t:`pic`,box:a,target:n?.target});return}let l=o.a.uri??``,u=l.includes(`chart`)?`Chart`:l.includes(`diagram`)?`SmartArt`:l.includes(`ole`)?`Embedded object`:`Object`;r.push({t:`placeholder`,box:a,label:u})}table(e,t,n){let r=E(T(e,`tblGrid`),`gridCol`).map(e=>M(O(e.a.w,0))),i=T(e,`tblPr`),a=e=>i?.a[e]===`1`||i?.a[e]===`true`,o=T(i,`tableStyleId`)?.t.trim(),s=o?this.tableStyles.get(o):void 0,c=E(e,`tr`),l=c.length,u=r.length,d=this.fill(i,n.rels),f=(e,t)=>{let n=[],r=e=>{let t=T(s,e);t&&n.push(t)};r(`wholeTbl`);let i=e-+!!a(`firstRow`);a(`bandRow`)&&i>=0&&r(i%2==0?`band1H`:`band2H`);let o=t-+!!a(`firstCol`);return a(`bandCol`)&&o>=0&&r(o%2==0?`band1V`:`band2V`),a(`firstCol`)&&t===0&&r(`firstCol`),a(`lastCol`)&&t===u-1&&r(`lastCol`),a(`lastRow`)&&e===l-1&&r(`lastRow`),a(`firstRow`)&&e===0&&r(`firstRow`),n},p=!s&&o?Nn(this.theme,a(`firstRow`),a(`bandRow`)):void 0;return{t:`table`,box:t,cols:r,rows:c.map((e,t)=>{let r=E(e,`tc`).map((e,r)=>{let i=T(e,`tcPr`),a,o,s,c={};for(let e of f(t,r)){let t=T(e,`tcStyle`),r=this.fill(T(t,`fill`),n.rels)??this.themeFill(T(t,`fillRef`),n.rels);r&&(a=r);let i=T(t,`tcBdr`);for(let e of i?.c??[]){let t=this.stroke(T(e,`ln`),T(e,`lnRef`));c[e.n]=t}let l=T(e,`tcTxStyle`);if(l){l.a.b&&(o=l.a.b===`on`);let e=P(l,this.cc())??P(T(l,`fontRef`),this.cc());e&&(s=e)}}if(p){let e=p(t);a=e.fill,e.color&&(s=e.color),e.bold&&(o=!0),c.insideH=c.insideV={c:`#ffffff`,w:1}}let m=this.fill(i,n.rels);m&&(a=m);let h=(e,t,n,r)=>{let a=T(i,e);return a?this.stroke(a,void 0):r?c[t]:c[n]??c[t]},g=T(e,`txBody`),_=this.textBody(g,g?[e]:[],void 0,void 0,n);if(_){if(_.ins=[M(O(i?.a.marL,91440)),M(O(i?.a.marT,45720)),M(O(i?.a.marR,91440)),M(O(i?.a.marB,45720))],_.anchor=i?.a.anchor===`ctr`?`ctr`:i?.a.anchor===`b`?`b`:`t`,o!==void 0||s)for(let e of _.paras)for(let t of e.runs)o&&t.b===void 0&&(t.b=!0),s&&!t.color&&(t.color=s)}else _=void 0;return{text:_,fill:a??d,bl:h(`lnL`,`left`,`insideV`,r===0),br:h(`lnR`,`right`,`insideV`,r===u-1),bt:h(`lnT`,`top`,`insideH`,t===0),bb:h(`lnB`,`bottom`,`insideH`,t===l-1),colSpan:O(e.a.gridSpan,1),rowSpan:O(e.a.rowSpan,1),hidden:e.a.hMerge===`1`||e.a.vMerge===`1`||e.a.hMerge===`true`||e.a.vMerge===`true`}});return{h:M(O(e.a.h,0)),cells:r}})}}};function Nn(e,t,n){let r=e.colors.accent1??`#4472c4`;return e=>{if(t&&e===0)return{fill:{t:`solid`,c:r},color:`#ffffff`,bold:!0};let i=e-+!!t,a=n&&i%2==0?.6:.8;return{fill:{t:`solid`,c:Pn(r,`#ffffff`,a)}}}}function Pn(e,t,n){let r=[1,3,5].map(t=>parseInt(e.slice(t,t+2),16)),i=[1,3,5].map(e=>parseInt(t.slice(e,e+2),16));return`#`+r.map((e,t)=>Math.round(e+(i[t]-e)*n).toString(16).padStart(2,`0`)).join(``)}function Fn(e,t){let n=E(T(e,`pathLst`),`path`),r=``;for(let e of n){let n=O(e.a.w)||1,i=O(e.a.h)||1,a=t.w/n,o=t.h/i,s=e=>`${(O(e?.a.x,0)*a).toFixed(2)} ${(O(e?.a.y,0)*o).toFixed(2)}`,c=0,l=0;for(let t of e.c){let e=E(t,`pt`);switch(t.n){case`moveTo`:r+=`M${s(e[0])} `,c=O(e[0]?.a.x,0)*a,l=O(e[0]?.a.y,0)*o;break;case`lnTo`:r+=`L${s(e[0])} `,c=O(e[0]?.a.x,0)*a,l=O(e[0]?.a.y,0)*o;break;case`cubicBezTo`:r+=`C${e.map(s).join(` `)} `,c=O(e[2]?.a.x,0)*a,l=O(e[2]?.a.y,0)*o;break;case`quadBezTo`:r+=`Q${e.map(s).join(` `)} `,c=O(e[1]?.a.x,0)*a,l=O(e[1]?.a.y,0)*o;break;case`arcTo`:{let e=O(t.a.wR,0)*a,n=O(t.a.hR,0)*o,i=O(t.a.stAng,0)/6e4*(Math.PI/180),s=O(t.a.swAng,0)/6e4*(Math.PI/180),u=c-e*Math.cos(i),d=l-n*Math.sin(i),f=u+e*Math.cos(i+s),p=d+n*Math.sin(i+s);r+=`A${e.toFixed(2)} ${n.toFixed(2)} 0 ${+(Math.abs(s)>Math.PI)} ${+(s>0)} ${f.toFixed(2)} ${p.toFixed(2)} `,c=f,l=p;break}case`close`:r+=`Z `}}}return r.trim()||void 0}var In=class{blob;name;size;constructor(e,t){this.blob=e,this.name=t,this.size=e.size}async read(e,t){return new Uint8Array(await this.blob.slice(e,e+t).arrayBuffer())}stream(e,t){return this.blob.slice(e,e+t).stream()}slice(e,t){return this.blob.slice(e,e+t)}},Ln=class{name;size;bytes;constructor(e,t){this.name=t,this.bytes=e instanceof Uint8Array?e:new Uint8Array(e),this.size=this.bytes.byteLength}async read(e,t){return this.bytes.subarray(e,e+t)}stream(e,t){let n=this.bytes,r=Math.min(e+t,n.byteLength),i=e;return new ReadableStream({pull(e){if(i>=r)return e.close();let t=Math.min(i+1048576,r);e.enqueue(n.slice(i,t)),i=t}})}},Rn=class e{url;size;opts;name;cache=/* @__PURE__ */ new Map;inflight=/* @__PURE__ */ new Map;blockSize;maxBlocks;constructor(e,t,n,r){this.url=e,this.size=t,this.opts=n,this.name=r,this.blockSize=n.blockSize??262144,this.maxBlocks=n.maxBlocks??128}static async open(t,n={}){let r=decodeURIComponent(t.split(/[?#]/)[0].split(`/`).pop()||``)||void 0,i={headers:{...n.headers},credentials:n.credentials,signal:n.signal},a=-1;try{let o=await fetch(t,{...i,headers:{...n.headers,Range:`bytes=0-0`}});if(o.status===206){let s=o.headers.get(`Content-Range`),c=s&&/\\/(\\d+)\\s*$/.exec(s);if(c&&(a=Number(c[1])),await o.body?.cancel(),a<0){let e=await fetch(t,{...i,method:`HEAD`}),n=e.headers.get(`Content-Length`);e.ok&&n&&(a=Number(n))}if(a>0)return new e(t,a,n,r)}else if(o.ok)return new In(await zn(o,n.onProgress),r)}catch(e){if(e?.name===`AbortError`)throw e}let o=await fetch(t,i);if(!o.ok)throw Error(`HTTP ${o.status} while fetching ${t}`);return new In(await zn(o,n.onProgress),r)}async fetchRange(e,t){let n=await fetch(this.url,{headers:{...this.opts.headers,Range:`bytes=${e}-${t-1}`},credentials:this.opts.credentials,signal:this.opts.signal});if(n.status!==206&&!n.ok)throw Error(`HTTP ${n.status} (range ${e}-${t-1})`);let r=new Uint8Array(await n.arrayBuffer());return n.status===206?r:r.subarray(e,t)}async ensureBlocks(e,t){let n=[],r=-1,i=e=>{if(r<0)return;let t=r,i=e,a=this.fetchRange(t*this.blockSize,Math.min((i+1)*this.blockSize,this.size)).then(e=>{for(let n=t;n<=i;n++){let r=(n-t)*this.blockSize;this.cache.set(n,e.subarray(r,Math.min(r+this.blockSize,e.length))),this.inflight.delete(n)}this.evict()});for(let e=t;e<=i;e++)this.inflight.set(e,a);n.push(a),r=-1};for(let a=e;a<=t;a++)if(this.cache.has(a)){i(a-1);let e=this.cache.get(a);this.cache.delete(a),this.cache.set(a,e)}else this.inflight.has(a)?(i(a-1),n.push(this.inflight.get(a))):r<0&&(r=a);i(t),await Promise.all(n)}evict(){for(;this.cache.size>this.maxBlocks;){let e=this.cache.keys().next().value;this.cache.delete(e)}}async read(e,t){let n=Math.min(e+t,this.size);if(n<=e)return/* @__PURE__ */ new Uint8Array;if(n-e>this.maxBlocks*this.blockSize/2)return this.fetchRange(e,n);let r=this.blockSize,i=Math.floor(e/r),a=Math.floor((n-1)/r);await this.ensureBlocks(i,a);let o=new Uint8Array(n-e);for(let t=i;t<=a;t++){let i=this.cache.get(t);if(!i)throw Error(`range block evicted before use`);let a=t*r,s=Math.max(e,a),c=Math.min(n,a+i.length);o.set(i.subarray(s-a,c-a),s-e)}return o}stream(e,t){if(t>2*this.blockSize){let{url:n,opts:r}=this,i;return new ReadableStream({async start(){let a=await fetch(n,{headers:{...r.headers,Range:`bytes=${e}-${e+t-1}`},credentials:r.credentials,signal:r.signal});if(a.status!==206)throw Error(`Range request not honoured (HTTP ${a.status})`);i=a.body.getReader()},async pull(e){let{done:t,value:n}=await i.read();t?e.close():e.enqueue(n)},cancel(){return i?.cancel()}})}let n=e,r=e+t;return new ReadableStream({pull:async e=>{if(n>=r)return e.close();let t=Math.min(this.blockSize,r-n);e.enqueue(await this.read(n,t)),n+=t}})}};async function zn(e,t){let n=Number(e.headers.get(`Content-Length`)||0);if(!e.body||!t)return e.blob();let r=e.body.getReader(),i=[],a=0;for(;;){let{done:e,value:o}=await r.read();if(e)break;i.push(o),a+=o.length,t(a,n)}return new Blob(i)}async function Bn(e,t={}){if(typeof e==`string`||e instanceof URL)return Rn.open(String(e),t);if(e instanceof Uint8Array||e instanceof ArrayBuffer)return new Ln(e,t.name);if(typeof Blob<`u`&&e instanceof Blob)return new In(e,t.name??e.name);throw Error(`Unsupported document source`)}const Vn=[`#NULL!`,`#DIV/0!`,`#VALUE!`,`#REF!`,`#NAME?`,`#NUM!`,`#N/A`];var F=class{code;constructor(e){this.code=e}toString(){return this.code}};const Hn=1048575,Un=16383,I={DIV0:new F(`#DIV/0!`),VALUE:new F(`#VALUE!`),REF:new F(`#REF!`),NAME:new F(`#NAME?`),NA:new F(`#N/A`),NUM:new F(`#NUM!`),NULL:new F(`#NULL!`)};function Wn(e){let t=``,n=e+1;for(;n>0;){let e=(n-1)%26;t=String.fromCharCode(65+e)+t,n=Math.floor((n-1)/26)}return t}function Gn(e){let t=0,n=e.toUpperCase();for(let e=0;e<n.length;e++)t=t*26+(n.charCodeAt(e)-64);return t-1}function Kn(e,t){return e===void 0||t===void 0?e===t:e.toLowerCase()===t.toLowerCase()}function qn(e){return/^[A-Za-z_\\u00A1-\\uFFFF][\\w.\\u00A1-\\uFFFF]*$/.test(e)&&!/^[A-Za-z]{1,3}\\d+$/.test(e)&&!/^(R\\d*C?\\d*|C\\d*)$/i.test(e)&&!/^(TRUE|FALSE)$/i.test(e)?e:`'${e.replace(/'/g,`''`)}'`}const Jn=(e,t,n,r)=>`${r?`$`:``}${Wn(t)}${n?`$`:``}${e+1}`;function Yn(e,t){let n=e.sheet===void 0?``:`${t??qn(e.sheet)}!`;switch(e.kind){case`cell`:return n+Jn(e.r0,e.c0,e.ar0,e.ac0);case`area`:return`${n}${Jn(e.r0,e.c0,e.ar0,e.ac0)}:${Jn(e.r1,e.c1,e.ar1,e.ac1)}`;case`cols`:return`${n}${e.ac0?`$`:``}${Wn(e.c0)}:${e.ac1?`$`:``}${Wn(e.c1)}`;case`rows`:return`${n}${e.ar0?`$`:``}${e.r0+1}:${e.ar1?`$`:``}${e.r1+1}`}}function Xn(e){return e.r0>e.r1&&([e.r0,e.r1]=[e.r1,e.r0],[e.ar0,e.ar1]=[e.ar1,e.ar0]),e.c0>e.c1&&([e.c0,e.c1]=[e.c1,e.c0],[e.ac0,e.ac1]=[e.ac1,e.ac0]),e}function Zn(e){return e.r0>=0&&e.c0>=0&&e.r1<=1048575&&e.c1<=16383&&e.r1>=0&&e.c1>=0}var L=class extends Error{pos;constructor(e,t){super(e),this.pos=t,this.name=`FormulaSyntaxError`}};const Qn=[[`#DIV/0!`,`#DIV/0!`],[`#VALUE!`,`#VALUE!`],[`#REF!`,`#REF!`],[`#NAME?`,`#NAME?`],[`#N/A`,`#N/A`],[`#NUM!`,`#NUM!`],[`#NULL!`,`#NULL!`]],$n=/[\\w.$\\\\\\u00A1-\\uFFFF]/,er=/(\\$?)([A-Za-z]{1,3})(\\$?)(\\d+):(\\$?)([A-Za-z]{1,3})(\\$?)(\\d+)/y,tr=/(\\$?)([A-Za-z]{1,3})(\\$?)(\\d+)/y,nr=/(\\$?)([A-Za-z]{1,3}):(\\$?)([A-Za-z]{1,3})/y,rr=/(\\$?)(\\d+):(\\$?)(\\d+)/y,ir=/(\\d+\\.?\\d*|\\.\\d+)([eE][+-]?\\d+)?/y,ar=[`_XLFN.`,`_XLWS.`,`_XLUDF.`];function or(e,t,n){return e.lastIndex=n,e.exec(t)}const sr=e=>e!==void 0&&$n.test(e);function cr(e){let t=Number(e)-1;return t>=0&&t<=1048575?t:-1}function lr(e){let t=Gn(e);return t<=16383?t:-1}function ur(e,t){let n,r=null;if(n=or(er,e,t)){let[e,t,i,a]=[cr(n[4]),lr(n[2]),cr(n[8]),lr(n[6])];e>=0&&t>=0&&i>=0&&a>=0&&(r={kind:`area`,r0:e,c0:t,r1:i,c1:a,ac0:!!n[1],ar0:!!n[3],ac1:!!n[5],ar1:!!n[7]})}if(!r&&(n=or(tr,e,t))){let[e,t]=[cr(n[4]),lr(n[2])];e>=0&&t>=0&&(r={kind:`cell`,r0:e,c0:t,r1:e,c1:t,ac0:!!n[1],ar0:!!n[3],ac1:!!n[1],ar1:!!n[3]})}if(!r&&(n=or(nr,e,t))){let[e,t]=[lr(n[2]),lr(n[4])];e>=0&&t>=0&&(r={kind:`cols`,r0:0,c0:e,r1:Hn,c1:t,ac0:!!n[1],ar0:!1,ac1:!!n[3],ar1:!1})}if(!r&&(n=or(rr,e,t))){let[e,t]=[cr(n[2]),cr(n[4])];e>=0&&t>=0&&(r={kind:`rows`,r0:e,c0:0,r1:t,c1:Un,ac0:!1,ar0:!!n[1],ac1:!1,ar1:!!n[3]})}if(!r||!n)return null;let i=t+n[0].length,a=e[i];return sr(a)||a===`(`||a===`!`?null:{ref:Xn(r),end:i}}function dr(e,t){let n=e.slice(t,t+7).toUpperCase();for(let[e,r]of Qn)if(n.startsWith(e))return[r,t+e.length];return null}function fr(e){let t=e.toUpperCase();for(let e=!0;e;){e=!1;for(let n of ar)t.startsWith(n)&&(t=t.slice(n.length),e=!0)}return t}function pr(e){let t=[],n=e.length,r=0,i=(r,i,a,o)=>{if(e[i]===`#`){let n=dr(e,i);if(!n)throw new L(`bad error literal`,i);return t.push({t:`err`,v:n[0],sheet:a,s:r,e:n[1]}),n[1]}let s=ur(e,i);if(s)return s.ref.sheet=a,t.push({t:`ref`,ref:s.ref,sheetText:o,s:r,e:s.end}),s.end;let c=i;for(;c<n&&sr(e[c]);)c++;if(c===i)throw new L(`expected reference after !`,i);return t.push({t:`name`,v:e.slice(i,c),sheet:a,s:r,e:c}),c};for(;r<n;){let a=e[r],o=r;if(a===` `||a===`\n`||a===`\\r`||a===` `||a===`\\xA0`){for(;r<n&&/[\\s\\u00A0]/.test(e[r]);)r++;t.push({t:`ws`,s:o,e:r});continue}if(a===`\"`){let i=``;for(r++;;){if(r>=n)throw new L(`unterminated string`,o);if(e[r]===`\"`){if(e[r+1]===`\"`){i+=`\"`,r+=2;continue}r++;break}i+=e[r++]}t.push({t:`str`,v:i,s:o,e:r});continue}if(a===`#`){let n=dr(e,r);if(!n)throw new L(`bad error literal`,r);t.push({t:`err`,v:n[0],s:o,e:n[1]}),r=n[1];continue}if(a===`'`){let t=``,a=r+1;for(;;){if(a>=n)throw new L(`unterminated sheet name`,o);if(e[a]===`'`){if(e[a+1]===`'`){t+=`'`,a+=2;continue}break}t+=e[a++]}if(e[a+1]!==`!`)throw new L(`expected '!' after sheet name`,a+1);r=i(o,a+2,t,e.slice(r,a+1));continue}if(a===`[`){let t=/\\[\\d+\\][\\w.\\u00A1-\\uFFFF]+!/y;if(t.lastIndex=r,!t.exec(e))throw new L(`unexpected '['`,r);let n=t.lastIndex-1,a=e.slice(r,n);r=i(o,n+1,a,a);continue}if(`(){},;`.includes(a)){t.push({t:`punc`,v:a,s:o,e:++r});continue}let s=e.slice(r,r+2);if(s===`<=`||s===`>=`||s===`<>`)t.push({t:`op`,v:s,s:o,e:r+=2});else if(`+-*/^&=<>%:`.includes(a))t.push({t:`op`,v:a,s:o,e:++r});else if(a>=`0`&&a<=`9`||a===`.`&&/\\d/.test(e[r+1]??``)||a===`$`&&/\\d/.test(e[r+1]??``)){let n=ur(e,r);if(n&&n.ref.kind===`rows`){t.push({t:`ref`,ref:n.ref,s:o,e:n.end}),r=n.end;continue}let i=or(ir,e,r);if(!i||a===`$`)throw new L(`bad number`,r);r+=i[0].length,t.push({t:`num`,v:Number(i[0]),s:o,e:r})}else if(sr(a)){let a=r;for(;a<n&&sr(e[a]);)a++;let s=e.slice(r,a);if(e[a]===`!`){r=i(o,a+1,s,s);continue}if(e[a]===`(`){t.push({t:`func`,v:fr(s),s:o,e:a}),r=a;continue}let c=ur(e,r);if(c){t.push({t:`ref`,ref:c.ref,s:o,e:c.end}),r=c.end;continue}let l=s.toUpperCase();if(l===`TRUE`||l===`FALSE`){t.push({t:`bool`,v:l===`TRUE`,s:o,e:a}),r=a;continue}if(e[a]===`[`){let t=0;do e[a]===`[`?t++:e[a]===`]`&&t--,a++;while(a<n&&t>0);if(t>0)throw new L(`unterminated [`,r)}t.push({t:`name`,v:e.slice(r,a),s:o,e:a}),r=a}else throw new L(`unexpected character '${a}'`,r)}return t}function mr(e){let t;try{t=pr(e.trim()).filter(e=>e.t!==`ws`)}catch{return null}let n=t[0];if(!n||n.t!==`ref`)return null;if(t.length===1)return n.ref;let r=t[1],i=t[2];return t.length!==3||r.t!==`op`||r.v!==`:`||i.t!==`ref`||i.ref.sheet!==void 0&&(n.ref.sheet??``).toLowerCase()!==i.ref.sheet.toLowerCase()?null:Xn({...n.ref,kind:`area`,r0:Math.min(n.ref.r0,i.ref.r0),c0:Math.min(n.ref.c0,i.ref.c0),r1:Math.max(n.ref.r1,i.ref.r1),c1:Math.max(n.ref.c1,i.ref.c1)})}const hr=/* @__PURE__ */ new Set([`=`,`<>`,`<`,`>`,`<=`,`>=`]);var gr=class{toks;i=0;constructor(e){this.toks=e}peek(){return this.toks[this.i]}isOp(...e){let t=this.toks[this.i];return t&&t.t===`op`&&e.includes(t.v)?t.v:void 0}isPunc(e){let t=this.toks[this.i];return!!t&&t.t===`punc`&&t.v===e}fail(e){let t=this.toks[this.i];throw new L(e,t?t.s:-1)}expectPunc(e){this.isPunc(e)||this.fail(`expected '${e}'`),this.i++}expr(){let e=this.concat();for(let t=this.cmpOp();t;t=this.cmpOp())this.i++,e={type:`binary`,op:t,left:e,right:this.concat()};return e}cmpOp(){let e=this.peek();return e&&e.t===`op`&&hr.has(e.v)?e.v:void 0}concat(){let e=this.add();for(;this.isOp(`&`);)this.i++,e={type:`binary`,op:`&`,left:e,right:this.add()};return e}add(){let e=this.mul();for(let t=this.isOp(`+`,`-`);t;t=this.isOp(`+`,`-`))this.i++,e={type:`binary`,op:t,left:e,right:this.mul()};return e}mul(){let e=this.pow();for(let t=this.isOp(`*`,`/`);t;t=this.isOp(`*`,`/`))this.i++,e={type:`binary`,op:t,left:e,right:this.pow()};return e}pow(){let e=this.postfix();for(;this.isOp(`^`);)this.i++,e={type:`binary`,op:`^`,left:e,right:this.postfix()};return e}postfix(){let e=this.unary();for(;this.isOp(`%`);)this.i++,e={type:`percent`,arg:e};return e}unary(){let e=this.isOp(`-`,`+`);return e?(this.i++,{type:`unary`,op:e,arg:this.unary()}):this.range()}range(){let e=this.primary();for(;this.isOp(`:`);)this.i++,e={type:`range`,left:e,right:this.primary()};return e}primary(){let e=this.peek();switch(e||this.fail(`unexpected end of formula`),this.i++,e.t){case`num`:return{type:`num`,value:e.v};case`str`:return{type:`str`,value:e.v};case`bool`:return{type:`bool`,value:e.v};case`err`:return{type:`err`,code:e.v};case`ref`:return{type:`ref`,ref:e.ref};case`name`:return e.sheet===void 0?{type:`name`,name:e.v}:{type:`name`,name:e.v,sheet:e.sheet};case`func`:return this.expectPunc(`(`),{type:`call`,name:e.v,args:this.args()};case`punc`:if(e.v===`(`){let e=this.expr();if(!this.isPunc(`,`))return this.expectPunc(`)`),e;let t=[e];for(;this.isPunc(`,`);)this.i++,t.push(this.expr());return this.expectPunc(`)`),{type:`union`,items:t}}if(e.v===`{`)return this.array()}return this.i--,this.fail(`unexpected token`)}args(){let e=[];if(this.isPunc(`)`))return this.i++,e;for(;;){if(e.push(this.isPunc(`,`)||this.isPunc(`)`)?{type:`missing`}:this.expr()),this.isPunc(`)`))return this.i++,e;this.expectPunc(`,`)}}array(){let e=[[]];for(;;){e[e.length-1].push(this.arrayItem());let t=this.peek();if(t&&t.t===`punc`||this.fail(`bad array constant`),this.i++,t.v===`}`)break;t.v===`;`?e.push([]):t.v!==`,`&&this.fail(`bad array constant`)}return e.some(t=>t.length!==e[0].length)&&this.fail(`array rows differ in length`),{type:`array`,rows:e}}arrayItem(){let e=this.isOp(`-`,`+`);e&&this.i++;let t=this.peek();return t||this.fail(`bad array constant`),this.i++,t.t===`num`?e===`-`?-t.v:t.v:(e&&this.fail(`bad array constant`),t.t===`str`||t.t===`bool`?t.v:t.t===`err`?new F(t.v):(this.i--,this.fail(`bad array constant`)))}};function _r(e){let t=pr(e.startsWith(`=`)?e.slice(1):e).filter(e=>e.t!==`ws`);if(!t.length)throw new L(`empty formula`,0);let n=new gr(t),r=n.expr();if(n.i<t.length)throw new L(`unexpected token`,t[n.i].s);return r}const vr=864e5,yr=Date.UTC(1899,11,30),br=Date.UTC(1904,0,1);let xr=!1;function Sr(){return xr}function Cr(e){xr=e}function wr(e,t,n){let r=/* @__PURE__ */ new Date(0);return r.setUTCFullYear(e,t-1,n),r.getTime()}function Tr(e,t,n){let r=wr(e,t,n);if(xr)return Math.round((r-br)/vr);let i=Math.round((r-yr)/vr);return i<61?i-1:i}function Er(e){let t=Math.floor(e);if(xr){let e=new Date(br+t*vr);return{y:e.getUTCFullYear(),m:e.getUTCMonth()+1,d:e.getUTCDate(),dow:((t+5)%7+7)%7}}let n=((t-1)%7+7)%7;if(t===60)return{y:1900,m:2,d:29,dow:n};if(t===0)return{y:1900,m:1,d:0,dow:n};let r=new Date(yr+(t<60?t+1:t)*vr);return{y:r.getUTCFullYear(),m:r.getUTCMonth()+1,d:r.getUTCDate(),dow:n}}function Dr(e){return Math.round((e-Math.floor(e))*86400)%86400}function Or(e,t){return new Date(wr(e,t+1,0)).getUTCDate()}function kr(e){return Tr(e.getFullYear(),e.getMonth()+1,e.getDate())+(e.getHours()*3600+e.getMinutes()*60+e.getSeconds()+e.getMilliseconds()/1e3)/86400}const Ar=/^(\\d{1,4}):(\\d{1,2})(?::(\\d{1,2}(?:\\.\\d+)?))?\\s*([ap]m?)?$/i,jr=/^(\\d{4})[-/](\\d{1,2})[-/](\\d{1,2})(?:[T\\s]+(.+))?$/i,Mr=/^(\\d{1,2})[-/](\\d{1,2})[-/](\\d{4}|\\d{2})(?:\\s+(.+))?$/;function Nr(e){let t=Ar.exec(e.trim());if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=t[3]?Number(t[3]):0;if(r>59||i>=60)return null;if(t[4]){if(n<1||n>12)return null;let e=t[4][0].toLowerCase()===`p`;n=n%12+(e?12:0)}return(n*3600+r*60+i)/86400}function Pr(e,t,n){if(t<1||t>12||n<1||n>Or(e,t))return null;let r=Tr(e,t,n);return r<0?null:r}function Fr(e){let t=jr.exec(e),n=null,r;if(t)n=Pr(Number(t[1]),Number(t[2]),Number(t[3])),r=t[4];else if(t=Mr.exec(e)){let e=Number(t[3]);t[3].length===2&&(e+=e<30?2e3:1900),n=Pr(e,Number(t[1]),Number(t[2])),r=t[4]}else return Nr(e);if(n===null)return null;if(r===void 0)return n;let i=Nr(r);return i===null?null:n+i}const Ir=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Lr=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function Rr(e){let t=[],n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i];a===`\\\\`&&!r?(n+=a+(e[i+1]??``),i++):(a===`\"`&&(r=!r),a===`;`&&!r?(t.push(n),n=``):n+=a)}return t.push(n),t}function zr(e){return e.replace(/\"[^\"]*\"/g,``).replace(/\\\\./g,``).replace(/\\[[^\\]]*\\]/g,``).replace(/[_*]./g,``)}function Br(e){return/[ymdhs]/i.test(zr(e))||/\\[(h+|m+|s+)\\]/i.test(e)}function Vr(e,t){let n=[];for(let e=0;e<t.length;){let r=t[e],i=r.toLowerCase();if(r===`\"`){let r=t.indexOf(`\"`,e+1),i=r<0?t.length:r;n.push({k:`lit`,v:t.slice(e+1,i)}),e=i+1}else if(r===`\\\\`)n.push({k:`lit`,v:t[e+1]??``}),e+=2;else if(r===`_`)n.push({k:`lit`,v:` `}),e+=2;else if(r===`*`)e+=2;else if(r===`[`){let r=t.indexOf(`]`,e),i=t.slice(e+1,r<0?t.length:r).toLowerCase();/^h+$/.test(i)?n.push({k:`H`,n:i.length}):/^m+$/.test(i)?n.push({k:`N`,n:i.length}):/^s+$/.test(i)&&n.push({k:`S`,n:i.length}),e=r<0?t.length:r+1}else if(t.slice(e,e+5).toUpperCase()===`AM/PM`)n.push({k:`ap`,v:t.slice(e,e+5)}),e+=5;else if(t.slice(e,e+3).toUpperCase()===`A/P`)n.push({k:`ap`,v:t.slice(e,e+3)}),e+=3;else if(`ymdhs`.includes(i)){let r=e;for(;r<t.length&&t[r].toLowerCase()===i;)r++;n.push({k:i===`m`?`M`:i,n:r-e}),e=r}else n.push({k:`lit`,v:r}),e++}let r=n.filter(e=>e.k!==`lit`);r.forEach((e,t)=>{if(e.k!==`M`||e.n>2)return;let n=r[t-1],i=r[t+1];(n&&(n.k===`h`||n.k===`H`)||i&&(i.k===`s`||i.k===`S`))&&(e.k=`m`)});let i=n.some(e=>e.k===`ap`),a=Math.floor(e),o=Math.round((e-a)*86400);o>=86400&&(a++,o-=86400);let s=Er(a),c=Math.floor(o/3600),l=Math.floor(o%3600/60),u=o%60,d=(e,t)=>String(e).padStart(t,`0`),f=``;for(let e of n)switch(e.k){case`lit`:f+=e.v;break;case`y`:f+=e.n<=2?d(s.y%100,2):d(s.y,4);break;case`M`:f+=e.n===1?s.m:e.n===2?d(s.m,2):e.n===3?Ir[s.m-1].slice(0,3):e.n===4?Ir[s.m-1]:Ir[s.m-1][0];break;case`d`:f+=e.n===1?s.d:e.n===2?d(s.d,2):e.n===3?Lr[s.dow].slice(0,3):Lr[s.dow];break;case`h`:{let t=i?c%12||12:c;f+=e.n>=2?d(t,2):t;break}case`m`:f+=e.n>=2?d(l,2):l;break;case`s`:f+=e.n>=2?d(u,2):u;break;case`H`:f+=d(a*24+c,e.n);break;case`N`:f+=d((a*24+c)*60+l,e.n);break;case`S`:f+=d(((a*24+c)*60+l)*60+u,e.n);break;case`ap`:{let t=c<12,n=e.v.length===5?t?e.v.slice(0,2):e.v.slice(3,5):t?e.v[0]:e.v[2];f+=n;break}}return f}var R=class{sheet;r0;c0;r1;c1;constructor(e,t,n,r,i){this.sheet=e,this.r0=t,this.c0=n,this.r1=r,this.c1=i}get h(){return this.r1-this.r0+1}get w(){return this.c1-this.c0+1}},z=class{data;constructor(e){this.data=e}get h(){return this.data.length}get w(){return this.data[0]?.length??0}},B=class{areas;constructor(e){this.areas=e}};const Hr=/^([+-])?\\s*\\$?\\s*((?:\\d{1,3}(?:,\\d{3})+|\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*(%?)$/;function Ur(e){let t=e.trim();if(!t)return null;let n=Hr.exec(t);if(n&&/\\d/.test(n[2])){let e=Number(n[2].replace(/,/g,``));if(!Number.isNaN(e))return(n[1]===`-`?-e:e)/(n[3]?100:1)}return Fr(t)}function Wr(e){if(!Number.isFinite(e))return`#NUM!`;if(e===0)return`0`;let[t,n]=Math.abs(e).toExponential(14).split(`e`),r=Number(n),i=t.replace(`.`,``).replace(/0+$/,``),a=e<0?`-`:``;if(r>=15||r<-9)return`${a}${i[0]+(i.length>1?`.${i.slice(1)}`:``)}E${r<0?`-`:`+`}${String(Math.abs(r)).padStart(2,`0`)}`;if(r<0)return`${a}0.${`0`.repeat(-r-1)}${i}`;let o=i.slice(0,r+1).padEnd(r+1,`0`),s=i.slice(r+1);return a+o+(s?`.${s}`:``)}function Gr(e){if(typeof e==`number`)return e;if(e===null)return 0;if(typeof e==`boolean`)return+!!e;if(typeof e==`string`){let t=Ur(e);return t===null?I.VALUE:t}return e}function Kr(e){return typeof e==`string`?e:typeof e==`number`?Wr(e):e===null?``:typeof e==`boolean`?e?`TRUE`:`FALSE`:e}function qr(e){if(typeof e==`boolean`)return e;if(typeof e==`number`)return e!==0;if(e===null)return!1;if(typeof e==`string`){let t=e.toUpperCase();return t===`TRUE`||t!==`FALSE`&&I.VALUE}return e}function V(e){let t=Gr(e);if(t instanceof F)throw t;return t}function H(e){return Math.trunc(V(e))}function U(e){let t=Kr(e);if(t instanceof F)throw t;return t}function Jr(e){let t=qr(e);if(t instanceof F)throw t;return t}function Yr(e,t){return e===t||Math.abs(e-t)<=Math.max(Math.abs(e),Math.abs(t))*1e-15}const Xr=e=>typeof e==`number`?0:typeof e==`string`?1:2;function W(e,t){if(e===null&&(e=typeof t==`string`?``:typeof t!=`boolean`&&0),t===null&&(t=typeof e==`string`?``:typeof e!=`boolean`&&0),e instanceof F||t instanceof F)return 0;let n=Xr(e),r=Xr(t);if(n!==r)return n<r?-1:1;if(typeof e==`number`){let n=t;return Yr(e,n)?0:e<n?-1:1}if(typeof e==`string`){let n=e.toLowerCase(),r=t.toLowerCase();return n<r?-1:+(n>r)}return!!e-+!!t}function Zr(e,t){return e===null||t===null?e===t:e instanceof F||t instanceof F?!1:typeof e==typeof t&&W(e,t)===0}const Qr=e=>/[*?~]/.test(e);function $r(e,t=!0){let n=``;for(let t=0;t<e.length;t++){let r=e[t];r===`~`&&t+1<e.length&&`*?~`.includes(e[t+1])?n+=`\\\\${e[++t]}`:n+=r===`*`?`[\\\\s\\\\S]*`:r===`?`?`[\\\\s\\\\S]`:r.replace(/[.*+?^${}()|[\\]\\\\/]/g,`\\\\$&`)}return new RegExp(t?`^${n}$`:n,`i`)}function ei(e,t){switch(e){case`<`:return t<0;case`<=`:return t<=0;case`>`:return t>0;case`>=`:return t>=0;case`<>`:return t!==0;default:return t===0}}const ti=e=>Vn.find(t=>t===e.toUpperCase());function ni(e){if(e instanceof F){let t=e.code;return e=>e instanceof F&&e.code===t}if(e===null&&(e=0),typeof e==`number`){let t=e;return e=>typeof e==`number`&&Yr(e,t)||typeof e==`string`&&Ur(e)===t}if(typeof e==`boolean`){let t=e;return e=>e===t}let t=/^(<=|>=|<>|<|>|=)?([\\s\\S]*)$/.exec(e),n=t[1]??``,r=t[2],i=n===``||n===`=`;if(r===``)return n===``?e=>e===null||e===``:n===`=`?e=>e===null:n===`<>`?e=>e!==null&&e!==``:()=>!1;let a=Ur(r);if(a!==null)return i?e=>typeof e==`number`&&Yr(e,a)||typeof e==`string`&&Ur(e)===a:n===`<>`?e=>!(typeof e==`number`&&Yr(e,a)):e=>typeof e==`number`&&ei(n,W(e,a));let o=r.toUpperCase();if(o===`TRUE`||o===`FALSE`){let e=o===`TRUE`;return i?t=>t===e:n===`<>`?t=>t!==e:t=>typeof t==`boolean`&&ei(n,W(t,e))}let s=ti(r);if(s){let e=e=>e instanceof F&&e.code===s;return n===`<>`?t=>!e(t):t=>e(t)}if(i||n===`<>`){let e=$r(r),t=t=>typeof t==`string`&&e.test(t);return n===`<>`?e=>!t(e):t}return e=>typeof e==`string`&&ei(n,W(e,r))}const G=1/0;function ri(e){try{return e()}catch(e){if(e instanceof F)return e;throw e}}function ii(e,t,n){let r=e.length===1?0:t,i=e[0].length===1?0:n;return r<e.length&&i<e[0].length?e[r][i]:I.NA}function K(e,t,n){return{kind:`eager`,min:e,max:t,scalarArgs:!0,fn:(e,t,r)=>{let i=1,a=1,o=!1,s=e.map(e=>{if(e instanceof R){if(e.h===1&&e.w===1)return t.cell(e.sheet,e.r0,e.c0);if(r)return t.scalar(e)}else if(e instanceof z){if(e.h===1&&e.w===1)return e.data[0][0]}else if(e instanceof B)return I.VALUE;else return e;let n=t.toArray(e);return o=!0,i=Math.max(i,n.length),a=Math.max(a,n[0].length),n});if(!o)return ri(()=>n(s,t));let c=[];for(let e=0;e<i;e++){let r=[];for(let i=0;i<a;i++){let a=s.map(t=>Array.isArray(t)?ii(t,e,i):t);r.push(ri(()=>n(a,t)))}c.push(r)}return new z(c)}}}function q(e,t,n){return{kind:`eager`,min:e,max:t,scalarArgs:!1,fn:n}}function ai(e,t,n){return{kind:`lazy`,min:e,max:t,fn:n}}function oi(e,t,n,r){if(e instanceof R)t.forEach(e,n);else if(e instanceof B)for(let r of e.areas)t.forEach(r,n);else if(e instanceof z)for(let t of e.data)for(let e of t)n(e);else r(e)}function si(e,t,n){for(let r of e)oi(r,t,e=>{if(typeof e==`number`)n(e);else if(e instanceof F)throw e},e=>{let t=Gr(e);if(t instanceof F)throw t;n(t)})}function J(e,t){let n=[];return si(e,t,e=>n.push(e)),n}function ci(e){return e.length===1?e[0]:e.flat()}function Y(e,t,n){if(e.length<=t)return n;let r=Gr(e[t]);if(r instanceof F)throw r;return r}function li(e){let t=V(e);if(t<0)throw I.NUM;return t}const X=e=>Math.floor(li(e));function ui(e,t,n){let r=Er(e),i=r.y*12+(r.m-1)+Math.trunc(t),a=Math.floor(i/12),o=i%12+1,s=Tr(a,o,n?Or(a,o):Math.min(r.d,Or(a,o)));if(s<0)throw I.NUM;return s}const di={1:[0,1],2:[1,1],3:[1,0],11:[1,1],12:[2,1],13:[3,1],14:[4,1],15:[5,1],16:[6,1],17:[0,1]};function fi(e,t,n){if(e>t)throw I.NUM;let r=Er(e),i=Er(t),a=(i.y-r.y)*12+(i.m-r.m)-+(i.d<r.d);switch(n.toUpperCase()){case`D`:return t-e;case`M`:return a;case`Y`:return Math.floor(a/12);case`YM`:return a%12;case`MD`:{if(i.d>=r.d)return i.d-r.d;let e=i.m===1?12:i.m-1;return Or(i.m===1?i.y-1:i.y,e)-r.d+i.d}case`YD`:{let e=Tr(i.y,r.m,Math.min(r.d,Or(i.y,r.m)));return e>t&&(e=Tr(i.y-1,r.m,Math.min(r.d,Or(i.y-1,r.m)))),t-e}}throw I.NUM}function pi(e,t,n){let r=e<=t?1:-1,[i,a]=e<=t?[e,t]:[t,e],o=0;for(let e=i;e<=a;e++){let t=Er(e).dow;t!==0&&t!==6&&!n.has(e)&&o++}return r*o}const mi={TODAY:q(0,0,(e,t)=>Math.floor(kr(t.now()))),NOW:q(0,0,(e,t)=>kr(t.now())),DATE:K(3,3,([e,t,n])=>{let r=Math.trunc(V(e));if(r>=0&&r<1900&&(r+=1900),r<0||r>9999)throw I.NUM;let i=Tr(r,Math.trunc(V(t)),Math.trunc(V(n)));if(i<0)throw I.NUM;return i}),TIME:K(3,3,([e,t,n])=>{let r=Math.trunc(V(e))*3600+Math.trunc(V(t))*60+Math.trunc(V(n));if(r<0)throw I.NUM;return r%86400/86400}),YEAR:K(1,1,([e])=>Er(X(e)).y),MONTH:K(1,1,([e])=>Er(X(e)).m),DAY:K(1,1,([e])=>Er(X(e)).d),HOUR:K(1,1,([e])=>Math.floor(Dr(li(e))/3600)),MINUTE:K(1,1,([e])=>Math.floor(Dr(li(e))%3600/60)),SECOND:K(1,1,([e])=>Dr(li(e))%60),WEEKDAY:K(1,2,e=>{let t=Er(X(e[0])).dow,n=di[Math.trunc(Y(e,1,1))];if(!n)throw I.NUM;return(t-n[0]+7)%7+n[1]}),EDATE:K(2,2,([e,t])=>ui(X(e),V(t),!1)),EOMONTH:K(2,2,([e,t])=>ui(X(e),V(t),!0)),DATEDIF:K(3,3,([e,t,n])=>fi(X(e),X(t),U(n))),DAYS:K(2,2,([e,t])=>Math.floor(V(e))-Math.floor(V(t))),NETWORKDAYS:q(2,3,(e,t)=>{let n=new Set(e.length>2?J([e[2]],t).map(Math.floor):[]);return pi(X(t.scalar(e[0])),X(t.scalar(e[1])),n)})},Z=(e,t,n)=>e.type===`missing`?0:t.eval(e,n);function hi(e,t){let n=[];for(let r of e)oi(r,t,e=>{if(typeof e==`boolean`)n.push(e);else if(typeof e==`number`)n.push(e!==0);else if(e instanceof F)throw e},e=>n.push(Jr(e)));if(!n.length)throw I.VALUE;return n}const gi=ai(2,3,(e,t,n)=>{let r=t.operand(t.eval(e[0],n),n),i=e[1],a=e[2];if(!Array.isArray(r)){let e=qr(r);return e instanceof F?e:e?Z(i,t,n):a?Z(a,t,n):!1}let o=t.operand(Z(i,t,!1),!1),s=a?t.operand(Z(a,t,!1),!1):!1;return new z(r.map((e,t)=>e.map((e,n)=>{let r=qr(e);if(r instanceof F)return r;let i=r?o:s;return Array.isArray(i)?ii(i,t,n):i})))});function _i(e){return ai(2,2,(t,n,r)=>{let i=n.eval(t[0],r),a=n.operand(i,r),o=t=>t instanceof F&&(!e||t.code===`#N/A`);if(Array.isArray(a)){if(!a.some(e=>e.some(o)))return i;let e=n.scalar(Z(t[1],n,!1));return new z(a.map(t=>t.map(t=>o(t)?e:t)))}return o(a)?Z(t[1],n,r):a})}const vi={IF:gi,IFS:ai(2,G,(e,t,n)=>{if(e.length%2)return I.VALUE;for(let r=0;r<e.length;r+=2){let i=t.scalar(t.eval(e[r],n));if(i instanceof F)return i;if(Jr(i))return Z(e[r+1],t,n)}return I.NA}),IFERROR:_i(!1),IFNA:_i(!0),AND:q(1,G,(e,t)=>hi(e,t).every(Boolean)),OR:q(1,G,(e,t)=>hi(e,t).some(Boolean)),XOR:q(1,G,(e,t)=>hi(e,t).filter(Boolean).length%2==1),NOT:K(1,1,([e])=>!Jr(e)),TRUE:q(0,0,()=>!0),FALSE:q(0,0,()=>!1),SWITCH:ai(3,G,(e,t,n)=>{let r=t.scalar(t.eval(e[0],n));if(r instanceof F)return r;let i=1;for(;i+1<e.length;i+=2){let a=t.scalar(Z(e[i],t,n));if(a instanceof F)return a;if(Zr(r,a)||r===null&&W(r,a)===0)return Z(e[i+1],t,n)}return i<e.length?Z(e[i],t,n):I.NA}),CHOOSE:ai(2,G,(e,t,n)=>{let r=H(t.scalar(t.eval(e[0],n)));return r<1||r>=e.length?I.VALUE:Z(e[r],t,n)}),ISBLANK:K(1,1,([e])=>e===null),ISNUMBER:K(1,1,([e])=>typeof e==`number`),ISTEXT:K(1,1,([e])=>typeof e==`string`),ISNONTEXT:K(1,1,([e])=>typeof e!=`string`),ISLOGICAL:K(1,1,([e])=>typeof e==`boolean`),ISERROR:K(1,1,([e])=>e instanceof F),ISERR:K(1,1,([e])=>e instanceof F&&e.code!==`#N/A`),ISNA:K(1,1,([e])=>e instanceof F&&e.code===`#N/A`),ISEVEN:K(1,1,([e])=>Math.trunc(V(e))%2==0),ISODD:K(1,1,([e])=>Math.abs(Math.trunc(V(e)))%2==1),NA:q(0,0,()=>I.NA),\"ERROR.TYPE\":K(1,1,([e])=>e instanceof F?Vn.indexOf(e.code)+1:I.NA),N:K(1,1,([e])=>e instanceof F||typeof e==`number`?e:typeof e==`boolean`?+!!e:0),T:K(1,1,([e])=>e instanceof F||typeof e==`string`?e:``)};function yi(e,t,n){if(n&&typeof t==`string`&&Qr(t)){let n=$r(t);return e.findIndex(e=>typeof e==`string`&&n.test(e))}return e.findIndex(e=>Zr(e,t))}function bi(e,t,n){let r=-1;for(let i=0;i<e.length;i++){let a=e[i];if(a===null||a instanceof F||typeof a!=typeof t)continue;let o=W(a,t);if(n===1?o<=0:o>=0)r=i;else break}return r}function xi(e,t){let n=t.scalar(e);if(n instanceof F)throw n;return n}function Si(e,t){if(e instanceof B)throw I.VALUE;return t.toArray(e)}function Ci(e,t,n){let r=xi(e[0],t),i=Si(e[1],t),a=H(t.scalar(e[2])),o=e.length>3?Jr(t.scalar(e[3])):!0,s=n?i[0].length:i.length;if(a<1)throw I.VALUE;if(a>s)throw I.REF;let c=n?i.map(e=>e[0]):i[0],l=o?bi(c,r,1):yi(c,r,!0);if(l<0)throw I.NA;return n?i[l][a-1]:i[a-1][l]}function wi(e,t){let n=xi(e[0],t),r=Si(e[1],t);if(r.length>1&&r[0].length>1)throw I.NA;let i=ci(r),a=e.length>2?Math.sign(V(t.scalar(e[2]))):1,o=a===0?yi(i,n,!0):bi(i,n,a);if(o<0)throw I.NA;return o+1}function Ti(e,t,n,r){if(e instanceof R)return r?new R(e.sheet,e.r0+n,e.c0,e.r0+n,e.c1):new R(e.sheet,e.r0,e.c0+n,e.r1,e.c0+n);let i=r?[t[n]]:t.map(e=>[e[n]]);return i[0].length===1&&i.length===1?i[0][0]:new z(i)}function Ei(e,t){let n=xi(e[0],t),r=Si(e[1],t),i=Si(e[2],t),a=r[0].length===1;if(!a&&r.length!==1||(a?i.length!==r.length:i[0].length!==r[0].length))throw I.VALUE;let o=e.length>3&&e[3]!==null?e[3]:void 0,s=e.length>4?H(t.scalar(e[4])):0,c=e.length>5?H(t.scalar(e[5])):1,l=ci(r),u=c<0;u&&(l=[...l].reverse());let d=-1;if(s===0||s===2)d=yi(l,n,s===2);else if(s===1||s===-1){if(d=yi(l,n,!1),d<0){let e=null;for(let t=0;t<l.length;t++){let r=l[t];if(r===null||r instanceof F||typeof r!=typeof n)continue;let i=W(r,n);(s===1?i>0&&(e===null||W(r,e)<0):i<0&&(e===null||W(r,e)>0))&&(e=r,d=t)}}}else throw I.VALUE;if(d<0){if(o!==void 0)return o;throw I.NA}return u&&(d=l.length-1-d),Ti(e[2],i,d,a)}function Di(e,t){let n=xi(e[0],t),r=Si(e[1],t),i,a;e.length>2?(i=ci(r),a=ci(Si(e[2],t))):r[0].length>r.length?(i=r[0],a=r[r.length-1]):(i=r.map(e=>e[0]),a=r.map(e=>e[e.length-1]));let o=bi(i,n,1);if(o<0||o>=a.length)throw I.NA;return a[o]}function Oi(e,t){let n=e[0];if(n instanceof B){let r=e.length>3?H(t.scalar(e[3])):1;if(r<1||r>n.areas.length)throw I.REF;n=n.areas[r-1]}let r=n instanceof R||n instanceof z?n.h:1,i=n instanceof R||n instanceof z?n.w:1,a=H(t.scalar(e[1])),o;if(e.length>2?o=H(t.scalar(e[2])):r===1?[a,o]=[1,a]:o=+(i===1),a<0||o<0||a>r||o>i)throw I.REF;if(n instanceof R){let[e,t]=a?[n.r0+a-1,n.r0+a-1]:[n.r0,n.r1],[r,i]=o?[n.c0+o-1,n.c0+o-1]:[n.c0,n.c1];return new R(n.sheet,e,r,t,i)}if(n instanceof z){let e=(a?[n.data[a-1]]:n.data).map(e=>o?[e[o-1]]:e);return e.length===1&&e[0].length===1?e[0][0]:new z(e)}return n}function ki(e,t){let n=e[0];if(!(n instanceof R))throw I.VALUE;let r=H(t.scalar(e[1])),i=H(t.scalar(e[2])),a=e.length>3&&e[3]!==null?H(t.scalar(e[3])):n.h,o=e.length>4&&e[4]!==null?H(t.scalar(e[4])):n.w;if(a===0||o===0)throw I.REF;let s=n.r0+r,c=n.c0+i,l=s+a-1,u=c+o-1;if(a<0&&([s,l]=[s+a+1,s]),o<0&&([c,u]=[c+o+1,c]),s<0||c<0||l>1048575||u>16383)throw I.REF;return new R(n.sheet,s,c,l,u)}function Ai(e,t){let n=/^(?:(?:'((?:[^']|'')+)'|([^'!]+))!)?(R(\\[-?\\d+\\]|\\d*)C(\\[-?\\d+\\]|\\d*))(?::(R(\\[-?\\d+\\]|\\d*)C(\\[-?\\d+\\]|\\d*)))?$/i.exec(e.trim());if(!n)return null;let r=(e,t)=>e===``?t:e[0]===`[`?t+Number(e.slice(1,-1)):Number(e)-1,i=r(n[4],t.r),a=r(n[5],t.c),o=n[6]?r(n[7],t.r):i,s=n[6]?r(n[8],t.c):a;return{sheet:n[1]===void 0?n[2]:n[1].replace(/''/g,`'`),kind:`area`,r0:Math.min(i,o),c0:Math.min(a,s),r1:Math.max(i,o),c1:Math.max(a,s),ar0:!0,ac0:!0,ar1:!0,ac1:!0}}function ji(e,t){let n=U(t.scalar(e[0])),r=!(e.length>1)||Jr(t.scalar(e[1]))?mr(n):Ai(n,t);if(!r||r.r0<0||r.c0<0||r.r1>1048575||r.c1>16383||r.sheet!==void 0&&!t.hasSheet(r.sheet))throw I.REF;return new R(r.sheet??t.sheet,r.r0,r.c0,r.r1,r.c1)}function Mi(e,t,n,r){if(!e.length||e[0]===null)return(r?t.r:t.c)+1;let i=e[0];if(!(i instanceof R))throw I.VALUE;let a=r?i.r0:i.c0,o=r?i.h:i.w;if(o===1||n)return a+1;let s=Array.from({length:o},(e,t)=>a+t+1);return new z(r?s.map(e=>[e]):[s])}function Ni(e,t){if(e instanceof R||e instanceof z)return t?e.h:e.w;if(e instanceof B)throw I.REF;if(e instanceof F)throw e;return 1}const Pi={VLOOKUP:q(3,4,(e,t)=>Ci(e,t,!0)),HLOOKUP:q(3,4,(e,t)=>Ci(e,t,!1)),XLOOKUP:q(3,6,Ei),MATCH:q(2,3,wi),LOOKUP:q(2,3,Di),INDEX:q(2,4,Oi),OFFSET:q(3,5,ki),INDIRECT:q(1,2,ji),ROW:q(0,1,(e,t,n)=>Mi(e,t,n,!0)),COLUMN:q(0,1,(e,t,n)=>Mi(e,t,n,!1)),ROWS:q(1,1,([e])=>Ni(e,!0)),COLUMNS:q(1,1,([e])=>Ni(e,!1))};function Fi(e,t){if(t>15)return e;let n=10**Math.abs(t),r=Math.abs(e),i=t>=0?r*n:r/n;i=Math.floor(Number(i.toPrecision(15))+.5);let a=t>=0?i/n:i*n;return e<0?-a:a}function Ii(e,t,n){let r=``,i=``,a=``,o=0,s=e=>{a?i+=e:r+=e};for(let e=0;e<t.length;e++){let n=t[e];if(n===`\"`){let n=t.indexOf(`\"`,e+1),r=n<0?t.length:n;s(t.slice(e+1,r)),e=r}else if(n===`\\\\`)s(t[++e]??``);else if(n===`_`)s(` `),e++;else if(n===`*`)e++;else if(n===`[`){let n=t.indexOf(`]`,e);e=n<0?t.length:n}else`0#?`.includes(n)||(n===`.`||n===`,`)&&!i?a+=n:(n===`%`&&o++,s(n))}let c=a,l=e*100**o;for(;c.endsWith(`,`);)c=c.slice(0,-1),l/=1e3;let u=c.indexOf(`.`),d=u<0?c:c.slice(0,u),f=u<0?``:c.slice(u+1),p=(f.match(/[0#?]/g)??[]).length,m=(f.match(/[0?]/g)??[]).length,h=(d.match(/[0?]/g)??[]).length,g=Fi(Math.abs(l),p),[_,v=``]=g.toFixed(p).split(`.`);for(_===`0`&&h===0&&(_=``),_=_.padStart(h,`0`),d.includes(`,`)&&(_=_.replace(/\\B(?=(\\d{3})+(?!\\d))/g,`,`));v.length>m&&v.endsWith(`0`);)v=v.slice(0,-1);let y=c===``?``:_+(u>=0?`.${v}`:``);return(n&&l<0&&g!==0?`-`:``)+r+y+i}function Li(e,t){if(e instanceof F)throw e;if(typeof e==`boolean`)return e?`TRUE`:`FALSE`;let n,r=Rr(t);if(typeof e==`string`){let t=Ur(e);if(t===null){let t=r.length>3?r[3]:r.find(e=>e.includes(`@`));return t===void 0?e:t.replace(/\"([^\"]*)\"/g,`$1`).replace(/@/g,e)}n=t}else n=e??0;let i=r[0],a=!0;if(n<0&&r.length>1&&r[1]!==``?(i=r[1],a=!1):n===0&&r.length>2&&r[2]!==``&&(i=r[2]),/^\\s*general\\s*$/i.test(i)||i===``)return Wr(a?n:Math.abs(n));if(Br(i)){if(n<0)throw I.VALUE;return Vr(n,i)}return Ii(a?n:Math.abs(n),i,a)}const Ri=e=>Number(e.toPrecision(15));function zi(e,t,n){if(t>15)return e;let r=10**Math.abs(t),i=Math.abs(e),a=Ri(t>=0?i*r:i/r);a=n?Math.ceil(a):Math.floor(a);let o=t>=0?a/r:a*r;return e<0?-o:o}function Bi(e){if(!Number.isFinite(e))throw I.NUM;return e}const Vi=(e,t,n)=>Ri((n?Math.ceil:Math.floor)(Ri(e/t))*t);function Hi(e,t){for(;t;)[e,t]=[t,e%t];return e}function Ui(e,t){return J(e,t).map(e=>{if(e<0)throw I.NUM;return Math.trunc(e)})}const Wi={ABS:K(1,1,([e])=>Math.abs(V(e))),ROUND:K(2,2,([e,t])=>Fi(V(e),H(t))),ROUNDUP:K(2,2,([e,t])=>zi(V(e),H(t),!0)),ROUNDDOWN:K(2,2,([e,t])=>zi(V(e),H(t),!1)),TRUNC:K(1,2,e=>zi(V(e[0]),Math.trunc(Y(e,1,0)),!1)),INT:K(1,1,([e])=>Math.floor(V(e))),MOD:K(2,2,([e,t])=>{let n=V(e),r=V(t);if(r===0)throw I.DIV0;return Ri(n-r*Math.floor(n/r))}),POWER:K(2,2,([e,t])=>{let n=V(e),r=V(t);if(n===0&&r===0)throw I.NUM;if(n===0&&r<0)throw I.DIV0;let i=n**+r;if(Number.isNaN(i))throw I.NUM;return Bi(i)}),SQRT:K(1,1,([e])=>{let t=V(e);if(t<0)throw I.NUM;return Math.sqrt(t)}),EXP:K(1,1,([e])=>Bi(Math.exp(V(e)))),LN:K(1,1,([e])=>{let t=V(e);if(t<=0)throw I.NUM;return Math.log(t)}),LOG:K(1,2,e=>{let t=V(e[0]),n=Y(e,1,10);if(t<=0||n<=0)throw I.NUM;if(n===1)throw I.DIV0;return Ri(Math.log(t)/Math.log(n))}),LOG10:K(1,1,([e])=>{let t=V(e);if(t<=0)throw I.NUM;return Math.log10(t)}),PI:q(0,0,()=>Math.PI),SIGN:K(1,1,([e])=>Math.sign(V(e))),CEILING:K(1,2,e=>{let t=V(e[0]),n=Y(e,1,1);if(n===0||t===0)return 0;if(t>0&&n<0)throw I.NUM;return Vi(t,n,!0)}),FLOOR:K(1,2,e=>{let t=V(e[0]),n=Y(e,1,1);if(n===0)throw I.DIV0;if(t>0&&n<0)throw I.NUM;return Vi(t,n,!1)}),\"CEILING.MATH\":K(1,3,e=>{let t=V(e[0]),n=Math.abs(Y(e,1,1));return n===0||t===0?0:t<0&&Y(e,2,0)!==0?-Vi(-t,n,!0):Vi(t,n,!0)}),\"FLOOR.MATH\":K(1,3,e=>{let t=V(e[0]),n=Math.abs(Y(e,1,1));return n===0||t===0?0:t<0&&Y(e,2,0)!==0?-Vi(-t,n,!1):Vi(t,n,!1)}),RAND:q(0,0,()=>Math.random()),RANDBETWEEN:K(2,2,([e,t])=>{let n=Math.ceil(V(e)),r=Math.floor(V(t));if(n>r)throw I.NUM;return n+Math.floor(Math.random()*(r-n+1))}),FACT:K(1,1,([e])=>{let t=Math.trunc(V(e));if(t<0)throw I.NUM;let n=1;for(let e=2;e<=t;e++)n*=e;return Bi(n)}),EVEN:K(1,1,([e])=>{let t=V(e),n=Math.ceil(Ri(Math.abs(t)/2))*2;return t<0?-n:n}),ODD:K(1,1,([e])=>{let t=V(e),n=Math.ceil(Ri(Math.abs(t)));return n%2==0&&n++,t<0?-n:n}),GCD:q(1,G,(e,t)=>Ui(e,t).reduce((e,t)=>Hi(e,t),0)),LCM:q(1,G,(e,t)=>Bi(Ui(e,t).reduce((e,t)=>e===0||t===0?0:e/Hi(e,t)*t,1)))};function Gi(e){let t=0;for(let n of e)t+=n;return t}function Ki(e){if(!e.length)throw I.DIV0;return Gi(e)/e.length}function qi(e,t){let n=e.length;if(n<(t?2:1))throw I.DIV0;let r=Gi(e)/n,i=0;for(let t of e)i+=(t-r)*(t-r);return i/(t?n-1:n)}function Ji(e){if(!e.length)throw I.NUM;let t=[...e].sort((e,t)=>e-t),n=t.length>>1;return t.length%2?t[n]:(t[n-1]+t[n])/2}function Yi(e){let t=/* @__PURE__ */ new Map,n=0,r=1;for(let i of e){let e=(t.get(i)??0)+1;t.set(i,e),e>r&&(n=i,r=e)}if(r<2)throw I.NA;for(let n of e)if(t.get(n)===r)return n;return n}function Xi(e,t){return J([e],t)}function Zi(e,t,n){let r=Xi(e[0],t),i=Math.ceil(V(t.scalar(e[1])));if(i<1||i>r.length)throw I.NUM;return r.sort((e,t)=>n?t-e:e-t),r[i-1]}function Qi(e,t){let n=V(t.scalar(e[0])),r=Xi(e[1],t),i=e.length>2&&V(t.scalar(e[2]))!==0;if(!r.includes(n))throw I.NA;let a=1;for(let e of r)(i?e<n:e>n)&&a++;return a}function $i(e,t){if(e instanceof B)throw I.VALUE;return t.toArray(e)}function ea(e,t,n,r){return e instanceof R?r.toArray(new R(e.sheet,e.r0,e.c0,e.r0+t-1,e.c0+n-1)):$i(e,r)}function ta(e,t,n,r){let i=[],a=[];for(let e=0;e<t.length;e+=2)i.push(e===0&&r?r:$i(t[e],n)),a.push(ni(n.scalar(t[e+1])));let o=i[0].length,s=i[0][0].length;for(let e of i)if(e.length!==o||e[0].length!==s)throw I.VALUE;if(e&&(e.length!==o||e[0].length!==s))throw I.VALUE;let c=[];for(let t=0;t<o;t++)for(let n=0;n<s;n++){let r=!0;for(let e=0;r&&e<i.length;e++)r=a[e](i[e][t][n]);r&&c.push(!e||e[t][n])}return c}function na(e){let t=[];for(let n of e)if(typeof n==`number`)t.push(n);else if(n instanceof F)throw n;return t}function ra(e,t){let n=$i(e[0],t);return na(ta(e.length>2&&e[2]!==null?ea(e[2],n.length,n[0].length,t):n,[e[0],e[1]],t,n))}function ia(e,t){if(e.length%2==0)throw I.VALUE;return na(ta($i(e[0],t),e.slice(1),t))}function aa(e,t){let n=e.map(e=>$i(e,t)),r=n[0].length,i=n[0][0].length;for(let e of n)if(e.length!==r||e[0].length!==i)throw I.VALUE;let a=0;for(let e=0;e<r;e++)for(let t=0;t<i;t++){let r=1;for(let i of n){let n=i[e][t];if(n instanceof F)throw n;r*=typeof n==`number`?n:0}a+=r}return a}function oa(e,t){if(!e.length)return 0;let n=e[0];for(let r of e)(t?r>n:r<n)&&(n=r);return n}const sa={SUM:q(0,G,(e,t)=>{let n=0;return si(e,t,e=>n+=e),n}),PRODUCT:q(0,G,(e,t)=>{let n=J(e,t);return n.length?n.reduce((e,t)=>e*t,1):0}),AVERAGE:q(1,G,(e,t)=>Ki(J(e,t))),MIN:q(1,G,(e,t)=>{let n=G;return si(e,t,e=>n=Math.min(n,e)),n===G?0:n}),MAX:q(1,G,(e,t)=>{let n=-1/0;return si(e,t,e=>n=Math.max(n,e)),n===-1/0?0:n}),COUNT:q(0,G,(e,t)=>{let n=0;for(let r of e)oi(r,t,e=>typeof e==`number`&&n++,e=>(typeof e==`number`||typeof e==`boolean`||typeof e==`string`&&Ur(e)!==null)&&n++);return n}),COUNTA:q(1,G,(e,t)=>{let n=0;for(let r of e)oi(r,t,e=>e!==null&&n++,()=>n++);return n}),COUNTBLANK:q(1,1,([e],t)=>{if(e instanceof R){let n=0,r=0;return t.forEach(e,e=>{n++,(e===null||e===``)&&r++}),r+(e.h*e.w-n)}if(e instanceof z)return ci(e.data).filter(e=>e===null||e===``).length;throw I.VALUE}),MEDIAN:q(1,G,(e,t)=>Ji(J(e,t))),MODE:q(1,G,(e,t)=>Yi(J(e,t))),\"MODE.SNGL\":q(1,G,(e,t)=>Yi(J(e,t))),STDEV:q(1,G,(e,t)=>Math.sqrt(qi(J(e,t),!0))),\"STDEV.S\":q(1,G,(e,t)=>Math.sqrt(qi(J(e,t),!0))),\"STDEV.P\":q(1,G,(e,t)=>Math.sqrt(qi(J(e,t),!1))),STDEVP:q(1,G,(e,t)=>Math.sqrt(qi(J(e,t),!1))),VAR:q(1,G,(e,t)=>qi(J(e,t),!0)),\"VAR.S\":q(1,G,(e,t)=>qi(J(e,t),!0)),\"VAR.P\":q(1,G,(e,t)=>qi(J(e,t),!1)),VARP:q(1,G,(e,t)=>qi(J(e,t),!1)),LARGE:q(2,2,(e,t)=>Zi(e,t,!0)),SMALL:q(2,2,(e,t)=>Zi(e,t,!1)),RANK:q(2,3,Qi),\"RANK.EQ\":q(2,3,Qi),SUMPRODUCT:q(1,G,aa),SUMIF:q(2,3,(e,t)=>Gi(ra(e,t))),SUMIFS:q(3,G,(e,t)=>Gi(ia(e,t))),AVERAGEIF:q(2,3,(e,t)=>Ki(ra(e,t))),AVERAGEIFS:q(3,G,(e,t)=>Ki(ia(e,t))),COUNTIF:q(2,2,(e,t)=>ta(null,e,t).length),COUNTIFS:q(2,G,(e,t)=>{if(e.length%2)throw I.VALUE;return ta(null,e,t).length}),MINIFS:q(3,G,(e,t)=>oa(ia(e,t),!1)),MAXIFS:q(3,G,(e,t)=>oa(ia(e,t),!0))},ca=32767;function la(e){let t=Math.trunc(e);if(t<0)throw I.VALUE;return t}function ua(e){let t=``,n=!1;for(let r of e){let e=r.toLowerCase()!==r.toUpperCase();t+=e?n?r.toLowerCase():r.toUpperCase():r,n=e}return t}function da(e,t,n,r){if(n<1||n>t.length+1)throw I.VALUE;if(e===``)return n;if(!r){let r=t.indexOf(e,n-1);if(r<0)throw I.VALUE;return r+1}let i=$r(e,!1).exec(t.slice(n-1));if(!i)throw I.VALUE;return i.index+n}const fa={CONCATENATE:K(1,G,e=>e.map(U).join(``)),CONCAT:q(1,G,(e,t)=>{let n=``,r=e=>n+=U(e);for(let n of e)oi(n,t,r,r);if(n.length>ca)throw I.VALUE;return n}),TEXTJOIN:q(3,G,(e,t)=>{let n=U(t.scalar(e[0])),r=Jr(t.scalar(e[1])),i=[],a=e=>{let t=U(e);r&&t===``||i.push(t)};for(let n of e.slice(2))oi(n,t,a,a);let o=i.join(n);if(o.length>ca)throw I.VALUE;return o}),LEFT:K(1,2,e=>U(e[0]).slice(0,la(Y(e,1,1)))),RIGHT:K(1,2,e=>{let t=U(e[0]);return t.slice(Math.max(0,t.length-la(Y(e,1,1))))}),MID:K(3,3,([e,t,n])=>{let r=Math.trunc(V(t));if(r<1)throw I.VALUE;return U(e).substr(r-1,la(V(n)))}),LEN:K(1,1,([e])=>U(e).length),UPPER:K(1,1,([e])=>U(e).toUpperCase()),LOWER:K(1,1,([e])=>U(e).toLowerCase()),PROPER:K(1,1,([e])=>ua(U(e))),TRIM:K(1,1,([e])=>U(e).replace(/ {2,}/g,` `).replace(/^ | $/g,``)),SUBSTITUTE:K(3,4,e=>{let t=U(e[0]),n=U(e[1]),r=U(e[2]);if(n===``)return t;if(e.length<4)return t.split(n).join(r);let i=Math.trunc(V(e[3]));if(i<1)throw I.VALUE;let a=-1;for(let e=0;e<i;e++)if(a=t.indexOf(n,a+(e?n.length:1)),a<0)return t;return t.slice(0,a)+r+t.slice(a+n.length)}),REPLACE:K(4,4,([e,t,n,r])=>{let i=U(e),a=Math.trunc(V(t));if(a<1)throw I.VALUE;let o=la(V(n));return i.slice(0,a-1)+U(r)+i.slice(a-1+o)}),REPT:K(2,2,([e,t])=>{let n=U(e),r=la(V(t));if(n.length*r>ca)throw I.VALUE;return n.repeat(r)}),FIND:K(2,3,e=>da(U(e[0]),U(e[1]),Math.trunc(Y(e,2,1)),!1)),SEARCH:K(2,3,e=>da(U(e[0]),U(e[1]),Math.trunc(Y(e,2,1)),!0)),EXACT:K(2,2,([e,t])=>U(e)===U(t)),VALUE:K(1,1,([e])=>{if(typeof e==`number`)return e;if(e===null)return 0;if(typeof e!=`string`)throw e instanceof F?e:I.VALUE;let t=Ur(e);if(t===null)throw I.VALUE;return t}),TEXT:K(2,2,([e,t])=>Li(e,U(t))),CHAR:K(1,1,([e])=>{let t=Math.trunc(V(e));if(t<1||t>255)throw I.VALUE;return String.fromCharCode(t)}),CODE:K(1,1,([e])=>{let t=U(e);if(!t)throw I.VALUE;return t.charCodeAt(0)})},pa={...Wi,...sa,...vi,...fa,...mi,...Pi,SINGLE:{kind:`eager`,min:1,max:1,scalarArgs:!1,fn:([e],t)=>t.scalar(e)}};function ma(e,t,n){let r;switch(e){case`+`:r=t+n;break;case`-`:r=t-n;break;case`*`:r=t*n;break;case`/`:if(n===0)return I.DIV0;r=t/n;break;default:if(t===0&&n===0)return I.NUM;if(t===0&&n<0)return I.DIV0;r=t**+n}return Number.isFinite(r)?r:I.NUM}function ha(e,t,n){if(t instanceof F)return t;if(n instanceof F)return n;switch(e){case`&`:return Kr(t)+Kr(n);case`=`:return W(t,n)===0;case`<>`:return W(t,n)!==0;case`<`:return W(t,n)<0;case`>`:return W(t,n)>0;case`<=`:return W(t,n)<=0;case`>=`:return W(t,n)>=0}let r=Gr(t);if(r instanceof F)return r;let i=Gr(n);return i instanceof F?i:ma(e,r,i)}function ga(e,t){return Array.isArray(e)?new z(e.map(e=>e.map(t))):t(e)}function _a(e,t,n){if(!Array.isArray(e)&&!Array.isArray(t))return n(e,t);let r=Array.isArray(e)?e:[[e]],i=Array.isArray(t)?t:[[t]],a=Math.max(r.length,i.length),o=Math.max(r[0].length,i[0].length),s=[];for(let e=0;e<a;e++){let t=[];for(let a=0;a<o;a++)t.push(n(ii(r,e,a),ii(i,e,a)));s.push(t)}return new z(s)}var va=class{provider;sheet;r;c;constructor(e){this.provider=e.provider,this.sheet=e.sheet,this.r=e.r,this.c=e.c}eval(e,t){switch(e.type){case`num`:case`str`:case`bool`:return e.value;case`err`:return new F(e.code);case`missing`:return null;case`name`:return I.NAME;case`array`:return new z(e.rows);case`ref`:return this.ref(e.ref);case`range`:return this.rangeOp(e.left,e.right);case`union`:{let t=[];for(let n of e.items){let e=this.eval(n,!1);if(e instanceof R)t.push(e);else if(e instanceof B)t.push(...e.areas);else return e instanceof F?e:I.VALUE}return new B(t)}case`unary`:{let n=this.operand(this.eval(e.arg,t),t);return e.op===`+`?Array.isArray(n)?new z(n):n:ga(n,e=>{let t=Gr(e);return t instanceof F?t:t===0?0:-t})}case`percent`:return ga(this.operand(this.eval(e.arg,t),t),e=>{let t=Gr(e);return t instanceof F?t:t/100});case`binary`:{let n=this.operand(this.eval(e.left,t),t),r=this.operand(this.eval(e.right,t),t),i=e.op;return _a(n,r,(e,t)=>ha(i,e,t))}case`call`:return this.call(e.name,e.args,t)}}ref(e){return e.sheet!==void 0&&!this.hasSheet(e.sheet)?I.REF:new R(e.sheet??this.sheet,e.r0,e.c0,e.r1,e.c1)}rangeOp(e,t){let n=this.eval(e,!1);if(n instanceof F)return n;let r=this.eval(t,!1);return r instanceof F?r:!(n instanceof R)||!(r instanceof R)||!Kn(n.sheet,r.sheet)?I.VALUE:new R(n.sheet,Math.min(n.r0,r.r0),Math.min(n.c0,r.c0),Math.max(n.r1,r.r1),Math.max(n.c1,r.c1))}call(e,t,n){if(!Object.hasOwn(pa,e))return I.NAME;let r=pa[e];if(t.length<r.min||t.length>r.max)return I.VALUE;if(r.kind===`lazy`)return ri(()=>r.fn(t,this,n));let i=t.map(e=>this.eval(e,r.scalarArgs&&n));return ri(()=>r.fn(i,this,n))}hasSheet(e){return!this.provider.hasSheet||this.provider.hasSheet(e)}now(){return this.provider.now?.()??/* @__PURE__ */ new Date}cell(e,t,n){let r=this.provider.value(e,t,n);return r===void 0?null:r}clip(e){let{r1:t,c1:n}=e;if((t===1048575||n===16383)&&this.provider.bounds){let r=this.provider.bounds(e.sheet);t===1048575&&(t=Math.max(e.r0,Math.min(t,r.rows-1))),n===16383&&(n=Math.max(e.c0,Math.min(n,r.cols-1)))}return{r1:t,c1:n}}forEach(e,t){let{r1:n,c1:r}=this.clip(e);for(let i=e.r0;i<=n;i++)for(let n=e.c0;n<=r;n++)t(this.cell(e.sheet,i,n),i-e.r0,n-e.c0)}toArray(e){if(e instanceof R){let{r1:t,c1:n}=this.clip(e),r=[];for(let i=e.r0;i<=t;i++){let t=[];for(let r=e.c0;r<=n;r++)t.push(this.cell(e.sheet,i,r));r.push(t)}return r}if(e instanceof z)return e.data;if(e instanceof B)throw I.VALUE;return[[e]]}intersect(e){return e.h===1&&e.w===1?this.cell(e.sheet,e.r0,e.c0):e.w===1&&this.r>=e.r0&&this.r<=e.r1?this.cell(e.sheet,this.r,e.c0):e.h===1&&this.c>=e.c0&&this.c<=e.c1?this.cell(e.sheet,e.r0,this.c):I.VALUE}scalar(e){return e instanceof R?this.intersect(e):e instanceof z?e.data[0][0]:e instanceof B?I.VALUE:e}operand(e,t){return e instanceof R?e.h===1&&e.w===1?this.cell(e.sheet,e.r0,e.c0):t?this.intersect(e):this.toArray(e):e instanceof z?e.h===1&&e.w===1?e.data[0][0]:e.data:e instanceof B?I.VALUE:e}};function ya(e,t){let n=Sr();Cr(!!t.provider.date1904);try{let n=new va(t),r=n.eval(e,!0),i=r instanceof R?n.intersect(r):r instanceof z?r.data[0][0]:r instanceof B?I.VALUE:r;return i===null?0:typeof i==`number`?Number.isFinite(i)?i+0:I.NUM:i}catch(e){return e instanceof F?e:I.VALUE}finally{Cr(n)}}function ba(e,t){let n=e.startsWith(`=`)?`=`:``,r=e.slice(n.length),i;try{i=pr(r)}catch{return e}let a=n,o=0;for(let e of i){let n=t(e);n!==void 0&&(a+=r.slice(o,e.s)+n,o=e.e)}return a+r.slice(o)}const xa=e=>(e.ref.sheet===void 0?``:`${e.sheetText??qn(e.ref.sheet)}!`)+`#REF!`;function Sa(e,t,n){return!t&&!n?e:ba(e,e=>{if(e.t!==`ref`)return;let r={...e.ref};return r.kind!==`cols`&&(r.ar0||(r.r0+=t),r.ar1||(r.r1+=t)),r.kind!==`rows`&&(r.ac0||(r.c0+=n),r.ac1||(r.c1+=n)),Zn(r)?Yn(Xn(r),e.sheetText):xa(e)})}function Ca(e,t,n,r,i){if(r>0)return e>=n&&(e+=r),t>=n&&(t+=r),e>i?null:[e,Math.min(t,i)];let a=-r,o=n+a;return t<n?[e,t]:e>=o?[e-a,t-a]:e>=n&&t<o?null:[e<n?e:n,t>=o?t-a:n-1]}function wa(e,t){if(!t.delta)return e;let n=e=>{if(t.sheet===void 0)return e===void 0||t.formulaSheet!==void 0&&Kn(e,t.formulaSheet);let n=e??t.formulaSheet;return n===void 0||Kn(n,t.sheet)};return ba(e,e=>{if(e.t!==`ref`||!n(e.ref.sheet))return;let r={...e.ref};if(t.axis===`row`){if(r.kind===`cols`)return;let n=Ca(r.r0,r.r1,t.at,t.delta,Hn);if(!n)return xa(e);[r.r0,r.r1]=n}else{if(r.kind===`rows`)return;let n=Ca(r.c0,r.c1,t.at,t.delta,Un);if(!n)return xa(e);[r.c0,r.c1]=n}if(r.r0!==e.ref.r0||r.r1!==e.ref.r1||r.c0!==e.ref.c0||r.c1!==e.ref.c1)return Yn(r,e.sheetText)})}function Ta(e,t,n){let r=`${qn(n)}!`;return ba(e,e=>{if(e.t===`ref`&&e.ref.sheet!==void 0&&Kn(e.ref.sheet,t))return Yn({...e.ref,sheet:n});if((e.t===`err`||e.t===`name`)&&e.sheet!==void 0&&Kn(e.sheet,t))return r+e.v})}function Ea(e){let t=e.sheet===void 0?{}:{sheet:e.sheet};return e.kind===`cell`?{...t,r:e.r0,c:e.c0,absR:e.ar0,absC:e.ac0}:{...t,r0:e.r0,c0:e.c0,r1:e.r1,c1:e.c1}}function Da(e){let t=[],n=e=>{switch(e.type){case`ref`:t.push(Ea(e.ref));break;case`range`:if(e.left.type===`ref`&&e.right.type===`ref`&&Kn(e.left.ref.sheet,e.right.ref.sheet)){let n=e.left.ref,r=e.right.ref;t.push(Ea({...n,kind:`area`,r0:Math.min(n.r0,r.r0),c0:Math.min(n.c0,r.c0),r1:Math.max(n.r1,r.r1),c1:Math.max(n.c1,r.c1)}))}else n(e.left),n(e.right);break;case`unary`:case`percent`:n(e.arg);break;case`binary`:n(e.left),n(e.right);break;case`union`:e.items.forEach(n);break;case`call`:e.args.forEach(n)}};return n(e),t}const Oa=(e,t)=>`${e}:${t}`;var ka=class{wb;asts=/* @__PURE__ */ new Map;cellDeps=/* @__PURE__ */ new Map;rangeDeps=[];indexed=!1;constructor(e){this.wb=e}invalidate(){this.indexed=!1,this.asts.clear(),this.cellDeps.clear(),this.rangeDeps=[]}sheetIndex(e,t){return e?this.wb.sheets.findIndex(t=>t.name.toLowerCase()===e.toLowerCase()):t}ast(e,t){let n=Oa(e,t),r=this.asts.get(n);if(r===void 0){let i=this.wb.sheetsData.get(e)?.formulas.get(t);try{r=i?_r(i):null}catch{r=null}this.asts.set(n,r)}return r}index(){if(!this.indexed){this.indexed=!0;for(let[e,t]of this.wb.sheetsData)for(let n of t.formulas.keys())this.addDeps(e,n)}}addDeps(e,t){let n=this.ast(e,t);if(!n)return;let r=Oa(e,t);for(let t of Da(n)){let n=this.sheetIndex(t.sheet,e);if(!(n<0)){if(`r`in t){let e=Oa(n,t.r*Q+t.c),i=this.cellDeps.get(e);i||this.cellDeps.set(e,i=/* @__PURE__ */ new Set),i.add(r)}else this.rangeDeps.push({sheet:n,r0:t.r0,c0:t.c0,r1:t.r1,c1:t.c1,dep:r})}}}formulaChanged(e,t){if(!this.indexed)return;let n=Oa(e,t);this.asts.delete(n);for(let e of this.cellDeps.values())e.delete(n);this.rangeDeps=this.rangeDeps.filter(e=>e.dep!==n),this.addDeps(e,t)}value(e,t,n){let r=this.wb.sheetsData.get(e)?.rows[t];if(!r)return null;for(let e=0;e<r.length;e+=4){if(r[e]!==n)continue;let t=r[e+1],i=r[e+2];switch(t){case 0:return i;case 1:return this.wb.sst[i]??``;case 2:return String(i);case 3:return!!i;case 4:return new F(String(i));case 6:return null;default:return String(i)}}return null}provider(e,t){return{value:(n,r,i)=>{let a=this.sheetIndex(n,this.cur);if(a<0)return new F(`#REF!`);let o=Oa(a,r*Q+i);return e.has(o)&&this.compute(o,e,t),this.value(a,r,i)},bounds:e=>{let t=this.wb.sheetsData.get(this.sheetIndex(e,this.cur));return{rows:(t?.maxRow??-1)+1,cols:(t?.maxCol??-1)+1}},hasSheet:e=>this.sheetIndex(e,-1)>=0,date1904:this.wb.date1904}}cur=0;compute(e,t,n){t.delete(e);let[r,i]=e.split(`:`).map(Number),a=this.wb.sheetsData.get(r);if(!a||!a.formulas.has(i))return;if(n.has(e)){Aa(a,i,new F(`#REF!`));return}n.add(e);let o=this.ast(r,i),s=this.cur;this.cur=r;let c;try{c=o?ya(o,{provider:this.provider(t,n),sheet:this.wb.sheets[r]?.name,r:Math.floor(i/Q),c:i%Q}):new F(`#NAME?`)}catch{c=new F(`#VALUE!`)}this.cur=s,n.delete(e),Aa(a,i,c)}recalc(e,t=[]){this.index();let n=/* @__PURE__ */ new Set,r=[],i=e=>{n.has(e)||(n.add(e),r.push(e))};for(let e of t)i(Oa(e.sheet,e.key));let a=/* @__PURE__ */ new Set,o=e=>{if(a.has(e))return;a.add(e);let[t,n]=e.split(`:`).map(Number),r=Math.floor(n/Q),s=n%Q;for(let t of this.cellDeps.get(e)??[])i(t),o(t);for(let e of this.rangeDeps)e.sheet===t&&r>=e.r0&&r<=e.r1&&s>=e.c0&&s<=e.c1&&(i(e.dep),o(e.dep))};for(let t of e)o(Oa(t.sheet,t.key));for(let e of t)o(Oa(e.sheet,e.key));let s=/* @__PURE__ */ new Set,c=/* @__PURE__ */ new Set;for(let e of r)n.has(e)&&(this.compute(e,n,c),s.add(Number(e.split(`:`)[0])));return s}computeMissing(e,t){t.length&&this.recalc([],t.map(t=>({sheet:e,key:t})))}};function Aa(e,t,n){let r=Math.floor(t/Q),i=t%Q,a=e.rows[r];a||(e.rows[r]=a=[]);let o,s;n instanceof F?(o=4,s=n.code):typeof n==`number`?(o=0,s=Number.isFinite(n)?n:0):typeof n==`boolean`?(o=3,s=+!!n):n===null?(o=0,s=0):(o=2,s=n);for(let e=0;e<a.length;e+=4)if(a[e]===i){a[e+1]=o,a[e+2]=s;return}let c=0;for(;c<a.length&&a[c]<i;)c+=4;a.splice(c,0,i,o,s,0)}const ja={0:`General`,1:`0`,2:`0.00`,3:`#,##0`,4:`#,##0.00`,9:`0%`,10:`0.00%`,11:`0.00E+00`,12:`# ?/?`,13:`# ??/??`,14:`m/d/yyyy`,15:`d-mmm-yy`,16:`d-mmm`,17:`mmm-yy`,18:`h:mm AM/PM`,19:`h:mm:ss AM/PM`,20:`h:mm`,21:`h:mm:ss`,22:`m/d/yyyy h:mm`,37:`#,##0 ;(#,##0)`,38:`#,##0 ;[Red](#,##0)`,39:`#,##0.00;(#,##0.00)`,40:`#,##0.00;[Red](#,##0.00)`,45:`mm:ss`,46:`[h]:mm:ss`,47:`mmss.0`,48:`##0.0E+0`,49:`@`,27:`yyyy\"年\"m\"月\"`,30:`m/d/yy`,31:`yyyy\"年\"m\"月\"d\"日\"`,50:`yyyy\"年\"m\"月\"`,57:`yyyy\"年\"m\"月\"`,58:`m\"月\"d\"日\"`},Ma={black:`#000000`,red:`#ff0000`,green:`#00a000`,blue:`#0000ff`,yellow:`#c0c000`,magenta:`#ff00ff`,cyan:`#00c0c0`,white:`#ffffff`},Na=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Pa=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function Fa(e){let t=[],n=``,r=!1,i=!1;for(let a=0;a<e.length;a++){let o=e[a];o===`\\\\`&&!r?(n+=o+(e[a+1]??``),a++):(o===`\"`?r=!r:!r&&o===`[`?i=!0:!r&&o===`]`&&(i=!1),o===`;`&&!r&&!i?(t.push(n),n=``):n+=o)}return t.push(n),t}function Ia(e){let t=[],n,r,i=!1,a=0,o=e=>{let n=t[t.length-1];n?.k===`lit`?n.v+=e:t.push({k:`lit`,v:e})},s=e.toLowerCase();for(;a<e.length;){let c=e[a],l=s[a];if(c===`\"`){let t=e.indexOf(`\"`,a+1);o(e.slice(a+1,t<0?void 0:t)),a=t<0?e.length:t+1}else if(c===`\\\\`)o(e[a+1]??``),a+=2;else if(c===`_`)o(` `),a+=2;else if(c===`*`)a+=2;else if(c===`[`){let s=e.indexOf(`]`,a),c=e.slice(a+1,s<0?void 0:s),l=c.toLowerCase();if(Ma[l])n=Ma[l];else if(/^color\\s*\\d+$/.test(l))n=void 0;else if(/^(h+|m+|s+)$/.test(l))t.push({k:`elapsed`,v:l[0]}),i=!0;else if(c.startsWith(`$`)){let e=c.slice(1).split(`-`)[0];e&&o(e)}else{let e=/^(<=|>=|<>|<|>|=)\\s*(-?[\\d.]+)$/.exec(c);e&&(r={op:e[1],v:Number(e[2])})}a=s<0?e.length:s+1}else if(c===`0`||c===`#`||c===`?`)t.push({k:`digit`,v:c}),a++;else if(c===`.`){if(i&&e[a+1]===`0`){let n=a+1;for(;e[n]===`0`;)n++;t.push({k:`date`,v:e.slice(a,n)}),a=n}else t.push({k:`dot`}),a++}else if(c===`,`)t.push({k:`comma`}),a++;else if(c===`%`)t.push({k:`pct`}),a++;else if(l===`e`&&(e[a+1]===`+`||e[a+1]===`-`))t.push({k:`exp`,sign:e[a+1]===`+`}),a+=2;else if(c===`/`&&t.some(e=>e.k===`digit`))t.push({k:`slash`}),a++;else if(c===`@`)t.push({k:`text`}),a++;else if(s.startsWith(`am/pm`,a))t.push({k:`date`,v:`AM/PM`}),i=!0,a+=5;else if(s.startsWith(`a/p`,a))t.push({k:`date`,v:`A/P`}),i=!0,a+=3;else if(`ymdhs`.includes(l)||l===`g`&&s.startsWith(`ge`,a)||l===`b`){let e=a;for(;s[e]===l;)e++;l===`b`||l===`g`?o(``):(t.push({k:`date`,v:s.slice(a,e)}),i=!0),a=e}else o(c),a++}return{toks:t,color:n,isDate:i,cond:r,hasDigits:t.some(e=>e.k===`digit`)}}const La=/* @__PURE__ */ new Map;function Ra(e){let t=La.get(e);return t||(t=Fa(e).map(Ia),La.size>2e3&&La.clear(),La.set(e,t)),t}function za(e){return!e||e===`General`?!1:Ra(e)[0].isDate}function Ba(e){if(!Number.isFinite(e)||Number.isInteger(e)&&Math.abs(e)<1e11)return String(e);let t=Math.abs(e);if(t>=1e11||t<1e-9&&t!==0){let[t,n]=e.toExponential(5).split(`e`);return(t.includes(`.`)?t.replace(/0+$/,``).replace(/\\.$/,``):t)+`E`+(n[0]===`-`?`-`:`+`)+n.replace(/^[+-]/,``).padStart(2,`0`)}let n=Math.max(0,10-Math.floor(Math.log10(t||1))),r=e.toFixed(Math.min(n,15));return r.includes(`.`)&&(r=r.replace(/0+$/,``).replace(/\\.$/,``)),r}function Va(e){return e.replace(/\\B(?=(\\d{3})+(?!\\d))/g,`,`)}function Ha(e,t){let n=t.toks,r=Math.abs(e),i=n.filter(e=>e.k===`pct`).length;r*=100**i;let a=n.findIndex(e=>e.k===`dot`),o=n.findIndex(e=>e.k===`exp`),s=n.findIndex(e=>e.k===`slash`),c=n.findIndex(e=>e.k===`digit`),l=-1;n.forEach((e,t)=>e.k===`digit`&&(l=t));let u=0;for(let e=l+1;e<n.length&&n[e].k===`comma`;e++)u++;r/=1e3**u;let d=n.some((e,t)=>e.k===`comma`&&t>c&&t<l);if(s>=0)return Ua(r,t,e<0);let f=a>=0?a:o>=0?o:l+1,p=a>=0?n.slice(a+1,o>=0?o:void 0).filter(e=>e.k===`digit`):[],m=p.length,h=r,g=0;if(o>=0){let e=n.slice(0,f).filter(e=>e.k===`digit`).length||1;h!==0&&(g=Math.floor(Math.log10(h)),e>1&&(g=Math.floor(g/e)*e),h/=10**g)}let _=h.toFixed(m);o>=0&&Number(_)>=10&&n.slice(0,f).filter(e=>e.k===`digit`).length<=1&&(g+=1,_=(h/10).toFixed(m));let[v,y=``]=_.split(`.`);if(m){let e=y.split(``);for(let t=m-1;t>=0&&e[t]===`0`;t--){let n=p[t].v;if(n===`#`)e[t]=``;else if(n===`?`)e[t]=` `;else break}y=e.join(``)}let b=n.slice(0,f),x=b.filter(e=>e.k===`digit`).filter(e=>e.v===`0`).length;for(v===`0`&&x===0&&(v=``);v.length<x;)v=`0`+v;let S=b.some((e,t)=>e.k===`lit`&&t>c&&t<f),C=``;if(S){let e=v,t=``;for(let r=f-1;r>=0;r--){let i=n[r];i.k===`digit`?(e.length?(t=e[e.length-1]+t,e=e.slice(0,-1)):i.v===`0`?t=`0`+t:i.v===`?`&&(t=` `+t),r===c&&e.length&&(t=e+t,e=``)):i.k===`lit`?t=i.v+t:i.k===`pct`&&(t=`%`+t)}C=t}else{let e=!1,t=d?Va(v):v;for(let r=0;r<f;r++){let i=n[r];i.k===`digit`?e||=(C+=t,!0):i.k===`lit`?C+=i.v:i.k===`pct`&&(C+=`%`)}e||(C+=t)}a>=0&&(C+=y.length||p.some(e=>e.v===`0`)?`.`+y:m?`.`:``);let w=o>=0?o:a>=0?a+1:f;for(let e=w;e<n.length;e++){let t=n[e];if(t.k===`exp`){let r=n.slice(e+1).filter(e=>e.k===`digit`).length||1;for(C+=`E`+(g<0?`-`:t.sign?`+`:``)+String(Math.abs(g)).padStart(r,`0`);e+1<n.length&&n[e+1].k===`digit`;)e++}else t.k===`lit`?C+=t.v:t.k===`pct`&&(C+=`%`)}return C}function Ua(e,t,n){let r=t.toks,i=r.findIndex(e=>e.k===`slash`),a=r.slice(i+1).filter(e=>e.k===`digit`),o=r.slice(i+1).find(e=>e.k===`lit`&&/^\\d+$/.test(e.v.trim())),s=o?Number(o.v):10**(a.length||1)-1,c=r.slice(0,i).some(e=>e.k===`lit`&&e.v.includes(` `)),l=c?Math.floor(e):0,u=e-l,d=0,f=1;if(o)f=s,d=Math.round(u*s);else{let e=1/0;for(let t=1;t<=s;t++){let n=Math.round(u*t),r=Math.abs(u-n/t);r<e-1e-12&&(e=r,d=n,f=t)}}let p=n?`-`:``;return d===0?p+(c?String(l):`0`):d===f?p+String(l+1):p+(c&&l?l+` `:``)+d+`/`+f}function Wa(e,t=!1){let n=Math.floor(e),r=Math.round((e-n)*864e5),i;return t?i=Date.UTC(1904,0,1):n<60?i=Date.UTC(1899,11,31):(i=Date.UTC(1899,11,30),n===60&&(n=61)),new Date(i+n*864e5+r)}function Ga(e,t,n){let r=Wa(e,n),i=t.toks,a=i.some(e=>e.k===`date`&&(e.v===`AM/PM`||e.v===`A/P`)),o=r.getUTCFullYear(),s=r.getUTCMonth(),c=r.getUTCDate(),l=r.getUTCHours(),u=r.getUTCMinutes(),d=r.getUTCSeconds(),f=r.getUTCMilliseconds(),p=(e,t=2)=>String(e).padStart(t,`0`),m=``,h=e=>{for(let t=e-1;t>=0;t--){let e=i[t];if(e.k===`date`)return e.v[0]===`h`;if(e.k===`elapsed`)return e.v===`h`}for(let t=e+1;t<i.length;t++){let e=i[t];if(e.k===`date`)return e.v[0]===`s`;if(e.k===`elapsed`)return e.v===`s`}return!1};return i.forEach((t,n)=>{if(t.k===`lit`)return m+=t.v;if(t.k===`elapsed`){let n=e*86400;t.v===`h`?m+=Math.floor(n/3600):t.v===`m`?m+=Math.floor(n/60):m+=Math.round(n);return}if(t.k!==`date`){t.k===`digit`?m+=t.v===`0`?`0`:``:t.k===`dot`?m+=`.`:t.k===`comma`?m+=`,`:t.k===`pct`?m+=`%`:t.k===`slash`&&(m+=`/`);return}let i=t.v;switch(i[0]){case`y`:m+=i.length<=2?p(o%100):String(o);break;case`m`:i.length<=2&&h(n)?m+=i.length===2?p(u):String(u):i.length===1?m+=s+1:i.length===2?m+=p(s+1):i.length===3?m+=Na[s].slice(0,3):i.length===5?m+=Na[s][0]:m+=Na[s];break;case`d`:i.length===1?m+=c:i.length===2?m+=p(c):i.length===3?m+=Pa[r.getUTCDay()].slice(0,3):m+=Pa[r.getUTCDay()];break;case`h`:{let e=l;a&&(e=e%12||12),m+=i.length>=2?p(e):String(e);break}case`s`:m+=i.length>=2?p(d):String(d);break;case`.`:m+=`.`+p(Math.floor(f/10**(3-(i.length-1))),i.length-1);break;case`A`:m+=i===`AM/PM`?l<12?`AM`:`PM`:l<12?`A`:`P`}}),m}function Ka(e,t,n=!1){if(!t||t===`General`||t===`general`)return{text:Ba(e)};let r=Ra(t),i=r[0],a=e;if(r.some(e=>e.cond)?i=r.find(t=>{if(!t.cond)return!1;let{op:n,v:r}=t.cond;return n===`<`?e<r:n===`<=`?e<=r:n===`>`?e>r:n===`>=`?e>=r:n===`=`?e===r:e!==r})??r.find(e=>!e.cond)??r[0]:r.length>=3&&e===0&&r[2].toks.length?i=r[2]:r.length>=2&&e<0&&r[1].toks.length&&(i=r[1],a=-e),i.isDate)return e<0||e>2958465?{text:`#`.repeat(8)}:{text:Ga(e,i,n),color:i.color};if(!i.hasDigits){let t=i.toks.map(e=>e.k===`lit`?e.v:e.k===`pct`?`%`:e.k===`text`?Ba(a):``).join(``);return i.toks.some(e=>e.k===`text`)||t?{text:t,color:i.color}:{text:Ba(e),color:i.color}}let o=a<0,s=Ha(a,i);return o&&(s=`-`+s),{text:s,color:i.color}}function qa(e,t){if(!t||!t.includes(`@`))return e;let n=Ra(t),r=n.length>=4?n[3]:n.find(e=>e.toks.some(e=>e.k===`text`));return r?r.toks.map(t=>t.k===`lit`?t.v:t.k===`text`?e:``).join(``):e}const Ja={thin:[1,`solid`],medium:[2,`solid`],thick:[3,`solid`],dashed:[1,`dashed`],dotted:[1,`dotted`],double:[3,`double`],hair:[1,`dotted`],mediumDashed:[2,`dashed`],dashDot:[1,`dashed`],mediumDashDot:[2,`dashed`],dashDotDot:[1,`dotted`],mediumDashDotDot:[2,`dotted`],slantDashDot:[2,`dashed`]};function Ya(e,t){let n=dn(e),r=e=>un(e,t,n),i=/* @__PURE__ */ new Map;for(let t of E(T(e,`numFmts`),`numFmt`))i.set(Number(t.a.numFmtId),t.a.formatCode??`General`);let a=E(T(e,`fonts`),`font`).map(e=>({b:k(T(e,`b`)),i:k(T(e,`i`)),u:T(e,`u`)?T(e,`u`).a.val??`single`:void 0,strike:k(T(e,`strike`)),sz:O(T(e,`sz`)?.a.val),color:r(T(e,`color`)),name:T(e,`name`)?.a.val})),o=E(T(e,`fills`),`fill`).map(e=>{let t=T(e,`patternFill`);if(t){let e=t.a.patternType;return!e||e===`none`?void 0:e===`solid`?r(T(t,`fgColor`))??r(T(t,`bgColor`)):r(T(t,`fgColor`))??`#d9d9d9`}let n=T(e,`gradientFill`);if(n){let e=E(n,`stop`).map(e=>r(T(e,`color`))).filter(Boolean);return e.length>=2?`linear-gradient(${O(n.a.degree,90)+90}deg, ${e.join(`, `)})`:e[0]}}),s=E(T(e,`borders`),`border`).map(e=>{let t={},n=(e,n)=>{let i=e?.a.style;if(!i||i===`none`)return;let[a,o]=Ja[i]??[1,`solid`];t[n]=`${a}px ${o} ${r(T(e,`color`))??`#000`}`};return n(T(e,`left`)??T(e,`start`),`borderLeft`),n(T(e,`right`)??T(e,`end`),`borderRight`),n(T(e,`top`),`borderTop`),n(T(e,`bottom`),`borderBottom`),t}),c=a[0]??{},l={fontFamily:Pe(c.name??`Calibri`),fontSize:`${c.sz??11}pt`,color:c.color??`#000000`},u=E(T(e,`cellXfs`),`xf`).map(e=>{let t={},n=O(e.a.numFmtId,0),r=a[O(e.a.fontId,0)];if(r){r.b&&(t.fontWeight=700),r.i&&(t.fontStyle=`italic`);let e=[r.u&&r.u!==`none`?`underline`:``,r.strike?`line-through`:``].filter(Boolean).join(` `);e&&(t.textDecoration=e),(r.u===`double`||r.u===`doubleAccounting`)&&(t.textDecorationStyle=`double`),r.sz&&r.sz!==c.sz&&(t.fontSize=`${r.sz}pt`),r.color&&r.color!==c.color&&(t.color=r.color),r.name&&r.name!==c.name&&(t.fontFamily=Pe(r.name))}let l=o[O(e.a.fillId,0)];l&&(t.background=l),Object.assign(t,s[O(e.a.borderId,0)]);let u=T(e,`alignment`),d,f=!1;if(u){let e=u.a.horizontal;e&&e!==`general`&&(d=e,t.textAlign=e===`center`||e===`centerContinuous`?`center`:e===`right`?`right`:e===`justify`||e===`distributed`?`justify`:`left`);let n=u.a.vertical;t.alignItems=n===`top`?`flex-start`:n===`center`?`center`:`flex-end`,f=u.a.wrapText===`1`||u.a.wrapText===`true`,f&&(t.whiteSpace=`pre-wrap`);let r=O(u.a.indent);r&&(t[d===`right`?`paddingRight`:`paddingLeft`]=`${r*9+2}px`);let i=O(u.a.textRotation);i&&(t.textRotate=i===255?255:i>90?90-i:i)}return{numFmt:i.get(n)??ja[n]??`General`,fontPt:r?.sz??c.sz??11,css:t,hAlign:d,wrap:f}});return u.length||u.push({numFmt:`General`,fontPt:c.sz??11,css:{},wrap:!1}),{xfs:u,baseFont:l}}const Q=16384,Xa=e=>e.indexOf(`_x`)>=0?e.replace(/_x([0-9A-Fa-f]{4})_/g,(e,t)=>String.fromCharCode(parseInt(t,16))):e;function Za(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(r<65)break;t=t*26+((r&-33)-64)}return t-1}function Qa(e){let t=``;for(e++;e>0;){let n=(e-1)%26;t=String.fromCharCode(65+n)+t,e=Math.floor((e-1)/26)}return t}function $a(e){let t=0;for(;t<e.length&&e.charCodeAt(t)>=65;)t++;return[Number(e.slice(t))-1,Za(e.slice(0,t))]}function eo(e){let[t,n]=e.replace(/\\$/g,``).split(`:`);if(!t)return;let[r,i]=$a(t),[a,o]=n?$a(n):[r,i];return{r0:r,c0:i,r1:a,c1:o}}var to=class{shared=/* @__PURE__ */ new Map;depOf=/* @__PURE__ */ new Map;edited=/* @__PURE__ */ new Set;rowAttrs=/* @__PURE__ */ new Map;autoRowH=/* @__PURE__ */ new Map;structural=!1;dirtyCols=!1;dirtyMerges=!1;dirtyView=!1;dirtyRows=/* @__PURE__ */ new Set;formulaChanged=!1;uncached=[];rows=[];maxRow=-1;maxCol=-1;formulas=/* @__PURE__ */ new Map;merges=[];colInfo=[];defaultColW=64;defaultRowH=20;frozen={rows:0,cols:0};gridLines=!0;done=!1;error;loading},no=class{d;fontPt;basePt;row=-1;rowCells=null;col=-1;cType=``;cStyle=0;val=``;formula=``;hasVal=!1;capture=0;fShared=-1;inIs=!1;newSizes=[];headerReady=!1;rowHasHt=!1;rowMaxPt=0;constructor(e,t=[],n=11){this.d=e,this.fontPt=t,this.basePt=n}open(e,t){switch(e){case`c`:{let e=t.r;this.col=e?$a(e)[1]:this.col+1,this.cType=t.t??``,this.cStyle=t.s?Number(t.s):0,this.val=``,this.formula=``,this.hasVal=!1;return}case`v`:this.capture=1,this.hasVal=!0;return;case`f`:this.capture=2,this.fShared=t.t===`shared`&&t.si!==void 0?Number(t.si):-1;return;case`is`:this.inIs=!0,this.hasVal=!0;return;case`t`:this.inIs&&(this.capture=3);return;case`rPh`:return!0;case`row`:{this.headerReady=!0,this.row=t.r?Number(t.r)-1:this.row+1,this.col=-1,this.rowCells=[];let e=t.hidden===`1`||t.hidden===`true`;if((e||t.ht)&&this.d.rowAttrs.set(this.row,{ht:t.ht?Number(t.ht):void 0,hidden:e||void 0}),this.rowHasHt=e||!!t.ht,this.rowMaxPt=0,e)this.newSizes.push([this.row,0]);else if(t.ht){let e=Math.round(Number(t.ht)*4/3);e!==this.d.defaultRowH&&this.newSizes.push([this.row,e])}return}case`sheetFormatPr`:{let e=O(t.defaultRowHeight);e&&(this.d.defaultRowH=Math.round(e*4/3));let n=O(t.defaultColWidth),r=O(t.baseColWidth);n?this.d.defaultColW=Math.round(n*7):r!==void 0&&(this.d.defaultColW=Math.round(r*7+8));return}case`col`:{let e=Number(t.min)-1,n=Math.min(Number(t.max)-1,16383),r=t.hidden===`1`||t.hidden===`true`?0:t.width?Math.round(Number(t.width)*7):this.d.defaultColW;this.d.colInfo.push({min:e,max:n,w:r});return}case`pane`:(t.state===`frozen`||t.state===`frozenSplit`)&&(this.d.frozen={rows:Math.round(O(t.ySplit,0)),cols:Math.round(O(t.xSplit,0))});return;case`sheetView`:(t.showGridLines===`0`||t.showGridLines===`false`)&&(this.d.gridLines=!1);return;case`sheetData`:this.headerReady=!0;return;case`mergeCell`:{let e=t.ref?eo(t.ref):void 0;e&&this.d.merges.push(e);return}case`extLst`:case`conditionalFormatting`:case`dataValidations`:case`headerFooter`:return!0}}close(e){switch(e){case`v`:case`f`:case`t`:this.capture=0;return;case`is`:this.inIs=!1;return;case`c`:{let e=this.rowCells;if(!e)return;let t=this.col;t>this.d.maxCol&&(this.d.maxCol=t);let n=this.row*Q+t;if(this.formula&&this.d.formulas.set(n,this.formula),this.fShared>=0&&(this.formula?this.d.shared.set(this.fShared,{master:n,text:this.formula}):this.d.depOf.set(n,this.fShared),this.fShared=-1),!this.hasVal||this.formula&&this.val===``&&this.cType!==`str`){this.formula?(this.d.uncached.push(this.row*Q+t),e.push(t,6,``,this.cStyle)):this.cStyle&&e.push(t,6,``,this.cStyle);return}let r=0,i;switch(this.cType){case`s`:r=1,i=Number(this.val);break;case`str`:case`inlineStr`:r=2,i=Xa(this.val);break;case`b`:r=3,i=+(this.val===`1`||this.val===`true`);break;case`e`:r=4,i=this.val;break;case`d`:r=5,i=this.val;break;default:{let e=Number(this.val);this.val===``||Number.isNaN(e)?(r=this.val===``?6:2,i=this.val):i=e}}if(e.push(t,r,i,this.cStyle),!this.rowHasHt){let e=this.fontPt[this.cStyle]??this.basePt;e>this.rowMaxPt&&(this.rowMaxPt=e)}return}case`row`:if(!this.rowHasHt&&this.rowMaxPt>this.basePt*1.15){let e=Math.round(this.rowMaxPt*(4/3)*1.3+3);e>this.d.defaultRowH&&(this.newSizes.push([this.row,e]),this.d.autoRowH.set(this.row,e))}this.rowCells&&this.rowCells.length&&(this.d.rows[this.row]=this.rowCells),this.row>this.d.maxRow&&(this.d.maxRow=this.row),this.rowCells=null;return}}text(e){this.capture===1?this.val+=e:this.capture===2?this.formula+=e:this.capture===3&&(this.val+=e)}},ro=class{strings=[];cur=``;capture=!1;open(e){if(e===`si`)this.cur=``;else if(e===`t`)this.capture=!0;else if(e===`rPh`||e===`phoneticPr`)return!0}close(e){e===`t`?this.capture=!1:e===`si`&&this.strings.push(Xa(this.cur))}text(e){this.capture&&(this.cur+=e)}},io=class e{pkg;mainPath;rels;sheets;styles;date1904;theme;sheetsData=/* @__PURE__ */ new Map;calc=new ka(this);sst=[];sstLoading;constructor(e,t,n,r,i,a,o){this.pkg=e,this.mainPath=t,this.rels=n,this.sheets=r,this.styles=i,this.date1904=a,this.theme=o}static async open(t,n){let r=await t.xml(n),i=await t.rels(n),a=[];for(let e of E(T(r,`sheets`),`sheet`)){let t=i.get(e.a[`r:id`]);t&&t.type.endsWith(`/worksheet`)&&a.push({name:e.a.name??`Sheet${a.length+1}`,index:a.length,path:t.target,hidden:!!e.a.state&&e.a.state!==`visible`})}let o=j(i,`theme`),s=De(o?await t.xml(o.target):void 0),c=j(i,`styles`),l=Ya(c?await t.xml(c.target):void 0,s),u=T(r,`workbookPr`),d=u?.a.date1904===`1`||u?.a.date1904===`true`;return new e(t,n,i,a,l,d,s)}meta(){return{sheets:this.sheets,styles:this.styles.xfs.map(e=>e.css),formats:this.styles.xfs.map(e=>e.numFmt),baseFont:this.styles.baseFont,date1904:this.date1904}}loadSst(e){return this.sstLoading||=(async()=>{let t=j(this.rels,`sharedStrings`);if(!t||!this.pkg.has(t.target))return;let n=new ro;this.sst=n.strings,await fe(await this.pkg.stream(t.target,e),n)})(),this.sstLoading}loadSheet(e,t,n){let r=this.sheetsData.get(e);if(r)return t(this.snapshot(e,r,ao(r),!0)),r.loading??Promise.resolve();let i=new to;return this.sheetsData.set(e,i),i.loading=(async()=>{let r=this.sheets[e];if(!r)throw Error(`No sheet #${e}`);try{await this.loadSst((e,t)=>n?.(`strings`,e,t));let a=new no(i,this.styles.xfs.map(e=>e.fontPt),this.styles.xfs[0]?.fontPt??11),o=!1,s=0;if(await fe(await this.pkg.stream(r.path,(e,t)=>n?.(`sheet`,e,t)),a,{onChunk:async()=>{let n=Date.now();!o&&a.headerReady?(o=!0,t(this.snapshot(e,i,a.newSizes.splice(0),!0)),s=n,await new Promise(e=>setTimeout(e,0))):n-s>150&&(s=n,t(this.snapshot(e,i,a.newSizes.splice(0),!1)),await new Promise(e=>setTimeout(e,0)))}}),i.done=!0,t({...this.snapshot(e,i,a.newSizes.splice(0),!o),merges:i.merges}),i.uncached.length){let n=i.uncached.splice(0);(async()=>{await Promise.all(this.sheets.map(t=>t.index===e?null:this.loadSheet(t.index,()=>{}))),this.calc.invalidate(),this.calc.computeMissing(e,n),t({...this.snapshot(e,i,[],!1),recalc:!0})})()}}catch(n){i.done=!0,i.error=n.message,t({...this.snapshot(e,i,[],!0),error:i.error})}})(),i.loading}snapshot(e,t,n,r){let i={sheet:e,rows:t.maxRow+1,cols:t.maxCol+1,rowSizes:n,done:t.done};return r&&(i.colInfo=t.colInfo,i.defaultColW=t.defaultColW,i.defaultRowH=t.defaultRowH,i.frozen=t.frozen,i.gridLines=t.gridLines),t.done&&(i.merges=t.merges),t.error&&(i.error=t.error),i}block(e,t,n){let r=this.sheetsData.get(e),i=[];if(!r)return{sheet:e,r0:t,r1:n,rows:i,complete:!1};let a=this.styles.xfs,o=Math.min(n,r.rows.length);for(let e=t;e<o;e++){let t=r.rows[e];if(!t)continue;let n=[];for(let e=0;e<t.length;e+=4){let r=t[e],i=t[e+1],o=t[e+2],s=t[e+3],c=a[s]??a[0];switch(i){case 0:{let e=Ka(o,c.numFmt,this.date1904);n.push(e.color?[r,e.text,s,1,e.color]:[r,e.text,s,1]);break}case 1:n.push([r,qa(this.sst[o]??``,c.numFmt),s,0]);break;case 2:n.push([r,qa(o,c.numFmt),s,0]);break;case 3:n.push([r,o?`TRUE`:`FALSE`,s,2]);break;case 4:n.push([r,o,s,2]);break;case 5:n.push([r,o.replace(`T00:00:00`,``).replace(`T`,` `).replace(/Z$/,``),s,1]);break;default:n.push([r,``,s,0])}}i.push({r:e,cells:n})}return{sheet:e,r0:t,r1:n,rows:i,complete:r.done||n<=r.maxRow}}find(e,t,n={},r=2e4){let i=this.sheetsData.get(e),a=[];if(!i||!t)return a;let o=e=>n.matchCase?e:e.toLowerCase(),s=o(t),c=this.styles.xfs;for(let e=0;e<i.rows.length&&a.length<r;e++){let t=i.rows[e];if(t)for(let l=0;l<t.length&&a.length<r;l+=4){let r=t[l],u=t[l+1],d=t[l+2],f=n.formulas?i.formulas.get(e*Q+r):void 0,p;if(p=f?`=`+f:u===0?Ka(d,(c[t[l+3]]??c[0])?.numFmt,this.date1904).text:u===1?this.sst[d]??``:u===3?d?`TRUE`:`FALSE`:u===6?``:String(d),!p)continue;let m=o(p);(n.whole?m===s:m.includes(s))&&a.push({r:e,c:r,text:p})}}return a}cell(e,t,n){let r=this.sheetsData.get(e),i=r?.rows[t],a=r?.formulas.get(t*Q+n);if(!i)return a?{value:``,formula:`=`+a,type:`formula`}:void 0;for(let e=0;e<i.length;e+=4){if(i[e]!==n)continue;let t=i[e+1],r=i[e+2],o=t===1?this.sst[r]??``:t===3?r?`TRUE`:`FALSE`:String(r),s=[`number`,`string`,`string`,`boolean`,`error`,`date`,`empty`][t];return{value:o,formula:a?`=`+a:void 0,type:s}}return a?{value:``,formula:`=`+a,type:`formula`}:void 0}unload(e){this.sheetsData.get(e)?.done&&this.sheetsData.delete(e)}};function ao(e){let t=[];for(let[n,r]of e.autoRowH)e.rowAttrs.has(n)||t.push([n,r]);for(let[n,r]of e.rowAttrs)t.push([n,r.hidden?0:r.ht===void 0?e.autoRowH.get(n)??e.defaultRowH:Math.round(r.ht*4/3)]);return t}function oo(e){return{rows:e.rows.map(e=>e&&e.slice()),formulas:new Map(e.formulas),merges:e.merges.map(e=>({...e})),colInfo:e.colInfo.map(e=>({...e})),rowAttrs:new Map([...e.rowAttrs].map(([e,t])=>[e,{...t}])),autoRowH:new Map(e.autoRowH),maxRow:e.maxRow,maxCol:e.maxCol,frozen:{...e.frozen}}}function so(e,t){e.rows=t.rows.map(e=>e&&e.slice()),e.formulas=new Map(t.formulas),e.merges=t.merges.map(e=>({...e})),e.colInfo=t.colInfo.map(e=>({...e})),e.rowAttrs=new Map([...t.rowAttrs].map(([e,t])=>[e,{...t}])),e.autoRowH=new Map(t.autoRowH),e.maxRow=t.maxRow,e.maxCol=t.maxCol,e.frozen={...t.frozen},e.structural=!0,e.dirtyCols=e.dirtyMerges=e.dirtyView=!0}function co(e){for(let[t,n]of e.depOf){let r=e.shared.get(n);if(!r||e.formulas.has(t))continue;let i=Math.floor(t/Q)-Math.floor(r.master/Q),a=t%Q-r.master%Q;e.formulas.set(t,Sa(r.text,i,a))}e.depOf.clear(),e.shared.clear()}function lo(e,t,n,r){let i=[];for(let a of e){let[e,o]=t===`row`?[a.r0,a.r1]:[a.c0,a.c1];if(r>0)e>=n&&(e+=r),o>=n&&(o+=r);else{let t=n-r;if(e>=n&&o<t||(e=(e=>e<n?e:e>=t?e+r:n)(e),o=o>=t?o+r:o>=n?n-1:o,o<e))continue}let s=t===`row`?{...a,r0:e,r1:o}:{...a,c0:e,c1:o};(s.r0!==s.r1||s.c0!==s.c1)&&i.push(s)}return i}function uo(e,t,n,r,i,a){co(e);let o=r-i;if(n===`row`){i>0?e.rows.splice(r,0,...Array(i).fill(void 0)):e.rows.splice(r,-i),e.maxRow=Math.max(-1,e.maxRow+(e.maxRow>=r?i:0));let t=/* @__PURE__ */ new Map;for(let[n,a]of e.rowAttrs)i<0&&n>=r&&n<o||t.set(n>=r?n+i:n,a);e.rowAttrs=t;let n=/* @__PURE__ */ new Map;for(let[t,a]of e.autoRowH)i<0&&t>=r&&t<o||n.set(t>=r?t+i:t,a);e.autoRowH=n}else{for(let t=0;t<e.rows.length;t++){let n=e.rows[t];if(!n)continue;let a=[];for(let e=0;e<n.length;e+=4){let t=n[e];i<0&&t>=r&&t<o||a.push(t>=r?t+i:t,n[e+1],n[e+2],n[e+3])}e.rows[t]=a.length?a:void 0}e.maxCol=Math.max(-1,e.maxCol+(e.maxCol>=r?i:0));let t=[];for(let n of e.colInfo){let{min:e,max:a}=n;if(i>0)e>=r&&(e+=i),a>=r&&(a+=i);else if(e>=r&&a<o||(e=e<r?e:e>=o?e+i:r,a=a>=o?a+i:a>=r?r-1:a,a<e))continue;t.push({...n,min:e,max:a})}e.colInfo=t,e.dirtyCols=!0}let s={sheet:t,formulaSheet:t,axis:n,at:r,delta:i},c=/* @__PURE__ */ new Map;for(let[t,a]of e.formulas){let e=Math.floor(t/Q),l=t%Q,u=n===`row`?e:l;i<0&&u>=r&&u<o||(u>=r&&(n===`row`?e+=i:l+=i),c.set(e*Q+l,wa(a,s)))}e.formulas=c;for(let t of a){if(t.d===e)continue;let n=!1;for(let[e,r]of t.d.formulas){let i=wa(r,{...s,formulaSheet:t.name});i!==r&&(t.d.formulas.set(e,i),t.d.edited.add(e),n=!0)}n&&(t.d.formulaChanged=!0)}e.merges=lo(e.merges,n,r,i),n===`row`&&e.frozen.rows>r&&(e.frozen={...e.frozen,rows:Math.max(0,e.frozen.rows+(i>0?i:Math.max(i,r-e.frozen.rows)))}),n===`col`&&e.frozen.cols>r&&(e.frozen={...e.frozen,cols:Math.max(0,e.frozen.cols+(i>0?i:Math.max(i,r-e.frozen.cols)))}),e.structural=!0,e.dirtyMerges=!0,e.dirtyView=!0}function fo(e,t,n){let r=e=>e.r1>=t.r0&&e.r0<=t.r1&&e.c1>=t.c0&&e.c0<=t.c1;e.merges=e.merges.filter(e=>!r(e)),n&&(t.r0!==t.r1||t.c0!==t.c1)&&e.merges.push({...t}),e.dirtyMerges=!0}function po(e,t,n,r){let i=[];for(let r of e.colInfo)r.max<t||r.min>n?i.push(r):(r.min<t&&i.push({...r,max:t-1}),r.max>n&&i.push({...r,min:n+1}));i.push({min:t,max:n,w:Math.max(0,Math.round(r))}),e.colInfo=i.sort((e,t)=>e.min-t.min),e.dirtyCols=!0}function mo(e,t,n,r){for(let i=t;i<=n;i++)e.rowAttrs.set(i,r>0?{ht:+(r*.75).toFixed(2)}:{...e.rowAttrs.get(i)??{},hidden:!0}),e.dirtyRows.add(i)}const ho=[`b`,`i`,`strike`,`condense`,`extend`,`outline`,`shadow`,`u`,`vertAlign`,`sz`,`color`,`name`,`family`,`charset`,`scheme`],go=[`fileVersion`,`fileSharing`,`workbookPr`,`workbookProtection`,`bookViews`,`sheets`,`functionGroups`,`externalReferences`,`definedNames`,`calcPr`,`oleSize`,`customWorkbookViews`,`pivotCaches`,`smartTagPr`,`smartTagTypes`,`webPublishing`,`fileRecoveryPr`,`webPublishObjects`,`extLst`],_o=[`numFmts`,`fonts`,`fills`,`borders`,`cellStyleXfs`,`cellXfs`,`cellStyles`,`dxfs`,`tableStyles`,`colors`,`extLst`];function vo(e,t,n){let r=e.rows[t];return!r&&n&&(e.rows[t]=r=[]),r}function $(e,t,n){let r=e.rows[t];if(!r)return null;for(let e=0;e<r.length;e+=4)if(r[e]===n)return[r[e+1],r[e+2],r[e+3]];return null}function yo(e,t,n,r){let i=vo(e,t,!!r);if(!i)return;let a=0;for(;a<i.length&&!(i[a]>=n);a+=4);let o=a<i.length&&i[a]===n;r?(o?(i[a+1]=r[0],i[a+2]=r[1],i[a+3]=r[2]):i.splice(a,0,n,r[0],r[1],r[2]),t>e.maxRow&&(e.maxRow=t),n>e.maxCol&&(e.maxCol=n)):(o&&i.splice(a,4),i.length||(e.rows[t]=void 0))}function bo(e){let t=/^(\\d{4})-(\\d{1,2})-(\\d{1,2})(?:[ T](\\d{1,2}):(\\d{2})(?::(\\d{2}))?)?$/.exec(e),n,r,i;if(t)[n,r,i]=[Number(t[1]),Number(t[2]),Number(t[3])];else{if(t=/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})(?: (\\d{1,2}):(\\d{2})(?::(\\d{2}))?)?$/.exec(e),!t)return;[i,r,n]=[Number(t[1]),Number(t[2]),Number(t[3])]}let a=Date.UTC(n,r-1,i,Number(t[4]??0),Number(t[5]??0),Number(t[6]??0));if(Number.isFinite(a))return a/864e5+25569}function xo(e,t,n=!1){if(e===``)return{e:t?[6,``,t]:null};if(e.startsWith(`=`)&&e.length>1)return{e:[2,e,t],f:e.slice(1)};let r=e.trim();if(/^[-+]?(\\d+\\.?\\d*|\\.\\d+)(e[-+]?\\d+)?$/i.test(r))return{e:[0,Number(r),t]};if(/^[-+]?(\\d+\\.?\\d*|\\.\\d+)%$/.test(r))return{e:[0,Number(r.slice(0,-1))/100,t]};if(/^(true|false)$/i.test(r))return{e:[3,+!!/^true$/i.test(r),t]};if(n){let e=bo(r);if(e!==void 0)return{e:[0,e,t]}}return{e:[2,e,t]}}var So=class{nodes;root;P;cache=/* @__PURE__ */ new Map;changed=!1;constructor(e){this.nodes=t(e),this.root=a(this.nodes),this.P=i(this.root.q)}section(e){let t=s(this.root,e);return t||(t=d(this.P+e,{count:`0`}),m(this.root,t,e,_o)),t}append(e,t){let n=this.section(e);n.c.push(t),n.self=!1;let r=o(n).length;return u(n,`count`,String(r)),this.changed=!0,r-1}numFmtId(e){for(let[t,n]of Object.entries(ja))if(n===e)return Number(t);let t=s(this.root,`numFmts`),n=163;for(let r of o(t,`numFmt`)){let t=Number(l(r,`numFmtId`));if(l(r,`formatCode`)===e)return t;n=Math.max(n,t)}return this.append(`numFmts`,d(this.P+`numFmt`,{numFmtId:String(n+1),formatCode:e})),n+1}derive(e,n){let r=e+JSON.stringify(n),i=this.cache.get(r);if(i!==void 0)return i;let a=this.P,c=o(this.section(`cellXfs`),`xf`),p=f(c[e]??c[0]??d(a+`xf`,{numFmtId:`0`,fontId:`0`,fillId:`0`,borderId:`0`}));if([`b`,`i`,`u`,`strike`,`color`,`sz`,`font`].some(e=>e in n)){let e=o(this.section(`fonts`),`font`),t=f(e[Number(l(p,`fontId`)??0)]??e[0]??d(a+`font`)),r=(e,n)=>m(t,n,e,ho);n.b!==void 0&&r(`b`,n.b?d(a+`b`):void 0),n.i!==void 0&&r(`i`,n.i?d(a+`i`):void 0),n.strike!==void 0&&r(`strike`,n.strike?d(a+`strike`):void 0),n.u!==void 0&&r(`u`,n.u?d(a+`u`):void 0),n.sz!==void 0&&r(`sz`,d(a+`sz`,{val:String(n.sz)})),`color`in n&&r(`color`,n.color?d(a+`color`,{rgb:`FF`+n.color.replace(`#`,``).toUpperCase()}):void 0),n.font&&(r(`name`,d(a+`name`,{val:n.font})),r(`scheme`,void 0)),u(p,`fontId`,String(this.append(`fonts`,t))),u(p,`applyFont`,`1`)}if(`fill`in n){if(!n.fill)u(p,`fillId`,`0`);else{let e=t(`<${a}fill><${a}patternFill patternType=\"solid\"><${a}fgColor rgb=\"FF${n.fill.replace(`#`,``).toUpperCase()}\"/><${a}bgColor indexed=\"64\"/></${a}patternFill></${a}fill>`)[0];u(p,`fillId`,String(this.append(`fills`,e)))}u(p,`applyFill`,`1`)}if(n.border){let e=n.sides??{},t=o(this.section(`borders`),`border`),r=f(t[Number(l(p,`borderId`)??0)]??t[0]??d(a+`border`)),i=(n.borderColor??`#000000`).replace(`#`,``).toUpperCase(),c=[`left`,`start`,`right`,`end`,`top`,`bottom`,`diagonal`,`vertical`,`horizontal`];for(let t of[`left`,`right`,`top`,`bottom`])t in e&&m(r,e[t]?d(a+t,{style:n.borderStyle??`thin`},[d(a+`color`,{rgb:`FF`+i})]):d(a+t),t,c);s(r,`diagonal`)||m(r,d(a+`diagonal`),`diagonal`,c),u(p,`borderId`,String(this.append(`borders`,r))),u(p,`applyBorder`,`1`)}if(`align`in n||`wrap`in n||`valign`in n||`rotate`in n){let e=f(s(p,`alignment`)??d(a+`alignment`));if(`align`in n&&u(e,`horizontal`,n.align??void 0),`valign`in n&&u(e,`vertical`,n.valign&&n.valign!==`bottom`?n.valign:void 0),`wrap`in n&&u(e,`wrapText`,n.wrap?`1`:void 0),`rotate`in n){let t=n.rotate;u(e,`textRotation`,t?t===255?`255`:String(t>0?Math.min(90,t):90+Math.min(90,-t)):void 0)}m(p,e.a.trim()?e:void 0,`alignment`,[`alignment`,`protection`,`extLst`]),u(p,`applyAlignment`,`1`)}n.numFmt!==void 0&&(u(p,`numFmtId`,String(this.numFmtId(n.numFmt))),u(p,`applyNumberFormat`,`1`));let h=this.append(`cellXfs`,p);return this.cache.set(r,h),h}xml(){return n(this.nodes)}mark(){let e={};for(let t of[`numFmts`,`fonts`,`fills`,`borders`,`cellXfs`])e[t]=o(s(this.root,t)).length;return e}truncate(e){for(let[t,n]of Object.entries(e)){let e=s(this.root,t),r=o(e);if(!e||r.length<=n)continue;let i=new Set(r.slice(n));e.c=e.c.filter(e=>!i.has(e)),u(e,`count`,String(n))}for(let[t,n]of this.cache)n>=e.cellXfs&&this.cache.delete(t)}},Co=class{wb;undoStack=[];redoStack=[];styleEd;stylesPath;formulaTouched=!1;constructor(e){this.wb=e}get dirty(){return[...this.wb.sheetsData.values()].some(To)||!!this.styleEd?.changed||this.bookChanged}sheet(e){let t=this.wb.sheetsData.get(e);if(!t||!t.done)throw Error(`Sheet is still loading`);return t}lastRecalc=[];apply(e,t,n){let r=[...this.wb.sheetsData].find(([,t])=>t===e)?.[0]??0,i=[];this.applyRaw(e,t,n);for(let e of t){let t=n===`prev`?e.nextF:e.prevF,a=n===`prev`?e.prevF:e.nextF;t!==a&&this.wb.calc.formulaChanged(r,e.key),a&&i.push({sheet:r,key:e.key})}let a=t.filter(e=>{if(n===`prev`?e.prevF:e.nextF)return!1;let t=e.prev,r=e.next;return!t||!r||t[0]!==r[0]||t[1]!==r[1]||e.prevF!==e.nextF});this.lastRecalc=a.length||i.length?[...this.wb.calc.recalc(a.map(e=>({sheet:r,key:e.key})),i)]:[]}applyRaw(e,t,n){for(let r of t){yo(e,Math.floor(r.key/Q),r.key%Q,n===`prev`?r.prev:r.next);let t=n===`prev`?r.prevF:r.nextF;t?e.formulas.set(r.key,t):e.formulas.delete(r.key),e.edited.add(r.key),(r.prevF||r.nextF)&&(this.formulaTouched=!0)}}record(e,t,n){return this.undoStack.push({sheet:e,cells:t,range:n}),this.undoStack.length>200&&this.undoStack.shift(),this.redoStack=[],{sheet:e,range:n,recalc:this.lastRecalc}}recalcAll(){this.wb.calc.invalidate();let e=[];for(let[t,n]of this.wb.sheetsData)for(let r of n.formulas.keys())e.push({sheet:t,key:r});return[...this.wb.calc.recalc([],e)]}setCells(e,t){let n=this.sheet(e),r=[],i={r0:1/0,c0:1/0,r1:-1,c1:-1};for(let{r:e,c:a,input:o}of t){let t=e*Q+a,s=$(n,e,a),c=s?.[2]??0,{e:l,f:u}=xo(o,c,za(this.wb.styles.xfs[c]?.numFmt??``));r.push({key:t,prev:s,prevF:n.formulas.get(t),next:l,nextF:u}),i.r0=Math.min(i.r0,e),i.c0=Math.min(i.c0,a),i.r1=Math.max(i.r1,e),i.c1=Math.max(i.c1,a)}return this.apply(n,r,`next`),this.record(e,r,i)}async styles(){if(!this.styleEd){let e=j(this.wb.rels,`styles`);this.stylesPath=e?.target??`xl/styles.xml`;let t=this.wb.pkg.has(this.stylesPath)?await this.wb.pkg.text(this.stylesPath):`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<styleSheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\"><fonts count=\"1\"><font><sz val=\"11\"/><name val=\"Calibri\"/></font></fonts><fills count=\"2\"><fill><patternFill patternType=\"none\"/></fill><fill><patternFill patternType=\"gray125\"/></fill></fills><borders count=\"1\"><border><left/><right/><top/><bottom/><diagonal/></border></borders><cellStyleXfs count=\"1\"><xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\"/></cellStyleXfs><cellXfs count=\"1\"><xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\" xfId=\"0\"/></cellXfs></styleSheet>`;this.styleEd=new So(t)}return this.styleEd}async format(e,t,n){let r=this.sheet(e),i=await this.styles(),a=this.wb.styles.xfs.length,o=[],s=Math.min(t.r1,t.r0+2e5),c=3e5;for(let e=t.r0;e<=s&&c>0;e++)for(let a=t.c0;a<=t.c1&&c>0;a++,c--){let s=e*Q+a,c=$(r,e,a),l=n.border?{...n,sides:ko(n.border,t,e,a)}:n;if(n.border&&!Object.keys(l.sides).length)continue;let u=n.clear?0:n.xf===void 0?i.derive(c?.[2]??0,l):n.xf,d=c?[c[0],c[1],u]:[6,``,u],f=r.formulas.get(s);o.push({key:s,prev:c,prevF:f,next:d,nextF:f})}this.apply(r,o,`next`);let l=i.xml();this.wb.pkg.setPart(this.stylesPath,l),this.wb.styles=Ya(me(l),this.wb.theme);let u=this.record(e,o,t);return u.styles=this.wb.styles.xfs.slice(a).map((e,t)=>({index:a+t,css:e.css,format:e.numFmt})),u}step(e,t){let n=this.sheet(e.sheet);this.lastRecalc=[],e.full&&so(n,t===`prev`?e.full.before:e.full.after),this.apply(n,e.cells,t),e.lay&&Do(n,t===`prev`?e.lay.before:e.lay.after);let r=e.full?this.recalcAll():this.lastRecalc;return{sheet:e.sheet,range:e.range,layout:e.full||e.lay?this.layout(e.sheet):void 0,recalc:r}}undo(){let e=this.undoStack.pop();return e?(this.redoStack.push(e),this.step(e,`prev`)):null}redo(){let e=this.redoStack.pop();return e?(this.undoStack.push(e),this.step(e,`next`)):null}takeRecord(){let e=this.undoStack.pop();return this.undoStack=[],this.redoStack=[],e}revertRecord(e){return this.step(e,`prev`)}restoreRecord(e,t){let n=this.sheet(e.sheet),r=e.cells.map(e=>({key:e.key,prev:$(n,Math.floor(e.key/Q),e.key%Q),prevF:n.formulas.get(e.key),next:t===`prev`?e.prev:e.next,nextF:t===`prev`?e.prevF:e.nextF})),i={sheet:e.sheet,cells:r,range:e.range,lay:e.lay?{before:Eo(n),after:t===`prev`?e.lay.before:e.lay.after}:void 0,full:e.full?{before:oo(n),after:t===`prev`?e.full.before:e.full.after}:void 0},a=this.step(i,`next`);return this.undoStack.push(i),a}async styleMark(){return(await this.styles()).mark()}async styleTruncate(e){let t=await this.styles(),n=t.xml();t.truncate(e);let r=t.xml();r!==n&&(this.wb.pkg.setPart(this.stylesPath,r),this.wb.styles=Ya(me(r),this.wb.theme))}styleAt(e,t,n){return $(this.sheet(e),t,n)?.[2]??0}layout(e){let t=this.sheet(e),n=ao(t);return{sheet:e,rows:t.maxRow+1,cols:t.maxCol+1,rowSizes:n,done:!0,colInfo:t.colInfo,defaultColW:t.defaultColW,defaultRowH:t.defaultRowH,frozen:t.frozen,gridLines:t.gridLines,merges:t.merges}}async allSheets(){return await Promise.all(this.wb.sheets.map(e=>this.wb.loadSheet(e.index,()=>{}))),this.wb.sheets.map(e=>({name:e.name,d:this.wb.sheetsData.get(e.index)}))}async sheetOp(e,t){let n=this.sheet(e),r=this.wb.sheets[e].name,i={r0:0,c0:0,r1:Math.max(0,n.maxRow+50),c1:Math.max(0,n.maxCol+10)},a=(t,r=i)=>{let a=Eo(n);t();let o={sheet:e,cells:[],range:r,lay:{before:a,after:Eo(n)}};return this.undoStack.push(o),this.redoStack=[],{sheet:e,range:r,layout:this.layout(e)}};switch(t.op){case`insertRows`:case`deleteRows`:case`insertCols`:case`deleteCols`:{let a=await this.allSheets(),o=oo(n);uo(n,r,t.op.endsWith(`Rows`)?`row`:`col`,t.at,t.op.startsWith(`insert`)?t.n:-t.n,a),this.formulaTouched=!0;let s=this.recalcAll(),c={sheet:e,cells:[],range:i,full:{before:o,after:oo(n)}};return this.undoStack.push(c),this.redoStack=[],{sheet:e,range:i,layout:this.layout(e),recalc:s}}case`merge`:case`unmerge`:{let r=t.range,i=t.op===`unmerge`||!t.mode||t.mode===`all`?[r]:t.mode===`across`?Array.from({length:r.r1-r.r0+1},(e,t)=>({r0:r.r0+t,r1:r.r0+t,c0:r.c0,c1:r.c1})):Array.from({length:r.c1-r.c0+1},(e,t)=>({r0:r.r0,r1:r.r1,c0:r.c0+t,c1:r.c0+t})),o=a(()=>{if(fo(n,r,!1),t.op===`merge`)for(let e of i)fo(n,e,!0)},r);if(t.op===`merge`){let t=[];for(let e of i)for(let r=e.r0;r<=e.r1;r++)for(let i=e.c0;i<=e.c1;i++)(r!==e.r0||i!==e.c0)&&$(n,r,i)&&$(n,r,i)?.[1]!==``&&t.push({r,c:i,input:``});if(t.length){this.setCells(e,t);let n=this.undoStack.pop();this.undoStack[this.undoStack.length-1].cells=n.cells}}return o}case`hideRows`:return a(()=>{for(let e=t.a;e<=t.b;e++){let r=n.rowAttrs.get(e);if(t.hidden)n.rowAttrs.set(e,{...r??{},hidden:!0});else if(r){let{hidden:t,...i}=r;i.ht===void 0?n.rowAttrs.delete(e):n.rowAttrs.set(e,i)}n.dirtyRows.add(e)}});case`hideCols`:return a(()=>Oo(n,t.a,t.b,t.hidden));case`gridlines`:return a(()=>{n.gridLines=t.show,n.dirtyView=!0});case`colWidth`:return a(()=>po(n,t.c0,t.c1,t.px));case`rowHeight`:return a(()=>mo(n,t.r0,t.r1,t.px));case`freeze`:return a(()=>{n.frozen={rows:t.rows,cols:t.cols},n.dirtyView=!0});case`fill`:return this.fill(e,n,t.range,t.dir);case`sort`:return this.sort(e,n,t.range,t.col,!!t.desc)}}replace(e,t,n,r={},i){let a=this.sheet(e),o=new RegExp(r.whole?`^${jo(t)}$`:jo(t),r.matchCase?`g`:`gi`),s=[],c=i?[i]:this.wb.find(e,t,r,1e9);for(let{r:t,c:i}of c){let c=a.formulas.get(t*Q+i),l=r.formulas&&c?`=`+c:this.wb.cell(e,t,i)?.value;if(l===void 0||c&&!r.formulas)continue;let u=l.replace(o,n);u!==l&&s.push({r:t,c:i,input:u})}return s.length?this.setCells(e,s):null}fill(e,t,n,r){co(t);let i=[];for(let e=n.r0;e<=n.r1;e++)for(let a=n.c0;a<=n.c1;a++){let o=r===`down`?n.r0:e,s=r===`right`?n.c0:a;if(o===e&&s===a)continue;let c=e*Q+a,l=$(t,o,s),u=t.formulas.get(o*Q+s),d=u?Sa(u,e-o,a-s):void 0;i.push({key:c,prev:$(t,e,a),prevF:t.formulas.get(c),next:l?[l[0],d?`=`+d:l[1],l[2]]:null,nextF:d})}return this.apply(t,i,`next`),this.record(e,i,n)}sort(e,t,n,r,i){co(t);let a=[];for(let e=n.r0;e<=n.r1;e++){let i=[],o=[];for(let r=n.c0;r<=n.c1;r++)i.push($(t,e,r)),o.push(t.formulas.get(e*Q+r));let s=$(t,e,r),c=s?s[0]===1?this.wb.sst[s[1]]:s[1]:null;a.push({r:e,cells:i,f:o,key:c===``?null:c})}let o=(e,t)=>e==null?1:t==null?-1:typeof e==`number`&&typeof t==`number`?e-t:typeof e==`number`?-1:typeof t==`number`?1:String(e).localeCompare(String(t),void 0,{sensitivity:`base`,numeric:!0}),s=[...a].sort((e,t)=>{let n=o(e.key,t.key);return i&&e.key!==null&&t.key!==null?-n:n}),c=[];return s.forEach((e,r)=>{let i=n.r0+r;for(let r=n.c0;r<=n.c1;r++){let a=r-n.c0,o=i*Q+r,s=e.f[a]?Sa(e.f[a],i-e.r,0):void 0,l=e.cells[a];c.push({key:o,prev:$(t,i,r),prevF:t.formulas.get(o),next:l?[l[0],s?`=`+s:l[1],l[2]]:null,nextF:s})}}),this.apply(t,c,`next`),this.record(e,c,n)}async bookOp(r){let c=this.wb.pkg,f=t(await c.text(this.wb.mainPath)),p=a(f),m=i(p.q),h=s(p,`sheets`),g=o(h,`sheet`),_=this.wb.sheets,v=e=>{let t=new Map(this.wb.sheetsData);this.wb.sheetsData.clear(),e.forEach((e,n)=>{let r=t.get(e);r&&this.wb.sheetsData.set(n,r)});let n=e.map((e,t)=>({..._[e],index:t}));_.splice(0,_.length,...n)};switch(r.op){case`add`:{let e=c.freeName(`xl/worksheets`,`sheet`,`xml`);this.newSheets.set(e,`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<worksheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\"><sheetViews><sheetView workbookViewId=\"0\"/></sheetViews><sheetFormatPr defaultRowHeight=\"15\"/><sheetData/></worksheet>`),c.setPart(e,`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<worksheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\"><sheetViews><sheetView workbookViewId=\"0\"/></sheetViews><sheetFormatPr defaultRowHeight=\"15\"/><sheetData/></worksheet>`),await c.setContentType(e,`application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml`);let t=await c.addRel(this.wb.mainPath,`http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet`,e),n=g.map(e=>Number(l(e,`sheetId`)??0)),i=r.name??`Sheet${_.length+1}`;for(;_.some(e=>e.name.toLowerCase()===i.toLowerCase());)i+=`_`;let a=d(m+`sheet`,{name:i,sheetId:String(Math.max(0,...n)+1),...b(p,`id`,t)}),o=r.after??_.length-1,s=o+1>=g.length?h.c.length:h.c.indexOf(g[o+1]);h.c.splice(s,0,a),h.self=!1;let u={name:i,index:o+1,path:e,hidden:!1},f=_.map((e,t)=>t);_.push({...u,index:_.length}),f.splice(o+1,0,_.length-1),v(f);break}case`rename`:{let e=_[r.index],t=r.name.trim().slice(0,31).replace(/[\\\\/?*[\\]:]/g,`_`);if(!e||!t||_.some((e,n)=>n!==r.index&&e.name.toLowerCase()===t.toLowerCase()))throw Error(`Invalid sheet name`);u(g[r.index],`name`,t);for(let n of await this.allSheets())for(let[r,i]of n.d.formulas){let a=Ta(i,e.name,t);a!==i&&(n.d.formulas.set(r,a),n.d.edited.add(r))}e.name=t;break}case`delete`:{if(_.length<=1)throw Error(`A workbook needs at least one sheet`);let t=_[r.index];h.c.splice(h.c.indexOf(g[r.index]),1),c.setPart(t.path,null),c.has(A(t.path))&&c.setPart(A(t.path),null),await c.removeRelsTo(this.wb.mainPath,t.path),await c.setContentType(t.path,null),v(_.map((e,t)=>t).filter(e=>e!==r.index));let n=s(p,`definedNames`);n&&(n.c=n.c.filter(t=>!(e(t)&&l(t,`localSheetId`)===String(r.index))));break}case`move`:{let e=g[r.from];h.c.splice(h.c.indexOf(e),1);let t=o(h,`sheet`);h.c.splice(r.to>=t.length?h.c.length:h.c.indexOf(t[r.to]),0,e);let n=_.map((e,t)=>t);n.splice(r.from,1),n.splice(r.to,0,r.from),v(n);break}}return c.setPart(this.wb.mainPath,n(f)),this.bookChanged=!0,this.undoStack=[],this.redoStack=[],{sheet:0,range:{r0:0,c0:0,r1:0,c1:0},sheets:_.map(e=>({...e}))}}bookChanged=!1;newSheets=/* @__PURE__ */ new Map;async save(){let e=this.wb.pkg,r=!1;for(let[t,n]of this.wb.sheetsData){if(!To(n))continue;r=!0;let i=this.wb.sheets[t];e.setPart(i.path,()=>this.rewrite(i.path,n))}if(r){let r=t(await e.text(this.wb.mainPath)),o=a(r),c=i(o.q),l=f(s(o,`calcPr`)??d(c+`calcPr`));u(l,`fullCalcOnLoad`,`1`),m(o,l,`calcPr`,go),e.setPart(this.wb.mainPath,n(r));let p=j(this.wb.rels,`calcChain`);p&&this.formulaTouched&&e.has(p.target)&&(e.setPart(p.target,null),await e.removeRelsTo(this.wb.mainPath,p.target),await e.setContentType(p.target,null))}return e.save(`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`)}rewrite(e,t){let n=this.wb.pkg,r=this.wb,i=this,a=/* @__PURE__ */ new Map,o=/* @__PURE__ */ new Set;for(let[e,n]of t.shared)t.edited.has(n.master)&&o.add(e);if(o.size)for(let[e,n]of t.depOf){if(!o.has(n)||t.edited.has(e))continue;let r=t.shared.get(n),i=Math.floor(e/Q)-Math.floor(r.master/Q),s=e%Q-r.master%Q;a.set(e,Sa(r.text,i,s))}let s=/* @__PURE__ */ new Map;for(let e of t.dirtyRows)s.has(e)||s.set(e,/* @__PURE__ */ new Set);for(let e of[...t.edited,...a.keys()]){let t=Math.floor(e/Q),n=s.get(t);n||s.set(t,n=/* @__PURE__ */ new Set),n.add(e%Q)}let c=[...s.keys()].sort((e,t)=>e-t),l=new TextEncoder;return new ReadableStream({async start(o){let u=new Ao(c,s,t,a,r),d=i.newSheets.get(e),f=(d===void 0?await n.zip.stream(e):new Blob([d]).stream()).getReader(),p=new TextDecoder;for(;;){let{done:e,value:t}=await f.read(),n=e?p.decode():p.decode(t,{stream:!0});for(let t of u.push(n,e))t&&o.enqueue(l.encode(t));if(e)break}o.close()}})}};function wo(e,t,n,r,i){let a=t*Q+n,o=$(e,t,n),s=e.formulas.get(a);if(!o&&!s)return``;let c=Qa(n)+(t+1),l=o?.[2]?` s=\"${o[2]}\"`:``;if(s){let[e,t]=o??[6,``],n=`<${r}f>${h(s)}</${r}f>`;return e===0?`<${r}c r=\"${c}\"${l}>${n}<${r}v>${String(t)}</${r}v></${r}c>`:e===3?`<${r}c r=\"${c}\"${l} t=\"b\">${n}<${r}v>${+!!t}</${r}v></${r}c>`:e===4?`<${r}c r=\"${c}\"${l} t=\"e\">${n}<${r}v>${h(String(t))}</${r}v></${r}c>`:e===2&&!String(t).startsWith(`=`)?`<${r}c r=\"${c}\"${l} t=\"str\">${n}<${r}v>${h(String(t))}</${r}v></${r}c>`:`<${r}c r=\"${c}\"${l}>${n}</${r}c>`}let[u,d]=o;switch(u){case 0:return`<${r}c r=\"${c}\"${l}><${r}v>${String(d)}</${r}v></${r}c>`;case 1:case 2:return`<${r}c r=\"${c}\"${l} t=\"inlineStr\"><${r}is><${r}t xml:space=\"preserve\">${h(u===1?i.sst[d]??``:String(d))}</${r}t></${r}is></${r}c>`;case 3:return`<${r}c r=\"${c}\"${l} t=\"b\"><${r}v>${+!!d}</${r}v></${r}c>`;case 4:return`<${r}c r=\"${c}\"${l} t=\"e\"><${r}v>${h(String(d))}</${r}v></${r}c>`;case 5:return`<${r}c r=\"${c}\"${l} t=\"d\"><${r}v>${h(String(d))}</${r}v></${r}c>`;default:return`<${r}c r=\"${c}\"${l}/>`}}function To(e){return e.edited.size>0||e.structural||e.dirtyCols||e.dirtyMerges||e.dirtyView||e.dirtyRows.size>0||e.formulaChanged}function Eo(e){return{merges:e.merges.map(e=>({...e})),colInfo:e.colInfo.map(e=>({...e})),rowAttrs:[...e.rowAttrs].map(([e,t])=>[e,{...t}]),frozen:{...e.frozen},gridLines:e.gridLines}}function Do(e,t){if(t.merges&&(e.merges=t.merges.map(e=>({...e}))),t.colInfo&&(e.colInfo=t.colInfo.map(e=>({...e}))),t.rowAttrs){for(let t of e.rowAttrs.keys())e.dirtyRows.add(t);e.rowAttrs=new Map(t.rowAttrs.map(([e,t])=>[e,{...t}]));for(let t of e.rowAttrs.keys())e.dirtyRows.add(t)}t.frozen&&(e.frozen={...t.frozen}),t.gridLines!==void 0&&(e.gridLines=t.gridLines),e.dirtyCols=e.dirtyMerges=e.dirtyView=!0}function Oo(e,t,n,r){let i=[],a=[];for(let o of e.colInfo){if(o.max<t||o.min>n){i.push(o);continue}o.min<t&&i.push({...o,max:t-1}),o.max>n&&i.push({...o,min:n+1});let s=Math.max(o.min,t),c=Math.min(o.max,n);a.push([s,c]),r?i.push(o.w?{...o,min:s,max:c,w:0,prevW:o.w}:{...o,min:s,max:c}):i.push(o.w?{...o,min:s,max:c}:{min:s,max:c,w:o.prevW||e.defaultColW})}if(r){a.sort((e,t)=>e[0]-t[0]);let r=t;for(let[t,o]of[...a,[n+1,n+1]])t>r&&i.push({min:r,max:Math.min(t-1,n),w:0,prevW:e.defaultColW}),r=Math.max(r,o+1)}e.colInfo=i.sort((e,t)=>e.min-t.min),e.dirtyCols=!0}function ko(e,t,n,r){let i={},a={top:n===t.r0,bottom:n===t.r1,left:r===t.c0,right:r===t.c1};for(let t of[`top`,`bottom`,`left`,`right`])e===`all`?i[t]=!0:e===`none`?i[t]=!1:e===`outer`?a[t]&&(i[t]=!0):e===`inner`?a[t]||(i[t]=!0):e===t&&a[t]&&(i[t]=!0);return i}var Ao=class{rows;rowCols;d;fix;wb;buf=``;P=``;next=0;lastRow=-1;phase=`head`;tail=``;constructor(e,t,n,r,i){this.rows=e,this.rowCols=t,this.d=n,this.fix=r,this.wb=i}newRow(e){let t=[...this.rowCols.get(e)??[]].sort((e,t)=>e-t).map(t=>wo(this.d,e,t,this.P,this.wb)).join(``),n=this.rowAttrXml(e);return t||n?`<${this.P}row r=\"${e+1}\"${n}>${t}</${this.P}row>`:``}rowAttrXml(e){let t=this.d.rowAttrs.get(e);return t?(t.ht===void 0?``:` ht=\"${t.ht}\" customHeight=\"1\"`)+(t.hidden?` hidden=\"1\"`:``):``}before(e){let t=``;for(;this.next<this.rows.length&&this.rows[this.next]<e;)t+=this.newRow(this.rows[this.next++]);return t}*allRows(){let e=this.d,t=Math.max(e.rows.length-1,...e.rowAttrs.keys(),-1),n=``;for(let r=0;r<=t;r++){let t=e.rows[r],i=this.rowAttrXml(r);if(!t?.length&&!i)continue;let a=``;if(t){let n=[];for(let e=0;e<t.length;e+=4)n.push(t[e]);for(let t of n.sort((e,t)=>e-t))a+=wo(e,r,t,this.P,this.wb)}n+=`<${this.P}row r=\"${r+1}\"${i}>${a}</${this.P}row>`,n.length>65536&&(yield n,n=``)}n&&(yield n)}colsXml(){let e=this.P,t=[...this.d.colInfo].sort((e,t)=>e.min-t.min);return t.length?`<${e}cols>${t.map(t=>`<${e}col min=\"${t.min+1}\" max=\"${t.max+1}\" width=\"${+((t.w||t.prevW||0)/7).toFixed(4)}\" customWidth=\"1\"${t.w?``:` hidden=\"1\"`}/>`).join(``)}</${e}cols>`:``}headFix(i){let o=this.d,c=this.P,l=i;if(o.dirtyCols||o.structural){let e=RegExp(`<${c}cols\\\\b[\\\\s\\\\S]*?<\\\\/${c}cols>|<${c}cols\\\\s*\\\\/>`);l=e.test(l)?l.replace(e,this.colsXml()):l+this.colsXml()}if(o.dirtyView||o.structural){let{rows:i,cols:d}=o.frozen,f=i||d?`<${c}pane${d?` xSplit=\"${d}\"`:``}${i?` ySplit=\"${i}\"`:``} topLeftCell=\"${Qa(d)}${i+1}\" activePane=\"${i&&d?`bottomRight`:i?`bottomLeft`:`topRight`}\" state=\"frozen\"/>`:``,p=RegExp(`<${c}sheetViews>[\\\\s\\\\S]*?<\\\\/${c}sheetViews>`).exec(l);if(p){let i=t(p[0]),c=s(a(i),`sheetView`);c&&(c.c=c.c.filter(t=>!e(t)||r(t.q)!==`pane`&&r(t.q)!==`selection`),f&&c.c.unshift(f),u(c,`showGridLines`,o.gridLines?void 0:`0`),c.self=c.c.length===0,l=l.replace(p[0],n(i)))}else if(f||!o.gridLines){let e=`<${c}sheetViews><${c}sheetView${o.gridLines?``:` showGridLines=\"0\"`} workbookViewId=\"0\">${f}</${c}sheetView></${c}sheetViews>`,t=l.search(RegExp(`<${c}(sheetFormatPr|cols)\\\\b`));l=t>=0?l.slice(0,t)+e+l.slice(t):l+e}}return o.structural&&(l=l.replace(RegExp(`<${c}dimension\\\\b[^>]*\\\\/>`),`<${c}dimension ref=\"A1:${Qa(Math.max(0,o.maxCol))}${Math.max(1,o.maxRow+1)}\"/>`)),l}tailFix(e){let t=this.d;if(!t.dirtyMerges&&!t.structural)return e;let n=this.P,r=t.merges,i=r.length?`<${n}mergeCells count=\"${r.length}\">${r.map(e=>`<${n}mergeCell ref=\"${Qa(e.c0)}${e.r0+1}:${Qa(e.c1)}${e.r1+1}\"/>`).join(``)}</${n}mergeCells>`:``,a=RegExp(`<${n}mergeCells\\\\b[\\\\s\\\\S]*?<\\\\/${n}mergeCells>|<${n}mergeCells\\\\b[^>]*\\\\/>`);if(a.test(e))return e.replace(a,i);let o=0,s=/<(\\w+:)?(sheetCalcPr|sheetProtection|protectedRanges|scenarios|autoFilter|sortState|dataConsolidate|customSheetViews)\\b[\\s\\S]*?(\\/>|<\\/(\\w+:)?\\2>)/g;for(let t=s.exec(e);t;t=s.exec(e))o=t.index+t[0].length;return e.slice(0,o)+i+e.slice(o)}push(e,t){let n=this.buf+e;this.buf=``;let r=[];if(this.phase===`tail`)return this.tail+=n,t&&r.push(this.tailFix(this.tail)),r;let i=0;if(this.phase===`head`){let e=/<([\\w.-]+:)?sheetData(\\s[^>]*)?(\\/?)>/.exec(n);if(!e)return t?r.push(this.headFix(n)):this.buf=n,r;this.P=e[1]??``,r.push(this.headFix(n.slice(0,e.index)));let a=e.index+e[0].length;if(e[3]===`/`){if(r.push(`<${this.P}sheetData>`),this.d.structural)r.push(...this.allRows());else{let e=``;for(;this.next<this.rows.length;)e+=this.newRow(this.rows[this.next++]);r.push(e)}return r.push(`</${this.P}sheetData>`),this.phase=`tail`,[...r,...this.push(n.slice(a),t)]}r.push(e[0]),i=a,this.phase=this.d.structural?`skip`:`data`}let a=`</${this.P}sheetData>`;if(this.phase===`skip`){let e=n.indexOf(a,i);return e<0?(this.buf=n.slice(Math.max(i,n.length-a.length)),r):(r.push(...this.allRows(),a),this.phase=`tail`,[...r,...this.push(n.slice(e+a.length),t)])}let o=`<${this.P}row`,s=``,c=n.indexOf(a,i);for(;i<n.length;){let e=n.indexOf(o,i);if(c>=0&&c<i&&(c=n.indexOf(a,i)),c>=0&&(e<0||c<e))return s+=n.slice(i,c)+this.before(1/0)+a,r.push(s),this.phase=`tail`,[...r,...this.push(n.slice(c+a.length),t)];if(e<0)break;let l=n.indexOf(`>`,e);if(l<0){s+=n.slice(i,e),i=e;break}let u=n.slice(e,l+1),d=u.charCodeAt(o.length);if(d!==32&&d!==62&&d!==47&&d!==9&&d!==10&&d!==13){s+=n.slice(i,l+1),i=l+1;continue}let f=/\\sr=\"(\\d+)\"/.exec(u),p=f?Number(f[1])-1:this.lastRow+1;this.lastRow=p;let m=u.endsWith(`/>`),h;if(m)h=l+1;else{let t=n.indexOf(`</${this.P}row>`,l);if(t<0){s+=n.slice(i,e),i=e,this.lastRow=p-1;break}h=t+this.P.length+6}s+=n.slice(i,e)+this.before(p),this.next<this.rows.length&&this.rows[this.next]===p?(this.next++,s+=this.patchRow(n.slice(e,h),p)):s+=n.slice(e,h),i=h}return r.push(s),this.buf=n.slice(i),t&&r.push(this.buf),r}patchRow(o,c){let d=t(o),f=a(d);if(!f)return o;let p=i(f.q);if(u(f,`spans`,void 0),this.d.dirtyRows.has(c)){let e=this.d.rowAttrs.get(c);u(f,`ht`,e?.ht===void 0?void 0:String(e.ht)),u(f,`customHeight`,e?.ht===void 0?void 0:`1`),u(f,`hidden`,e?.hidden?`1`:void 0)}let m=[...this.rowCols.get(c)??[]].sort((e,t)=>e-t),g=/* @__PURE__ */ new Map,_=-1;f.c.forEach((t,n)=>{if(!e(t)||r(t.q)!==`c`)return;let i=l(t,`r`),a=i?$a(i)[1]:_+1;_=a,g.set(a,n)});let v=/* @__PURE__ */ new Map,y=[];for(let e of m){let t=c*Q+e,n=g.get(e);if(this.d.edited.has(t)){let t=wo(this.d,c,e,p,this.wb);n===void 0?t&&y.push({c:e,node:t}):v.set(n,t)}else if(n!==void 0&&this.fix.has(t)){let e=f.c[n],r=s(e,`f`);r&&(r.a=``,r.c=[h(this.fix.get(t))],r.self=!1)}}for(let[e,t]of v)f.c[e]=t;if(y.length){let e=[...g.entries()].sort((e,t)=>e[0]-t[0]);for(let t of y.reverse()){let n=e.find(([e])=>e>t.c),r=n?n[1]:f.c.length;f.c.splice(r,0,t.node);for(let t of e)t[1]>=r&&t[1]++}f.self=!1}return n(d)}};const jo=e=>e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`),Mo={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,bmp:`image/bmp`,svg:`image/svg+xml`,webp:`image/webp`},No=[`xfrm`,`custGeom`,`prstGeom`,`noFill`,`solidFill`,`gradFill`,`blipFill`,`pattFill`,`grpFill`,`ln`,`effectLst`,`effectDag`,`scene3d`,`sp3d`,`extLst`],Po=/* @__PURE__ */ new Set([`noFill`,`solidFill`,`gradFill`,`blipFill`,`pattFill`,`grpFill`]),Fo=e=>String(Math.round(e*Oe));function Io(e){let t=s(s(a(e),`cSld`),`spTree`);if(!t)throw Error(`Slide has no shape tree`);return t}function Lo(e){let t=o(e).find(e=>/^nv.*Pr$/.test(r(e.q))),n=t?l(s(t,`cNvPr`)??t,`id`):void 0;return n===void 0?void 0:Number(n)}function Ro(t){let n=1;for(let i of t)e(i)&&v(i,e=>{r(e.q)===`cNvPr`&&(n=Math.max(n,Number(l(e,`id`)??0)))});return n}function zo(t){let n=``;for(let r of t)e(r)&&v(r,e=>(!n&&/:(off|ext|t|p|bodyPr)$/.test(e.q)&&(n=i(e.q)),!!n));return n||`a:`}function Bo(e,t,n,i){let a=r(e.q),o;if(a===`graphicFrame`)o=e;else{let t=a===`grpSp`?`grpSpPr`:`spPr`,n=s(e,t);n||(n=d(i+t),e.c.splice(1,0,n)),o=n}let c=s(o,`xfrm`);c||(c=d((a===`graphicFrame`?i:n)+`xfrm`),a===`graphicFrame`?o.c.splice(1,0,c):m(o,c,`xfrm`,No));let l=(e,t)=>{let r=s(c,e);r||(r=d(n+e),c.c.splice(e===`off`?0:e===`ext`?1:c.c.length,0,r));for(let[e,n]of Object.entries(t))u(r,e,n)};l(`off`,{x:Fo(t.x),y:Fo(t.y)}),l(`ext`,{cx:Fo(Math.max(1,t.w)),cy:Fo(Math.max(1,t.h))}),u(c,`rot`,t.rot?String(Math.round((t.rot%360+360)%360*6e4)):void 0),t.flipH!==void 0&&u(c,`flipH`,t.flipH?`1`:void 0),t.flipV!==void 0&&u(c,`flipV`,t.flipV?`1`:void 0),c.self=!1,o.self=!1}function Vo(e,t){return t?d(e+`solidFill`,{},[d(e+`srgbClr`,{val:t.replace(`#`,``).toUpperCase()})]):d(e+`noFill`)}function Ho(e,t,n,r,i,a,o){let s=`<${r}off x=\"${Fo(n.x)}\" y=\"${Fo(n.y)}\"/><${r}ext cx=\"${Fo(n.w)}\" cy=\"${Fo(n.h)}\"/>`;return e===`image`?`<${i}pic><${i}nvPicPr><${i}cNvPr id=\"${t}\" name=\"Picture ${t}\"/><${i}cNvPicPr><${r}picLocks noChangeAspect=\"1\"/></${i}cNvPicPr><${i}nvPr/></${i}nvPicPr><${i}blipFill><${r}blip r:embed=\"${o}\"/><${r}stretch><${r}fillRect/></${r}stretch></${i}blipFill><${i}spPr><${r}xfrm>${s}</${r}xfrm><${r}prstGeom prst=\"rect\"><${r}avLst/></${r}prstGeom></${i}spPr></${i}pic>`:e===`text`?`<${i}sp><${i}nvSpPr><${i}cNvPr id=\"${t}\" name=\"TextBox ${t}\"/><${i}cNvSpPr txBox=\"1\"/><${i}nvPr/></${i}nvSpPr><${i}spPr><${r}xfrm>${s}</${r}xfrm><${r}prstGeom prst=\"rect\"><${r}avLst/></${r}prstGeom><${r}noFill/></${i}spPr><${i}txBody><${r}bodyPr wrap=\"square\" rtlCol=\"0\"><${r}spAutoFit/></${r}bodyPr><${r}lstStyle/>${(e=>`<${r}p><${r}r><${r}rPr lang=\"en-US\" dirty=\"0\"/><${r}t>${h(e)}</${r}t></${r}r></${r}p>`)(a??`Text`)}</${i}txBody></${i}sp>`:e===`line`?`<${i}cxnSp><${i}nvCxnSpPr><${i}cNvPr id=\"${t}\" name=\"Connector ${t}\"/><${i}cNvCxnSpPr/><${i}nvPr/></${i}nvCxnSpPr><${i}spPr><${r}xfrm>${s}</${r}xfrm><${r}prstGeom prst=\"line\"><${r}avLst/></${r}prstGeom><${r}ln w=\"19050\"><${r}solidFill><${r}schemeClr val=\"tx1\"/></${r}solidFill></${r}ln></${i}spPr></${i}cxnSp>`:`<${i}sp><${i}nvSpPr><${i}cNvPr id=\"${t}\" name=\"Shape ${t}\"/><${i}cNvSpPr/><${i}nvPr/></${i}nvSpPr><${i}spPr><${r}xfrm>${s}</${r}xfrm><${r}prstGeom prst=\"${e}\"><${r}avLst/></${r}prstGeom></${i}spPr><${i}style><${r}lnRef idx=\"2\"><${r}schemeClr val=\"accent1\"><${r}shade val=\"50000\"/></${r}schemeClr></${r}lnRef><${r}fillRef idx=\"1\"><${r}schemeClr val=\"accent1\"/></${r}fillRef><${r}effectRef idx=\"0\"><${r}schemeClr val=\"accent1\"/></${r}effectRef><${r}fontRef idx=\"minor\"><${r}schemeClr val=\"lt1\"/></${r}fontRef></${i}style><${i}txBody><${r}bodyPr rtlCol=\"0\" anchor=\"ctr\"/><${r}lstStyle/><${r}p><${r}pPr algn=\"ctr\"/>${a?`<${r}r><${r}rPr lang=\"en-US\" dirty=\"0\"/><${r}t>${h(a)}</${r}t></${r}r>`:``}<${r}endParaRPr lang=\"en-US\" dirty=\"0\"/></${r}p></${i}txBody></${i}sp>`}function Uo(n,i,o,c){let l=s(a(n),`cSld`);if(!l||(l.c=l.c.filter(t=>!(e(t)&&r(t.q)===`bg`)),!c))return;let u=t(`<${o}bg><${o}bgPr><${i}solidFill><${i}srgbClr val=\"${c.replace(`#`,``).toUpperCase()}\"/></${i}solidFill><${i}effectLst/></${o}bgPr></${o}bg>`)[0];l.c.unshift(u),l.self=!1}async function Wo(e,r,a){let o=e.meta.slides[r];if(!o)throw Error(`No slide #${r}`);let s=await e.pkg.text(o.path),c=t(s),l=Io(c);await a(c,l,zo(c),i(l.q));let u=n(c);return e.pkg.setPart(o.path,u),e.touched=!0,u!==s&&(e.undoStack.push({path:o.path,before:s,after:u}),e.undoStack.length>200&&e.undoStack.shift(),e.redoStack=[]),e.slide(r)}async function Go(e,t=!1){let n=(t?e.redoStack:e.undoStack).pop();if(!n)return null;(t?e.undoStack:e.redoStack).push(n),e.pkg.setPart(n.path,t?n.after:n.before);let r=e.meta.slides.findIndex(e=>e.path===n.path);return r<0?null:{index:r,model:await e.slide(r)}}async function Ko(e,t,n,r){if(r=r.toLowerCase().replace(`jpeg`,`jpg`),!Mo[r])throw Error(`Unsupported image type .${r}`);let i=e.meta.slides[t],a=e.pkg.freeName(`ppt/media`,`image`,r);return e.pkg.setPart(a,n),await e.pkg.ensureDefaultType(r,Mo[r]),e.pkg.addRel(i.path,`http://schemas.openxmlformats.org/officeDocument/2006/relationships/image`,a)}function qo(n,i,a){return Wo(n,i,(n,i,o,c)=>{let h=t=>{let n=i.c.findIndex(n=>e(n)&&Lo(n)===t);return n>=0?{node:i.c[n],i:n}:void 0};for(let g of a){if(g.op===`insert`){let e=Ro(n)+1,r=Ho(g.kind,e,g.box,o,c,g.text,g.rid);i.c.push(t(r)[0]);continue}if(g.op===`bg`){Uo(n,o,c,g.color);continue}if(g.op===`anchor`){let e;v(i,t=>{if(e)return!0;r(t.q)===`sp`&&Number(l(s(s(t,`nvSpPr`),`cNvPr`)??t,`id`))===g.sid&&(e=s(s(t,`txBody`),`bodyPr`))}),e&&u(e,`anchor`,g.anchor);continue}let a=h(g.top);if(!a)continue;let{node:_,i:y}=a;switch(g.op){case`xfrm`:Bo(_,g.box,o,c);break;case`delete`:i.c.splice(y,1);break;case`order`:{let t=()=>i.c.map((t,n)=>e(t)&&!/^(nvGrpSpPr|grpSpPr|extLst)$/.test(r(t.q))?n:-1).filter(e=>e>=0),n=t().indexOf(y);i.c.splice(y,1);let a=t();if(g.to===`front`)i.c.splice(a.length?a[a.length-1]+1:i.c.length,0,_);else if(g.to===`back`)i.c.splice(a.length?a[0]:i.c.length,0,_);else{let e=g.to===`forward`?Math.min(a.length,n+1):Math.max(0,n-1);i.c.splice(e<a.length?a[e]:a.length?a[a.length-1]+1:i.c.length,0,_)}break}case`duplicate`:{let e=f(_),t=Ro(n);v(e,e=>{r(e.q)===`cNvPr`&&u(e,`id`,String(++t))});let a=(()=>{let t;return v(e,e=>(!t&&r(e.q)===`off`&&(t=e),!!t)),t})();a&&(u(a,`x`,String(Number(l(a,`x`)??0)+Math.round((g.dx??16)*Oe))),u(a,`y`,String(Number(l(a,`y`)??0)+Math.round((g.dy??16)*Oe)))),i.c.splice(y+1,0,e);break}case`fill`:case`line`:{let t=r(_.q);if(t!==`sp`&&t!==`cxnSp`&&t!==`pic`)break;let n=s(_,`spPr`);if(n||(n=d(c+`spPr`),_.c.splice(1,0,n)),g.op===`fill`)p(n,e=>Po.has(e)),m(n,Vo(o,g.color),g.color?`solidFill`:`noFill`,No);else{let t=f(s(n,`ln`)??d(o+`ln`));if(`color`in g?(p(t,e=>Po.has(e)),t.c.unshift(Vo(o,g.color??null))):t.c.some(t=>e(t)&&Po.has(r(t.q)))||t.c.unshift(d(o+`solidFill`,{},[d(o+`schemeClr`,{val:`tx1`})])),g.dash!==void 0){p(t,e=>e===`prstDash`||e===`custDash`);let n=t.c.findIndex(t=>e(t)&&!Po.has(r(t.q)));t.c.splice(n<0?t.c.length:n,0,d(o+`prstDash`,{val:g.dash}))}t.self=!1,g.w!==void 0&&u(t,`w`,String(Math.round(g.w*12700))),m(n,t,`ln`,No)}n.self=!1;break}}}})}async function Jo(n){let o=t(await n.pkg.text(n.mainPath)),c=a(o),l=i(c.q),u=s(c,`sldIdLst`);if(!u){u=d(l+`sldIdLst`);let t=c.c.findIndex(t=>e(t)&&r(t.q)===`sldMasterIdLst`);c.c.splice(t+1,0,u)}return{nodes:o,root:c,P:l,lst:u}}async function Yo(e){let t=await e.pkg.rels(e.mainPath),{lst:n}=await Jo(e),r=[];for(let i of o(n,`sldId`)){let n=t.get(l(i,`r:id`)??l(i,`id`,!0)??``);n&&e.pkg.has(n.target)&&r.push({index:r.length,path:n.target,hidden:!1})}for(let t of r){let n=(await e.pkg.text(t.path)).slice(0,600);t.hidden=/<[\\w:]*sld\\b[^>]*\\sshow=\"0\"/.test(n)}return e.meta.slides=r,e.meta.count=r.length,e.meta}async function Xo(e,t,n){let r=t?j(await e.pkg.rels(t),`slideLayout`)?.target:void 0,i=r?j(await e.pkg.rels(r),`slideMaster`)?.target:void 0;if(i||=j(await e.pkg.rels(e.mainPath),`slideMaster`)?.target,!i)return r;let a=we(await e.pkg.rels(i),`slideLayout`).map(e=>e.target),o=await Promise.all(a.map(async t=>/<[\\w:]*sldLayout\\b[^>]*\\stype=\"([^\"]+)\"/.exec((await e.pkg.text(t)).slice(0,800))?.[1])),s=n===`title`?[`title`]:n===`blank`?[`blank`]:[`obj`,`txAndObj`,`tx`],c=o.findIndex(e=>e&&s.includes(e));return c>=0?a[c]:r??a[0]}async function Zo(e,n){let r=``;if(n){let i=s(s(a(t(await e.pkg.text(n))),`cSld`),`spTree`),c=2;for(let e of o(i,`sp`)){let t=s(s(s(e,`nvSpPr`),`nvPr`),`ph`);if(!t)continue;let n=l(t,`type`);if(n&&[`dt`,`ftr`,`sldNum`].includes(n))continue;let i=l(s(s(e,`nvSpPr`),`cNvPr`)??e,`name`)??`Placeholder ${c}`,a=`<p:ph${n?` type=\"${n}\"`:``}${l(t,`idx`)?` idx=\"${l(t,`idx`)}\"`:``}/>`;r+=`<p:sp><p:nvSpPr><p:cNvPr id=\"${c++}\" name=\"${h(i)}\"/><p:cNvSpPr><a:spLocks noGrp=\"1\"/></p:cNvSpPr><p:nvPr>${a}</p:nvPr></p:nvSpPr><p:spPr/><p:txBody><a:bodyPr/><a:lstStyle/><a:p><a:endParaRPr lang=\"en-US\" dirty=\"0\"/></a:p></p:txBody></p:sp>`}}return`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\n<p:sld xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:p=\"http://schemas.openxmlformats.org/presentationml/2006/main\"><p:cSld><p:spTree><p:nvGrpSpPr><p:cNvPr id=\"1\" name=\"\"/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr><a:xfrm><a:off x=\"0\" y=\"0\"/><a:ext cx=\"0\" cy=\"0\"/><a:chOff x=\"0\" y=\"0\"/><a:chExt cx=\"0\" cy=\"0\"/></a:xfrm></p:grpSpPr>${r}</p:spTree></p:cSld><p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr></p:sld>`}async function Qo(e,t,r,i){let a=e.pkg.freeName(`ppt/slides`,`slide`,`xml`);e.pkg.setPart(a,r),e.pkg.setPart(A(a),i),await e.pkg.setContentType(a,`application/vnd.openxmlformats-officedocument.presentationml.slide+xml`);let s=await e.pkg.addRel(e.mainPath,`http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide`,a),{nodes:c,root:u,P:f,lst:p}=await Jo(e),m=o(p,`sldId`).map(e=>Number(l(e,`id`)??0)),h=Math.max(255,...m)+1,g=d(f+`sldId`,{id:String(h),...b(u,`id`,s)}),_=o(p,`sldId`),v=t<0?0:p.c.indexOf(_[Math.min(t,_.length-1)])+1;p.c.splice(v,0,g),p.self=!1,e.pkg.setPart(e.mainPath,n(c))}async function $o(r,i){let s=r.meta.slides;switch(r.touched=!0,i.op){case`add`:{let e=s[Math.max(0,Math.min(i.after,s.length-1))]?.path,t=await Xo(r,e,i.layout??`content`),n=await Zo(r,t),a=t?`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"><Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout\" Target=\"../slideLayouts/${t.split(`/`).pop()}\"/></Relationships>`:`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"></Relationships>`;await Qo(r,i.after,n,a);break}case`duplicate`:{let o=s[i.index];if(!o)break;let c=await r.pkg.text(o.path),u=A(o.path),d=r.pkg.has(u)?await r.pkg.text(u):`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"></Relationships>`,f=t(d),p=a(f);p.c=p.c.filter(t=>!(e(t)&&/notesSlide$/.test(l(t,`Type`)??``))),d=n(f),await Qo(r,i.index,c,d);break}case`delete`:{let e=s[i.index];if(!e||s.length<=1)break;let{nodes:t,lst:a}=await Jo(r),c=await r.pkg.rels(r.mainPath),u=o(a,`sldId`).find(t=>c.get(l(t,`r:id`)??``)?.target===e.path);u&&a.c.splice(a.c.indexOf(u),1),r.pkg.setPart(r.mainPath,n(t));let d=j(await r.pkg.rels(e.path),`notesSlide`)?.target;await r.pkg.removeRelsTo(r.mainPath,e.path);for(let t of[e.path,d].filter(Boolean))r.pkg.setPart(t,null),r.pkg.has(A(t))&&r.pkg.setPart(A(t),null),await r.pkg.setContentType(t,null);break}case`move`:{let{nodes:e,lst:t}=await Jo(r),a=o(t,`sldId`),s=a[i.from];if(!s||i.to<0||i.to>=a.length)break;t.c.splice(t.c.indexOf(s),1);let c=o(t,`sldId`),l=i.to>=c.length?t.c.length:t.c.indexOf(c[i.to]);t.c.splice(l,0,s),r.pkg.setPart(r.mainPath,n(e));break}case`hide`:{let e=s[i.index];if(!e)break;let o=t(await r.pkg.text(e.path));u(a(o),`show`,i.hidden?`0`:void 0),r.pkg.setPart(e.path,n(o));break}}return Yo(r)}const es=/* @__PURE__ */ new Set([`insertRows`,`deleteRows`,`insertCols`,`deleteCols`]);var ts=class{ed;wb;emit;recs=/* @__PURE__ */ new Map;byOp=/* @__PURE__ */ new Map;seq=0;constructor(e,t,n){this.ed=e,this.wb=t,this.emit=n}index(e){let t=this.wb.sheets.findIndex(t=>t.path===e);if(t<0)throw new ns;return t}async sheet(e){let t=this.index(e);return await this.wb.loadSheet(t,this.emit),t}dropSheet(e){for(let[t,n]of this.recs)(e===null||n.ch?.sheet===e)&&(this.recs.delete(t),this.byOp.delete(n.op))}async apply(e){let t=await this.ed.styleMark(),n;try{n=await this.run(e)}catch(e){if(e instanceof ns)return{res:null,rec:null};throw e}let r=this.ed.takeRecord(),i=await this.ed.styleMark(),a=Object.keys(i).some(e=>i[e]!==t[e]);if(e.t===`book`||e.t===`sheet`&&es.has(e.op.op))return this.dropSheet(null),{res:n,rec:null};let o=++this.seq;if(this.recs.set(o,{ch:r,styles:a?t:void 0,op:e.id}),this.byOp.set(e.id,o),this.recs.size>400){let[e,t]=this.recs.entries().next().value;this.recs.delete(e),this.byOp.get(t.op)===e&&this.byOp.delete(t.op)}return{res:n,rec:o}}async run(e){let t=this.ed;switch(e.t){case`set`:return t.setCells(await this.sheet(e.sheet),e.cells);case`fmt`:return t.format(await this.sheet(e.sheet),e.range,e.patch);case`sheet`:return t.sheetOp(await this.sheet(e.sheet),e.op);case`replace`:return t.replace(await this.sheet(e.sheet),e.query,e.by,e.opts,e.at);case`book`:{let n=e.op,r;r=n.op===`add`?{op:`add`,name:n.name,after:n.after?this.index(n.after):void 0}:n.op===`rename`?{op:`rename`,index:this.index(n.path),name:n.name}:n.op===`delete`?{op:`delete`,index:this.index(n.path)}:{op:`move`,from:this.index(n.path),to:Math.max(0,Math.min(n.to,this.wb.sheets.length-1))};try{return await t.bookOp(r)}catch{throw new ns}}case`revert`:{let n=this.byOp.get(e.target),r=n===void 0?void 0:this.recs.get(n);if(!r?.ch)throw new ns;return t.restoreRecord(r.ch,e.which)}}}async revert(e){let t=this.recs.get(e);if(!t)return null;this.recs.delete(e),this.byOp.get(t.op)===e&&this.byOp.delete(t.op);let n=t.ch?this.ed.revertRecord(t.ch):null;return t.styles&&await this.ed.styleTruncate(t.styles),n}},ns=class extends Error{},rs=class{pres;recs=/* @__PURE__ */ new Map;byOp=/* @__PURE__ */ new Map;seq=0;images=/* @__PURE__ */ new Map;constructor(e){this.pres=e}async originals(){for(let e of this.pres.meta.slides)await this.pres.keepOriginal(e.path)}ready;index(e){return this.pres.meta.slides.findIndex(t=>t.path===e)}get genMaps(){return this.pres.genMaps}async snap(e){return{xml:await this.pres.pkg.text(e),gen:[...this.genMaps].filter(([t])=>t.startsWith(e+`#`))}}restore(e,t){this.pres.pkg.setPart(e,t.xml);for(let t of[...this.genMaps.keys()])t.startsWith(e+`#`)&&this.genMaps.delete(t);for(let[e,n]of t.gen)this.genMaps.set(e,n);this.pres.touched=!0}async model(e){let t=this.index(e);return t<0?{}:{slide:t,model:await this.pres.slide(t)}}async apply(e){let t=this.pres;if(await(this.ready??=this.originals()),e.t===`image`){let n=this.index(e.slide);if(n<0)return{res:{},rec:null};let r=this.images.get(e.key);return r||(r=await Ko(t,n,e.bytes,e.ext),this.images.set(e.key,r)),{res:{rid:r},rec:null}}if(e.t===`slides`){let n=e.op,r=e=>this.index(e),i=null;if(n.op===`add`?i={op:`add`,after:n.after?r(n.after):-1,layout:n.layout}:r(n.path)>=0&&(i=n.op===`duplicate`?{op:`duplicate`,index:r(n.path)}:n.op===`delete`?t.meta.slides.length>1?{op:`delete`,index:r(n.path)}:null:n.op===`move`?{op:`move`,from:r(n.path),to:Math.max(0,Math.min(n.to,t.meta.slides.length-1))}:{op:`hide`,index:r(n.path),hidden:n.hidden}),!i)return{res:{},rec:null};let a=await $o(t,i);return await this.originals(),this.recs.clear(),this.byOp.clear(),{res:{meta:{...a,slides:a.slides.map(e=>({...e}))}},rec:null}}let n,r;if(e.t===`revert`){let t=this.byOp.get(e.target);if(r=t===void 0?void 0:this.recs.get(t),!r)return{res:{},rec:null};n=r.path}else n=e.slide;let i=this.index(n);if(i<0)return{res:{},rec:null};let a=await this.snap(n);if(e.t===`text`)try{await t.setText(i,e.sid,e.paras)}catch{return{res:{},rec:null}}else e.t===`shapes`?await qo(t,i,e.ops.map(e=>{if(e.op!==`insert`||!e.key)return e;let{key:t,...n}=e;return{...n,rid:this.images.get(t)}})):r&&this.restore(n,e.which===`prev`?r.before:r.after);t.undoStack=[],t.redoStack=[];let o=++this.seq;if(this.recs.set(o,{path:n,before:a,after:await this.snap(n),op:e.id}),this.byOp.set(e.id,o),this.recs.size>300){let[e,t]=this.recs.entries().next().value;this.recs.delete(e),this.byOp.get(t.op)===e&&this.byOp.delete(t.op)}return{res:await this.model(n),rec:o}}async revert(e){let t=this.recs.get(e);return t?(this.recs.delete(e),this.byOp.get(t.op)===e&&this.byOp.delete(t.op),this.restore(t.path,t.before),this.model(t.path)):{}}};const is=/* @__PURE__ */ new Set([`docx.edit`,`docx.table`,`docx.image`,`docx.link`,`docx.style`,`save`,`xlsx.set`,`xlsx.format`,`xlsx.sheetOp`,`xlsx.bookOp`,`xlsx.replace`,`xlsx.undo`,`xlsx.redo`,`collab.xlsx.apply`,`collab.xlsx.revert`,`pptx.setText`,`pptx.shapes`,`pptx.slides`,`pptx.image`,`pptx.undo`,`collab.pptx.apply`,`collab.pptx.revert`]);var as=class{emit;pkg;kind;docx;xlsx;xlsxEd;pptx;abort=new AbortController;constructor(e){this.emit=e}async open(e,t={}){let n=await Bn(e,{...t,signal:this.abort.signal,onProgress:(e,t)=>this.emit(`progress`,{phase:`download`,loaded:e,total:t})}),r=await S.open(n),i=this.pkg=new Ce(r),a=await i.mainPart();this.kind=a.kind;let o={kind:a.kind,name:t.name??n.name,size:n.size};return a.kind===`docx`?this.docx=await ft.open(i,a.path):a.kind===`xlsx`?o.xlsx=(this.xlsx=await io.open(i,a.path)).meta():o.pptx=(this.pptx=await On.open(i,a.path)).meta,o}writes=Promise.resolve();call(e,t){if(!is.has(e))return this.dispatch(e,t);let n=this.writes.then(()=>this.dispatch(e,t));return this.writes=n.catch(()=>{}),n}async dispatch(e,t){switch(e){case`open`:return this.open(t[0],t[1]);case`part`:return this.need(this.pkg).blob(t[0]);case`docx.start`:{let e=this.need(this.docx);try{await e.stream({signal:this.abort.signal,onBlocks:e=>this.emit(`docx:blocks`,e),onMeta:e=>this.emit(`docx:meta`,e),onProgress:(e,t)=>this.emit(`progress`,{phase:`parse`,loaded:e,total:t})}),this.emit(`docx:done`,{})}catch(e){this.emit(`docx:done`,{error:e.message})}return}case`docx.edit`:return Rt(this.need(this.docx),t[0]);case`docx.table`:return Jt(this.need(this.docx),t[0]);case`docx.image`:return Ht(this.need(this.docx),new Uint8Array(t[0]),t[1]);case`docx.link`:return Ut(this.need(this.docx),t[0]);case`docx.style`:return At(this.need(this.docx),t[0]);case`save`:return this.save();case`dirty`:return this.docx?this.docx.dirty:this.xlsxEd?this.xlsxEd.dirty:this.pptx?this.pptx.dirty:this.need(this.pkg).dirty;case`xlsx.load`:this.need(this.xlsx).loadSheet(t[0],e=>this.emit(`xlsx:progress`,e),(e,t,n)=>this.emit(`progress`,{phase:e,loaded:t,total:n}));return;case`xlsx.set`:return this.xed().setCells(t[0],t[1]);case`xlsx.format`:return this.xed().format(t[0],t[1],t[2]);case`xlsx.sheetOp`:return this.xed().sheetOp(t[0],t[1]);case`xlsx.replace`:return this.xed().replace(t[0],t[1],t[2],t[3],t[4]);case`xlsx.bookOp`:return this.xed().bookOp(t[0]);case`xlsx.undo`:return this.xed().undo();case`xlsx.redo`:return this.xed().redo();case`collab.xlsx.apply`:return this.xc().apply(t[0]);case`collab.xlsx.revert`:return this.xc().revert(t[0]);case`collab.pptx.apply`:return(this.pcollab??=new rs(this.need(this.pptx))).apply(t[0]);case`collab.pptx.revert`:return(this.pcollab??=new rs(this.need(this.pptx))).revert(t[0]);case`xlsx.block`:return this.need(this.xlsx).block(t[0],t[1],t[2]);case`xlsx.cell`:return this.need(this.xlsx).cell(t[0],t[1],t[2]);case`xlsx.find`:return this.need(this.xlsx).find(t[0],t[1],t[2]);case`pptx.setText`:return this.need(this.pptx).setText(t[0],t[1],t[2]);case`pptx.shapes`:return qo(this.need(this.pptx),t[0],t[1]);case`pptx.slides`:return $o(this.need(this.pptx),t[0]);case`pptx.image`:return Ko(this.need(this.pptx),t[0],new Uint8Array(t[1]),t[2]);case`pptx.slide`:return this.need(this.pptx).slide(t[0]);case`pptx.undo`:return Go(this.need(this.pptx),!!t[0])}throw Error(`Unknown method ${String(e)}`)}xcollab;pcollab;xc(){return this.xcollab??=new ts(this.xed(),this.need(this.xlsx),e=>this.emit(`xlsx:progress`,e))}xed(){return this.xlsxEd??=new Co(this.need(this.xlsx))}async save(){if(this.docx)return Yt(this.docx);if(this.xlsx)return this.xed().save();if(this.pptx)return this.pptx.save();throw Error(`Saving is not supported for this document yet`)}dispose(){this.abort.abort()}need(e){if(!e)throw Error(this.kind?`Operation not available for ${this.kind}`:`Document not opened`);return e}};const os=self,ss=new as((e,t)=>{os.postMessage({event:e,data:t})});os.onmessage=async e=>{let{id:t,method:n,args:r}=e.data;try{let e=await ss.call(n,r);os.postMessage({id:t,ok:!0,result:e})}catch(e){os.postMessage({id:t,ok:!1,error:e?.message??String(e)})}};\n//# sourceMappingURL=worker-DbLPJnSo.js.map", n = typeof self < "u" && self.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);", t], { type: "text/javascript;charset=utf-8" });
4
+ var t = "\nconst e=e=>typeof e==`object`&&!!e;function t(e){let t=[],n=[],r=e=>(n.length?n[n.length-1].c:t).push(e),i=0,a=e.length;for(;i<a;){let t=e.indexOf(`<`,i);if(t<0){r(e.slice(i));break}t>i&&r(e.slice(i,t));let o=e[t+1];if(o===`!`||o===`?`){let n;n=e.startsWith(`<!--`,t)?e.indexOf(`-->`,t)+3:e.startsWith(`<![CDATA[`,t)?e.indexOf(`]]>`,t)+3:o===`?`?e.indexOf(`?>`,t)+2:e.indexOf(`>`,t)+1,n<=0&&(n=a),r(e.slice(t,n)),i=n;continue}if(o===`/`){let r=e.indexOf(`>`,t);n.pop(),i=r<0?a:r+1;continue}let s=-1,c=``;for(let n=t+1;n<a;n++){let t=e[n];if(c)t===c&&(c=``);else if(t===`\"`||t===`'`)c=t;else if(t===`>`){s=n;break}}s<0&&(s=a-1);let l=e.slice(t+1,s),u=l.endsWith(`/`);u&&(l=l.slice(0,-1));let d=/^[^\\s/>]+/.exec(l),f=d?d[0]:l,p={q:f,a:l.slice(f.length),c:[],self:u};r(p),u||n.push(p),i=s+1}return t}function n(e){if(Array.isArray(e)){let t=``;for(let r of e)t+=n(r);return t}return typeof e==`string`?e:e.self&&!e.c.length?`<${e.q}${e.a}/>`:`<${e.q}${e.a}>${n(e.c)}</${e.q}>`}const r=e=>e.slice(e.indexOf(`:`)+1),i=e=>e.includes(`:`)?e.slice(0,e.indexOf(`:`)+1):``;function a(t){return t.find(e)}function o(t,n){return t?t.c.filter(t=>e(t)&&(!n||r(t.q)===n)):[]}function s(t,n){if(t){for(let i of t.c)if(e(i)&&r(i.q)===n)return i}}const c=/([^\\s=]+)\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/g;function l(e,t,n=!1){c.lastIndex=0;let i;for(;i=c.exec(e.a);)if(i[1]===t||n&&r(i[1])===t)return _(i[3]??i[4]??``)}function u(e,t,n){c.lastIndex=0;let r;for(;r=c.exec(e.a);)if(r[1]===t){let i=n===void 0?``:`${t}=\"${g(n)}\"`;e.a=e.a.slice(0,r.index)+i+e.a.slice(r.index+r[0].length),n===void 0&&(e.a=e.a.replace(/\\s+$/,``).replace(/\\s{2,}/g,` `));return}n!==void 0&&(e.a=`${e.a.replace(/\\s+$/,``)} ${t}=\"${g(n)}\"`)}function d(e,t={},n=[]){let r=``;for(let[e,n]of Object.entries(t))n!==void 0&&(r+=` ${e}=\"${g(n)}\"`);return{q:e,a:r,c:n,self:n.length===0}}function f(e){if(typeof e==`string`)return e;let t=e;return{q:t.q,a:t.a,self:t.self,c:t.c.map(f)}}function p(t,n){let i=typeof n==`string`?e=>e===n:n;t.c=t.c.filter(t=>!(e(t)&&i(r(t.q))))}function m(t,n,i,a){let o=t.c.findIndex(t=>e(t)&&r(t.q)===i);if(o>=0){n?t.c[o]=n:t.c.splice(o,1),t.self=t.c.length===0;return}if(!n)return;let s=a.indexOf(i),c=t.c.length;for(let n=0;n<t.c.length;n++){let i=t.c[n];if(e(i)&&a.indexOf(r(i.q))>s){c=n;break}}t.c.splice(c,0,n),t.self=!1}function h(e){return e.replace(/[\\u0000-\\u0008\\u000b\\u000c\\u000e-\\u001f\\uFFFE\\uFFFF]/g,``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function g(e){return h(e).replace(/\"/g,`&quot;`)}function _(e){return e.indexOf(`&`)<0?e:e.replace(/&(lt|gt|amp|quot|apos|#\\d+|#x[0-9a-fA-F]+);/g,(e,t)=>{switch(t){case`lt`:return`<`;case`gt`:return`>`;case`amp`:return`&`;case`quot`:return`\"`;case`apos`:return`'`}let n=t[1]===`x`?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return Number.isFinite(n)?String.fromCodePoint(n):e})}function v(t,n){let i=t=>{let a=!1,o=r(t.q)===`AlternateContent`;for(let s=0;s<t.c.length;s++){let c=t.c[s];if(!e(c))continue;let l=r(c.q);if(l!==`Fallback`){if(o&&l===`Choice`){if(a)continue;a=!0,i(c)}else l===`AlternateContent`?i(c):n(c,t,s)||i(c)}}};i(t)}const y=`http://schemas.openxmlformats.org/officeDocument/2006/relationships`;function b(e,t=`id`,n){let r=RegExp(`xmlns:([\\\\w.-]+)=\"${y.replace(/[.]/g,`\\\\.`)}\"`).exec(e.a);return r?{[`${r[1]}:${t}`]:n}:{\"xmlns:r\":y,[`r:${t}`]:n}}const x=(e,t)=>Number(e.getBigUint64(t,!0));var S=class e{src;entries=/* @__PURE__ */ new Map;constructor(e){this.src=e}static async open(t){let n=new e(t);return await n.readDirectory(),n}async readDirectory(){let{src:e}=this;if(e.size<22)throw Error(`Not a ZIP/OOXML file (too small)`);let t=Math.min(e.size,65577),n=e.size-t,r=await e.read(n,t),i=new DataView(r.buffer,r.byteOffset,r.byteLength),a=-1;for(let e=r.length-22;e>=0;e--)if(i.getUint32(e,!0)===101010256){a=e;break}if(a<0){let t=await e.read(0,8);throw t[0]===208&&t[1]===207?Error(`Legacy binary Office format (.doc/.xls/.ppt) or encrypted file is not supported`):Error(`Not a ZIP/OOXML file (no end of central directory)`)}let o=i.getUint16(a+10,!0),s=i.getUint32(a+12,!0),c=i.getUint32(a+16,!0);if(o===65535||s===4294967295||c===4294967295){let t=a-20;if(t>=0&&i.getUint32(t,!0)===117853008){let n=x(i,t+8),r=await e.read(n,56),a=new DataView(r.buffer,r.byteOffset,r.byteLength);a.getUint32(0,!0)===101075792&&(o=x(a,32),s=x(a,40),c=x(a,48))}}let l=await e.read(c,s),u=new DataView(l.buffer,l.byteOffset,l.byteLength),d=new TextDecoder,f=0;for(let e=0;e<o&&f+46<=l.length&&u.getUint32(f,!0)===33639248;e++){let e=u.getUint16(f+8,!0),t=u.getUint16(f+10,!0),n=u.getUint16(f+12,!0),r=u.getUint16(f+14,!0),i=u.getUint32(f+16,!0),a=u.getUint32(f+20,!0),o=u.getUint32(f+24,!0),s=u.getUint16(f+28,!0),c=u.getUint16(f+30,!0),p=u.getUint16(f+32,!0),m=u.getUint32(f+42,!0),h=d.decode(l.subarray(f+46,f+46+s));if(o===4294967295||a===4294967295||m===4294967295){let e=f+46+s,t=e+c;for(;e+4<=t;){let t=u.getUint16(e,!0),n=u.getUint16(e+2,!0);if(t===1){let t=e+4;o===4294967295&&(o=x(u,t),t+=8),a===4294967295&&(a=x(u,t),t+=8),m===4294967295&&(m=x(u,t));break}e+=4+n}}h.endsWith(`/`)||this.entries.set(C(h),{name:h,method:t,flags:e,crc:i,time:n,date:r,compSize:a,size:o,localOffset:m}),f+=46+s+c+p}}list(){return[...this.entries.values()]}get(e){return this.entries.get(C(e))}has(e){return this.entries.has(C(e))}async dataOffset(e){if(e.dataOffset!==void 0)return e.dataOffset;let t=await this.src.read(e.localOffset,30),n=new DataView(t.buffer,t.byteOffset,t.byteLength);if(n.getUint32(0,!0)!==67324752)throw Error(`Corrupt ZIP local header for ${e.name}`);return e.dataOffset=e.localOffset+30+n.getUint16(26,!0)+n.getUint16(28,!0),e.dataOffset}async rawData(e){let t=await this.dataOffset(e);return this.src.slice?this.src.slice(t,e.compSize):this.src.read(t,e.compSize)}async stream(e,t){let n=this.get(e);if(!n)throw Error(`Missing part: ${e}`);if(n.flags&1)throw Error(`Encrypted documents are not supported`);let r=await this.dataOffset(n),i=this.src.stream(r,n.compSize);if(t){let e=0,r=n.compSize;i=i.pipeThrough(new TransformStream({transform(n,i){e+=n.length,t(e,r),i.enqueue(n)}}))}if(n.method===0)return i;if(n.method===8)return i.pipeThrough(new DecompressionStream(`deflate-raw`));throw Error(`Unsupported ZIP compression method ${n.method} for ${n.name}`)}async bytes(e){let t=this.get(e);if(!t)throw Error(`Missing part: ${e}`);let n=(await this.stream(e)).getReader(),r=new Uint8Array(t.size),i=0,a=[];for(;;){let{done:e,value:t}=await n.read();if(e)break;i+t.length<=r.length?r.set(t,i):a.push(t),i+=t.length}if(!a.length)return i===r.length?r:r.subarray(0,i);let o=new Uint8Array(i);o.set(r);let s=r.length;for(let e of a)o.set(e,s),s+=e.length;return o}async text(e){return new TextDecoder().decode(await this.bytes(e))}};function C(e){return e.replace(/^\\/+/,``).replace(/\\\\/g,`/`).toLowerCase()}const w=(()=>{let e=/* @__PURE__ */ new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n>>>0}return e})();function ee(e,t=0){let n=~t>>>0;for(let t=0;t<e.length;t++)n=w[(n^e[t])&255]^n>>>8;return~n>>>0}const te=globalThis.Bun!==void 0;async function ne(e){let t=0,n=0,r=e.pipeThrough(new TransformStream({transform(e,r){t=ee(e,t),n+=e.length,r.enqueue(e)}})).pipeThrough(new CompressionStream(`deflate-raw`)).getReader(),i=[],a=0;for(;;){let{done:e,value:t}=await r.read();if(e)break;i.push(t),a+=t.length}return{chunks:i,crc:t,size:n,csize:a}}function re(e){if(typeof e==`function`)return e();let t=typeof e==`string`?new TextEncoder().encode(e):e;return new ReadableStream({start(e){e.enqueue(t),e.close()}})}function ie(){let e=/* @__PURE__ */ new Date;return{time:e.getHours()<<11|e.getMinutes()<<5|e.getSeconds()>>1,date:e.getFullYear()-1980<<9|e.getMonth()+1<<5|e.getDate()}}async function ae(e,t,n=`application/zip`){let r=new TextEncoder,i=[],a=[],o=0,s=0,c=/* @__PURE__ */ new Map;for(let[e,n]of t)c.set(C(e),{name:e.replace(/^\\/+/,``),data:n});let l=(e,t,n,c,l,u,d,f)=>{let p=r.encode(e),m=/[^\\x20-\\x7e]/.test(e)?2048:0;if(o>4294967280||c>4294967280)throw Error(`Saved file exceeds 4 GB (ZIP64 writing not supported)`);let h=new Uint8Array(30+p.length),g=new DataView(h.buffer);g.setUint32(0,67324752,!0),g.setUint16(4,20,!0),g.setUint16(6,m,!0),g.setUint16(8,t,!0),g.setUint16(10,u,!0),g.setUint16(12,d,!0),g.setUint32(14,n,!0),g.setUint32(18,c,!0),g.setUint32(22,l,!0),g.setUint16(26,p.length,!0),h.set(p,30);let _=new Uint8Array(46+p.length),v=new DataView(_.buffer);v.setUint32(0,33639248,!0),v.setUint16(4,20,!0),v.setUint16(6,20,!0),v.setUint16(8,m,!0),v.setUint16(10,t,!0),v.setUint16(12,u,!0),v.setUint16(14,d,!0),v.setUint32(16,n,!0),v.setUint32(20,c,!0),v.setUint32(24,l,!0),v.setUint16(28,p.length,!0),v.setUint32(42,o,!0),_.set(p,46),i.push(h,...f),a.push(_),o+=h.length+c,s++},u=async(e,t)=>{let n=await ne(re(t)),{time:r,date:i}=ie();l(e,8,n.crc,n.csize,n.size,r,i,n.chunks)};for(let t of e?.list()??[]){let n=C(t.name),r=c.get(n);if(r){c.delete(n),r.data!==null&&await u(t.name,r.data);continue}let i=await e.rawData(t);te&&i instanceof Blob&&(i=new Uint8Array(await i.arrayBuffer())),l(t.name,t.method,t.crc,t.compSize,t.size,t.time,t.date,[i])}for(let{name:e,data:t}of c.values())t!==null&&await u(e,t);let d=a.reduce((e,t)=>e+t.length,0),f=/* @__PURE__ */ new Uint8Array(22),p=new DataView(f.buffer);return p.setUint32(0,101010256,!0),p.setUint16(8,s,!0),p.setUint16(10,s,!0),p.setUint32(12,d,!0),p.setUint32(16,o,!0),new Blob([...i,...a,f],{type:n})}const oe=/* @__PURE__ */ new Set([`http://schemas.openxmlformats.org/officeDocument/2006/relationships`,`http://purl.oclc.org/ooxml/officeDocument/relationships`]),se={lt:`<`,gt:`>`,amp:`&`,quot:`\"`,apos:`'`};function ce(e){return e.indexOf(`&`)<0?e:e.replace(/&(#x[0-9a-fA-F]+|#\\d+|[a-zA-Z]+);/g,(e,t)=>{if(t[0]===`#`){let n=t[1]===`x`||t[1]===`X`?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return Number.isFinite(n)&&n<=1114111?String.fromCodePoint(n):e}return se[t]??e})}const le=e=>e===32||e===9||e===10||e===13;var ue=class{h;raw;buf=``;depth=0;skipDepth=-1;relPrefixes=/* @__PURE__ */ new Set([`r`]);constructor(e,t){this.h=e,this.raw=t}write(e){this.buf=this.buf.length?this.buf+e:e,this.run(!1)}end(){this.run(!0),this.buf=``}run(e){let t=this.buf,n=t.length,r=0;for(;r<n;){let i=t.indexOf(`<`,r);if(i<0){if(e){let e=t.substring(r);this.raw?.(e),this.onText(e),r=n}break}if(i>r){let e=t.substring(r,i);this.raw?.(e),this.onText(e)}if(r=i,i+1>=n)break;let a=t.charCodeAt(i+1);if(a===47){let e=t.indexOf(`>`,i+2);if(e<0)break;this.raw?.(t.substring(i,e+1)),this.onClose(t.substring(i+2,e)),r=e+1;continue}if(a===63){let e=t.indexOf(`?>`,i+2);if(e<0)break;this.raw?.(t.substring(i,e+2)),r=e+2;continue}if(a===33){if(n-i<9&&!e)break;if(t.startsWith(`<!--`,i)){let e=t.indexOf(`-->`,i+4);if(e<0)break;this.raw?.(t.substring(i,e+3)),r=e+3;continue}if(t.startsWith(`<![CDATA[`,i)){let e=t.indexOf(`]]>`,i+9);if(e<0)break;this.raw?.(t.substring(i,e+3)),this.skipDepth<0&&this.h.text(t.substring(i+9,e)),r=e+3;continue}let a=t.indexOf(`>`,i+2);if(a<0)break;this.raw?.(t.substring(i,a+1)),r=a+1;continue}let o=-1,s=0;for(let e=i+1;e<n;e++){let n=t.charCodeAt(e);if(s!==0)n===s&&(s=0);else if(n===34||n===39)s=n;else if(n===62){o=e;break}}if(o<0)break;this.raw?.(t.substring(i,o+1)),this.onOpen(t,i+1,o),r=o+1}this.buf=r>=n?``:t.substring(r)}onText(e){this.skipDepth>=0||this.depth===0||this.h.text(e.indexOf(`&`)>=0?ce(e):e)}onOpen(e,t,n){let r=n,i=!1;if(e.charCodeAt(n-1)===47&&(i=!0,r=n-1),this.skipDepth>=0){i||this.depth++;return}let a=t;for(;a<r&&!le(e.charCodeAt(a));)a++;let o=e.substring(t,a),s=o.indexOf(`:`),c=s<0?o:o.substring(s+1),l={};for(;a<r;){if(le(e.charCodeAt(a))){a++;continue}let t=e.indexOf(`=`,a);if(t<0||t>=r)break;let n=e.substring(a,t).trim(),i=t+1;for(;i<r&&e.charCodeAt(i)!==34&&e.charCodeAt(i)!==39;)i++;if(i>=r)break;let o=e.indexOf(e[i],i+1);if(o<0)break;let s=e.substring(i+1,o);a=o+1;let c=n.indexOf(`:`);if(c>=0){let e=n.substring(0,c),t=n.substring(c+1);if(e===`xmlns`){oe.has(s)&&this.relPrefixes.add(t);continue}n=this.relPrefixes.has(e)?`r:`+t:t}else if(n===`xmlns`)continue;l[n]=s.indexOf(`&`)>=0?ce(s):s}let u=this.h.open(c,l,i);i?u||this.h.close(c):(this.depth++,u&&(this.skipDepth=this.depth))}onClose(e){if(this.skipDepth>=0){this.depth===this.skipDepth&&(this.skipDepth=-1),this.depth--;return}this.depth--;let t=e.trim(),n=t.indexOf(`:`);this.h.close(n<0?t:t.substring(n+1))}},de=class extends Error{constructor(){super(`aborted`),this.name=`AbortError`}};async function fe(e,t,n={}){let r=e.getReader(),i=new TextDecoder,a=new ue(t,n.raw);try{for(;;){if(n.signal?.aborted)throw new de;let{done:e,value:t}=await r.read();if(e)break;a.write(i.decode(t,{stream:!0})),n.onChunk&&await n.onChunk(t.length)}a.write(i.decode()),a.end()}catch(e){throw r.cancel().catch(()=>{}),e}}var pe=class{o;root=null;stack=[];parents=[];depth=0;alt=[];constructor(e={}){this.o=e}open(e,t){if(e===`Fallback`||this.o.skip?.has(e))return!0;if(e===`AlternateContent`){this.alt.push(!1),this.stack.push(0);return}if(e===`Choice`&&this.alt.length){let e=this.alt.length-1;if(this.alt[e])return!0;this.alt[e]=!0,this.stack.push(0);return}let n=this.depth++;if(this.o.emitDepth!==void 0&&n<this.o.emitDepth){this.o.onShallowOpen?.(e,t,n),this.stack.push(1);return}let r={n:e,a:t,c:[],t:``},i=this.parents[this.parents.length-1];i&&i.c.push(r),this.parents.push(r),this.stack.push(r)}close(e){let t=this.stack.pop();t===0?e===`AlternateContent`&&this.alt.pop():(this.depth--,t!==1&&t!==void 0&&(this.parents.pop(),this.parents.length===0&&(this.o.emitDepth===void 0?this.root=t:this.o.onElement?.(t))))}text(e){let t=this.parents[this.parents.length-1];t&&(t.t+=e)}};function me(e,t){let n=new pe({skip:t}),r=new ue(n);if(r.write(e),r.end(),!n.root)throw Error(`Empty XML document`);return n.root}function T(e,t){if(e){for(let n of e.c)if(n.n===t)return n}}function E(e,t){return e?e.c.filter(e=>e.n===t):[]}function D(e,...t){let n=e;for(let e of t)if(n=T(n,e),!n)return;return n}function he(e,t){if(e)for(let n of e.c){if(n.n===t)return n;let e=he(n,t);if(e)return e}}function ge(e,t,n=[]){if(!e)return n;for(let r of e.c)r.n===t?n.push(r):ge(r,t,n);return n}function O(e,t){if(e===void 0||e===``)return t;let n=Number(e);return Number.isFinite(n)?n:t}function k(e,t=`val`){if(!e)return;let n=e.a[t];return n===void 0||n!==`0`&&n!==`false`&&n!==`off`&&n!==`none`}function _e(e){if(!e)return``;if(!e.c.length)return e.t;let t=``;for(let n of e.c)t+=n.n===`t`?n.t:_e(n);return t}const ve={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,jpe:`image/jpeg`,gif:`image/gif`,bmp:`image/bmp`,svg:`image/svg+xml`,webp:`image/webp`,tif:`image/tiff`,tiff:`image/tiff`,ico:`image/x-icon`,emf:`image/emf`,wmf:`image/wmf`,mp4:`video/mp4`,m4v:`video/mp4`,mov:`video/quicktime`,mp3:`audio/mpeg`,wav:`audio/wav`,m4a:`audio/mp4`};function ye(e){let t=e.split(`.`).pop()?.toLowerCase()??``;return ve[t]??`application/octet-stream`}function be(e){let t=e.lastIndexOf(`/`);return t<0?``:e.slice(0,t)}function xe(e,t){if(t.startsWith(`/`))return t.slice(1);let n=e?e.split(`/`):[];for(let e of t.split(`/`))e===`..`?n.pop():e&&e!==`.`&&n.push(e);return n.join(`/`)}function Se(e,t){let n=e?e.split(`/`):[],r=t.split(`/`),i=0;for(;i<n.length&&i<r.length-1&&n[i]===r[i];)i++;return[...n.slice(i).map(()=>`..`),...r.slice(i)].join(`/`)}function A(e){let t=be(e),n=e.slice(t.length?t.length+1:0);return(t?t+`/`:``)+`_rels/`+n+`.rels`}var Ce=class{zip;relsCache=/* @__PURE__ */ new Map;xmlCache=/* @__PURE__ */ new Map;contentTypes;changes=/* @__PURE__ */ new Map;constructor(e){this.zip=e}has(e){let t=this.changes.get(C(e));return t?t.data!==null:this.zip.has(e)}get dirty(){return this.changes.size>0}async text(e){let t=this.changes.get(C(e));if(t){if(t.data===null)throw Error(`Missing part: ${e}`);if(typeof t.data==`string`)return t.data;if(t.data instanceof Uint8Array)return new TextDecoder().decode(t.data);throw Error(`Part ${e} is a stream`)}return this.zip.text(e)}async stream(e,t){let n=this.changes.get(C(e));if(!n)return this.zip.stream(e,t);if(n.data===null)throw Error(`Missing part: ${e}`);if(typeof n.data==`function`)return n.data();let r=typeof n.data==`string`?new TextEncoder().encode(n.data):n.data;return new ReadableStream({start(e){e.enqueue(r),e.close()}})}setPart(e,t){e=e.replace(/^\\/+/,``),this.changes.set(C(e),{path:e,data:t}),this.xmlCache.delete(e),this.relsCache.clear(),/\\[content_types\\]\\.xml$/i.test(e)&&(this.contentTypes=void 0)}async save(e){let t=/* @__PURE__ */ new Map;for(let{path:e,data:n}of this.changes.values())t.set(e,n);return ae(this.zip,t,e)}async addRel(e,r,i,s=!1){let c=A(e),u=this.has(c)?t(await this.text(c)):t(`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"></Relationships>`),f=a(u),p=new Set(o(f,`Relationship`).map(e=>l(e,`Id`))),m=p.size+1;for(;p.has(`rId${m}`);)m++;let h=`rId${m}`;return f.c.push(d(`Relationship`,s?{Id:h,Type:r,Target:i,TargetMode:`External`}:{Id:h,Type:r,Target:Se(be(e),i)})),f.self=!1,this.setPart(c,n(u)),h}async removeRelsTo(r,i){let o=A(r);if(!this.has(o))return;let s=t(await this.text(o)),c=a(s),u=be(r);c.c=c.c.filter(t=>!(e(t)&&xe(u,l(t,`Target`)??``).toLowerCase()===i.toLowerCase())),this.setPart(o,n(s))}async ensureDefaultType(e,r){let i=`[Content_Types].xml`,s=t(await this.text(i)),c=a(s);o(c,`Default`).some(t=>l(t,`Extension`)?.toLowerCase()===e.toLowerCase())||(c.c.unshift(d(`Default`,{Extension:e,ContentType:r})),this.setPart(i,n(s)))}freeName(e,t,n){for(let r=1;;r++){let i=`${e}/${t}${r}.${n}`;if(!this.has(i))return i}}async setContentType(r,i){let o=`[Content_Types].xml`,s=t(await this.text(o)),c=a(s),u=`/`+r.replace(/^\\/+/,``);c.c=c.c.filter(t=>!(e(t)&&l(t,`PartName`)?.toLowerCase()===u.toLowerCase())),i&&c.c.push(d(`Override`,{PartName:u,ContentType:i})),this.setPart(o,n(s))}xml(e,t=!0){let n=async()=>this.has(e)?me(await this.text(e),Te):void 0;if(!t)return n();let r=this.xmlCache.get(e);return r||this.xmlCache.set(e,r=n()),r}rels(e){let t=this.relsCache.get(e);return t||(t=(async()=>{let t=/* @__PURE__ */ new Map,n=A(e);if(!this.has(n))return t;let r=me(await this.text(n)),i=be(e);for(let e of E(r,`Relationship`)){let n=e.a.TargetMode===`External`,r=e.a.Target??``;t.set(e.a.Id,{id:e.a.Id,type:e.a.Type??``,external:n,target:n?r:xe(i,r)})}return t})(),this.relsCache.set(e,t)),t}async contentType(e){this.contentTypes||=(async()=>{let e=/* @__PURE__ */ new Map;if(!this.has(`[Content_Types].xml`))return e;let t=me(await this.text(`[Content_Types].xml`));for(let n of E(t,`Default`))e.set(`ext:`+(n.a.Extension??``).toLowerCase(),n.a.ContentType);for(let n of E(t,`Override`))e.set((n.a.PartName??``).replace(/^\\//,``).toLowerCase(),n.a.ContentType);return e})();let t=await this.contentTypes,n=e.toLowerCase();return t.get(n)??t.get(`ext:`+(n.split(`.`).pop()??``))}async blob(e){let t=this.changes.get(C(e)),n=t&&t.data!==null&&typeof t.data!=`function`?typeof t.data==`string`?new TextEncoder().encode(t.data):t.data:await this.zip.bytes(e);return new Blob([n],{type:ye(e)})}async mainPart(){let e=await this.rels(``),t;for(let n of e.values())n.type.endsWith(`/officeDocument`)&&(t=n.target);let n=[[`word/document.xml`,`docx`],[`xl/workbook.xml`,`xlsx`],[`ppt/presentation.xml`,`pptx`]];if(t||=n.find(([e])=>this.zip.has(e))?.[0],!t)throw Error(`Not an Office Open XML document (no main part found)`);let r=await this.contentType(t)??``,i;if(i=r.includes(`wordprocessingml`)?`docx`:r.includes(`spreadsheetml`)?`xlsx`:r.includes(`presentationml`)?`pptx`:n.find(([e])=>t.toLowerCase().startsWith(e.split(`/`)[0]+`/`))?.[1],!i)throw Error(`Unsupported document type (${r||t})`);return{path:t,kind:i}}};function j(e,t){for(let n of e.values())if(n.type.endsWith(`/`+t))return n}function we(e,t){return[...e.values()].filter(e=>e.type.endsWith(`/`+t))}const Te=/* @__PURE__ */ new Set([`extLst`]),Ee={colors:{dk1:`#000000`,lt1:`#ffffff`,dk2:`#44546a`,lt2:`#e7e6e6`,accent1:`#4472c4`,accent2:`#ed7d31`,accent3:`#a5a5a5`,accent4:`#ffc000`,accent5:`#5b9bd5`,accent6:`#70ad47`,hlink:`#0563c1`,folHlink:`#954f72`},major:`Calibri Light`,minor:`Calibri`,fillStyles:[],bgFillStyles:[],lineStyles:[]};function De(e){if(!e)return Ee;let t=T(e,`themeElements`),n={...Ee.colors};for(let e of T(t,`clrScheme`)?.c??[]){let t=e.c[0];t&&(t.n===`srgbClr`&&t.a.val?n[e.n]=`#`+t.a.val.toLowerCase():t.n===`sysClr`&&(n[e.n]=`#`+(t.a.lastClr??(t.a.val===`window`?`ffffff`:`000000`)).toLowerCase()))}let r=T(t,`fontScheme`),i=T(t,`fmtScheme`);return{colors:n,major:D(r,`majorFont`,`latin`)?.a.typeface||Ee.major,minor:D(r,`minorFont`,`latin`)?.a.typeface||Ee.minor,fillStyles:T(i,`fillStyleLst`)?.c??[],bgFillStyles:T(i,`bgFillStyleLst`)?.c??[],lineStyles:E(T(i,`lnStyleLst`),`ln`)}}const Oe=9525,M=e=>(e??0)/Oe,ke=e=>(e??0)/12700,Ae={calibri:`Carlito`,cambria:`Caladea`,arial:`\"Liberation Sans\", Arimo`,helvetica:`\"Liberation Sans\", Arimo`,\"times new roman\":`\"Liberation Serif\", Tinos`,\"courier new\":`\"Liberation Mono\", Cousine`,\"segoe ui\":`system-ui`,\"calibri light\":`Carlito`,aptos:`\"Segoe UI\", system-ui`,\"aptos display\":`\"Segoe UI\", system-ui`},je=/times|cambria|georgia|garamond|book|serif|palatino|minion|baskerville|didot|caslon|mincho|song/i,Me=/courier|mono|consolas|menlo|code/i,Ne=/* @__PURE__ */ new Map;function Pe(e){if(!e)return;let t=Ne.get(e);if(t)return t;let n=e.toLowerCase(),r=Me.test(e)?`monospace`:je.test(e)&&!/sans/i.test(e)?`serif`:`sans-serif`,i=Ae[n];return t=`\"${e.replace(/\"/g,``)}\"${i?`, `+i:``}, ${r}`,Ne.set(e,t),t}const Fe={yellow:`#ffff00`,green:`#00ff00`,cyan:`#00ffff`,magenta:`#ff00ff`,blue:`#0000ff`,red:`#ff0000`,darkBlue:`#000080`,darkCyan:`#008080`,darkGreen:`#008000`,darkMagenta:`#800080`,darkRed:`#800000`,darkYellow:`#808000`,darkGray:`#808080`,lightGray:`#c0c0c0`,black:`#000000`,white:`#ffffff`},Ie=e=>e&&e!==`auto`&&/^[0-9a-fA-F]{6}$/.test(e)?`#`+e.toLowerCase():void 0;function Le(e){if(e)return Ie(e.a.fill)??(e.a.val===`solid`?Ie(e.a.color):void 0)}const Re={single:`solid`,thick:`solid`,double:`double`,dotted:`dotted`,dashed:`dashed`,dotDash:`dashed`,dotDotDash:`dotted`,triple:`double`,thinThickSmallGap:`double`,thickThinSmallGap:`double`,wave:`solid`,dashSmallGap:`dashed`,outset:`outset`,inset:`inset`};function ze(e){if(!e)return;let t=e.a.val;if(!t||t===`nil`||t===`none`)return null;let n=Math.max(.5,(O(e.a.sz)??4)/8);return{w:t===`double`?Math.max(n,2.25):n,style:Re[t]??`solid`,color:Ie(e.a.color)??`#000000`}}const Be=e=>e===null?`none`:e?`${e.w}pt ${e.style} ${e.color}`:void 0;function Ve(e,t){let n=e.a.asciiTheme??e.a.hAnsiTheme;return Pe(n?n.startsWith(`major`)?t.major:t.minor:e.a.ascii??e.a.hAnsi??e.a.cs??e.a.eastAsia)}function He(e,t){let n={};if(!e)return n;for(let r of e.c)switch(r.n){case`b`:n.b=k(r);break;case`i`:n.i=k(r);break;case`strike`:n.strike=k(r);break;case`dstrike`:n.dstrike=k(r);break;case`caps`:n.caps=k(r);break;case`smallCaps`:n.smallCaps=k(r);break;case`vanish`:n.vanish=k(r);break;case`u`:n.u=r.a.val??`single`;break;case`color`:{let e=Ie(r.a.val);e&&(n.color=e);break}case`sz`:{let e=O(r.a.val);e&&(n.sz=e/2);break}case`rFonts`:{let e=Ve(r,t);e&&(n.font=e);break}case`highlight`:{let e=Fe[r.a.val];e&&(n.hl=e);break}case`shd`:{let e=Le(r);e&&(n.shd=e);break}case`vertAlign`:n.va=r.a.val===`superscript`?`sup`:r.a.val===`subscript`?`sub`:void 0;break;case`spacing`:{let e=O(r.a.val);e&&(n.spacing=e/20);break}}return n}function Ue(e){let t={},n={ps:t};if(!e)return n;for(let r of e.c)switch(r.n){case`pStyle`:n.styleId=r.a.val;break;case`numPr`:{let e=T(r,`numId`)?.a.val;e!==void 0&&(n.numPr={numId:e,ilvl:O(T(r,`ilvl`)?.a.val,0)});break}case`jc`:{let e=r.a.val;t.align=e===`center`?`center`:e===`right`||e===`end`?`right`:e===`both`||e===`distribute`?`justify`:`left`;break}case`ind`:{let e=O(r.a.left??r.a.start),n=O(r.a.right??r.a.end);e!==void 0&&(t.indL=e/20),n!==void 0&&(t.indR=n/20);let i=O(r.a.hanging),a=O(r.a.firstLine);i===void 0?a!==void 0&&(t.indFirst=a/20):t.indFirst=-i/20;break}case`spacing`:{let e=O(r.a.before),n=O(r.a.after);r.a.beforeAutospacing===`1`||r.a.beforeAutospacing===`true`?t.before=14:e!==void 0&&(t.before=e/20),r.a.afterAutospacing===`1`||r.a.afterAutospacing===`true`?t.after=14:n!==void 0&&(t.after=n/20);let i=O(r.a.line);if(i!==void 0){let e=r.a.lineRule??`auto`;t.lineRule=e,t.line=e===`auto`?i/240:i/20}break}case`shd`:{let e=Le(r);e&&(t.shd=e);break}case`pBdr`:{let e=ze(T(r,`top`)),n=ze(T(r,`bottom`)),i=ze(T(r,`left`)??T(r,`start`)),a=ze(T(r,`right`)??T(r,`end`));e&&(t.bTop=e),n&&(t.bBottom=n),i&&(t.bLeft=i),a&&(t.bRight=a);break}case`keepNext`:t.keepNext=k(r);break;case`contextualSpacing`:t.contextual=k(r);break;case`pageBreakBefore`:t.pageBreakBefore=k(r);break;case`outlineLvl`:t.outline=O(r.a.val);break;case`sectPr`:n.sectPr=r}return n}const N=(...e)=>Object.assign({},...e.filter(Boolean)),We={normal:`normal`,title:`title`,subtitle:`subtitle`,\"heading 1\":`h1`,\"heading 2\":`h2`,\"heading 3\":`h3`,\"heading 4\":`h4`,\"heading 5\":`h5`,\"heading 6\":`h6`,heading1:`h1`,heading2:`h2`,heading3:`h3`,heading4:`h4`,heading5:`h5`,heading6:`h6`};var Ge=class{theme;defs=/* @__PURE__ */ new Map;paraCache=/* @__PURE__ */ new Map;charCache=/* @__PURE__ */ new Map;tblCache=/* @__PURE__ */ new Map;defaultPara;defaultTable;docRs={};docPs={};constructor(e,t){if(this.theme=t,!e)return;let n=T(e,`docDefaults`);this.docRs=He(D(n,`rPrDefault`,`rPr`),t),this.docPs=Ue(D(n,`pPrDefault`,`pPr`)).ps;for(let t of E(e,`style`)){let e=t.a.styleId;if(!e)continue;let n={id:e,type:t.a.type??`paragraph`,basedOn:T(t,`basedOn`)?.a.val,el:t,isDefault:t.a.default===`1`||t.a.default===`true`,name:T(t,`name`)?.a.val??e,next:T(t,`next`)?.a.val,quick:!!T(t,`qFormat`),hidden:!!T(t,`semiHidden`)||!!T(t,`hidden`)};this.defs.set(e,n),n.isDefault&&n.type===`paragraph`&&(this.defaultPara=e),n.isDefault&&n.type===`table`&&(this.defaultTable=e)}}add(e){let t=e.a.styleId;t&&(this.defs.set(t,{id:t,type:e.a.type??`paragraph`,basedOn:T(e,`basedOn`)?.a.val,el:e,isDefault:!1,name:T(e,`name`)?.a.val??t,next:T(e,`next`)?.a.val,quick:!!T(e,`qFormat`),hidden:!1}),this.paraCache.clear())}canonical(){let e={};this.defaultPara&&(e.normal=this.defaultPara);for(let t of this.defs.values()){if(t.type!==`paragraph`)continue;let n=We[t.name.toLowerCase()]??We[t.id.toLowerCase()];n&&!e[n]&&(e[n]=t.id)}return e}has(e){return this.defs.has(e)}quickStyles(){let e=e=>e.replace(/^heading (\\d)$/i,`Heading $1`).replace(/^\\w/,e=>e.toUpperCase()),t=this.canonical(),n=new Map(Object.entries(t).map(([e,t])=>[t,e]));return[...this.defs.values()].filter(e=>e.type===`paragraph`&&(e.isDefault||n.has(e.id)||e.quick&&!e.hidden)).map(t=>{let r=this.para(t.id),{b:i,i:a,color:o,sz:s,font:c}=r.rs;return{id:t.id,name:e(t.name),next:t.next,canon:n.get(t.id),outline:r.ps.outline,preview:{b:i,i:a,color:o,sz:s,font:c}}})}chain(e){let t=[],n=/* @__PURE__ */ new Set,r=e?this.defs.get(e):void 0;for(;r&&!n.has(r.id);)n.add(r.id),t.unshift(r),r=r.basedOn?this.defs.get(r.basedOn):void 0;return t}para(e){let t=e??this.defaultPara??``,n=this.paraCache.get(t);if(n)return n;n={ps:{},rs:{}};for(let e of this.chain(t)){let t=Ue(T(e.el,`pPr`));n.ps=N(n.ps,t.ps),t.numPr&&(n.numPr=t.numPr),n.rs=N(n.rs,He(T(e.el,`rPr`),this.theme))}return this.paraCache.set(t,n),n}char(e){if(!e)return{};let t=this.charCache.get(e);if(t)return t;t={};for(let n of this.chain(e))t=N(t,He(T(n.el,`rPr`),this.theme));return this.charCache.set(e,t),t}table(e){let t=e??this.defaultTable??``,n=this.tblCache.get(t);if(n)return n;n={ps:{},rs:{},borders:{},cellMar:{},cond:{}};for(let e of this.chain(t)){n.ps=N(n.ps,Ue(T(e.el,`pPr`)).ps),n.rs=N(n.rs,He(T(e.el,`rPr`),this.theme));let t=T(e.el,`tblPr`);Object.assign(n.borders,Ke(T(t,`tblBorders`))),Object.assign(n.cellMar,qe(T(t,`tblCellMar`)));let r=Le(D(e.el,`tcPr`,`shd`));r&&(n.shd=r);for(let t of E(e.el,`tblStylePr`)){let e=t.a.type;if(!e)continue;let r=n.cond[e]??{rs:{}};n.cond[e]={rs:N(r.rs,He(T(t,`rPr`),this.theme)),shd:Le(D(t,`tcPr`,`shd`))??r.shd}}}return this.tblCache.set(t,n),n}};function Ke(e){let t={};if(!e)return t;for(let n of e.c){let e=n.n===`start`?`left`:n.n===`end`?`right`:n.n,r=ze(n);r!==void 0&&(t[e]=r)}return t}function qe(e){let t={};if(!e)return t;for(let n of e.c){let e=n.n===`start`?`left`:n.n===`end`?`right`:n.n,r=O(n.a.w);r!==void 0&&(n.a.type===void 0||n.a.type===`dxa`)&&(t[e]=r/20)}return t}const Je={\"\":`•`,\"\":`▪`,\"\":`□`,\"\":`✓`,\"\":`➢`,\"\":`❖`,\"\":`➔`,\"\":`■`,\"\":`□`,\"\":`❑`,\"\":`◆`,\"\":`➔`,\"\":`⇨`,\"\":`→`,\"\":`–`,\"·\":`•`,\"\":`—`,\"\":`○`,\"\":`•`,\"\":`☑`,o:`◦`};function Ye(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,i]of t)for(;e>=r;)n+=i,e-=r;return n}function Xe(e){return e<=0?``:String.fromCharCode(97+(e-1)%26).repeat(Math.floor((e-1)/26)+1)}function Ze(e,t){switch(t){case`decimalZero`:return e<10?`0`+e:String(e);case`upperRoman`:return Ye(e).toUpperCase();case`lowerRoman`:return Ye(e);case`upperLetter`:return Xe(e).toUpperCase();case`lowerLetter`:return Xe(e);case`ordinal`:{let t=[`th`,`st`,`nd`,`rd`],n=e%100;return e+(t[(n-20)%10]||t[n]||t[0])}case`none`:return``;case`bullet`:return``;default:return String(e)}}var Qe=class{abstracts=/* @__PURE__ */ new Map;nums=/* @__PURE__ */ new Map;counters=/* @__PURE__ */ new Map;constructor(e,t){if(!e)return;let n=e=>{let n={};for(let r of E(e,`lvl`)){let e=O(r.a.ilvl,0);n[e]={start:O(T(r,`start`)?.a.val,1),fmt:T(r,`numFmt`)?.a.val??`decimal`,text:T(r,`lvlText`)?.a.val??``,ps:Ue(T(r,`pPr`)).ps,rs:He(T(r,`rPr`),t),isLgl:!!T(r,`isLgl`),suff:T(r,`suff`)?.a.val??`tab`,restart:O(T(r,`lvlRestart`)?.a.val)}}return n};for(let t of E(e,`abstractNum`))this.abstracts.set(t.a.abstractNumId,n(t));for(let t of E(e,`num`)){let e={abstractId:T(t,`abstractNumId`)?.a.val??``,starts:{},levels:{}};for(let r of E(t,`lvlOverride`)){let t=O(r.a.ilvl,0),i=O(T(r,`startOverride`)?.a.val);i!==void 0&&(e.starts[t]=i);let a=T(r,`lvl`);a&&Object.assign(e.levels,n({n:`x`,a:{},c:[{...a,a:{...a.a,ilvl:String(t)}}],t:``}))}this.nums.set(t.a.numId,e)}}reset(){this.counters.clear()}findList(e){for(let[t,n]of this.nums){if(Object.keys(n.starts).length)continue;let r=this.abstracts.get(n.abstractId)?.[0];if(r&&(e===`bullet`?r.fmt===`bullet`:r.fmt===`decimal`))return t}}ids(){let e=[...this.abstracts.keys()].map(Number).filter(Number.isFinite),t=[...this.nums.keys()].map(Number).filter(Number.isFinite);return{abstract:e.length?Math.max(...e)+1:0,num:t.length?Math.max(...t)+1:1}}level(e,t){let n=this.nums.get(e);if(n)return n.levels[t]??this.abstracts.get(n.abstractId)?.[t]}next(e,t){let n=this.nums.get(e),r=this.level(e,t);if(!n||!r)return;let i=Object.keys(n.starts).length>0?`n`+e:`a`+n.abstractId,a=this.counters.get(i);a||(a=[],this.counters.set(i,a));let o=t=>n.starts[t]??this.level(e,t)?.start??1;a[t]=a[t]===void 0?o(t):a[t]+1;for(let e=t+1;e<9;e++)a[e]=void 0;for(let e=0;e<t;e++)a[e]===void 0&&(a[e]=o(e));if(r.fmt===`bullet`){let e=r.text;return{text:Je[e]??(e||`•`),level:r}}return{text:r.text.replace(/%(\\d)/g,(n,i)=>{let s=Number(i)-1,c=this.level(e,s);return Ze(a[s]??o(s),r.isLgl&&s<t?`decimal`:c?.fmt??`decimal`)}),level:r}}};const $e={w:612,h:792,mt:72,mr:72,mb:72,ml:72,header:36,footer:36};function et(e){let t=/^\\s*(PAGE|NUMPAGES|SECTIONPAGES)\\b/i.exec(e);if(t)return t[1].toUpperCase()===`PAGE`?`PAGE`:`NUMPAGES`}function tt(e,t){if(e===t)return!0;if(!e||!t)return!e&&!t;let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(e[r]!==t[r])return!1;return!0}function nt(e,t){if(!e)return;let n=RegExp(`(?:^|;)\\\\s*${t}\\\\s*:\\\\s*([\\\\d.]+)\\\\s*(pt|in|px|cm|mm)?`,`i`).exec(e);if(!n)return;let r=Number(n[1]);switch((n[2]??`px`).toLowerCase()){case`pt`:return r;case`in`:return r*72;case`cm`:return r*72/2.54;case`mm`:return r*72/25.4;default:return r*.75}}function rt(e){if(!e)return{...$e};let t=T(e,`pgSz`),n=T(e,`pgMar`),r=(e,t)=>e===void 0?t:Math.abs(Number(e))/20,i=r(t?.a.w,$e.w),a=r(t?.a.h,$e.h);return t?.a.orient===`landscape`&&a>i&&([i,a]=[a,i]),{w:i,h:a,mt:r(n?.a.top,72),mr:r(n?.a.right??n?.a.end,72),mb:r(n?.a.bottom,72),ml:r(n?.a.left??n?.a.start,72),header:r(n?.a.header,36),footer:r(n?.a.footer,36)}}const it=/* @__PURE__ */ new Set([`p`,`del`,`moveFrom`,`oMath`,`oMathPara`,`pPr`,`rPr`,`r`]);function at(e){let t=/* @__PURE__ */ new Map,n=e=>{for(let r of e.c)r.n===`r`&&t.set(r,t.size),it.has(r.n)||n(r)};return n(e),t}function ot(e,t=/* @__PURE__ */ new Map){let n=e=>{e.n===`p`&&t.set(e,t.size);for(let t of e.c)n(t)};for(let t of e)n(t);return t}function st(e,t,n){let r=e.next(t.numId,t.ilvl);if(!r)return;let i=N(n,r.level.rs);return delete i.u,delete i.hl,{marker:{text:r.level.suff===`space`?r.text+` `:r.text,s:i,tab:r.level.suff===`tab`},lst:r.level.fmt===`bullet`?`bullet`:`number`}}var ct=class{styles;numbering;theme;rels;hooks;fields=[];tableLayer;boxDepth=0;tableDepth=0;cur;constructor(e,t,n,r,i={}){this.styles=e,this.numbering=t,this.theme=n,this.rels=r,this.hooks=i}blocks(e,t){switch(e.n){case`p`:this.paragraph(e,t);break;case`tbl`:t.push(this.table(e));break;case`sdt`:for(let n of T(e,`sdtContent`)?.c??[])this.blocks(n,t);break;case`customXml`:case`ins`:case`smartTag`:case`sdtContent`:for(let n of e.c)this.blocks(n,t)}}paragraph(e,t){let n=T(e,`pPr`),r=Ue(n),i=this.styles.para(r.styleId),a=this.hooks.forced?.root===e?this.hooks.forced:void 0,o=a?a.layer:this.tableLayer,s=r.numPr??i.numPr,c=s&&s.numId!==`0`?this.numbering.level(s.numId,s.ilvl):void 0,l=N(this.styles.docPs,o?.ps,i.ps,c?.ps,r.ps),u=N(this.styles.docRs,o?.rs,i.rs),d=N(u,He(T(n,`rPr`),this.theme)),f=r.styleId??this.styles.defaultPara??``,p={t:`p`,ps:l,runs:[],markSz:d.sz,markFont:d.font,sid:f};l.pageBreakBefore&&(p.pb=!0);let m;if(c&&s){if(a)m=c.fmt===`bullet`?`bullet`:`number`,a.marker?p.marker=a.marker:p.marker={text:c.fmt===`bullet`?`•`:``,s:N(d,c.rs),tab:c.suff===`tab`};else{let e=st(this.numbering,s,d);e&&(p.marker=e.marker,m=e.lst)}m&&(p.lst=m,p.ilvl=s.ilvl)}let h={layer:o,num:s&&s.numId!==`0`?s:void 0,ro:this.fields.length>0||this.boxDepth>0||this.tableDepth>1,sid:f,lst:m,marker:p.marker};a&&(a.rec=h);let g=a?a.pid:this.hooks.para?.(e,h);g!==void 0&&(p.pid=g);let _=this.cur;this.cur={pid:g,runs:at(e),forced:a};let v=[p];this.inlines(e.c,u,void 0,void 0,{push:e=>{let t=p.runs,n=t[t.length-1];e.t===`text`&&n?.t===`text`&&n.href===e.href&&n.lk===e.lk&&tt(n.s,e.s)&&tt(n.d,e.d)?n.text+=e.text:t.push(e)},pageBreak:()=>{p={t:`p`,ps:l,runs:[],markSz:d.sz,markFont:d.font,pb:!0,sid:f},g!==void 0&&(p.pid=g),v.push(p)}}),this.cur=_,this.fields.length>0&&(h.ro=!0);for(let e of v)h.ro&&(e.ro=!0),t.push(e);r.sectPr&&t.push({t:`sect`,page:rt(r.sectPr),kind:T(r.sectPr,`type`)?.a.val??`nextPage`})}srcOf(e){let t=this.cur;if(!t)return{};let n=t.runs.get(e);if(n===void 0)return{};if(t.forced){let e=t.forced.map[n];return e?{src:e.src,d:e.d}:{}}return t.pid===void 0?{}:{src:[t.pid,n]}}inlines(e,t,n,r,i){for(let a of e)switch(a.n){case`r`:this.run(a,t,n,r,i);break;case`hyperlink`:{let e=a.a[`r:id`],o=e?this.rels.get(e)?.target:a.a.anchor?`#`+a.a.anchor:void 0,s=e?`r:`+e:a.a.anchor?`a:`+a.a.anchor:void 0;this.inlines(a.c,t,o??n,s??r,i);break}case`fldSimple`:{let e=et(a.a.instr??``);if(e){let n=T(a,`r`);i.push({t:`field`,kind:e,s:N(t,He(T(n,`rPr`),this.theme)),...n?this.srcOf(n):{}})}else this.inlines(a.c,t,n,r,i);break}case`ins`:case`smartTag`:case`customXml`:case`bdo`:case`dir`:case`moveTo`:this.inlines(a.c,t,n,r,i);break;case`sdt`:this.inlines(T(a,`sdtContent`)?.c??[],t,n,r,i);break;case`oMath`:case`oMathPara`:{let e=ge(a,`t`).map(e=>e.t).join(``);e&&i.push({t:`text`,text:e,s:{...t,i:!0,font:`\"Cambria Math\", \"STIX Two Math\", serif`}});break}}}run(e,t,n,r,i){let a=T(e,`rPr`),o=N(t,this.styles.char(T(a,`rStyle`)?.a.val),He(a,this.theme));if(o.vanish)return;let{src:s,d:c}=this.srcOf(e),l=(e,t=o,a=n)=>i.push({t:`text`,text:e,s:t,href:a,lk:a===n?r:void 0,src:s,d:c});for(let t of e.c){let e=this.fields[this.fields.length-1];switch(t.n){case`fldChar`:{let n=t.a.fldCharType;if(n===`begin`)this.fields.push({instr:``,phase:`instr`});else if(n===`separate`&&e){e.phase=`result`,e.kind=et(e.instr);let t=/HYPERLINK\\s+(?:\\\\l\\s+)?\"([^\"]+)\"/.exec(e.instr);t&&(e.href=/\\\\l/.test(e.instr)?`#`+t[1]:t[1]),e.kind&&i.push({t:`field`,kind:e.kind,s:o,src:s})}else if(n===`end`){if(e&&e.phase===`instr`){let t=et(e.instr);t&&i.push({t:`field`,kind:t,s:o,src:s})}this.fields.pop()}break}case`instrText`:e&&(e.instr+=t.t);break;case`t`:if(e&&(e.phase===`instr`||e.kind))break;t.t&&l(t.t,o,e?.href??n);break;case`tab`:case`ptab`:(!e||e.phase===`result`&&!e.kind)&&l(` `);break;case`br`:t.a.type===`page`?i.pageBreak():l(`\n`);break;case`cr`:l(`\n`);break;case`noBreakHyphen`:l(`‑`);break;case`softHyphen`:l(`­`);break;case`sym`:{let e=parseInt(t.a.char??``,16);e&&l(String.fromCharCode(e>=61440?e-61440:e),{...o,font:t.a.font?`\"${t.a.font}\", ${o.font??`serif`}`:o.font});break}case`drawing`:this.drawing(t,n,i,s);break;case`pict`:case`object`:this.vml(t,n,i,s);break;case`footnoteReference`:case`endnoteReference`:i.push({t:`ref`,text:t.a.id??`*`,s:{...o,va:`sup`},src:s})}}}target(e){if(!e)return;let t=this.rels.get(e);return t&&!t.external?t.target:void 0}boxBlocks(e){let t=[],n=this.cur;this.boxDepth++;for(let n of e)for(let e of n.c)this.blocks(e,t);return this.boxDepth--,this.cur=n,t}drawing(e,t,n,r){let i=T(e,`inline`)??T(e,`anchor`);if(!i)return;let a=T(i,`extent`),o=ke(O(a?.a.cx,0)),s=ke(O(a?.a.cy,0)),c=T(i,`docPr`),l=D(i,`graphic`,`graphicData`),u=ge(l,`txbxContent`);if(u.length){let e=this.boxBlocks(u),t=he(l,`spPr`),i=D(t,`solidFill`,`srgbClr`)?.a.val,a=D(t,`ln`,`solidFill`,`srgbClr`)?.a.val;n.push({t:`box`,w:o,h:s,blocks:e,fill:i?`#`+i:void 0,border:a?`1px solid #${a}`:void 0,src:r});return}let d=he(l,`blip`),f=this.target(d?.a[`r:embed`]);if(f){let e=this.rels.get(T(c,`hlinkClick`)?.a[`r:id`]??``)?.target;n.push({t:`img`,target:f,w:o,h:s,alt:c?.a.descr||c?.a.title||void 0,href:e??t,src:r,rid:d?.a[`r:embed`]})}else he(l,`chart`)?n.push({t:`shape`,w:o,h:s,label:`Chart`,src:r}):he(l,`relIds`)?n.push({t:`shape`,w:o,h:s,label:`Diagram`,src:r}):n.push({t:`shape`,w:0,h:0,src:r})}vml(e,t,n,r){let i=he(e,`txbxContent`),a=(he(e,`shape`)??he(e,`rect`))?.a.style,o=nt(a,`width`)??0,s=nt(a,`height`)??0;if(i){n.push({t:`box`,w:o,h:s,blocks:this.boxBlocks([i]),src:r});return}let c=this.target(he(e,`imagedata`)?.a[`r:id`]);c&&o&&s?n.push({t:`img`,target:c,w:o,h:s,href:t,src:r}):n.push({t:`shape`,w:0,h:0,src:r})}table(e){this.tableDepth++;try{let t=this.tableInner(e);return this.tableDepth===1&&this.hooks.item&&(t.item=this.hooks.item()),t}finally{this.tableDepth--}}tableInner(e){let t=T(e,`tblPr`),n=this.styles.table(T(t,`tblStyle`)?.a.val),r=ut(T(t,`tblLook`)),i={...n.borders,...Ke(T(t,`tblBorders`))},a={top:0,bottom:0,left:5.4,right:5.4,...n.cellMar,...qe(T(t,`tblCellMar`))},o=E(T(e,`tblGrid`),`gridCol`).map(e=>(O(e.a.w)??0)/20),s=T(t,`jc`)?.a.val,c=T(t,`tblInd`),l=lt(e,`tr`),u=[],d=o.length;l.forEach((e,t)=>{let i=T(e,`trPr`),o=T(i,`trHeight`),s={cells:[],src:t};o?.a.val&&(s.h=Number(o.a.val)/20,s.exact=o.a.hRule===`exact`),T(i,`tblHeader`)&&(s.header=!0);let c=O(T(i,`gridBefore`)?.a.val,0),f=[];for(let[i,o]of lt(e,`tc`).entries()){let e=T(o,`tcPr`),s=Math.max(1,O(T(e,`gridSpan`)?.a.val,1)),u=T(e,`vMerge`),p=[];if(r.noVBand||p.push((c-+!!r.firstCol)%2==0?`band1Vert`:`band2Vert`),!r.noHBand){let e=t-+!!r.firstRow;e>=0&&p.push(e%2==0?`band1Horz`:`band2Horz`)}r.firstCol&&c===0&&p.push(`firstCol`),r.lastCol&&d&&c+s>=d&&p.push(`lastCol`),r.firstRow&&t===0&&p.push(`firstRow`),r.lastRow&&t===l.length-1&&p.push(`lastRow`);let m=n.shd,h={};for(let e of p){let t=n.cond[e];t&&(t.shd&&(m=t.shd),h=N(h,t.rs))}m=Le(T(e,`shd`))??m;let g=this.tableLayer;this.tableLayer={ps:n.ps,rs:N(n.rs,h)};let _=[];for(let e of o.c)e.n!==`tcPr`&&this.blocks(e,_);this.tableLayer=g;let v=qe(T(e,`tcMar`)),y=T(e,`vAlign`)?.a.val,b=T(e,`tcW`);f.push({blocks:_,src:[t,i],colSpan:s,rowSpan:1,w:b&&(b.a.type??`dxa`)===`dxa`?Number(b.a.w)/20:void 0,shd:m,vAlign:y===`center`?`middle`:y===`bottom`?`bottom`:void 0,borders:{},pad:[v.top??a.top,v.right??a.right,v.bottom??a.bottom,v.left??a.left],gs:c,vm:u?u.a.val===`restart`?`restart`:`continue`:void 0,tcB:Ke(T(e,`tcBorders`)),ri:t}),c+=s}d=Math.max(d,c),u.push({row:s,cells:f})});for(let e=0;e<u.length;e++)for(let t of u[e].cells)if(!t.gone&&t.vm)for(let n=e+1;n<u.length;n++){let e=u[n].cells.find(e=>e.gs===t.gs);if(!e||e.vm!==`continue`)break;e.gone=!0,t.rowSpan++}let f=u.length;return{t:`tbl`,cols:o,rows:u.map(({row:e,cells:t})=>{for(let n of t){if(n.gone)continue;let t=n.ri+n.rowSpan-1==f-1,r={t:Be(n.tcB.top===void 0?n.ri===0?i.top:i.insideH:n.tcB.top),b:Be(n.tcB.bottom===void 0?t?i.bottom:i.insideH:n.tcB.bottom),l:Be(n.tcB.left===void 0?n.gs===0?i.left:i.insideV:n.tcB.left),r:Be(n.tcB.right===void 0?n.gs+n.colSpan>=d?i.right:i.insideV:n.tcB.right)},{gs:a,vm:o,tcB:s,gone:c,ri:l,...u}=n;e.cells.push({...u,borders:r})}return e}),align:s===`center`?`center`:s===`right`||s===`end`?`right`:void 0,indL:c&&(c.a.type??`dxa`)===`dxa`?Number(c.a.w)/20:void 0}}};function lt(e,t){let n=[];for(let r of e.c)r.n===t?n.push(r):r.n===`sdt`?n.push(...lt(T(r,`sdtContent`)??r,t)):(r.n===`customXml`||r.n===`sdtContent`)&&n.push(...lt(r,t));return n}function ut(e){let t={firstRow:!0,lastRow:!1,firstCol:!0,lastCol:!1,noHBand:!1,noVBand:!0};if(!e)return t;let n=e.a.val;if(n&&/^[0-9a-fA-F]+$/.test(n)&&e.a.firstRow===void 0){let e=parseInt(n,16);return{firstRow:!!(e&32),lastRow:!!(e&64),firstCol:!!(e&128),lastCol:!!(e&256),noHBand:!!(e&512),noVBand:!!(e&1024)}}let r=(t,n)=>e.a[t]===void 0?n:e.a[t]===`1`||e.a[t]===`true`;return{firstRow:r(`firstRow`,!0),lastRow:r(`lastRow`,!1),firstCol:r(`firstColumn`,!0),lastCol:r(`lastColumn`,!1),noHBand:r(`noHBand`,!1),noVBand:r(`noVBand`,!0)}}var dt=class{tb;onItem;prefix=``;items=[];suffix=``;buf=``;tail=``;pending=``;inItem=!1;depth=0;els=[];constructor(e,t){this.tb=e,this.onItem=t}raw=e=>{this.flush(),this.pending=e};element=e=>{this.els.push(e)};flush(){this.pending&&=(this.inItem?this.buf+=this.pending:this.tail+=this.pending,``)}open(e,t){this.depth===2&&(this.items.length?this.items[this.items.length-1]+=this.tail:this.prefix+=this.tail,this.tail=``,this.inItem=!0,this.buf=``,this.els=[]),this.flush();let n=this.tb.open(e,t);return n||this.depth++,n}close(e){this.flush(),this.tb.close(e),this.depth--,this.depth===2&&this.inItem&&(this.inItem=!1,this.items.push(this.buf),this.buf=``,this.onItem(this.items.length-1,this.els),this.els=[])}text(e){this.flush(),this.tb.text(e)}finish(){this.flush(),this.items.length?this.suffix=this.tail:this.prefix+=this.tail,this.tail=``}},ft=class e{pkg;mainPath;rels;styles;numbering;theme;items=[];prefix=``;suffix=``;info=/* @__PURE__ */ new Map;origLoc=/* @__PURE__ */ new Map;ordPid=/* @__PURE__ */ new Map;itemParas=/* @__PURE__ */ new Map;groups=/* @__PURE__ */ new Map;genXml=/* @__PURE__ */ new Map;itemXml=/* @__PURE__ */ new Map;nextPid=1;captured=!1;edited=!1;constructor(e,t,n,r,i,a){this.pkg=e,this.mainPath=t,this.rels=n,this.styles=r,this.numbering=i,this.theme=a}static async open(t,n){let r=await t.rels(n),i=j(r,`theme`),a=De(i?await t.xml(i.target):void 0),o=j(r,`styles`),s=j(r,`numbering`),c=new Ge(o?await t.xml(o.target):void 0,a),l=new Qe(s?await t.xml(s.target):void 0,a);return new e(t,n,r,c,l,a)}get dirty(){return this.edited||this.pkg.dirty}markEdited(){this.edited=!0}async headerFooter(e){let t=e?this.rels.get(e):void 0;if(!t)return;let n=await this.pkg.xml(t.target);if(!n)return;let r=new ct(this.styles,this.numbering,this.theme,await this.pkg.rels(t.target)),i=[];for(let e of n.c)r.blocks(e,i);return i}async stream(e){let t=0,n=/* @__PURE__ */ new Map,r=new ct(this.styles,this.numbering,this.theme,this.rels,{item:()=>t,para:(e,r)=>{let i=n.get(e);if(i===void 0)return;let a=this.nextPid++,o=r;o.item=t,o.ord=i,this.info.set(a,o),this.origLoc.set(a,{item:t,ord:i}),this.ordPid.set(`${t}:${i}`,a);let s=this.itemParas.get(t);return s||this.itemParas.set(t,s=[]),s[i]=a,a}}),i={font:this.styles.docRs.font??`\"Times New Roman\", serif`,sz:this.styles.docRs.sz??10,styles:this.styles.quickStyles()},a=[],o,s,c=Date.now(),l=e.initialHoldMs??350,u=0,d=!0,f=(e,i)=>{t=e,n=ot(i);for(let e of i){if(e.n===`sectPr`){o=e;continue}let t=a.length;if(r.blocks(e,a),!s)for(let e=t;e<a.length;e++){let t=a[e];t.t===`sect`&&(s=t.page)}}},p;p=new dt(new pe({emitDepth:2,onElement:e=>p.element(e)}),f);let m=()=>{a.length&&(e.onBlocks(a),a=[],u=Date.now())};await fe(await this.pkg.zip.stream(this.mainPath,e.onProgress),p,{signal:e.signal,raw:p.raw,onChunk:async()=>{let t=Date.now();if(d){if(t-c<l)return;d=!1,e.onMeta({page:s??{...$e},...i}),m()}else(a.length>=400||a.length&&t-u>120)&&(m(),await new Promise(e=>setTimeout(e,0)))}}),p.finish(),this.items=p.items,this.prefix=p.prefix,this.suffix=p.suffix,this.captured=!0;let h=o,g={page:rt(h),...i,final:!0};if(h){let e=(e,t)=>E(h,e).find(e=>(e.a.type??`default`)===t)?.a[`r:id`];g.header=await this.headerFooter(e(`headerReference`,`default`)),g.footer=await this.headerFooter(e(`footerReference`,`default`)),g.titlePg=!!T(h,`titlePg`)&&T(h,`titlePg`)?.a.val!==`0`,g.titlePg&&(g.firstHeader=await this.headerFooter(e(`headerReference`,`first`)),g.firstFooter=await this.headerFooter(e(`footerReference`,`first`)))}e.onMeta(g),m()}get ready(){return this.captured}reconvert(e,t,n,r,i){let a=me(t),o={pid:e,root:a,map:n,layer:r,marker:i},s=new ct(this.styles,this.numbering,this.theme,this.rels,{forced:o}),c=[];return s.paragraph(a,c),{blocks:c,rec:o.rec}}recomputeMarkers(){let e=/* @__PURE__ */ new Map;this.numbering.reset();let t=[...this.itemParas.keys()].sort((e,t)=>e-t);for(let n of t){let t=this.itemParas.get(n);for(let r=0;r<t.length;r++){let i=t[r];if(i===void 0)continue;let a=this.groups.get(`${n}:${r}`)??[i];for(let t of a){let n=this.info.get(t);if(!n)continue;let r,i;if(n.num){let e=n.marker?.s??{},t=st(this.numbering,n.num,e);t&&(r={...t.marker,s:n.marker?.s??t.marker.s},i=t.lst)}((r?.text??null)!==(n.marker?.text??null)||i!==n.lst)&&(n.marker=r,n.lst=i,e.set(t,n))}}}return e}};const pt=/* @__PURE__ */ `pStyle.keepNext.keepLines.pageBreakBefore.framePr.widowControl.numPr.suppressLineNumbers.pBdr.shd.tabs.suppressAutoHyphens.kinsoku.wordWrap.overflowPunct.topLinePunct.autoSpaceDE.autoSpaceDN.bidi.adjustRightInd.snapToGrid.spacing.ind.contextualSpacing.mirrorIndents.suppressOverlap.jc.textDirection.textAlignment.textboxTightWrap.outlineLvl.divId.cnfStyle.rPr.sectPr.pPrChange`.split(`.`),mt=/* @__PURE__ */ `rStyle.rFonts.b.bCs.i.iCs.caps.smallCaps.strike.dstrike.outline.shadow.emboss.imprint.noProof.snapToGrid.vanish.webHidden.color.spacing.w.kern.position.sz.szCs.highlight.u.effect.bdr.shd.fitText.vertAlign.rtl.cs.em.lang.eastAsianLayout.specVanish.oMath`.split(`.`),ht=/* @__PURE__ */ new Set([`bookmarkStart`,`commentRangeStart`,`permStart`,`moveFromRangeStart`,`moveToRangeStart`]),gt=/* @__PURE__ */ new Set([`bookmarkEnd`,`commentRangeEnd`,`permEnd`,`moveFromRangeEnd`,`moveToRangeEnd`]),_t=/* @__PURE__ */ new Set([`p`,`del`,`moveFrom`,`oMath`,`oMathPara`,`pPr`,`rPr`,`r`]),vt=Object.fromEntries(Object.entries(Fe).map(([e,t])=>[t,e]));function yt(t){let n=[];return t.forEach((i,a)=>{e(i)&&(r(i.q)===`p`&&n.push({node:i,list:t,index:a}),v(i,(e,t,i)=>{r(e.q)===`p`&&n.push({node:e,list:t.c,index:i})}))}),n}function bt(e){let t=[];return v(e,e=>{let n=r(e.q);return n===`r`&&t.push(e),_t.has(n)}),t}const xt=/* @__PURE__ */ new WeakMap;function St(e,n){let r=xt.get(e);r||xt.set(e,r=/* @__PURE__ */ new Map);let i=r.get(n);return i||(i=yt(t(e.items[n]??``)),r.size>64&&r.delete(r.keys().next().value),r.set(n,i)),i}function Ct(e,t){let n=e.origLoc.get(t);if(n)return St(e,n.item)[n.ord]?.node}const wt=/* @__PURE__ */ new WeakMap;function Tt(e,t){if(!t)return;let n=Ct(e,t[0]);if(!n)return;let r=wt.get(n);return r||wt.set(n,r=bt(n)),r[t[1]]}function Et(e,t,n){let r=n+`val`,i=(t,n)=>m(e,n,t,mt),a=(e,t)=>i(e,t?d(n+e):d(n+e,{[r]:`0`}));if(t.b!==void 0&&(a(`b`,t.b),a(`bCs`,t.b)),t.i!==void 0&&(a(`i`,t.i),a(`iCs`,t.i)),t.strike!==void 0&&(a(`strike`,t.strike),t.strike&&i(`dstrike`,void 0)),t.u!==void 0&&i(`u`,d(n+`u`,{[r]:t.u&&t.u!==`none`?t.u:`none`})),`color`in t&&i(`color`,t.color?d(n+`color`,{[r]:t.color.replace(`#`,``).toUpperCase()}):void 0),t.sz!==void 0){let e=String(Math.round(t.sz*2));i(`sz`,d(n+`sz`,{[r]:e})),i(`szCs`,d(n+`szCs`,{[r]:e}))}if(t.font!==void 0){let e=t.font;i(`rFonts`,d(n+`rFonts`,{[n+`ascii`]:e,[n+`hAnsi`]:e,[n+`eastAsia`]:e,[n+`cs`]:e}))}if(`hl`in t){let e=t.hl?vt[t.hl.toLowerCase()]:void 0;t.hl?e?i(`highlight`,d(n+`highlight`,{[r]:e})):i(`shd`,d(n+`shd`,{[r]:`clear`,[n+`color`]:`auto`,[n+`fill`]:t.hl.replace(`#`,``).toUpperCase()})):(i(`highlight`,void 0),i(`shd`,void 0))}`va`in t&&i(`vertAlign`,t.va?d(n+`vertAlign`,{[r]:t.va===`sup`?`superscript`:`subscript`}):void 0)}function Dt(e,t){let n=``;for(let r of e.split(/(\\t|\\n)/))r&&(n+=r===` `?`<${t}tab/>`:r===`\n`?`<${t}br/>`:`<${t}t xml:space=\"preserve\">${h(r)}</${t}t>`);return n}function Ot(e,t,n){let r=[`•`,`◦`,`▪`],i=[`decimal`,`lowerLetter`,`lowerRoman`],a=``;for(let t=0;t<9;t++){let o=n===`bullet`?`bullet`:i[t%3],s=n===`bullet`?r[t%3]:`%${t+1}.`;a+=`<${e}lvl ${e}ilvl=\"${t}\"><${e}start ${e}val=\"1\"/><${e}numFmt ${e}val=\"${o}\"/><${e}lvlText ${e}val=\"${s}\"/><${e}lvlJc ${e}val=\"left\"/><${e}pPr><${e}ind ${e}left=\"${720*(t+1)}\" ${e}hanging=\"360\"/></${e}pPr></${e}lvl>`}return`<${e}abstractNum ${e}abstractNumId=\"${t}\"><${e}multiLevelType ${e}val=\"hybridMultilevel\"/>${a}</${e}abstractNum>`}function kt(e,t){let n=e=>`<${t}sz ${t}val=\"${e}\"/><${t}szCs ${t}val=\"${e}\"/>`,r=e=>`<${t}color ${t}val=\"${e}\"/>`;if(e===`title`)return{id:`Title`,name:`Title`,ppr:`<${t}spacing ${t}after=\"80\" ${t}line=\"240\" ${t}lineRule=\"auto\"/><${t}contextualSpacing/>`,rpr:`<${t}spacing ${t}val=\"-10\"/><${t}kern ${t}val=\"28\"/>${n(56)}`};if(e===`subtitle`)return{id:`Subtitle`,name:`Subtitle`,ppr:`<${t}spacing ${t}after=\"160\"/>`,rpr:`${r(`5A5A5A`)}<${t}spacing ${t}val=\"15\"/>${n(28)}`};let i=Number(e.slice(1)),[a,o,s,c]={1:[240,32,`2F5496`,!1],2:[40,26,`2F5496`,!1],3:[40,24,`1F3763`,!1],4:[40,22,`2F5496`,!0],5:[40,22,`2F5496`,!1],6:[40,22,`1F3763`,!0]}[i];return{id:`Heading${i}`,name:`heading ${i}`,ppr:`<${t}keepNext/><${t}keepLines/><${t}spacing ${t}before=\"${a}\" ${t}after=\"0\"/><${t}outlineLvl ${t}val=\"${i-1}\"/>`,rpr:`${c?`<${t}i/><${t}iCs/>`:``}${r(s)}${n(o)}`}}async function At(e,r){let o=e.styles.canonical()[r];if(o||r===`normal`)return{id:o??``,styles:e.styles.quickStyles()};let s=j(e.rels,`styles`),c=s?.target??`word/styles.xml`,l=t(e.pkg.has(c)?await e.pkg.text(c):`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<w:styles xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"></w:styles>`),u=a(l),d=i(u.q),f=kt(r,d),p=f.id;for(let t=2;e.styles.has(p);t++)p=f.id+t;let m=e.styles.defaultPara,h=m?`<${d}basedOn ${d}val=\"${m}\"/><${d}next ${d}val=\"${m}\"/>`:``,g=`<${d}style ${d}type=\"paragraph\" ${d}styleId=\"${p}\"><${d}name ${d}val=\"${f.name}\"/>${h}<${d}uiPriority ${d}val=\"9\"/><${d}qFormat/><${d}pPr>${f.ppr}</${d}pPr><${d}rPr>${f.rpr}</${d}rPr></${d}style>`;u.c.push(t(g)[0]),u.self=!1,e.pkg.setPart(c,n(l)),s||(await e.pkg.addRel(e.mainPath,`http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles`,c),await e.pkg.setContentType(c,`application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml`),e.rels=await e.pkg.rels(e.mainPath));let _=me(d?g.replace(`<${d}style `,`<${d}style xmlns:${d.slice(0,-1)}=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" `):g);return _&&e.styles.add(_),e.markEdited(),{id:p,styles:e.styles.quickStyles()}}async function jt(o,s){let c=o.numbering.findList(s);if(c)return c;let l=j(o.rels,`numbering`),u=l?.target??`word/numbering.xml`,d=t(o.pkg.has(u)?await o.pkg.text(u):`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<w:numbering xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"></w:numbering>`),f=a(d),p=i(f.q),{abstract:m,num:h}=o.numbering.ids(),g=t(Ot(p,m,s))[0],_=t(`<${p}num ${p}numId=\"${h}\"><${p}abstractNumId ${p}val=\"${m}\"/></${p}num>`)[0],v=(t,n)=>{let i=-1;return f.c.forEach((a,o)=>{e(a)&&r(a.q)===t&&(n||i<0)&&(i=o)}),i},y=v(`abstractNum`,!0),b=v(`num`,!1);f.c.splice(y>=0?y+1:b>=0?b:f.c.length,0,g);let x=v(`num`,!0),S=v(`numIdMacAtCleanup`,!1);f.c.splice(x>=0?x+1:S>=0?S:f.c.length,0,_),f.self=!1;let C=n(d);return o.pkg.setPart(u,C),l||(await o.pkg.addRel(o.mainPath,`http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering`,u),await o.pkg.setContentType(u,`application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml`),o.rels=await o.pkg.rels(o.mainPath)),o.numbering=new Qe(me(C),o.theme),String(h)}async function Mt(e,t,n,r){let i=r+`val`,a=(e,n)=>m(t,n,e,pt);if(n.style!==void 0&&a(`pStyle`,n.style&&n.style!==e.styles.defaultPara?d(r+`pStyle`,{[i]:n.style}):void 0),n.align&&a(`jc`,d(r+`jc`,{[i]:n.align===`justify`?`both`:n.align})),n.line!==void 0||n.before!==void 0||n.after!==void 0){let e=f(s(t,`spacing`)??d(r+`spacing`));n.before!==void 0&&(u(e,r+`before`,String(Math.round(n.before*20))),u(e,r+`beforeAutospacing`,void 0)),n.after!==void 0&&(u(e,r+`after`,String(Math.round(n.after*20))),u(e,r+`afterAutospacing`,void 0)),n.line!==void 0&&(u(e,r+`line`,String(Math.round(n.line*240))),u(e,r+`lineRule`,`auto`)),a(`spacing`,e)}if(n.pageBreak!==void 0&&a(`pageBreakBefore`,n.pageBreak?d(r+`pageBreakBefore`):void 0),n.indL!==void 0){let e=f(s(t,`ind`)??d(r+`ind`));u(e,r+`start`,void 0),u(e,r+`left`,String(Math.max(0,Math.round(n.indL*20)))),a(`ind`,e)}let o=e.styles.para(Pt(t)).numPr,c=(e,t)=>d(r+`numPr`,{},[d(r+`ilvl`,{[i]:String(t)}),d(r+`numId`,{[i]:e})]);if(n.list===`none`)a(`numPr`,o?c(`0`,0):void 0);else if(n.list)a(`numPr`,c(await jt(e,n.list),n.ilvl??0));else if(n.ilvl!==void 0){let e=s(t,`numPr`),r=(e&&Nt(s(e,`numId`),i))??o?.numId;r&&r!==`0`&&a(`numPr`,c(r,n.ilvl))}}function Nt(e,t){if(e)return RegExp(`(?:^|\\\\s)${t.replace(`:`,`\\\\:`)}=\"([^\"]*)\"`).exec(e.a)?.[1]}function Pt(e){let t=s(e,`pStyle`);return t?/=\"([^\"]*)\"/.exec(t.a)?.[1]:void 0}async function Ft(e,t){let a=Ct(e,t.from),c=a?.q??`w:p`,l=i(c)||`w:`,m=f(s(a,`pPr`)??d(l+`pPr`));t.pd&&await Mt(e,m,t.pd,l),(t.keepSect??t.pid===t.from)||p(m,`sectPr`);let g=s(m,`rPr`),_=[],y=``,b,x=()=>{b!==void 0&&(y+=`</${l}hyperlink>`),b=void 0},S=(e,t)=>`<${l}r>${e&&e.c.length?n(e):``}${t}</${l}r>`,C=t=>{let n=s(Tt(e,t),`rPr`)??g;if(!n)return;let r=f(n);return r.q=l+`rPr`,p(r,e=>e===`rPrChange`||e===`ins`||e===`del`||e===`moveFrom`||e===`moveTo`),r};t.parts.forEach((t,i)=>{i>0&&(x(),y+=`<${l}r><${l}br ${l}type=\"page\"/></${l}r>`,_.push({}));for(let i of t){if(`obj`in i){if(x(),i.obj===`field`){let e=C(void 0);i.set&&Et(e??=d(l+`rPr`),i.set,l),y+=`<${l}fldSimple ${l}instr=\" ${i.kind} \">${S(e,`<${l}t>1</${l}t>`)}</${l}fldSimple>`,_.push({d:i.set})}else if(i.obj===`image`)y+=Bt(l,i.rid,i.w,i.h,i.name,i.alt),_.push({});else{let t=Tt(e,i.src);if(t){if(i.size||i.alt!==void 0||i.rid){let e=f(t),a=i.size&&String(Math.round(i.size[0]*12700)),o=i.size&&String(Math.round(i.size[1]*12700));v(e,e=>{let t=r(e.q);if(a&&o&&(t===`extent`||t===`ext`&&/\\scx=/.test(e.a))&&(u(e,`cx`,a),u(e,`cy`,o)),i.alt!==void 0&&(t===`docPr`||t===`cNvPr`&&/\\sid=/.test(e.a))&&u(e,`descr`,i.alt||void 0),i.rid&&t===`blip`){let t=/([\\w.-]+):embed=\"/.exec(e.a);u(e,t?`${t[1]}:embed`:`r:embed`,i.rid)}}),y+=n(e)}else y+=n(t);_.push({src:i.src})}}continue}if(i.lk!==b&&(x(),i.lk)){let e=i.lk.startsWith(`r:`)?`r:id=\"${i.lk.slice(2)}\"`:`${l}anchor=\"${h(i.lk.slice(2))}\"`;y+=`<${l}hyperlink ${e}>`,b=i.lk}let t=C(i.src);i.set&&Object.keys(i.set).length&&Et(t??=d(l+`rPr`),i.set,l),i.text&&(y+=S(t,Dt(i.text,l)),_.push({src:i.src,d:i.set}))}}),x();let w=``,ee=``,te=t.orig??(t.pid===t.from?[t.from]:[]);for(let t of te){let i=Ct(e,t);if(i){for(let e of o(i)){let t=r(e.q);ht.has(t)?w+=n(e):gt.has(t)&&(ee+=n(e))}for(let e of bt(i))s(e,`commentReference`)&&(ee+=n(e),_.push({}))}}let ne=a?.a??``;t.pid!==t.from&&(ne=ne.replace(/\\s+w14:(paraId|textId)=\"[^\"]*\"/g,``));let re=m.c.length?n(m):``;return{xml:`<${c}${ne}>${re}${w}${y}${ee}</${c}>`,map:_}}function It(e,t){let n=e.groups.get(t);if(!n){let r=e.ordPid.get(t);n=r===void 0?[]:[r],e.groups.set(t,n)}return n}function Lt(e,t){let n=e.info.get(t);if(!n)return;let r=It(e,`${n.item}:${n.ord}`),i=r.indexOf(t);i>=0&&r.splice(i,1)}async function Rt(e,t){if(!e.ready)throw Error(`Document is still loading`);let r=e.info.get(t.anchor);if(!r)throw Error(`Unknown paragraph ${t.anchor}`);e.markEdited();let i=[t.anchor,...t.list.map(e=>e.pid),...t.remove??[]],a=t.list.some(e=>e.pd)||i.some(t=>e.info.get(t)?.num),o=r.item,s=r.ord,c=t.list.map(e=>e.pid);for(let n of[...c,...t.remove??[]])n!==t.anchor&&Lt(e,n);let l=It(e,`${o}:${s}`),u=l.indexOf(t.anchor);if(u<0)throw Error(`Paragraph ${t.anchor} is not in the document`);l.splice(u,1,...c);for(let n of[t.anchor,...t.remove??[]])c.includes(n)||e.genXml.delete(n);let d={};for(let i of t.list){let a=e.info.get(i.from)??r,c=e.info.get(i.pid),l,u,f=i.pristine&&i.pid===i.from?Ct(e,i.pid):void 0;f?(l=n(f),u=bt(f).map((e,t)=>({src:[i.pid,t]}))):{xml:l,map:u}=await Ft(e,i),e.genXml.set(i.pid,l);let{blocks:p,rec:m}=e.reconvert(i.pid,l,u,a.layer,c?.marker);e.info.set(i.pid,{...m,item:o,ord:s,marker:c?.marker,lst:c?.lst}),t.want&&(d[i.pid]=p)}let f=a||t.list.some(t=>e.info.get(t.pid)?.num)?e.recomputeMarkers():/* @__PURE__ */ new Map,p={};for(let[e,t]of f)p[e]=t.marker?{...t.marker,lst:t.lst}:null;for(let[t,n]of Object.entries(d)){let r=e.info.get(Number(t));n.filter(e=>e.t===`p`).forEach((e,t)=>{delete e.marker,delete e.lst,t===0&&r?.marker&&(e.marker=r.marker,e.lst=r.lst)})}return{blocks:d,markers:p}}let zt=7e3;function Bt(e,t,n,r,i=`Picture`,a){let o=Math.round(n*12700),s=Math.round(r*12700),c=++zt,l=`http://schemas.openxmlformats.org/drawingml/2006/main`,u=`http://schemas.openxmlformats.org/drawingml/2006/picture`,d=h(i),f=a?` descr=\"${h(a).replace(/\"/g,`&quot;`)}\"`:``;return`<${e}r><${e}drawing><wp:inline xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\"><wp:extent cx=\"${o}\" cy=\"${s}\"/><wp:effectExtent l=\"0\" t=\"0\" r=\"0\" b=\"0\"/><wp:docPr id=\"${c}\" name=\"${d} ${c}\"${f}/><wp:cNvGraphicFramePr><a:graphicFrameLocks xmlns:a=\"${l}\" noChangeAspect=\"1\"/></wp:cNvGraphicFramePr><a:graphic xmlns:a=\"${l}\"><a:graphicData uri=\"${u}\"><pic:pic xmlns:pic=\"${u}\"><pic:nvPicPr><pic:cNvPr id=\"${c}\" name=\"${d}\"${f}/><pic:cNvPicPr/></pic:nvPicPr><pic:blipFill><a:blip r:embed=\"${t}\"/><a:stretch><a:fillRect/></a:stretch></pic:blipFill><pic:spPr><a:xfrm><a:off x=\"0\" y=\"0\"/><a:ext cx=\"${o}\" cy=\"${s}\"/></a:xfrm><a:prstGeom prst=\"rect\"><a:avLst/></a:prstGeom></pic:spPr></pic:pic></a:graphicData></a:graphic></wp:inline></${e}drawing></${e}r>`}const Vt={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,bmp:`image/bmp`,svg:`image/svg+xml`,webp:`image/webp`};async function Ht(e,t,n){if(n=n.toLowerCase().replace(`jpeg`,`jpg`),!Vt[n])throw Error(`Unsupported image type .${n}`);let r=e.pkg.freeName(`word/media`,`image`,n);e.pkg.setPart(r,t),await e.pkg.ensureDefaultType(n,Vt[n]);let i=await e.pkg.addRel(e.mainPath,`http://schemas.openxmlformats.org/officeDocument/2006/relationships/image`,r);return e.rels=await e.pkg.rels(e.mainPath),e.markEdited(),{rid:i,path:r}}async function Ut(e,t){let n=await e.pkg.addRel(e.mainPath,`http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink`,t,!0);return e.rels=await e.pkg.rels(e.mainPath),`r:`+n}const Wt=[`cnfStyle`,`tcW`,`gridSpan`,`hMerge`,`vMerge`,`tcBorders`,`shd`,`noWrap`,`tcMar`,`textDirection`,`tcFitText`,`vAlign`,`hideMark`];function Gt(e){let t=[],n=e=>{for(let i of o(e)){let e=r(i.q);e===`tr`?t.push(i):(e===`sdt`||e===`sdtContent`||e===`customXml`)&&n(i)}};return n(e),t}function Kt(e){let t=[],n=e=>{for(let i of o(e)){let e=r(i.q);e===`tc`?t.push(i):(e===`sdt`||e===`sdtContent`||e===`customXml`)&&n(i)}};return n(e),t}async function qt(e,o){let c;if(o.item!==void 0){let n=a(t(e.items[o.item]??``));n&&(r(n.q)===`tbl`?c=n:v(n,e=>(!c&&r(e.q)===`tbl`&&(c=e),!!c)))}let l=c&&i(c.q)||`w:`,u=l+`val`,h=c?Gt(c):[],g=c?s(c,`tblPr`):void 0;if(!g){let n=e.styles.has(`TableGrid`)?`<${l}tblStyle ${u}=\"TableGrid\"/>`:``;g=t(`<${l}tblPr>${n}<${l}tblW ${l}w=\"0\" ${l}type=\"auto\"/>${n?``:`<${l}tblBorders>${[`top`,`left`,`bottom`,`right`,`insideH`,`insideV`].map(e=>`<${l}${e} ${u}=\"single\" ${l}sz=\"4\" ${l}space=\"0\" ${l}color=\"auto\"/>`).join(``)}</${l}tblBorders>`}<${l}tblLook ${u}=\"04A0\" ${l}firstRow=\"1\" ${l}lastRow=\"0\" ${l}firstColumn=\"1\" ${l}lastColumn=\"0\" ${l}noHBand=\"0\" ${l}noVBand=\"1\"/></${l}tblPr>`)[0]}let _=`<${l}tblGrid>${o.cols.map(e=>`<${l}gridCol ${l}w=\"${Math.round(e*20)}\"/>`).join(``)}</${l}tblGrid>`,y=h.length?s(Kt(h[0])[0],`tcPr`):void 0,b=o.cols.length,x=[],S=`<${l}tbl${c?.a??``}>${n(g)}${_}`,C=(e,t,r,i,a)=>{let c=f((e?s(Kt(h[e[0]]??{c:[]})[e[1]],`tcPr`):void 0)??y??d(l+`tcPr`));c.q=l+`tcPr`,p(c,e=>e===`gridSpan`||e===`vMerge`||e===`hMerge`);let g=o.cols.slice(t,t+r).reduce((e,t)=>e+t,0);return m(c,d(l+`tcW`,{[l+`w`]:String(Math.round(g*20)),[l+`type`]:`dxa`}),`tcW`,Wt),r>1&&m(c,d(l+`gridSpan`,{[u]:String(r)}),`gridSpan`,Wt),i&&m(c,d(l+`vMerge`,i===`restart`?{[u]:`restart`}:{}),`vMerge`,Wt),a!==void 0&&m(c,a?d(l+`shd`,{[u]:`clear`,[l+`color`]:`auto`,[l+`fill`]:a.replace(`#`,``).toUpperCase()}):void 0,`shd`,Wt),n(c)};for(let t of o.rows){let r=t.src===void 0?void 0:h[t.src],i=s(r,`trPr`);S+=`<${l}tr${r?.a??``}>${i?n(i):``}`;let a=0,o=0,c=t.cells;for(;a<b&&(o<c.length||x[a]);){let t=x[a];if(t&&t.left>0){S+=`<${l}tc>${t.tcPr,``}${C(void 0,a,t.span,`continue`)}<${l}p/></${l}tc>`,t.left--,t.left||(x[a]=void 0),a+=t.span;continue}let r=c[o++];if(!r)break;let i=Math.max(1,Math.min(r.colSpan,b-a)),s=``;for(let t of r.paras){let r=t.pristine&&t.pid===t.from?Ct(e,t.pid):void 0;s+=r?n(r):(await Ft(e,t)).xml}S+=`<${l}tc>${C(r.src,a,i,r.rowSpan>1?`restart`:void 0,r.shd)}${s||`<${l}p/>`}</${l}tc>`,r.rowSpan>1&&(x[a]={left:r.rowSpan-1,span:i}),a+=i}S+=`</${l}tr>`}return S+`</${l}tbl>`}async function Jt(e,t){if(!e.ready)throw Error(`Document is still loading`);e.markEdited();let n=t.spec?await qt(e,t.spec):``;if(t.item!==void 0){e.itemXml.set(t.item,n);return}let r;for(let[n,i]of e.groups)i.includes(t.tid)&&(r=n);if(!t.spec)r&&e.groups.get(r).splice(e.groups.get(r).indexOf(t.tid),1),e.genXml.delete(t.tid);else{if(!r){let n=t.anchor===void 0?void 0:e.info.get(t.anchor);if(!n||t.anchor===void 0)throw Error(`Table anchor paragraph not found`);let r=It(e,`${n.item}:${n.ord}`);r.splice(r.indexOf(t.anchor)+1,0,t.tid)}e.genXml.set(t.tid,n)}}async function Yt(e){if(!e.ready)throw Error(`Document is still loading`);if(e.groups.size||e.itemXml.size){let r=/* @__PURE__ */ new Set;for(let t of e.groups.keys())r.add(Number(t.split(`:`)[0]));let i=[e.prefix];for(let a=0;a<e.items.length;a++){let o=e.itemXml.get(a);if(o!==void 0){i.push(o+(/\\s*$/.exec(e.items[a])?.[0]??``));continue}if(!r.has(a)){i.push(e.items[a]);continue}let s=t(e.items[a]),c=yt(s);for(let t=0;t<c.length;t++){let r=e.groups.get(`${a}:${t}`);if(!r)continue;let i=c[t];i.list[i.index]=r.map(t=>e.genXml.get(t)??(Ct(e,t)?n(Ct(e,t)):``)).join(``)}i.push(n(s))}i.push(e.suffix),e.pkg.setPart(e.mainPath,i.join(``))}return e.pkg.save(`application/vnd.openxmlformats-officedocument.wordprocessingml.document`)}function Xt(e){let t=e.replace(`#`,``),n=t.length===8?t.slice(2):t.padStart(6,`0`).slice(0,6);return[parseInt(n.slice(0,2),16)||0,parseInt(n.slice(2,4),16)||0,parseInt(n.slice(4,6),16)||0]}function Zt([e,t,n]){let r=e=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,`0`);return`#`+r(e)+r(t)+r(n)}function Qt([e,t,n]){e/=255,t/=255,n/=255;let r=Math.max(e,t,n),i=Math.min(e,t,n),a=(r+i)/2;if(r===i)return[0,0,a];let o=r-i,s=a>.5?o/(2-r-i):o/(r+i),c=0;return c=r===e?(t-n)/o+(t<n?6:0):r===t?(n-e)/o+2:(e-t)/o+4,[c/6,s,a]}function $t([e,t,n]){if(t===0)return[n*255,n*255,n*255];let r=n<.5?n*(1+t):n+t-n*t,i=2*n-r,a=e=>(e<0&&(e+=1),e>1&&--e,e<1/6?i+(r-i)*6*e:e<1/2?r:e<2/3?i+(r-i)*(2/3-e)*6:i);return[a(e+1/3)*255,a(e)*255,a(e-1/3)*255]}const en=e=>Math.max(0,Math.min(1,e));function tn(e,t){if(!t)return e;let n=Qt(Xt(e));return n[2]=t<0?n[2]*(1+t):n[2]*(1-t)+t,Zt($t(n))}const nn={black:`#000000`,white:`#ffffff`,red:`#ff0000`,green:`#008000`,blue:`#0000ff`,yellow:`#ffff00`,cyan:`#00ffff`,magenta:`#ff00ff`,gray:`#808080`,grey:`#808080`,ltGray:`#d3d3d3`,dkGray:`#a9a9a9`,orange:`#ffa500`,purple:`#800080`,navy:`#000080`,maroon:`#800000`,olive:`#808000`,teal:`#008080`,silver:`#c0c0c0`,lime:`#00ff00`,pink:`#ffc0cb`,brown:`#a52a2a`,gold:`#ffd700`},rn={bg1:`lt1`,tx1:`dk1`,bg2:`lt2`,tx2:`dk2`},an=/* @__PURE__ */ new Set([`srgbClr`,`schemeClr`,`sysClr`,`prstClr`,`scrgbClr`,`hslClr`]);function on(e,t){let n;switch(e.n){case`srgbClr`:n=`#`+(e.a.val??`000000`).toLowerCase();break;case`sysClr`:n=`#`+(e.a.lastClr??(e.a.val===`window`?`ffffff`:`000000`));break;case`prstClr`:n=nn[e.a.val]??`#000000`;break;case`scrgbClr`:n=Zt([(O(e.a.r)??0)/1e5*255,(O(e.a.g)??0)/1e5*255,(O(e.a.b)??0)/1e5*255]);break;case`hslClr`:n=Zt($t([(O(e.a.hue)??0)/216e5,(O(e.a.sat)??0)/1e5,(O(e.a.lum)??0)/1e5]));break;case`schemeClr`:{let r=e.a.val;if(r===`phClr`)n=t.phClr;else{let e=t.clrMap?.[r]??rn[r]??r;n=t.theme?.colors[e]??t.theme?.colors[r]}break}}if(n)return sn(n,e)}function sn(e,t){if(!t.c.length)return e;let n=Xt(e),r=1;for(let e of t.c){let t=(O(e.a.val)??0)/1e5;switch(e.n){case`alpha`:r=t;break;case`lumMod`:{let e=Qt(n);e[2]=en(e[2]*t),n=$t(e);break}case`lumOff`:{let e=Qt(n);e[2]=en(e[2]+t),n=$t(e);break}case`satMod`:{let e=Qt(n);e[1]=en(e[1]*t),n=$t(e);break}case`tint`:n=n.map(e=>e+(255-e)*(1-t));break;case`shade`:n=n.map(e=>e*t);break;case`inv`:n=n.map(e=>255-e);break;case`gray`:{let e=n[0]*.3+n[1]*.59+n[2]*.11;n=[e,e,e];break}}}let i=Zt(n);if(r>=1)return i;let[a,o,s]=Xt(i);return`rgba(${a},${o},${s},${+r.toFixed(3)})`}function P(e,t){if(e){for(let n of e.c)if(an.has(n.n))return on(n,t)}}const cn=`000000 FFFFFF FF0000 00FF00 0000FF FFFF00 FF00FF 00FFFF 000000 FFFFFF FF0000 00FF00 0000FF FFFF00 FF00FF 00FFFF 800000 008000 000080 808000 800080 008080 C0C0C0 808080 9999FF 993366 FFFFCC CCFFFF 660066 FF8080 0066CC CCCCFF 000080 FF00FF FFFF00 00FFFF 800080 800000 008080 0000FF 00CCFF CCFFFF CCFFCC FFFF99 99CCFF FF99CC CC99FF FFCC99 3366FF 33CCCC 99CC00 FFCC00 FF9900 FF6600 666699 969696 003366 339966 003300 333300 993300 993366 333399 333333`.split(` `).map(e=>`#`+e),ln=[`lt1`,`dk1`,`lt2`,`dk2`,`accent1`,`accent2`,`accent3`,`accent4`,`accent5`,`accent6`,`hlink`,`folHlink`];function un(e,t,n=cn){if(!e||e.a.auto===`1`||e.a.auto===`true`)return;let r;if(e.a.rgb){let t=e.a.rgb;r=`#`+(t.length===8?t.slice(2):t)}else if(e.a.theme!==void 0)r=t?.colors[ln[Number(e.a.theme)]??``]??void 0;else if(e.a.indexed!==void 0){let t=Number(e.a.indexed);if(t===64||t===65)return;r=n[t]}if(!r)return;let i=O(e.a.tint)??0;return i?tn(r,i):r.toLowerCase()}function dn(e){let t=E(T(T(e,`colors`),`indexedColors`),`rgbColor`);return t.length?t.map(e=>`#`+(e.a.rgb??`FF000000`).slice(-6)):cn}const fn=[`ln`,`noFill`,`solidFill`,`gradFill`,`blipFill`,`pattFill`,`grpFill`,`effectLst`,`effectDag`,`highlight`,`uLnTx`,`uLn`,`uFillTx`,`uFill`,`latin`,`ea`,`cs`,`sym`,`hlinkClick`,`hlinkMouseOver`,`rtl`,`extLst`],pn=/* @__PURE__ */ new Set([`noFill`,`solidFill`,`gradFill`,`blipFill`,`pattFill`,`grpFill`]),mn={left:`l`,center:`ctr`,right:`r`,justify:`just`};function hn(t,n){let i;for(let a of t)e(a)&&v(a,e=>{if(i)return!0;if(r(e.q)!==`sp`)return;let t=l(s(s(e,`nvSpPr`),`cNvPr`)??e,`id`);return t!==void 0&&Number(t)===n&&(i=e),!0});return i}function gn(e,t,n){t.sz!==void 0&&u(e,`sz`,String(Math.round(t.sz*100))),t.b!==void 0&&u(e,`b`,t.b?`1`:`0`),t.i!==void 0&&u(e,`i`,t.i?`1`:`0`),t.u!==void 0&&u(e,`u`,t.u?`sng`:`none`),t.strike!==void 0&&u(e,`strike`,t.strike?`sngStrike`:`noStrike`),`color`in t&&(p(e,e=>pn.has(e)),t.color&&m(e,d(n+`solidFill`,{},[d(n+`srgbClr`,{val:t.color.replace(`#`,``).toUpperCase()})]),`solidFill`,fn)),t.font&&m(e,d(n+`latin`,{typeface:t.font}),`latin`,fn),`hl`in t&&m(e,t.hl?d(n+`highlight`,{},[d(n+`srgbClr`,{val:t.hl.replace(`#`,``).toUpperCase()})]):void 0,`highlight`,fn),`baseline`in t&&u(e,`baseline`,t.baseline?String(Math.round(t.baseline*1e3)):void 0)}const _n=[`lnSpc`,`spcBef`,`spcAft`,`buClrTx`,`buClr`,`buSzTx`,`buSzPct`,`buSzPts`,`buFontTx`,`buFont`,`buNone`,`buAutoNum`,`buChar`,`buBlip`,`tabLst`,`defRPr`,`extLst`],vn=/* @__PURE__ */ new Set([`buNone`,`buAutoNum`,`buChar`,`buBlip`]);function yn(e,t,n){if(t.algn&&u(e,`algn`,mn[t.algn]),t.lvl!==void 0&&String(t.lvl)!==(l(e,`lvl`)??`0`)&&(u(e,`lvl`,t.lvl?String(t.lvl):void 0),u(e,`marL`,void 0),u(e,`indent`,void 0)),t.bullet){if(p(e,e=>vn.has(e)),t.bullet===`none`)m(e,d(n+`buNone`),`buNone`,_n),l(e,`indent`)?.startsWith(`-`)&&u(e,`indent`,`0`);else{let r=t.bullet===`bullet`?d(n+`buChar`,{char:`•`}):d(n+`buAutoNum`,{type:`arabicPeriod`});if(t.bullet===`bullet`&&m(e,d(n+`buFont`,{typeface:`Arial`}),`buFont`,_n),m(e,r,t.bullet===`bullet`?`buChar`:`buAutoNum`,_n),!l(e,`marL`)){let t=Number(l(e,`lvl`)??0);u(e,`marL`,String(342900+t*457200)),u(e,`indent`,`-342900`)}}}t.lnPct&&m(e,d(n+`lnSpc`,{},[d(n+`spcPct`,{val:String(Math.round(t.lnPct*1e5))})]),`lnSpc`,_n),e.self=e.c.length===0}const bn={l:`left`,ctr:`center`,r:`right`,just:`justify`,dist:`justify`,thaiDist:`justify`,justLow:`justify`},xn={dash:`4 3`,sysDash:`3 1`,dot:`1 1`,sysDot:`1 1`,lgDash:`8 3`,dashDot:`4 3 1 3`,lgDashDot:`8 3 1 3`,lgDashDotDot:`8 3 1 3 1 3`,sysDashDot:`3 1 1 1`,sysDashDotDot:`3 1 1 1 1 1`};function Sn(e){let t=e.c[0];return t?T(t,`nvPr`):void 0}function Cn(e){let t=T(Sn(e),`ph`);if(t)return{type:t.a.type??`body`,idx:t.a.idx}}const wn=e=>e===`ctrTitle`?`title`:e===`subTitle`||e===`obj`?`body`:e;function Tn(e){let t=/* @__PURE__ */ new Map,n=/* @__PURE__ */ new Map,r=e=>{for(let i of e?.c??[]){i.n===`grpSp`&&r(i);let e=Cn(i);e&&(e.idx!==void 0&&!t.has(e.idx)&&t.set(e.idx,i),n.has(e.type)||n.set(e.type,i))}};return r(e),{byIdx:t,byType:n}}function En(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,i]of t)for(;e>=r;)n+=i,e-=r;return n}function Dn(e,t){let n=e=>String.fromCharCode(97+(e-1)%26).repeat(Math.floor((e-1)/26)+1),r=String(t);return e.startsWith(`alphaLc`)?r=n(t):e.startsWith(`alphaUc`)?r=n(t).toUpperCase():e.startsWith(`romanLc`)?r=En(t):e.startsWith(`romanUc`)&&(r=En(t).toUpperCase()),e.endsWith(`ParenBoth`)?`(${r})`:e.endsWith(`ParenR`)?`${r})`:e.endsWith(`Period`)?`${r}.`:e.endsWith(`Minus`)?`- ${r} -`:r}var On=class a{pkg;mainPath;defaultTextStyle;masters=/* @__PURE__ */ new Map;layouts=/* @__PURE__ */ new Map;tableStyles;meta;constructor(e,t,n,r){this.pkg=e,this.mainPath=t,this.defaultTextStyle=n,this.meta=r}static async open(e,t){let n=await e.xml(t);if(!n)throw Error(`Missing presentation part`);let r=await e.rels(t),i=T(n,`sldSz`),o=[];for(let t of E(T(n,`sldIdLst`),`sldId`)){let n=r.get(t.a[`r:id`]);n&&e.has(n.target)&&o.push({index:o.length,path:n.target,hidden:!1})}let s={w:M(O(i?.a.cx,9144e3)),h:M(O(i?.a.cy,6858e3)),count:o.length,slides:o};return new a(e,t,T(n,`defaultTextStyle`),s)}async part(e){let t=await this.pkg.xml(e,!1);if(!t)throw Error(`Missing part ${e}`);let n=D(t,`cSld`,`spTree`);return{path:e,root:t,rels:await this.pkg.rels(e),spTree:n,...Tn(n)}}master(e){let t=this.masters.get(e);return t||(t=(async()=>{let t=await this.part(e),n=j(t.rels,`theme`),r=De(n?await this.pkg.xml(n.target):void 0),i={...T(t.root,`clrMap`)?.a??{}},a=T(t.root,`txStyles`);return{...t,theme:r,clrMap:i,title:T(a,`titleStyle`),body:T(a,`bodyStyle`),other:T(a,`otherStyle`)}})(),this.masters.set(e,t)),t}layout(e){let t=this.layouts.get(e);return t||(t=(async()=>{let t=await this.part(e),n=j(t.rels,`slideMaster`);if(!n)throw Error(`Layout ${e} has no master`);let r=await this.master(n.target);return{...t,master:r,clrMap:kn(t.root,r.clrMap)}})(),this.layouts.set(e,t)),t}getTableStyles(){return this.tableStyles||=(async()=>{let e=/* @__PURE__ */ new Map,t=j(await this.pkg.rels(this.mainPath),`tableStyles`),n=t?await this.pkg.xml(t.target):void 0;for(let t of E(n,`tblStyle`))e.set(t.a.styleId,t);return e})(),this.tableStyles}async slide(e){let t=this.meta.slides[e];if(!t)throw Error(`No slide #${e}`);let n=await this.part(t.path),r=j(n.rels,`slideLayout`),i=r?await this.layout(r.target):void 0,a=i?.master,o=a?.theme??De(void 0),s=kn(n.root,i?.clrMap??a?.clrMap??{}),c=new Mn(this,n,i,a,o,s,e,await this.getTableStyles()),l=[],u=n.root.a.showMasterSp!==`0`;return a&&u&&i?.root.a.showMasterSp!==`0`&&c.walk(a,a.spTree,An,l,!0),i&&u&&c.walk(i,i.spTree,An,l,!0),c.walk(n,n.spTree,An,l,!1),{index:e,w:this.meta.w,h:this.meta.h,bg:c.background(),els:l,hidden:n.root.a.show===`0`}}get defaults(){return this.defaultTextStyle}genMaps=/* @__PURE__ */ new Map;touched=!1;undoStack=[];redoStack=[];originals=/* @__PURE__ */ new Map;lateShapes=/* @__PURE__ */ new Map;async keepOriginal(e){this.originals.has(e)||this.originals.set(e,await this.pkg.text(e))}genMap(e,t){return this.genMaps.get(`${e}#${t}`)}get dirty(){return this.genMaps.size>0||this.touched}async setText(a,c,l){let u=this.meta.slides[a];if(!u)throw Error(`No slide #${a}`);let p=u.path;await this.keepOriginal(p);let m=t(await this.pkg.text(p)),g=hn(m,c),_=`${p}#${c}`;g&&!this.lateShapes.has(_)&&!hn(t(this.originals.get(p)),c)&&this.lateShapes.set(_,n([g]));let v=this.lateShapes.get(_),y=v?t(v)[0]:hn(t(this.originals.get(p)),c);if(!g||!y)throw Error(`Shape ${c} not found`);let b=s(g,`txBody`),x=s(y,`txBody`),S=o(x,`p`),C=i(g.q),w=i((s(x,`bodyPr`)??S[0])?.q??`a:x`)||`a:`;b||(b=d(C+`txBody`,{},[d(w+`bodyPr`),d(w+`lstStyle`)]),g.c.push(b),g.self=!1);let ee=S.map(e=>o(e).filter(e=>[`r`,`br`,`fld`].includes(r(e.q)))),te=[],ne=l.map(e=>{let t=e.k===void 0?S[S.length-1]:S[e.k],n=d(w+`p`),r=s(t,`pPr`),i=e.algn||e.lvl!==void 0||e.bullet||e.lnPct,a=r?f(r):i?d(w+`pPr`):void 0;a&&i&&yn(a,e,w),a&&n.c.push(a);let o=s(t,`endParaRPr`),c={k:e.k,runs:[]},l=e=>{let t=s(e?ee[e[0]]?.[e[1]]:void 0,`rPr`)??(o?{...f(o),q:w+`rPr`}:void 0);return t?f(t):d(w+`rPr`,{lang:`en-US`,dirty:`0`})};for(let t of e.runs)if(t.fld&&t.src){let e=ee[t.src[0]]?.[t.src[1]];e&&(n.c.push(f(e)),c.runs.push(t.src))}else t.text.split(`\n`).forEach((e,r)=>{let i=l(t.src);t.set&&gn(i,t.set,w),r>0&&(n.c.push(d(w+`br`,{},[{...f(i)}])),c.runs.push(t.src)),e&&(n.c.push(d(w+`r`,{},[i,d(w+`t`,{},[h(e)])])),c.runs.push(t.src))});return n.c.push(o?f(o):d(w+`endParaRPr`,{lang:`en-US`,dirty:`0`})),n.self=!1,te.push(c),n}),re=b.c.filter(t=>!(e(t)&&r(t.q)===`p`));return b.c=[...re,...ne],b.self=!1,this.pkg.setPart(p,n(m)),this.genMaps.set(`${p}#${c}`,te),this.undoStack=this.undoStack.filter(e=>e.path!==p),this.redoStack=this.redoStack.filter(e=>e.path!==p),this.slide(a)}save(){return this.pkg.save(`application/vnd.openxmlformats-officedocument.presentationml.presentation`)}};function kn(e,t){let n=D(e,`clrMapOvr`,`overrideClrMapping`);return n?{...n.a}:t}const An=e=>e;function jn(e){if(!e)return;let t=T(e,`off`),n=T(e,`ext`);if(!t&&!n)return;let r={x:M(O(t?.a.x,0)),y:M(O(t?.a.y,0)),w:M(O(n?.a.cx,0)),h:M(O(n?.a.cy,0))},i=O(e.a.rot);return i&&(r.rot=i/6e4),e.a.flipH===`1`&&(r.flipH=!0),e.a.flipV===`1`&&(r.flipV=!0),r}var Mn=class{pres;slide;layout;master;theme;clrMap;index;tableStyles;constructor(e,t,n,r,i,a,o,s){this.pres=e,this.slide=t,this.layout=n,this.master=r,this.theme=i,this.clrMap=a,this.index=o,this.tableStyles=s}cc(e){return{theme:this.theme,clrMap:this.clrMap,phClr:e}}font(e){if(e)return e.startsWith(`+mj`)?Pe(this.theme.major):e.startsWith(`+mn`)?Pe(this.theme.minor):Pe(e)}fill(e,t,n){if(e)for(let r of e.c)switch(r.n){case`noFill`:return{t:`none`};case`solidFill`:{let e=P(r,this.cc(n));return e?{t:`solid`,c:e}:void 0}case`gradFill`:{let e=E(T(r,`gsLst`),`gs`).map(e=>({pos:O(e.a.pos,0)/1e3|0,col:P(e,this.cc(n))})).filter(e=>e.col).sort((e,t)=>e.pos-t.pos);if(!e.length)return;if(e.length===1)return{t:`solid`,c:e[0].col};let t=e.map(e=>`${e.col} ${e.pos}%`).join(`, `);return T(r,`path`)?{t:`grad`,css:`radial-gradient(circle, ${t})`}:{t:`grad`,css:`linear-gradient(${(O(T(r,`lin`)?.a.ang,0)/6e4+90)%360}deg, ${t})`}}case`blipFill`:{let e=T(r,`blip`)?.a[`r:embed`],n=e?t.get(e):void 0;return n&&!n.external?{t:`img`,target:n.target,tile:!!T(r,`tile`)}:void 0}case`pattFill`:{let e=P(T(r,`fgClr`),this.cc(n));return e?{t:`solid`,c:e}:void 0}}}themeFill(e,t){if(!e)return;let n=O(e.a.idx,0);if(!n)return;let r=P(e,this.cc()),i=(n>=1001?this.theme.bgFillStyles:this.theme.fillStyles)[n>=1001?n-1001:n-1];return i?this.fill({n:`x`,a:{},c:[i],t:``},t,r)??(r?{t:`solid`,c:r}:void 0):r?{t:`solid`,c:r}:void 0}stroke(e,t){let n=O(t?.a.idx,0),r=n?this.theme.lineStyles[n-1]:void 0,i=t?P(t,this.cc()):void 0;if(e&&T(e,`noFill`))return;let a=e?P(T(e,`solidFill`),this.cc(i)):void 0;if(!a&&e){let t=D(e,`gradFill`,`gsLst`,`gs`);t&&(a=P(t,this.cc(i)))}if(!a&&n&&(a=i??(r?P(T(r,`solidFill`),this.cc(i)):void 0)),!a)return;let o=O(e?.a.w)??O(r?.a.w)??9525,s=T(e,`prstDash`)?.a.val??T(r,`prstDash`)?.a.val,c={c:a,w:Math.max(.5,M(o))};s&&xn[s]&&(c.dash=xn[s].split(` `).map(e=>+(Number(e)*c.w).toFixed(2)).join(` `));let l=T(e,`headEnd`)?.a.type,u=T(e,`tailEnd`)?.a.type;return l&&l!==`none`&&(c.head=l),u&&u!==`none`&&(c.tail=u),c}background(){for(let e of[this.slide,this.layout,this.master]){if(!e)continue;let t=D(e.root,`cSld`,`bg`);if(!t)continue;let n=T(t,`bgPr`);if(n){let t=this.fill(n,e.rels);if(t)return t}let r=T(t,`bgRef`);if(r)return this.themeFill(r,e.rels)}return{t:`solid`,c:this.theme.colors[this.clrMap.bg1??`lt1`]??`#ffffff`}}readRun(e,t={}){if(!e)return t;let n=e.a;n.sz&&(t.sz=Number(n.sz)/100),n.b!==void 0&&(t.b=n.b===`1`||n.b===`true`),n.i!==void 0&&(t.i=n.i===`1`||n.i===`true`),n.u!==void 0&&(t.u=n.u!==`none`),n.strike!==void 0&&(t.strike=n.strike!==`noStrike`),n.baseline!==void 0&&(t.baseline=Number(n.baseline)/1e3),n.cap!==void 0&&(t.caps=n.cap===`all`);let r=T(e,`solidFill`);if(r){let e=P(r,this.cc());e&&(t.color=e)}else{let n=D(e,`gradFill`,`gsLst`,`gs`),r=n&&P(n,this.cc());r&&(t.color=r)}let i=P(T(e,`highlight`),this.cc());i&&(t.hl=i);let a=T(e,`latin`)?.a.typeface??T(e,`ea`)?.a.typeface,o=this.font(a);return o&&(t.font=o),t}readLvl(e,t){let n={...t,r:{...t.r}};if(!e)return n;let r=e.a;r.algn&&(n.algn=bn[r.algn]??`left`),r.marL!==void 0&&(n.marL=M(Number(r.marL))),r.indent!==void 0&&(n.indent=M(Number(r.indent)));for(let t of e.c)switch(t.n){case`lnSpc`:{let e=O(T(t,`spcPct`)?.a.val),r=O(T(t,`spcPts`)?.a.val);e===void 0?r!==void 0&&(n.lnPts=r/100,n.lnPct=void 0):(n.lnPct=e/1e5,n.lnPts=void 0);break}case`spcBef`:case`spcAft`:{let e=O(T(t,`spcPct`)?.a.val),r=O(T(t,`spcPts`)?.a.val),i=e===void 0?{pts:(r??0)/100}:{pct:e/1e5};t.n===`spcBef`?n.bef=i:n.aft=i;break}case`buNone`:n.bu={kind:`none`};break;case`buChar`:n.bu={kind:`char`,char:t.a.char??`•`};break;case`buAutoNum`:n.bu={kind:`auto`,autoType:t.a.type??`arabicPeriod`,startAt:O(t.a.startAt,1)};break;case`buClr`:n.buClr=P(t,this.cc());break;case`buFont`:n.buFont=t.a.typeface;break;case`buSzPct`:n.buSzPct=O(t.a.val,1e5)/1e5;break;case`defRPr`:this.readRun(t,n.r)}return n}levels(e){let t=[];for(let n=1;n<=9;n++){let r={r:{}};for(let t of e)t&&(r=this.readLvl(T(t,`defPPr`),r),r=this.readLvl(T(t,`lvl${n}pPr`),r));t.push(r)}return t}textBody(e,t,n,r,i,a){if(!e)return;let o=E(e,`p`),s=!o.some(e=>e.c.some(e=>e.n===`r`||e.n===`fld`));if(s&&a===void 0)return;let c=a===void 0?void 0:this.pres.genMap(this.slide.path,a),l=this.master,u;if(n){let e=wn(n.type);u=e===`title`?l?.title:e===`body`?l?.body:l?.other}let d=n?[u]:[l?.other,this.pres.defaults];if(r){let e=P(r,this.cc()),t=r.a.idx===`major`?this.theme.major:r.a.idx===`minor`?this.theme.minor:void 0,n={n:`lstStyle`,a:{},c:[],t:``},i={n:`defRPr`,a:{},c:[],t:``};e&&i.c.push({n:`solidFill`,a:{},c:[{n:`srgbClr`,a:{val:e.replace(`#`,``).slice(0,6)},c:[],t:``}],t:``}),t&&i.c.push({n:`latin`,a:{typeface:t},c:[],t:``}),n.c.push({n:`defPPr`,a:{},c:[i],t:``}),d.push(n)}for(let e of t)d.push(D(e,`txBody`,`lstStyle`));let f=this.levels(d),p={},m;for(let e of t){let t=D(e,`txBody`,`bodyPr`);if(!t)continue;Object.assign(p,t.a);let n=T(t,`normAutofit`);n&&(m=n)}let h=m?O(m.a.fontScale,1e5)/1e5:1,g=m?O(m.a.lnSpcReduction,0)/1e5:0,_=[M(O(p.lIns,91440)),M(O(p.tIns,45720)),M(O(p.rIns,91440)),M(O(p.bIns,45720))],v=[],y=i?.rels??this.slide.rels,b=o.map((e,t)=>{let n=T(e,`pPr`),r=Math.min(8,O(n?.a.lvl,0)),i=this.readLvl(n,f[r]),a=[],o=0;for(let n of e.c){let e=n.n===`r`||n.n===`fld`||n.n===`br`?c?c[t]?.runs[o++]:[t,o++]:void 0;if(n.n===`r`||n.n===`fld`){let t=this.readRun(T(n,`rPr`),{...i.r}),r=_e(T(n,`t`));n.n===`fld`&&n.a.type===`slidenum`&&(r=String(this.index+1));let o=D(n,`rPr`,`hlinkClick`)?.a[`r:id`],s=o?y.get(o)?.target:void 0;a.push({text:r,sz:(t.sz??18)*h,b:t.b,i:t.i,u:t.u||!!s,strike:t.strike,color:t.color??(s?this.theme.colors.hlink:void 0),font:t.font,baseline:t.baseline,caps:t.caps,href:s,hl:t.hl,src:e,...n.n===`fld`?{fld:!0}:{}})}else if(n.n===`br`){let t=this.readRun(T(n,`rPr`),{...i.r});a.push({text:``,br:!0,sz:(t.sz??18)*h,src:e})}}let s=this.readRun(T(e,`endParaRPr`),{...i.r}),l=a[0]?.sz??(s.sz??18)*h,u=a.some(e=>e.text),d;if(i.bu&&i.bu.kind!==`none`&&u){let e=l*(i.buSzPct??1),t=i.buClr??a[0]?.color??i.r.color;if(i.bu.kind===`char`)d={text:i.bu.char??`•`,sz:e,color:t,font:i.buFont?this.font(i.buFont):void 0};else{v[r]=(v[r]??(i.bu.startAt??1)-1)+1;for(let e=r+1;e<9;e++)v[e]=void 0;d={text:Dn(i.bu.autoType??`arabicPeriod`,v[r]),sz:e,color:t}}}else if(!i.bu||i.bu.kind===`none`)for(let e=r;e<9;e++)v[e]=void 0;let p=e=>e?e.pts===void 0?(e.pct??0)*l*1.2*(4/3):e.pts*4/3:0;return{algn:i.algn??`left`,marL:i.marL??0,indent:i.indent??0,lnPct:i.lnPct===void 0?g?1-g:void 0:i.lnPct*(1-g),lnPx:i.lnPts===void 0?void 0:i.lnPts*4/3,spcBef:p(i.bef),spcAft:p(i.aft),bullet:d,lvl:r||void 0,buKind:i.bu?.kind===`char`?`bullet`:i.bu?.kind===`auto`?`number`:void 0,runs:a,endSz:(s.sz??18)*h,k:c?c[t]?.k:t}});return{anchor:p.anchor===`ctr`?`ctr`:p.anchor===`b`?`b`:`t`,ins:_,wrap:p.wrap!==`none`,vert:p.vert&&p.vert!==`horz`?p.vert:void 0,paras:b,empty:s||void 0}}inheritChain(e,t){let n=Cn(e);if(!n)return{chain:[e]};let r=[],i=wn(n.type);if(t===this.slide){let e=this.layout?(n.idx===void 0?void 0:this.layout.byIdx.get(n.idx))??this.layout.byType.get(n.type):void 0,t=e?Cn(e)?.type??i:i,a=this.master?.byType.get(wn(t))??this.master?.byType.get(i);a&&r.push(a),e&&r.push(e)}else if(t===this.layout){let e=this.master?.byType.get(i);e&&r.push(e)}return r.push(e),{chain:r,ph:n}}walk(e,t,n,r,i,a){if(t)for(let o of t.c){if(i&&(o.n===`sp`||o.n===`pic`)&&Cn(o))continue;let t=T(o.c[0],`cNvPr`)?.a.id,s=a??(e===this.slide&&t?Number(t):void 0),c=r.length;try{switch(o.n){case`sp`:case`cxnSp`:this.shape(o,e,n,r);break;case`pic`:this.pic(o,e,n,r);break;case`grpSp`:this.group(o,e,n,r,i,s);break;case`graphicFrame`:this.frame(o,e,n,r)}}catch{}if(s!==void 0)for(let e=c;e<r.length;e++)r[e].top=s}}boxOf(e,t,n){for(let r=e.length-1;r>=0;r--){let i=jn(D(e[r],...t));if(i)return n(i)}}shape(e,t,n,r){let{chain:i,ph:a}=this.inheritChain(e,t),o=this.boxOf(i,[`spPr`,`xfrm`],n);if(!o)return;let s=T(e,`style`),c;for(let e=i.length-1;e>=0&&!c;e--)c=this.fill(T(i[e],`spPr`),t.rels);!c&&s&&(c=this.themeFill(T(s,`fillRef`),t.rels));let l;for(let e=i.length-1;e>=0&&!l;e--)l=D(i[e],`spPr`,`ln`);let u=this.stroke(l,T(s,`lnRef`)),d=`rect`,f,p;for(let e=i.length-1;e>=0;e--){let t=D(i[e],`spPr`,`prstGeom`);if(t){d=t.a.prst??`rect`;let e=E(T(t,`avLst`),`gd`);if(e.length){f={};for(let t of e){let e=/val\\s+(-?\\d+)/.exec(t.a.fmla??``);e&&(f[t.a.name]=Number(e[1]))}}break}let n=D(i[e],`spPr`,`custGeom`);if(n){d=`custom`,p=Fn(n,o);break}}e.n===`cxnSp`&&d===`rect`&&(d=`line`);let m=D(e,`nvSpPr`,`cNvPr`)?.a.id,h=t===this.slide&&e.n===`sp`&&m?Number(m):void 0,g=e.n===`sp`?this.textBody(T(e,`txBody`),i,a,T(s,`fontRef`),t,h):void 0;(c&&c.t!==`none`||u||g)&&r.push({t:`shape`,box:o,geom:d,adj:f,fill:c,stroke:u,text:g,path:p,sid:h})}pic(e,t,n,r){let{chain:i}=this.inheritChain(e,t),a=this.boxOf(i,[`spPr`,`xfrm`],n);if(!a)return;let o=T(e,`blipFill`),s=T(o,`blip`)?.a[`r:embed`],c=s?t.rels.get(s):void 0,l=T(o,`srcRect`),u=l?[O(l.a.l,0)/1e5,O(l.a.t,0)/1e5,O(l.a.r,0)/1e5,O(l.a.b,0)/1e5]:void 0,d=!!T(Sn(e),`videoFile`)||!!T(Sn(e),`audioFile`);r.push({t:`pic`,box:a,target:c&&!c.external?c.target:void 0,crop:u&&u.some(e=>e!==0)?u:void 0,stroke:this.stroke(D(e,`spPr`,`ln`),D(e,`style`,`lnRef`)),geom:D(e,`spPr`,`prstGeom`)?.a.prst,video:d})}group(e,t,n,r,i,a){let o=D(e,`grpSpPr`,`xfrm`),s=T(o,`off`),c=T(o,`ext`),l=T(o,`chOff`),u=T(o,`chExt`);if(!s||!c)return this.walk(t,e,n,r,i,a);let d=M(O(s.a.x,0)),f=M(O(s.a.y,0)),p=M(O(l?.a.x,0)),m=M(O(l?.a.y,0)),h=u&&O(u.a.cx)?O(c.a.cx,0)/O(u.a.cx,1):1,g=u&&O(u.a.cy)?O(c.a.cy,0)/O(u.a.cy,1):1;this.walk(t,e,e=>n({...e,x:d+(e.x-p)*h,y:f+(e.y-m)*g,w:e.w*h,h:e.h*g}),r,i,a)}frame(e,t,n,r){let i=jn(T(e,`xfrm`));if(!i)return;let a=n(i),o=D(e,`graphic`,`graphicData`);if(!o)return;let s=T(o,`tbl`);if(s)return void r.push(this.table(s,a,t));let c=T(T(o,`oleObj`),`pic`);if(c){let e=D(c,`blipFill`,`blip`)?.a[`r:embed`],n=e?t.rels.get(e):void 0;r.push({t:`pic`,box:a,target:n?.target});return}let l=o.a.uri??``,u=l.includes(`chart`)?`Chart`:l.includes(`diagram`)?`SmartArt`:l.includes(`ole`)?`Embedded object`:`Object`;r.push({t:`placeholder`,box:a,label:u})}table(e,t,n){let r=E(T(e,`tblGrid`),`gridCol`).map(e=>M(O(e.a.w,0))),i=T(e,`tblPr`),a=e=>i?.a[e]===`1`||i?.a[e]===`true`,o=T(i,`tableStyleId`)?.t.trim(),s=o?this.tableStyles.get(o):void 0,c=E(e,`tr`),l=c.length,u=r.length,d=this.fill(i,n.rels),f=(e,t)=>{let n=[],r=e=>{let t=T(s,e);t&&n.push(t)};r(`wholeTbl`);let i=e-+!!a(`firstRow`);a(`bandRow`)&&i>=0&&r(i%2==0?`band1H`:`band2H`);let o=t-+!!a(`firstCol`);return a(`bandCol`)&&o>=0&&r(o%2==0?`band1V`:`band2V`),a(`firstCol`)&&t===0&&r(`firstCol`),a(`lastCol`)&&t===u-1&&r(`lastCol`),a(`lastRow`)&&e===l-1&&r(`lastRow`),a(`firstRow`)&&e===0&&r(`firstRow`),n},p=!s&&o?Nn(this.theme,a(`firstRow`),a(`bandRow`)):void 0;return{t:`table`,box:t,cols:r,rows:c.map((e,t)=>{let r=E(e,`tc`).map((e,r)=>{let i=T(e,`tcPr`),a,o,s,c={};for(let e of f(t,r)){let t=T(e,`tcStyle`),r=this.fill(T(t,`fill`),n.rels)??this.themeFill(T(t,`fillRef`),n.rels);r&&(a=r);let i=T(t,`tcBdr`);for(let e of i?.c??[]){let t=this.stroke(T(e,`ln`),T(e,`lnRef`));c[e.n]=t}let l=T(e,`tcTxStyle`);if(l){l.a.b&&(o=l.a.b===`on`);let e=P(l,this.cc())??P(T(l,`fontRef`),this.cc());e&&(s=e)}}if(p){let e=p(t);a=e.fill,e.color&&(s=e.color),e.bold&&(o=!0),c.insideH=c.insideV={c:`#ffffff`,w:1}}let m=this.fill(i,n.rels);m&&(a=m);let h=(e,t,n,r)=>{let a=T(i,e);return a?this.stroke(a,void 0):r?c[t]:c[n]??c[t]},g=T(e,`txBody`),_=this.textBody(g,g?[e]:[],void 0,void 0,n);if(_){if(_.ins=[M(O(i?.a.marL,91440)),M(O(i?.a.marT,45720)),M(O(i?.a.marR,91440)),M(O(i?.a.marB,45720))],_.anchor=i?.a.anchor===`ctr`?`ctr`:i?.a.anchor===`b`?`b`:`t`,o!==void 0||s)for(let e of _.paras)for(let t of e.runs)o&&t.b===void 0&&(t.b=!0),s&&!t.color&&(t.color=s)}else _=void 0;return{text:_,fill:a??d,bl:h(`lnL`,`left`,`insideV`,r===0),br:h(`lnR`,`right`,`insideV`,r===u-1),bt:h(`lnT`,`top`,`insideH`,t===0),bb:h(`lnB`,`bottom`,`insideH`,t===l-1),colSpan:O(e.a.gridSpan,1),rowSpan:O(e.a.rowSpan,1),hidden:e.a.hMerge===`1`||e.a.vMerge===`1`||e.a.hMerge===`true`||e.a.vMerge===`true`}});return{h:M(O(e.a.h,0)),cells:r}})}}};function Nn(e,t,n){let r=e.colors.accent1??`#4472c4`;return e=>{if(t&&e===0)return{fill:{t:`solid`,c:r},color:`#ffffff`,bold:!0};let i=e-+!!t,a=n&&i%2==0?.6:.8;return{fill:{t:`solid`,c:Pn(r,`#ffffff`,a)}}}}function Pn(e,t,n){let r=[1,3,5].map(t=>parseInt(e.slice(t,t+2),16)),i=[1,3,5].map(e=>parseInt(t.slice(e,e+2),16));return`#`+r.map((e,t)=>Math.round(e+(i[t]-e)*n).toString(16).padStart(2,`0`)).join(``)}function Fn(e,t){let n=E(T(e,`pathLst`),`path`),r=``;for(let e of n){let n=O(e.a.w)||1,i=O(e.a.h)||1,a=t.w/n,o=t.h/i,s=e=>`${(O(e?.a.x,0)*a).toFixed(2)} ${(O(e?.a.y,0)*o).toFixed(2)}`,c=0,l=0;for(let t of e.c){let e=E(t,`pt`);switch(t.n){case`moveTo`:r+=`M${s(e[0])} `,c=O(e[0]?.a.x,0)*a,l=O(e[0]?.a.y,0)*o;break;case`lnTo`:r+=`L${s(e[0])} `,c=O(e[0]?.a.x,0)*a,l=O(e[0]?.a.y,0)*o;break;case`cubicBezTo`:r+=`C${e.map(s).join(` `)} `,c=O(e[2]?.a.x,0)*a,l=O(e[2]?.a.y,0)*o;break;case`quadBezTo`:r+=`Q${e.map(s).join(` `)} `,c=O(e[1]?.a.x,0)*a,l=O(e[1]?.a.y,0)*o;break;case`arcTo`:{let e=O(t.a.wR,0)*a,n=O(t.a.hR,0)*o,i=O(t.a.stAng,0)/6e4*(Math.PI/180),s=O(t.a.swAng,0)/6e4*(Math.PI/180),u=c-e*Math.cos(i),d=l-n*Math.sin(i),f=u+e*Math.cos(i+s),p=d+n*Math.sin(i+s);r+=`A${e.toFixed(2)} ${n.toFixed(2)} 0 ${+(Math.abs(s)>Math.PI)} ${+(s>0)} ${f.toFixed(2)} ${p.toFixed(2)} `,c=f,l=p;break}case`close`:r+=`Z `}}}return r.trim()||void 0}var In=class{blob;name;size;constructor(e,t){this.blob=e,this.name=t,this.size=e.size}async read(e,t){return new Uint8Array(await this.blob.slice(e,e+t).arrayBuffer())}stream(e,t){return this.blob.slice(e,e+t).stream()}slice(e,t){return this.blob.slice(e,e+t)}},Ln=class{name;size;bytes;constructor(e,t){this.name=t,this.bytes=e instanceof Uint8Array?e:new Uint8Array(e),this.size=this.bytes.byteLength}async read(e,t){return this.bytes.subarray(e,e+t)}stream(e,t){let n=this.bytes,r=Math.min(e+t,n.byteLength),i=e;return new ReadableStream({pull(e){if(i>=r)return e.close();let t=Math.min(i+1048576,r);e.enqueue(n.slice(i,t)),i=t}})}},Rn=class e{url;size;opts;name;cache=/* @__PURE__ */ new Map;inflight=/* @__PURE__ */ new Map;blockSize;maxBlocks;constructor(e,t,n,r){this.url=e,this.size=t,this.opts=n,this.name=r,this.blockSize=n.blockSize??262144,this.maxBlocks=n.maxBlocks??128}static async open(t,n={}){let r=decodeURIComponent(t.split(/[?#]/)[0].split(`/`).pop()||``)||void 0,i={headers:{...n.headers},credentials:n.credentials,signal:n.signal},a=-1;try{let o=await fetch(t,{...i,headers:{...n.headers,Range:`bytes=0-0`}});if(o.status===206){let s=o.headers.get(`Content-Range`),c=s&&/\\/(\\d+)\\s*$/.exec(s);if(c&&(a=Number(c[1])),await o.body?.cancel(),a<0){let e=await fetch(t,{...i,method:`HEAD`}),n=e.headers.get(`Content-Length`);e.ok&&n&&(a=Number(n))}if(a>0)return new e(t,a,n,r)}else if(o.ok)return new In(await zn(o,n.onProgress),r)}catch(e){if(e?.name===`AbortError`)throw e}let o=await fetch(t,i);if(!o.ok)throw Error(`HTTP ${o.status} while fetching ${t}`);return new In(await zn(o,n.onProgress),r)}async fetchRange(e,t){let n=await fetch(this.url,{headers:{...this.opts.headers,Range:`bytes=${e}-${t-1}`},credentials:this.opts.credentials,signal:this.opts.signal});if(n.status!==206&&!n.ok)throw Error(`HTTP ${n.status} (range ${e}-${t-1})`);let r=new Uint8Array(await n.arrayBuffer());return n.status===206?r:r.subarray(e,t)}async ensureBlocks(e,t){let n=[],r=-1,i=e=>{if(r<0)return;let t=r,i=e,a=this.fetchRange(t*this.blockSize,Math.min((i+1)*this.blockSize,this.size)).then(e=>{for(let n=t;n<=i;n++){let r=(n-t)*this.blockSize;this.cache.set(n,e.subarray(r,Math.min(r+this.blockSize,e.length))),this.inflight.delete(n)}this.evict()});for(let e=t;e<=i;e++)this.inflight.set(e,a);n.push(a),r=-1};for(let a=e;a<=t;a++)if(this.cache.has(a)){i(a-1);let e=this.cache.get(a);this.cache.delete(a),this.cache.set(a,e)}else this.inflight.has(a)?(i(a-1),n.push(this.inflight.get(a))):r<0&&(r=a);i(t),await Promise.all(n)}evict(){for(;this.cache.size>this.maxBlocks;){let e=this.cache.keys().next().value;this.cache.delete(e)}}async read(e,t){let n=Math.min(e+t,this.size);if(n<=e)return/* @__PURE__ */ new Uint8Array;if(n-e>this.maxBlocks*this.blockSize/2)return this.fetchRange(e,n);let r=this.blockSize,i=Math.floor(e/r),a=Math.floor((n-1)/r);await this.ensureBlocks(i,a);let o=new Uint8Array(n-e);for(let t=i;t<=a;t++){let i=this.cache.get(t);if(!i)throw Error(`range block evicted before use`);let a=t*r,s=Math.max(e,a),c=Math.min(n,a+i.length);o.set(i.subarray(s-a,c-a),s-e)}return o}stream(e,t){if(t>2*this.blockSize){let{url:n,opts:r}=this,i;return new ReadableStream({async start(){let a=await fetch(n,{headers:{...r.headers,Range:`bytes=${e}-${e+t-1}`},credentials:r.credentials,signal:r.signal});if(a.status!==206)throw Error(`Range request not honoured (HTTP ${a.status})`);i=a.body.getReader()},async pull(e){let{done:t,value:n}=await i.read();t?e.close():e.enqueue(n)},cancel(){return i?.cancel()}})}let n=e,r=e+t;return new ReadableStream({pull:async e=>{if(n>=r)return e.close();let t=Math.min(this.blockSize,r-n);e.enqueue(await this.read(n,t)),n+=t}})}};async function zn(e,t){let n=Number(e.headers.get(`Content-Length`)||0);if(!e.body||!t)return e.blob();let r=e.body.getReader(),i=[],a=0;for(;;){let{done:e,value:o}=await r.read();if(e)break;i.push(o),a+=o.length,t(a,n)}return new Blob(i)}async function Bn(e,t={}){if(typeof e==`string`||e instanceof URL)return Rn.open(String(e),t);if(e instanceof Uint8Array||e instanceof ArrayBuffer)return new Ln(e,t.name);if(typeof Blob<`u`&&e instanceof Blob)return new In(e,t.name??e.name);throw Error(`Unsupported document source`)}const Vn=[`#NULL!`,`#DIV/0!`,`#VALUE!`,`#REF!`,`#NAME?`,`#NUM!`,`#N/A`];var F=class{code;constructor(e){this.code=e}toString(){return this.code}};const Hn=1048575,Un=16383,I={DIV0:new F(`#DIV/0!`),VALUE:new F(`#VALUE!`),REF:new F(`#REF!`),NAME:new F(`#NAME?`),NA:new F(`#N/A`),NUM:new F(`#NUM!`),NULL:new F(`#NULL!`)};function Wn(e){let t=``,n=e+1;for(;n>0;){let e=(n-1)%26;t=String.fromCharCode(65+e)+t,n=Math.floor((n-1)/26)}return t}function Gn(e){let t=0,n=e.toUpperCase();for(let e=0;e<n.length;e++)t=t*26+(n.charCodeAt(e)-64);return t-1}function Kn(e,t){return e===void 0||t===void 0?e===t:e.toLowerCase()===t.toLowerCase()}function qn(e){return/^[A-Za-z_\\u00A1-\\uFFFF][\\w.\\u00A1-\\uFFFF]*$/.test(e)&&!/^[A-Za-z]{1,3}\\d+$/.test(e)&&!/^(R\\d*C?\\d*|C\\d*)$/i.test(e)&&!/^(TRUE|FALSE)$/i.test(e)?e:`'${e.replace(/'/g,`''`)}'`}const Jn=(e,t,n,r)=>`${r?`$`:``}${Wn(t)}${n?`$`:``}${e+1}`;function Yn(e,t){let n=e.sheet===void 0?``:`${t??qn(e.sheet)}!`;switch(e.kind){case`cell`:return n+Jn(e.r0,e.c0,e.ar0,e.ac0);case`area`:return`${n}${Jn(e.r0,e.c0,e.ar0,e.ac0)}:${Jn(e.r1,e.c1,e.ar1,e.ac1)}`;case`cols`:return`${n}${e.ac0?`$`:``}${Wn(e.c0)}:${e.ac1?`$`:``}${Wn(e.c1)}`;case`rows`:return`${n}${e.ar0?`$`:``}${e.r0+1}:${e.ar1?`$`:``}${e.r1+1}`}}function Xn(e){return e.r0>e.r1&&([e.r0,e.r1]=[e.r1,e.r0],[e.ar0,e.ar1]=[e.ar1,e.ar0]),e.c0>e.c1&&([e.c0,e.c1]=[e.c1,e.c0],[e.ac0,e.ac1]=[e.ac1,e.ac0]),e}function Zn(e){return e.r0>=0&&e.c0>=0&&e.r1<=1048575&&e.c1<=16383&&e.r1>=0&&e.c1>=0}var L=class extends Error{pos;constructor(e,t){super(e),this.pos=t,this.name=`FormulaSyntaxError`}};const Qn=[[`#DIV/0!`,`#DIV/0!`],[`#VALUE!`,`#VALUE!`],[`#REF!`,`#REF!`],[`#NAME?`,`#NAME?`],[`#N/A`,`#N/A`],[`#NUM!`,`#NUM!`],[`#NULL!`,`#NULL!`]],$n=/[\\w.$\\\\\\u00A1-\\uFFFF]/,er=/(\\$?)([A-Za-z]{1,3})(\\$?)(\\d+):(\\$?)([A-Za-z]{1,3})(\\$?)(\\d+)/y,tr=/(\\$?)([A-Za-z]{1,3})(\\$?)(\\d+)/y,nr=/(\\$?)([A-Za-z]{1,3}):(\\$?)([A-Za-z]{1,3})/y,rr=/(\\$?)(\\d+):(\\$?)(\\d+)/y,ir=/(\\d+\\.?\\d*|\\.\\d+)([eE][+-]?\\d+)?/y,ar=[`_XLFN.`,`_XLWS.`,`_XLUDF.`];function or(e,t,n){return e.lastIndex=n,e.exec(t)}const sr=e=>e!==void 0&&$n.test(e);function cr(e){let t=Number(e)-1;return t>=0&&t<=1048575?t:-1}function lr(e){let t=Gn(e);return t<=16383?t:-1}function ur(e,t){let n,r=null;if(n=or(er,e,t)){let[e,t,i,a]=[cr(n[4]),lr(n[2]),cr(n[8]),lr(n[6])];e>=0&&t>=0&&i>=0&&a>=0&&(r={kind:`area`,r0:e,c0:t,r1:i,c1:a,ac0:!!n[1],ar0:!!n[3],ac1:!!n[5],ar1:!!n[7]})}if(!r&&(n=or(tr,e,t))){let[e,t]=[cr(n[4]),lr(n[2])];e>=0&&t>=0&&(r={kind:`cell`,r0:e,c0:t,r1:e,c1:t,ac0:!!n[1],ar0:!!n[3],ac1:!!n[1],ar1:!!n[3]})}if(!r&&(n=or(nr,e,t))){let[e,t]=[lr(n[2]),lr(n[4])];e>=0&&t>=0&&(r={kind:`cols`,r0:0,c0:e,r1:Hn,c1:t,ac0:!!n[1],ar0:!1,ac1:!!n[3],ar1:!1})}if(!r&&(n=or(rr,e,t))){let[e,t]=[cr(n[2]),cr(n[4])];e>=0&&t>=0&&(r={kind:`rows`,r0:e,c0:0,r1:t,c1:Un,ac0:!1,ar0:!!n[1],ac1:!1,ar1:!!n[3]})}if(!r||!n)return null;let i=t+n[0].length,a=e[i];return sr(a)||a===`(`||a===`!`?null:{ref:Xn(r),end:i}}function dr(e,t){let n=e.slice(t,t+7).toUpperCase();for(let[e,r]of Qn)if(n.startsWith(e))return[r,t+e.length];return null}function fr(e){let t=e.toUpperCase();for(let e=!0;e;){e=!1;for(let n of ar)t.startsWith(n)&&(t=t.slice(n.length),e=!0)}return t}function pr(e){let t=[],n=e.length,r=0,i=(r,i,a,o)=>{if(e[i]===`#`){let n=dr(e,i);if(!n)throw new L(`bad error literal`,i);return t.push({t:`err`,v:n[0],sheet:a,s:r,e:n[1]}),n[1]}let s=ur(e,i);if(s)return s.ref.sheet=a,t.push({t:`ref`,ref:s.ref,sheetText:o,s:r,e:s.end}),s.end;let c=i;for(;c<n&&sr(e[c]);)c++;if(c===i)throw new L(`expected reference after !`,i);return t.push({t:`name`,v:e.slice(i,c),sheet:a,s:r,e:c}),c};for(;r<n;){let a=e[r],o=r;if(a===` `||a===`\n`||a===`\\r`||a===` `||a===`\\xA0`){for(;r<n&&/[\\s\\u00A0]/.test(e[r]);)r++;t.push({t:`ws`,s:o,e:r});continue}if(a===`\"`){let i=``;for(r++;;){if(r>=n)throw new L(`unterminated string`,o);if(e[r]===`\"`){if(e[r+1]===`\"`){i+=`\"`,r+=2;continue}r++;break}i+=e[r++]}t.push({t:`str`,v:i,s:o,e:r});continue}if(a===`#`){let n=dr(e,r);if(!n)throw new L(`bad error literal`,r);t.push({t:`err`,v:n[0],s:o,e:n[1]}),r=n[1];continue}if(a===`'`){let t=``,a=r+1;for(;;){if(a>=n)throw new L(`unterminated sheet name`,o);if(e[a]===`'`){if(e[a+1]===`'`){t+=`'`,a+=2;continue}break}t+=e[a++]}if(e[a+1]!==`!`)throw new L(`expected '!' after sheet name`,a+1);r=i(o,a+2,t,e.slice(r,a+1));continue}if(a===`[`){let t=/\\[\\d+\\][\\w.\\u00A1-\\uFFFF]+!/y;if(t.lastIndex=r,!t.exec(e))throw new L(`unexpected '['`,r);let n=t.lastIndex-1,a=e.slice(r,n);r=i(o,n+1,a,a);continue}if(`(){},;`.includes(a)){t.push({t:`punc`,v:a,s:o,e:++r});continue}let s=e.slice(r,r+2);if(s===`<=`||s===`>=`||s===`<>`)t.push({t:`op`,v:s,s:o,e:r+=2});else if(`+-*/^&=<>%:`.includes(a))t.push({t:`op`,v:a,s:o,e:++r});else if(a>=`0`&&a<=`9`||a===`.`&&/\\d/.test(e[r+1]??``)||a===`$`&&/\\d/.test(e[r+1]??``)){let n=ur(e,r);if(n&&n.ref.kind===`rows`){t.push({t:`ref`,ref:n.ref,s:o,e:n.end}),r=n.end;continue}let i=or(ir,e,r);if(!i||a===`$`)throw new L(`bad number`,r);r+=i[0].length,t.push({t:`num`,v:Number(i[0]),s:o,e:r})}else if(sr(a)){let a=r;for(;a<n&&sr(e[a]);)a++;let s=e.slice(r,a);if(e[a]===`!`){r=i(o,a+1,s,s);continue}if(e[a]===`(`){t.push({t:`func`,v:fr(s),s:o,e:a}),r=a;continue}let c=ur(e,r);if(c){t.push({t:`ref`,ref:c.ref,s:o,e:c.end}),r=c.end;continue}let l=s.toUpperCase();if(l===`TRUE`||l===`FALSE`){t.push({t:`bool`,v:l===`TRUE`,s:o,e:a}),r=a;continue}if(e[a]===`[`){let t=0;do e[a]===`[`?t++:e[a]===`]`&&t--,a++;while(a<n&&t>0);if(t>0)throw new L(`unterminated [`,r)}t.push({t:`name`,v:e.slice(r,a),s:o,e:a}),r=a}else throw new L(`unexpected character '${a}'`,r)}return t}function mr(e){let t;try{t=pr(e.trim()).filter(e=>e.t!==`ws`)}catch{return null}let n=t[0];if(!n||n.t!==`ref`)return null;if(t.length===1)return n.ref;let r=t[1],i=t[2];return t.length!==3||r.t!==`op`||r.v!==`:`||i.t!==`ref`||i.ref.sheet!==void 0&&(n.ref.sheet??``).toLowerCase()!==i.ref.sheet.toLowerCase()?null:Xn({...n.ref,kind:`area`,r0:Math.min(n.ref.r0,i.ref.r0),c0:Math.min(n.ref.c0,i.ref.c0),r1:Math.max(n.ref.r1,i.ref.r1),c1:Math.max(n.ref.c1,i.ref.c1)})}const hr=/* @__PURE__ */ new Set([`=`,`<>`,`<`,`>`,`<=`,`>=`]);var gr=class{toks;i=0;constructor(e){this.toks=e}peek(){return this.toks[this.i]}isOp(...e){let t=this.toks[this.i];return t&&t.t===`op`&&e.includes(t.v)?t.v:void 0}isPunc(e){let t=this.toks[this.i];return!!t&&t.t===`punc`&&t.v===e}fail(e){let t=this.toks[this.i];throw new L(e,t?t.s:-1)}expectPunc(e){this.isPunc(e)||this.fail(`expected '${e}'`),this.i++}expr(){let e=this.concat();for(let t=this.cmpOp();t;t=this.cmpOp())this.i++,e={type:`binary`,op:t,left:e,right:this.concat()};return e}cmpOp(){let e=this.peek();return e&&e.t===`op`&&hr.has(e.v)?e.v:void 0}concat(){let e=this.add();for(;this.isOp(`&`);)this.i++,e={type:`binary`,op:`&`,left:e,right:this.add()};return e}add(){let e=this.mul();for(let t=this.isOp(`+`,`-`);t;t=this.isOp(`+`,`-`))this.i++,e={type:`binary`,op:t,left:e,right:this.mul()};return e}mul(){let e=this.pow();for(let t=this.isOp(`*`,`/`);t;t=this.isOp(`*`,`/`))this.i++,e={type:`binary`,op:t,left:e,right:this.pow()};return e}pow(){let e=this.postfix();for(;this.isOp(`^`);)this.i++,e={type:`binary`,op:`^`,left:e,right:this.postfix()};return e}postfix(){let e=this.unary();for(;this.isOp(`%`);)this.i++,e={type:`percent`,arg:e};return e}unary(){let e=this.isOp(`-`,`+`);return e?(this.i++,{type:`unary`,op:e,arg:this.unary()}):this.range()}range(){let e=this.primary();for(;this.isOp(`:`);)this.i++,e={type:`range`,left:e,right:this.primary()};return e}primary(){let e=this.peek();switch(e||this.fail(`unexpected end of formula`),this.i++,e.t){case`num`:return{type:`num`,value:e.v};case`str`:return{type:`str`,value:e.v};case`bool`:return{type:`bool`,value:e.v};case`err`:return{type:`err`,code:e.v};case`ref`:return{type:`ref`,ref:e.ref};case`name`:return e.sheet===void 0?{type:`name`,name:e.v}:{type:`name`,name:e.v,sheet:e.sheet};case`func`:return this.expectPunc(`(`),{type:`call`,name:e.v,args:this.args()};case`punc`:if(e.v===`(`){let e=this.expr();if(!this.isPunc(`,`))return this.expectPunc(`)`),e;let t=[e];for(;this.isPunc(`,`);)this.i++,t.push(this.expr());return this.expectPunc(`)`),{type:`union`,items:t}}if(e.v===`{`)return this.array()}return this.i--,this.fail(`unexpected token`)}args(){let e=[];if(this.isPunc(`)`))return this.i++,e;for(;;){if(e.push(this.isPunc(`,`)||this.isPunc(`)`)?{type:`missing`}:this.expr()),this.isPunc(`)`))return this.i++,e;this.expectPunc(`,`)}}array(){let e=[[]];for(;;){e[e.length-1].push(this.arrayItem());let t=this.peek();if(t&&t.t===`punc`||this.fail(`bad array constant`),this.i++,t.v===`}`)break;t.v===`;`?e.push([]):t.v!==`,`&&this.fail(`bad array constant`)}return e.some(t=>t.length!==e[0].length)&&this.fail(`array rows differ in length`),{type:`array`,rows:e}}arrayItem(){let e=this.isOp(`-`,`+`);e&&this.i++;let t=this.peek();return t||this.fail(`bad array constant`),this.i++,t.t===`num`?e===`-`?-t.v:t.v:(e&&this.fail(`bad array constant`),t.t===`str`||t.t===`bool`?t.v:t.t===`err`?new F(t.v):(this.i--,this.fail(`bad array constant`)))}};function _r(e){let t=pr(e.startsWith(`=`)?e.slice(1):e).filter(e=>e.t!==`ws`);if(!t.length)throw new L(`empty formula`,0);let n=new gr(t),r=n.expr();if(n.i<t.length)throw new L(`unexpected token`,t[n.i].s);return r}const vr=864e5,yr=Date.UTC(1899,11,30),br=Date.UTC(1904,0,1);let xr=!1;function Sr(){return xr}function Cr(e){xr=e}function wr(e,t,n){let r=/* @__PURE__ */ new Date(0);return r.setUTCFullYear(e,t-1,n),r.getTime()}function Tr(e,t,n){let r=wr(e,t,n);if(xr)return Math.round((r-br)/vr);let i=Math.round((r-yr)/vr);return i<61?i-1:i}function Er(e){let t=Math.floor(e);if(xr){let e=new Date(br+t*vr);return{y:e.getUTCFullYear(),m:e.getUTCMonth()+1,d:e.getUTCDate(),dow:((t+5)%7+7)%7}}let n=((t-1)%7+7)%7;if(t===60)return{y:1900,m:2,d:29,dow:n};if(t===0)return{y:1900,m:1,d:0,dow:n};let r=new Date(yr+(t<60?t+1:t)*vr);return{y:r.getUTCFullYear(),m:r.getUTCMonth()+1,d:r.getUTCDate(),dow:n}}function Dr(e){return Math.round((e-Math.floor(e))*86400)%86400}function Or(e,t){return new Date(wr(e,t+1,0)).getUTCDate()}function kr(e){return Tr(e.getFullYear(),e.getMonth()+1,e.getDate())+(e.getHours()*3600+e.getMinutes()*60+e.getSeconds()+e.getMilliseconds()/1e3)/86400}const Ar=/^(\\d{1,4}):(\\d{1,2})(?::(\\d{1,2}(?:\\.\\d+)?))?\\s*([ap]m?)?$/i,jr=/^(\\d{4})[-/](\\d{1,2})[-/](\\d{1,2})(?:[T\\s]+(.+))?$/i,Mr=/^(\\d{1,2})[-/](\\d{1,2})[-/](\\d{4}|\\d{2})(?:\\s+(.+))?$/;function Nr(e){let t=Ar.exec(e.trim());if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=t[3]?Number(t[3]):0;if(r>59||i>=60)return null;if(t[4]){if(n<1||n>12)return null;let e=t[4][0].toLowerCase()===`p`;n=n%12+(e?12:0)}return(n*3600+r*60+i)/86400}function Pr(e,t,n){if(t<1||t>12||n<1||n>Or(e,t))return null;let r=Tr(e,t,n);return r<0?null:r}function Fr(e){let t=jr.exec(e),n=null,r;if(t)n=Pr(Number(t[1]),Number(t[2]),Number(t[3])),r=t[4];else if(t=Mr.exec(e)){let e=Number(t[3]);t[3].length===2&&(e+=e<30?2e3:1900),n=Pr(e,Number(t[1]),Number(t[2])),r=t[4]}else return Nr(e);if(n===null)return null;if(r===void 0)return n;let i=Nr(r);return i===null?null:n+i}const Ir=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Lr=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function Rr(e){let t=[],n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i];a===`\\\\`&&!r?(n+=a+(e[i+1]??``),i++):(a===`\"`&&(r=!r),a===`;`&&!r?(t.push(n),n=``):n+=a)}return t.push(n),t}function zr(e){return e.replace(/\"[^\"]*\"/g,``).replace(/\\\\./g,``).replace(/\\[[^\\]]*\\]/g,``).replace(/[_*]./g,``)}function Br(e){return/[ymdhs]/i.test(zr(e))||/\\[(h+|m+|s+)\\]/i.test(e)}function Vr(e,t){let n=[];for(let e=0;e<t.length;){let r=t[e],i=r.toLowerCase();if(r===`\"`){let r=t.indexOf(`\"`,e+1),i=r<0?t.length:r;n.push({k:`lit`,v:t.slice(e+1,i)}),e=i+1}else if(r===`\\\\`)n.push({k:`lit`,v:t[e+1]??``}),e+=2;else if(r===`_`)n.push({k:`lit`,v:` `}),e+=2;else if(r===`*`)e+=2;else if(r===`[`){let r=t.indexOf(`]`,e),i=t.slice(e+1,r<0?t.length:r).toLowerCase();/^h+$/.test(i)?n.push({k:`H`,n:i.length}):/^m+$/.test(i)?n.push({k:`N`,n:i.length}):/^s+$/.test(i)&&n.push({k:`S`,n:i.length}),e=r<0?t.length:r+1}else if(t.slice(e,e+5).toUpperCase()===`AM/PM`)n.push({k:`ap`,v:t.slice(e,e+5)}),e+=5;else if(t.slice(e,e+3).toUpperCase()===`A/P`)n.push({k:`ap`,v:t.slice(e,e+3)}),e+=3;else if(`ymdhs`.includes(i)){let r=e;for(;r<t.length&&t[r].toLowerCase()===i;)r++;n.push({k:i===`m`?`M`:i,n:r-e}),e=r}else n.push({k:`lit`,v:r}),e++}let r=n.filter(e=>e.k!==`lit`);r.forEach((e,t)=>{if(e.k!==`M`||e.n>2)return;let n=r[t-1],i=r[t+1];(n&&(n.k===`h`||n.k===`H`)||i&&(i.k===`s`||i.k===`S`))&&(e.k=`m`)});let i=n.some(e=>e.k===`ap`),a=Math.floor(e),o=Math.round((e-a)*86400);o>=86400&&(a++,o-=86400);let s=Er(a),c=Math.floor(o/3600),l=Math.floor(o%3600/60),u=o%60,d=(e,t)=>String(e).padStart(t,`0`),f=``;for(let e of n)switch(e.k){case`lit`:f+=e.v;break;case`y`:f+=e.n<=2?d(s.y%100,2):d(s.y,4);break;case`M`:f+=e.n===1?s.m:e.n===2?d(s.m,2):e.n===3?Ir[s.m-1].slice(0,3):e.n===4?Ir[s.m-1]:Ir[s.m-1][0];break;case`d`:f+=e.n===1?s.d:e.n===2?d(s.d,2):e.n===3?Lr[s.dow].slice(0,3):Lr[s.dow];break;case`h`:{let t=i?c%12||12:c;f+=e.n>=2?d(t,2):t;break}case`m`:f+=e.n>=2?d(l,2):l;break;case`s`:f+=e.n>=2?d(u,2):u;break;case`H`:f+=d(a*24+c,e.n);break;case`N`:f+=d((a*24+c)*60+l,e.n);break;case`S`:f+=d(((a*24+c)*60+l)*60+u,e.n);break;case`ap`:{let t=c<12,n=e.v.length===5?t?e.v.slice(0,2):e.v.slice(3,5):t?e.v[0]:e.v[2];f+=n;break}}return f}var R=class{sheet;r0;c0;r1;c1;constructor(e,t,n,r,i){this.sheet=e,this.r0=t,this.c0=n,this.r1=r,this.c1=i}get h(){return this.r1-this.r0+1}get w(){return this.c1-this.c0+1}},z=class{data;constructor(e){this.data=e}get h(){return this.data.length}get w(){return this.data[0]?.length??0}},B=class{areas;constructor(e){this.areas=e}};const Hr=/^([+-])?\\s*\\$?\\s*((?:\\d{1,3}(?:,\\d{3})+|\\d*)(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*(%?)$/;function Ur(e){let t=e.trim();if(!t)return null;let n=Hr.exec(t);if(n&&/\\d/.test(n[2])){let e=Number(n[2].replace(/,/g,``));if(!Number.isNaN(e))return(n[1]===`-`?-e:e)/(n[3]?100:1)}return Fr(t)}function Wr(e){if(!Number.isFinite(e))return`#NUM!`;if(e===0)return`0`;let[t,n]=Math.abs(e).toExponential(14).split(`e`),r=Number(n),i=t.replace(`.`,``).replace(/0+$/,``),a=e<0?`-`:``;if(r>=15||r<-9)return`${a}${i[0]+(i.length>1?`.${i.slice(1)}`:``)}E${r<0?`-`:`+`}${String(Math.abs(r)).padStart(2,`0`)}`;if(r<0)return`${a}0.${`0`.repeat(-r-1)}${i}`;let o=i.slice(0,r+1).padEnd(r+1,`0`),s=i.slice(r+1);return a+o+(s?`.${s}`:``)}function Gr(e){if(typeof e==`number`)return e;if(e===null)return 0;if(typeof e==`boolean`)return+!!e;if(typeof e==`string`){let t=Ur(e);return t===null?I.VALUE:t}return e}function Kr(e){return typeof e==`string`?e:typeof e==`number`?Wr(e):e===null?``:typeof e==`boolean`?e?`TRUE`:`FALSE`:e}function qr(e){if(typeof e==`boolean`)return e;if(typeof e==`number`)return e!==0;if(e===null)return!1;if(typeof e==`string`){let t=e.toUpperCase();return t===`TRUE`||t!==`FALSE`&&I.VALUE}return e}function V(e){let t=Gr(e);if(t instanceof F)throw t;return t}function H(e){return Math.trunc(V(e))}function U(e){let t=Kr(e);if(t instanceof F)throw t;return t}function Jr(e){let t=qr(e);if(t instanceof F)throw t;return t}function Yr(e,t){return e===t||Math.abs(e-t)<=Math.max(Math.abs(e),Math.abs(t))*1e-15}const Xr=e=>typeof e==`number`?0:typeof e==`string`?1:2;function W(e,t){if(e===null&&(e=typeof t==`string`?``:typeof t!=`boolean`&&0),t===null&&(t=typeof e==`string`?``:typeof e!=`boolean`&&0),e instanceof F||t instanceof F)return 0;let n=Xr(e),r=Xr(t);if(n!==r)return n<r?-1:1;if(typeof e==`number`){let n=t;return Yr(e,n)?0:e<n?-1:1}if(typeof e==`string`){let n=e.toLowerCase(),r=t.toLowerCase();return n<r?-1:+(n>r)}return!!e-+!!t}function Zr(e,t){return e===null||t===null?e===t:e instanceof F||t instanceof F?!1:typeof e==typeof t&&W(e,t)===0}const Qr=e=>/[*?~]/.test(e);function $r(e,t=!0){let n=``;for(let t=0;t<e.length;t++){let r=e[t];r===`~`&&t+1<e.length&&`*?~`.includes(e[t+1])?n+=`\\\\${e[++t]}`:n+=r===`*`?`[\\\\s\\\\S]*`:r===`?`?`[\\\\s\\\\S]`:r.replace(/[.*+?^${}()|[\\]\\\\/]/g,`\\\\$&`)}return new RegExp(t?`^${n}$`:n,`i`)}function ei(e,t){switch(e){case`<`:return t<0;case`<=`:return t<=0;case`>`:return t>0;case`>=`:return t>=0;case`<>`:return t!==0;default:return t===0}}const ti=e=>Vn.find(t=>t===e.toUpperCase());function ni(e){if(e instanceof F){let t=e.code;return e=>e instanceof F&&e.code===t}if(e===null&&(e=0),typeof e==`number`){let t=e;return e=>typeof e==`number`&&Yr(e,t)||typeof e==`string`&&Ur(e)===t}if(typeof e==`boolean`){let t=e;return e=>e===t}let t=/^(<=|>=|<>|<|>|=)?([\\s\\S]*)$/.exec(e),n=t[1]??``,r=t[2],i=n===``||n===`=`;if(r===``)return n===``?e=>e===null||e===``:n===`=`?e=>e===null:n===`<>`?e=>e!==null&&e!==``:()=>!1;let a=Ur(r);if(a!==null)return i?e=>typeof e==`number`&&Yr(e,a)||typeof e==`string`&&Ur(e)===a:n===`<>`?e=>!(typeof e==`number`&&Yr(e,a)):e=>typeof e==`number`&&ei(n,W(e,a));let o=r.toUpperCase();if(o===`TRUE`||o===`FALSE`){let e=o===`TRUE`;return i?t=>t===e:n===`<>`?t=>t!==e:t=>typeof t==`boolean`&&ei(n,W(t,e))}let s=ti(r);if(s){let e=e=>e instanceof F&&e.code===s;return n===`<>`?t=>!e(t):t=>e(t)}if(i||n===`<>`){let e=$r(r),t=t=>typeof t==`string`&&e.test(t);return n===`<>`?e=>!t(e):t}return e=>typeof e==`string`&&ei(n,W(e,r))}const G=1/0;function ri(e){try{return e()}catch(e){if(e instanceof F)return e;throw e}}function ii(e,t,n){let r=e.length===1?0:t,i=e[0].length===1?0:n;return r<e.length&&i<e[0].length?e[r][i]:I.NA}function K(e,t,n){return{kind:`eager`,min:e,max:t,scalarArgs:!0,fn:(e,t,r)=>{let i=1,a=1,o=!1,s=e.map(e=>{if(e instanceof R){if(e.h===1&&e.w===1)return t.cell(e.sheet,e.r0,e.c0);if(r)return t.scalar(e)}else if(e instanceof z){if(e.h===1&&e.w===1)return e.data[0][0]}else if(e instanceof B)return I.VALUE;else return e;let n=t.toArray(e);return o=!0,i=Math.max(i,n.length),a=Math.max(a,n[0].length),n});if(!o)return ri(()=>n(s,t));let c=[];for(let e=0;e<i;e++){let r=[];for(let i=0;i<a;i++){let a=s.map(t=>Array.isArray(t)?ii(t,e,i):t);r.push(ri(()=>n(a,t)))}c.push(r)}return new z(c)}}}function q(e,t,n){return{kind:`eager`,min:e,max:t,scalarArgs:!1,fn:n}}function ai(e,t,n){return{kind:`lazy`,min:e,max:t,fn:n}}function oi(e,t,n,r){if(e instanceof R)t.forEach(e,n);else if(e instanceof B)for(let r of e.areas)t.forEach(r,n);else if(e instanceof z)for(let t of e.data)for(let e of t)n(e);else r(e)}function si(e,t,n){for(let r of e)oi(r,t,e=>{if(typeof e==`number`)n(e);else if(e instanceof F)throw e},e=>{let t=Gr(e);if(t instanceof F)throw t;n(t)})}function J(e,t){let n=[];return si(e,t,e=>n.push(e)),n}function ci(e){return e.length===1?e[0]:e.flat()}function Y(e,t,n){if(e.length<=t)return n;let r=Gr(e[t]);if(r instanceof F)throw r;return r}function li(e){let t=V(e);if(t<0)throw I.NUM;return t}const X=e=>Math.floor(li(e));function ui(e,t,n){let r=Er(e),i=r.y*12+(r.m-1)+Math.trunc(t),a=Math.floor(i/12),o=i%12+1,s=Tr(a,o,n?Or(a,o):Math.min(r.d,Or(a,o)));if(s<0)throw I.NUM;return s}const di={1:[0,1],2:[1,1],3:[1,0],11:[1,1],12:[2,1],13:[3,1],14:[4,1],15:[5,1],16:[6,1],17:[0,1]};function fi(e,t,n){if(e>t)throw I.NUM;let r=Er(e),i=Er(t),a=(i.y-r.y)*12+(i.m-r.m)-+(i.d<r.d);switch(n.toUpperCase()){case`D`:return t-e;case`M`:return a;case`Y`:return Math.floor(a/12);case`YM`:return a%12;case`MD`:{if(i.d>=r.d)return i.d-r.d;let e=i.m===1?12:i.m-1;return Or(i.m===1?i.y-1:i.y,e)-r.d+i.d}case`YD`:{let e=Tr(i.y,r.m,Math.min(r.d,Or(i.y,r.m)));return e>t&&(e=Tr(i.y-1,r.m,Math.min(r.d,Or(i.y-1,r.m)))),t-e}}throw I.NUM}function pi(e,t,n){let r=e<=t?1:-1,[i,a]=e<=t?[e,t]:[t,e],o=0;for(let e=i;e<=a;e++){let t=Er(e).dow;t!==0&&t!==6&&!n.has(e)&&o++}return r*o}const mi={TODAY:q(0,0,(e,t)=>Math.floor(kr(t.now()))),NOW:q(0,0,(e,t)=>kr(t.now())),DATE:K(3,3,([e,t,n])=>{let r=Math.trunc(V(e));if(r>=0&&r<1900&&(r+=1900),r<0||r>9999)throw I.NUM;let i=Tr(r,Math.trunc(V(t)),Math.trunc(V(n)));if(i<0)throw I.NUM;return i}),TIME:K(3,3,([e,t,n])=>{let r=Math.trunc(V(e))*3600+Math.trunc(V(t))*60+Math.trunc(V(n));if(r<0)throw I.NUM;return r%86400/86400}),YEAR:K(1,1,([e])=>Er(X(e)).y),MONTH:K(1,1,([e])=>Er(X(e)).m),DAY:K(1,1,([e])=>Er(X(e)).d),HOUR:K(1,1,([e])=>Math.floor(Dr(li(e))/3600)),MINUTE:K(1,1,([e])=>Math.floor(Dr(li(e))%3600/60)),SECOND:K(1,1,([e])=>Dr(li(e))%60),WEEKDAY:K(1,2,e=>{let t=Er(X(e[0])).dow,n=di[Math.trunc(Y(e,1,1))];if(!n)throw I.NUM;return(t-n[0]+7)%7+n[1]}),EDATE:K(2,2,([e,t])=>ui(X(e),V(t),!1)),EOMONTH:K(2,2,([e,t])=>ui(X(e),V(t),!0)),DATEDIF:K(3,3,([e,t,n])=>fi(X(e),X(t),U(n))),DAYS:K(2,2,([e,t])=>Math.floor(V(e))-Math.floor(V(t))),NETWORKDAYS:q(2,3,(e,t)=>{let n=new Set(e.length>2?J([e[2]],t).map(Math.floor):[]);return pi(X(t.scalar(e[0])),X(t.scalar(e[1])),n)})},Z=(e,t,n)=>e.type===`missing`?0:t.eval(e,n);function hi(e,t){let n=[];for(let r of e)oi(r,t,e=>{if(typeof e==`boolean`)n.push(e);else if(typeof e==`number`)n.push(e!==0);else if(e instanceof F)throw e},e=>n.push(Jr(e)));if(!n.length)throw I.VALUE;return n}const gi=ai(2,3,(e,t,n)=>{let r=t.operand(t.eval(e[0],n),n),i=e[1],a=e[2];if(!Array.isArray(r)){let e=qr(r);return e instanceof F?e:e?Z(i,t,n):a?Z(a,t,n):!1}let o=t.operand(Z(i,t,!1),!1),s=a?t.operand(Z(a,t,!1),!1):!1;return new z(r.map((e,t)=>e.map((e,n)=>{let r=qr(e);if(r instanceof F)return r;let i=r?o:s;return Array.isArray(i)?ii(i,t,n):i})))});function _i(e){return ai(2,2,(t,n,r)=>{let i=n.eval(t[0],r),a=n.operand(i,r),o=t=>t instanceof F&&(!e||t.code===`#N/A`);if(Array.isArray(a)){if(!a.some(e=>e.some(o)))return i;let e=n.scalar(Z(t[1],n,!1));return new z(a.map(t=>t.map(t=>o(t)?e:t)))}return o(a)?Z(t[1],n,r):a})}const vi={IF:gi,IFS:ai(2,G,(e,t,n)=>{if(e.length%2)return I.VALUE;for(let r=0;r<e.length;r+=2){let i=t.scalar(t.eval(e[r],n));if(i instanceof F)return i;if(Jr(i))return Z(e[r+1],t,n)}return I.NA}),IFERROR:_i(!1),IFNA:_i(!0),AND:q(1,G,(e,t)=>hi(e,t).every(Boolean)),OR:q(1,G,(e,t)=>hi(e,t).some(Boolean)),XOR:q(1,G,(e,t)=>hi(e,t).filter(Boolean).length%2==1),NOT:K(1,1,([e])=>!Jr(e)),TRUE:q(0,0,()=>!0),FALSE:q(0,0,()=>!1),SWITCH:ai(3,G,(e,t,n)=>{let r=t.scalar(t.eval(e[0],n));if(r instanceof F)return r;let i=1;for(;i+1<e.length;i+=2){let a=t.scalar(Z(e[i],t,n));if(a instanceof F)return a;if(Zr(r,a)||r===null&&W(r,a)===0)return Z(e[i+1],t,n)}return i<e.length?Z(e[i],t,n):I.NA}),CHOOSE:ai(2,G,(e,t,n)=>{let r=H(t.scalar(t.eval(e[0],n)));return r<1||r>=e.length?I.VALUE:Z(e[r],t,n)}),ISBLANK:K(1,1,([e])=>e===null),ISNUMBER:K(1,1,([e])=>typeof e==`number`),ISTEXT:K(1,1,([e])=>typeof e==`string`),ISNONTEXT:K(1,1,([e])=>typeof e!=`string`),ISLOGICAL:K(1,1,([e])=>typeof e==`boolean`),ISERROR:K(1,1,([e])=>e instanceof F),ISERR:K(1,1,([e])=>e instanceof F&&e.code!==`#N/A`),ISNA:K(1,1,([e])=>e instanceof F&&e.code===`#N/A`),ISEVEN:K(1,1,([e])=>Math.trunc(V(e))%2==0),ISODD:K(1,1,([e])=>Math.abs(Math.trunc(V(e)))%2==1),NA:q(0,0,()=>I.NA),\"ERROR.TYPE\":K(1,1,([e])=>e instanceof F?Vn.indexOf(e.code)+1:I.NA),N:K(1,1,([e])=>e instanceof F||typeof e==`number`?e:typeof e==`boolean`?+!!e:0),T:K(1,1,([e])=>e instanceof F||typeof e==`string`?e:``)};function yi(e,t,n){if(n&&typeof t==`string`&&Qr(t)){let n=$r(t);return e.findIndex(e=>typeof e==`string`&&n.test(e))}return e.findIndex(e=>Zr(e,t))}function bi(e,t,n){let r=-1;for(let i=0;i<e.length;i++){let a=e[i];if(a===null||a instanceof F||typeof a!=typeof t)continue;let o=W(a,t);if(n===1?o<=0:o>=0)r=i;else break}return r}function xi(e,t){let n=t.scalar(e);if(n instanceof F)throw n;return n}function Si(e,t){if(e instanceof B)throw I.VALUE;return t.toArray(e)}function Ci(e,t,n){let r=xi(e[0],t),i=Si(e[1],t),a=H(t.scalar(e[2])),o=e.length>3?Jr(t.scalar(e[3])):!0,s=n?i[0].length:i.length;if(a<1)throw I.VALUE;if(a>s)throw I.REF;let c=n?i.map(e=>e[0]):i[0],l=o?bi(c,r,1):yi(c,r,!0);if(l<0)throw I.NA;return n?i[l][a-1]:i[a-1][l]}function wi(e,t){let n=xi(e[0],t),r=Si(e[1],t);if(r.length>1&&r[0].length>1)throw I.NA;let i=ci(r),a=e.length>2?Math.sign(V(t.scalar(e[2]))):1,o=a===0?yi(i,n,!0):bi(i,n,a);if(o<0)throw I.NA;return o+1}function Ti(e,t,n,r){if(e instanceof R)return r?new R(e.sheet,e.r0+n,e.c0,e.r0+n,e.c1):new R(e.sheet,e.r0,e.c0+n,e.r1,e.c0+n);let i=r?[t[n]]:t.map(e=>[e[n]]);return i[0].length===1&&i.length===1?i[0][0]:new z(i)}function Ei(e,t){let n=xi(e[0],t),r=Si(e[1],t),i=Si(e[2],t),a=r[0].length===1;if(!a&&r.length!==1||(a?i.length!==r.length:i[0].length!==r[0].length))throw I.VALUE;let o=e.length>3&&e[3]!==null?e[3]:void 0,s=e.length>4?H(t.scalar(e[4])):0,c=e.length>5?H(t.scalar(e[5])):1,l=ci(r),u=c<0;u&&(l=[...l].reverse());let d=-1;if(s===0||s===2)d=yi(l,n,s===2);else if(s===1||s===-1){if(d=yi(l,n,!1),d<0){let e=null;for(let t=0;t<l.length;t++){let r=l[t];if(r===null||r instanceof F||typeof r!=typeof n)continue;let i=W(r,n);(s===1?i>0&&(e===null||W(r,e)<0):i<0&&(e===null||W(r,e)>0))&&(e=r,d=t)}}}else throw I.VALUE;if(d<0){if(o!==void 0)return o;throw I.NA}return u&&(d=l.length-1-d),Ti(e[2],i,d,a)}function Di(e,t){let n=xi(e[0],t),r=Si(e[1],t),i,a;e.length>2?(i=ci(r),a=ci(Si(e[2],t))):r[0].length>r.length?(i=r[0],a=r[r.length-1]):(i=r.map(e=>e[0]),a=r.map(e=>e[e.length-1]));let o=bi(i,n,1);if(o<0||o>=a.length)throw I.NA;return a[o]}function Oi(e,t){let n=e[0];if(n instanceof B){let r=e.length>3?H(t.scalar(e[3])):1;if(r<1||r>n.areas.length)throw I.REF;n=n.areas[r-1]}let r=n instanceof R||n instanceof z?n.h:1,i=n instanceof R||n instanceof z?n.w:1,a=H(t.scalar(e[1])),o;if(e.length>2?o=H(t.scalar(e[2])):r===1?[a,o]=[1,a]:o=+(i===1),a<0||o<0||a>r||o>i)throw I.REF;if(n instanceof R){let[e,t]=a?[n.r0+a-1,n.r0+a-1]:[n.r0,n.r1],[r,i]=o?[n.c0+o-1,n.c0+o-1]:[n.c0,n.c1];return new R(n.sheet,e,r,t,i)}if(n instanceof z){let e=(a?[n.data[a-1]]:n.data).map(e=>o?[e[o-1]]:e);return e.length===1&&e[0].length===1?e[0][0]:new z(e)}return n}function ki(e,t){let n=e[0];if(!(n instanceof R))throw I.VALUE;let r=H(t.scalar(e[1])),i=H(t.scalar(e[2])),a=e.length>3&&e[3]!==null?H(t.scalar(e[3])):n.h,o=e.length>4&&e[4]!==null?H(t.scalar(e[4])):n.w;if(a===0||o===0)throw I.REF;let s=n.r0+r,c=n.c0+i,l=s+a-1,u=c+o-1;if(a<0&&([s,l]=[s+a+1,s]),o<0&&([c,u]=[c+o+1,c]),s<0||c<0||l>1048575||u>16383)throw I.REF;return new R(n.sheet,s,c,l,u)}function Ai(e,t){let n=/^(?:(?:'((?:[^']|'')+)'|([^'!]+))!)?(R(\\[-?\\d+\\]|\\d*)C(\\[-?\\d+\\]|\\d*))(?::(R(\\[-?\\d+\\]|\\d*)C(\\[-?\\d+\\]|\\d*)))?$/i.exec(e.trim());if(!n)return null;let r=(e,t)=>e===``?t:e[0]===`[`?t+Number(e.slice(1,-1)):Number(e)-1,i=r(n[4],t.r),a=r(n[5],t.c),o=n[6]?r(n[7],t.r):i,s=n[6]?r(n[8],t.c):a;return{sheet:n[1]===void 0?n[2]:n[1].replace(/''/g,`'`),kind:`area`,r0:Math.min(i,o),c0:Math.min(a,s),r1:Math.max(i,o),c1:Math.max(a,s),ar0:!0,ac0:!0,ar1:!0,ac1:!0}}function ji(e,t){let n=U(t.scalar(e[0])),r=!(e.length>1)||Jr(t.scalar(e[1]))?mr(n):Ai(n,t);if(!r||r.r0<0||r.c0<0||r.r1>1048575||r.c1>16383||r.sheet!==void 0&&!t.hasSheet(r.sheet))throw I.REF;return new R(r.sheet??t.sheet,r.r0,r.c0,r.r1,r.c1)}function Mi(e,t,n,r){if(!e.length||e[0]===null)return(r?t.r:t.c)+1;let i=e[0];if(!(i instanceof R))throw I.VALUE;let a=r?i.r0:i.c0,o=r?i.h:i.w;if(o===1||n)return a+1;let s=Array.from({length:o},(e,t)=>a+t+1);return new z(r?s.map(e=>[e]):[s])}function Ni(e,t){if(e instanceof R||e instanceof z)return t?e.h:e.w;if(e instanceof B)throw I.REF;if(e instanceof F)throw e;return 1}const Pi={VLOOKUP:q(3,4,(e,t)=>Ci(e,t,!0)),HLOOKUP:q(3,4,(e,t)=>Ci(e,t,!1)),XLOOKUP:q(3,6,Ei),MATCH:q(2,3,wi),LOOKUP:q(2,3,Di),INDEX:q(2,4,Oi),OFFSET:q(3,5,ki),INDIRECT:q(1,2,ji),ROW:q(0,1,(e,t,n)=>Mi(e,t,n,!0)),COLUMN:q(0,1,(e,t,n)=>Mi(e,t,n,!1)),ROWS:q(1,1,([e])=>Ni(e,!0)),COLUMNS:q(1,1,([e])=>Ni(e,!1))};function Fi(e,t){if(t>15)return e;let n=10**Math.abs(t),r=Math.abs(e),i=t>=0?r*n:r/n;i=Math.floor(Number(i.toPrecision(15))+.5);let a=t>=0?i/n:i*n;return e<0?-a:a}function Ii(e,t,n){let r=``,i=``,a=``,o=0,s=e=>{a?i+=e:r+=e};for(let e=0;e<t.length;e++){let n=t[e];if(n===`\"`){let n=t.indexOf(`\"`,e+1),r=n<0?t.length:n;s(t.slice(e+1,r)),e=r}else if(n===`\\\\`)s(t[++e]??``);else if(n===`_`)s(` `),e++;else if(n===`*`)e++;else if(n===`[`){let n=t.indexOf(`]`,e);e=n<0?t.length:n}else`0#?`.includes(n)||(n===`.`||n===`,`)&&!i?a+=n:(n===`%`&&o++,s(n))}let c=a,l=e*100**o;for(;c.endsWith(`,`);)c=c.slice(0,-1),l/=1e3;let u=c.indexOf(`.`),d=u<0?c:c.slice(0,u),f=u<0?``:c.slice(u+1),p=(f.match(/[0#?]/g)??[]).length,m=(f.match(/[0?]/g)??[]).length,h=(d.match(/[0?]/g)??[]).length,g=Fi(Math.abs(l),p),[_,v=``]=g.toFixed(p).split(`.`);for(_===`0`&&h===0&&(_=``),_=_.padStart(h,`0`),d.includes(`,`)&&(_=_.replace(/\\B(?=(\\d{3})+(?!\\d))/g,`,`));v.length>m&&v.endsWith(`0`);)v=v.slice(0,-1);let y=c===``?``:_+(u>=0?`.${v}`:``);return(n&&l<0&&g!==0?`-`:``)+r+y+i}function Li(e,t){if(e instanceof F)throw e;if(typeof e==`boolean`)return e?`TRUE`:`FALSE`;let n,r=Rr(t);if(typeof e==`string`){let t=Ur(e);if(t===null){let t=r.length>3?r[3]:r.find(e=>e.includes(`@`));return t===void 0?e:t.replace(/\"([^\"]*)\"/g,`$1`).replace(/@/g,e)}n=t}else n=e??0;let i=r[0],a=!0;if(n<0&&r.length>1&&r[1]!==``?(i=r[1],a=!1):n===0&&r.length>2&&r[2]!==``&&(i=r[2]),/^\\s*general\\s*$/i.test(i)||i===``)return Wr(a?n:Math.abs(n));if(Br(i)){if(n<0)throw I.VALUE;return Vr(n,i)}return Ii(a?n:Math.abs(n),i,a)}const Ri=e=>Number(e.toPrecision(15));function zi(e,t,n){if(t>15)return e;let r=10**Math.abs(t),i=Math.abs(e),a=Ri(t>=0?i*r:i/r);a=n?Math.ceil(a):Math.floor(a);let o=t>=0?a/r:a*r;return e<0?-o:o}function Bi(e){if(!Number.isFinite(e))throw I.NUM;return e}const Vi=(e,t,n)=>Ri((n?Math.ceil:Math.floor)(Ri(e/t))*t);function Hi(e,t){for(;t;)[e,t]=[t,e%t];return e}function Ui(e,t){return J(e,t).map(e=>{if(e<0)throw I.NUM;return Math.trunc(e)})}const Wi={ABS:K(1,1,([e])=>Math.abs(V(e))),ROUND:K(2,2,([e,t])=>Fi(V(e),H(t))),ROUNDUP:K(2,2,([e,t])=>zi(V(e),H(t),!0)),ROUNDDOWN:K(2,2,([e,t])=>zi(V(e),H(t),!1)),TRUNC:K(1,2,e=>zi(V(e[0]),Math.trunc(Y(e,1,0)),!1)),INT:K(1,1,([e])=>Math.floor(V(e))),MOD:K(2,2,([e,t])=>{let n=V(e),r=V(t);if(r===0)throw I.DIV0;return Ri(n-r*Math.floor(n/r))}),POWER:K(2,2,([e,t])=>{let n=V(e),r=V(t);if(n===0&&r===0)throw I.NUM;if(n===0&&r<0)throw I.DIV0;let i=n**+r;if(Number.isNaN(i))throw I.NUM;return Bi(i)}),SQRT:K(1,1,([e])=>{let t=V(e);if(t<0)throw I.NUM;return Math.sqrt(t)}),EXP:K(1,1,([e])=>Bi(Math.exp(V(e)))),LN:K(1,1,([e])=>{let t=V(e);if(t<=0)throw I.NUM;return Math.log(t)}),LOG:K(1,2,e=>{let t=V(e[0]),n=Y(e,1,10);if(t<=0||n<=0)throw I.NUM;if(n===1)throw I.DIV0;return Ri(Math.log(t)/Math.log(n))}),LOG10:K(1,1,([e])=>{let t=V(e);if(t<=0)throw I.NUM;return Math.log10(t)}),PI:q(0,0,()=>Math.PI),SIGN:K(1,1,([e])=>Math.sign(V(e))),CEILING:K(1,2,e=>{let t=V(e[0]),n=Y(e,1,1);if(n===0||t===0)return 0;if(t>0&&n<0)throw I.NUM;return Vi(t,n,!0)}),FLOOR:K(1,2,e=>{let t=V(e[0]),n=Y(e,1,1);if(n===0)throw I.DIV0;if(t>0&&n<0)throw I.NUM;return Vi(t,n,!1)}),\"CEILING.MATH\":K(1,3,e=>{let t=V(e[0]),n=Math.abs(Y(e,1,1));return n===0||t===0?0:t<0&&Y(e,2,0)!==0?-Vi(-t,n,!0):Vi(t,n,!0)}),\"FLOOR.MATH\":K(1,3,e=>{let t=V(e[0]),n=Math.abs(Y(e,1,1));return n===0||t===0?0:t<0&&Y(e,2,0)!==0?-Vi(-t,n,!1):Vi(t,n,!1)}),RAND:q(0,0,()=>Math.random()),RANDBETWEEN:K(2,2,([e,t])=>{let n=Math.ceil(V(e)),r=Math.floor(V(t));if(n>r)throw I.NUM;return n+Math.floor(Math.random()*(r-n+1))}),FACT:K(1,1,([e])=>{let t=Math.trunc(V(e));if(t<0)throw I.NUM;let n=1;for(let e=2;e<=t;e++)n*=e;return Bi(n)}),EVEN:K(1,1,([e])=>{let t=V(e),n=Math.ceil(Ri(Math.abs(t)/2))*2;return t<0?-n:n}),ODD:K(1,1,([e])=>{let t=V(e),n=Math.ceil(Ri(Math.abs(t)));return n%2==0&&n++,t<0?-n:n}),GCD:q(1,G,(e,t)=>Ui(e,t).reduce((e,t)=>Hi(e,t),0)),LCM:q(1,G,(e,t)=>Bi(Ui(e,t).reduce((e,t)=>e===0||t===0?0:e/Hi(e,t)*t,1)))};function Gi(e){let t=0;for(let n of e)t+=n;return t}function Ki(e){if(!e.length)throw I.DIV0;return Gi(e)/e.length}function qi(e,t){let n=e.length;if(n<(t?2:1))throw I.DIV0;let r=Gi(e)/n,i=0;for(let t of e)i+=(t-r)*(t-r);return i/(t?n-1:n)}function Ji(e){if(!e.length)throw I.NUM;let t=[...e].sort((e,t)=>e-t),n=t.length>>1;return t.length%2?t[n]:(t[n-1]+t[n])/2}function Yi(e){let t=/* @__PURE__ */ new Map,n=0,r=1;for(let i of e){let e=(t.get(i)??0)+1;t.set(i,e),e>r&&(n=i,r=e)}if(r<2)throw I.NA;for(let n of e)if(t.get(n)===r)return n;return n}function Xi(e,t){return J([e],t)}function Zi(e,t,n){let r=Xi(e[0],t),i=Math.ceil(V(t.scalar(e[1])));if(i<1||i>r.length)throw I.NUM;return r.sort((e,t)=>n?t-e:e-t),r[i-1]}function Qi(e,t){let n=V(t.scalar(e[0])),r=Xi(e[1],t),i=e.length>2&&V(t.scalar(e[2]))!==0;if(!r.includes(n))throw I.NA;let a=1;for(let e of r)(i?e<n:e>n)&&a++;return a}function $i(e,t){if(e instanceof B)throw I.VALUE;return t.toArray(e)}function ea(e,t,n,r){return e instanceof R?r.toArray(new R(e.sheet,e.r0,e.c0,e.r0+t-1,e.c0+n-1)):$i(e,r)}function ta(e,t,n,r){let i=[],a=[];for(let e=0;e<t.length;e+=2)i.push(e===0&&r?r:$i(t[e],n)),a.push(ni(n.scalar(t[e+1])));let o=i[0].length,s=i[0][0].length;for(let e of i)if(e.length!==o||e[0].length!==s)throw I.VALUE;if(e&&(e.length!==o||e[0].length!==s))throw I.VALUE;let c=[];for(let t=0;t<o;t++)for(let n=0;n<s;n++){let r=!0;for(let e=0;r&&e<i.length;e++)r=a[e](i[e][t][n]);r&&c.push(!e||e[t][n])}return c}function na(e){let t=[];for(let n of e)if(typeof n==`number`)t.push(n);else if(n instanceof F)throw n;return t}function ra(e,t){let n=$i(e[0],t);return na(ta(e.length>2&&e[2]!==null?ea(e[2],n.length,n[0].length,t):n,[e[0],e[1]],t,n))}function ia(e,t){if(e.length%2==0)throw I.VALUE;return na(ta($i(e[0],t),e.slice(1),t))}function aa(e,t){let n=e.map(e=>$i(e,t)),r=n[0].length,i=n[0][0].length;for(let e of n)if(e.length!==r||e[0].length!==i)throw I.VALUE;let a=0;for(let e=0;e<r;e++)for(let t=0;t<i;t++){let r=1;for(let i of n){let n=i[e][t];if(n instanceof F)throw n;r*=typeof n==`number`?n:0}a+=r}return a}function oa(e,t){if(!e.length)return 0;let n=e[0];for(let r of e)(t?r>n:r<n)&&(n=r);return n}const sa={SUM:q(0,G,(e,t)=>{let n=0;return si(e,t,e=>n+=e),n}),PRODUCT:q(0,G,(e,t)=>{let n=J(e,t);return n.length?n.reduce((e,t)=>e*t,1):0}),AVERAGE:q(1,G,(e,t)=>Ki(J(e,t))),MIN:q(1,G,(e,t)=>{let n=G;return si(e,t,e=>n=Math.min(n,e)),n===G?0:n}),MAX:q(1,G,(e,t)=>{let n=-1/0;return si(e,t,e=>n=Math.max(n,e)),n===-1/0?0:n}),COUNT:q(0,G,(e,t)=>{let n=0;for(let r of e)oi(r,t,e=>typeof e==`number`&&n++,e=>(typeof e==`number`||typeof e==`boolean`||typeof e==`string`&&Ur(e)!==null)&&n++);return n}),COUNTA:q(1,G,(e,t)=>{let n=0;for(let r of e)oi(r,t,e=>e!==null&&n++,()=>n++);return n}),COUNTBLANK:q(1,1,([e],t)=>{if(e instanceof R){let n=0,r=0;return t.forEach(e,e=>{n++,(e===null||e===``)&&r++}),r+(e.h*e.w-n)}if(e instanceof z)return ci(e.data).filter(e=>e===null||e===``).length;throw I.VALUE}),MEDIAN:q(1,G,(e,t)=>Ji(J(e,t))),MODE:q(1,G,(e,t)=>Yi(J(e,t))),\"MODE.SNGL\":q(1,G,(e,t)=>Yi(J(e,t))),STDEV:q(1,G,(e,t)=>Math.sqrt(qi(J(e,t),!0))),\"STDEV.S\":q(1,G,(e,t)=>Math.sqrt(qi(J(e,t),!0))),\"STDEV.P\":q(1,G,(e,t)=>Math.sqrt(qi(J(e,t),!1))),STDEVP:q(1,G,(e,t)=>Math.sqrt(qi(J(e,t),!1))),VAR:q(1,G,(e,t)=>qi(J(e,t),!0)),\"VAR.S\":q(1,G,(e,t)=>qi(J(e,t),!0)),\"VAR.P\":q(1,G,(e,t)=>qi(J(e,t),!1)),VARP:q(1,G,(e,t)=>qi(J(e,t),!1)),LARGE:q(2,2,(e,t)=>Zi(e,t,!0)),SMALL:q(2,2,(e,t)=>Zi(e,t,!1)),RANK:q(2,3,Qi),\"RANK.EQ\":q(2,3,Qi),SUMPRODUCT:q(1,G,aa),SUMIF:q(2,3,(e,t)=>Gi(ra(e,t))),SUMIFS:q(3,G,(e,t)=>Gi(ia(e,t))),AVERAGEIF:q(2,3,(e,t)=>Ki(ra(e,t))),AVERAGEIFS:q(3,G,(e,t)=>Ki(ia(e,t))),COUNTIF:q(2,2,(e,t)=>ta(null,e,t).length),COUNTIFS:q(2,G,(e,t)=>{if(e.length%2)throw I.VALUE;return ta(null,e,t).length}),MINIFS:q(3,G,(e,t)=>oa(ia(e,t),!1)),MAXIFS:q(3,G,(e,t)=>oa(ia(e,t),!0))},ca=32767;function la(e){let t=Math.trunc(e);if(t<0)throw I.VALUE;return t}function ua(e){let t=``,n=!1;for(let r of e){let e=r.toLowerCase()!==r.toUpperCase();t+=e?n?r.toLowerCase():r.toUpperCase():r,n=e}return t}function da(e,t,n,r){if(n<1||n>t.length+1)throw I.VALUE;if(e===``)return n;if(!r){let r=t.indexOf(e,n-1);if(r<0)throw I.VALUE;return r+1}let i=$r(e,!1).exec(t.slice(n-1));if(!i)throw I.VALUE;return i.index+n}const fa={CONCATENATE:K(1,G,e=>e.map(U).join(``)),CONCAT:q(1,G,(e,t)=>{let n=``,r=e=>n+=U(e);for(let n of e)oi(n,t,r,r);if(n.length>ca)throw I.VALUE;return n}),TEXTJOIN:q(3,G,(e,t)=>{let n=U(t.scalar(e[0])),r=Jr(t.scalar(e[1])),i=[],a=e=>{let t=U(e);r&&t===``||i.push(t)};for(let n of e.slice(2))oi(n,t,a,a);let o=i.join(n);if(o.length>ca)throw I.VALUE;return o}),LEFT:K(1,2,e=>U(e[0]).slice(0,la(Y(e,1,1)))),RIGHT:K(1,2,e=>{let t=U(e[0]);return t.slice(Math.max(0,t.length-la(Y(e,1,1))))}),MID:K(3,3,([e,t,n])=>{let r=Math.trunc(V(t));if(r<1)throw I.VALUE;return U(e).substr(r-1,la(V(n)))}),LEN:K(1,1,([e])=>U(e).length),UPPER:K(1,1,([e])=>U(e).toUpperCase()),LOWER:K(1,1,([e])=>U(e).toLowerCase()),PROPER:K(1,1,([e])=>ua(U(e))),TRIM:K(1,1,([e])=>U(e).replace(/ {2,}/g,` `).replace(/^ | $/g,``)),SUBSTITUTE:K(3,4,e=>{let t=U(e[0]),n=U(e[1]),r=U(e[2]);if(n===``)return t;if(e.length<4)return t.split(n).join(r);let i=Math.trunc(V(e[3]));if(i<1)throw I.VALUE;let a=-1;for(let e=0;e<i;e++)if(a=t.indexOf(n,a+(e?n.length:1)),a<0)return t;return t.slice(0,a)+r+t.slice(a+n.length)}),REPLACE:K(4,4,([e,t,n,r])=>{let i=U(e),a=Math.trunc(V(t));if(a<1)throw I.VALUE;let o=la(V(n));return i.slice(0,a-1)+U(r)+i.slice(a-1+o)}),REPT:K(2,2,([e,t])=>{let n=U(e),r=la(V(t));if(n.length*r>ca)throw I.VALUE;return n.repeat(r)}),FIND:K(2,3,e=>da(U(e[0]),U(e[1]),Math.trunc(Y(e,2,1)),!1)),SEARCH:K(2,3,e=>da(U(e[0]),U(e[1]),Math.trunc(Y(e,2,1)),!0)),EXACT:K(2,2,([e,t])=>U(e)===U(t)),VALUE:K(1,1,([e])=>{if(typeof e==`number`)return e;if(e===null)return 0;if(typeof e!=`string`)throw e instanceof F?e:I.VALUE;let t=Ur(e);if(t===null)throw I.VALUE;return t}),TEXT:K(2,2,([e,t])=>Li(e,U(t))),CHAR:K(1,1,([e])=>{let t=Math.trunc(V(e));if(t<1||t>255)throw I.VALUE;return String.fromCharCode(t)}),CODE:K(1,1,([e])=>{let t=U(e);if(!t)throw I.VALUE;return t.charCodeAt(0)})},pa={...Wi,...sa,...vi,...fa,...mi,...Pi,SINGLE:{kind:`eager`,min:1,max:1,scalarArgs:!1,fn:([e],t)=>t.scalar(e)}};function ma(e,t,n){let r;switch(e){case`+`:r=t+n;break;case`-`:r=t-n;break;case`*`:r=t*n;break;case`/`:if(n===0)return I.DIV0;r=t/n;break;default:if(t===0&&n===0)return I.NUM;if(t===0&&n<0)return I.DIV0;r=t**+n}return Number.isFinite(r)?r:I.NUM}function ha(e,t,n){if(t instanceof F)return t;if(n instanceof F)return n;switch(e){case`&`:return Kr(t)+Kr(n);case`=`:return W(t,n)===0;case`<>`:return W(t,n)!==0;case`<`:return W(t,n)<0;case`>`:return W(t,n)>0;case`<=`:return W(t,n)<=0;case`>=`:return W(t,n)>=0}let r=Gr(t);if(r instanceof F)return r;let i=Gr(n);return i instanceof F?i:ma(e,r,i)}function ga(e,t){return Array.isArray(e)?new z(e.map(e=>e.map(t))):t(e)}function _a(e,t,n){if(!Array.isArray(e)&&!Array.isArray(t))return n(e,t);let r=Array.isArray(e)?e:[[e]],i=Array.isArray(t)?t:[[t]],a=Math.max(r.length,i.length),o=Math.max(r[0].length,i[0].length),s=[];for(let e=0;e<a;e++){let t=[];for(let a=0;a<o;a++)t.push(n(ii(r,e,a),ii(i,e,a)));s.push(t)}return new z(s)}var va=class{provider;sheet;r;c;constructor(e){this.provider=e.provider,this.sheet=e.sheet,this.r=e.r,this.c=e.c}eval(e,t){switch(e.type){case`num`:case`str`:case`bool`:return e.value;case`err`:return new F(e.code);case`missing`:return null;case`name`:return I.NAME;case`array`:return new z(e.rows);case`ref`:return this.ref(e.ref);case`range`:return this.rangeOp(e.left,e.right);case`union`:{let t=[];for(let n of e.items){let e=this.eval(n,!1);if(e instanceof R)t.push(e);else if(e instanceof B)t.push(...e.areas);else return e instanceof F?e:I.VALUE}return new B(t)}case`unary`:{let n=this.operand(this.eval(e.arg,t),t);return e.op===`+`?Array.isArray(n)?new z(n):n:ga(n,e=>{let t=Gr(e);return t instanceof F?t:t===0?0:-t})}case`percent`:return ga(this.operand(this.eval(e.arg,t),t),e=>{let t=Gr(e);return t instanceof F?t:t/100});case`binary`:{let n=this.operand(this.eval(e.left,t),t),r=this.operand(this.eval(e.right,t),t),i=e.op;return _a(n,r,(e,t)=>ha(i,e,t))}case`call`:return this.call(e.name,e.args,t)}}ref(e){return e.sheet!==void 0&&!this.hasSheet(e.sheet)?I.REF:new R(e.sheet??this.sheet,e.r0,e.c0,e.r1,e.c1)}rangeOp(e,t){let n=this.eval(e,!1);if(n instanceof F)return n;let r=this.eval(t,!1);return r instanceof F?r:!(n instanceof R)||!(r instanceof R)||!Kn(n.sheet,r.sheet)?I.VALUE:new R(n.sheet,Math.min(n.r0,r.r0),Math.min(n.c0,r.c0),Math.max(n.r1,r.r1),Math.max(n.c1,r.c1))}call(e,t,n){if(!Object.hasOwn(pa,e))return I.NAME;let r=pa[e];if(t.length<r.min||t.length>r.max)return I.VALUE;if(r.kind===`lazy`)return ri(()=>r.fn(t,this,n));let i=t.map(e=>this.eval(e,r.scalarArgs&&n));return ri(()=>r.fn(i,this,n))}hasSheet(e){return!this.provider.hasSheet||this.provider.hasSheet(e)}now(){return this.provider.now?.()??/* @__PURE__ */ new Date}cell(e,t,n){let r=this.provider.value(e,t,n);return r===void 0?null:r}clip(e){let{r1:t,c1:n}=e;if((t===1048575||n===16383)&&this.provider.bounds){let r=this.provider.bounds(e.sheet);t===1048575&&(t=Math.max(e.r0,Math.min(t,r.rows-1))),n===16383&&(n=Math.max(e.c0,Math.min(n,r.cols-1)))}return{r1:t,c1:n}}forEach(e,t){let{r1:n,c1:r}=this.clip(e);for(let i=e.r0;i<=n;i++)for(let n=e.c0;n<=r;n++)t(this.cell(e.sheet,i,n),i-e.r0,n-e.c0)}toArray(e){if(e instanceof R){let{r1:t,c1:n}=this.clip(e),r=[];for(let i=e.r0;i<=t;i++){let t=[];for(let r=e.c0;r<=n;r++)t.push(this.cell(e.sheet,i,r));r.push(t)}return r}if(e instanceof z)return e.data;if(e instanceof B)throw I.VALUE;return[[e]]}intersect(e){return e.h===1&&e.w===1?this.cell(e.sheet,e.r0,e.c0):e.w===1&&this.r>=e.r0&&this.r<=e.r1?this.cell(e.sheet,this.r,e.c0):e.h===1&&this.c>=e.c0&&this.c<=e.c1?this.cell(e.sheet,e.r0,this.c):I.VALUE}scalar(e){return e instanceof R?this.intersect(e):e instanceof z?e.data[0][0]:e instanceof B?I.VALUE:e}operand(e,t){return e instanceof R?e.h===1&&e.w===1?this.cell(e.sheet,e.r0,e.c0):t?this.intersect(e):this.toArray(e):e instanceof z?e.h===1&&e.w===1?e.data[0][0]:e.data:e instanceof B?I.VALUE:e}};function ya(e,t){let n=Sr();Cr(!!t.provider.date1904);try{let n=new va(t),r=n.eval(e,!0),i=r instanceof R?n.intersect(r):r instanceof z?r.data[0][0]:r instanceof B?I.VALUE:r;return i===null?0:typeof i==`number`?Number.isFinite(i)?i+0:I.NUM:i}catch(e){return e instanceof F?e:I.VALUE}finally{Cr(n)}}function ba(e,t){let n=e.startsWith(`=`)?`=`:``,r=e.slice(n.length),i;try{i=pr(r)}catch{return e}let a=n,o=0;for(let e of i){let n=t(e);n!==void 0&&(a+=r.slice(o,e.s)+n,o=e.e)}return a+r.slice(o)}const xa=e=>(e.ref.sheet===void 0?``:`${e.sheetText??qn(e.ref.sheet)}!`)+`#REF!`;function Sa(e,t,n){return!t&&!n?e:ba(e,e=>{if(e.t!==`ref`)return;let r={...e.ref};return r.kind!==`cols`&&(r.ar0||(r.r0+=t),r.ar1||(r.r1+=t)),r.kind!==`rows`&&(r.ac0||(r.c0+=n),r.ac1||(r.c1+=n)),Zn(r)?Yn(Xn(r),e.sheetText):xa(e)})}function Ca(e,t,n,r,i){if(r>0)return e>=n&&(e+=r),t>=n&&(t+=r),e>i?null:[e,Math.min(t,i)];let a=-r,o=n+a;return t<n?[e,t]:e>=o?[e-a,t-a]:e>=n&&t<o?null:[e<n?e:n,t>=o?t-a:n-1]}function wa(e,t){if(!t.delta)return e;let n=e=>{if(t.sheet===void 0)return e===void 0||t.formulaSheet!==void 0&&Kn(e,t.formulaSheet);let n=e??t.formulaSheet;return n===void 0||Kn(n,t.sheet)};return ba(e,e=>{if(e.t!==`ref`||!n(e.ref.sheet))return;let r={...e.ref};if(t.axis===`row`){if(r.kind===`cols`)return;let n=Ca(r.r0,r.r1,t.at,t.delta,Hn);if(!n)return xa(e);[r.r0,r.r1]=n}else{if(r.kind===`rows`)return;let n=Ca(r.c0,r.c1,t.at,t.delta,Un);if(!n)return xa(e);[r.c0,r.c1]=n}if(r.r0!==e.ref.r0||r.r1!==e.ref.r1||r.c0!==e.ref.c0||r.c1!==e.ref.c1)return Yn(r,e.sheetText)})}function Ta(e,t,n){let r=`${qn(n)}!`;return ba(e,e=>{if(e.t===`ref`&&e.ref.sheet!==void 0&&Kn(e.ref.sheet,t))return Yn({...e.ref,sheet:n});if((e.t===`err`||e.t===`name`)&&e.sheet!==void 0&&Kn(e.sheet,t))return r+e.v})}function Ea(e){let t=e.sheet===void 0?{}:{sheet:e.sheet};return e.kind===`cell`?{...t,r:e.r0,c:e.c0,absR:e.ar0,absC:e.ac0}:{...t,r0:e.r0,c0:e.c0,r1:e.r1,c1:e.c1}}function Da(e){let t=[],n=e=>{switch(e.type){case`ref`:t.push(Ea(e.ref));break;case`range`:if(e.left.type===`ref`&&e.right.type===`ref`&&Kn(e.left.ref.sheet,e.right.ref.sheet)){let n=e.left.ref,r=e.right.ref;t.push(Ea({...n,kind:`area`,r0:Math.min(n.r0,r.r0),c0:Math.min(n.c0,r.c0),r1:Math.max(n.r1,r.r1),c1:Math.max(n.c1,r.c1)}))}else n(e.left),n(e.right);break;case`unary`:case`percent`:n(e.arg);break;case`binary`:n(e.left),n(e.right);break;case`union`:e.items.forEach(n);break;case`call`:e.args.forEach(n)}};return n(e),t}const Oa=(e,t)=>`${e}:${t}`;var ka=class{wb;asts=/* @__PURE__ */ new Map;cellDeps=/* @__PURE__ */ new Map;rangeDeps=[];indexed=!1;constructor(e){this.wb=e}invalidate(){this.indexed=!1,this.asts.clear(),this.cellDeps.clear(),this.rangeDeps=[]}sheetIndex(e,t){return e?this.wb.sheets.findIndex(t=>t.name.toLowerCase()===e.toLowerCase()):t}ast(e,t){let n=Oa(e,t),r=this.asts.get(n);if(r===void 0){let i=this.wb.sheetsData.get(e)?.formulas.get(t);try{r=i?_r(i):null}catch{r=null}this.asts.set(n,r)}return r}index(){if(!this.indexed){this.indexed=!0;for(let[e,t]of this.wb.sheetsData)for(let n of t.formulas.keys())this.addDeps(e,n)}}addDeps(e,t){let n=this.ast(e,t);if(!n)return;let r=Oa(e,t);for(let t of Da(n)){let n=this.sheetIndex(t.sheet,e);if(!(n<0)){if(`r`in t){let e=Oa(n,t.r*Q+t.c),i=this.cellDeps.get(e);i||this.cellDeps.set(e,i=/* @__PURE__ */ new Set),i.add(r)}else this.rangeDeps.push({sheet:n,r0:t.r0,c0:t.c0,r1:t.r1,c1:t.c1,dep:r})}}}formulaChanged(e,t){if(!this.indexed)return;let n=Oa(e,t);this.asts.delete(n);for(let e of this.cellDeps.values())e.delete(n);this.rangeDeps=this.rangeDeps.filter(e=>e.dep!==n),this.addDeps(e,t)}value(e,t,n){let r=this.wb.sheetsData.get(e)?.rows[t];if(!r)return null;for(let e=0;e<r.length;e+=4){if(r[e]!==n)continue;let t=r[e+1],i=r[e+2];switch(t){case 0:return i;case 1:return this.wb.sst[i]??``;case 2:return String(i);case 3:return!!i;case 4:return new F(String(i));case 6:return null;default:return String(i)}}return null}provider(e,t){return{value:(n,r,i)=>{let a=this.sheetIndex(n,this.cur);if(a<0)return new F(`#REF!`);let o=Oa(a,r*Q+i);return t.has(o)?new F(`#REF!`):(e.has(o)&&this.compute(o,e,t),this.value(a,r,i))},bounds:e=>{let t=this.wb.sheetsData.get(this.sheetIndex(e,this.cur));return{rows:(t?.maxRow??-1)+1,cols:(t?.maxCol??-1)+1}},hasSheet:e=>this.sheetIndex(e,-1)>=0,date1904:this.wb.date1904}}cur=0;compute(e,t,n){t.delete(e);let[r,i]=e.split(`:`).map(Number),a=this.wb.sheetsData.get(r);if(!a||!a.formulas.has(i))return;if(n.has(e)){Aa(a,i,new F(`#REF!`));return}n.add(e);let o=this.ast(r,i),s=this.cur;this.cur=r;let c;try{c=o?ya(o,{provider:this.provider(t,n),sheet:this.wb.sheets[r]?.name,r:Math.floor(i/Q),c:i%Q}):new F(`#NAME?`)}catch{c=new F(`#VALUE!`)}this.cur=s,n.delete(e),Aa(a,i,c)}recalc(e,t=[]){this.index();let n=/* @__PURE__ */ new Set,r=[],i=e=>{n.has(e)||(n.add(e),r.push(e))};for(let e of t)i(Oa(e.sheet,e.key));let a=/* @__PURE__ */ new Set,o=e=>{if(a.has(e))return;a.add(e);let[t,n]=e.split(`:`).map(Number),r=Math.floor(n/Q),s=n%Q;for(let t of this.cellDeps.get(e)??[])i(t),o(t);for(let e of this.rangeDeps)e.sheet===t&&r>=e.r0&&r<=e.r1&&s>=e.c0&&s<=e.c1&&(i(e.dep),o(e.dep))};for(let t of e)o(Oa(t.sheet,t.key));for(let e of t)o(Oa(e.sheet,e.key));let s=/* @__PURE__ */ new Set,c=/* @__PURE__ */ new Set;for(let e of r)n.has(e)&&(this.compute(e,n,c),s.add(Number(e.split(`:`)[0])));return s}computeMissing(e,t){t.length&&this.recalc([],t.map(t=>({sheet:e,key:t})))}};function Aa(e,t,n){let r=Math.floor(t/Q),i=t%Q,a=e.rows[r];a||(e.rows[r]=a=[]);let o,s;n instanceof F?(o=4,s=n.code):typeof n==`number`?(o=0,s=Number.isFinite(n)?n:0):typeof n==`boolean`?(o=3,s=+!!n):n===null?(o=0,s=0):(o=2,s=n);for(let e=0;e<a.length;e+=4)if(a[e]===i){a[e+1]=o,a[e+2]=s;return}let c=0;for(;c<a.length&&a[c]<i;)c+=4;a.splice(c,0,i,o,s,0)}const ja={0:`General`,1:`0`,2:`0.00`,3:`#,##0`,4:`#,##0.00`,9:`0%`,10:`0.00%`,11:`0.00E+00`,12:`# ?/?`,13:`# ??/??`,14:`m/d/yyyy`,15:`d-mmm-yy`,16:`d-mmm`,17:`mmm-yy`,18:`h:mm AM/PM`,19:`h:mm:ss AM/PM`,20:`h:mm`,21:`h:mm:ss`,22:`m/d/yyyy h:mm`,37:`#,##0 ;(#,##0)`,38:`#,##0 ;[Red](#,##0)`,39:`#,##0.00;(#,##0.00)`,40:`#,##0.00;[Red](#,##0.00)`,45:`mm:ss`,46:`[h]:mm:ss`,47:`mmss.0`,48:`##0.0E+0`,49:`@`,27:`yyyy\"年\"m\"月\"`,30:`m/d/yy`,31:`yyyy\"年\"m\"月\"d\"日\"`,50:`yyyy\"年\"m\"月\"`,57:`yyyy\"年\"m\"月\"`,58:`m\"月\"d\"日\"`},Ma={black:`#000000`,red:`#ff0000`,green:`#00a000`,blue:`#0000ff`,yellow:`#c0c000`,magenta:`#ff00ff`,cyan:`#00c0c0`,white:`#ffffff`},Na=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Pa=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function Fa(e){let t=[],n=``,r=!1,i=!1;for(let a=0;a<e.length;a++){let o=e[a];o===`\\\\`&&!r?(n+=o+(e[a+1]??``),a++):(o===`\"`?r=!r:!r&&o===`[`?i=!0:!r&&o===`]`&&(i=!1),o===`;`&&!r&&!i?(t.push(n),n=``):n+=o)}return t.push(n),t}function Ia(e){let t=[],n,r,i=!1,a=0,o=e=>{let n=t[t.length-1];n?.k===`lit`?n.v+=e:t.push({k:`lit`,v:e})},s=e.toLowerCase();for(;a<e.length;){let c=e[a],l=s[a];if(c===`\"`){let t=e.indexOf(`\"`,a+1);o(e.slice(a+1,t<0?void 0:t)),a=t<0?e.length:t+1}else if(c===`\\\\`)o(e[a+1]??``),a+=2;else if(c===`_`)o(` `),a+=2;else if(c===`*`)a+=2;else if(c===`[`){let s=e.indexOf(`]`,a),c=e.slice(a+1,s<0?void 0:s),l=c.toLowerCase();if(Ma[l])n=Ma[l];else if(/^color\\s*\\d+$/.test(l))n=void 0;else if(/^(h+|m+|s+)$/.test(l))t.push({k:`elapsed`,v:l[0]}),i=!0;else if(c.startsWith(`$`)){let e=c.slice(1).split(`-`)[0];e&&o(e)}else{let e=/^(<=|>=|<>|<|>|=)\\s*(-?[\\d.]+)$/.exec(c);e&&(r={op:e[1],v:Number(e[2])})}a=s<0?e.length:s+1}else if(c===`0`||c===`#`||c===`?`)t.push({k:`digit`,v:c}),a++;else if(c===`.`){if(i&&e[a+1]===`0`){let n=a+1;for(;e[n]===`0`;)n++;t.push({k:`date`,v:e.slice(a,n)}),a=n}else t.push({k:`dot`}),a++}else if(c===`,`)t.push({k:`comma`}),a++;else if(c===`%`)t.push({k:`pct`}),a++;else if(l===`e`&&(e[a+1]===`+`||e[a+1]===`-`))t.push({k:`exp`,sign:e[a+1]===`+`}),a+=2;else if(c===`/`&&t.some(e=>e.k===`digit`))t.push({k:`slash`}),a++;else if(c===`@`)t.push({k:`text`}),a++;else if(s.startsWith(`am/pm`,a))t.push({k:`date`,v:`AM/PM`}),i=!0,a+=5;else if(s.startsWith(`a/p`,a))t.push({k:`date`,v:`A/P`}),i=!0,a+=3;else if(`ymdhs`.includes(l)||l===`g`&&s.startsWith(`ge`,a)||l===`b`){let e=a;for(;s[e]===l;)e++;l===`b`||l===`g`?o(``):(t.push({k:`date`,v:s.slice(a,e)}),i=!0),a=e}else o(c),a++}return{toks:t,color:n,isDate:i,cond:r,hasDigits:t.some(e=>e.k===`digit`)}}const La=/* @__PURE__ */ new Map;function Ra(e){let t=La.get(e);return t||(t=Fa(e).map(Ia),La.size>2e3&&La.clear(),La.set(e,t)),t}function za(e){return!e||e===`General`?!1:Ra(e)[0].isDate}function Ba(e){if(!Number.isFinite(e)||Number.isInteger(e)&&Math.abs(e)<1e11)return String(e);let t=Math.abs(e);if(t>=1e11||t<1e-9&&t!==0){let[t,n]=e.toExponential(5).split(`e`);return(t.includes(`.`)?t.replace(/0+$/,``).replace(/\\.$/,``):t)+`E`+(n[0]===`-`?`-`:`+`)+n.replace(/^[+-]/,``).padStart(2,`0`)}let n=Math.max(0,10-Math.floor(Math.log10(t||1))),r=e.toFixed(Math.min(n,15));return r.includes(`.`)&&(r=r.replace(/0+$/,``).replace(/\\.$/,``)),r}function Va(e){return e.replace(/\\B(?=(\\d{3})+(?!\\d))/g,`,`)}function Ha(e,t){let n=t.toks,r=Math.abs(e),i=n.filter(e=>e.k===`pct`).length;r*=100**i;let a=n.findIndex(e=>e.k===`dot`),o=n.findIndex(e=>e.k===`exp`),s=n.findIndex(e=>e.k===`slash`),c=n.findIndex(e=>e.k===`digit`),l=-1;n.forEach((e,t)=>e.k===`digit`&&(l=t));let u=0;for(let e=l+1;e<n.length&&n[e].k===`comma`;e++)u++;r/=1e3**u;let d=n.some((e,t)=>e.k===`comma`&&t>c&&t<l);if(s>=0)return Ua(r,t,e<0);let f=a>=0?a:o>=0?o:l+1,p=a>=0?n.slice(a+1,o>=0?o:void 0).filter(e=>e.k===`digit`):[],m=p.length,h=r,g=0;if(o>=0){let e=n.slice(0,f).filter(e=>e.k===`digit`).length||1;h!==0&&(g=Math.floor(Math.log10(h)),e>1&&(g=Math.floor(g/e)*e),h/=10**g)}let _=h.toFixed(m);o>=0&&Number(_)>=10&&n.slice(0,f).filter(e=>e.k===`digit`).length<=1&&(g+=1,_=(h/10).toFixed(m));let[v,y=``]=_.split(`.`);if(m){let e=y.split(``);for(let t=m-1;t>=0&&e[t]===`0`;t--){let n=p[t].v;if(n===`#`)e[t]=``;else if(n===`?`)e[t]=` `;else break}y=e.join(``)}let b=n.slice(0,f),x=b.filter(e=>e.k===`digit`).filter(e=>e.v===`0`).length;for(v===`0`&&x===0&&(v=``);v.length<x;)v=`0`+v;let S=b.some((e,t)=>e.k===`lit`&&t>c&&t<f),C=``;if(S){let e=v,t=``;for(let r=f-1;r>=0;r--){let i=n[r];i.k===`digit`?(e.length?(t=e[e.length-1]+t,e=e.slice(0,-1)):i.v===`0`?t=`0`+t:i.v===`?`&&(t=` `+t),r===c&&e.length&&(t=e+t,e=``)):i.k===`lit`?t=i.v+t:i.k===`pct`&&(t=`%`+t)}C=t}else{let e=!1,t=d?Va(v):v;for(let r=0;r<f;r++){let i=n[r];i.k===`digit`?e||=(C+=t,!0):i.k===`lit`?C+=i.v:i.k===`pct`&&(C+=`%`)}e||(C+=t)}a>=0&&(C+=y.length||p.some(e=>e.v===`0`)?`.`+y:m?`.`:``);let w=o>=0?o:a>=0?a+1:f;for(let e=w;e<n.length;e++){let t=n[e];if(t.k===`exp`){let r=n.slice(e+1).filter(e=>e.k===`digit`).length||1;for(C+=`E`+(g<0?`-`:t.sign?`+`:``)+String(Math.abs(g)).padStart(r,`0`);e+1<n.length&&n[e+1].k===`digit`;)e++}else t.k===`lit`?C+=t.v:t.k===`pct`&&(C+=`%`)}return C}function Ua(e,t,n){let r=t.toks,i=r.findIndex(e=>e.k===`slash`),a=r.slice(i+1).filter(e=>e.k===`digit`),o=r.slice(i+1).find(e=>e.k===`lit`&&/^\\d+$/.test(e.v.trim())),s=o?Number(o.v):10**(a.length||1)-1,c=r.slice(0,i).some(e=>e.k===`lit`&&e.v.includes(` `)),l=c?Math.floor(e):0,u=e-l,d=0,f=1;if(o)f=s,d=Math.round(u*s);else{let e=1/0;for(let t=1;t<=s;t++){let n=Math.round(u*t),r=Math.abs(u-n/t);r<e-1e-12&&(e=r,d=n,f=t)}}let p=n?`-`:``;return d===0?p+(c?String(l):`0`):d===f?p+String(l+1):p+(c&&l?l+` `:``)+d+`/`+f}function Wa(e,t=!1){let n=Math.floor(e),r=Math.round((e-n)*864e5),i;return t?i=Date.UTC(1904,0,1):n<60?i=Date.UTC(1899,11,31):(i=Date.UTC(1899,11,30),n===60&&(n=61)),new Date(i+n*864e5+r)}function Ga(e,t,n){let r=Wa(e,n),i=t.toks,a=i.some(e=>e.k===`date`&&(e.v===`AM/PM`||e.v===`A/P`)),o=r.getUTCFullYear(),s=r.getUTCMonth(),c=r.getUTCDate(),l=r.getUTCHours(),u=r.getUTCMinutes(),d=r.getUTCSeconds(),f=r.getUTCMilliseconds(),p=(e,t=2)=>String(e).padStart(t,`0`),m=``,h=e=>{for(let t=e-1;t>=0;t--){let e=i[t];if(e.k===`date`)return e.v[0]===`h`;if(e.k===`elapsed`)return e.v===`h`}for(let t=e+1;t<i.length;t++){let e=i[t];if(e.k===`date`)return e.v[0]===`s`;if(e.k===`elapsed`)return e.v===`s`}return!1};return i.forEach((t,n)=>{if(t.k===`lit`)return m+=t.v;if(t.k===`elapsed`){let n=e*86400;t.v===`h`?m+=Math.floor(n/3600):t.v===`m`?m+=Math.floor(n/60):m+=Math.round(n);return}if(t.k!==`date`){t.k===`digit`?m+=t.v===`0`?`0`:``:t.k===`dot`?m+=`.`:t.k===`comma`?m+=`,`:t.k===`pct`?m+=`%`:t.k===`slash`&&(m+=`/`);return}let i=t.v;switch(i[0]){case`y`:m+=i.length<=2?p(o%100):String(o);break;case`m`:i.length<=2&&h(n)?m+=i.length===2?p(u):String(u):i.length===1?m+=s+1:i.length===2?m+=p(s+1):i.length===3?m+=Na[s].slice(0,3):i.length===5?m+=Na[s][0]:m+=Na[s];break;case`d`:i.length===1?m+=c:i.length===2?m+=p(c):i.length===3?m+=Pa[r.getUTCDay()].slice(0,3):m+=Pa[r.getUTCDay()];break;case`h`:{let e=l;a&&(e=e%12||12),m+=i.length>=2?p(e):String(e);break}case`s`:m+=i.length>=2?p(d):String(d);break;case`.`:m+=`.`+p(Math.floor(f/10**(3-(i.length-1))),i.length-1);break;case`A`:m+=i===`AM/PM`?l<12?`AM`:`PM`:l<12?`A`:`P`}}),m}function Ka(e,t,n=!1){if(!t||t===`General`||t===`general`)return{text:Ba(e)};let r=Ra(t),i=r[0],a=e;if(r.some(e=>e.cond)?i=r.find(t=>{if(!t.cond)return!1;let{op:n,v:r}=t.cond;return n===`<`?e<r:n===`<=`?e<=r:n===`>`?e>r:n===`>=`?e>=r:n===`=`?e===r:e!==r})??r.find(e=>!e.cond)??r[0]:r.length>=3&&e===0&&r[2].toks.length?i=r[2]:r.length>=2&&e<0&&r[1].toks.length&&(i=r[1],a=-e),i.isDate)return e<0||e>2958465?{text:`#`.repeat(8)}:{text:Ga(e,i,n),color:i.color};if(!i.hasDigits){let t=i.toks.map(e=>e.k===`lit`?e.v:e.k===`pct`?`%`:e.k===`text`?Ba(a):``).join(``);return i.toks.some(e=>e.k===`text`)||t?{text:t,color:i.color}:{text:Ba(e),color:i.color}}let o=a<0,s=Ha(a,i);return o&&(s=`-`+s),{text:s,color:i.color}}function qa(e,t){if(!t||!t.includes(`@`))return e;let n=Ra(t),r=n.length>=4?n[3]:n.find(e=>e.toks.some(e=>e.k===`text`));return r?r.toks.map(t=>t.k===`lit`?t.v:t.k===`text`?e:``).join(``):e}const Ja={thin:[1,`solid`],medium:[2,`solid`],thick:[3,`solid`],dashed:[1,`dashed`],dotted:[1,`dotted`],double:[3,`double`],hair:[1,`dotted`],mediumDashed:[2,`dashed`],dashDot:[1,`dashed`],mediumDashDot:[2,`dashed`],dashDotDot:[1,`dotted`],mediumDashDotDot:[2,`dotted`],slantDashDot:[2,`dashed`]};function Ya(e,t){let n=dn(e),r=e=>un(e,t,n),i=/* @__PURE__ */ new Map;for(let t of E(T(e,`numFmts`),`numFmt`))i.set(Number(t.a.numFmtId),t.a.formatCode??`General`);let a=E(T(e,`fonts`),`font`).map(e=>({b:k(T(e,`b`)),i:k(T(e,`i`)),u:T(e,`u`)?T(e,`u`).a.val??`single`:void 0,strike:k(T(e,`strike`)),sz:O(T(e,`sz`)?.a.val),color:r(T(e,`color`)),name:T(e,`name`)?.a.val})),o=E(T(e,`fills`),`fill`).map(e=>{let t=T(e,`patternFill`);if(t){let e=t.a.patternType;return!e||e===`none`?void 0:e===`solid`?r(T(t,`fgColor`))??r(T(t,`bgColor`)):r(T(t,`fgColor`))??`#d9d9d9`}let n=T(e,`gradientFill`);if(n){let e=E(n,`stop`).map(e=>r(T(e,`color`))).filter(Boolean);return e.length>=2?`linear-gradient(${O(n.a.degree,90)+90}deg, ${e.join(`, `)})`:e[0]}}),s=E(T(e,`borders`),`border`).map(e=>{let t={},n=(e,n)=>{let i=e?.a.style;if(!i||i===`none`)return;let[a,o]=Ja[i]??[1,`solid`];t[n]=`${a}px ${o} ${r(T(e,`color`))??`#000`}`};return n(T(e,`left`)??T(e,`start`),`borderLeft`),n(T(e,`right`)??T(e,`end`),`borderRight`),n(T(e,`top`),`borderTop`),n(T(e,`bottom`),`borderBottom`),t}),c=a[0]??{},l={fontFamily:Pe(c.name??`Calibri`),fontSize:`${c.sz??11}pt`,color:c.color??`#000000`},u=E(T(e,`cellXfs`),`xf`).map(e=>{let t={},n=O(e.a.numFmtId,0),r=a[O(e.a.fontId,0)];if(r){r.b&&(t.fontWeight=700),r.i&&(t.fontStyle=`italic`);let e=[r.u&&r.u!==`none`?`underline`:``,r.strike?`line-through`:``].filter(Boolean).join(` `);e&&(t.textDecoration=e),(r.u===`double`||r.u===`doubleAccounting`)&&(t.textDecorationStyle=`double`),r.sz&&r.sz!==c.sz&&(t.fontSize=`${r.sz}pt`),r.color&&r.color!==c.color&&(t.color=r.color),r.name&&r.name!==c.name&&(t.fontFamily=Pe(r.name))}let l=o[O(e.a.fillId,0)];l&&(t.background=l),Object.assign(t,s[O(e.a.borderId,0)]);let u=T(e,`alignment`),d,f=!1;if(u){let e=u.a.horizontal;e&&e!==`general`&&(d=e,t.textAlign=e===`center`||e===`centerContinuous`?`center`:e===`right`?`right`:e===`justify`||e===`distributed`?`justify`:`left`);let n=u.a.vertical;t.alignItems=n===`top`?`flex-start`:n===`center`?`center`:`flex-end`,f=u.a.wrapText===`1`||u.a.wrapText===`true`,f&&(t.whiteSpace=`pre-wrap`);let r=O(u.a.indent);r&&(t[d===`right`?`paddingRight`:`paddingLeft`]=`${r*9+2}px`);let i=O(u.a.textRotation);i&&(t.textRotate=i===255?255:i>90?90-i:i)}return{numFmt:i.get(n)??ja[n]??`General`,fontPt:r?.sz??c.sz??11,css:t,hAlign:d,wrap:f}});return u.length||u.push({numFmt:`General`,fontPt:c.sz??11,css:{},wrap:!1}),{xfs:u,baseFont:l}}const Q=16384,Xa=e=>e.indexOf(`_x`)>=0?e.replace(/_x([0-9A-Fa-f]{4})_/g,(e,t)=>String.fromCharCode(parseInt(t,16))):e;function Za(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(r<65)break;t=t*26+((r&-33)-64)}return t-1}function Qa(e){let t=``;for(e++;e>0;){let n=(e-1)%26;t=String.fromCharCode(65+n)+t,e=Math.floor((e-1)/26)}return t}function $a(e){let t=0;for(;t<e.length&&e.charCodeAt(t)>=65;)t++;return[Number(e.slice(t))-1,Za(e.slice(0,t))]}function eo(e){let[t,n]=e.replace(/\\$/g,``).split(`:`);if(!t)return;let[r,i]=$a(t),[a,o]=n?$a(n):[r,i];return{r0:r,c0:i,r1:a,c1:o}}var to=class{shared=/* @__PURE__ */ new Map;depOf=/* @__PURE__ */ new Map;edited=/* @__PURE__ */ new Set;rowAttrs=/* @__PURE__ */ new Map;autoRowH=/* @__PURE__ */ new Map;structural=!1;dirtyCols=!1;dirtyMerges=!1;dirtyView=!1;dirtyRows=/* @__PURE__ */ new Set;formulaChanged=!1;uncached=[];rows=[];maxRow=-1;maxCol=-1;formulas=/* @__PURE__ */ new Map;merges=[];colInfo=[];defaultColW=64;defaultRowH=20;frozen={rows:0,cols:0};gridLines=!0;done=!1;error;loading},no=class{d;fontPt;basePt;row=-1;rowCells=null;col=-1;cType=``;cStyle=0;val=``;formula=``;hasVal=!1;capture=0;fShared=-1;inIs=!1;newSizes=[];headerReady=!1;rowHasHt=!1;rowMaxPt=0;constructor(e,t=[],n=11){this.d=e,this.fontPt=t,this.basePt=n}open(e,t){switch(e){case`c`:{let e=t.r;this.col=e?$a(e)[1]:this.col+1,this.cType=t.t??``,this.cStyle=t.s?Number(t.s):0,this.val=``,this.formula=``,this.hasVal=!1;return}case`v`:this.capture=1,this.hasVal=!0;return;case`f`:this.capture=2,this.fShared=t.t===`shared`&&t.si!==void 0?Number(t.si):-1;return;case`is`:this.inIs=!0,this.hasVal=!0;return;case`t`:this.inIs&&(this.capture=3);return;case`rPh`:return!0;case`row`:{this.headerReady=!0,this.row=t.r?Number(t.r)-1:this.row+1,this.col=-1,this.rowCells=[];let e=t.hidden===`1`||t.hidden===`true`;if((e||t.ht)&&this.d.rowAttrs.set(this.row,{ht:t.ht?Number(t.ht):void 0,hidden:e||void 0}),this.rowHasHt=e||!!t.ht,this.rowMaxPt=0,e)this.newSizes.push([this.row,0]);else if(t.ht){let e=Math.round(Number(t.ht)*4/3);e!==this.d.defaultRowH&&this.newSizes.push([this.row,e])}return}case`sheetFormatPr`:{let e=O(t.defaultRowHeight);e&&(this.d.defaultRowH=Math.round(e*4/3));let n=O(t.defaultColWidth),r=O(t.baseColWidth);n?this.d.defaultColW=Math.round(n*7):r!==void 0&&(this.d.defaultColW=Math.round(r*7+8));return}case`col`:{let e=Number(t.min)-1,n=Math.min(Number(t.max)-1,16383),r=t.hidden===`1`||t.hidden===`true`?0:t.width?Math.round(Number(t.width)*7):this.d.defaultColW;this.d.colInfo.push({min:e,max:n,w:r});return}case`pane`:(t.state===`frozen`||t.state===`frozenSplit`)&&(this.d.frozen={rows:Math.round(O(t.ySplit,0)),cols:Math.round(O(t.xSplit,0))});return;case`sheetView`:(t.showGridLines===`0`||t.showGridLines===`false`)&&(this.d.gridLines=!1);return;case`sheetData`:this.headerReady=!0;return;case`mergeCell`:{let e=t.ref?eo(t.ref):void 0;e&&this.d.merges.push(e);return}case`extLst`:case`conditionalFormatting`:case`dataValidations`:case`headerFooter`:return!0}}close(e){switch(e){case`v`:case`f`:case`t`:this.capture=0;return;case`is`:this.inIs=!1;return;case`c`:{let e=this.rowCells;if(!e)return;let t=this.col;t>this.d.maxCol&&(this.d.maxCol=t);let n=this.row*Q+t;if(this.formula&&this.d.formulas.set(n,this.formula),this.fShared>=0&&(this.formula?this.d.shared.set(this.fShared,{master:n,text:this.formula}):this.d.depOf.set(n,this.fShared),this.fShared=-1),!this.hasVal||this.formula&&this.val===``&&this.cType!==`str`){this.formula?(this.d.uncached.push(this.row*Q+t),e.push(t,6,``,this.cStyle)):this.cStyle&&e.push(t,6,``,this.cStyle);return}let r=0,i;switch(this.cType){case`s`:r=1,i=Number(this.val);break;case`str`:case`inlineStr`:r=2,i=Xa(this.val);break;case`b`:r=3,i=+(this.val===`1`||this.val===`true`);break;case`e`:r=4,i=this.val;break;case`d`:r=5,i=this.val;break;default:{let e=Number(this.val);this.val===``||Number.isNaN(e)?(r=this.val===``?6:2,i=this.val):i=e}}if(e.push(t,r,i,this.cStyle),!this.rowHasHt){let e=this.fontPt[this.cStyle]??this.basePt;e>this.rowMaxPt&&(this.rowMaxPt=e)}return}case`row`:if(!this.rowHasHt&&this.rowMaxPt>this.basePt*1.15){let e=Math.round(this.rowMaxPt*(4/3)*1.3+3);e>this.d.defaultRowH&&(this.newSizes.push([this.row,e]),this.d.autoRowH.set(this.row,e))}this.rowCells&&this.rowCells.length&&(this.d.rows[this.row]=this.rowCells),this.row>this.d.maxRow&&(this.d.maxRow=this.row),this.rowCells=null;return}}text(e){this.capture===1?this.val+=e:this.capture===2?this.formula+=e:this.capture===3&&(this.val+=e)}},ro=class{strings=[];cur=``;capture=!1;open(e){if(e===`si`)this.cur=``;else if(e===`t`)this.capture=!0;else if(e===`rPh`||e===`phoneticPr`)return!0}close(e){e===`t`?this.capture=!1:e===`si`&&this.strings.push(Xa(this.cur))}text(e){this.capture&&(this.cur+=e)}},io=class e{pkg;mainPath;rels;sheets;styles;date1904;theme;sheetsData=/* @__PURE__ */ new Map;calc=new ka(this);sst=[];sstLoading;constructor(e,t,n,r,i,a,o){this.pkg=e,this.mainPath=t,this.rels=n,this.sheets=r,this.styles=i,this.date1904=a,this.theme=o}static async open(t,n){let r=await t.xml(n),i=await t.rels(n),a=[];for(let e of E(T(r,`sheets`),`sheet`)){let t=i.get(e.a[`r:id`]);t&&t.type.endsWith(`/worksheet`)&&a.push({name:e.a.name??`Sheet${a.length+1}`,index:a.length,path:t.target,hidden:!!e.a.state&&e.a.state!==`visible`})}let o=j(i,`theme`),s=De(o?await t.xml(o.target):void 0),c=j(i,`styles`),l=Ya(c?await t.xml(c.target):void 0,s),u=T(r,`workbookPr`),d=u?.a.date1904===`1`||u?.a.date1904===`true`;return new e(t,n,i,a,l,d,s)}meta(){return{sheets:this.sheets,styles:this.styles.xfs.map(e=>e.css),formats:this.styles.xfs.map(e=>e.numFmt),baseFont:this.styles.baseFont,date1904:this.date1904}}loadSst(e){return this.sstLoading||=(async()=>{let t=j(this.rels,`sharedStrings`);if(!t||!this.pkg.has(t.target))return;let n=new ro;this.sst=n.strings,await fe(await this.pkg.stream(t.target,e),n)})(),this.sstLoading}loadSheet(e,t,n){let r=this.sheetsData.get(e);if(r)return r.loading&&!r.done?r.loading.then(()=>t(this.snapshot(e,r,ao(r),!0))):(t(this.snapshot(e,r,ao(r),!0)),r.loading??Promise.resolve());let i=new to;return this.sheetsData.set(e,i),i.loading=(async()=>{let r=this.sheets[e];if(!r)throw Error(`No sheet #${e}`);try{await this.loadSst((e,t)=>n?.(`strings`,e,t));let a=new no(i,this.styles.xfs.map(e=>e.fontPt),this.styles.xfs[0]?.fontPt??11),o=!1,s=0;if(await fe(await this.pkg.stream(r.path,(e,t)=>n?.(`sheet`,e,t)),a,{onChunk:async()=>{let n=Date.now();!o&&a.headerReady?(o=!0,t(this.snapshot(e,i,a.newSizes.splice(0),!0)),s=n,await new Promise(e=>setTimeout(e,0))):n-s>150&&(s=n,t(this.snapshot(e,i,a.newSizes.splice(0),!1)),await new Promise(e=>setTimeout(e,0)))}}),i.done=!0,t({...this.snapshot(e,i,a.newSizes.splice(0),!o),merges:i.merges}),i.uncached.length){let n=i.uncached.splice(0);(async()=>{await Promise.all(this.sheets.map(t=>t.index===e?null:this.loadSheet(t.index,()=>{}))),this.calc.invalidate(),this.calc.computeMissing(e,n),t({...this.snapshot(e,i,[],!1),recalc:!0})})()}}catch(n){i.done=!0,i.error=n.message,t({...this.snapshot(e,i,[],!0),error:i.error})}})(),i.loading}snapshot(e,t,n,r){let i={sheet:e,rows:t.maxRow+1,cols:t.maxCol+1,rowSizes:n,done:t.done};return r&&(i.colInfo=t.colInfo,i.defaultColW=t.defaultColW,i.defaultRowH=t.defaultRowH,i.frozen=t.frozen,i.gridLines=t.gridLines),t.done&&(i.merges=t.merges),t.error&&(i.error=t.error),i}block(e,t,n){let r=this.sheetsData.get(e),i=[];if(!r)return{sheet:e,r0:t,r1:n,rows:i,complete:!1};let a=this.styles.xfs,o=Math.min(n,r.rows.length);for(let e=t;e<o;e++){let t=r.rows[e];if(!t)continue;let n=[];for(let e=0;e<t.length;e+=4){let r=t[e],i=t[e+1],o=t[e+2],s=t[e+3],c=a[s]??a[0];switch(i){case 0:{let e=Ka(o,c.numFmt,this.date1904);n.push(e.color?[r,e.text,s,1,e.color]:[r,e.text,s,1]);break}case 1:n.push([r,qa(this.sst[o]??``,c.numFmt),s,0]);break;case 2:n.push([r,qa(o,c.numFmt),s,0]);break;case 3:n.push([r,o?`TRUE`:`FALSE`,s,2]);break;case 4:n.push([r,o,s,2]);break;case 5:n.push([r,o.replace(`T00:00:00`,``).replace(`T`,` `).replace(/Z$/,``),s,1]);break;default:n.push([r,``,s,0])}}i.push({r:e,cells:n})}return{sheet:e,r0:t,r1:n,rows:i,complete:r.done||n<=r.maxRow}}find(e,t,n={},r=2e4){let i=this.sheetsData.get(e),a=[];if(!i||!t)return a;let o=e=>n.matchCase?e:e.toLowerCase(),s=o(t),c=this.styles.xfs;for(let e=0;e<i.rows.length&&a.length<r;e++){let t=i.rows[e];if(t)for(let l=0;l<t.length&&a.length<r;l+=4){let r=t[l],u=t[l+1],d=t[l+2],f=n.formulas?i.formulas.get(e*Q+r):void 0,p;if(p=f?`=`+f:u===0?Ka(d,(c[t[l+3]]??c[0])?.numFmt,this.date1904).text:u===1?this.sst[d]??``:u===3?d?`TRUE`:`FALSE`:u===6?``:String(d),!p)continue;let m=o(p);(n.whole?m===s:m.includes(s))&&a.push({r:e,c:r,text:p})}}return a}cell(e,t,n){let r=this.sheetsData.get(e),i=r?.rows[t],a=r?.formulas.get(t*Q+n);if(!i)return a?{value:``,formula:`=`+a,type:`formula`}:void 0;for(let e=0;e<i.length;e+=4){if(i[e]!==n)continue;let t=i[e+1],r=i[e+2],o=t===1?this.sst[r]??``:t===3?r?`TRUE`:`FALSE`:String(r),s=[`number`,`string`,`string`,`boolean`,`error`,`date`,`empty`][t];return{value:o,formula:a?`=`+a:void 0,type:s}}return a?{value:``,formula:`=`+a,type:`formula`}:void 0}unload(e){this.sheetsData.get(e)?.done&&this.sheetsData.delete(e)}};function ao(e){let t=[];for(let[n,r]of e.autoRowH)e.rowAttrs.has(n)||t.push([n,r]);for(let[n,r]of e.rowAttrs)t.push([n,r.hidden?0:r.ht===void 0?e.autoRowH.get(n)??e.defaultRowH:Math.round(r.ht*4/3)]);return t}function oo(e){return{rows:e.rows.map(e=>e&&e.slice()),formulas:new Map(e.formulas),merges:e.merges.map(e=>({...e})),colInfo:e.colInfo.map(e=>({...e})),rowAttrs:new Map([...e.rowAttrs].map(([e,t])=>[e,{...t}])),autoRowH:new Map(e.autoRowH),maxRow:e.maxRow,maxCol:e.maxCol,frozen:{...e.frozen}}}function so(e,t){e.rows=t.rows.map(e=>e&&e.slice()),e.formulas=new Map(t.formulas),e.merges=t.merges.map(e=>({...e})),e.colInfo=t.colInfo.map(e=>({...e})),e.rowAttrs=new Map([...t.rowAttrs].map(([e,t])=>[e,{...t}])),e.autoRowH=new Map(t.autoRowH),e.maxRow=t.maxRow,e.maxCol=t.maxCol,e.frozen={...t.frozen},e.structural=!0,e.dirtyCols=e.dirtyMerges=e.dirtyView=!0}function co(e){for(let[t,n]of e.depOf){let r=e.shared.get(n);if(!r||e.formulas.has(t))continue;let i=Math.floor(t/Q)-Math.floor(r.master/Q),a=t%Q-r.master%Q;e.formulas.set(t,Sa(r.text,i,a))}e.depOf.clear(),e.shared.clear()}function lo(e,t,n,r){let i=[];for(let a of e){let[e,o]=t===`row`?[a.r0,a.r1]:[a.c0,a.c1];if(r>0)e>=n&&(e+=r),o>=n&&(o+=r);else{let t=n-r;if(e>=n&&o<t||(e=(e=>e<n?e:e>=t?e+r:n)(e),o=o>=t?o+r:o>=n?n-1:o,o<e))continue}let s=t===`row`?{...a,r0:e,r1:o}:{...a,c0:e,c1:o};(s.r0!==s.r1||s.c0!==s.c1)&&i.push(s)}return i}function uo(e,t,n,r,i,a){co(e);let o=r-i;if(n===`row`){i>0?e.rows.splice(r,0,...Array(i).fill(void 0)):e.rows.splice(r,-i),e.maxRow=Math.max(-1,e.maxRow+(e.maxRow>=r?i:0));let t=/* @__PURE__ */ new Map;for(let[n,a]of e.rowAttrs)i<0&&n>=r&&n<o||t.set(n>=r?n+i:n,a);e.rowAttrs=t;let n=/* @__PURE__ */ new Map;for(let[t,a]of e.autoRowH)i<0&&t>=r&&t<o||n.set(t>=r?t+i:t,a);e.autoRowH=n}else{for(let t=0;t<e.rows.length;t++){let n=e.rows[t];if(!n)continue;let a=[];for(let e=0;e<n.length;e+=4){let t=n[e];i<0&&t>=r&&t<o||a.push(t>=r?t+i:t,n[e+1],n[e+2],n[e+3])}e.rows[t]=a.length?a:void 0}e.maxCol=Math.max(-1,e.maxCol+(e.maxCol>=r?i:0));let t=[];for(let n of e.colInfo){let{min:e,max:a}=n;if(i>0)e>=r&&(e+=i),a>=r&&(a+=i);else if(e>=r&&a<o||(e=e<r?e:e>=o?e+i:r,a=a>=o?a+i:a>=r?r-1:a,a<e))continue;t.push({...n,min:e,max:a})}e.colInfo=t,e.dirtyCols=!0}let s={sheet:t,formulaSheet:t,axis:n,at:r,delta:i},c=/* @__PURE__ */ new Map;for(let[t,a]of e.formulas){let e=Math.floor(t/Q),l=t%Q,u=n===`row`?e:l;i<0&&u>=r&&u<o||(u>=r&&(n===`row`?e+=i:l+=i),c.set(e*Q+l,wa(a,s)))}e.formulas=c;for(let t of a){if(t.d===e)continue;let n=!1;for(let[e,r]of t.d.formulas){let i=wa(r,{...s,formulaSheet:t.name});i!==r&&(t.d.formulas.set(e,i),t.d.edited.add(e),n=!0)}n&&(t.d.formulaChanged=!0)}e.merges=lo(e.merges,n,r,i),n===`row`&&e.frozen.rows>r&&(e.frozen={...e.frozen,rows:Math.max(0,e.frozen.rows+(i>0?i:Math.max(i,r-e.frozen.rows)))}),n===`col`&&e.frozen.cols>r&&(e.frozen={...e.frozen,cols:Math.max(0,e.frozen.cols+(i>0?i:Math.max(i,r-e.frozen.cols)))}),e.structural=!0,e.dirtyMerges=!0,e.dirtyView=!0}function fo(e,t,n){let r=e=>e.r1>=t.r0&&e.r0<=t.r1&&e.c1>=t.c0&&e.c0<=t.c1;e.merges=e.merges.filter(e=>!r(e)),n&&(t.r0!==t.r1||t.c0!==t.c1)&&e.merges.push({...t}),e.dirtyMerges=!0}function po(e,t,n,r){let i=[];for(let r of e.colInfo)r.max<t||r.min>n?i.push(r):(r.min<t&&i.push({...r,max:t-1}),r.max>n&&i.push({...r,min:n+1}));i.push({min:t,max:n,w:Math.max(0,Math.round(r))}),e.colInfo=i.sort((e,t)=>e.min-t.min),e.dirtyCols=!0}function mo(e,t,n,r){for(let i=t;i<=n;i++)e.rowAttrs.set(i,r>0?{ht:+(r*.75).toFixed(2)}:{...e.rowAttrs.get(i)??{},hidden:!0}),e.dirtyRows.add(i)}const ho=[`b`,`i`,`strike`,`condense`,`extend`,`outline`,`shadow`,`u`,`vertAlign`,`sz`,`color`,`name`,`family`,`charset`,`scheme`],go=[`fileVersion`,`fileSharing`,`workbookPr`,`workbookProtection`,`bookViews`,`sheets`,`functionGroups`,`externalReferences`,`definedNames`,`calcPr`,`oleSize`,`customWorkbookViews`,`pivotCaches`,`smartTagPr`,`smartTagTypes`,`webPublishing`,`fileRecoveryPr`,`webPublishObjects`,`extLst`],_o=[`numFmts`,`fonts`,`fills`,`borders`,`cellStyleXfs`,`cellXfs`,`cellStyles`,`dxfs`,`tableStyles`,`colors`,`extLst`];function vo(e,t,n){let r=e.rows[t];return!r&&n&&(e.rows[t]=r=[]),r}function $(e,t,n){let r=e.rows[t];if(!r)return null;for(let e=0;e<r.length;e+=4)if(r[e]===n)return[r[e+1],r[e+2],r[e+3]];return null}function yo(e,t,n,r){let i=vo(e,t,!!r);if(!i)return;let a=0;for(;a<i.length&&!(i[a]>=n);a+=4);let o=a<i.length&&i[a]===n;r?(o?(i[a+1]=r[0],i[a+2]=r[1],i[a+3]=r[2]):i.splice(a,0,n,r[0],r[1],r[2]),t>e.maxRow&&(e.maxRow=t),n>e.maxCol&&(e.maxCol=n)):(o&&i.splice(a,4),i.length||(e.rows[t]=void 0))}function bo(e){let t=/^(\\d{4})-(\\d{1,2})-(\\d{1,2})(?:[ T](\\d{1,2}):(\\d{2})(?::(\\d{2}))?)?$/.exec(e),n,r,i;if(t)[n,r,i]=[Number(t[1]),Number(t[2]),Number(t[3])];else{if(t=/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})(?: (\\d{1,2}):(\\d{2})(?::(\\d{2}))?)?$/.exec(e),!t)return;[i,r,n]=[Number(t[1]),Number(t[2]),Number(t[3])]}let a=Date.UTC(n,r-1,i,Number(t[4]??0),Number(t[5]??0),Number(t[6]??0));if(Number.isFinite(a))return a/864e5+25569}function xo(e,t,n=!1){if(e===``)return{e:t?[6,``,t]:null};if(e.startsWith(`=`)&&e.length>1)return{e:[2,e,t],f:e.slice(1)};let r=e.trim();if(/^[-+]?(\\d+\\.?\\d*|\\.\\d+)(e[-+]?\\d+)?$/i.test(r))return{e:[0,Number(r),t]};if(/^[-+]?(\\d+\\.?\\d*|\\.\\d+)%$/.test(r))return{e:[0,Number(r.slice(0,-1))/100,t]};if(/^(true|false)$/i.test(r))return{e:[3,+!!/^true$/i.test(r),t]};if(n){let e=bo(r);if(e!==void 0)return{e:[0,e,t]}}return{e:[2,e,t]}}var So=class{nodes;root;P;cache=/* @__PURE__ */ new Map;found=/* @__PURE__ */ new Map;changed=!1;constructor(e){this.nodes=t(e),this.root=a(this.nodes),this.P=i(this.root.q)}section(e){let t=s(this.root,e);return t||(t=d(this.P+e,{count:`0`}),m(this.root,t,e,_o)),t}append(e,t){let n=this.section(e);n.c.push(t),n.self=!1;let r=o(n).length;return u(n,`count`,String(r)),this.changed=!0,r-1}lookup(e){let t=this.found.get(e);if(!t){let r=/* @__PURE__ */ new Map;o(s(this.root,e)).forEach((e,t)=>{let i=n([e]);r.has(i)||r.set(i,t)}),this.found.set(e,t=r)}return t}intern(e,t){let r=n([t]),i=this.lookup(e),a=i.get(r);if(a!==void 0)return a;let o=this.append(e,t);return i.set(r,o),o}numFmtId(e){for(let[t,n]of Object.entries(ja))if(n===e)return Number(t);let t=s(this.root,`numFmts`),n=163;for(let r of o(t,`numFmt`)){let t=Number(l(r,`numFmtId`));if(l(r,`formatCode`)===e)return t;n=Math.max(n,t)}return this.append(`numFmts`,d(this.P+`numFmt`,{numFmtId:String(n+1),formatCode:e})),n+1}derive(e,n){let r=e+JSON.stringify(n),i=this.cache.get(r);if(i!==void 0)return i;let a=this.P,c=o(this.section(`cellXfs`),`xf`),p=f(c[e]??c[0]??d(a+`xf`,{numFmtId:`0`,fontId:`0`,fillId:`0`,borderId:`0`}));if([`b`,`i`,`u`,`strike`,`color`,`sz`,`font`].some(e=>e in n)){let e=o(this.section(`fonts`),`font`),t=f(e[Number(l(p,`fontId`)??0)]??e[0]??d(a+`font`)),r=(e,n)=>m(t,n,e,ho);n.b!==void 0&&r(`b`,n.b?d(a+`b`):void 0),n.i!==void 0&&r(`i`,n.i?d(a+`i`):void 0),n.strike!==void 0&&r(`strike`,n.strike?d(a+`strike`):void 0),n.u!==void 0&&r(`u`,n.u?d(a+`u`):void 0),n.sz!==void 0&&r(`sz`,d(a+`sz`,{val:String(n.sz)})),`color`in n&&r(`color`,n.color?d(a+`color`,{rgb:`FF`+n.color.replace(`#`,``).toUpperCase()}):void 0),n.font&&(r(`name`,d(a+`name`,{val:n.font})),r(`scheme`,void 0)),u(p,`fontId`,String(this.intern(`fonts`,t))),u(p,`applyFont`,`1`)}if(`fill`in n){if(!n.fill)u(p,`fillId`,`0`);else{let e=t(`<${a}fill><${a}patternFill patternType=\"solid\"><${a}fgColor rgb=\"FF${n.fill.replace(`#`,``).toUpperCase()}\"/><${a}bgColor indexed=\"64\"/></${a}patternFill></${a}fill>`)[0];u(p,`fillId`,String(this.intern(`fills`,e)))}u(p,`applyFill`,`1`)}if(n.border){let e=n.sides??{},t=o(this.section(`borders`),`border`),r=f(t[Number(l(p,`borderId`)??0)]??t[0]??d(a+`border`)),i=(n.borderColor??`#000000`).replace(`#`,``).toUpperCase(),c=[`left`,`start`,`right`,`end`,`top`,`bottom`,`diagonal`,`vertical`,`horizontal`];for(let t of[`left`,`right`,`top`,`bottom`])t in e&&m(r,e[t]?d(a+t,{style:n.borderStyle??`thin`},[d(a+`color`,{rgb:`FF`+i})]):d(a+t),t,c);s(r,`diagonal`)||m(r,d(a+`diagonal`),`diagonal`,c),u(p,`borderId`,String(this.intern(`borders`,r))),u(p,`applyBorder`,`1`)}if(`align`in n||`wrap`in n||`valign`in n||`rotate`in n){let e=f(s(p,`alignment`)??d(a+`alignment`));if(`align`in n&&u(e,`horizontal`,n.align??void 0),`valign`in n&&u(e,`vertical`,n.valign&&n.valign!==`bottom`?n.valign:void 0),`wrap`in n&&u(e,`wrapText`,n.wrap?`1`:void 0),`rotate`in n){let t=n.rotate;u(e,`textRotation`,t?t===255?`255`:String(t>0?Math.min(90,t):90+Math.min(90,-t)):void 0)}m(p,e.a.trim()?e:void 0,`alignment`,[`alignment`,`protection`,`extLst`]),u(p,`applyAlignment`,`1`)}n.numFmt!==void 0&&(u(p,`numFmtId`,String(this.numFmtId(n.numFmt))),u(p,`applyNumberFormat`,`1`));let h=this.intern(`cellXfs`,p);return this.cache.set(r,h),h}xml(){return n(this.nodes)}mark(){let e={};for(let t of[`numFmts`,`fonts`,`fills`,`borders`,`cellXfs`])e[t]=o(s(this.root,t)).length;return e}truncate(e){for(let[t,n]of Object.entries(e)){let e=s(this.root,t),r=o(e);if(!e||r.length<=n)continue;let i=new Set(r.slice(n));e.c=e.c.filter(e=>!i.has(e)),u(e,`count`,String(n));let a=this.found.get(t);if(a)for(let[e,t]of a)t>=n&&a.delete(e)}for(let[t,n]of this.cache)n>=e.cellXfs&&this.cache.delete(t)}},Co=class{wb;undoStack=[];redoStack=[];styleEd;stylesPath;formulaTouched=!1;constructor(e){this.wb=e}get dirty(){return[...this.wb.sheetsData.values()].some(To)||!!this.styleEd?.changed||this.bookChanged}sheet(e){let t=this.wb.sheetsData.get(e);if(!t||!t.done)throw Error(`Sheet is still loading`);return t}lastRecalc=[];apply(e,t,n){let r=[...this.wb.sheetsData].find(([,t])=>t===e)?.[0]??0,i=[];this.applyRaw(e,t,n);for(let e of t){let t=n===`prev`?e.nextF:e.prevF,a=n===`prev`?e.prevF:e.nextF;t!==a&&this.wb.calc.formulaChanged(r,e.key),a&&i.push({sheet:r,key:e.key})}let a=t.filter(e=>{if(n===`prev`?e.prevF:e.nextF)return!1;let t=e.prev,r=e.next;return!t||!r||t[0]!==r[0]||t[1]!==r[1]||e.prevF!==e.nextF});this.lastRecalc=a.length||i.length?[...this.wb.calc.recalc(a.map(e=>({sheet:r,key:e.key})),i)]:[]}applyRaw(e,t,n){for(let r of t){yo(e,Math.floor(r.key/Q),r.key%Q,n===`prev`?r.prev:r.next);let t=n===`prev`?r.prevF:r.nextF;t?e.formulas.set(r.key,t):e.formulas.delete(r.key),e.edited.add(r.key),(r.prevF||r.nextF)&&(this.formulaTouched=!0)}}record(e,t,n){return this.undoStack.push({sheet:e,cells:t,range:n}),this.undoStack.length>200&&this.undoStack.shift(),this.redoStack=[],{sheet:e,range:n,recalc:this.lastRecalc}}recalcAll(){this.wb.calc.invalidate();let e=[];for(let[t,n]of this.wb.sheetsData)for(let r of n.formulas.keys())e.push({sheet:t,key:r});return[...this.wb.calc.recalc([],e)]}setCells(e,t){let n=this.sheet(e),r=[],i={r0:1/0,c0:1/0,r1:-1,c1:-1};for(let{r:e,c:a,input:o}of t){let t=e*Q+a,s=$(n,e,a),c=s?.[2]??0,{e:l,f:u}=xo(o,c,za(this.wb.styles.xfs[c]?.numFmt??``));r.push({key:t,prev:s,prevF:n.formulas.get(t),next:l,nextF:u}),i.r0=Math.min(i.r0,e),i.c0=Math.min(i.c0,a),i.r1=Math.max(i.r1,e),i.c1=Math.max(i.c1,a)}return this.apply(n,r,`next`),this.record(e,r,i)}async styles(){if(!this.styleEd){let e=j(this.wb.rels,`styles`);this.stylesPath=e?.target??`xl/styles.xml`;let t=this.wb.pkg.has(this.stylesPath)?await this.wb.pkg.text(this.stylesPath):`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<styleSheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\"><fonts count=\"1\"><font><sz val=\"11\"/><name val=\"Calibri\"/></font></fonts><fills count=\"2\"><fill><patternFill patternType=\"none\"/></fill><fill><patternFill patternType=\"gray125\"/></fill></fills><borders count=\"1\"><border><left/><right/><top/><bottom/><diagonal/></border></borders><cellStyleXfs count=\"1\"><xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\"/></cellStyleXfs><cellXfs count=\"1\"><xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\" xfId=\"0\"/></cellXfs></styleSheet>`;this.styleEd=new So(t)}return this.styleEd}async format(e,t,n){let r=this.sheet(e),i=await this.styles(),a=this.wb.styles.xfs.length,o=[],s=Math.min(t.r1,t.r0+2e5),c=3e5;for(let e=t.r0;e<=s&&c>0;e++)for(let a=t.c0;a<=t.c1&&c>0;a++,c--){let s=e*Q+a,c=$(r,e,a),l=n.border?{...n,sides:ko(n.border,t,e,a)}:n;if(n.border&&!Object.keys(l.sides).length)continue;let u=n.clear?0:n.xf===void 0?i.derive(c?.[2]??0,l):n.xf,d=c?[c[0],c[1],u]:[6,``,u],f=r.formulas.get(s);o.push({key:s,prev:c,prevF:f,next:d,nextF:f})}this.apply(r,o,`next`);let l=i.xml();this.wb.pkg.setPart(this.stylesPath,l),this.wb.styles=Ya(me(l),this.wb.theme);let u=this.record(e,o,t);return u.styles=this.wb.styles.xfs.slice(a).map((e,t)=>({index:a+t,css:e.css,format:e.numFmt})),u}step(e,t){let n=this.sheet(e.sheet);this.lastRecalc=[],e.full&&so(n,t===`prev`?e.full.before:e.full.after),this.apply(n,e.cells,t),e.lay&&Do(n,t===`prev`?e.lay.before:e.lay.after);let r=e.full?this.recalcAll():this.lastRecalc;return{sheet:e.sheet,range:e.range,layout:e.full||e.lay?this.layout(e.sheet):void 0,recalc:r}}undo(){let e=this.undoStack.pop();return e?(this.redoStack.push(e),this.step(e,`prev`)):null}redo(){let e=this.redoStack.pop();return e?(this.undoStack.push(e),this.step(e,`next`)):null}takeRecord(){let e=this.undoStack.pop();return this.undoStack=[],this.redoStack=[],e}revertRecord(e){return this.step(e,`prev`)}restoreRecord(e,t){let n=this.sheet(e.sheet),r=e.cells.map(e=>({key:e.key,prev:$(n,Math.floor(e.key/Q),e.key%Q),prevF:n.formulas.get(e.key),next:t===`prev`?e.prev:e.next,nextF:t===`prev`?e.prevF:e.nextF})),i={sheet:e.sheet,cells:r,range:e.range,lay:e.lay?{before:Eo(n),after:t===`prev`?e.lay.before:e.lay.after}:void 0,full:e.full?{before:oo(n),after:t===`prev`?e.full.before:e.full.after}:void 0},a=this.step(i,`next`);return this.undoStack.push(i),a}async styleMark(){return(await this.styles()).mark()}async styleTruncate(e){let t=await this.styles(),n=t.xml();t.truncate(e);let r=t.xml();r!==n&&(this.wb.pkg.setPart(this.stylesPath,r),this.wb.styles=Ya(me(r),this.wb.theme))}styleAt(e,t,n){return $(this.sheet(e),t,n)?.[2]??0}layout(e){let t=this.sheet(e),n=ao(t);return{sheet:e,rows:t.maxRow+1,cols:t.maxCol+1,rowSizes:n,done:!0,colInfo:t.colInfo,defaultColW:t.defaultColW,defaultRowH:t.defaultRowH,frozen:t.frozen,gridLines:t.gridLines,merges:t.merges}}async allSheets(){return await Promise.all(this.wb.sheets.map(e=>this.wb.loadSheet(e.index,()=>{}))),this.wb.sheets.map(e=>({name:e.name,d:this.wb.sheetsData.get(e.index)}))}async sheetOp(e,t){let n=this.sheet(e),r=this.wb.sheets[e].name,i={r0:0,c0:0,r1:Math.max(0,n.maxRow+50),c1:Math.max(0,n.maxCol+10)},a=(t,r=i)=>{let a=Eo(n);t();let o={sheet:e,cells:[],range:r,lay:{before:a,after:Eo(n)}};return this.undoStack.push(o),this.redoStack=[],{sheet:e,range:r,layout:this.layout(e)}};switch(t.op){case`insertRows`:case`deleteRows`:case`insertCols`:case`deleteCols`:{let a=await this.allSheets(),o=oo(n);uo(n,r,t.op.endsWith(`Rows`)?`row`:`col`,t.at,t.op.startsWith(`insert`)?t.n:-t.n,a),this.formulaTouched=!0;let s=this.recalcAll(),c={sheet:e,cells:[],range:i,full:{before:o,after:oo(n)}};return this.undoStack.push(c),this.redoStack=[],{sheet:e,range:i,layout:this.layout(e),recalc:s}}case`merge`:case`unmerge`:{let r=t.range,i=t.op===`unmerge`||!t.mode||t.mode===`all`?[r]:t.mode===`across`?Array.from({length:r.r1-r.r0+1},(e,t)=>({r0:r.r0+t,r1:r.r0+t,c0:r.c0,c1:r.c1})):Array.from({length:r.c1-r.c0+1},(e,t)=>({r0:r.r0,r1:r.r1,c0:r.c0+t,c1:r.c0+t})),o=a(()=>{if(fo(n,r,!1),t.op===`merge`)for(let e of i)fo(n,e,!0)},r);if(t.op===`merge`){let t=[];for(let e of i)for(let r=e.r0;r<=e.r1;r++)for(let i=e.c0;i<=e.c1;i++)(r!==e.r0||i!==e.c0)&&$(n,r,i)&&$(n,r,i)?.[1]!==``&&t.push({r,c:i,input:``});if(t.length){this.setCells(e,t);let n=this.undoStack.pop();this.undoStack[this.undoStack.length-1].cells=n.cells}}return o}case`hideRows`:return a(()=>{for(let e=t.a;e<=t.b;e++){let r=n.rowAttrs.get(e);if(t.hidden)n.rowAttrs.set(e,{...r??{},hidden:!0});else if(r){let{hidden:t,...i}=r;i.ht===void 0?n.rowAttrs.delete(e):n.rowAttrs.set(e,i)}n.dirtyRows.add(e)}});case`hideCols`:return a(()=>Oo(n,t.a,t.b,t.hidden));case`gridlines`:return a(()=>{n.gridLines=t.show,n.dirtyView=!0});case`colWidth`:return a(()=>po(n,t.c0,t.c1,t.px));case`rowHeight`:return a(()=>mo(n,t.r0,t.r1,t.px));case`freeze`:return a(()=>{n.frozen={rows:t.rows,cols:t.cols},n.dirtyView=!0});case`fill`:return this.fill(e,n,t.range,t.dir);case`sort`:return this.sort(e,n,t.range,t.col,!!t.desc)}}replace(e,t,n,r={},i){let a=this.sheet(e),o=new RegExp(r.whole?`^${jo(t)}$`:jo(t),r.matchCase?`g`:`gi`),s=[],c=i?[i]:this.wb.find(e,t,r,1e9);for(let{r:t,c:i}of c){let c=a.formulas.get(t*Q+i),l=r.formulas&&c?`=`+c:this.wb.cell(e,t,i)?.value;if(l===void 0||c&&!r.formulas)continue;let u=l.replace(o,n);u!==l&&s.push({r:t,c:i,input:u})}return s.length?this.setCells(e,s):null}fill(e,t,n,r){co(t);let i=[];for(let e=n.r0;e<=n.r1;e++)for(let a=n.c0;a<=n.c1;a++){let o=r===`down`?n.r0:e,s=r===`right`?n.c0:a;if(o===e&&s===a)continue;let c=e*Q+a,l=$(t,o,s),u=t.formulas.get(o*Q+s),d=u?Sa(u,e-o,a-s):void 0;i.push({key:c,prev:$(t,e,a),prevF:t.formulas.get(c),next:l?[l[0],d?`=`+d:l[1],l[2]]:null,nextF:d})}return this.apply(t,i,`next`),this.record(e,i,n)}sort(e,t,n,r,i){co(t);let a=[];for(let e=n.r0;e<=n.r1;e++){let i=[],o=[];for(let r=n.c0;r<=n.c1;r++)i.push($(t,e,r)),o.push(t.formulas.get(e*Q+r));let s=$(t,e,r),c=s?s[0]===1?this.wb.sst[s[1]]:s[1]:null;a.push({r:e,cells:i,f:o,key:c===``?null:c})}let o=(e,t)=>e==null?1:t==null?-1:typeof e==`number`&&typeof t==`number`?e-t:typeof e==`number`?-1:typeof t==`number`?1:String(e).localeCompare(String(t),void 0,{sensitivity:`base`,numeric:!0}),s=[...a].sort((e,t)=>{let n=o(e.key,t.key);return i&&e.key!==null&&t.key!==null?-n:n}),c=[];return s.forEach((e,r)=>{let i=n.r0+r;for(let r=n.c0;r<=n.c1;r++){let a=r-n.c0,o=i*Q+r,s=e.f[a]?Sa(e.f[a],i-e.r,0):void 0,l=e.cells[a];c.push({key:o,prev:$(t,i,r),prevF:t.formulas.get(o),next:l?[l[0],s?`=`+s:l[1],l[2]]:null,nextF:s})}}),this.apply(t,c,`next`),this.record(e,c,n)}async bookOp(r){let c=this.wb.pkg,f=t(await c.text(this.wb.mainPath)),p=a(f),m=i(p.q),h=s(p,`sheets`),g=o(h,`sheet`),_=this.wb.sheets,v=e=>{let t=new Map(this.wb.sheetsData);this.wb.sheetsData.clear(),e.forEach((e,n)=>{let r=t.get(e);r&&this.wb.sheetsData.set(n,r)});let n=e.map((e,t)=>({..._[e],index:t}));_.splice(0,_.length,...n)};switch(r.op){case`add`:{let e=c.freeName(`xl/worksheets`,`sheet`,`xml`);this.newSheets.set(e,`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<worksheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\"><sheetViews><sheetView workbookViewId=\"0\"/></sheetViews><sheetFormatPr defaultRowHeight=\"15\"/><sheetData/></worksheet>`),c.setPart(e,`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<worksheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\"><sheetViews><sheetView workbookViewId=\"0\"/></sheetViews><sheetFormatPr defaultRowHeight=\"15\"/><sheetData/></worksheet>`),await c.setContentType(e,`application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml`);let t=await c.addRel(this.wb.mainPath,`http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet`,e),n=g.map(e=>Number(l(e,`sheetId`)??0)),i=r.name??`Sheet${_.length+1}`;for(;_.some(e=>e.name.toLowerCase()===i.toLowerCase());)i+=`_`;let a=d(m+`sheet`,{name:i,sheetId:String(Math.max(0,...n)+1),...b(p,`id`,t)}),o=r.after??_.length-1,s=o+1>=g.length?h.c.length:h.c.indexOf(g[o+1]);h.c.splice(s,0,a),h.self=!1;let u={name:i,index:o+1,path:e,hidden:!1},f=_.map((e,t)=>t);_.push({...u,index:_.length}),f.splice(o+1,0,_.length-1),v(f);break}case`rename`:{let e=_[r.index],t=r.name.trim().slice(0,31).replace(/[\\\\/?*[\\]:]/g,`_`);if(!e||!t||_.some((e,n)=>n!==r.index&&e.name.toLowerCase()===t.toLowerCase()))throw Error(`Invalid sheet name`);u(g[r.index],`name`,t);for(let n of await this.allSheets())for(let[r,i]of n.d.formulas){let a=Ta(i,e.name,t);a!==i&&(n.d.formulas.set(r,a),n.d.edited.add(r))}e.name=t;break}case`delete`:{if(_.length<=1)throw Error(`A workbook needs at least one sheet`);let t=_[r.index];h.c.splice(h.c.indexOf(g[r.index]),1),c.setPart(t.path,null),c.has(A(t.path))&&c.setPart(A(t.path),null),await c.removeRelsTo(this.wb.mainPath,t.path),await c.setContentType(t.path,null),v(_.map((e,t)=>t).filter(e=>e!==r.index));let n=s(p,`definedNames`);n&&(n.c=n.c.filter(t=>!(e(t)&&l(t,`localSheetId`)===String(r.index))));break}case`move`:{let e=g[r.from];h.c.splice(h.c.indexOf(e),1);let t=o(h,`sheet`);h.c.splice(r.to>=t.length?h.c.length:h.c.indexOf(t[r.to]),0,e);let n=_.map((e,t)=>t);n.splice(r.from,1),n.splice(r.to,0,r.from),v(n);break}}return c.setPart(this.wb.mainPath,n(f)),this.bookChanged=!0,this.undoStack=[],this.redoStack=[],{sheet:0,range:{r0:0,c0:0,r1:0,c1:0},sheets:_.map(e=>({...e}))}}bookChanged=!1;newSheets=/* @__PURE__ */ new Map;async save(){let e=this.wb.pkg,r=!1;for(let[t,n]of this.wb.sheetsData){if(!To(n))continue;r=!0;let i=this.wb.sheets[t];e.setPart(i.path,()=>this.rewrite(i.path,n))}if(r){let r=t(await e.text(this.wb.mainPath)),o=a(r),c=i(o.q),l=f(s(o,`calcPr`)??d(c+`calcPr`));u(l,`fullCalcOnLoad`,`1`),m(o,l,`calcPr`,go),e.setPart(this.wb.mainPath,n(r));let p=j(this.wb.rels,`calcChain`);p&&this.formulaTouched&&e.has(p.target)&&(e.setPart(p.target,null),await e.removeRelsTo(this.wb.mainPath,p.target),await e.setContentType(p.target,null))}return e.save(`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`)}rewrite(e,t){let n=this.wb.pkg,r=this.wb,i=this,a=/* @__PURE__ */ new Map,o=/* @__PURE__ */ new Set;for(let[e,n]of t.shared)t.edited.has(n.master)&&o.add(e);if(o.size)for(let[e,n]of t.depOf){if(!o.has(n)||t.edited.has(e))continue;let r=t.shared.get(n),i=Math.floor(e/Q)-Math.floor(r.master/Q),s=e%Q-r.master%Q;a.set(e,Sa(r.text,i,s))}let s=/* @__PURE__ */ new Map;for(let e of t.dirtyRows)s.has(e)||s.set(e,/* @__PURE__ */ new Set);for(let e of[...t.edited,...a.keys()]){let t=Math.floor(e/Q),n=s.get(t);n||s.set(t,n=/* @__PURE__ */ new Set),n.add(e%Q)}let c=[...s.keys()].sort((e,t)=>e-t),l=new TextEncoder;return new ReadableStream({async start(o){let u=new Ao(c,s,t,a,r),d=i.newSheets.get(e),f=(d===void 0?await n.zip.stream(e):new Blob([d]).stream()).getReader(),p=new TextDecoder;for(;;){let{done:e,value:t}=await f.read(),n=e?p.decode():p.decode(t,{stream:!0});for(let t of u.push(n,e))t&&o.enqueue(l.encode(t));if(e)break}o.close()}})}};function wo(e,t,n,r,i){let a=t*Q+n,o=$(e,t,n),s=e.formulas.get(a);if(!o&&!s)return``;let c=Qa(n)+(t+1),l=o?.[2]?` s=\"${o[2]}\"`:``;if(s){let[e,t]=o??[6,``],n=`<${r}f>${h(s)}</${r}f>`;return e===0?`<${r}c r=\"${c}\"${l}>${n}<${r}v>${String(t)}</${r}v></${r}c>`:e===3?`<${r}c r=\"${c}\"${l} t=\"b\">${n}<${r}v>${+!!t}</${r}v></${r}c>`:e===4?`<${r}c r=\"${c}\"${l} t=\"e\">${n}<${r}v>${h(String(t))}</${r}v></${r}c>`:e===2&&!String(t).startsWith(`=`)?`<${r}c r=\"${c}\"${l} t=\"str\">${n}<${r}v>${h(String(t))}</${r}v></${r}c>`:`<${r}c r=\"${c}\"${l}>${n}</${r}c>`}let[u,d]=o;switch(u){case 0:return`<${r}c r=\"${c}\"${l}><${r}v>${String(d)}</${r}v></${r}c>`;case 1:case 2:return`<${r}c r=\"${c}\"${l} t=\"inlineStr\"><${r}is><${r}t xml:space=\"preserve\">${h(u===1?i.sst[d]??``:String(d))}</${r}t></${r}is></${r}c>`;case 3:return`<${r}c r=\"${c}\"${l} t=\"b\"><${r}v>${+!!d}</${r}v></${r}c>`;case 4:return`<${r}c r=\"${c}\"${l} t=\"e\"><${r}v>${h(String(d))}</${r}v></${r}c>`;case 5:return`<${r}c r=\"${c}\"${l} t=\"d\"><${r}v>${h(String(d))}</${r}v></${r}c>`;default:return`<${r}c r=\"${c}\"${l}/>`}}function To(e){return e.edited.size>0||e.structural||e.dirtyCols||e.dirtyMerges||e.dirtyView||e.dirtyRows.size>0||e.formulaChanged}function Eo(e){return{merges:e.merges.map(e=>({...e})),colInfo:e.colInfo.map(e=>({...e})),rowAttrs:[...e.rowAttrs].map(([e,t])=>[e,{...t}]),frozen:{...e.frozen},gridLines:e.gridLines}}function Do(e,t){if(t.merges&&(e.merges=t.merges.map(e=>({...e}))),t.colInfo&&(e.colInfo=t.colInfo.map(e=>({...e}))),t.rowAttrs){for(let t of e.rowAttrs.keys())e.dirtyRows.add(t);e.rowAttrs=new Map(t.rowAttrs.map(([e,t])=>[e,{...t}]));for(let t of e.rowAttrs.keys())e.dirtyRows.add(t)}t.frozen&&(e.frozen={...t.frozen}),t.gridLines!==void 0&&(e.gridLines=t.gridLines),e.dirtyCols=e.dirtyMerges=e.dirtyView=!0}function Oo(e,t,n,r){let i=[],a=[];for(let o of e.colInfo){if(o.max<t||o.min>n){i.push(o);continue}o.min<t&&i.push({...o,max:t-1}),o.max>n&&i.push({...o,min:n+1});let s=Math.max(o.min,t),c=Math.min(o.max,n);a.push([s,c]),r?i.push(o.w?{...o,min:s,max:c,w:0,prevW:o.w}:{...o,min:s,max:c}):i.push(o.w?{...o,min:s,max:c}:{min:s,max:c,w:o.prevW||e.defaultColW})}if(r){a.sort((e,t)=>e[0]-t[0]);let r=t;for(let[t,o]of[...a,[n+1,n+1]])t>r&&i.push({min:r,max:Math.min(t-1,n),w:0,prevW:e.defaultColW}),r=Math.max(r,o+1)}e.colInfo=i.sort((e,t)=>e.min-t.min),e.dirtyCols=!0}function ko(e,t,n,r){let i={},a={top:n===t.r0,bottom:n===t.r1,left:r===t.c0,right:r===t.c1};for(let t of[`top`,`bottom`,`left`,`right`])e===`all`?i[t]=!0:e===`none`?i[t]=!1:e===`outer`?a[t]&&(i[t]=!0):e===`inner`?a[t]||(i[t]=!0):e===t&&a[t]&&(i[t]=!0);return i}var Ao=class{rows;rowCols;d;fix;wb;buf=``;P=``;next=0;lastRow=-1;phase=`head`;tail=``;constructor(e,t,n,r,i){this.rows=e,this.rowCols=t,this.d=n,this.fix=r,this.wb=i}newRow(e){let t=[...this.rowCols.get(e)??[]].sort((e,t)=>e-t).map(t=>wo(this.d,e,t,this.P,this.wb)).join(``),n=this.rowAttrXml(e);return t||n?`<${this.P}row r=\"${e+1}\"${n}>${t}</${this.P}row>`:``}rowAttrXml(e){let t=this.d.rowAttrs.get(e);return t?(t.ht===void 0?``:` ht=\"${t.ht}\" customHeight=\"1\"`)+(t.hidden?` hidden=\"1\"`:``):``}before(e){let t=``;for(;this.next<this.rows.length&&this.rows[this.next]<e;)t+=this.newRow(this.rows[this.next++]);return t}*allRows(){let e=this.d,t=Math.max(e.rows.length-1,...e.rowAttrs.keys(),-1),n=``;for(let r=0;r<=t;r++){let t=e.rows[r],i=this.rowAttrXml(r);if(!t?.length&&!i)continue;let a=``;if(t){let n=[];for(let e=0;e<t.length;e+=4)n.push(t[e]);for(let t of n.sort((e,t)=>e-t))a+=wo(e,r,t,this.P,this.wb)}n+=`<${this.P}row r=\"${r+1}\"${i}>${a}</${this.P}row>`,n.length>65536&&(yield n,n=``)}n&&(yield n)}colsXml(){let e=this.P,t=[...this.d.colInfo].sort((e,t)=>e.min-t.min);return t.length?`<${e}cols>${t.map(t=>`<${e}col min=\"${t.min+1}\" max=\"${t.max+1}\" width=\"${+((t.w||t.prevW||0)/7).toFixed(4)}\" customWidth=\"1\"${t.w?``:` hidden=\"1\"`}/>`).join(``)}</${e}cols>`:``}headFix(i){let o=this.d,c=this.P,l=i;if(o.dirtyCols||o.structural){let e=RegExp(`<${c}cols\\\\b[\\\\s\\\\S]*?<\\\\/${c}cols>|<${c}cols\\\\s*\\\\/>`);l=e.test(l)?l.replace(e,this.colsXml()):l+this.colsXml()}if(o.dirtyView||o.structural){let{rows:i,cols:d}=o.frozen,f=i||d?`<${c}pane${d?` xSplit=\"${d}\"`:``}${i?` ySplit=\"${i}\"`:``} topLeftCell=\"${Qa(d)}${i+1}\" activePane=\"${i&&d?`bottomRight`:i?`bottomLeft`:`topRight`}\" state=\"frozen\"/>`:``,p=RegExp(`<${c}sheetViews>[\\\\s\\\\S]*?<\\\\/${c}sheetViews>`).exec(l);if(p){let i=t(p[0]),c=s(a(i),`sheetView`);c&&(c.c=c.c.filter(t=>!e(t)||r(t.q)!==`pane`&&r(t.q)!==`selection`),f&&c.c.unshift(f),u(c,`showGridLines`,o.gridLines?void 0:`0`),c.self=c.c.length===0,l=l.replace(p[0],n(i)))}else if(f||!o.gridLines){let e=`<${c}sheetViews><${c}sheetView${o.gridLines?``:` showGridLines=\"0\"`} workbookViewId=\"0\">${f}</${c}sheetView></${c}sheetViews>`,t=l.search(RegExp(`<${c}(sheetFormatPr|cols)\\\\b`));l=t>=0?l.slice(0,t)+e+l.slice(t):l+e}}return o.structural&&(l=l.replace(RegExp(`<${c}dimension\\\\b[^>]*\\\\/>`),`<${c}dimension ref=\"A1:${Qa(Math.max(0,o.maxCol))}${Math.max(1,o.maxRow+1)}\"/>`)),l}tailFix(e){let t=this.d;if(!t.dirtyMerges&&!t.structural)return e;let n=this.P,r=t.merges,i=r.length?`<${n}mergeCells count=\"${r.length}\">${r.map(e=>`<${n}mergeCell ref=\"${Qa(e.c0)}${e.r0+1}:${Qa(e.c1)}${e.r1+1}\"/>`).join(``)}</${n}mergeCells>`:``,a=RegExp(`<${n}mergeCells\\\\b[\\\\s\\\\S]*?<\\\\/${n}mergeCells>|<${n}mergeCells\\\\b[^>]*\\\\/>`);if(a.test(e))return e.replace(a,i);let o=0,s=/<(\\w+:)?(sheetCalcPr|sheetProtection|protectedRanges|scenarios|autoFilter|sortState|dataConsolidate|customSheetViews)\\b[\\s\\S]*?(\\/>|<\\/(\\w+:)?\\2>)/g;for(let t=s.exec(e);t;t=s.exec(e))o=t.index+t[0].length;return e.slice(0,o)+i+e.slice(o)}push(e,t){let n=this.buf+e;this.buf=``;let r=[];if(this.phase===`tail`)return this.tail+=n,t&&r.push(this.tailFix(this.tail)),r;let i=0;if(this.phase===`head`){let e=/<([\\w.-]+:)?sheetData(\\s[^>]*)?(\\/?)>/.exec(n);if(!e)return t?r.push(this.headFix(n)):this.buf=n,r;this.P=e[1]??``,r.push(this.headFix(n.slice(0,e.index)));let a=e.index+e[0].length;if(e[3]===`/`){if(r.push(`<${this.P}sheetData>`),this.d.structural)r.push(...this.allRows());else{let e=``;for(;this.next<this.rows.length;)e+=this.newRow(this.rows[this.next++]);r.push(e)}return r.push(`</${this.P}sheetData>`),this.phase=`tail`,[...r,...this.push(n.slice(a),t)]}r.push(e[0]),i=a,this.phase=this.d.structural?`skip`:`data`}let a=`</${this.P}sheetData>`;if(this.phase===`skip`){let e=n.indexOf(a,i);return e<0?(this.buf=n.slice(Math.max(i,n.length-a.length)),r):(r.push(...this.allRows(),a),this.phase=`tail`,[...r,...this.push(n.slice(e+a.length),t)])}let o=`<${this.P}row`,s=``,c=n.indexOf(a,i);for(;i<n.length;){let e=n.indexOf(o,i);if(c>=0&&c<i&&(c=n.indexOf(a,i)),c>=0&&(e<0||c<e))return s+=n.slice(i,c)+this.before(1/0)+a,r.push(s),this.phase=`tail`,[...r,...this.push(n.slice(c+a.length),t)];if(e<0)break;let l=n.indexOf(`>`,e);if(l<0){s+=n.slice(i,e),i=e;break}let u=n.slice(e,l+1),d=u.charCodeAt(o.length);if(d!==32&&d!==62&&d!==47&&d!==9&&d!==10&&d!==13){s+=n.slice(i,l+1),i=l+1;continue}let f=/\\sr=\"(\\d+)\"/.exec(u),p=f?Number(f[1])-1:this.lastRow+1;this.lastRow=p;let m=u.endsWith(`/>`),h;if(m)h=l+1;else{let t=n.indexOf(`</${this.P}row>`,l);if(t<0){s+=n.slice(i,e),i=e,this.lastRow=p-1;break}h=t+this.P.length+6}s+=n.slice(i,e)+this.before(p),this.next<this.rows.length&&this.rows[this.next]===p?(this.next++,s+=this.patchRow(n.slice(e,h),p)):s+=n.slice(e,h),i=h}return r.push(s),this.buf=n.slice(i),t&&r.push(this.buf),r}patchRow(o,c){let d=t(o),f=a(d);if(!f)return o;let p=i(f.q);if(u(f,`spans`,void 0),this.d.dirtyRows.has(c)){let e=this.d.rowAttrs.get(c);u(f,`ht`,e?.ht===void 0?void 0:String(e.ht)),u(f,`customHeight`,e?.ht===void 0?void 0:`1`),u(f,`hidden`,e?.hidden?`1`:void 0)}let m=[...this.rowCols.get(c)??[]].sort((e,t)=>e-t),g=/* @__PURE__ */ new Map,_=-1;f.c.forEach((t,n)=>{if(!e(t)||r(t.q)!==`c`)return;let i=l(t,`r`),a=i?$a(i)[1]:_+1;_=a,g.set(a,n)});let v=/* @__PURE__ */ new Map,y=[];for(let e of m){let t=c*Q+e,n=g.get(e);if(this.d.edited.has(t)){let t=wo(this.d,c,e,p,this.wb);n===void 0?t&&y.push({c:e,node:t}):v.set(n,t)}else if(n!==void 0&&this.fix.has(t)){let e=f.c[n],r=s(e,`f`);r&&(r.a=``,r.c=[h(this.fix.get(t))],r.self=!1)}}for(let[e,t]of v)f.c[e]=t;if(y.length){let e=[...g.entries()].sort((e,t)=>e[0]-t[0]);for(let t of y.reverse()){let n=e.find(([e])=>e>t.c),r=n?n[1]:f.c.length;f.c.splice(r,0,t.node);for(let t of e)t[1]>=r&&t[1]++}f.self=!1}return n(d)}};const jo=e=>e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`),Mo={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,bmp:`image/bmp`,svg:`image/svg+xml`,webp:`image/webp`},No=[`xfrm`,`custGeom`,`prstGeom`,`noFill`,`solidFill`,`gradFill`,`blipFill`,`pattFill`,`grpFill`,`ln`,`effectLst`,`effectDag`,`scene3d`,`sp3d`,`extLst`],Po=/* @__PURE__ */ new Set([`noFill`,`solidFill`,`gradFill`,`blipFill`,`pattFill`,`grpFill`]),Fo=e=>String(Math.round(e*Oe));function Io(e){let t=s(s(a(e),`cSld`),`spTree`);if(!t)throw Error(`Slide has no shape tree`);return t}function Lo(e){let t=o(e).find(e=>/^nv.*Pr$/.test(r(e.q))),n=t?l(s(t,`cNvPr`)??t,`id`):void 0;return n===void 0?void 0:Number(n)}function Ro(t){let n=1;for(let i of t)e(i)&&v(i,e=>{r(e.q)===`cNvPr`&&(n=Math.max(n,Number(l(e,`id`)??0)))});return n}function zo(t){let n=``;for(let r of t)e(r)&&v(r,e=>(!n&&/:(off|ext|t|p|bodyPr)$/.test(e.q)&&(n=i(e.q)),!!n));return n||`a:`}function Bo(e,t,n,i){let a=r(e.q),o;if(a===`graphicFrame`)o=e;else{let t=a===`grpSp`?`grpSpPr`:`spPr`,n=s(e,t);n||(n=d(i+t),e.c.splice(1,0,n)),o=n}let c=s(o,`xfrm`);c||(c=d((a===`graphicFrame`?i:n)+`xfrm`),a===`graphicFrame`?o.c.splice(1,0,c):m(o,c,`xfrm`,No));let l=(e,t)=>{let r=s(c,e);r||(r=d(n+e),c.c.splice(e===`off`?0:e===`ext`?1:c.c.length,0,r));for(let[e,n]of Object.entries(t))u(r,e,n)};l(`off`,{x:Fo(t.x),y:Fo(t.y)}),l(`ext`,{cx:Fo(Math.max(1,t.w)),cy:Fo(Math.max(1,t.h))}),u(c,`rot`,t.rot?String(Math.round((t.rot%360+360)%360*6e4)):void 0),t.flipH!==void 0&&u(c,`flipH`,t.flipH?`1`:void 0),t.flipV!==void 0&&u(c,`flipV`,t.flipV?`1`:void 0),c.self=!1,o.self=!1}function Vo(e,t){return t?d(e+`solidFill`,{},[d(e+`srgbClr`,{val:t.replace(`#`,``).toUpperCase()})]):d(e+`noFill`)}function Ho(e,t,n,r,i,a,o){let s=`<${r}off x=\"${Fo(n.x)}\" y=\"${Fo(n.y)}\"/><${r}ext cx=\"${Fo(n.w)}\" cy=\"${Fo(n.h)}\"/>`;return e===`image`?`<${i}pic><${i}nvPicPr><${i}cNvPr id=\"${t}\" name=\"Picture ${t}\"/><${i}cNvPicPr><${r}picLocks noChangeAspect=\"1\"/></${i}cNvPicPr><${i}nvPr/></${i}nvPicPr><${i}blipFill><${r}blip r:embed=\"${o}\"/><${r}stretch><${r}fillRect/></${r}stretch></${i}blipFill><${i}spPr><${r}xfrm>${s}</${r}xfrm><${r}prstGeom prst=\"rect\"><${r}avLst/></${r}prstGeom></${i}spPr></${i}pic>`:e===`text`?`<${i}sp><${i}nvSpPr><${i}cNvPr id=\"${t}\" name=\"TextBox ${t}\"/><${i}cNvSpPr txBox=\"1\"/><${i}nvPr/></${i}nvSpPr><${i}spPr><${r}xfrm>${s}</${r}xfrm><${r}prstGeom prst=\"rect\"><${r}avLst/></${r}prstGeom><${r}noFill/></${i}spPr><${i}txBody><${r}bodyPr wrap=\"square\" rtlCol=\"0\"><${r}spAutoFit/></${r}bodyPr><${r}lstStyle/>${(e=>`<${r}p><${r}r><${r}rPr lang=\"en-US\" dirty=\"0\"/><${r}t>${h(e)}</${r}t></${r}r></${r}p>`)(a??`Text`)}</${i}txBody></${i}sp>`:e===`line`?`<${i}cxnSp><${i}nvCxnSpPr><${i}cNvPr id=\"${t}\" name=\"Connector ${t}\"/><${i}cNvCxnSpPr/><${i}nvPr/></${i}nvCxnSpPr><${i}spPr><${r}xfrm>${s}</${r}xfrm><${r}prstGeom prst=\"line\"><${r}avLst/></${r}prstGeom><${r}ln w=\"19050\"><${r}solidFill><${r}schemeClr val=\"tx1\"/></${r}solidFill></${r}ln></${i}spPr></${i}cxnSp>`:`<${i}sp><${i}nvSpPr><${i}cNvPr id=\"${t}\" name=\"Shape ${t}\"/><${i}cNvSpPr/><${i}nvPr/></${i}nvSpPr><${i}spPr><${r}xfrm>${s}</${r}xfrm><${r}prstGeom prst=\"${e}\"><${r}avLst/></${r}prstGeom></${i}spPr><${i}style><${r}lnRef idx=\"2\"><${r}schemeClr val=\"accent1\"><${r}shade val=\"50000\"/></${r}schemeClr></${r}lnRef><${r}fillRef idx=\"1\"><${r}schemeClr val=\"accent1\"/></${r}fillRef><${r}effectRef idx=\"0\"><${r}schemeClr val=\"accent1\"/></${r}effectRef><${r}fontRef idx=\"minor\"><${r}schemeClr val=\"lt1\"/></${r}fontRef></${i}style><${i}txBody><${r}bodyPr rtlCol=\"0\" anchor=\"ctr\"/><${r}lstStyle/><${r}p><${r}pPr algn=\"ctr\"/>${a?`<${r}r><${r}rPr lang=\"en-US\" dirty=\"0\"/><${r}t>${h(a)}</${r}t></${r}r>`:``}<${r}endParaRPr lang=\"en-US\" dirty=\"0\"/></${r}p></${i}txBody></${i}sp>`}function Uo(n,i,o,c){let l=s(a(n),`cSld`);if(!l||(l.c=l.c.filter(t=>!(e(t)&&r(t.q)===`bg`)),!c))return;let u=t(`<${o}bg><${o}bgPr><${i}solidFill><${i}srgbClr val=\"${c.replace(`#`,``).toUpperCase()}\"/></${i}solidFill><${i}effectLst/></${o}bgPr></${o}bg>`)[0];l.c.unshift(u),l.self=!1}async function Wo(e,r,a){let o=e.meta.slides[r];if(!o)throw Error(`No slide #${r}`);let s=await e.pkg.text(o.path),c=t(s),l=Io(c);await a(c,l,zo(c),i(l.q));let u=n(c);return e.pkg.setPart(o.path,u),e.touched=!0,u!==s&&(e.undoStack.push({path:o.path,before:s,after:u}),e.undoStack.length>200&&e.undoStack.shift(),e.redoStack=[]),e.slide(r)}async function Go(e,t=!1){let n=(t?e.redoStack:e.undoStack).pop();if(!n)return null;(t?e.undoStack:e.redoStack).push(n),e.pkg.setPart(n.path,t?n.after:n.before);let r=e.meta.slides.findIndex(e=>e.path===n.path);return r<0?null:{index:r,model:await e.slide(r)}}async function Ko(e,t,n,r){if(r=r.toLowerCase().replace(`jpeg`,`jpg`),!Mo[r])throw Error(`Unsupported image type .${r}`);let i=e.meta.slides[t],a=e.pkg.freeName(`ppt/media`,`image`,r);return e.pkg.setPart(a,n),await e.pkg.ensureDefaultType(r,Mo[r]),e.pkg.addRel(i.path,`http://schemas.openxmlformats.org/officeDocument/2006/relationships/image`,a)}function qo(n,i,a){return Wo(n,i,(n,i,o,c)=>{let h=t=>{let n=i.c.findIndex(n=>e(n)&&Lo(n)===t);return n>=0?{node:i.c[n],i:n}:void 0};for(let g of a){if(g.op===`insert`){let e=Ro(n)+1,r=Ho(g.kind,e,g.box,o,c,g.text,g.rid);i.c.push(t(r)[0]);continue}if(g.op===`bg`){Uo(n,o,c,g.color);continue}if(g.op===`anchor`){let e;v(i,t=>{if(e)return!0;r(t.q)===`sp`&&Number(l(s(s(t,`nvSpPr`),`cNvPr`)??t,`id`))===g.sid&&(e=s(s(t,`txBody`),`bodyPr`))}),e&&u(e,`anchor`,g.anchor);continue}let a=h(g.top);if(!a)continue;let{node:_,i:y}=a;switch(g.op){case`xfrm`:Bo(_,g.box,o,c);break;case`delete`:i.c.splice(y,1);break;case`order`:{let t=()=>i.c.map((t,n)=>e(t)&&!/^(nvGrpSpPr|grpSpPr|extLst)$/.test(r(t.q))?n:-1).filter(e=>e>=0),n=t().indexOf(y);i.c.splice(y,1);let a=t();if(g.to===`front`)i.c.splice(a.length?a[a.length-1]+1:i.c.length,0,_);else if(g.to===`back`)i.c.splice(a.length?a[0]:i.c.length,0,_);else{let e=g.to===`forward`?Math.min(a.length,n+1):Math.max(0,n-1);i.c.splice(e<a.length?a[e]:a.length?a[a.length-1]+1:i.c.length,0,_)}break}case`duplicate`:{let e=f(_),t=Ro(n);v(e,e=>{r(e.q)===`cNvPr`&&u(e,`id`,String(++t))});let a=(()=>{let t;return v(e,e=>(!t&&r(e.q)===`off`&&(t=e),!!t)),t})();a&&(u(a,`x`,String(Number(l(a,`x`)??0)+Math.round((g.dx??16)*Oe))),u(a,`y`,String(Number(l(a,`y`)??0)+Math.round((g.dy??16)*Oe)))),i.c.splice(y+1,0,e);break}case`fill`:case`line`:{let t=r(_.q);if(t!==`sp`&&t!==`cxnSp`&&t!==`pic`)break;let n=s(_,`spPr`);if(n||(n=d(c+`spPr`),_.c.splice(1,0,n)),g.op===`fill`)p(n,e=>Po.has(e)),m(n,Vo(o,g.color),g.color?`solidFill`:`noFill`,No);else{let t=f(s(n,`ln`)??d(o+`ln`));if(`color`in g?(p(t,e=>Po.has(e)),t.c.unshift(Vo(o,g.color??null))):t.c.some(t=>e(t)&&Po.has(r(t.q)))||t.c.unshift(d(o+`solidFill`,{},[d(o+`schemeClr`,{val:`tx1`})])),g.dash!==void 0){p(t,e=>e===`prstDash`||e===`custDash`);let n=t.c.findIndex(t=>e(t)&&!Po.has(r(t.q)));t.c.splice(n<0?t.c.length:n,0,d(o+`prstDash`,{val:g.dash}))}t.self=!1,g.w!==void 0&&u(t,`w`,String(Math.round(g.w*12700))),m(n,t,`ln`,No)}n.self=!1;break}}}})}async function Jo(n){let o=t(await n.pkg.text(n.mainPath)),c=a(o),l=i(c.q),u=s(c,`sldIdLst`);if(!u){u=d(l+`sldIdLst`);let t=c.c.findIndex(t=>e(t)&&r(t.q)===`sldMasterIdLst`);c.c.splice(t+1,0,u)}return{nodes:o,root:c,P:l,lst:u}}async function Yo(e){let t=await e.pkg.rels(e.mainPath),{lst:n}=await Jo(e),r=[];for(let i of o(n,`sldId`)){let n=t.get(l(i,`r:id`)??l(i,`id`,!0)??``);n&&e.pkg.has(n.target)&&r.push({index:r.length,path:n.target,hidden:!1})}for(let t of r){let n=(await e.pkg.text(t.path)).slice(0,600);t.hidden=/<[\\w:]*sld\\b[^>]*\\sshow=\"0\"/.test(n)}return e.meta.slides=r,e.meta.count=r.length,e.meta}async function Xo(e,t,n){let r=t?j(await e.pkg.rels(t),`slideLayout`)?.target:void 0,i=r?j(await e.pkg.rels(r),`slideMaster`)?.target:void 0;if(i||=j(await e.pkg.rels(e.mainPath),`slideMaster`)?.target,!i)return r;let a=we(await e.pkg.rels(i),`slideLayout`).map(e=>e.target),o=await Promise.all(a.map(async t=>/<[\\w:]*sldLayout\\b[^>]*\\stype=\"([^\"]+)\"/.exec((await e.pkg.text(t)).slice(0,800))?.[1])),s=n===`title`?[`title`]:n===`blank`?[`blank`]:[`obj`,`txAndObj`,`tx`],c=o.findIndex(e=>e&&s.includes(e));return c>=0?a[c]:r??a[0]}async function Zo(e,n){let r=``;if(n){let i=s(s(a(t(await e.pkg.text(n))),`cSld`),`spTree`),c=2;for(let e of o(i,`sp`)){let t=s(s(s(e,`nvSpPr`),`nvPr`),`ph`);if(!t)continue;let n=l(t,`type`);if(n&&[`dt`,`ftr`,`sldNum`].includes(n))continue;let i=l(s(s(e,`nvSpPr`),`cNvPr`)??e,`name`)??`Placeholder ${c}`,a=`<p:ph${n?` type=\"${n}\"`:``}${l(t,`idx`)?` idx=\"${l(t,`idx`)}\"`:``}/>`;r+=`<p:sp><p:nvSpPr><p:cNvPr id=\"${c++}\" name=\"${h(i)}\"/><p:cNvSpPr><a:spLocks noGrp=\"1\"/></p:cNvSpPr><p:nvPr>${a}</p:nvPr></p:nvSpPr><p:spPr/><p:txBody><a:bodyPr/><a:lstStyle/><a:p><a:endParaRPr lang=\"en-US\" dirty=\"0\"/></a:p></p:txBody></p:sp>`}}return`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\n<p:sld xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:p=\"http://schemas.openxmlformats.org/presentationml/2006/main\"><p:cSld><p:spTree><p:nvGrpSpPr><p:cNvPr id=\"1\" name=\"\"/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr><a:xfrm><a:off x=\"0\" y=\"0\"/><a:ext cx=\"0\" cy=\"0\"/><a:chOff x=\"0\" y=\"0\"/><a:chExt cx=\"0\" cy=\"0\"/></a:xfrm></p:grpSpPr>${r}</p:spTree></p:cSld><p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr></p:sld>`}async function Qo(e,t,r,i){let a=e.pkg.freeName(`ppt/slides`,`slide`,`xml`);e.pkg.setPart(a,r),e.pkg.setPart(A(a),i),await e.pkg.setContentType(a,`application/vnd.openxmlformats-officedocument.presentationml.slide+xml`);let s=await e.pkg.addRel(e.mainPath,`http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide`,a),{nodes:c,root:u,P:f,lst:p}=await Jo(e),m=o(p,`sldId`).map(e=>Number(l(e,`id`)??0)),h=Math.max(255,...m)+1,g=d(f+`sldId`,{id:String(h),...b(u,`id`,s)}),_=o(p,`sldId`),v=t<0?0:p.c.indexOf(_[Math.min(t,_.length-1)])+1;p.c.splice(v,0,g),p.self=!1,e.pkg.setPart(e.mainPath,n(c))}async function $o(r,i){let s=r.meta.slides;switch(r.touched=!0,i.op){case`add`:{let e=s[Math.max(0,Math.min(i.after,s.length-1))]?.path,t=await Xo(r,e,i.layout??`content`),n=await Zo(r,t),a=t?`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"><Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout\" Target=\"../slideLayouts/${t.split(`/`).pop()}\"/></Relationships>`:`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"></Relationships>`;await Qo(r,i.after,n,a);break}case`duplicate`:{let o=s[i.index];if(!o)break;let c=await r.pkg.text(o.path),u=A(o.path),d=r.pkg.has(u)?await r.pkg.text(u):`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\"></Relationships>`,f=t(d),p=a(f);p.c=p.c.filter(t=>!(e(t)&&/notesSlide$/.test(l(t,`Type`)??``))),d=n(f),await Qo(r,i.index,c,d);break}case`delete`:{let e=s[i.index];if(!e||s.length<=1)break;let{nodes:t,lst:a}=await Jo(r),c=await r.pkg.rels(r.mainPath),u=o(a,`sldId`).find(t=>c.get(l(t,`r:id`)??``)?.target===e.path);u&&a.c.splice(a.c.indexOf(u),1),r.pkg.setPart(r.mainPath,n(t));let d=j(await r.pkg.rels(e.path),`notesSlide`)?.target;await r.pkg.removeRelsTo(r.mainPath,e.path);for(let t of[e.path,d].filter(Boolean))r.pkg.setPart(t,null),r.pkg.has(A(t))&&r.pkg.setPart(A(t),null),await r.pkg.setContentType(t,null);break}case`move`:{let{nodes:e,lst:t}=await Jo(r),a=o(t,`sldId`),s=a[i.from];if(!s||i.to<0||i.to>=a.length)break;t.c.splice(t.c.indexOf(s),1);let c=o(t,`sldId`),l=i.to>=c.length?t.c.length:t.c.indexOf(c[i.to]);t.c.splice(l,0,s),r.pkg.setPart(r.mainPath,n(e));break}case`hide`:{let e=s[i.index];if(!e)break;let o=t(await r.pkg.text(e.path));u(a(o),`show`,i.hidden?`0`:void 0),r.pkg.setPart(e.path,n(o));break}}return Yo(r)}const es=/* @__PURE__ */ new Set([`insertRows`,`deleteRows`,`insertCols`,`deleteCols`]);var ts=class{ed;wb;emit;recs=/* @__PURE__ */ new Map;byOp=/* @__PURE__ */ new Map;seq=0;constructor(e,t,n){this.ed=e,this.wb=t,this.emit=n}index(e){let t=this.wb.sheets.findIndex(t=>t.path===e);if(t<0)throw new ns;return t}async sheet(e){let t=this.index(e);return await this.wb.loadSheet(t,this.emit),t}dropSheet(e){for(let[t,n]of this.recs)(e===null||n.ch?.sheet===e)&&(this.recs.delete(t),this.byOp.delete(n.op))}async apply(e){let t=await this.ed.styleMark(),n;try{n=await this.run(e)}catch(e){if(e instanceof ns)return{res:null,rec:null};throw e}let r=this.ed.takeRecord(),i=await this.ed.styleMark(),a=Object.keys(i).some(e=>i[e]!==t[e]);if(e.t===`book`||e.t===`sheet`&&es.has(e.op.op))return this.dropSheet(null),{res:n,rec:null};let o=++this.seq;if(this.recs.set(o,{ch:r,styles:a?t:void 0,op:e.id}),this.byOp.set(e.id,o),this.recs.size>400){let[e,t]=this.recs.entries().next().value;this.recs.delete(e),this.byOp.get(t.op)===e&&this.byOp.delete(t.op)}return{res:n,rec:o}}async run(e){let t=this.ed;switch(e.t){case`set`:return t.setCells(await this.sheet(e.sheet),e.cells);case`fmt`:return t.format(await this.sheet(e.sheet),e.range,e.patch);case`sheet`:return t.sheetOp(await this.sheet(e.sheet),e.op);case`replace`:return t.replace(await this.sheet(e.sheet),e.query,e.by,e.opts,e.at);case`book`:{let n=e.op,r;r=n.op===`add`?{op:`add`,name:n.name,after:n.after?this.index(n.after):void 0}:n.op===`rename`?{op:`rename`,index:this.index(n.path),name:n.name}:n.op===`delete`?{op:`delete`,index:this.index(n.path)}:{op:`move`,from:this.index(n.path),to:Math.max(0,Math.min(n.to,this.wb.sheets.length-1))};try{return await t.bookOp(r)}catch{throw new ns}}case`revert`:{let n=this.byOp.get(e.target),r=n===void 0?void 0:this.recs.get(n);if(!r?.ch)throw new ns;return t.restoreRecord(r.ch,e.which)}}}async revert(e){let t=this.recs.get(e);if(!t)return null;this.recs.delete(e),this.byOp.get(t.op)===e&&this.byOp.delete(t.op);let n=t.ch?this.ed.revertRecord(t.ch):null;return t.styles&&await this.ed.styleTruncate(t.styles),n}},ns=class extends Error{},rs=class{pres;recs=/* @__PURE__ */ new Map;byOp=/* @__PURE__ */ new Map;seq=0;images=/* @__PURE__ */ new Map;constructor(e){this.pres=e}async originals(){for(let e of this.pres.meta.slides)await this.pres.keepOriginal(e.path)}ready;index(e){return this.pres.meta.slides.findIndex(t=>t.path===e)}get genMaps(){return this.pres.genMaps}async snap(e){return{xml:await this.pres.pkg.text(e),gen:[...this.genMaps].filter(([t])=>t.startsWith(e+`#`))}}restore(e,t){this.pres.pkg.setPart(e,t.xml);for(let t of[...this.genMaps.keys()])t.startsWith(e+`#`)&&this.genMaps.delete(t);for(let[e,n]of t.gen)this.genMaps.set(e,n);this.pres.touched=!0}async model(e){let t=this.index(e);return t<0?{}:{slide:t,model:await this.pres.slide(t)}}async apply(e){let t=this.pres;if(await(this.ready??=this.originals()),e.t===`image`){let n=this.index(e.slide);if(n<0)return{res:{},rec:null};let r=this.images.get(e.key);return r||(r=await Ko(t,n,e.bytes,e.ext),this.images.set(e.key,r)),{res:{rid:r},rec:null}}if(e.t===`slides`){let n=e.op,r=e=>this.index(e),i=null;if(n.op===`add`?i={op:`add`,after:n.after?r(n.after):-1,layout:n.layout}:r(n.path)>=0&&(i=n.op===`duplicate`?{op:`duplicate`,index:r(n.path)}:n.op===`delete`?t.meta.slides.length>1?{op:`delete`,index:r(n.path)}:null:n.op===`move`?{op:`move`,from:r(n.path),to:Math.max(0,Math.min(n.to,t.meta.slides.length-1))}:{op:`hide`,index:r(n.path),hidden:n.hidden}),!i)return{res:{},rec:null};let a=await $o(t,i);return await this.originals(),this.recs.clear(),this.byOp.clear(),{res:{meta:{...a,slides:a.slides.map(e=>({...e}))}},rec:null}}let n,r;if(e.t===`revert`){let t=this.byOp.get(e.target);if(r=t===void 0?void 0:this.recs.get(t),!r)return{res:{},rec:null};n=r.path}else n=e.slide;let i=this.index(n);if(i<0)return{res:{},rec:null};let a=await this.snap(n);if(e.t===`text`)try{await t.setText(i,e.sid,e.paras)}catch{return{res:{},rec:null}}else e.t===`shapes`?await qo(t,i,e.ops.map(e=>{if(e.op!==`insert`||!e.key)return e;let{key:t,...n}=e;return{...n,rid:this.images.get(t)}})):r&&this.restore(n,e.which===`prev`?r.before:r.after);t.undoStack=[],t.redoStack=[];let o=++this.seq;if(this.recs.set(o,{path:n,before:a,after:await this.snap(n),op:e.id}),this.byOp.set(e.id,o),this.recs.size>300){let[e,t]=this.recs.entries().next().value;this.recs.delete(e),this.byOp.get(t.op)===e&&this.byOp.delete(t.op)}return{res:await this.model(n),rec:o}}async revert(e){let t=this.recs.get(e);return t?(this.recs.delete(e),this.byOp.get(t.op)===e&&this.byOp.delete(t.op),this.restore(t.path,t.before),this.model(t.path)):{}}};const is=/* @__PURE__ */ new Set([`docx.edit`,`docx.table`,`docx.image`,`docx.link`,`docx.style`,`save`,`xlsx.set`,`xlsx.format`,`xlsx.sheetOp`,`xlsx.bookOp`,`xlsx.replace`,`xlsx.undo`,`xlsx.redo`,`collab.xlsx.apply`,`collab.xlsx.revert`,`pptx.setText`,`pptx.shapes`,`pptx.slides`,`pptx.image`,`pptx.undo`,`collab.pptx.apply`,`collab.pptx.revert`]);var as=class{emit;pkg;kind;docx;xlsx;xlsxEd;pptx;abort=new AbortController;constructor(e){this.emit=e}async open(e,t={}){let n=await Bn(e,{...t,signal:this.abort.signal,onProgress:(e,t)=>this.emit(`progress`,{phase:`download`,loaded:e,total:t})}),r=await S.open(n),i=this.pkg=new Ce(r),a=await i.mainPart();this.kind=a.kind;let o={kind:a.kind,name:t.name??n.name,size:n.size};return a.kind===`docx`?this.docx=await ft.open(i,a.path):a.kind===`xlsx`?o.xlsx=(this.xlsx=await io.open(i,a.path)).meta():o.pptx=(this.pptx=await On.open(i,a.path)).meta,o}writes=Promise.resolve();call(e,t){if(!is.has(e))return this.dispatch(e,t);let n=this.writes.then(()=>this.dispatch(e,t));return this.writes=n.catch(()=>{}),n}async dispatch(e,t){switch(e){case`open`:return this.open(t[0],t[1]);case`part`:return this.need(this.pkg).blob(t[0]);case`docx.start`:{let e=this.need(this.docx);try{await e.stream({signal:this.abort.signal,onBlocks:e=>this.emit(`docx:blocks`,e),onMeta:e=>this.emit(`docx:meta`,e),onProgress:(e,t)=>this.emit(`progress`,{phase:`parse`,loaded:e,total:t})}),this.emit(`docx:done`,{})}catch(e){this.emit(`docx:done`,{error:e.message})}return}case`docx.edit`:return Rt(this.need(this.docx),t[0]);case`docx.table`:return Jt(this.need(this.docx),t[0]);case`docx.image`:return Ht(this.need(this.docx),new Uint8Array(t[0]),t[1]);case`docx.link`:return Ut(this.need(this.docx),t[0]);case`docx.style`:return At(this.need(this.docx),t[0]);case`save`:return this.save();case`dirty`:return this.docx?this.docx.dirty:this.xlsxEd?this.xlsxEd.dirty:this.pptx?this.pptx.dirty:this.need(this.pkg).dirty;case`xlsx.load`:this.need(this.xlsx).loadSheet(t[0],e=>this.emit(`xlsx:progress`,e),(e,t,n)=>this.emit(`progress`,{phase:e,loaded:t,total:n}));return;case`xlsx.set`:return this.xed().setCells(t[0],t[1]);case`xlsx.format`:return this.xed().format(t[0],t[1],t[2]);case`xlsx.sheetOp`:return this.xed().sheetOp(t[0],t[1]);case`xlsx.replace`:return this.xed().replace(t[0],t[1],t[2],t[3],t[4]);case`xlsx.bookOp`:return this.xed().bookOp(t[0]);case`xlsx.undo`:return this.xed().undo();case`xlsx.redo`:return this.xed().redo();case`collab.xlsx.apply`:return this.xc().apply(t[0]);case`collab.xlsx.revert`:return this.xc().revert(t[0]);case`collab.pptx.apply`:return(this.pcollab??=new rs(this.need(this.pptx))).apply(t[0]);case`collab.pptx.revert`:return(this.pcollab??=new rs(this.need(this.pptx))).revert(t[0]);case`xlsx.block`:return this.need(this.xlsx).block(t[0],t[1],t[2]);case`xlsx.cell`:return this.need(this.xlsx).cell(t[0],t[1],t[2]);case`xlsx.find`:return this.need(this.xlsx).find(t[0],t[1],t[2]);case`pptx.setText`:return this.need(this.pptx).setText(t[0],t[1],t[2]);case`pptx.shapes`:return qo(this.need(this.pptx),t[0],t[1]);case`pptx.slides`:return $o(this.need(this.pptx),t[0]);case`pptx.image`:return Ko(this.need(this.pptx),t[0],new Uint8Array(t[1]),t[2]);case`pptx.slide`:return this.need(this.pptx).slide(t[0]);case`pptx.undo`:return Go(this.need(this.pptx),!!t[0])}throw Error(`Unknown method ${String(e)}`)}xcollab;pcollab;xc(){return this.xcollab??=new ts(this.xed(),this.need(this.xlsx),e=>this.emit(`xlsx:progress`,e))}xed(){return this.xlsxEd??=new Co(this.need(this.xlsx))}async save(){if(this.docx)return Yt(this.docx);if(this.xlsx)return this.xed().save();if(this.pptx)return this.pptx.save();throw Error(`Saving is not supported for this document yet`)}dispose(){this.abort.abort()}need(e){if(!e)throw Error(this.kind?`Operation not available for ${this.kind}`:`Document not opened`);return e}};const os=self,ss=new as((e,t)=>{os.postMessage({event:e,data:t})});os.onmessage=async e=>{let{id:t,method:n,args:r}=e.data;try{let e=await ss.call(n,r);os.postMessage({id:t,ok:!0,result:e})}catch(e){os.postMessage({id:t,ok:!1,error:e?.message??String(e)})}};\n//# sourceMappingURL=worker-BEwT3OhG.js.map", n = typeof self < "u" && self.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);", t], { type: "text/javascript;charset=utf-8" });
5
5
  function r(e) {
6
6
  let r;
7
7
  try {
@@ -6249,7 +6249,7 @@ var Xa = (e, t) => `${e}:${t}`, Za = class {
6249
6249
  let a = this.sheetIndex(n, this.cur);
6250
6250
  if (a < 0) return new F("#REF!");
6251
6251
  let o = Xa(a, r * Q + i);
6252
- return e.has(o) && this.compute(o, e, t), this.value(a, r, i);
6252
+ return t.has(o) ? new F("#REF!") : (e.has(o) && this.compute(o, e, t), this.value(a, r, i));
6253
6253
  },
6254
6254
  bounds: (e) => {
6255
6255
  let t = this.wb.sheetsData.get(this.sheetIndex(e, this.cur));
@@ -7032,7 +7032,7 @@ var wo = class {
7032
7032
  }
7033
7033
  loadSheet(e, t, n) {
7034
7034
  let r = this.sheetsData.get(e);
7035
- if (r) return t(this.snapshot(e, r, Oo(r), !0)), r.loading ?? Promise.resolve();
7035
+ if (r) return r.loading && !r.done ? r.loading.then(() => t(this.snapshot(e, r, Oo(r), !0))) : (t(this.snapshot(e, r, Oo(r), !0)), r.loading ?? Promise.resolve());
7036
7036
  let i = new wo();
7037
7037
  return this.sheetsData.set(e, i), i.loading = (async () => {
7038
7038
  let r = this.sheets[e];
@@ -7506,6 +7506,7 @@ var Go = class {
7506
7506
  root;
7507
7507
  P;
7508
7508
  cache = /* @__PURE__ */ new Map();
7509
+ found = /* @__PURE__ */ new Map();
7509
7510
  changed = !1;
7510
7511
  constructor(e) {
7511
7512
  this.nodes = a(e), this.root = l(this.nodes), this.P = c(this.root.q);
@@ -7520,6 +7521,23 @@ var Go = class {
7520
7521
  let r = u(n).length;
7521
7522
  return m(n, "count", String(r)), this.changed = !0, r - 1;
7522
7523
  }
7524
+ lookup(e) {
7525
+ let t = this.found.get(e);
7526
+ if (!t) {
7527
+ let n = /* @__PURE__ */ new Map();
7528
+ u(d(this.root, e)).forEach((e, t) => {
7529
+ let r = o([e]);
7530
+ n.has(r) || n.set(r, t);
7531
+ }), this.found.set(e, t = n);
7532
+ }
7533
+ return t;
7534
+ }
7535
+ intern(e, t) {
7536
+ let n = o([t]), r = this.lookup(e), i = r.get(n);
7537
+ if (i !== void 0) return i;
7538
+ let a = this.append(e, t);
7539
+ return r.set(n, a), a;
7540
+ }
7523
7541
  numFmtId(e) {
7524
7542
  for (let [t, n] of Object.entries($a)) if (n === e) return Number(t);
7525
7543
  let t = d(this.root, "numFmts"), n = 163;
@@ -7552,13 +7570,13 @@ var Go = class {
7552
7570
  "font"
7553
7571
  ].some((e) => e in t)) {
7554
7572
  let e = u(this.section("fonts"), "font"), n = g(e[Number(p(s, "fontId") ?? 0)] ?? e[0] ?? h(i + "font")), r = (e, t) => v(n, t, e, Ro);
7555
- t.b !== void 0 && r("b", t.b ? h(i + "b") : void 0), t.i !== void 0 && r("i", t.i ? h(i + "i") : void 0), t.strike !== void 0 && r("strike", t.strike ? h(i + "strike") : void 0), t.u !== void 0 && r("u", t.u ? h(i + "u") : void 0), t.sz !== void 0 && r("sz", h(i + "sz", { val: String(t.sz) })), "color" in t && r("color", t.color ? h(i + "color", { rgb: "FF" + t.color.replace("#", "").toUpperCase() }) : void 0), t.font && (r("name", h(i + "name", { val: t.font })), r("scheme", void 0)), m(s, "fontId", String(this.append("fonts", n))), m(s, "applyFont", "1");
7573
+ t.b !== void 0 && r("b", t.b ? h(i + "b") : void 0), t.i !== void 0 && r("i", t.i ? h(i + "i") : void 0), t.strike !== void 0 && r("strike", t.strike ? h(i + "strike") : void 0), t.u !== void 0 && r("u", t.u ? h(i + "u") : void 0), t.sz !== void 0 && r("sz", h(i + "sz", { val: String(t.sz) })), "color" in t && r("color", t.color ? h(i + "color", { rgb: "FF" + t.color.replace("#", "").toUpperCase() }) : void 0), t.font && (r("name", h(i + "name", { val: t.font })), r("scheme", void 0)), m(s, "fontId", String(this.intern("fonts", n))), m(s, "applyFont", "1");
7556
7574
  }
7557
7575
  if ("fill" in t) {
7558
7576
  if (!t.fill) m(s, "fillId", "0");
7559
7577
  else {
7560
7578
  let e = a(`<${i}fill><${i}patternFill patternType="solid"><${i}fgColor rgb="FF${t.fill.replace("#", "").toUpperCase()}"/><${i}bgColor indexed="64"/></${i}patternFill></${i}fill>`)[0];
7561
- m(s, "fillId", String(this.append("fills", e)));
7579
+ m(s, "fillId", String(this.intern("fills", e)));
7562
7580
  }
7563
7581
  m(s, "applyFill", "1");
7564
7582
  }
@@ -7580,7 +7598,7 @@ var Go = class {
7580
7598
  "top",
7581
7599
  "bottom"
7582
7600
  ]) n in e && v(r, e[n] ? h(i + n, { style: t.borderStyle ?? "thin" }, [h(i + "color", { rgb: "FF" + a })]) : h(i + n), n, o);
7583
- d(r, "diagonal") || v(r, h(i + "diagonal"), "diagonal", o), m(s, "borderId", String(this.append("borders", r))), m(s, "applyBorder", "1");
7601
+ d(r, "diagonal") || v(r, h(i + "diagonal"), "diagonal", o), m(s, "borderId", String(this.intern("borders", r))), m(s, "applyBorder", "1");
7584
7602
  }
7585
7603
  if ("align" in t || "wrap" in t || "valign" in t || "rotate" in t) {
7586
7604
  let e = g(d(s, "alignment") ?? h(i + "alignment"));
@@ -7595,7 +7613,7 @@ var Go = class {
7595
7613
  ]), m(s, "applyAlignment", "1");
7596
7614
  }
7597
7615
  t.numFmt !== void 0 && (m(s, "numFmtId", String(this.numFmtId(t.numFmt))), m(s, "applyNumberFormat", "1"));
7598
- let c = this.append("cellXfs", s);
7616
+ let c = this.intern("cellXfs", s);
7599
7617
  return this.cache.set(n, c), c;
7600
7618
  }
7601
7619
  xml() {
@@ -7618,6 +7636,8 @@ var Go = class {
7618
7636
  if (!e || r.length <= n) continue;
7619
7637
  let i = new Set(r.slice(n));
7620
7638
  e.c = e.c.filter((e) => !i.has(e)), m(e, "count", String(n));
7639
+ let a = this.found.get(t);
7640
+ if (a) for (let [e, t] of a) t >= n && a.delete(e);
7621
7641
  }
7622
7642
  for (let [t, n] of this.cache) n >= e.cellXfs && this.cache.delete(t);
7623
7643
  }
@@ -9193,4 +9213,4 @@ var zs = class e {
9193
9213
  Rs(() => new r({ name: "office-engine" }));
9194
9214
  export { xe as A, Ye as C, ye as D, je as E, oe as M, b as N, we as O, y as P, pt as S, Ie as T, ar as _, bo as a, Xn as b, ho as c, Fr as d, fr as f, ir as g, ur as h, Do as i, me as j, Te as k, po as l, dr as m, Rs as n, xo as o, hr as p, Is as r, co as s, zs as t, L as u, or as v, Je as w, Et as x, cr as y };
9195
9215
 
9196
- //# sourceMappingURL=default-worker-f546VALp.js.map
9216
+ //# sourceMappingURL=default-worker-BDj6MNRA.js.map