232 lines
86 KiB
JavaScript
232 lines
86 KiB
JavaScript
/* Copyright 2021-2025 Ethan Halsall. This file is part of wasm-audio-decoders. https://github.com/eshaz/wasm-audio-decoders */
|
||
var i,t;i=this,t=function(i,t){const e=(i,t=4294967295,e=79764919)=>{const H=new Int32Array(256);let s,h,r,n=t;for(s=0;s<256;s++){for(r=s<<24,h=8;h>0;--h)r=2147483648&r?r<<1^e:r<<1;H[s]=r}for(s=0;s<i.length;s++)n=n<<8^H[255&(n>>24^i[s])];return n},H=(i,t=e)=>{const H=i=>new Uint8Array(i.length/2).map((t,e)=>parseInt(i.substring(2*e,2*(e+1)),16)),s=i=>H(i)[0],h=new Map;[,8364,,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,,381,,,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,,382,376].forEach((i,t)=>h.set(i,t));const r=new Uint8Array(i.length);let n,M,o,a=!1,c=0,I=42,u=i.length>13&&"dynEncode"===i.substring(0,9),y=0;u&&(y=11,M=s(i.substring(9,y)),M<=1&&(y+=2,I=s(i.substring(11,y))),1===M&&(y+=8,o=(i=>new DataView(H(i).buffer).getInt32(0,!0))(i.substring(13,y))));const l=256-I;for(let e=y;e<i.length;e++)if(n=i.charCodeAt(e),61!==n||a){if(92===n&&e<i.length-5&&u){const t=i.charCodeAt(e+1);117!==t&&85!==t||(n=parseInt(i.substring(e+2,e+6),16),e+=5)}if(n>255){const i=h.get(n);i&&(n=i+127)}a&&(a=!1,n-=64),r[c++]=n<I&&n>0?n+l:n-I}else a=!0;const d=r.subarray(0,c);if(u&&1===M){const i=t(d);if(i!==o){const t="Decode failed crc32 validation";throw console.error("`simple-yenc`\n",t+"\n","Expected: "+o+"; Got: "+i+"\n","Visit https://github.com/eshaz/simple-yenc for more information"),Error(t)}}return d};function s(){const i=Uint8Array,t=Float32Array;s.t||Object.defineProperties(s,{t:{value:new WeakMap},H:{value(i,t){s.t.set(i,Promise.resolve(t))}},M:{value(i,t){let e=s.t.get(i);return e||(t?e=WebAssembly.compile(H(t)):(t=i.I,e=s.u(t).then(i=>WebAssembly.compile(i))),s.t.set(i,e)),e}},p:{value(i,e){let H=new t(e),s=0,h=0;for(;s<i.length;)H.set(i[s],h),h+=i[s++].length;return H}},J:{value:(i,t,e,H,s)=>({W:i,channelData:t,samplesDecoded:e,sampleRate:H,bitDepth:s})},T:{value(i,t,e,H,h,r){let n,M,o=[];for(n=0;n<e;n++){const i=[];for(M=0;M<t.length;)i.push(t[M++][n]||[]);o.push(s.p(i,H))}return s.J(i,o,H,h,r)}},u:{value(t){return t=H(t),new Promise(e=>{const H=String.raw`dynEncode012804c7886d()((()>+*§§)§,§§§§)§+§§§)§+.-()(*)-+)(.7*§)i¸¸,3§(i¸¸,3/G+.¡*(,(,3+)2å:-),§H(P*DI*H(P*@I++hH)H*r,hH(H(P*<J,i)^*<H,H(P*4U((I-H(H*i0J,^*DH+H-H*I+H,I*4)33H(H*H)^*DH(H+H)^*@H+i§H)i§3æ*).§K(iHI/+§H,iHn,§H+i(H+i(rCJ0I,H*I-+hH,,hH(H-V)(i)J.H.W)(i)c)(H,i)I,H-i*I-4)33i(I.*hH(V)(H+n5(H(i*I-i(I,i)I.+hH,i*J+iHn,hi(I-i*I,+hH,H/H-c)(H,iFn,hi(I,+hH,H0n5-H*V)(J(,hH/H(i)J(H(V)(J(i)c)(H)H(i)H,c)(3H*i*I*H,i)I,4(3(-H(H,W)(H-I-H,i*I,4)3(3(3H,H-I1H+I,H.i)H1V)(J.i(v5(33H.-H(H,i(c)(H,i*I,4)333)-§i*I*+§H*iHn,hi73H,H(i)8(H+J+H)P*(H*V)(J-r,§H)P*,H.i)H+H,i)V)(-H*i*I*H+i)I+H-H.I.H,H-i)I,4)333Ã+)-§iø7i(^*(iü7I,*h+hH+iDn,h*hilI+i)I,+hH+,hH+iô7H,c)(i)H+i´8W)(H,I,H+i*I+4)-+hH(H)8*J-i(p5.*h*h*hH-i')u,hH(P*(J+,hH(P*0J,H(P*,n50H+H,H-b((3H(P*0i)I.4)3H-i¨*n5*H-iÅ*s,hi73H-i)J+V)&+I,H(H+V)æ,8(I.H(H*8*J-i(p51H-i)J+i¸7V)(H(H+iø7V)(8(J/H(P*0J+s,hi73H+H,H.J,I.H(P*(m5(H.H(P*,s5.+hH,m5*H(P*(J.H+H.H+H/U((b((H(H(P*0i)J+^*0H,i)I,4(3(3H(H.^*03H-i¨*o5)33i(73(3(3-H,H+i)c)(H,i*I,H+i)I+4)33i)I-3H-3!2)0§K(i2J,L(H,H(^*(H,H*^*4H,i(^*0H,i(^*DH,j(_*<H,H)P*(^*,H,H+P*(^*8*h*h+hH,i)8(I3i§I**h*h*h*h*h*h*hH,i*8(6+(),03H,j(_*@i*I-H,P*<J.i,J(H,P*8J/s50H,H.i+J0^*<i¦I*H.H,P*4J1J.U(*H.U((J2i')o5/H.U()I.H,H(^*<H0H1U((H.i0J.i§i0i')o5/H/H.H2J*H(J.q50H,P*0J/H*I-H,P*(J0,hH,P*,H-q,hi)I-423+hH*m5+H/H0H(H1U((b((H/i)I/H(i)I(H*i)I*4(3(3H,H.^*<H,H-^*04*3iØ1U((5+i(I(i¨7i1^*(i$6iè1^*(i°7iè6^*(i¬7iÈ6^*(+hH(iÈ*n,hiÈ*I(+hH(i¨,n,hi¨,I(+hH(iØ,n,hiØ,I(+hH(iè,o,hH,i-H(i0c)(H(i*I(4)33iè1i1H,i-iÈ*8)Bi(I(+hH(ido,hH,i-H(i-c)(H(i*I(4)33iÈ6iè6H,i-iF8)BiØ1i)b((41-H,i-H(i/c)(H(i*I(4)3(3(-H,i-H(i1c)(H(i*I(4)3(3(-H,i-H(i0c)(H(i*I(4)3(3(3H,H/^*0H,H(^*<3i(I*4*3H,H,i¸)^*TH,H,iø-^*PH,H,iX^*LH,H,i(^*HH,i-8(I(H,i-8(I-i¥I*H,i,8(I.H(iErH-iEr5)H(i©*I1H-i)I0i(i;H.i,J(i(H(i(rCJ(J*H*i;sCI*i¨1I-H(I/+hH/,hH,i-H-V)(i)H,i+8(c)(H/i)I/H-i*I-H*i)I*4)-H(i)i¨1I/+hH(H*o,hH,i-H/V)(i)i(c)(H/i*I/H(i)I(4)33i¤I*H,iø-H,i¸)H,i-i;8)5+H0H1I2i(I-+hH-H2p,hH,H,iP8*J*i(p5-H*i7u,hH,i-H-i)H*c)(H-i)I-4*3i(I/i+I.i+I(*h*h*hH*i86*(*)3H-m,hi£I*403H-i)H,W)-I/i*I(4)3i3I.i/I(3H2H,H(8(H.J(H-J.p,hi¢I*4.3H,i-H-i)I*+hH(,hH*H/c)(H*i*I*H(i)I(4)-H.I-4+3(3(33H,W)1m,hiI*4,3H,iø-H,i¸)H,i-H18)J(,hi¡I*H(i(p5,H1H,V)ú-H,V)ø-o5,3H,i(H,iXH,i-H1i)H08)J(,hi I*H(i(p5,H0H,V)H,V)o5,3H,H,iPH,iH8+I*4+3(3(3H,i$6i¬78+I*3H*H3m5(3i)I-H*i(r5)3H)H,P*0^*(H+H,P*<^*(H*I-3H,i2L(H-33Á)+(i¨03b+(,(-(.(/(0(1(2(3(5(7(9(;(?(C(G(K(S([(c(k({(((«(Ë(ë((*)(iø03O)()()()(*(*(*(*(+(+(+(+(,(,(,(,(-(-(-(-(i¨13M8(9(:(((0(/(1(.(2(-(3(,(4(+(5(*(6()(7(T7*S7US0U `;s.M(s,H).then(i=>WebAssembly.instantiate(i,{})).then(({exports:H})=>{const s=new Map(Object.entries(H)),h=s.get("puff"),r=s.get("memory").buffer,n=new i(r),M=new DataView(r);let o=s.get("__heap_base");const a=t.length,c=o;o+=4,M.setInt32(c,a,!0);const I=o;o+=a,n.set(t,I);const u=o;o+=4,M.setInt32(u,n.byteLength-o,!0),h(o,u,I,c),e(n.slice(o,o+M.getInt32(u,!0)))})})}}}),Object.defineProperty(this,"I",{enumerable:!0,get:()=>this.P}),this.U=(i,t,e)=>{let H=[],s=0;for(;s<t;)H.push(i.slice(s*e,s++*e+e));return H},this.v=(i,t,e=!0)=>{const H=this.P.A(t.BYTES_PER_ELEMENT*i);return e&&this.Y.add(H),{N:H,F:i,O:new t(this.P.S,H,i)}},this.free=()=>{this.Y.forEach(i=>{this.P.free(i)}),this.Y.clear()},this.D=i=>{const t=[],e=new Uint8Array(this.P.S);for(let H=e[i];0!==H;H=e[++i])t.push(H);return String.fromCharCode.apply(null,t)},this.V=(i,t,e,H,s,h)=>{i.push({message:t,frameLength:e,frameNumber:H,inputBytes:s,outputSamples:h})},this.instantiate=(i,t)=>(t&&s.H(i,t),this.P=new i(s).instantiate(),this.Y=new Set,this.P.ready.then(()=>this))}class h extends((()=>globalThis.Worker||t)()){constructor(i,t,e,H){s.t||new s;let h=s.t.get(e);if(!h){let i,t="text/javascript",r=`'use strict';(${""+((i,t,e)=>{let H,s,h=new Promise(i=>{s=i});self.onmessage=({data:{id:r,command:n,data:M}})=>{let o,a=h,c={id:r};"init"===n?(Object.defineProperties(i,{$:{value:t},G:{value:e},module:{value:M.module},L:{value:!0}}),H=new i(M.options),s()):"free"===n?H.free():"ready"===n?a=a.then(()=>H.ready):"reset"===n?a=a.then(()=>H.reset()):(Object.assign(c,H[n](Array.isArray(M)?M.map(i=>new Uint8Array(i)):new Uint8Array(M))),o=c.channelData?c.channelData.map(i=>i.buffer):[]),a.then(()=>self.postMessage(c,o))}})})(${e}, ${s}, ${H})`;try{i=void 0!==process.versions.node}catch{}h=i?`data:${t};base64,${Buffer.from(r).toString("base64")}`:URL.createObjectURL(new Blob([r],{type:t})),s.t.set(e,h)}super(h,{name:t}),this.B=Number.MIN_SAFE_INTEGER,this.X=new Map,this.onmessage=({data:i})=>{const{id:t,...e}=i;this.X.get(t)(e),this.X.delete(t)},new H(s).M().then(t=>{this.Z("init",{module:t,options:i})})}async Z(i,t){return new Promise(e=>{this.postMessage({command:i,id:this.B,data:t}),this.X.set(this.B++,e)})}get ready(){return this.Z("ready")}async free(){await this.Z("free").finally(()=>{this.terminate()})}async reset(){await this.Z("reset")}}const r=(i,t)=>{Object.defineProperty(i,"name",{value:t})};function n(i){function t(){}for(var e,H,s={},h=Math.cos,r=new Uint8Array(123),M=25;M>=0;--M)r[48+M]=52+M,r[65+M]=M,r[97+M]=26+M;r[43]=62,r[47]=63;var o,a,c,I,u,y,l={d:()=>(()=>{throw""})(),c(){},e(i,t){if(s[i]&&(clearTimeout(s[i].id),delete s[i]),!t)return 0;var e=setTimeout(()=>{delete s[i],y(i,performance.now())},t);return s[i]={id:e,R:t},0},a:h,f:i=>(e.length,!1),b(i){throw`exit(${i})`}};n.I||Object.defineProperty(n,"I",{get:()=>String.raw`dynEncode013bc58350c1Éð|@|O*XØ3R}@³ùÆöÁ¤½CuÙFõ¶=}VònоÑX³W~aGÕ5?Q= Ú
Î
N= WeǸß3í=MÛßǹHÜjLvïêÀ:m°¹30>ÉX!¿býOýn
|
||
®Fj{øú¢ç=}(ÝñÜn moǰ¥àeò?È×µh
|
||
ØW¨;Ñ aØXæU{¤øàÖÕÀì·ÝÌíø±tâÔøeVO÷PÉ´È~ÃòsX1´ÊPyK·ÿKZçµ WÑ¡¡_ dÍí+]Õ~%Yïþîñ ¾Ú·p[òß ¶ó÷ylhnn«²ù*¶Ìéñ®ï(éÇÃRÊÆRÌ-¬ÐoÒÊ2z+ä$:ÄsxÏ#Ït!MlBq§%Jè ®Ä |