1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11186],{7072:(e,t,i)=>{"use strict";i.d(t,{AW:()=>s,EY:()=>n});let r=Object.prototype.toString;new globalThis.TextDecoder("utf8"),new globalThis.TextEncoder;let a=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function n(e){var t;if(t=Uint8Array,!e||e.constructor!==t&&"[object Uint8Array]"!==r.call(e))throw TypeError(`Expected \`Uint8Array\`, got \`${typeof e}\``);let i="";for(let t=0;t<e.length;t++)i+=a[e[t]];return i}function s(e){let{byteLength:t}=e;return 6===t?0x100000000*e.getUint16(0)+e.getUint32(2):5===t?0x100000000*e.getUint8(0)+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}},11186:(e,t,i)=>{"use strict";i.r(t),i.d(t,{CouldNotDetermineFileTypeError:()=>em.e6,FieldDecodingError:()=>em.gP,InternalParserError:()=>em.nK,LyricsContentType:()=>ed.MW,TimestampFormat:()=>ed.sd,UnsupportedFileTypeError:()=>em.qq,getSupportedMimeTypes:()=>eZ,makeParseError:()=>em.U9,makeUnexpectedFileContentError:()=>em.fO,orderTags:()=>eX,parseBlob:()=>eP,parseBuffer:()=>eO,parseFile:()=>eq,parseFromTokenizer:()=>eF,parseStream:()=>ej,parseWebStream:()=>eD,ratingToStars:()=>eG,scanAppendingHeaders:()=>e$,selectCover:()=>eW});var r=i(74074),a=i(96157),n=i(26428);let s={get:e=>({signature:a.UINT32_LE.get(e,0),compressedSize:a.UINT32_LE.get(e,8),uncompressedSize:a.UINT32_LE.get(e,12)}),len:16},o={get(e){let t=a.UINT16_LE.get(e,6);return{signature:a.UINT32_LE.get(e,0),minVersion:a.UINT16_LE.get(e,4),dataDescriptor:!!(8&t),compressedMethod:a.UINT16_LE.get(e,8),compressedSize:a.UINT32_LE.get(e,18),uncompressedSize:a.UINT32_LE.get(e,22),filenameLength:a.UINT16_LE.get(e,26),extraFieldLength:a.UINT16_LE.get(e,28),filename:null}},len:30},c={get:e=>({signature:a.UINT32_LE.get(e,0),nrOfThisDisk:a.UINT16_LE.get(e,4),nrOfThisDiskWithTheStart:a.UINT16_LE.get(e,6),nrOfEntriesOnThisDisk:a.UINT16_LE.get(e,8),nrOfEntriesOfSize:a.UINT16_LE.get(e,10),sizeOfCd:a.UINT32_LE.get(e,12),offsetOfStartOfCd:a.UINT32_LE.get(e,16),zipFileCommentLength:a.UINT16_LE.get(e,20)}),len:22},l={get(e){let t=a.UINT16_LE.get(e,8);return{signature:a.UINT32_LE.get(e,0),minVersion:a.UINT16_LE.get(e,6),dataDescriptor:!!(8&t),compressedMethod:a.UINT16_LE.get(e,10),compressedSize:a.UINT32_LE.get(e,20),uncompressedSize:a.UINT32_LE.get(e,24),filenameLength:a.UINT16_LE.get(e,28),extraFieldLength:a.UINT16_LE.get(e,30),fileCommentLength:a.UINT16_LE.get(e,32),relativeOffsetOfLocalHeader:a.UINT32_LE.get(e,42),filename:null}},len:46};function u(e){let t=new Uint8Array(a.UINT32_LE.len);return a.UINT32_LE.put(t,0,e),t}let m=n("tokenizer:inflate"),p=u(0x8074b50),d=u(0x6054b50);class f{constructor(e){this.tokenizer=e,this.syncBuffer=new Uint8Array(262144)}async isZip(){return await this.peekSignature()===0x4034b50}peekSignature(){return this.tokenizer.peekToken(a.UINT32_LE)}async findEndOfCentralDirectoryLocator(){let e=this.tokenizer,t=Math.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]===d[0]&&i[r+1]===d[1]&&i[r+2]===d[2]&&i[r+3]===d[3])return e.fileInfo.size-t+r;return -1}async readCentralDirectory(){if(!this.tokenizer.supportsRandomAccess())return void m("Cannot reading central-directory without random-read support");m("Reading central-directory...");let e=this.tokenizer.position,t=await this.findEndOfCentralDirectoryLocator();if(t>0){m("Central-directory 32-bit signature found");let i=await this.tokenizer.readToken(c,t),r=[];this.tokenizer.setPosition(i.offsetOfStartOfCd);for(let e=0;e<i.nrOfEntriesOfSize;++e){let t=await this.tokenizer.readToken(l);if(0x2014b50!==t.signature)throw Error("Expected Central-File-Header signature");t.filename=await this.tokenizer.readToken(new a.StringType(t.filenameLength,"utf-8")),await this.tokenizer.ignore(t.extraFieldLength),await this.tokenizer.ignore(t.fileCommentLength),r.push(t),m(`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){let t=await this.readCentralDirectory();if(t)return this.iterateOverCentralDirectory(t,e);let i=!1;do{let t,r=await this.readLocalFileHeader();if(!r)break;let a=e(r);if(i=!!a.stop,await this.tokenizer.ignore(r.extraFieldLength),r.dataDescriptor&&0===r.compressedSize){let e=[],t=262144;m("Compressed-file-size unknown, scanning for next data-descriptor-signature....");let i=-1;for(;i<0&&262144===t;){t=await this.tokenizer.peekBuffer(this.syncBuffer,{mayBeLess:!0});let r=(i=function(e,t){let i=e.length,r=t.length;if(r>i)return -1;for(let a=0;a<=i-r;a++){let i=!0;for(let n=0;n<r;n++)if(e[a+n]!==t[n]){i=!1;break}if(i)return a}return -1}(this.syncBuffer.subarray(0,t),p))>=0?i:t;if(a.handler){let t=new Uint8Array(r);await this.tokenizer.readBuffer(t),e.push(t)}else await this.tokenizer.ignore(r)}m(`Found data-descriptor-signature at pos=${this.tokenizer.position}`),a.handler&&await this.inflate(r,function(e){let t=new Uint8Array(e.reduce((e,t)=>
1e+t.length,0)),i=0;for(let r of e)t.set(r,i),i+=r.length;return t}(e),a.handler)}else a.handler?(m(`Reading compressed-file-data: ${r.compressedSize} bytes`),t=new Uint8Array(r.compressedSize),await this.tokenizer.readBuffer(t),await this.inflate(r,t,a.handler)):(m(`Ignoring compressed-file-data: ${r.compressedSize} bytes`),await this.tokenizer.ignore(r.compressedSize));if(m(`Reading data-descriptor at pos=${this.tokenizer.position}`),r.dataDescriptor&&0x8074b50!==(await this.tokenizer.readToken(s)).signature)throw Error(`Expected data-descriptor-signature at position ${this.tokenizer.position-s.len}`)}while(!i)}async iterateOverCentralDirectory(e,t){for(let i of e){let e=t(i);if(e.handler){this.tokenizer.setPosition(i.relativeOffsetOfLocalHeader);let t=await this.readLocalFileHeader();if(t){await this.tokenizer.ignore(t.extraFieldLength);let 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 Error(`Unsupported ZIP compression method: ${e.compressedMethod}`);return m(`Decompress filename=${e.filename}
1, compressed-size=${t.length}`),i(await f.decompressDeflateRaw(t))}static async decompressDeflateRaw(e){let t=new ReadableStream({start(t){t.enqueue(e),t.close()}}),i=new DecompressionStream("deflate-raw"),r=t.pipeThrough(i);try{let e=new Response(r),t=await e.arrayBuffer();return new Uint8Array(t)}catch(e){throw TypeError(e instanceof Error?`Failed to deflate ZIP entry: ${e.message}`:"Unknown decompression error in ZIP entry")}}async readLocalFileHeader(){let e=await this.tokenizer.peekToken(a.UINT32_LE);if(0x4034b50===e){let e=await this.tokenizer.readToken(o);return e.filename=await this.tokenizer.readToken(new a.StringType(e.filenameLength,"utf-8")),e}if(0x2014b50===e)return!1;if(0xe011cfd0===e)throw Error("Encrypted ZIP");throw Error("Unexpected signature")}}class h{constructor(e){this.tokenizer=e}inflate(){let e=this.tokenizer;return new ReadableStream({async pull(t){let i=new Uint8Array(1024),r=await e.readBuffer(i,{mayBeLess:!0});0===r?t.close():t.enqueue(i.subarray(0,r))}}).pipeThrough(new DecompressionStream("gzip"))}}var g=i(7072);let T={get:(e,t)=>127&e[t+3]|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4},y=0x80000000-1,k=new Set(["Unexpected signature","Encrypted ZIP","Expected Central-File-Header signature"]),b=["ZIP entry count exceeds ","Unsupported ZIP compression method:","ZIP entry compressed data exceeds ","ZIP entry decompressed data exceeds ","Expected data-descriptor-signature at position "],I=new Set(["Z_BUF_ERROR","Z_DATA_ERROR","ERR_INVALID_STATE"]);class w extends Error{}function x(e,t,i){if(!Number.isFinite(e)||e<0||e>t)throw new w(`${i} has invalid size ${e} (maximum ${t} bytes)`);return e}async function S(e,t,{maximumLength:i=0x1000000,reason:r="skip"}={}){let a=x(t,i,r);await e.ignore(a)}async function A(e,t,i,{maximumLength:r=t.length,reason:a="read"}={}){let n=x(i?.length??t.length,r,a);return e.readBuffer(t,{...i,length:n})}async function E(e,{maximumLength:t=1048576}={}){let i=new ReadableStream({start(t){t.enqueue(e),t.close()}}).pipeThrough(new DecompressionStream("deflate-raw")).getReader(),r=[],a=0;try{for(;;){let{done:e,value:n}=await i.read();if(e)break;if((a+=n.length)>t)throw await i.cancel(),Error(`ZIP entry decompressed data exceeds ${t} bytes`);r.push(n)}}finally{i.releaseLock()}let n=new Uint8Array(a),s=0;for(let e of r)n.set(e,s),s+=e.length;return n}async function v(e,{shouldBuffer:t,maximumLength:i=1048576}={}){let{syncBuffer:r}=e,{length:n}=r,s=[],o=0;for(;;){let c=await e.tokenizer.peekBuffer(r,{mayBeLess:!0}),l=function(e,t){if(e.length<16)return -1;let i=e.length-16;for(let r=0;r<=i;r++)if(0x8074b50===a.UINT32_LE.get(e,r)&&a.UINT32_LE.get(e,r+8)===t+r)return r;return -1}(r.subarray(0,c),o),u=l>=0?0:c===n?Math.min(15,c-1):0,m=l>=0?l:c-u;if(0===m)break;if((o+=m)>i)throw Error(`ZIP entry compressed data exceeds ${i} bytes`);if(t){let t=new Uint8Array(m);await e.tokenizer.readBuffer(t),s.push(t)}else await e.tokenizer.ignore(m);if(l>=0)break}if(M(e.tokenizer)||(e.knownSizeDescriptorScannedBytes+=o),t){let e=new Uint8Array(o),t=0;for(let i of s)e.set(i,t),t+=i.length;return e}}async function C(e,t,{shouldBuffer:i,maximumDescriptorLength:r=1048576}={}){var a;let n;if(t.dataDescriptor&&0===t.compressedSize)return v(e,{shouldBuffer:i,maximumLength:r});if(!i)return void await S(e.tokenizer,t.compressedSize,{maximumLength:M(e.tokenizer)?1048576:e.tokenizer.fileInfo.size,reason:"ZIP entry compressed data"});let s=Math.min(Number.isFinite(n=(a=e.tokenizer).fileInfo.size)?Math.max(0,n-a.position):Number.MAX_SAFE_INTEGER,y);if(!Number.isFinite(t.compressedSize)||t.compressedSize<0||t.compressedSize>s)throw Error(`ZIP entry compressed data exceeds ${s} bytes`);let o=new Uint8Array(t.compressedSize);return await e.tokenizer.readBuffer(o),o}async function _(e,t){return new U(t).fromBuffer(e)}function z(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 R(e,t,i){for(let[r,a]of(i={offset:0,...i},t.entries()))if(i.mask){if(a!==(i.mask[r]&e[r+i.offset]))return!1}else if(a!==e[r+i.offset])return!1;return!0}function M(e){let t=e.fileInfo.size;return!Number.isFinite(t)||t===Number.MAX_SAFE_INTEGER}function N(e,t,i){return M(e)&&e.position-t>i}function L(e,t=1048576){for(let i of[e.compressedSize,e.uncompressedSize])if(!Number.isFinite(i)||i<0||i>t)return!1;return!0}function B(e){if(e.hasContentTypesEntry&&!e.hasUnparseableContentTypes&&!e.isParsingContentTypes&&!e.hasParsedContentTypesEntry){if(e.hasWordDirectory)return{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};if(e.hasPresentationDirectory)return{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};if(e.hasSpreadsheetDirectory)return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};if(e.hasThreeDimensionalModelEntry)return{ext:"3mf",mime:"model/3mf"}}}f.prototype.inflate=async function(e,t,i){if(0===e.compressedMethod)return i(t);if(8!==e.compressedMethod)throw Error(`Unsupported ZIP compression method: ${e.compressedMethod}`);return i(await E(t,{maximumLength:1048576}))},f.prototype.unzip=async function(e){let t=!1,i=0,r=this.tokenizer.position;this.knownSizeDescriptorScannedBytes=0;do{if(N(this.tokenizer,r,0x1000000))throw new w("ZIP stream probing exceeds 16777216 bytes");let n=await this.readLocalFileHeader();if(!n)break;if(++i>1024)throw Error("ZIP entry count exceeds 1024");let s=e(n);t=!!s.stop,await this.tokenizer.ignore(n.extraFieldLength);let o=await C(this,n,{shouldBuffer:!!s.handler,maximumDescriptorLength:Math.min(1048576,M(this.tokenizer)?Math.max(0,0x1000000-(this.tokenizer.position-r)):Math.max(0,1048576-this.knownSizeDescriptorScannedBytes))});if(s.handler&&await this.inflate(n,o,s.handler),n.dataDescriptor){let e=new Uint8Array(16);if(await this.tokenizer.readBuffer(e),0x8074b50!==a.UINT32_LE.get(e,0))throw Error(`Expected data-descriptor-signature at position ${this.tokenizer.position-e.length}`)}if(N(this.tokenizer,r,0x1000000))throw new w("ZIP stream probing exceeds 16777216 bytes")}while(!t)};class U{constructor(e){const t=function(e){return Number.isFinite(e)?Math.max(0,Math.min(4098,Math.trunc(e))):0}(e?.mpegOffsetTolerance);this.options={...e,mpegOffsetTolerance:t},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){let t=e?.streamReader;if(t?.constructor?.name!=="WebStreamByobReader")return e;let{reader:i}=t,r=async()=>{await i.cancel(),i.releaseLock()};return t.close=r,t.abort=async()=>{t.interrupted=!0,await r()},e}(r.Xx(e,this.getTokenizerOptions()))}async parseTokenizer(e,t=0){this.detectionReentryCount=t;let i=e.position;for(let t of this.detectors){let a;try{a=await t.detect(e)}catch(e){if(e instanceof r.d1||e instanceof w)return;throw e}if(a)return a;
1if(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 TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof e}\``);let t=e instanceof Uint8Array?e:new Uint8Array(e);if(t?.length>1)return this.fromTokenizer(r.vY(t,this.getTokenizerOptions()))}async fromBlob(e){this.options.signal?.throwIfAborted();let t=r._F(e,this.getTokenizerOptions());return this.fromTokenizer(t)}async fromStream(e){this.options.signal?.throwIfAborted();let t=this.createTokenizerFromWebStream(e);return this.fromTokenizer(t)}async toDetectionStream(e,t){var i,a,n;let s,o,c=Number.isFinite(i=t?.sampleSize??4100)?Math.max(1,Math.trunc(i)):4100,l=e.getReader({mode:"byob"});try{let{value:e,done:t}=await (a=new Uint8Array(c),n=this.options.signal,void 0===n?l.read(a):(n.throwIfAborted(),new Promise((e,t)=>{let i=()=>{n.removeEventListener("abort",r)},r=()=>{let e=n.reason;i(),(async()=>{try{await l.cancel(e)}catch{}})(),t(e)};n.addEventListener("abort",r,{once:!0}),(async()=>{try{let t=await l.read(a);i(),e(t)}catch(e){i(),t(e)}})()})));if(o=e,!t&&e)try{s=await this.fromBuffer(e.subarray(0,c))}catch(e){if(!(e instanceof r.d1))throw e;s=void 0}o=e}finally{l.releaseLock()}let u=new TransformStream({async start(e){e.enqueue(o)},transform(e,t){t.enqueue(e)}}),m=e.pipeThrough(u);return m.fileType=s,m}async detectGzip(e){let t,i,r,a,n,s,o,c,l;if(this.gzipProbeDepth>=1)return{ext:"gz",mime:"application/gzip"};let u=(n=new h(e).inflate().getReader(),s=0,o=!1,c=!1,l=async e=>{o||c||(c=!0,await n.cancel(e))},new ReadableStream({async pull(e){if(s>=0x1000000){e.close(),await l();return}let{done:t,value:i}=await n.read();if(t||!i){o=!0,e.close();return}let r=0x1000000-s;if(i.length>r){e.enqueue(i.subarray(0,r)),s+=r,e.close(),await l();return}e.enqueue(i),s+=i.length},async cancel(e){await l(e)}})),m=M(e);if(m){let e=new AbortController;t=setTimeout(()=>{e.abort(new DOMException("Operation timed out after 100 ms","TimeoutError"))},100),i=void 0===this.options.signal?e.signal:AbortSignal.any([this.options.signal,e.signal]),(r=new U({...this.options,signal:i})).gzipProbeDepth=this.gzipProbeDepth+1}else this.gzipProbeDepth++;try{a=await (r??this).fromStream(u)}catch(e){if(e?.name==="AbortError"&&i?.reason?.name!=="TimeoutError")throw e}finally{clearTimeout(t),!m&&this.gzipProbeDepth--}return a?.ext==="tar"?{ext:"tar.gz",mime:"application/gzip"}:{ext:"gz",mime:"application/gzip"}}check(e,t){return R(this.buffer,e,t)}checkString(e,t){return this.check(function(e,t){if("utf-16le"===t){let t=[];for(let i=0;i<e.length;i++){let r=e.charCodeAt(i);t.push(255&r,r>>8&255)}return t}if("utf-16be"===t){let t=[];for(let i=0;i<e.length;i++){let r=e.charCodeAt(i);t.push(r>>8&255,255&r)}return t}return[...e].map(e=>e.charCodeAt(0))}(e,t?.encoding),t)}detectConfident=async e=>{if(this.buffer=new Uint8Array(4100),void 0===e.fileInfo.size&&(e.fileInfo.size=Number.MAX_SAFE_INTEGER),this.tokenizer=e,M(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 S(e,6,{maximumLength:6,reason:"ID3 header prefix"});let t=await e.readToken(T),i=M(e);if(!Number.isFinite(t)||t<0||i&&(t>0x1000000||e.position+t>0x1000000))return;if(e.position+t>e.fileInfo.size){if(i)return;return{ext:"mp3",mime:"audio/mpeg"}}try{await S(e,t,{maximumLength:i?0x1000000:e.fileInfo.size,reason:"ID3 payload"})}catch(e){if(e instanceof r.d1)return;throw e}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"};
1if(this.check([80,75,3,4])){let t,i={hasContentTypesEntry:!1,hasParsedContentTypesEntry:!1,isParsingContentTypes:!1,hasUnparseableContentTypes:!1,hasWordDirectory:!1,hasPresentationDirectory:!1,hasSpreadsheetDirectory:!1,hasThreeDimensionalModelEntry:!1};try{await new f(e).unzip(e=>{var r;(r=e.filename).startsWith("word/")&&(i.hasWordDirectory=!0),r.startsWith("ppt/")&&(i.hasPresentationDirectory=!0),r.startsWith("xl/")&&(i.hasSpreadsheetDirectory=!0),r.startsWith("3D/")&&r.endsWith(".model")&&(i.hasThreeDimensionalModelEntry=!0);let a="[Content_Types].xml"===e.filename,n=B(i);if(!a&&n)return t=n,{stop:!0};switch(e.filename){case"META-INF/mozilla.rsa":return t={ext:"xpi",mime:"application/x-xpinstall"},{stop:!0};case"META-INF/MANIFEST.MF":return t={ext:"jar",mime:"application/java-archive"},{stop:!0};case"mimetype":if(!L(e,1048576))return{};return{async handler(e){let i=new TextDecoder("utf-8").decode(e).trim();t=z(i)},stop:!0};case"[Content_Types].xml":if(i.hasContentTypesEntry=!0,!L(e,1048576))return i.hasUnparseableContentTypes=!0,{};return i.isParsingContentTypes=!0,{async handler(e){let r=new TextDecoder("utf-8").decode(e),a=function(e){let t=e.indexOf('.main+xml"');if(-1===t){let t="application/vnd.ms-package.3dmanufacturing-3dmodel+xml";return e.includes(`ContentType="${t}"`)?t:void 0}let i=e.slice(0,t),r=i.lastIndexOf('"');return i.slice(r+1)}(r);a&&(t=z(a)),i.hasParsedContentTypesEntry=!0,i.isParsingContentTypes=!1},stop:!0};default:if(/classes\d*\.dex/.test(e.filename))return t={ext:"apk",mime:"application/vnd.android.package-archive"},{stop:!0};return{}}})}catch(e){if(!function(e){if(e instanceof r.d1||e instanceof w)return!0;if(!(e instanceof Error))return!1;if(k.has(e.message)||I.has(e.code))return!0;for(let t of b)if(e.message.startsWith(t))return!0;return!1}(e))throw e;i.isParsingContentTypes&&(i.isParsingContentTypes=!1,i.hasUnparseableContentTypes=!0)}return t??B(i)??{ext:"zip",mime:"application/zip"}}if(this.checkString("OggS")){await e.ignore(28);let t=new Uint8Array(8);return(await e.readBuffer(t),R(t,[79,112,117,115,72,101,97,100]))?{ext:"opus",mime:"audio/ogg; codecs=opus"}:R(t,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:R(t,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:R(t,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:R(t,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:R(t,[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])){let e=await this.readTiffHeader(!1);if(e)return e}if(this.check([77,77])){let e=await this.readTiffHeader(!0);if(e)return e}if(this.checkString("MAC "))return{ext:"ape",mime:"audio/ape"};if(this.check([26,69,223,163])){async function t(){let t=await e.peekNumber(a.UINT8),i=128,r=0;for(;(t&i)==0&&0!==i;)++r,i>>=1;let n=new Uint8Array(r+1);return await A(e,n,void 0,{maximumLength:n.length,reason:"EBML field"}),n}async function i(){let e=await t(),i=await t();i[0]^=128>>i.length-1;let r=Math.min(6,i.length),a=new DataView(e.buffer),n=new DataView(i.buffer,i.length-r,r);return{id:(0,g.AW)(a),len:(0,g.AW)(n)}}async function n(t){let r=0;for(;t>0;){if(++r>256||N(e,s,0x1000000))return;let n=e.position,o=await i();if(17026===o.id){if(o.len>64)return;let t=x(o.len,64,"EBML DocType");return(await e.readToken(new a.StringType(t))).replaceAll(/\00.*$/g,"")}if(M(e)&&(!Number.isFinite(o.len)||o.len<0||o.len>1048576)||(await S(e,o.len,{maximumLength:M(e)?1048576:e.fileInfo.size,reason:"EBML payload"}),--t,e.position<=n))return}}let r=await i(),s=e.position;switch(await n(r.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"};
1if(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])){let e=a.UINT32_BE.get(this.buffer,4),t=a.UINT16_BE.get(this.buffer,6);if(e>0&&e<=30)return{ext:"macho",mime:"application/x-mach-binary"};if(t>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")){let e=new a.StringType(4,"latin1").get(this.buffer,2);if(e.match("^d*")&&e>=1e3&&e<=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>"))return(await e.ignore(8),"debian-binary"===await e.readToken(new a.StringType(13,"ascii")))?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"};if(this.checkString("WEBVTT")&&["\n","\r"," "," ","\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])){let t={ext:"png",mime:"image/png"},i={ext:"apng",mime:"image/apng"};async function s(){return{length:await e.readToken(a.INT32_BE),type:await e.readToken(new a.StringType(4,"latin1"))}}await e.ignore(8);let n=M(e),o=e.position,c=0,l=!1;do{if(++c>512||N(e,o,0x1000000))break;let a=e.position,u=await s();if(u.length<0)return;if("IHDR"===u.type){if(13!==u.length)return;l=!0}switch(u.type){case"IDAT":return t;case"acTL":return i;default:if(!l&&"CgBI"!==u.type)return;if(n&&u.length>1048576)return l&&(32&u.type.codePointAt(0))!=0?t:void 0;try{await S(e,u.length+4,{maximumLength:n?1048580:e.fileInfo.size,reason:"PNG chunk payload"})}catch(e){if(!n&&(e instanceof w||e instanceof r.d1))return t;throw e}}if(e.position<=a)break}while(e.position+8<e.fileInfo.size);return t}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})&&(96&this.buffer[8])!=0){let e=new a.StringType(4,"latin1").get(this.buffer,8).replace("\0"," ").trim();switch(e){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:if(e.startsWith("3g")){if(e.startsWith("3g2"))return{ext:"3g2",mime:"video/3gpp2"};return{ext:"3gp",mime:"video/3gpp"}}return{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
1anasonic-rw2"};if(this.check([48,38,178,117,142,102,207,17,166,217])){let t=!1;try{async function o(){let t=new Uint8Array(16);return await A(e,t,void 0,{maximumLength:t.length,reason:"ASF header GUID"}),{id:t,size:Number(await e.readToken(a.UINT64_LE))}}await S(e,30,{maximumLength:30,reason:"ASF header prelude"});let i=M(e),r=e.position,n=0;for(;e.position+24<e.fileInfo.size&&!(++n>512||N(e,r,0x1000000));){let r=e.position,a=await o(),n=a.size-24;if(!Number.isFinite(n)||n<0){t=!0;break}if(R(a.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){let t=new Uint8Array(16);if(n-=await A(e,t,void 0,{maximumLength:t.length,reason:"ASF stream type GUID"}),R(t,[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(R(t,[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(i&&n>1048576||(await S(e,n,{maximumLength:i?1048576:e.fileInfo.size,reason:"ASF header payload"}),e.position<=r)){t=!0;break}}}catch(i){if(i instanceof r.d1||i instanceof w)M(e)&&(t=!0);else throw i}if(t)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]))switch(await e.ignore(20),await e.readToken(new a.StringType(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){let e=new DataView(this.buffer.buffer).getUint32(12,!0);if(e>12&&this.buffer.length>=e+16)try{let t=new TextDecoder().decode(this.buffer.subarray(16,e+16));if(JSON.parse(t).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})||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){let i=Number.parseInt(new a.StringType(6).get(e,148).replace(/\0.*$/,"").trim(),8);if(Number.isNaN(i))return!1;let r=256;for(let i=t;i<t+148;i++)r+=e[i];for(let i=t+156;i<t+512;i++)r+=e[i];return i===r}(this.buffer))return{ext:"tar",mime:"application/x-tar"};if(this.check([255,254])){let e="utf-16le";return this.checkString("<?xml ",{offset:2,encoding:e})?{ext:"xml",mime:"application/xml"}:this.check([255,14],{offset:2})&&this.checkString("SketchUp Model",{offset:4,encoding:e})?{ext:"skp",mime:"application/vnd.sketchup.skp"}:this.checkString("Windows Registry Editor Version 5.00\r\n",{offset:2,encoding:e})?{ext:"reg",mime:"application/x-ms-regedit"}:void 0}if(this.checkString("-----BEGIN PGP MESSAGE-----"))return{ext:"pgp",mime:"application/pgp-encrypted"}};detectImprecise=async e=>{var t;this.buffer=new Uint8Array(4100);let i=Number.isFinite(t=e.fileInfo.size)?Math.max(0,t):Number.MAX_SAFE_INTEGER;if(await e.peekBuffer(this.buffer,{length:Math.min(8,i),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,i),mayBeLess:!0}),this.buffer.length>=2+this.options.mpegOffsetTolerance)for(let e=0;e<=this.options.mpegOffsetTolerance;++e){let t=this.scanMpeg(e);if(t)return t}};async readTiffTag(e){let t=await this.tokenizer.readToken(e?a.UINT16_BE:a.UINT16_LE);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){let t=await this.tokenizer.readToken(e?a.UINT16_BE:a.UINT16_LE);if(!(t>512)&&(!M(this.tokenizer)||!(2+12*t>0x1000000)))for(let i=0;i<t;++i){let t=await this.readTiffTag(e);if(t)return t}}async readTiffHeader(e){let t={ext:"tif",mime:"image/tiff"},i=(e?a.UINT16_BE:a.UINT16_LE).get(this.buffer,2),n=(e?a.UINT32_BE:a.UINT32_LE).get(this.buffer,4);if(42===i){let i;if(n>=6){if(this.checkString("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(n>=8){let t=(e?a.UINT16_BE:a.UINT16_LE).get(this.buffer,8),i=(e?a.UINT16_BE:a.UINT16_LE).get(this.buffer,10);if(28===t&&254===i||31===t&&11===i)return{ext:"nef",mime:"image/x-nikon-nef"}}}if(M(this.tokenizer)&&n>1048576)return t;let s=M(this.tokenizer)?0x1000000:this.tokenizer.fileInfo.size;try{await S(this.tokenizer,n,{maximumLength:s,reason:"TIFF IFD offset"})}catch(e){if(e instanceof r.d1)return;throw e}try{i=await this.readTiffIFD(e)}catch(e){if(e instanceof r.d1)return;throw e}return i??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"};
1if(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"}}}}var P=i(65584),D=i(24238),O=i(32494);let F={multiple:!1},X={year:F,track:F,disk:F,title:F,artist:F,artists:{multiple:!0,unique:!0},albumartist:F,albumartists:{multiple:!0,unique:!0},album:F,date:F,originaldate:F,originalyear:F,releasedate:F,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:F,subtitle:{multiple:!0},discsubtitle:F,totaltracks:F,totaldiscs:F,compilation:F,rating:{multiple:!0},bpm:F,mood:F,media:F,catalognumber:{multiple:!0,unique:!0},tvShow:F,tvShowSort:F,tvSeason:F,tvEpisode:F,tvEpisodeId:F,tvNetwork:F,podcast:F,podcasturl:F,releasestatus:F,releasetype:{multiple:!0},releasecountry:F,script:F,language:F,copyright:F,license:F,encodedby:F,encodersettings:F,gapless:F,barcode:F,isrc:{multiple:!0},asin:F,musicbrainz_recordingid:F,musicbrainz_trackid:F,musicbrainz_albumid:F,musicbrainz_artistid:{multiple:!0},musicbrainz_albumartistid:{multiple:!0},musicbrainz_releasegroupid:F,musicbrainz_workid:F,musicbrainz_trmid:F,musicbrainz_discid:F,acoustid_id:F,acoustid_fingerprint:F,musicip_puid:F,musicip_fingerprint:F,website:F,"performer:instrument":{multiple:!0,unique:!0},averageLevel:F,peakLevel:F,notes:{multiple:!0,unique:!1},key:F,originalalbum:F,originalartist:F,discogs_artist_id:{multiple:!0,unique:!0},discogs_release_id:F,discogs_label_id:F,discogs_master_release_id:F,discogs_votes:F,discogs_rating:F,replaygain_track_peak:F,replaygain_track_gain:F,replaygain_album_peak:F,replaygain_album_gain:F,replaygain_track_minmax:F,replaygain_album_minmax:F,replaygain_undo:F,description:{multiple:!0},longDescription:F,category:{multiple:!0},hdVideo:F,keywords:{multiple:!0},movement:F,movementIndex:F,movementTotal:F,podcastId:F,showMovement:F,stik:F,playCounter:F};class G{static toIntOrNull(e){let t=Number.parseInt(e,10);return Number.isNaN(t)?null:t}static normalizeTrack(e){let 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);let i=this.getCommonName(e.id);return i?{id:i,value:e.value}:null}getCommonName(e){return this.tagMap[e]}postMap(e,t){}}G.maxRatingScore=1;let W={title:"title",artist:"artist",album:"album",year:"year",comment:"comment",track:"track",genre:"genre"};class $ extends G{constructor(){super(["ID3v1"],W)}}class q extends G{constructor(e,t){const i={};for(const e of Object.keys(t))i[e.toUpperCase()]=t[e];super(e,i)}getCommonName(e){return this.tagMap[e.toUpperCase()]}}var j=i(29488);let Z={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":"
1catalognumber","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 H extends q{static toRating(e){return{source:e.email,rating:e.rating>0?(e.rating-1)/254*G.maxRatingScore:void 0}}constructor(){super(["ID3v2.3","ID3v2.4"],Z)}postMap(e,t){switch(e.id){case"UFID":{let t=e.value;"http://musicbrainz.org"===t.owner_identifier&&(e.id+=`:${t.owner_identifier}`,e.value=(0,j.sc)(t.identifier,"latin1"))}break;case"PRIV":{let i=e.value;switch(i.owner_identifier){case"AverageLevel":case"PeakValue":e.id+=`:${i.owner_identifier}`,e.value=4===i.data.length?a.UINT32_LE.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=H.toRating(e.value)}}}let Y={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/
1Media":"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 K extends G{static toRating(e){return{rating:Number.parseFloat(e+1)/5}}constructor(){super(["asf"],Y)}postMap(e){if("WM/SharedUserRating"===e.id){let t=e.id.split(":");e.value=K.toRating(e.value),e.id=t[0]}}}let V={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
1opyright",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 J extends q{constructor(){super(["ID3v2.2"],V)}}let Q={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 ee extends q{constructor(){super(["APEv2"],Q)}}let et={"\xa9nam":"title","\xa9ART":"artist",aART:"albumartist","----:com.apple.iTunes:Band":"albumartist","\xa9alb":"album","\xa9day":"date","\xa9cmt":"comment","\xa9com":"comment",trkn:"track",disk:"disk","\xa9gen":"genre",covr:"picture","\xa9wrt":"composer","\xa9lyr":"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","\xa9grp":"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","\xa9cpy":"copyright","----:com.apple.iTunes:LICENSE":"license","\xa9too":"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","\xa9mvn":"movement","\xa9mvi":"movementIndex","\xa9mvc":"movementTotal","\xa9wrk":"work",catg:"category",egid:"podcastId",hdvd:"hdVideo",keyw:"keywords",shwm:"showMovement",stik:"stik",rate:"rating"};class ei extends q{constructor(){super(["iTunes"],et)}postMap(e,t){"rate"===e.id&&(e.value={source:void 0,rating:Number.parseFloat(e.value)/100})}}let er={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
1:"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 ea extends G{static toRating(e,t,i){return{source:e?e.toLowerCase():void 0,rating:Number.parseFloat(t)/i*G.maxRatingScore}}constructor(){super(["vorbis"],er)}postMap(e){if("RATING"===e.id)e.value=ea.toRating(void 0,e.value,100);else if(0===e.id.indexOf("RATING:")){let t=e.id.split(":");e.value=ea.toRating(t[1],e.value,1),e.id=t[0]}}}let en={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 es extends G{constructor(){super(["exif"],en)}}let eo={"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 ec extends q{constructor(){super(["matroska"],eo)}}let el={NAME:"title",AUTH:"artist","(c) ":"copyright",ANNO:"comment"};class eu extends G{constructor(){super(["AIFF"],el)}}var em=i(21021);class ep{constructor(){this.tagMappers={},[new $,new J,new H,new ei,new ei,new ea,new ee,new K,new es,new ec,new eu].forEach(e=>{this.registerTagMapper(e)})}mapTag(e,t,i){if(this.tagMappers[e])return this.tagMappers[e].mapGenericTag(t,i);throw new em.nK(`No generic tag mapper defined for tag-format: ${e}`)}registerTagMapper(e){for(let t of e.tagTypes)this.tagMappers[t]=e}}var ed=i(65130);let ef=/\[(\d{2}):(\d{2})\.(\d{2,3})]/,eh=n("music-metadata:collector"),eg=["matroska","APEv2","vorbis","ID3v2.4","ID3v2.3","ID3v2.2","exif","asf","iTunes","AIFF","ID3v1"];class eT{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}}
1,this.quality={warnings:[]},this.commonOrigin={},this.originPriority={},this.tagMapper=new ep,this.opts=e;let t=1;for(const e of eg)this.originPriority[e]=t++;this.originPriority.artificial=500,this.originPriority.id3v1=600}hasAny(){return Object.keys(this.native).length>0}addStreamInfo(e){eh(`streamInfo: type=${e.type?O.vQ[e.type]:"?"}, codec=${e.codecName}`),this.format.trackInfo.push(e)}setFormat(e,t){eh(`format: ${e} = ${t}`),this.format[e]=t,this.opts?.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){eh(`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":this.common.track.of=G.toIntOrNull(t.value);return;case"totaldiscs":this.common.disk.of=G.toIntOrNull(t.value);return;case"movementTotal":this.common.movementIndex.of=G.toIntOrNull(t.value);return;case"track":case"disk":case"movementIndex":{let e=this.common[t.id].of;this.common[t.id]=G.normalizeTrack(t.value),this.common[t.id].of=null!=e?e:this.common[t.id].of;return}case"bpm":case"year":case"originalyear":t.value=Number.parseInt(t.value,10);break;case"date":{let 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=(0,j.th)(t.value);break;case"replaygain_track_minmax":t.value=t.value.split(",").map(e=>Number.parseInt(e,10));break;case"replaygain_undo":{let 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":{let 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":var i,r;"string"==typeof t.value&&(i=t.value,t.value=ef.test(i)?function(e){let t=e.split("\n"),i=[];for(let e of t){let t=e.match(ef);if(t){let r=(60*Number.parseInt(t[1],10)+Number.parseInt(t[2],10))*1e3+(3===t[3].length?Number.parseInt(t[3],10):10*Number.parseInt(t[3],10)),a=e.replace(ef,"").trim();i.push({timestamp:r,text:a})}}return{contentType:ed.MW.lyrics,timeStampFormat:ed.sd.milliseconds,text:i.map(e=>e.text).join("\n"),syncText:i}}(i):(r=i,{contentType:ed.MW.lyrics,timeStampFormat:ed.sd.notSynchronized,text:r.trim(),syncText:[]}))}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))){var a;let e=(a=(this.common[r]||[]).concat([t.value])).length>2?`${a.slice(0,a.length-1).join(", ")} & ${a[a.length-1]}`:a.join(" & ");this.setGenericTag("artificial",{id:i,value:e})}this.setGenericTag(e,t)}async postFixPicture(e){if(e.data&&e.data.length>0){if(!e.format){let t=await _(Uint8Array.from(e.data));if(!t)return null;e.format=t.mime}return e.format=e.format.toLocaleLowerCase(),"image/jpg"===e.format&&(e.format="image/jpeg"),e}return this.addWarning("Empty picture tag found"),null}async toCommon(e,t,i){let r=this.tagMapper.mapTag(e,{id:t,value:i},this);r&&await this.postMap(e,r)}setGenericTag(e,t){var i,r;eh(`common.${t.id} = ${t.value}`);let a=this.commonOrigin[t.id]||1e3,n=this.originPriority[e];if(X[i=t.id]&&!X[i].multiple)if(!(n<=a))return eh(`Ignore native tag (singleton): ${e}.${t.id} = ${t.value}`);else this.common[t.id]=t.value,this.commonOrigin[t.id]=n;else if(n===a)(!X[r=t.id].multiple||X[r].unique)&&-1!==this.common[t.id].indexOf(t.value)?eh(`Ignore duplicate value: ${e}.${t.id} = ${t.value}`):this.common[t.id].push(t.value);else{if(!(n<a))return eh(`Ignore native tag (list): ${e}.${t.id} = ${t.value}`);this.common[t.id]=[t.value],this.commonOrigin[t.id]=n}this.opts?.observer&&this.opts.observer({metadata:this,tag:{type:"common",id:t.id,value:t.value}})}}let ey={parserType:"mpeg",extensions:[".mp2",".mp3",".m2a",".aac","aacp"],mimeTypes:["audio/mpeg","audio/mp3","audio/aacs","audio/aacp"],load:async()=>(await Promise.all([i.e(52813),i.e(29195)]).then(i.bind(i,29195))).MpegParser},ek={parserType:"apev2",extensions:[".ape"],mimeTypes:["audio/ape","audio/monkeys-audio"],load:async()=>(await Promise.resolve().then(i.bind(i,13334))).APEv2Parser},eb={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 i.e(63781).then(i.bind(i,86162))).AsfParser},eI={parserType:"dsdiff",extensions:[".dff"],mimeTypes:["audio/dsf","audio/dsd"],load:async()=>(await Promise.all([i.e(52813),i.e(1729)]).then(i.bind(i,1729))).DsdiffParser},ew={parserType:"aiff",extensions:[".aif","aiff","aifc"],mimeTypes:["audio/aiff","audio/aif","audio/aifc","application/aiff"],load:async()=>(await Promise.all([i.e(52813),i.e(49714)]).then(i.bind(i,49714))).AIFFParser},ex={parserType:"dsf",extensions:[".dsf"],mimeTypes:["audio/dsf"],load:async()=>(await Promise.all([i.e(52813),i.e(93229)]).then(i.bind(i,93229))).DsfParser},eS={parserType:"flac",extensions:[".flac"],mimeTypes:["audio/flac"],load:async()=>(await Promise.all([i.e(52813),i.e(26288)]).then(i.bind(i,26288))).FlacParser},eA={parserType:"matroska",extensions:[".mka",".mkv",".mk3d",".mks","webm"],mimeTypes:["audio/matroska","video/matroska","audio/webm","video/webm"],load:async()=>(await i.e(43717).then(i.bind(i,43717))).MatroskaParser},eE={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 i.e(67744).then(i.bind(i,67744))).MP4Parser},ev={parserType:"musepack",extensions:[".mpc"],mimeTypes:["audio/musepack"],load:async()=>(await Promise.all([i.e(52813),i.e(96899)]).then(i.bind(i,96899))).MusepackParser},eC={parserType:"ogg",extensions:[".ogg",".ogv",".oga",".ogm",".ogx",".opus",".spx"],mimeTypes:["audio/ogg","audio/opus","audio/speex","video/ogg"],load:async()=>(await Promise.all([i.e(52813),i.e(10139)]).then(i.bind(i,10139))).OggParser},e_={parserType:"wavpack",extensions:[".wv",".wvp"],mimeTypes:["audio/wavpack"],load:async()=>(await i.e(12630).then(i.bind(i,12630))).WavPackParser},ez={parserType:"riff",extensions:[".wav","wave",".bwf"],mimeTypes:["audio/vnd.wave","audio/wav","audio/wave"],load:async()=>(await Promise.all([i.e(52813),i.e(63888)]).then(i.bind(i,63888))).WaveParser},eR=n("music-metadata:parser:factory");class eM{constructor(){this.parsers=[],[eS,ey,ek,eE,eA,ez,eC,eb,ew,e_,ev,ex,eI].forEac
1h(e=>{this.registerParser(e)})}registerParser(e){this.parsers.push(e)}async parse(e,t,i){if(e.supportsRandomAccess()?(eR("tokenizer supports random-access, scanning for appending headers"),await e$(e,i)):eR("tokenizer does not support random-access, cannot scan for appending headers"),!t){let 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){eR("Guess parser on content..."),await e.peekBuffer(i,{mayBeLess:!0});let r=await _(i,{mpegOffsetTolerance:10});if(!r||!r.mime)throw new em.e6("Failed to determine audio format");if(eR(`Guessed file type is mime=${r.mime}, extension=${r.ext}`),!(t=this.findLoaderForContentType(r.mime)))throw new em.qq(`Guessed MIME-type not supported: ${r.mime}`)}}eR(`Loading ${t.parserType} parser...`);let r=new eT(i),a=new(await t.load())(r,e,i??{});return eR(`Parser ${t.parserType} loaded`),await a.parse(),r.format.trackInfo&&(void 0===r.format.hasAudio&&r.setFormat("hasAudio",!!r.format.trackInfo.find(e=>e.type===O.S.audio)),void 0===r.format.hasVideo&&r.setFormat("hasVideo",!!r.format.trackInfo.find(e=>e.type===O.S.video))),r.toCommonMetadata()}findLoaderForExtension(e){var t;let i;if(!e)return;let r=(-1===(i=(t=e).lastIndexOf("."))?"":t.substring(i)).toLocaleLowerCase()||e;return this.parsers.find(e=>-1!==e.extensions.indexOf(r))}findLoaderForContentType(e){let t;if(!e)return;try{let i,r;i=P.parse(e),t={type:(r=(0,D.qg)(i.type)).type,subtype:r.subtype,suffix:r.suffix,parameters:i.parameters}}catch(t){eR(`Invalid HTTP Content-Type header value: ${e}`);return}let 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(){let e=new Set;return this.parsers.forEach(t=>{t.mimeTypes.forEach(t=>{e.add(t),e.add(t.replace("/","/x-"))})}),Array.from(e)}}var eN=i(13334),eL=i(48430),eB=i(35052);async function eU(e){let t=e.fileInfo.size;if(t>=143){let i=new Uint8Array(15),r=e.position;await e.readBuffer(i,{position:t-143}),e.setPosition(r);let a=(0,eB.c)(i,"latin1");if("LYRICS200"===a.substring(6))return Number.parseInt(a.substring(0,6),10)+15}return 0}async function eP(e,t={}){let i=(0,r._F)(e);try{return await eF(i,t)}finally{await i.close()}}async function eD(e,t,i={}){let a=(0,r.Xx)(e,{fileInfo:"string"==typeof t?{mimeType:t}:t});try{return await eF(a,i)}finally{await a.close()}}async function eO(e,t,i={}){return eF((0,r.vY)(e,{fileInfo:"string"==typeof t?{mimeType:t}:t}),i)}function eF(e,t){return new eM().parse(e,void 0,t)}function eX(e){let t={};for(let{id:i,value:r}of e)(t[i]||(t[i]=[])).push(r);return t}function eG(e){return void 0===e?0:1+Math.round(4*e)}function eW(e){return e?e.reduce((e,t)=>t.name&&t.name.toLowerCase()in["front","cover","cover (front)"]?t:e):null}async function e$(e,t={}){let i=e.fileInfo.size;await (0,eL.zc)(e)&&(i-=128,i-=await eU(e)),t.apeHeader=await eN.APEv2Parser.findApeFooterOffset(e,i)}
1async function eq(e,t={}){throw Error("This function require a Node engine. To load Web API File objects use parseBlob instead.")}async function ej(e,t,i={}){throw Error("This function require a Node engine.")}function eZ(){return new eM().getSupportedMimeTypes()}},13334:(e,t,i)=>{"use strict";i.r(t),i.d(t,{APEv2Parser:()=>I,ApeContentError:()=>k,tryParseApeHeader:()=>b});var r=i(26428),a=i(74074),n=i(96157),s=i(29488),o=i(48733),c=i(88862);let l={len:52,get:(e,t)=>({ID:c.e.get(e,t),version:n.UINT32_LE.get(e,t+4)/1e3,descriptorBytes:n.UINT32_LE.get(e,t+8),headerBytes:n.UINT32_LE.get(e,t+12),seekTableBytes:n.UINT32_LE.get(e,t+16),headerDataBytes:n.UINT32_LE.get(e,t+20),apeFrameDataBytes:n.UINT32_LE.get(e,t+24),apeFrameDataBytesHigh:n.UINT32_LE.get(e,t+28),terminatingDataBytes:n.UINT32_LE.get(e,t+32),fileMD5:new n.Uint8ArrayType(16).get(e,t+36)})},u={len:24,get:(e,t)=>({compressionLevel:n.UINT16_LE.get(e,t),formatFlags:n.UINT16_LE.get(e,t+2),blocksPerFrame:n.UINT32_LE.get(e,t+4),finalFrameBlocks:n.UINT32_LE.get(e,t+8),totalFrames:n.UINT32_LE.get(e,t+12),bitsPerSample:n.UINT16_LE.get(e,t+16),channel:n.UINT16_LE.get(e,t+18),sampleRate:n.UINT32_LE.get(e,t+20)})},m={len:32,get:(e,t)=>({ID:new n.StringType(8,"ascii").get(e,t),version:n.UINT32_LE.get(e,t+8),size:n.UINT32_LE.get(e,t+12),fields:n.UINT32_LE.get(e,t+16),flags:d(n.UINT32_LE.get(e,t+20))})},p={len:8,get:(e,t)=>({size:n.UINT32_LE.get(e,t),flags:d(n.UINT32_LE.get(e,t+4))})};function d(e){return{containsHeader:(-0x80000000&e)!=0,containsFooter:(0x40000000&e)!=0,isHeader:(0x20000000&e)!=0,readOnly:(1&e)!=0,dataType:(6&e)>>1}}var f=i(21021),h=i(35052);let g=r("music-metadata:parser:APEv2"),T="APEv2",y="APETAGEX";class k extends(0,f.fO)("APEv2"){}function b(e,t,i){return new I(e,t,i).tryParseApeHeader()}class I extends o.s{constructor(){super(...arguments),this.ape={}}static calculateDuration(e){let t=e.totalFrames>1?e.blocksPerFrame*(e.totalFrames-1):0;return(t+=e.finalFrameBlocks)/e.sampleRate}static async findApeFooterOffset(e,t){let i=new Uint8Array(m.len),r=e.position;if(t<=m.len)return void g(`Offset is too small to read APE footer: offset=${t}`);if(t>m.len){await e.readBuffer(i,{position:t-m.len}),e.setPosition(r);let a=m.get(i,0);if("APETAGEX"===a.ID)return a.flags.isHeader?g(`APE Header found at offset=${t-m.len}`):(g(`APE Footer found at offset=${t-m.len}`),t-=a.size),{footer:a,offset:t}}}static parseTagFooter(e,t,i){let r=m.get(t,t.length-m.len);if(r.ID!==y)throw new k("Unexpected APEv2 Footer ID preamble value");return a.vY(t),new I(e,a.vY(t),i).parseTags(r)}async tryParseApeHeader(){if(this.tokenizer.fileInfo.size&&this.tokenizer.fileInfo.size-this.tokenizer.position<m.len)return void g("No APEv2 header found, end-of-file reached");let e=await this.tokenizer.peekToken(m);if(e.ID===y)return await this.tokenizer.ignore(m.len),this.parseTags(e);if(g(`APEv2 header not found at offset=${this.tokenizer.position}`),this.tokenizer.fileInfo.size){let e=new Uint8Array(this.tokenizer.fileInfo.size-this.tokenizer.position);return await this.tokenizer.readBuffer(e),I.parseTagFooter(this.metadata,e,this.options)}}async parse(){let e=await this.tokenizer.readToken(l);if("MAC "!==e.ID)throw new k("Unexpected descriptor ID");this.ape.descriptor=e;let t=e.descriptorBytes-l.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){let t=new Uint8Array(256),i=e.size-m.len;g(`Parse APE tags at offset=${this.tokenizer.position}, size=${i}`);for(let r=0;r<e.fields;r++){if(i<p.len){this.metadata.addWarning(`APEv2 Tag-header: ${e.fields-r} items remaining, but no more tag data to read.`);break}let a=await this.tokenizer.readToken(p);i-=p.len+a.size,await this.tokenizer.peekBuffer(t,{length:Math.min(t.length,i)});let o=s.sX(t),c=await this.tokenizer.readToken(new n.StringType(o,"ascii"));switch(await this.tokenizer.ignore(1),i-=c.length+1,a.flags.dataType){case 0:{let e=(await this.tokenizer.readToken(new n.StringType(a.size,"utf8"))).split(/\x00/g);await Promise.all(e.map(e=>this.metadata.addTag(T,c,e)));break}case 1:if(this.options.skipCovers)await this.tokenizer.ignore(a.size);else{let e=new Uint8Array(a.size);await this.tokenizer.readBuffer(e),o=s.sX(e);let t=(0,h.c)(e.subarray(0,o),"utf-8"),i=e.subarray(o+1);await this.metadata.addTag(T,c,{description:t,data:i})}break;case 2:g(`Ignore external info ${c}`),await this.tokenizer.ignore(a.size);break;case 3:g(`Ignore external info ${c}`),this.metadata.addWarning(`APEv2 header declares a reserved datatype for "${c}"`),await this.tokenizer.ignore(a.size)}}}async parseDescriptorExpansion(e){return await this.tokenizer.ignore(e),this.parseHeader()}async parseHeader(){let e=await this.tokenizer.readToken(u);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",I.calculateDuration(e)),!this.ape.descriptor)throw new k("Missing APE descriptor");return{forwardBytes:this.ape.descriptor.seekTableBytes+this.ape.descriptor.headerDataBytes+this.ape.descriptor.apeFrameDataBytes+this.ape.descriptor.terminatingDataBytes}}}},21021:(e,t,i)=>{"use strict";i.d(t,{U9:()=>r,e6:()=>a,fO:()=>l,gP:()=>o,nK:()=>c,qq:()=>n});let r=e=>
1class extends Error{constructor(t){super(t),this.name=e}};class a extends r("CouldNotDetermineFileTypeError"){}class n extends r("UnsupportedFileTypeError"){}class s extends r("UnexpectedFileContentError"){constructor(e,t){super(t),this.fileType=e}toString(){return`${this.name} (FileType: ${this.fileType}): ${this.message}`}}class o extends r("FieldDecodingError"){}class c extends r("InternalParserError"){}let l=e=>class extends s{constructor(t){super(e,t)}}},24238:(e,t)=>{"use strict";var i=/^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/;function r(e,t,i){this.type=e,this.subtype=t,this.suffix=i}t.qg=function(e){if(!e)throw TypeError("argument string is required");if("string"!=typeof e)throw TypeError("argument string is required to be a string");var t,a=i.exec(e.toLowerCase());if(!a)throw TypeError("invalid media type");var n=a[1],s=a[2],o=s.lastIndexOf("+");return -1!==o&&(t=s.substr(o+1),s=s.substr(0,o)),new r(n,s,t)}},26428:(e,t,i)=>{let r;var a=i(33510);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;let i="color: "+this.color;t.splice(1,0,i,"color: inherit");let r=0,a=0;t[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(r++,"%c"===e&&(a=r))}),t.splice(a,0,i)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")||t.storage.getItem("DEBUG")}catch(e){}return!e&&void 0!==a&&"env"in a&&(e=a.env.DEBUG),e},t.useColors=function(){let e;return"u">typeof window&&!!window.process&&("renderer"===window.process.type||!!window.process.__nwjs)||!("u">typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("u">typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"u">typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"u">typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"u">typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage=function(){try{return localStorage}catch(e){}}(),r=!1,t.destroy=()=>{r||(r=!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=i(74357)(t);let{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},29488:(e,t,i)=>{"use strict";i.d(t,{DY:()=>p,F6:()=>l,cD:()=>m,f5:()=>u,ku:()=>f,mh:()=>s,qW:()=>c,sX:()=>o,sc:()=>function e(t,i){if(255===t[0]&&254===t[1])return e(t.subarray(2),i);if("utf-16le"===i&&254===t[0]&&255===t[1]){if((1&t.length)!=0)throw new a.gP("Expected even number of octets for 16-bit unicode string");return e(function(e){let t=e.length;if((1&t)!=0)throw new a.gP("Buffer length must be even");for(let i=0;i<t;i+=2){let t=e[i];e[i]=e[i+1],e[i+1]=t}return e}(t),i)}return new r.StringType(t.length,i).get(t,0)},th:()=>d});var r=i(96157),a=i(21021),n=i(7072);function s(e,t,i){return(e[t]&1<<i)!=0}function o(e,t){let 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 t=0;t<i;t++)if(0===e[t])return t;return i}function c(e){let t=e.indexOf("\0");return -1===t?e:e.substring(0,t)}function l(e){return(e=e.replace(/^\x00+/g,"")).replace(/\x00+$/g,"")}function u(e,t,i,r){let a=t+~~(i/8),n=i%8,s=e[a];s&=255>>n;let o=8-n,c=r-o;return c<0?s>>=8-n-r:c>0&&(s<<=c,s|=u(e,t,i+o,c)),s}function m(e,t,i){return 1===u(e,t,i,1)}function p(e){let t=[];for(let i=0,r=e.length;i<r;i++){let r=Number(e.charCodeAt(i)).toString(16);t.push(1===r.length?`0${r}`:r)}return t.join(" ")}function d(e){let t=e.split(" ").map(e=>e.trim().toLowerCase());if(t.length>=1){let e=Number.parseFloat(t[0]);return 2===t.length&&"db"===t[1]?{dB:e,ratio:10**(e/10)}:{dB:10*Math.log10(e),ratio:e}}}function f(e){if(0===e.length)throw Error("decodeUintBE: empty Uint8Array");let t=new DataView(e.buffer,e.byteOffset,e.byteLength);return(0,n.AW)(t)}},32494:(e,t,i)=>{"use strict";i.d(t,{S:()=>a,vQ:()=>n,yK:()=>r});let r={10:"shot",20:"scene",30:"track",40:"part",50:"album",60:"edition",70:"collection"},a={video:1,audio:2,complex:3,logo:4,subtitle:17,button:18,control:32},n={[a.video]:"video",[a.audio]:"audio",[a.complex]:"complex",[a.logo]:"logo",[a.subtitle]:"subtitle",[a.button]:"button",[a.control]:"control"}},35052:(e,t,i)=>{"use strict";let r,a;i.d(t,{I:()=>c,c:()=>o});let n={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:"Ÿ"},s={};for(let[e,t]of Object.entries(n))s[t]=Number.parseInt(e,10);function o(e,t="utf-8"){switch(t.toLowerCase()){case"utf-8":case"utf8":{let t=function(){if(void 0!==globalThis.TextDecoder)return null!=r?r:r=new globalThis.TextDecoder("utf-8")}();return t?t.decode(e):function(e){let t=[],i=[],r=0;for(e.length>=3&&239===e[0]&&187===e[1]&&191===e[2]&&(r=3);r<e.length;){var a;let n=e[r];if(n<=127){u(t,i,n),r++;continue}if(n<194||n>244){u(t,i,65533),r++;continue}if(n<=223){if(r+1>=e.length){u(t,i,65533),r++;continue}let a=e[r+1];if((192&a)!=128){u(t,i,65533),r++;continue}u(t,i,(31&n)<<6|63&a),r+=2;continue}if(n<=239){if(r+2>=e.length){u(t,i,65533),r++;continue}let a=e[r+1],s=e[r+2];
1if((192&a)!=128||(192&s)!=128||224===n&&a<160||237===n&&a>=160){u(t,i,65533),r++;continue}u(t,i,(15&n)<<12|(63&a)<<6|63&s),r+=3;continue}if(r+3>=e.length){u(t,i,65533),r++;continue}let s=e[r+1],o=e[r+2],c=e[r+3];if((192&s)!=128||(192&o)!=128||(192&c)!=128||240===n&&s<144||244===n&&s>143){u(t,i,65533),r++;continue}(a=(7&n)<<18|(63&s)<<12|(63&o)<<6|63&c)<=65535?u(t,i,a):(u(t,i,55296+((a-=65536)>>10)),u(t,i,56320+(1023&a))),r+=4}return l(t,i),t.join("")}(e)}case"utf-16le":return function(e){let t=[],i=[],r=e.length,a=0;for(;a+1<r;){let n=e[a]|e[a+1]<<8;if(a+=2,n>=55296&&n<=56319){if(a+1<r){let r=e[a]|e[a+1]<<8;r>=56320&&r<=57343?(u(t,i,n),u(t,i,r),a+=2):u(t,i,65533)}else u(t,i,65533);continue}if(n>=56320&&n<=57343){u(t,i,65533);continue}u(t,i,n)}return a<r&&u(t,i,65533),l(t,i),t.join("")}(e);case"us-ascii":case"ascii":return function(e){let t=[];for(let i=0;i<e.length;i+=32768){let r=Math.min(e.length,i+32768),a=Array(r-i);for(let t=i,n=0;t<r;t++,n++)a[n]=127&e[t];t.push(String.fromCharCode.apply(null,a))}return t.join("")}(e);case"latin1":case"iso-8859-1":return function(e){let t=[];for(let i=0;i<e.length;i+=32768){let r=Math.min(e.length,i+32768),a=Array(r-i);for(let t=i,n=0;t<r;t++,n++)a[n]=e[t];t.push(String.fromCharCode.apply(null,a))}return t.join("")}(e);case"windows-1252":return function(e){let t=[],i="";for(let r=0;r<e.length;r++){let a=e[r],s=a>=128&&a<=159?n[a]:void 0;(i+=null!=s?s:String.fromCharCode(a)).length>=32768&&(t.push(i),i="")}return i&&t.push(i),t.join("")}(e);default:throw RangeError(`Encoding '${t}' not supported`)}}
1function c(e="",t="utf-8"){switch(t.toLowerCase()){case"utf-8":case"utf8":{let t=function(){if(void 0!==globalThis.TextEncoder)return null!=a?a:a=new globalThis.TextEncoder}();return t?t.encode(e):function(e){let t=[];for(let i=0;i<e.length;i++){let r=e.charCodeAt(i);if(r>=55296&&r<=56319)if(i+1<e.length){let t=e.charCodeAt(i+1);t>=56320&&t<=57343?(r=65536+(r-55296<<10)+(t-56320),i++):r=65533}else r=65533;else r>=56320&&r<=57343&&(r=65533);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){let t=[];for(let i=0;i<e.length;i++){let r=e.charCodeAt(i);if(r>=55296&&r<=56319){if(i+1<e.length){let a=e.charCodeAt(i+1);a>=56320&&a<=57343?(t.push(r,a),i++):t.push(65533)}else t.push(65533);continue}if(r>=56320&&r<=57343){t.push(65533);continue}t.push(r)}let i=new Uint8Array(2*t.length);for(let e=0;e<t.length;e++){let r=t[e],a=2*e;i[a]=255&r,i[a+1]=r>>>8}return i}(e);case"us-ascii":case"ascii":var i=e;let r=new Uint8Array(i.length);for(let e=0;e<i.length;e++)r[e]=127&i.charCodeAt(e);return r;case"latin1":case"iso-8859-1":var n=e;let o=new Uint8Array(n.length);for(let e=0;e<n.length;e++)o[e]=255&n.charCodeAt(e);return o;case"windows-1252":var l=e;let u=new Uint8Array(l.length);for(let e=0;e<l.length;e++){let t=l[e],i=t.charCodeAt(0);if(void 0!==s[t]){u[e]=s[t];continue}if(i>=0&&i<=127||i>=160&&i<=255){u[e]=i;continue}u[e]=63}return u;default:throw RangeError(`Encoding '${t}' not supported`)}}function l(e,t){0!==t.length&&(e.push(String.fromCharCode.apply(null,t)),t.length=0)}function u(e,t,i){t.push(i),t.length>=32768&&l(e,t)}},41664:e=>{function t(e,t,i,r){return Math.round(e/i)+" "+r+(t>=1.5*i?"s":"")}e.exports=function(e,i){i=i||{};var r,a,n,s,o=typeof e;if("string"===o&&e.length>0){var c=e;if(!((c=String(c)).length>100)){var l=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(c);if(l){var u=parseFloat(l[1]);switch((l[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*u;case"weeks":case"week":case"w":return 6048e5*u;case"days":case"day":case"d":return 864e5*u;case"hours":case"hour":case"hrs":case"hr":case"h":return 36e5*u;case"minutes":case"minute":case"mins":case"min":case"m":return 6e4*u;case"seconds":case"second":case"secs":case"sec":case"s":return 1e3*u;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return u;default:break}}}return}if("number"===o&&isFinite(e)){return i.long?(a=Math.abs(r=e))>=864e5?t(r,a,864e5,"day"):a>=36e5?t(r,a,36e5,"hour"):a>=6e4?t(r,a,6e4,"minute"):a>=1e3?t(r,a,1e3,"second"):r+" ms":(s=Math.abs(n=e))>=864e5?Math.round(n/864e5)+"d":s>=36e5?Math.round(n/36e5)+"h":s>=6e4?Math.round(n/6e4)+"m":s>=1e3?Math.round(n/1e3)+"s":n+"ms"}throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},48430:(e,t,i)=>{"use strict";i.d(t,{Bn:()=>d,jR:()=>u,zc:()=>f});var r=i(26428),a=i(96157),n=i(29488),s=i(48733),o=i(13334),c=i(35052);let l=r("music-metadata:parser:ID3v1"),u=["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","Sound Clip","Gospel","Noise","Alt. Rock","Bass","Soul","Punk","Space","Meditative","Instrumental Pop","Instrumental Rock","Ethnic","Gothic","Darkwave","Techno-Industrial","Electronic","Po
1p-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"],m={len:128,get:(e,t)=>{let i=new p(3).get(e,t);return"TAG"===i?{header:i,title:new p(30).get(e,t+3),artist:new p(30).get(e,t+33),album:new p(30).get(e,t+63),year:new p(4).get(e,t+93),comment:new p(28).get(e,t+97),zeroByte:a.UINT8.get(e,t+127),track:a.UINT8.get(e,t+126),genre:a.UINT8.get(e,t+127)}:null}};class p{constructor(e){this.len=e,this.stringType=new a.StringType(e,"latin1")}get(e,t){let i=this.stringType.get(e,t);return(i=(i=n.qW(i)).trim()).length>0?i:void 0}}class d extends s.s{constructor(e,t,i){super(e,t,i),this.apeHeader=i.apeHeader}static getGenre(e){if(e<u.length)return u[e]}async parse(){if(!this.tokenizer.fileInfo.size)return void l("Skip checking for ID3v1 because the file-size is unknown");if(this.apeHeader){this.tokenizer.ignore(this.apeHeader.offset-this.tokenizer.position);let e=new o.APEv2Parser(this.metadata,this.tokenizer,this.options);await e.parseTags(this.apeHeader.footer)}let e=this.tokenizer.fileInfo.size-m.len;if(this.tokenizer.position>e)return void l("Already consumed the last 128 bytes");let t=await this.tokenizer.readToken(m,e);if(t){for(let e of(l("ID3v1 header found at: pos=%s",this.tokenizer.fileInfo.size-m.len),["title","artist","album","comment","track","year"]))t[e]&&""!==t[e]&&await this.addTag(e,t[e]);let e=d.getGenre(t.genre);e&&await this.addTag("genre",e)}else l("ID3v1 header not found at: pos=%s",this.tokenizer.fileInfo.size-m.len)}async addTag(e,t){await this.metadata.addTag("ID3v1",e,t)}}async function f(e){if(e.fileInfo.size>=128){let t=new Uint8Array(3),i=e.position;return await e.readBuffer(t,{position:e.fileInfo.size-128}),e.setPosition(i),"TAG"===(0,c.c)(t,"latin1")}return!1}},48733:(e,t,i)=>{"use strict";i.d(t,{s:()=>r});class r{constructor(e,t,i){this.metadata=e,this.tokenizer=t,this.options=i}}},65130:(e,t,i)=>{"use strict";i.d(t,{Jp:()=>p,MW:()=>s,St:()=>c,YF:()=>m,aY:()=>d,n5:()=>n,nl:()=>u,sd:()=>o,yW:()=>l});var r=i(96157),a=i(29488);let n={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"},s={other:0,lyrics:1,text:2,movement_part:3,events:4,chord:5,trivia_pop:6},o={notSynchronized:0,mpegFrameNumber:1,milliseconds:2},c={get:(e,t)=>127&e[t+3]|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4},l={len:10,get:(e,t)=>({fileIdentifier:new r.StringType(3,"ascii").get(e,t),version:{major:r.INT8.get(e,t+3),revision:r.INT8.get(e,t+4)},flags:{unsynchronisation:a.mh(e,t+5,7),isExtendedHeader:a.mh(e,t+5,6),expIndicator:a.mh(e,t+5,5),footer:a.mh(e,t+5,4)},size:c.get(e,t+6)})},u={len:10,get:(e,t)=>({size:r.UINT32_BE.get(e,t),extendedFlags:r.UINT16_BE.get(e,t+4),sizeOfPadding:r.UINT32_BE.get(e,t+6),crcDataPresent:a.mh(e,t+4,31)})},m={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}}}},p={len:4,get:(e,t)=>({encoding:m.get(e,t),language:new r.StringType(3,"latin1").get(e,t+1)})},d={len:6,get:(e,t)=>{let i=p.get(e,t);return{encoding:i.encoding,language:i.language,timeStampFormat:r.UINT8.get(e,t+4),
1contentType:r.UINT8.get(e,t+5)}}}},65584:(e,t)=>{"use strict";var i=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,r=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,a=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,n=/\\([\u000b\u0020-\u00ff])/g,s=/([\\"])/g,o=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;function c(e){this.parameters=Object.create(null),this.type=e}t.format=function(e){if(!e||"object"!=typeof e)throw TypeError("argument obj is required");var t=e.parameters,i=e.type;if(!i||!o.test(i))throw TypeError("invalid type");var n=i;if(t&&"object"==typeof t)for(var c,l=Object.keys(t).sort(),u=0;u<l.length;u++){if(c=l[u],!a.test(c))throw TypeError("invalid parameter name");n+="; "+c+"="+function(e){var t=String(e);if(a.test(t))return t;if(t.length>0&&!r.test(t))throw TypeError("invalid parameter value");return'"'+t.replace(s,"\\$1")+'"'}(t[c])}return n},t.parse=function(e){if(!e)throw TypeError("argument string is required");var t,r,a,s="object"==typeof e?function(e){var t;if("function"==typeof e.getHeader?t=e.getHeader("content-type"):"object"==typeof e.headers&&(t=e.headers&&e.headers["content-type"]),"string"!=typeof t)throw TypeError("content-type header is missing from object");return t}(e):e;if("string"!=typeof s)throw TypeError("argument string is required to be a string");var l=s.indexOf(";"),u=-1!==l?s.slice(0,l).trim():s.trim();if(!o.test(u))throw TypeError("invalid media type");var m=new c(u.toLowerCase());if(-1!==l){for(i.lastIndex=l;r=i.exec(s);){if(r.index!==l)throw TypeError("invalid parameter format");l+=r[0].length,t=r[1].toLowerCase(),34===(a=r[2]).charCodeAt(0)&&-1!==(a=a.slice(1,-1)).indexOf("\\")&&(a=a.replace(n,"$1")),m.parameters[t]=a}if(l!==s.length)throw TypeError("invalid parameter format")}return m}},74074:(e,t,i)=>{"use strict";i.d(t,{d1:()=>r,_F:()=>h,vY:()=>f,Xx:()=>d});class r 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 n{constructor(){this.endOfStream=!1,this.interrupted=!1,this.peekQueue=[]}async peek(e,t=!1){let 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 r;return i}readFromPeekBuffer(e){let t=e.length,i=0;for(;this.peekQueue.length>0&&t>0;){let r=this.peekQueue.pop();if(!r)throw Error("peekData should be defined");let a=Math.min(r.length,t);e.set(r.subarray(0,a),i),i+=a,t-=a,a<r.length&&this.peekQueue.push(r.subarray(a))}return i}async readRemainderFromStream(e,t){let i=0;for(;i<e.length&&!this.endOfStream;){if(this.interrupted)throw new a;let r=await this.readFromStream(e.subarray(i),t);if(0===r)break;i+=r}if(!t&&i<e.length)throw new r;return i}}class s extends n{constructor(e){super(),this.reader=e}async abort(){return this.close()}async close(){this.reader.releaseLock()}}class o extends s{async readFromStream(e,t){if(0===e.length)return 0;let 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 c extends n{constructor(e){super(),this.reader=e,this.buffer=null}writeChunk(e,t){let 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;){let 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 r;return i}abort(){return this.interrupted=!0,this.reader.cancel()}async close(){await this.abort(),this.reader.releaseLock()}}class l{constructor(e){this.numBuffer=new Uint8Array(8),this.position=0,this.onClose=e?.onClose,e?.abortSignal&&e.abortSignal.addEventListener("abort",()=>{this.abort()})}async readToken(e,t=this.position){let i=new Uint8Array(e.len);if(await this.readBuffer(i,{position:t})<e.len)throw new r;return e.get(i,0)}async peekToken(e,t=this.position){let i=new Uint8Array(e.len);if(await this.peekBuffer(i,{position:t})<e.len)throw new r;return e.get(i,0)}async readNumber(e){if(await this.readBuffer(this.numBuffer,{length:e.len})<e.len)throw new r;return e.get(this.numBuffer,0)}async peekNumber(e){if(await this.peekBuffer(this.numBuffer,{length:e.len})<e.len)throw new r;return e.get(this.numBuffer,0)}async ignore(e){if(e<0)throw RangeError("ignore length must be ⥠0 bytes");if(void 0!==this.fileInfo.size){let t=this.fileInfo.size-this.position;if(e>t)return this.position+=t,t}return this.position+=e,e}async close(){await this.abort(),await this.onClose?.()}normalizeOptions(e,t){if(!this.supportsRandomAccess()&&t&&void 0!==t.position&&t.position<this.position)throw 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 u extends l{constructor(e,t){super(t),this.streamReader=e,this.fileInfo=t?.fileInfo??{}}async readBuffer(e,t){let i=this.normalizeOptions(e,t),a=i.position-this.position;if(a>0)return await this.ignore(a),this.readBuffer(e,t);if(a<0)throw Error("`options.position` must be equal or greater than `tokenizer.position`");if(0===i.length)return 0;let n=await this.streamReader.read(e.subarray(0,i.length),i.mayBeLess);if(this.position+=n,(!t||!t.mayBeLess)&&n<i.length)throw new r;return n}async peekBuffer(e,t){let i=this.normalizeOptions(e,t),a=0;if(i.position){let t=i.position-this.position;if(t>0){let r=new Uint8Array(i.length+t);return a=await this.peekBuffer(r,{mayBeLess:i.mayBeLess}),e.set(r.subarray(t)),a-t}if(t<0)throw Error("Cannot peek from a negative offset in a stream")}if(i.length>0){try{a=await this.streamReader.peek(e.subarray(0,i.length),i.mayBeLess)}catch(e){if(t?.mayBeLess&&e instanceof r)return 0;throw e}if(!i.mayBeLess&&a<i.length)throw new r}return a}
1async ignore(e){if(e<0)throw RangeError("ignore length must be ⥠0 bytes");let t=Math.min(256e3,e),i=new Uint8Array(t),r=0;for(;r<e;){let a=e-r,n=await this.readBuffer(i,{length:Math.min(t,a)});if(n<0)return n;r+=n}return r}abort(){return this.streamReader.abort()}async close(){return this.streamReader.close()}supportsRandomAccess(){return!1}}class m extends l{constructor(e,t){super(t),this.uint8Array=e,this.fileInfo={...t?.fileInfo??{},...{size:e.length}}}async readBuffer(e,t){t?.position&&(this.position=t.position);let i=await this.peekBuffer(e,t);return this.position+=i,i}async peekBuffer(e,t){let i=this.normalizeOptions(e,t),a=Math.min(this.uint8Array.length-i.position,i.length);if(!i.mayBeLess&&a<i.length)throw new r;return e.set(this.uint8Array.subarray(i.position,i.position+a)),a}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(e){this.position=e}}class p extends l{constructor(e,t){super(t),this.blob=e,this.fileInfo={...t?.fileInfo??{},...{size:e.size,mimeType:e.type}}}async readBuffer(e,t){t?.position&&(this.position=t.position);let i=await this.peekBuffer(e,t);return this.position+=i,i}async peekBuffer(e,t){let i=this.normalizeOptions(e,t),a=Math.min(this.blob.size-i.position,i.length);if(!i.mayBeLess&&a<i.length)throw new r;let n=await this.blob.slice(i.position,i.position+a).arrayBuffer();return e.set(new Uint8Array(n)),a}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(e){this.position=e}}function d(e,t){let i=function(e){try{let t=e.getReader({mode:"byob"});if(t instanceof ReadableStreamDefaultReader)return new c(t);return new o(t)}catch(t){if(t instanceof TypeError)return new c(e.getReader());throw t}}(e),r=t??{},a=r.onClose;return r.onClose=async()=>{if(await i.close(),a)return a()},new u(i,r)}function f(e,t){return new m(e,t)}function h(e,t){return new p(e,t)}},74357:(e,t,i)=>{e.exports=function(e){function t(e){let i,a,n,s=null;function o(...e){if(!o.enabled)return;let r=Number(new Date);o.diff=r-(i||r),o.prev=i,o.curr=r,i=r,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(i,r)=>{if("%%"===i)return"%";a++;let n=t.formatters[r];if("function"==typeof n){let t=e[a];i=n.call(o,t),e.splice(a,1),a--}return i}),t.formatArgs.call(o,e),(o.log||t.log).apply(o,e)}return o.namespace=e,o.useColors=t.useColors(),o.color=t.selectColor(e),o.extend=r,o.destroy=t.destroy,Object.defineProperty(o,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(a!==t.namespaces&&(a=t.namespaces,n=t.enabled(e)),n),set:e=>{s=e}}),"function"==typeof t.init&&t.init(o),o}function r(e,i){let r=t(this.namespace+(void 0===i?":":i)+e);return r.log=this.log,r}function a(e,t){let i=0,r=0,a=-1,n=0;for(;i<e.length;)if(r<t.length&&(t[r]===e[i]||"*"===t[r]))"*"===t[r]?(a=r,n=i):i++,r++;else{if(-1===a)return!1;r=a+1,i=++n}for(;r<t.length&&"*"===t[r];)r++;return r===t.length}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){let e=[...t.names,...t.skips.map(e=>"-"+e)].join(",");return t.enable(""),e},t.enable=function(e){for(let i of(t.save(e),t.namespaces=e,t.names=[],t.skips=[],("string"==typeof e?e:"").trim().replace(/\s+/g,",").split(",").filter(Boolean)))"-"===i[0]?t.skips.push(i.slice(1)):t.names.push(i)},t.enabled=function(e){for(let i of t.skips)if(a(e,i))return!1;for(let i of t.names)if(a(e,i))return!0;return!1},t.humanize=i(41664),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)|0;return t.colors[Math.abs(i)%t.colors.length]},t.enable(t.load()),t}},85717:(e,t)=>{t.read=function(e,t,i,r,a){var n,s,o=8*a-r-1,c=(1<<o)-1,l=c>>1,u=-7,m=i?a-1:0,p=i?-1:1,d=e[t+m];for(m+=p,n=d&(1<<-u)-1,d>>=-u,u+=o;u>0;n=256*n+e[t+m],m+=p,u-=8);for(s=n&(1<<-u)-1,n>>=-u,u+=r;u>0;s=256*s+e[t+m],m+=p,u-=8);if(0===n)n=1-l;else{if(n===c)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,r),n-=l}return(d?-1:1)*s*Math.pow(2,n-r)},t.write=function(e,t,i,r,a,n){var s,o,c,l=8*n-a-1,u=(1<<l)-1,m=u>>1,p=5960464477539062e-23*(23===a),d=r?0:n-1,f=r?1:-1,h=+(t<0||0===t&&1/t<0);for(isNaN(t=Math.abs(t))||t===1/0?(o=+!!isNaN(t),s=u):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),s+m>=1?t+=p/c:t+=p*Math.pow(2,1-m),t*c>=2&&(s++,c/=2),s+m>=u?(o=0,s=u):s+m>=1?(o=(t*c-1)*Math.pow(2,a),s+=m):(o=t*Math.pow(2,m-1)*Math.pow(2,a),s=0));a>=8;e[i+d]=255&o,d+=f,o/=256,a-=8);for(s=s<<a|o,l+=a;l>0;e[i+d]=255&s,d+=f,s/=256,l-=8);e[i+d-f]|=128*h}},88862:(e,t,i)=>{"use strict";i.d(t,{e:()=>o});var r=i(35052),a=i(29488),n=i(21021);let s=/^[\x21-\x7e©][\x20-\x7e\x00()]{3}/,o={len:4,get:(e,t)=>{let i=(0,r.c)(e.subarray(t,t+o.len),"latin1");
1if(!i.match(s))throw new n.gP(`FourCC contains invalid characters: ${a.DY(i)} "${i}"`);return i},put:(e,t,i)=>{let a=(0,r.I)(i,"latin1");if(4!==a.length)throw new n.nK("Invalid length");return e.set(a,t),t+4}}},96157:(e,t,i)=>{"use strict";i.r(t),i.d(t,{AnsiStringType:()=>B,Float16_BE:()=>S,Float16_LE:()=>A,Float32_BE:()=>E,Float32_LE:()=>v,Float64_BE:()=>C,Float64_LE:()=>_,Float80_BE:()=>z,Float80_LE:()=>R,INT16_BE:()=>f,INT16_LE:()=>h,INT24_BE:()=>T,INT24_LE:()=>g,INT32_BE:()=>y,INT32_LE:()=>k,INT64_BE:()=>x,INT64_LE:()=>I,INT8:()=>d,IgnoreType:()=>M,StringType:()=>L,UINT16_BE:()=>c,UINT16_LE:()=>o,UINT24_BE:()=>u,UINT24_LE:()=>l,UINT32_BE:()=>p,UINT32_LE:()=>m,UINT64_BE:()=>w,UINT64_LE:()=>b,UINT8:()=>s,Uint8ArrayType:()=>N});var r=i(85717),a=i(35052);function n(e){return new DataView(e.buffer,e.byteOffset)}let s={len:1,get:(e,t)=>n(e).getUint8(t),put:(e,t,i)=>(n(e).setUint8(t,i),t+1)},o={len:2,get:(e,t)=>n(e).getUint16(t,!0),put:(e,t,i)=>(n(e).setUint16(t,i,!0),t+2)},c={len:2,get:(e,t)=>n(e).getUint16(t),put:(e,t,i)=>(n(e).setUint16(t,i),t+2)},l={len:3,get(e,t){let i=n(e);return i.getUint8(t)+(i.getUint16(t+1,!0)<<8)},put(e,t,i){let r=n(e);return r.setUint8(t,255&i),r.setUint16(t+1,i>>8,!0),t+3}},u={len:3,get(e,t){let i=n(e);return(i.getUint16(t)<<8)+i.getUint8(t+2)},put(e,t,i){let r=n(e);return r.setUint16(t,i>>8),r.setUint8(t+2,255&i),t+3}},m={len:4,get:(e,t)=>n(e).getUint32(t,!0),put:(e,t,i)=>(n(e).setUint32(t,i,!0),t+4)},p={len:4,get:(e,t)=>n(e).getUint32(t),put:(e,t,i)=>(n(e).setUint32(t,i),t+4)},d={len:1,get:(e,t)=>n(e).getInt8(t),put:(e,t,i)=>(n(e).setInt8(t,i),t+1)},f={len:2,get:(e,t)=>n(e).getInt16(t),put:(e,t,i)=>(n(e).setInt16(t,i),t+2)},h={len:2,get:(e,t)=>n(e).getInt16(t,!0),put:(e,t,i)=>(n(e).setInt16(t,i,!0),t+2)},g={len:3,get(e,t){let i=l.get(e,t);return i>8388607?i-0x1000000:i},put(e,t,i){let r=n(e);return r.setUint8(t,255&i),r.setUint16(t+1,i>>8,!0),t+3}},T={len:3,get(e,t){let i=u.get(e,t);return i>8388607?i-0x1000000:i},put(e,t,i){let r=n(e);return r.setUint16(t,i>>8),r.setUint8(t+2,255&i),t+3}},y={len:4,get:(e,t)=>n(e).getInt32(t),put:(e,t,i)=>(n(e).setInt32(t,i),t+4)},k={len:4,get:(e,t)=>n(e).getInt32(t,!0),put:(e,t,i)=>(n(e).setInt32(t,i,!0),t+4)},b={len:8,get:(e,t)=>n(e).getBigUint64(t,!0),put:(e,t,i)=>(n(e).setBigUint64(t,i,!0),t+8)},I={len:8,get:(e,t)=>n(e).getBigInt64(t,!0),put:(e,t,i)=>(n(e).setBigInt64(t,i,!0),t+8)},w={len:8,get:(e,t)=>n(e).getBigUint64(t),put:(e,t,i)=>(n(e).setBigUint64(t,i),t+8)},x={len:8,get:(e,t)=>n(e).getBigInt64(t),put:(e,t,i)=>(n(e).setBigInt64(t,i),t+8)},S={len:2,get(e,t){return r.read(e,t,!1,10,this.len)},put(e,t,i){return r.write(e,i,t,!1,10,this.len),t+this.len}},A={len:2,get(e,t){return r.read(e,t,!0,10,this.len)},put(e,t,i){return r.write(e,i,t,!0,10,this.len),t+this.len}},E={len:4,get:(e,t)=>n(e).getFloat32(t),put:(e,t,i)=>(n(e).setFloat32(t,i),t+4)},v={len:4,get:(e,t)=>n(e).getFloat32(t,!0),put:(e,t,i)=>(n(e).setFloat32(t,i,!0),t+4)},C={len:8,get:(e,t)=>n(e).getFloat64(t),put:(e,t,i)=>(n(e).setFloat64(t,i),t+8)},_={len:8,get:(e,t)=>n(e).getFloat64(t,!0),put:(e,t,i)=>(n(e).setFloat64(t,i,!0),t+8)},z={len:10,get(e,t){return r.read(e,t,!1,63,this.len)},put(e,t,i){return r.write(e,i,t,!1,63,this.len),t+this.len}},R={len:10,get(e,t){return r.read(e,t,!0,63,this.len)},put(e,t,i){return r.write(e,i,t,!0,63,this.len),t+this.len}};class M{constructor(e){this.len=e}get(e,t){}}class N{constructor(e){this.len=e}get(e,t){return e.subarray(t,t+this.len)}}class L{constructor(e,t){this.len=e,this.encoding=t}get(e,t=0){let i=e.subarray(t,t+this.len);return(0,a.c)(i,this.encoding)}}class B extends L{constructor(e){super(e,"windows-1252")}}}}]);
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.