@courtifyai/docx-render 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es.js +3402 -1082
- package/dist/index.umd.js +20 -9
- package/package.json +1 -1
package/dist/index.umd.js
CHANGED
|
@@ -1,19 +1,30 @@
|
|
|
1
|
-
(function(b,C){typeof exports=="object"&&typeof module<"u"?C(exports,require("jszip")):typeof define=="function"&&define.amd?define(["exports","jszip"],C):(b=typeof globalThis<"u"?globalThis:b||self,C(b.DocxRenderEnhanced={},b.JSZip))})(this,function(b,C){"use strict";var $e=Object.defineProperty;var Ae=(b,C,h)=>C in b?$e(b,C,{enumerable:!0,configurable:!0,writable:!0,value:h}):b[C]=h;var g=(b,C,h)=>Ae(b,typeof C!="symbol"?C+"":C,h);var h=(i=>(i.Document="document",i.Paragraph="paragraph",i.Run="run",i.Text="text",i.Break="break",i.Table="table",i.TableRow="tableRow",i.TableCell="tableCell",i.Hyperlink="hyperlink",i.Drawing="drawing",i.Image="image",i.BookmarkStart="bookmarkStart",i.BookmarkEnd="bookmarkEnd",i.Comment="comment",i.CommentRangeStart="commentRangeStart",i.CommentRangeEnd="commentRangeEnd",i.CommentReference="commentReference",i.Section="section",i.Header="header",i.Footer="footer",i.Tab="tab",i.Symbol="symbol",i.SimpleField="simpleField",i.ComplexField="complexField",i.FieldInstruction="fieldInstruction",i.Footnote="footnote",i.Endnote="endnote",i.FootnoteReference="footnoteReference",i.EndnoteReference="endnoteReference",i))(h||{});const B={W:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",W14:"http://schemas.microsoft.com/office/word/2010/wordml",W15:"http://schemas.microsoft.com/office/word/2012/wordml",R:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",A:"http://schemas.openxmlformats.org/drawingml/2006/main",WP:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",PIC:"http://schemas.openxmlformats.org/drawingml/2006/picture"},k={DOCUMENT:"word/document.xml",COMMENTS:"word/comments.xml",COMMENTS_EXTENDED:"word/commentsExtended.xml",STYLES:"word/styles.xml",NUMBERING:"word/numbering.xml",THEME:"word/theme/theme1.xml",FOOTNOTES:"word/footnotes.xml",ENDNOTES:"word/endnotes.xml",FONT_TABLE:"word/fontTable.xml",FONT_TABLE_RELS:"word/_rels/fontTable.xml.rels",RELS:"word/_rels/document.xml.rels",CONTENT_TYPES:"[Content_Types].xml",HEADER_PREFIX:"word/header",FOOTER_PREFIX:"word/footer"},N={IMAGE:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",HEADER:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",FOOTER:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",FONT:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/font"};class J{elements(e,t){const n=[];for(let r=0;r<e.childNodes.length;r++){const o=e.childNodes[r];o.nodeType===Node.ELEMENT_NODE&&(!t||o.localName===t)&&n.push(o)}return n}element(e,t){for(let n=0;n<e.childNodes.length;n++){const r=e.childNodes[n];if(r.nodeType===Node.ELEMENT_NODE&&r.localName===t)return r}return null}attr(e,t){if(!e)return;for(const r of Object.values(B)){const o=e.getAttributeNS(r,t);if(o)return o}const n=e.getAttribute(`w:${t}`);return n||e.getAttribute(t)||void 0}boolAttr(e,t,n=!1){if(!e)return n;const r=this.attr(e,t);return r===void 0?n:r==="1"||r==="true"||r==="on"}intAttr(e,t){if(!e)return;const n=this.attr(e,t);if(n)return parseInt(n,10)}lengthAttr(e,t,n=P.Dxa){if(!e)return;const r=this.attr(e,t);return this.convertLength(r,n)}convertLength(e,t=P.Dxa){return e?/[a-z%]+$/i.test(e)?e:`${(parseFloat(e)*t.mul).toFixed(2)}${t.unit}`:void 0}textContent(e){return e&&e.textContent||""}}const P={Dxa:{mul:.05,unit:"pt"},Emu:{mul:1/12700,unit:"pt"},FontSize:{mul:.5,unit:"pt"},Border:{mul:.125,unit:"pt"}};function x(i){i.charCodeAt(0)===65279&&(i=i.substring(1)),i=i.replace(/<\?xml[^?]*\?>/g,"");const t=new DOMParser().parseFromString(i,"application/xml"),n=t.getElementsByTagName("parsererror")[0];if(n)throw new Error(`XML 解析错误: ${n.textContent}`);return t}const s=new J;function L(i){const e={colorScheme:{name:"",colors:{}},fontScheme:{name:"",majorFont:{},minorFont:{}}},t=A(i,"themeElements");if(!t)return e;for(const n of $(t)){const r=n.localName;r==="clrScheme"?e.colorScheme=Q(n):r==="fontScheme"&&(e.fontScheme=te(n))}return e}function Q(i){const e={name:i.getAttribute("name")||"",colors:{}};for(const t of $(i)){const n=t.localName,r=ee(t);r&&(e.colors[n]=r)}return e}function ee(i){const e=A(i,"srgbClr");if(e){const n=e.getAttribute("val");return n?`#${n}`:null}const t=A(i,"sysClr");if(t){const n=t.getAttribute("lastClr");return n?`#${n}`:null}return null}function te(i){const e={name:i.getAttribute("name")||"",majorFont:{},minorFont:{}};for(const t of $(i)){const n=t.localName;n==="majorFont"?e.majorFont=D(t):n==="minorFont"&&(e.minorFont=D(t))}return e}function D(i){const e={};for(const t of $(i)){const n=t.localName,r=t.getAttribute("typeface");r&&(n==="latin"?e.latin=r:n==="ea"?e.ea=r:n==="cs"&&(e.cs=r))}return e}function A(i,e){for(let t=0;t<i.childNodes.length;t++){const n=i.childNodes[t];if(n.nodeType===Node.ELEMENT_NODE){const r=n;if(r.localName===e)return r}}return null}function $(i){const e=[];for(let t=0;t<i.childNodes.length;t++){const n=i.childNodes[t];n.nodeType===Node.ELEMENT_NODE&&e.push(n)}return e}const ne={dark1:"dk1",dark2:"dk2",light1:"lt1",light2:"lt2",accent1:"accent1",accent2:"accent2",accent3:"accent3",accent4:"accent4",accent5:"accent5",accent6:"accent6",hyperlink:"hlink",followedHyperlink:"folHlink",dk1:"dk1",dk2:"dk2",lt1:"lt1",lt2:"lt2",hlink:"hlink",folHlink:"folHlink",text1:"dk1",text2:"dk2",background1:"lt1",background2:"lt2"};function H(i,e){var o;if(!((o=i==null?void 0:i.colorScheme)!=null&&o.colors))return;const t=e.themeColor,n=ne[t]||t,r=i.colorScheme.colors[n];if(r)return e.themeTint!==void 0||e.themeShade!==void 0?z(r,e.themeTint,e.themeShade):r}function z(i,e,t){const n=i.replace("#",""),r=parseInt(n.substr(0,2),16),o=parseInt(n.substr(2,2),16),a=parseInt(n.substr(4,2),16);let c=r,l=o,m=a;if(e!==void 0&&e>0){const d=e/255;c=Math.round(r+(255-r)*d),l=Math.round(o+(255-o)*d),m=Math.round(a+(255-a)*d)}if(t!==void 0&&t>0){const d=1-t/255;c=Math.round(c*d),l=Math.round(l*d),m=Math.round(m*d)}return c=Math.max(0,Math.min(255,c)),l=Math.max(0,Math.min(255,l)),m=Math.max(0,Math.min(255,m)),`#${M(c)}${M(l)}${M(m)}`}function M(i){const e=i.toString(16);return e.length===1?"0"+e:e}function re(i,e,t="latin"){return i!=null&&i.fontScheme?(e==="major"?i.fontScheme.majorFont:i.fontScheme.minorFont)[t]:void 0}const se={embedRegular:"regular",embedBold:"bold",embedItalic:"italic",embedBoldItalic:"boldItalic"};function O(i){const t=x(i).documentElement,n=oe(t),r=new Map(n.map(a=>[a.name,a])),o=le(n);return{fonts:n,fontMap:r,substitutionMap:o}}function oe(i){return s.elements(i,"font").map(e=>ie(e))}function ie(i){const e={name:s.attr(i,"name")||"",embedFontRefs:[]};for(const t of s.elements(i))switch(t.localName){case"family":e.family=s.attr(t,"val");break;case"altName":e.altName=s.attr(t,"val");break;case"charset":e.charset=s.attr(t,"val");break;case"panose1":e.panose1=s.attr(t,"val");break;case"sig":e.sig=ae(t);break;case"embedRegular":case"embedBold":case"embedItalic":case"embedBoldItalic":const n=ce(t);n&&e.embedFontRefs.push(n);break}return e}function ae(i){return{usb0:s.attr(i,"usb0"),usb1:s.attr(i,"usb1"),usb2:s.attr(i,"usb2"),usb3:s.attr(i,"usb3"),csb0:s.attr(i,"csb0"),csb1:s.attr(i,"csb1")}}function ce(i){const e=s.attr(i,"id");if(!e)return null;const t=se[i.localName];return t?{id:e,key:s.attr(i,"fontKey"),subsetted:s.boolAttr(i,"subsetted"),type:t}:null}function le(i){const e=new Map;for(const t of i)t.altName&&e.set(t.name,t.altName);return e}function de(i,e){return i.substitutionMap.get(e)||e}function he(i,e){return i.fontMap.get(e)}function me(i,e){const t=i.fontMap.get(e);return t?t.embedFontRefs.length>0:!1}function ue(i,e,t){const n=i.fontMap.get(e);return n?t?n.embedFontRefs.filter(r=>r.type===t):n.embedFontRefs:[]}function fe(i,e){const t=[],n=i.fontMap.get(e);if(t.push(G(e)),n!=null&&n.altName&&t.push(G(n.altName)),n!=null&&n.family){const r=pe(n.family);r&&t.push(r)}return t.join(", ")}function G(i){return/[\s,'"()]/.test(i)?`"${i.replace(/"/g,'\\"')}"`:i}function pe(i){switch(i.toLowerCase()){case"roman":return"serif";case"swiss":return"sans-serif";case"modern":return"monospace";case"script":return"cursive";case"decorative":return"fantasy";default:return null}}const j={injectStyles:!0,timeout:1e4};async function U(i,e,t,n={}){const r={...j,...n},o=[];for(const a of e.fonts)if(a.embedFontRefs.length!==0)for(const c of a.embedFontRefs)try{const l=await ge(i,a,c,t,r.timeout||j.timeout);l&&o.push(l)}catch(l){console.warn(`加载嵌入字体失败: ${a.name} (${c.type})`,l)}return r.injectStyles&&o.length>0&&we(o,r.styleContainer),o}async function ge(i,e,t,n,r){const o=n.find(y=>y.id===t.id);if(!o)return console.warn(`找不到嵌入字体关系: ${t.id}`),null;const a=`word/${o.target}`,c=i.file(a);if(!c)return console.warn(`找不到嵌入字体文件: ${a}`),null;const l=await Promise.race([c.async("arraybuffer"),new Promise((y,E)=>setTimeout(()=>E(new Error("字体加载超时")),r))]);let m=l;t.key&&(m=be(l,t.key));const d=ye(new Uint8Array(m)),p=Ee(d),u=new Blob([m],{type:p}),f=await Ce(u);return{fontName:e.name,type:t.type,dataUrl:f,format:d}}function be(i,e){const t=e.replace(/[{}-]/g,"");if(t.length!==32)return console.warn("无效的字体密钥格式:",e),i;const n=new Uint8Array(16);for(let c=0;c<4;c++)n[3-c]=parseInt(t.substr(c*2,2),16);for(let c=0;c<2;c++)n[5-c]=parseInt(t.substr(8+c*2,2),16);for(let c=0;c<2;c++)n[7-c]=parseInt(t.substr(12+c*2,2),16);for(let c=0;c<8;c++)n[8+c]=parseInt(t.substr(16+c*2,2),16);const r=new Uint8Array(i),o=new Uint8Array(r.length),a=Math.min(32,r.length);for(let c=0;c<a;c++)o[c]=r[c]^n[c%16];for(let c=a;c<r.length;c++)o[c]=r[c];return o.buffer}function ye(i){return i.length<4?"truetype":i[0]===79&&i[1]===84&&i[2]===84&&i[3]===79?"opentype":i[0]===0&&i[1]===1&&i[2]===0&&i[3]===0||i[0]===116&&i[1]===114&&i[2]===117&&i[3]===101?"truetype":i[0]===0&&i[1]===0&&i[2]===1?"embedded-opentype":"truetype"}function Ee(i){switch(i){case"opentype":return"font/otf";case"truetype":return"font/ttf";case"embedded-opentype":return"application/vnd.ms-fontobject";default:return"font/ttf"}}function Ce(i){return new Promise((e,t)=>{const n=new FileReader;n.onloadend=()=>e(n.result),n.onerror=t,n.readAsDataURL(i)})}function we(i,e){const t=document.createElement("style");t.setAttribute("data-docx-fonts","true");const n=i.map(a=>ke(a)).join(`
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
(function(at,ft){typeof exports=="object"&&typeof module<"u"?ft(exports):typeof define=="function"&&define.amd?define(["exports"],ft):(at=typeof globalThis<"u"?globalThis:at||self,ft(at.DocxRenderEnhanced={}))})(this,function(at){"use strict";var Me=Object.defineProperty;var Ue=(at,ft,kt)=>ft in at?Me(at,ft,{enumerable:!0,configurable:!0,writable:!0,value:kt}):at[ft]=kt;var nt=(at,ft,kt)=>Ue(at,typeof ft!="symbol"?ft+"":ft,kt);var ft=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function kt(x){return x&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")?x.default:x}function Tt(x){throw new Error('Could not dynamically require "'+x+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Ot={exports:{}};/*!
|
|
2
|
+
|
|
3
|
+
JSZip v3.10.1 - A JavaScript class for generating and reading zip files
|
|
4
|
+
<http://stuartk.com/jszip>
|
|
5
|
+
|
|
6
|
+
(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
|
|
7
|
+
Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
|
|
8
|
+
|
|
9
|
+
JSZip uses the library pako released under the MIT license :
|
|
10
|
+
https://github.com/nodeca/pako/blob/main/LICENSE
|
|
11
|
+
*/(function(x,e){(function(t){x.exports=t()})(function(){return function t(r,n,a){function o(p,f){if(!n[p]){if(!r[p]){var _=typeof Tt=="function"&&Tt;if(!f&&_)return _(p,!0);if(i)return i(p,!0);var g=new Error("Cannot find module '"+p+"'");throw g.code="MODULE_NOT_FOUND",g}var h=n[p]={exports:{}};r[p][0].call(h.exports,function(b){var d=r[p][1][b];return o(d||b)},h,h.exports,t,r,n,a)}return n[p].exports}for(var i=typeof Tt=="function"&&Tt,c=0;c<a.length;c++)o(a[c]);return o}({1:[function(t,r,n){var a=t("./utils"),o=t("./support"),i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.encode=function(c){for(var p,f,_,g,h,b,d,y=[],u=0,v=c.length,C=v,A=a.getTypeOf(c)!=="string";u<c.length;)C=v-u,_=A?(p=c[u++],f=u<v?c[u++]:0,u<v?c[u++]:0):(p=c.charCodeAt(u++),f=u<v?c.charCodeAt(u++):0,u<v?c.charCodeAt(u++):0),g=p>>2,h=(3&p)<<4|f>>4,b=1<C?(15&f)<<2|_>>6:64,d=2<C?63&_:64,y.push(i.charAt(g)+i.charAt(h)+i.charAt(b)+i.charAt(d));return y.join("")},n.decode=function(c){var p,f,_,g,h,b,d=0,y=0,u="data:";if(c.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var v,C=3*(c=c.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(c.charAt(c.length-1)===i.charAt(64)&&C--,c.charAt(c.length-2)===i.charAt(64)&&C--,C%1!=0)throw new Error("Invalid base64 input, bad content length.");for(v=o.uint8array?new Uint8Array(0|C):new Array(0|C);d<c.length;)p=i.indexOf(c.charAt(d++))<<2|(g=i.indexOf(c.charAt(d++)))>>4,f=(15&g)<<4|(h=i.indexOf(c.charAt(d++)))>>2,_=(3&h)<<6|(b=i.indexOf(c.charAt(d++))),v[y++]=p,h!==64&&(v[y++]=f),b!==64&&(v[y++]=_);return v}},{"./support":30,"./utils":32}],2:[function(t,r,n){var a=t("./external"),o=t("./stream/DataWorker"),i=t("./stream/Crc32Probe"),c=t("./stream/DataLengthProbe");function p(f,_,g,h,b){this.compressedSize=f,this.uncompressedSize=_,this.crc32=g,this.compression=h,this.compressedContent=b}p.prototype={getContentWorker:function(){var f=new o(a.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new c("data_length")),_=this;return f.on("end",function(){if(this.streamInfo.data_length!==_.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),f},getCompressedWorker:function(){return new o(a.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},p.createWorkerFrom=function(f,_,g){return f.pipe(new i).pipe(new c("uncompressedSize")).pipe(_.compressWorker(g)).pipe(new c("compressedSize")).withStreamInfo("compression",_)},r.exports=p},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,r,n){var a=t("./stream/GenericWorker");n.STORE={magic:"\0\0",compressWorker:function(){return new a("STORE compression")},uncompressWorker:function(){return new a("STORE decompression")}},n.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,r,n){var a=t("./utils"),o=function(){for(var i,c=[],p=0;p<256;p++){i=p;for(var f=0;f<8;f++)i=1&i?3988292384^i>>>1:i>>>1;c[p]=i}return c}();r.exports=function(i,c){return i!==void 0&&i.length?a.getTypeOf(i)!=="string"?function(p,f,_,g){var h=o,b=g+_;p^=-1;for(var d=g;d<b;d++)p=p>>>8^h[255&(p^f[d])];return-1^p}(0|c,i,i.length,0):function(p,f,_,g){var h=o,b=g+_;p^=-1;for(var d=g;d<b;d++)p=p>>>8^h[255&(p^f.charCodeAt(d))];return-1^p}(0|c,i,i.length,0):0}},{"./utils":32}],5:[function(t,r,n){n.base64=!1,n.binary=!1,n.dir=!1,n.createFolders=!0,n.date=null,n.compression=null,n.compressionOptions=null,n.comment=null,n.unixPermissions=null,n.dosPermissions=null},{}],6:[function(t,r,n){var a=null;a=typeof Promise<"u"?Promise:t("lie"),r.exports={Promise:a}},{lie:37}],7:[function(t,r,n){var a=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",o=t("pako"),i=t("./utils"),c=t("./stream/GenericWorker"),p=a?"uint8array":"array";function f(_,g){c.call(this,"FlateWorker/"+_),this._pako=null,this._pakoAction=_,this._pakoOptions=g,this.meta={}}n.magic="\b\0",i.inherits(f,c),f.prototype.processChunk=function(_){this.meta=_.meta,this._pako===null&&this._createPako(),this._pako.push(i.transformTo(p,_.data),!1)},f.prototype.flush=function(){c.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},f.prototype.cleanUp=function(){c.prototype.cleanUp.call(this),this._pako=null},f.prototype._createPako=function(){this._pako=new o[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var _=this;this._pako.onData=function(g){_.push({data:g,meta:_.meta})}},n.compressWorker=function(_){return new f("Deflate",_)},n.uncompressWorker=function(){return new f("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,r,n){function a(h,b){var d,y="";for(d=0;d<b;d++)y+=String.fromCharCode(255&h),h>>>=8;return y}function o(h,b,d,y,u,v){var C,A,T=h.file,D=h.compression,B=v!==p.utf8encode,j=i.transformTo("string",v(T.name)),z=i.transformTo("string",p.utf8encode(T.name)),Z=T.comment,Q=i.transformTo("string",v(Z)),k=i.transformTo("string",p.utf8encode(Z)),N=z.length!==T.name.length,l=k.length!==Z.length,L="",et="",$="",rt=T.dir,W=T.date,tt={crc32:0,compressedSize:0,uncompressedSize:0};b&&!d||(tt.crc32=h.crc32,tt.compressedSize=h.compressedSize,tt.uncompressedSize=h.uncompressedSize);var I=0;b&&(I|=8),B||!N&&!l||(I|=2048);var R=0,J=0;rt&&(R|=16),u==="UNIX"?(J=798,R|=function(V,ct){var pt=V;return V||(pt=ct?16893:33204),(65535&pt)<<16}(T.unixPermissions,rt)):(J=20,R|=function(V){return 63&(V||0)}(T.dosPermissions)),C=W.getUTCHours(),C<<=6,C|=W.getUTCMinutes(),C<<=5,C|=W.getUTCSeconds()/2,A=W.getUTCFullYear()-1980,A<<=4,A|=W.getUTCMonth()+1,A<<=5,A|=W.getUTCDate(),N&&(et=a(1,1)+a(f(j),4)+z,L+="up"+a(et.length,2)+et),l&&($=a(1,1)+a(f(Q),4)+k,L+="uc"+a($.length,2)+$);var Y="";return Y+=`
|
|
12
|
+
\0`,Y+=a(I,2),Y+=D.magic,Y+=a(C,2),Y+=a(A,2),Y+=a(tt.crc32,4),Y+=a(tt.compressedSize,4),Y+=a(tt.uncompressedSize,4),Y+=a(j.length,2),Y+=a(L.length,2),{fileRecord:_.LOCAL_FILE_HEADER+Y+j+L,dirRecord:_.CENTRAL_FILE_HEADER+a(J,2)+Y+a(Q.length,2)+"\0\0\0\0"+a(R,4)+a(y,4)+j+L+Q}}var i=t("../utils"),c=t("../stream/GenericWorker"),p=t("../utf8"),f=t("../crc32"),_=t("../signature");function g(h,b,d,y){c.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=b,this.zipPlatform=d,this.encodeFileName=y,this.streamFiles=h,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}i.inherits(g,c),g.prototype.push=function(h){var b=h.meta.percent||0,d=this.entriesCount,y=this._sources.length;this.accumulate?this.contentBuffer.push(h):(this.bytesWritten+=h.data.length,c.prototype.push.call(this,{data:h.data,meta:{currentFile:this.currentFile,percent:d?(b+100*(d-y-1))/d:100}}))},g.prototype.openedSource=function(h){this.currentSourceOffset=this.bytesWritten,this.currentFile=h.file.name;var b=this.streamFiles&&!h.file.dir;if(b){var d=o(h,b,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:d.fileRecord,meta:{percent:0}})}else this.accumulate=!0},g.prototype.closedSource=function(h){this.accumulate=!1;var b=this.streamFiles&&!h.file.dir,d=o(h,b,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(d.dirRecord),b)this.push({data:function(y){return _.DATA_DESCRIPTOR+a(y.crc32,4)+a(y.compressedSize,4)+a(y.uncompressedSize,4)}(h),meta:{percent:100}});else for(this.push({data:d.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},g.prototype.flush=function(){for(var h=this.bytesWritten,b=0;b<this.dirRecords.length;b++)this.push({data:this.dirRecords[b],meta:{percent:100}});var d=this.bytesWritten-h,y=function(u,v,C,A,T){var D=i.transformTo("string",T(A));return _.CENTRAL_DIRECTORY_END+"\0\0\0\0"+a(u,2)+a(u,2)+a(v,4)+a(C,4)+a(D.length,2)+D}(this.dirRecords.length,d,h,this.zipComment,this.encodeFileName);this.push({data:y,meta:{percent:100}})},g.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},g.prototype.registerPrevious=function(h){this._sources.push(h);var b=this;return h.on("data",function(d){b.processChunk(d)}),h.on("end",function(){b.closedSource(b.previous.streamInfo),b._sources.length?b.prepareNextSource():b.end()}),h.on("error",function(d){b.error(d)}),this},g.prototype.resume=function(){return!!c.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},g.prototype.error=function(h){var b=this._sources;if(!c.prototype.error.call(this,h))return!1;for(var d=0;d<b.length;d++)try{b[d].error(h)}catch{}return!0},g.prototype.lock=function(){c.prototype.lock.call(this);for(var h=this._sources,b=0;b<h.length;b++)h[b].lock()},r.exports=g},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(t,r,n){var a=t("../compressions"),o=t("./ZipFileWorker");n.generateWorker=function(i,c,p){var f=new o(c.streamFiles,p,c.platform,c.encodeFileName),_=0;try{i.forEach(function(g,h){_++;var b=function(v,C){var A=v||C,T=a[A];if(!T)throw new Error(A+" is not a valid compression method !");return T}(h.options.compression,c.compression),d=h.options.compressionOptions||c.compressionOptions||{},y=h.dir,u=h.date;h._compressWorker(b,d).withStreamInfo("file",{name:g,dir:y,date:u,comment:h.comment||"",unixPermissions:h.unixPermissions,dosPermissions:h.dosPermissions}).pipe(f)}),f.entriesCount=_}catch(g){f.error(g)}return f}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(t,r,n){function a(){if(!(this instanceof a))return new a;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var o=new a;for(var i in this)typeof this[i]!="function"&&(o[i]=this[i]);return o}}(a.prototype=t("./object")).loadAsync=t("./load"),a.support=t("./support"),a.defaults=t("./defaults"),a.version="3.10.1",a.loadAsync=function(o,i){return new a().loadAsync(o,i)},a.external=t("./external"),r.exports=a},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(t,r,n){var a=t("./utils"),o=t("./external"),i=t("./utf8"),c=t("./zipEntries"),p=t("./stream/Crc32Probe"),f=t("./nodejsUtils");function _(g){return new o.Promise(function(h,b){var d=g.decompressed.getContentWorker().pipe(new p);d.on("error",function(y){b(y)}).on("end",function(){d.streamInfo.crc32!==g.decompressed.crc32?b(new Error("Corrupted zip : CRC32 mismatch")):h()}).resume()})}r.exports=function(g,h){var b=this;return h=a.extend(h||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:i.utf8decode}),f.isNode&&f.isStream(g)?o.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):a.prepareContent("the loaded zip file",g,!0,h.optimizedBinaryString,h.base64).then(function(d){var y=new c(h);return y.load(d),y}).then(function(d){var y=[o.Promise.resolve(d)],u=d.files;if(h.checkCRC32)for(var v=0;v<u.length;v++)y.push(_(u[v]));return o.Promise.all(y)}).then(function(d){for(var y=d.shift(),u=y.files,v=0;v<u.length;v++){var C=u[v],A=C.fileNameStr,T=a.resolve(C.fileNameStr);b.file(T,C.decompressed,{binary:!0,optimizedBinaryString:!0,date:C.date,dir:C.dir,comment:C.fileCommentStr.length?C.fileCommentStr:null,unixPermissions:C.unixPermissions,dosPermissions:C.dosPermissions,createFolders:h.createFolders}),C.dir||(b.file(T).unsafeOriginalName=A)}return y.zipComment.length&&(b.comment=y.zipComment),b})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(t,r,n){var a=t("../utils"),o=t("../stream/GenericWorker");function i(c,p){o.call(this,"Nodejs stream input adapter for "+c),this._upstreamEnded=!1,this._bindStream(p)}a.inherits(i,o),i.prototype._bindStream=function(c){var p=this;(this._stream=c).pause(),c.on("data",function(f){p.push({data:f,meta:{percent:0}})}).on("error",function(f){p.isPaused?this.generatedError=f:p.error(f)}).on("end",function(){p.isPaused?p._upstreamEnded=!0:p.end()})},i.prototype.pause=function(){return!!o.prototype.pause.call(this)&&(this._stream.pause(),!0)},i.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},r.exports=i},{"../stream/GenericWorker":28,"../utils":32}],13:[function(t,r,n){var a=t("readable-stream").Readable;function o(i,c,p){a.call(this,c),this._helper=i;var f=this;i.on("data",function(_,g){f.push(_)||f._helper.pause(),p&&p(g)}).on("error",function(_){f.emit("error",_)}).on("end",function(){f.push(null)})}t("../utils").inherits(o,a),o.prototype._read=function(){this._helper.resume()},r.exports=o},{"../utils":32,"readable-stream":16}],14:[function(t,r,n){r.exports={isNode:typeof Buffer<"u",newBufferFrom:function(a,o){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(a,o);if(typeof a=="number")throw new Error('The "data" argument must not be a number');return new Buffer(a,o)},allocBuffer:function(a){if(Buffer.alloc)return Buffer.alloc(a);var o=new Buffer(a);return o.fill(0),o},isBuffer:function(a){return Buffer.isBuffer(a)},isStream:function(a){return a&&typeof a.on=="function"&&typeof a.pause=="function"&&typeof a.resume=="function"}}},{}],15:[function(t,r,n){function a(T,D,B){var j,z=i.getTypeOf(D),Z=i.extend(B||{},f);Z.date=Z.date||new Date,Z.compression!==null&&(Z.compression=Z.compression.toUpperCase()),typeof Z.unixPermissions=="string"&&(Z.unixPermissions=parseInt(Z.unixPermissions,8)),Z.unixPermissions&&16384&Z.unixPermissions&&(Z.dir=!0),Z.dosPermissions&&16&Z.dosPermissions&&(Z.dir=!0),Z.dir&&(T=u(T)),Z.createFolders&&(j=y(T))&&v.call(this,j,!0);var Q=z==="string"&&Z.binary===!1&&Z.base64===!1;B&&B.binary!==void 0||(Z.binary=!Q),(D instanceof _&&D.uncompressedSize===0||Z.dir||!D||D.length===0)&&(Z.base64=!1,Z.binary=!0,D="",Z.compression="STORE",z="string");var k=null;k=D instanceof _||D instanceof c?D:b.isNode&&b.isStream(D)?new d(T,D):i.prepareContent(T,D,Z.binary,Z.optimizedBinaryString,Z.base64);var N=new g(T,k,Z);this.files[T]=N}var o=t("./utf8"),i=t("./utils"),c=t("./stream/GenericWorker"),p=t("./stream/StreamHelper"),f=t("./defaults"),_=t("./compressedObject"),g=t("./zipObject"),h=t("./generate"),b=t("./nodejsUtils"),d=t("./nodejs/NodejsStreamInputAdapter"),y=function(T){T.slice(-1)==="/"&&(T=T.substring(0,T.length-1));var D=T.lastIndexOf("/");return 0<D?T.substring(0,D):""},u=function(T){return T.slice(-1)!=="/"&&(T+="/"),T},v=function(T,D){return D=D!==void 0?D:f.createFolders,T=u(T),this.files[T]||a.call(this,T,null,{dir:!0,createFolders:D}),this.files[T]};function C(T){return Object.prototype.toString.call(T)==="[object RegExp]"}var A={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(T){var D,B,j;for(D in this.files)j=this.files[D],(B=D.slice(this.root.length,D.length))&&D.slice(0,this.root.length)===this.root&&T(B,j)},filter:function(T){var D=[];return this.forEach(function(B,j){T(B,j)&&D.push(j)}),D},file:function(T,D,B){if(arguments.length!==1)return T=this.root+T,a.call(this,T,D,B),this;if(C(T)){var j=T;return this.filter(function(Z,Q){return!Q.dir&&j.test(Z)})}var z=this.files[this.root+T];return z&&!z.dir?z:null},folder:function(T){if(!T)return this;if(C(T))return this.filter(function(z,Z){return Z.dir&&T.test(z)});var D=this.root+T,B=v.call(this,D),j=this.clone();return j.root=B.name,j},remove:function(T){T=this.root+T;var D=this.files[T];if(D||(T.slice(-1)!=="/"&&(T+="/"),D=this.files[T]),D&&!D.dir)delete this.files[T];else for(var B=this.filter(function(z,Z){return Z.name.slice(0,T.length)===T}),j=0;j<B.length;j++)delete this.files[B[j].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(T){var D,B={};try{if((B=i.extend(T||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:o.utf8encode})).type=B.type.toLowerCase(),B.compression=B.compression.toUpperCase(),B.type==="binarystring"&&(B.type="string"),!B.type)throw new Error("No output type specified.");i.checkSupport(B.type),B.platform!=="darwin"&&B.platform!=="freebsd"&&B.platform!=="linux"&&B.platform!=="sunos"||(B.platform="UNIX"),B.platform==="win32"&&(B.platform="DOS");var j=B.comment||this.comment||"";D=h.generateWorker(this,B,j)}catch(z){(D=new c("error")).error(z)}return new p(D,B.type||"string",B.mimeType)},generateAsync:function(T,D){return this.generateInternalStream(T).accumulate(D)},generateNodeStream:function(T,D){return(T=T||{}).type||(T.type="nodebuffer"),this.generateInternalStream(T).toNodejsStream(D)}};r.exports=A},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(t,r,n){r.exports=t("stream")},{stream:void 0}],17:[function(t,r,n){var a=t("./DataReader");function o(i){a.call(this,i);for(var c=0;c<this.data.length;c++)i[c]=255&i[c]}t("../utils").inherits(o,a),o.prototype.byteAt=function(i){return this.data[this.zero+i]},o.prototype.lastIndexOfSignature=function(i){for(var c=i.charCodeAt(0),p=i.charCodeAt(1),f=i.charCodeAt(2),_=i.charCodeAt(3),g=this.length-4;0<=g;--g)if(this.data[g]===c&&this.data[g+1]===p&&this.data[g+2]===f&&this.data[g+3]===_)return g-this.zero;return-1},o.prototype.readAndCheckSignature=function(i){var c=i.charCodeAt(0),p=i.charCodeAt(1),f=i.charCodeAt(2),_=i.charCodeAt(3),g=this.readData(4);return c===g[0]&&p===g[1]&&f===g[2]&&_===g[3]},o.prototype.readData=function(i){if(this.checkOffset(i),i===0)return[];var c=this.data.slice(this.zero+this.index,this.zero+this.index+i);return this.index+=i,c},r.exports=o},{"../utils":32,"./DataReader":18}],18:[function(t,r,n){var a=t("../utils");function o(i){this.data=i,this.length=i.length,this.index=0,this.zero=0}o.prototype={checkOffset:function(i){this.checkIndex(this.index+i)},checkIndex:function(i){if(this.length<this.zero+i||i<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+i+"). Corrupted zip ?")},setIndex:function(i){this.checkIndex(i),this.index=i},skip:function(i){this.setIndex(this.index+i)},byteAt:function(){},readInt:function(i){var c,p=0;for(this.checkOffset(i),c=this.index+i-1;c>=this.index;c--)p=(p<<8)+this.byteAt(c);return this.index+=i,p},readString:function(i){return a.transformTo("string",this.readData(i))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var i=this.readInt(4);return new Date(Date.UTC(1980+(i>>25&127),(i>>21&15)-1,i>>16&31,i>>11&31,i>>5&63,(31&i)<<1))}},r.exports=o},{"../utils":32}],19:[function(t,r,n){var a=t("./Uint8ArrayReader");function o(i){a.call(this,i)}t("../utils").inherits(o,a),o.prototype.readData=function(i){this.checkOffset(i);var c=this.data.slice(this.zero+this.index,this.zero+this.index+i);return this.index+=i,c},r.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,r,n){var a=t("./DataReader");function o(i){a.call(this,i)}t("../utils").inherits(o,a),o.prototype.byteAt=function(i){return this.data.charCodeAt(this.zero+i)},o.prototype.lastIndexOfSignature=function(i){return this.data.lastIndexOf(i)-this.zero},o.prototype.readAndCheckSignature=function(i){return i===this.readData(4)},o.prototype.readData=function(i){this.checkOffset(i);var c=this.data.slice(this.zero+this.index,this.zero+this.index+i);return this.index+=i,c},r.exports=o},{"../utils":32,"./DataReader":18}],21:[function(t,r,n){var a=t("./ArrayReader");function o(i){a.call(this,i)}t("../utils").inherits(o,a),o.prototype.readData=function(i){if(this.checkOffset(i),i===0)return new Uint8Array(0);var c=this.data.subarray(this.zero+this.index,this.zero+this.index+i);return this.index+=i,c},r.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(t,r,n){var a=t("../utils"),o=t("../support"),i=t("./ArrayReader"),c=t("./StringReader"),p=t("./NodeBufferReader"),f=t("./Uint8ArrayReader");r.exports=function(_){var g=a.getTypeOf(_);return a.checkSupport(g),g!=="string"||o.uint8array?g==="nodebuffer"?new p(_):o.uint8array?new f(a.transformTo("uint8array",_)):new i(a.transformTo("array",_)):new c(_)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,r,n){n.LOCAL_FILE_HEADER="PK",n.CENTRAL_FILE_HEADER="PK",n.CENTRAL_DIRECTORY_END="PK",n.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",n.ZIP64_CENTRAL_DIRECTORY_END="PK",n.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,r,n){var a=t("./GenericWorker"),o=t("../utils");function i(c){a.call(this,"ConvertWorker to "+c),this.destType=c}o.inherits(i,a),i.prototype.processChunk=function(c){this.push({data:o.transformTo(this.destType,c.data),meta:c.meta})},r.exports=i},{"../utils":32,"./GenericWorker":28}],25:[function(t,r,n){var a=t("./GenericWorker"),o=t("../crc32");function i(){a.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(i,a),i.prototype.processChunk=function(c){this.streamInfo.crc32=o(c.data,this.streamInfo.crc32||0),this.push(c)},r.exports=i},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,r,n){var a=t("../utils"),o=t("./GenericWorker");function i(c){o.call(this,"DataLengthProbe for "+c),this.propName=c,this.withStreamInfo(c,0)}a.inherits(i,o),i.prototype.processChunk=function(c){if(c){var p=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=p+c.data.length}o.prototype.processChunk.call(this,c)},r.exports=i},{"../utils":32,"./GenericWorker":28}],27:[function(t,r,n){var a=t("../utils"),o=t("./GenericWorker");function i(c){o.call(this,"DataWorker");var p=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,c.then(function(f){p.dataIsReady=!0,p.data=f,p.max=f&&f.length||0,p.type=a.getTypeOf(f),p.isPaused||p._tickAndRepeat()},function(f){p.error(f)})}a.inherits(i,o),i.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},i.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,a.delay(this._tickAndRepeat,[],this)),!0)},i.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(a.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},i.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var c=null,p=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":c=this.data.substring(this.index,p);break;case"uint8array":c=this.data.subarray(this.index,p);break;case"array":case"nodebuffer":c=this.data.slice(this.index,p)}return this.index=p,this.push({data:c,meta:{percent:this.max?this.index/this.max*100:0}})},r.exports=i},{"../utils":32,"./GenericWorker":28}],28:[function(t,r,n){function a(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}a.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,i){return this._listeners[o].push(i),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,i){if(this._listeners[o])for(var c=0;c<this._listeners[o].length;c++)this._listeners[o][c].call(this,i)},pipe:function(o){return o.registerPrevious(this)},registerPrevious:function(o){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=o.streamInfo,this.mergeStreamInfo(),this.previous=o;var i=this;return o.on("data",function(c){i.processChunk(c)}),o.on("end",function(){i.end()}),o.on("error",function(c){i.error(c)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var o=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),o=!0),this.previous&&this.previous.resume(),!o},flush:function(){},processChunk:function(o){this.push(o)},withStreamInfo:function(o,i){return this.extraStreamInfo[o]=i,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var o in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,o)&&(this.streamInfo[o]=this.extraStreamInfo[o])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var o="Worker "+this.name;return this.previous?this.previous+" -> "+o:o}},r.exports=a},{}],29:[function(t,r,n){var a=t("../utils"),o=t("./ConvertWorker"),i=t("./GenericWorker"),c=t("../base64"),p=t("../support"),f=t("../external"),_=null;if(p.nodestream)try{_=t("../nodejs/NodejsStreamOutputAdapter")}catch{}function g(b,d){return new f.Promise(function(y,u){var v=[],C=b._internalType,A=b._outputType,T=b._mimeType;b.on("data",function(D,B){v.push(D),d&&d(B)}).on("error",function(D){v=[],u(D)}).on("end",function(){try{var D=function(B,j,z){switch(B){case"blob":return a.newBlob(a.transformTo("arraybuffer",j),z);case"base64":return c.encode(j);default:return a.transformTo(B,j)}}(A,function(B,j){var z,Z=0,Q=null,k=0;for(z=0;z<j.length;z++)k+=j[z].length;switch(B){case"string":return j.join("");case"array":return Array.prototype.concat.apply([],j);case"uint8array":for(Q=new Uint8Array(k),z=0;z<j.length;z++)Q.set(j[z],Z),Z+=j[z].length;return Q;case"nodebuffer":return Buffer.concat(j);default:throw new Error("concat : unsupported type '"+B+"'")}}(C,v),T);y(D)}catch(B){u(B)}v=[]}).resume()})}function h(b,d,y){var u=d;switch(d){case"blob":case"arraybuffer":u="uint8array";break;case"base64":u="string"}try{this._internalType=u,this._outputType=d,this._mimeType=y,a.checkSupport(u),this._worker=b.pipe(new o(u)),b.lock()}catch(v){this._worker=new i("error"),this._worker.error(v)}}h.prototype={accumulate:function(b){return g(this,b)},on:function(b,d){var y=this;return b==="data"?this._worker.on(b,function(u){d.call(y,u.data,u.meta)}):this._worker.on(b,function(){a.delay(d,arguments,y)}),this},resume:function(){return a.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(b){if(a.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new _(this,{objectMode:this._outputType!=="nodebuffer"},b)}},r.exports=h},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(t,r,n){if(n.base64=!0,n.array=!0,n.string=!0,n.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",n.nodebuffer=typeof Buffer<"u",n.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")n.blob=!1;else{var a=new ArrayBuffer(0);try{n.blob=new Blob([a],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(a),n.blob=o.getBlob("application/zip").size===0}catch{n.blob=!1}}}try{n.nodestream=!!t("readable-stream").Readable}catch{n.nodestream=!1}},{"readable-stream":16}],31:[function(t,r,n){for(var a=t("./utils"),o=t("./support"),i=t("./nodejsUtils"),c=t("./stream/GenericWorker"),p=new Array(256),f=0;f<256;f++)p[f]=252<=f?6:248<=f?5:240<=f?4:224<=f?3:192<=f?2:1;p[254]=p[254]=1;function _(){c.call(this,"utf-8 decode"),this.leftOver=null}function g(){c.call(this,"utf-8 encode")}n.utf8encode=function(h){return o.nodebuffer?i.newBufferFrom(h,"utf-8"):function(b){var d,y,u,v,C,A=b.length,T=0;for(v=0;v<A;v++)(64512&(y=b.charCodeAt(v)))==55296&&v+1<A&&(64512&(u=b.charCodeAt(v+1)))==56320&&(y=65536+(y-55296<<10)+(u-56320),v++),T+=y<128?1:y<2048?2:y<65536?3:4;for(d=o.uint8array?new Uint8Array(T):new Array(T),v=C=0;C<T;v++)(64512&(y=b.charCodeAt(v)))==55296&&v+1<A&&(64512&(u=b.charCodeAt(v+1)))==56320&&(y=65536+(y-55296<<10)+(u-56320),v++),y<128?d[C++]=y:(y<2048?d[C++]=192|y>>>6:(y<65536?d[C++]=224|y>>>12:(d[C++]=240|y>>>18,d[C++]=128|y>>>12&63),d[C++]=128|y>>>6&63),d[C++]=128|63&y);return d}(h)},n.utf8decode=function(h){return o.nodebuffer?a.transformTo("nodebuffer",h).toString("utf-8"):function(b){var d,y,u,v,C=b.length,A=new Array(2*C);for(d=y=0;d<C;)if((u=b[d++])<128)A[y++]=u;else if(4<(v=p[u]))A[y++]=65533,d+=v-1;else{for(u&=v===2?31:v===3?15:7;1<v&&d<C;)u=u<<6|63&b[d++],v--;1<v?A[y++]=65533:u<65536?A[y++]=u:(u-=65536,A[y++]=55296|u>>10&1023,A[y++]=56320|1023&u)}return A.length!==y&&(A.subarray?A=A.subarray(0,y):A.length=y),a.applyFromCharCode(A)}(h=a.transformTo(o.uint8array?"uint8array":"array",h))},a.inherits(_,c),_.prototype.processChunk=function(h){var b=a.transformTo(o.uint8array?"uint8array":"array",h.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var d=b;(b=new Uint8Array(d.length+this.leftOver.length)).set(this.leftOver,0),b.set(d,this.leftOver.length)}else b=this.leftOver.concat(b);this.leftOver=null}var y=function(v,C){var A;for((C=C||v.length)>v.length&&(C=v.length),A=C-1;0<=A&&(192&v[A])==128;)A--;return A<0||A===0?C:A+p[v[A]]>C?A:C}(b),u=b;y!==b.length&&(o.uint8array?(u=b.subarray(0,y),this.leftOver=b.subarray(y,b.length)):(u=b.slice(0,y),this.leftOver=b.slice(y,b.length))),this.push({data:n.utf8decode(u),meta:h.meta})},_.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:n.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},n.Utf8DecodeWorker=_,a.inherits(g,c),g.prototype.processChunk=function(h){this.push({data:n.utf8encode(h.data),meta:h.meta})},n.Utf8EncodeWorker=g},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,r,n){var a=t("./support"),o=t("./base64"),i=t("./nodejsUtils"),c=t("./external");function p(d){return d}function f(d,y){for(var u=0;u<d.length;++u)y[u]=255&d.charCodeAt(u);return y}t("setimmediate"),n.newBlob=function(d,y){n.checkSupport("blob");try{return new Blob([d],{type:y})}catch{try{var u=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return u.append(d),u.getBlob(y)}catch{throw new Error("Bug : can't construct the Blob.")}}};var _={stringifyByChunk:function(d,y,u){var v=[],C=0,A=d.length;if(A<=u)return String.fromCharCode.apply(null,d);for(;C<A;)y==="array"||y==="nodebuffer"?v.push(String.fromCharCode.apply(null,d.slice(C,Math.min(C+u,A)))):v.push(String.fromCharCode.apply(null,d.subarray(C,Math.min(C+u,A)))),C+=u;return v.join("")},stringifyByChar:function(d){for(var y="",u=0;u<d.length;u++)y+=String.fromCharCode(d[u]);return y},applyCanBeUsed:{uint8array:function(){try{return a.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}}(),nodebuffer:function(){try{return a.nodebuffer&&String.fromCharCode.apply(null,i.allocBuffer(1)).length===1}catch{return!1}}()}};function g(d){var y=65536,u=n.getTypeOf(d),v=!0;if(u==="uint8array"?v=_.applyCanBeUsed.uint8array:u==="nodebuffer"&&(v=_.applyCanBeUsed.nodebuffer),v)for(;1<y;)try{return _.stringifyByChunk(d,u,y)}catch{y=Math.floor(y/2)}return _.stringifyByChar(d)}function h(d,y){for(var u=0;u<d.length;u++)y[u]=d[u];return y}n.applyFromCharCode=g;var b={};b.string={string:p,array:function(d){return f(d,new Array(d.length))},arraybuffer:function(d){return b.string.uint8array(d).buffer},uint8array:function(d){return f(d,new Uint8Array(d.length))},nodebuffer:function(d){return f(d,i.allocBuffer(d.length))}},b.array={string:g,array:p,arraybuffer:function(d){return new Uint8Array(d).buffer},uint8array:function(d){return new Uint8Array(d)},nodebuffer:function(d){return i.newBufferFrom(d)}},b.arraybuffer={string:function(d){return g(new Uint8Array(d))},array:function(d){return h(new Uint8Array(d),new Array(d.byteLength))},arraybuffer:p,uint8array:function(d){return new Uint8Array(d)},nodebuffer:function(d){return i.newBufferFrom(new Uint8Array(d))}},b.uint8array={string:g,array:function(d){return h(d,new Array(d.length))},arraybuffer:function(d){return d.buffer},uint8array:p,nodebuffer:function(d){return i.newBufferFrom(d)}},b.nodebuffer={string:g,array:function(d){return h(d,new Array(d.length))},arraybuffer:function(d){return b.nodebuffer.uint8array(d).buffer},uint8array:function(d){return h(d,new Uint8Array(d.length))},nodebuffer:p},n.transformTo=function(d,y){if(y=y||"",!d)return y;n.checkSupport(d);var u=n.getTypeOf(y);return b[u][d](y)},n.resolve=function(d){for(var y=d.split("/"),u=[],v=0;v<y.length;v++){var C=y[v];C==="."||C===""&&v!==0&&v!==y.length-1||(C===".."?u.pop():u.push(C))}return u.join("/")},n.getTypeOf=function(d){return typeof d=="string"?"string":Object.prototype.toString.call(d)==="[object Array]"?"array":a.nodebuffer&&i.isBuffer(d)?"nodebuffer":a.uint8array&&d instanceof Uint8Array?"uint8array":a.arraybuffer&&d instanceof ArrayBuffer?"arraybuffer":void 0},n.checkSupport=function(d){if(!a[d.toLowerCase()])throw new Error(d+" is not supported by this platform")},n.MAX_VALUE_16BITS=65535,n.MAX_VALUE_32BITS=-1,n.pretty=function(d){var y,u,v="";for(u=0;u<(d||"").length;u++)v+="\\x"+((y=d.charCodeAt(u))<16?"0":"")+y.toString(16).toUpperCase();return v},n.delay=function(d,y,u){setImmediate(function(){d.apply(u||null,y||[])})},n.inherits=function(d,y){function u(){}u.prototype=y.prototype,d.prototype=new u},n.extend=function(){var d,y,u={};for(d=0;d<arguments.length;d++)for(y in arguments[d])Object.prototype.hasOwnProperty.call(arguments[d],y)&&u[y]===void 0&&(u[y]=arguments[d][y]);return u},n.prepareContent=function(d,y,u,v,C){return c.Promise.resolve(y).then(function(A){return a.blob&&(A instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(A))!==-1)&&typeof FileReader<"u"?new c.Promise(function(T,D){var B=new FileReader;B.onload=function(j){T(j.target.result)},B.onerror=function(j){D(j.target.error)},B.readAsArrayBuffer(A)}):A}).then(function(A){var T=n.getTypeOf(A);return T?(T==="arraybuffer"?A=n.transformTo("uint8array",A):T==="string"&&(C?A=o.decode(A):u&&v!==!0&&(A=function(D){return f(D,a.uint8array?new Uint8Array(D.length):new Array(D.length))}(A))),A):c.Promise.reject(new Error("Can't read the data of '"+d+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(t,r,n){var a=t("./reader/readerFor"),o=t("./utils"),i=t("./signature"),c=t("./zipEntry"),p=t("./support");function f(_){this.files=[],this.loadOptions=_}f.prototype={checkSignature:function(_){if(!this.reader.readAndCheckSignature(_)){this.reader.index-=4;var g=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+o.pretty(g)+", expected "+o.pretty(_)+")")}},isSignature:function(_,g){var h=this.reader.index;this.reader.setIndex(_);var b=this.reader.readString(4)===g;return this.reader.setIndex(h),b},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var _=this.reader.readData(this.zipCommentLength),g=p.uint8array?"uint8array":"array",h=o.transformTo(g,_);this.zipComment=this.loadOptions.decodeFileName(h)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var _,g,h,b=this.zip64EndOfCentralSize-44;0<b;)_=this.reader.readInt(2),g=this.reader.readInt(4),h=this.reader.readData(g),this.zip64ExtensibleData[_]={id:_,length:g,value:h}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var _,g;for(_=0;_<this.files.length;_++)g=this.files[_],this.reader.setIndex(g.localHeaderOffset),this.checkSignature(i.LOCAL_FILE_HEADER),g.readLocalPart(this.reader),g.handleUTF8(),g.processAttributes()},readCentralDir:function(){var _;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(i.CENTRAL_FILE_HEADER);)(_=new c({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(_);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var _=this.reader.lastIndexOfSignature(i.CENTRAL_DIRECTORY_END);if(_<0)throw this.isSignature(0,i.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(_);var g=_;if(this.checkSignature(i.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===o.MAX_VALUE_16BITS||this.diskWithCentralDirStart===o.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===o.MAX_VALUE_16BITS||this.centralDirRecords===o.MAX_VALUE_16BITS||this.centralDirSize===o.MAX_VALUE_32BITS||this.centralDirOffset===o.MAX_VALUE_32BITS){if(this.zip64=!0,(_=this.reader.lastIndexOfSignature(i.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(_),this.checkSignature(i.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,i.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(i.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(i.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var h=this.centralDirOffset+this.centralDirSize;this.zip64&&(h+=20,h+=12+this.zip64EndOfCentralSize);var b=g-h;if(0<b)this.isSignature(g,i.CENTRAL_FILE_HEADER)||(this.reader.zero=b);else if(b<0)throw new Error("Corrupted zip: missing "+Math.abs(b)+" bytes.")},prepareReader:function(_){this.reader=a(_)},load:function(_){this.prepareReader(_),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},r.exports=f},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(t,r,n){var a=t("./reader/readerFor"),o=t("./utils"),i=t("./compressedObject"),c=t("./crc32"),p=t("./utf8"),f=t("./compressions"),_=t("./support");function g(h,b){this.options=h,this.loadOptions=b}g.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(h){var b,d;if(h.skip(22),this.fileNameLength=h.readInt(2),d=h.readInt(2),this.fileName=h.readData(this.fileNameLength),h.skip(d),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((b=function(y){for(var u in f)if(Object.prototype.hasOwnProperty.call(f,u)&&f[u].magic===y)return f[u];return null}(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+o.pretty(this.compressionMethod)+" unknown (inner file : "+o.transformTo("string",this.fileName)+")");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,b,h.readData(this.compressedSize))},readCentralPart:function(h){this.versionMadeBy=h.readInt(2),h.skip(2),this.bitFlag=h.readInt(2),this.compressionMethod=h.readString(2),this.date=h.readDate(),this.crc32=h.readInt(4),this.compressedSize=h.readInt(4),this.uncompressedSize=h.readInt(4);var b=h.readInt(2);if(this.extraFieldsLength=h.readInt(2),this.fileCommentLength=h.readInt(2),this.diskNumberStart=h.readInt(2),this.internalFileAttributes=h.readInt(2),this.externalFileAttributes=h.readInt(4),this.localHeaderOffset=h.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");h.skip(b),this.readExtraFields(h),this.parseZIP64ExtraField(h),this.fileComment=h.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var h=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),h==0&&(this.dosPermissions=63&this.externalFileAttributes),h==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var h=a(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=h.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=h.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=h.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=h.readInt(4))}},readExtraFields:function(h){var b,d,y,u=h.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});h.index+4<u;)b=h.readInt(2),d=h.readInt(2),y=h.readData(d),this.extraFields[b]={id:b,length:d,value:y};h.setIndex(u)},handleUTF8:function(){var h=_.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=p.utf8decode(this.fileName),this.fileCommentStr=p.utf8decode(this.fileComment);else{var b=this.findExtraFieldUnicodePath();if(b!==null)this.fileNameStr=b;else{var d=o.transformTo(h,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(d)}var y=this.findExtraFieldUnicodeComment();if(y!==null)this.fileCommentStr=y;else{var u=o.transformTo(h,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(u)}}},findExtraFieldUnicodePath:function(){var h=this.extraFields[28789];if(h){var b=a(h.value);return b.readInt(1)!==1||c(this.fileName)!==b.readInt(4)?null:p.utf8decode(b.readData(h.length-5))}return null},findExtraFieldUnicodeComment:function(){var h=this.extraFields[25461];if(h){var b=a(h.value);return b.readInt(1)!==1||c(this.fileComment)!==b.readInt(4)?null:p.utf8decode(b.readData(h.length-5))}return null}},r.exports=g},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(t,r,n){function a(b,d,y){this.name=b,this.dir=y.dir,this.date=y.date,this.comment=y.comment,this.unixPermissions=y.unixPermissions,this.dosPermissions=y.dosPermissions,this._data=d,this._dataBinary=y.binary,this.options={compression:y.compression,compressionOptions:y.compressionOptions}}var o=t("./stream/StreamHelper"),i=t("./stream/DataWorker"),c=t("./utf8"),p=t("./compressedObject"),f=t("./stream/GenericWorker");a.prototype={internalStream:function(b){var d=null,y="string";try{if(!b)throw new Error("No output type specified.");var u=(y=b.toLowerCase())==="string"||y==="text";y!=="binarystring"&&y!=="text"||(y="string"),d=this._decompressWorker();var v=!this._dataBinary;v&&!u&&(d=d.pipe(new c.Utf8EncodeWorker)),!v&&u&&(d=d.pipe(new c.Utf8DecodeWorker))}catch(C){(d=new f("error")).error(C)}return new o(d,y,"")},async:function(b,d){return this.internalStream(b).accumulate(d)},nodeStream:function(b,d){return this.internalStream(b||"nodebuffer").toNodejsStream(d)},_compressWorker:function(b,d){if(this._data instanceof p&&this._data.compression.magic===b.magic)return this._data.getCompressedWorker();var y=this._decompressWorker();return this._dataBinary||(y=y.pipe(new c.Utf8EncodeWorker)),p.createWorkerFrom(y,b,d)},_decompressWorker:function(){return this._data instanceof p?this._data.getContentWorker():this._data instanceof f?this._data:new i(this._data)}};for(var _=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],g=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},h=0;h<_.length;h++)a.prototype[_[h]]=g;r.exports=a},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(t,r,n){(function(a){var o,i,c=a.MutationObserver||a.WebKitMutationObserver;if(c){var p=0,f=new c(b),_=a.document.createTextNode("");f.observe(_,{characterData:!0}),o=function(){_.data=p=++p%2}}else if(a.setImmediate||a.MessageChannel===void 0)o="document"in a&&"onreadystatechange"in a.document.createElement("script")?function(){var d=a.document.createElement("script");d.onreadystatechange=function(){b(),d.onreadystatechange=null,d.parentNode.removeChild(d),d=null},a.document.documentElement.appendChild(d)}:function(){setTimeout(b,0)};else{var g=new a.MessageChannel;g.port1.onmessage=b,o=function(){g.port2.postMessage(0)}}var h=[];function b(){var d,y;i=!0;for(var u=h.length;u;){for(y=h,h=[],d=-1;++d<u;)y[d]();u=h.length}i=!1}r.exports=function(d){h.push(d)!==1||i||o()}}).call(this,typeof ft<"u"?ft:typeof self<"u"?self:typeof window<"u"?window:{})},{}],37:[function(t,r,n){var a=t("immediate");function o(){}var i={},c=["REJECTED"],p=["FULFILLED"],f=["PENDING"];function _(u){if(typeof u!="function")throw new TypeError("resolver must be a function");this.state=f,this.queue=[],this.outcome=void 0,u!==o&&d(this,u)}function g(u,v,C){this.promise=u,typeof v=="function"&&(this.onFulfilled=v,this.callFulfilled=this.otherCallFulfilled),typeof C=="function"&&(this.onRejected=C,this.callRejected=this.otherCallRejected)}function h(u,v,C){a(function(){var A;try{A=v(C)}catch(T){return i.reject(u,T)}A===u?i.reject(u,new TypeError("Cannot resolve promise with itself")):i.resolve(u,A)})}function b(u){var v=u&&u.then;if(u&&(typeof u=="object"||typeof u=="function")&&typeof v=="function")return function(){v.apply(u,arguments)}}function d(u,v){var C=!1;function A(B){C||(C=!0,i.reject(u,B))}function T(B){C||(C=!0,i.resolve(u,B))}var D=y(function(){v(T,A)});D.status==="error"&&A(D.value)}function y(u,v){var C={};try{C.value=u(v),C.status="success"}catch(A){C.status="error",C.value=A}return C}(r.exports=_).prototype.finally=function(u){if(typeof u!="function")return this;var v=this.constructor;return this.then(function(C){return v.resolve(u()).then(function(){return C})},function(C){return v.resolve(u()).then(function(){throw C})})},_.prototype.catch=function(u){return this.then(null,u)},_.prototype.then=function(u,v){if(typeof u!="function"&&this.state===p||typeof v!="function"&&this.state===c)return this;var C=new this.constructor(o);return this.state!==f?h(C,this.state===p?u:v,this.outcome):this.queue.push(new g(C,u,v)),C},g.prototype.callFulfilled=function(u){i.resolve(this.promise,u)},g.prototype.otherCallFulfilled=function(u){h(this.promise,this.onFulfilled,u)},g.prototype.callRejected=function(u){i.reject(this.promise,u)},g.prototype.otherCallRejected=function(u){h(this.promise,this.onRejected,u)},i.resolve=function(u,v){var C=y(b,v);if(C.status==="error")return i.reject(u,C.value);var A=C.value;if(A)d(u,A);else{u.state=p,u.outcome=v;for(var T=-1,D=u.queue.length;++T<D;)u.queue[T].callFulfilled(v)}return u},i.reject=function(u,v){u.state=c,u.outcome=v;for(var C=-1,A=u.queue.length;++C<A;)u.queue[C].callRejected(v);return u},_.resolve=function(u){return u instanceof this?u:i.resolve(new this(o),u)},_.reject=function(u){var v=new this(o);return i.reject(v,u)},_.all=function(u){var v=this;if(Object.prototype.toString.call(u)!=="[object Array]")return this.reject(new TypeError("must be an array"));var C=u.length,A=!1;if(!C)return this.resolve([]);for(var T=new Array(C),D=0,B=-1,j=new this(o);++B<C;)z(u[B],B);return j;function z(Z,Q){v.resolve(Z).then(function(k){T[Q]=k,++D!==C||A||(A=!0,i.resolve(j,T))},function(k){A||(A=!0,i.reject(j,k))})}},_.race=function(u){var v=this;if(Object.prototype.toString.call(u)!=="[object Array]")return this.reject(new TypeError("must be an array"));var C=u.length,A=!1;if(!C)return this.resolve([]);for(var T=-1,D=new this(o);++T<C;)B=u[T],v.resolve(B).then(function(j){A||(A=!0,i.resolve(D,j))},function(j){A||(A=!0,i.reject(D,j))});var B;return D}},{immediate:36}],38:[function(t,r,n){var a={};(0,t("./lib/utils/common").assign)(a,t("./lib/deflate"),t("./lib/inflate"),t("./lib/zlib/constants")),r.exports=a},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(t,r,n){var a=t("./zlib/deflate"),o=t("./utils/common"),i=t("./utils/strings"),c=t("./zlib/messages"),p=t("./zlib/zstream"),f=Object.prototype.toString,_=0,g=-1,h=0,b=8;function d(u){if(!(this instanceof d))return new d(u);this.options=o.assign({level:g,method:b,chunkSize:16384,windowBits:15,memLevel:8,strategy:h,to:""},u||{});var v=this.options;v.raw&&0<v.windowBits?v.windowBits=-v.windowBits:v.gzip&&0<v.windowBits&&v.windowBits<16&&(v.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new p,this.strm.avail_out=0;var C=a.deflateInit2(this.strm,v.level,v.method,v.windowBits,v.memLevel,v.strategy);if(C!==_)throw new Error(c[C]);if(v.header&&a.deflateSetHeader(this.strm,v.header),v.dictionary){var A;if(A=typeof v.dictionary=="string"?i.string2buf(v.dictionary):f.call(v.dictionary)==="[object ArrayBuffer]"?new Uint8Array(v.dictionary):v.dictionary,(C=a.deflateSetDictionary(this.strm,A))!==_)throw new Error(c[C]);this._dict_set=!0}}function y(u,v){var C=new d(v);if(C.push(u,!0),C.err)throw C.msg||c[C.err];return C.result}d.prototype.push=function(u,v){var C,A,T=this.strm,D=this.options.chunkSize;if(this.ended)return!1;A=v===~~v?v:v===!0?4:0,typeof u=="string"?T.input=i.string2buf(u):f.call(u)==="[object ArrayBuffer]"?T.input=new Uint8Array(u):T.input=u,T.next_in=0,T.avail_in=T.input.length;do{if(T.avail_out===0&&(T.output=new o.Buf8(D),T.next_out=0,T.avail_out=D),(C=a.deflate(T,A))!==1&&C!==_)return this.onEnd(C),!(this.ended=!0);T.avail_out!==0&&(T.avail_in!==0||A!==4&&A!==2)||(this.options.to==="string"?this.onData(i.buf2binstring(o.shrinkBuf(T.output,T.next_out))):this.onData(o.shrinkBuf(T.output,T.next_out)))}while((0<T.avail_in||T.avail_out===0)&&C!==1);return A===4?(C=a.deflateEnd(this.strm),this.onEnd(C),this.ended=!0,C===_):A!==2||(this.onEnd(_),!(T.avail_out=0))},d.prototype.onData=function(u){this.chunks.push(u)},d.prototype.onEnd=function(u){u===_&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=u,this.msg=this.strm.msg},n.Deflate=d,n.deflate=y,n.deflateRaw=function(u,v){return(v=v||{}).raw=!0,y(u,v)},n.gzip=function(u,v){return(v=v||{}).gzip=!0,y(u,v)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(t,r,n){var a=t("./zlib/inflate"),o=t("./utils/common"),i=t("./utils/strings"),c=t("./zlib/constants"),p=t("./zlib/messages"),f=t("./zlib/zstream"),_=t("./zlib/gzheader"),g=Object.prototype.toString;function h(d){if(!(this instanceof h))return new h(d);this.options=o.assign({chunkSize:16384,windowBits:0,to:""},d||{});var y=this.options;y.raw&&0<=y.windowBits&&y.windowBits<16&&(y.windowBits=-y.windowBits,y.windowBits===0&&(y.windowBits=-15)),!(0<=y.windowBits&&y.windowBits<16)||d&&d.windowBits||(y.windowBits+=32),15<y.windowBits&&y.windowBits<48&&!(15&y.windowBits)&&(y.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var u=a.inflateInit2(this.strm,y.windowBits);if(u!==c.Z_OK)throw new Error(p[u]);this.header=new _,a.inflateGetHeader(this.strm,this.header)}function b(d,y){var u=new h(y);if(u.push(d,!0),u.err)throw u.msg||p[u.err];return u.result}h.prototype.push=function(d,y){var u,v,C,A,T,D,B=this.strm,j=this.options.chunkSize,z=this.options.dictionary,Z=!1;if(this.ended)return!1;v=y===~~y?y:y===!0?c.Z_FINISH:c.Z_NO_FLUSH,typeof d=="string"?B.input=i.binstring2buf(d):g.call(d)==="[object ArrayBuffer]"?B.input=new Uint8Array(d):B.input=d,B.next_in=0,B.avail_in=B.input.length;do{if(B.avail_out===0&&(B.output=new o.Buf8(j),B.next_out=0,B.avail_out=j),(u=a.inflate(B,c.Z_NO_FLUSH))===c.Z_NEED_DICT&&z&&(D=typeof z=="string"?i.string2buf(z):g.call(z)==="[object ArrayBuffer]"?new Uint8Array(z):z,u=a.inflateSetDictionary(this.strm,D)),u===c.Z_BUF_ERROR&&Z===!0&&(u=c.Z_OK,Z=!1),u!==c.Z_STREAM_END&&u!==c.Z_OK)return this.onEnd(u),!(this.ended=!0);B.next_out&&(B.avail_out!==0&&u!==c.Z_STREAM_END&&(B.avail_in!==0||v!==c.Z_FINISH&&v!==c.Z_SYNC_FLUSH)||(this.options.to==="string"?(C=i.utf8border(B.output,B.next_out),A=B.next_out-C,T=i.buf2string(B.output,C),B.next_out=A,B.avail_out=j-A,A&&o.arraySet(B.output,B.output,C,A,0),this.onData(T)):this.onData(o.shrinkBuf(B.output,B.next_out)))),B.avail_in===0&&B.avail_out===0&&(Z=!0)}while((0<B.avail_in||B.avail_out===0)&&u!==c.Z_STREAM_END);return u===c.Z_STREAM_END&&(v=c.Z_FINISH),v===c.Z_FINISH?(u=a.inflateEnd(this.strm),this.onEnd(u),this.ended=!0,u===c.Z_OK):v!==c.Z_SYNC_FLUSH||(this.onEnd(c.Z_OK),!(B.avail_out=0))},h.prototype.onData=function(d){this.chunks.push(d)},h.prototype.onEnd=function(d){d===c.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=d,this.msg=this.strm.msg},n.Inflate=h,n.inflate=b,n.inflateRaw=function(d,y){return(y=y||{}).raw=!0,b(d,y)},n.ungzip=b},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(t,r,n){var a=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";n.assign=function(c){for(var p=Array.prototype.slice.call(arguments,1);p.length;){var f=p.shift();if(f){if(typeof f!="object")throw new TypeError(f+"must be non-object");for(var _ in f)f.hasOwnProperty(_)&&(c[_]=f[_])}}return c},n.shrinkBuf=function(c,p){return c.length===p?c:c.subarray?c.subarray(0,p):(c.length=p,c)};var o={arraySet:function(c,p,f,_,g){if(p.subarray&&c.subarray)c.set(p.subarray(f,f+_),g);else for(var h=0;h<_;h++)c[g+h]=p[f+h]},flattenChunks:function(c){var p,f,_,g,h,b;for(p=_=0,f=c.length;p<f;p++)_+=c[p].length;for(b=new Uint8Array(_),p=g=0,f=c.length;p<f;p++)h=c[p],b.set(h,g),g+=h.length;return b}},i={arraySet:function(c,p,f,_,g){for(var h=0;h<_;h++)c[g+h]=p[f+h]},flattenChunks:function(c){return[].concat.apply([],c)}};n.setTyped=function(c){c?(n.Buf8=Uint8Array,n.Buf16=Uint16Array,n.Buf32=Int32Array,n.assign(n,o)):(n.Buf8=Array,n.Buf16=Array,n.Buf32=Array,n.assign(n,i))},n.setTyped(a)},{}],42:[function(t,r,n){var a=t("./common"),o=!0,i=!0;try{String.fromCharCode.apply(null,[0])}catch{o=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{i=!1}for(var c=new a.Buf8(256),p=0;p<256;p++)c[p]=252<=p?6:248<=p?5:240<=p?4:224<=p?3:192<=p?2:1;function f(_,g){if(g<65537&&(_.subarray&&i||!_.subarray&&o))return String.fromCharCode.apply(null,a.shrinkBuf(_,g));for(var h="",b=0;b<g;b++)h+=String.fromCharCode(_[b]);return h}c[254]=c[254]=1,n.string2buf=function(_){var g,h,b,d,y,u=_.length,v=0;for(d=0;d<u;d++)(64512&(h=_.charCodeAt(d)))==55296&&d+1<u&&(64512&(b=_.charCodeAt(d+1)))==56320&&(h=65536+(h-55296<<10)+(b-56320),d++),v+=h<128?1:h<2048?2:h<65536?3:4;for(g=new a.Buf8(v),d=y=0;y<v;d++)(64512&(h=_.charCodeAt(d)))==55296&&d+1<u&&(64512&(b=_.charCodeAt(d+1)))==56320&&(h=65536+(h-55296<<10)+(b-56320),d++),h<128?g[y++]=h:(h<2048?g[y++]=192|h>>>6:(h<65536?g[y++]=224|h>>>12:(g[y++]=240|h>>>18,g[y++]=128|h>>>12&63),g[y++]=128|h>>>6&63),g[y++]=128|63&h);return g},n.buf2binstring=function(_){return f(_,_.length)},n.binstring2buf=function(_){for(var g=new a.Buf8(_.length),h=0,b=g.length;h<b;h++)g[h]=_.charCodeAt(h);return g},n.buf2string=function(_,g){var h,b,d,y,u=g||_.length,v=new Array(2*u);for(h=b=0;h<u;)if((d=_[h++])<128)v[b++]=d;else if(4<(y=c[d]))v[b++]=65533,h+=y-1;else{for(d&=y===2?31:y===3?15:7;1<y&&h<u;)d=d<<6|63&_[h++],y--;1<y?v[b++]=65533:d<65536?v[b++]=d:(d-=65536,v[b++]=55296|d>>10&1023,v[b++]=56320|1023&d)}return f(v,b)},n.utf8border=function(_,g){var h;for((g=g||_.length)>_.length&&(g=_.length),h=g-1;0<=h&&(192&_[h])==128;)h--;return h<0||h===0?g:h+c[_[h]]>g?h:g}},{"./common":41}],43:[function(t,r,n){r.exports=function(a,o,i,c){for(var p=65535&a|0,f=a>>>16&65535|0,_=0;i!==0;){for(i-=_=2e3<i?2e3:i;f=f+(p=p+o[c++]|0)|0,--_;);p%=65521,f%=65521}return p|f<<16|0}},{}],44:[function(t,r,n){r.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(t,r,n){var a=function(){for(var o,i=[],c=0;c<256;c++){o=c;for(var p=0;p<8;p++)o=1&o?3988292384^o>>>1:o>>>1;i[c]=o}return i}();r.exports=function(o,i,c,p){var f=a,_=p+c;o^=-1;for(var g=p;g<_;g++)o=o>>>8^f[255&(o^i[g])];return-1^o}},{}],46:[function(t,r,n){var a,o=t("../utils/common"),i=t("./trees"),c=t("./adler32"),p=t("./crc32"),f=t("./messages"),_=0,g=4,h=0,b=-2,d=-1,y=4,u=2,v=8,C=9,A=286,T=30,D=19,B=2*A+1,j=15,z=3,Z=258,Q=Z+z+1,k=42,N=113,l=1,L=2,et=3,$=4;function rt(s,O){return s.msg=f[O],O}function W(s){return(s<<1)-(4<s?9:0)}function tt(s){for(var O=s.length;0<=--O;)s[O]=0}function I(s){var O=s.state,P=O.pending;P>s.avail_out&&(P=s.avail_out),P!==0&&(o.arraySet(s.output,O.pending_buf,O.pending_out,P,s.next_out),s.next_out+=P,O.pending_out+=P,s.total_out+=P,s.avail_out-=P,O.pending-=P,O.pending===0&&(O.pending_out=0))}function R(s,O){i._tr_flush_block(s,0<=s.block_start?s.block_start:-1,s.strstart-s.block_start,O),s.block_start=s.strstart,I(s.strm)}function J(s,O){s.pending_buf[s.pending++]=O}function Y(s,O){s.pending_buf[s.pending++]=O>>>8&255,s.pending_buf[s.pending++]=255&O}function V(s,O){var P,w,m=s.max_chain_length,S=s.strstart,M=s.prev_length,U=s.nice_match,F=s.strstart>s.w_size-Q?s.strstart-(s.w_size-Q):0,H=s.window,K=s.w_mask,G=s.prev,q=s.strstart+Z,lt=H[S+M-1],st=H[S+M];s.prev_length>=s.good_match&&(m>>=2),U>s.lookahead&&(U=s.lookahead);do if(H[(P=O)+M]===st&&H[P+M-1]===lt&&H[P]===H[S]&&H[++P]===H[S+1]){S+=2,P++;do;while(H[++S]===H[++P]&&H[++S]===H[++P]&&H[++S]===H[++P]&&H[++S]===H[++P]&&H[++S]===H[++P]&&H[++S]===H[++P]&&H[++S]===H[++P]&&H[++S]===H[++P]&&S<q);if(w=Z-(q-S),S=q-Z,M<w){if(s.match_start=O,U<=(M=w))break;lt=H[S+M-1],st=H[S+M]}}while((O=G[O&K])>F&&--m!=0);return M<=s.lookahead?M:s.lookahead}function ct(s){var O,P,w,m,S,M,U,F,H,K,G=s.w_size;do{if(m=s.window_size-s.lookahead-s.strstart,s.strstart>=G+(G-Q)){for(o.arraySet(s.window,s.window,G,G,0),s.match_start-=G,s.strstart-=G,s.block_start-=G,O=P=s.hash_size;w=s.head[--O],s.head[O]=G<=w?w-G:0,--P;);for(O=P=G;w=s.prev[--O],s.prev[O]=G<=w?w-G:0,--P;);m+=G}if(s.strm.avail_in===0)break;if(M=s.strm,U=s.window,F=s.strstart+s.lookahead,H=m,K=void 0,K=M.avail_in,H<K&&(K=H),P=K===0?0:(M.avail_in-=K,o.arraySet(U,M.input,M.next_in,K,F),M.state.wrap===1?M.adler=c(M.adler,U,K,F):M.state.wrap===2&&(M.adler=p(M.adler,U,K,F)),M.next_in+=K,M.total_in+=K,K),s.lookahead+=P,s.lookahead+s.insert>=z)for(S=s.strstart-s.insert,s.ins_h=s.window[S],s.ins_h=(s.ins_h<<s.hash_shift^s.window[S+1])&s.hash_mask;s.insert&&(s.ins_h=(s.ins_h<<s.hash_shift^s.window[S+z-1])&s.hash_mask,s.prev[S&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=S,S++,s.insert--,!(s.lookahead+s.insert<z)););}while(s.lookahead<Q&&s.strm.avail_in!==0)}function pt(s,O){for(var P,w;;){if(s.lookahead<Q){if(ct(s),s.lookahead<Q&&O===_)return l;if(s.lookahead===0)break}if(P=0,s.lookahead>=z&&(s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+z-1])&s.hash_mask,P=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart),P!==0&&s.strstart-P<=s.w_size-Q&&(s.match_length=V(s,P)),s.match_length>=z)if(w=i._tr_tally(s,s.strstart-s.match_start,s.match_length-z),s.lookahead-=s.match_length,s.match_length<=s.max_lazy_match&&s.lookahead>=z){for(s.match_length--;s.strstart++,s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+z-1])&s.hash_mask,P=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart,--s.match_length!=0;);s.strstart++}else s.strstart+=s.match_length,s.match_length=0,s.ins_h=s.window[s.strstart],s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+1])&s.hash_mask;else w=i._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++;if(w&&(R(s,!1),s.strm.avail_out===0))return l}return s.insert=s.strstart<z-1?s.strstart:z-1,O===g?(R(s,!0),s.strm.avail_out===0?et:$):s.last_lit&&(R(s,!1),s.strm.avail_out===0)?l:L}function it(s,O){for(var P,w,m;;){if(s.lookahead<Q){if(ct(s),s.lookahead<Q&&O===_)return l;if(s.lookahead===0)break}if(P=0,s.lookahead>=z&&(s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+z-1])&s.hash_mask,P=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart),s.prev_length=s.match_length,s.prev_match=s.match_start,s.match_length=z-1,P!==0&&s.prev_length<s.max_lazy_match&&s.strstart-P<=s.w_size-Q&&(s.match_length=V(s,P),s.match_length<=5&&(s.strategy===1||s.match_length===z&&4096<s.strstart-s.match_start)&&(s.match_length=z-1)),s.prev_length>=z&&s.match_length<=s.prev_length){for(m=s.strstart+s.lookahead-z,w=i._tr_tally(s,s.strstart-1-s.prev_match,s.prev_length-z),s.lookahead-=s.prev_length-1,s.prev_length-=2;++s.strstart<=m&&(s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+z-1])&s.hash_mask,P=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart),--s.prev_length!=0;);if(s.match_available=0,s.match_length=z-1,s.strstart++,w&&(R(s,!1),s.strm.avail_out===0))return l}else if(s.match_available){if((w=i._tr_tally(s,0,s.window[s.strstart-1]))&&R(s,!1),s.strstart++,s.lookahead--,s.strm.avail_out===0)return l}else s.match_available=1,s.strstart++,s.lookahead--}return s.match_available&&(w=i._tr_tally(s,0,s.window[s.strstart-1]),s.match_available=0),s.insert=s.strstart<z-1?s.strstart:z-1,O===g?(R(s,!0),s.strm.avail_out===0?et:$):s.last_lit&&(R(s,!1),s.strm.avail_out===0)?l:L}function ot(s,O,P,w,m){this.good_length=s,this.max_lazy=O,this.nice_length=P,this.max_chain=w,this.func=m}function ut(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new o.Buf16(2*B),this.dyn_dtree=new o.Buf16(2*(2*T+1)),this.bl_tree=new o.Buf16(2*(2*D+1)),tt(this.dyn_ltree),tt(this.dyn_dtree),tt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new o.Buf16(j+1),this.heap=new o.Buf16(2*A+1),tt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new o.Buf16(2*A+1),tt(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ht(s){var O;return s&&s.state?(s.total_in=s.total_out=0,s.data_type=u,(O=s.state).pending=0,O.pending_out=0,O.wrap<0&&(O.wrap=-O.wrap),O.status=O.wrap?k:N,s.adler=O.wrap===2?0:1,O.last_flush=_,i._tr_init(O),h):rt(s,b)}function _t(s){var O=ht(s);return O===h&&function(P){P.window_size=2*P.w_size,tt(P.head),P.max_lazy_match=a[P.level].max_lazy,P.good_match=a[P.level].good_length,P.nice_match=a[P.level].nice_length,P.max_chain_length=a[P.level].max_chain,P.strstart=0,P.block_start=0,P.lookahead=0,P.insert=0,P.match_length=P.prev_length=z-1,P.match_available=0,P.ins_h=0}(s.state),O}function yt(s,O,P,w,m,S){if(!s)return b;var M=1;if(O===d&&(O=6),w<0?(M=0,w=-w):15<w&&(M=2,w-=16),m<1||C<m||P!==v||w<8||15<w||O<0||9<O||S<0||y<S)return rt(s,b);w===8&&(w=9);var U=new ut;return(s.state=U).strm=s,U.wrap=M,U.gzhead=null,U.w_bits=w,U.w_size=1<<U.w_bits,U.w_mask=U.w_size-1,U.hash_bits=m+7,U.hash_size=1<<U.hash_bits,U.hash_mask=U.hash_size-1,U.hash_shift=~~((U.hash_bits+z-1)/z),U.window=new o.Buf8(2*U.w_size),U.head=new o.Buf16(U.hash_size),U.prev=new o.Buf16(U.w_size),U.lit_bufsize=1<<m+6,U.pending_buf_size=4*U.lit_bufsize,U.pending_buf=new o.Buf8(U.pending_buf_size),U.d_buf=1*U.lit_bufsize,U.l_buf=3*U.lit_bufsize,U.level=O,U.strategy=S,U.method=P,_t(s)}a=[new ot(0,0,0,0,function(s,O){var P=65535;for(P>s.pending_buf_size-5&&(P=s.pending_buf_size-5);;){if(s.lookahead<=1){if(ct(s),s.lookahead===0&&O===_)return l;if(s.lookahead===0)break}s.strstart+=s.lookahead,s.lookahead=0;var w=s.block_start+P;if((s.strstart===0||s.strstart>=w)&&(s.lookahead=s.strstart-w,s.strstart=w,R(s,!1),s.strm.avail_out===0)||s.strstart-s.block_start>=s.w_size-Q&&(R(s,!1),s.strm.avail_out===0))return l}return s.insert=0,O===g?(R(s,!0),s.strm.avail_out===0?et:$):(s.strstart>s.block_start&&(R(s,!1),s.strm.avail_out),l)}),new ot(4,4,8,4,pt),new ot(4,5,16,8,pt),new ot(4,6,32,32,pt),new ot(4,4,16,16,it),new ot(8,16,32,32,it),new ot(8,16,128,128,it),new ot(8,32,128,256,it),new ot(32,128,258,1024,it),new ot(32,258,258,4096,it)],n.deflateInit=function(s,O){return yt(s,O,v,15,8,0)},n.deflateInit2=yt,n.deflateReset=_t,n.deflateResetKeep=ht,n.deflateSetHeader=function(s,O){return s&&s.state?s.state.wrap!==2?b:(s.state.gzhead=O,h):b},n.deflate=function(s,O){var P,w,m,S;if(!s||!s.state||5<O||O<0)return s?rt(s,b):b;if(w=s.state,!s.output||!s.input&&s.avail_in!==0||w.status===666&&O!==g)return rt(s,s.avail_out===0?-5:b);if(w.strm=s,P=w.last_flush,w.last_flush=O,w.status===k)if(w.wrap===2)s.adler=0,J(w,31),J(w,139),J(w,8),w.gzhead?(J(w,(w.gzhead.text?1:0)+(w.gzhead.hcrc?2:0)+(w.gzhead.extra?4:0)+(w.gzhead.name?8:0)+(w.gzhead.comment?16:0)),J(w,255&w.gzhead.time),J(w,w.gzhead.time>>8&255),J(w,w.gzhead.time>>16&255),J(w,w.gzhead.time>>24&255),J(w,w.level===9?2:2<=w.strategy||w.level<2?4:0),J(w,255&w.gzhead.os),w.gzhead.extra&&w.gzhead.extra.length&&(J(w,255&w.gzhead.extra.length),J(w,w.gzhead.extra.length>>8&255)),w.gzhead.hcrc&&(s.adler=p(s.adler,w.pending_buf,w.pending,0)),w.gzindex=0,w.status=69):(J(w,0),J(w,0),J(w,0),J(w,0),J(w,0),J(w,w.level===9?2:2<=w.strategy||w.level<2?4:0),J(w,3),w.status=N);else{var M=v+(w.w_bits-8<<4)<<8;M|=(2<=w.strategy||w.level<2?0:w.level<6?1:w.level===6?2:3)<<6,w.strstart!==0&&(M|=32),M+=31-M%31,w.status=N,Y(w,M),w.strstart!==0&&(Y(w,s.adler>>>16),Y(w,65535&s.adler)),s.adler=1}if(w.status===69)if(w.gzhead.extra){for(m=w.pending;w.gzindex<(65535&w.gzhead.extra.length)&&(w.pending!==w.pending_buf_size||(w.gzhead.hcrc&&w.pending>m&&(s.adler=p(s.adler,w.pending_buf,w.pending-m,m)),I(s),m=w.pending,w.pending!==w.pending_buf_size));)J(w,255&w.gzhead.extra[w.gzindex]),w.gzindex++;w.gzhead.hcrc&&w.pending>m&&(s.adler=p(s.adler,w.pending_buf,w.pending-m,m)),w.gzindex===w.gzhead.extra.length&&(w.gzindex=0,w.status=73)}else w.status=73;if(w.status===73)if(w.gzhead.name){m=w.pending;do{if(w.pending===w.pending_buf_size&&(w.gzhead.hcrc&&w.pending>m&&(s.adler=p(s.adler,w.pending_buf,w.pending-m,m)),I(s),m=w.pending,w.pending===w.pending_buf_size)){S=1;break}S=w.gzindex<w.gzhead.name.length?255&w.gzhead.name.charCodeAt(w.gzindex++):0,J(w,S)}while(S!==0);w.gzhead.hcrc&&w.pending>m&&(s.adler=p(s.adler,w.pending_buf,w.pending-m,m)),S===0&&(w.gzindex=0,w.status=91)}else w.status=91;if(w.status===91)if(w.gzhead.comment){m=w.pending;do{if(w.pending===w.pending_buf_size&&(w.gzhead.hcrc&&w.pending>m&&(s.adler=p(s.adler,w.pending_buf,w.pending-m,m)),I(s),m=w.pending,w.pending===w.pending_buf_size)){S=1;break}S=w.gzindex<w.gzhead.comment.length?255&w.gzhead.comment.charCodeAt(w.gzindex++):0,J(w,S)}while(S!==0);w.gzhead.hcrc&&w.pending>m&&(s.adler=p(s.adler,w.pending_buf,w.pending-m,m)),S===0&&(w.status=103)}else w.status=103;if(w.status===103&&(w.gzhead.hcrc?(w.pending+2>w.pending_buf_size&&I(s),w.pending+2<=w.pending_buf_size&&(J(w,255&s.adler),J(w,s.adler>>8&255),s.adler=0,w.status=N)):w.status=N),w.pending!==0){if(I(s),s.avail_out===0)return w.last_flush=-1,h}else if(s.avail_in===0&&W(O)<=W(P)&&O!==g)return rt(s,-5);if(w.status===666&&s.avail_in!==0)return rt(s,-5);if(s.avail_in!==0||w.lookahead!==0||O!==_&&w.status!==666){var U=w.strategy===2?function(F,H){for(var K;;){if(F.lookahead===0&&(ct(F),F.lookahead===0)){if(H===_)return l;break}if(F.match_length=0,K=i._tr_tally(F,0,F.window[F.strstart]),F.lookahead--,F.strstart++,K&&(R(F,!1),F.strm.avail_out===0))return l}return F.insert=0,H===g?(R(F,!0),F.strm.avail_out===0?et:$):F.last_lit&&(R(F,!1),F.strm.avail_out===0)?l:L}(w,O):w.strategy===3?function(F,H){for(var K,G,q,lt,st=F.window;;){if(F.lookahead<=Z){if(ct(F),F.lookahead<=Z&&H===_)return l;if(F.lookahead===0)break}if(F.match_length=0,F.lookahead>=z&&0<F.strstart&&(G=st[q=F.strstart-1])===st[++q]&&G===st[++q]&&G===st[++q]){lt=F.strstart+Z;do;while(G===st[++q]&&G===st[++q]&&G===st[++q]&&G===st[++q]&&G===st[++q]&&G===st[++q]&&G===st[++q]&&G===st[++q]&&q<lt);F.match_length=Z-(lt-q),F.match_length>F.lookahead&&(F.match_length=F.lookahead)}if(F.match_length>=z?(K=i._tr_tally(F,1,F.match_length-z),F.lookahead-=F.match_length,F.strstart+=F.match_length,F.match_length=0):(K=i._tr_tally(F,0,F.window[F.strstart]),F.lookahead--,F.strstart++),K&&(R(F,!1),F.strm.avail_out===0))return l}return F.insert=0,H===g?(R(F,!0),F.strm.avail_out===0?et:$):F.last_lit&&(R(F,!1),F.strm.avail_out===0)?l:L}(w,O):a[w.level].func(w,O);if(U!==et&&U!==$||(w.status=666),U===l||U===et)return s.avail_out===0&&(w.last_flush=-1),h;if(U===L&&(O===1?i._tr_align(w):O!==5&&(i._tr_stored_block(w,0,0,!1),O===3&&(tt(w.head),w.lookahead===0&&(w.strstart=0,w.block_start=0,w.insert=0))),I(s),s.avail_out===0))return w.last_flush=-1,h}return O!==g?h:w.wrap<=0?1:(w.wrap===2?(J(w,255&s.adler),J(w,s.adler>>8&255),J(w,s.adler>>16&255),J(w,s.adler>>24&255),J(w,255&s.total_in),J(w,s.total_in>>8&255),J(w,s.total_in>>16&255),J(w,s.total_in>>24&255)):(Y(w,s.adler>>>16),Y(w,65535&s.adler)),I(s),0<w.wrap&&(w.wrap=-w.wrap),w.pending!==0?h:1)},n.deflateEnd=function(s){var O;return s&&s.state?(O=s.state.status)!==k&&O!==69&&O!==73&&O!==91&&O!==103&&O!==N&&O!==666?rt(s,b):(s.state=null,O===N?rt(s,-3):h):b},n.deflateSetDictionary=function(s,O){var P,w,m,S,M,U,F,H,K=O.length;if(!s||!s.state||(S=(P=s.state).wrap)===2||S===1&&P.status!==k||P.lookahead)return b;for(S===1&&(s.adler=c(s.adler,O,K,0)),P.wrap=0,K>=P.w_size&&(S===0&&(tt(P.head),P.strstart=0,P.block_start=0,P.insert=0),H=new o.Buf8(P.w_size),o.arraySet(H,O,K-P.w_size,P.w_size,0),O=H,K=P.w_size),M=s.avail_in,U=s.next_in,F=s.input,s.avail_in=K,s.next_in=0,s.input=O,ct(P);P.lookahead>=z;){for(w=P.strstart,m=P.lookahead-(z-1);P.ins_h=(P.ins_h<<P.hash_shift^P.window[w+z-1])&P.hash_mask,P.prev[w&P.w_mask]=P.head[P.ins_h],P.head[P.ins_h]=w,w++,--m;);P.strstart=w,P.lookahead=z-1,ct(P)}return P.strstart+=P.lookahead,P.block_start=P.strstart,P.insert=P.lookahead,P.lookahead=0,P.match_length=P.prev_length=z-1,P.match_available=0,s.next_in=U,s.input=F,s.avail_in=M,P.wrap=S,h},n.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(t,r,n){r.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(t,r,n){r.exports=function(a,o){var i,c,p,f,_,g,h,b,d,y,u,v,C,A,T,D,B,j,z,Z,Q,k,N,l,L;i=a.state,c=a.next_in,l=a.input,p=c+(a.avail_in-5),f=a.next_out,L=a.output,_=f-(o-a.avail_out),g=f+(a.avail_out-257),h=i.dmax,b=i.wsize,d=i.whave,y=i.wnext,u=i.window,v=i.hold,C=i.bits,A=i.lencode,T=i.distcode,D=(1<<i.lenbits)-1,B=(1<<i.distbits)-1;t:do{C<15&&(v+=l[c++]<<C,C+=8,v+=l[c++]<<C,C+=8),j=A[v&D];e:for(;;){if(v>>>=z=j>>>24,C-=z,(z=j>>>16&255)===0)L[f++]=65535&j;else{if(!(16&z)){if(!(64&z)){j=A[(65535&j)+(v&(1<<z)-1)];continue e}if(32&z){i.mode=12;break t}a.msg="invalid literal/length code",i.mode=30;break t}Z=65535&j,(z&=15)&&(C<z&&(v+=l[c++]<<C,C+=8),Z+=v&(1<<z)-1,v>>>=z,C-=z),C<15&&(v+=l[c++]<<C,C+=8,v+=l[c++]<<C,C+=8),j=T[v&B];r:for(;;){if(v>>>=z=j>>>24,C-=z,!(16&(z=j>>>16&255))){if(!(64&z)){j=T[(65535&j)+(v&(1<<z)-1)];continue r}a.msg="invalid distance code",i.mode=30;break t}if(Q=65535&j,C<(z&=15)&&(v+=l[c++]<<C,(C+=8)<z&&(v+=l[c++]<<C,C+=8)),h<(Q+=v&(1<<z)-1)){a.msg="invalid distance too far back",i.mode=30;break t}if(v>>>=z,C-=z,(z=f-_)<Q){if(d<(z=Q-z)&&i.sane){a.msg="invalid distance too far back",i.mode=30;break t}if(N=u,(k=0)===y){if(k+=b-z,z<Z){for(Z-=z;L[f++]=u[k++],--z;);k=f-Q,N=L}}else if(y<z){if(k+=b+y-z,(z-=y)<Z){for(Z-=z;L[f++]=u[k++],--z;);if(k=0,y<Z){for(Z-=z=y;L[f++]=u[k++],--z;);k=f-Q,N=L}}}else if(k+=y-z,z<Z){for(Z-=z;L[f++]=u[k++],--z;);k=f-Q,N=L}for(;2<Z;)L[f++]=N[k++],L[f++]=N[k++],L[f++]=N[k++],Z-=3;Z&&(L[f++]=N[k++],1<Z&&(L[f++]=N[k++]))}else{for(k=f-Q;L[f++]=L[k++],L[f++]=L[k++],L[f++]=L[k++],2<(Z-=3););Z&&(L[f++]=L[k++],1<Z&&(L[f++]=L[k++]))}break}}break}}while(c<p&&f<g);c-=Z=C>>3,v&=(1<<(C-=Z<<3))-1,a.next_in=c,a.next_out=f,a.avail_in=c<p?p-c+5:5-(c-p),a.avail_out=f<g?g-f+257:257-(f-g),i.hold=v,i.bits=C}},{}],49:[function(t,r,n){var a=t("../utils/common"),o=t("./adler32"),i=t("./crc32"),c=t("./inffast"),p=t("./inftrees"),f=1,_=2,g=0,h=-2,b=1,d=852,y=592;function u(k){return(k>>>24&255)+(k>>>8&65280)+((65280&k)<<8)+((255&k)<<24)}function v(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new a.Buf16(320),this.work=new a.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function C(k){var N;return k&&k.state?(N=k.state,k.total_in=k.total_out=N.total=0,k.msg="",N.wrap&&(k.adler=1&N.wrap),N.mode=b,N.last=0,N.havedict=0,N.dmax=32768,N.head=null,N.hold=0,N.bits=0,N.lencode=N.lendyn=new a.Buf32(d),N.distcode=N.distdyn=new a.Buf32(y),N.sane=1,N.back=-1,g):h}function A(k){var N;return k&&k.state?((N=k.state).wsize=0,N.whave=0,N.wnext=0,C(k)):h}function T(k,N){var l,L;return k&&k.state?(L=k.state,N<0?(l=0,N=-N):(l=1+(N>>4),N<48&&(N&=15)),N&&(N<8||15<N)?h:(L.window!==null&&L.wbits!==N&&(L.window=null),L.wrap=l,L.wbits=N,A(k))):h}function D(k,N){var l,L;return k?(L=new v,(k.state=L).window=null,(l=T(k,N))!==g&&(k.state=null),l):h}var B,j,z=!0;function Z(k){if(z){var N;for(B=new a.Buf32(512),j=new a.Buf32(32),N=0;N<144;)k.lens[N++]=8;for(;N<256;)k.lens[N++]=9;for(;N<280;)k.lens[N++]=7;for(;N<288;)k.lens[N++]=8;for(p(f,k.lens,0,288,B,0,k.work,{bits:9}),N=0;N<32;)k.lens[N++]=5;p(_,k.lens,0,32,j,0,k.work,{bits:5}),z=!1}k.lencode=B,k.lenbits=9,k.distcode=j,k.distbits=5}function Q(k,N,l,L){var et,$=k.state;return $.window===null&&($.wsize=1<<$.wbits,$.wnext=0,$.whave=0,$.window=new a.Buf8($.wsize)),L>=$.wsize?(a.arraySet($.window,N,l-$.wsize,$.wsize,0),$.wnext=0,$.whave=$.wsize):(L<(et=$.wsize-$.wnext)&&(et=L),a.arraySet($.window,N,l-L,et,$.wnext),(L-=et)?(a.arraySet($.window,N,l-L,L,0),$.wnext=L,$.whave=$.wsize):($.wnext+=et,$.wnext===$.wsize&&($.wnext=0),$.whave<$.wsize&&($.whave+=et))),0}n.inflateReset=A,n.inflateReset2=T,n.inflateResetKeep=C,n.inflateInit=function(k){return D(k,15)},n.inflateInit2=D,n.inflate=function(k,N){var l,L,et,$,rt,W,tt,I,R,J,Y,V,ct,pt,it,ot,ut,ht,_t,yt,s,O,P,w,m=0,S=new a.Buf8(4),M=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!k||!k.state||!k.output||!k.input&&k.avail_in!==0)return h;(l=k.state).mode===12&&(l.mode=13),rt=k.next_out,et=k.output,tt=k.avail_out,$=k.next_in,L=k.input,W=k.avail_in,I=l.hold,R=l.bits,J=W,Y=tt,O=g;t:for(;;)switch(l.mode){case b:if(l.wrap===0){l.mode=13;break}for(;R<16;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}if(2&l.wrap&&I===35615){S[l.check=0]=255&I,S[1]=I>>>8&255,l.check=i(l.check,S,2,0),R=I=0,l.mode=2;break}if(l.flags=0,l.head&&(l.head.done=!1),!(1&l.wrap)||(((255&I)<<8)+(I>>8))%31){k.msg="incorrect header check",l.mode=30;break}if((15&I)!=8){k.msg="unknown compression method",l.mode=30;break}if(R-=4,s=8+(15&(I>>>=4)),l.wbits===0)l.wbits=s;else if(s>l.wbits){k.msg="invalid window size",l.mode=30;break}l.dmax=1<<s,k.adler=l.check=1,l.mode=512&I?10:12,R=I=0;break;case 2:for(;R<16;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}if(l.flags=I,(255&l.flags)!=8){k.msg="unknown compression method",l.mode=30;break}if(57344&l.flags){k.msg="unknown header flags set",l.mode=30;break}l.head&&(l.head.text=I>>8&1),512&l.flags&&(S[0]=255&I,S[1]=I>>>8&255,l.check=i(l.check,S,2,0)),R=I=0,l.mode=3;case 3:for(;R<32;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}l.head&&(l.head.time=I),512&l.flags&&(S[0]=255&I,S[1]=I>>>8&255,S[2]=I>>>16&255,S[3]=I>>>24&255,l.check=i(l.check,S,4,0)),R=I=0,l.mode=4;case 4:for(;R<16;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}l.head&&(l.head.xflags=255&I,l.head.os=I>>8),512&l.flags&&(S[0]=255&I,S[1]=I>>>8&255,l.check=i(l.check,S,2,0)),R=I=0,l.mode=5;case 5:if(1024&l.flags){for(;R<16;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}l.length=I,l.head&&(l.head.extra_len=I),512&l.flags&&(S[0]=255&I,S[1]=I>>>8&255,l.check=i(l.check,S,2,0)),R=I=0}else l.head&&(l.head.extra=null);l.mode=6;case 6:if(1024&l.flags&&(W<(V=l.length)&&(V=W),V&&(l.head&&(s=l.head.extra_len-l.length,l.head.extra||(l.head.extra=new Array(l.head.extra_len)),a.arraySet(l.head.extra,L,$,V,s)),512&l.flags&&(l.check=i(l.check,L,V,$)),W-=V,$+=V,l.length-=V),l.length))break t;l.length=0,l.mode=7;case 7:if(2048&l.flags){if(W===0)break t;for(V=0;s=L[$+V++],l.head&&s&&l.length<65536&&(l.head.name+=String.fromCharCode(s)),s&&V<W;);if(512&l.flags&&(l.check=i(l.check,L,V,$)),W-=V,$+=V,s)break t}else l.head&&(l.head.name=null);l.length=0,l.mode=8;case 8:if(4096&l.flags){if(W===0)break t;for(V=0;s=L[$+V++],l.head&&s&&l.length<65536&&(l.head.comment+=String.fromCharCode(s)),s&&V<W;);if(512&l.flags&&(l.check=i(l.check,L,V,$)),W-=V,$+=V,s)break t}else l.head&&(l.head.comment=null);l.mode=9;case 9:if(512&l.flags){for(;R<16;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}if(I!==(65535&l.check)){k.msg="header crc mismatch",l.mode=30;break}R=I=0}l.head&&(l.head.hcrc=l.flags>>9&1,l.head.done=!0),k.adler=l.check=0,l.mode=12;break;case 10:for(;R<32;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}k.adler=l.check=u(I),R=I=0,l.mode=11;case 11:if(l.havedict===0)return k.next_out=rt,k.avail_out=tt,k.next_in=$,k.avail_in=W,l.hold=I,l.bits=R,2;k.adler=l.check=1,l.mode=12;case 12:if(N===5||N===6)break t;case 13:if(l.last){I>>>=7&R,R-=7&R,l.mode=27;break}for(;R<3;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}switch(l.last=1&I,R-=1,3&(I>>>=1)){case 0:l.mode=14;break;case 1:if(Z(l),l.mode=20,N!==6)break;I>>>=2,R-=2;break t;case 2:l.mode=17;break;case 3:k.msg="invalid block type",l.mode=30}I>>>=2,R-=2;break;case 14:for(I>>>=7&R,R-=7&R;R<32;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}if((65535&I)!=(I>>>16^65535)){k.msg="invalid stored block lengths",l.mode=30;break}if(l.length=65535&I,R=I=0,l.mode=15,N===6)break t;case 15:l.mode=16;case 16:if(V=l.length){if(W<V&&(V=W),tt<V&&(V=tt),V===0)break t;a.arraySet(et,L,$,V,rt),W-=V,$+=V,tt-=V,rt+=V,l.length-=V;break}l.mode=12;break;case 17:for(;R<14;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}if(l.nlen=257+(31&I),I>>>=5,R-=5,l.ndist=1+(31&I),I>>>=5,R-=5,l.ncode=4+(15&I),I>>>=4,R-=4,286<l.nlen||30<l.ndist){k.msg="too many length or distance symbols",l.mode=30;break}l.have=0,l.mode=18;case 18:for(;l.have<l.ncode;){for(;R<3;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}l.lens[M[l.have++]]=7&I,I>>>=3,R-=3}for(;l.have<19;)l.lens[M[l.have++]]=0;if(l.lencode=l.lendyn,l.lenbits=7,P={bits:l.lenbits},O=p(0,l.lens,0,19,l.lencode,0,l.work,P),l.lenbits=P.bits,O){k.msg="invalid code lengths set",l.mode=30;break}l.have=0,l.mode=19;case 19:for(;l.have<l.nlen+l.ndist;){for(;ot=(m=l.lencode[I&(1<<l.lenbits)-1])>>>16&255,ut=65535&m,!((it=m>>>24)<=R);){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}if(ut<16)I>>>=it,R-=it,l.lens[l.have++]=ut;else{if(ut===16){for(w=it+2;R<w;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}if(I>>>=it,R-=it,l.have===0){k.msg="invalid bit length repeat",l.mode=30;break}s=l.lens[l.have-1],V=3+(3&I),I>>>=2,R-=2}else if(ut===17){for(w=it+3;R<w;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}R-=it,s=0,V=3+(7&(I>>>=it)),I>>>=3,R-=3}else{for(w=it+7;R<w;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}R-=it,s=0,V=11+(127&(I>>>=it)),I>>>=7,R-=7}if(l.have+V>l.nlen+l.ndist){k.msg="invalid bit length repeat",l.mode=30;break}for(;V--;)l.lens[l.have++]=s}}if(l.mode===30)break;if(l.lens[256]===0){k.msg="invalid code -- missing end-of-block",l.mode=30;break}if(l.lenbits=9,P={bits:l.lenbits},O=p(f,l.lens,0,l.nlen,l.lencode,0,l.work,P),l.lenbits=P.bits,O){k.msg="invalid literal/lengths set",l.mode=30;break}if(l.distbits=6,l.distcode=l.distdyn,P={bits:l.distbits},O=p(_,l.lens,l.nlen,l.ndist,l.distcode,0,l.work,P),l.distbits=P.bits,O){k.msg="invalid distances set",l.mode=30;break}if(l.mode=20,N===6)break t;case 20:l.mode=21;case 21:if(6<=W&&258<=tt){k.next_out=rt,k.avail_out=tt,k.next_in=$,k.avail_in=W,l.hold=I,l.bits=R,c(k,Y),rt=k.next_out,et=k.output,tt=k.avail_out,$=k.next_in,L=k.input,W=k.avail_in,I=l.hold,R=l.bits,l.mode===12&&(l.back=-1);break}for(l.back=0;ot=(m=l.lencode[I&(1<<l.lenbits)-1])>>>16&255,ut=65535&m,!((it=m>>>24)<=R);){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}if(ot&&!(240&ot)){for(ht=it,_t=ot,yt=ut;ot=(m=l.lencode[yt+((I&(1<<ht+_t)-1)>>ht)])>>>16&255,ut=65535&m,!(ht+(it=m>>>24)<=R);){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}I>>>=ht,R-=ht,l.back+=ht}if(I>>>=it,R-=it,l.back+=it,l.length=ut,ot===0){l.mode=26;break}if(32&ot){l.back=-1,l.mode=12;break}if(64&ot){k.msg="invalid literal/length code",l.mode=30;break}l.extra=15&ot,l.mode=22;case 22:if(l.extra){for(w=l.extra;R<w;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}l.length+=I&(1<<l.extra)-1,I>>>=l.extra,R-=l.extra,l.back+=l.extra}l.was=l.length,l.mode=23;case 23:for(;ot=(m=l.distcode[I&(1<<l.distbits)-1])>>>16&255,ut=65535&m,!((it=m>>>24)<=R);){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}if(!(240&ot)){for(ht=it,_t=ot,yt=ut;ot=(m=l.distcode[yt+((I&(1<<ht+_t)-1)>>ht)])>>>16&255,ut=65535&m,!(ht+(it=m>>>24)<=R);){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}I>>>=ht,R-=ht,l.back+=ht}if(I>>>=it,R-=it,l.back+=it,64&ot){k.msg="invalid distance code",l.mode=30;break}l.offset=ut,l.extra=15&ot,l.mode=24;case 24:if(l.extra){for(w=l.extra;R<w;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}l.offset+=I&(1<<l.extra)-1,I>>>=l.extra,R-=l.extra,l.back+=l.extra}if(l.offset>l.dmax){k.msg="invalid distance too far back",l.mode=30;break}l.mode=25;case 25:if(tt===0)break t;if(V=Y-tt,l.offset>V){if((V=l.offset-V)>l.whave&&l.sane){k.msg="invalid distance too far back",l.mode=30;break}ct=V>l.wnext?(V-=l.wnext,l.wsize-V):l.wnext-V,V>l.length&&(V=l.length),pt=l.window}else pt=et,ct=rt-l.offset,V=l.length;for(tt<V&&(V=tt),tt-=V,l.length-=V;et[rt++]=pt[ct++],--V;);l.length===0&&(l.mode=21);break;case 26:if(tt===0)break t;et[rt++]=l.length,tt--,l.mode=21;break;case 27:if(l.wrap){for(;R<32;){if(W===0)break t;W--,I|=L[$++]<<R,R+=8}if(Y-=tt,k.total_out+=Y,l.total+=Y,Y&&(k.adler=l.check=l.flags?i(l.check,et,Y,rt-Y):o(l.check,et,Y,rt-Y)),Y=tt,(l.flags?I:u(I))!==l.check){k.msg="incorrect data check",l.mode=30;break}R=I=0}l.mode=28;case 28:if(l.wrap&&l.flags){for(;R<32;){if(W===0)break t;W--,I+=L[$++]<<R,R+=8}if(I!==(4294967295&l.total)){k.msg="incorrect length check",l.mode=30;break}R=I=0}l.mode=29;case 29:O=1;break t;case 30:O=-3;break t;case 31:return-4;case 32:default:return h}return k.next_out=rt,k.avail_out=tt,k.next_in=$,k.avail_in=W,l.hold=I,l.bits=R,(l.wsize||Y!==k.avail_out&&l.mode<30&&(l.mode<27||N!==4))&&Q(k,k.output,k.next_out,Y-k.avail_out)?(l.mode=31,-4):(J-=k.avail_in,Y-=k.avail_out,k.total_in+=J,k.total_out+=Y,l.total+=Y,l.wrap&&Y&&(k.adler=l.check=l.flags?i(l.check,et,Y,k.next_out-Y):o(l.check,et,Y,k.next_out-Y)),k.data_type=l.bits+(l.last?64:0)+(l.mode===12?128:0)+(l.mode===20||l.mode===15?256:0),(J==0&&Y===0||N===4)&&O===g&&(O=-5),O)},n.inflateEnd=function(k){if(!k||!k.state)return h;var N=k.state;return N.window&&(N.window=null),k.state=null,g},n.inflateGetHeader=function(k,N){var l;return k&&k.state&&2&(l=k.state).wrap?((l.head=N).done=!1,g):h},n.inflateSetDictionary=function(k,N){var l,L=N.length;return k&&k.state?(l=k.state).wrap!==0&&l.mode!==11?h:l.mode===11&&o(1,N,L,0)!==l.check?-3:Q(k,N,L,L)?(l.mode=31,-4):(l.havedict=1,g):h},n.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(t,r,n){var a=t("../utils/common"),o=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],i=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],c=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],p=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];r.exports=function(f,_,g,h,b,d,y,u){var v,C,A,T,D,B,j,z,Z,Q=u.bits,k=0,N=0,l=0,L=0,et=0,$=0,rt=0,W=0,tt=0,I=0,R=null,J=0,Y=new a.Buf16(16),V=new a.Buf16(16),ct=null,pt=0;for(k=0;k<=15;k++)Y[k]=0;for(N=0;N<h;N++)Y[_[g+N]]++;for(et=Q,L=15;1<=L&&Y[L]===0;L--);if(L<et&&(et=L),L===0)return b[d++]=20971520,b[d++]=20971520,u.bits=1,0;for(l=1;l<L&&Y[l]===0;l++);for(et<l&&(et=l),k=W=1;k<=15;k++)if(W<<=1,(W-=Y[k])<0)return-1;if(0<W&&(f===0||L!==1))return-1;for(V[1]=0,k=1;k<15;k++)V[k+1]=V[k]+Y[k];for(N=0;N<h;N++)_[g+N]!==0&&(y[V[_[g+N]]++]=N);if(B=f===0?(R=ct=y,19):f===1?(R=o,J-=257,ct=i,pt-=257,256):(R=c,ct=p,-1),k=l,D=d,rt=N=I=0,A=-1,T=(tt=1<<($=et))-1,f===1&&852<tt||f===2&&592<tt)return 1;for(;;){for(j=k-rt,Z=y[N]<B?(z=0,y[N]):y[N]>B?(z=ct[pt+y[N]],R[J+y[N]]):(z=96,0),v=1<<k-rt,l=C=1<<$;b[D+(I>>rt)+(C-=v)]=j<<24|z<<16|Z|0,C!==0;);for(v=1<<k-1;I&v;)v>>=1;if(v!==0?(I&=v-1,I+=v):I=0,N++,--Y[k]==0){if(k===L)break;k=_[g+y[N]]}if(et<k&&(I&T)!==A){for(rt===0&&(rt=et),D+=l,W=1<<($=k-rt);$+rt<L&&!((W-=Y[$+rt])<=0);)$++,W<<=1;if(tt+=1<<$,f===1&&852<tt||f===2&&592<tt)return 1;b[A=I&T]=et<<24|$<<16|D-d|0}}return I!==0&&(b[D+I]=k-rt<<24|64<<16|0),u.bits=et,0}},{"../utils/common":41}],51:[function(t,r,n){r.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(t,r,n){var a=t("../utils/common"),o=0,i=1;function c(m){for(var S=m.length;0<=--S;)m[S]=0}var p=0,f=29,_=256,g=_+1+f,h=30,b=19,d=2*g+1,y=15,u=16,v=7,C=256,A=16,T=17,D=18,B=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],j=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],z=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Q=new Array(2*(g+2));c(Q);var k=new Array(2*h);c(k);var N=new Array(512);c(N);var l=new Array(256);c(l);var L=new Array(f);c(L);var et,$,rt,W=new Array(h);function tt(m,S,M,U,F){this.static_tree=m,this.extra_bits=S,this.extra_base=M,this.elems=U,this.max_length=F,this.has_stree=m&&m.length}function I(m,S){this.dyn_tree=m,this.max_code=0,this.stat_desc=S}function R(m){return m<256?N[m]:N[256+(m>>>7)]}function J(m,S){m.pending_buf[m.pending++]=255&S,m.pending_buf[m.pending++]=S>>>8&255}function Y(m,S,M){m.bi_valid>u-M?(m.bi_buf|=S<<m.bi_valid&65535,J(m,m.bi_buf),m.bi_buf=S>>u-m.bi_valid,m.bi_valid+=M-u):(m.bi_buf|=S<<m.bi_valid&65535,m.bi_valid+=M)}function V(m,S,M){Y(m,M[2*S],M[2*S+1])}function ct(m,S){for(var M=0;M|=1&m,m>>>=1,M<<=1,0<--S;);return M>>>1}function pt(m,S,M){var U,F,H=new Array(y+1),K=0;for(U=1;U<=y;U++)H[U]=K=K+M[U-1]<<1;for(F=0;F<=S;F++){var G=m[2*F+1];G!==0&&(m[2*F]=ct(H[G]++,G))}}function it(m){var S;for(S=0;S<g;S++)m.dyn_ltree[2*S]=0;for(S=0;S<h;S++)m.dyn_dtree[2*S]=0;for(S=0;S<b;S++)m.bl_tree[2*S]=0;m.dyn_ltree[2*C]=1,m.opt_len=m.static_len=0,m.last_lit=m.matches=0}function ot(m){8<m.bi_valid?J(m,m.bi_buf):0<m.bi_valid&&(m.pending_buf[m.pending++]=m.bi_buf),m.bi_buf=0,m.bi_valid=0}function ut(m,S,M,U){var F=2*S,H=2*M;return m[F]<m[H]||m[F]===m[H]&&U[S]<=U[M]}function ht(m,S,M){for(var U=m.heap[M],F=M<<1;F<=m.heap_len&&(F<m.heap_len&&ut(S,m.heap[F+1],m.heap[F],m.depth)&&F++,!ut(S,U,m.heap[F],m.depth));)m.heap[M]=m.heap[F],M=F,F<<=1;m.heap[M]=U}function _t(m,S,M){var U,F,H,K,G=0;if(m.last_lit!==0)for(;U=m.pending_buf[m.d_buf+2*G]<<8|m.pending_buf[m.d_buf+2*G+1],F=m.pending_buf[m.l_buf+G],G++,U===0?V(m,F,S):(V(m,(H=l[F])+_+1,S),(K=B[H])!==0&&Y(m,F-=L[H],K),V(m,H=R(--U),M),(K=j[H])!==0&&Y(m,U-=W[H],K)),G<m.last_lit;);V(m,C,S)}function yt(m,S){var M,U,F,H=S.dyn_tree,K=S.stat_desc.static_tree,G=S.stat_desc.has_stree,q=S.stat_desc.elems,lt=-1;for(m.heap_len=0,m.heap_max=d,M=0;M<q;M++)H[2*M]!==0?(m.heap[++m.heap_len]=lt=M,m.depth[M]=0):H[2*M+1]=0;for(;m.heap_len<2;)H[2*(F=m.heap[++m.heap_len]=lt<2?++lt:0)]=1,m.depth[F]=0,m.opt_len--,G&&(m.static_len-=K[2*F+1]);for(S.max_code=lt,M=m.heap_len>>1;1<=M;M--)ht(m,H,M);for(F=q;M=m.heap[1],m.heap[1]=m.heap[m.heap_len--],ht(m,H,1),U=m.heap[1],m.heap[--m.heap_max]=M,m.heap[--m.heap_max]=U,H[2*F]=H[2*M]+H[2*U],m.depth[F]=(m.depth[M]>=m.depth[U]?m.depth[M]:m.depth[U])+1,H[2*M+1]=H[2*U+1]=F,m.heap[1]=F++,ht(m,H,1),2<=m.heap_len;);m.heap[--m.heap_max]=m.heap[1],function(st,gt){var Ct,wt,xt,dt,Rt,Nt,vt=gt.dyn_tree,Qt=gt.max_code,Oe=gt.stat_desc.static_tree,De=gt.stat_desc.has_stree,Le=gt.stat_desc.extra_bits,te=gt.stat_desc.extra_base,St=gt.stat_desc.max_length,It=0;for(dt=0;dt<=y;dt++)st.bl_count[dt]=0;for(vt[2*st.heap[st.heap_max]+1]=0,Ct=st.heap_max+1;Ct<d;Ct++)St<(dt=vt[2*vt[2*(wt=st.heap[Ct])+1]+1]+1)&&(dt=St,It++),vt[2*wt+1]=dt,Qt<wt||(st.bl_count[dt]++,Rt=0,te<=wt&&(Rt=Le[wt-te]),Nt=vt[2*wt],st.opt_len+=Nt*(dt+Rt),De&&(st.static_len+=Nt*(Oe[2*wt+1]+Rt)));if(It!==0){do{for(dt=St-1;st.bl_count[dt]===0;)dt--;st.bl_count[dt]--,st.bl_count[dt+1]+=2,st.bl_count[St]--,It-=2}while(0<It);for(dt=St;dt!==0;dt--)for(wt=st.bl_count[dt];wt!==0;)Qt<(xt=st.heap[--Ct])||(vt[2*xt+1]!==dt&&(st.opt_len+=(dt-vt[2*xt+1])*vt[2*xt],vt[2*xt+1]=dt),wt--)}}(m,S),pt(H,lt,m.bl_count)}function s(m,S,M){var U,F,H=-1,K=S[1],G=0,q=7,lt=4;for(K===0&&(q=138,lt=3),S[2*(M+1)+1]=65535,U=0;U<=M;U++)F=K,K=S[2*(U+1)+1],++G<q&&F===K||(G<lt?m.bl_tree[2*F]+=G:F!==0?(F!==H&&m.bl_tree[2*F]++,m.bl_tree[2*A]++):G<=10?m.bl_tree[2*T]++:m.bl_tree[2*D]++,H=F,lt=(G=0)===K?(q=138,3):F===K?(q=6,3):(q=7,4))}function O(m,S,M){var U,F,H=-1,K=S[1],G=0,q=7,lt=4;for(K===0&&(q=138,lt=3),U=0;U<=M;U++)if(F=K,K=S[2*(U+1)+1],!(++G<q&&F===K)){if(G<lt)for(;V(m,F,m.bl_tree),--G!=0;);else F!==0?(F!==H&&(V(m,F,m.bl_tree),G--),V(m,A,m.bl_tree),Y(m,G-3,2)):G<=10?(V(m,T,m.bl_tree),Y(m,G-3,3)):(V(m,D,m.bl_tree),Y(m,G-11,7));H=F,lt=(G=0)===K?(q=138,3):F===K?(q=6,3):(q=7,4)}}c(W);var P=!1;function w(m,S,M,U){Y(m,(p<<1)+(U?1:0),3),function(F,H,K,G){ot(F),J(F,K),J(F,~K),a.arraySet(F.pending_buf,F.window,H,K,F.pending),F.pending+=K}(m,S,M)}n._tr_init=function(m){P||(function(){var S,M,U,F,H,K=new Array(y+1);for(F=U=0;F<f-1;F++)for(L[F]=U,S=0;S<1<<B[F];S++)l[U++]=F;for(l[U-1]=F,F=H=0;F<16;F++)for(W[F]=H,S=0;S<1<<j[F];S++)N[H++]=F;for(H>>=7;F<h;F++)for(W[F]=H<<7,S=0;S<1<<j[F]-7;S++)N[256+H++]=F;for(M=0;M<=y;M++)K[M]=0;for(S=0;S<=143;)Q[2*S+1]=8,S++,K[8]++;for(;S<=255;)Q[2*S+1]=9,S++,K[9]++;for(;S<=279;)Q[2*S+1]=7,S++,K[7]++;for(;S<=287;)Q[2*S+1]=8,S++,K[8]++;for(pt(Q,g+1,K),S=0;S<h;S++)k[2*S+1]=5,k[2*S]=ct(S,5);et=new tt(Q,B,_+1,g,y),$=new tt(k,j,0,h,y),rt=new tt(new Array(0),z,0,b,v)}(),P=!0),m.l_desc=new I(m.dyn_ltree,et),m.d_desc=new I(m.dyn_dtree,$),m.bl_desc=new I(m.bl_tree,rt),m.bi_buf=0,m.bi_valid=0,it(m)},n._tr_stored_block=w,n._tr_flush_block=function(m,S,M,U){var F,H,K=0;0<m.level?(m.strm.data_type===2&&(m.strm.data_type=function(G){var q,lt=4093624447;for(q=0;q<=31;q++,lt>>>=1)if(1<&&G.dyn_ltree[2*q]!==0)return o;if(G.dyn_ltree[18]!==0||G.dyn_ltree[20]!==0||G.dyn_ltree[26]!==0)return i;for(q=32;q<_;q++)if(G.dyn_ltree[2*q]!==0)return i;return o}(m)),yt(m,m.l_desc),yt(m,m.d_desc),K=function(G){var q;for(s(G,G.dyn_ltree,G.l_desc.max_code),s(G,G.dyn_dtree,G.d_desc.max_code),yt(G,G.bl_desc),q=b-1;3<=q&&G.bl_tree[2*Z[q]+1]===0;q--);return G.opt_len+=3*(q+1)+5+5+4,q}(m),F=m.opt_len+3+7>>>3,(H=m.static_len+3+7>>>3)<=F&&(F=H)):F=H=M+5,M+4<=F&&S!==-1?w(m,S,M,U):m.strategy===4||H===F?(Y(m,2+(U?1:0),3),_t(m,Q,k)):(Y(m,4+(U?1:0),3),function(G,q,lt,st){var gt;for(Y(G,q-257,5),Y(G,lt-1,5),Y(G,st-4,4),gt=0;gt<st;gt++)Y(G,G.bl_tree[2*Z[gt]+1],3);O(G,G.dyn_ltree,q-1),O(G,G.dyn_dtree,lt-1)}(m,m.l_desc.max_code+1,m.d_desc.max_code+1,K+1),_t(m,m.dyn_ltree,m.dyn_dtree)),it(m),U&&ot(m)},n._tr_tally=function(m,S,M){return m.pending_buf[m.d_buf+2*m.last_lit]=S>>>8&255,m.pending_buf[m.d_buf+2*m.last_lit+1]=255&S,m.pending_buf[m.l_buf+m.last_lit]=255&M,m.last_lit++,S===0?m.dyn_ltree[2*M]++:(m.matches++,S--,m.dyn_ltree[2*(l[M]+_+1)]++,m.dyn_dtree[2*R(S)]++),m.last_lit===m.lit_bufsize-1},n._tr_align=function(m){Y(m,2,3),V(m,C,Q),function(S){S.bi_valid===16?(J(S,S.bi_buf),S.bi_buf=0,S.bi_valid=0):8<=S.bi_valid&&(S.pending_buf[S.pending++]=255&S.bi_buf,S.bi_buf>>=8,S.bi_valid-=8)}(m)}},{"../utils/common":41}],53:[function(t,r,n){r.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,r,n){(function(a){(function(o,i){if(!o.setImmediate){var c,p,f,_,g=1,h={},b=!1,d=o.document,y=Object.getPrototypeOf&&Object.getPrototypeOf(o);y=y&&y.setTimeout?y:o,c={}.toString.call(o.process)==="[object process]"?function(A){process.nextTick(function(){v(A)})}:function(){if(o.postMessage&&!o.importScripts){var A=!0,T=o.onmessage;return o.onmessage=function(){A=!1},o.postMessage("","*"),o.onmessage=T,A}}()?(_="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",C,!1):o.attachEvent("onmessage",C),function(A){o.postMessage(_+A,"*")}):o.MessageChannel?((f=new MessageChannel).port1.onmessage=function(A){v(A.data)},function(A){f.port2.postMessage(A)}):d&&"onreadystatechange"in d.createElement("script")?(p=d.documentElement,function(A){var T=d.createElement("script");T.onreadystatechange=function(){v(A),T.onreadystatechange=null,p.removeChild(T),T=null},p.appendChild(T)}):function(A){setTimeout(v,0,A)},y.setImmediate=function(A){typeof A!="function"&&(A=new Function(""+A));for(var T=new Array(arguments.length-1),D=0;D<T.length;D++)T[D]=arguments[D+1];var B={callback:A,args:T};return h[g]=B,c(g),g++},y.clearImmediate=u}function u(A){delete h[A]}function v(A){if(b)setTimeout(v,0,A);else{var T=h[A];if(T){b=!0;try{(function(D){var B=D.callback,j=D.args;switch(j.length){case 0:B();break;case 1:B(j[0]);break;case 2:B(j[0],j[1]);break;case 3:B(j[0],j[1],j[2]);break;default:B.apply(i,j)}})(T)}finally{u(A),b=!1}}}}function C(A){A.source===o&&typeof A.data=="string"&&A.data.indexOf(_)===0&&v(+A.data.slice(_.length))}})(typeof self>"u"?a===void 0?this:a:self)}).call(this,typeof ft<"u"?ft:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(Ot);var ee=Ot.exports;const re=kt(ee);var X=(x=>(x.Document="document",x.Paragraph="paragraph",x.Run="run",x.Text="text",x.Break="break",x.Table="table",x.TableRow="tableRow",x.TableCell="tableCell",x.Hyperlink="hyperlink",x.Drawing="drawing",x.Image="image",x.BookmarkStart="bookmarkStart",x.BookmarkEnd="bookmarkEnd",x.Comment="comment",x.CommentRangeStart="commentRangeStart",x.CommentRangeEnd="commentRangeEnd",x.CommentReference="commentReference",x.Section="section",x.Header="header",x.Footer="footer",x.Tab="tab",x.Symbol="symbol",x.SimpleField="simpleField",x.ComplexField="complexField",x.FieldInstruction="fieldInstruction",x.Footnote="footnote",x.Endnote="endnote",x.FootnoteReference="footnoteReference",x.EndnoteReference="endnoteReference",x))(X||{});const Dt={W:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",W14:"http://schemas.microsoft.com/office/word/2010/wordml",W15:"http://schemas.microsoft.com/office/word/2012/wordml",R:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",A:"http://schemas.openxmlformats.org/drawingml/2006/main",WP:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",PIC:"http://schemas.openxmlformats.org/drawingml/2006/picture"},mt={DOCUMENT:"word/document.xml",COMMENTS:"word/comments.xml",COMMENTS_EXTENDED:"word/commentsExtended.xml",STYLES:"word/styles.xml",NUMBERING:"word/numbering.xml",THEME:"word/theme/theme1.xml",FOOTNOTES:"word/footnotes.xml",ENDNOTES:"word/endnotes.xml",FONT_TABLE:"word/fontTable.xml",FONT_TABLE_RELS:"word/_rels/fontTable.xml.rels",RELS:"word/_rels/document.xml.rels",CONTENT_TYPES:"[Content_Types].xml",HEADER_PREFIX:"word/header",FOOTER_PREFIX:"word/footer"},At={IMAGE:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",HEADER:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",FOOTER:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",FONT:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/font"};class ne{elements(e,t){const r=[];for(let n=0;n<e.childNodes.length;n++){const a=e.childNodes[n];a.nodeType===Node.ELEMENT_NODE&&(!t||a.localName===t)&&r.push(a)}return r}element(e,t){for(let r=0;r<e.childNodes.length;r++){const n=e.childNodes[r];if(n.nodeType===Node.ELEMENT_NODE&&n.localName===t)return n}return null}attr(e,t){if(!e)return;for(const n of Object.values(Dt)){const a=e.getAttributeNS(n,t);if(a)return a}const r=e.getAttribute(`w:${t}`);return r||e.getAttribute(t)||void 0}boolAttr(e,t,r=!1){if(!e)return r;const n=this.attr(e,t);return n===void 0?r:n==="1"||n==="true"||n==="on"}intAttr(e,t){if(!e)return;const r=this.attr(e,t);if(r)return parseInt(r,10)}lengthAttr(e,t,r=Et.Dxa){if(!e)return;const n=this.attr(e,t);return this.convertLength(n,r)}convertLength(e,t=Et.Dxa){return e?/[a-z%]+$/i.test(e)?e:`${(parseFloat(e)*t.mul).toFixed(2)}${t.unit}`:void 0}textContent(e){return e&&e.textContent||""}}const Et={Dxa:{mul:.05,unit:"pt"},Emu:{mul:1/12700,unit:"pt"},FontSize:{mul:.5,unit:"pt"},Border:{mul:.125,unit:"pt"}};function bt(x){x.charCodeAt(0)===65279&&(x=x.substring(1)),x=x.replace(/<\?xml[^?]*\?>/g,"");const t=new DOMParser().parseFromString(x,"application/xml"),r=t.getElementsByTagName("parsererror")[0];if(r)throw new Error(`XML 解析错误: ${r.textContent}`);return t}const E=new ne;function Lt(x){const e={colorScheme:{name:"",colors:{}},fontScheme:{name:"",majorFont:{},minorFont:{}}},t=Pt(x,"themeElements");if(!t)return e;for(const r of Ft(t)){const n=r.localName;n==="clrScheme"?e.colorScheme=ie(r):n==="fontScheme"&&(e.fontScheme=ae(r))}return e}function ie(x){const e={name:x.getAttribute("name")||"",colors:{}};for(const t of Ft(x)){const r=t.localName,n=se(t);n&&(e.colors[r]=n)}return e}function se(x){const e=Pt(x,"srgbClr");if(e){const r=e.getAttribute("val");return r?`#${r}`:null}const t=Pt(x,"sysClr");if(t){const r=t.getAttribute("lastClr");return r?`#${r}`:null}return null}function ae(x){const e={name:x.getAttribute("name")||"",majorFont:{},minorFont:{}};for(const t of Ft(x)){const r=t.localName;r==="majorFont"?e.majorFont=Mt(t):r==="minorFont"&&(e.minorFont=Mt(t))}return e}function Mt(x){const e={};for(const t of Ft(x)){const r=t.localName,n=t.getAttribute("typeface");n&&(r==="latin"?e.latin=n:r==="ea"?e.ea=n:r==="cs"&&(e.cs=n))}return e}function Pt(x,e){for(let t=0;t<x.childNodes.length;t++){const r=x.childNodes[t];if(r.nodeType===Node.ELEMENT_NODE){const n=r;if(n.localName===e)return n}}return null}function Ft(x){const e=[];for(let t=0;t<x.childNodes.length;t++){const r=x.childNodes[t];r.nodeType===Node.ELEMENT_NODE&&e.push(r)}return e}const oe={dark1:"dk1",dark2:"dk2",light1:"lt1",light2:"lt2",accent1:"accent1",accent2:"accent2",accent3:"accent3",accent4:"accent4",accent5:"accent5",accent6:"accent6",hyperlink:"hlink",followedHyperlink:"folHlink",dk1:"dk1",dk2:"dk2",lt1:"lt1",lt2:"lt2",hlink:"hlink",folHlink:"folHlink",text1:"dk1",text2:"dk2",background1:"lt1",background2:"lt2"};function Ut(x,e){var a;if(!((a=x==null?void 0:x.colorScheme)!=null&&a.colors))return;const t=e.themeColor,r=oe[t]||t,n=x.colorScheme.colors[r];if(n)return e.themeTint!==void 0||e.themeShade!==void 0?$t(n,e.themeTint,e.themeShade):n}function $t(x,e,t){const r=x.replace("#",""),n=parseInt(r.substr(0,2),16),a=parseInt(r.substr(2,2),16),o=parseInt(r.substr(4,2),16);let i=n,c=a,p=o;if(e!==void 0&&e>0){const f=e/255;i=Math.round(n+(255-n)*f),c=Math.round(a+(255-a)*f),p=Math.round(o+(255-o)*f)}if(t!==void 0&&t>0){const f=1-t/255;i=Math.round(i*f),c=Math.round(c*f),p=Math.round(p*f)}return i=Math.max(0,Math.min(255,i)),c=Math.max(0,Math.min(255,c)),p=Math.max(0,Math.min(255,p)),`#${zt(i)}${zt(c)}${zt(p)}`}function zt(x){const e=x.toString(16);return e.length===1?"0"+e:e}function le(x,e,t="latin"){return x!=null&&x.fontScheme?(e==="major"?x.fontScheme.majorFont:x.fontScheme.minorFont)[t]:void 0}const ce={embedRegular:"regular",embedBold:"bold",embedItalic:"italic",embedBoldItalic:"boldItalic"};function jt(x){const t=bt(x).documentElement,r=he(t),n=new Map(r.map(o=>[o.name,o])),a=pe(r);return{fonts:r,fontMap:n,substitutionMap:a}}function he(x){return E.elements(x,"font").map(e=>de(e))}function de(x){const e={name:E.attr(x,"name")||"",embedFontRefs:[]};for(const t of E.elements(x))switch(t.localName){case"family":e.family=E.attr(t,"val");break;case"altName":e.altName=E.attr(t,"val");break;case"charset":e.charset=E.attr(t,"val");break;case"panose1":e.panose1=E.attr(t,"val");break;case"sig":e.sig=ue(t);break;case"embedRegular":case"embedBold":case"embedItalic":case"embedBoldItalic":const r=fe(t);r&&e.embedFontRefs.push(r);break}return e}function ue(x){return{usb0:E.attr(x,"usb0"),usb1:E.attr(x,"usb1"),usb2:E.attr(x,"usb2"),usb3:E.attr(x,"usb3"),csb0:E.attr(x,"csb0"),csb1:E.attr(x,"csb1")}}function fe(x){const e=E.attr(x,"id");if(!e)return null;const t=ce[x.localName];return t?{id:e,key:E.attr(x,"fontKey"),subsetted:E.boolAttr(x,"subsetted"),type:t}:null}function pe(x){const e=new Map;for(const t of x)t.altName&&e.set(t.name,t.altName);return e}function me(x,e){return x.substitutionMap.get(e)||e}function ge(x,e){return x.fontMap.get(e)}function be(x,e){const t=x.fontMap.get(e);return t?t.embedFontRefs.length>0:!1}function ye(x,e,t){const r=x.fontMap.get(e);return r?t?r.embedFontRefs.filter(n=>n.type===t):r.embedFontRefs:[]}function _e(x,e){const t=[],r=x.fontMap.get(e);if(t.push(Wt(e)),r!=null&&r.altName&&t.push(Wt(r.altName)),r!=null&&r.family){const n=we(r.family);n&&t.push(n)}return t.join(", ")}function Wt(x){return/[\s,'"()]/.test(x)?`"${x.replace(/"/g,'\\"')}"`:x}function we(x){switch(x.toLowerCase()){case"roman":return"serif";case"swiss":return"sans-serif";case"modern":return"monospace";case"script":return"cursive";case"decorative":return"fantasy";default:return null}}const Ht={injectStyles:!0,timeout:1e4};async function Zt(x,e,t,r={}){const n={...Ht,...r},a=[];for(const o of e.fonts)if(o.embedFontRefs.length!==0)for(const i of o.embedFontRefs)try{const c=await ve(x,o,i,t,n.timeout||Ht.timeout);c&&a.push(c)}catch(c){console.warn(`加载嵌入字体失败: ${o.name} (${i.type})`,c)}return n.injectStyles&&a.length>0&&Se(a,n.styleContainer),a}async function ve(x,e,t,r,n){const a=r.find(b=>b.id===t.id);if(!a)return console.warn(`找不到嵌入字体关系: ${t.id}`),null;const o=`word/${a.target}`,i=x.file(o);if(!i)return console.warn(`找不到嵌入字体文件: ${o}`),null;const c=await Promise.race([i.async("arraybuffer"),new Promise((b,d)=>setTimeout(()=>d(new Error("字体加载超时")),n))]);let p=c;t.key&&(p=ke(c,t.key));const f=Ee(new Uint8Array(p)),_=Ce(f),g=new Blob([p],{type:_}),h=await xe(g);return{fontName:e.name,type:t.type,dataUrl:h,format:f}}function ke(x,e){const t=e.replace(/[{}-]/g,"");if(t.length!==32)return console.warn("无效的字体密钥格式:",e),x;const r=new Uint8Array(16);for(let i=0;i<4;i++)r[3-i]=parseInt(t.substr(i*2,2),16);for(let i=0;i<2;i++)r[5-i]=parseInt(t.substr(8+i*2,2),16);for(let i=0;i<2;i++)r[7-i]=parseInt(t.substr(12+i*2,2),16);for(let i=0;i<8;i++)r[8+i]=parseInt(t.substr(16+i*2,2),16);const n=new Uint8Array(x),a=new Uint8Array(n.length),o=Math.min(32,n.length);for(let i=0;i<o;i++)a[i]=n[i]^r[i%16];for(let i=o;i<n.length;i++)a[i]=n[i];return a.buffer}function Ee(x){return x.length<4?"truetype":x[0]===79&&x[1]===84&&x[2]===84&&x[3]===79?"opentype":x[0]===0&&x[1]===1&&x[2]===0&&x[3]===0||x[0]===116&&x[1]===114&&x[2]===117&&x[3]===101?"truetype":x[0]===0&&x[1]===0&&x[2]===1?"embedded-opentype":"truetype"}function Ce(x){switch(x){case"opentype":return"font/otf";case"truetype":return"font/ttf";case"embedded-opentype":return"application/vnd.ms-fontobject";default:return"font/ttf"}}function xe(x){return new Promise((e,t)=>{const r=new FileReader;r.onloadend=()=>e(r.result),r.onerror=t,r.readAsDataURL(x)})}function Se(x,e){const t=document.createElement("style");t.setAttribute("data-docx-fonts","true");const r=x.map(o=>Te(o)).join(`
|
|
13
|
+
`);t.textContent=r;const n=e||document.head,a=n.querySelector("style[data-docx-fonts]");a&&a.remove(),n.appendChild(t)}function Te(x){const e=Ae(x.type),t=Fe(x.type),r=Re(x.format);return`@font-face {
|
|
14
|
+
font-family: "${Ie(x.fontName)}";
|
|
15
|
+
src: url("${x.dataUrl}") format("${r}");
|
|
5
16
|
font-weight: ${e};
|
|
6
17
|
font-style: ${t};
|
|
7
18
|
font-display: swap;
|
|
8
|
-
}`}function xe(i){switch(i){case"bold":case"boldItalic":return"700";default:return"400"}}function Se(i){switch(i){case"italic":case"boldItalic":return"italic";default:return"normal"}}function Te(i){switch(i){case"opentype":return"opentype";case"truetype":return"truetype";case"embedded-opentype":return"embedded-opentype";default:return"truetype"}}function ve(i){return i.replace(/"/g,'\\"')}function Pe(i){const t=(i||document.head).querySelector("style[data-docx-fonts]");t&&t.remove()}function Fe(i){const n=new DOMParser().parseFromString(i,"application/xml").documentElement,r=[],o=n.getElementsByTagName("Relationship");for(let a=0;a<o.length;a++){const c=o[a],l=c.getAttribute("Type")||"";l===N.FONT&&r.push({id:c.getAttribute("Id")||"",type:l,target:c.getAttribute("Target")||"",targetMode:c.getAttribute("TargetMode")||void 0})}return r}const _="http://schemas.microsoft.com/office/word/2012/wordml";function V(i){const e=new Map;if(!i)return e;try{const n=x(i).documentElement,r=n.getElementsByTagNameNS(_,"commentEx"),o=r.length>0?Array.from(r):Array.from(n.getElementsByTagName("commentEx"));for(const a of o){const c=I(a,"paraId");if(!c)continue;const l={paraId:c,paraIdParent:I(a,"paraIdParent"),done:Re(a,"done")};e.set(c,l)}console.log("[DEBUG] parseCommentsExtended: found",e.size,"extended comments")}catch(t){console.warn("解析 commentsExtended.xml 失败:",t)}return e}function W(i,e){const t=new Map;for(const r of i)r.paraId&&t.set(r.paraId,r);for(const r of i)r.replies=[];for(const[r,o]of e){const a=t.get(r);if(a&&(a.done=o.done,o.paraIdParent)){const c=t.get(o.paraIdParent);c&&(a.parentId=c.id,c.replies.push(a))}}const n=i.filter(r=>!r.parentId);return n.sort((r,o)=>{const a=new Date(r.date).getTime(),c=new Date(o.date).getTime();return a-c}),X(n),console.log("[DEBUG] buildCommentTree: root comments:",n.length,"total comments:",i.length),n}function X(i){for(const e of i)e.replies&&e.replies.length>0&&(e.replies.sort((t,n)=>{const r=new Date(t.date).getTime(),o=new Date(n.date).getTime();return r-o}),X(e.replies))}function I(i,e){let t=i.getAttributeNS(_,e);return t||(t=i.getAttribute(e),t)?t:(t=i.getAttribute(`w15:${e}`),t||void 0)}function Re(i,e){const t=I(i,e);return t?t==="1"||t==="true":!1}class q{constructor(){g(this,"zip",null);g(this,"relationships",[]);g(this,"images",new Map);g(this,"theme");g(this,"fontTable");g(this,"embeddedFonts",[]);g(this,"bookmarks",new Map)}async parse(e){const t=e instanceof ArrayBuffer?e:await e.arrayBuffer();this.zip=await C.loadAsync(t),this.bookmarks=new Map,await this.parseRelationships(),await this.loadImages();const n=await this.parseStyles(),r=new Map(n.map(S=>[S.id,S])),o=await this.parseComments(),a=new Map(o.map(S=>[S.id,S])),c=await this.parseCommentsExtended(),l=W(o,c),{numberings:m,abstractNumberings:d,numberingMap:p}=await this.parseNumberings();this.theme=await this.parseTheme();const u=await this.parseHeadersFooters("header"),f=await this.parseHeadersFooters("footer"),y=await this.parseFootnotes(),E=await this.parseEndnotes();return this.fontTable=await this.parseFontTable(),this.embeddedFonts=await this.loadEmbeddedFonts(),{body:await this.parseDocument(),comments:o,commentMap:a,rootComments:l,commentsExtendedMap:c,styles:n,styleMap:r,numberings:m,numberingMap:p,abstractNumberings:d,images:this.images,relationships:this.relationships,headers:u,footers:f,theme:this.theme,footnotes:y,endnotes:E,fontTable:this.fontTable,embeddedFonts:this.embeddedFonts,bookmarks:this.bookmarks}}getZip(){return this.zip}async parseRelationships(){var r,o;const e=await((o=(r=this.zip)==null?void 0:r.file(k.RELS))==null?void 0:o.async("string"));if(!e)return;const n=x(e).documentElement;this.relationships=s.elements(n,"Relationship").map(a=>({id:s.attr(a,"Id")||"",type:s.attr(a,"Type")||"",target:s.attr(a,"Target")||"",targetMode:s.attr(a,"TargetMode")}))}async loadImages(){var e;for(const t of this.relationships)if(t.type===N.IMAGE){const n=`word/${t.target}`,r=(e=this.zip)==null?void 0:e.file(n);if(r){const o=await r.async("blob"),a=await this.blobToBase64(o);this.images.set(t.id,a)}}}blobToBase64(e){return new Promise((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})}async parseStyles(){var o,a;const e=await((a=(o=this.zip)==null?void 0:o.file(k.STYLES))==null?void 0:a.async("string"));if(!e)return[];const t=x(e),n=[],r=t.getElementsByTagNameNS("http://schemas.openxmlformats.org/wordprocessingml/2006/main","style");for(let c=0;c<r.length;c++){const l=r[c],m=s.element(l,"name"),d=s.element(l,"basedOn"),p={id:s.attr(l,"styleId")||"",name:m?s.attr(m,"val"):void 0,type:s.attr(l,"type")||"paragraph",basedOn:d?s.attr(d,"val"):void 0},u=s.element(l,"pPr");u&&(p.paragraphProps=this.parseParagraphProperties(u));const f=s.element(l,"rPr");f&&(p.runProps=this.parseRunProperties(f)),n.push(p)}return n}async parseTheme(){var t,n;const e=await((n=(t=this.zip)==null?void 0:t.file(k.THEME))==null?void 0:n.async("string"));if(e)try{const r=x(e);return L(r.documentElement)}catch(r){console.warn("主题解析失败:",r);return}}async parseFontTable(){var t,n;const e=await((n=(t=this.zip)==null?void 0:t.file(k.FONT_TABLE))==null?void 0:n.async("string"));if(e)try{return O(e)}catch(r){console.warn("字体表解析失败:",r);return}}async loadEmbeddedFonts(){var t;if(!this.fontTable||!this.zip)return[];if(!this.fontTable.fonts.some(n=>n.embedFontRefs.length>0))return[];try{const n=await((t=this.zip.file(k.FONT_TABLE_RELS))==null?void 0:t.async("string"));if(!n)return console.warn("找不到字体表关系文件"),[];const r=Fe(n);return await U(this.zip,this.fontTable,r,{injectStyles:!0})}catch(n){return console.warn("嵌入字体加载失败:",n),[]}}async parseFootnotes(){var t,n;const e=await((n=(t=this.zip)==null?void 0:t.file(k.FOOTNOTES))==null?void 0:n.async("string"));if(!e)return new Map;try{const r=x(e);return this.parseNotes(r.documentElement,"footnote",h.Footnote)}catch(r){return console.warn("脚注解析失败:",r),new Map}}async parseEndnotes(){var t,n;const e=await((n=(t=this.zip)==null?void 0:t.file(k.ENDNOTES))==null?void 0:n.async("string"));if(!e)return new Map;try{const r=x(e);return this.parseNotes(r.documentElement,"endnote",h.Endnote)}catch(r){return console.warn("尾注解析失败:",r),new Map}}parseNotes(e,t,n){const r=new Map,o=e.getElementsByTagNameNS("http://schemas.openxmlformats.org/wordprocessingml/2006/main",t);for(let a=0;a<o.length;a++){const c=o[a],l=s.attr(c,"id")||"",m=s.attr(c,"type");if(m==="separator"||m==="continuationSeparator")continue;const d={type:n,id:l,noteType:m,children:this.parseChildren(c)};r.set(l,d)}return r}async parseNumberings(){var l,m;const e=await((m=(l=this.zip)==null?void 0:l.file(k.NUMBERING))==null?void 0:m.async("string"));if(!e)return{numberings:[],abstractNumberings:[],numberingMap:new Map};const n=x(e).documentElement,r=[],o=new Map;for(const d of s.elements(n))switch(d.localName){case"abstractNum":r.push(this.parseAbstractNumbering(d));break;case"num":const p=s.attr(d,"numId")||"",u=s.element(d,"abstractNumId");if(u){const f=s.attr(u,"val")||"";o.set(p,f)}break}const a=[],c=new Map;for(const[d,p]of o){const u=r.find(f=>f.id===p);if(u){const f={id:d,abstractNumId:p,levels:u.levels.map(y=>({...y}))};a.push(f),c.set(d,f)}}return{numberings:a,abstractNumberings:r,numberingMap:c}}parseAbstractNumbering(e){const t={id:s.attr(e,"abstractNumId")||"",levels:[]};for(const n of s.elements(e))switch(n.localName){case"name":t.name=s.attr(n,"val");break;case"multiLevelType":t.multiLevelType=s.attr(n,"val");break;case"numStyleLink":t.numberingStyleLink=s.attr(n,"val");break;case"styleLink":t.styleLink=s.attr(n,"val");break;case"lvl":t.levels.push(this.parseNumberingLevel(n));break}return t}parseNumberingLevel(e){const t={level:s.intAttr(e,"ilvl")??0,format:"decimal",text:"",start:1,suffix:"tab"};for(const n of s.elements(e))switch(n.localName){case"start":t.start=s.intAttr(n,"val")??1;break;case"numFmt":t.format=s.attr(n,"val")||"decimal";break;case"lvlText":t.text=s.attr(n,"val")||"";break;case"suff":t.suffix=s.attr(n,"val")||"tab";break;case"pStyle":t.pStyleName=s.attr(n,"val");break;case"pPr":t.paragraphProps=this.parseParagraphProperties(n);break;case"rPr":t.runProps=this.parseRunProperties(n);break}return t}async parseComments(){var a,c,l;const e=await((c=(a=this.zip)==null?void 0:a.file(k.COMMENTS))==null?void 0:c.async("string"));if(!e)return[];const t=x(e),n=[],r=t.getElementsByTagNameNS("http://schemas.openxmlformats.org/wordprocessingml/2006/main","comment"),o="http://schemas.microsoft.com/office/word/2010/wordml";for(let m=0;m<r.length;m++){const d=r[m],p=((l=d.textContent)==null?void 0:l.trim())||"";let u=d.getAttributeNS(o,"paraId");u||(u=d.getAttribute("w14:paraId")||null);const f={type:h.Comment,id:s.attr(d,"id")||"",author:s.attr(d,"author")||"未知",date:s.attr(d,"date")||new Date().toISOString(),initials:s.attr(d,"initials"),children:this.parseChildren(d),rawText:p,paraId:u||void 0};n.push(f)}return console.log("[DEBUG] parseComments: found",n.length,"comments"),n}async parseCommentsExtended(){var t,n;const e=await((n=(t=this.zip)==null?void 0:t.file(k.COMMENTS_EXTENDED))==null?void 0:n.async("string"));return e?(console.log("[DEBUG] commentsExtended.xml found, length:",e.length),V(e)):(console.log("[DEBUG] commentsExtended.xml not found"),new Map)}async parseDocument(){var m,d;const e=await((d=(m=this.zip)==null?void 0:m.file(k.DOCUMENT))==null?void 0:d.async("string"));if(!e)return{type:h.Document,children:[]};const t=x(e),n=t.getElementsByTagNameNS("http://schemas.openxmlformats.org/wordprocessingml/2006/main","body")[0];if(!n)return{type:h.Document,children:[]};const r=s.element(n,"sectPr"),o=r?this.parseSectionProperties(r):void 0,a=t.getElementsByTagNameNS("http://schemas.openxmlformats.org/wordprocessingml/2006/main","document")[0],c=a?s.element(a,"background"):null,l=c?this.parseBackground(c):void 0;return{type:h.Document,children:this.parseChildren(n),sectionProps:o,background:l}}async parseHeadersFooters(e){var r,o;const t=new Map,n=e==="header"?N.HEADER:N.FOOTER;for(const a of this.relationships)if(a.type===n){const c=`word/${a.target}`,l=await((o=(r=this.zip)==null?void 0:r.file(c))==null?void 0:o.async("string"));if(l){const d=x(l).getElementsByTagNameNS("http://schemas.openxmlformats.org/wordprocessingml/2006/main",e==="header"?"hdr":"ftr")[0];if(d){const p={type:e==="header"?h.Header:h.Footer,children:this.parseChildren(d)};t.set(a.id,p)}}}return t}parseBackground(e){const t={},n=s.attr(e,"color");return n&&n!=="auto"&&(t["background-color"]=`#${n}`),t}parseSectionProperties(e){const t={};for(const n of s.elements(e))switch(n.localName){case"pgSz":t.pageSize=this.parsePageSize(n);break;case"pgMar":t.pageMargins=this.parsePageMargins(n);break;case"type":t.type=s.attr(n,"val")||"nextPage";break;case"cols":t.columns=this.parseColumns(n);break;case"pgBorders":t.pageBorders=this.parseBorders(n);break;case"pgNumType":t.pageNumber={start:s.intAttr(n,"start"),format:s.attr(n,"fmt"),chapSep:s.attr(n,"chapSep"),chapStyle:s.attr(n,"chapStyle")};break;case"headerReference":t.headerRefs||(t.headerRefs=[]),t.headerRefs.push({id:s.attr(n,"id")||"",type:s.attr(n,"type")||"default"});break;case"footerReference":t.footerRefs||(t.footerRefs=[]),t.footerRefs.push({id:s.attr(n,"id")||"",type:s.attr(n,"type")||"default"});break;case"titlePg":t.titlePage=s.boolAttr(n,"val")!==!1;break}return t}parsePageSize(e){return{width:s.lengthAttr(e,"w"),height:s.lengthAttr(e,"h"),orientation:s.attr(e,"orient")}}parsePageMargins(e){return{top:s.lengthAttr(e,"top"),right:s.lengthAttr(e,"right"),bottom:s.lengthAttr(e,"bottom"),left:s.lengthAttr(e,"left"),header:s.lengthAttr(e,"header"),footer:s.lengthAttr(e,"footer"),gutter:s.lengthAttr(e,"gutter")}}parseColumns(e){const t={numberOfColumns:s.intAttr(e,"num"),space:s.lengthAttr(e,"space"),separator:s.boolAttr(e,"sep"),equalWidth:s.boolAttr(e,"equalWidth")!==!1,columns:[]};for(const n of s.elements(e,"col"))t.columns.push({width:s.lengthAttr(n,"w"),space:s.lengthAttr(n,"space")});return t}parseBorders(e){const t={};for(const n of s.elements(e)){const r=this.parseBorder(n);switch(n.localName){case"top":t.top=r;break;case"bottom":t.bottom=r;break;case"left":case"start":t.left=r;break;case"right":case"end":t.right=r;break}}return t}parseBorder(e){const t=s.attr(e,"color");return{style:s.attr(e,"val"),width:s.lengthAttr(e,"sz",P.Border),color:t&&t!=="auto"?`#${t}`:void 0}}parseChildren(e,t=!1){const n=[];for(const r of s.elements(e)){const o=this.parseElement(r);o&&n.push(o)}return t&&n.length===0&&console.log("[DEBUG] parseChildren: no children parsed from",e.localName,"childNodes:",e.childNodes.length,"elements:",s.elements(e).map(r=>r.localName)),n}parseElement(e){var n;const t=e.localName;switch(t){case"p":return this.parseParagraph(e);case"r":return this.parseRun(e);case"t":return this.parseText(e);case"br":return this.parseBreak(e);case"tab":return this.parseTab();case"sym":return this.parseSymbol(e);case"lastRenderedPageBreak":return{type:h.Break,breakType:"lastRenderedPageBreak"};case"fldSimple":return this.parseSimpleField(e);case"fldChar":return this.parseComplexField(e);case"instrText":return this.parseFieldInstruction(e);case"tbl":return this.parseTable(e);case"tr":return this.parseTableRow(e);case"tc":return this.parseTableCell(e);case"hyperlink":return this.parseHyperlink(e);case"drawing":return this.parseDrawing(e);case"commentRangeStart":return this.parseCommentRangeStart(e);case"commentRangeEnd":return this.parseCommentRangeEnd(e);case"commentReference":return this.parseCommentReference(e);case"footnoteReference":return this.parseFootnoteReference(e);case"endnoteReference":return this.parseEndnoteReference(e);case"bookmarkStart":return this.parseBookmarkStart(e);case"bookmarkEnd":return this.parseBookmarkEnd(e);default:console.log("[DEBUG] parseElement default branch for:",t);const r=this.parseChildren(e);if(r.length>0)return console.log("[DEBUG] -> found children:",r.length),r.length===1?r[0]:{type:h.Run,children:r};const o=(n=e.textContent)==null?void 0:n.trim();return o?(console.log("[DEBUG] -> using textContent:",o.substring(0,50)),{type:h.Text,text:o}):null}}parseParagraph(e){const t=s.element(e,"pPr");return{type:h.Paragraph,props:t?this.parseParagraphProperties(t):void 0,children:this.parseChildren(e).filter(n=>n.type!==h.Paragraph)}}parseParagraphProperties(e){const t={},n=s.element(e,"pStyle");n&&(t.styleId=s.attr(n,"val"));const r=s.element(e,"jc");if(r){const p=s.attr(r,"val");(p==="left"||p==="center"||p==="right"||p==="both")&&(t.justification=p)}const o=s.element(e,"ind");o&&(t.indentation={left:s.lengthAttr(o,"left"),right:s.lengthAttr(o,"right"),firstLine:s.lengthAttr(o,"firstLine"),hanging:s.lengthAttr(o,"hanging")});const a=s.element(e,"spacing");a&&(t.spacing={before:s.lengthAttr(a,"before"),after:s.lengthAttr(a,"after"),line:s.intAttr(a,"line"),lineRule:s.attr(a,"lineRule")});const c=s.element(e,"pageBreakBefore");c&&(t.pageBreakBefore=s.boolAttr(c,"val")!==!1);const l=s.element(e,"pBdr");l&&(t.borders=this.parseBorders(l));const m=s.element(e,"sectPr");m&&(t.sectionProps=this.parseSectionProperties(m));const d=s.element(e,"numPr");return d&&(t.numbering=this.parseParagraphNumbering(d)),t}parseParagraphNumbering(e){const t={id:"",level:0};for(const n of s.elements(e))switch(n.localName){case"numId":t.id=s.attr(n,"val")||"";break;case"ilvl":t.level=s.intAttr(n,"val")??0;break}if(t.id)return t}parseRun(e){const t=s.element(e,"rPr");return{type:h.Run,props:t?this.parseRunProperties(t):void 0,children:this.parseChildren(e)}}parseRunProperties(e){var y,E,F,S;const t={},n=s.element(e,"rStyle");n&&(t.styleId=s.attr(n,"val"));const r=s.element(e,"b");r&&(t.bold=s.attr(r,"val")!=="0");const o=s.element(e,"i");o&&(t.italic=s.attr(o,"val")!=="0");const a=s.element(e,"u");a&&(t.underline=s.attr(a,"val")||"single");const c=s.element(e,"strike");c&&(t.strike=s.attr(c,"val")!=="0");const l=s.element(e,"dstrike");l&&(t.dstrike=s.attr(l,"val")!=="0");const m=s.element(e,"vertAlign");if(m){const w=s.attr(m,"val");(w==="superscript"||w==="subscript")&&(t.vertAlign=w)}const d=s.element(e,"color");if(d){const w=s.attr(d,"val"),R=s.attr(d,"themeColor");if(R){const v=s.attr(d,"themeTint"),T=s.attr(d,"themeShade");if(t.themeColor={themeColor:R,themeTint:v?parseInt(v,16):void 0,themeShade:T?parseInt(T,16):void 0},this.theme){const Z=H(this.theme,t.themeColor);Z&&(t.color=Z)}}else w&&w!=="auto"&&(t.color=`#${w}`)}const p=s.element(e,"sz");p&&(t.fontSize=s.lengthAttr(p,"val",P.FontSize));const u=s.element(e,"rFonts");if(u){const w=s.attr(u,"asciiTheme"),R=s.attr(u,"eastAsiaTheme");if(w||R){const v=w||R||"";if(v.startsWith("major")){if(t.themeFontFamily="major",(E=(y=this.theme)==null?void 0:y.fontScheme)!=null&&E.majorFont){const T=v.includes("EastAsia")?this.theme.fontScheme.majorFont.ea:this.theme.fontScheme.majorFont.latin;T&&(t.fontFamily=T)}}else if(v.startsWith("minor")&&(t.themeFontFamily="minor",(S=(F=this.theme)==null?void 0:F.fontScheme)!=null&&S.minorFont)){const T=v.includes("EastAsia")?this.theme.fontScheme.minorFont.ea:this.theme.fontScheme.minorFont.latin;T&&(t.fontFamily=T)}}t.fontFamily||(t.fontFamily=s.attr(u,"ascii")||s.attr(u,"eastAsia")||s.attr(u,"hAnsi"))}const f=s.element(e,"highlight");return f&&(t.highlight=s.attr(f,"val")),t}parseText(e){return{type:h.Text,text:e.textContent||""}}parseBreak(e){const t=s.attr(e,"type");return{type:h.Break,breakType:t||"textWrapping"}}parseTab(){return{type:h.Tab}}parseSymbol(e){const t=s.attr(e,"font"),n=s.attr(e,"char");let r;if(n){const o=parseInt(n,16);isNaN(o)||(r=String.fromCharCode(o))}return{type:h.Symbol,font:t,char:r}}parseSimpleField(e){return{type:h.SimpleField,instruction:s.attr(e,"instr")||"",children:this.parseChildren(e)}}parseComplexField(e){return{type:h.ComplexField,charType:s.attr(e,"fldCharType")||""}}parseFieldInstruction(e){return{type:h.FieldInstruction,text:e.textContent||""}}parseTable(e){const t={type:h.Table,children:[]};for(const n of s.elements(e))switch(n.localName){case"tr":t.children.push(this.parseTableRow(n));break;case"tblGrid":t.columns=this.parseTableGrid(n);break;case"tblPr":t.props=this.parseTableProperties(n);break}return t}parseTableGrid(e){const t=[];for(const n of s.elements(e))n.localName==="gridCol"&&t.push({width:s.lengthAttr(n,"w")});return t}parseTableProperties(e){const t={};for(const n of s.elements(e))switch(n.localName){case"tblW":t.width=s.lengthAttr(n,"w");const r=s.attr(n,"type");(r==="auto"||r==="dxa"||r==="pct")&&(t.widthType=r);break;case"jc":t.justification=s.attr(n,"val");break;case"tblBorders":t.borders=this.parseTableBorders(n);break;case"tblCellSpacing":t.cellSpacing=s.lengthAttr(n,"w");break;case"tblCellMar":t.cellMargin={top:s.lengthAttr(s.element(n,"top"),"w"),bottom:s.lengthAttr(s.element(n,"bottom"),"w"),left:s.lengthAttr(s.element(n,"left"),"w")||s.lengthAttr(s.element(n,"start"),"w"),right:s.lengthAttr(s.element(n,"right"),"w")||s.lengthAttr(s.element(n,"end"),"w")};break}return t}parseTableBorders(e){const t={};for(const n of s.elements(e)){const r=this.parseBorder(n);switch(n.localName){case"top":t.top=r;break;case"bottom":t.bottom=r;break;case"left":case"start":t.left=r;break;case"right":case"end":t.right=r;break;case"insideH":t.insideH=r;break;case"insideV":t.insideV=r;break}}return t}parseTableRow(e){return{type:h.TableRow,children:s.elements(e).filter(t=>t.localName==="tc").map(t=>this.parseTableCell(t))}}parseTableCell(e){const t={type:h.TableCell,children:[]};for(const n of s.elements(e))if(n.localName==="tcPr")t.props=this.parseTableCellProperties(n);else{const r=this.parseElement(n);r&&t.children.push(r)}return t}parseTableCellProperties(e){const t={};for(const n of s.elements(e))switch(n.localName){case"tcW":t.width=s.lengthAttr(n,"w");break;case"gridSpan":t.gridSpan=s.intAttr(n,"val");break;case"vMerge":const r=s.attr(n,"val");t.verticalMerge=r==="restart"?"restart":"continue";break;case"vAlign":t.verticalAlign=s.attr(n,"val");break;case"shd":const o=s.attr(n,"fill");o&&o!=="auto"&&(t.shading=`#${o}`);break;case"tcBorders":t.borders=this.parseBorders(n);break}return t}parseHyperlink(e){const t=s.attr(e,"id");let n;if(t){const r=this.relationships.find(o=>o.id===t);r&&(n=r.target)}return{type:h.Hyperlink,href:n,anchor:s.attr(e,"anchor"),children:this.parseChildren(e)}}parseDrawing(e){const t=[],n=e.getElementsByTagNameNS("http://schemas.openxmlformats.org/drawingml/2006/main","blip");for(let r=0;r<n.length;r++){const a=n[r].getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","embed");if(a&&this.images.has(a)){const c=e.getElementsByTagNameNS("http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing","extent")[0];let l,m;if(c){const d=c.getAttribute("cx"),p=c.getAttribute("cy");d&&(l=s.convertLength(d,P.Emu)),p&&(m=s.convertLength(p,P.Emu))}t.push({type:h.Image,src:this.images.get(a),width:l,height:m})}}return{type:h.Drawing,children:t}}parseCommentRangeStart(e){return{type:h.CommentRangeStart,id:s.attr(e,"id")||""}}parseCommentRangeEnd(e){return{type:h.CommentRangeEnd,id:s.attr(e,"id")||""}}parseCommentReference(e){return{type:h.CommentReference,id:s.attr(e,"id")||""}}parseFootnoteReference(e){return{type:h.FootnoteReference,id:s.attr(e,"id")||""}}parseEndnoteReference(e){return{type:h.EndnoteReference,id:s.attr(e,"id")||""}}parseBookmarkStart(e){const t={type:h.BookmarkStart,id:s.attr(e,"id")||"",name:s.attr(e,"name")||"",colFirst:s.intAttr(e,"colFirst"),colLast:s.intAttr(e,"colLast")};return t.name&&!t.name.startsWith("_")&&this.bookmarks.set(t.name,t),t}parseBookmarkEnd(e){return{type:h.BookmarkEnd,id:s.attr(e,"id")||""}}}class Y{constructor(e){g(this,"document",null);g(this,"container");g(this,"options");g(this,"classPrefix");g(this,"commentRanges",new Map);g(this,"activeCommentId",null);g(this,"svgLayer",null);g(this,"currentCommentIds",new Set);g(this,"commentStartInParagraph",new Set);g(this,"currentPageNumber",1);g(this,"totalPages",1);g(this,"inComplexField",!1);g(this,"currentFieldInstruction","");g(this,"skipFieldContent",!1);g(this,"numberingCounters",new Map);g(this,"currentFootnoteIds",[]);g(this,"currentEndnoteIds",[]);g(this,"footnoteCounter",0);g(this,"endnoteCounter",0);g(this,"tableVerticalMerges",[]);g(this,"currentVerticalMerge",new Map);g(this,"currentCellCol",0);g(this,"currentTableBorders");g(this,"tableBordersStack",[]);g(this,"currentTableRowIndex",0);g(this,"currentTableRowCount",0);g(this,"currentTableColCount",0);const t=typeof e.container=="string"?document.querySelector(e.container):e.container;if(!t)throw new Error("容器元素不存在");this.container=t,this.classPrefix=e.classNamePrefix||"docx",this.options={container:this.container,renderComments:e.renderComments??!0,enableCommentEdit:e.enableCommentEdit??!0,showCommentLines:e.showCommentLines??!0,breakPages:e.breakPages??!0,classNamePrefix:this.classPrefix,onCommentClick:e.onCommentClick||(()=>{}),onCommentChange:e.onCommentChange||(()=>{})}}render(e){this.document=e,this.commentRanges.clear(),this.currentCommentIds.clear(),this.numberingCounters.clear(),this.currentFootnoteIds=[],this.currentEndnoteIds=[],this.footnoteCounter=0,this.endnoteCounter=0;for(const o of e.comments)this.commentRanges.set(o.id,{id:o.id,startElement:null,endElement:null,highlightElements:[],panelElement:null});this.container.innerHTML="",this.container.className=`${this.classPrefix}-container`;const t=this.createElement("div",`${this.classPrefix}-wrapper`);this.options.breakPages?this.renderWithPages(t,e):this.renderSinglePage(t,e),this.container.appendChild(t),this.options.showCommentLines&&(this.svgLayer=this.createSvgLayer(),this.container.appendChild(this.svgLayer)),this.options.renderComments&&this.renderAllCommentBubbles();let n=!1;const r=()=>{n||(requestAnimationFrame(()=>{this.positionCommentBubbles(),this.updateLines(),n=!1}),n=!0)};t.addEventListener("scroll",()=>{this.positionCommentBubbles(),this.updateLines()},{passive:!0}),window.addEventListener("resize",r),requestAnimationFrame(()=>{this.positionCommentBubbles(),this.updateLines()})}renderSinglePage(e,t){const n=this.createElement("div",`${this.classPrefix}-document`),r=this.createElement("div",`${this.classPrefix}-page`),o=this.renderElement(t.body);o&&r.appendChild(o),this.renderPageFootnotes(this.currentFootnoteIds,r),n.appendChild(r),e.appendChild(n),this.renderDocumentEndnotes(e)}renderWithPages(e,t){const n=t.body,r=n.sectionProps,o=this.splitBySection(n.children||[],r),a=this.groupByPageBreaks(o);this.totalPages=a.length;let c;for(let l=0;l<a.length;l++){this.currentPageNumber=l+1;const m=this.currentFootnoteIds.length,d=a[l];if(d.length===0)continue;let u=d[0].sectProps||r;const f=this.createPageElement(u);u!=null&&u.headerRefs&&this.renderHeaderFooter(u.headerRefs,u,l,c!==u,f,"header");for(const E of d){const F=this.createSectionContent(E.sectProps);for(const S of E.elements){const w=this.renderElement(S);w&&F.appendChild(w)}f.appendChild(F),u=E.sectProps||u}const y=this.currentFootnoteIds.slice(m);this.renderPageFootnotes(y,f),u!=null&&u.footerRefs&&this.renderHeaderFooter(u.footerRefs,u,l,c!==u,f,"footer"),e.appendChild(f),c=u}this.renderDocumentEndnotes(e)}splitBySection(e,t){var a,c;const n=[];let r={sectProps:null,elements:[],pageBreak:!1};n.push(r);for(const l of e)if(l.type===h.Paragraph&&(a=l.props)!=null&&a.pageBreakBefore&&(r.pageBreak=!0,r={sectProps:null,elements:[],pageBreak:!1},n.push(r)),r.elements.push(l),l.type===h.Paragraph){const m=l,d=(c=m.props)==null?void 0:c.sectionProps;let p=!1;const u=f=>{for(const y of f){if(y.type===h.Break){const E=y;if(E.breakType==="page"||E.breakType==="lastRenderedPageBreak"){p=!0;return}}y.type===h.Run&&y.children&&u(y.children)}};this.options.breakPages&&m.children&&u(m.children),(d||p)&&(r.sectProps=d||null,r.pageBreak=p,r={sectProps:null,elements:[],pageBreak:!1},n.push(r))}let o=null;for(let l=n.length-1;l>=0;l--)n[l].sectProps===null?n[l].sectProps=o||t||null:o=n[l].sectProps;return n}groupByPageBreaks(e){const t=[];let n=[];t.push(n);let r=null;for(const o of e)n.push(o),(o.pageBreak||this.isPageBreakSection(r,o.sectProps))&&(n=[],t.push(n)),r=o.sectProps;return t.filter(o=>o.length>0)}isPageBreakSection(e,t){if(!e||!t)return!1;const n=e.pageSize,r=t.pageSize;return!n||!r?!1:n.orientation!==r.orientation||n.width!==r.width||n.height!==r.height}createPageElement(e){const t=this.createElement("section",`${this.classPrefix}-page`);if(e&&(e.pageSize&&(e.pageSize.width&&(t.style.width=e.pageSize.width),e.pageSize.height&&(t.style.minHeight=e.pageSize.height)),e.pageMargins)){const n=e.pageMargins;n.top&&(t.style.paddingTop=n.top),n.right&&(t.style.paddingRight=n.right),n.bottom&&(t.style.paddingBottom=n.bottom),n.left&&(t.style.paddingLeft=n.left)}return t}createSectionContent(e){const t=this.createElement("article",`${this.classPrefix}-section-content`);if(e!=null&&e.columns){const n=e.columns;n.numberOfColumns&&n.numberOfColumns>1&&(t.style.columnCount=String(n.numberOfColumns),n.space&&(t.style.columnGap=n.space),n.separator&&(t.style.columnRule="1px solid #ccc"))}return t}renderHeaderFooter(e,t,n,r,o,a){var p,u;if(!e||e.length===0)return;let c=null;if(t.titlePage&&r&&(c=e.find(f=>f.type==="first")),c||n%2===1&&(c=e.find(f=>f.type==="even")),c||(c=e.find(f=>f.type==="default")),!c)return;const l=a==="header"?(p=this.document)==null?void 0:p.headers:(u=this.document)==null?void 0:u.footers,m=l==null?void 0:l.get(c.id);if(!m)return;const d=this.createElement("div",`${this.classPrefix}-${a}`);for(const f of m.children||[]){const y=this.renderElement(f);y&&d.appendChild(y)}if(t.pageMargins){const f=t.pageMargins;a==="header"&&f.header&&f.top?(d.style.marginTop=`calc(${f.header} - ${f.top})`,d.style.minHeight=`calc(${f.top} - ${f.header})`):a==="footer"&&f.footer&&f.bottom&&(d.style.marginBottom=`calc(${f.footer} - ${f.bottom})`,d.style.minHeight=`calc(${f.bottom} - ${f.footer})`)}a==="header"?o.insertBefore(d,o.firstChild):o.appendChild(d)}renderAllCommentBubbles(){var n;const e=this.createElement("div",`${this.classPrefix}-comments-layer`);this.container.appendChild(e);const t=((n=this.document)==null?void 0:n.comments)||[];console.log("[DEBUG] renderAllCommentBubbles - Total comments:",t.length),t.forEach(r=>{var o;console.log("[DEBUG] Comment:",{id:r.id,author:r.author,date:r.date,childrenCount:((o=r.children)==null?void 0:o.length)||0,text:this.getCommentText(r)})}),console.log("[DEBUG] Comment ranges count:",this.commentRanges.size);for(const r of t){const o=this.commentRanges.get(r.id);if(o&&o.highlightElements.length>0){const a=this.createCommentBubble(r);o.panelElement=a,e.appendChild(a)}}}positionCommentBubbles(){const e=[],n=window.innerHeight-40;for(const[,o]of this.commentRanges){if(!o.panelElement||o.highlightElements.length===0)continue;const c=o.highlightElements[0].getBoundingClientRect(),l=c.top+c.height/2;l>60&&l<n?(e.push({range:o,top:c.top}),o.panelElement.style.display="block"):o.panelElement.style.display="none"}e.sort((o,a)=>o.top-a.top);let r=60;for(const{range:o,top:a}of e){let c=Math.max(a,r+8);c=Math.min(c,n-100),o.panelElement.style.top=`${c}px`,r=c+o.panelElement.offsetHeight}}createSvgLayer(){const e=document.createElementNS("http://www.w3.org/2000/svg","svg");return e.classList.add(`${this.classPrefix}-lines`),e}updateLines(){if(this.svgLayer){this.svgLayer.innerHTML="";for(const[e]of this.commentRanges){const t=e===this.activeCommentId;this.drawCommentLine(e,t)}}}drawCommentLine(e,t){const n=this.commentRanges.get(e);if(!n||!n.highlightElements.length||!n.panelElement||!this.svgLayer||n.panelElement.style.display==="none")return;const r=n.highlightElements[0].getBoundingClientRect(),o=n.panelElement.getBoundingClientRect(),a=r.right,c=r.top+r.height/2,l=o.left,m=o.top+16,d=document.createElementNS("http://www.w3.org/2000/svg","line");d.setAttribute("x1",String(a)),d.setAttribute("y1",String(c)),d.setAttribute("x2",String(l)),d.setAttribute("y2",String(m)),d.setAttribute("stroke","#ef4444"),d.setAttribute("stroke-width",t?"2":"1"),this.svgLayer.appendChild(d)}renderElement(e){switch(e.type){case h.Document:return this.renderDocument(e);case h.Paragraph:return this.renderParagraph(e);case h.Run:return this.renderRun(e);case h.Text:return this.renderText(e);case h.Break:return this.renderBreak(e);case h.Tab:return this.renderTab();case h.Symbol:return this.renderSymbol(e);case h.SimpleField:return this.renderSimpleField(e);case h.ComplexField:return this.renderComplexField(e);case h.FieldInstruction:return this.renderFieldInstruction(e);case h.Table:return this.renderTable(e);case h.TableRow:return this.renderTableRow(e);case h.TableCell:return this.renderTableCell(e);case h.Hyperlink:return this.renderHyperlink(e);case h.Drawing:return this.renderDrawing(e);case h.Image:return this.renderImage(e);case h.CommentRangeStart:return this.renderCommentRangeStart(e);case h.CommentRangeEnd:return this.renderCommentRangeEnd(e);case h.CommentReference:return this.renderCommentReference(e);case h.FootnoteReference:return this.renderFootnoteReference(e);case h.EndnoteReference:return this.renderEndnoteReference(e);case h.Footnote:return this.renderFootnote(e);case h.Endnote:return this.renderEndnote(e);case h.BookmarkStart:return this.renderBookmarkStart(e);case h.BookmarkEnd:return this.renderBookmarkEnd(e);default:return null}}renderDocument(e){const t=this.createElement("article",`${this.classPrefix}-body`);return this.renderChildren(e.children||[],t),t}renderParagraph(e){const t=this.createElement("p",`${this.classPrefix}-p`);this.commentStartInParagraph.clear(),e.props&&this.applyParagraphStyles(t,e.props);const n=this.renderNumbering(e.props);return n&&(t.insertBefore(n,t.firstChild),t.classList.add(`${this.classPrefix}-list-item`)),this.renderChildren(e.children||[],t),(t.childNodes.length===0||t.childNodes.length===1&&n)&&t.appendChild(document.createElement("br")),this.commentStartInParagraph.size>0&&this.options.renderComments&&(t.dataset.commentIds=Array.from(this.commentStartInParagraph).join(",")),t}renderNumbering(e){var d,p;if(!(e!=null&&e.numbering)||!((d=this.document)!=null&&d.numberingMap))return null;const{id:t,level:n}=e.numbering,r=this.document.numberingMap.get(t);if(!r)return null;const o=r.levels.find(u=>u.level===n);if(!o)return null;const a=this.getNumberingContent(r,o,t,n),c=this.createElement("span",`${this.classPrefix}-numbering`);c.textContent=a,o.runProps&&this.applyRunStyles(c,o.runProps);const l=this.createElement("span",`${this.classPrefix}-numbering-suffix`);switch(o.suffix){case"tab":l.innerHTML=" ";break;case"space":l.innerHTML=" ";break}const m=this.createElement("span",`${this.classPrefix}-numbering-wrapper`);if(m.appendChild(c),m.appendChild(l),(p=o.paragraphProps)!=null&&p.indentation){const u=o.paragraphProps.indentation;u.left&&(m.style.marginLeft=u.left),u.hanging&&(m.style.textIndent=`-${u.hanging}`,m.style.paddingLeft=u.hanging)}return m}getNumberingContent(e,t,n,r){const o=t.format,a=t.text;if(o==="bullet")return a||"•";const c=`${n}-${r}`;let l=this.numberingCounters.get(c)??t.start-1;l++,this.numberingCounters.set(c,l);for(let d=r+1;d<=8;d++)this.numberingCounters.delete(`${n}-${d}`);let m=a;for(let d=0;d<=r;d++){const p=this.numberingCounters.get(`${n}-${d}`)??1,u=e.levels.find(E=>E.level===d),f=(u==null?void 0:u.format)||"decimal",y=this.formatNumber(p,f);m=m.replace(`%${d+1}`,y)}return m}formatNumber(e,t){switch(t){case"decimal":return String(e);case"decimalZero":return e<10?`0${e}`:String(e);case"lowerLetter":return this.toLetters(e,!1);case"upperLetter":return this.toLetters(e,!0);case"lowerRoman":return this.toRoman(e).toLowerCase();case"upperRoman":return this.toRoman(e);case"chineseCountingThousand":case"chineseCounting":return this.toChinese(e);case"ideographTraditional":return this.toChineseTraditional(e);case"bullet":return"•";default:return String(e)}}toLetters(e,t){const n=t?65:97;let r="";for(;e>0;)e--,r=String.fromCharCode(n+e%26)+r,e=Math.floor(e/26);return r}toRoman(e){const 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"]];let n="";for(const[r,o]of t)for(;e>=r;)n+=o,e-=r;return n}toChinese(e){const t=["零","一","二","三","四","五","六","七","八","九"],n=["","十","百","千","万"];if(e<=10)return e===10?"十":t[e];let r="",o=0;for(;e>0;){const a=e%10;a!==0?r=t[a]+n[o]+r:r&&!r.startsWith("零")&&(r="零"+r),e=Math.floor(e/10),o++}return r.startsWith("一十")&&(r=r.substring(1)),r}toChineseTraditional(e){const t=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"];return e>=1&&e<=10?t[e-1]:String(e)}createCommentBubble(e){const t=this.createElement("div",`${this.classPrefix}-comment-bubble`);t.dataset.commentId=e.id;const n=e.initials||e.author.charAt(0).toUpperCase(),r=this.formatDate(e.date),o=this.getCommentText(e);t.innerHTML=`
|
|
19
|
+
}`}function Ae(x){switch(x){case"bold":case"boldItalic":return"700";default:return"400"}}function Fe(x){switch(x){case"italic":case"boldItalic":return"italic";default:return"normal"}}function Re(x){switch(x){case"opentype":return"opentype";case"truetype":return"truetype";case"embedded-opentype":return"embedded-opentype";default:return"truetype"}}function Ie(x){return x.replace(/"/g,'\\"')}function Pe(x){const t=(x||document.head).querySelector("style[data-docx-fonts]");t&&t.remove()}function ze(x){const r=new DOMParser().parseFromString(x,"application/xml").documentElement,n=[],a=r.getElementsByTagName("Relationship");for(let o=0;o<a.length;o++){const i=a[o],c=i.getAttribute("Type")||"";c===At.FONT&&n.push({id:i.getAttribute("Id")||"",type:c,target:i.getAttribute("Target")||"",targetMode:i.getAttribute("TargetMode")||void 0})}return n}const Gt="http://schemas.microsoft.com/office/word/2012/wordml";function Vt(x){const e=new Map;if(!x)return e;try{const r=bt(x).documentElement,n=r.getElementsByTagNameNS(Gt,"commentEx"),a=n.length>0?Array.from(n):Array.from(r.getElementsByTagName("commentEx"));for(const o of a){const i=Bt(o,"paraId");if(!i)continue;const c={paraId:i,paraIdParent:Bt(o,"paraIdParent"),done:Be(o,"done")};e.set(i,c)}console.log("[DEBUG] parseCommentsExtended: found",e.size,"extended comments")}catch(t){console.warn("解析 commentsExtended.xml 失败:",t)}return e}function Xt(x,e){const t=new Map;for(const n of x)n.paraId&&t.set(n.paraId,n);for(const n of x)n.replies=[];for(const[n,a]of e){const o=t.get(n);if(o&&(o.done=a.done,a.paraIdParent)){const i=t.get(a.paraIdParent);i&&(o.parentId=i.id,i.replies.push(o))}}const r=x.filter(n=>!n.parentId);return r.sort((n,a)=>{const o=new Date(n.date).getTime(),i=new Date(a.date).getTime();return o-i}),Yt(r),console.log("[DEBUG] buildCommentTree: root comments:",r.length,"total comments:",x.length),r}function Yt(x){for(const e of x)e.replies&&e.replies.length>0&&(e.replies.sort((t,r)=>{const n=new Date(t.date).getTime(),a=new Date(r.date).getTime();return n-a}),Yt(e.replies))}function Bt(x,e){let t=x.getAttributeNS(Gt,e);return t||(t=x.getAttribute(e),t)?t:(t=x.getAttribute(`w15:${e}`),t||void 0)}function Be(x,e){const t=Bt(x,e);return t?t==="1"||t==="true":!1}class Kt{constructor(){nt(this,"zip",null);nt(this,"relationships",[]);nt(this,"images",new Map);nt(this,"theme");nt(this,"fontTable");nt(this,"embeddedFonts",[]);nt(this,"bookmarks",new Map)}async parse(e){const t=e instanceof ArrayBuffer?e:await e.arrayBuffer();this.zip=await re.loadAsync(t),this.bookmarks=new Map,await this.parseRelationships(),await this.loadImages();const r=await this.parseStyles(),n=new Map(r.map(u=>[u.id,u])),a=await this.parseComments(),o=new Map(a.map(u=>[u.id,u])),i=await this.parseCommentsExtended(),c=Xt(a,i),{numberings:p,abstractNumberings:f,numberingMap:_}=await this.parseNumberings();this.theme=await this.parseTheme();const g=await this.parseHeadersFooters("header"),h=await this.parseHeadersFooters("footer"),b=await this.parseFootnotes(),d=await this.parseEndnotes();return this.fontTable=await this.parseFontTable(),this.embeddedFonts=await this.loadEmbeddedFonts(),{body:await this.parseDocument(),comments:a,commentMap:o,rootComments:c,commentsExtendedMap:i,styles:r,styleMap:n,numberings:p,numberingMap:_,abstractNumberings:f,images:this.images,relationships:this.relationships,headers:g,footers:h,theme:this.theme,footnotes:b,endnotes:d,fontTable:this.fontTable,embeddedFonts:this.embeddedFonts,bookmarks:this.bookmarks}}getZip(){return this.zip}async parseRelationships(){var n,a;const e=await((a=(n=this.zip)==null?void 0:n.file(mt.RELS))==null?void 0:a.async("string"));if(!e)return;const r=bt(e).documentElement;this.relationships=E.elements(r,"Relationship").map(o=>({id:E.attr(o,"Id")||"",type:E.attr(o,"Type")||"",target:E.attr(o,"Target")||"",targetMode:E.attr(o,"TargetMode")}))}async loadImages(){var e;for(const t of this.relationships)if(t.type===At.IMAGE){const r=`word/${t.target}`,n=(e=this.zip)==null?void 0:e.file(r);if(n){const a=await n.async("blob"),o=await this.blobToBase64(a);this.images.set(t.id,o)}}}blobToBase64(e){return new Promise((t,r)=>{const n=new FileReader;n.onloadend=()=>t(n.result),n.onerror=r,n.readAsDataURL(e)})}async parseStyles(){var a,o;const e=await((o=(a=this.zip)==null?void 0:a.file(mt.STYLES))==null?void 0:o.async("string"));if(!e)return[];const t=bt(e),r=[],n=t.getElementsByTagNameNS("http://schemas.openxmlformats.org/wordprocessingml/2006/main","style");for(let i=0;i<n.length;i++){const c=n[i],p=E.element(c,"name"),f=E.element(c,"basedOn"),_={id:E.attr(c,"styleId")||"",name:p?E.attr(p,"val"):void 0,type:E.attr(c,"type")||"paragraph",basedOn:f?E.attr(f,"val"):void 0},g=E.element(c,"pPr");g&&(_.paragraphProps=this.parseParagraphProperties(g));const h=E.element(c,"rPr");h&&(_.runProps=this.parseRunProperties(h)),r.push(_)}return r}async parseTheme(){var t,r;const e=await((r=(t=this.zip)==null?void 0:t.file(mt.THEME))==null?void 0:r.async("string"));if(e)try{const n=bt(e);return Lt(n.documentElement)}catch(n){console.warn("主题解析失败:",n);return}}async parseFontTable(){var t,r;const e=await((r=(t=this.zip)==null?void 0:t.file(mt.FONT_TABLE))==null?void 0:r.async("string"));if(e)try{return jt(e)}catch(n){console.warn("字体表解析失败:",n);return}}async loadEmbeddedFonts(){var t;if(!this.fontTable||!this.zip)return[];if(!this.fontTable.fonts.some(r=>r.embedFontRefs.length>0))return[];try{const r=await((t=this.zip.file(mt.FONT_TABLE_RELS))==null?void 0:t.async("string"));if(!r)return console.warn("找不到字体表关系文件"),[];const n=ze(r);return await Zt(this.zip,this.fontTable,n,{injectStyles:!0})}catch(r){return console.warn("嵌入字体加载失败:",r),[]}}async parseFootnotes(){var t,r;const e=await((r=(t=this.zip)==null?void 0:t.file(mt.FOOTNOTES))==null?void 0:r.async("string"));if(!e)return new Map;try{const n=bt(e);return this.parseNotes(n.documentElement,"footnote",X.Footnote)}catch(n){return console.warn("脚注解析失败:",n),new Map}}async parseEndnotes(){var t,r;const e=await((r=(t=this.zip)==null?void 0:t.file(mt.ENDNOTES))==null?void 0:r.async("string"));if(!e)return new Map;try{const n=bt(e);return this.parseNotes(n.documentElement,"endnote",X.Endnote)}catch(n){return console.warn("尾注解析失败:",n),new Map}}parseNotes(e,t,r){const n=new Map,a=e.getElementsByTagNameNS("http://schemas.openxmlformats.org/wordprocessingml/2006/main",t);for(let o=0;o<a.length;o++){const i=a[o],c=E.attr(i,"id")||"",p=E.attr(i,"type");if(p==="separator"||p==="continuationSeparator")continue;const f={type:r,id:c,noteType:p,children:this.parseChildren(i)};n.set(c,f)}return n}async parseNumberings(){var c,p;const e=await((p=(c=this.zip)==null?void 0:c.file(mt.NUMBERING))==null?void 0:p.async("string"));if(!e)return{numberings:[],abstractNumberings:[],numberingMap:new Map};const r=bt(e).documentElement,n=[],a=new Map;for(const f of E.elements(r))switch(f.localName){case"abstractNum":n.push(this.parseAbstractNumbering(f));break;case"num":const _=E.attr(f,"numId")||"",g=E.element(f,"abstractNumId");if(g){const h=E.attr(g,"val")||"";a.set(_,h)}break}const o=[],i=new Map;for(const[f,_]of a){const g=n.find(h=>h.id===_);if(g){const h={id:f,abstractNumId:_,levels:g.levels.map(b=>({...b}))};o.push(h),i.set(f,h)}}return{numberings:o,abstractNumberings:n,numberingMap:i}}parseAbstractNumbering(e){const t={id:E.attr(e,"abstractNumId")||"",levels:[]};for(const r of E.elements(e))switch(r.localName){case"name":t.name=E.attr(r,"val");break;case"multiLevelType":t.multiLevelType=E.attr(r,"val");break;case"numStyleLink":t.numberingStyleLink=E.attr(r,"val");break;case"styleLink":t.styleLink=E.attr(r,"val");break;case"lvl":t.levels.push(this.parseNumberingLevel(r));break}return t}parseNumberingLevel(e){const t={level:E.intAttr(e,"ilvl")??0,format:"decimal",text:"",start:1,suffix:"tab"};for(const r of E.elements(e))switch(r.localName){case"start":t.start=E.intAttr(r,"val")??1;break;case"numFmt":t.format=E.attr(r,"val")||"decimal";break;case"lvlText":t.text=E.attr(r,"val")||"";break;case"suff":t.suffix=E.attr(r,"val")||"tab";break;case"pStyle":t.pStyleName=E.attr(r,"val");break;case"pPr":t.paragraphProps=this.parseParagraphProperties(r);break;case"rPr":t.runProps=this.parseRunProperties(r);break}return t}async parseComments(){var o,i,c;const e=await((i=(o=this.zip)==null?void 0:o.file(mt.COMMENTS))==null?void 0:i.async("string"));if(!e)return[];const t=bt(e),r=[],n=t.getElementsByTagNameNS("http://schemas.openxmlformats.org/wordprocessingml/2006/main","comment"),a="http://schemas.microsoft.com/office/word/2010/wordml";for(let p=0;p<n.length;p++){const f=n[p],_=((c=f.textContent)==null?void 0:c.trim())||"";let g=f.getAttributeNS(a,"paraId");g||(g=f.getAttribute("w14:paraId")||null);const h={type:X.Comment,id:E.attr(f,"id")||"",author:E.attr(f,"author")||"未知",date:E.attr(f,"date")||new Date().toISOString(),initials:E.attr(f,"initials"),children:this.parseChildren(f),rawText:_,paraId:g||void 0};r.push(h)}return console.log("[DEBUG] parseComments: found",r.length,"comments"),r}async parseCommentsExtended(){var t,r;const e=await((r=(t=this.zip)==null?void 0:t.file(mt.COMMENTS_EXTENDED))==null?void 0:r.async("string"));return e?(console.log("[DEBUG] commentsExtended.xml found, length:",e.length),Vt(e)):(console.log("[DEBUG] commentsExtended.xml not found"),new Map)}async parseDocument(){var p,f;const e=await((f=(p=this.zip)==null?void 0:p.file(mt.DOCUMENT))==null?void 0:f.async("string"));if(!e)return{type:X.Document,children:[]};const t=bt(e),r=t.getElementsByTagNameNS("http://schemas.openxmlformats.org/wordprocessingml/2006/main","body")[0];if(!r)return{type:X.Document,children:[]};const n=E.element(r,"sectPr"),a=n?this.parseSectionProperties(n):void 0,o=t.getElementsByTagNameNS("http://schemas.openxmlformats.org/wordprocessingml/2006/main","document")[0],i=o?E.element(o,"background"):null,c=i?this.parseBackground(i):void 0;return{type:X.Document,children:this.parseChildren(r),sectionProps:a,background:c}}async parseHeadersFooters(e){var n,a;const t=new Map,r=e==="header"?At.HEADER:At.FOOTER;for(const o of this.relationships)if(o.type===r){const i=`word/${o.target}`,c=await((a=(n=this.zip)==null?void 0:n.file(i))==null?void 0:a.async("string"));if(c){const f=bt(c).getElementsByTagNameNS("http://schemas.openxmlformats.org/wordprocessingml/2006/main",e==="header"?"hdr":"ftr")[0];if(f){const _={type:e==="header"?X.Header:X.Footer,children:this.parseChildren(f)};t.set(o.id,_)}}}return t}parseBackground(e){const t={},r=E.attr(e,"color");return r&&r!=="auto"&&(t["background-color"]=`#${r}`),t}parseSectionProperties(e){const t={};for(const r of E.elements(e))switch(r.localName){case"pgSz":t.pageSize=this.parsePageSize(r);break;case"pgMar":t.pageMargins=this.parsePageMargins(r);break;case"type":t.type=E.attr(r,"val")||"nextPage";break;case"cols":t.columns=this.parseColumns(r);break;case"pgBorders":t.pageBorders=this.parseBorders(r);break;case"pgNumType":t.pageNumber={start:E.intAttr(r,"start"),format:E.attr(r,"fmt"),chapSep:E.attr(r,"chapSep"),chapStyle:E.attr(r,"chapStyle")};break;case"headerReference":t.headerRefs||(t.headerRefs=[]),t.headerRefs.push({id:E.attr(r,"id")||"",type:E.attr(r,"type")||"default"});break;case"footerReference":t.footerRefs||(t.footerRefs=[]),t.footerRefs.push({id:E.attr(r,"id")||"",type:E.attr(r,"type")||"default"});break;case"titlePg":t.titlePage=E.boolAttr(r,"val")!==!1;break}return t}parsePageSize(e){return{width:E.lengthAttr(e,"w"),height:E.lengthAttr(e,"h"),orientation:E.attr(e,"orient")}}parsePageMargins(e){return{top:E.lengthAttr(e,"top"),right:E.lengthAttr(e,"right"),bottom:E.lengthAttr(e,"bottom"),left:E.lengthAttr(e,"left"),header:E.lengthAttr(e,"header"),footer:E.lengthAttr(e,"footer"),gutter:E.lengthAttr(e,"gutter")}}parseColumns(e){const t={numberOfColumns:E.intAttr(e,"num"),space:E.lengthAttr(e,"space"),separator:E.boolAttr(e,"sep"),equalWidth:E.boolAttr(e,"equalWidth")!==!1,columns:[]};for(const r of E.elements(e,"col"))t.columns.push({width:E.lengthAttr(r,"w"),space:E.lengthAttr(r,"space")});return t}parseBorders(e){const t={};for(const r of E.elements(e)){const n=this.parseBorder(r);switch(r.localName){case"top":t.top=n;break;case"bottom":t.bottom=n;break;case"left":case"start":t.left=n;break;case"right":case"end":t.right=n;break}}return t}parseBorder(e){const t=E.attr(e,"color");return{style:E.attr(e,"val"),width:E.lengthAttr(e,"sz",Et.Border),color:t&&t!=="auto"?`#${t}`:void 0}}parseChildren(e,t=!1){const r=[];for(const n of E.elements(e)){const a=this.parseElement(n);a&&r.push(a)}return t&&r.length===0&&console.log("[DEBUG] parseChildren: no children parsed from",e.localName,"childNodes:",e.childNodes.length,"elements:",E.elements(e).map(n=>n.localName)),r}parseElement(e){var r;const t=e.localName;switch(t){case"p":return this.parseParagraph(e);case"r":return this.parseRun(e);case"t":return this.parseText(e);case"br":return this.parseBreak(e);case"tab":return this.parseTab();case"sym":return this.parseSymbol(e);case"lastRenderedPageBreak":return{type:X.Break,breakType:"lastRenderedPageBreak"};case"fldSimple":return this.parseSimpleField(e);case"fldChar":return this.parseComplexField(e);case"instrText":return this.parseFieldInstruction(e);case"tbl":return this.parseTable(e);case"tr":return this.parseTableRow(e);case"tc":return this.parseTableCell(e);case"hyperlink":return this.parseHyperlink(e);case"drawing":return this.parseDrawing(e);case"commentRangeStart":return this.parseCommentRangeStart(e);case"commentRangeEnd":return this.parseCommentRangeEnd(e);case"commentReference":return this.parseCommentReference(e);case"footnoteReference":return this.parseFootnoteReference(e);case"endnoteReference":return this.parseEndnoteReference(e);case"bookmarkStart":return this.parseBookmarkStart(e);case"bookmarkEnd":return this.parseBookmarkEnd(e);default:console.log("[DEBUG] parseElement default branch for:",t);const n=this.parseChildren(e);if(n.length>0)return console.log("[DEBUG] -> found children:",n.length),n.length===1?n[0]:{type:X.Run,children:n};const a=(r=e.textContent)==null?void 0:r.trim();return a?(console.log("[DEBUG] -> using textContent:",a.substring(0,50)),{type:X.Text,text:a}):null}}parseParagraph(e){const t=E.element(e,"pPr");return{type:X.Paragraph,props:t?this.parseParagraphProperties(t):void 0,children:this.parseChildren(e).filter(r=>r.type!==X.Paragraph)}}parseParagraphProperties(e){const t={},r=E.element(e,"pStyle");r&&(t.styleId=E.attr(r,"val"));const n=E.element(e,"jc");if(n){const _=E.attr(n,"val");(_==="left"||_==="center"||_==="right"||_==="both")&&(t.justification=_)}const a=E.element(e,"ind");a&&(t.indentation={left:E.lengthAttr(a,"left"),right:E.lengthAttr(a,"right"),firstLine:E.lengthAttr(a,"firstLine"),hanging:E.lengthAttr(a,"hanging")});const o=E.element(e,"spacing");o&&(t.spacing={before:E.lengthAttr(o,"before"),after:E.lengthAttr(o,"after"),line:E.intAttr(o,"line"),lineRule:E.attr(o,"lineRule")});const i=E.element(e,"pageBreakBefore");i&&(t.pageBreakBefore=E.boolAttr(i,"val")!==!1);const c=E.element(e,"pBdr");c&&(t.borders=this.parseBorders(c));const p=E.element(e,"sectPr");p&&(t.sectionProps=this.parseSectionProperties(p));const f=E.element(e,"numPr");return f&&(t.numbering=this.parseParagraphNumbering(f)),t}parseParagraphNumbering(e){const t={id:"",level:0};for(const r of E.elements(e))switch(r.localName){case"numId":t.id=E.attr(r,"val")||"";break;case"ilvl":t.level=E.intAttr(r,"val")??0;break}if(t.id)return t}parseRun(e){const t=E.element(e,"rPr");return{type:X.Run,props:t?this.parseRunProperties(t):void 0,children:this.parseChildren(e)}}parseRunProperties(e){var b,d,y,u;const t={},r=E.element(e,"rStyle");r&&(t.styleId=E.attr(r,"val"));const n=E.element(e,"b");n&&(t.bold=E.attr(n,"val")!=="0");const a=E.element(e,"i");a&&(t.italic=E.attr(a,"val")!=="0");const o=E.element(e,"u");o&&(t.underline=E.attr(o,"val")||"single");const i=E.element(e,"strike");i&&(t.strike=E.attr(i,"val")!=="0");const c=E.element(e,"dstrike");c&&(t.dstrike=E.attr(c,"val")!=="0");const p=E.element(e,"vertAlign");if(p){const v=E.attr(p,"val");(v==="superscript"||v==="subscript")&&(t.vertAlign=v)}const f=E.element(e,"color");if(f){const v=E.attr(f,"val"),C=E.attr(f,"themeColor");if(C){const A=E.attr(f,"themeTint"),T=E.attr(f,"themeShade");if(t.themeColor={themeColor:C,themeTint:A?parseInt(A,16):void 0,themeShade:T?parseInt(T,16):void 0},this.theme){const D=Ut(this.theme,t.themeColor);D&&(t.color=D)}}else v&&v!=="auto"&&(t.color=`#${v}`)}const _=E.element(e,"sz");_&&(t.fontSize=E.lengthAttr(_,"val",Et.FontSize));const g=E.element(e,"rFonts");if(g){const v=E.attr(g,"asciiTheme"),C=E.attr(g,"eastAsiaTheme");if(v||C){const A=v||C||"";if(A.startsWith("major")){if(t.themeFontFamily="major",(d=(b=this.theme)==null?void 0:b.fontScheme)!=null&&d.majorFont){const T=A.includes("EastAsia")?this.theme.fontScheme.majorFont.ea:this.theme.fontScheme.majorFont.latin;T&&(t.fontFamily=T)}}else if(A.startsWith("minor")&&(t.themeFontFamily="minor",(u=(y=this.theme)==null?void 0:y.fontScheme)!=null&&u.minorFont)){const T=A.includes("EastAsia")?this.theme.fontScheme.minorFont.ea:this.theme.fontScheme.minorFont.latin;T&&(t.fontFamily=T)}}t.fontFamily||(t.fontFamily=E.attr(g,"ascii")||E.attr(g,"eastAsia")||E.attr(g,"hAnsi"))}const h=E.element(e,"highlight");return h&&(t.highlight=E.attr(h,"val")),t}parseText(e){return{type:X.Text,text:e.textContent||""}}parseBreak(e){const t=E.attr(e,"type");return{type:X.Break,breakType:t||"textWrapping"}}parseTab(){return{type:X.Tab}}parseSymbol(e){const t=E.attr(e,"font"),r=E.attr(e,"char");let n;if(r){const a=parseInt(r,16);isNaN(a)||(n=String.fromCharCode(a))}return{type:X.Symbol,font:t,char:n}}parseSimpleField(e){return{type:X.SimpleField,instruction:E.attr(e,"instr")||"",children:this.parseChildren(e)}}parseComplexField(e){return{type:X.ComplexField,charType:E.attr(e,"fldCharType")||""}}parseFieldInstruction(e){return{type:X.FieldInstruction,text:e.textContent||""}}parseTable(e){const t={type:X.Table,children:[]};for(const r of E.elements(e))switch(r.localName){case"tr":t.children.push(this.parseTableRow(r));break;case"tblGrid":t.columns=this.parseTableGrid(r);break;case"tblPr":t.props=this.parseTableProperties(r);break}return t}parseTableGrid(e){const t=[];for(const r of E.elements(e))r.localName==="gridCol"&&t.push({width:E.lengthAttr(r,"w")});return t}parseTableProperties(e){const t={};for(const r of E.elements(e))switch(r.localName){case"tblW":t.width=E.lengthAttr(r,"w");const n=E.attr(r,"type");(n==="auto"||n==="dxa"||n==="pct")&&(t.widthType=n);break;case"jc":t.justification=E.attr(r,"val");break;case"tblBorders":t.borders=this.parseTableBorders(r);break;case"tblCellSpacing":t.cellSpacing=E.lengthAttr(r,"w");break;case"tblCellMar":t.cellMargin={top:E.lengthAttr(E.element(r,"top"),"w"),bottom:E.lengthAttr(E.element(r,"bottom"),"w"),left:E.lengthAttr(E.element(r,"left"),"w")||E.lengthAttr(E.element(r,"start"),"w"),right:E.lengthAttr(E.element(r,"right"),"w")||E.lengthAttr(E.element(r,"end"),"w")};break}return t}parseTableBorders(e){const t={};for(const r of E.elements(e)){const n=this.parseBorder(r);switch(r.localName){case"top":t.top=n;break;case"bottom":t.bottom=n;break;case"left":case"start":t.left=n;break;case"right":case"end":t.right=n;break;case"insideH":t.insideH=n;break;case"insideV":t.insideV=n;break}}return t}parseTableRow(e){return{type:X.TableRow,children:E.elements(e).filter(t=>t.localName==="tc").map(t=>this.parseTableCell(t))}}parseTableCell(e){const t={type:X.TableCell,children:[]};for(const r of E.elements(e))if(r.localName==="tcPr")t.props=this.parseTableCellProperties(r);else{const n=this.parseElement(r);n&&t.children.push(n)}return t}parseTableCellProperties(e){const t={};for(const r of E.elements(e))switch(r.localName){case"tcW":t.width=E.lengthAttr(r,"w");break;case"gridSpan":t.gridSpan=E.intAttr(r,"val");break;case"vMerge":const n=E.attr(r,"val");t.verticalMerge=n==="restart"?"restart":"continue";break;case"vAlign":t.verticalAlign=E.attr(r,"val");break;case"shd":const a=E.attr(r,"fill");a&&a!=="auto"&&(t.shading=`#${a}`);break;case"tcBorders":t.borders=this.parseBorders(r);break}return t}parseHyperlink(e){const t=E.attr(e,"id");let r;if(t){const n=this.relationships.find(a=>a.id===t);n&&(r=n.target)}return{type:X.Hyperlink,href:r,anchor:E.attr(e,"anchor"),children:this.parseChildren(e)}}parseDrawing(e){const t=[],r=e.getElementsByTagNameNS("http://schemas.openxmlformats.org/drawingml/2006/main","blip");for(let n=0;n<r.length;n++){const o=r[n].getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships","embed");if(o&&this.images.has(o)){const i=e.getElementsByTagNameNS("http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing","extent")[0];let c,p;if(i){const f=i.getAttribute("cx"),_=i.getAttribute("cy");f&&(c=E.convertLength(f,Et.Emu)),_&&(p=E.convertLength(_,Et.Emu))}t.push({type:X.Image,src:this.images.get(o),width:c,height:p})}}return{type:X.Drawing,children:t}}parseCommentRangeStart(e){return{type:X.CommentRangeStart,id:E.attr(e,"id")||""}}parseCommentRangeEnd(e){return{type:X.CommentRangeEnd,id:E.attr(e,"id")||""}}parseCommentReference(e){return{type:X.CommentReference,id:E.attr(e,"id")||""}}parseFootnoteReference(e){return{type:X.FootnoteReference,id:E.attr(e,"id")||""}}parseEndnoteReference(e){return{type:X.EndnoteReference,id:E.attr(e,"id")||""}}parseBookmarkStart(e){const t={type:X.BookmarkStart,id:E.attr(e,"id")||"",name:E.attr(e,"name")||"",colFirst:E.intAttr(e,"colFirst"),colLast:E.intAttr(e,"colLast")};return t.name&&!t.name.startsWith("_")&&this.bookmarks.set(t.name,t),t}parseBookmarkEnd(e){return{type:X.BookmarkEnd,id:E.attr(e,"id")||""}}}class qt{constructor(e){nt(this,"document",null);nt(this,"container");nt(this,"options");nt(this,"classPrefix");nt(this,"commentRanges",new Map);nt(this,"activeCommentId",null);nt(this,"svgLayer",null);nt(this,"currentCommentIds",new Set);nt(this,"commentStartInParagraph",new Set);nt(this,"currentPageNumber",1);nt(this,"totalPages",1);nt(this,"inComplexField",!1);nt(this,"currentFieldInstruction","");nt(this,"skipFieldContent",!1);nt(this,"numberingCounters",new Map);nt(this,"currentFootnoteIds",[]);nt(this,"currentEndnoteIds",[]);nt(this,"footnoteCounter",0);nt(this,"endnoteCounter",0);nt(this,"tableVerticalMerges",[]);nt(this,"currentVerticalMerge",new Map);nt(this,"currentCellCol",0);nt(this,"currentTableBorders");nt(this,"tableBordersStack",[]);nt(this,"currentTableRowIndex",0);nt(this,"currentTableRowCount",0);nt(this,"currentTableColCount",0);const t=typeof e.container=="string"?document.querySelector(e.container):e.container;if(!t)throw new Error("容器元素不存在");this.container=t,this.classPrefix=e.classNamePrefix||"docx",this.options={container:this.container,renderComments:e.renderComments??!0,enableCommentEdit:e.enableCommentEdit??!0,showCommentLines:e.showCommentLines??!0,breakPages:e.breakPages??!0,classNamePrefix:this.classPrefix,onCommentClick:e.onCommentClick||(()=>{}),onCommentChange:e.onCommentChange||(()=>{})}}render(e){this.document=e,this.commentRanges.clear(),this.currentCommentIds.clear(),this.numberingCounters.clear(),this.currentFootnoteIds=[],this.currentEndnoteIds=[],this.footnoteCounter=0,this.endnoteCounter=0;for(const a of e.comments)this.commentRanges.set(a.id,{id:a.id,startElement:null,endElement:null,highlightElements:[],panelElement:null});this.container.innerHTML="",this.container.className=`${this.classPrefix}-container`;const t=this.createElement("div",`${this.classPrefix}-wrapper`);this.options.breakPages?this.renderWithPages(t,e):this.renderSinglePage(t,e),this.container.appendChild(t),this.options.showCommentLines&&(this.svgLayer=this.createSvgLayer(),this.container.appendChild(this.svgLayer)),this.options.renderComments&&this.renderAllCommentBubbles();let r=!1;const n=()=>{r||(requestAnimationFrame(()=>{this.positionCommentBubbles(),this.updateLines(),r=!1}),r=!0)};t.addEventListener("scroll",()=>{this.positionCommentBubbles(),this.updateLines()},{passive:!0}),window.addEventListener("resize",n),requestAnimationFrame(()=>{this.positionCommentBubbles(),this.updateLines()})}renderSinglePage(e,t){const r=this.createElement("div",`${this.classPrefix}-document`),n=this.createElement("div",`${this.classPrefix}-page`),a=this.renderElement(t.body);a&&n.appendChild(a),this.renderPageFootnotes(this.currentFootnoteIds,n),r.appendChild(n),e.appendChild(r),this.renderDocumentEndnotes(e)}renderWithPages(e,t){const r=t.body,n=r.sectionProps,a=this.splitBySection(r.children||[],n),o=this.groupByPageBreaks(a);this.totalPages=o.length;let i;for(let c=0;c<o.length;c++){this.currentPageNumber=c+1;const p=this.currentFootnoteIds.length,f=o[c];if(f.length===0)continue;let g=f[0].sectProps||n;const h=this.createPageElement(g);g!=null&&g.headerRefs&&this.renderHeaderFooter(g.headerRefs,g,c,i!==g,h,"header");for(const d of f){const y=this.createSectionContent(d.sectProps);for(const u of d.elements){const v=this.renderElement(u);v&&y.appendChild(v)}h.appendChild(y),g=d.sectProps||g}const b=this.currentFootnoteIds.slice(p);this.renderPageFootnotes(b,h),g!=null&&g.footerRefs&&this.renderHeaderFooter(g.footerRefs,g,c,i!==g,h,"footer"),e.appendChild(h),i=g}this.renderDocumentEndnotes(e)}splitBySection(e,t){var o,i;const r=[];let n={sectProps:null,elements:[],pageBreak:!1};r.push(n);for(const c of e)if(c.type===X.Paragraph&&(o=c.props)!=null&&o.pageBreakBefore&&(n.pageBreak=!0,n={sectProps:null,elements:[],pageBreak:!1},r.push(n)),n.elements.push(c),c.type===X.Paragraph){const p=c,f=(i=p.props)==null?void 0:i.sectionProps;let _=!1;const g=h=>{for(const b of h){if(b.type===X.Break){const d=b;if(d.breakType==="page"||d.breakType==="lastRenderedPageBreak"){_=!0;return}}b.type===X.Run&&b.children&&g(b.children)}};this.options.breakPages&&p.children&&g(p.children),(f||_)&&(n.sectProps=f||null,n.pageBreak=_,n={sectProps:null,elements:[],pageBreak:!1},r.push(n))}let a=null;for(let c=r.length-1;c>=0;c--)r[c].sectProps===null?r[c].sectProps=a||t||null:a=r[c].sectProps;return r}groupByPageBreaks(e){const t=[];let r=[];t.push(r);let n=null;for(const a of e)r.push(a),(a.pageBreak||this.isPageBreakSection(n,a.sectProps))&&(r=[],t.push(r)),n=a.sectProps;return t.filter(a=>a.length>0)}isPageBreakSection(e,t){if(!e||!t)return!1;const r=e.pageSize,n=t.pageSize;return!r||!n?!1:r.orientation!==n.orientation||r.width!==n.width||r.height!==n.height}createPageElement(e){const t=this.createElement("section",`${this.classPrefix}-page`);if(e&&(e.pageSize&&(e.pageSize.width&&(t.style.width=e.pageSize.width),e.pageSize.height&&(t.style.minHeight=e.pageSize.height)),e.pageMargins)){const r=e.pageMargins;r.top&&(t.style.paddingTop=r.top),r.right&&(t.style.paddingRight=r.right),r.bottom&&(t.style.paddingBottom=r.bottom),r.left&&(t.style.paddingLeft=r.left)}return t}createSectionContent(e){const t=this.createElement("article",`${this.classPrefix}-section-content`);if(e!=null&&e.columns){const r=e.columns;r.numberOfColumns&&r.numberOfColumns>1&&(t.style.columnCount=String(r.numberOfColumns),r.space&&(t.style.columnGap=r.space),r.separator&&(t.style.columnRule="1px solid #ccc"))}return t}renderHeaderFooter(e,t,r,n,a,o){var _,g;if(!e||e.length===0)return;let i=null;if(t.titlePage&&n&&(i=e.find(h=>h.type==="first")),i||r%2===1&&(i=e.find(h=>h.type==="even")),i||(i=e.find(h=>h.type==="default")),!i)return;const c=o==="header"?(_=this.document)==null?void 0:_.headers:(g=this.document)==null?void 0:g.footers,p=c==null?void 0:c.get(i.id);if(!p)return;const f=this.createElement("div",`${this.classPrefix}-${o}`);for(const h of p.children||[]){const b=this.renderElement(h);b&&f.appendChild(b)}if(t.pageMargins){const h=t.pageMargins;o==="header"&&h.header&&h.top?(f.style.marginTop=`calc(${h.header} - ${h.top})`,f.style.minHeight=`calc(${h.top} - ${h.header})`):o==="footer"&&h.footer&&h.bottom&&(f.style.marginBottom=`calc(${h.footer} - ${h.bottom})`,f.style.minHeight=`calc(${h.bottom} - ${h.footer})`)}o==="header"?a.insertBefore(f,a.firstChild):a.appendChild(f)}renderAllCommentBubbles(){var r;const e=this.createElement("div",`${this.classPrefix}-comments-layer`);this.container.appendChild(e);const t=((r=this.document)==null?void 0:r.comments)||[];console.log("[DEBUG] renderAllCommentBubbles - Total comments:",t.length),t.forEach(n=>{var a;console.log("[DEBUG] Comment:",{id:n.id,author:n.author,date:n.date,childrenCount:((a=n.children)==null?void 0:a.length)||0,text:this.getCommentText(n)})}),console.log("[DEBUG] Comment ranges count:",this.commentRanges.size);for(const n of t){const a=this.commentRanges.get(n.id);if(a&&a.highlightElements.length>0){const o=this.createCommentBubble(n);a.panelElement=o,e.appendChild(o)}}}positionCommentBubbles(){const e=[],r=window.innerHeight-40;for(const[,a]of this.commentRanges){if(!a.panelElement||a.highlightElements.length===0)continue;const i=a.highlightElements[0].getBoundingClientRect(),c=i.top+i.height/2;c>60&&c<r?(e.push({range:a,top:i.top}),a.panelElement.style.display="block"):a.panelElement.style.display="none"}e.sort((a,o)=>a.top-o.top);let n=60;for(const{range:a,top:o}of e){let i=Math.max(o,n+8);i=Math.min(i,r-100),a.panelElement.style.top=`${i}px`,n=i+a.panelElement.offsetHeight}}createSvgLayer(){const e=document.createElementNS("http://www.w3.org/2000/svg","svg");return e.classList.add(`${this.classPrefix}-lines`),e}updateLines(){if(this.svgLayer){this.svgLayer.innerHTML="";for(const[e]of this.commentRanges){const t=e===this.activeCommentId;this.drawCommentLine(e,t)}}}drawCommentLine(e,t){const r=this.commentRanges.get(e);if(!r||!r.highlightElements.length||!r.panelElement||!this.svgLayer||r.panelElement.style.display==="none")return;const n=r.highlightElements[0].getBoundingClientRect(),a=r.panelElement.getBoundingClientRect(),o=n.right,i=n.top+n.height/2,c=a.left,p=a.top+16,f=document.createElementNS("http://www.w3.org/2000/svg","line");f.setAttribute("x1",String(o)),f.setAttribute("y1",String(i)),f.setAttribute("x2",String(c)),f.setAttribute("y2",String(p)),f.setAttribute("stroke","#ef4444"),f.setAttribute("stroke-width",t?"2":"1"),this.svgLayer.appendChild(f)}renderElement(e){switch(e.type){case X.Document:return this.renderDocument(e);case X.Paragraph:return this.renderParagraph(e);case X.Run:return this.renderRun(e);case X.Text:return this.renderText(e);case X.Break:return this.renderBreak(e);case X.Tab:return this.renderTab();case X.Symbol:return this.renderSymbol(e);case X.SimpleField:return this.renderSimpleField(e);case X.ComplexField:return this.renderComplexField(e);case X.FieldInstruction:return this.renderFieldInstruction(e);case X.Table:return this.renderTable(e);case X.TableRow:return this.renderTableRow(e);case X.TableCell:return this.renderTableCell(e);case X.Hyperlink:return this.renderHyperlink(e);case X.Drawing:return this.renderDrawing(e);case X.Image:return this.renderImage(e);case X.CommentRangeStart:return this.renderCommentRangeStart(e);case X.CommentRangeEnd:return this.renderCommentRangeEnd(e);case X.CommentReference:return this.renderCommentReference(e);case X.FootnoteReference:return this.renderFootnoteReference(e);case X.EndnoteReference:return this.renderEndnoteReference(e);case X.Footnote:return this.renderFootnote(e);case X.Endnote:return this.renderEndnote(e);case X.BookmarkStart:return this.renderBookmarkStart(e);case X.BookmarkEnd:return this.renderBookmarkEnd(e);default:return null}}renderDocument(e){const t=this.createElement("article",`${this.classPrefix}-body`);return this.renderChildren(e.children||[],t),t}renderParagraph(e){const t=this.createElement("p",`${this.classPrefix}-p`);this.commentStartInParagraph.clear(),e.props&&this.applyParagraphStyles(t,e.props);const r=this.renderNumbering(e.props);return r&&(t.insertBefore(r,t.firstChild),t.classList.add(`${this.classPrefix}-list-item`)),this.renderChildren(e.children||[],t),(t.childNodes.length===0||t.childNodes.length===1&&r)&&t.appendChild(document.createElement("br")),this.commentStartInParagraph.size>0&&this.options.renderComments&&(t.dataset.commentIds=Array.from(this.commentStartInParagraph).join(",")),t}renderNumbering(e){var f,_;if(!(e!=null&&e.numbering)||!((f=this.document)!=null&&f.numberingMap))return null;const{id:t,level:r}=e.numbering,n=this.document.numberingMap.get(t);if(!n)return null;const a=n.levels.find(g=>g.level===r);if(!a)return null;const o=this.getNumberingContent(n,a,t,r),i=this.createElement("span",`${this.classPrefix}-numbering`);i.textContent=o,a.runProps&&this.applyRunStyles(i,a.runProps);const c=this.createElement("span",`${this.classPrefix}-numbering-suffix`);switch(a.suffix){case"tab":c.innerHTML=" ";break;case"space":c.innerHTML=" ";break}const p=this.createElement("span",`${this.classPrefix}-numbering-wrapper`);if(p.appendChild(i),p.appendChild(c),(_=a.paragraphProps)!=null&&_.indentation){const g=a.paragraphProps.indentation;g.left&&(p.style.marginLeft=g.left),g.hanging&&(p.style.textIndent=`-${g.hanging}`,p.style.paddingLeft=g.hanging)}return p}getNumberingContent(e,t,r,n){const a=t.format,o=t.text;if(a==="bullet")return o||"•";const i=`${r}-${n}`;let c=this.numberingCounters.get(i)??t.start-1;c++,this.numberingCounters.set(i,c);for(let f=n+1;f<=8;f++)this.numberingCounters.delete(`${r}-${f}`);let p=o;for(let f=0;f<=n;f++){const _=this.numberingCounters.get(`${r}-${f}`)??1,g=e.levels.find(d=>d.level===f),h=(g==null?void 0:g.format)||"decimal",b=this.formatNumber(_,h);p=p.replace(`%${f+1}`,b)}return p}formatNumber(e,t){switch(t){case"decimal":return String(e);case"decimalZero":return e<10?`0${e}`:String(e);case"lowerLetter":return this.toLetters(e,!1);case"upperLetter":return this.toLetters(e,!0);case"lowerRoman":return this.toRoman(e).toLowerCase();case"upperRoman":return this.toRoman(e);case"chineseCountingThousand":case"chineseCounting":return this.toChinese(e);case"ideographTraditional":return this.toChineseTraditional(e);case"bullet":return"•";default:return String(e)}}toLetters(e,t){const r=t?65:97;let n="";for(;e>0;)e--,n=String.fromCharCode(r+e%26)+n,e=Math.floor(e/26);return n}toRoman(e){const 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"]];let r="";for(const[n,a]of t)for(;e>=n;)r+=a,e-=n;return r}toChinese(e){const t=["零","一","二","三","四","五","六","七","八","九"],r=["","十","百","千","万"];if(e<=10)return e===10?"十":t[e];let n="",a=0;for(;e>0;){const o=e%10;o!==0?n=t[o]+r[a]+n:n&&!n.startsWith("零")&&(n="零"+n),e=Math.floor(e/10),a++}return n.startsWith("一十")&&(n=n.substring(1)),n}toChineseTraditional(e){const t=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"];return e>=1&&e<=10?t[e-1]:String(e)}createCommentBubble(e){const t=this.createElement("div",`${this.classPrefix}-comment-bubble`);t.dataset.commentId=e.id;const r=e.initials||e.author.charAt(0).toUpperCase(),n=this.formatDate(e.date),a=this.getCommentText(e);t.innerHTML=`
|
|
9
20
|
<div class="${this.classPrefix}-comment-header">
|
|
10
|
-
<div class="${this.classPrefix}-comment-avatar">${this.escapeHtml(
|
|
21
|
+
<div class="${this.classPrefix}-comment-avatar">${this.escapeHtml(r)}</div>
|
|
11
22
|
<div class="${this.classPrefix}-comment-meta">
|
|
12
23
|
<span class="${this.classPrefix}-comment-author">${this.escapeHtml(e.author)}</span>
|
|
13
|
-
<span class="${this.classPrefix}-comment-date">${
|
|
24
|
+
<span class="${this.classPrefix}-comment-date">${n}</span>
|
|
14
25
|
</div>
|
|
15
26
|
</div>
|
|
16
|
-
<div class="${this.classPrefix}-comment-content">${this.escapeHtml(
|
|
27
|
+
<div class="${this.classPrefix}-comment-content">${this.escapeHtml(a)}</div>
|
|
17
28
|
${this.options.enableCommentEdit?`
|
|
18
29
|
<div class="${this.classPrefix}-comment-actions">
|
|
19
30
|
<button class="${this.classPrefix}-comment-btn edit" title="编辑">
|
|
@@ -24,4 +35,4 @@
|
|
|
24
35
|
</button>
|
|
25
36
|
</div>
|
|
26
37
|
`:""}
|
|
27
|
-
`,t.addEventListener("mouseenter",()=>this.highlightComment(e.id)),t.addEventListener("mouseleave",()=>this.unhighlightComment(e.id)),t.addEventListener("click",()=>{this.selectComment(e.id),this.options.onCommentClick(e)});const a=t.querySelector(".edit");a==null||a.addEventListener("click",l=>{l.stopPropagation(),this.editComment(e)});const c=t.querySelector(".delete");return c==null||c.addEventListener("click",l=>{l.stopPropagation(),this.deleteComment(e.id)}),t}getCommentText(e){const t=[],n=o=>{for(const a of o)a.type===h.Text&&t.push(a.text),a.children&&n(a.children)};n(e.children||[]);const r=t.join("");return!r&&e.rawText?(console.log("[DEBUG] Comment",e.id,"using rawText:",e.rawText),e.rawText):(console.log("[DEBUG] Comment",e.id,"text result:",r),r||"")}highlightComment(e){var n;this.activeCommentId=e;const t=this.commentRanges.get(e);t&&(t.highlightElements.forEach(r=>{r.classList.add(`${this.classPrefix}-highlight--active`)}),(n=t.panelElement)==null||n.classList.add(`${this.classPrefix}-comment-bubble--active`)),this.updateLines()}unhighlightComment(e){var n;this.activeCommentId===e&&(this.activeCommentId=null);const t=this.commentRanges.get(e);t&&(t.highlightElements.forEach(r=>{r.classList.remove(`${this.classPrefix}-highlight--active`)}),(n=t.panelElement)==null||n.classList.remove(`${this.classPrefix}-comment-bubble--active`)),this.updateLines()}selectComment(e){this.activeCommentId=e,this.updateLines()}editComment(e){const t=this.getCommentText(e),n=prompt("编辑评论:",t);if(n!==null&&n!==t){const r={type:h.Text,text:n},o={type:h.Run,children:[r]},a={type:h.Paragraph,children:[o]};e.children=[a];const c=this.commentRanges.get(e.id);if(c!=null&&c.panelElement){const l=c.panelElement.querySelector(`.${this.classPrefix}-comment-content`);l&&(l.textContent=n)}this.options.onCommentChange(e,"update")}}deleteComment(e){var r,o;if(!confirm("确定要删除这条评论吗?"))return;const t=(r=this.document)==null?void 0:r.commentMap.get(e);if(!t)return;const n=this.commentRanges.get(e);if(n&&(n.highlightElements.forEach(a=>{a.classList.remove(`${this.classPrefix}-highlight`),a.classList.remove(`${this.classPrefix}-highlight--active`)}),(o=n.panelElement)==null||o.remove()),this.document){const a=this.document.comments.indexOf(t);a>-1&&this.document.comments.splice(a,1),this.document.commentMap.delete(e)}this.commentRanges.delete(e),this.options.onCommentChange(t,"delete"),this.updateLines()}applyParagraphStyles(e,t){const n=[];if(t.justification){const r={left:"left",center:"center",right:"right",both:"justify"};n.push(`text-align: ${r[t.justification]||"left"}`)}if(t.indentation&&(t.indentation.left&&n.push(`padding-left: ${t.indentation.left}`),t.indentation.right&&n.push(`padding-right: ${t.indentation.right}`),t.indentation.firstLine&&n.push(`text-indent: ${t.indentation.firstLine}`)),t.spacing&&(t.spacing.before&&n.push(`margin-top: ${t.spacing.before}`),t.spacing.after&&n.push(`margin-bottom: ${t.spacing.after}`),t.spacing.line!==void 0)){const r=t.spacing.line;switch(t.spacing.lineRule){case"auto":n.push(`line-height: ${(r/240).toFixed(2)}`);break;case"atLeast":n.push(`line-height: calc(100% + ${r/20}pt)`);break;case"exact":default:n.push(`line-height: ${r/20}pt`);break}}n.length>0&&(e.style.cssText=n.join("; "))}renderRun(e){if(this.skipFieldContent&&!(e.children||[]).some(r=>r.type===h.ComplexField&&r.charType==="end"))return null;const t=this.createElement("span",`${this.classPrefix}-run`);if(this.currentCommentIds.size>0){t.classList.add(`${this.classPrefix}-highlight`);for(const n of this.currentCommentIds){t.classList.add(`${this.classPrefix}-highlight-${n}`),t.dataset.commentId=n;const r=this.commentRanges.get(n);r&&r.highlightElements.push(t)}t.addEventListener("click",()=>{const n=t.dataset.commentId;n&&this.highlightComment(n)})}return e.props&&this.applyRunStyles(t,e.props),this.renderChildren(e.children||[],t),t.childNodes.length===0?null:t}applyRunStyles(e,t){const n=[];t.bold&&n.push("font-weight: bold"),t.italic&&n.push("font-style: italic");const r=[];if(t.underline&&t.underline!=="none"&&(e.classList.add(`${this.classPrefix}-underline-${t.underline}`),this.isComplexUnderline(t.underline)||r.push("underline")),t.strike&&r.push("line-through"),t.dstrike&&e.classList.add(`${this.classPrefix}-dstrike`),r.length>0&&n.push(`text-decoration: ${r.join(" ")}`),t.vertAlign&&e.classList.add(`${this.classPrefix}-${t.vertAlign}`),t.color&&n.push(`color: ${t.color}`),t.fontSize&&n.push(`font-size: ${t.fontSize}`),t.fontFamily&&n.push(`font-family: "${t.fontFamily}"`),t.highlight){const o={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"};n.push(`background-color: ${o[t.highlight]||t.highlight}`)}n.length>0&&(e.style.cssText=n.join("; "))}isComplexUnderline(e){return["double","thick","dotted","dottedHeavy","dash","dashedHeavy","dashLong","dashLongHeavy","dotDash","dashDotHeavy","dotDotDash","dashDotDotHeavy","wave","wavyHeavy","wavyDouble"].includes(e)}renderText(e){if(this.skipFieldContent)return null;const t=document.createElement("span");return t.textContent=e.text,t}renderBreak(e){switch(e.breakType){case"page":case"lastRenderedPageBreak":const t=this.createElement("div",`${this.classPrefix}-page-break`);return t.style.pageBreakAfter="always",t;case"column":const n=this.createElement("span",`${this.classPrefix}-column-break`);return n.style.breakAfter="column",n;default:return document.createElement("br")}}renderTab(){const e=this.createElement("span",`${this.classPrefix}-tab`);return e.innerHTML=" ",e}renderSymbol(e){const t=this.createElement("span",`${this.classPrefix}-symbol`);return e.font&&(t.style.fontFamily=`"${e.font}", "Segoe UI Symbol", "Apple Symbols", sans-serif`),e.char?t.textContent=e.char:t.textContent="□",t}renderSimpleField(e){const t=e.instruction.trim().toUpperCase(),n=this.evaluateFieldInstruction(t);if(n!==null){const o=this.createElement("span",`${this.classPrefix}-field`);return o.textContent=n,o}const r=this.createElement("span",`${this.classPrefix}-field`);return this.renderChildren(e.children||[],r),r}renderComplexField(e){switch(e.charType){case"begin":return this.inComplexField=!0,this.skipFieldContent=!1,this.currentFieldInstruction="",null;case"separate":const t=this.evaluateFieldInstruction(this.currentFieldInstruction.trim().toUpperCase());if(t!==null){this.skipFieldContent=!0;const n=this.createElement("span",`${this.classPrefix}-field`);return n.textContent=t,n}return null;case"end":return this.inComplexField=!1,this.skipFieldContent=!1,this.currentFieldInstruction="",null;default:return null}}renderFieldInstruction(e){return this.inComplexField&&(this.currentFieldInstruction+=e.text),null}evaluateFieldInstruction(e){switch(e.split(/\s+/)[0]){case"PAGE":return String(this.currentPageNumber);case"NUMPAGES":return String(this.totalPages);case"DATE":return new Date().toLocaleDateString("zh-CN");case"TIME":return new Date().toLocaleTimeString("zh-CN");default:return null}}renderTable(e){var r,o,a;const t=this.createElement("table",`${this.classPrefix}-table`);if(this.tableVerticalMerges.push(this.currentVerticalMerge),this.currentVerticalMerge=new Map,this.tableBordersStack.push(this.currentTableBorders),this.currentTableBorders=(r=e.props)==null?void 0:r.borders,this.currentTableRowCount=((o=e.children)==null?void 0:o.length)||0,this.currentTableColCount=((a=e.columns)==null?void 0:a.length)||0,this.currentTableRowIndex=0,e.columns&&e.columns.length>0){const c=document.createElement("colgroup");for(const l of e.columns){const m=document.createElement("col");l.width&&(m.style.width=l.width),c.appendChild(m)}t.appendChild(c)}e.props&&this.applyTableStyles(t,e.props);const n=document.createElement("tbody");for(const c of e.children||[]){this.currentCellCol=0;const l=this.renderTableRow(c);n.appendChild(l),this.currentTableRowIndex++}return t.appendChild(n),this.currentVerticalMerge=this.tableVerticalMerges.pop()||new Map,this.currentTableBorders=this.tableBordersStack.pop(),t}applyTableStyles(e,t){t.width&&(t.widthType,e.style.width=t.width),t.justification==="center"&&(e.style.marginLeft="auto",e.style.marginRight="auto"),t.cellSpacing&&(e.style.borderSpacing=t.cellSpacing,e.style.borderCollapse="separate")}borderToCss(e){if(!e||!e.style)return"none";const t=this.parseBorderType(e.style);if(t==="none")return"none";const n=e.width||"1px",r=e.color||"black";return`${n} ${t} ${r}`}parseBorderType(e){switch(e){case"single":return"solid";case"dashDotStroked":return"solid";case"dashed":return"dashed";case"dashSmallGap":return"dashed";case"dotDash":return"dotted";case"dotDotDash":return"dotted";case"dotted":return"dotted";case"double":return"double";case"doubleWave":return"double";case"inset":return"inset";case"nil":return"none";case"none":return"none";case"outset":return"outset";case"thick":return"solid";case"thickThinLargeGap":return"solid";case"thickThinMediumGap":return"solid";case"thickThinSmallGap":return"solid";case"thinThickLargeGap":return"solid";case"thinThickMediumGap":return"solid";case"thinThickSmallGap":return"solid";case"thinThickThinLargeGap":return"solid";case"thinThickThinMediumGap":return"solid";case"thinThickThinSmallGap":return"solid";case"threeDEmboss":return"solid";case"threeDEngrave":return"solid";case"triple":return"double";case"wave":return"solid";default:return"solid"}}applyCellBorders(e,t,n,r,o){const a=this.currentTableBorders,c=n===0,l=n===this.currentTableRowCount-1,m=r===0,d=r+o>=this.currentTableColCount;let p=t==null?void 0:t.top;p||(c?p=a==null?void 0:a.top:p=a==null?void 0:a.insideH),p&&(e.style.borderTop=this.borderToCss(p));let u=t==null?void 0:t.bottom;u||(l?u=a==null?void 0:a.bottom:u=a==null?void 0:a.insideH),u&&(e.style.borderBottom=this.borderToCss(u));let f=t==null?void 0:t.left;f||(m?f=a==null?void 0:a.left:f=a==null?void 0:a.insideV),f&&(e.style.borderLeft=this.borderToCss(f));let y=t==null?void 0:t.right;y||(d?y=a==null?void 0:a.right:y=a==null?void 0:a.insideV),y&&(e.style.borderRight=this.borderToCss(y))}renderTableRow(e){const t=this.createElement("tr",`${this.classPrefix}-tr`);this.currentCellCol=0;for(const n of e.children||[]){const r=this.renderTableCell(n);r&&t.appendChild(r)}return t}renderTableCell(e){const t=this.createElement("td",`${this.classPrefix}-td`),n=e.props,r=this.currentCellCol,o=(n==null?void 0:n.gridSpan)||1;if(n!=null&&n.verticalMerge)if(n.verticalMerge==="restart")this.currentVerticalMerge.set(r,t),t.rowSpan=1;else{const a=this.currentVerticalMerge.get(r);if(a)return a.rowSpan+=1,this.currentCellCol+=o,null}else this.currentVerticalMerge.delete(r);return n&&(n.width&&(t.style.width=n.width),n.verticalAlign&&(t.style.verticalAlign=n.verticalAlign),n.shading&&(t.style.backgroundColor=n.shading),o>1&&(t.colSpan=o)),this.applyCellBorders(t,n==null?void 0:n.borders,this.currentTableRowIndex,r,o),this.renderChildren(e.children||[],t),this.currentCellCol+=o,t}renderHyperlink(e){const t=document.createElement("a");return t.className=`${this.classPrefix}-link`,e.href?(t.href=e.href,t.target="_blank",t.rel="noopener noreferrer"):e.anchor&&(t.href=`#${e.anchor}`),this.renderChildren(e.children||[],t),t}renderDrawing(e){const t=this.createElement("span",`${this.classPrefix}-drawing`);return this.renderChildren(e.children||[],t),t}renderImage(e){const t=document.createElement("img");return t.className=`${this.classPrefix}-image`,t.src=e.src,e.width&&(t.style.width=e.width),e.height&&(t.style.height=e.height),e.alt&&(t.alt=e.alt),t}renderCommentRangeStart(e){this.currentCommentIds.add(e.id),this.commentStartInParagraph.add(e.id);const t=this.createElement("span",`${this.classPrefix}-comment-start`);t.dataset.commentId=e.id;const n=this.commentRanges.get(e.id);return n&&(n.startElement=t),t}renderCommentRangeEnd(e){this.currentCommentIds.delete(e.id);const t=this.createElement("span",`${this.classPrefix}-comment-end`);t.dataset.commentId=e.id;const n=this.commentRanges.get(e.id);return n&&(n.endElement=t),t}renderCommentReference(e){const t=this.createElement("span",`${this.classPrefix}-comment-ref`);return t.dataset.commentId=e.id,t.textContent="📝",t.title="查看评论",t.addEventListener("click",()=>{this.highlightComment(e.id)}),t}renderBookmarkStart(e){if(e.name.startsWith("_"))return this.createElement("span");const t=this.createElement("span",`${this.classPrefix}-bookmark`);return t.id=e.name,t.dataset.bookmarkId=e.id,t.dataset.bookmarkName=e.name,t}renderBookmarkEnd(e){return this.createElement("span")}renderFootnoteReference(e){this.footnoteCounter++,this.currentFootnoteIds.push(e.id);const t=this.createElement("sup",`${this.classPrefix}-footnote-ref`);return t.dataset.footnoteId=e.id,t.textContent=String(this.footnoteCounter),t.title="脚注",t.addEventListener("click",()=>{const n=document.getElementById(`${this.classPrefix}-footnote-${e.id}`);n==null||n.scrollIntoView({behavior:"smooth",block:"center"})}),t}renderEndnoteReference(e){this.endnoteCounter++,this.currentEndnoteIds.push(e.id);const t=this.createElement("sup",`${this.classPrefix}-endnote-ref`);return t.dataset.endnoteId=e.id,t.textContent=String(this.endnoteCounter),t.title="尾注",t.addEventListener("click",()=>{const n=document.getElementById(`${this.classPrefix}-endnote-${e.id}`);n==null||n.scrollIntoView({behavior:"smooth",block:"center"})}),t}renderFootnote(e){const t=this.createElement("li",`${this.classPrefix}-footnote`);return t.id=`${this.classPrefix}-footnote-${e.id}`,t.dataset.footnoteId=e.id,this.renderChildren(e.children||[],t),t}renderEndnote(e){const t=this.createElement("li",`${this.classPrefix}-endnote`);return t.id=`${this.classPrefix}-endnote-${e.id}`,t.dataset.endnoteId=e.id,this.renderChildren(e.children||[],t),t}renderPageFootnotes(e,t){var a;if(e.length===0||!((a=this.document)!=null&&a.footnotes))return;const n=this.createElement("div",`${this.classPrefix}-footnotes-section`),r=this.createElement("hr",`${this.classPrefix}-footnotes-separator`);n.appendChild(r);const o=this.createElement("ol",`${this.classPrefix}-footnotes-list`);for(const c of e){const l=this.document.footnotes.get(c);if(l){const m=this.renderFootnote(l);o.appendChild(m)}}n.appendChild(o),t.appendChild(n)}renderDocumentEndnotes(e){var o;if(this.currentEndnoteIds.length===0||!((o=this.document)!=null&&o.endnotes))return;const t=this.createElement("div",`${this.classPrefix}-endnotes-section`),n=this.createElement("h3",`${this.classPrefix}-endnotes-title`);n.textContent="尾注",t.appendChild(n);const r=this.createElement("ol",`${this.classPrefix}-endnotes-list`);for(const a of this.currentEndnoteIds){const c=this.document.endnotes.get(a);if(c){const l=this.renderEndnote(c);r.appendChild(l)}}t.appendChild(r),e.appendChild(t)}renderChildren(e,t){for(const n of e){const r=this.renderElement(n);r&&t.appendChild(r)}}createElement(e,t){const n=document.createElement(e);return t&&(n.className=t),n}formatDate(e){try{return new Date(e).toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit"})}catch{return e}}escapeHtml(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}getDocument(){return this.document}}class K{constructor(e){g(this,"parser");g(this,"renderer");g(this,"document",null);this.parser=new q,this.renderer=new Y(e)}async render(e){this.document=await this.parser.parse(e),this.renderer.render(this.document)}getDocument(){return this.document}getComments(){var e;return((e=this.document)==null?void 0:e.comments)||[]}getParser(){return this.parser}}async function Ne(i,e,t){const n=new K({container:e,...t});return await n.render(i),n}b.DOCX_PARTS=k,b.DocumentParser=q,b.DocumentRenderer=Y,b.DocxRender=K,b.DomType=h,b.XML_NS=B,b.applyTintShade=z,b.buildCommentTree=W,b.buildFontFamily=fe,b.cleanupFontStyles=Pe,b.getEmbedFontRefs=ue,b.getFontDeclaration=he,b.getSubstituteFontName=de,b.hasEmbeddedFont=me,b.loadEmbeddedFonts=U,b.parseCommentsExtended=V,b.parseFontTable=O,b.parseTheme=L,b.renderDocx=Ne,b.resolveThemeColor=H,b.resolveThemeFont=re,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
|
|
38
|
+
`,t.addEventListener("mouseenter",()=>this.highlightComment(e.id)),t.addEventListener("mouseleave",()=>this.unhighlightComment(e.id)),t.addEventListener("click",()=>{this.selectComment(e.id),this.options.onCommentClick(e)});const o=t.querySelector(".edit");o==null||o.addEventListener("click",c=>{c.stopPropagation(),this.editComment(e)});const i=t.querySelector(".delete");return i==null||i.addEventListener("click",c=>{c.stopPropagation(),this.deleteComment(e.id)}),t}getCommentText(e){const t=[],r=a=>{for(const o of a)o.type===X.Text&&t.push(o.text),o.children&&r(o.children)};r(e.children||[]);const n=t.join("");return!n&&e.rawText?(console.log("[DEBUG] Comment",e.id,"using rawText:",e.rawText),e.rawText):(console.log("[DEBUG] Comment",e.id,"text result:",n),n||"")}highlightComment(e){var r;this.activeCommentId=e;const t=this.commentRanges.get(e);t&&(t.highlightElements.forEach(n=>{n.classList.add(`${this.classPrefix}-highlight--active`)}),(r=t.panelElement)==null||r.classList.add(`${this.classPrefix}-comment-bubble--active`)),this.updateLines()}unhighlightComment(e){var r;this.activeCommentId===e&&(this.activeCommentId=null);const t=this.commentRanges.get(e);t&&(t.highlightElements.forEach(n=>{n.classList.remove(`${this.classPrefix}-highlight--active`)}),(r=t.panelElement)==null||r.classList.remove(`${this.classPrefix}-comment-bubble--active`)),this.updateLines()}selectComment(e){this.activeCommentId=e,this.updateLines()}editComment(e){const t=this.getCommentText(e),r=prompt("编辑评论:",t);if(r!==null&&r!==t){const n={type:X.Text,text:r},a={type:X.Run,children:[n]},o={type:X.Paragraph,children:[a]};e.children=[o];const i=this.commentRanges.get(e.id);if(i!=null&&i.panelElement){const c=i.panelElement.querySelector(`.${this.classPrefix}-comment-content`);c&&(c.textContent=r)}this.options.onCommentChange(e,"update")}}deleteComment(e){var n,a;if(!confirm("确定要删除这条评论吗?"))return;const t=(n=this.document)==null?void 0:n.commentMap.get(e);if(!t)return;const r=this.commentRanges.get(e);if(r&&(r.highlightElements.forEach(o=>{o.classList.remove(`${this.classPrefix}-highlight`),o.classList.remove(`${this.classPrefix}-highlight--active`)}),(a=r.panelElement)==null||a.remove()),this.document){const o=this.document.comments.indexOf(t);o>-1&&this.document.comments.splice(o,1),this.document.commentMap.delete(e)}this.commentRanges.delete(e),this.options.onCommentChange(t,"delete"),this.updateLines()}applyParagraphStyles(e,t){const r=[];if(t.justification){const n={left:"left",center:"center",right:"right",both:"justify"};r.push(`text-align: ${n[t.justification]||"left"}`)}if(t.indentation&&(t.indentation.left&&r.push(`padding-left: ${t.indentation.left}`),t.indentation.right&&r.push(`padding-right: ${t.indentation.right}`),t.indentation.firstLine&&r.push(`text-indent: ${t.indentation.firstLine}`)),t.spacing&&(t.spacing.before&&r.push(`margin-top: ${t.spacing.before}`),t.spacing.after&&r.push(`margin-bottom: ${t.spacing.after}`),t.spacing.line!==void 0)){const n=t.spacing.line;switch(t.spacing.lineRule){case"auto":r.push(`line-height: ${(n/240).toFixed(2)}`);break;case"atLeast":r.push(`line-height: calc(100% + ${n/20}pt)`);break;case"exact":default:r.push(`line-height: ${n/20}pt`);break}}r.length>0&&(e.style.cssText=r.join("; "))}renderRun(e){if(this.skipFieldContent&&!(e.children||[]).some(n=>n.type===X.ComplexField&&n.charType==="end"))return null;const t=this.createElement("span",`${this.classPrefix}-run`);if(this.currentCommentIds.size>0){t.classList.add(`${this.classPrefix}-highlight`);for(const r of this.currentCommentIds){t.classList.add(`${this.classPrefix}-highlight-${r}`),t.dataset.commentId=r;const n=this.commentRanges.get(r);n&&n.highlightElements.push(t)}t.addEventListener("click",()=>{const r=t.dataset.commentId;r&&this.highlightComment(r)})}return e.props&&this.applyRunStyles(t,e.props),this.renderChildren(e.children||[],t),t.childNodes.length===0?null:t}applyRunStyles(e,t){const r=[];t.bold&&r.push("font-weight: bold"),t.italic&&r.push("font-style: italic");const n=[];if(t.underline&&t.underline!=="none"&&(e.classList.add(`${this.classPrefix}-underline-${t.underline}`),this.isComplexUnderline(t.underline)||n.push("underline")),t.strike&&n.push("line-through"),t.dstrike&&e.classList.add(`${this.classPrefix}-dstrike`),n.length>0&&r.push(`text-decoration: ${n.join(" ")}`),t.vertAlign&&e.classList.add(`${this.classPrefix}-${t.vertAlign}`),t.color&&r.push(`color: ${t.color}`),t.fontSize&&r.push(`font-size: ${t.fontSize}`),t.fontFamily&&r.push(`font-family: "${t.fontFamily}"`),t.highlight){const a={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"};r.push(`background-color: ${a[t.highlight]||t.highlight}`)}r.length>0&&(e.style.cssText=r.join("; "))}isComplexUnderline(e){return["double","thick","dotted","dottedHeavy","dash","dashedHeavy","dashLong","dashLongHeavy","dotDash","dashDotHeavy","dotDotDash","dashDotDotHeavy","wave","wavyHeavy","wavyDouble"].includes(e)}renderText(e){if(this.skipFieldContent)return null;const t=document.createElement("span");return t.textContent=e.text,t}renderBreak(e){switch(e.breakType){case"page":case"lastRenderedPageBreak":const t=this.createElement("div",`${this.classPrefix}-page-break`);return t.style.pageBreakAfter="always",t;case"column":const r=this.createElement("span",`${this.classPrefix}-column-break`);return r.style.breakAfter="column",r;default:return document.createElement("br")}}renderTab(){const e=this.createElement("span",`${this.classPrefix}-tab`);return e.innerHTML=" ",e}renderSymbol(e){const t=this.createElement("span",`${this.classPrefix}-symbol`);return e.font&&(t.style.fontFamily=`"${e.font}", "Segoe UI Symbol", "Apple Symbols", sans-serif`),e.char?t.textContent=e.char:t.textContent="□",t}renderSimpleField(e){const t=e.instruction.trim().toUpperCase(),r=this.evaluateFieldInstruction(t);if(r!==null){const a=this.createElement("span",`${this.classPrefix}-field`);return a.textContent=r,a}const n=this.createElement("span",`${this.classPrefix}-field`);return this.renderChildren(e.children||[],n),n}renderComplexField(e){switch(e.charType){case"begin":return this.inComplexField=!0,this.skipFieldContent=!1,this.currentFieldInstruction="",null;case"separate":const t=this.evaluateFieldInstruction(this.currentFieldInstruction.trim().toUpperCase());if(t!==null){this.skipFieldContent=!0;const r=this.createElement("span",`${this.classPrefix}-field`);return r.textContent=t,r}return null;case"end":return this.inComplexField=!1,this.skipFieldContent=!1,this.currentFieldInstruction="",null;default:return null}}renderFieldInstruction(e){return this.inComplexField&&(this.currentFieldInstruction+=e.text),null}evaluateFieldInstruction(e){switch(e.split(/\s+/)[0]){case"PAGE":return String(this.currentPageNumber);case"NUMPAGES":return String(this.totalPages);case"DATE":return new Date().toLocaleDateString("zh-CN");case"TIME":return new Date().toLocaleTimeString("zh-CN");default:return null}}renderTable(e){var n,a,o;const t=this.createElement("table",`${this.classPrefix}-table`);if(this.tableVerticalMerges.push(this.currentVerticalMerge),this.currentVerticalMerge=new Map,this.tableBordersStack.push(this.currentTableBorders),this.currentTableBorders=(n=e.props)==null?void 0:n.borders,this.currentTableRowCount=((a=e.children)==null?void 0:a.length)||0,this.currentTableColCount=((o=e.columns)==null?void 0:o.length)||0,this.currentTableRowIndex=0,e.columns&&e.columns.length>0){const i=document.createElement("colgroup");for(const c of e.columns){const p=document.createElement("col");c.width&&(p.style.width=c.width),i.appendChild(p)}t.appendChild(i)}e.props&&this.applyTableStyles(t,e.props);const r=document.createElement("tbody");for(const i of e.children||[]){this.currentCellCol=0;const c=this.renderTableRow(i);r.appendChild(c),this.currentTableRowIndex++}return t.appendChild(r),this.currentVerticalMerge=this.tableVerticalMerges.pop()||new Map,this.currentTableBorders=this.tableBordersStack.pop(),t}applyTableStyles(e,t){t.width&&(t.widthType,e.style.width=t.width),t.justification==="center"&&(e.style.marginLeft="auto",e.style.marginRight="auto"),t.cellSpacing&&(e.style.borderSpacing=t.cellSpacing,e.style.borderCollapse="separate")}borderToCss(e){if(!e||!e.style)return"none";const t=this.parseBorderType(e.style);if(t==="none")return"none";const r=e.width||"1px",n=e.color||"black";return`${r} ${t} ${n}`}parseBorderType(e){switch(e){case"single":return"solid";case"dashDotStroked":return"solid";case"dashed":return"dashed";case"dashSmallGap":return"dashed";case"dotDash":return"dotted";case"dotDotDash":return"dotted";case"dotted":return"dotted";case"double":return"double";case"doubleWave":return"double";case"inset":return"inset";case"nil":return"none";case"none":return"none";case"outset":return"outset";case"thick":return"solid";case"thickThinLargeGap":return"solid";case"thickThinMediumGap":return"solid";case"thickThinSmallGap":return"solid";case"thinThickLargeGap":return"solid";case"thinThickMediumGap":return"solid";case"thinThickSmallGap":return"solid";case"thinThickThinLargeGap":return"solid";case"thinThickThinMediumGap":return"solid";case"thinThickThinSmallGap":return"solid";case"threeDEmboss":return"solid";case"threeDEngrave":return"solid";case"triple":return"double";case"wave":return"solid";default:return"solid"}}applyCellBorders(e,t,r,n,a){const o=this.currentTableBorders,i=r===0,c=r===this.currentTableRowCount-1,p=n===0,f=n+a>=this.currentTableColCount;let _=t==null?void 0:t.top;_||(i?_=o==null?void 0:o.top:_=o==null?void 0:o.insideH),_&&(e.style.borderTop=this.borderToCss(_));let g=t==null?void 0:t.bottom;g||(c?g=o==null?void 0:o.bottom:g=o==null?void 0:o.insideH),g&&(e.style.borderBottom=this.borderToCss(g));let h=t==null?void 0:t.left;h||(p?h=o==null?void 0:o.left:h=o==null?void 0:o.insideV),h&&(e.style.borderLeft=this.borderToCss(h));let b=t==null?void 0:t.right;b||(f?b=o==null?void 0:o.right:b=o==null?void 0:o.insideV),b&&(e.style.borderRight=this.borderToCss(b))}renderTableRow(e){const t=this.createElement("tr",`${this.classPrefix}-tr`);this.currentCellCol=0;for(const r of e.children||[]){const n=this.renderTableCell(r);n&&t.appendChild(n)}return t}renderTableCell(e){const t=this.createElement("td",`${this.classPrefix}-td`),r=e.props,n=this.currentCellCol,a=(r==null?void 0:r.gridSpan)||1;if(r!=null&&r.verticalMerge)if(r.verticalMerge==="restart")this.currentVerticalMerge.set(n,t),t.rowSpan=1;else{const o=this.currentVerticalMerge.get(n);if(o)return o.rowSpan+=1,this.currentCellCol+=a,null}else this.currentVerticalMerge.delete(n);return r&&(r.width&&(t.style.width=r.width),r.verticalAlign&&(t.style.verticalAlign=r.verticalAlign),r.shading&&(t.style.backgroundColor=r.shading),a>1&&(t.colSpan=a)),this.applyCellBorders(t,r==null?void 0:r.borders,this.currentTableRowIndex,n,a),this.renderChildren(e.children||[],t),this.currentCellCol+=a,t}renderHyperlink(e){const t=document.createElement("a");return t.className=`${this.classPrefix}-link`,e.href?(t.href=e.href,t.target="_blank",t.rel="noopener noreferrer"):e.anchor&&(t.href=`#${e.anchor}`),this.renderChildren(e.children||[],t),t}renderDrawing(e){const t=this.createElement("span",`${this.classPrefix}-drawing`);return this.renderChildren(e.children||[],t),t}renderImage(e){const t=document.createElement("img");return t.className=`${this.classPrefix}-image`,t.src=e.src,e.width&&(t.style.width=e.width),e.height&&(t.style.height=e.height),e.alt&&(t.alt=e.alt),t}renderCommentRangeStart(e){this.currentCommentIds.add(e.id),this.commentStartInParagraph.add(e.id);const t=this.createElement("span",`${this.classPrefix}-comment-start`);t.dataset.commentId=e.id;const r=this.commentRanges.get(e.id);return r&&(r.startElement=t),t}renderCommentRangeEnd(e){this.currentCommentIds.delete(e.id);const t=this.createElement("span",`${this.classPrefix}-comment-end`);t.dataset.commentId=e.id;const r=this.commentRanges.get(e.id);return r&&(r.endElement=t),t}renderCommentReference(e){const t=this.createElement("span",`${this.classPrefix}-comment-ref`);return t.dataset.commentId=e.id,t.textContent="📝",t.title="查看评论",t.addEventListener("click",()=>{this.highlightComment(e.id)}),t}renderBookmarkStart(e){if(e.name.startsWith("_"))return this.createElement("span");const t=this.createElement("span",`${this.classPrefix}-bookmark`);return t.id=e.name,t.dataset.bookmarkId=e.id,t.dataset.bookmarkName=e.name,t}renderBookmarkEnd(e){return this.createElement("span")}renderFootnoteReference(e){this.footnoteCounter++,this.currentFootnoteIds.push(e.id);const t=this.createElement("sup",`${this.classPrefix}-footnote-ref`);return t.dataset.footnoteId=e.id,t.textContent=String(this.footnoteCounter),t.title="脚注",t.addEventListener("click",()=>{const r=document.getElementById(`${this.classPrefix}-footnote-${e.id}`);r==null||r.scrollIntoView({behavior:"smooth",block:"center"})}),t}renderEndnoteReference(e){this.endnoteCounter++,this.currentEndnoteIds.push(e.id);const t=this.createElement("sup",`${this.classPrefix}-endnote-ref`);return t.dataset.endnoteId=e.id,t.textContent=String(this.endnoteCounter),t.title="尾注",t.addEventListener("click",()=>{const r=document.getElementById(`${this.classPrefix}-endnote-${e.id}`);r==null||r.scrollIntoView({behavior:"smooth",block:"center"})}),t}renderFootnote(e){const t=this.createElement("li",`${this.classPrefix}-footnote`);return t.id=`${this.classPrefix}-footnote-${e.id}`,t.dataset.footnoteId=e.id,this.renderChildren(e.children||[],t),t}renderEndnote(e){const t=this.createElement("li",`${this.classPrefix}-endnote`);return t.id=`${this.classPrefix}-endnote-${e.id}`,t.dataset.endnoteId=e.id,this.renderChildren(e.children||[],t),t}renderPageFootnotes(e,t){var o;if(e.length===0||!((o=this.document)!=null&&o.footnotes))return;const r=this.createElement("div",`${this.classPrefix}-footnotes-section`),n=this.createElement("hr",`${this.classPrefix}-footnotes-separator`);r.appendChild(n);const a=this.createElement("ol",`${this.classPrefix}-footnotes-list`);for(const i of e){const c=this.document.footnotes.get(i);if(c){const p=this.renderFootnote(c);a.appendChild(p)}}r.appendChild(a),t.appendChild(r)}renderDocumentEndnotes(e){var a;if(this.currentEndnoteIds.length===0||!((a=this.document)!=null&&a.endnotes))return;const t=this.createElement("div",`${this.classPrefix}-endnotes-section`),r=this.createElement("h3",`${this.classPrefix}-endnotes-title`);r.textContent="尾注",t.appendChild(r);const n=this.createElement("ol",`${this.classPrefix}-endnotes-list`);for(const o of this.currentEndnoteIds){const i=this.document.endnotes.get(o);if(i){const c=this.renderEndnote(i);n.appendChild(c)}}t.appendChild(n),e.appendChild(t)}renderChildren(e,t){for(const r of e){const n=this.renderElement(r);n&&t.appendChild(n)}}createElement(e,t){const r=document.createElement(e);return t&&(r.className=t),r}formatDate(e){try{return new Date(e).toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit"})}catch{return e}}escapeHtml(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}getDocument(){return this.document}}class Jt{constructor(e){nt(this,"parser");nt(this,"renderer");nt(this,"document",null);this.parser=new Kt,this.renderer=new qt(e)}async render(e){this.document=await this.parser.parse(e),this.renderer.render(this.document)}getDocument(){return this.document}getComments(){var e;return((e=this.document)==null?void 0:e.comments)||[]}getParser(){return this.parser}}async function Ne(x,e,t){const r=new Jt({container:e,...t});return await r.render(x),r}at.DOCX_PARTS=mt,at.DocumentParser=Kt,at.DocumentRenderer=qt,at.DocxRender=Jt,at.DomType=X,at.XML_NS=Dt,at.applyTintShade=$t,at.buildCommentTree=Xt,at.buildFontFamily=_e,at.cleanupFontStyles=Pe,at.getEmbedFontRefs=ye,at.getFontDeclaration=ge,at.getSubstituteFontName=me,at.hasEmbeddedFont=be,at.loadEmbeddedFonts=Zt,at.parseCommentsExtended=Vt,at.parseFontTable=jt,at.parseTheme=Lt,at.renderDocx=Ne,at.resolveThemeColor=Ut,at.resolveThemeFont=le,Object.defineProperty(at,Symbol.toStringTag,{value:"Module"})});
|