1var e=Object.defineProperty,t=(t,i,r)=>(((t,i,r)=>{i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[i]=r})(t,"symbol"!=typeof i?i+"":i,r),r);import{g as i,_ as r}from"./index.f87a253d-1790155126435.js";class n extends Error{constructor(){super("End-Of-Stream"),this.name="EndOfStreamError"}}class a extends Error{constructor(e="The operation was aborted"){super(e),this.name="AbortError"}}class s{constructor(){this.endOfStream=!1,this.interrupted=!1,this.peekQueue=[]}async peek(e,t=!1){const i=await this.read(e,t);return this.peekQueue.push(e.subarray(0,i)),i}async read(e,t=!1){if(0===e.length)return 0;let i=this.readFromPeekBuffer(e);if(this.endOfStream||(i+=await this.readRemainderFromStream(e.subarray(i),t)),0===i&&!t)throw new n;return i}readFromPeekBuffer(e){let t=e.length,i=0;for(;this.peekQueue.length>0&&t>0;){const r=this.peekQueue.pop();if(!r)throw new Error("peekData should be defined");const n=Math.min(r.length,t);e.set(r.subarray(0,n),i),i+=n,t-=n,n<r.length&&this.peekQueue.push(r.subarray(n))}return i}async readRemainderFromStream(e,t){let i=0;for(;i<e.length&&!this.endOfStream;){if(this.interrupted)throw new a;const r=await this.readFromStream(e.subarray(i),t);if(0===r)break;i+=r}if(!t&&i<e.length)throw new n;return i}}class o extends s{constructor(e){super(),this.reader=e}async abort(){return this.close()}async close(){this.reader.releaseLock()}}class c extends o{async readFromStream(e,t){if(0===e.length)return 0;const i=await this.reader.read(new Uint8Array(e.length),{min:t?void 0:e.length});return i.done&&(this.endOfStream=i.done),i.value?(e.set(i.value),i.value.length):0}}class l extends s{constructor(e){super(),this.reader=e,this.buffer=null}writeChunk(e,t){const i=Math.min(t.length,e.length);return e.set(t.subarray(0,i)),i<t.length?this.buffer=t.subarray(i):this.buffer=null,i}async readFromStream(e,t){if(0===e.length)return 0;let i=0;for(this.buffer&&(i+=this.writeChunk(e,this.buffer));i<e.length&&!this.endOfStream;){const t=await this.reader.read();if(t.done){this.endOfStream=!0;break}t.value&&(i+=this.writeChunk(e.subarray(i),t.value))}if(!t&&0===i&&this.endOfStream)throw new n;return i}abort(){return this.interrupted=!0,this.reader.cancel()}async close(){await this.abort(),this.reader.releaseLock()}}class u{constructor(e){this.numBuffer=new Uint8Array(8),this.position=0,this.onClose=null==e?void 0:e.onClose,(null==e?void 0:e.abortSignal)&&e.abortSignal.addEventListener("abort",(()=>{this.abort()}))}async readToken(e,t=this.position){const i=new Uint8Array(e.len);if(await this.readBuffer(i,{position:t})<e.len)throw new n;return e.get(i,0)}async peekToken(e,t=this.position){const i=new Uint8Array(e.len);if(await this.peekBuffer(i,{position:t})<e.len)throw new n;return e.get(i,0)}async readNumber(e){if(await this.readBuffer(this.numBuffer,{length:e.len})<e.len)throw new n;return e.get(this.numBuffer,0)}async peekNumber(e){if(await this.peekBuffer(this.numBuffer,{length:e.len})<e.len)throw new n;return e.get(this.numBuffer,0)}async ignore(e){if(e<0)throw new RangeError("ignore length must be ⥠0 bytes");if(void 0!==this.fileInfo.size){const t=this.fileInfo.size-this.position;if(e>t)return this.position+=t,t}return this.position+=e,e}async close(){var e;await this.abort(),await(null==(e=this.onClose)?void 0:e.call(this))}normalizeOptions(e,t){if(!this.supportsRandomAccess()&&t&&void 0!==t.position&&t.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");return{mayBeLess:!1,offset:0,length:e.length,position:this.position,...t}}abort(){return Promise.resolve()}}class m extends u{constructor(e,t){super(t),this.streamReader=e,this.fileInfo=(null==t?void 0:t.fileInfo)??{}}async readBuffer(e,t){const i=this.normalizeOptions(e,t),r=i.position-this.position;if(r>0)return await this.ignore(r),this.readBuffer(e,t);if(r<0)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");if(0===i.length)return 0;const a=await this.streamReader.read(e.subarray(0,i.length),i.mayBeLess);if(this.position+=a,(!t||!t.mayBeLess)&&a<i.length)throw new n;return a}
1async peekBuffer(e,t){const i=this.normalizeOptions(e,t);let r=0;if(i.position){const t=i.position-this.position;if(t>0){const n=new Uint8Array(i.length+t);return r=await this.peekBuffer(n,{mayBeLess:i.mayBeLess}),e.set(n.subarray(t)),r-t}if(t<0)throw new Error("Cannot peek from a negative offset in a stream")}if(i.length>0){try{r=await this.streamReader.peek(e.subarray(0,i.length),i.mayBeLess)}catch(a){if((null==t?void 0:t.mayBeLess)&&a instanceof n)return 0;throw a}if(!i.mayBeLess&&r<i.length)throw new n}return r}async ignore(e){if(e<0)throw new RangeError("ignore length must be ⥠0 bytes");const t=Math.min(256e3,e),i=new Uint8Array(t);let r=0;for(;r<e;){const n=e-r,a=await this.readBuffer(i,{length:Math.min(t,n)});if(a<0)return a;r+=a}return r}abort(){return this.streamReader.abort()}async close(){return this.streamReader.close()}supportsRandomAccess(){return!1}}class p extends u{constructor(e,t){super(t),this.uint8Array=e,this.fileInfo={...(null==t?void 0:t.fileInfo)??{},size:e.length}}async readBuffer(e,t){(null==t?void 0:t.position)&&(this.position=t.position);const i=await this.peekBuffer(e,t);return this.position+=i,i}async peekBuffer(e,t){const i=this.normalizeOptions(e,t),r=Math.min(this.uint8Array.length-i.position,i.length);if(!i.mayBeLess&&r<i.length)throw new n;return e.set(this.uint8Array.subarray(i.position,i.position+r)),r}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(e){this.position=e}}class d extends u{constructor(e,t){super(t),this.blob=e,this.fileInfo={...(null==t?void 0:t.fileInfo)??{},size:e.size,mimeType:e.type}}async readBuffer(e,t){(null==t?void 0:t.position)&&(this.position=t.position);const i=await this.peekBuffer(e,t);return this.position+=i,i}async peekBuffer(e,t){const i=this.normalizeOptions(e,t),r=Math.min(this.blob.size-i.position,i.length);if(!i.mayBeLess&&r<i.length)throw new n;const a=await this.blob.slice(i.position,i.position+r).arrayBuffer();return e.set(new Uint8Array(a)),r}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(e){this.position=e}}function f(e,t){const i=function(e){try{const t=e.getReader({mode:"byob"});return t instanceof ReadableStreamDefaultReader?new l(t):new c(t)}catch(t){if(t instanceof TypeError)return new l(e.getReader());throw t}}(e),r=t??{},n=r.onClose;return r.onClose=async()=>{if(await i.close(),n)return n()},new m(i,r)}function h(e,t){return new p(e,t)}function g(e,t){return new d(e,t)} 2/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */var y=function(e,t,i,r,n){var a,s,o=8*n-r-1,c=(1<<o)-1,l=c>>1,u=-7,m=i?n-1:0,p=i?-1:1,d=e[t+m];for(m+=p,a=d&(1<<-u)-1,d>>=-u,u+=o;u>0;a=256*a+e[t+m],m+=p,u-=8);for(s=a&(1<<-u)-1,a>>=-u,u+=r;u>0;s=256*s+e[t+m],m+=p,u-=8);if(0===a)a=1-l;else{if(a===c)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,r),a-=l}return(d?-1:1)*s*Math.pow(2,a-r)},b=function(e,t,i,r,n,a){var s,o,c,l=8*a-n-1,u=(1<<l)-1,m=u>>1,p=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:a-1,f=r?1:-1,h=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,s=u):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),(t+=s+m>=1?p/c:p*Math.pow(2,1-m))*c>=2&&(s++,c/=2),s+m>=u?(o=0,s=u):s+m>=1?(o=(t*c-1)*Math.pow(2,n),s+=m):(o=t*Math.pow(2,m-1)*Math.pow(2,n),s=0));n>=8;e[i+d]=255&o,d+=f,o/=256,n-=8);for(s=s<<n|o,l+=n;l>0;e[i+d]=255&s,d+=f,s/=256,l-=8);e[i+d-f]|=128*h};const k={128:"â¬",130:"â",131:"Æ",132:"â",133:"â¦",134:"â ",135:"â¡",136:"Ë",137:"â°",138:"Å ",139:"â¹",140:"Å",142:"Ž",145:"â",146:"â",147:"â",148:"â",149:"â¢",150:"â",151:"â",152:"Ë",153:"â¢",154:"Å¡",155:"âº",156:"Å",158:"ž",159:"Ÿ"},w={};for(const[Er,zr]of Object.entries(k))w[zr]=Number.parseInt(Er,10);let T,x;const v=32768,C=65533;function I(e,t="utf-8"){switch(t.toLowerCase()){case"utf-8":case"utf8":{const t=function(){if(void 0!==globalThis.TextDecoder)return null!=T?T:T=new globalThis.TextDecoder("utf-8")}();return t?t.decode(e):function(e){const t=[],i=[];let r=0;e.length>=3&&239===e[0]&&187===e[1]&&191===e[2]&&(r=3);for(;r<e.length;){const n=e[r];if(n<=127){_(t,i,n),r++;continue}if(n<194||n>244){_(t,i,C),r++;continue}if(n<=223){if(r+1>=e.length){_(t,i,C),r++;continue}const a=e[r+1];if(128!=(192&a)){_(t,i,C),r++;continue}_(t,i,(31&n)<<6|63&a),r+=2;continue}if(n<=239){if(r+2>=e.length){_(t,i,C),r++;continue}const a=e[r+1],s=e[r+2];
2if(!!(128!=(192&a)||128!=(192&s)||224===n&&a<160||237===n&&a>=160)){_(t,i,C),r++;continue}_(t,i,(15&n)<<12|(63&a)<<6|63&s),r+=3;continue}if(r+3>=e.length){_(t,i,C),r++;continue}const a=e[r+1],s=e[r+2],o=e[r+3];if(!!(128!=(192&a)||128!=(192&s)||128!=(192&o)||240===n&&a<144||244===n&&a>143)){_(t,i,C),r++;continue}E(t,i,(7&n)<<18|(63&a)<<12|(63&s)<<6|63&o),r+=4}return S(t,i),t.join("")}(e)}case"utf-16le":return function(e){const t=[],i=[],r=e.length;let n=0;for(;n+1<r;){const a=e[n]|e[n+1]<<8;if(n+=2,a>=55296&&a<=56319)if(n+1<r){const r=e[n]|e[n+1]<<8;r>=56320&&r<=57343?(_(t,i,a),_(t,i,r),n+=2):_(t,i,C)}else _(t,i,C);else _(t,i,a>=56320&&a<=57343?C:a)}n<r&&_(t,i,C);return S(t,i),t.join("")}(e);case"us-ascii":case"ascii":return function(e){const t=[];for(let i=0;i<e.length;i+=v){const r=Math.min(e.length,i+v),n=new Array(r-i);for(let t=i,a=0;t<r;t++,a++)n[a]=127&e[t];t.push(String.fromCharCode.apply(null,n))}return t.join("")}(e);case"latin1":case"iso-8859-1":return function(e){const t=[];for(let i=0;i<e.length;i+=v){const r=Math.min(e.length,i+v),n=new Array(r-i);for(let t=i,a=0;t<r;t++,a++)n[a]=e[t];t.push(String.fromCharCode.apply(null,n))}return t.join("")}(e);case"windows-1252":return function(e){const t=[];let i="";for(let r=0;r<e.length;r++){const n=e[r],a=n>=128&&n<=159?k[n]:void 0;i+=null!=a?a:String.fromCharCode(n),i.length>=v&&(t.push(i),i="")}i&&t.push(i);return t.join("")}(e);default:throw new RangeError(`Encoding '${t}' not supported`)}}function A(e="",t="utf-8"){switch(t.toLowerCase()){case"utf-8":case"utf8":{const t=function(){if(void 0!==globalThis.TextEncoder)return null!=x?x:x=new globalThis.TextEncoder}();return t?t.encode(e):function(e){const t=[];for(let i=0;i<e.length;i++){let r=e.charCodeAt(i);if(r>=55296&&r<=56319)if(i+1<e.length){const t=e.charCodeAt(i+1);t>=56320&&t<=57343?(r=65536+(r-55296<<10)+(t-56320),i++):r=C}else r=C;else r>=56320&&r<=57343&&(r=C);r<128?t.push(r):r<2048?t.push(192|r>>6,128|63&r):r<65536?t.push(224|r>>12,128|r>>6&63,128|63&r):t.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|63&r)}return new Uint8Array(t)}(e)}case"utf-16le":return function(e){const t=[];for(let r=0;r<e.length;r++){const i=e.charCodeAt(r);if(i>=55296&&i<=56319)if(r+1<e.length){const n=e.charCodeAt(r+1);n>=56320&&n<=57343?(t.push(i,n),r++):t.push(C)}else t.push(C);else i>=56320&&i<=57343?t.push(C):t.push(i)}const i=new Uint8Array(2*t.length);for(let r=0;r<t.length;r++){const e=t[r],n=2*r;i[n]=255&e,i[n+1]=e>>>8}return i}(e);case"us-ascii":case"ascii":return function(e){const t=new Uint8Array(e.length);for(let i=0;i<e.length;i++)t[i]=127&e.charCodeAt(i);return t}(e);case"latin1":case"iso-8859-1":return function(e){const t=new Uint8Array(e.length);for(let i=0;i<e.length;i++)t[i]=255&e.charCodeAt(i);return t}(e);case"windows-1252":return function(e){const t=new Uint8Array(e.length);for(let i=0;i<e.length;i++){const r=e[i],n=r.charCodeAt(0);void 0===w[r]?t[i]=n>=0&&n<=127||n>=160&&n<=255?n:63:t[i]=w[r]}return t}(e);default:throw new RangeError(`Encoding '${t}' not supported`)}}function S(e,t){0!==t.length&&(e.push(String.fromCharCode.apply(null,t)),t.length=0)}function _(e,t,i){t.push(i),t.length>=v&&S(e,t)}function E(e,t,i){i<=65535?_(e,t,i):(_(e,t,55296+((i-=65536)>>10)),_(e,t,56320+(1023&i)))}function z(e){return new DataView(e.buffer,e.byteOffset)}const R={len:1,get:(e,t)=>z(e).getUint8(t),put:(e,t,i)=>(z(e).setUint8(t,i),t+1)},M={len:2,get:(e,t)=>z(e).getUint16(t,!0),put:(e,t,i)=>(z(e).setUint16(t,i,!0),t+2)},F={len:2,get:(e,t)=>z(e).getUint16(t),put:(e,t,i)=>(z(e).setUint16(t,i),t+2)},P={len:3,get(e,t){const i=z(e);return i.getUint8(t)+(i.getUint16(t+1,!0)<<8)},put(e,t,i){const r=z(e);return r.setUint8(t,255&i),r.setUint16(t+1,i>>8,!0),t+3}},D={len:3,get(e,t){const i=z(e);return(i.getUint16(t)<<8)+i.getUint8(t+2)},put(e,t,i){const r=z(e);return r.setUint16(t,i>>8),r.setUint8(t+2,255&i),t+3}},B={len:4,get:(e,t)=>z(e).getUint32(t,!0),put:(e,t,i)=>(z(e).setUint32(t,i,!0),t+4)},L={len:4,get:(e,t)=>z(e).getUint32(t),put:(e,t,i)=>(z(e).setUint32(t,i),t+4)},O={len:1,get:(e,t)=>z(e).getInt8(t),put:(e,t,i)=>(z(e).setInt8(t,i),t+1)},N={len:2,get:(e,t)=>z(e).getInt16(t),put:(e,t,i)=>(z(e).setInt16(t,i),t+2)},U={len:2,get:(e,t)=>z(e).getInt16(t,!0),put:(e,t,i)=>(z(e).setInt16(t,i,!0),t+2)},X={len:3,get(e,t){const i=P.get(e,t);return i>8388607?i-16777216:i},put(e,t,i){const r=z(e);
2return r.setUint8(t,255&i),r.setUint16(t+1,i>>8,!0),t+3}},G={len:3,get(e,t){const i=D.get(e,t);return i>8388607?i-16777216:i},put(e,t,i){const r=z(e);return r.setUint16(t,i>>8),r.setUint8(t+2,255&i),t+3}},j={len:4,get:(e,t)=>z(e).getInt32(t),put:(e,t,i)=>(z(e).setInt32(t,i),t+4)},W={len:4,get:(e,t)=>z(e).getInt32(t,!0),put:(e,t,i)=>(z(e).setInt32(t,i,!0),t+4)},$={len:8,get:(e,t)=>z(e).getBigUint64(t,!0),put:(e,t,i)=>(z(e).setBigUint64(t,i,!0),t+8)},q={len:8,get:(e,t)=>z(e).getBigInt64(t,!0),put:(e,t,i)=>(z(e).setBigInt64(t,i,!0),t+8)},Z={len:8,get:(e,t)=>z(e).getBigUint64(t),put:(e,t,i)=>(z(e).setBigUint64(t,i),t+8)},H={len:8,get:(e,t)=>z(e).getBigInt64(t),put:(e,t,i)=>(z(e).setBigInt64(t,i),t+8)},V={len:2,get(e,t){return y(e,t,!1,10,this.len)},put(e,t,i){return b(e,i,t,!1,10,this.len),t+this.len}},Y={len:2,get(e,t){return y(e,t,!0,10,this.len)},put(e,t,i){return b(e,i,t,!0,10,this.len),t+this.len}},K={len:4,get:(e,t)=>z(e).getFloat32(t),put:(e,t,i)=>(z(e).setFloat32(t,i),t+4)},J={len:4,get:(e,t)=>z(e).getFloat32(t,!0),put:(e,t,i)=>(z(e).setFloat32(t,i,!0),t+4)},Q={len:8,get:(e,t)=>z(e).getFloat64(t),put:(e,t,i)=>(z(e).setFloat64(t,i),t+8)},ee={len:8,get:(e,t)=>z(e).getFloat64(t,!0),put:(e,t,i)=>(z(e).setFloat64(t,i,!0),t+8)},te={len:10,get(e,t){return y(e,t,!1,63,this.len)},put(e,t,i){return b(e,i,t,!1,63,this.len),t+this.len}},ie={len:10,get(e,t){return y(e,t,!0,63,this.len)},put(e,t,i){return b(e,i,t,!0,63,this.len),t+this.len}};class re{constructor(e){this.len=e}get(e,t){return e.subarray(t,t+this.len)}}class ne{constructor(e,t){this.len=e,this.encoding=t}get(e,t=0){return I(e.subarray(t,t+this.len),this.encoding)}}const ae=Object.freeze(Object.defineProperty({__proto__:null,AnsiStringType:class extends ne{constructor(e){super(e,"windows-1252")}},Float16_BE:V,Float16_LE:Y,Float32_BE:K,Float32_LE:J,Float64_BE:Q,Float64_LE:ee,Float80_BE:te,Float80_LE:ie,INT16_BE:N,INT16_LE:U,INT24_BE:G,INT24_LE:X,INT32_BE:j,INT32_LE:W,INT64_BE:H,INT64_LE:q,INT8:O,IgnoreType:class{constructor(e){this.len=e}get(e,t){}},StringType:ne,UINT16_BE:F,UINT16_LE:M,UINT24_BE:D,UINT24_LE:P,UINT32_BE:L,UINT32_LE:B,UINT64_BE:Z,UINT64_LE:$,UINT8:R,Uint8ArrayType:re},Symbol.toStringTag,{value:"Module"}));var se,oe,ce={exports:{}};function le(){if(oe)return se;oe=1;var e=1e3,t=60*e,i=60*t,r=24*i,n=7*r,a=365.25*r;function s(e,t,i,r){var n=t>=1.5*i;return Math.round(e/i)+" "+r+(n?"s":"")}return se=function(o,c){c=c||{};var l=typeof o;if("string"===l&&o.length>0)return function(s){if((s=String(s)).length>100)return;var o=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(s);if(!o)return;var c=parseFloat(o[1]);switch((o[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return c*a;case"weeks":case"week":case"w":return c*n;case"days":case"day":case"d":return c*r;case"hours":case"hour":case"hrs":case"hr":case"h":return c*i;case"minutes":case"minute":case"mins":case"min":case"m":return c*t;case"seconds":case"second":case"secs":case"sec":case"s":return c*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return c;default:return}}(o);if("number"===l&&isFinite(o))return c.long?function(n){var a=Math.abs(n);if(a>=r)return s(n,a,r,"day");if(a>=i)return s(n,a,i,"hour");if(a>=t)return s(n,a,t,"minute");if(a>=e)return s(n,a,e,"second");return n+" ms"}(o):function(n){var a=Math.abs(n);if(a>=r)return Math.round(n/r)+"d";if(a>=i)return Math.round(n/i)+"h";if(a>=t)return Math.round(n/t)+"m";if(a>=e)return Math.round(n/e)+"s";return n+"ms"}(o);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(o))}}var ue=function(e){function t(e){let r,n,a,s=null;function o(...e){if(!o.enabled)return;const i=o,n=Number(new Date),a=n-(r||n);i.diff=a,i.prev=r,i.curr=n,r=n,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,n)=>{if("%%"===r)return"%";s++;const a=t.formatters[n];if("function"==typeof a){const t=e[s];r=a.call(i,t),e.splice(s,1),s--}return r})),t.formatArgs.call(i,e);(i.log||t.log).apply(i,e)}return o.namespace=e,o.useColors=t.useColors(),o.color=t.selectColor(e),o.extend=i,o.destroy=t.destroy,Object.defineProperty(o,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(n!==t.namespaces&&(n=t.namespaces,a=t.enabled(e)),a),set:e=>{s=e}}),"function"==typeof t.init&&t.init(o),o}
2function i(e,i){const r=t(this.namespace+(void 0===i?":":i)+e);return r.log=this.log,r}function r(e,t){let i=0,r=0,n=-1,a=0;for(;i<e.length;)if(r<t.length&&(t[r]===e[i]||"*"===t[r]))"*"===t[r]?(n=r,a=i,r++):(i++,r++);else{if(-1===n)return!1;r=n+1,a++,i=a}for(;r<t.length&&"*"===t[r];)r++;return r===t.length}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names,...t.skips.map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){t.save(e),t.namespaces=e,t.names=[],t.skips=[];const i=("string"==typeof e?e:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const r of i)"-"===r[0]?t.skips.push(r.slice(1)):t.names.push(r)},t.enabled=function(e){for(const i of t.skips)if(r(e,i))return!1;for(const i of t.names)if(r(e,i))return!0;return!1},t.humanize=le(),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((i=>{t[i]=e[i]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let i=0;for(let t=0;t<e.length;t++)i=(i<<5)-i+e.charCodeAt(t),i|=0;return t.colors[Math.abs(i)%t.colors.length]},t.enable(t.load()),t};!function(e,t){t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const i="color: "+this.color;t.splice(1,0,i,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(r++,"%c"===e&&(n=r))})),t.splice(n,0,i)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(i){}},t.load=function(){let e;try{e=t.storage.getItem("debug")||t.storage.getItem("DEBUG")}catch(i){}!e&&"undefined"!=typeof process&&"env"in process&&(e={}.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=ue(t);const{formatters:i}=e.exports;i.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}}(ce,ce.exports);const me=67324752,pe=134695760,de=33639248,fe=101010256,he={get:e=>({signature:B.get(e,0),compressedSize:B.get(e,8),uncompressedSize:B.get(e,12)}),len:16},ge={get(e){const t=M.get(e,6);return{signature:B.get(e,0),minVersion:M.get(e,4),dataDescriptor:!!(8&t),compressedMethod:M.get(e,8),compressedSize:B.get(e,18),uncompressedSize:B.get(e,22),filenameLength:M.get(e,26),extraFieldLength:M.get(e,28),filename:null}},len:30},ye={get:e=>({signature:B.get(e,0),nrOfThisDisk:M.get(e,4),nrOfThisDiskWithTheStart:M.get(e,6),nrOfEntriesOnThisDisk:M.get(e,8),nrOfEntriesOfSize:M.get(e,10),sizeOfCd:B.get(e,12),offsetOfStartOfCd:B.get(e,16),zipFileCommentLength:M.get(e,20)}),len:22},be={get(e){const t=M.get(e,8);return{signature:B.get(e,0),minVersion:M.get(e,6),dataDescriptor:!!(8&t),compressedMethod:M.get(e,10),compressedSize:B.get(e,20),uncompressedSize:B.get(e,24),filenameLength:M.get(e,28),extraFieldLength:M.get(e,30),fileCommentLength:M.get(e,32),relativeOffsetOfLocalHeader:B.get(e,42),filename:null}},len:46};function ke(e){const t=new Uint8Array(B.len);return B.put(t,0,e),t}const we=i(ce.exports)("tokenizer:inflate"),Te=262144,xe=ke(pe),ve=ke(fe);class Ce{constructor(e){this.tokenizer=e,this.syncBuffer=new Uint8Array(Te)}async isZip(){return await this.peekSignature()===me}peekSignature(){return this.tokenizer.peekToken(B)}async findEndOfCentralDirectoryLocator(){const e=this.tokenizer,t=M
2ath.min(16384,e.fileInfo.size),i=this.syncBuffer.subarray(0,t);await this.tokenizer.readBuffer(i,{position:e.fileInfo.size-t});for(let r=i.length-4;r>=0;r--)if(i[r]===ve[0]&&i[r+1]===ve[1]&&i[r+2]===ve[2]&&i[r+3]===ve[3])return e.fileInfo.size-t+r;return-1}async readCentralDirectory(){if(!this.tokenizer.supportsRandomAccess())return void we("Cannot reading central-directory without random-read support");we("Reading central-directory...");const e=this.tokenizer.position,t=await this.findEndOfCentralDirectoryLocator();if(t>0){we("Central-directory 32-bit signature found");const i=await this.tokenizer.readToken(ye,t),r=[];this.tokenizer.setPosition(i.offsetOfStartOfCd);for(let e=0;e<i.nrOfEntriesOfSize;++e){const t=await this.tokenizer.readToken(be);if(t.signature!==de)throw new Error("Expected Central-File-Header signature");t.filename=await this.tokenizer.readToken(new ne(t.filenameLength,"utf-8")),await this.tokenizer.ignore(t.extraFieldLength),await this.tokenizer.ignore(t.fileCommentLength),r.push(t),we(`Add central-directory file-entry: n=${e+1}/${r.length}: filename=${r[e].filename}`)}return this.tokenizer.setPosition(e),r}this.tokenizer.setPosition(e)}async unzip(e){const t=await this.readCentralDirectory();if(t)return this.iterateOverCentralDirectory(t,e);let i=!1;do{const t=await this.readLocalFileHeader();if(!t)break;const r=e(t);let n;if(i=!!r.stop,await this.tokenizer.ignore(t.extraFieldLength),t.dataDescriptor&&0===t.compressedSize){const e=[];let i=Te;we("Compressed-file-size unknown, scanning for next data-descriptor-signature....");let n=-1;for(;n<0&&i===Te;){i=await this.tokenizer.peekBuffer(this.syncBuffer,{mayBeLess:!0}),n=Ie(this.syncBuffer.subarray(0,i),xe);const t=n>=0?n:i;if(r.handler){const i=new Uint8Array(t);await this.tokenizer.readBuffer(i),e.push(i)}else await this.tokenizer.ignore(t)}we(`Found data-descriptor-signature at pos=${this.tokenizer.position}`),r.handler&&await this.inflate(t,Ae(e),r.handler)}else r.handler?(we(`Reading compressed-file-data: ${t.compressedSize} bytes`),n=new Uint8Array(t.compressedSize),await this.tokenizer.readBuffer(n),await this.inflate(t,n,r.handler)):(we(`Ignoring compressed-file-data: ${t.compressedSize} bytes`),await this.tokenizer.ignore(t.compressedSize));if(we(`Reading data-descriptor at pos=${this.tokenizer.position}`),t.dataDescriptor){if(134695760!==(await this.tokenizer.readToken(he)).signature)throw new Error("Expected data-descriptor-signature at position "+(this.tokenizer.position-he.len))}}while(!i)}async iterateOverCentralDirectory(e,t){for(const i of e){const e=t(i);if(e.handler){this.tokenizer.setPosition(i.relativeOffsetOfLocalHeader);const t=await this.readLocalFileHeader();if(t){await this.tokenizer.ignore(t.extraFieldLength);const r=new Uint8Array(i.compressedSize);await this.tokenizer.readBuffer(r),await this.inflate(t,r,e.handler)}}if(e.stop)break}}async inflate(e,t,i){if(0===e.compressedMethod)return i(t);if(8!==e.compressedMethod)throw new Error(`Unsupported ZIP compression method: ${e.compressedMethod}`);we(`Decompress filename=${e.filename}
2, compressed-size=${t.length}`);return i(await Ce.decompressDeflateRaw(t))}static async decompressDeflateRaw(e){const t=new ReadableStream({start(t){t.enqueue(e),t.close()}}),i=new DecompressionStream("deflate-raw"),r=t.pipeThrough(i);try{const e=new Response(r),t=await e.arrayBuffer();return new Uint8Array(t)}catch(n){const e=n instanceof Error?`Failed to deflate ZIP entry: ${n.message}`:"Unknown decompression error in ZIP entry";throw new TypeError(e)}}async readLocalFileHeader(){const e=await this.tokenizer.peekToken(B);if(e===me){const e=await this.tokenizer.readToken(ge);return e.filename=await this.tokenizer.readToken(new ne(e.filenameLength,"utf-8")),e}if(e===de)return!1;if(3759263696===e)throw new Error("Encrypted ZIP");throw new Error("Unexpected signature")}}function Ie(e,t){const i=e.length,r=t.length;if(r>i)return-1;for(let n=0;n<=i-r;n++){let i=!0;for(let a=0;a<r;a++)if(e[n+a]!==t[a]){i=!1;break}if(i)return n}return-1}function Ae(e){const t=e.reduce(((e,t)=>e+t.length),0),i=new Uint8Array(t);let r=0;for(const n of e)i.set(n,r),r+=n.length;return i}class Se{constructor(e){this.tokenizer=e}inflate(){const e=this.tokenizer;return new ReadableStream({async pull(t){const i=new Uint8Array(1024),r=await e.readBuffer(i,{mayBeLess:!0});0!==r?t.enqueue(i.subarray(0,r)):t.close()}}).pipeThrough(new DecompressionStream("gzip"))}}const _e=Object.prototype.toString,Ee="[object Uint8Array]";function ze(e){return function(e,t,i){return!!e&&(e.constructor===t||_e.call(e)===i)}(e,Uint8Array,Ee)}new globalThis.TextDecoder("utf8"),new globalThis.TextEncoder;const Re=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function Me(e){!function(e){if(!ze(e))throw new TypeError(`Expected \`Uint8Array\`, got \`${typeof e}\``)}(e);let t="";for(let i=0;i<e.length;i++)t+=Re[e[i]];return t}function Fe(e){const{byteLength:t}=e;return 6===t?e.getUint16(0)*2**32+e.getUint32(2):5===t?e.getUint8(0)*2**32+e.getUint32(1):4===t?e.getUint32(0):3===t?65536*e.getUint8(0)+e.getUint16(1):2===t?e.getUint16(0):1===t?e.getUint8(0):void 0}const Pe={get:(e,t)=>127&e[t+3]|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4},De=4100,Be=1048576,Le=2**31-1,Oe=16777216,Ne=Be,Ue=Oe,Xe=Oe,Ge=Be,je=Oe,We=Be,$e=Be,qe=Be,Ze=Oe,He=new Set(["Unexpected signature","Encrypted ZIP","Expected Central-File-Header signature"]),Ve=["ZIP entry count exceeds ","Unsupported ZIP compression method:","ZIP entry compressed data exceeds ","ZIP entry decompressed data exceeds ","Expected data-descriptor-signature at position "],Ye=new Set(["Z_BUF_ERROR","Z_DATA_ERROR","ERR_INVALID_STATE"]);class Ke extends Error{}function Je(e,t,i){if(!Number.isFinite(e)||e<0||e>t)throw new Ke(`${i} has invalid size ${e} (maximum ${t} bytes)`);return e}async function Qe(e,t,{maximumLength:i=Oe,reason:r="skip"}={}){const n=Je(t,i,r);await e.ignore(n)}async function et(e,t,i,{maximumLength:r=t.length,reason:n="read"}={}){const a=Je((null==i?void 0:i.length)??t.length,r,n);return e.readBuffer(t,{...i,length:a})}const tt=134695760,it=16,rt=it-1;function nt(e,t){if(e.length<it)return-1;const i=e.length-it;for(let r=0;r<=i;r++)if(B.get(e,r)===tt&&B.get(e,r+8)===t+r)return r;return-1}async function at(e,{shouldBuffer:t,maximumLength:i=Be}={}){const{syncBuffer:r}=e,{length:n}=r,a=[];let s=0;for(;;){const o=await e.tokenizer.peekBuffer(r,{mayBeLess:!0}),c=nt(r.subarray(0,o),s),l=c>=0?0:o===n?Math.min(rt,o-1):0,u=c>=0?c:o-l;if(0===u)break;if(s+=u,s>i)throw new Error(`ZIP entry compressed data exceeds ${i} bytes`);if(t){const t=new Uint8Array(u);await e.tokenizer.readBuffer(t),a.push(t)}else await e.tokenizer.ignore(u);if(c>=0)break}if(ut(e.tokenizer)||(e.knownSizeDescriptorScannedBytes+=s),t)return function(e,t){const i=new Uint8Array(t);let r=0;for(const n of e)i.set(n,r),r+=n.length;return i}(a,s)}async function st(e,t,{shouldBuffer:i,maximumDescriptorLength:r=Be}={}){if(t.dataDescriptor&&0===t.compressedSize)return at(e,{shouldBuffer:i,maximumLength:r});if(!i)return void(await Qe(e.tokenizer,t.compressedSize,{maximumLength:ut(e.tokenizer)?Be:e.tokenizer.fileInfo.size,reason:"ZIP entry compressed data"}));const n=function(e){const t=e.fileInfo.size,i=Number.isFinite(t)?Math.max(0,t-e.position):Number.MAX_SAFE_INTEGER;return Math.min(i,Le)}(e.tokenizer);if(!Number.isFinite(t.compressedSize)||t.compressedSize<0||t.compressedSize>n)throw new Error(`ZIP entry compressed data exceeds ${n} bytes`);const a=new Uint8Array(t.compressedSize);return await e.tokenizer.readBuffer(a),a}async function ot(e,t){return new ft(t).fromBuffer(e)}function ct(e){switch(e=e.toLowerCase()){case"application/epub+zip":return{ext:"epub",mime:e};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:e};case"application/vnd.oasis.opendocument.text-template":return{ext:"ott",mime:e};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:e};case"application/vnd.oasis.opendocument.spreadsheet-template":return{ext:"ots",mime:e};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:e};case"application/vnd.oasis.opendocument.presentation-template":return{ext:"otp",mime:e};case"application/vnd.oasis.opendocument.graphics":return{ext:"odg",mime:e};case"application/vnd.oasis.opendocument.graphics-template":return{ext:"otg",mime:e};case"application/vnd.openxmlformats-officedocument.presentationml.slideshow":return{ext:"ppsx",mime:e};case"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":return{ext:"xlsx",mime:e};case"application/vnd.ms-excel.sheet.macroenabled":return{ext:"xlsm",mime:"application/vnd.ms-excel.sheet.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.spreadsheetml.template":return{ext:"xltx",mime:e};case"application/vnd.ms-excel.template.macroenabled":return{ext:"xltm",mime:"application/vnd.ms-excel.template.macroenabled.12"};case"application/vnd.ms-powerpoint.slideshow.macroenabled":return{ext:"ppsm",mime:"application/vnd.ms-powerpoint.slideshow.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.document":return{ext:"docx",mime:e};case"application/vnd.ms-word.document.macroenabled":return{ext:"docm",mime:"application/vnd.ms-word.document.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.template":return{ext:"dotx",mime:e};case"application/vnd.ms-word.template.macroenabledtemplate":return{ext:"dotm",mime:"application/vnd.ms-word.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.template":return{ext:"potx",mime:e};case"application/vnd.ms-powerpoint.template.macroenabled":return{ext:"potm",mime:"application/vnd.ms-powerpoint.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.presentation":return{ext:"pptx",mime:e};case"application/vnd.ms-powerpoint.presentation.macroenabled":return{ext:"pptm",mime:"application/vnd.ms-powerpoint.presentation.macroenabled.12"};case"application/vnd.ms-visio.drawing":return{ext:"vsdx",mime:"application/vnd.visio"};case"application/vnd.ms-package.3dmanufacturing-3dmodel+xml":return{ext:"3mf",mime:"model/3mf"}}}function lt(e,t,i){i={offset:0,...i};for(const[r,n]of t.entries())if(i.mask){if(n!==(i.mask[r]&e[r+i.offset]))return!1}else if(n!==e[r+i.offset])return!1;return!0}function ut(e){const t=e.fileInfo.size;return!Number.isFinite(t)||t===Number.MAX_SAFE_INTEGER}function mt(e,t,i){return ut(e)&&e.position-t>i}function pt(e,t=Be){const i=[e.compressedSize,e.uncompressedSize];for(const r of i)if(!Number.isFinite(r)||r<0||r>t)return!1;return!0}function dt(e){if(e.hasContentTypesEntry&&!e.hasUnparseableContentTypes&&!e.isParsingContentTypes&&!e.hasParsedContentTypesEntry)return e.hasWordDirectory?{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}:e.hasPresentationDirectory?{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"}:e.hasSpreadsheetDirectory?{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}:e.hasThreeDimensionalModelEntry?{ext:"3mf",mime:"model/3mf"}:void 0}Ce.prototype.inflate=async function(e,t,i){if(0===e.compressedMethod)return i(t);if(8!==e.compressedMethod)throw new Error(`Unsupported ZIP compression method: ${e.compressedMethod}`);return i(await async function(e,{maximumLength:t=Be}={}){const i=new ReadableStream({start(t){t.enqueue(e),t.close()}}).pipeThrough(new DecompressionStream("deflate-raw")).getReader(),r
2=[];let n=0;try{for(;;){const{done:e,value:a}=await i.read();if(e)break;if(n+=a.length,n>t)throw await i.cancel(),new Error(`ZIP entry decompressed data exceeds ${t} bytes`);r.push(a)}}finally{i.releaseLock()}const a=new Uint8Array(n);let s=0;for(const o of r)a.set(o,s),s+=o.length;return a}(t,{maximumLength:Be}))},Ce.prototype.unzip=async function(e){let t=!1,i=0;const r=this.tokenizer.position;this.knownSizeDescriptorScannedBytes=0;do{if(mt(this.tokenizer,r,Oe))throw new Ke(`ZIP stream probing exceeds ${Oe} bytes`);const s=await this.readLocalFileHeader();if(!s)break;if(i++,i>1024)throw new Error("ZIP entry count exceeds 1024");const o=e(s);t=Boolean(o.stop),await this.tokenizer.ignore(s.extraFieldLength);const c=await st(this,s,{shouldBuffer:Boolean(o.handler),maximumDescriptorLength:Math.min(Be,(n=this,a=r,ut(n.tokenizer)?Math.max(0,Oe-(n.tokenizer.position-a)):Math.max(0,Be-n.knownSizeDescriptorScannedBytes)))});if(o.handler&&await this.inflate(s,c,o.handler),s.dataDescriptor){const e=new Uint8Array(it);if(await this.tokenizer.readBuffer(e),B.get(e,0)!==tt)throw new Error("Expected data-descriptor-signature at position "+(this.tokenizer.position-e.length))}if(mt(this.tokenizer,r,Oe))throw new Ke(`ZIP stream probing exceeds ${Oe} bytes`)}while(!t);var n,a};class ft{constructor(e){t(this,"detectConfident",(async e=>{if(this.buffer=new Uint8Array(De),void 0===e.fileInfo.size&&(e.fileInfo.size=Number.MAX_SAFE_INTEGER),this.tokenizer=e,ut(e)&&(await e.peekBuffer(this.buffer,{length:3,mayBeLess:!0}),this.check([31,139,8])))return this.detectGzip(e);if(await e.peekBuffer(this.buffer,{length:32,mayBeLess:!0}),this.check([66,77]))return{ext:"bmp",mime:"image/bmp"};if(this.check([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(this.check([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(this.check([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(this.check([37,33]))return await e.peekBuffer(this.buffer,{length:24,mayBeLess:!0}),this.checkString("PS-Adobe-",{offset:2})&&this.checkString(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(this.check([31,160])||this.check([31,157]))return{ext:"Z",mime:"application/x-compress"};if(this.check([199,113]))return{ext:"cpio",mime:"application/x-cpio"};if(this.check([96,234]))return{ext:"arj",mime:"application/x-arj"};if(this.check([239,187,191])){if(this.detectionReentryCount>=256)return;return this.detectionReentryCount++,await this.tokenizer.ignore(3),this.detectConfident(e)}if(this.check([71,73,70]))return{ext:"gif",mime:"image/gif"};if(this.check([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(this.check([31,139,8]))return this.detectGzip(e);if(this.check([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(this.checkString("ID3")){await Qe(e,6,{maximumLength:6,reason:"ID3 header prefix"});const i=await e.readToken(Pe),r=ut(e);if(!Number.isFinite(i)||i<0||r&&(i>Xe||e.position+i>Xe))return;if(e.position+i>e.fileInfo.size){if(r)return;return{ext:"mp3",mime:"audio/mpeg"}}try{await Qe(e,i,{maximumLength:r?Xe:e.fileInfo.size,reason:"ID3 payload"})}catch(t){if(t instanceof n)return;throw t}if(this.detectionReentryCount>=256)return;return this.detectionReentryCount++,this.parseTokenizer(e,this.detectionReentryCount)}if(this.checkString("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((67===this.buffer[0]||70===this.buffer[0])&&this.check([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(this.check([255,216,255]))return this.check([247],{offset:3})?{ext:"jls",mime:"image/jls"}:{ext:"jpg",mime:"image/jpeg"};if(this.check([79,98,106,1]))return{ext:"avro",mime:"application/avro"};if(this.checkString("FLIF"))return{ext:"flif",mime:"image/flif"};if(this.checkString("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(this.checkString("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(this.checkString("FORM"))return{ext:"aif",mime:"audio/aiff"};if(this.checkString("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(this.check([80,75,3,4])){let a;const s={hasContentTypesEntry:!1,hasParsedContentTypesEntry:!1,isParsingContentTypes:!1,hasUnparseableContentTypes:!1,hasWordDirectory:!1,hasPresentationDirectory:!1,hasS
2preadsheetDirectory:!1,hasThreeDimensionalModelEntry:!1};try{await new Ce(e).unzip((e=>{!function(e,t){t.startsWith("word/")&&(e.hasWordDirectory=!0),t.startsWith("ppt/")&&(e.hasPresentationDirectory=!0),t.startsWith("xl/")&&(e.hasSpreadsheetDirectory=!0),t.startsWith("3D/")&&t.endsWith(".model")&&(e.hasThreeDimensionalModelEntry=!0)}(s,e.filename);const t="[Content_Types].xml"===e.filename,i=dt(s);if(!t&&i)return a=i,{stop:!0};switch(e.filename){case"META-INF/mozilla.rsa":return a={ext:"xpi",mime:"application/x-xpinstall"},{stop:!0};case"META-INF/MANIFEST.MF":return a={ext:"jar",mime:"application/java-archive"},{stop:!0};case"mimetype":return pt(e,Ne)?{async handler(e){const t=new TextDecoder("utf-8").decode(e).trim();a=ct(t)},stop:!0}:{};case"[Content_Types].xml":return s.hasContentTypesEntry=!0,pt(e,Ne)?(s.isParsingContentTypes=!0,{async handler(e){const t=function(e){const t=e.indexOf('.main+xml"');if(-1===t){const t="application/vnd.ms-package.3dmanufacturing-3dmodel+xml";return e.includes(`ContentType="${t}"`)?t:void 0}const i=e.slice(0,t),r=i.lastIndexOf('"');return i.slice(r+1)}(new TextDecoder("utf-8").decode(e));t&&(a=ct(t)),s.hasParsedContentTypesEntry=!0,s.isParsingContentTypes=!1},stop:!0}):(s.hasUnparseableContentTypes=!0,{});default:return/classes\d*\.dex/.test(e.filename)?(a={ext:"apk",mime:"application/vnd.android.package-archive"},{stop:!0}):{}}}))}catch(t){if(!function(e){if(e instanceof n)return!0;if(e instanceof Ke)return!0;if(!(e instanceof Error))return!1;if(He.has(e.message))return!0;if(Ye.has(e.code))return!0;for(const t of Ve)if(e.message.startsWith(t))return!0;return!1}(t))throw t;s.isParsingContentTypes&&(s.isParsingContentTypes=!1,s.hasUnparseableContentTypes=!0)}return a??dt(s)??{ext:"zip",mime:"application/zip"}}if(this.checkString("OggS")){await e.ignore(28);const o=new Uint8Array(8);return await e.readBuffer(o),lt(o,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/ogg; codecs=opus"}:lt(o,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:lt(o,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:lt(o,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:lt(o,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:lt(o,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(this.check([80,75])&&(3===this.buffer[2]||5===this.buffer[2]||7===this.buffer[2])&&(4===this.buffer[3]||6===this.buffer[3]||8===this.buffer[3]))return{ext:"zip",mime:"application/zip"};if(this.checkString("MThd"))return{ext:"mid",mime:"audio/midi"};if(this.checkString("wOFF")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(this.checkString("wOF2")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(this.check([212,195,178,161])||this.check([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(this.checkString("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(this.checkString("LZIP"))return{ext:"lz",mime:"application/x-lzip"};if(this.checkString("fLaC"))return{ext:"flac",mime:"audio/flac"};if(this.check([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(this.checkString("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(this.checkString("%PDF"))return{ext:"pdf",mime:"application/pdf"};if(this.check([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(this.check([73,73])){const c=await this.readTiffHeader(!1);if(c)return c}if(this.check([77,77])){const l=await this.readTiffHeader(!0);if(l)return l}if(this.checkString("MAC "))return{ext:"ape",mime:"audio/ape"};if(this.check([26,69,223,163])){async function u(){const t=await e.peekNumber(R);let i=128,r=0;for(;0==(t&i)&&0!==i;)++r,i>>=1;const n=new Uint8Array(r+1);return await et(e,n,void 0,{maximumLength:n.length,reason:"EBML field"}),n}async function m(){const e=await u(),t=await u();t[0]^=128>>t.length-1;const i=Math.min(6,t.length),r=new DataView(e.buffer),n=new DataView(t.buffer,t.length-i,i);return{id:Fe(r),len:Fe(n)}}async function p(t){let i=0;for(;t>0;){if(i++,i>256)return;if(mt(e,f,Oe))return;const r=e.position,n=await m();if(17026===n.id){if(n.len>64)return;const t=Je(n.len,64,"EBML DocType");return(await e.readToken(new ne(t))).replaceAll(/\00.*$/g,"")}if(ut(e)&&(!Number.isFinite(n.len)||n.len<0||n.len>Ge))return;if(await Qe(e,n.len,{maximumLength:ut(e)?Ge:e.fileInfo.size,reason:"EBML payload"}),--t,e.position<=r)return}}const d=await m(),f=e.position;switch(await p(d.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/matroska"};default:return}}if(this.checkString("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(this.check([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(this.checkString("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(this.checkString("MSCF")||this.checkString("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};
2if(this.check([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(this.check([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(this.check([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(this.check([127,69,76,70]))return{ext:"elf",mime:"application/x-elf"};if(this.check([33,66,68,78]))return{ext:"pst",mime:"application/vnd.ms-outlook"};if(this.checkString("PAR1")||this.checkString("PARE"))return{ext:"parquet",mime:"application/vnd.apache.parquet"};if(this.checkString("ttcf"))return{ext:"ttc",mime:"font/collection"};if(this.check([254,237,250,206])||this.check([254,237,250,207])||this.check([206,250,237,254])||this.check([207,250,237,254]))return{ext:"macho",mime:"application/x-mach-binary"};if(this.check([4,34,77,24]))return{ext:"lz4",mime:"application/x-lz4"};if(this.checkString("regf"))return{ext:"dat",mime:"application/x-ft-windows-registry-hive"};if(this.checkString("$FL2")||this.checkString("$FL3"))return{ext:"sav",mime:"application/x-spss-sav"};if(this.check([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(this.checkString("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(this.checkString("{\\rtf"))return{ext:"rtf",mime:"application/rtf"};if(this.check([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(this.checkString("IMPM"))return{ext:"it",mime:"audio/x-it"};if(this.checkString("-lh0-",{offset:2})||this.checkString("-lh1-",{offset:2})||this.checkString("-lh2-",{offset:2})||this.checkString("-lh3-",{offset:2})||this.checkString("-lh4-",{offset:2})||this.checkString("-lh5-",{offset:2})||this.checkString("-lh6-",{offset:2})||this.checkString("-lh7-",{offset:2})||this.checkString("-lzs-",{offset:2})||this.checkString("-lz4-",{offset:2})||this.checkString("-lz5-",{offset:2})||this.checkString("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(this.check([0,0,1,186])){if(this.check([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(this.check([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(this.checkString("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(this.check([202,254,186,190])){const h=L.get(this.buffer,4),g=F.get(this.buffer,6);if(h>0&&h<=30)return{ext:"macho",mime:"application/x-mach-binary"};if(g>30)return{ext:"class",mime:"application/java-vm"}}if(this.checkString(".RMF"))return{ext:"rm",mime:"application/vnd.rn-realmedia"};if(this.checkString("DRACO"))return{ext:"drc",mime:"application/vnd.google.draco"};if(this.check([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(this.checkString("<?xml "))return{ext:"xml",mime:"application/xml"};if(this.check([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(this.check([82,97,114,33,26,7])&&(0===this.buffer[6]||1===this.buffer[6]))return{ext:"rar",mime:"application/x-rar-compressed"};if(this.checkString("solid "))return{ext:"stl",mime:"model/stl"};if(this.checkString("AC")){const y=new ne(4,"latin1").get(this.buffer,2);if(y.match("^d*")&&y>=1e3&&y<=1050)return{ext:"dwg",mime:"image/vnd.dwg"}}if(this.checkString("070707"))return{ext:"cpio",mime:"application/x-cpio"};if(this.checkString("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(this.checkString("!<arch>")){await e.ignore(8);return"debian-binary"===await e.readToken(new ne(13,"ascii"))?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"}}if(this.checkString("WEBVTT")&&["\n","\r","\t"," ","\0"].some((e=>this.checkString(e,{offset:6}))))return{ext:"vtt",mime:"text/vtt"};if(this.check([137,80,78,71,13,10,26,10])){const b={ext:"png",mime:"image/png"},k={ext:"apng",mime:"image/apng"};async function w(){return{length:await e.readToken(j),type:await e.readToken(new ne(4,"latin1"))}}await e.ignore(8);const T=ut(e),x=e.position;let v=0,C=!1;do{if(v++,v>512)break;if(mt(e,x,je))break;const I=e.position,A=await w();if(A.length<0)return;if("IHDR"===A.type){if(13!==A.length)return;C=!0}switch(A.type){case"IDAT":return b;case"acTL":return k;default:if(!C&&"CgBI"!==A.type)return;if(T&&A.length>We)return C&&0!=(32&A.type.codePointAt(0))?b:void 0;try{await Qe(e,A.length+4,{maximumLength:T?We+4:e.fileInfo.size,reason:"PNG chunk payload"})}catch(t){if(!T&&(t instanceof Ke||t instanceof n))return b;throw t}}if(e.position<=I)break}while(e.position+8<e.fileInfo.size);return b}if(this.check([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/vnd.apache.arrow.file"};if(this.check([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(this.check([102,114,101,101],{offset:4})||this.check([109,100,97,116],{offset:4})||this.check([109,111,111,118],{offset:4})||this.check([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(this.check([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(this.checkString("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(this.checkString("ftyp",{offset:4})&&0!=(96&this.buffer[8])){const S=new ne(4,"latin1").get(this.buffer,8).replace("\0"," ").trim();switch(S){case"avif":case"avis":return{ext:"avif",mime:"image/avif"};case"mif1":return{ext:"heic",mime:"image/heif"};case"msf1":return{ext:"heic",mime:"image/heif-sequence"};case"heic":case"heix":return{ext:"heic",mime:"image/heic"};case"hevc":case"hevx":return{ext:"heic",mime:"image/heic-sequence"};case"qt":return{ext:"mov",mime:"video/quicktime"};case"M4V":case"M4VH":case"M4VP":return{ext:"m4v",mime:"video/x-m4v"};case"M4P":return{ext:"m4p",mime:"video/mp4"};case"M4B":return{ext:"m4b",mime:"audio/mp4"};case"M4A":return{ext:"m4a",mime:"audio/x-m4a"};case"F4V":return{ext:"f4v",mime:"video/mp4"};case"F4P":return{ext:"f4p",mime:"video/mp4"};case"F4A":return{ext:"f4a",mime:"audio/mp4"};case"F4B":return{ext:"f4b",mime:"audio/mp4"};case"crx":return{ext:"cr3",mime:"image/x-canon-cr3"};default:return S.startsWith("3g")?S.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}if(this.checkString("REGEDIT4\r\n"))return{ext:"reg",mime:"application/x-ms-regedit"};if(this.check([82,73,70,70])){if(this.checkString("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(this.check([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(this.check([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/wav"};if(this.check([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(this.check([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-p
2anasonic-rw2"};if(this.check([48,38,178,117,142,102,207,17,166,217])){let _=!1;try{async function E(){const t=new Uint8Array(16);return await et(e,t,void 0,{maximumLength:t.length,reason:"ASF header GUID"}),{id:t,size:Number(await e.readToken($))}}await Qe(e,30,{maximumLength:30,reason:"ASF header prelude"});const z=ut(e),M=e.position;let P=0;for(;e.position+24<e.fileInfo.size&&(P++,!(P>512))&&!mt(e,M,Oe);){const D=e.position,B=await E();let O=B.size-24;if(!Number.isFinite(O)||O<0){_=!0;break}if(lt(B.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){const N=new Uint8Array(16);if(O-=await et(e,N,void 0,{maximumLength:N.length,reason:"ASF stream type GUID"}),lt(N,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"audio/x-ms-asf"};if(lt(N,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"video/x-ms-asf"};break}if(z&&O>$e){_=!0;break}if(await Qe(e,O,{maximumLength:z?$e:e.fileInfo.size,reason:"ASF header payload"}),e.position<=D){_=!0;break}}}catch(t){if(!(t instanceof n||t instanceof Ke))throw t;ut(e)&&(_=!0)}if(_)return;return{ext:"asf",mime:"application/vnd.ms-asf"}}if(this.check([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((this.check([126,16,4])||this.check([126,24,4]))&&this.check([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(this.check([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(this.check([255,79,255,81]))return{ext:"j2c",mime:"image/j2c"};if(this.check([0,0,0,12,106,80,32,32,13,10,135,10])){await e.ignore(20);switch(await e.readToken(new ne(4,"ascii"))){case"jp2 ":return{ext:"jp2",mime:"image/jp2"};case"jpx ":return{ext:"jpx",mime:"image/jpx"};case"jpm ":return{ext:"jpm",mime:"image/jpm"};case"mjp2":return{ext:"mj2",mime:"image/mj2"};default:return}}if(this.check([255,10])||this.check([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(this.check([254,255]))return this.checkString("<?xml ",{offset:2,encoding:"utf-16be"})?{ext:"xml",mime:"application/xml"}:void 0;if(this.check([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await e.peekBuffer(this.buffer,{length:Math.min(256,e.fileInfo.size),mayBeLess:!0}),this.check([97,99,115,112],{offset:36}))return{ext:"icc",mime:"application/vnd.iccprofile"};if(this.checkString("**ACE",{offset:7})&&this.checkString("**",{offset:12}))return{ext:"ace",mime:"application/x-ace-compressed"};if(this.checkString("BEGIN:")){if(this.checkString("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(this.checkString("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(this.checkString("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(this.checkString("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(this.checkString("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(this.check([4,0,0,0])&&this.buffer.length>=16){const U=new DataView(this.buffer.buffer).getUint32(12,!0);if(U>12&&this.buffer.length>=U+16)try{const X=(new TextDecoder).decode(this.buffer.subarray(16,U+16));if(JSON.parse(X).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}if(this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(this.checkString("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(this.check([71])&&this.check([71],{offset:188}))return{ext:"mts",mime:"video/mp2t"};if(this.check([71],{offset:4})&&this.check([71],{offset:196}))return{ext:"mts",mime:"video/mp2t"};if(this.check([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(this.check([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(this.check([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return{ext:"lnk",mime:"application/x.ms.shortcut"};if(this.check([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return{ext:"alias",mime:"application/x.apple.alias"};if(this.checkString("Kaydara FBX Binary \0"))return{ext:"fbx",mime:"application/x.autodesk.fbx"};if(this.check([76,80],{offset:34})&&(this.check([0,0,1],{offset:8})||this.check([1,0,2],{offset:8})||this.check([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(this.check([255,255,0,0,7,0,0,0,4,0,0,0,1,0,1,0])||this.check([0,0,255,255,0,0,0,7,0,0,0,4,0,1,0,1]))return{ext:"jmp",mime:"application/x-jmp-data"};if(await e.peekBuffer(this.buffer,{length:Math.min(512,e.fileInfo.size),mayBeLess:!0}),this.checkString("ustar",{offset:257})&&(this.checkString("\0",{offset:262})||this.checkString(" ",{offset:262}))||this.check([0,0,0,0,0,0],{offset:257})&&function(e,t=0){const i=Number.parseInt(new ne(6).get(e,148).replace(/\0.*$/,"").trim(),8);if(Number.isNaN(i))return!1;let r=256;for(let n=t;n<t+148;n++)r+=e[n];
2for(let n=t+156;n<t+512;n++)r+=e[n];return i===r}(this.buffer))return{ext:"tar",mime:"application/x-tar"};if(this.check([255,254])){const G="utf-16le";return this.checkString("<?xml ",{offset:2,encoding:G})?{ext:"xml",mime:"application/xml"}:this.check([255,14],{offset:2})&&this.checkString("SketchUp Model",{offset:4,encoding:G})?{ext:"skp",mime:"application/vnd.sketchup.skp"}:this.checkString("Windows Registry Editor Version 5.00\r\n",{offset:2,encoding:G})?{ext:"reg",mime:"application/x-ms-regedit"}:void 0}return this.checkString("-----BEGIN PGP MESSAGE-----")?{ext:"pgp",mime:"application/pgp-encrypted"}:void 0})),t(this,"detectImprecise",(async e=>{this.buffer=new Uint8Array(De);const t=function(e){return Number.isFinite(e)?Math.max(0,e):Number.MAX_SAFE_INTEGER}(e.fileInfo.size);if(await e.peekBuffer(this.buffer,{length:Math.min(8,t),mayBeLess:!0}),this.check([0,0,1,186])||this.check([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(this.check([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(this.check([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(this.check([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(await e.peekBuffer(this.buffer,{length:Math.min(2+this.options.mpegOffsetTolerance,t),mayBeLess:!0}),this.buffer.length>=2+this.options.mpegOffsetTolerance)for(let i=0;i<=this.options.mpegOffsetTolerance;++i){const e=this.scanMpeg(i);if(e)return e}}));const i=(r=null==e?void 0:e.mpegOffsetTolerance,Number.isFinite(r)?Math.max(0,Math.min(4098,Math.trunc(r))):0);var r;this.options={...e,mpegOffsetTolerance:i},this.detectors=[...this.options.customDetectors??[],{id:"core",detect:this.detectConfident},{id:"core.imprecise",detect:this.detectImprecise}],this.tokenizerOptions={abortSignal:this.options.signal},this.gzipProbeDepth=0}getTokenizerOptions(){return{...this.tokenizerOptions}}createTokenizerFromWebStream(e){return function(e){var t;const i=null==e?void 0:e.streamReader;if("WebStreamByobReader"!==(null==(t=null==i?void 0:i.constructor)?void 0:t.name))return e;const{reader:r}=i,n=async()=>{await r.cancel(),r.releaseLock()};return i.close=n,i.abort=async()=>{i.interrupted=!0,await n()},e}(f(e,this.getTokenizerOptions()))}async parseTokenizer(e,t=0){this.detectionReentryCount=t;const i=e.position;for(const a of this.detectors){let t;try{t=await a.detect(e)}catch(r){if(r instanceof n)return;if(r instanceof Ke)return;throw r}if(t)return t;if(i!==e.position)return}}async fromTokenizer(e){try{return await this.parseTokenizer(e)}finally{await e.close()}}async fromBuffer(e){if(!(e instanceof Uint8Array||e instanceof ArrayBuffer))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof e}\``);const t=e instanceof Uint8Array?e:new Uint8Array(e);if((null==t?void 0:t.length)>1)return this.fromTokenizer(h(t,this.getTokenizerOptions()))}async fromBlob(e){var t;null==(t=this.options.signal)||t.throwIfAborted();const i=g(e,this.getTokenizerOptions());return this.fromTokenizer(i)}async fromStream(e){var t;null==(t=this.options.signal)||t.throwIfAborted();const i=this.createTokenizerFromWebStream(e);return this.fromTokenizer(i)}async toDetectionStream(e,t){const i=function(e){return Number.isFinite(e)?Math.max(1,Math.trunc(e)):De}((null==t?void 0:t.sampleSize)??De);let r,a;const s=e.getReader({mode:"byob"});try{const{value:e,done:t}=await function(e,t,i){return void 0===i?e.read(t):(i.throwIfAborted(),new Promise(((r,n)=>{const a=()=>{i.removeEventListener("abort",s)},s=()=>{const t=i.reason;a(),(async()=>{try{await e.cancel(t)}catch{}})(),n(t)};i.addEventListener("abort",s,{once:!0}),(async()=>{try{const i=await e.read(t);a(),r(i)}catch(i){a(),n(i)}})()})))}(s,new Uint8Array(i),this.options.signal);
2if(a=e,!t&&e)try{r=await this.fromBuffer(e.subarray(0,i))}catch(l){if(!(l instanceof n))throw l;r=void 0}a=e}finally{s.releaseLock()}const o=new TransformStream({async start(e){e.enqueue(a)},transform(e,t){t.enqueue(e)}}),c=e.pipeThrough(o);return c.fileType=r,c}async detectGzip(e){var t;if(this.gzipProbeDepth>=1)return{ext:"gz",mime:"application/gzip"};const i=function(e,t){const i=e.getReader();let r=0,n=!1,a=!1;const s=async e=>{n||a||(a=!0,await i.cancel(e))};return new ReadableStream({async pull(e){if(r>=t)return e.close(),void(await s());const{done:a,value:o}=await i.read();if(a||!o)return n=!0,void e.close();const c=t-r;if(o.length>c)return e.enqueue(o.subarray(0,c)),r+=c,e.close(),void(await s());e.enqueue(o),r+=o.length},async cancel(e){await s(e)}})}(new Se(e).inflate(),Ue),r=ut(e);let n,a,s,o;if(r){const e=new AbortController;n=setTimeout((()=>{e.abort(new DOMException("Operation timed out after 100 ms","TimeoutError"))}),100),a=void 0===this.options.signal?e.signal:AbortSignal.any([this.options.signal,e.signal]),s=new ft({...this.options,signal:a}),s.gzipProbeDepth=this.gzipProbeDepth+1}else this.gzipProbeDepth++;try{o=await(s??this).fromStream(i)}catch(c){if("AbortError"===(null==c?void 0:c.name)&&"TimeoutError"!==(null==(t=null==a?void 0:a.reason)?void 0:t.name))throw c}finally{clearTimeout(n),r||this.gzipProbeDepth--}return"tar"===(null==o?void 0:o.ext)?{ext:"tar.gz",mime:"application/gzip"}:{ext:"gz",mime:"application/gzip"}}check(e,t){return lt(this.buffer,e,t)}checkString(e,t){return this.check(function(e,t){if("utf-16le"===t){const t=[];for(let i=0;i<e.length;i++){const r=e.charCodeAt(i);t.push(255&r,r>>8&255)}return t}if("utf-16be"===t){const t=[];for(let i=0;i<e.length;i++){const r=e.charCodeAt(i);t.push(r>>8&255,255&r)}return t}return[...e].map((e=>e.charCodeAt(0)))}(e,null==t?void 0:t.encoding),t)}async readTiffTag(e){const t=await this.tokenizer.readToken(e?F:M);switch(await this.tokenizer.ignore(10),t){case 50341:return{ext:"arw",mime:"image/x-sony-arw"};case 50706:return{ext:"dng",mime:"image/x-adobe-dng"}}}async readTiffIFD(e){const t=await this.tokenizer.readToken(e?F:M);if(!(t>512||ut(this.tokenizer)&&2+12*t>Ze))for(let i=0;i<t;++i){const t=await this.readTiffTag(e);if(t)return t}}async readTiffHeader(e){const t={ext:"tif",mime:"image/tiff"},i=(e?F:M).get(this.buffer,2),r=(e?L:B).get(this.buffer,4);if(42===i){if(r>=6){if(this.checkString("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(r>=8){const t=(e?F:M).get(this.buffer,8),i=(e?F:M).get(this.buffer,10);if(28===t&&254===i||31===t&&11===i)return{ext:"nef",mime:"image/x-nikon-nef"}}}if(ut(this.tokenizer)&&r>qe)return t;const i=ut(this.tokenizer)?Ze:this.tokenizer.fileInfo.size;try{await Qe(this.tokenizer,r,{maximumLength:i,reason:"TIFF IFD offset"})}catch(a){if(a instanceof n)return;throw a}let s;try{s=await this.readTiffIFD(e)}catch(a){if(a instanceof n)return;throw a}return s??t}if(43===i)return t}scanMpeg(e){if(this.check([255,224],{offset:e,mask:[255,224]})){if(this.check([16],{offset:e+1,mask:[22]}))return this.check([8],{offset:e+1,mask:[8]}),{ext:"aac",mime:"audio/aac"};if(this.check([2],{offset:e+1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(this.check([4],{offset:e+1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(this.check([6],{offset:e+1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}}new Set(["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","elf","macho","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ttc","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","j2c","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf","jls","pst","dwg","parquet","class","arj","cpio","ace","avro","icc","fbx","vsdx","vtt","apk","drc","lz4","potx","xltx","dotx","xltm","ott","ots","otp","odg","otg","xlsm","docm","dotm","potm","pptm","jar","jmp","rm","sav","ppsm","ppsx","tar.gz","reg","dat"]),new Set(["image/jpeg","image/png","image/gif","
2image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.ms-powerpoint.slideshow.macroenabled.12","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/vnd.apache.arrow.file","video/mp4","audio/midi","video/matroska","video/webm","video/quicktime","video/vnd.avi","audio/wav","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","video/ogg","audio/ogg","audio/ogg; codecs=opus","application/ogg","audio/flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-elf","application/x-mach-binary","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","font/collection","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/j2c","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","text/vtt","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd","image/jls","application/vnd.ms-outlook","image/vnd.dwg","application/vnd.apache.parquet","application/java-vm","application/x-arj","application/x-cpio","application/x-ace-compressed","application/avro","application/vnd.iccprofile","application/x.autodesk.fbx","application/vnd.visio","application/vnd.android.package-archive","application/vnd.google.draco","application/x-lz4","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.ms-excel.template.macroenabled.12","application/vnd.oasis.opendocument.text-template","application/vnd.oasis.opendocument.spreadsheet-template","application/vnd.oasis.opendocument.presentation-template","application/vnd.oasis.opendocument.graphics","application/vnd.oasis.opendocument.graphics-template","application/vnd.ms-excel.sheet.macroenabled.12","application/vnd.ms-word.document.macroenabled.12","application/vnd.ms-word.template.macroenabled.12","application/vnd.ms-powerpoint.template.macroenabled.12","application/vnd.ms-powerpoint.presentation.macroenabled.12","application/java-archive","application/vnd.rn-realmedia","application/x-spss-sav","application/x-ms-regedit","application/x-ft-windows-registry-hive","application/x-jmp-data"]);var ht={}; 3/*! 4 * content-type 5 * Copyright(c) 2015 Douglas Christopher Wilson 6 * MIT Licensed
7 */Object.defineProperty(ht,"__esModule",{value:!0}),ht.format=function(e){const{type:t,parameters:i}=e;if(!t||!kt.test(t))throw new TypeError(`Invalid type: ${t}`);let r=t;if(i)for(const n of Object.keys(i)){if(!yt.test(n))throw new TypeError(`Invalid parameter name: ${n}`);r+=`; ${n}=${zt(i[n])}`}return r},ht.parse=function(e,t){const i=e.length;let r=_t(e,0,i);const n=r;r=St(e,r,i);const a=Et(e,n,r),s=e.slice(n,a).toLowerCase(),o=!1===(null==t?void 0:t.parameters)?new wt:function(e,t,i){const r=new wt;e:for(;t<i;){const n=t=_t(e,t+1,i);for(;t<i;){const a=e.charCodeAt(t);if(a===vt)continue e;if(a===Ct){const a=Et(e,n,t),s=e.slice(n,a).toLowerCase();if((t=_t(e,t+1,i))<i&&e.charCodeAt(t)===It){t++;let n="";for(;t<i;){const a=e.charCodeAt(t++);if(a===It){t=St(e,t,i),void 0===r[s]&&(r[s]=n);break}a===At&&t<i?n+=e[t++]:n+=String.fromCharCode(a)}continue e}const o=t;if(t=St(e,t,i),void 0===r[s]){const i=Et(e,o,t);r[s]=e.slice(o,i)}continue e}t++}}return r}(e,r,i);return{type:s,parameters:o}};const gt=/^[\u0009\u0020-\u007e\u0080-\u00ff]*$/,yt=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,bt=/[\\"]/g,kt=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,wt=(()=>{const e=function(){};return e.prototype=Object.create(null),e})();const Tt=32,xt=9,vt=59,Ct=61,It=34,At=92;function St(e,t,i){for(;t<i;){if(e.charCodeAt(t)===vt)break;t++}return t}function _t(e,t,i){for(;t<i;){const i=e.charCodeAt(t);if(i!==Tt&&i!==xt)break;t++}return t}function Et(e,t,i){for(;i>t;){const t=e.charCodeAt(i-1);if(t!==Tt&&t!==xt)break;i--}return i}function zt(e){if(yt.test(e))return e;if(gt.test(e))return`"${e.replace(bt,"\\$&")}"`;throw new TypeError(`Invalid parameter value: ${e}`)}const Rt=/^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}\/[A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}$/;var Mt={exports:{}};var Ft=function(e){function t(e){let r,n,a,s=null;function o(...e){if(!o.enabled)return;const i=o,n=Number(new Date),a=n-(r||n);i.diff=a,i.prev=r,i.curr=n,r=n,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,n)=>{if("%%"===r)return"%";s++;const a=t.formatters[n];if("function"==typeof a){const t=e[s];r=a.call(i,t),e.splice(s,1),s--}return r})),t.formatArgs.call(i,e);(i.log||t.log).apply(i,e)}return o.namespace=e,o.useColors=t.useColors(),o.color=t.selectColor(e),o.extend=i,o.destroy=t.destroy,Object.defineProperty(o,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(n!==t.namespaces&&(n=t.namespaces,a=t.enabled(e)),a),set:e=>{s=e}}),"function"==typeof t.init&&t.init(o),o}function i(e,i){const r=t(this.namespace+(void 0===i?":":i)+e);return r.log=this.log,r}function r(e,t){let i=0,r=0,n=-1,a=0;for(;i<e.length;)if(r<t.length&&(t[r]===e[i]||"*"===t[r]))"*"===t[r]?(n=r,a=i,r++):(i++,r++);else{if(-1===n)return!1;r=n+1,a++,i=a}for(;r<t.length&&"*"===t[r];)r++;return r===t.length}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names,...t.skips.map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){t.save(e),t.namespaces=e,t.names=[],t.skips=[];const i=("string"==typeof e?e:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const r of i)"-"===r[0]?t.skips.push(r.slice(1)):t.names.push(r)},t.enabled=function(e){for(const i of t.skips)if(r(e,i))return!1;for(const i of t.names)if(r(e,i))return!0;return!1},t.humanize=le(),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((i=>{t[i]=e[i]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let i=0;for(let t=0;t<e.length;t++)i=(i<<5)-i+e.charCodeAt(t),i|=0;return t.colors[Math.abs(i)%t.colors.length]},t.enable(t.load()),t};!function(e,t){t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const i="color: "+this.color;t.splice(1,0,i,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(r++,"%c"===e&&(n=r))})),t.splice(n,0,i)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(i){}},t.load=function(){let e;try{e=t.storage.getItem("debug")||t.storage.getItem("DEBUG")}catch(i){}!e&&"undefined"!=typeof process&&"env"in process&&(e={}.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;
7if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=Ft(t);const{formatters:i}=e.exports;i.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}}(Mt,Mt.exports);const Pt=i(Mt.exports),Dt={10:"shot",20:"scene",30:"track",40:"part",50:"album",60:"edition",70:"collection"},Bt={video:1,audio:2,complex:3,logo:4,subtitle:17,button:18,control:32},Lt={[Bt.video]:"video",[Bt.audio]:"audio",[Bt.complex]:"complex",[Bt.logo]:"logo",[Bt.subtitle]:"subtitle",[Bt.button]:"button",[Bt.control]:"control"},Ot=e=>class extends Error{constructor(t){super(t),this.name=e}};class Nt extends(Ot("CouldNotDetermineFileTypeError")){}class Ut extends(Ot("UnsupportedFileTypeError")){}class Xt extends(Ot("UnexpectedFileContentError")){constructor(e,t){super(t),this.fileType=e}toString(){return`${this.name} (FileType: ${this.fileType}): ${this.message}`}}class Gt extends(Ot("FieldDecodingError")){}class jt extends(Ot("InternalParserError")){}const Wt=e=>class extends Xt{constructor(t){super(e,t)}};function $t(e,t,i){return 0!=(e[t]&1<<i)}function qt(e,t){const i=e.length;if("utf-16le"===t){for(let t=0;t+1<i;t+=2)if(0===e[t]&&0===e[t+1])return t;return i}for(let r=0;r<i;r++)if(0===e[r])return r;return i}function Zt(e){const t=e.indexOf("\0");return-1===t?e:e.substring(0,t)}function Ht(e,t){if(255===e[0]&&254===e[1])return Ht(e.subarray(2),t);if("utf-16le"===t&&254===e[0]&&255===e[1]){if(0!=(1&e.length))throw new Gt("Expected even number of octets for 16-bit unicode string");return Ht(function(e){const t=e.length;if(0!=(1&t))throw new Gt("Buffer length must be even");for(let i=0;i<t;i+=2){const t=e[i];e[i]=e[i+1],e[i+1]=t}return e}(e),t)}return new ne(e.length,t).get(e,0)}function Vt(e){return e=(e=e.replace(/^\x00+/g,"")).replace(/\x00+$/g,"")}function Yt(e,t,i,r){const n=i%8;let a=e[t+~~(i/8)];a&=255>>n;const s=8-n,o=r-s;return o<0?a>>=8-n-r:o>0&&(a<<=o,a|=Yt(e,t,i+s,o)),a}function Kt(e,t,i){return 1===Yt(e,t,i,1)}function Jt(e){if(0===e.length)throw new Error("decodeUintBE: empty Uint8Array");return Fe(new DataView(e.buffer,e.byteOffset,e.byteLength))}const Qt={0:"Other",1:"32x32 pixels 'file icon' (PNG only)",2:"Other file icon",3:"Cover (front)",4:"Cover (back)",5:"Leaflet page",6:"Media (e.g. label side of CD)",7:"Lead artist/lead performer/soloist",8:"Artist/performer",9:"Conductor",10:"Band/Orchestra",11:"Composer",12:"Lyricist/text writer",13:"Recording Location",14:"During recording",15:"During performance",16:"Movie/video screen capture",17:"A bright coloured fish",18:"Illustration",19:"Band/artist logotype",20:"Publisher/Studio logotype"},ei={other:0,lyrics:1,text:2,movement_part:3,events:4,chord:5,trivia_pop:6},ti={notSynchronized:0,mpegFrameNumber:1,milliseconds:2},ii={get:(e,t)=>127&e[t+3]|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4},ri={len:10,get:(e,t)=>({fileIdentifier:new ne(3,"ascii").get(e,t),version:{major:O.get(e,t+3),revision:O.get(e,t+4)},flags:{unsynchronisation:$t(e,t+5,7),isExtendedHeader:$t(e,t+5,6),expIndicator:$t(e,t+5,5),footer:$t(e,t+5,4)},size:ii.get(e,t+6)})},ni={len:10,get:(e,t)=>({size:L.get(e,t),extendedFlags:F.get(e,t+4),sizeOfPadding:L.get(e,t+6),crcDataPresent:$t(e,t+4,31)})},ai={len:1,get:(e,t)=>{switch(e[t]){case 0:return{encoding:"latin1"};case 1:return{encoding:"utf-16le",bom:!0};case 2:return{encoding:"utf-16le",bom:!1};default:return{encoding:"utf8",bom:!1}}}},si={len:4,get:(e,t)=>({encoding:ai.get(e,t),language:new ne(3,"latin1").get(e,t+1)})},oi={len:6,get:(e,t)=>{const i=si.get(e,t);return{encoding:i.encoding,language:i.language,timeStampFormat:R.get(e,t+4),
7contentType:R.get(e,t+5)}}},ci={multiple:!1},li={year:ci,track:ci,disk:ci,title:ci,artist:ci,artists:{multiple:!0,unique:!0},albumartist:ci,albumartists:{multiple:!0,unique:!0},album:ci,date:ci,originaldate:ci,originalyear:ci,releasedate:ci,comment:{multiple:!0,unique:!1},genre:{multiple:!0,unique:!0},picture:{multiple:!0,unique:!0},composer:{multiple:!0,unique:!0},lyrics:{multiple:!0,unique:!1},albumsort:{multiple:!1,unique:!0},titlesort:{multiple:!1,unique:!0},work:{multiple:!1,unique:!0},artistsort:{multiple:!1,unique:!0},albumartistsort:{multiple:!1,unique:!0},composersort:{multiple:!1,unique:!0},lyricist:{multiple:!0,unique:!0},writer:{multiple:!0,unique:!0},conductor:{multiple:!0,unique:!0},remixer:{multiple:!0,unique:!0},arranger:{multiple:!0,unique:!0},engineer:{multiple:!0,unique:!0},producer:{multiple:!0,unique:!0},technician:{multiple:!0,unique:!0},djmixer:{multiple:!0,unique:!0},mixer:{multiple:!0,unique:!0},label:{multiple:!0,unique:!0},grouping:ci,subtitle:{multiple:!0},discsubtitle:ci,totaltracks:ci,totaldiscs:ci,compilation:ci,rating:{multiple:!0},bpm:ci,mood:ci,media:ci,catalognumber:{multiple:!0,unique:!0},tvShow:ci,tvShowSort:ci,tvSeason:ci,tvEpisode:ci,tvEpisodeId:ci,tvNetwork:ci,podcast:ci,podcasturl:ci,releasestatus:ci,releasetype:{multiple:!0},releasecountry:ci,script:ci,language:ci,copyright:ci,license:ci,encodedby:ci,encodersettings:ci,gapless:ci,barcode:ci,isrc:{multiple:!0},asin:ci,musicbrainz_recordingid:ci,musicbrainz_trackid:ci,musicbrainz_albumid:ci,musicbrainz_artistid:{multiple:!0},musicbrainz_albumartistid:{multiple:!0},musicbrainz_releasegroupid:ci,musicbrainz_workid:ci,musicbrainz_trmid:ci,musicbrainz_discid:ci,acoustid_id:ci,acoustid_fingerprint:ci,musicip_puid:ci,musicip_fingerprint:ci,website:ci,"performer:instrument":{multiple:!0,unique:!0},averageLevel:ci,peakLevel:ci,notes:{multiple:!0,unique:!1},key:ci,originalalbum:ci,originalartist:ci,discogs_artist_id:{multiple:!0,unique:!0},discogs_release_id:ci,discogs_label_id:ci,discogs_master_release_id:ci,discogs_votes:ci,discogs_rating:ci,replaygain_track_peak:ci,replaygain_track_gain:ci,replaygain_album_peak:ci,replaygain_album_gain:ci,replaygain_track_minmax:ci,replaygain_album_minmax:ci,replaygain_undo:ci,description:{multiple:!0},longDescription:ci,category:{multiple:!0},hdVideo:ci,keywords:{multiple:!0},movement:ci,movementIndex:ci,movementTotal:ci,podcastId:ci,showMovement:ci,stik:ci,playCounter:ci};class ui{static toIntOrNull(e){const t=Number.parseInt(e,10);return Number.isNaN(t)?null:t}static normalizeTrack(e){const t=e.toString().split("/");return{no:Number.parseInt(t[0],10)||null,of:Number.parseInt(t[1],10)||null}}constructor(e,t){this.tagTypes=e,this.tagMap=t}mapGenericTag(e,t){e={id:e.id,value:e.value},this.postMap(e,t);const i=this.getCommonName(e.id);return i?{id:i,value:e.value}:null}getCommonName(e){return this.tagMap[e]}postMap(e,t){}}ui.maxRatingScore=1;const mi={title:"title",artist:"artist",album:"album",year:"year",comment:"comment",track:"track",genre:"genre"};class pi extends ui{constructor(){super(["ID3v1"],mi)}}class di extends ui{constructor(e,t){const i={};for(const r of Object.keys(t))i[r.toUpperCase()]=t[r];super(e,i)}getCommonName(e){return this.tagMap[e.toUpperCase()]}}const fi={TIT2:"title",TPE1:"artist","TXXX:Artists":"artists",TPE2:"albumartist",TALB:"album",TDRV:"date",TORY:"originalyear",TPOS:"disk",TCON:"genre",APIC:"picture",TCOM:"composer",USLT:"lyrics",TSOA:"albumsort",TSOT:"titlesort",TOAL:"originalalbum",TSOP:"artistsort",TSO2:"albumartistsort",TSOC:"composersort",TEXT:"lyricist","TXXX:Writer":"writer",TPE3:"conductor",TPE4:"remixer","IPLS:arranger":"arranger","IPLS:engineer":"engineer","IPLS:producer":"producer","IPLS:DJ-mix":"djmixer","IPLS:mix":"mixer",TPUB:"label",TIT1:"grouping",TIT3:"subtitle",TRCK:"track",TCMP:"compilation",POPM:"rating",TBPM:"bpm",TMED:"media","TXXX:CATALOGNUMBER":"catalognumber","TXXX:MusicBrainz Album Status":"releasestatus","TXXX:MusicBrainz Album Type":"releasetype","TXXX:MusicBrainz Album Release Country":"releasecountry","TXXX:RELEASECOUNTRY":"releasecountry","TXXX:SCRIPT":"script",TLAN:"language",TCOP:"copyright",WCOP:"license",TENC:"encodedby",TSSE:"encodersettings","TXXX:BARCODE":"barcode","TXXX:ISRC":"isrc",TSRC:"isrc","TXXX:ASIN":"asin","TXXX:originalyear":"originalyear","UFID:http://musicbrainz.org":"musicbrainz_recordingid","TXXX:MusicBrainz Release Track Id":"musicbrainz_trackid","TXXX:MusicBrainz Album Id":"musicbrainz_albumid","TXXX:MusicBrainz Artist Id":"musicbrainz_artistid","TXXX:MusicBrainz Album Artist Id":"musicbrainz_albumartistid","TXXX:MusicBrainz Release Group Id":"musicbrainz_releasegroupid","TXXX:MusicBrainz Work Id":"musicbrainz_workid","TXXX:MusicBrainz TRM Id":"musicbrainz_trmid","TXXX:MusicBrainz Disc Id":"musicbrainz_discid","TXXX:ACOUSTID_ID":"acoustid_id","TXXX:Acoustid Id":"acoustid_id","TXXX:Acoustid Fingerprint":"acoustid_fingerprint","TXXX:MusicIP PUID":"musicip_puid","TXXX:MusicMagic Fingerprint":"musicip_fingerprint",WOAR:"website",TDRC:"date",TYER:"year",TDOR:"originaldate","TIPL:arranger":"arranger","TIPL:engineer":"engineer","TIPL:producer":"producer","TIPL:DJ-mix":"djmixer","TIPL:mix":"mixer",TMOO:"mood",SYLT:"lyrics",TSST:"discsubtitle",TKEY:"key",COMM:"comment",TOPE:"originalartist","PRIV:AverageLevel":"averageLevel","PRIV:PeakLevel":"peakLevel","TXXX:DISCOGS_ARTIST_ID":"discogs_artist_id","TXXX:DISCOGS_ARTISTS":"artists","TXXX:DISCOGS_ARTIST_NAME":"artists","TXXX:DISCOGS_ALBUM_ARTISTS":"albumartist","TXXX:DISCOGS_CATALOG":"catalognumber","TXXX:DISCOGS_COUNTRY":"releasecountry","TXXX:DISCOGS_DATE":"originaldate","TXXX:DISCOGS_LABEL":"label","TXXX:DISCOGS_LABEL_ID":"discogs_label_id","TXXX:DISCOGS_MASTER_RELEASE_ID":"discogs_master_release_id","TXXX:DISCOGS_RATING":"discogs_rating","TXXX:DISCOGS_RELEASED":"date","TXXX:DISCOGS_RELEASE_ID":"discogs_release_id","TXXX:DISCOGS_VOTES":"discogs_votes","TXXX:CATALOGID":"
7catalognumber","TXXX:STYLE":"genre","TXXX:REPLAYGAIN_TRACK_PEAK":"replaygain_track_peak","TXXX:REPLAYGAIN_TRACK_GAIN":"replaygain_track_gain","TXXX:REPLAYGAIN_ALBUM_PEAK":"replaygain_album_peak","TXXX:REPLAYGAIN_ALBUM_GAIN":"replaygain_album_gain","TXXX:MP3GAIN_MINMAX":"replaygain_track_minmax","TXXX:MP3GAIN_ALBUM_MINMAX":"replaygain_album_minmax","TXXX:MP3GAIN_UNDO":"replaygain_undo",MVNM:"movement",MVIN:"movementIndex",PCST:"podcast",TCAT:"category",TDES:"description",TDRL:"releasedate",TGID:"podcastId",TKWD:"keywords",WFED:"podcasturl",GRP1:"grouping",PCNT:"playCounter"};class hi extends di{static toRating(e){return{source:e.email,rating:e.rating>0?(e.rating-1)/254*ui.maxRatingScore:void 0}}constructor(){super(["ID3v2.3","ID3v2.4"],fi)}postMap(e,t){switch(e.id){case"UFID":{const t=e.value;"http://musicbrainz.org"===t.owner_identifier&&(e.id+=`:${t.owner_identifier}`,e.value=Ht(t.identifier,"latin1"))}break;case"PRIV":{const i=e.value;switch(i.owner_identifier){case"AverageLevel":case"PeakValue":e.id+=`:${i.owner_identifier}`,e.value=4===i.data.length?B.get(i.data,0):null,null===e.value&&t.addWarning("Failed to parse PRIV:PeakValue");break;default:t.addWarning(`Unknown PRIV owner-identifier: ${i.data}`)}}break;case"POPM":e.value=hi.toRating(e.value)}}}const gi={Title:"title",Author:"artist","WM/AlbumArtist":"albumartist","WM/AlbumTitle":"album","WM/Year":"date","WM/OriginalReleaseTime":"originaldate","WM/OriginalReleaseYear":"originalyear",Description:"comment","WM/TrackNumber":"track","WM/PartOfSet":"disk","WM/Genre":"genre","WM/Composer":"composer","WM/Lyrics":"lyrics","WM/AlbumSortOrder":"albumsort","WM/TitleSortOrder":"titlesort","WM/ArtistSortOrder":"artistsort","WM/AlbumArtistSortOrder":"albumartistsort","WM/ComposerSortOrder":"composersort","WM/Writer":"lyricist","WM/Conductor":"conductor","WM/ModifiedBy":"remixer","WM/Engineer":"engineer","WM/Producer":"producer","WM/DJMixer":"djmixer","WM/Mixer":"mixer","WM/Publisher":"label","WM/ContentGroupDescription":"grouping","WM/SubTitle":"subtitle","WM/SetSubTitle":"discsubtitle","WM/IsCompilation":"compilation","WM/SharedUserRating":"rating","WM/BeatsPerMinute":"bpm","WM/Mood":"mood","WM/
7Media":"media","WM/CatalogNo":"catalognumber","MusicBrainz/Album Status":"releasestatus","MusicBrainz/Album Type":"releasetype","MusicBrainz/Album Release Country":"releasecountry","WM/Script":"script","WM/Language":"language",Copyright:"copyright",LICENSE:"license","WM/EncodedBy":"encodedby","WM/EncodingSettings":"encodersettings","WM/Barcode":"barcode","WM/ISRC":"isrc","MusicBrainz/Track Id":"musicbrainz_recordingid","MusicBrainz/Release Track Id":"musicbrainz_trackid","MusicBrainz/Album Id":"musicbrainz_albumid","MusicBrainz/Artist Id":"musicbrainz_artistid","MusicBrainz/Album Artist Id":"musicbrainz_albumartistid","MusicBrainz/Release Group Id":"musicbrainz_releasegroupid","MusicBrainz/Work Id":"musicbrainz_workid","MusicBrainz/TRM Id":"musicbrainz_trmid","MusicBrainz/Disc Id":"musicbrainz_discid","Acoustid/Id":"acoustid_id","Acoustid/Fingerprint":"acoustid_fingerprint","MusicIP/PUID":"musicip_puid","WM/ARTISTS":"artists","WM/InitialKey":"key",ASIN:"asin","WM/Work":"work","WM/AuthorURL":"website","WM/Picture":"picture"};class yi extends ui{static toRating(e){return{rating:Number.parseFloat(e+1)/5}}constructor(){super(["asf"],gi)}postMap(e){switch(e.id){case"WM/SharedUserRating":{const t=e.id.split(":");e.value=yi.toRating(e.value),e.id=t[0];break}}}}const bi={TT2:"title",TP1:"artist",TP2:"albumartist",TAL:"album",TYE:"year",COM:"comment",TRK:"track",TPA:"disk",TCO:"genre",PIC:"picture",TCM:"composer",TOR:"originaldate",TOT:"originalalbum",TXT:"lyricist",TP3:"conductor",TPB:"label",TT1:"grouping",TT3:"subtitle",TLA:"language",TCR:"c
7opyright",WCP:"license",TEN:"encodedby",TSS:"encodersettings",WAR:"website",PCS:"podcast",TCP:"compilation",TDR:"date",TS2:"albumartistsort",TSA:"albumsort",TSC:"composersort",TSP:"artistsort",TST:"titlesort",WFD:"podcasturl",TBP:"bpm",GP1:"grouping"};class ki extends di{constructor(){super(["ID3v2.2"],bi)}}const wi={Title:"title",Artist:"artist",Artists:"artists","Album Artist":"albumartist",Album:"album",Year:"date",Originalyear:"originalyear",Originaldate:"originaldate",Releasedate:"releasedate",Comment:"comment",Track:"track",Disc:"disk",DISCNUMBER:"disk",Genre:"genre","Cover Art (Front)":"picture","Cover Art (Back)":"picture",Composer:"composer",Lyrics:"lyrics",ALBUMSORT:"albumsort",TITLESORT:"titlesort",WORK:"work",ARTISTSORT:"artistsort",ALBUMARTISTSORT:"albumartistsort",COMPOSERSORT:"composersort",Lyricist:"lyricist",Writer:"writer",Conductor:"conductor",MixArtist:"remixer",Arranger:"arranger",Engineer:"engineer",Producer:"producer",DJMixer:"djmixer",Mixer:"mixer",Label:"label",Grouping:"grouping",Subtitle:"subtitle",DiscSubtitle:"discsubtitle",Compilation:"compilation",BPM:"bpm",Mood:"mood",Media:"media",CatalogNumber:"catalognumber",MUSICBRAINZ_ALBUMSTATUS:"releasestatus",MUSICBRAINZ_ALBUMTYPE:"releasetype",RELEASECOUNTRY:"releasecountry",Script:"script",Language:"language",Copyright:"copyright",LICENSE:"license",EncodedBy:"encodedby",EncoderSettings:"encodersettings",Barcode:"barcode",ISRC:"isrc",ASIN:"asin",musicbrainz_trackid:"musicbrainz_recordingid",musicbrainz_releasetrackid:"musicbrainz_trackid",MUSICBRAINZ_ALBUMID:"musicbrainz_albumid",MUSICBRAINZ_ARTISTID:"musicbrainz_artistid",MUSICBRAINZ_ALBUMARTISTID:"musicbrainz_albumartistid",MUSICBRAINZ_RELEASEGROUPID:"musicbrainz_releasegroupid",MUSICBRAINZ_WORKID:"musicbrainz_workid",MUSICBRAINZ_TRMID:"musicbrainz_trmid",MUSICBRAINZ_DISCID:"musicbrainz_discid",Acoustid_Id:"acoustid_id",ACOUSTID_FINGERPRINT:"acoustid_fingerprint",MUSICIP_PUID:"musicip_puid",Weblink:"website",REPLAYGAIN_TRACK_GAIN:"replaygain_track_gain",REPLAYGAIN_TRACK_PEAK:"replaygain_track_peak",MP3GAIN_MINMAX:"replaygain_track_minmax",MP3GAIN_UNDO:"replaygain_undo"};class Ti extends di{constructor(){super(["APEv2"],wi)}}const xi={"©nam":"title","©ART":"artist",aART:"albumartist","----:com.apple.iTunes:Band":"albumartist","©alb":"album","©day":"date","©cmt":"comment","©com":"comment",trkn:"track",disk:"disk","©gen":"genre",covr:"picture","©wrt":"composer","©lyr":"lyrics",soal:"albumsort",sonm:"titlesort",soar:"artistsort",soaa:"albumartistsort",soco:"composersort","----:com.apple.iTunes:LYRICIST":"lyricist","----:com.apple.iTunes:CONDUCTOR":"conductor","----:com.apple.iTunes:REMIXER":"remixer","----:com.apple.iTunes:ENGINEER":"engineer","----:com.apple.iTunes:PRODUCER":"producer","----:com.apple.iTunes:DJMIXER":"djmixer","----:com.apple.iTunes:MIXER":"mixer","----:com.apple.iTunes:LABEL":"label","©grp":"grouping","----:com.apple.iTunes:SUBTITLE":"subtitle","----:com.apple.iTunes:DISCSUBTITLE":"discsubtitle",cpil:"compilation",tmpo:"bpm","----:com.apple.iTunes:MOOD":"mood","----:com.apple.iTunes:MEDIA":"media","----:com.apple.iTunes:CATALOGNUMBER":"catalognumber",tvsh:"tvShow",tvsn:"tvSeason",tves:"tvEpisode",sosn:"tvShowSort",tven:"tvEpisodeId",tvnn:"tvNetwork",pcst:"podcast",purl:"podcasturl","----:com.apple.iTunes:MusicBrainz Album Status":"releasestatus","----:com.apple.iTunes:MusicBrainz Album Type":"releasetype","----:com.apple.iTunes:MusicBrainz Album Release Country":"releasecountry","----:com.apple.iTunes:SCRIPT":"script","----:com.apple.iTunes:LANGUAGE":"language",cprt:"copyright","©cpy":"copyright","----:com.apple.iTunes:LICENSE":"license","©too":"encodedby",pgap:"gapless","----:com.apple.iTunes:BARCODE":"barcode","----:com.apple.iTunes:ISRC":"isrc","----:com.apple.iTunes:ASIN":"asin","----:com.apple.iTunes:NOTES":"comment","----:com.apple.iTunes:MusicBrainz Track Id":"musicbrainz_recordingid","----:com.apple.iTunes:MusicBrainz Release Track Id":"musicbrainz_trackid","----:com.apple.iTunes:MusicBrainz Album Id":"musicbrainz_albumid","----:com.apple.iTunes:MusicBrainz Artist Id":"musicbrainz_artistid","----:com.apple.iTunes:MusicBrainz Album Artist Id":"musicbrainz_albumartistid","----:com.apple.iTunes:MusicBrainz Release Group Id":"musicbrainz_releasegroupid","----:com.apple.iTunes:MusicBrainz Work Id":"musicbrainz_workid","----:com.apple.iTunes:MusicBrainz TRM Id":"musicbrainz_trmid","----:com.apple.iTunes:MusicBrainz Disc Id":"musicbrainz_discid","----:com.apple.iTunes:Acoustid Id":"acoustid_id","----:com.apple.iTunes:Acoustid Fingerprint":"acoustid_fingerprint","----:com.apple.iTunes:MusicIP PUID":"musicip_puid","----:com.apple.iTunes:fingerprint":"musicip_fingerprint","----:com.apple.iTunes:replaygain_track_gain":"replaygain_track_gain","----:com.apple.iTunes:replaygain_track_peak":"replaygain_track_peak","----:com.apple.iTunes:replaygain_album_gain":"replaygain_album_gain","----:com.apple.iTunes:replaygain_album_peak":"replaygain_album_peak","----:com.apple.iTunes:replaygain_track_minmax":"replaygain_track_minmax","----:com.apple.iTunes:replaygain_album_minmax":"replaygain_album_minmax","----:com.apple.iTunes:replaygain_undo":"replaygain_undo",gnre:"genre","----:com.apple.iTunes:ALBUMARTISTSORT":"albumartistsort","----:com.apple.iTunes:ARTISTS":"artists","----:com.apple.iTunes:ORIGINALDATE":"originaldate","----:com.apple.iTunes:ORIGINALYEAR":"originalyear","----:com.apple.iTunes:RELEASEDATE":"releasedate",desc:"description",ldes:"longDescription","©mvn":"movement","©mvi":"movementIndex","©mvc":"movementTotal","©wrk":"work",catg:"category",egid:"podcastId",hdvd:"hdVideo",keyw:"keywords",shwm:"showMovement",stik:"stik",rate:"rating"};class vi extends di{constructor(){super(["iTunes"],xi)}postMap(e,t){if("rate"===e.id)e.value={source:void 0,rating:Number.parseFloat(e.value)/100}}}const Ci={TITLE:"title",ARTIST:"artist",ARTISTS:"artists",ALBUMARTIST:"albumartist","ALBUM ARTIST":"albumartist",ALBUM:"album",DATE:"date",ORIGINALDATE:"originaldate",ORIGINALYEAR:"originalyear",RELEASEDATE:"releasedate",COMMENT:"comment",TRACKNUMBER:"track",DISCNUMBER:"disk",GENRE:"genre",METADATA_BLOCK_PICTURE:"picture",COMPOSER:"composer",LYRICS:"lyrics",ALBUMSORT:"albumsort",TITLESORT:"titlesort",WORK:"work",ARTISTSORT
7:"artistsort",ALBUMARTISTSORT:"albumartistsort",COMPOSERSORT:"composersort",LYRICIST:"lyricist",WRITER:"writer",CONDUCTOR:"conductor",REMIXER:"remixer",ARRANGER:"arranger",ENGINEER:"engineer",PRODUCER:"producer",DJMIXER:"djmixer",MIXER:"mixer",LABEL:"label",GROUPING:"grouping",SUBTITLE:"subtitle",DISCSUBTITLE:"discsubtitle",TRACKTOTAL:"totaltracks",DISCTOTAL:"totaldiscs",COMPILATION:"compilation",RATING:"rating",BPM:"bpm",KEY:"key",MOOD:"mood",MEDIA:"media",CATALOGNUMBER:"catalognumber",RELEASESTATUS:"releasestatus",RELEASETYPE:"releasetype",RELEASECOUNTRY:"releasecountry",SCRIPT:"script",LANGUAGE:"language",COPYRIGHT:"copyright",LICENSE:"license",ENCODEDBY:"encodedby",ENCODERSETTINGS:"encodersettings",BARCODE:"barcode",ISRC:"isrc",ASIN:"asin",MUSICBRAINZ_TRACKID:"musicbrainz_recordingid",MUSICBRAINZ_RELEASETRACKID:"musicbrainz_trackid",MUSICBRAINZ_ALBUMID:"musicbrainz_albumid",MUSICBRAINZ_ARTISTID:"musicbrainz_artistid",MUSICBRAINZ_ALBUMARTISTID:"musicbrainz_albumartistid",MUSICBRAINZ_RELEASEGROUPID:"musicbrainz_releasegroupid",MUSICBRAINZ_WORKID:"musicbrainz_workid",MUSICBRAINZ_TRMID:"musicbrainz_trmid",MUSICBRAINZ_DISCID:"musicbrainz_discid",ACOUSTID_ID:"acoustid_id",ACOUSTID_ID_FINGERPRINT:"acoustid_fingerprint",MUSICIP_PUID:"musicip_puid",WEBSITE:"website",NOTES:"notes",TOTALTRACKS:"totaltracks",TOTALDISCS:"totaldiscs",DISCOGS_ARTIST_ID:"discogs_artist_id",DISCOGS_ARTISTS:"artists",DISCOGS_ARTIST_NAME:"artists",DISCOGS_ALBUM_ARTISTS:"albumartist",DISCOGS_CATALOG:"catalognumber",DISCOGS_COUNTRY:"releasecountry",DISCOGS_DATE:"originaldate",DISCOGS_LABEL:"label",DISCOGS_LABEL_ID:"discogs_label_id",DISCOGS_MASTER_RELEASE_ID:"discogs_master_release_id",DISCOGS_RATING:"discogs_rating",DISCOGS_RELEASED:"date",DISCOGS_RELEASE_ID:"discogs_release_id",DISCOGS_VOTES:"discogs_votes",CATALOGID:"catalognumber",STYLE:"genre",REPLAYGAIN_TRACK_GAIN:"replaygain_track_gain",REPLAYGAIN_TRACK_PEAK:"replaygain_track_peak",REPLAYGAIN_ALBUM_GAIN:"replaygain_album_gain",REPLAYGAIN_ALBUM_PEAK:"replaygain_album_peak",REPLAYGAIN_MINMAX:"replaygain_track_minmax",REPLAYGAIN_ALBUM_MINMAX:"replaygain_album_minmax",REPLAYGAIN_UNDO:"replaygain_undo"};class Ii extends ui{static toRating(e,t,i){return{source:e?e.toLowerCase():void 0,rating:Number.parseFloat(t)/i*ui.maxRatingScore}}constructor(){super(["vorbis"],Ci)}postMap(e){if("RATING"===e.id)e.value=Ii.toRating(void 0,e.value,100);else if(0===e.id.indexOf("RATING:")){const t=e.id.split(":");e.value=Ii.toRating(t[1],e.value,1),e.id=t[0]}}}const Ai={IART:"artist",ICRD:"date",INAM:"title",TITL:"title",IPRD:"album",ITRK:"track",IPRT:"track",COMM:"comment",ICMT:"comment",ICNT:"releasecountry",GNRE:"genre",IWRI:"writer",RATE:"rating",YEAR:"year",ISFT:"encodedby",CODE:"encodedby",TURL:"website",IGNR:"genre",IENG:"engineer",ITCH:"technician",IMED:"media",IRPD:"album"};class Si extends ui{constructor(){super(["exif"],Ai)}}const _i={"segment:title":"title","album:ARTIST":"albumartist","album:ARTISTSORT":"albumartistsort","album:TITLE":"album","album:DATE_RECORDED":"originaldate","album:DATE_RELEASED":"releasedate","album:PART_NUMBER":"disk","album:TOTAL_PARTS":"totaltracks","track:ARTIST":"artist","track:ARTISTSORT":"artistsort","track:TITLE":"title","track:PART_NUMBER":"track","track:MUSICBRAINZ_TRACKID":"musicbrainz_recordingid","track:MUSICBRAINZ_ALBUMID":"musicbrainz_albumid","track:MUSICBRAINZ_ARTISTID":"musicbrainz_artistid","track:PUBLISHER":"label","track:GENRE":"genre","track:ENCODER":"encodedby","track:ENCODER_OPTIONS":"encodersettings","edition:TOTAL_PARTS":"totaldiscs",picture:"picture"};class Ei extends di{constructor(){super(["matroska"],_i)}}const zi={NAME:"title",AUTH:"artist","(c) ":"copyright",ANNO:"comment"};class Ri extends ui{constructor(){super(["AIFF"],zi)}}class Mi{constructor(){this.tagMappers={},[new pi,new ki,new hi,new vi,new vi,new Ii,new Ti,new yi,new Si,new Ei,new Ri].forEach((e=>{this.registerTagMapper(e)}))}mapTag(e,t,i){if(this.tagMappers[e])return this.tagMappers[e].mapGenericTag(t,i);throw new jt(`No generic tag mapper defined for tag-format: ${e}`)}registerTagMapper(e){for(const t of e.tagTypes)this.tagMappers[t]=e}}const Fi=/\[(\d{2}):(\d{2})\.(\d{2,3})]/;function Pi(e){return Fi.test(e)?function(e){const t=e.split("\n"),i=[];for(const r of t){const e=r.match(Fi);if(e){const t=1e3*(60*Number.parseInt(e[1],10)+Number.parseInt(e[2],10))+(3===e[3].length?Number.parseInt(e[3],10):10*Number.parseInt(e[3],10)),n=r.replace(Fi,"").trim();i.push({timestamp:t,text:n})}}return{contentType:ei.lyrics,timeStampFormat:ti.milliseconds,text:i.map((e=>e.text)).join("\n"),syncText:i}}(e):(t=e,{contentType:ei.lyrics,timeStampFormat:ti.notSynchronized,text:t.trim(),syncText:[]});var t}const Di=Pt("music-metadata:collector"),Bi=["matroska","APEv2","vorbis","ID3v2.4","ID3v2.3","ID3v2.2","exif","asf","iTunes","AIFF","ID3v1"];class Li{constructor(e){this.format={tagTypes:[],trackInfo:[]},this.native={},this.common={track:{no:null,of:null},disk:{no:null,of:null},movementIndex:{no:null,of:null}}
7,this.quality={warnings:[]},this.commonOrigin={},this.originPriority={},this.tagMapper=new Mi,this.opts=e;let t=1;for(const i of Bi)this.originPriority[i]=t++;this.originPriority.artificial=500,this.originPriority.id3v1=600}hasAny(){return Object.keys(this.native).length>0}addStreamInfo(e){Di(`streamInfo: type=${e.type?Lt[e.type]:"?"}, codec=${e.codecName}`),this.format.trackInfo.push(e)}setFormat(e,t){var i;Di(`format: ${e} = ${t}`),this.format[e]=t,(null==(i=this.opts)?void 0:i.observer)&&this.opts.observer({metadata:this,tag:{type:"format",id:e,value:t}})}setAudioOnly(){this.setFormat("hasAudio",!0),this.setFormat("hasVideo",!1)}async addTag(e,t,i){Di(`tag ${e}.${t} = ${i}`),this.native[e]||(this.format.tagTypes.push(e),this.native[e]=[]),this.native[e].push({id:t,value:i}),await this.toCommon(e,t,i)}addWarning(e){this.quality.warnings.push({message:e})}async postMap(e,t){switch(t.id){case"artist":return this.handleSingularArtistTag(e,t,"artist","artists");case"albumartist":return this.handleSingularArtistTag(e,t,"albumartist","albumartists");case"artists":return this.handlePluralArtistTag(e,t,"artist","artists");case"albumartists":return this.handlePluralArtistTag(e,t,"albumartist","albumartists");case"picture":return this.postFixPicture(t.value).then((i=>{null!==i&&(t.value=i,this.setGenericTag(e,t))}));case"totaltracks":return void(this.common.track.of=ui.toIntOrNull(t.value));case"totaldiscs":return void(this.common.disk.of=ui.toIntOrNull(t.value));case"movementTotal":return void(this.common.movementIndex.of=ui.toIntOrNull(t.value));case"track":case"disk":case"movementIndex":{const e=this.common[t.id].of;return this.common[t.id]=ui.normalizeTrack(t.value),void(this.common[t.id].of=null!=e?e:this.common[t.id].of)}case"bpm":case"year":case"originalyear":t.value=Number.parseInt(t.value,10);break;case"date":{const e=Number.parseInt(t.value.substr(0,4),10);Number.isNaN(e)||(this.common.year=e);break}case"discogs_label_id":case"discogs_release_id":case"discogs_master_release_id":case"discogs_artist_id":case"discogs_votes":t.value="string"==typeof t.value?Number.parseInt(t.value,10):t.value;break;case"replaygain_track_gain":case"replaygain_track_peak":case"replaygain_album_gain":case"replaygain_album_peak":t.value=function(e){const t=e.split(" ").map((e=>e.trim().toLowerCase()));if(t.length>=1){const e=Number.parseFloat(t[0]);return 2===t.length&&"db"===t[1]?{dB:e,ratio:(r=e,10**(r/10))}:{dB:(i=e,10*Math.log10(i)),ratio:e}}var i,r}(t.value);break;case"replaygain_track_minmax":t.value=t.value.split(",").map((e=>Number.parseInt(e,10)));break;case"replaygain_undo":{const e=t.value.split(",").map((e=>Number.parseInt(e,10)));t.value={leftChannel:e[0],rightChannel:e[1]};break}case"gapless":case"compilation":case"podcast":case"showMovement":t.value="1"===t.value||1===t.value;break;case"isrc":{const e=this.common[t.id];if(e&&-1!==e.indexOf(t.value))return;break}case"comment":"string"==typeof t.value&&(t.value={text:t.value}),"iTunPGAP"===t.value.descriptor&&this.setGenericTag(e,{id:"gapless",value:"1"===t.value.text});break;case"lyrics":"string"==typeof t.value&&(t.value=Pi(t.value))}null!==t.value&&this.setGenericTag(e,t)}toCommonMetadata(){return{format:this.format,native:this.native,quality:this.quality,common:this.common}}handleSingularArtistTag(e,t,i,r){if(this.commonOrigin[i]===this.originPriority[e])return this.postMap("artificial",{id:r,value:t.value});this.common[r]||this.setGenericTag("artificial",{id:r,value:t.value}),this.setGenericTag(e,t)}handlePluralArtistTag(e,t,i,r){if(!(this.common[i]&&this.commonOrigin[i]!==this.originPriority.artificial||this.common[r]&&-1!==this.common[r].indexOf(t.value))){const e=function(e){if(e.length>2)return`${e.slice(0,e.length-1).join(", ")} & ${e[e.length-1]}`;return e.join(" & ")}((this.common[r]||[]).concat([t.value]));this.setGenericTag("artificial",{id:i,value:e})}this.setGenericTag(e,t)}async postFixPicture(e){if(e.data&&e.data.length>0){if(!e.format){const t=await ot(Uint8Array.from(e.data));if(!t)return null;e.format=t.mime}if(e.format=e.format.toLocaleLowerCase(),"image/jpg"===e.format)e.format="image/jpeg";return e}return this.addWarning("Empty picture tag found"),null}async toCommon(e,t,i){const r={id:t,value:i},n=this.tagMapper.mapTag(e,r,this);
7n&&await this.postMap(e,n)}setGenericTag(e,t){var i;Di(`common.${t.id} = ${t.value}`);const r=this.commonOrigin[t.id]||1e3,n=this.originPriority[e];if(a=t.id,li[a]&&!li[a].multiple){if(!(n<=r))return Di(`Ignore native tag (singleton): ${e}.${t.id} = ${t.value}`);this.common[t.id]=t.value,this.commonOrigin[t.id]=n}else if(n===r)!function(e){return!li[e].multiple||li[e].unique||!1}(t.id)||-1===this.common[t.id].indexOf(t.value)?this.common[t.id].push(t.value):Di(`Ignore duplicate value: ${e}.${t.id} = ${t.value}`);else{if(!(n<r))return Di(`Ignore native tag (list): ${e}.${t.id} = ${t.value}`);this.common[t.id]=[t.value],this.commonOrigin[t.id]=n}var a;(null==(i=this.opts)?void 0:i.observer)&&this.opts.observer({metadata:this,tag:{type:"common",id:t.id,value:t.value}})}}const Oi={parserType:"mpeg",extensions:[".mp2",".mp3",".m2a",".aac","aacp"],mimeTypes:["audio/mpeg","audio/mp3","audio/aacs","audio/aacp"],load:async()=>(await r((()=>import("./MpegParser.80a7cbe3-1790155126435.js")),["static/js/MpegParser.80a7cbe3-1790155126435.js","static/js/AbstractID3Parser.3989aa39-1790155126435.js","static/js/ID3v2Parser.ab5fe2a2-1790155126435.js","static/js/index.f87a253d-1790155126435.js","static/css/index.01bb7527-1790155126435.css"])).MpegParser},Ni={parserType:"apev2",extensions:[".ape"],mimeTypes:["audio/ape","audio/monkeys-audio"],load:async()=>(await r((()=>Promise.resolve().then((()=>kr))),void 0)).APEv2Parser},Ui={parserType:"asf",extensions:[".asf",".wma",".wmv"],mimeTypes:["audio/ms-wma","video/ms-wmv","audio/ms-asf","video/ms-asf","application/vnd.ms-asf"],load:async()=>(await r((()=>import("./AsfParser.190e7c69-1790155126435.js")),["static/js/AsfParser.190e7c69-1790155126435.js","static/js/index.f87a253d-1790155126435.js","static/css/index.01bb7527-1790155126435.css"])).AsfParser},Xi={parserType:"dsdiff",extensions:[".dff"],mimeTypes:["audio/dsf","audio/dsd"],load:async()=>(await r((()=>import("./DsdiffParser.9573b071-1790155126435.js")),["static/js/DsdiffParser.9573b071-1790155126435.js","static/js/ID3v2Parser.ab5fe2a2-1790155126435.js","static/js/index.f87a253d-1790155126435.js","static/css/index.01bb7527-1790155126435.css"])).DsdiffParser},Gi={parserType:"aiff",extensions:[".aif","aiff","aifc"],mimeTypes:["audio/aiff","audio/aif","audio/aifc","application/aiff"],load:async()=>(await r((()=>import("./AiffParser.15c0e351-1790155126435.js")),["static/js/AiffParser.15c0e351-1790155126435.js","static/js/ID3v2Parser.ab5fe2a2-1790155126435.js","static/js/index.f87a253d-1790155126435.js","static/css/index.01bb7527-1790155126435.css"])).AIFFParser},ji={parserType:"dsf",extensions:[".dsf"],mimeTypes:["audio/dsf"],load:async()=>(await r((()=>import("./DsfParser.abade43e-1790155126435.js")),["static/js/DsfParser.abade43e-1790155126435.js","static/js/AbstractID3Parser.3989aa39-1790155126435.js","static/js/ID3v2Parser.ab5fe2a2-1790155126435.js","static/js/index.f87a253d-1790155126435.js","static/css/index.01bb7527-1790155126435.css"])).DsfParser},Wi={parserType:"flac",extensions:[".flac"],mimeTypes:["audio/flac"],load:async()=>(await r((()=>import("./FlacParser.71656c32-1790155126435.js").then((e=>e.d))),["static/js/FlacParser.71656c32-1790155126435.js","static/js/AbstractID3Parser.3989aa39-1790155126435.js","static/js/ID3v2Parser.ab5fe2a2-1790155126435.js"])).FlacParser},$i={parserType:"matroska",extensions:[".mka",".mkv",".mk3d",".mks","webm"],mimeTypes:["audio/matroska","video/matroska","audio/webm","video/webm"],load:async()=>(await r((()=>import("./MatroskaParser.f1fda2f8-1790155126435.js")),["static/js/MatroskaParser.f1fda2f8-1790155126435.js","static/js/index.f87a253d-1790155126435.js","static/css/index.01bb7527-1790155126435.css"])).MatroskaParser},qi={parserType:"mp4",extensions:[".mp4",".m4a",".m4b",".m4pa","m4v","m4r","3gp",".mov",".movie",".qt"],mimeTypes:["audio/mp4","audio/m4a","video/m4v","video/mp4","video/quicktime"],load:async()=>(await r((()=>import("./MP4Parser.26f4ce97-1790155126435.js")),["static/js/MP4Parser.26f4ce97-1790155126435.js","static/js/index.f87a253d-1790155126435.js","static/css/index.01bb7527-1790155126435.
7css"])).MP4Parser},Zi={parserType:"musepack",extensions:[".mpc"],mimeTypes:["audio/musepack"],load:async()=>(await r((()=>import("./MusepackParser.f2c407cd-1790155126435.js")),["static/js/MusepackParser.f2c407cd-1790155126435.js","static/js/AbstractID3Parser.3989aa39-1790155126435.js","static/js/ID3v2Parser.ab5fe2a2-1790155126435.js","static/js/index.f87a253d-1790155126435.js","static/css/index.01bb7527-1790155126435.css"])).MusepackParser},Hi={parserType:"ogg",extensions:[".ogg",".ogv",".oga",".ogm",".ogx",".opus",".spx"],mimeTypes:["audio/ogg","audio/opus","audio/speex","video/ogg"],load:async()=>(await r((()=>import("./OggParser.d0010785-1790155126435.js")),["static/js/OggParser.d0010785-1790155126435.js","static/js/FlacParser.71656c32-1790155126435.js","static/js/AbstractID3Parser.3989aa39-1790155126435.js","static/js/ID3v2Parser.ab5fe2a2-1790155126435.js","static/js/index.f87a253d-1790155126435.js","static/css/index.01bb7527-1790155126435.css"])).OggParser},Vi={parserType:"wavpack",extensions:[".wv",".wvp"],mimeTypes:["audio/wavpack"],load:async()=>(await r((()=>import("./WavPackParser.14c6afb9-1790155126435.js")),["static/js/WavPackParser.14c6afb9-1790155126435.js","static/js/index.f87a253d-1790155126435.js","static/css/index.01bb7527-1790155126435.css"])).WavPackParser},Yi={parserType:"riff",extensions:[".wav","wave",".bwf"],mimeTypes:["audio/vnd.wave","audio/wav","audio/wave"],load:async()=>(await r((()=>import("./WaveParser.0518fdc1-1790155126435.js")),["static/js/WaveParser.0518fdc1-1790155126435.js","static/js/ID3v2Parser.ab5fe2a2-1790155126435.js","static/js/index.f87a253d-1790155126435.js","static/css/index.01bb7527-1790155126435.css"])).WaveParser},Ki=Pt("music-metadata:parser:factory");function Ji(e){const t=ht.parse(e),i=function(e){if(!Rt.test(e))throw new TypeError(`Invalid media type: ${e}`);const t=e.indexOf("/"),i=e.slice(0,t).toLowerCase();let r,n=e.slice(t+1).toLowerCase();const a=n.lastIndexOf("+");return-1!==a&&(r=n.slice(a+1),n=n.slice(0,a)),{type:i,subtype:n,suffix:r}}(t.type);return{type:i.type,subtype:i.subtype,suffix:i.suffix,parameters:t.parameters}}class Qi{constructor(){this.parsers=[],[Wi,Oi,Ni,qi,$i,Yi,Hi,Ui,Gi,Vi,Zi,ji,Xi].forEach((e=>{this.registerParser(e)}))}registerParser(e){this.parsers.push(e)}async parse(e,t,i){if(e.supportsRandomAccess()?(Ki("tokenizer supports random-access, scanning for appending headers"),await Sr(e,i)):Ki("tokenizer does not support random-access, cannot scan for appending headers"),!t){const i=new Uint8Array(4100);if(e.fileInfo.mimeType&&(t=this.findLoaderForContentType(e.fileInfo.mimeType)),!t&&e.fileInfo.path&&(t=this.findLoaderForExtension(e.fileInfo.path)),!t){Ki("Guess parser on content..."),await e.peekBuffer(i,{mayBeLess:!0});const r=await ot(i,{mpegOffsetTolerance:10});if(!r||!r.mime)throw new Nt("Failed to determine audio format");if(Ki(`Guessed file type is mime=${r.mime}, extension=${r.ext}`),!(t=this.findLoaderForContentType(r.mime)))throw new Ut(`Guessed MIME-type not supported: ${r.mime}`)}}Ki(`Loading ${t.parserType} parser...`);const r=new Li(i),n=new(await t.load())(r,e,i??{});return Ki(`Parser ${t.parserType} loaded`),await n.parse(),r.format.trackInfo&&(void 0===r.format.hasAudio&&r.setFormat("hasAudio",!!r.format.trackInfo.find((e=>e.type===Bt.audio))),void 0===r.format.hasVideo&&r.setFormat("hasVideo",!!r.format.trackInfo.find((e=>e.type===Bt.video)))),r.toCommonMetadata()}findLoaderForExtension(e){if(!e)return;const t=function(e){const t=e.lastIndexOf(".");return-1===t?"":e.substring(t)}(e).toLocaleLowerCase()||e;return this.parsers.find((e=>-1!==e.extensions.indexOf(t)))}findLoaderForContentType(e){let t;if(!e)return;try{t=Ji(e)}catch(r){return void Ki(`Invalid HTTP Content-Type header value: ${e}`)}const i=0===t.subtype.indexOf("x-")?t.subtype.substring(2):t.subtype;return this.parsers.find((e=>e.mimeTypes.find((e=>-1!==e.indexOf(`${t.type}/${i}`)))))}getSupportedMimeTypes(){const e=new Set;return this.parsers.forEach((t=>{t.mimeTypes.forEach((t=>{e.add(t),e.add(t.replace("/","/x-"))}))})),Array.from(e)}}class er{constructor(e,t,i){this.metadata=e,this.tokenizer=t,this.options=i}}const tr=/^[\x21-\x7e©][\x20-\x7e\x00()]{3}/,ir={len:4,get:(e,t)=>{const i=I(e.subarray(t,t+ir.len),"latin1");
7if(!i.match(tr))throw new Gt(`FourCC contains invalid characters: ${function(e){const t=[];for(let i=0,r=e.length;i<r;i++){const r=Number(e.charCodeAt(i)).toString(16);t.push(1===r.length?`0${r}`:r)}return t.join(" ")}(i)} "${i}"`);return i},put:(e,t,i)=>{const r=A(i,"latin1");if(4!==r.length)throw new jt("Invalid length");return e.set(r,t),t+4}},rr=0,nr=1,ar=2,sr=3,or={len:52,get:(e,t)=>({ID:ir.get(e,t),version:B.get(e,t+4)/1e3,descriptorBytes:B.get(e,t+8),headerBytes:B.get(e,t+12),seekTableBytes:B.get(e,t+16),headerDataBytes:B.get(e,t+20),apeFrameDataBytes:B.get(e,t+24),apeFrameDataBytesHigh:B.get(e,t+28),terminatingDataBytes:B.get(e,t+32),fileMD5:new re(16).get(e,t+36)})},cr={len:24,get:(e,t)=>({compressionLevel:M.get(e,t),formatFlags:M.get(e,t+2),blocksPerFrame:B.get(e,t+4),finalFrameBlocks:B.get(e,t+8),totalFrames:B.get(e,t+12),bitsPerSample:M.get(e,t+16),channel:M.get(e,t+18),sampleRate:B.get(e,t+20)})},lr={len:32,get:(e,t)=>({ID:new ne(8,"ascii").get(e,t),version:B.get(e,t+8),size:B.get(e,t+12),fields:B.get(e,t+16),flags:mr(B.get(e,t+20))})},ur={len:8,get:(e,t)=>({size:B.get(e,t),flags:mr(B.get(e,t+4))})};function mr(e){return{containsHeader:pr(e,31),containsFooter:pr(e,30),isHeader:pr(e,29),readOnly:pr(e,0),dataType:(6&e)>>1}}function pr(e,t){return 0!=(e&1<<t)}const dr=Pt("music-metadata:parser:APEv2"),fr="APEv2",hr="APETAGEX";class gr extends(Wt("APEv2")){}function yr(e,t,i){return new br(e,t,i).tryParseApeHeader()}class br extends er{constructor(){super(...arguments),this.ape={}}static calculateDuration(e){let t=e.totalFrames>1?e.blocksPerFrame*(e.totalFrames-1):0;return t+=e.finalFrameBlocks,t/e.sampleRate}static async findApeFooterOffset(e,t){const i=new Uint8Array(lr.len),r=e.position;if(t<=lr.len)dr(`Offset is too small to read APE footer: offset=${t}`);else if(t>lr.len){await e.readBuffer(i,{position:t-lr.len}),e.setPosition(r);const n=lr.get(i,0);if("APETAGEX"===n.ID)return n.flags.isHeader?dr("APE Header found at offset="+(t-lr.len)):(dr("APE Footer found at offset="+(t-lr.len)),t-=n.size),{footer:n,offset:t}}}static parseTagFooter(e,t,i){const r=lr.get(t,t.length-lr.len);if(r.ID!==hr)throw new gr("Unexpected APEv2 Footer ID preamble value");h(t);return new br(e,h(t),i).parseTags(r)}async tryParseApeHeader(){if(this.tokenizer.fileInfo.size&&this.tokenizer.fileInfo.size-this.tokenizer.position<lr.len)return void dr("No APEv2 header found, end-of-file reached");const e=await this.tokenizer.peekToken(lr);if(e.ID===hr)return await this.tokenizer.ignore(lr.len),this.parseTags(e);if(dr(`APEv2 header not found at offset=${this.tokenizer.position}`),this.tokenizer.fileInfo.size){const e=this.tokenizer.fileInfo.size-this.tokenizer.position,t=new Uint8Array(e);return await this.tokenizer.readBuffer(t),br.parseTagFooter(this.metadata,t,this.options)}}async parse(){const e=await this.tokenizer.readToken(or);if("MAC "!==e.ID)throw new gr("Unexpected descriptor ID");this.ape.descriptor=e;const t=e.descriptorBytes-or.len,i=await(t>0?this.parseDescriptorExpansion(t):this.parseHeader());return this.metadata.setAudioOnly(),await this.tokenizer.ignore(i.forwardBytes),this.tryParseApeHeader()}async parseTags(e){const t=new Uint8Array(256);let i=e.size-lr.len;dr(`Parse APE tags at offset=${this.tokenizer.position}, size=${i}`);for(let r=0;r<e.fields;r++){if(i<ur.len){this.metadata.addWarning(`APEv2 Tag-header: ${e.fields-r} items remaining, but no more tag data to read.`);break}const n=await this.tokenizer.readToken(ur);i-=ur.len+n.size,await this.tokenizer.peekBuffer(t,{length:Math.min(t.length,i)});let a=qt(t);const s=await this.tokenizer.readToken(new ne(a,"ascii"));switch(await this.tokenizer.ignore(1),i-=s.length+1,n.flags.dataType){case rr:{const e=(await this.tokenizer.readToken(new ne(n.size,"utf8"))).split(/\x00/g);await Promise.all(e.map((e=>this.metadata.addTag(fr,s,e))));break}case nr:if(this.options.skipCovers)await this.tokenizer.ignore(n.size);else{const e=new Uint8Array(n.size);await this.tokenizer.readBuffer(e),a=qt(e);const t=I(e.subarray(0,a),"utf-8"),i=e.subarray(a+1);await this.metadata.addTag(fr,s,{description:t,data:i})}break;case ar:dr(`Ignore external info ${s}`),await this.tokenizer.ignore(n.size);break;case sr:dr(`Ignore external info ${s}`),this.metadata.addWarning(`APEv2 header declares a reserved datatype for "${s}"`),await this.tokenizer.ignore(n.size)}}}async parseDescriptorExpansion(e){return await this.tokenizer.ignore(e),this.parseHeader()}async parseHeader(){const e=await this.tokenizer.readToken(cr);if(this.metadata.setFormat("lossless",!0),this.metadata.setFormat("container","Monkey's Audio"),this.metadata.setFormat("bitsPerSample",e.bitsPerSample),this.metadata.setFormat("sampleRate",e.sampleRate),this.metadata.setFormat("numberOfChannels",e.channel),this.metadata.setFormat("duration",br.calculateDuration(e)),!this.ape.descriptor)throw new gr("Missing APE descriptor");return{forwardBytes:this.ape.descriptor.seekTableBytes+this.ape.descriptor.headerDataBytes+this.ape.descriptor.apeFrameDataBytes+this.ape.descriptor.terminatingDataBytes}}}const kr=Object.freeze(Object.defineProperty({__proto__:null,APEv2Parser:br,ApeContentError:gr,tryParseApeHeader:yr},Symbol.toStringTag,{value:"Module"})),wr=Pt("music-metadata:parser:ID3v1"),Tr=["Blues","Classic Rock","Country","Dance","Disco","Funk","Grunge","Hip-Hop","Jazz","Metal","New Age","Oldies","Other","Pop","R&B","Rap","Reggae","Rock","Techno","Industrial","Alternative","Ska","Death Metal","Pranks","Soundtrack","Euro-Techno","Ambient","Trip-Hop","Vocal","Jazz+Funk","Fusion","Trance","Classical","Instrumental","Acid","House","Game","S
7ound Clip","Gospel","Noise","Alt. Rock","Bass","Soul","Punk","Space","Meditative","Instrumental Pop","Instrumental Rock","Ethnic","Gothic","Darkwave","Techno-Industrial","Electronic","Pop-Folk","Eurodance","Dream","Southern Rock","Comedy","Cult","Gangsta Rap","Top 40","Christian Rap","Pop/Funk","Jungle","Native American","Cabaret","New Wave","Psychedelic","Rave","Showtunes","Trailer","Lo-Fi","Tribal","Acid Punk","Acid Jazz","Polka","Retro","Musical","Rock & Roll","Hard Rock","Folk","Folk/Rock","National Folk","Swing","Fast-Fusion","Bebob","Latin","Revival","Celtic","Bluegrass","Avantgarde","Gothic Rock","Progressive Rock","Psychedelic Rock","Symphonic Rock","Slow Rock","Big Band","Chorus","Easy Listening","Acoustic","Humour","Speech","Chanson","Opera","Chamber Music","Sonata","Symphony","Booty Bass","Primus","Porn Groove","Satire","Slow Jam","Club","Tango","Samba","Folklore","Ballad","Power Ballad","Rhythmic Soul","Freestyle","Duet","Punk Rock","Drum Solo","A Cappella","Euro-House","Dance Hall","Goa","Drum & Bass","Club-House","Hardcore","Terror","Indie","BritPop","Negerpunk","Polsk Punk","Beat","Christian Gangsta Rap","Heavy Metal","Black Metal","Crossover","Contemporary Christian","Christian Rock","Merengue","Salsa","Thrash Metal","Anime","JPop","Synthpop","Abstract","Art Rock","Baroque","Bhangra","Big Beat","Breakbeat","Chillout","Downtempo","Dub","EBM","Eclectic","Electro","Electroclash","Emo","Experimental","Garage","Global","IDM","Illbient","Industro-Goth","Jam Band","Krautrock","Leftfield","Lounge","Math Rock","New Romantic","Nu-Breakz","Post-Punk","Post-Rock","Psytrance","Shoegaze","Space Rock","Trop Rock","World Music","Neoclassical","Audiobook","Audio Theatre","Neue Deutsche Welle","Podcast","Indie Rock","G-Funk","Dubstep","Garage Rock","Psybient"],xr={len:128,get:(e,t)=>{const i=new vr(3).get(e,t);return"TAG"===i?{header:i,title:new vr(30).get(e,t+3),artist:new vr(30).get(e,t+33),album:new vr(30).get(e,t+63),year:new vr(4).get(e,t+93),comment:new vr(28).get(e,t+97),zeroByte:R.get(e,t+127),track:R.get(e,t+126),genre:R.get(e,t+127)}:null}};class vr{constructor(e){this.len=e,this.stringType=new ne(e,"latin1")}get(e,t){let i=this.stringType.get(e,t);return i=Zt(i),i=i.trim(),i.length>0?i:void 0}}class Cr extends er{constructor(e,t,i){super(e,t,i),this.apeHeader=i.apeHeader}static getGenre(e){if(e<Tr.length)return Tr[e]}async parse(){if(!this.tokenizer.fileInfo.size)return void wr("Skip checking for ID3v1 because the file-size is unknown");if(this.apeHeader&&this.tokenizer.supportsRandomAccess()){this.tokenizer.setPosition(this.apeHeader.offset);const e=new br(this.metadata,this.tokenizer,this.options);await e.parseTags(this.apeHeader.footer)}const e=this.tokenizer.fileInfo.size-xr.len;if(this.tokenizer.position>e)return void wr("Already consumed the last 128 bytes");const t=await this.tokenizer.readToken(xr,e);if(t){wr("ID3v1 header found at: pos=%s",this.tokenizer.fileInfo.size-xr.len);const e=["title","artist","album","comment","track","year"];for(const r of e)t[r]&&""!==t[r]&&await this.addTag(r,t[r]);const i=Cr.getGenre(t.genre);i&&await this.addTag("genre",i)}else wr("ID3v1 header not found at: pos=%s",this.tokenizer.fileInfo.size-xr.len)}async addTag(e,t){await this.metadata.addTag("ID3v1",e,t)}}const Ir="LYRICS200";function Ar(e,t){return(new Qi).parse(e,void 0,t)}async function Sr(e,t={}){let i=e.fileInfo.size;if(await async function(e){if(e.fileInfo.size>=128){const t=new Uint8Array(3),i=e.position;return await e.readBuffer(t,{position:e.fileInfo.size-128}),e.setPosition(i),"TAG"===I(t,"latin1")}return!1}(e)){i-=128;const t=await async function(e){const t=e.fileInfo.size;if(t>=143){const i=new Uint8Array(15),r=e.position;await e.readBuffer(i,{position:t-143}),e.setPosition(r);const n=I(i,"latin1");if(n.substring(6)===Ir)return Number.parseInt(n.substring(0,6),10)+15}return 0}(e);i-=t}t.apeHeader=await br.findApeFooterOffset(e,i)}const _r=Object.freeze(Object.defineProperty({__proto__:null,CouldNotDetermineFileTypeError:Nt,FieldDecodingError:Gt,InternalParserError:jt,LyricsContentType:ei,TimestampFormat:ti,UnsupportedFileTypeError:Ut,getSupp
7ortedMimeTypes:function(){return(new Qi).getSupportedMimeTypes()},makeParseError:Ot,makeUnexpectedFileContentError:Wt,orderTags:function(e){const t={};for(const{id:i,value:r}of e)(t[i]||(t[i]=[])).push(r);return t},parseBlob:async function(e,t={}){const i=g(e);try{return await Ar(i,t)}finally{await i.close()}},parseBuffer:async function(e,t,i={}){return Ar(h(e,{fileInfo:"string"==typeof t?{mimeType:t}:t}),i)},parseFile:async function(e,t={}){throw new Error("This function require a Node engine. To load Web API File objects use parseBlob instead.")},parseFromTokenizer:Ar,parseStream:async function(e,t,i={}){throw new Error("This function require a Node engine.")},parseWebStream:async function(e,t,i={}){const r=f(e,{fileInfo:"string"==typeof t?{mimeType:t}:t});try{return await Ar(r,i)}finally{await r.close()}},ratingToStars:function(e){return void 0===e?0:1+Math.round(4*e)},scanAppendingHeaders:Sr,selectCover:function(e){return e?e.reduce(((e,t)=>t.name&&t.name.toLowerCase()in["front","cover","cover (front)"]?t:e)):null}},Symbol.toStringTag,{value:"Module"}));export{Qt as A,er as B,q as C,W as D,n as E,ir as F,Tr as G,Q as H,N as I,K as J,Z as K,Dt as L,Gt as M,j as N,O,G as P,Me as Q,ae as R,ne as S,ai as T,L as U,yr as V,Zt as W,P as X,_r as Y,R as a,F as b,Pt as c,re as d,ri as e,Cr as f,Yt as g,D as h,Kt as i,ii as j,$t as k,qt as l,Wt as m,Ht as n,Jt as o,si as p,oi as q,ni as r,Vt as s,I as t,B as u,$ as v,M as w,Bt as x,H as y,h as z};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.