w-md2docx 1.0.0
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/.editorconfig +9 -0
- package/.eslintignore +3 -0
- package/.eslintrc.js +55 -0
- package/.jsdoc +25 -0
- package/LICENSE +21 -0
- package/README.md +83 -0
- package/SECURITY.md +5 -0
- package/babel.config.js +16 -0
- package/dist/w-md2docx.umd.js +7 -0
- package/dist/w-md2docx.umd.js.map +1 -0
- package/docs/ApiClient.mjs.html +539 -0
- package/docs/ApiServer.mjs.html +516 -0
- package/docs/WMd2docx.mjs.html +101 -0
- package/docs/cvMdTo.mjs.html +288 -0
- package/docs/cvMdToDocx.mjs.html +243 -0
- package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
- package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
- package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
- package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
- package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
- package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
- package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
- package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +978 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1049 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
- package/docs/global.html +5453 -0
- package/docs/index.html +84 -0
- package/docs/scripts/collapse.js +39 -0
- package/docs/scripts/commonNav.js +28 -0
- package/docs/scripts/linenumber.js +25 -0
- package/docs/scripts/nav.js +12 -0
- package/docs/scripts/polyfill.js +4 -0
- package/docs/scripts/prettify/Apache-License-2.0.txt +202 -0
- package/docs/scripts/prettify/lang-css.js +2 -0
- package/docs/scripts/prettify/prettify.js +28 -0
- package/docs/scripts/search.js +99 -0
- package/docs/styles/jsdoc.css +776 -0
- package/docs/styles/prettify.css +80 -0
- package/docs/utils.mjs.html +520 -0
- package/g.mjs +34 -0
- package/package.json +32 -0
- package/script.txt +18 -0
- package/src/ApiClient.mjs +467 -0
- package/src/ApiServer.mjs +444 -0
- package/src/WMd2docx.mjs +29 -0
- package/src/cvMdTo.mjs +216 -0
- package/src/cvMdToDocx.mjs +171 -0
- package/src/templates/temp_tpc.docx +0 -0
- package/src/utils.mjs +448 -0
- package/test/api-ApiClient.test.mjs +221 -0
- package/test/api-ApiServer.test.mjs +191 -0
- package/test/cocktail.svg +3 -0
- package/test/report.md +257 -0
- package/test/unit-cvMdTo.test.mjs +132 -0
- package/test/unit-cvMdToDocx.test.mjs +185 -0
- package/test/unit-utils.test.mjs +370 -0
- package/toolg/addVersion.mjs +4 -0
- package/toolg/cleanFolder.mjs +5 -0
- package/toolg/gDistRollup.mjs +56 -0
- package/toolg/gDocsExams.mjs +51 -0
- package/toolg/modifyReadme.mjs +4 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* w-md2docx v1.0.0
|
|
3
|
+
* (c) 2018-2021 yuda-lyu(semisphere)
|
|
4
|
+
* Released under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("fs"),require("os"),require("path"),require("sharp"),require("marked"),require("marked-katex-extension"),require("marked-footnote"),require("highlight.js"),require("marked-highlight"),require("dompurify"),require("process"),require("child_process"),require("url"),require("@hapi/hapi")):"function"==typeof define&&define.amd?define(["fs","os","path","sharp","marked","marked-katex-extension","marked-footnote","highlight.js","marked-highlight","dompurify","process","child_process","url","@hapi/hapi"],e):(t="undefined"!=typeof globalThis?globalThis:t||self)["w-md2docx"]=e(t.fs,t.os,t.path,t.sharp,t.marked,t["marked-katex-extension"],t["marked-footnote"],t.highlight.js,t["marked-highlight"],t.dompurify,t.process,t.child_process,t.url,t["@hapi/hapi"])}(this,function(t,e,n,r,i,A,o,s,a,c,l,u,h,d){"use strict";var f="undefined"!=typeof document?document.currentScript:null,g=Array.isArray,p="object"==typeof global&&global&&global.Object===Object&&global,m="object"==typeof self&&self&&self.Object===Object&&self,b=p||m||Function("return this")(),I=b.Symbol,y=Object.prototype,w=y.hasOwnProperty,B=y.toString,C=I?I.toStringTag:void 0;var x=Object.prototype.toString;var k=I?I.toStringTag:void 0;function v(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":k&&k in Object(t)?function(t){var e=w.call(t,C),n=t[C];try{t[C]=void 0;var r=!0}catch(t){}var i=B.call(t);return r&&(e?t[C]=n:delete t[C]),i}(t):function(t){return x.call(t)}(t)}function S(t){return null!=t&&"object"==typeof t}function D(t){return"symbol"==typeof t||S(t)&&"[object Symbol]"==v(t)}var F=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,E=/^\w*$/;function Q(t,e){if(g(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!D(t))||(E.test(t)||!F.test(t)||null!=e&&t in Object(e))}function W(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function N(t){if(!W(t))return!1;var e=v(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var K,G=b["__core-js_shared__"],Y=(K=/[^.]+$/.exec(G&&G.keys&&G.keys.IE_PROTO||""))?"Symbol(src)_1."+K:"";var j=Function.prototype.toString;function L(t){if(null!=t){try{return j.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var J=/^\[object .+?Constructor\]$/,R=Function.prototype,H=Object.prototype,Z=R.toString,O=H.hasOwnProperty,M=RegExp("^"+Z.call(O).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function U(t){return!(!W(t)||(e=t,Y&&Y in e))&&(N(t)?M:J).test(L(t));var e}function T(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return U(n)?n:void 0}var V=T(Object,"create");var P=Object.prototype.hasOwnProperty;var X=Object.prototype.hasOwnProperty;function z(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function _(t,e){return t===e||t!=t&&e!=e}function q(t,e){for(var n=t.length;n--;)if(_(t[n][0],e))return n;return-1}z.prototype.clear=function(){this.__data__=V?V(null):{},this.size=0},z.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},z.prototype.get=function(t){var e=this.__data__;if(V){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return P.call(e,t)?e[t]:void 0},z.prototype.has=function(t){var e=this.__data__;return V?void 0!==e[t]:X.call(e,t)},z.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=V&&void 0===e?"__lodash_hash_undefined__":e,this};var $=Array.prototype.splice;function tt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}tt.prototype.clear=function(){this.__data__=[],this.size=0},tt.prototype.delete=function(t){var e=this.__data__,n=q(e,t);return!(n<0)&&(n==e.length-1?e.pop():$.call(e,n,1),--this.size,!0)},tt.prototype.get=function(t){var e=this.__data__,n=q(e,t);return n<0?void 0:e[n][1]},tt.prototype.has=function(t){return q(this.__data__,t)>-1},tt.prototype.set=function(t,e){var n=this.__data__,r=q(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};var et=T(b,"Map");function nt(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map}function rt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}rt.prototype.clear=function(){this.size=0,this.__data__={hash:new z,map:new(et||tt),string:new z}},rt.prototype.delete=function(t){var e=nt(this,t).delete(t);return this.size-=e?1:0,e},rt.prototype.get=function(t){return nt(this,t).get(t)},rt.prototype.has=function(t){return nt(this,t).has(t)},rt.prototype.set=function(t,e){var n=nt(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};function it(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],A=n.cache;if(A.has(i))return A.get(i);var o=t.apply(this,r);return n.cache=A.set(i,o)||A,o};return n.cache=new(it.Cache||rt),n}it.Cache=rt;var At,ot,st,at=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ct=/\\(\\)?/g,lt=(At=function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(at,function(t,n,r,i){e.push(r?i.replace(ct,"$1"):n||t)}),e},ot=it(At,function(t){return 500===st.size&&st.clear(),t}),st=ot.cache,ot),ut=lt;function ht(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var dt=I?I.prototype:void 0,ft=dt?dt.toString:void 0;function gt(t){if("string"==typeof t)return t;if(g(t))return ht(t,gt)+"";if(D(t))return ft?ft.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function pt(t){return null==t?"":gt(t)}function mt(t,e){return g(t)?t:Q(t,e)?[t]:ut(pt(t))}function bt(t){if("string"==typeof t||D(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function It(t,e){for(var n=0,r=(e=mt(e,t)).length;null!=t&&n<r;)t=t[bt(e[n++])];return n&&n==r?t:void 0}function yt(t,e,n){var r=null==t?void 0:It(t,e);return void 0===r?n:r}function wt(t){return"[object String]"===Object.prototype.toString.call(t)}function Bt(t){return!(!wt(t)||""===t)}function Ct(t){return"[object Object]"===Object.prototype.toString.call(t)}function xt(t,e={}){let n=yt(e,"fs"),r=!1;try{n.statSync(t),r=!0}catch{r=!1}return r}function kt(e){return function(t,e={}){let n=yt(e,"fs");return!!xt(t,{fs:n})&&!n.lstatSync(t).isDirectory()&&!n.lstatSync(t).isSymbolicLink()}(e,{fs:t})}function vt(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}var St,Dt=function(t,e,n){for(var r=-1,i=Object(t),A=n(t),o=A.length;o--;){var s=A[St?o:++r];if(!1===e(i[s],s,i))break}return t};function Ft(t){return S(t)&&"[object Arguments]"==v(t)}var Et=Object.prototype,Qt=Et.hasOwnProperty,Wt=Et.propertyIsEnumerable,Nt=Ft(function(){return arguments}())?Ft:function(t){return S(t)&&Qt.call(t,"callee")&&!Wt.call(t,"callee")},Kt=Nt;var Gt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Yt=Gt&&"object"==typeof module&&module&&!module.nodeType&&module,jt=Yt&&Yt.exports===Gt?b.Buffer:void 0,Lt=(jt?jt.isBuffer:void 0)||function(){return!1},Jt=/^(?:0|[1-9]\d*)$/;function Rt(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&Jt.test(t))&&t>-1&&t%1==0&&t<e}function Ht(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var Zt={};function Ot(t){return function(e){return t(e)}}Zt["[object Float32Array]"]=Zt["[object Float64Array]"]=Zt["[object Int8Array]"]=Zt["[object Int16Array]"]=Zt["[object Int32Array]"]=Zt["[object Uint8Array]"]=Zt["[object Uint8ClampedArray]"]=Zt["[object Uint16Array]"]=Zt["[object Uint32Array]"]=!0,Zt["[object Arguments]"]=Zt["[object Array]"]=Zt["[object ArrayBuffer]"]=Zt["[object Boolean]"]=Zt["[object DataView]"]=Zt["[object Date]"]=Zt["[object Error]"]=Zt["[object Function]"]=Zt["[object Map]"]=Zt["[object Number]"]=Zt["[object Object]"]=Zt["[object RegExp]"]=Zt["[object Set]"]=Zt["[object String]"]=Zt["[object WeakMap]"]=!1;var Mt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ut=Mt&&"object"==typeof module&&module&&!module.nodeType&&module,Tt=Ut&&Ut.exports===Mt&&p.process,Vt=function(){try{var t=Ut&&Ut.require&&Ut.require("util").types;return t||Tt&&Tt.binding&&Tt.binding("util")}catch(t){}}(),Pt=Vt&&Vt.isTypedArray,Xt=Pt?Ot(Pt):function(t){return S(t)&&Ht(t.length)&&!!Zt[v(t)]},zt=Object.prototype.hasOwnProperty;function _t(t,e){var n=g(t),r=!n&&Kt(t),i=!n&&!r&&Lt(t),A=!n&&!r&&!i&&Xt(t),o=n||r||i||A,s=o?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],a=s.length;for(var c in t)!e&&!zt.call(t,c)||o&&("length"==c||i&&("offset"==c||"parent"==c)||A&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Rt(c,a))||s.push(c);return s}var qt=Object.prototype;function $t(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||qt)}function te(t,e){return function(n){return t(e(n))}}var ee=te(Object.keys,Object),ne=Object.prototype.hasOwnProperty;function re(t){if(!$t(t))return ee(t);var e=[];for(var n in Object(t))ne.call(t,n)&&"constructor"!=n&&e.push(n);return e}function ie(t){return null!=t&&Ht(t.length)&&!N(t)}function Ae(t){return ie(t)?_t(t):re(t)}var oe=function(t,e){return function(n,r){if(null==n)return n;if(!ie(n))return t(n,r);for(var i=n.length,A=e?i:-1,o=Object(n);(e?A--:++A<i)&&!1!==r(o[A],A,o););return n}}(function(t,e){return t&&Dt(t,e,Ae)}),se=oe;function ae(t){return t}function ce(t,e){var n;return(g(t)?vt:se)(t,"function"==typeof(n=e)?n:ae)}function le(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var A=Array(i);++r<i;)A[r]=t[r+e];return A}function ue(t,e,n){var r=t.length;return n=void 0===n?r:n,!e&&n>=r?t:le(t,e,n)}var he=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function de(t){return he.test(t)}var fe=Vt&&Vt.isRegExp,ge=fe?Ot(fe):function(t){return S(t)&&"[object RegExp]"==v(t)};var pe="\\ud800-\\udfff",me="["+pe+"]",be="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Ie="\\ud83c[\\udffb-\\udfff]",ye="[^"+pe+"]",we="(?:\\ud83c[\\udde6-\\uddff]){2}",Be="[\\ud800-\\udbff][\\udc00-\\udfff]",Ce="(?:"+be+"|"+Ie+")"+"?",xe="[\\ufe0e\\ufe0f]?",ke=xe+Ce+("(?:\\u200d(?:"+[ye,we,Be].join("|")+")"+xe+Ce+")*"),ve="(?:"+[ye+be+"?",be,we,Be,me].join("|")+")",Se=RegExp(Ie+"(?="+Ie+")|"+ve+ke,"g");function De(t){return de(t)?function(t){return t.match(Se)||[]}(t):function(t){return t.split("")}(t)}function Fe(t,e,n){return n&&"number"!=typeof n&&function(t,e,n){if(!W(n))return!1;var r=typeof e;return!!("number"==r?ie(n)&&Rt(e,n.length):"string"==r&&e in n)&&_(n[e],t)}(t,e,n)&&(e=n=void 0),(n=void 0===n?4294967295:n>>>0)?(t=pt(t))&&("string"==typeof e||null!=e&&!ge(e))&&!(e=gt(e))&&de(t)?ue(De(t),0,n):t.split(e,n):[]}var Ee=/\s/;var Qe=/^\s+/;function We(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&Ee.test(t.charAt(e)););return e}(t)+1).replace(Qe,""):t}function Ne(t){return t!=t}function Ke(t,e,n){return e==e?function(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}(t,e,n):function(t,e,n,r){for(var i=t.length,A=n+(r?1:-1);r?A--:++A<i;)if(e(t[A],A,t))return A;return-1}(t,Ne,n)}function Ge(t,e,n){if((t=pt(t))&&(n||void 0===e))return We(t);if(!t||!(e=gt(e)))return t;var r=De(t),i=De(e),A=function(t,e){for(var n=-1,r=t.length;++n<r&&Ke(e,t[n],0)>-1;);return n}(r,i),o=function(t,e){for(var n=t.length;n--&&Ke(e,t[n],0)>-1;);return n}(r,i)+1;return ue(r,A,o).join("")}var Ye=Array.prototype.join;function je(t,e){return null==t?"":Ye.call(t,e)}var Le=/^[-+]0x[0-9a-f]+$/i,Je=/^0b[01]+$/i,Re=/^0o[0-7]+$/i,He=parseInt;function Ze(t){if("number"==typeof t)return t;if(D(t))return NaN;if(W(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=W(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=We(t);var n=Je.test(t);return n||Re.test(t)?He(t.slice(2),n?2:8):Le.test(t)?NaN:+t}var Oe=1/0;function Me(t){return t?(t=Ze(t))===Oe||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Ue(t){var e=Me(t),n=e%1;return e==e?n?e-n:e:0}function Te(t,e,n){var r=null==t?0:t.length;return r?le(t,(e=n||void 0===e?1:Ue(e))<0?0:e,r):[]}var Ve=T(b,"DataView"),Pe=T(b,"Promise"),Xe=T(b,"Set"),ze=T(b,"WeakMap"),_e="[object Map]",qe="[object Promise]",$e="[object Set]",tn="[object WeakMap]",en="[object DataView]",nn=L(Ve),rn=L(et),An=L(Pe),on=L(Xe),sn=L(ze),an=v;(Ve&&an(new Ve(new ArrayBuffer(1)))!=en||et&&an(new et)!=_e||Pe&&an(Pe.resolve())!=qe||Xe&&an(new Xe)!=$e||ze&&an(new ze)!=tn)&&(an=function(t){var e=v(t),n="[object Object]"==e?t.constructor:void 0,r=n?L(n):"";if(r)switch(r){case nn:return en;case rn:return _e;case An:return qe;case on:return $e;case sn:return tn}return e});var cn=an;function ln(t){return function(e){return null==e?void 0:e[t]}}var un=ln("length"),hn="\\ud800-\\udfff",dn="["+hn+"]",fn="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",gn="\\ud83c[\\udffb-\\udfff]",pn="[^"+hn+"]",mn="(?:\\ud83c[\\udde6-\\uddff]){2}",bn="[\\ud800-\\udbff][\\udc00-\\udfff]",In="(?:"+fn+"|"+gn+")"+"?",yn="[\\ufe0e\\ufe0f]?",wn=yn+In+("(?:\\u200d(?:"+[pn,mn,bn].join("|")+")"+yn+In+")*"),Bn="(?:"+[pn+fn+"?",fn,mn,bn,dn].join("|")+")",Cn=RegExp(gn+"(?="+gn+")|"+Bn+wn,"g");function xn(t){return de(t)?function(t){for(var e=Cn.lastIndex=0;Cn.test(t);)++e;return e}(t):un(t)}function kn(t){if(null==t)return 0;if(ie(t))return"string"==typeof(e=t)||!g(e)&&S(e)&&"[object String]"==v(e)?xn(t):t.length;var e,n=cn(t);return"[object Map]"==n||"[object Set]"==n?t.size:re(t).length}var vn;function Sn(t){return!0===(e=t)||!1===e||S(e)&&"[object Boolean]"==v(e);var e}function Dn(t){let e=Object.prototype.toString.call(t);return"[object Function]"===e||"[object AsyncFunction]"===e}function Fn(t){let e,n=Object.prototype.toString.call(t);if(e="[object Promise]"===n,e)return!0;if("[object Function]"!==n)return!1;try{e="function"!=typeof t.subscribe&&"function"==typeof t.then}catch(t){}return e}function En(t,e,n){if(!Bt(t))return"";if(!Bt(e))return"";if(!wt(n))return"";return String(t).replaceAll(e,n)}!function(t){t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"}(vn||(vn={}));const Qn=vn.Root,Wn=vn.Text,Nn=vn.Directive,Kn=vn.Comment,Gn=vn.Script,Yn=vn.Style,jn=vn.Tag,Ln=vn.CDATA,Jn=vn.Doctype;class Rn{constructor(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}get parentNode(){return this.parent}set parentNode(t){this.parent=t}get previousSibling(){return this.prev}set previousSibling(t){this.prev=t}get nextSibling(){return this.next}set nextSibling(t){this.next=t}cloneNode(t=!1){return zn(this,t)}}class Hn extends Rn{constructor(t){super(),this.data=t}get nodeValue(){return this.data}set nodeValue(t){this.data=t}}class Zn extends Hn{constructor(){super(...arguments),this.type=vn.Text}get nodeType(){return 3}}class On extends Hn{constructor(){super(...arguments),this.type=vn.Comment}get nodeType(){return 8}}class Mn extends Hn{constructor(t,e){super(e),this.name=t,this.type=vn.Directive}get nodeType(){return 1}}class Un extends Rn{constructor(t){super(),this.children=t}get firstChild(){var t;return null!==(t=this.children[0])&&void 0!==t?t:null}get lastChild(){return this.children.length>0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(t){this.children=t}}class Tn extends Un{constructor(){super(...arguments),this.type=vn.CDATA}get nodeType(){return 4}}class Vn extends Un{constructor(){super(...arguments),this.type=vn.Root}get nodeType(){return 9}}class Pn extends Un{constructor(t,e,n=[],r=("script"===t?vn.Script:"style"===t?vn.Style:vn.Tag)){super(n),this.name=t,this.attribs=e,this.type=r}get nodeType(){return 1}get tagName(){return this.name}set tagName(t){this.name=t}get attributes(){return Object.keys(this.attribs).map(t=>{var e,n;return{name:t,value:this.attribs[t],namespace:null===(e=this["x-attribsNamespace"])||void 0===e?void 0:e[t],prefix:null===(n=this["x-attribsPrefix"])||void 0===n?void 0:n[t]}})}}function Xn(t){return(e=t).type===vn.Tag||e.type===vn.Script||e.type===vn.Style;var e}function zn(t,e=!1){let n;if(function(t){return t.type===vn.Text}(t))n=new Zn(t.data);else if(function(t){return t.type===vn.Comment}(t))n=new On(t.data);else if(Xn(t)){const r=e?_n(t.children):[],i=new Pn(t.name,{...t.attribs},r);r.forEach(t=>t.parent=i),null!=t.namespace&&(i.namespace=t.namespace),t["x-attribsNamespace"]&&(i["x-attribsNamespace"]={...t["x-attribsNamespace"]}),t["x-attribsPrefix"]&&(i["x-attribsPrefix"]={...t["x-attribsPrefix"]}),n=i}else if(function(t){return t.type===vn.CDATA}(t)){const r=e?_n(t.children):[],i=new Tn(r);r.forEach(t=>t.parent=i),n=i}else if(function(t){return t.type===vn.Root}(t)){const r=e?_n(t.children):[],i=new Vn(r);r.forEach(t=>t.parent=i),t["x-mode"]&&(i["x-mode"]=t["x-mode"]),n=i}else{if(!function(t){return t.type===vn.Directive}(t))throw new Error(`Not implemented yet: ${t.type}`);{const e=new Mn(t.name,t.data);null!=t["x-name"]&&(e["x-name"]=t["x-name"],e["x-publicId"]=t["x-publicId"],e["x-systemId"]=t["x-systemId"]),n=e}}return n.startIndex=t.startIndex,n.endIndex=t.endIndex,null!=t.sourceCodeLocation&&(n.sourceCodeLocation=t.sourceCodeLocation),n}function _n(t){const e=t.map(t=>zn(t,!0));for(let t=1;t<e.length;t++)e[t].prev=e[t-1],e[t-1].next=e[t];return e}const qn={withStartIndices:!1,withEndIndices:!1,xmlMode:!1};class $n{constructor(t,e,n){this.dom=[],this.root=new Vn(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,"function"==typeof e&&(n=e,e=qn),"object"==typeof t&&(e=t,t=void 0),this.callback=null!=t?t:null,this.options=null!=e?e:qn,this.elementCB=null!=n?n:null}onparserinit(t){this.parser=t}onreset(){this.dom=[],this.root=new Vn(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null}onend(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))}onerror(t){this.handleCallback(t)}onclosetag(){this.lastNode=null;const t=this.tagStack.pop();this.options.withEndIndices&&(t.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(t)}onopentag(t,e){const n=this.options.xmlMode?vn.Tag:void 0,r=new Pn(t,e,void 0,n);this.addNode(r),this.tagStack.push(r)}ontext(t){const{lastNode:e}=this;if(e&&e.type===vn.Text)e.data+=t,this.options.withEndIndices&&(e.endIndex=this.parser.endIndex);else{const e=new Zn(t);this.addNode(e),this.lastNode=e}}oncomment(t){if(this.lastNode&&this.lastNode.type===vn.Comment)return void(this.lastNode.data+=t);const e=new On(t);this.addNode(e),this.lastNode=e}oncommentend(){this.lastNode=null}oncdatastart(){const t=new Zn(""),e=new Tn([t]);this.addNode(e),t.parent=e,this.lastNode=t}oncdataend(){this.lastNode=null}onprocessinginstruction(t,e){const n=new Mn(t,e);this.addNode(n)}handleCallback(t){if("function"==typeof this.callback)this.callback(t,this.dom);else if(t)throw t}addNode(t){const e=this.tagStack[this.tagStack.length-1],n=e.children[e.children.length-1];this.options.withStartIndices&&(t.startIndex=this.parser.startIndex),this.options.withEndIndices&&(t.endIndex=this.parser.endIndex),e.children.push(t),n&&(t.prev=n,n.next=t),t.parent=e,this.lastNode=null}}const tr=/\n/g;function er(t,e){return{name:t.name,discard:t.discard,push:t.push,pop:t.pop,regex:ir(t,e),replacer:nr(t)?rr(t.regex,t.replace):void 0}}function nr(t){return Object.prototype.hasOwnProperty.call(t,"replace")}function rr(t,e){const n=function(t){return t.sticky?new RegExp(t.source,t.flags.replace("y","")):t}(t);return t=>t.replace(n,e)}function ir(t,e){if(0===t.name.length)throw new Error(`Rule #${e} has empty name, which is not allowed.`);if(function(t){return Object.prototype.hasOwnProperty.call(t,"regex")}(t))return function(t){if(t.global)throw new Error(`Regular expression /${t.source}/${t.flags} contains the global flag, which is not allowed.`);return t.sticky?t:new RegExp(t.source,t.flags+"y")}(t.regex);if(function(t){return Object.prototype.hasOwnProperty.call(t,"str")}(t)){if(0===t.str.length)throw new Error(`Rule #${e} ("${t.name}") has empty "str" property, which is not allowed.`);return new RegExp(Ar(t.str),"y")}return new RegExp(Ar(t.name),"y")}function Ar(t){return t.replace(/[-[\]{}()*+!<=:?./\\^$|#\s,]/g,"\\$&")}function or(t,e="",n={}){const r="string"!=typeof e?e:n,i="string"==typeof e?e:"",A=t.map(er),o=!!r.lineNumbers;return function(t,e=0){const n=o?function(t){const e=[...t.matchAll(tr)].map(t=>t.index||0);e.unshift(-1);let n=1;return t=>{for(;n>1&&t<e[n-1];)n--;for(;n<e.length&&t>e[n];)n++;return{line:n,column:t-e[n-1]}}}(t):void 0;let r={line:0,column:0},s=e;const a=[];t:for(;s<t.length;){let e=!1;for(const o of A){o.regex.lastIndex=s;const A=o.regex.exec(t);if(A&&A[0].length>0){if(o.discard||(n&&(r=n(s)),a.push({state:i,name:o.name,text:o.replacer?o.replacer(A[0]):A[0],offset:s,len:A[0].length,line:r.line,column:r.column})),s=o.regex.lastIndex,e=!0,o.push){const e=o.push(t,s);a.push(...e.tokens),s=e.offset}if(o.pop)break t;break}}if(!e)break}return{tokens:a,offset:s,complete:t.length<=s}}}function sr(t,e){return t.matched?{matched:!0,position:t.position,value:e(t.value,t.position)}:t}function ar(t,e){return t.matched?e(t):t}function cr(t,e,n){return(r,i)=>ar(t(r,i),t=>sr(e(r,t.position),(e,A)=>n(t.value,e,r,i,A)))}function lr(t,e,n,r){return(i,A)=>ar(t(i,A),t=>ar(e(i,t.position),e=>sr(n(i,e.position),(n,o)=>r(t.value,e.value,n,i,A,o))))}function ur(t,e){return(n,r)=>{const i=t(n,r);return i.matched?i:e(n,r)}}function hr(t){return(e,n)=>{throw new Error(t instanceof Function?t(e,n):t)}}function dr(...t){return(e,n)=>{for(const r of t){const t=r(e,n);if(t.matched)return t}return{matched:!1}}}function fr(t,e){return(n,r)=>sr(t(n,r),(t,i)=>e(t,n,r,i))}function gr(t,e,n){return r=t,i=t=>{return r=t,i=cr(e,n,(t,e)=>[t,e]),A=(t,[e,n])=>e(t,n),function(t,e){return(n,r)=>{let i=!0,A=t,o=r;do{const t=e(A,n,o)(n,o);t.matched?(A=t.value,o=t.position):i=!1}while(i);return{matched:!0,position:o,value:A}}}(r,t=>fr(i,(e,n,r,i)=>A(t,e,n,r,i)));var r,i,A},(t,e)=>ar(r(t,e),n=>i(n.value,t,e,n.position)(t,n.position));var r,i}function pr(t){return function(t,e){return(n,r)=>{const i=[];let A=!0;do{const o=t(n,r);o.matched&&e(o.value,i.length+1,n,r,o.position)?(i.push(o.value),r=o.position):A=!1}while(A);return{matched:!0,position:r,value:i}}}(t,()=>!0)}function mr(t,e,n){return lr(t,e,n,(t,e)=>e)}function br(t,e){return(n,r)=>{const i=t(n,r);return i.matched?i:{matched:!0,position:r,value:e}}}function Ir(t){return function(e,n){return t()(e,n)}}function yr(t,e){return cr(t,e,(t,e)=>e)}function wr(t,e){return(n,r)=>{let i,A=r;return r<n.tokens.length?(i=t(n.tokens[r],n,r),void 0!==i&&A++):e?.(n,r),void 0===i?{matched:!1}:{matched:!0,position:A,value:i}}}const Br="(?:\\n|\\r\\n|\\r|\\f)",Cr="[^\\x00-\\x7F]",xr="(?:\\\\[0-9a-f]{1,6}(?:\\r\\n|[ \\n\\r\\t\\f])?)",kr="(?:\\\\[^\\n\\r\\f0-9a-f])",vr=`(?:[_a-z0-9-]|${Cr}|${xr}|${kr})`,Sr=`(?:${vr}+)`,Dr=`(?:[-]?${`(?:[_a-z]|${Cr}|${xr}|${kr})`}${vr}*)`,Fr=`'([^\\n\\r\\f\\\\']|\\\\${Br}|${Cr}|${xr}|${kr})*'`,Er=`"([^\\n\\r\\f\\\\"]|\\\\${Br}|${Cr}|${xr}|${kr})*"`,Qr=or([{name:"ws",regex:new RegExp("(?:[ \\t\\r\\n\\f]*)")},{name:"hash",regex:new RegExp(`#${Sr}`,"i")},{name:"ident",regex:new RegExp(Dr,"i")},{name:"str1",regex:new RegExp(Fr,"i")},{name:"str2",regex:new RegExp(Er,"i")},{name:"*"},{name:"."},{name:","},{name:"["},{name:"]"},{name:"="},{name:">"},{name:"|"},{name:"+"},{name:"~"},{name:"^"},{name:"$"},{name:":"},{name:"("},{name:")"}]),Wr=or([{name:"unicode",regex:new RegExp(xr,"i")},{name:"escape",regex:new RegExp(kr,"i")},{name:"any",regex:new RegExp("[\\s\\S]","i")}]);function Nr([t,e,n],[r,i,A]){return[t+r,e+i,n+A]}function Kr(t){return t.reduce(Nr,[0,0,0])}function Gr([t,e,n],[r,i,A]){return t>r||t===r&&(e>i||e===i&&n>=A)?[t,e,n]:[r,i,A]}function Yr(t){return t.reduce(Gr,[0,0,0])}const jr=fr(pr(dr(wr(t=>"unicode"===t.name?String.fromCodePoint(parseInt(t.text.slice(1),16)):void 0),wr(t=>"escape"===t.name?t.text.slice(1):void 0),wr(t=>"any"===t.name?t.text:void 0))),t=>t.join(""));function Lr(t){const e=Wr(t);return jr({tokens:e.tokens,options:void 0},0).value}function Jr(t){return wr(e=>e.name===t||void 0)}const Rr=wr(t=>"ws"===t.name?null:void 0),Hr=br(Rr,null);function Zr(t){return mr(Hr,t,Hr)}const Or=wr(t=>"ident"===t.name?Lr(t.text):void 0),Mr=wr(t=>"hash"===t.name?Lr(t.text.slice(1)):void 0),Ur=wr(t=>t.name.startsWith("str")?Lr(t.text.slice(1,-1)):void 0),Tr=(Vr=br(Or,""),Pr=Jr("|"),cr(Vr,Pr,t=>t));var Vr,Pr;const Xr=ur(cr(Tr,Or,(t,e)=>({name:e,namespace:t})),fr(Or,t=>({name:t,namespace:null}))),zr=ur(cr(Tr,Jr("*"),t=>({type:"universal",namespace:t,specificity:[0,0,0]})),fr(Jr("*"),()=>({type:"universal",namespace:null,specificity:[0,0,0]}))),_r=fr(Xr,({name:t,namespace:e})=>({type:"tag",name:t,namespace:e,specificity:[0,0,1]})),qr=cr(Jr("."),Or,(t,e)=>({type:"class",name:e,specificity:[0,1,0]})),$r=fr(Mr,t=>({type:"id",name:t,specificity:[1,0,0]})),ti=wr(t=>{if("ident"===t.name){if("i"===t.text||"I"===t.text)return"i";if("s"===t.text||"S"===t.text)return"s"}}),ei=ur(cr(Ur,br(yr(Hr,ti),null),(t,e)=>({value:t,modifier:e})),cr(Or,br(yr(Rr,ti),null),(t,e)=>({value:t,modifier:e}))),ni=dr(fr(Jr("="),()=>"="),cr(Jr("~"),Jr("="),()=>"~="),cr(Jr("|"),Jr("="),()=>"|="),cr(Jr("^"),Jr("="),()=>"^="),cr(Jr("$"),Jr("="),()=>"$="),cr(Jr("*"),Jr("="),()=>"*=")),ri=lr(Jr("["),Zr(Xr),Jr("]"),(t,{name:e,namespace:n})=>({type:"attrPresence",name:e,namespace:n,specificity:[0,1,0]})),ii=mr(Jr("["),lr(Zr(Xr),ni,Zr(ei),({name:t,namespace:e},n,{value:r,modifier:i})=>({type:"attrValue",name:t,namespace:e,matcher:n,value:r,modifier:i,specificity:[0,1,0]})),Jr("]")),Ai=lr(Jr(":"),Or,function(t){return(e,n)=>t(e,n).matched?{matched:!1}:{matched:!0,position:n,value:!0}}((oi=Jr("("),(t,e)=>ar(oi(t,e),t=>({matched:!0,position:e,value:t.value})))),(t,e)=>({type:"pc",name:e,specificity:[0,1,0]}));var oi;function si(t){return function(t,e){return(n,r)=>ar(t(n,r),t=>e(t.value,n,r,t.position)?t:{matched:!1})}(Or,e=>e.toLowerCase()===t.toLowerCase())}function ai(t,e,n){return lr(mr(Jr(":"),si(t),ur(Jr("("),hr(`Expected opening parenthesis in :${t}()`))),ur(Zr(e),hr(`Expected ${n} in :${t}()`)),ur(Jr(")"),hr(`Expected closing parenthesis in :${t}()`)),(t,e)=>({name:t,content:e}))}const ci=dr(fr(ai("is",Ir(()=>pi),"selector list"),t=>({type:"fpc:is",name:t.name,list:t.content.list,specificity:Yr(t.content.list.map(t=>t.specificity))})),fr(ai("where",Ir(()=>pi),"selector list"),t=>({type:"fpc:where",name:t.name,list:t.content.list,specificity:[0,0,0]})),fr(ai("not",Ir(()=>pi),"selector list"),t=>({type:"fpc:not",name:t.name,list:t.content.list,specificity:Yr(t.content.list.map(t=>t.specificity))}))),li=ur(ri,ii),ui=ur(zr,_r),hi=dr($r,qr,li,ci,Ai),di=fr(ur(function(...t){return e=function(...t){return(e,n)=>{const r=[];let i=n;for(const n of t){const t=n(e,i);if(!t.matched)return{matched:!1};r.push(t.value),i=t.position}return{matched:!0,position:i,value:r}}}(...t),fr(e,t=>t.flatMap(t=>t));var e}(ui,pr(hi)),function(t){return cr(t,pr(t),(t,e)=>[t,...e])}(hi)),t=>({type:"compound",list:t,specificity:Kr(t.map(t=>t.specificity))})),fi=ur(Zr(dr(fr(Jr(">"),()=>">"),fr(Jr("+"),()=>"+"),fr(Jr("~"),()=>"~"),cr(Jr("|"),Jr("|"),()=>"||"))),fr(Rr,()=>" ")),gi=gr(di,fr(fi,t=>(e,n)=>({type:"compound",list:[...n.list,{type:"combinator",combinator:t,left:e,specificity:e.specificity}],specificity:Nr(e.specificity,n.specificity)})),di),pi=gr(fr(gi,t=>({type:"list",list:[t]})),fr(Zr(Jr(",")),()=>(t,e)=>({type:"list",list:[...t.list,e]})),gi);function mi(t,e,n=1){return`${t.replace(/(\t)|(\r)|(\n)/g,(t,e,n)=>e?"␉":n?"␍":"␊")}\n${"".padEnd(e)}${"^".repeat(n)}`}function bi(t){return function(t,e){if(!("string"==typeof e||e instanceof String))throw new Error("Expected a selector string. Actual input is not a string!");const n=Qr(e);if(!n.complete)throw new Error(`The input "${e}" was only partially tokenized, stopped at offset ${n.offset}!\n`+mi(e,n.offset));const r=Zr(t)({tokens:n.tokens,options:void 0},0);if(!r.matched)throw new Error(`No match for "${e}" input!`);if(r.position<n.tokens.length){const t=n.tokens[r.position];throw new Error(`The input "${e}" was only partially parsed, stopped at offset ${t.offset}!\n`+mi(e,t.offset,t.len))}return r.value}(gi,t)}function Ii(t){if(!t.type)throw new Error("This is not an AST node.");switch(t.type){case"universal":return yi(t.namespace)+"*";case"tag":return yi(t.namespace)+Bi(t.name);case"class":return"."+Bi(t.name);case"id":return"#"+Bi(t.name);case"attrPresence":return`[${yi(t.namespace)}${Bi(t.name)}]`;case"attrValue":return`[${yi(t.namespace)}${Bi(t.name)}${t.matcher}"${e=t.value,e.replace(/(")|(\\)|(\x00)|([\x01-\x1f]|\x7f)/g,(t,e,n,r,i)=>e?'\\"':n?"\\\\":r?"�":wi(i))}"${t.modifier?t.modifier:""}]`;case"pc":return":"+Bi(t.name);case"fpc:is":case"fpc:where":case"fpc:not":return`:${Bi(t.name)}(${t.list.map(Ii).join(",")})`;case"combinator":return Ii(t.left)+t.combinator;case"compound":return t.list.reduce((t,e)=>"combinator"===e.type?Ii(e)+t:t+Ii(e),"");case"list":return t.list.map(Ii).join(",")}var e}function yi(t){return t||""===t?Bi(t)+"|":""}function wi(t){return`\\${t.codePointAt(0).toString(16)} `}function Bi(t){return t.replace(/(^[0-9])|(^-[0-9])|(^-$)|([-0-9a-zA-Z_]|[^\x00-\x7F])|(\x00)|([\x01-\x1f]|\x7f)|([\s\S])/g,(t,e,n,r,i,A,o,s)=>e?wi(e):n?"-"+wi(n.slice(1)):r?"\\-":i||(A?"�":o?wi(o):"\\"+s))}function Ci(t,e={mode:"html"}){const n="html"===(e.mode??"html"),r=e.allowUnspecifiedCaseSensitivityForAttributes??!1,i=e.attributesWithNormalizedValues,A=i?.length?new Set(i.map(t=>t.toLowerCase())):null;return function t(e){if(!e.type)throw new Error("This is not an AST node.");switch(e.type){case"universal":n&&null!==e.namespace&&(e.namespace=e.namespace.toLowerCase());break;case"tag":case"attrPresence":n&&(e.name=e.name.toLowerCase()),n&&null!==e.namespace&&(e.namespace=e.namespace.toLowerCase());break;case"attrValue":{n&&(e.name=e.name.toLowerCase()),n&&null!==e.namespace&&(e.namespace=e.namespace.toLowerCase());const t="i"===e.modifier||null===e.modifier&&!!A&&A.has(e.name.toLowerCase());t&&(e.value=e.value.toLowerCase()),r||null!==e.modifier||(e.modifier=t?"i":"s");break}case"pc":e.name=e.name.toLowerCase();break;case"fpc:is":case"fpc:where":case"fpc:not":e.name=e.name.toLowerCase(),e.list.forEach(t),e.list.sort((t,e)=>Ii(t)<Ii(e)?-1:1);break;case"compound":e.list.forEach(t),e.list.sort((t,e)=>function(t,e){if(t[0]!==e[0])return t[0]<e[0]?-1:1;const n=t[1],r=e[1];if(n===r)return 0;if(void 0===n)return-1;if(void 0===r)return 1;return n<r?-1:1}(xi(t),xi(e)));break;case"combinator":t(e.left);break;case"list":e.list.forEach(t),e.list.sort((t,e)=>Ii(t)<Ii(e)?-1:1)}}(t),t}function xi(t){switch(t.type){case"universal":case"tag":return[1];case"id":return[2];case"class":return[3,t.name];case"attrPresence":return[4,Ii(t)];case"attrValue":return[5,Ii(t)];case"pc":return[6,t.name];case"fpc:is":case"fpc:where":case"fpc:not":return[7,Ii(t)];case"combinator":return[15,Ii(t)]}}function ki(t,e){return t[0]!==e[0]?t[0]<e[0]?-1:1:t[1]!==e[1]?t[1]<e[1]?-1:1:t[2]<e[2]?-1:t[2]>e[2]?1:0}class vi{branches;constructor(t,e={}){this.branches=Di(function(t,e){const n=t.length,r=new Array(n);for(let i=0;i<n;i++){const[n,A]=t[i],o=bi(n);Si(o),Ci(o,{mode:"html",attributesWithNormalizedValues:e.attributesWithNormalizedValues??[],allowUnspecifiedCaseSensitivityForAttributes:!1}),r[i]={ast:o,terminal:{type:"terminal",valueContainer:{index:i,value:A,specificity:o.specificity}}}}return r}(t,e))}build(t){return t(this.branches)}}function Si(t){const e=[];t.list.forEach(t=>{switch(t.type){case"class":e.push({matcher:"~=",modifier:null,name:"class",namespace:null,specificity:t.specificity,type:"attrValue",value:t.name});break;case"id":e.push({matcher:"=",modifier:null,name:"id",namespace:null,specificity:[0,1,0],type:"attrValue",value:t.name});break;case"combinator":Si(t.left),e.push(t);break;case"universal":break;default:e.push(t)}}),t.list=e}function Di(t){const e=[];for(;t.length;){const n=ji(t,t=>!0,Qi),{matches:r,nonMatches:i,empty:A}=Ei(t,n);t=i,r.length&&e.push(Wi(n,r)),A.length&&e.push(...Fi(A))}return e}function Fi(t){const e=[];for(const n of t){const t=n.terminal;if("terminal"===t.type)e.push(t);else{const{matches:n,rest:r}=Li(t.cont,t=>"terminal"===t.type);n.forEach(t=>e.push(t)),r.length&&(t.cont=r,e.push(t))}}return e}function Ei(t,e){const n=[],r=[],i=[];for(const A of t){const t=A.ast.list;if(t.length){(t.some(t=>Qi(t)===e)?n:r).push(A)}else i.push(A)}return{matches:n,nonMatches:r,empty:i}}function Qi(t){switch(t.type){case"attrPresence":return`attrPresence ${t.name}`;case"attrValue":return`attrValue ${t.name}`;case"pc":return`pc ${t.name}`;case"combinator":return`combinator ${t.combinator}`;default:return t.type}}function Wi(t,e){if("tag"===t)return function(t){const e=Gi(t,t=>"tag"===t.type,t=>t.name),n=Object.entries(e).map(([t,e])=>({type:"variant",value:t,cont:Di(e.items)}));return{type:"tagName",variants:n}}(e);if(t.startsWith("attrValue "))return function(t,e){const n=Gi(e,e=>"attrValue"===e.type&&e.name===t,t=>`${t.matcher} ${t.modifier||""} ${t.value}`),r=[];for(const t of Object.values(n)){const e=t.oneSimpleSelector;r.push({type:"matcher",matcher:e.matcher,modifier:e.modifier,value:e.value,predicate:Ni(e),cont:Di(t.items)})}return{type:"attrValue",name:t,matchers:r}}(t.substring(10),e);if(t.startsWith("attrPresence "))return function(t,e){for(const n of e)Yi(n,e=>"attrPresence"===e.type&&e.name===t);return{type:"attrPresence",name:t,cont:Di(e)}}(t.substring(13),e);if(t.startsWith("pc "))return function(t,e){if("empty"!==t&&"only-child"!==t&&"first-child"!==t&&"last-child"!==t&&"any-link"!==t)throw new Error(`Unsupported pseudo-class: :${t}`);for(const n of e)Yi(n,e=>"pc"===e.type&&e.name===t);return{type:"pseudoClass",name:t,cont:Di(e)}}(t.substring(3),e);if("combinator >"===t)return Ki(">",e);if("combinator +"===t)return Ki("+",e);throw new Error(`Unsupported selector kind: ${t}`)}function Ni(t){if("i"===t.modifier){const e=t.value.toLowerCase();switch(t.matcher){case"=":return t=>e===t.toLowerCase();case"~=":return t=>t.toLowerCase().split(/[ \t]+/).includes(e);case"^=":return t=>t.toLowerCase().startsWith(e);case"$=":return t=>t.toLowerCase().endsWith(e);case"*=":return t=>t.toLowerCase().includes(e);case"|=":return t=>{const n=t.toLowerCase();return e===n||n.startsWith(e)&&"-"===n[e.length]}}}else{const e=t.value;switch(t.matcher){case"=":return t=>e===t;case"~=":return t=>t.split(/[ \t]+/).includes(e);case"^=":return t=>t.startsWith(e);case"$=":return t=>t.endsWith(e);case"*=":return t=>t.includes(e);case"|=":return t=>e===t||t.startsWith(e)&&"-"===t[e.length]}}}function Ki(t,e){const n=Gi(e,e=>"combinator"===e.type&&e.combinator===t,t=>Ii(t.left)),r=[];for(const t of Object.values(n)){const e=Di(t.items),n=t.oneSimpleSelector.left;r.push({ast:n,terminal:{type:"popElement",cont:e}})}return{type:"pushElement",combinator:t,cont:Di(r)}}function Gi(t,e,n){const r={};for(;t.length;){const i=ji(t,e,n),A=t=>e(t)&&n(t)===i,o=t=>t.ast.list.some(A),{matches:s,rest:a}=Li(t,o);let c=null;for(const t of s){const e=Yi(t,A);c||(c=e)}if(null==c)throw new Error("No simple selector is found.");r[i]={oneSimpleSelector:c,items:s},t=a}return r}function Yi(t,e){const n=t.ast.list,r=new Array(n.length);let i=-1;for(let t=n.length;t-- >0;)e(n[t])&&(r[t]=!0,i=t);if(-1==i)throw new Error("Couldn't find the required simple selector.");const A=n[i];return t.ast.list=n.filter((t,e)=>!r[e]),A}function ji(t,e,n){const r={};for(const i of t){const t={};for(const r of i.ast.list.filter(e))t[n(r)]=!0;for(const e of Object.keys(t))r[e]?r[e]++:r[e]=1}let i="",A=0;for(const t of Object.entries(r))t[1]>A&&(i=t[0],A=t[1]);return i}function Li(t,e){const n=[],r=[];for(const i of t)e(i)?n.push(i):r.push(i);return{matches:n,rest:r}}class Ji{f;constructor(t){this.f=t}pickAll(t){return this.f(t)}pick1(t,e=!1){const n=this.f(t),r=n.length;if(0===r)return null;if(1===r)return n[0].value;const i=e?Ri:Hi;let A=n[0];for(let t=1;t<r;t++){const e=n[t];i(A,e)&&(A=e)}return A.value}}function Ri(t,e){const n=ki(e.specificity,t.specificity);return n>0||0===n&&e.index<t.index}function Hi(t,e){const n=ki(e.specificity,t.specificity);return n>0||0===n&&e.index>t.index}function Zi(t){return new Ji(Oi(t))}function Oi(t){const e=t.map(Mi);return(t,...n)=>e.flatMap(e=>e(t,...n))}function Mi(t){switch(t.type){case"terminal":{const e=[t.valueContainer];return()=>e}case"tagName":return function(t){const e={};for(const n of t.variants)e[n.value]=Oi(n.cont);return(t,...n)=>{const r=e[t.name];return r?r(t,...n):[]}}(t);case"attrValue":return function(t){const e=[];for(const n of t.matchers){const t=n.predicate,r=Oi(n.cont);e.push((e,n,...i)=>t(e)?r(n,...i):[])}const n=t.name;return(t,...r)=>{const i=t.attribs[n];return i||""===i?e.flatMap(e=>e(i,t,...r)):[]}}(t);case"attrPresence":return function(t){const e=t.name,n=Oi(t.cont);return(t,...r)=>Object.prototype.hasOwnProperty.call(t.attribs,e)?n(t,...r):[]}(t);case"pseudoClass":return function(t){const e=Oi(t.cont),n=Ui[t.name];if(!n)throw new Error(`Unsupported pseudo-class: :${t.name}`);return(t,...r)=>n(t)?e(t,...r):[]}(t);case"pushElement":return function(t){const e=Oi(t.cont),n="+"===t.combinator?Ti:Pi;return(t,...r)=>{const i=n(t);return null===i?[]:e(i,t,...r)}}(t);case"popElement":return function(t){const e=Oi(t.cont);return(t,n,...r)=>e(n,...r)}(t)}}const Ui={empty:function(t){for(const e of t.children){if(Xn(e))return!1;if(e.type===vn.Text||e.type===vn.CDATA)return!1}return!0},"only-child":function(t){return null===Ti(t)&&null===Vi(t)},"first-child":function(t){return null===Ti(t)},"last-child":function(t){return null===Vi(t)},"any-link":function(t){return("a"===t.name||"area"===t.name)&&Object.prototype.hasOwnProperty.call(t.attribs,"href")}};const Ti=t=>{const e=t.prev;return null===e?null:Xn(e)?e:Ti(e)},Vi=t=>{const e=t.next;return null===e?null:Xn(e)?e:Vi(e)},Pi=t=>{const e=t.parent;return e&&Xn(e)?e:null};var Xi;const zi=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),_i=null!==(Xi=String.fromCodePoint)&&void 0!==Xi?Xi:t=>{let e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t),e+=String.fromCharCode(t),e};function qi(t){const e="function"==typeof atob?atob(t):"function"==typeof Buffer.from?Buffer.from(t,"base64").toString("binary"):new Buffer(t,"base64").toString("binary"),n=-2&e.length,r=new Uint16Array(n/2);for(let t=0,i=0;t<n;t+=2){const n=e.charCodeAt(t),A=e.charCodeAt(t+1);r[i++]=n|A<<8}return r}const $i=qi("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWlsN2E6ZHIAAOA12CjdciJlZW4AOGFjAHkARWRjAHkAXGRwAGYAAOA12FzdYwByAADgNdjA3IALQUJFSGFiY2RlZmdoamxtbm9wcnN0dXYAXhxtHHEcdRx5HN8cBx0dHTwd3B3tHfEdAR4EHh0eLB5FHrwewx7hHgkfPR9LH4ABYXJ0AGQcZxxpHHIA8gBvB/IAxQLhIWlsAKAbKeEhcnIAoA4pZ6BmIgCgiyphAHIAAKBiKWMJjRwAAJAcAACVHAAAAAAAAAAAAACZHJwcAACmHKgcrRwAANIc9SF0ZTph7SJwdHl2AKC0KXIAYQDuAFoG4iFkYbtjZwAAoegnZGyhHKMcAKCRKeUAiwYAoIUqdQBvADuAqwCrQHIAgKOQIWJmaGxwc3QAuhy/HMIcxBzHHMoczhxmoOQhcwAAoB8pcwAAoB0p6wCyGnAAAKCrIWwAAKA5KWkAbQAAoHMpbAAAoKIhAKGrKmFl1hzaHGkAbAAAoBkpc6CtKgDgrSoA/oABYWJyAOUc6RztHHIAcgAAoAwpcgBrAACgcicAAWFr8Rz4HGMAAAFla/Yc9xx7YFtgAAFlc/wc/hwAoIspbAAAAWR1Ax0FHQCgjykAoI0pAAJhZXV5Dh0RHRodHB3yIW9uPmEAAWRpFR0YHWkAbAA8YewAowbiAPccO2QAAmNxcnMkHScdLB05HWEAAKA2KXUAbwDyoBwgqhEAAWR1MB00HeghYXIAoGcpcyJoYXIAAKBLKWgAAKCyIQCiZCJmZ3FzRB1FB5Qdnh10AIACYWhscnQATh1WHWUdbB2NHXIicm93AHSgkCFhAOkAzxxhI3Jwb29uAAABZHVeHWId7yF3bgCgvSFwAACgvCHlJGZ0YXJyb3dzAKDHIWkiZ2h0AIABYWhzAHUdex2DHXIicm93APOglCGdBmEAcgBwAG8AbwBuAPMAzgtxAHUAaQBnAGEAcgByAG8A9wBlGugkcmVldGltZXMAoMsi8aFkIk0HAACaHWwAYQBuAPQAXgcAon0qY2Rnc6YdqR2xHbcdYwAAoKgqbwB0AG+gfypyoIEqAKCDKmXg2iIA/nMAAKCTKoACYWRlZ3MAwB3GHcod1h3ZHXAAcAByAG8A+ACmHG8AdAAAoNYicQAAAWdxzx3SHXQA8gBGB2cAdADyAHQcdADyAFMHaQDtAGMHgAFpbHIA4h3mHeod8yFodACgfClvAG8A8gDKBgDgNdgp3UWgdiIAoJEqYQH1Hf4dcgAAAWR1YB35HWygvCEAoGopbABrAACghCVjAHkAWWQAomoiYWNodAweDx4VHhkecgDyAGsdbwByAG4AZQDyAGAW4SFyZACgaylyAGkAAKD6JQABaW8hHiQe5CFvdEBh9SFzdGGgsCPjIWhlAKCwIwACRWFlczMeNR48HkEeAKBoInAAcKCJKvIhb3gAoIkqcaCHKvGghyo0HmkAbQAAoOYiAARhYm5vcHR3elIeXB5fHoUelh6mHqsetB4AAW5yVh5ZHmcAAKDsJ3IAAKD9IXIA6wCwBmcAgAFsbXIAZh52Hnse5SFmdAABYXKIB2weaQBnAGgAdABhAHIAcgBvAPcAkwfhInBzdG8AoPwnaQBnAGgAdABhAHIAcgBvAPcAmgdwI2Fycm93AAABbHKNHpEeZQBmAPQAxhxpImdodAAAoKwhgAFhZmwAnB6fHqIecgAAoIUpAOA12F3ddQBzAACgLSppIm1lcwAAoDQqYQGvHrMecwB0AACgFyLhAIoOZaHKJbkeRhLuIWdlAKDKJWEAcgBsoCgAdAAAoJMpgAJhY2htdADMHs8e1R7bHt0ecgDyAJ0GbwByAG4AZQDyANYWYQByAGSgyyEAoG0pAKAOIHIAaQAAoL8iAANhY2hpcXTrHu8e1QfzHv0eBh/xIXVvAKA5IHIAAOA12MHcbQDloXIi+h4AAPweAKCNKgCgjyoAAWJ19xwBH28AcqAYIACgGiDyIW9rQmEAhDwAO2NkaGlscXJCBhcfxh0gHyQfKB8sHzEfAAFjaRsfHR8AoKYqcgAAoHkqcgBlAOUAkx3tIWVzAKDJIuEhcnIAoHYpdSJlc3QAAKB7KgABUGk1HzkfYQByAACglillocMlAgdfEnIAAAFkdUIfRx9zImhhcgAAoEop6CFhcgCgZikAAWVuTx9WH3IjdG5lcXEAAOBoIgD+xQBUHwAHRGFjZGVmaGlsbm9wc3VuH3Ifoh+rH68ftx+7H74f5h/uH/MfBwj/HwsgxCFvdACgOiIAAmNscHJ5H30fiR+eH3IAO4CvAK9AAAFldIEfgx8AoEImZaAgJ3MAZQAAoCAnc6CmIXQAbwCAoaYhZGx1AJQfmB+cH28AdwDuAHkDZQBmAPQA6gbwAOkO6yFlcgCgriUAAW95ph+qH+0hbWEAoCkqPGThIXNoAKAUIOElc3VyZWRhbmdsZQCgISJyAADgNdgq3W8AAKAnIYABY2RuAMQfyR/bH3IAbwA7gLUAtUBhoiMi0B8AANMf1x9zAPQAKxFpAHIAAKDwKm8AdAA7gLcAt0B1AHMA4qESIh4TAADjH3WgOCIAoCoqYwHqH+0fcAAAoNsq8gB+GnAAbAB1APMACAgAAWRw9x/7H+UhbHMAoKciZgAA4DXYXt0AAWN0AyAHIHIAAOA12MLc8CFvcwCgPiJsobwDECAVIPQiaW1hcACguCJhAPAAEyAADEdMUlZhYmNkZWZnaGlqbG1vcHJzdHV2dzwgRyBmIG0geSCqILgg2iDeIBEhFSEyIUMhTSFQIZwhnyHSIQAiIyKLIrEivyIUIwABZ3RAIEMgAODZIjgD9uBrItIgBwmAAWVsdABNIF8gYiBmAHQAAAFhclMgWCByInJvdwAAoM0h6SRnaHRhcnJvdwCgziEA4NgiOAP24Goi0iBfCekkZ2h0YXJyb3cAoM8hAAFEZHEgdSDhIXNoAKCvIuEhc2gAoK4igAJiY25wdACCIIYgiSCNIKIgbABhAACgByL1IXRlRGFnAADgICLSIACiSSJFaW9wlSCYIJwgniAA4HAqOANkAADgSyI4A3MASWFyAG8A+AAyCnUAcgBhoG4mbADzoG4mmwjzAa8gAACzIHAAO4CgAKBAbQBwAOXgTiI4AyoJgAJhZW91eQDBIMogzSDWINkg8AHGIAAAyCAAoEMqbwBuAEhh5CFpbEZhbgBnAGSgRyJvAHQAAOBtKjgDcAAAoEIqPWThIXNoAKATIACjYCJBYWRxc3jpIO0g+SD+IAIhDCFyAHIAAKDXIXIAAAFocvIg9SBrAACgJClvoJch9wAGD28AdAAA4FAiOAN1AGkA9gC7CAABZWkGIQohYQByAACgKCntAN8I6SFzdPOgBCLlCHIAAOA12CvdAAJFZXN0/wgcISshLiHxoXEiIiEAABMJ8aFxIgAJAAAnIWwAYQBuAPQAEwlpAO0AGQlyoG8iAKBvIoABQWFwADghOyE/IXIA8gBeIHIAcgAAoK4hYQByAACg8ipzogsiSiEAAAAAxwtkoPwiAKD6ImMAeQBaZIADQUVhZGVzdABcIV8hYiFmIWkhkyGWIXIA8gBXIADgZiI4A3IAcgAAoJohcgAAoCUggKFwImZxcwBwIYQhjiF0AAABYXJ1IXohcgByAG8A9wBlIWkAZwBoAHQAYQByAHIAbwD3AD4h8aFwImAhAACKIWwAYQBuAPQAZwlz4H0qOAMAoG4iaQDtAG0JcqBuImkA5aDqIkUJaQDkADoKAAFwdKMhpyFmAADgNdhf3YCBrAA7aW4AriGvIcchrEBuAIChCSJFZHYAtyG6Ib8hAOD5IjgDbwB0AADg9SI4A+EB1gjEIcYhAKD3IgCg9iJpAHagDCLhAagJzyHRIQCg/iIAoP0igAFhb3IA2CHsIfEhcgCAoSYiYXN0AOAh5SHpIWwAbABlAOwAywhsAADg/SrlIADgAiI4A2wiaW50AACgFCrjoYAi9yEAAPohdQDlAJsJY+CvKjgDZaCAIvEAkwkAAkFhaXQHIgoiFyIeInIA8gBsIHIAcgAAoZshY3cRIhQiAOAzKTgDAOCdITgDZyRodGFycm93AACgmyFyAGkA5aDrIr4JgANjaGltcHF1AC8iPCJHIpwhTSJQIloigKGBImNlcgA2Iv0JOSJ1AOUABgoA4DXYw9zvIXJ0bQKdIQAAAABEImEAcgDhAOEhbQBloEEi8aBEIiYKYQDyAMsIcwB1AAABYnBWIlgi5QDUCeUA3wmAAWJjcABgInMieCKAoYQiRWVzAGci7glqIgDgxSo4A2UAdABl4IIi0iBxAPGgiCJoImMAZaCBIvEA/gmAoYUiRWVzAH8iFgqCIgDgxio4A2UAdABl4IMi0iBxAPGgiSKAIgACZ2lscpIilCKaIpwi7AAMCWwAZABlADuA8QDxQOcAWwlpI2FuZ2xlAAABbHKkIqoi5SFmdGWg6iLxAEUJaSJnaHQAZaDrIvEAvgltoL0DAKEjAGVzuCK8InIAbwAAoBYhcAAAoAcggARESGFkZ2lscnMAziLSItYi2iLeIugi7SICIw8j4SFzaACgrSLhIXJyAKAEKXAAAOBNItIg4SFzaACgrCIAAWV04iLlIgDgZSLSIADgPgDSIG4iZmluAACg3imAAUFldADzIvci+iJyAHIAAKACKQDgZCLSIHLgPADSIGkAZQAA4LQi0iAAAUF0BiMKI3IAcgAAoAMp8iFpZQDgtSLSIGkAbQAA4Dwi0iCAAUFhbgAaIx4jKiNyAHIAAKDWIXIAAAFociMjJiNrAACgIylvoJYh9wD/DuUhYXIAoCcpUxJqFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVCMAAF4jaSN/I4IjjSOeI8AUAAAAAKYjwCMAANoj3yMAAO8jHiQvJD8kRCQAAWNzVyNsFHUAdABlADuA8wDzQAABaXlhI2cjcgBjoJoiO4D0APRAPmSAAmFiaW9zAHEjdCN3I3EBeiNzAOgAdhTsIWFjUWF2AACgOCrvIWxkAKC8KewhaWdTYQABY3KFI4kjaQByAACgvykA4DXYLN1vA5QjAAAAAJYjAACcI24A22JhAHYAZQA7gPIA8kAAoMEpAAFibaEjjAphAHIAAKC1KQACYWNpdKwjryO6I70jcgDyAFkUAAFpcrMjtiNyAACgvinvIXNzAKC7KW4A5QDZCgCgwCmAAWFlaQDFI8gjyyNjAHIATWFnAGEAyWOAAWNkbgDRI9Qj1iPyIW9uv2MAoLYpdQDzAHgBcABmAADgNdhg3YABYWVsAOQj5yPrI3IAAKC3KXIAcAAAoLkpdQDzAHwBAKMoImFkaW9zdvkj/CMPJBMkFiQbJHIA8gBeFIChXSplZm0AAyQJJAwkcgBvoDQhZgAAoDQhO4CqAKpAO4C6ALpA5yFvZgCgtiJyAACgVipsIm9wZQAAoFcqAKBbKoABY2xvACMkJSQrJPIACCRhAHMAaAA7gPgA+EBsAACgmCJpAGwBMyQ4JGQAZQA7gPUA9UBlAHMAYaCXInMAAKA2Km0AbAA7gPYA9kDiIWFyAKA9I+EKXiQAAHokAAB8JJQkAACYJKkkAAAAALUkEQsAAPAkAAAAAAQleiUAAIMlcgCAoSUiYXN0AGUkbyQBCwCBtgA7bGokayS2QGwAZQDsABgDaQJ1JAAAAAB4JG0AAKDzKgCg/Sp5AD9kcgCAAmNpbXB0AIUkiCSLJJkSjyRuAHQAJWBvAGQALmBpAGwAAKAwIOUhbmsAoDEgcgAA4DXYLd2AAWltbwCdJKAkpCR2oMYD1WNtAGEA9AD+B24AZQAAoA4m9KHAA64kAAC0JGMjaGZvcmsAAKDUItZjAAFhdbgkxCRuAAABY2u9JMIkawBooA8hAKAOIfYAaRpzAACkKwBhYmNkZW1zdNMkIRPXJNsk4STjJOck6yTjIWlyAKAjKmkAcgAAoCIqAAFvdYsW3yQAoCUqAKByKm4AO4CxALFAaQBtAACgJip3AG8AAKAnKoABaXB1APUk+iT+JO4idGludACgFSpmAADgNdhh3W4AZAA7gKMAo0CApHoiRWFjZWlub3N1ABMlFSUYJRslTCVRJVklSSV1JQCgsypwAACgtyp1AOUAPwtjoK8qgKJ6ImFjZW5zACclLSU0JTYlSSVwAHAAcgBvAPgAFyV1AHIAbAB5AGUA8QA/C/EAOAuAAWFlcwA8JUElRSXwInByb3gAoLkqcQBxAACgtSppAG0AAKDoImkA7QBEC20AZQDzoDIgIguAAUVhcwBDJVclRSXwAEAlgAFkZnAATwtfJXElgAFhbHMAZSVpJW0l7CFhcgCgLiPpIW5lAKASI/UhcmYAoBMjdKAdIu8AWQvyIWVsAKCwIgABY2l9JYElcgAA4DXYxdzIY24iY3NwAACgCCAAA2Zpb3BzdZElKxuVJZolnyWkJXIAAOA12C7dcABmAADgNdhi3XIiaW1lAACgVyBjAHIAAOA12MbcgAFhZW8AqiW6JcAldAAAAWVpryW2JXIAbgBpAG8AbgDzABkFbgB0AACgFipzAHQAZaA/APEACRj0AG0LgApBQkhhYmNkZWZoaWxtbm9wcnN0dXgA4yXyJfYl+iVpJpAmpia9JtUm5ib4JlonaCdxJ3UnnietJ7EnyCfiJ+cngAFhcnQA6SXsJe4lcgDyAJkM8gD6AuEhaWwAoBwpYQByAPIA3BVhAHIAAKBkKYADY2RlbnFydAAGJhAmEyYYJiYmKyZaJgABZXUKJg0mAOA9IjEDdABlAFVhaQDjACAN7SJwdHl2AKCzKWcAgKHpJ2RlbAAgJiImJCYAoJIpAKClKeUA9wt1AG8AO4C7ALtAcgAApZIhYWJjZmhscHN0dz0mQCZFJkcmSiZMJk4mUSZVJlgmcAAAoHUpZqDlIXMAAKAgKQCgMylzAACgHinrALka8ACVHmwAAKBFKWkAbQAAoHQpbAAAoKMhAKCdIQABYWleJmImaQBsAACgGilvAG6gNiJhAGwA8wB2C4ABYWJyAG8mciZ2JnIA8gAvEnIAawAAoHMnAAFha3omgSZjAAABZWt/JoAmfWBdYAABZXOFJocmAKCMKWwAAAFkdYwmjiYAoI4pAKCQKQACYWV1eZcmmiajJqUm8iFvbllhAAFkaZ4moSZpAGwAV2HsAA8M4gCAJkBkAAJjbHFzrSawJrUmuiZhAACgNylkImhhcgAAoGkpdQBvAPKgHSCjAWgAAKCzIYABYWNnAMMm0iaUC2wAgKEcIWlwcwDLJs4migxuAOUAoAxhAHIA9ADaC3QAAKCtJYABaWxyANsm3ybjJvMhaHQAoH0pbwBvAPIANgwA4DXYL90AAWFv6ib1JnIAAAFkde8m8SYAoMEhbKDAIQCgbCl2oMED8WOAAWducwD+Jk4nUCdoAHQAAANhaGxyc3QKJxInISc1Jz0nRydyInJvdwB0oJIhYQDpAFYmYSNycG9vbgAAAWR1GiceJ28AdwDuAPAmcAAAoMAh5SFmdAABYWgnJy0ncgByAG8AdwDzAAkMYQByAHAAbwBvAG4A8wATBGklZ2h0YXJyb3dzAACgySFxAHUAaQBnAGEAcgByAG8A9wBZJugkcmVldGltZXMAoMwiZwDaYmkAbgBnAGQAbwB0AHMAZQDxABwYgAFhaG0AYCdjJ2YncgDyAAkMYQDyABMEAKAPIG8idXN0AGGgsSPjIWhlAKCxI+0haWQAoO4qAAJhYnB0fCeGJ4knmScAAW5ygCeDJ2cAAKDtJ3IAAKD+IXIA6wAcDIABYWZsAI8nkieVJ3IAAKCGKQDgNdhj3XUAcwAAoC4qaSJtZXMAAKA1KgABYXCiJ6gncgBnoCkAdAAAoJQp7yJsaW50AKASKmEAcgDyADwnAAJhY2hxuCe8J6EMwCfxIXVvAKA6IHIAAOA12MfcAAFidYAmxCdvAPKgGSCoAYABaGlyAM4n0ifWJ3IAZQDlAE0n7SFlcwCgyiJpAIChuSVlZmwAXAxjEt4n9CFyaQCgzinsInVoYXIAoGgpAKAeIWENBSgJKA0oSyhVKIYoAACLKLAoAAAAAOMo5ygAABApJCkxKW0pcSmHKaYpAACYKgAAAACxKmMidXRlAFthcQB1AO8ABR+ApHsiRWFjZWlucHN5ABwoHignKCooLygyKEEoRihJKACgtCrwASMoAAAlKACguCpvAG4AYWF1AOUAgw1koLAqaQBsAF9hcgBjAF1hgAFFYXMAOCg6KD0oAKC2KnAAAKC6KmkAbQAAoOki7yJsaW50AKATKmkA7QCIDUFkbwB0AGKixSKRFgAAAABTKACgZiqAA0FhY21zdHgAYChkKG8ocyh1KHkogihyAHIAAKDYIXIAAAFocmkoayjrAJAab6CYIfcAzAd0ADuApwCnQGkAO2D3IWFyAKApKW0AAAFpbn4ozQBuAHUA8wDOAHQAAKA2J3IA7+A12DDdIxkAAmFjb3mRKJUonSisKHIAcAAAoG8mAAFoeZkonChjAHkASWRIZHIAdABtAqUoAAAAAKgoaQDkAFsPYQByAGEA7ABsJDuArQCtQAABZ22zKLsobQBhAAChwwNmdroouijCY4CjPCJkZWdsbnByAMgozCjPKNMo1yjaKN4obwB0AACgairxoEMiCw5FoJ4qAKCgKkWgnSoAoJ8qZQAAoEYi7CF1cwCgJCrhIXJyAKByKWEAcgDyAPwMAAJhZWl07Sj8KAEpCCkAAWxz8Sj4KGwAcwBlAHQAbQDpAH8oaABwAACgMyrwImFyc2wAoOQpAAFkbFoPBSllAACgIyNloKoqc6CsKgDgrCoA/oABZmxwABUpGCkfKfQhY3lMZGKgLwBhoMQpcgAAoD8jZgAA4DXYZN1hAAABZHIoKRcDZQBzAHWgYCZpAHQAAKBgJoABY3N1ADYpRilhKQABYXU6KUApcABzoJMiAOCTIgD+cABzoJQiAOCUIgD+dQAAAWJwSylWKQChjyJlcz4NUCllAHQAZaCPIvEAPw0AoZAiZXNIDVspZQB0AGWgkCLxAEkNAKGhJWFmZilbBHIAZQFrKVwEAKChJWEAcgDyAAMNAAJjZW10dyl7KX8pgilyAADgNdjI3HQAbQDuAM4AaQDsAAYpYQByAOYAVw0AAWFyiimOKXIA5qAGJhESAAFhbpIpoylpImdodAAAAWVwmSmgKXAAcwBpAGwAbwDuANkXaADpAKAkcwCvYIACYmNtbnAArin8KY4NJSooKgCkgiJFZGVtbnByc7wpvinCKcgpzCnUKdgp3CkAoMUqbwB0AACgvSpkoIYibwB0AACgwyr1IWx0AKDBKgABRWXQKdIpAKDLKgCgiiLsIXVzAKC/KuEhcnIAoHkpgAFlaXUA4inxKfQpdAAAoYIiZW7oKewpcQDxoIYivSllAHEA8aCKItEpbQAAoMcqAAFicPgp+ikAoNUqAKDTKmMAgKJ7ImFjZW5zAAcqDSoUKhYqRihwAHAAcgBvAPgAIyh1AHIAbAB5AGUA8QCDDfEAfA2AAWFlcwAcKiIqPShwAHAAcgBvAPgAPChxAPEAOShnAACgaiYApoMiMTIzRWRlaGxtbnBzPCo/KkIqRSpHKlIqWCpjKmcqaypzKncqO4C5ALlAO4CyALJAO4CzALNAAKDGKgABb3NLKk4qdAAAoL4qdQBiAACg2CpkoIcibwB0AACgxCpzAAABb3VdKmAqbAAAoMknYgAAoNcq4SFycgCgeyn1IWx0AKDCKgABRWVvKnEqAKDMKgCgiyLsIXVzAKDAKoABZWl1AH0qjCqPKnQAAKGDImVugyqHKnEA8aCHIkYqZQBxAPGgiyJwKm0AAKDIKgABYnCTKpUqAKDUKgCg1iqAAUFhbgCdKqEqrCpyAHIAAKDZIXIAAAFocqYqqCrrAJUab6CZIfcAxQf3IWFyAKAqKWwAaQBnADuA3wDfQOELzyrZKtwq6SrsKvEqAAD1KjQrAAAAAAAAAAAAAEwrbCsAAHErvSsAAAAAAADRK3IC1CoAAAAA2CrnIWV0AKAWI8RjcgDrAOUKgAFhZXkA4SrkKucq8iFvbmVh5CFpbGNhQmRvAPQAIg5sInJlYwAAoBUjcgAA4DXYMd0AAmVpa2/7KhIrKCsuK/IBACsAAAkrZQAAATRm6g0EK28AcgDlAOsNYQBzorgDECsAAAAAEit5AG0A0WMAAWNuFislK2sAAAFhcxsrIStwAHAAcgBvAPgAFw5pAG0AAKA8InMA8AD9DQABYXMsKyEr8AAXDnIAbgA7gP4A/kDsATgrOyswG2QA5QBnAmUAcwCAgdcAO2JkAEMrRCtJK9dAYaCgInIAAKAxKgCgMCqAAWVwcwBRK1MraSvhAAkh4qKkIlsrXysAAAAAYytvAHQAAKA2I2kAcgAAoPEqb+A12GXdcgBrAACg2irhAHgociJpbWUAAKA0IIABYWlwAHYreSu3K2QA5QC+DYADYWRlbXBzdACFK6MrmiunK6wrsCuzK24iZ2xlAACitSVkbHFykCuUK5ornCvvIXduAKC/JeUhZnRloMMl8QACBwCgXCJpImdodABloLkl8QBdDG8AdAAAoOwlaSJudXMAAKA6KuwhdXMAoDkqYgAAoM0p6SFtZQCgOyrlInppdW0AoOIjgAFjaHQAwivKK80rAAFyecYrySsA4DXYydxGZGMAeQBbZPIhb2tnYQABaW/UK9creAD0ANERaCJlYWQAAAFsct4r5ytlAGYAdABhAHIAcgBvAPcAXQbpJGdodGFycm93AKCgIQAJQUhhYmNkZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg"),tA=qi("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg");var eA,nA;!function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.FLAG13=8192]="FLAG13",t[t.BRANCH_LENGTH=8064]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"}(eA||(eA={})),function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.EQUALS=61]="EQUALS",t[t.ZERO=48]="ZERO",t[t.NINE=57]="NINE",t[t.LOWER_A=97]="LOWER_A",t[t.LOWER_F=102]="LOWER_F",t[t.LOWER_X=120]="LOWER_X",t[t.LOWER_Z=122]="LOWER_Z",t[t.UPPER_A=65]="UPPER_A",t[t.UPPER_F=70]="UPPER_F",t[t.UPPER_Z=90]="UPPER_Z"}(nA||(nA={}));function rA(t){return t>=nA.ZERO&&t<=nA.NINE}function iA(t){return t>=nA.UPPER_A&&t<=nA.UPPER_F||t>=nA.LOWER_A&&t<=nA.LOWER_F}function AA(t){return t===nA.EQUALS||function(t){return t>=nA.UPPER_A&&t<=nA.UPPER_Z||t>=nA.LOWER_A&&t<=nA.LOWER_Z||rA(t)}(t)}var oA,sA,aA,cA,lA;!function(t){t[t.EntityStart=0]="EntityStart",t[t.NumericStart=1]="NumericStart",t[t.NumericDecimal=2]="NumericDecimal",t[t.NumericHex=3]="NumericHex",t[t.NamedEntity=4]="NamedEntity"}(oA||(oA={})),function(t){t[t.Legacy=0]="Legacy",t[t.Strict=1]="Strict",t[t.Attribute=2]="Attribute"}(sA||(sA={}));class uA{constructor(t,e,n){this.decodeTree=t,this.emitCodePoint=e,this.errors=n,this.state=oA.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=sA.Strict,this.runConsumed=0}startEntity(t){this.decodeMode=t,this.state=oA.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(t,e){switch(this.state){case oA.EntityStart:return t.charCodeAt(e)===nA.NUM?(this.state=oA.NumericStart,this.consumed+=1,this.stateNumericStart(t,e+1)):(this.state=oA.NamedEntity,this.stateNamedEntity(t,e));case oA.NumericStart:return this.stateNumericStart(t,e);case oA.NumericDecimal:return this.stateNumericDecimal(t,e);case oA.NumericHex:return this.stateNumericHex(t,e);case oA.NamedEntity:return this.stateNamedEntity(t,e)}}stateNumericStart(t,e){return e>=t.length?-1:(32|t.charCodeAt(e))===nA.LOWER_X?(this.state=oA.NumericHex,this.consumed+=1,this.stateNumericHex(t,e+1)):(this.state=oA.NumericDecimal,this.stateNumericDecimal(t,e))}stateNumericHex(t,e){for(;e<t.length;){const n=t.charCodeAt(e);if(!rA(n)&&!iA(n))return this.emitNumericEntity(n,3);{const t=n<=nA.NINE?n-nA.ZERO:(32|n)-nA.LOWER_A+10;this.result=16*this.result+t,this.consumed++,e++}}return-1}stateNumericDecimal(t,e){for(;e<t.length;){const n=t.charCodeAt(e);if(!rA(n))return this.emitNumericEntity(n,2);this.result=10*this.result+(n-nA.ZERO),this.consumed++,e++}return-1}emitNumericEntity(t,e){var n;if(this.consumed<=e)return null===(n=this.errors)||void 0===n||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(t===nA.SEMI)this.consumed+=1;else if(this.decodeMode===sA.Strict)return 0;return this.emitCodePoint(function(t){var e;return t>=55296&&t<=57343||t>1114111?65533:null!==(e=zi.get(t))&&void 0!==e?e:t}(this.result),this.consumed),this.errors&&(t!==nA.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(t,e){const{decodeTree:n}=this;let r=n[this.treeIndex],i=(r&eA.VALUE_LENGTH)>>14;for(;e<t.length;){if(0===i&&0!==(r&eA.FLAG13)){const A=(r&eA.BRANCH_LENGTH)>>7;if(0===this.runConsumed){const n=r&eA.JUMP_TABLE;if(t.charCodeAt(e)!==n)return 0===this.result?0:this.emitNotTerminatedNamedEntity();e++,this.excess++,this.runConsumed++}for(;this.runConsumed<A;){if(e>=t.length)return-1;const r=this.runConsumed-1,i=n[this.treeIndex+1+(r>>1)],A=r%2==0?255&i:i>>8&255;if(t.charCodeAt(e)!==A)return this.runConsumed=0,0===this.result?0:this.emitNotTerminatedNamedEntity();e++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(A>>1),r=n[this.treeIndex],i=(r&eA.VALUE_LENGTH)>>14}if(e>=t.length)break;const A=t.charCodeAt(e);if(A===nA.SEMI&&0!==i&&0!==(r&eA.FLAG13))return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);if(this.treeIndex=hA(n,r,this.treeIndex+Math.max(1,i),A),this.treeIndex<0)return 0===this.result||this.decodeMode===sA.Attribute&&(0===i||AA(A))?0:this.emitNotTerminatedNamedEntity();if(r=n[this.treeIndex],i=(r&eA.VALUE_LENGTH)>>14,0!==i){if(A===nA.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==sA.Strict&&0===(r&eA.FLAG13)&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}e++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var t;const{result:e,decodeTree:n}=this,r=(n[e]&eA.VALUE_LENGTH)>>14;return this.emitNamedEntityData(e,r,this.consumed),null===(t=this.errors)||void 0===t||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,e,n){const{decodeTree:r}=this;return this.emitCodePoint(1===e?r[t]&~(eA.VALUE_LENGTH|eA.FLAG13):r[t+1],n),3===e&&this.emitCodePoint(r[t+2],n),n}end(){var t;switch(this.state){case oA.NamedEntity:return 0===this.result||this.decodeMode===sA.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity();case oA.NumericDecimal:return this.emitNumericEntity(0,2);case oA.NumericHex:return this.emitNumericEntity(0,3);case oA.NumericStart:return null===(t=this.errors)||void 0===t||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case oA.EntityStart:return 0}}}function hA(t,e,n,r){const i=(e&eA.BRANCH_LENGTH)>>7,A=e&eA.JUMP_TABLE;if(0===i)return 0!==A&&r===A?n:-1;if(A){const e=r-A;return e<0||e>=i?-1:t[n+e]-1}const o=i+1>>1;let s=0,a=i-1;for(;s<=a;){const e=s+a>>>1,i=t[n+(e>>1)]>>8*(1&e)&255;if(i<r)s=e+1;else{if(!(i>r))return t[n+o+e];a=e-1}}return-1}function dA(t){return t===aA.Space||t===aA.NewLine||t===aA.Tab||t===aA.FormFeed||t===aA.CarriageReturn}function fA(t){return t===aA.Slash||t===aA.Gt||dA(t)}!function(t){t[t.Tab=9]="Tab",t[t.NewLine=10]="NewLine",t[t.FormFeed=12]="FormFeed",t[t.CarriageReturn=13]="CarriageReturn",t[t.Space=32]="Space",t[t.ExclamationMark=33]="ExclamationMark",t[t.Number=35]="Number",t[t.Amp=38]="Amp",t[t.SingleQuote=39]="SingleQuote",t[t.DoubleQuote=34]="DoubleQuote",t[t.Dash=45]="Dash",t[t.Slash=47]="Slash",t[t.Zero=48]="Zero",t[t.Nine=57]="Nine",t[t.Semi=59]="Semi",t[t.Lt=60]="Lt",t[t.Eq=61]="Eq",t[t.Gt=62]="Gt",t[t.Questionmark=63]="Questionmark",t[t.UpperA=65]="UpperA",t[t.LowerA=97]="LowerA",t[t.UpperF=70]="UpperF",t[t.LowerF=102]="LowerF",t[t.UpperZ=90]="UpperZ",t[t.LowerZ=122]="LowerZ",t[t.LowerX=120]="LowerX",t[t.OpeningSquareBracket=91]="OpeningSquareBracket"}(aA||(aA={})),function(t){t[t.Text=1]="Text",t[t.BeforeTagName=2]="BeforeTagName",t[t.InTagName=3]="InTagName",t[t.InSelfClosingTag=4]="InSelfClosingTag",t[t.BeforeClosingTagName=5]="BeforeClosingTagName",t[t.InClosingTagName=6]="InClosingTagName",t[t.AfterClosingTagName=7]="AfterClosingTagName",t[t.BeforeAttributeName=8]="BeforeAttributeName",t[t.InAttributeName=9]="InAttributeName",t[t.AfterAttributeName=10]="AfterAttributeName",t[t.BeforeAttributeValue=11]="BeforeAttributeValue",t[t.InAttributeValueDq=12]="InAttributeValueDq",t[t.InAttributeValueSq=13]="InAttributeValueSq",t[t.InAttributeValueNq=14]="InAttributeValueNq",t[t.BeforeDeclaration=15]="BeforeDeclaration",t[t.InDeclaration=16]="InDeclaration",t[t.InProcessingInstruction=17]="InProcessingInstruction",t[t.BeforeComment=18]="BeforeComment",t[t.CDATASequence=19]="CDATASequence",t[t.InSpecialComment=20]="InSpecialComment",t[t.InCommentLike=21]="InCommentLike",t[t.BeforeSpecialS=22]="BeforeSpecialS",t[t.BeforeSpecialT=23]="BeforeSpecialT",t[t.SpecialStartSequence=24]="SpecialStartSequence",t[t.InSpecialTag=25]="InSpecialTag",t[t.InEntity=26]="InEntity"}(cA||(cA={})),function(t){t[t.NoValue=0]="NoValue",t[t.Unquoted=1]="Unquoted",t[t.Single=2]="Single",t[t.Double=3]="Double"}(lA||(lA={}));const gA={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101]),TextareaEnd:new Uint8Array([60,47,116,101,120,116,97,114,101,97]),XmpEnd:new Uint8Array([60,47,120,109,112])};class pA{constructor({xmlMode:t=!1,decodeEntities:e=!0},n){this.cbs=n,this.state=cA.Text,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=cA.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.xmlMode=t,this.decodeEntities=e,this.entityDecoder=new uA(t?tA:$i,(t,e)=>this.emitCodePoint(t,e))}reset(){this.state=cA.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=cA.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(t){this.offset+=this.buffer.length,this.buffer=t,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.index<this.buffer.length+this.offset&&this.parse()}stateText(t){t===aA.Lt||!this.decodeEntities&&this.fastForwardTo(aA.Lt)?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=cA.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&t===aA.Amp&&this.startEntity()}stateSpecialStartSequence(t){const e=this.sequenceIndex===this.currentSequence.length;if(e?fA(t):(32|t)===this.currentSequence[this.sequenceIndex]){if(!e)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this.state=cA.InTagName,this.stateInTagName(t)}stateInSpecialTag(t){if(this.sequenceIndex===this.currentSequence.length){if(t===aA.Gt||dA(t)){const e=this.index-this.currentSequence.length;if(this.sectionStart<e){const t=this.index;this.index=e,this.cbs.ontext(this.sectionStart,e),this.index=t}return this.isSpecial=!1,this.sectionStart=e+2,void this.stateInClosingTagName(t)}this.sequenceIndex=0}(32|t)===this.currentSequence[this.sequenceIndex]?this.sequenceIndex+=1:0===this.sequenceIndex?this.currentSequence===gA.TitleEnd?this.decodeEntities&&t===aA.Amp&&this.startEntity():this.fastForwardTo(aA.Lt)&&(this.sequenceIndex=1):this.sequenceIndex=Number(t===aA.Lt)}stateCDATASequence(t){t===gA.Cdata[this.sequenceIndex]?++this.sequenceIndex===gA.Cdata.length&&(this.state=cA.InCommentLike,this.currentSequence=gA.CdataEnd,this.sequenceIndex=0,this.sectionStart=this.index+1):(this.sequenceIndex=0,this.state=cA.InDeclaration,this.stateInDeclaration(t))}fastForwardTo(t){for(;++this.index<this.buffer.length+this.offset;)if(this.buffer.charCodeAt(this.index-this.offset)===t)return!0;return this.index=this.buffer.length+this.offset-1,!1}stateInCommentLike(t){t===this.currentSequence[this.sequenceIndex]?++this.sequenceIndex===this.currentSequence.length&&(this.currentSequence===gA.CdataEnd?this.cbs.oncdata(this.sectionStart,this.index,2):this.cbs.oncomment(this.sectionStart,this.index,2),this.sequenceIndex=0,this.sectionStart=this.index+1,this.state=cA.Text):0===this.sequenceIndex?this.fastForwardTo(this.currentSequence[0])&&(this.sequenceIndex=1):t!==this.currentSequence[this.sequenceIndex-1]&&(this.sequenceIndex=0)}isTagStartChar(t){return this.xmlMode?!fA(t):function(t){return t>=aA.LowerA&&t<=aA.LowerZ||t>=aA.UpperA&&t<=aA.UpperZ}(t)}startSpecial(t,e){this.isSpecial=!0,this.currentSequence=t,this.sequenceIndex=e,this.state=cA.SpecialStartSequence}stateBeforeTagName(t){if(t===aA.ExclamationMark)this.state=cA.BeforeDeclaration,this.sectionStart=this.index+1;else if(t===aA.Questionmark)this.state=cA.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(t)){const e=32|t;this.sectionStart=this.index,this.xmlMode?this.state=cA.InTagName:e===gA.ScriptEnd[2]?this.state=cA.BeforeSpecialS:e===gA.TitleEnd[2]||e===gA.XmpEnd[2]?this.state=cA.BeforeSpecialT:this.state=cA.InTagName}else t===aA.Slash?this.state=cA.BeforeClosingTagName:(this.state=cA.Text,this.stateText(t))}stateInTagName(t){fA(t)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=cA.BeforeAttributeName,this.stateBeforeAttributeName(t))}stateBeforeClosingTagName(t){dA(t)||(t===aA.Gt?this.state=cA.Text:(this.state=this.isTagStartChar(t)?cA.InClosingTagName:cA.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(t){(t===aA.Gt||dA(t))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=cA.AfterClosingTagName,this.stateAfterClosingTagName(t))}stateAfterClosingTagName(t){(t===aA.Gt||this.fastForwardTo(aA.Gt))&&(this.state=cA.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(t){t===aA.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=cA.InSpecialTag,this.sequenceIndex=0):this.state=cA.Text,this.sectionStart=this.index+1):t===aA.Slash?this.state=cA.InSelfClosingTag:dA(t)||(this.state=cA.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(t){t===aA.Gt?(this.cbs.onselfclosingtag(this.index),this.state=cA.Text,this.sectionStart=this.index+1,this.isSpecial=!1):dA(t)||(this.state=cA.BeforeAttributeName,this.stateBeforeAttributeName(t))}stateInAttributeName(t){(t===aA.Eq||fA(t))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=this.index,this.state=cA.AfterAttributeName,this.stateAfterAttributeName(t))}stateAfterAttributeName(t){t===aA.Eq?this.state=cA.BeforeAttributeValue:t===aA.Slash||t===aA.Gt?(this.cbs.onattribend(lA.NoValue,this.sectionStart),this.sectionStart=-1,this.state=cA.BeforeAttributeName,this.stateBeforeAttributeName(t)):dA(t)||(this.cbs.onattribend(lA.NoValue,this.sectionStart),this.state=cA.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(t){t===aA.DoubleQuote?(this.state=cA.InAttributeValueDq,this.sectionStart=this.index+1):t===aA.SingleQuote?(this.state=cA.InAttributeValueSq,this.sectionStart=this.index+1):dA(t)||(this.sectionStart=this.index,this.state=cA.InAttributeValueNq,this.stateInAttributeValueNoQuotes(t))}handleInAttributeValue(t,e){t===e||!this.decodeEntities&&this.fastForwardTo(e)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(e===aA.DoubleQuote?lA.Double:lA.Single,this.index+1),this.state=cA.BeforeAttributeName):this.decodeEntities&&t===aA.Amp&&this.startEntity()}stateInAttributeValueDoubleQuotes(t){this.handleInAttributeValue(t,aA.DoubleQuote)}stateInAttributeValueSingleQuotes(t){this.handleInAttributeValue(t,aA.SingleQuote)}stateInAttributeValueNoQuotes(t){dA(t)||t===aA.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(lA.Unquoted,this.index),this.state=cA.BeforeAttributeName,this.stateBeforeAttributeName(t)):this.decodeEntities&&t===aA.Amp&&this.startEntity()}stateBeforeDeclaration(t){t===aA.OpeningSquareBracket?(this.state=cA.CDATASequence,this.sequenceIndex=0):this.state=t===aA.Dash?cA.BeforeComment:cA.InDeclaration}stateInDeclaration(t){(t===aA.Gt||this.fastForwardTo(aA.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=cA.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(t){(t===aA.Gt||this.fastForwardTo(aA.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=cA.Text,this.sectionStart=this.index+1)}stateBeforeComment(t){t===aA.Dash?(this.state=cA.InCommentLike,this.currentSequence=gA.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=cA.InDeclaration}stateInSpecialComment(t){(t===aA.Gt||this.fastForwardTo(aA.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=cA.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(t){const e=32|t;e===gA.ScriptEnd[3]?this.startSpecial(gA.ScriptEnd,4):e===gA.StyleEnd[3]?this.startSpecial(gA.StyleEnd,4):(this.state=cA.InTagName,this.stateInTagName(t))}stateBeforeSpecialT(t){switch(32|t){case gA.TitleEnd[3]:this.startSpecial(gA.TitleEnd,4);break;case gA.TextareaEnd[3]:this.startSpecial(gA.TextareaEnd,4);break;case gA.XmpEnd[3]:this.startSpecial(gA.XmpEnd,4);break;default:this.state=cA.InTagName,this.stateInTagName(t)}}startEntity(){this.baseState=this.state,this.state=cA.InEntity,this.entityStart=this.index,this.entityDecoder.startEntity(this.xmlMode?sA.Strict:this.baseState===cA.Text||this.baseState===cA.InSpecialTag?sA.Legacy:sA.Attribute)}stateInEntity(){const t=this.index-this.offset,e=this.entityDecoder.write(this.buffer,t);if(e>=0)this.state=this.baseState,0===e&&(this.index-=1);else{if(t<this.buffer.length&&this.buffer.charCodeAt(t)===aA.Amp)return this.state=this.baseState,void(this.index-=1);this.index=this.offset+this.buffer.length-1}}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===cA.Text||this.state===cA.InSpecialTag&&0===this.sequenceIndex?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):this.state!==cA.InAttributeValueDq&&this.state!==cA.InAttributeValueSq&&this.state!==cA.InAttributeValueNq||(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index<this.buffer.length+this.offset&&this.running}parse(){for(;this.shouldContinue();){const t=this.buffer.charCodeAt(this.index-this.offset);switch(this.state){case cA.Text:this.stateText(t);break;case cA.SpecialStartSequence:this.stateSpecialStartSequence(t);break;case cA.InSpecialTag:this.stateInSpecialTag(t);break;case cA.CDATASequence:this.stateCDATASequence(t);break;case cA.InAttributeValueDq:this.stateInAttributeValueDoubleQuotes(t);break;case cA.InAttributeName:this.stateInAttributeName(t);break;case cA.InCommentLike:this.stateInCommentLike(t);break;case cA.InSpecialComment:this.stateInSpecialComment(t);break;case cA.BeforeAttributeName:this.stateBeforeAttributeName(t);break;case cA.InTagName:this.stateInTagName(t);break;case cA.InClosingTagName:this.stateInClosingTagName(t);break;case cA.BeforeTagName:this.stateBeforeTagName(t);break;case cA.AfterAttributeName:this.stateAfterAttributeName(t);break;case cA.InAttributeValueSq:this.stateInAttributeValueSingleQuotes(t);break;case cA.BeforeAttributeValue:this.stateBeforeAttributeValue(t);break;case cA.BeforeClosingTagName:this.stateBeforeClosingTagName(t);break;case cA.AfterClosingTagName:this.stateAfterClosingTagName(t);break;case cA.BeforeSpecialS:this.stateBeforeSpecialS(t);break;case cA.BeforeSpecialT:this.stateBeforeSpecialT(t);break;case cA.InAttributeValueNq:this.stateInAttributeValueNoQuotes(t);break;case cA.InSelfClosingTag:this.stateInSelfClosingTag(t);break;case cA.InDeclaration:this.stateInDeclaration(t);break;case cA.BeforeDeclaration:this.stateBeforeDeclaration(t);break;case cA.BeforeComment:this.stateBeforeComment(t);break;case cA.InProcessingInstruction:this.stateInProcessingInstruction(t);break;case cA.InEntity:this.stateInEntity()}this.index++}this.cleanup()}finish(){this.state===cA.InEntity&&(this.entityDecoder.end(),this.state=this.baseState),this.handleTrailingData(),this.cbs.onend()}handleTrailingData(){const t=this.buffer.length+this.offset;this.sectionStart>=t||(this.state===cA.InCommentLike?this.currentSequence===gA.CdataEnd?this.cbs.oncdata(this.sectionStart,t,0):this.cbs.oncomment(this.sectionStart,t,0):this.state===cA.InTagName||this.state===cA.BeforeAttributeName||this.state===cA.BeforeAttributeValue||this.state===cA.AfterAttributeName||this.state===cA.InAttributeName||this.state===cA.InAttributeValueSq||this.state===cA.InAttributeValueDq||this.state===cA.InAttributeValueNq||this.state===cA.InClosingTagName||this.cbs.ontext(this.sectionStart,t))}emitCodePoint(t,e){this.baseState!==cA.Text&&this.baseState!==cA.InSpecialTag?(this.sectionStart<this.entityStart&&this.cbs.onattribdata(this.sectionStart,this.entityStart),this.sectionStart=this.entityStart+e,this.index=this.sectionStart-1,this.cbs.onattribentity(t)):(this.sectionStart<this.entityStart&&this.cbs.ontext(this.sectionStart,this.entityStart),this.sectionStart=this.entityStart+e,this.index=this.sectionStart-1,this.cbs.ontextentity(t,this.sectionStart))}}const mA=new Set(["input","option","optgroup","select","button","datalist","textarea"]),bA=new Set(["p"]),IA=new Set(["thead","tbody"]),yA=new Set(["dd","dt"]),wA=new Set(["rt","rp"]),BA=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",bA],["h1",bA],["h2",bA],["h3",bA],["h4",bA],["h5",bA],["h6",bA],["select",mA],["input",mA],["output",mA],["button",mA],["datalist",mA],["textarea",mA],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",yA],["dt",yA],["address",bA],["article",bA],["aside",bA],["blockquote",bA],["details",bA],["div",bA],["dl",bA],["fieldset",bA],["figcaption",bA],["figure",bA],["footer",bA],["form",bA],["header",bA],["hr",bA],["main",bA],["nav",bA],["ol",bA],["pre",bA],["section",bA],["table",bA],["ul",bA],["rt",wA],["rp",wA],["tbody",IA],["tfoot",IA]]),CA=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),xA=new Set(["math","svg"]),kA=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),vA=/\s|\//;class SA{constructor(t,e={}){var n,r,i,A,o,s;this.options=e,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.buffers=[],this.bufferOffset=0,this.writeIndex=0,this.ended=!1,this.cbs=null!=t?t:{},this.htmlMode=!this.options.xmlMode,this.lowerCaseTagNames=null!==(n=e.lowerCaseTags)&&void 0!==n?n:this.htmlMode,this.lowerCaseAttributeNames=null!==(r=e.lowerCaseAttributeNames)&&void 0!==r?r:this.htmlMode,this.recognizeSelfClosing=null!==(i=e.recognizeSelfClosing)&&void 0!==i?i:!this.htmlMode,this.tokenizer=new(null!==(A=e.Tokenizer)&&void 0!==A?A:pA)(this.options,this),this.foreignContext=[!this.htmlMode],null===(s=(o=this.cbs).onparserinit)||void 0===s||s.call(o,this)}ontext(t,e){var n,r;const i=this.getSlice(t,e);this.endIndex=e-1,null===(r=(n=this.cbs).ontext)||void 0===r||r.call(n,i),this.startIndex=e}ontextentity(t,e){var n,r;this.endIndex=e-1,null===(r=(n=this.cbs).ontext)||void 0===r||r.call(n,_i(t)),this.startIndex=e}isVoidElement(t){return this.htmlMode&&CA.has(t)}onopentagname(t,e){this.endIndex=e;let n=this.getSlice(t,e);this.lowerCaseTagNames&&(n=n.toLowerCase()),this.emitOpenTag(n)}emitOpenTag(t){var e,n,r,i;this.openTagStart=this.startIndex,this.tagname=t;const A=this.htmlMode&&BA.get(t);if(A)for(;this.stack.length>0&&A.has(this.stack[0]);){const t=this.stack.shift();null===(n=(e=this.cbs).onclosetag)||void 0===n||n.call(e,t,!0)}this.isVoidElement(t)||(this.stack.unshift(t),this.htmlMode&&(xA.has(t)?this.foreignContext.unshift(!0):kA.has(t)&&this.foreignContext.unshift(!1))),null===(i=(r=this.cbs).onopentagname)||void 0===i||i.call(r,t),this.cbs.onopentag&&(this.attribs={})}endOpenTag(t){var e,n;this.startIndex=this.openTagStart,this.attribs&&(null===(n=(e=this.cbs).onopentag)||void 0===n||n.call(e,this.tagname,this.attribs,t),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(t){this.endIndex=t,this.endOpenTag(!1),this.startIndex=t+1}onclosetag(t,e){var n,r,i,A,o,s,a,c;this.endIndex=e;let l=this.getSlice(t,e);if(this.lowerCaseTagNames&&(l=l.toLowerCase()),this.htmlMode&&(xA.has(l)||kA.has(l))&&this.foreignContext.shift(),this.isVoidElement(l))this.htmlMode&&"br"===l&&(null===(A=(i=this.cbs).onopentagname)||void 0===A||A.call(i,"br"),null===(s=(o=this.cbs).onopentag)||void 0===s||s.call(o,"br",{},!0),null===(c=(a=this.cbs).onclosetag)||void 0===c||c.call(a,"br",!1));else{const t=this.stack.indexOf(l);if(-1!==t)for(let e=0;e<=t;e++){const i=this.stack.shift();null===(r=(n=this.cbs).onclosetag)||void 0===r||r.call(n,i,e!==t)}else this.htmlMode&&"p"===l&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=e+1}onselfclosingtag(t){this.endIndex=t,this.recognizeSelfClosing||this.foreignContext[0]?(this.closeCurrentTag(!1),this.startIndex=t+1):this.onopentagend(t)}closeCurrentTag(t){var e,n;const r=this.tagname;this.endOpenTag(t),this.stack[0]===r&&(null===(n=(e=this.cbs).onclosetag)||void 0===n||n.call(e,r,!t),this.stack.shift())}onattribname(t,e){this.startIndex=t;const n=this.getSlice(t,e);this.attribname=this.lowerCaseAttributeNames?n.toLowerCase():n}onattribdata(t,e){this.attribvalue+=this.getSlice(t,e)}onattribentity(t){this.attribvalue+=_i(t)}onattribend(t,e){var n,r;this.endIndex=e,null===(r=(n=this.cbs).onattribute)||void 0===r||r.call(n,this.attribname,this.attribvalue,t===lA.Double?'"':t===lA.Single?"'":t===lA.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(t){const e=t.search(vA);let n=e<0?t:t.substr(0,e);return this.lowerCaseTagNames&&(n=n.toLowerCase()),n}ondeclaration(t,e){this.endIndex=e;const n=this.getSlice(t,e);if(this.cbs.onprocessinginstruction){const t=this.getInstructionName(n);this.cbs.onprocessinginstruction(`!${t}`,`!${n}`)}this.startIndex=e+1}onprocessinginstruction(t,e){this.endIndex=e;const n=this.getSlice(t,e);if(this.cbs.onprocessinginstruction){const t=this.getInstructionName(n);this.cbs.onprocessinginstruction(`?${t}`,`?${n}`)}this.startIndex=e+1}oncomment(t,e,n){var r,i,A,o;this.endIndex=e,null===(i=(r=this.cbs).oncomment)||void 0===i||i.call(r,this.getSlice(t,e-n)),null===(o=(A=this.cbs).oncommentend)||void 0===o||o.call(A),this.startIndex=e+1}oncdata(t,e,n){var r,i,A,o,s,a,c,l,u,h;this.endIndex=e;const d=this.getSlice(t,e-n);!this.htmlMode||this.options.recognizeCDATA?(null===(i=(r=this.cbs).oncdatastart)||void 0===i||i.call(r),null===(o=(A=this.cbs).ontext)||void 0===o||o.call(A,d),null===(a=(s=this.cbs).oncdataend)||void 0===a||a.call(s)):(null===(l=(c=this.cbs).oncomment)||void 0===l||l.call(c,`[CDATA[${d}]]`),null===(h=(u=this.cbs).oncommentend)||void 0===h||h.call(u)),this.startIndex=e+1}onend(){var t,e;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let t=0;t<this.stack.length;t++)this.cbs.onclosetag(this.stack[t],!0)}null===(e=(t=this.cbs).onend)||void 0===e||e.call(t)}reset(){var t,e,n,r;null===(e=(t=this.cbs).onreset)||void 0===e||e.call(t),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,null===(r=(n=this.cbs).onparserinit)||void 0===r||r.call(n,this),this.buffers.length=0,this.foreignContext.length=0,this.foreignContext.unshift(!this.htmlMode),this.bufferOffset=0,this.writeIndex=0,this.ended=!1}parseComplete(t){this.reset(),this.end(t)}getSlice(t,e){for(;t-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();let n=this.buffers[0].slice(t-this.bufferOffset,e-this.bufferOffset);for(;e-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),n+=this.buffers[0].slice(0,e-this.bufferOffset);return n}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(t){var e,n;this.ended?null===(n=(e=this.cbs).onerror)||void 0===n||n.call(e,new Error(".write() after done!")):(this.buffers.push(t),this.tokenizer.running&&(this.tokenizer.write(t),this.writeIndex++))}end(t){var e,n;this.ended?null===(n=(e=this.cbs).onerror)||void 0===n||n.call(e,new Error(".end() after done!")):(t&&this.write(t),this.ended=!0,this.tokenizer.end())}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex<this.buffers.length;)this.tokenizer.write(this.buffers[this.writeIndex++]);this.ended&&this.tokenizer.end()}parseChunk(t){this.write(t)}done(t){this.end(t)}}const DA=/["&'<>$\x80-\uFFFF]/g,FA=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),EA=null!=String.prototype.codePointAt?(t,e)=>t.codePointAt(e):(t,e)=>55296==(64512&t.charCodeAt(e))?1024*(t.charCodeAt(e)-55296)+t.charCodeAt(e+1)-56320+65536:t.charCodeAt(e);function QA(t){let e,n="",r=0;for(;null!==(e=DA.exec(t));){const i=e.index,A=t.charCodeAt(i),o=FA.get(A);void 0!==o?(n+=t.substring(r,i)+o,r=i+1):(n+=`${t.substring(r,i)}&#x${EA(t,i).toString(16)};`,r=DA.lastIndex+=Number(55296==(64512&A)))}return n+t.substr(r)}function WA(t,e){return function(n){let r,i=0,A="";for(;r=t.exec(n);)i!==r.index&&(A+=n.substring(i,r.index)),A+=e.get(r[0].charCodeAt(0)),i=r.index+1;return A+n.substring(i)}}const NA=WA(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),KA=WA(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]])),GA=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(t=>[t.toLowerCase(),t])),YA=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(t=>[t.toLowerCase(),t])),jA=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function LA(t){return t.replace(/"/g,""")}const JA=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function RA(t,e={}){const n="length"in t?t:[t];let r="";for(let t=0;t<n.length;t++)r+=HA(n[t],e);return r}function HA(t,e){switch(t.type){case Qn:return RA(t.children,e);case Jn:case Nn:return`<${t.data}>`;case Kn:return function(t){return`\x3c!--${t.data}--\x3e`}(t);case Ln:return function(t){return`<![CDATA[${t.children[0].data}]]>`}(t);case Gn:case Yn:case jn:return function(t,e){var n;"foreign"===e.xmlMode&&(t.name=null!==(n=GA.get(t.name))&&void 0!==n?n:t.name,t.parent&&ZA.has(t.parent.name)&&(e={...e,xmlMode:!1}));!e.xmlMode&&OA.has(t.name)&&(e={...e,xmlMode:"foreign"});let r=`<${t.name}`;const i=function(t,e){var n;if(!t)return;const r=!1===(null!==(n=e.encodeEntities)&&void 0!==n?n:e.decodeEntities)?LA:e.xmlMode||"utf8"!==e.encodeEntities?QA:NA;return Object.keys(t).map(n=>{var i,A;const o=null!==(i=t[n])&&void 0!==i?i:"";return"foreign"===e.xmlMode&&(n=null!==(A=YA.get(n))&&void 0!==A?A:n),e.emptyAttrs||e.xmlMode||""!==o?`${n}="${r(o)}"`:n}).join(" ")}(t.attribs,e);i&&(r+=` ${i}`);0===t.children.length&&(e.xmlMode?!1!==e.selfClosingTags:e.selfClosingTags&&JA.has(t.name))?(e.xmlMode||(r+=" "),r+="/>"):(r+=">",t.children.length>0&&(r+=RA(t.children,e)),!e.xmlMode&&JA.has(t.name)||(r+=`</${t.name}>`));return r}(t,e);case Wn:return function(t,e){var n;let r=t.data||"";!1===(null!==(n=e.encodeEntities)&&void 0!==n?n:e.decodeEntities)||!e.xmlMode&&t.parent&&jA.has(t.parent.name)||(r=e.xmlMode||"utf8"!==e.encodeEntities?QA(r):KA(r));return r}(t,e)}}const ZA=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),OA=new Set(["svg","math"]);const MA={defaultMerge:Symbol("deepmerge-ts: default merge"),skip:Symbol("deepmerge-ts: skip")};function UA(t,e){const n={key:e.key,parents:e.parents,values:e.values,result:e.result},r=t?.hierarchy;return{...n,hierarchy:void 0===r?[n]:[...r,n]}}function TA(t,e){return t.includes(void 0)?t.filter(t=>void 0!==t):t}function VA(t,e,n){return n===MA.defaultMerge||t.useImplicitDefaultMerging&&void 0===n&&t.mergeFunctions[e]!==t.defaultMergeFunctions[e]}function PA(t,e){return{...e,...Object.fromEntries(Object.entries(t).filter(([t])=>Object.hasOwn(e,t)).map(([t,n])=>!1===n?[t,e.mergeOthers]:"function"==typeof n?[t,n]:[t,e[t]]))}}var XA;function zA(t){return"object"!=typeof t||null===t?XA.NOT:Array.isArray(t)?XA.ARRAY:function(t){const e=Object.getPrototypeOf(t);if(null===e||e===Object.prototype)return!0;const n=Object.prototype.toString.call(t);if("[object Object]"!==n&&"[object Module]"!==n)return!1;const{constructor:r}=t;if(void 0===r)return!0;const i=r.prototype;if(null===i||"object"!=typeof i)return!1;const A=Object.prototype.toString.call(i);if("[object Object]"!==A&&"[object Module]"!==A)return!1;if(!Object.hasOwn(i,"isPrototypeOf"))return!1;return!0}(t)?XA.RECORD:t instanceof Set?XA.SET:t instanceof Map?XA.MAP:XA.OTHER}function _A(t){const e=Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e));return[...Object.keys(t),...e]}function qA(t,e){return"object"==typeof t&&Object.prototype.propertyIsEnumerable.call(t,e)}function $A(t,e,n){if(void 0===e||0===e.length)return 0;let r=1;for(let i=e.length-1;i>=0;i--){const{parents:A}=e[i];if(A[n]===t||A.includes(t))return r;r+=1}return 0}function to(t){return t?.hierarchy}function eo(t,e,n){if("object"!=typeof t||null===t)return t;const r=to(n),i=$A(t,r,0);if(void 0!==r&&i>0)return r[r.length-i]?.result;if(zA(t)===XA.RECORD){const r=t;let i=!1;const A={};for(const t of _A(r)){const o=r[t],s=e.metaDataUpdater(n,{key:t,parents:[r],values:[o],result:A}),a=eo(o,e,s);a!==o&&(i=!0),"__proto__"===t?Object.defineProperty(A,t,{value:a,configurable:!0,enumerable:!0,writable:!0}):A[t]=a}return i?A:t}return t}!function(t){t[t.NOT=0]="NOT",t[t.RECORD=1]="RECORD",t[t.ARRAY=2]="ARRAY",t[t.SET=3]="SET",t[t.MAP=4]="MAP",t[t.OTHER=5]="OTHER"}(XA||(XA={}));const no={mergeRecords:function(t,e,n){if(2===t.length){const r={},i=(i,A)=>{const o=e.metaDataUpdater(n,{key:i,parents:t,values:A,result:r}),s=io(A,e,o);s!==MA.skip&&("__proto__"===i?Object.defineProperty(r,i,{value:s,configurable:!0,enumerable:!0,writable:!0}):r[i]=s)},A=t[0],o=t[1];for(const t of _A(A))i(t,qA(o,t)?[A[t],o[t]]:[A[t]]);for(const t of _A(o))qA(A,t)||i(t,[o[t]]);return r}return function(t,e,n){const r={};for(const i of function(t){const e=new Set;for(const n of t){const t=Object.keys(n);for(const n of t)e.add(n);const r=Object.getOwnPropertySymbols(n);if(r.length>0)for(const t of r)Object.prototype.propertyIsEnumerable.call(n,t)&&e.add(t)}return e}(t)){const A=[];for(const e of t)qA(e,i)&&A.push(e[i]);const o=e.metaDataUpdater(n,{key:i,parents:t,values:A,result:r}),s=io(A,e,o);s!==MA.skip&&("__proto__"===i?Object.defineProperty(r,i,{value:s,configurable:!0,enumerable:!0,writable:!0}):r[i]=s)}return r}(t,e,n)},mergeArrays:function(t,e,n){return t.flat()},mergeSets:function(t,e,n){const r=new Set;for(const e of t)for(const t of e)r.add(t);return r},mergeMaps:function(t,e,n){const r=new Map,i=new Map;for(const e of t)for(const[t,n]of e){const e=i.get(t);void 0===e?i.set(t,[n]):e.push(n)}for(const[A,o]of i){const i=e.metaDataUpdater(n,{key:A,parents:t,values:o,result:r}),s=io(o,e,i);s!==MA.skip&&r.set(A,s)}return r},mergeCircularReferences:function(t,e,n,r){const i=e[0],A=to(r);for(let o=1;o<t.length;o++)if(e[o]!==i){const i=e.at(-1);return 0===i?eo(t.at(-1),n,r):A?.[A.length-i]?.result}return A?.[A.length-i]?.result},mergeOthers:function(t,e,n){return t.at(-1)}};function ro(t={},e){const n=function(t,e){const n=UA;return{defaultMergeFunctions:no,mergeFunctions:PA(t,no),metaDataUpdater:"function"==typeof t.metaDataUpdater?t.metaDataUpdater:n,deepmerge:e,useImplicitDefaultMerging:t.enableImplicitDefaultMerging??!1,filterValues:!1===t.filterValues?void 0:"function"==typeof t.filterValues?t.filterValues:TA,maxDepth:"number"==typeof t.maxDepth&&!Number.isNaN(t.maxDepth)&&t.maxDepth>=0?t.maxDepth:1e3,actions:MA}}(t,r);function r(...t){return io(t,n,e??void 0)}return r}function io(t,e,n){const r=e.filterValues?.(t,n)??t;if(0===r.length)return;const i=to(n),A=i?.length??("number"==typeof n?n:n?.depth??0);if(void 0!==e.maxDepth&&A>=e.maxDepth)return oo(r,e,n);if(1===r.length){if(void 0!==i){const t=$A(r[0],i,0);if(t>0)return i[i.length-t]?.result??i[i.length-t]?.parents[0]}return oo(r,e,n)}const o=zA(r[0]);if(o!==XA.NOT&&o!==XA.OTHER)if(2===r.length){if(zA(r[1])!==o)return oo(r,e,n);const t=$A(r[0],i,0),A=$A(r[1],i,1);if(0!==t||0!==A)return Ao(r,[t,A],e,n)}else{const t=new Array(r.length);t[0]=$A(r[0],i,0);for(let A=1;A<r.length;A++){if(zA(r[A])!==o)return oo(r,e,n);t[A]=$A(r[A],i,A)}if(t.some(t=>0!==t))return Ao(r,t,e,n)}switch(o){case XA.RECORD:return function(t,e,n){const r=e.mergeFunctions.mergeRecords(t,e,n);if(VA(e,"mergeRecords",r))return e.defaultMergeFunctions.mergeRecords(t,e,n);return r}(r,e,n);case XA.ARRAY:return function(t,e,n){const r=e.mergeFunctions.mergeArrays(t,e,n);if(VA(e,"mergeArrays",r))return e.defaultMergeFunctions.mergeArrays(t);return r}(r,e,n);case XA.SET:return function(t,e,n){const r=e.mergeFunctions.mergeSets(t,e,n);if(VA(e,"mergeSets",r))return e.defaultMergeFunctions.mergeSets(t);return r}(r,e,n);case XA.MAP:return function(t,e,n){const r=e.mergeFunctions.mergeMaps(t,e,n);if(VA(e,"mergeMaps",r))return e.defaultMergeFunctions.mergeMaps(t,e,n);return r}(r,e,n);default:return oo(r,e,n)}}function Ao(t,e,n,r){const i=n.mergeFunctions.mergeCircularReferences(t,e,n,r);return VA(n,"mergeCircularReferences",i)?n.defaultMergeFunctions.mergeCircularReferences(t,e,n,r):i}function oo(t,e,n){const r=e.mergeFunctions.mergeOthers(t,e,n);return VA(e,"mergeOthers",r)?e.defaultMergeFunctions.mergeOthers(t):r}function so(t,e,n=()=>{}){if(void 0===t){const t=function(...n){return e(t,...n)};return t}return t>=0?function(...r){return e(so(t-1,e,n),...r)}:n}function ao(t,e){let n=0,r=t.length;for(;n<r&&t[n]===e;)++n;for(;r>n&&t[r-1]===e;)--r;return n>0||r<t.length?t.substring(n,r):t}function co(t,e){for(const n of e){if(!t)return;t=t[n]}return t}function lo(t,e="a",n=26){const r=[];do{t-=1,r.push(t%n),t=t/n|0}while(t>0);const i=e.charCodeAt(0);return r.reverse().map(t=>String.fromCharCode(i+t)).join("")}const uo=["I","X","C","M"],ho=["V","L","D"];function fo(t){return[...t+""].map(t=>+t).reverse().map((t,e)=>t%5<4?(t<5?"":ho[e])+uo[e].repeat(t%5):uo[e]+(t<5?ho[e]:uo[e+1])).reverse().join("")}class go{constructor(t,e=void 0){this.lines=[],this.nextLineWords=[],this.maxLineLength=e||t.wordwrap||Number.MAX_VALUE,this.nextLineAvailableChars=this.maxLineLength,this.wrapCharacters=co(t,["longWordSplit","wrapCharacters"])||[],this.forceWrapOnLimit=co(t,["longWordSplit","forceWrapOnLimit"])||!1,this.stashedSpace=!1,this.wordBreakOpportunity=!1}pushWord(t,e=!1){this.nextLineAvailableChars<=0&&!e&&this.startNewLine();const n=0===this.nextLineWords.length,r=t.length+(n?0:1);if(r<=this.nextLineAvailableChars||e)this.nextLineWords.push(t),this.nextLineAvailableChars-=r;else{const[e,...r]=this.splitLongWord(t);n||this.startNewLine(),this.nextLineWords.push(e),this.nextLineAvailableChars-=e.length;for(const t of r)this.startNewLine(),this.nextLineWords.push(t),this.nextLineAvailableChars-=t.length}}popWord(){const t=this.nextLineWords.pop();if(void 0!==t){const e=0===this.nextLineWords.length,n=t.length+(e?0:1);this.nextLineAvailableChars+=n}return t}concatWord(t,e=!1){if(this.wordBreakOpportunity&&t.length>this.nextLineAvailableChars)this.pushWord(t,e),this.wordBreakOpportunity=!1;else{const n=this.popWord();this.pushWord(n?n.concat(t):t,e)}}startNewLine(t=1){this.lines.push(this.nextLineWords),t>1&&this.lines.push(...Array.from({length:t-1},()=>[])),this.nextLineWords=[],this.nextLineAvailableChars=this.maxLineLength}isEmpty(){return 0===this.lines.length&&0===this.nextLineWords.length}clear(){this.lines.length=0,this.nextLineWords.length=0,this.nextLineAvailableChars=this.maxLineLength}toString(){return[...this.lines,this.nextLineWords].map(t=>t.join(" ")).join("\n")}splitLongWord(t){const e=[];let n=0;for(;t.length>this.maxLineLength;){const r=t.substring(0,this.maxLineLength),i=t.substring(this.maxLineLength),A=r.lastIndexOf(this.wrapCharacters[n]);if(A>-1)t=r.substring(A+1)+i,e.push(r.substring(0,A+1));else{if(n++,!(n<this.wrapCharacters.length)){if(this.forceWrapOnLimit){if(e.push(r),(t=i).length>this.maxLineLength)continue}else t=r+i;break}t=r+i}}return e.push(t),e}}class po{constructor(t=null){this.next=t}getRoot(){return this.next?this.next:this}}class mo extends po{constructor(t,e=null,n=1,r=void 0){super(e),this.leadingLineBreaks=n,this.inlineTextBuilder=new go(t,r),this.rawText="",this.stashedLineBreaks=0,this.isPre=e&&e.isPre,this.isNoWrap=e&&e.isNoWrap}}class bo extends mo{constructor(t,e=null,{interRowLineBreaks:n=1,leadingLineBreaks:r=2,maxLineLength:i,maxPrefixLength:A=0,prefixAlign:o="left"}={}){super(t,e,r,i),this.maxPrefixLength=A,this.prefixAlign=o,this.interRowLineBreaks=n}}class Io extends mo{constructor(t,e=null,{leadingLineBreaks:n=1,maxLineLength:r,prefix:i=""}={}){super(t,e,n,r),this.prefix=i}}class yo extends po{constructor(t=null){super(t),this.rows=[],this.isPre=t&&t.isPre,this.isNoWrap=t&&t.isNoWrap}}class wo extends po{constructor(t=null){super(t),this.cells=[],this.isPre=t&&t.isPre,this.isNoWrap=t&&t.isNoWrap}}class Bo extends po{constructor(t,e=null,n=void 0){super(e),this.inlineTextBuilder=new go(t,n),this.rawText="",this.stashedLineBreaks=0,this.isPre=e&&e.isPre,this.isNoWrap=e&&e.isNoWrap}}class Co extends po{constructor(t=null,e){super(t),this.transform=e}}class xo{constructor(t){this.whitespaceChars=t.preserveNewlines?t.whitespaceCharacters.replace(/\n/g,""):t.whitespaceCharacters;const e=(n=this.whitespaceChars,[...n].map(t=>"\\u"+t.charCodeAt(0).toString(16).padStart(4,"0")).join(""));var n;if(this.leadingWhitespaceRe=new RegExp(`^[${e}]`),this.trailingWhitespaceRe=new RegExp(`[${e}]$`),this.allWhitespaceOrEmptyRe=new RegExp(`^[${e}]*$`),this.newlineOrNonWhitespaceRe=new RegExp(`(\\n|[^\\n${e}])`,"g"),this.newlineOrNonNewlineStringRe=new RegExp("(\\n|[^\\n]+)","g"),t.preserveNewlines){const t=new RegExp(`\\n|[^\\n${e}]+`,"gm");this.shrinkWrapAdd=function(e,n,r=t=>t,i=!1){if(!e)return;const A=n.stashedSpace;let o=!1,s=t.exec(e);if(s)for(o=!0,"\n"===s[0]?n.startNewLine():A||this.testLeadingWhitespace(e)?n.pushWord(r(s[0]),i):n.concatWord(r(s[0]),i);null!==(s=t.exec(e));)"\n"===s[0]?n.startNewLine():n.pushWord(r(s[0]),i);n.stashedSpace=A&&!o||this.testTrailingWhitespace(e)}}else{const t=new RegExp(`[^${e}]+`,"g");this.shrinkWrapAdd=function(e,n,r=t=>t,i=!1){if(!e)return;const A=n.stashedSpace;let o=!1,s=t.exec(e);if(s)for(o=!0,A||this.testLeadingWhitespace(e)?n.pushWord(r(s[0]),i):n.concatWord(r(s[0]),i);null!==(s=t.exec(e));)n.pushWord(r(s[0]),i);n.stashedSpace=A&&!o||this.testTrailingWhitespace(e)}}}addLiteral(t,e,n=!0){if(!t)return;const r=e.stashedSpace;let i=!1,A=this.newlineOrNonNewlineStringRe.exec(t);if(A)for(i=!0,"\n"===A[0]?e.startNewLine():r?e.pushWord(A[0],n):e.concatWord(A[0],n);null!==(A=this.newlineOrNonNewlineStringRe.exec(t));)"\n"===A[0]?e.startNewLine():e.pushWord(A[0],n);e.stashedSpace=r&&!i}testLeadingWhitespace(t){return this.leadingWhitespaceRe.test(t)}testTrailingWhitespace(t){return this.trailingWhitespaceRe.test(t)}testContainsWords(t){return!this.allWhitespaceOrEmptyRe.test(t)}countNewlinesNoWords(t){this.newlineOrNonWhitespaceRe.lastIndex=0;let e,n=0;for(;null!==(e=this.newlineOrNonWhitespaceRe.exec(t));){if("\n"!==e[0])return 0;n++}return n}}class ko{constructor(t,e,n=void 0){this.options=t,this.picker=e,this.metadata=n,this.whitespaceProcessor=new xo(t),this._stackItem=new mo(t),this._wordTransformer=void 0}pushWordTransform(t){this._wordTransformer=new Co(this._wordTransformer,t)}popWordTransform(){if(!this._wordTransformer)return;const t=this._wordTransformer.transform;return this._wordTransformer=this._wordTransformer.next,t}startNoWrap(){this._stackItem.isNoWrap=!0}stopNoWrap(){this._stackItem.isNoWrap=!1}_getCombinedWordTransformer(){const t=this._wordTransformer?t=>Do(t,this._wordTransformer):void 0,e=this.options.encodeCharacters;return t?e?n=>e(t(n)):t:e}_popStackItem(){const t=this._stackItem;return this._stackItem=t.next,t}addLineBreak(){(this._stackItem instanceof mo||this._stackItem instanceof Io||this._stackItem instanceof Bo)&&(this._stackItem.isPre?this._stackItem.rawText+="\n":this._stackItem.inlineTextBuilder.startNewLine())}addWordBreakOpportunity(){(this._stackItem instanceof mo||this._stackItem instanceof Io||this._stackItem instanceof Bo)&&(this._stackItem.inlineTextBuilder.wordBreakOpportunity=!0)}addInline(t,{noWordTransform:e=!1}={}){if(this._stackItem instanceof mo||this._stackItem instanceof Io||this._stackItem instanceof Bo)if(this._stackItem.isPre)this._stackItem.rawText+=t;else if(0!==t.length&&(!this._stackItem.stashedLineBreaks||this.whitespaceProcessor.testContainsWords(t))){if(this.options.preserveNewlines){const e=this.whitespaceProcessor.countNewlinesNoWords(t);if(e>0)return void this._stackItem.inlineTextBuilder.startNewLine(e)}this._stackItem.stashedLineBreaks&&this._stackItem.inlineTextBuilder.startNewLine(this._stackItem.stashedLineBreaks),this.whitespaceProcessor.shrinkWrapAdd(t,this._stackItem.inlineTextBuilder,e?void 0:this._getCombinedWordTransformer(),this._stackItem.isNoWrap),this._stackItem.stashedLineBreaks=0}}addLiteral(t){(this._stackItem instanceof mo||this._stackItem instanceof Io||this._stackItem instanceof Bo)&&0!==t.length&&(this._stackItem.isPre?this._stackItem.rawText+=t:(this._stackItem.stashedLineBreaks&&this._stackItem.inlineTextBuilder.startNewLine(this._stackItem.stashedLineBreaks),this.whitespaceProcessor.addLiteral(t,this._stackItem.inlineTextBuilder,this._stackItem.isNoWrap),this._stackItem.stashedLineBreaks=0))}openBlock({leadingLineBreaks:t=1,reservedLineLength:e=0,isPre:n=!1}={}){const r=Math.max(20,this._stackItem.inlineTextBuilder.maxLineLength-e);this._stackItem=new mo(this.options,this._stackItem,t,r),n&&(this._stackItem.isPre=!0)}closeBlock({trailingLineBreaks:t=1,blockTransform:e}={}){const n=this._popStackItem(),r=e?e(vo(n)):vo(n);So(this._stackItem,r,n.leadingLineBreaks,Math.max(n.stashedLineBreaks,t))}openList({maxPrefixLength:t=0,prefixAlign:e="left",interRowLineBreaks:n=1,leadingLineBreaks:r=2}={}){this._stackItem=new bo(this.options,this._stackItem,{interRowLineBreaks:n,leadingLineBreaks:r,maxLineLength:this._stackItem.inlineTextBuilder.maxLineLength,maxPrefixLength:t,prefixAlign:e})}openListItem({prefix:t=""}={}){if(!(this._stackItem instanceof bo))throw new Error("Can't add a list item to something that is not a list! Check the formatter.");const e=this._stackItem,n=Math.max(t.length,e.maxPrefixLength),r=Math.max(20,e.inlineTextBuilder.maxLineLength-n);this._stackItem=new Io(this.options,e,{prefix:t,maxLineLength:r,leadingLineBreaks:e.interRowLineBreaks})}closeListItem(){const t=this._popStackItem(),e=t.next,n=Math.max(t.prefix.length,e.maxPrefixLength),r="\n"+" ".repeat(n);So(e,("right"===e.prefixAlign?t.prefix.padStart(n):t.prefix.padEnd(n))+vo(t).replace(/\n/g,r),t.leadingLineBreaks,Math.max(t.stashedLineBreaks,e.interRowLineBreaks))}closeList({trailingLineBreaks:t=2}={}){const e=this._popStackItem(),n=vo(e);n&&So(this._stackItem,n,e.leadingLineBreaks,t)}openTable(){this._stackItem=new yo(this._stackItem)}openTableRow(){if(!(this._stackItem instanceof yo))throw new Error("Can't add a table row to something that is not a table! Check the formatter.");this._stackItem=new wo(this._stackItem)}openTableCell({maxColumnWidth:t}={}){if(!(this._stackItem instanceof wo))throw new Error("Can't add a table cell to something that is not a table row! Check the formatter.");this._stackItem=new Bo(this.options,this._stackItem,t)}closeTableCell({colspan:t=1,rowspan:e=1}={}){const n=this._popStackItem(),r=ao(vo(n),"\n");n.next.cells.push({colspan:t,rowspan:e,text:r})}closeTableRow(){const t=this._popStackItem();t.next.rows.push(t.cells)}closeTable({tableToString:t,leadingLineBreaks:e=2,trailingLineBreaks:n=2}){const r=t(this._popStackItem().rows);r&&So(this._stackItem,r,e,n)}toString(){return vo(this._stackItem.getRoot())}}function vo(t){if(!(t instanceof mo||t instanceof Io||t instanceof Bo))throw new Error("Only blocks, list items and table cells can be requested for text contents.");return t.inlineTextBuilder.isEmpty()?t.rawText:t.rawText+t.inlineTextBuilder.toString()}function So(t,e,n,r){if(!(t instanceof mo||t instanceof Io||t instanceof Bo))throw new Error("Only blocks, list items and table cells can contain text.");const i=vo(t),A=Math.max(t.stashedLineBreaks,n);t.inlineTextBuilder.clear(),i?t.rawText=i+"\n".repeat(A)+e:(t.rawText=e,t.leadingLineBreaks=A),t.stashedLineBreaks=r}function Do(t,e){return e?Do(e.transform(t),e.next):t}function Fo(t={}){const e=t.selectors.filter(t=>!t.format);if(e.length)throw new Error("Following selectors have no specified format: "+e.map(t=>`\`${t.selector}\``).join(", "));const n=new vi(t.selectors.map(t=>[t.selector,t])).build(Zi);"function"!=typeof t.encodeCharacters&&(t.encodeCharacters=function(t){if(!t||0===Object.keys(t).length)return;const e=Object.entries(t).filter(([,t])=>!1!==t),n=new RegExp(e.map(([t])=>{return`(${e=[...t][0],e.replace(/[\s\S]/g,t=>"\\u"+t.charCodeAt().toString(16).padStart(4,"0"))})`;var e}).join("|"),"g"),r=e.map(([,t])=>t),i=(t,...e)=>r[e.findIndex(t=>t)];return t=>t.replace(n,i)}(t.encodeCharacters));const r=new vi(t.baseElements.selectors.map((t,e)=>[t,e+1])).build(Zi);function i(e){return function(t,e,n){const r=[];function i(t,i){i=i.slice(0,e.limits.maxChildNodes);for(const A of i){if("tag"!==A.type)continue;const i=n.pick1(A);if(i>0?r.push({selectorIndex:i,element:A}):A.children&&t(A.children),r.length>=e.limits.maxBaseElements)return}}const A=so(e.limits.maxDepth,i);A(t),"occurrence"!==e.baseElements.orderBy&&r.sort((t,e)=>t.selectorIndex-e.selectorIndex);return e.baseElements.returnDomByDefault&&0===r.length?t:r.map(t=>t.element)}(e,t,r)}const A=so(t.limits.maxDepth,Eo,function(e,n){n.addInline(t.limits.ellipsis||"")});return function(e,r=void 0){return function(t,e,n,r,i,A){const o=n.limits.maxInputLength;o&&t&&t.length>o&&(console.warn(`Input length ${t.length} is above allowed limit of ${o}. Truncating without ellipsis.`),t=t.substring(0,o));const s=function(t,e){const n=new $n(void 0,e);return new SA(n,e).end(t),n.root}(t,{decodeEntities:n.decodeEntities}),a=i(s.children),c=new ko(n,r,e);return A(a,c),c.toString()}(e,r,t,n,i,A)}}function Eo(t,e,n){if(!e)return;const r=n.options;e.length>r.limits.maxChildNodes&&(e=e.slice(0,r.limits.maxChildNodes)).push({data:r.limits.ellipsis,type:"text"});for(const i of e)switch(i.type){case"text":n.addInline(i.data);break;case"tag":{const e=n.picker.pick1(i);(0,r.formatters[e.format])(i,t,n,e.options||{});break}}}function Qo(t){const e=t.attribs&&t.attribs.length?" "+Object.entries(t.attribs).map(([t,e])=>""===e?t:`${t}=${e.replace(/"/g,""")}`).join(" "):"";return`<${t.name}${e}>`}function Wo(t){return`</${t.name}>`}var No=Object.freeze({__proto__:null,block:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),e(t.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},blockHtml:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),n.startNoWrap(),n.addLiteral(RA(t,{decodeEntities:n.options.decodeEntities})),n.stopNoWrap(),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},blockString:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),n.addLiteral(r.string||""),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},blockTag:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),n.startNoWrap(),n.addLiteral(Qo(t)),n.stopNoWrap(),e(t.children,n),n.startNoWrap(),n.addLiteral(Wo(t)),n.stopNoWrap(),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},inline:function(t,e,n,r){e(t.children,n)},inlineHtml:function(t,e,n,r){n.startNoWrap(),n.addLiteral(RA(t,{decodeEntities:n.options.decodeEntities})),n.stopNoWrap()},inlineString:function(t,e,n,r){n.addLiteral(r.string||"")},inlineSurround:function(t,e,n,r){n.addLiteral(r.prefix||""),e(t.children,n),n.addLiteral(r.suffix||"")},inlineTag:function(t,e,n,r){n.startNoWrap(),n.addLiteral(Qo(t)),n.stopNoWrap(),e(t.children,n),n.startNoWrap(),n.addLiteral(Wo(t)),n.stopNoWrap()},skip:function(t,e,n,r){}});const Ko=t=>{const e=t[t.length-1];return Array.isArray(e)?[...e]:[]},Go=ro({filterValues:!1,mergeArrays:Ko}),Yo=ro({filterValues:!1,mergeArrays:(t,e,n)=>{const r=n?.keyPath?n.keyPath:[];return 1===r.length&&"selectors"===r[0]?t.flatMap(t=>t):Ko(t)},metaDataUpdater:(t,e)=>void 0===t?void 0===e.key?{keyPath:[]}:{keyPath:[e.key]}:void 0===e.key?t:{keyPath:[...t.keyPath,e.key]}});function jo(t,e){const n=new Map;for(let r=t.length;r-- >0;){const i=t[r],A=e(i);n.set(A,n.has(A)?Go(i,n.get(A)):i)}return[...n.values()].reverse()}function Lo(t,e){return t[e]||(t[e]=[]),t[e]}function Jo(t,e=0){for(;t[e];)e++;return e}function Ro(t,e,n,r){for(let i=0;i<t.rowspan;i++){const A=Lo(e,n+i);for(let e=0;e<t.colspan;e++)A[r+e]=t}}function Ho(t,e){return void 0===t[e]&&(t[e]=0===e?0:1+Ho(t,e-1)),t[e]}function Zo(t,e,n,r){t[e+n]=Math.max(Ho(t,e+n),Ho(t,e)+r)}function Oo(t,e,n){const r=[];let i=0;const A=t.length,o=[0];for(let n=0;n<A;n++){const A=Lo(r,n),s=t[n];let a=0;for(let t=0;t<s.length;t++){const i=s[t];a=Jo(A,a),Ro(i,r,n,a),a+=i.colspan,i.lines=i.text.split("\n");const c=i.lines.length;Zo(o,n,i.rowspan,c+e)}i=A.length>i?A.length:i}!function(t,e){for(let n=0;n<e;n++){const e=Lo(t,n);for(let r=0;r<n;r++){const i=Lo(t,r);if(e[r]||i[n]){const t=e[r];e[r]=i[n],i[n]=t}}}}(r,A>i?A:i);const s=[],a=[0];for(let t=0;t<i;t++){let e,i=0;const c=Math.min(A,r[t].length);for(;i<c;)if(e=r[t][i],e){if(!e.rendered){let r=0;for(let n=0;n<e.lines.length;n++){const A=e.lines[n],c=o[i]+n;s[c]=(s[c]||"").padEnd(a[t])+A,r=A.length>r?A.length:r}Zo(a,t,e.colspan,r+n),e.rendered=!0}i+=e.rowspan}else{const t=o[i];s[t]=s[t]||"",i++}}return s.join("\n")}function Mo(t,e){if(!e)return t;return("string"==typeof e[0]?e[0]:"[")+t+("string"==typeof e[1]?e[1]:"]")}function Uo(t,e,n,r,i){const A="function"==typeof e?e(t,r,i):t;return"/"===A[0]&&n?function(t,e){let n=t.length;for(;n>0&&t[n-1]===e;)--n;return n<t.length?t.substring(0,n):t}(n,"/")+A:A}function To(t,e,n,r,i){const A="li"===co(t,["parent","name"]);let o=0;const s=(t.children||[]).filter(t=>"text"!==t.type||!/^\s*$/.test(t.data)).map(function(t){if("li"!==t.name)return{node:t,prefix:""};const e=A?i().trimStart():i();return e.length>o&&(o=e.length),{node:t,prefix:e}});if(s.length){n.openList({interRowLineBreaks:1,leadingLineBreaks:A?1:r.leadingLineBreaks||2,maxPrefixLength:o,prefixAlign:"left"});for(const{node:t,prefix:r}of s)n.openListItem({prefix:r}),e([t],n),n.closeListItem();n.closeList({trailingLineBreaks:A?1:r.trailingLineBreaks||2})}}function Vo(t,e,n,r){function i(t){const i=+co(t,["attribs","colspan"])||1,A=+co(t,["attribs","rowspan"])||1;n.openTableCell({maxColumnWidth:r.maxColumnWidth}),e(t.children,n),n.closeTableCell({colspan:i,rowspan:A})}n.openTable(),t.children.forEach(function t(e){if("tag"!==e.type)return;const A=!1!==r.uppercaseHeaderCells?t=>{n.pushWordTransform(t=>t.toUpperCase()),i(t),n.popWordTransform()}:i;switch(e.name){case"thead":case"tbody":case"tfoot":case"center":return void e.children.forEach(t);case"tr":n.openTableRow();for(const t of e.children)if("tag"===t.type)switch(t.name){case"th":A(t);break;case"td":i(t)}n.closeTableRow()}}),n.closeTable({tableToString:t=>Oo(t,r.rowSpacing??0,r.colSpacing??3),leadingLineBreaks:r.leadingLineBreaks,trailingLineBreaks:r.trailingLineBreaks})}var Po=Object.freeze({__proto__:null,anchor:function(t,e,n,r){const i=function(){if(r.ignoreHref)return"";if(!t.attribs||!t.attribs.href)return"";let e=t.attribs.href.replace(/^mailto:/,"");return r.noAnchorUrl&&"#"===e[0]?"":(e=Uo(e,r.pathRewrite,r.baseUrl,n.metadata,t),e)}();if(i){let A="";n.pushWordTransform(t=>(t&&(A+=t),t)),e(t.children,n),n.popWordTransform();r.hideLinkHrefIfSameAsText&&i===A||n.addInline(A?" "+Mo(i,r.linkBrackets):i,{noWordTransform:!0})}else e(t.children,n)},blockquote:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2,reservedLineLength:2}),e(t.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2,blockTransform:t=>(!1!==r.trimEmptyLines?ao(t,"\n"):t).split("\n").map(t=>"> "+t).join("\n")})},dataTable:Vo,heading:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),!1!==r.uppercase?(n.pushWordTransform(t=>t.toUpperCase()),e(t.children,n),n.popWordTransform()):e(t.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},horizontalLine:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),n.addInline("-".repeat(r.length||n.options.wordwrap||40)),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},image:function(t,e,n,r){const i=t.attribs||{},A=i.alt?i.alt:"",o=i.src?Uo(i.src,r.pathRewrite,r.baseUrl,n.metadata,t):"",s=o?A?A+" "+Mo(o,r.linkBrackets):Mo(o,r.linkBrackets):A;n.addInline(s,{noWordTransform:!0})},lineBreak:function(t,e,n,r){n.addLineBreak()},orderedList:function(t,e,n,r){let i=Number(t.attribs.start||"1");const A=function(t="1"){switch(t){case"a":return t=>lo(t,"a");case"A":return t=>lo(t,"A");case"i":return t=>fo(t).toLowerCase();case"I":return t=>fo(t);default:return t=>t.toString()}}(t.attribs.type);return To(t,e,n,r,()=>" "+A(i++)+". ")},paragraph:function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks||2}),e(t.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},pre:function(t,e,n,r){n.openBlock({isPre:!0,leadingLineBreaks:r.leadingLineBreaks||2}),e(t.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks||2})},table:function(t,e,n,r){return function(t,e){if(!0===e)return!0;if(!t)return!1;const{classes:n,ids:r}=function(t){const e=[],n=[];for(const r of t)r.startsWith(".")?e.push(r.substring(1)):r.startsWith("#")&&n.push(r.substring(1));return{classes:e,ids:n}}(e),i=(t.class||"").split(" "),A=(t.id||"").split(" ");return i.some(t=>n.includes(t))||A.some(t=>r.includes(t))}(t.attribs,n.options.tables)?Vo(t,e,n,r):function(t,e,n,r){n.openBlock({leadingLineBreaks:r.leadingLineBreaks}),e(t.children,n),n.closeBlock({trailingLineBreaks:r.trailingLineBreaks})}(t,e,n,r)},unorderedList:function(t,e,n,r){const i=r.itemPrefix||" * ";return To(t,e,n,r,()=>i)},wbr:function(t,e,n,r){n.addWordBreakOpportunity()}});const Xo={baseElements:{selectors:["body"],orderBy:"selectors",returnDomByDefault:!0},decodeEntities:!0,encodeCharacters:{},formatters:{},limits:{ellipsis:"...",maxBaseElements:void 0,maxChildNodes:void 0,maxDepth:void 0,maxInputLength:1<<24},longWordSplit:{forceWrapOnLimit:!1,wrapCharacters:[]},preserveNewlines:!1,selectors:[{selector:"*",format:"inline"},{selector:"a",format:"anchor",options:{baseUrl:null,hideLinkHrefIfSameAsText:!1,ignoreHref:!1,linkBrackets:["[","]"],noAnchorUrl:!0}},{selector:"article",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"aside",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"blockquote",format:"blockquote",options:{leadingLineBreaks:2,trailingLineBreaks:2,trimEmptyLines:!0}},{selector:"br",format:"lineBreak"},{selector:"div",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"footer",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"form",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"h1",format:"heading",options:{leadingLineBreaks:3,trailingLineBreaks:2,uppercase:!0}},{selector:"h2",format:"heading",options:{leadingLineBreaks:3,trailingLineBreaks:2,uppercase:!0}},{selector:"h3",format:"heading",options:{leadingLineBreaks:3,trailingLineBreaks:2,uppercase:!0}},{selector:"h4",format:"heading",options:{leadingLineBreaks:2,trailingLineBreaks:2,uppercase:!0}},{selector:"h5",format:"heading",options:{leadingLineBreaks:2,trailingLineBreaks:2,uppercase:!0}},{selector:"h6",format:"heading",options:{leadingLineBreaks:2,trailingLineBreaks:2,uppercase:!0}},{selector:"header",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"hr",format:"horizontalLine",options:{leadingLineBreaks:2,length:void 0,trailingLineBreaks:2}},{selector:"img",format:"image",options:{baseUrl:null,linkBrackets:["[","]"]}},{selector:"main",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"nav",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"ol",format:"orderedList",options:{leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"p",format:"paragraph",options:{leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"pre",format:"pre",options:{leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"section",format:"block",options:{leadingLineBreaks:1,trailingLineBreaks:1}},{selector:"table",format:"table",options:{colSpacing:3,leadingLineBreaks:2,maxColumnWidth:60,rowSpacing:0,trailingLineBreaks:2,uppercaseHeaderCells:!0}},{selector:"ul",format:"unorderedList",options:{itemPrefix:" * ",leadingLineBreaks:2,trailingLineBreaks:2}},{selector:"wbr",format:"wbr"}],tables:[],whitespaceCharacters:" \t\r\n\f",wordwrap:80};function zo(t={}){return t=function({defaultOptions:t,userOptions:e={},genericFormatters:n,packageFormatters:r,handleMergedOptions:i}){const A=Yo(t,e);return A.formatters=Object.assign({},n,r,A.formatters),A.selectors=jo(A.selectors,t=>t.selector),i&&i(A),A}({defaultOptions:Xo,genericFormatters:No,handleMergedOptions:qo,packageFormatters:Po,userOptions:t}),Fo(t)}function _o(t,e={},n=void 0){return zo(e)(t,n)}function qo(t){if(t.tags){const e=Object.entries(t.tags).map(([t,e])=>({...e,selector:t||"*"}));t.selectors.push(...e),t.selectors=jo(t.selectors,t=>t.selector)}function e(t,e,n){const r=e.pop();for(const n of e){let e=t[n];e||(e={},t[n]=e),t=e}t[r]=n}if(t.baseElement){const n=t.baseElement;e(t,["baseElements","selectors"],Array.isArray(n)?n:[n])}void 0!==t.returnDomByDefault&&e(t,["baseElements","returnDomByDefault"],t.returnDomByDefault);for(const n of t.selectors)"anchor"===n.format&&co(n,["options","noLinkBrackets"])&&e(n,["options","linkBrackets"],!1)}var $o=Object.freeze({__proto__:null,compile:zo,convert:_o,htmlToText:_o});function ts(){let t,e,n=new Promise(function(){t=arguments[0],e=arguments[1]});return n.resolve=t,n.reject=e,n}function es(t){return t!=t}function ns(t){let e=!1;if(Bt(t))e=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(es(t))return!1;e=!0}return e}function rs(t){if(!ns(t))return 0;return Me(t)}function is(t){return!!ns(t)&&(t=rs(t),"number"==typeof(e=t)&&e==Ue(e));var e}var As=b.isFinite,os=Math.min;var ss=function(t){var e=Math[t];return function(t,n){if(t=Ze(t),(n=null==n?0:os(Ue(n),292))&&As(t)){var r=(pt(t)+"e").split("e");return+((r=(pt(e(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return e(t)}}("round"),as=ss;function cs(t){if(!ns(t))return 0;t=rs(t);let e=as(t);return"0"===String(e)?0:e}function ls(t){if(!is(t))return!1;return cs(t)>0}async function us(){let t="htmlToText";if(Dn(yt($o,t)))return $o;if(Dn(yt($o,["default",t])))return;let e=globalThis,n=null;if(await async function(t,e={}){let n=null,r=ts();if(!Dn(t))return r.reject("waitfunction需輸入函數f"),r;let i=async()=>{let e=t();return Fn(e)&&(e=await e),e};if(n=await i(),!0===n)return r.resolve(),r;let A=yt(e,"attemptNum",null);ls(A)||(A=200);let o=yt(e,"timeInterval",null);ls(o)||(o=1e3);let s=0,a=setInterval(async()=>{s+=1,n=await i(),!0===n&&(clearInterval(a),r.resolve()),s>A&&(clearInterval(a),r.reject(`exceeded attemptNum[${A}]`))},o);return r}(()=>(n=yt(e,"ht",null),function(t){if(Ct(t)){for(let e in t)return!0;return!1}return!1}(n)),{attemptNum:4e3,timeInterval:50}),Dn(yt(n,t)))return n;if(Dn(yt(n,["default",t])))return n.default;throw console.log("ht",$o,"g.ht",e.ht),new Error("invalid ht, g.ht, g.ht.default, use script for import")}function hs(t){return"[object Array]"===Object.prototype.toString.call(t)}function ds(t,e){let n=ts();if(!hs(t)&&!Ct(t))return n.reject("rs is not an array or object"),n;let r=!1;if(Ct(t)){r=!0;let e=[];ce(t,(t,n)=>{e.push({k:n,v:t})}),t=e}Dn(e)||(e=function(t){return t});let i=-1,A=[];return t.reduce(function(t,n){return t.then(function(t){A.push(t),i+=1;let o=i,s=n;return r&&(o=n.k,s=n.v),Dn(e)?e(s,o):s})},Promise.resolve()).then(function(t){A.push(t),A=Te(A),n.resolve(A)}).catch(function(t){n.reject(t)}),n}function fs(t){if(!is(t))return!1;return cs(t)>=0}function gs(t,e){if(!Bt(t))return"";if(!fs(e))return"";if(0===(e=cs(e)))return"";let n=t.length-e;return n<0&&(n=0),t.substring(n,n+e)}function ps(t,e){return Bt(t)&&fs(e)?0===(e=cs(e))?"":t.substring(0,e):""}function ms(t,e){return Bt(t)&&fs(e)?0===(e=cs(e))?t:ps(t,t.length-e):""}function bs(t){if(!Bt(t))return{path:"",isRoot:!1};for(;t.indexOf("\\\\")>=0;)t=t.replace("\\\\","\\");for(;t.indexOf("//")>=0;)t=t.replace("//","/");if(":"===gs(t,1))return{path:`${t}\\`,isRoot:!0};if("\\"===gs(t,1)){let e=ms(t,1);return":"===gs(e,1)?{path:t,isRoot:!0}:{path:e,isRoot:!1}}if("/"===gs(t,1)){let e=ms(t,1);return 0===e.length?{path:t,isRoot:!0}:{path:e,isRoot:!1}}return{path:t,isRoot:!1}}function Is(t){if(!Bt(t))return"";let e=bs(t);if(e.isRoot)return e.path;let n=e.path;try{n=n.split("\\").pop().split("/").pop()}catch(t){}return n}function ys(t){if(!Bt(t))return"";let e=Is(t),n=Fe(e,".");if(kn(n)<=1)return e;let r="";try{n=(s=null==(i=n)?0:i.length)?le(i,0,(A=s-(A=o||void 0===A?1:Ue(A)))<0?0:A):[],r=je(n,".")}catch(t){}var i,A,o,s;return r}function ws(t){if(!Bt(t))return"";let e=bs(t);if(e.isRoot)return e.path;let n=Is(t=e.path);if(!Bt(n))return t;let r=bs(t=ms(t,n.length));return r.isRoot,r.path}function Bs(t){return pt(t).toLowerCase()}function Cs(t){var e=this.__data__=new tt(t);this.size=e.size}Cs.prototype.clear=function(){this.__data__=new tt,this.size=0},Cs.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Cs.prototype.get=function(t){return this.__data__.get(t)},Cs.prototype.has=function(t){return this.__data__.has(t)},Cs.prototype.set=function(t,e){var n=this.__data__;if(n instanceof tt){var r=n.__data__;if(!et||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new rt(r)}return n.set(t,e),this.size=n.size,this};var xs=function(){try{var t=T(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),ks=xs;function vs(t,e,n){"__proto__"==e&&ks?ks(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}var Ss=Object.prototype.hasOwnProperty;function Ds(t,e,n){var r=t[e];Ss.call(t,e)&&_(r,n)&&(void 0!==n||e in t)||vs(t,e,n)}function Fs(t,e,n,r){var i=!n;n||(n={});for(var A=-1,o=e.length;++A<o;){var s=e[A],a=r?r(n[s],t[s],s,n,t):void 0;void 0===a&&(a=t[s]),i?vs(n,s,a):Ds(n,s,a)}return n}var Es=Object.prototype.hasOwnProperty;function Qs(t){if(!W(t))return function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}(t);var e=$t(t),n=[];for(var r in t)("constructor"!=r||!e&&Es.call(t,r))&&n.push(r);return n}function Ws(t){return ie(t)?_t(t,!0):Qs(t)}var Ns="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ks=Ns&&"object"==typeof module&&module&&!module.nodeType&&module,Gs=Ks&&Ks.exports===Ns?b.Buffer:void 0,Ys=Gs?Gs.allocUnsafe:void 0;function js(){return[]}var Ls=Object.prototype.propertyIsEnumerable,Js=Object.getOwnPropertySymbols,Rs=Js?function(t){return null==t?[]:(t=Object(t),function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,A=[];++n<r;){var o=t[n];e(o,n,t)&&(A[i++]=o)}return A}(Js(t),function(e){return Ls.call(t,e)}))}:js,Hs=Rs;function Zs(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}var Os=te(Object.getPrototypeOf,Object),Ms=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)Zs(e,Hs(t)),t=Os(t);return e}:js,Us=Ms;function Ts(t,e,n){var r=e(t);return g(t)?r:Zs(r,n(t))}function Vs(t){return Ts(t,Ae,Hs)}function Ps(t){return Ts(t,Ws,Us)}var Xs=Object.prototype.hasOwnProperty;var zs=b.Uint8Array;function _s(t){var e=new t.constructor(t.byteLength);return new zs(e).set(new zs(t)),e}var qs=/\w*$/;var $s=I?I.prototype:void 0,ta=$s?$s.valueOf:void 0;function ea(t,e,n){var r,i=t.constructor;switch(e){case"[object ArrayBuffer]":return _s(t);case"[object Boolean]":case"[object Date]":return new i(+t);case"[object DataView]":return function(t,e){var n=e?_s(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(t,e){var n=e?_s(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}(t,n);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,qs.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return r=t,ta?Object(ta.call(r)):{}}}var na=Object.create,ra=function(){function t(){}return function(e){if(!W(e))return{};if(na)return na(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}(),ia=ra;var Aa=Vt&&Vt.isMap,oa=Aa?Ot(Aa):function(t){return S(t)&&"[object Map]"==cn(t)};var sa=Vt&&Vt.isSet,aa=sa?Ot(sa):function(t){return S(t)&&"[object Set]"==cn(t)},ca="[object Arguments]",la="[object Function]",ua="[object Object]",ha={};function da(t,e,n,r,i,A){var o,s=1&e,a=2&e,c=4&e;if(n&&(o=i?n(t,r,i,A):n(t)),void 0!==o)return o;if(!W(t))return t;var l=g(t);if(l){if(o=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Xs.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!s)return function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}(t,o)}else{var u=cn(t),h=u==la||"[object GeneratorFunction]"==u;if(Lt(t))return function(t,e){if(e)return t.slice();var n=t.length,r=Ys?Ys(n):new t.constructor(n);return t.copy(r),r}(t,s);if(u==ua||u==ca||h&&!i){if(o=a||h?{}:function(t){return"function"!=typeof t.constructor||$t(t)?{}:ia(Os(t))}(t),!s)return a?function(t,e){return Fs(t,Us(t),e)}(t,function(t,e){return t&&Fs(e,Ws(e),t)}(o,t)):function(t,e){return Fs(t,Hs(t),e)}(t,function(t,e){return t&&Fs(e,Ae(e),t)}(o,t))}else{if(!ha[u])return i?t:{};o=ea(t,u,s)}}A||(A=new Cs);var d=A.get(t);if(d)return d;A.set(t,o),aa(t)?t.forEach(function(r){o.add(da(r,e,n,r,t,A))}):oa(t)&&t.forEach(function(r,i){o.set(i,da(r,e,n,i,t,A))});var f=l?void 0:(c?a?Ps:Vs:a?Ws:Ae)(t);return vt(f||t,function(r,i){f&&(r=t[i=r]),Ds(o,i,da(r,e,n,i,t,A))}),o}ha[ca]=ha["[object Array]"]=ha["[object ArrayBuffer]"]=ha["[object DataView]"]=ha["[object Boolean]"]=ha["[object Date]"]=ha["[object Float32Array]"]=ha["[object Float64Array]"]=ha["[object Int8Array]"]=ha["[object Int16Array]"]=ha["[object Int32Array]"]=ha["[object Map]"]=ha["[object Number]"]=ha[ua]=ha["[object RegExp]"]=ha["[object Set]"]=ha["[object String]"]=ha["[object Symbol]"]=ha["[object Uint8Array]"]=ha["[object Uint8ClampedArray]"]=ha["[object Uint16Array]"]=ha["[object Uint32Array]"]=!0,ha["[object Error]"]=ha[la]=ha["[object WeakMap]"]=!1;function fa(t){return da(t,5)}let ga=(t,e)=>{let n=t.toString("base64"),r=(t=>"png"===(t=Bs(t))?"image/png":"jpg"===t||"jpeg"===t?"image/jpeg":"gif"===t?"image/gif":"svg"===t?"image/svg+xml":"webp"===t?"image/webp":"application/octet-stream")(e);return`data:${r};base64,${n}`},pa=async(e,n,i={})=>{if(!kt(e))throw new Error(`fpInp[${e}] does not exist`);let A=yt(i,"funGetWidth"),o=yt(i,"funGetHeight"),s=yt(i,"funGetSize"),a=yt(i,"cropLeft"),c=yt(i,"cropTop"),l=yt(i,"cropWidth"),u=yt(i,"cropHeight"),h=yt(i,"density");ns(h)||(h=96),h=cs(h);let d=yt(i,"returnBase64");Sn(d)||(d=!1);let f=function(t){if(!Bt(t))return"";let e=Fe(Is(t),".");if(kn(e)<=1)return"";let n="";try{n=(i=null==(r=e)?0:r.length)?r[i-1]:void 0}catch(t){}var r,i;return n}(n);f=Bs(f);let g=t.readFileSync(e),p=null,m=null;if(Dn(s)||Dn(A)||Dn(o)){let t=await r(g).metadata();if(Dn(s)){let e=s(fa(t));if(Fn(e)&&(e=await e),!ns(yt(e,"width")))throw new Error("invalid ret.width for funGetSize");if(!ns(yt(e,"height")))throw new Error("invalid ret.height for funGetSize");p=cs(e.width),m=cs(e.height)}else Dn(A)?(p=A(fa(t)),Fn(p)&&(p=await p),p=cs(p)):Dn(o)&&(m=o(fa(t)),Fn(m)&&(m=await m),m=cs(m))}let b=await r(g,{density:h}),I=ns(p),y=ns(m),w=ns(a)&&ns(c)&&ns(l)&&ns(u);I&&y?b=b.resize({width:p,height:m,withoutEnlargement:!0}):I&&!y?b=b.resize({width:p,withoutEnlargement:!0}):!I&&y&&(b=b.resize({height:m,withoutEnlargement:!0})),w&&(a=cs(a),c=cs(c),l=cs(l),u=cs(u),b=b.extract({left:a,top:c,width:l,height:u}));let B={png:()=>b.png({compressionLevel:9,adaptiveFiltering:!1,palette:!1,quality:100,colors:256,...i}),jpg:()=>b.flatten({background:yt(i,"background","#fff")}).jpeg({quality:100,progressive:!1,chromaSubsampling:"4:2:0",optimiseCoding:!0,mozjpeg:!1,overshootDeringing:!1,...i}),jpeg:()=>b.flatten({background:yt(i,"background","#fff")}).jpeg({quality:100,progressive:!1,chromaSubsampling:"4:2:0",optimiseCoding:!0,mozjpeg:!1,overshootDeringing:!1,...i}),webp:()=>b.webp({quality:100,alphaQuality:100,lossless:!0,...i}),avif:()=>b.avif({quality:50,lossless:!1,speed:5,chromaSubsampling:"4:2:0",...i}),gif:()=>b.gif({effort:7,interlace:!1,...i}),tiff:()=>b.tiff({quality:100,compression:"jpeg",predictor:"horizontal",pyramid:!1,tile:!1,...i}),bmp:()=>b.bmp({...i})};var C,x;x=f,b=Ct(C=B)&&(Bt(x)||ns(x))&&x in C?B[f]():b.toFormat(f);let k=await b.toBuffer();if(d){return ga(k,f)}return t.writeFileSync(n,k),"ok"},ma=async(t,e,n={})=>{let r={...n,cropLeft:null,cropTop:null,cropWidth:null,cropHeight:null,returnBase64:!0};return await pa(t,`${t}.${e}`,r)};function ba(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new rt;++e<n;)this.add(t[e])}function Ia(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function ya(t,e){return t.has(e)}ba.prototype.add=ba.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},ba.prototype.has=function(t){return this.__data__.has(t)};function wa(t,e,n,r,i,A){var o=1&n,s=t.length,a=e.length;if(s!=a&&!(o&&a>s))return!1;var c=A.get(t),l=A.get(e);if(c&&l)return c==e&&l==t;var u=-1,h=!0,d=2&n?new ba:void 0;for(A.set(t,e),A.set(e,t);++u<s;){var f=t[u],g=e[u];if(r)var p=o?r(g,f,u,e,t,A):r(f,g,u,t,e,A);if(void 0!==p){if(p)continue;h=!1;break}if(d){if(!Ia(e,function(t,e){if(!ya(d,e)&&(f===t||i(f,t,n,r,A)))return d.push(e)})){h=!1;break}}else if(f!==g&&!i(f,g,n,r,A)){h=!1;break}}return A.delete(t),A.delete(e),h}function Ba(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function Ca(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}var xa=I?I.prototype:void 0,ka=xa?xa.valueOf:void 0;var va=Object.prototype.hasOwnProperty;var Sa="[object Arguments]",Da="[object Array]",Fa="[object Object]",Ea=Object.prototype.hasOwnProperty;function Qa(t,e,n,r,i,A){var o=g(t),s=g(e),a=o?Da:cn(t),c=s?Da:cn(e),l=(a=a==Sa?Fa:a)==Fa,u=(c=c==Sa?Fa:c)==Fa,h=a==c;if(h&&Lt(t)){if(!Lt(e))return!1;o=!0,l=!1}if(h&&!l)return A||(A=new Cs),o||Xt(t)?wa(t,e,n,r,i,A):function(t,e,n,r,i,A,o){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!A(new zs(t),new zs(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return _(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var s=Ba;case"[object Set]":var a=1&r;if(s||(s=Ca),t.size!=e.size&&!a)return!1;var c=o.get(t);if(c)return c==e;r|=2,o.set(t,e);var l=wa(s(t),s(e),r,i,A,o);return o.delete(t),l;case"[object Symbol]":if(ka)return ka.call(t)==ka.call(e)}return!1}(t,e,a,n,r,i,A);if(!(1&n)){var d=l&&Ea.call(t,"__wrapped__"),f=u&&Ea.call(e,"__wrapped__");if(d||f){var p=d?t.value():t,m=f?e.value():e;return A||(A=new Cs),i(p,m,n,r,A)}}return!!h&&(A||(A=new Cs),function(t,e,n,r,i,A){var o=1&n,s=Vs(t),a=s.length;if(a!=Vs(e).length&&!o)return!1;for(var c=a;c--;){var l=s[c];if(!(o?l in e:va.call(e,l)))return!1}var u=A.get(t),h=A.get(e);if(u&&h)return u==e&&h==t;var d=!0;A.set(t,e),A.set(e,t);for(var f=o;++c<a;){var g=t[l=s[c]],p=e[l];if(r)var m=o?r(p,g,l,e,t,A):r(g,p,l,t,e,A);if(!(void 0===m?g===p||i(g,p,n,r,A):m)){d=!1;break}f||(f="constructor"==l)}if(d&&!f){var b=t.constructor,I=e.constructor;b==I||!("constructor"in t)||!("constructor"in e)||"function"==typeof b&&b instanceof b&&"function"==typeof I&&I instanceof I||(d=!1)}return A.delete(t),A.delete(e),d}(t,e,n,r,i,A))}function Wa(t,e,n,r,i){return t===e||(null==t||null==e||!S(t)&&!S(e)?t!=t&&e!=e:Qa(t,e,n,r,Wa,i))}function Na(t){return t==t&&!W(t)}function Ka(t,e){return function(n){return null!=n&&(n[t]===e&&(void 0!==e||t in Object(n)))}}function Ga(t){var e=function(t){for(var e=Ae(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,Na(i)]}return e}(t);return 1==e.length&&e[0][2]?Ka(e[0][0],e[0][1]):function(n){return n===t||function(t,e,n,r){var i=n.length,A=i,o=!r;if(null==t)return!A;for(t=Object(t);i--;){var s=n[i];if(o&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++i<A;){var a=(s=n[i])[0],c=t[a],l=s[1];if(o&&s[2]){if(void 0===c&&!(a in t))return!1}else{var u=new Cs;if(r)var h=r(c,l,a,t,e,u);if(!(void 0===h?Wa(l,c,3,r,u):h))return!1}}return!0}(n,t,e)}}function Ya(t,e){return null!=t&&e in Object(t)}function ja(t,e){return null!=t&&function(t,e,n){for(var r=-1,i=(e=mt(e,t)).length,A=!1;++r<i;){var o=bt(e[r]);if(!(A=null!=t&&n(t,o)))break;t=t[o]}return A||++r!=i?A:!!(i=null==t?0:t.length)&&Ht(i)&&Rt(o,i)&&(g(t)||Kt(t))}(t,e,Ya)}function La(t){return Q(t)?ln(bt(t)):function(t){return function(e){return It(e,t)}}(t)}function Ja(t){return"function"==typeof t?t:null==t?ae:"object"==typeof t?g(t)?function(t,e){return Q(t)&&Na(e)?Ka(bt(t),e):function(n){var r=yt(n,t);return void 0===r&&r===e?ja(n,t):Wa(e,r,3)}}(t[0],t[1]):Ga(t):La(t)}function Ra(t,e){var n=-1,r=ie(t)?Array(t.length):[];return se(t,function(t,i,A){r[++n]=e(t,i,A)}),r}function Ha(t){return!!function(t){return"[object Undefined]"===Object.prototype.toString.call(t)}(t)||(!!function(t){return"[object Null]"===Object.prototype.toString.call(t)}(t)||(!!function(t){if(Ct(t)){for(let e in t)return!1;return!0}return!1}(t)||(!!function(t){return!(!wt(t)||""!==t)}(t)||(!!function(t){return!!hs(t)&&0===t.length}(t)||!!es(t)))))}function Za(t){return!!hs(t)&&(0!==t.length&&(1!==t.length||!Ha(t[0])))}async function Oa(t,e={}){let n=yt(e,"linkBlank",null);Sn(n)||(n=!1);let r=yt(e,"tableHorizontalAlignmentCenter",null);Sn(r)||(r=!1);let l=yt(e,"tableBorderColor","");Bt(l)||(l="#666");let u=yt(e,"fontFamilies",[]);var h,d;Za(u)||(u=["Microsoft JhengHei","Avenir","Helvetica","Arial","sans-serif"]),u=je((d=t=>`'${t}'`,(g(h=u)?ht:Ra)(h,Ja(d))),", ");let f=yt(e,"fontSizeUnit","");Bt(f)||(f="pt");let p=yt(e,"fontSizeScale","");ns(p)||(p=1),p=rs(p);let m=yt(e,"fontSizeDef","");Bt(m)||(m=12*p+f);let b=yt(e,"fontSizeH1","");Bt(b)||(b=20*p+f);let I=yt(e,"fontSizeH2","");Bt(I)||(I=16*p+f);let y=yt(e,"fontSizeH3","");Bt(y)||(y=14*p+f);let w=yt(e,"fontSizeH4","");Bt(w)||(w=12*p+f);let B=yt(e,"fontSizeH5","");Bt(B)||(B=12*p+f);let C=yt(e,"fontSizeH6","");Bt(C)||(C=12*p+f);let x=yt(e,"fontSizeP","");Bt(x)||(x=12*p+f);let k=yt(e,"fontSizeTab","");Bt(k)||(k=11*p+f);let v=yt(e,"fontSizeCode","");Bt(v)||(v=10*p+f);let S=yt(e,"textAlignH1","");Bt(S)||(S="left");let D=yt(e,"textAlignH2","");Bt(D)||(D="left");let F=yt(e,"textAlignH3","");Bt(F)||(F="left");let E=yt(e,"textAlignH4","");Bt(E)||(E="left");let Q=yt(e,"textAlignH5","");Bt(Q)||(Q="left");let W=yt(e,"textAlignH6","");Bt(W)||(W="left");let N=yt(e,"imgWidthMax",null);ns(N)&&(N=`${N}px`),Bt(N)||(N="");let K=yt(e,"funWalkTokens",null),G=yt(e,"mergeStyle",null);Sn(G)||(G=!1);let Y=new i.Marked;Y.use(A({throwOnError:!1,nonStandard:!0})),Y.use(o()),Y.use(a.markedHighlight({langPrefix:"hljs language-",emptyLangClass:"hljs",highlight(t,e){let n=e&&s.getLanguage(e)?e:"plaintext";return s.highlight(t,{language:n}).value}}));let j={async:!0,renderer:{image:({href:t,title:e,text:n})=>{let r=Bt(e)?`title="${e}"`:"",i="";return Bt(N)&&(i=`max-width:${N}; height:auto;`),`<img src="${t}" alt="${n}" ${r} style="${i}">`}}};Dn(K)&&(j.walkTokens=K),Y.use(j);let L=await Y.parse(t);L=`\n <div class="md" style="contain:layout;">\n ${L}\n </div>\n `;let J=["https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github.min.css","https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css"],R='\n\n.md {\n font-family: {fontFamilies};\n font-size: {fontSizeDef};\n}\n\n.md table {\n border-collapse: collapse;\n margin: 0;\n padding: 0;\n word-break: initial;\n font-family: {fontFamilies};\n font-size: {fontSizeTab};\n}\n\n.md tr {\n margin: 0;\n padding: 0;\n}\n\n.md table tr th {\n font-weight: bold;\n background: #eee;\n border: 1px solid {tableBorderColor};\n border-bottom: 0;\n margin: 0;\n padding: 6px 13px;\n}\n\n.md table tr td {\n border: 1px solid {tableBorderColor};\n margin: 0;\n padding: 6px 13px;\n}\n\n.md h1 {\n display: block;\n font-size: {fontSizeH1};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH1};\n}\n\n.md h2 {\n display: block;\n font-size: {fontSizeH2};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH2};\n}\n\n.md h3 {\n display: block;\n font-size: {fontSizeH3};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH3};\n}\n\n.md h4 {\n display: block;\n font-size: {fontSizeH4};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH4};\n}\n\n.md h5 {\n display: block;\n font-size: {fontSizeH5};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH5};\n}\n\n.md h6 {\n display: block;\n font-size: {fontSizeH6};\n margin: 1rem 0;\n padding: 0;\n font-weight: bold;\n text-align: {textAlignH6};\n}\n\n.md p {\n display: block;\n font-size: {fontSizeP};\n margin: 1rem 0;\n padding: 0;\n} \n\n.md ol {\n display: block;\n list-style-type: decimal;\n margin: 1rem 0;\n padding: 0;\n padding-inline-start: 40px;\n} \n\n.md li {\n display: list-item;\n /* margin: 0.4rem 0; */ /* 須個別元素用style給予才能用於docx */\n padding: 0;\n}\n\n.md blockquote {\n font-style: italic;\n border-left: 5px solid #debc76;\n background: #f9f2e3;\n margin: 1rem 0;\n padding: 0.1rem 1.0rem 0.1rem 1.0rem;\n}\n\n.md pre {\n display: block;\n font-size: {fontSizeCode};\n overflow: auto;\n background: #eee;\n margin: 1rem 0;\n padding: 0;\n}\n.md pre code.hljs {\n background: transparent !important;\n line-height: 1.6 !important;\n}\n\n.md code {\n font-family: Consolas, "Courier New", monospace;\n}\n\n.md a {\n color: #0066cc;\n cursor: pointer;\n}\n\n.md a[data-footnote-ref]::before {\n content: "[";\n}\n.md a[data-footnote-ref]::after {\n content: "]";\n}\n.md sup:has(a[data-footnote-ref]) {\n position: relative;\n vertical-align: baseline; /* 不要推高行距 */\n top: -0.5em; /* 往上移動看起來像上標 */\n line-height: 0; /* 避免影響行距 */\n}\n\n.md hr {\n margin: 2rem 0;\n padding: 0;\n}\n\n.md section {\n margin: 0;\n padding: 0;\n}\n\n ';R=En(R,"{fontFamilies}",u),R=En(R,"{fontSizeDef}",m),R=En(R,"{fontSizeH1}",b),R=En(R,"{fontSizeH2}",I),R=En(R,"{fontSizeH3}",y),R=En(R,"{fontSizeH4}",w),R=En(R,"{fontSizeH5}",B),R=En(R,"{fontSizeH6}",C),R=En(R,"{fontSizeP}",x),R=En(R,"{fontSizeTab}",k),R=En(R,"{fontSizeCode}",v),R=En(R,"{textAlignH1}",S),R=En(R,"{textAlignH2}",D),R=En(R,"{textAlignH3}",F),R=En(R,"{textAlignH4}",E),R=En(R,"{textAlignH5}",Q),R=En(R,"{textAlignH6}",W),R=En(R,"{tableBorderColor}",l);let H=null,Z=null;if("undefined"!=typeof window&&void 0!==window.document)H=c,Z=document;else{let t="jsdom",{JSDOM:e}=await(import(t)),{window:n}=new e("");H=c(n),Z=n.document}L=H.sanitize(L);let O=String.fromCharCode(8203),M=Z.createElement("div");M.innerHTML=L,ce(M.querySelectorAll('[style*="display:none"]'),t=>{t.remove()}),ce(M.querySelectorAll('div[data-for="br"]'),t=>{""===t.textContent&&(t.textContent=O)}),ce(M.querySelectorAll('div[data-for="tab"]'),t=>{let e=t.getAttribute("data-style-th")||"",n=t.getAttribute("data-style-td")||"",r=t.nextElementSibling;for(;r&&"TABLE"!==r.tagName;)r=r.nextElementSibling;if(r){let i=(t,e)=>{if(""===e)return;let n=t.getAttribute("style")||"";""===n||/;\s*$/.test(n)||(n+=";"),t.setAttribute("style",n+e)};""!==e&&ce(r.querySelectorAll("th"),t=>{i(t,e)}),""!==n&&ce(r.querySelectorAll("td"),t=>{i(t,n)}),ce(t.attributes,t=>{let e=t.name.match(/^data-style-(th|td)-(\d+)$/);if(!e)return;let n=t.value||"";if(""===n)return;let A=e[1].toUpperCase(),o=rs(e[2]);ce(r.querySelectorAll("tr"),t=>{let e=[];ce(t.children,t=>{t.tagName===A&&e.push(t)});let r=e[o];r&&i(r,n)})})}t.remove()}),n&&ce(M.querySelectorAll("a[href]"),t=>{"#"!==(t.getAttribute("href")||"").slice(0,1)&&(t.setAttribute("target","_blank"),t.setAttribute("rel","noopener noreferrer"))}),r&&ce(M.querySelectorAll("table"),t=>{t.style.display="inline-table";let e=Z.createElement("div");e.style.textAlign="center",t.parentNode.insertBefore(e,t),e.appendChild(t)}),L=M.innerHTML;let U={};if(G){let t="\n";ce(J,e=>{t+=`<link rel="stylesheet" href="${e}">\n`}),t+=`<style>${R}</style>\n`,t+=L,U={html:t,styleSrcs:[],styleDef:""}}else U={html:L,styleSrcs:J,styleDef:R};return U}async function Ma(e,r,i={}){let A=yt(i,"linkBlank",null);Sn(A)||(A=!0);let o=yt(i,"tableHorizontalAlignmentCenter",null);if(Sn(o)||(o=!0),!kt(e))return Promise.reject(`fpIn[${e}] does not exist`);let s=ws(e=n.resolve(e)),a=yt(i,"htmlTemp",null);Bt(a)||(a='\n<!DOCTYPE html>\n<html>\n<head>\n <meta charset="utf-8" />\n <meta http-equiv="X-UA-Compatible" content="IE=edge" />\n <meta http-equiv="Cache-Control" content="no-siteapp"/>\n <meta name="renderer" content="webkit" />\n <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />\n <title>{title}</title>\n</head>\n<body style="padding:20px; margin:0; overflow-y:auto;">\n {html}\n</body>\n</html>\n');let c=yt(i,"imgConvertToBase64",null);Sn(c)||(c=!0);let l=yt(i,"funProcFpOut"),u=async(t,e)=>{let n=Fe(t,"\n"),r=0,i=[],A={};await ds(n,async t=>{let n=t;if(t.indexOf(`${e}n`)>=0){r++;let i=`${e}${r}`;n=En(t,`${e}n`,i);let o=t;o=await async function(t){return Bt(t)?(await us()).htmlToText(t,{wordwrap:!1,selectors:[{selector:"script",format:"skip"},{selector:"style",format:"skip"}]}):""}(o),o=En(o,`${e}n`,""),o=Ge(o),o=`{${o}}`,A[o]=i}i.push(n)});let o=je(i,"\n");return ce(A,(t,e)=>{o=o.replaceAll(e,t)}),o},h=ys(e),d=ws(e),f=t.readFileSync(e,"utf8"),g=(t=>{let e=Fe(t,"\n"),n="";return ce(e,(t,r)=>{if(t.indexOf(" pretitle ")>=0)return n=yt(e,r+1,""),n=Ge(n),!1}),n})(f);f=await u(f,"圖"),f=await u(f,"表"),f=await(async(t,e)=>{let n=[],r=Fe(e,"\n");return await ds(r,async e=>{e.indexOf('src="')>=0&&(e=await(async e=>{let n=Fe(e,'src="');if(2!==kn(n))throw new Error("size(s)!==2");let r=n[0],i=Fe(n[1],'"'),A=i[0],o="";if(kt(A))o=A;else if(o=`${t}/${A}`,!kt(o))throw console.log("c",e),console.log("fnp",A),new Error(`fp[${o}] does not exist`);let s=await ma(o,"png");return i=Te(i),r+'src="'+s+'"'+je(i,'"')})(e)),n.push(e)}),n=je(n,"\n"),n})(d,f);let p=await Oa(f,{...i,linkBlank:A,tableHorizontalAlignmentCenter:o,funWalkTokens:async t=>{if("image"===t.type&&c)try{let e=n.resolve(s,t.href);kt(e)?t.href=await ma(e,"png"):console.log(`href[${t.href}] does not exist`)}catch(t){console.log(t)}},mergeStyle:!0}),m=a;return m=En(m,"{html}",yt(p,"html","")),m=En(m,"{title}",h),m=En(m,'<h2 id="footnote-label" class="sr-only">Footnotes</h2>','<h2 id="footnote-label" class="sr-only" style="height:0px; line-height:0px; min-height:0px; overflow:hidden;">Footnotes</h2>'),m=m.replaceAll("<li>",'<li style="margin:7px 0;">'),Dn(l)&&Fn(r=l({fpOut:r,pretitle:g}))&&(r=await r),t.writeFileSync(r,m,"utf8"),"ok"}function Ua(t){if(!ns(t))return!1;return rs(t)>0}var Ta="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Va(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Pa(t){if(t.__esModule)return t;var e=t.default;if("function"==typeof e){var n=function t(){if(this instanceof t){var n=[null];return n.push.apply(n,arguments),new(Function.bind.apply(e,n))}return e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(e){var r=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(n,e,r.get?r:{enumerable:!0,get:function(){return t[e]}})}),n}var Xa={exports:{}};var za,_a={exports:{}},qa=Pa(Object.freeze({__proto__:null,default:{}}));function $a(){return za||(za=1,function(t){var e;t.exports=(e=e||function(t,e){var n;if("undefined"!=typeof window&&window.crypto&&(n=window.crypto),"undefined"!=typeof self&&self.crypto&&(n=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(n=globalThis.crypto),!n&&"undefined"!=typeof window&&window.msCrypto&&(n=window.msCrypto),!n&&void 0!==Ta&&Ta.crypto&&(n=Ta.crypto),!n)try{n=qa}catch(t){}var r=function(){if(n){if("function"==typeof n.getRandomValues)try{return n.getRandomValues(new Uint32Array(1))[0]}catch(t){}if("function"==typeof n.randomBytes)try{return n.randomBytes(4).readInt32LE()}catch(t){}}throw new Error("Native crypto module could not be used to get secure random number.")},i=Object.create||function(){function t(){}return function(e){var n;return t.prototype=e,n=new t,t.prototype=null,n}}(),A={},o=A.lib={},s=o.Base={extend:function(t){var e=i(this);return t&&e.mixIn(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},a=o.WordArray=s.extend({init:function(t,n){t=this.words=t||[],this.sigBytes=n!=e?n:4*t.length},toString:function(t){return(t||l).stringify(this)},concat:function(t){var e=this.words,n=t.words,r=this.sigBytes,i=t.sigBytes;if(this.clamp(),r%4)for(var A=0;A<i;A++){var o=n[A>>>2]>>>24-A%4*8&255;e[r+A>>>2]|=o<<24-(r+A)%4*8}else for(var s=0;s<i;s+=4)e[r+s>>>2]=n[s>>>2];return this.sigBytes+=i,this},clamp:function(){var e=this.words,n=this.sigBytes;e[n>>>2]&=4294967295<<32-n%4*8,e.length=t.ceil(n/4)},clone:function(){var t=s.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],n=0;n<t;n+=4)e.push(r());return new a.init(e,t)}}),c=A.enc={},l=c.Hex={stringify:function(t){for(var e=t.words,n=t.sigBytes,r=[],i=0;i<n;i++){var A=e[i>>>2]>>>24-i%4*8&255;r.push((A>>>4).toString(16)),r.push((15&A).toString(16))}return r.join("")},parse:function(t){for(var e=t.length,n=[],r=0;r<e;r+=2)n[r>>>3]|=parseInt(t.substr(r,2),16)<<24-r%8*4;return new a.init(n,e/2)}},u=c.Latin1={stringify:function(t){for(var e=t.words,n=t.sigBytes,r=[],i=0;i<n;i++){var A=e[i>>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(A))}return r.join("")},parse:function(t){for(var e=t.length,n=[],r=0;r<e;r++)n[r>>>2]|=(255&t.charCodeAt(r))<<24-r%4*8;return new a.init(n,e)}},h=c.Utf8={stringify:function(t){try{return decodeURIComponent(escape(u.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return u.parse(unescape(encodeURIComponent(t)))}},d=o.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=h.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var n,r=this._data,i=r.words,A=r.sigBytes,o=this.blockSize,s=A/(4*o),c=(s=e?t.ceil(s):t.max((0|s)-this._minBufferSize,0))*o,l=t.min(4*c,A);if(c){for(var u=0;u<c;u+=o)this._doProcessBlock(i,u);n=i.splice(0,c),r.sigBytes-=l}return new a.init(n,l)},clone:function(){var t=s.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});o.Hasher=d.extend({cfg:s.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){d.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize()},blockSize:16,_createHelper:function(t){return function(e,n){return new t.init(n).finalize(e)}},_createHmacHelper:function(t){return function(e,n){return new f.HMAC.init(t,n).finalize(e)}}});var f=A.algo={};return A}(Math),e)}(_a)),_a.exports}!function(t){t.exports=$a().enc.Utf8}(Xa);var tc=Va(Xa.exports),ec={exports:{}};!function(t){var e;t.exports=(e=$a(),function(){var t=e,n=t.lib.WordArray;function r(t,e,r){for(var i=[],A=0,o=0;o<e;o++)if(o%4){var s=r[t.charCodeAt(o-1)]<<o%4*2|r[t.charCodeAt(o)]>>>6-o%4*2;i[A>>>2]|=s<<24-A%4*8,A++}return n.create(i,A)}t.enc.Base64={stringify:function(t){var e=t.words,n=t.sigBytes,r=this._map;t.clamp();for(var i=[],A=0;A<n;A+=3)for(var o=(e[A>>>2]>>>24-A%4*8&255)<<16|(e[A+1>>>2]>>>24-(A+1)%4*8&255)<<8|e[A+2>>>2]>>>24-(A+2)%4*8&255,s=0;s<4&&A+.75*s<n;s++)i.push(r.charAt(o>>>6*(3-s)&63));var a=r.charAt(64);if(a)for(;i.length%4;)i.push(a);return i.join("")},parse:function(t){var e=t.length,n=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var A=0;A<n.length;A++)i[n.charCodeAt(A)]=A}var o=n.charAt(64);if(o){var s=t.indexOf(o);-1!==s&&(e=s)}return r(t,e,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),e.enc.Base64)}(ec);var nc=Va(ec.exports);function rc(t,e){return Wa(t,e)}var ic=u,Ac=ic.spawn,oc=ic.exec;function sc(t,e,n){var r={};try{Object.keys(t).forEach(function(n){t[n].forEach(function(t){r[t]||(ac(t,e),r[t]=1)}),r[n]||(ac(n,e),r[n]=1)})}catch(t){if(n)return n(t);throw t}if(n)return n()}function ac(t,e){try{process.kill(parseInt(t,10),e)}catch(t){if("ESRCH"!==t.code)throw t}}function cc(t,e,n,r,i){var A=r(t),o="";A.stdout.on("data",function(t){t=t.toString("ascii");o+=t});A.on("close",function(A){delete n[t],0==A?o.match(/\d+/g).forEach(function(A){A=parseInt(A,10),e[t].push(A),e[A]=[],n[A]=1,cc(A,e,n,r,i)}):0==Object.keys(n).length&&i()})}var lc=Va(function(t,e,n){if("function"==typeof e&&void 0===n&&(n=e,e=void 0),t=parseInt(t),Number.isNaN(t)){if(n)return n(new Error("pid must be a number"));throw new Error("pid must be a number")}var r={},i={};switch(r[t]=[],i[t]=1,process.platform){case"win32":oc("taskkill /pid "+t+" /T /F",n);break;case"darwin":cc(t,r,i,function(t){return Ac("pgrep",["-P",t])},function(){sc(r,e,n)});break;default:cc(t,r,i,function(t){return Ac("ps",["-o","pid","--no-headers","--ppid",t])},function(){sc(r,e,n)})}});function uc(t,e,n={}){if(!Za(e)&&!Bt(e))throw new Error("args is not an effective array or string");Bt(e)&&(e=[e]);let r=yt(n,"mode");"spawn"!==r&&"exec"!==r&&"execFile"!==r&&(r="spawn");let i=yt(n,"cbStdout"),A=yt(n,"cbStderr"),o=yt(n,"codeCmd");Bt(o)||(o="utf8");let s=yt(n,"useChcp");Sn(s)||(s=!1);let a=yt(n,"timeout");(!ns(a)||a<=0)&&(a=null);let c=ts();if(!function(t,e){function n(t){return hs(t)?t:[t]}if(Ha(t))return!1;if(0===(t=n(t)).length)return!1;if(Ha(t))return!1;if(0===(e=n(e)).length)return!1;for(let n=0;n<t.length;n++)for(let r=0;r<e.length;r++)if(rc(t[n],e[r]))return!0;return!1}(r,["spawn","exec","execFile"]))return c.reject(`invalid mode[${r}]`),c;let l=null,h="";try{if("spawn"===r){let n=ps(t,1),r=gs(t,1);if('"'===n||'"'===r||"'"===n||"'"===r)throw new Error("prog of spawn doens not need to add quotes");l=u.spawn(t,e,{windowsHide:!0,shell:!1})}else if("exec"===r){let n="";s&&(n="cmd /c chcp 65001>nul &&"),l=u.exec(`${n} ${t} ${e.join(" ")} & exit`,{windowsHide:!0,encoding:o})}else"execFile"===r&&(l=u.execFile(t,e,{windowsHide:!0,encoding:o}))}catch(t){return c.reject(t),c}l.stdout.on("data",t=>{let e="";e="spawn"===r?t.toString(o):t.toString(),h+=e+"\n",Dn(i)&&i(e)}),l.stderr.on("data",t=>{let e="";e="spawn"===r?t.toString(o):t.toString(),h+=e+"\n",Dn(A)&&A(e)});let d=null,f=!1;return null!==a&&(d=setTimeout(()=>{f=!0,l&&l.pid&&function(t){let e=ts();return lc(Number(t),"SIGKILL",n=>{n?e.reject(n):e.resolve(`pid[${t}] killed`)}),e}(l.pid).catch(()=>{})},a)),l.on("close",t=>{null!==d&&clearTimeout(d),f?c.reject(`timeout[${a}ms]:\n${h}`):0!==t?c.reject(`code[${t}]:\n${h}`):c.resolve(h)}),l.on("error",t=>{null!==d&&clearTimeout(d),c.reject(t)}),c}let hc=n.resolve();async function dc(t,e,r={}){let i=null;if("win32"!==l.platform)return Promise.reject("operating system is not windows");if(!kt(t))return Promise.reject(`fpInHtml[${t}] does not exist`);let A=yt(r,"fontFamilies");Bt(A)&&(A=[A]),Za(A)||(A=["標楷體","Times New Roman"]);let o=yt(r,"imgRatioWidthMax");Ua(o)||(o=1),o=rs(o);let s=yt(r,"imgRatioHeightMax");Ua(s)||(s=1),s=rs(s);let a=yt(r,"fpInTemp");if(!Bt(a)){let t="tmp.docx";{let e=`${hc}/src/${t}`,n=`${hc}/node_modules/w-html2docx/src/${t}`;if(kt(e))a=e;else{if(!kt(n))return Promise.reject(`can not find folder for ${t}`);a=n}}}t=n.resolve(t),a=n.resolve(a),e=n.resolve(e);let c="htmlToDocx.exe",u="";{let t=`${hc}/src/`,e=`${hc}/node_modules/w-html2docx/src/`;if(kt(`${t}${c}`))u=t;else{if(!kt(`${e}${c}`))return Promise.reject("can not find folder for html2docx");u=e}}let h=`${u}${c}`,d={fpInSrc:t,fpInTemp:a,fpOut:e,fontFamilies:["標楷體","Times New Roman"],imgRatioWidthMax:o,imgRatioHeightMax:s},f=function(t){if(!Bt(t))return"";let e=tc.parse(t);return nc.stringify(e)}(JSON.stringify(d));return await uc(h,f).catch(t=>{console.log("execProcess catch",t),i=t.toString()}),i?Promise.reject(i):"ok"}function fc(e){return function(t,e={}){let n=yt(e,"fs");if(!xt(t,{fs:n}))return!1;let r=n.lstatSync(t);return!r.isFile()&&!r.isSymbolicLink()}(e,{fs:t})}function gc(t){if(wt(t))return t;if(Bt(yt(t,"message")))return t.message;let e="";try{e=JSON.stringify(t)}catch(t){e=""}return wt(e)||(e=String(t)),e}async function pc(t,e={}){if(!Dn(t))return Promise.reject("fun must be a function");let n=yt(e,"tries",null);ls(n)||(n=6),n=cs(n);let r=yt(e,"delayMs",null);Ua(r)||(r=400),r=rs(r);let i=null;for(let e=0;e<n;e++)try{return await t()}catch(t){i=t;let A=yt(t,"code","");if(("EBUSY"===A||"EPERM"===A)&&e<n-1){await new Promise(t=>setTimeout(t,r));continue}throw t}throw i}let mc=Promise.resolve(),bc=0;function Ic(){let t=n.resolve(),e=[n.resolve(t,"src/htmlToDocx.exe"),n.resolve(t,"node_modules/w-html2docx/src/htmlToDocx.exe")];for(let t of e)if(kt(t))return t;return""}function yc(t,e){let r="";if(wt(e)&&(r=e.trim().replace(/\\/g,"/")),""===r)throw new Error("asset.path is empty");let i=r;try{i=decodeURIComponent(r)}catch(t){i=r}return(r===i?[r]:[r,i]).map(r=>function(t,e,r){if(/^[a-zA-Z]:/.test(e)||e.startsWith("/")||e.startsWith("//"))throw new Error(`asset.path must be a relative path: ${r}`);let i=n.resolve(t,e),A=n.resolve(t)+n.sep;if(!i.startsWith(A))throw new Error(`asset.path is outside the working folder: ${r}`);return i}(t,r,e))}function wc(e,r={}){if(!Bt(e))return 0;let i=yt(r,"msAge",null);if(Ua(i)||(i=216e5),i=rs(i),!fc(e))return t.mkdirSync(e,{recursive:!0}),0;let A=0,o=Date.now();for(let r of t.readdirSync(e)){if(!r.startsWith("job_"))continue;let s=n.resolve(e,r);try{o-t.statSync(s).mtimeMs>i&&(t.rmSync(s,{recursive:!0,force:!0}),A++)}catch(t){}}return A}function Bc(t){if(!wt(t))return gc(t);let e=t.match(/job_[^\\/]+[\\/](.+?)\]/);return/does not exist/i.test(t)&&e?`Failed to convert md to html: the referenced file (${e[1].replace(/\\/g,"/")}) does not exist, please make sure it is included in assets`:t}async function Cc(r,i,A={}){let o=Date.now();if(!Bt(r))return Promise.reject("fpInMd must be a non-empty string");if(!kt(r=n.resolve(r)))return Promise.reject(`fpInMd[${r}] does not exist`);if(!Bt(i))return Promise.reject("fpOutDocx must be a non-empty string");i=n.resolve(i);let s=yt(A,"fpOutHtml",""),a=Bt(s);s=a?n.resolve(s):n.join(e.tmpdir(),`wmd2docx_${process.pid}_${Date.now()}_${Math.random().toString(36).slice(2,8)}.html`);let c=yt(A,"optMd2html",{});Ct(c)||(c={});let l=yt(A,"optHtml2docx",{});Ct(l)||(l={}),l={...l};let u=yt(A,"fpInTemp","");if(Bt(u)){if(u=n.resolve(u),!kt(u))return Promise.reject(`fpInTemp[${u}] does not exist`);l.fpInTemp=u}try{t.mkdirSync(n.dirname(s),{recursive:!0});let e=null;if(await pc(()=>Ma(r,s,c)).catch(t=>{e=gc(t)}),null!==e)return Promise.reject(`Failed to convert md to html: ${e}`);if(!kt(s)||0===t.statSync(s).size)return Promise.reject("Failed to convert md to html: html was not generated or is empty");let A=t.statSync(s).size;if(""===Ic())return Promise.reject(`htmlToDocx.exe not found (cwd=${n.resolve()}), please run from the folder that contains node_modules/w-html2docx`);t.mkdirSync(n.dirname(i),{recursive:!0});let u=null;if(await function(t){if(!Dn(t))return Promise.reject("fun must be a function");bc++;let e=mc.then(t,t);return mc=e.then(()=>{bc--},()=>{bc--}),e}(()=>pc(()=>dc(s,i,l))).catch(t=>{u=gc(t)}),null!==u)return Promise.reject(`Failed to convert html to docx: ${u}`);if(!kt(i)||0===t.statSync(i).size)return Promise.reject("docx was not generated: please make sure Microsoft Word is installed and no stale WINWORD process is locking the files");let h=t.statSync(i).size,d={fpOutDocx:i,sizeDocx:h,sizeHtml:A,ms:Date.now()-o};return a&&(d.fpOutHtml=s),d}finally{if(!a&&kt(s))try{t.unlinkSync(s)}catch(t){}}}async function xc(r={}){let i=Date.now(),A=yt(r,"out","");"html"!==A&&"docx"!==A&&"both"!==A&&(A="docx");let o="html"===A||"both"===A,s="docx"===A||"both"===A,a="",c=yt(r,"md",""),l=yt(r,"mdBase64","");if(Bt(c)?a=c:Bt(l)&&(a=Buffer.from(l,"base64").toString("utf8")),""===a.trim())return Promise.reject("md is empty: md (string) or mdBase64 is required");let u=function(t){let e="";return wt(t)&&(e=t.trim()),""===e?"output":(e=n.basename(e),e=e.replace(/\.(md|markdown|html|htm|docx)$/i,""),e=e.replace(/[\\/:*?"<>|\r\n\t]/g,"_"),e=e.replace(/^\.+/,""),e=e.trim(),""===e?"output":e.slice(0,120))}(yt(r,"name","")),h=yt(r,"assets",[]);hs(h)||(h=[]);let d=yt(r,"dirWork","");Bt(d)||(d=n.join(e.tmpdir(),"w-md2docx")),d=n.resolve(d);let f=yt(r,"fpInTemp","");Bt(f)||(f="");let g=yt(r,"optMd2html",{});Ct(g)||(g={});let p=yt(r,"optHtml2docx",{});Ct(p)||(p={});let m=yt(r,"keepWork",!1);Sn(m)||(m=!1);let b=`${Date.now()}_${Math.random().toString(36).slice(2,8)}`,I=n.resolve(d,`job_${b}`);t.mkdirSync(I,{recursive:!0});let y={name:u,out:A,ms:0,nAssets:0};try{let e=n.resolve(I,`${u}.md`);t.writeFileSync(e,a,"utf8");try{y.nAssets=function(e,r){let i=0;if(!hs(r))return i;for(let A of r){let r=yt(A,"path",""),o=yc(e,r),s=yt(A,"base64","");if(Bt(s)||(s=yt(A,"contentBase64","")),!Bt(s))throw new Error(`asset.base64 is empty: ${r}`);s=s.replace(/^data:[^;]+;base64,/,"");let a=Buffer.from(s,"base64");for(let e of o)t.mkdirSync(n.dirname(e),{recursive:!0}),t.writeFileSync(e,a);i++}return i}(I,h)}catch(t){return Promise.reject(gc(t))}let r=n.resolve(I,`${u}.html`);if(s){let i=n.resolve(I,`${u}.docx`),A=null,o=await Cc(e,i,{fpInTemp:f,fpOutHtml:r,optMd2html:g,optHtml2docx:p}).catch(t=>{A=Bc(gc(t))});if(null!==A)return Promise.reject(A);let s=t.readFileSync(i);y.docx={fileName:`${u}.docx`,mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",size:s.length,base64:s.toString("base64")},y.msDocx=yt(o,"ms",0)}else{let n=null;if(await pc(()=>Ma(e,r,g)).catch(t=>{n=gc(t)}),null!==n)return Promise.reject(Bc(`Failed to convert md to html: ${n}`));if(!kt(r)||0===t.statSync(r).size)return Promise.reject("Failed to convert md to html: html was not generated or is empty")}if(o){let e=t.readFileSync(r);y.html={fileName:`${u}.html`,mime:"text/html; charset=utf-8",size:e.length,base64:e.toString("base64")}}return y.ms=Date.now()-i,y}finally{if(!m)try{t.rmSync(I,{recursive:!0,force:!0})}catch(t){}}}let kc=n.dirname(h.fileURLToPath("undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:f&&"SCRIPT"===f.tagName.toUpperCase()&&f.src||new URL("w-md2docx.umd.js",document.baseURI).href));function vc(t){let e=yt(t,"url","");if(Bt(e))return e.trim().replace(/\/+$/,"");let n=yt(t,"host","");Bt(n)||(n=yt(process,"env.WMD2DOCX_HOST","")),Bt(n)||(n="127.0.0.1"),n=n.trim();let r=yt(t,"port",null);return ls(r)||(r=yt(process,"env.WMD2DOCX_PORT",null)),ls(r)||(r=22e3),r=cs(r),`http://${n}:${r}`}function Sc(t){return Bt(t)||(t=yt(process,"env.WMD2DOCX_TOKEN","")),Bt(t)||(t=""),t}function Dc(t){let e=new Set;if(!wt(t))return[];let n=t=>{if(!wt(t))return;let n=t.trim().replace(/^<|>$/g,"");""!==n&&(/^(https?:)?\/\//i.test(n)||/^data:/i.test(n)||/^mailto:/i.test(n)||/^#/.test(n)||/^[a-zA-Z]:/.test(n)||n.startsWith("/")||(n=n.split("#")[0].split("?")[0],""!==n&&e.add(n)))};for(let e of t.matchAll(/<img[^>]*?\ssrc\s*=\s*["']([^"']+)["']/gi))n(e[1]);for(let e of t.matchAll(/!\[[^\]]*\]\(\s*([^)\s]+)/g))n(e[1]);return[...e]}function Fc(e,r){let i=[],A=[];Bt(r)||(r=".");for(let o of Dc(e)){let e=[o];try{let t=decodeURIComponent(o);t!==o&&e.push(t)}catch(t){}let s="";for(let t of e){let e=n.resolve(r,t);if(kt(e)){s=e;break}}""!==s?i.push({path:o,base64:t.readFileSync(s).toString("base64")}):A.push(o)}return{assets:i,missing:A}}let Ec={cvMdTo:async function(e={}){let r=vc(e),i=yt(e,"fpInMd","");if(!Bt(i))return Promise.reject("fpInMd must be a non-empty string");if(i=n.resolve(i),!kt(i))return Promise.reject(`fpInMd[${i}] does not exist`);let A=yt(e,"fpOutDocx","");A=Bt(A)?n.resolve(A):"";let o=yt(e,"fpOutHtml","");o=Bt(o)?n.resolve(o):"",""===A&&""===o&&(A=n.resolve(n.dirname(i),`${n.basename(i).replace(/\.md$/i,"")}.docx`));let s="docx";""!==A&&""!==o?s="both":""!==o&&(s="html");let a=yt(e,"allowMissingAssets",!1);Sn(a)||(a=!1);let c=t.readFileSync(i,"utf8"),l=n.dirname(i),{assets:u,missing:h}=Fc(c,l);if(h.length>0&&!a)return Promise.reject(`${h.length} asset file(s) referenced in md do not exist: ${h.join(", ")}. Set allowMissingAssets:true to skip this check`);let d=yt(e,"name","");Bt(d)||(d=n.basename(i).replace(/\.md$/i,""));let f={md:c,name:d,out:s,assets:u},g=yt(e,"optMd2html",null);Ct(g)&&(f.optMd2html=g);let p=yt(e,"optHtml2docx",null);Ct(p)&&(f.optHtml2docx=p);let m=yt(e,"templateName","");Bt(m)&&(f.templateName=m.trim());let b=yt(e,"fpInTemp","");if(Bt(b)){if(b=n.resolve(b),!kt(b))return Promise.reject(`fpInTemp[${b}] does not exist`);f.templateBase64=t.readFileSync(b).toString("base64")}let I={"content-type":"application/json"},y=Sc(yt(e,"token",""));""!==y&&(I["x-api-token"]=y);let w=yt(e,"timeoutMs",null);Ua(w)||(w=6e5),w=rs(w);let B=yt(e,"retries",null);fs(B)||(B=3),B=cs(B);let C=JSON.stringify(f),x=null,k="";for(let t=0;t<=B;t++){if(t>0){let e=[0,3e3,8e3,15e3][t]||15e3;console.log(`connection failed, retrying in ${e/1e3}s (${t}/${B}): ${k}`),await new Promise(t=>setTimeout(t,e))}try{x=await fetch(`${r}/api/convert`,{method:"POST",headers:I,body:C,signal:AbortSignal.timeout(w)}),k="";break}catch(t){let e=yt(t,"name","");if(k=gc(t)||"unknown error","TimeoutError"===e||"AbortError"===e)return Promise.reject(`Conversion timed out (no response within ${w} ms): ${r}`)}}if(""!==k)return Promise.reject(`Unable to connect to the conversion service ${r} (retried ${B} times): ${k}`);let v=await x.json().catch(()=>null);if(!x.ok||!Ct(v)||!0!==v.success){let t=yt(v,"error","");return Bt(t)||(t=`HTTP ${x.status}`),Promise.reject(`Conversion failed: ${t}`)}let S={ms:v.ms,nAssets:v.nAssets,template:v.template},D=(e,r,i)=>{if(""===e)return"";let A=yt(r,"base64","");if(!Bt(A))return`the service did not return ${i}`;t.mkdirSync(n.dirname(e),{recursive:!0}),t.writeFileSync(e,Buffer.from(A,"base64"));let o=t.statSync(e).size;return 0===o?`${i} is empty after being written: ${e}`:(S[i]={fp:e,size:o},"")},F=D(o,v.html,"html");return""!==F?Promise.reject(F):(F=D(A,v.docx,"docx"),""!==F?Promise.reject(F):S)},health:async function(t={}){let e=vc(t),n={},r=Sc(yt(t,"token",""));""!==r&&(n["x-api-token"]=r);let i=yt(t,"timeoutMs",null);Ua(i)||(i=2e4),i=rs(i);let A=null;try{A=await fetch(`${e}/api/health`,{headers:n,signal:AbortSignal.timeout(i)})}catch(t){return Promise.reject(`Unable to connect to the conversion service ${e}: ${gc(t)}`)}let o=await A.json().catch(()=>null);return Ct(o)?o:Promise.reject(`Invalid response from the conversion service ${e}: HTTP ${A.status}`)},scanAssetPaths:Dc,readAssets:Fc},Qc={cvMdToDocx:Cc,cvMdTo:xc,ApiServer:async function(r={}){let i=yt(r,"port",null);fs(i)||(i=22e3),i=cs(i);let A=yt(r,"host","");Bt(A)||(A="0.0.0.0"),A=A.trim();let o=yt(r,"token","");wt(o)||(o=""),o=o.trim();let s=yt(r,"maxMb",null);Ua(s)||(s=256),s=rs(s);let a=Math.round(1024*s*1024),c=yt(r,"dirTemplates","");Bt(c)||(c=n.resolve(kc,"templates")),c=n.resolve(c);let l=yt(r,"dirWork","");Bt(l)||(l=n.join(e.tmpdir(),"w-md2docx")),l=n.resolve(l);let h=yt(r,"templateDef","");Bt(h)||(h="temp_tpc.docx"),h=h.trim();let f=yt(r,"autoStart",!0);Sn(f)||(f=!0);let g=()=>fc(c)?t.readdirSync(c).filter(t=>/\.docx$/i.test(t)):[],p=()=>{let t=n.resolve(c,n.basename(h));return kt(t)?t:""},m=async()=>{let t=function(){let t=Ic();return{platform:process.platform,isWindows:"win32"===process.platform,cwd:n.resolve(),exePath:t,exeFound:""!==t,ready:"win32"===process.platform&&""!==t}}(),e=await new Promise(t=>{"win32"===process.platform?u.execFile("tasklist",["/FI","IMAGENAME eq WINWORD.EXE","/NH"],{windowsHide:!0,timeout:8e3},(e,n)=>{if(e)return void t(-1);let r=(String(n).match(/WINWORD\.EXE/gi)||[]).length;t(r)}):t(-1)});return{platform:t.platform,node:process.version,cwd:t.cwd,exeFound:t.exeFound,exePath:t.exePath,docxReady:t.ready,templateDefault:p(),templates:g(),dirTemplates:c,dirWork:l,queue:bc,winwordProcesses:e,maxBytes:a,tokenRequired:""!==o}},b=async e=>{let r=(e=>{let r=yt(e,"templateBase64","");if(Bt(r)||(r=yt(e,"template.base64","")),Bt(r)){r=r.replace(/^data:[^;]+;base64,/,""),t.mkdirSync(l,{recursive:!0});let e=n.resolve(l,`tmpl_${Date.now()}_${Math.random().toString(36).slice(2,8)}.docx`);return t.writeFileSync(e,Buffer.from(r,"base64")),{fpInTemp:e,from:"request",fpTmpDel:e}}let i=yt(e,"templateName","");if(i=Bt(i)?i.trim():"",""!==i){let t=n.resolve(c,n.basename(i));if(!kt(t))throw new Error(`templateName[${i}] does not exist (available templates: ${g().join(", ")||"none"})`);return{fpInTemp:t,from:"server",fpTmpDel:""}}let A=p();return""!==A?{fpInTemp:A,from:"default",fpTmpDel:""}:{fpInTemp:"",from:"none",fpTmpDel:""}})(e);try{let t=yt(e,"keepTmp",!1),n=yt(e,"keepWork",!1);return{success:!0,...await xc({md:yt(e,"md",""),mdBase64:yt(e,"mdBase64",""),name:yt(e,"name",""),out:yt(e,"out",""),assets:yt(e,"assets",[]),dirWork:l,fpInTemp:r.fpInTemp,optMd2html:yt(e,"optMd2html",{}),optHtml2docx:yt(e,"optHtml2docx",{}),keepWork:!0===t||"true"===t||!0===n||"true"===n}),template:r.from}}finally{if(""!==r.fpTmpDel&&kt(r.fpTmpDel))try{t.unlinkSync(r.fpTmpDel)}catch(t){}}},I=wc(l),y=d.server({port:i,host:A,routes:{cors:!0,payload:{maxBytes:a}}});y.ext("onRequest",(t,e)=>{if(""===o)return e.continue;if(!t.path.startsWith("/api/"))return e.continue;return yt(t,"headers.x-api-token","")!==o?e.response({success:!1,error:"unauthorized: a valid x-api-token header is required"}).code(401).takeover():e.continue}),y.route([{method:"GET",path:"/",handler:()=>({service:"w-md2docx",description:"API service for converting Markdown to HTML/DOCX",endpoints:{"GET /api/health":"health check and environment state","GET /api/selftest":"run a minimal conversion to verify that Microsoft Word is available","POST /api/convert":"main conversion endpoint (JSON)"}})},{method:"GET",path:"/api/health",handler:async()=>({success:!0,...await m()})},{method:"GET",path:"/api/selftest",handler:async(t,e)=>{let n=Date.now();try{let t=await b({md:"# selftest\n\nThis file is generated by the self test of the conversion service.\n",name:"selftest",out:"both"});return{success:!0,ms:Date.now()-n,htmlSize:yt(t,"html.size",0),docxSize:yt(t,"docx.size",0),template:t.template}}catch(t){let r=await m();return e.response({success:!1,error:gc(t),ms:Date.now()-n,env:r}).code(500)}}},{method:"POST",path:"/api/convert",options:{payload:{maxBytes:a,parse:!0,allow:"application/json",timeout:!1},timeout:{socket:!1}},handler:async(t,e)=>{let n=t.payload;if(!Ct(n))return e.response({success:!1,error:"parameters must be provided as a JSON object"}).code(400);let r=yt(t,"query.download",""),i="1"===r||"true"===r;if(i&&"both"===yt(n,"out",""))return e.response({success:!1,error:"download only supports out of html or docx (single format)"}).code(400);try{let t=await b(n);if(i){let n=null;return"docx"===t.out&&Ct(t.docx)?n=t.docx:"html"===t.out&&Ct(t.html)&&(n=t.html),null===n?e.response({success:!1,error:"download only supports out of html or docx (single format)"}).code(400):e.response(Buffer.from(n.base64,"base64")).type(n.mime).header("content-disposition",`attachment; filename="${(A=n.fileName).replace(/[^\x20-\x7E]/g,"_").replace(/"/g,"")}"; filename*=UTF-8''${encodeURIComponent(A)}`)}return t}catch(t){let n=gc(t),r=function(t){return/^(md is empty|asset|templateName)/.test(t)}(n)?400:500;return e.response({success:!1,error:n}).code(r)}var A}}]),f&&await y.start();let w=setInterval(()=>{wc(l)},36e5);return w.unref(),{server:y,getState:m,stop:async()=>{clearInterval(w),await y.stop()},settings:{port:i,host:A,token:o,maxMb:s,maxBytes:a,dirTemplates:c,dirWork:l,templateDef:h,nClean:I}}},ApiClient:Ec};return Qc});
|
|
7
|
+
//# sourceMappingURL=w-md2docx.umd.js.map
|