TelegramPWA/dist/3246.d620f7f0085ecb085ff3.js
Alexander Zinchuk be2164695b [Build]
2025-10-16 02:09:48 +02:00

3 lines
103 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*! For license information please see 3246.d620f7f0085ecb085ff3.js.LICENSE.txt */
(self.webpackChunktelegram_t=self.webpackChunktelegram_t||[]).push([[3246],{251:(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=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:n-1,f=r?1:-1,h=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,s=u):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),(t+=s+m>=1?p/c:p*Math.pow(2,1-m))*c>=2&&(s++,c/=2),s+m>=u?(o=0,s=u):s+m>=1?(o=(t*c-1)*Math.pow(2,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}},3246:(e,t,i)=>{"use strict";i.d(t,{parseBlob:()=>rt,cc:()=>nt,selectCover:()=>at});var r=i(10718),a=i(4017),n=Uint8Array,s=Uint16Array,o=Int32Array,c=new n([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),l=new n([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),u=new n([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),m=function(e,t){for(var i=new s(31),r=0;r<31;++r)i[r]=t+=1<<e[r-1];var a=new o(i[30]);for(r=1;r<30;++r)for(var n=i[r];n<i[r+1];++n)a[n]=n-i[r]<<5|r;return{b:i,r:a}},p=m(c,2),d=p.b,f=p.r;d[28]=258,f[258]=28;for(var h=m(l,0),g=h.b,T=(h.r,new s(32768)),k=0;k<32768;++k){var b=(43690&k)>>1|(21845&k)<<1;b=(61680&(b=(52428&b)>>2|(13107&b)<<2))>>4|(3855&b)<<4,T[k]=((65280&b)>>8|(255&b)<<8)>>1}var y=function(e,t,i){for(var r=e.length,a=0,n=new s(t);a<r;++a)e[a]&&++n[e[a]-1];var o,c=new s(t);for(a=1;a<t;++a)c[a]=c[a-1]+n[a-1]<<1;if(i){o=new s(1<<t);var l=15-t;for(a=0;a<r;++a)if(e[a])for(var u=a<<4|e[a],m=t-e[a],p=c[e[a]-1]++<<m,d=p|(1<<m)-1;p<=d;++p)o[T[p]>>l]=u}else for(o=new s(r),a=0;a<r;++a)e[a]&&(o[a]=T[c[e[a]-1]++]>>15-e[a]);return o},w=new n(288);for(k=0;k<144;++k)w[k]=8;for(k=144;k<256;++k)w[k]=9;for(k=256;k<280;++k)w[k]=7;for(k=280;k<288;++k)w[k]=8;var x=new n(32);for(k=0;k<32;++k)x[k]=5;var v=y(w,9,1),I=y(x,5,1),A=function(e){for(var t=e[0],i=1;i<e.length;++i)e[i]>t&&(t=e[i]);return t},S=function(e,t,i){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(7&t)&i},E=function(e,t){var i=t/8|0;return(e[i]|e[i+1]<<8|e[i+2]<<16)>>(7&t)},_=function(e){return(e+7)/8|0},C=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],M=function(e,t,i){var r=new Error(t||C[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,M),!i)throw r;return r},R=function(e,t,i,r){var a=e.length,s=r?r.length:0;if(!a||t.f&&!t.l)return i||new n(0);var o=!i,m=o||2!=t.i,p=t.i;o&&(i=new n(3*a));var f=function(e){var t=i.length;if(e>t){var r=new n(Math.max(2*t,e));r.set(i),i=r}},h=t.f||0,T=t.p||0,k=t.b||0,b=t.l,w=t.d,x=t.m,C=t.n,R=8*a;do{if(!b){h=S(e,T,1);var z=S(e,T+1,3);if(T+=3,!z){var N=e[(j=_(T)+4)-4]|e[j-3]<<8,L=j+N;if(L>a){p&&M(0);break}m&&f(k+N),i.set(e.subarray(j,L),k),t.b=k+=N,t.p=T=8*L,t.f=h;continue}if(1==z)b=v,w=I,x=9,C=5;else if(2==z){var B=S(e,T,31)+257,U=S(e,T+10,15)+4,P=B+S(e,T+5,31)+1;T+=14;for(var O=new n(P),D=new n(19),F=0;F<U;++F)D[u[F]]=S(e,T+3*F,7);T+=3*U;var X=A(D),G=(1<<X)-1,W=y(D,X,1);for(F=0;F<P;){var j,$=W[S(e,T,G)];if(T+=15&$,(j=$>>4)<16)O[F++]=j;else{var q=0,H=0;for(16==j?(H=3+S(e,T,3),T+=2,q=O[F-1]):17==j?(H=3+S(e,T,7),T+=3):18==j&&(H=11+S(e,T,127),T+=7);H--;)O[F++]=q}}var Y=O.subarray(0,B),Z=O.subarray(B);x=A(Y),C=A(Z),b=y(Y,x,1),w=y(Z,C,1)}else M(1);if(T>R){p&&M(0);break}}m&&f(k+131072);for(var K=(1<<x)-1,V=(1<<C)-1,J=T;;J=T){var Q=(q=b[E(e,T)&K])>>4;if((T+=15&q)>R){p&&M(0);break}if(q||M(2),Q<256)i[k++]=Q;else{if(256==Q){J=T,b=null;break}var ee=Q-254;if(Q>264){var te=c[F=Q-257];ee=S(e,T,(1<<te)-1)+d[F],T+=te}var ie=w[E(e,T)&V],re=ie>>4;if(ie||M(3),T+=15&ie,Z=g[re],re>3&&(te=l[re],Z+=E(e,T)&(1<<te)-1,T+=te),T>R){p&&M(0);break}m&&f(k+131072);var ae=k+ee;if(k<Z){var ne=s-Z,se=Math.min(Z,ae);for(ne+k<0&&M(3);k<se;++k)i[k]=r[ne+k]}for(;k<ae;++k)i[k]=i[k-Z]}}t.l=b,t.p=J,t.b=k,t.f=h,b&&(h=1,t.m=x,t.d=w,t.n=C)}while(!h);return k!=i.length&&o?function(e,t,i){return(null==t||t<0)&&(t=0),(null==i||i>e.length)&&(i=e.length),new n(e.subarray(t,i))}(i,0,k):i.subarray(0,k)},z=new n(0);function N(e,t){var i,r,a=function(e){31==e[0]&&139==e[1]&&8==e[2]||M(6,"invalid gzip data");var t=e[3],i=10;4&t&&(i+=2+(e[10]|e[11]<<8));for(var r=(t>>3&1)+(t>>4&1);r>0;r-=!e[i++]);return i+(2&t)}(e);return a+8>e.length&&M(6,"invalid gzip data"),R(e.subarray(a,-8),{i:2},t&&t.out||new n((r=(i=e).length,(i[r-4]|i[r-3]<<8|i[r-2]<<16|i[r-1]<<24)>>>0)),t&&t.dictionary)}function L(e,t){return R(e.subarray((i=e,r=t&&t.dictionary,(8!=(15&i[0])||i[0]>>4>7||(i[0]<<8|i[1])%31)&&M(6,"invalid zlib data"),(i[1]>>5&1)==+!r&&M(6,"invalid zlib data: "+(32&i[1]?"need":"unexpected")+" dictionary"),2+(i[1]>>3&4)),-4),{i:2},t&&t.out,t&&t.dictionary);var i,r}var B="undefined"!=typeof TextDecoder&&new TextDecoder;try{B.decode(z,{stream:!0})}catch(e){}"function"==typeof queueMicrotask?queueMicrotask:"function"==typeof setTimeout&&setTimeout;var U=i(17833);const P=67324752,O=33639248,D={get:e=>(a.UINT16_LE.get(e,6),{signature:a.UINT32_LE.get(e,0),compressedSize:a.UINT32_LE.get(e,8),uncompressedSize:a.UINT32_LE.get(e,12)}),len:16},F={get(e){const 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},X={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},G={get(e){const 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 W(e){const t=new Uint8Array(a.UINT32_LE.len);return a.UINT32_LE.put(t,0,e),t}const j=U("tokenizer:inflate"),$=262144,q=W(134695760),H=W(101010256);class Y{constructor(e){this.tokenizer=e,this.syncBuffer=new Uint8Array($)}async isZip(){return await this.peekSignature()===P}peekSignature(){return this.tokenizer.peekToken(a.UINT32_LE)}async findEndOfCentralDirectoryLocator(){const 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]===H[0]&&i[r+1]===H[1]&&i[r+2]===H[2]&&i[r+3]===H[3])return e.fileInfo.size-t+r;return-1}async readCentralDirectory(){if(!this.tokenizer.supportsRandomAccess())return void j("Cannot reading central-directory without random-read support");j("Reading central-directory...");const e=this.tokenizer.position,t=await this.findEndOfCentralDirectoryLocator();if(t>0){j("Central-directory 32-bit signature found");const i=await this.tokenizer.readToken(X,t),r=[];this.tokenizer.setPosition(i.offsetOfStartOfCd);for(let e=0;e<i.nrOfEntriesOfSize;++e){const t=await this.tokenizer.readToken(G);if(t.signature!==O)throw new 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),j(`Add central-directory file-entry: n=${e+1}/${r.length}: filename=${r[e].filename}`)}return this.tokenizer.setPosition(e),r}this.tokenizer.setPosition(e)}async unzip(e){const t=await this.readCentralDirectory();if(t)return this.iterateOverCentralDirectory(t,e);let i=!1;do{const t=await this.readLocalFileHeader();if(!t)break;const r=e(t);let a;if(i=!!r.stop,await this.tokenizer.ignore(t.extraFieldLength),t.dataDescriptor&&0===t.compressedSize){const e=[];let i=$;j("Compressed-file-size unknown, scanning for next data-descriptor-signature....");let a=-1;for(;a<0&&i===$;){i=await this.tokenizer.peekBuffer(this.syncBuffer,{mayBeLess:!0}),a=Z(this.syncBuffer.subarray(0,i),q);const t=a>=0?a:i;if(r.handler){const i=new Uint8Array(t);await this.tokenizer.readBuffer(i),e.push(i)}else await this.tokenizer.ignore(t)}j(`Found data-descriptor-signature at pos=${this.tokenizer.position}`),r.handler&&await this.inflate(t,K(e),r.handler)}else r.handler?(j(`Reading compressed-file-data: ${t.compressedSize} bytes`),a=new Uint8Array(t.compressedSize),await this.tokenizer.readBuffer(a),await this.inflate(t,a,r.handler)):(j(`Ignoring compressed-file-data: ${t.compressedSize} bytes`),await this.tokenizer.ignore(t.compressedSize));if(j(`Reading data-descriptor at pos=${this.tokenizer.position}`),t.dataDescriptor&&134695760!==(await this.tokenizer.readToken(D)).signature)throw new Error("Expected data-descriptor-signature at position "+(this.tokenizer.position-D.len))}while(!i)}async iterateOverCentralDirectory(e,t){for(const i of e){const e=t(i);if(e.handler){this.tokenizer.setPosition(i.relativeOffsetOfLocalHeader);const t=await this.readLocalFileHeader();if(t){await this.tokenizer.ignore(t.extraFieldLength);const r=new Uint8Array(i.compressedSize);await this.tokenizer.readBuffer(r),await this.inflate(t,r,e.handler)}}if(e.stop)break}}inflate(e,t,i){return 0===e.compressedMethod?i(t):(j(`Decompress filename=${e.filename}, compressed-size=${t.length}`),i(31==(r=t)[0]&&139==r[1]&&8==r[2]?N(r,a):8!=(15&r[0])||r[0]>>4>7||(r[0]<<8|r[1])%31?function(e,t){return R(e,{i:2},t&&t.out,t&&t.dictionary)}(r,a):L(r,a)));var r,a}async readLocalFileHeader(){const e=await this.tokenizer.peekToken(a.UINT32_LE);if(e===P){const e=await this.tokenizer.readToken(F);return e.filename=await this.tokenizer.readToken(new a.StringType(e.filenameLength,"utf-8")),e}if(e===O)return!1;if(3759263696===e)throw new Error("Encrypted ZIP");throw new Error("Unexpected signature")}}function Z(e,t){const 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}function K(e){const t=e.reduce((e,t)=>e+t.length,0),i=new Uint8Array(t);let r=0;for(const t of e)i.set(t,r),r+=t.length;return i}var V=i(78523);const J={get:(e,t)=>127&e[t+3]|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4},Q=4100;async function ee(e,t){return new re(t).fromBuffer(e)}function te(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 ie(e,t,i){i={offset:0,...i};for(const[r,a]of 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}class re{constructor(e){this.options={mpegOffsetTolerance:0,...e},this.detectors=[...e?.customDetectors??[],{id:"core",detect:this.detectConfident},{id:"core.imprecise",detect:this.detectImprecise}],this.tokenizerOptions={abortSignal:e?.signal}}async fromTokenizer(e){const t=e.position;for(const i of this.detectors){const r=await i.detect(e);if(r)return r;if(t!==e.position)return}}async fromBuffer(e){if(!(e instanceof Uint8Array||e instanceof ArrayBuffer))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof e}\``);const t=e instanceof Uint8Array?e:new Uint8Array(e);if(t?.length>1)return this.fromTokenizer(r.vY(t,this.tokenizerOptions))}async fromBlob(e){return this.fromStream(e.stream())}async fromStream(e){const t=await r.Xx(e,this.tokenizerOptions);try{return await this.fromTokenizer(t)}finally{await t.close()}}async toDetectionStream(e,t){const{sampleSize:i=Q}=t;let a,n;const s=e.getReader({mode:"byob"});try{const{value:e,done:t}=await s.read(new Uint8Array(i));if(n=e,!t&&e)try{a=await this.fromBuffer(e.subarray(0,i))}catch(e){if(!(e instanceof r.d1))throw e;a=void 0}n=e}finally{s.releaseLock()}const o=new TransformStream({async start(e){e.enqueue(n)},transform(e,t){t.enqueue(e)}}),c=e.pipeThrough(o);return c.fileType=a,c}check(e,t){return ie(this.buffer,e,t)}checkString(e,t){return this.check((i=e,[...i].map(e=>e.charCodeAt(0))),t);var i}detectConfident=async e=>{if(this.buffer=new Uint8Array(Q),void 0===e.fileInfo.size&&(e.fileInfo.size=Number.MAX_SAFE_INTEGER),this.tokenizer=e,await e.peekBuffer(this.buffer,{length:12,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]))return 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{ext:"gz",mime:"application/gzip"};if(this.check([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(this.checkString("ID3")){await e.ignore(6);const t=await e.readToken(J);return e.position+t>e.fileInfo.size?{ext:"mp3",mime:"audio/mpeg"}:(await e.ignore(t),this.fromTokenizer(e))}if(this.checkString("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((67===this.buffer[0]||70===this.buffer[0])&&this.check([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(this.check([255,216,255]))return this.check([247],{offset:3})?{ext:"jls",mime:"image/jls"}:{ext:"jpg",mime:"image/jpeg"};if(this.check([79,98,106,1]))return{ext:"avro",mime:"application/avro"};if(this.checkString("FLIF"))return{ext:"flif",mime:"image/flif"};if(this.checkString("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(this.checkString("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(this.checkString("FORM"))return{ext:"aif",mime:"audio/aiff"};if(this.checkString("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(this.check([80,75,3,4])){let i;return await new Y(e).unzip(e=>{switch(e.filename){case"META-INF/mozilla.rsa":return i={ext:"xpi",mime:"application/x-xpinstall"},{stop:!0};case"META-INF/MANIFEST.MF":return i={ext:"jar",mime:"application/java-archive"},{stop:!0};case"mimetype":return{async handler(e){const t=new TextDecoder("utf-8").decode(e).trim();i=te(t)},stop:!0};case"[Content_Types].xml":return{async handler(e){let t=new TextDecoder("utf-8").decode(e);const r=t.indexOf('.main+xml"');if(-1===r){const e="application/vnd.ms-package.3dmanufacturing-3dmodel+xml";t.includes(`ContentType="${e}"`)&&(i=te(e))}else{t=t.slice(0,Math.max(0,r));const e=t.lastIndexOf('"'),a=t.slice(Math.max(0,e+1));i=te(a)}},stop:!0};default:return/classes\d*\.dex/.test(e.filename)?(i={ext:"apk",mime:"application/vnd.android.package-archive"},{stop:!0}):{}}}),i??{ext:"zip",mime:"application/zip"}}if(this.checkString("OggS")){await e.ignore(28);const r=new Uint8Array(8);return await e.readBuffer(r),ie(r,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/ogg; codecs=opus"}:ie(r,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:ie(r,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:ie(r,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:ie(r,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:ie(r,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(this.check([80,75])&&(3===this.buffer[2]||5===this.buffer[2]||7===this.buffer[2])&&(4===this.buffer[3]||6===this.buffer[3]||8===this.buffer[3]))return{ext:"zip",mime:"application/zip"};if(this.checkString("MThd"))return{ext:"mid",mime:"audio/midi"};if(this.checkString("wOFF")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(this.checkString("wOF2")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(this.check([212,195,178,161])||this.check([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(this.checkString("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(this.checkString("LZIP"))return{ext:"lz",mime:"application/x-lzip"};if(this.checkString("fLaC"))return{ext:"flac",mime:"audio/flac"};if(this.check([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(this.checkString("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(this.checkString("%PDF"))return{ext:"pdf",mime:"application/pdf"};if(this.check([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(this.check([73,73])){const n=await this.readTiffHeader(!1);if(n)return n}if(this.check([77,77])){const s=await this.readTiffHeader(!0);if(s)return s}if(this.checkString("MAC "))return{ext:"ape",mime:"audio/ape"};if(this.check([26,69,223,163])){async function o(){const t=await e.peekNumber(a.UINT8);let i=128,r=0;for(;0===(t&i)&&0!==i;)++r,i>>=1;const n=new Uint8Array(r+1);return await e.readBuffer(n),n}async function c(){const e=await o(),t=await o();t[0]^=128>>t.length-1;const i=Math.min(6,t.length),r=new DataView(e.buffer),a=new DataView(t.buffer,t.length-i,i);return{id:(0,V.AW)(r),len:(0,V.AW)(a)}}async function l(t){for(;t>0;){const i=await c();if(17026===i.id)return(await e.readToken(new a.StringType(i.len))).replaceAll(/\00.*$/g,"");await e.ignore(i.len),--t}}const u=await c();switch(await l(u.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"};if(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([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.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]))return{ext:"class",mime:"application/java-vm"};if(this.checkString(".RMF"))return{ext:"rm",mime:"application/vnd.rn-realmedia"};if(this.checkString("DRACO"))return{ext:"drc",mime:"application/vnd.google.draco"};if(this.check([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(this.checkString("<?xml "))return{ext:"xml",mime:"application/xml"};if(this.check([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(this.check([82,97,114,33,26,7])&&(0===this.buffer[6]||1===this.buffer[6]))return{ext:"rar",mime:"application/x-rar-compressed"};if(this.checkString("solid "))return{ext:"stl",mime:"model/stl"};if(this.checkString("AC")){const m=new a.StringType(4,"latin1").get(this.buffer,2);if(m.match("^d*")&&m>=1e3&&m<=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","\t"," ","\0"].some(e=>this.checkString(e,{offset:6})))return{ext:"vtt",mime:"text/vtt"};if(this.check([137,80,78,71,13,10,26,10])){async function p(){return{length:await e.readToken(a.INT32_BE),type:await e.readToken(new a.StringType(4,"latin1"))}}await e.ignore(8);do{const d=await p();if(d.length<0)return;switch(d.type){case"IDAT":return{ext:"png",mime:"image/png"};case"acTL":return{ext:"apng",mime:"image/apng"};default:await e.ignore(d.length+4)}}while(e.position+8<e.fileInfo.size);return{ext:"png",mime:"image/png"}}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]){const f=new a.StringType(4,"latin1").get(this.buffer,8).replace("\0"," ").trim();switch(f){case"avif":case"avis":return{ext:"avif",mime:"image/avif"};case"mif1":return{ext:"heic",mime:"image/heif"};case"msf1":return{ext:"heic",mime:"image/heif-sequence"};case"heic":case"heix":return{ext:"heic",mime:"image/heic"};case"hevc":case"hevx":return{ext:"heic",mime:"image/heic-sequence"};case"qt":return{ext:"mov",mime:"video/quicktime"};case"M4V":case"M4VH":case"M4VP":return{ext:"m4v",mime:"video/x-m4v"};case"M4P":return{ext:"m4p",mime:"video/mp4"};case"M4B":return{ext:"m4b",mime:"audio/mp4"};case"M4A":return{ext:"m4a",mime:"audio/x-m4a"};case"F4V":return{ext:"f4v",mime:"video/mp4"};case"F4P":return{ext:"f4p",mime:"video/mp4"};case"F4A":return{ext:"f4a",mime:"audio/mp4"};case"F4B":return{ext:"f4b",mime:"audio/mp4"};case"crx":return{ext:"cr3",mime:"image/x-canon-cr3"};default:return f.startsWith("3g")?f.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}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-panasonic-rw2"};if(this.check([48,38,178,117,142,102,207,17,166,217])){async function h(){const t=new Uint8Array(16);return await e.readBuffer(t),{id:t,size:Number(await e.readToken(a.UINT64_LE))}}for(await e.ignore(30);e.position+24<e.fileInfo.size;){const g=await h();let T=g.size-24;if(ie(g.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){const k=new Uint8Array(16);if(T-=await e.readBuffer(k),ie(k,[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(ie(k,[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}await e.ignore(T)}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.check([0,60,0,63,0,120,0,109,0,108],{offset:2})?{ext:"xml",mime:"application/xml"}:void 0;if(this.check([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await e.peekBuffer(this.buffer,{length:Math.min(256,e.fileInfo.size),mayBeLess:!0}),this.check([97,99,115,112],{offset:36}))return{ext:"icc",mime:"application/vnd.iccprofile"};if(this.checkString("**ACE",{offset:7})&&this.checkString("**",{offset:12}))return{ext:"ace",mime:"application/x-ace-compressed"};if(this.checkString("BEGIN:")){if(this.checkString("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(this.checkString("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(this.checkString("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(this.checkString("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(this.checkString("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(this.check([4,0,0,0])&&this.buffer.length>=16){const b=new DataView(this.buffer.buffer).getUint32(12,!0);if(b>12&&this.buffer.length>=b+16)try{const y=(new TextDecoder).decode(this.buffer.subarray(16,b+16));if(JSON.parse(y).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}return this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2])?{ext:"mxf",mime:"application/mxf"}:this.checkString("SCRM",{offset:44})?{ext:"s3m",mime:"audio/x-s3m"}:this.check([71])&&this.check([71],{offset:188})||this.check([71],{offset:4})&&this.check([71],{offset:196})?{ext:"mts",mime:"video/mp2t"}:this.check([66,79,79,75,77,79,66,73],{offset:60})?{ext:"mobi",mime:"application/x-mobipocket-ebook"}:this.check([68,73,67,77],{offset:128})?{ext:"dcm",mime:"application/dicom"}:this.check([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70])?{ext:"lnk",mime:"application/x.ms.shortcut"}:this.check([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0])?{ext:"alias",mime:"application/x.apple.alias"}:this.checkString("Kaydara FBX Binary \0")?{ext:"fbx",mime:"application/x.autodesk.fbx"}: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}))?{ext:"eot",mime:"application/vnd.ms-fontobject"}:this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29])?{ext:"indd",mime:"application/x-indesign"}:(await e.peekBuffer(this.buffer,{length:Math.min(512,e.fileInfo.size),mayBeLess:!0}),this.checkString("ustar",{offset:257})&&(this.checkString("\0",{offset:262})||this.checkString(" ",{offset:262}))||this.check([0,0,0,0,0,0],{offset:257})&&function(e,t=0){const i=Number.parseInt(new 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)?{ext:"tar",mime:"application/x-tar"}:this.check([255,254])?this.check([60,0,63,0,120,0,109,0,108,0],{offset:2})?{ext:"xml",mime:"application/xml"}:this.check([255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0],{offset:2})?{ext:"skp",mime:"application/vnd.sketchup.skp"}:void 0:this.checkString("-----BEGIN PGP MESSAGE-----")?{ext:"pgp",mime:"application/pgp-encrypted"}:void 0)};detectImprecise=async e=>{if(this.buffer=new Uint8Array(Q),await e.peekBuffer(this.buffer,{length:Math.min(8,e.fileInfo.size),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,e.fileInfo.size),mayBeLess:!0}),this.buffer.length>=2+this.options.mpegOffsetTolerance)for(let e=0;e<=this.options.mpegOffsetTolerance;++e){const t=this.scanMpeg(e);if(t)return t}};async readTiffTag(e){const t=await this.tokenizer.readToken(e?a.UINT16_BE:a.UINT16_LE);switch(this.tokenizer.ignore(10),t){case 50341:return{ext:"arw",mime:"image/x-sony-arw"};case 50706:return{ext:"dng",mime:"image/x-adobe-dng"}}}async readTiffIFD(e){const t=await this.tokenizer.readToken(e?a.UINT16_BE:a.UINT16_LE);for(let i=0;i<t;++i){const t=await this.readTiffTag(e);if(t)return t}}async readTiffHeader(e){const t=(e?a.UINT16_BE:a.UINT16_LE).get(this.buffer,2),i=(e?a.UINT32_BE:a.UINT32_LE).get(this.buffer,4);if(42===t){if(i>=6){if(this.checkString("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(i>=8){const 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"}}}return await this.tokenizer.ignore(i),await this.readTiffIFD(e)??{ext:"tif",mime:"image/tiff"}}if(43===t)return{ext:"tif",mime:"image/tiff"}}scanMpeg(e){if(this.check([255,224],{offset:e,mask:[255,224]})){if(this.check([16],{offset:e+1,mask:[22]}))return this.check([8],{offset:e+1,mask:[8]}),{ext:"aac",mime:"audio/aac"};if(this.check([2],{offset:e+1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(this.check([4],{offset:e+1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(this.check([6],{offset:e+1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}}new Set(["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","elf","macho","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ttc","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","j2c","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf","jls","pst","dwg","parquet","class","arj","cpio","ace","avro","icc","fbx","vsdx","vtt","apk","drc","lz4","potx","xltx","dotx","xltm","ott","ots","otp","odg","otg","xlsm","docm","dotm","potm","pptm","jar","rm","ppsm","ppsx"]),new Set(["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.ms-powerpoint.slideshow.macroenabled.12","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/vnd.apache.arrow.file","video/mp4","audio/midi","video/matroska","video/webm","video/quicktime","video/vnd.avi","audio/wav","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","video/ogg","audio/ogg","audio/ogg; codecs=opus","application/ogg","audio/flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-elf","application/x-mach-binary","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","font/collection","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/j2c","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","text/vtt","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd","image/jls","application/vnd.ms-outlook","image/vnd.dwg","application/vnd.apache.parquet","application/java-vm","application/x-arj","application/x-cpio","application/x-ace-compressed","application/avro","application/vnd.iccprofile","application/x.autodesk.fbx","application/vnd.visio","application/vnd.android.package-archive","application/vnd.google.draco","application/x-lz4","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.ms-excel.template.macroenabled.12","application/vnd.oasis.opendocument.text-template","application/vnd.oasis.opendocument.spreadsheet-template","application/vnd.oasis.opendocument.presentation-template","application/vnd.oasis.opendocument.graphics","application/vnd.oasis.opendocument.graphics-template","application/vnd.ms-excel.sheet.macroenabled.12","application/vnd.ms-word.document.macroenabled.12","application/vnd.ms-word.template.macroenabled.12","application/vnd.ms-powerpoint.template.macroenabled.12","application/vnd.ms-powerpoint.presentation.macroenabled.12","application/java-archive","application/vnd.rn-realmedia"]);var ae=i(58597),ne=i(50864),se=i(45207);const oe={multiple:!1},ce={year:oe,track:oe,disk:oe,title:oe,artist:oe,artists:{multiple:!0,unique:!0},albumartist:oe,album:oe,date:oe,originaldate:oe,originalyear:oe,releasedate:oe,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:oe,subtitle:{multiple:!0},discsubtitle:oe,totaltracks:oe,totaldiscs:oe,compilation:oe,rating:{multiple:!0},bpm:oe,mood:oe,media:oe,catalognumber:{multiple:!0,unique:!0},tvShow:oe,tvShowSort:oe,tvSeason:oe,tvEpisode:oe,tvEpisodeId:oe,tvNetwork:oe,podcast:oe,podcasturl:oe,releasestatus:oe,releasetype:{multiple:!0},releasecountry:oe,script:oe,language:oe,copyright:oe,license:oe,encodedby:oe,encodersettings:oe,gapless:oe,barcode:oe,isrc:{multiple:!0},asin:oe,musicbrainz_recordingid:oe,musicbrainz_trackid:oe,musicbrainz_albumid:oe,musicbrainz_artistid:{multiple:!0},musicbrainz_albumartistid:{multiple:!0},musicbrainz_releasegroupid:oe,musicbrainz_workid:oe,musicbrainz_trmid:oe,musicbrainz_discid:oe,acoustid_id:oe,acoustid_fingerprint:oe,musicip_puid:oe,musicip_fingerprint:oe,website:oe,"performer:instrument":{multiple:!0,unique:!0},averageLevel:oe,peakLevel:oe,notes:{multiple:!0,unique:!1},key:oe,originalalbum:oe,originalartist:oe,discogs_artist_id:{multiple:!0,unique:!0},discogs_release_id:oe,discogs_label_id:oe,discogs_master_release_id:oe,discogs_votes:oe,discogs_rating:oe,replaygain_track_peak:oe,replaygain_track_gain:oe,replaygain_album_peak:oe,replaygain_album_gain:oe,replaygain_track_minmax:oe,replaygain_album_minmax:oe,replaygain_undo:oe,description:{multiple:!0},longDescription:oe,category:{multiple:!0},hdVideo:oe,keywords:{multiple:!0},movement:oe,movementIndex:oe,movementTotal:oe,podcastId:oe,showMovement:oe,stik:oe,playCounter:oe};class le{static toIntOrNull(e){const t=Number.parseInt(e,10);return Number.isNaN(t)?null:t}static normalizeTrack(e){const t=e.toString().split("/");return{no:Number.parseInt(t[0],10)||null,of:Number.parseInt(t[1],10)||null}}constructor(e,t){this.tagTypes=e,this.tagMap=t}mapGenericTag(e,t){e={id:e.id,value:e.value},this.postMap(e,t);const i=this.getCommonName(e.id);return i?{id:i,value:e.value}:null}getCommonName(e){return this.tagMap[e]}postMap(e,t){}}le.maxRatingScore=1;const ue={title:"title",artist:"artist",album:"album",year:"year",comment:"comment",track:"track",genre:"genre"};class me extends le{constructor(){super(["ID3v1"],ue)}}class pe extends le{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 de=i(56185);const fe={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":"catalognumber","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 he extends pe{static toRating(e){return{source:e.email,rating:e.rating>0?(e.rating-1)/254*le.maxRatingScore:void 0}}constructor(){super(["ID3v2.3","ID3v2.4"],fe)}postMap(e,t){switch(e.id){case"UFID":{const t=e.value;"http://musicbrainz.org"===t.owner_identifier&&(e.id+=`:${t.owner_identifier}`,e.value=(0,de.sc)(t.identifier,"latin1"))}break;case"PRIV":{const i=e.value;switch(i.owner_identifier){case"AverageLevel":case"PeakValue":e.id+=`:${i.owner_identifier}`,e.value=4===i.data.length?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=he.toRating(e.value)}}}const ge={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/Media":"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 Te extends le{static toRating(e){return{rating:Number.parseFloat(e+1)/5}}constructor(){super(["asf"],ge)}postMap(e){switch(e.id){case"WM/SharedUserRating":{const t=e.id.split(":");e.value=Te.toRating(e.value),e.id=t[0];break}}}}const ke={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:"copyright",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"};class be extends pe{constructor(){super(["ID3v2.2"],ke)}}const ye={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 we extends pe{constructor(){super(["APEv2"],ye)}}const xe={"©nam":"title","©ART":"artist",aART:"albumartist","----:com.apple.iTunes:Band":"albumartist","©alb":"album","©day":"date","©cmt":"comment","©com":"comment",trkn:"track",disk:"disk","©gen":"genre",covr:"picture","©wrt":"composer","©lyr":"lyrics",soal:"albumsort",sonm:"titlesort",soar:"artistsort",soaa:"albumartistsort",soco:"composersort","----:com.apple.iTunes:LYRICIST":"lyricist","----:com.apple.iTunes:CONDUCTOR":"conductor","----:com.apple.iTunes:REMIXER":"remixer","----:com.apple.iTunes:ENGINEER":"engineer","----:com.apple.iTunes:PRODUCER":"producer","----:com.apple.iTunes:DJMIXER":"djmixer","----:com.apple.iTunes:MIXER":"mixer","----:com.apple.iTunes:LABEL":"label","©grp":"grouping","----:com.apple.iTunes:SUBTITLE":"subtitle","----:com.apple.iTunes:DISCSUBTITLE":"discsubtitle",cpil:"compilation",tmpo:"bpm","----:com.apple.iTunes:MOOD":"mood","----:com.apple.iTunes:MEDIA":"media","----:com.apple.iTunes:CATALOGNUMBER":"catalognumber",tvsh:"tvShow",tvsn:"tvSeason",tves:"tvEpisode",sosn:"tvShowSort",tven:"tvEpisodeId",tvnn:"tvNetwork",pcst:"podcast",purl:"podcasturl","----:com.apple.iTunes:MusicBrainz Album Status":"releasestatus","----:com.apple.iTunes:MusicBrainz Album Type":"releasetype","----:com.apple.iTunes:MusicBrainz Album Release Country":"releasecountry","----:com.apple.iTunes:SCRIPT":"script","----:com.apple.iTunes:LANGUAGE":"language",cprt:"copyright","©cpy":"copyright","----:com.apple.iTunes:LICENSE":"license","©too":"encodedby",pgap:"gapless","----:com.apple.iTunes:BARCODE":"barcode","----:com.apple.iTunes:ISRC":"isrc","----:com.apple.iTunes:ASIN":"asin","----:com.apple.iTunes:NOTES":"comment","----:com.apple.iTunes:MusicBrainz Track Id":"musicbrainz_recordingid","----:com.apple.iTunes:MusicBrainz Release Track Id":"musicbrainz_trackid","----:com.apple.iTunes:MusicBrainz Album Id":"musicbrainz_albumid","----:com.apple.iTunes:MusicBrainz Artist Id":"musicbrainz_artistid","----:com.apple.iTunes:MusicBrainz Album Artist Id":"musicbrainz_albumartistid","----:com.apple.iTunes:MusicBrainz Release Group Id":"musicbrainz_releasegroupid","----:com.apple.iTunes:MusicBrainz Work Id":"musicbrainz_workid","----:com.apple.iTunes:MusicBrainz TRM Id":"musicbrainz_trmid","----:com.apple.iTunes:MusicBrainz Disc Id":"musicbrainz_discid","----:com.apple.iTunes:Acoustid Id":"acoustid_id","----:com.apple.iTunes:Acoustid Fingerprint":"acoustid_fingerprint","----:com.apple.iTunes:MusicIP PUID":"musicip_puid","----:com.apple.iTunes:fingerprint":"musicip_fingerprint","----:com.apple.iTunes:replaygain_track_gain":"replaygain_track_gain","----:com.apple.iTunes:replaygain_track_peak":"replaygain_track_peak","----:com.apple.iTunes:replaygain_album_gain":"replaygain_album_gain","----:com.apple.iTunes:replaygain_album_peak":"replaygain_album_peak","----:com.apple.iTunes:replaygain_track_minmax":"replaygain_track_minmax","----:com.apple.iTunes:replaygain_album_minmax":"replaygain_album_minmax","----:com.apple.iTunes:replaygain_undo":"replaygain_undo",gnre:"genre","----:com.apple.iTunes:ALBUMARTISTSORT":"albumartistsort","----:com.apple.iTunes:ARTISTS":"artists","----:com.apple.iTunes:ORIGINALDATE":"originaldate","----:com.apple.iTunes:ORIGINALYEAR":"originalyear","----:com.apple.iTunes:RELEASEDATE":"releasedate",desc:"description",ldes:"longDescription","©mvn":"movement","©mvi":"movementIndex","©mvc":"movementTotal","©wrk":"work",catg:"category",egid:"podcastId",hdvd:"hdVideo",keyw:"keywords",shwm:"showMovement",stik:"stik",rate:"rating"};class ve extends pe{constructor(){super(["iTunes"],xe)}postMap(e,t){"rate"===e.id&&(e.value={source:void 0,rating:Number.parseFloat(e.value)/100})}}const Ie={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:"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 Ae extends le{static toRating(e,t,i){return{source:e?e.toLowerCase():void 0,rating:Number.parseFloat(t)/i*le.maxRatingScore}}constructor(){super(["vorbis"],Ie)}postMap(e){if("RATING"===e.id)e.value=Ae.toRating(void 0,e.value,100);else if(0===e.id.indexOf("RATING:")){const t=e.id.split(":");e.value=Ae.toRating(t[1],e.value,1),e.id=t[0]}}}const Se={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 Ee extends le{constructor(){super(["exif"],Se)}}const _e={"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 Ce extends pe{constructor(){super(["matroska"],_e)}}const Me={NAME:"title",AUTH:"artist","(c) ":"copyright",ANNO:"comment"};class Re extends le{constructor(){super(["AIFF"],Me)}}var ze=i(63324);class Ne{constructor(){this.tagMappers={},[new me,new be,new he,new ve,new ve,new Ae,new we,new Te,new Ee,new Ce,new Re].forEach(e=>{this.registerTagMapper(e)})}mapTag(e,t,i){if(this.tagMappers[e])return this.tagMappers[e].mapGenericTag(t,i);throw new ze.nK(`No generic tag mapper defined for tag-format: ${e}`)}registerTagMapper(e){for(const t of e.tagTypes)this.tagMappers[t]=e}}var Le=i(47675);const Be=U("music-metadata:collector"),Ue=["matroska","APEv2","vorbis","ID3v2.4","ID3v2.3","ID3v2.2","exif","asf","iTunes","AIFF","ID3v1"];class Pe{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}},this.quality={warnings:[]},this.commonOrigin={},this.originPriority={},this.tagMapper=new Ne,this.opts=e;let t=1;for(const e of Ue)this.originPriority[e]=t++;this.originPriority.artificial=500,this.originPriority.id3v1=600}hasAny(){return Object.keys(this.native).length>0}addStreamInfo(e){Be(`streamInfo: type=${e.type?se.vQ[e.type]:"?"}, codec=${e.codecName}`),this.format.trackInfo.push(e)}setFormat(e,t){Be(`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){Be(`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":if(this.commonOrigin.artist===this.originPriority[e])return this.postMap("artificial",{id:"artists",value:t.value});this.common.artists||this.setGenericTag("artificial",{id:"artists",value:t.value});break;case"artists":if(!(this.common.artist&&this.commonOrigin.artist!==this.originPriority.artificial||this.common.artists&&-1!==this.common.artists.indexOf(t.value))){const e={id:"artist",value:(i=(this.common.artists||[]).concat([t.value])).length>2?`${i.slice(0,i.length-1).join(", ")} & ${i[i.length-1]}`:i.join(" & ")};this.setGenericTag("artificial",e)}break;case"picture":return this.postFixPicture(t.value).then(i=>{null!==i&&(t.value=i,this.setGenericTag(e,t))});case"totaltracks":return void(this.common.track.of=le.toIntOrNull(t.value));case"totaldiscs":return void(this.common.disk.of=le.toIntOrNull(t.value));case"movementTotal":return void(this.common.movementIndex.of=le.toIntOrNull(t.value));case"track":case"disk":case"movementIndex":{const e=this.common[t.id].of;return this.common[t.id]=le.normalizeTrack(t.value),void(this.common[t.id].of=null!=e?e:this.common[t.id].of)}case"bpm":case"year":case"originalyear":t.value=Number.parseInt(t.value,10);break;case"date":{const e=Number.parseInt(t.value.substr(0,4),10);Number.isNaN(e)||(this.common.year=e);break}case"discogs_label_id":case"discogs_release_id":case"discogs_master_release_id":case"discogs_artist_id":case"discogs_votes":t.value="string"==typeof t.value?Number.parseInt(t.value,10):t.value;break;case"replaygain_track_gain":case"replaygain_track_peak":case"replaygain_album_gain":case"replaygain_album_peak":t.value=(0,de.th)(t.value);break;case"replaygain_track_minmax":t.value=t.value.split(",").map(e=>Number.parseInt(e,10));break;case"replaygain_undo":{const e=t.value.split(",").map(e=>Number.parseInt(e,10));t.value={leftChannel:e[0],rightChannel:e[1]};break}case"gapless":case"compilation":case"podcast":case"showMovement":t.value="1"===t.value||1===t.value;break;case"isrc":{const e=this.common[t.id];if(e&&-1!==e.indexOf(t.value))return;break}case"comment":"string"==typeof t.value&&(t.value={text:t.value}),"iTunPGAP"===t.value.descriptor&&this.setGenericTag(e,{id:"gapless",value:"1"===t.value.text});break;case"lyrics":"string"==typeof t.value&&(t.value=function(e){const t=e.split("\n"),i=[],r=/\[(\d{2}):(\d{2})\.(\d{2,3})\]/;for(const e of t){const t=e.match(r);if(t){const a=Number.parseInt(t[1],10),n=Number.parseInt(t[2],10),s=t[3];let o;o=3===s.length?Number.parseInt(s,10):10*Number.parseInt(s,10);const c=1e3*(60*a+n)+o,l=e.replace(r,"").trim();i.push({timestamp:c,text:l})}}return{contentType:Le.MW.lyrics,timeStampFormat:Le.sd.milliseconds,syncText:i}}(t.value))}var i;null!==t.value&&this.setGenericTag(e,t)}toCommonMetadata(){return{format:this.format,native:this.native,quality:this.quality,common:this.common}}async postFixPicture(e){if(e.data&&e.data.length>0){if(!e.format){const t=await ee(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){const r={id:t,value:i},a=this.tagMapper.mapTag(e,r,this);a&&await this.postMap(e,a)}setGenericTag(e,t){Be(`common.${t.id} = ${t.value}`);const i=this.commonOrigin[t.id]||1e3,r=this.originPriority[e];if(a=t.id,ce[a]&&!ce[a].multiple){if(!(r<=i))return Be(`Ignore native tag (singleton): ${e}.${t.id} = ${t.value}`);this.common[t.id]=t.value,this.commonOrigin[t.id]=r}else if(r===i)!function(e){return!ce[e].multiple||ce[e].unique||!1}(t.id)||-1===this.common[t.id].indexOf(t.value)?this.common[t.id].push(t.value):Be(`Ignore duplicate value: ${e}.${t.id} = ${t.value}`);else{if(!(r<i))return Be(`Ignore native tag (list): ${e}.${t.id} = ${t.value}`);this.common[t.id]=[t.value],this.commonOrigin[t.id]=r}var a;this.opts?.observer&&this.opts.observer({metadata:this,tag:{type:"common",id:t.id,value:t.value}})}}const Oe={parserType:"mpeg",extensions:[".mp2",".mp3",".m2a",".aac","aacp"],mimeTypes:["audio/mpeg","audio/mp3","audio/aacs","audio/aacp"],load:async()=>(await Promise.all([i.e(8621),i.e(8764)]).then(i.bind(i,58764))).MpegParser},De={parserType:"apev2",extensions:[".ape"],mimeTypes:["audio/ape","audio/monkeys-audio"],load:async()=>(await Promise.resolve().then(i.bind(i,10283))).APEv2Parser},Fe={parserType:"asf",extensions:[".asf"],mimeTypes:["audio/ms-wma","video/ms-wmv","audio/ms-asf","video/ms-asf","application/vnd.ms-asf"],load:async()=>(await i.e(2626).then(i.bind(i,72626))).AsfParser},Xe={parserType:"dsdiff",extensions:[".dff"],mimeTypes:["audio/dsf","audio/dsd"],load:async()=>(await Promise.all([i.e(8621),i.e(7408)]).then(i.bind(i,47408))).DsdiffParser},Ge={parserType:"aiff",extensions:[".aif","aiff","aifc"],mimeTypes:["audio/aiff","audio/aif","audio/aifc","application/aiff"],load:async()=>(await Promise.all([i.e(8621),i.e(8790)]).then(i.bind(i,78790))).AIFFParser},We={parserType:"dsf",extensions:[".dsf"],mimeTypes:["audio/dsf"],load:async()=>(await Promise.all([i.e(8621),i.e(46)]).then(i.bind(i,60046))).DsfParser},je={parserType:"flac",extensions:[".flac"],mimeTypes:["audio/flac"],load:async()=>(await Promise.all([i.e(8621),i.e(2465)]).then(i.bind(i,62465))).FlacParser},$e={parserType:"matroska",extensions:[".mka",".mkv",".mk3d",".mks","webm"],mimeTypes:["audio/matroska","video/matroska","audio/webm","video/webm"],load:async()=>(await i.e(1930).then(i.bind(i,21930))).MatroskaParser},qe={parserType:"mp4",extensions:[".mp4",".m4a",".m4b",".m4pa","m4v","m4r","3gp"],mimeTypes:["audio/mp4","audio/m4a","video/m4v","video/mp4"],load:async()=>(await i.e(3272).then(i.bind(i,53272))).MP4Parser},He={parserType:"musepack",extensions:[".mpc"],mimeTypes:["audio/musepack"],load:async()=>(await Promise.all([i.e(8621),i.e(984)]).then(i.bind(i,60984))).MusepackParser},Ye={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(8621),i.e(8409)]).then(i.bind(i,78409))).OggParser},Ze={parserType:"wavpack",extensions:[".wv",".wvp"],mimeTypes:["audio/wavpack"],load:async()=>(await i.e(5420).then(i.bind(i,35420))).WavPackParser},Ke={parserType:"riff",extensions:[".wav","wave",".bwf"],mimeTypes:["audio/vnd.wave","audio/wav","audio/wave"],load:async()=>(await Promise.all([i.e(8621),i.e(6438)]).then(i.bind(i,66438))).WaveParser},Ve=U("music-metadata:parser:factory");class Je{constructor(){this.parsers=[],[je,Oe,De,qe,$e,Ke,Ye,Fe,Ge,Ze,He,We,Xe].forEach(e=>{this.registerParser(e)})}registerParser(e){this.parsers.push(e)}async parse(e,t,i){if(e.supportsRandomAccess()?(Ve("tokenizer supports random-access, scanning for appending headers"),await nt(e,i)):Ve("tokenizer does not support random-access, cannot scan for appending headers"),!t){const i=new Uint8Array(4100);if(e.fileInfo.mimeType&&(t=this.findLoaderForContentType(e.fileInfo.mimeType)),!t&&e.fileInfo.path&&(t=this.findLoaderForExtension(e.fileInfo.path)),!t){Ve("Guess parser on content..."),await e.peekBuffer(i,{mayBeLess:!0});const r=await ee(i,{mpegOffsetTolerance:10});if(!r||!r.mime)throw new ze.e6("Failed to determine audio format");if(Ve(`Guessed file type is mime=${r.mime}, extension=${r.ext}`),!(t=this.findLoaderForContentType(r.mime)))throw new ze.qq(`Guessed MIME-type not supported: ${r.mime}`)}}Ve(`Loading ${t.parserType} parser...`);const r=new Pe(i),a=new(await t.load())(r,e,i??{});return Ve(`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===se.S.audio)),void 0===r.format.hasVideo&&r.setFormat("hasVideo",!!r.format.trackInfo.find(e=>e.type===se.S.video))),r.toCommonMetadata()}findLoaderForExtension(e){if(!e)return;const t=function(e){const t=e.lastIndexOf(".");return-1===t?"":e.substring(t)}(e).toLocaleLowerCase()||e;return this.parsers.find(e=>-1!==e.extensions.indexOf(t))}findLoaderForContentType(e){let t;if(!e)return;try{t=function(e){const t=ae.parse(e),i=(0,ne.qg)(t.type);return{type:i.type,subtype:i.subtype,suffix:i.suffix,parameters:t.parameters}}(e)}catch(t){return void Ve(`Invalid HTTP Content-Type header value: ${e}`)}const i=0===t.subtype.indexOf("x-")?t.subtype.substring(2):t.subtype;return this.parsers.find(e=>e.mimeTypes.find(e=>-1!==e.indexOf(`${t.type}/${i}`)))}getSupportedMimeTypes(){const e=new Set;return this.parsers.forEach(t=>{t.mimeTypes.forEach(t=>{e.add(t),e.add(t.replace("/","/x-"))})}),Array.from(e)}}var Qe=i(10283),et=i(68191),tt=i(12971);const it="LYRICS200";async function rt(e,t={}){const i=(0,r._F)(e);try{return await function(e,t){return(new Je).parse(e,void 0,t)}(i,t)}finally{await i.close()}}function at(e){return e?e.reduce((e,t)=>t.name&&t.name.toLowerCase()in["front","cover","cover (front)"]?t:e):null}async function nt(e,t={}){let i=e.fileInfo.size;if(await(0,et.zc)(e)){i-=128;const t=await async function(e){const t=e.fileInfo.size;if(t>=143){const i=new Uint8Array(15),r=e.position;await e.readBuffer(i,{position:t-143}),e.setPosition(r);const a=(0,tt.c)(i,"latin1");if(a.substring(6)===it)return Number.parseInt(a.substring(0,6),10)+15}return 0}(e);i-=t}t.apeHeader=await Qe.APEv2Parser.findApeFooterOffset(e,i)}},4017:(e,t,i)=>{"use strict";i.r(t),i.d(t,{AnsiStringType:()=>B,Float16_BE:()=>I,Float16_LE:()=>A,Float32_BE:()=>S,Float32_LE:()=>E,Float64_BE:()=>_,Float64_LE:()=>C,Float80_BE:()=>M,Float80_LE:()=>R,INT16_BE:()=>f,INT16_LE:()=>h,INT24_BE:()=>T,INT24_LE:()=>g,INT32_BE:()=>k,INT32_LE:()=>b,INT64_BE:()=>v,INT64_LE:()=>w,INT8:()=>d,IgnoreType:()=>z,StringType:()=>L,UINT16_BE:()=>c,UINT16_LE:()=>o,UINT24_BE:()=>u,UINT24_LE:()=>l,UINT32_BE:()=>p,UINT32_LE:()=>m,UINT64_BE:()=>x,UINT64_LE:()=>y,UINT8:()=>s,Uint8ArrayType:()=>N});var r=i(251),a=i(12971);function n(e){return new DataView(e.buffer,e.byteOffset)}const 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){const i=n(e);return i.getUint8(t)+(i.getUint16(t+1,!0)<<8)},put(e,t,i){const r=n(e);return r.setUint8(t,255&i),r.setUint16(t+1,i>>8,!0),t+3}},u={len:3,get(e,t){const i=n(e);return(i.getUint16(t)<<8)+i.getUint8(t+2)},put(e,t,i){const 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){const i=l.get(e,t);return i>8388607?i-16777216:i},put(e,t,i){const r=n(e);return r.setUint8(t,255&i),r.setUint16(t+1,i>>8,!0),t+3}},T={len:3,get(e,t){const i=u.get(e,t);return i>8388607?i-16777216:i},put(e,t,i){const r=n(e);return r.setUint16(t,i>>8),r.setUint8(t+2,255&i),t+3}},k={len:4,get:(e,t)=>n(e).getInt32(t),put:(e,t,i)=>(n(e).setInt32(t,i),t+4)},b={len:4,get:(e,t)=>n(e).getInt32(t,!0),put:(e,t,i)=>(n(e).setInt32(t,i,!0),t+4)},y={len:8,get:(e,t)=>n(e).getBigUint64(t,!0),put:(e,t,i)=>(n(e).setBigUint64(t,i,!0),t+8)},w={len:8,get:(e,t)=>n(e).getBigInt64(t,!0),put:(e,t,i)=>(n(e).setBigInt64(t,i,!0),t+8)},x={len:8,get:(e,t)=>n(e).getBigUint64(t),put:(e,t,i)=>(n(e).setBigUint64(t,i),t+8)},v={len:8,get:(e,t)=>n(e).getBigInt64(t),put:(e,t,i)=>(n(e).setBigInt64(t,i),t+8)},I={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}},S={len:4,get:(e,t)=>n(e).getFloat32(t),put:(e,t,i)=>(n(e).setFloat32(t,i),t+4)},E={len:4,get:(e,t)=>n(e).getFloat32(t,!0),put:(e,t,i)=>(n(e).setFloat32(t,i,!0),t+4)},_={len:8,get:(e,t)=>n(e).getFloat64(t),put:(e,t,i)=>(n(e).setFloat64(t,i),t+8)},C={len:8,get:(e,t)=>n(e).getFloat64(t,!0),put:(e,t,i)=>(n(e).setFloat64(t,i,!0),t+8)},M={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 z{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){const i=e.subarray(t,t+this.len);return(0,a.c)(i,this.encoding)}}class B extends L{constructor(e){super(e,"windows-1252")}}},5031:(e,t,i)=>{"use strict";i.d(t,{e:()=>o});var r=i(12971),a=i(56185),n=i(63324);const s=/^[\x21-\x7e©][\x20-\x7e\x00()]{3}/,o={len:4,get:(e,t)=>{const i=(0,r.c)(e.subarray(t,t+o.len),"latin1");if(!i.match(s))throw new n.gP(`FourCC contains invalid characters: ${a.DY(i)} "${i}"`);return i},put:(e,t,i)=>{const a=(0,r.I)(i,"latin1");if(4!==a.length)throw new n.nK("Invalid length");return e.set(a,t),t+4}}},6585:e=>{var t=1e3,i=60*t,r=60*i,a=24*r,n=7*a;function s(e,t,i,r){var a=t>=1.5*i;return Math.round(e/i)+" "+r+(a?"s":"")}e.exports=function(e,o){o=o||{};var c,l,u=typeof e;if("string"===u&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(s){var o=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"weeks":case"week":case"w":return o*n;case"days":case"day":case"d":return o*a;case"hours":case"hour":case"hrs":case"hr":case"h":return o*r;case"minutes":case"minute":case"mins":case"min":case"m":return o*i;case"seconds":case"second":case"secs":case"sec":case"s":return o*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(e);if("number"===u&&isFinite(e))return o.long?(c=e,(l=Math.abs(c))>=a?s(c,l,a,"day"):l>=r?s(c,l,r,"hour"):l>=i?s(c,l,i,"minute"):l>=t?s(c,l,t,"second"):c+" ms"):function(e){var n=Math.abs(e);return n>=a?Math.round(e/a)+"d":n>=r?Math.round(e/r)+"h":n>=i?Math.round(e/i)+"m":n>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},10283:(e,t,i)=>{"use strict";i.r(t),i.d(t,{APEv2Parser:()=>x,ApeContentError:()=>y,tryParseApeHeader:()=>w});var r=i(17833),a=i(10718),n=i(4017),s=i(56185),o=i(74604),c=i(5031);const 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:f(e,31),containsFooter:f(e,30),isHeader:f(e,29),readOnly:f(e,0),dataType:(6&e)>>1}}function f(e,t){return!!(e&1<<t)}var h=i(63324),g=i(12971);const T=r("music-metadata:parser:APEv2"),k="APEv2",b="APETAGEX";class y extends((0,h.fO)("APEv2")){}function w(e,t,i){return new x(e,t,i).tryParseApeHeader()}class x 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,t/e.sampleRate}static async findApeFooterOffset(e,t){const i=new Uint8Array(m.len),r=e.position;if(t<=m.len)T(`Offset is too small to read APE footer: offset=${t}`);else if(t>m.len){await e.readBuffer(i,{position:t-m.len}),e.setPosition(r);const a=m.get(i,0);if("APETAGEX"===a.ID)return a.flags.isHeader?T("APE Header found at offset="+(t-m.len)):(T("APE Footer found at offset="+(t-m.len)),t-=a.size),{footer:a,offset:t}}}static parseTagFooter(e,t,i){const r=m.get(t,t.length-m.len);if(r.ID!==b)throw new y("Unexpected APEv2 Footer ID preamble value");return a.vY(t),new x(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 T("No APEv2 header found, end-of-file reached");const e=await this.tokenizer.peekToken(m);if(e.ID===b)return await this.tokenizer.ignore(m.len),this.parseTags(e);if(T(`APEv2 header not found at offset=${this.tokenizer.position}`),this.tokenizer.fileInfo.size){const e=this.tokenizer.fileInfo.size-this.tokenizer.position,t=new Uint8Array(e);return await this.tokenizer.readBuffer(t),x.parseTagFooter(this.metadata,t,this.options)}}async parse(){const e=await this.tokenizer.readToken(l);if("MAC "!==e.ID)throw new y("Unexpected descriptor ID");this.ape.descriptor=e;const 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){const t=new Uint8Array(256);let i=e.size-m.len;T(`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}const 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,0,t.length);const 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:{const e=(await this.tokenizer.readToken(new n.StringType(a.size,"utf8"))).split(/\x00/g);await Promise.all(e.map(e=>this.metadata.addTag(k,c,e)));break}case 1:if(this.options.skipCovers)await this.tokenizer.ignore(a.size);else{const e=new Uint8Array(a.size);await this.tokenizer.readBuffer(e),o=s.sX(e,0,e.length);const t=(0,g.c)(e.subarray(0,o),"utf-8"),i=e.subarray(o+1);await this.metadata.addTag(k,c,{description:t,data:i})}break;case 2:T(`Ignore external info ${c}`),await this.tokenizer.ignore(a.size);break;case 3:T(`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(){const 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",x.calculateDuration(e)),!this.ape.descriptor)throw new y("Missing APE descriptor");return{forwardBytes:this.ape.descriptor.seekTableBytes+this.ape.descriptor.headerDataBytes+this.ape.descriptor.apeFrameDataBytes+this.ape.descriptor.terminatingDataBytes}}}},10718:(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){const i=await this.read(e,t);return this.peekQueue.push(e.subarray(0,i)),i}async read(e,t=!1){if(0===e.length)return 0;let i=this.readFromPeekBuffer(e);if(this.endOfStream||(i+=await this.readRemainderFromStream(e.subarray(i),t)),0===i&&!t)throw new r;return i}readFromPeekBuffer(e){let t=e.length,i=0;for(;this.peekQueue.length>0&&t>0;){const r=this.peekQueue.pop();if(!r)throw new Error("peekData should be defined");const 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;const 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;const i=await this.reader.read(new Uint8Array(e.length),{min:t?void 0:e.length});return i.done&&(this.endOfStream=i.done),i.value?(e.set(i.value),i.value.length):0}}class c extends n{constructor(e){super(),this.reader=e,this.buffer=null}writeChunk(e,t){const i=Math.min(t.length,e.length);return e.set(t.subarray(0,i)),i<t.length?this.buffer=t.subarray(i):this.buffer=null,i}async readFromStream(e,t){if(0===e.length)return 0;let i=0;for(this.buffer&&(i+=this.writeChunk(e,this.buffer));i<e.length&&!this.endOfStream;){const t=await this.reader.read();if(t.done){this.endOfStream=!0;break}t.value&&(i+=this.writeChunk(e.subarray(i),t.value))}if(!t&&0===i&&this.endOfStream)throw new 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){const 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){const 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(void 0!==this.fileInfo.size){const t=this.fileInfo.size-this.position;if(e>t)return this.position+=t,t}return this.position+=e,e}async close(){await this.abort(),await(this.onClose?.())}normalizeOptions(e,t){if(!this.supportsRandomAccess()&&t&&void 0!==t.position&&t.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");return{mayBeLess:!1,offset:0,length:e.length,position:this.position,...t}}abort(){return Promise.resolve()}}class u extends l{constructor(e,t){super(t),this.streamReader=e,this.fileInfo=t?.fileInfo??{}}async readBuffer(e,t){const 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 new Error("`options.position` must be equal or greater than `tokenizer.position`");if(0===i.length)return 0;const 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){const i=this.normalizeOptions(e,t);let a=0;if(i.position){const t=i.position-this.position;if(t>0){const 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 new 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}async ignore(e){const t=Math.min(256e3,e),i=new Uint8Array(t);let r=0;for(;r<e;){const 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);const i=await this.peekBuffer(e,t);return this.position+=i,i}async peekBuffer(e,t){const 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);const i=await this.peekBuffer(e,t);return this.position+=i,i}async peekBuffer(e,t){const i=this.normalizeOptions(e,t),a=Math.min(this.blob.size-i.position,i.length);if(!i.mayBeLess&&a<i.length)throw new r;const 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){const i=function(e){try{const t=e.getReader({mode:"byob"});return t instanceof ReadableStreamDefaultReader?new c(t):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)}},12971:(e,t,i)=>{"use strict";i.d(t,{I:()=>s,c:()=>n});const r={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:"Ÿ"},a={};for(const[e,t]of Object.entries(r))a[t]=Number.parseInt(e);function n(e,t="utf-8"){switch(t.toLowerCase()){case"utf-8":case"utf8":return void 0!==globalThis.TextDecoder?new globalThis.TextDecoder("utf-8").decode(e):function(e){let t="",i=0;for(;i<e.length;){const r=e[i++];if(r<128)t+=String.fromCharCode(r);else if(r<224){const a=63&e[i++];t+=String.fromCharCode((31&r)<<6|a)}else if(r<240){const a=63&e[i++],n=63&e[i++];t+=String.fromCharCode((15&r)<<12|a<<6|n)}else{let a=(7&r)<<18|(63&e[i++])<<12|(63&e[i++])<<6|63&e[i++];a-=65536,t+=String.fromCharCode(55296+(a>>10&1023),56320+(1023&a))}}return t}(e);case"utf-16le":return function(e){let t="";for(let i=0;i<e.length;i+=2)t+=String.fromCharCode(e[i]|e[i+1]<<8);return t}(e);case"ascii":return function(e){return String.fromCharCode(...e.map(e=>127&e))}(e);case"latin1":case"iso-8859-1":return function(e){return String.fromCharCode(...e)}(e);case"windows-1252":return function(e){let t="";for(const i of e)i>=128&&i<=159&&r[i]?t+=r[i]:t+=String.fromCharCode(i);return t}(e);default:throw new RangeError(`Encoding '${t}' not supported`)}}function s(e="",t="utf-8"){switch(t.toLowerCase()){case"utf-8":case"utf8":return void 0!==globalThis.TextEncoder?(new globalThis.TextEncoder).encode(e):function(e){const t=[];for(let i=0;i<e.length;i++){const r=e.charCodeAt(i);r<128?t.push(r):r<2048?t.push(192|r>>6,128|63&r):r<65536?t.push(224|r>>12,128|r>>6&63,128|63&r):t.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|63&r)}return new Uint8Array(t)}(e);case"utf-16le":return function(e){const t=new Uint8Array(2*e.length);for(let i=0;i<e.length;i++){const r=e.charCodeAt(i);t[2*i]=255&r,t[2*i+1]=r>>8}return t}(e);case"ascii":return i=e,new Uint8Array([...i].map(e=>127&e.charCodeAt(0)));case"latin1":case"iso-8859-1":return function(e){return new Uint8Array([...e].map(e=>255&e.charCodeAt(0)))}(e);case"windows-1252":return function(e){return new Uint8Array([...e].map(e=>{const t=e.charCodeAt(0);return t<=255?t:void 0!==a[e]?a[e]:63}))}(e);default:throw new RangeError(`Encoding '${t}' not supported`)}var i}},17833:(e,t,i)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const i="color: "+this.color;t.splice(1,0,i,"color: inherit");let r=0,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&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=i(40736)(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},40736:(e,t,i)=>{e.exports=function(e){function t(e){let i,a,n,s=null;function o(...e){if(!o.enabled)return;const r=o,a=Number(new Date),n=a-(i||a);r.diff=n,r.prev=i,r.curr=a,i=a,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(i,a)=>{if("%%"===i)return"%";s++;const n=t.formatters[a];if("function"==typeof n){const t=e[s];i=n.call(r,t),e.splice(s,1),s--}return i}),t.formatArgs.call(r,e),(r.log||t.log).apply(r,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){const 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,r++):(i++,r++);else{if(-1===a)return!1;r=a+1,n++,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(){const e=[...t.names,...t.skips.map(e=>"-"+e)].join(",");return t.enable(""),e},t.enable=function(e){t.save(e),t.namespaces=e,t.names=[],t.skips=[];const i=("string"==typeof e?e:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const e of i)"-"===e[0]?t.skips.push(e.slice(1)):t.names.push(e)},t.enabled=function(e){for(const i of t.skips)if(a(e,i))return!1;for(const i of t.names)if(a(e,i))return!0;return!1},t.humanize=i(6585),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach(i=>{t[i]=e[i]}),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let i=0;for(let t=0;t<e.length;t++)i=(i<<5)-i+e.charCodeAt(t),i|=0;return t.colors[Math.abs(i)%t.colors.length]},t.enable(t.load()),t}},45207:(e,t,i)=>{"use strict";i.d(t,{S:()=>a,vQ:()=>n,yK:()=>r});const 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"}},47675:(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(4017),a=i(56185);const 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={notSynchronized0: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)=>{const i=p.get(e,t);return{encoding:i.encoding,language:i.language,timeStampFormat:r.UINT8.get(e,t+4),contentType:r.UINT8.get(e,t+5)}}}},50864:(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 new TypeError("argument string is required");if("string"!=typeof e)throw new TypeError("argument string is required to be a string");var t=i.exec(e.toLowerCase());if(!t)throw new TypeError("invalid media type");var a,n=t[1],s=t[2],o=s.lastIndexOf("+");return-1!==o&&(a=s.substr(o+1),s=s.substr(0,o)),new r(n,s,a)}},56185:(e,t,i)=>{"use strict";i.d(t,{DY:()=>d,F6:()=>u,cD:()=>p,f5:()=>m,ku:()=>h,mh:()=>s,qW:()=>c,sX:()=>o,sc:()=>l,th:()=>f});var r=i(4017),a=i(63324),n=i(78523);function s(e,t,i){return!!(e[t]&1<<i)}function o(e,t,i,r){let a=t;if("utf-16le"===r){for(;0!==e[a]||0!==e[a+1];){if(a>=i)return i;a+=2}return a}for(;0!==e[a];){if(a>=i)return i;a++}return a}function c(e){const t=e.indexOf("\0");return-1===t?e:e.substr(0,t)}function l(e,t){if(255===e[0]&&254===e[1])return l(e.subarray(2),t);if("utf-16le"===t&&254===e[0]&&255===e[1]){if(1&e.length)throw new a.gP("Expected even number of octets for 16-bit unicode string");return l(function(e){const t=e.length;if(1&t)throw new a.gP("Buffer length must be even");for(let i=0;i<t;i+=2){const t=e[i];e[i]=e[i+1],e[i+1]=t}return e}(e),t)}return new r.StringType(e.length,t).get(e,0)}function u(e){return(e=e.replace(/^\x00+/g,"")).replace(/\x00+$/g,"")}function m(e,t,i,r){const a=i%8;let n=e[t+~~(i/8)];n&=255>>a;const s=8-a,o=r-s;return o<0?n>>=8-a-r:o>0&&(n<<=o,n|=m(e,t,i+s,o)),n}function p(e,t,i){return 1===m(e,t,i,1)}function d(e){const t=[];for(let i=0,r=e.length;i<r;i++){const r=Number(e.charCodeAt(i)).toString(16);t.push(1===r.length?`0${r}`:r)}return t.join(" ")}function f(e){const t=e.split(" ").map(e=>e.trim().toLowerCase());if(t.length>=1){const e=Number.parseFloat(t[0]);return 2===t.length&&"db"===t[1]?{dB:e,ratio:(r=e,10**(r/10))}:{dB:(i=e,10*Math.log10(i)),ratio:e}}var i,r}function h(e){if(0===e.length)throw new Error("decodeUintBE: empty Uint8Array");const t=new DataView(e.buffer,e.byteOffset,e.byteLength);return(0,n.AW)(t)}},58597:(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){var t=String(e);if(a.test(t))return t;if(t.length>0&&!r.test(t))throw new TypeError("invalid parameter value");return'"'+t.replace(s,"\\$1")+'"'}function l(e){this.parameters=Object.create(null),this.type=e}t.format=function(e){if(!e||"object"!=typeof e)throw new TypeError("argument obj is required");var t=e.parameters,i=e.type;if(!i||!o.test(i))throw new TypeError("invalid type");var r=i;if(t&&"object"==typeof t)for(var n,s=Object.keys(t).sort(),l=0;l<s.length;l++){if(n=s[l],!a.test(n))throw new TypeError("invalid parameter name");r+="; "+n+"="+c(t[n])}return r},t.parse=function(e){if(!e)throw new TypeError("argument string is required");var t="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 new TypeError("content-type header is missing from object");return t}(e):e;if("string"!=typeof t)throw new TypeError("argument string is required to be a string");var r=t.indexOf(";"),a=-1!==r?t.slice(0,r).trim():t.trim();if(!o.test(a))throw new TypeError("invalid media type");var s=new l(a.toLowerCase());if(-1!==r){var c,u,m;for(i.lastIndex=r;u=i.exec(t);){if(u.index!==r)throw new TypeError("invalid parameter format");r+=u[0].length,c=u[1].toLowerCase(),34===(m=u[2]).charCodeAt(0)&&-1!==(m=m.slice(1,-1)).indexOf("\\")&&(m=m.replace(n,"$1")),s.parameters[c]=m}if(r!==t.length)throw new TypeError("invalid parameter format")}return s}},63324:(e,t,i)=>{"use strict";i.d(t,{e6:()=>a,fO:()=>l,gP:()=>o,nK:()=>c,qq:()=>n});const r=e=>class 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")){}const l=e=>class extends s{constructor(t){super(e,t)}}},68191:(e,t,i)=>{"use strict";i.d(t,{Bn:()=>d,jR:()=>u,zc:()=>f});var r=i(17833),a=i(4017),n=i(56185),s=i(74604),o=i(10283),c=i(12971);const 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","Pop-Folk","Eurodance","Dream","Southern Rock","Comedy","Cult","Gangsta Rap","Top 40","Christian Rap","Pop/Funk","Jungle","Native American","Cabaret","New Wave","Psychedelic","Rave","Showtunes","Trailer","Lo-Fi","Tribal","Acid Punk","Acid Jazz","Polka","Retro","Musical","Rock & Roll","Hard Rock","Folk","Folk/Rock","National Folk","Swing","Fast-Fusion","Bebob","Latin","Revival","Celtic","Bluegrass","Avantgarde","Gothic Rock","Progressive Rock","Psychedelic Rock","Symphonic Rock","Slow Rock","Big Band","Chorus","Easy Listening","Acoustic","Humour","Speech","Chanson","Opera","Chamber Music","Sonata","Symphony","Booty Bass","Primus","Porn Groove","Satire","Slow Jam","Club","Tango","Samba","Folklore","Ballad","Power Ballad","Rhythmic Soul","Freestyle","Duet","Punk Rock","Drum Solo","A Cappella","Euro-House","Dance Hall","Goa","Drum & Bass","Club-House","Hardcore","Terror","Indie","BritPop","Negerpunk","Polsk Punk","Beat","Christian Gangsta Rap","Heavy Metal","Black Metal","Crossover","Contemporary Christian","Christian Rock","Merengue","Salsa","Thrash Metal","Anime","JPop","Synthpop","Abstract","Art Rock","Baroque","Bhangra","Big Beat","Breakbeat","Chillout","Downtempo","Dub","EBM","Eclectic","Electro","Electroclash","Emo","Experimental","Garage","Global","IDM","Illbient","Industro-Goth","Jam Band","Krautrock","Leftfield","Lounge","Math Rock","New Romantic","Nu-Breakz","Post-Punk","Post-Rock","Psytrance","Shoegaze","Space Rock","Trop Rock","World Music","Neoclassical","Audiobook","Audio Theatre","Neue Deutsche Welle","Podcast","Indie Rock","G-Funk","Dubstep","Garage Rock","Psybient"],m={len:128,get:(e,t)=>{const 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=n.qW(i),i=i.trim(),i.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);const e=new o.APEv2Parser(this.metadata,this.tokenizer,this.options);await e.parseTags(this.apeHeader.footer)}const e=this.tokenizer.fileInfo.size-m.len;if(this.tokenizer.position>e)return void l("Already consumed the last 128 bytes");const t=await this.tokenizer.readToken(m,e);if(t){l("ID3v1 header found at: pos=%s",this.tokenizer.fileInfo.size-m.len);const e=["title","artist","album","comment","track","year"];for(const i of e)t[i]&&""!==t[i]&&await this.addTag(i,t[i]);const i=d.getGenre(t.genre);i&&await this.addTag("genre",i)}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){const 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}},74604:(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}}},78523:(e,t,i)=>{"use strict";i.d(t,{AS:()=>l,AW:()=>u,EY:()=>o});const r=Object.prototype.toString,a="[object Uint8Array]";function n(e){return function(e,t,i){return!!e&&(e.constructor===t||r.call(e)===i)}(e,Uint8Array,a)}new globalThis.TextDecoder("utf8"),new globalThis.TextEncoder;const s=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function o(e){!function(e){if(!n(e))throw new TypeError(`Expected \`Uint8Array\`, got \`${typeof e}\``)}(e);let t="";for(let i=0;i<e.length;i++)t+=s[e[i]];return t}const c={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,b:11,c:12,d:13,e:14,f:15,A:10,B:11,C:12,D:13,E:14,F:15};function l(e){if(function(e){if("string"!=typeof e)throw new TypeError(`Expected \`string\`, got \`${typeof e}\``)}(e),e.length%2!=0)throw new Error("Invalid Hex string length.");const t=e.length/2,i=new Uint8Array(t);for(let r=0;r<t;r++){const t=c[e[2*r]],a=c[e[2*r+1]];if(void 0===t||void 0===a)throw new Error("Invalid Hex character encountered at position "+2*r);i[r]=t<<4|a}return i}function u(e){const{byteLength:t}=e;return 6===t?e.getUint16(0)*2**32+e.getUint32(2):5===t?e.getUint8(0)*2**32+e.getUint32(1):4===t?e.getUint32(0):3===t?65536*e.getUint8(0)+e.getUint16(1):2===t?e.getUint16(0):1===t?e.getUint8(0):void 0}}}]);
//# sourceMappingURL=3246.d620f7f0085ecb085ff3.js.map