(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[621],{24765:function(e){e.exports=function(){function new_byte$1(e){return new Int8Array(e)}function new_short(e){return new Int16Array(e)}function new_int$1(e){return new Int32Array(e)}function new_float$1(e){return new Float32Array(e)}function new_double$1(e){return new Float64Array(e)}function new_float_n$1(e){if(1==e.length)return new_float$1(e[0]);var a=e[0];e=e.slice(1);for(var t=[],s=0;s=0;--B)x=p[d+B]*n[20+B]+p[d+-1-B]*l[28+B],P=p[d+B]*l[28+B]-p[d+-1-B]*n[20+B],p[d+-1-B]=x,p[d+B]=P}}if(c=i,u=286,1==e.mode_gr)for(var I=0;I<18;I++)r.arraycopy(e.sb_sample[h][1][I],0,e.sb_sample[h][0][I],0,32)}}},l=n.System,f=n.new_float,c=n.new_float_n,III_psy_xmin_1=function(){this.l=f(g.SBMAX_l),this.s=c([g.SBMAX_s,3]);var e=this;this.assign=function(a){l.arraycopy(a.l,0,e.l,0,g.SBMAX_l);for(var t=0;t.03125)e.ATH.adjust>=1?e.ATH.adjust=1:e.ATH.adjust=s?(e.ATH.adjust*=.075*s+.925,e.ATH.adjust=s?e.ATH.adjust=s:e.ATH.adjust=Encoder$2.FFTOFFSET),v(t.mf_size>=Encoder$2.BLKSIZE+e.framesize-Encoder$2.FFTOFFSET),v(t.mf_size>=512+e.framesize-32)}}this.lame_encode_mp3_frame=function(_,o,l,f,c,m){var v,g,S,B=b([2,2]);B[0][0]=new III_psy_ratio_1,B[0][1]=new III_psy_ratio_1,B[1][0]=new III_psy_ratio_1,B[1][1]=new III_psy_ratio_1;var M=b([2,2]);M[0][0]=new III_psy_ratio_1,M[0][1]=new III_psy_ratio_1,M[1][0]=new III_psy_ratio_1,M[1][1]=new III_psy_ratio_1;var R=[null,null],A=_.internal_flags,w=p([2,4]),T=[.5,.5],E=[[0,0],[0,0]],y=[[0,0],[0,0]];if(R[0]=o,R[1]=l,0==A.lame_encode_frame_init&&lame_encode_frame_init(_,R),A.padding=0,(A.slot_lag-=A.frac_SpF)<0&&(A.slot_lag+=_.out_samplerate,A.padding=1),0!=A.psymodel){var k,x,P,I,V,H=[null,null],L=0,N=d(2);for(V=0;V0&&(T[V]=w[V][3]/T[V])),I=0;I>1,f=n,u=(c=n<<1)+f,n=c<<1,i=(r=a)+h;do B=e[r+0]-e[r+f],g=e[r+0]+e[r+f],w=e[r+c]-e[r+u],R=e[r+c]+e[r+u],e[r+c]=g-R,e[r+0]=g+R,e[r+u]=B-w,e[r+f]=B+w,B=e[i+0]-e[i+f],g=e[i+0]+e[i+f],w=S.SQRT2*e[i+u],R=S.SQRT2*e[i+c],e[i+c]=g-R,e[i+0]=g+R,e[i+u]=B-w,e[i+f]=B+w,i+=n,r+=n;while(r=0);fht(t[_],o,g.BLKSIZE_s/2)}},this.fft_long=function(a,t,n,r,i){var _=g.BLKSIZE/8-1,o=g.BLKSIZE/2;do{var l,f,c,u,h,b=255&s[_];f=(l=e[b]*r[n][i+b])-(h=e[b+512]*r[n][i+b+512]),l+=h,u=(c=e[b+256]*r[n][i+b+256])-(h=e[b+768]*r[n][i+b+768]),c+=h,t[(o-=4)+0]=l+c,t[o+2]=l-c,t[o+1]=f+u,t[o+3]=f-u,f=(l=e[b+1]*r[n][i+b+1])-(h=e[b+513]*r[n][i+b+513]),l+=h,u=(c=e[b+257]*r[n][i+b+257])-(h=e[b+769]*r[n][i+b+769]),c+=h,t[o+g.BLKSIZE/2+0]=l+c,t[o+g.BLKSIZE/2+2]=l-c,t[o+g.BLKSIZE/2+1]=f+u,t[o+g.BLKSIZE/2+3]=f-u}while(--_>=0);fht(t,o,g.BLKSIZE/2)},this.init_fft=function(t){for(var s=0;s=0;--h){var b=n[r+0][h],m=n[r+1][h];n[r+0][h]=(b+m)*w.SQRT2*.5,n[r+1][h]=(b-m)*w.SQRT2*.5}for(var p=2;p>=0;--p)for(var h=g.BLKSIZE_s-1;h>=0;--h){var b=i[_+0][p][h],m=i[_+1][p][h];i[_+0][p][h]=(b+m)*w.SQRT2*.5,i[_+1][p][h]=(b-m)*w.SQRT2*.5}}a[0]=n[r+0][0],a[0]*=a[0];for(var h=g.BLKSIZE/2-1;h>=0;--h){var d=n[r+0][g.BLKSIZE/2-h],v=n[r+0][g.BLKSIZE/2+h];a[g.BLKSIZE/2-h]=(d*d+v*v)*.5}for(var p=2;p>=0;--p){t[p][0]=i[_+0][p][0],t[p][0]*=t[p][0];for(var h=g.BLKSIZE_s/2-1;h>=0;--h){var d=i[_+0][p][g.BLKSIZE_s/2-h],v=i[_+0][p][g.BLKSIZE_s/2+h];t[p][g.BLKSIZE_s/2-h]=(d*d+v*v)*.5}}for(var S=0,h=11;hs){if(!(n=n*a)return s+n;u=s/n}if(x(s>=0),x(n>=0),s+=n,l+3<=6){if(u>=e)return s;var u,h,b,m=0|w.FAST_LOG10_X(u,16);return s*_[m]}var m=0|w.FAST_LOG10_X(u,16);return(x((n=0!=c?f.ATH.cb_s[r]*f.ATH.adjust:f.ATH.cb_l[r]*f.ATH.adjust)>=0),sn?(h=1,m<=13&&(h=o[m]),b=w.FAST_LOG10_X(s/n,10/15),s*((i[m]-h)*b+h)):m>13?s:s*o[m]:s*i[m]}var l=[1.7782755904,1.35879*1.35879,1.38454*1.38454,1.39497*1.39497,1.40548*1.40548,1.3537*1.3537,1.6999465924,1.22321*1.22321,1.3169398564,1];function vbrpsy_mask_add(t,s,n){var r;return(t<0&&(t=0),s<0&&(s=0),t<=0)?s:s<=0?t:(r=s>t?s/t:t/s,-2<=n&&n<=2)?r>=e?t+s:(t+s)*l[0|w.FAST_LOG10_X(r,16)]:r1){for(var s=0;s1.58*e.thm[1].l[a])&&!(e.thm[1].l[a]>1.58*e.thm[0].l[a])){var t=e.mld_l[a]*e.en[3].l[a],s=Math.max(e.thm[2].l[a],Math.min(e.thm[3].l[a],t));t=e.mld_l[a]*e.en[2].l[a];var n=Math.max(e.thm[3].l[a],Math.min(e.thm[2].l[a],t));e.thm[2].l[a]=s,e.thm[3].l[a]=n}for(var a=0;a1.58*e.thm[1].s[a][r])&&!(e.thm[1].s[a][r]>1.58*e.thm[0].s[a][r])){var t=e.mld_s[a]*e.en[3].s[a][r],s=Math.max(e.thm[2].s[a][r],Math.min(e.thm[3].s[a][r],t));t=e.mld_s[a]*e.en[2].s[a][r];var n=Math.max(e.thm[3].s[a][r],Math.min(e.thm[2].s[a][r],t));e.thm[2].s[a][r]=s,e.thm[3].s[a][r]=n}}function ns_msfix(e,a,t){var s=a,n=Math.pow(10,t);a*=2,s*=2;for(var r=0;r0)}e.thm[2].l[r]=Math.min(o,e.thm[2].l[r]),e.thm[3].l[r]=Math.min(l,e.thm[3].l[r])}n*=g.BLKSIZE_s/g.BLKSIZE;for(var r=0;r0)}e.thm[2].s[r][c]=Math.min(e.thm[2].s[r][c],o),e.thm[3].s[r][c]=Math.min(e.thm[3].s[r][c],l)}}function convert_partition2scalefac_s(e,a,t,s,n){var r,i,_=0,o=0;for(r=i=0;r=0),x(t[i]>=0),_+=a[i],o+=t[i],i++;if(e.en[s].s[r][n]=_,e.thm[s].s[r][n]=o,i>=f){++r;break}x(a[i]>=0),x(t[i]>=0);var u=e.PSY.bo_s_weight[r],h=1-u;_=u*a[i],o=u*t[i],e.en[s].s[r][n]+=_,e.thm[s].s[r][n]+=o,_=h*a[i],o=h*t[i]}for(;r=0),x(t[r]>=0),i+=a[r],_+=t[r],r++;if(e.en[s].l[n]=i,e.thm[s].l[n]=_,r>=l){++n;break}x(a[r]>=0),x(t[r]>=0);var c=e.PSY.bo_l_weight[n],u=1-c;i=c*a[r],_=c*t[r],e.en[s].l[n]+=i,e.thm[s].l[n]+=_,i=u*a[r],_=u*t[r]}for(;n=0)}for(;_<=g.CBANDS;++_)t[_]=0,s[_]=0}function block_type_set(e,a,t,s){var n=e.internal_flags;e.short_blocks!=A.short_block_coupled||0!=a[0]&&0!=a[1]||(a[0]=a[1]=0);for(var r=0;r=1?e:t<=0?a:a>0?Math.pow(e/a,t)*a:0}var f=[11.8,13.6,17.2,32,46.5,51.3,57.5,67.1,71.5,84.6,97.6,130];function pecalc_s(e,a){for(var t=309.07,s=0;s0){var i=r*a,_=e.en.s[s][n];_>i&&(_>1e10*i?t+=23.02585092994046*f[s]:(x(i>0),t+=f[s]*w.FAST_LOG10(_/i)))}}return t}var c=[6.8,5.8,5.8,6.4,6.5,9.9,12.1,14.4,15,18.9,21.6,26.9,34.2,40.2,46.8,56.5,60.7,73.9,85.7,93.4,126.1];function pecalc_l(e,a){for(var t=281.0575,s=0;s0){var r=n*a,i=e.en.l[s];i>r&&(i>1e10*r?t+=23.02585092994046*c[s]:(x(r>0),t+=c[s]*w.FAST_LOG10(i/r)))}}return t}function calc_energy(e,a,t,s,n){var r,i;for(r=i=0;r=0),o+=f,l=0),x(o>=0),x(t[r]>=0),x(s[r]>=0),x(n[r]>=0)}}function calc_mask_index_l(e,a,t,s){var n=r.length-1,i=0,_=t[0]+t[i+1];if(x(_>=0),_>0){var o=a[i];o0);var l=0|(_=20*(2*o-_)/(_*(e.numlines_l[i]+e.numlines_l[i+1]-1)));l>n&&(l=n),s[i]=l}else s[i]=0;for(i=1;i=0),_>0){var o=a[i-1];o0);var l=0|(_=20*(3*o-_)/(_*(e.numlines_l[i-1]+e.numlines_l[i]+e.numlines_l[i+1]-1)));l>n&&(l=n),s[i]=l}else s[i]=0;if(x(i>0),x(i==e.npart_l-1),x((_=t[i-1]+t[i])>=0),_>0){var o=a[i-1];o0);var l=0|(_=20*(2*o-_)/(_*(e.numlines_l[i-1]+e.numlines_l[i]-1)));l>n&&(l=n),s[i]=l}else s[i]=0;x(i==e.npart_l-1)}var u=[-.00000000000000000865163*2,-.01703172,-.00000000000000000674764*2,.0418072,-.0000000000000000336639*2,-.0876324,-.0000000000000000154175*2,.1863476,-.0000000000000000552212*2,-.627638];function vbrpsy_compute_fft_l(e,a,t,n,r,i,_,o){var l=e.internal_flags;if(n<2)s.fft_long(l,_[o],n,a,t);else if(2==n)for(var f=g.BLKSIZE-1;f>=0;--f){var c=_[o+0][f],u=_[o+1][f];_[o+0][f]=(c+u)*w.SQRT2*.5,_[o+1][f]=(c-u)*w.SQRT2*.5}i[0]=_[o+0][0],i[0]*=i[0];for(var f=g.BLKSIZE/2-1;f>=0;--f){var h=_[o+0][g.BLKSIZE/2-f],b=_[o+0][g.BLKSIZE/2+f];i[g.BLKSIZE/2-f]=(h*h+b*b)*.5}for(var m=0,f=11;f=0;--f){var c=_[o+0][r][f],u=_[o+1][r][f];_[o+0][r][f]=(c+u)*w.SQRT2*.5,_[o+1][r][f]=(c-u)*w.SQRT2*.5}i[r][0]=_[o+0][r][0],i[r][0]*=i[r][0];for(var f=g.BLKSIZE_s/2-1;f>=0;--f){var h=_[o+0][r][g.BLKSIZE_s/2-f],b=_[o+0][r][g.BLKSIZE_s/2+f];i[r][g.BLKSIZE_s/2-f]=(h*h+b*b)*.5}}function vbrpsy_compute_loudness_approximation_l(e,a,t,s){var n=e.internal_flags;2==e.athaa_loudapprox&&t<2&&(n.loudness_sq[a][t]=n.loudness_sq_save[t],n.loudness_sq_save[t]=psycho_loudness_approx(s,n))}this.L3psycho_anal_ns=function(e,a,t,s,n,i,_,o,l,f){var c=e.internal_flags,h=y([2,g.BLKSIZE]),b=y([2,3,g.BLKSIZE_s]),m=E(g.CBANDS+1),p=E(g.CBANDS+1),d=E(g.CBANDS+2),v=k(2),S=k(2),B=y([2,576]),R=k(g.CBANDS+2),A=k(g.CBANDS+2);for(T.fill(A,0),w=c.channels_out,e.mode==MPEGMode.JOINT_STEREO&&(w=4),D=e.VBR==M.vbr_off?0==c.ResvMax?0:c.ResvSize/c.ResvMax*.5:e.VBR==M.vbr_rh||e.VBR==M.vbr_mtrh||e.VBR==M.vbr_mt?.6:1,P=0;P2&&(i[s][P].en.assign(c.en[P+2]),i[s][P].thm.assign(c.thm[P+2]))}for(P=0;P0),U[V]=K[V]/c.nsPsy.last_en_subshort[P][V+4],Z[0]+=K[V];if(2==P)for(V=0;V<576;V++)$=B[0][V],Y=B[1][V],B[0][V]=$+Y,B[1][V]=$-Y;var en=B[1&P],er=0;for(V=0;V<9;V++){for(var ei=er+64,e_=1;erK[V+3-2]?(x(K[V+3-2]>0),e_/=K[V+3-2]):K[V+3-2]>10*e_?(x(e_>0),e_=K[V+3-2]/(10*e_)):e_=0,U[V+3]=e_}if(e.analysis){var eo=U[0];for(V=1;V<12;V++)eoG&&(ea[V/3]=V%3+1);for(V=1;V<4;V++)Z[V-1]>Z[V]?(x(Z[V]>0),z=Z[V-1]/Z[V]):(x(Z[V-1]>0),z=Z[V]/Z[V-1]),z<1.7&&(ea[V]=0,1==V&&(ea[0]=0));for(0!=ea[0]&&0!=c.nsPsy.lastAttacks[P]&&(ea[0]=0),(3==c.nsPsy.lastAttacks[P]||ea[0]+ea[1]+ea[2]+ea[3]!=0)&&(W=0,0!=ea[1]&&0!=ea[0]&&(ea[1]=0),0!=ea[2]&&0!=ea[1]&&(ea[2]=0),0!=ea[3]&&0!=ea[2]&&(ea[3]=0)),P<2?S[P]=W:0==W&&(S[0]=S[1]=0),l[P]=c.tot_ener[P],compute_ffts(e,et,es,h,1&P,b,1&P,s,P,a,t),calc_energy(c,et,m,J,ee),calc_mask_index_l(c,J,ee,R),O=0;O<3;O++)for(compute_masking_s(e,es,p,d,P,O),convert_partition2scalefac_s(c,p,d,P,O),N=0;N=2||1==ea[O+1]){var el=0!=O?O-1:2,e_=NS_INTERP(c.thm[P].s[N][el],Q,.6*D);Q=Math.min(Q,e_)}if(1==ea[O]){var el=0!=O?O-1:2,e_=NS_INTERP(c.thm[P].s[N][el],Q,.3*D);Q=Math.min(Q,e_)}else if(0!=O&&3==ea[O-1]||0==O&&3==c.nsPsy.lastAttacks[P]){var el=2!=O?O+1:0,e_=NS_INTERP(c.thm[P].s[N][el],Q,.3*D);Q=Math.min(Q,e_)}j=K[3*O+3]+K[3*O+4]+K[3*O+5],6*K[3*O+5]0&&calc_interchannel_masking(e,e.interChRatio),e.mode==MPEGMode.JOINT_STEREO&&(msfix1(c),Math.abs(eh=e.msfix)>0&&ns_msfix(c,eh,e.ATHlower*c.ATH.adjust)),block_type_set(e,S,f,v),P=0;P1?(eb=o,ed=-2,em=g.NORM_TYPE,(f[0]==g.SHORT_TYPE||f[1]==g.SHORT_TYPE)&&(em=g.SHORT_TYPE),ep=i[s][P-2]):(eb=_,ed=0,em=f[P],ep=n[s][P]),em==g.SHORT_TYPE?eb[ed+P]=pecalc_s(ep,c.masking_lower):eb[ed+P]=pecalc_l(ep,c.masking_lower),e.analysis&&(c.pinfo.pe[s][P]=eb[ed+P])}return 0};var h=[-.00000000000000000865163*2,-.01703172,-.00000000000000000674764*2,.0418072,-.0000000000000000336639*2,-.0876324,-.0000000000000000154175*2,.1863476,-.0000000000000000552212*2,-.627638];function vbrpsy_attack_detection(e,a,t,s,n,r,i,_,o,l){for(var f=y([2,576]),c=e.internal_flags,u=c.channels_out,b=e.mode==MPEGMode.JOINT_STEREO?4:u,m=0;m2&&(r[s][m].en.assign(c.en[m+2]),r[s][m].thm.assign(c.thm[m+2]))}for(var m=0;m0;++g,--S){var P=f[0][g],I=f[1][g];f[0][g]=P+I,f[1][g]=P-I}for(var g=0;g<3;g++)M[g]=c.nsPsy.last_en_subshort[m][g+6],x(c.nsPsy.last_en_subshort[m][g+4]>0),B[g]=M[g]/c.nsPsy.last_en_subshort[m][g+4],R[0]+=M[g];for(var g=0;g<9;g++){for(var V=w+64,H=1;wM[g+3-2]?(x(M[g+3-2]>0),H/=M[g+3-2]):M[g+3-2]>10*H?(x(H>0),H=M[g+3-2]/(10*H)):H=0,B[g+3]=H}for(var g=0;g<3;++g){var L=M[3*g+3]+M[3*g+4]+M[3*g+5],N=1;6*M[3*g+5]T&&(o[m][g/3]=g%3+1);for(var g=1;g<4;g++){var D=R[g-1],C=R[g];4e4>Math.max(D,C)&&D<1.7*C&&C<1.7*D&&(1==g&&o[m][0]<=o[m][g]&&(o[m][0]=0),o[m][g]=0)}o[m][0]<=c.nsPsy.lastAttacks[m]&&(o[m][0]=0),(3==c.nsPsy.lastAttacks[m]||o[m][0]+o[m][1]+o[m][2]+o[m][3]!=0)&&(k=0,0!=o[m][1]&&0!=o[m][0]&&(o[m][1]=0),0!=o[m][2]&&0!=o[m][1]&&(o[m][2]=0),0!=o[m][3]&&0!=o[m][2]&&(o[m][3]=0)),m<2?l[m]=k:0==k&&(l[0]=l[1]=0),i[m]=c.tot_ener[m]}}function vbrpsy_skip_masking_s(e,a,t){if(0==t)for(var s=0;s=0),_>0){var o=a[i];o0);var l=0|(_=20*(2*o-_)/(_*(e.numlines_s[i]+e.numlines_s[i+1]-1)));l>n&&(l=n),s[i]=l}else s[i]=0;for(i=1;i=0),_>0){var o=a[i-1];o0);var l=0|(_=20*(3*o-_)/(_*(e.numlines_s[i-1]+e.numlines_s[i]+e.numlines_s[i+1]-1)));l>n&&(l=n),s[i]=l}else s[i]=0;if(x(i>0),x(i==e.npart_s-1),x((_=t[i-1]+t[i])>=0),_>0){var o=a[i-1];o0);var l=0|(_=20*(2*o-_)/(_*(e.numlines_s[i-1]+e.numlines_s[i]-1)));l>n&&(l=n),s[i]=l}else s[i]=0;x(i==e.npart_s-1)}function vbrpsy_compute_masking_s(e,a,t,s,n,i){var _=e.internal_flags,o=new float[g.CBANDS],l=E(g.CBANDS),f=new int[g.CBANDS];for(d=p=0;d<_.npart_s;++d){var c=0,u=0,h=_.numlines_s[d];for(m=0;m=0),o[d]=u,x(h>0),l[d]=c/h,x(l[d]>=0)}for(x(d==_.npart_s),x(129==p);dB&&(s[d]=B),_.masking_lower>1&&(s[d]*=_.masking_lower),s[d]>t[d]&&(s[d]=t[d]),_.masking_lower<1&&(s[d]*=_.masking_lower),x(s[d]>=0)}for(;d0?s[m]=Math.min(d,b):s[m]=Math.min(d,.3*t[m])}else{var m,p,d,v,S,b,B=16*e.nb_2[n][m],M=2*e.nb_1[n][m];B<=0&&(B=d),M<=0&&(M=d),b=e.blocktype_old[1&n]==g.NORM_TYPE?Math.min(M,B):M,s[m]=Math.min(d,b)}e.nb_2[n][m]=e.nb_1[n][m],e.nb_1[n][m]=d,p=i[m]*e.minval_l[m]*v,s[m]>p&&(s[m]=p),e.masking_lower>1&&(s[m]*=e.masking_lower),s[m]>t[m]&&(s[m]=t[m]),e.masking_lower<1&&(s[m]*=e.masking_lower),x(s[m]>=0)}for(;m0?Math.pow(10,n):1,l=0;l0){var v,g,S,B,M=s[l]*o;if(S=Math.min(Math.max(u,M),Math.max(h,M)),(B=(b=Math.max(g,M))+(m=Math.max(v,M)))>0&&S*_0)}g=Math.min(b,g),v=Math.min(m,v)}g>f&&(g=f),v>c&&(v=c),a[2][l]=g,a[3][l]=v}}function s3_func_x(e,a){var t;return(t=e>=0?-(27*e):e*a)<=-72?0:Math.exp(.2302585093*t)}function norm_s3_func_x(e){var a,t,s=0,n=0,r=0;for(r=0;s3_func_x(r,e)>1e-20;r-=1);for(a=r,t=0;Math.abs(t-a)>1e-12;)s3_func_x(r=(t+a)/2,e)>0?t=r:a=r;s=a;var a,t,r=0;for(r=0;s3_func_x(r,e)>1e-20;r+=1);for(a=0,t=r;Math.abs(t-a)>1e-12;)s3_func_x(r=(t+a)/2,e)>0?a=r:t=r;n=t;var i,_=0;for(i=0;i<=1e3;++i){var r=s+i*(n-s)/1e3;_+=s3_func_x(r,e)}return 1001/(_*(n-s))}function s3_func(e){var a,t,s,n;return((a=e)>=0?a*=3:a*=1.5,t=a>=.5&&a<=2.5?8*((n=a-.5)*n-2*n):0,a+=.474,(s=15.811389+7.5*a-17.5*Math.sqrt(1+a*a))<=-60)?0:a=Math.exp((t+s)*.2302585093)/.6609193}function freq2bark(e){return e<0&&(e=0),13*Math.atan(.76*(e*=.001))+3.5*Math.atan(e*e/56.25)}function init_numline(e,a,t,s,n,r,i,_,o,l,f,c){var u=E(g.CBANDS+1),h=_/(c>15?1152:384),b=k(g.HBLKSIZE);_/=o;var m=0,p=0;for(v=0;vo/2){m=o/2,++v;break}}x(vo/2&&(R=o/2),t[d]=(b[M]+b[R])/2,a[d]=b[R];var v,S,B,M,R,A,w,T,y=h*w;i[d]=(y-u[a[d]])/(u[a[d]+1]-u[a[d]]),i[d]<0?i[d]=0:i[d]>1&&(i[d]=1),T=Math.min(T=freq2bark(_*l[d]*f),15.5)/15.5,r[d]=Math.pow(10,1.25*(1-Math.cos(Math.PI*T))-2.5)}m=0;for(var P=0;P0);i++);for(e[l][0]=i,i=a-1;i>0&&!(_[l][i]>0);i--);e[l][1]=i,o+=e[l][1]-e[l][0]+1}for(var h=E(o),b=0,l=0;l=2||1==R[T][P+1]){var L=0!=P?P-1:2,N=NS_INTERP(b.thm[T].s[I][L],H,.36);H=Math.min(H,N)}else if(1==R[T][P]){var L=0!=P?P-1:2,N=NS_INTERP(b.thm[T].s[I][L],H,.18);H=Math.min(H,N)}else if(0!=P&&3==R[T][P-1]||0==P&&3==b.nsPsy.lastAttacks[T]){var L=2!=P?P+1:0,N=NS_INTERP(b.thm[T].s[I][L],H,.18);H=Math.min(H,N)}H*=M[T][P],V[P]=H}for(var P=0;P<3;P++)b.thm[T].s[I][P]=V[P]}}for(var T=0;T1?(f=_,c=-2,u=g.NORM_TYPE,(l[0]==g.SHORT_TYPE||l[1]==g.SHORT_TYPE)&&(u=g.SHORT_TYPE),h=r[s][T-2]):(f=i,c=0,u=l[T],h=n[s][T]),u==g.SHORT_TYPE?f[c+T]=pecalc_s(h,b.masking_lower):f[c+T]=pecalc_l(h,b.masking_lower),e.analysis&&(b.pinfo.pe[s][T]=f[c+T]);return 0},this.psymodel_init=function(e){var a=e.internal_flags,t=!0,n=13,r=0,i=0,_=-8.25,o=-4.5,l=E(g.CBANDS),f=E(g.CBANDS),c=E(g.CBANDS),u=e.out_samplerate;switch(e.experimentalZ){default:case 0:t=!0;break;case 1:t=e.VBR!=M.vbr_mtrh&&e.VBR!=M.vbr_mt;break;case 2:t=!1;break;case 3:n=8,r=-1.75,i=-.0125,_=-8.25,o=-2.25}for(d=0,a.ms_ener_ratio_old=.25,a.blocktype_old[0]=a.blocktype_old[1]=g.NORM_TYPE;d<4;++d){for(var h=0;h=n&&(m=i*(l[d]-n)/(24-n)+r*(24-l[d])/(24-n)),c[d]=Math.pow(10,m/10),a.numlines_l[d]>0?a.rnumlines_l[d]=1/a.numlines_l[d]:a.rnumlines_l[d]=0}a.s3_ll=init_s3_values(a.s3ind,a.npart_l,l,f,c,t);var h=0;for(d=0;d(S=Math.pow(10,.1*(S=this.ATHformula(1e3*B,e)-20))*a.numlines_l[d])&&(v=S)}a.ATH.cb_l[d]=v,(v=-20+20*l[d]/10)>6&&(v=100),v<-15&&(v=-15),v-=8,a.minval_l[d]=Math.pow(10,v/10)*a.numlines_l[d]}for(a.npart_s=init_numline(a.numlines_s,a.bo_s,a.bm_s,l,f,a.mld_s,a.PSY.bo_s_weight,u,g.BLKSIZE_s,a.scalefac_band.s,g.BLKSIZE_s/384,g.SBMAX_s),x(a.npart_s=n&&(m=o*(l[d]-n)/(24-n)+_*(24-l[d])/(24-n)),c[d]=Math.pow(10,m/10),v=R.MAX_VALUE;for(var p=0;p(S=Math.pow(10,.1*(S=this.ATHformula(1e3*B,e)-20))*a.numlines_s[d])&&(v=S)}a.ATH.cb_s[d]=v,v=-7+7*l[d]/12,l[d]>12&&(v*=1+3.1*Math.log(1+v)),l[d]<12&&(v*=1+2.3*Math.log(1-v)),v<-15&&(v=-15),v-=8,a.minval_s[d]=Math.pow(10,v/10)*a.numlines_s[d]}a.s3_ss=init_s3_values(a.s3ind_s,a.npart_s,l,f,c,t),init_mask_add_max_values(),s.init_fft(a),a.decay=Math.exp(-2.302585092994046/(.01*u/192)),T=3.5,(2&e.exp_nspsytune)!=0&&(T=1),Math.abs(e.msfix)>0&&(T=e.msfix),e.msfix=T;for(var A=0;Aa.npart_l-1&&(a.s3ind[A][1]=a.npart_l-1);var w=576*a.mode_gr/u;if(a.ATH.decay=Math.pow(10,-1.2*w),a.ATH.adjust=.01,a.ATH.adjustLimit=1,x(a.bo_l[g.SBMAX_l-1]<=a.npart_l),x(a.bo_s[g.SBMAX_s-1]<=a.npart_s),-1!=e.ATHtype){var T,B,y=e.out_samplerate/g.BLKSIZE,k=0;for(d=0,B=0;d=0;)a.ATH.eql_w[d]*=k}for(var A=h=0;A0&&!((n-=e[t])<=0););return 64.82-t/GainAnalysis$1.STEPS_per_dB}this.InitGainAnalysis=function(e,a){return ResetSampleFrequency(e,a)!=INIT_GAIN_ANALYSIS_OK?INIT_GAIN_ANALYSIS_ERROR:(e.linpre=MAX_ORDER,e.rinpre=MAX_ORDER,e.lstep=MAX_ORDER,e.rstep=MAX_ORDER,e.lout=MAX_ORDER,e.rout=MAX_ORDER,Z.fill(e.B,0),INIT_GAIN_ANALYSIS_OK)},this.AnalyzeSamples=function(e,a,n,r,i,_,o){if(0==_)return GAIN_ANALYSIS_OK;switch(V=0,P=_,o){case 1:r=a,i=n;break;case 2:break;default:return GAIN_ANALYSIS_ERROR}for(_0;){I=P>e.sampleWindow-e.totsamp?e.sampleWindow-e.totsamp:P,VMAX_ORDER-V&&(I=MAX_ORDER-V)):(E=n+V,y=a,k=i+V,x=r),filterYule(y,E,e.lstepbuf,e.lstep+e.totsamp,I,t[e.reqindex]),filterYule(x,k,e.rstepbuf,e.rstep+e.totsamp,I,t[e.reqindex]),filterButter(e.lstepbuf,e.lstep+e.totsamp,e.loutbuf,e.lout+e.totsamp,I,s[e.reqindex]),filterButter(e.rstepbuf,e.rstep+e.totsamp,e.routbuf,e.rout+e.totsamp,I,s[e.reqindex]),E=e.lout+e.totsamp,y=e.loutbuf,k=e.rout+e.totsamp,x=e.routbuf;for(var l,f,c,u,h,b,m,p,d,v,g,S,B,M,R,A,w,T,E,y,k,x,P,I,V,H=I%8;0!=H--;)e.lsum+=(l=y[E++])*l,e.rsum+=(f=x[k++])*f;for(H=I/8;0!=H--;)e.lsum+=(c=y[E+0])*c+(u=y[E+1])*u+(h=y[E+2])*h+(b=y[E+3])*b+(m=y[E+4])*m+(p=y[E+5])*p+(d=y[E+6])*d+(v=y[E+7])*v,E+=8,e.rsum+=(g=x[k+0])*g+(S=x[k+1])*S+(B=x[k+2])*B+(M=x[k+3])*M+(R=x[k+4])*R+(A=x[k+5])*A+(w=x[k+6])*w+(T=x[k+7])*T,k+=8;if(P-=I,V+=I,e.totsamp+=I,e.totsamp==e.sampleWindow){var L=10*GainAnalysis$1.STEPS_per_dB*Math.log10((e.lsum+e.rsum)/e.totsamp*.5+1e-37),N=L<=0?0:0|L;N>=e.A.length&&(N=e.A.length-1),e.A[N]++,e.lsum=e.rsum=0,K.arraycopy(e.loutbuf,e.totsamp,e.loutbuf,0,MAX_ORDER),K.arraycopy(e.routbuf,e.totsamp,e.routbuf,0,MAX_ORDER),K.arraycopy(e.lstepbuf,e.totsamp,e.lstepbuf,0,MAX_ORDER),K.arraycopy(e.rstepbuf,e.totsamp,e.rstepbuf,0,MAX_ORDER),e.totsamp=0}if(e.totsamp>e.sampleWindow)return GAIN_ANALYSIS_ERROR}return _>2&63)>=32&&(t-=64),i=Math.pow(10,t/4/10),(t=a.exp_nspsytune>>8&63)>=32&&(t-=64),c=Math.pow(10,t/4/10),(t=a.exp_nspsytune>>14&63)>=32&&(t-=64),u=Math.pow(10,t/4/10),(t=a.exp_nspsytune>>20&63)>=32&&(t-=64),h=u*Math.pow(10,t/4/10),t=0;tj.MAX_BITS_PER_GRANULE&&(b=j.MAX_BITS_PER_GRANULE),o=0,_=0;_3*n/4&&(c[_]=3*n/4),c[_]<0&&(c[_]=0),c[_]+s[_]>j.MAX_BITS_PER_CHANNEL&&(c[_]=Math.max(0,j.MAX_BITS_PER_CHANNEL-s[_])),o+=c[_];if(o>h)for(_=0;_j.MAX_BITS_PER_GRANULE){var m=0;for(_=0;_.5&&(n=.5);var r=0|.5*n*(e[0]+e[1]);r>j.MAX_BITS_PER_CHANNEL-e[0]&&(r=j.MAX_BITS_PER_CHANNEL-e[0]),r<0&&(r=0),e[1]>=125&&(e[1]-r>125?(e[0]s&&(e[0]=s*e[0]/r,e[1]=s*e[1]/r),el(e[0]<=j.MAX_BITS_PER_CHANNEL),el(e[1]<=j.MAX_BITS_PER_CHANNEL),el(e[0]+e[1]<=j.MAX_BITS_PER_GRANULE)},this.athAdjust=function(e,a,t){var s=ei.FAST_LOG10_X(a,10),n=e*e,r=0;return s-=t,n>1e-20&&(r=1+ei.FAST_LOG10_X(n,.11073126151982021)),r<0&&(r=0),s*=r,Math.pow(10,.1*(s+=t+90.30873362-94.82444863))},this.calc_xmin=function(e,a,t,s){var n,r=0,i=e.internal_flags,_=0,o=0,l=i.ATH,f=t.xr,c=e.VBR==en.vbr_mtrh?1:0,u=i.masking_lower;for((e.VBR==en.vbr_mtrh||e.VBR==en.vbr_mt)&&(u=1),n=0;n>1,b=0;do b+=B=f[_]*f[_],d+=B0);if(b>m&&o++,n==g.SBPSY_l){var h=m*i.nsPsy.longfact[n];d0&&(h=b*a.thm.l[n]*u/R,0!=c&&(h*=i.nsPsy.longfact[n]),m>1;p=y/v,d=2220446049250313e-31;do b+=B=f[_]*f[_],d+=B0);if(b>y&&o++,T==g.SBPSY_s){var h=y*i.nsPsy.shortfact[T];d0&&(h=b*a.thm.s[T][E]*u/R,0!=c&&(h*=i.nsPsy.shortfact[T]),ms[r-3+1]&&(s[r-3+1]+=(s[r-3]-s[r-3+1])*i.decay),s[r-3+1]>s[r-3+2]&&(s[r-3+2]+=(s[r-3+1]-s[r-3+2])*i.decay))}return o},this.calc_noise_core=function(e,a,t,s){var n,r=0,i=a.s,_=e.l3_enc;if(i>e.count1)for(;0!=t--;)n=e.xr[i],i++,r+=n*n,n=e.xr[i],i++,r+=n*n;else if(i>e.big_values){var n,o=e_(2);for(o[0]=0,o[1]=s;0!=t--;)n=Math.abs(e.xr[i])-o[_[i]],i++,r+=n*n,n=Math.abs(e.xr[i])-o[_[i]],i++,r+=n*n}else for(;0!=t--;)n=Math.abs(e.xr[i])-l[_[i]]*s,i++,r+=n*n,n=Math.abs(e.xr[i])-l[_[i]]*s,i++,r+=n*n;return a.s=i,r},this.calc_noise=function(e,a,t,s,n){var r,_,o=0,l=0,f=0,c=0,u=0,h=-20,b=0,m=e.scalefac,p=0;for(r=0,s.over_SSD=0;r>1,b+e.width[r]>e.max_nonzero_coeff&&(_=(S=e.max_nonzero_coeff-b+1)>0?S>>1:0);var M=new StartLine(b);g=this.calc_noise_core(e,M,_,B),b=M.s,null!=n&&(n.step[r]=v,n.noise[r]=g),g=t[o++]=g/a[l++],g=ei.FAST_LOG10(Math.max(g,1e-20)),null!=n&&(n.noise_log[r]=g)}null!=n&&(n.global_gain=e.global_gain),u+=g,g>0&&(d=Math.max(0|10*g+.5,1),s.over_SSD+=d*d,f++,c+=g),h=Math.max(h,g)}return s.over_count=f,s.tot_noise=u,s.over_noise=c,s.max_noise=h,f},this.set_pinfo=function(e,a,t,s,n){var r,_,o,l,f,c=e.internal_flags,u=0==a.scalefac_scale?.5:1,h=a.scalefac,b=e_(L3Side.SFBMAX),m=e_(L3Side.SFBMAX),p=new CalcNoiseResult;calc_xmin(e,t,a,b),calc_noise(a,b,m,p,null);var d=0;for(_=a.sfb_lmax,a.block_type!=g.SHORT_TYPE&&0==a.mixed_block_flag&&(_=22),r=0;r<_;r++){var v=c.scalefac_band.l[r],S=c.scalefac_band.l[r+1],B=S-v;for(l=0;d0&&!e.ATHonly?l/=t.en.l[r]:l=0,c.pinfo.thr[s][n][r]=f*Math.max(l*t.thm.l[r],c.ATH.l[r]),c.pinfo.LAMEsfb[s][n][r]=0,0!=a.preflag&&r>=11&&(c.pinfo.LAMEsfb[s][n][r]=-u*i[r]),r=0),c.pinfo.LAMEsfb[s][n][r]-=u*h[r])}if(a.block_type==g.SHORT_TYPE)for(_=r,r=a.sfb_smin;r0?l/=t.en.s[r][M]:l=0,(e.ATHonly||e.ATHshort)&&(l=0),c.pinfo.thr_s[s][n][3*r+M]=f*Math.max(l*t.thm.s[r][M],c.ATH.s[r]),c.pinfo.LAMEsfb_s[s][n][3*r+M]=-2*a.subblock_gain[M],r0),e>>=1;0!=e--;)n[r++]=i>t[s++]?0:1,n[r++]=i>t[s++]?0:1}function quantize_lines_xrpow(a,t,s,n,r,i){eb(a>0);var _,o,l,f,c,u,h,b,m=(a>>=1)%2;for(a>>=1;0!=a--;)c=s[n++]*t,u=s[n++]*t,h=0|c,_=s[n++]*t,b=0|u,o=s[n++]*t,l=0|_,c+=e.adj43[h],f=0|o,u+=e.adj43[b],r[i++]=0|c,_+=e.adj43[l],r[i++]=0|u,o+=e.adj43[f],r[i++]=0|_,r[i++]=0|o;0!=m&&(c=s[n++]*t,u=s[n++]*t,h=0|c,b=0|u,c+=e.adj43[h],u+=e.adj43[b],r[i++]=0|c,r[i++]=0|u)}function quantize_xrpow(a,t,s,n,r){var i=0,_=0,o=0,l=0,f=0,c=t,u=0,h=a,b=0;for(p=0,v=null!=r&&n.global_gain==r.global_gain,d=n.block_type==g.SHORT_TYPE?38:21;p<=d;p++){var m=-1;if((v||n.block_type==g.NORM_TYPE)&&(m=n.global_gain-(n.scalefac[p]+(0!=n.preflag?e.pretab[p]:0)<=0),v&&r.step[p]==m)0!=_&&(quantize_lines_xrpow(_,s,h,b,c,u),_=0),0!=o&&(quantize_lines_xrpow_01(o,s,h,b,c,u),o=0);else{var p,d,v,S,B=n.width[p];if(i+n.width[p]>n.max_nonzero_coeff&&(S=n.max_nonzero_coeff-i+1,eu.fill(t,n.max_nonzero_coeff,576,0),(B=S)<0&&(B=0),p=d+1),0==_&&0==o&&(c=t,u=f,h=a,b=l),null!=r&&r.sfb_count1>0&&p>=r.sfb_count1&&r.step[p]>0&&m>=r.step[p]?(0!=_&&(quantize_lines_xrpow(_,s,h,b,c,u),_=0,c=t,u=f,h=a,b=l),o+=B):(0!=o&&(quantize_lines_xrpow_01(o,s,h,b,c,u),o=0,c=t,u=f,h=a,b=l),_+=B),B<=0){0!=o&&(quantize_lines_xrpow_01(o,s,h,b,c,u),o=0),0!=_&&(quantize_lines_xrpow(_,s,h,b,c,u),_=0);break}}p<=d&&(f+=n.width[p],l+=n.width[p],i+=n.width[p])}0!=_&&(quantize_lines_xrpow(_,s,h,b,c,u),_=0),0!=o&&(quantize_lines_xrpow_01(o,s,h,b,c,u),o=0)}function ix_max(e,a,t){var s=0,n=0;do{var r=e[a++],i=e[a++];s14&&(l=15,o+=_),l*=16),0!=f&&(f>14&&(f=15,o+=_),l+=f),o+=es.largetbl[l]}while(a>=16)>i&&(o=i,s=n),r.bits+=o,s}function count_bit_noESC(e,a,t,s){var n=0,r=es.ht[1].hlen;do{var i=2*e[a+0]+e[a+1];a+=2,n+=r[i]}while(a>=16)>i&&(_=i,s++),n.bits+=_,s}function count_bit_noESC_from3(e,a,t,s,n){var r=0,i=0,_=0,o=es.ht[s].xlen,l=es.ht[s].hlen,f=es.ht[s+1].hlen,c=es.ht[s+2].hlen;do{var u=e[a+0]*o+e[a+1];a+=2,r+=l[u],i+=f[u],_+=c[u]}while(ai&&(r=i,h++),r>_&&(r=_,h=s+2),n.bits+=r,h}var t=[1,2,5,7,7,10,10,13,13,13,13,13,13,13,13];function choose_table(e,a,s,n){var r,i,_=ix_max(e,a,s);switch(_){case 0:return _;case 1:return count_bit_noESC(e,a,s,n);case 2:case 3:return count_bit_noESC_from2(e,a,s,t[_-1],n);case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:return count_bit_noESC_from3(e,a,s,t[_-1],n);default:if(_>ef.IXMAX_VAL)return n.bits=ef.LARGE_BITS,-1;for(_-=15,r=24;r<32&&!(es.ht[r].linmax>=_);r++);for(i=r-8;i<24&&!(es.ht[i].linmax>=_);i++);return count_bit_ESC(e,a,s,i,r,n)}}function recalc_divide_init(e,a,t,s,n,r,i){for(var _=a.big_values,o=0;o<=22;o++)s[o]=ef.LARGE_BITS;for(var o=0;o<16;o++){var l=e.scalefac_band.l[o+1];if(l>=_)break;var f=0,c=new Bits(0),u=choose_table(t,0,l,c);f=c.bits;for(var h=0;h<8;h++){var b=e.scalefac_band.l[o+h+2];if(b>=_)break;var m=f,p=choose_table(t,l,b,c=new Bits(m));m=c.bits,s[o+h]>m&&(s[o+h]=m,n[o+h]=o,r[o+h]=u,i[o+h]=p)}}}function recalc_divide_sub(e,a,t,s,n,r,i,_){for(var o=a.big_values,l=2;l=o)break;var c=n[l-2]+a.count1bits;if(t.part2_3_length<=c)break;var u=new Bits(c),h=choose_table(s,f,o,u);c=u.bits,t.part2_3_length<=c||(t.assign(a),t.part2_3_length=c,t.region0_count=r[l-2],t.region1_count=l-2-r[l-2],t.table_select[0]=i[l-2],t.table_select[1]=_[l-2],t.table_select[2]=h)}}this.noquant_count_bits=function(e,a,t){var s,n=a.l3_enc,r=Math.min(576,a.max_nonzero_coeff+2>>1<<1);for(null!=t&&(t.sfb_count1=0);r>1&&(n[r-1]|n[r-2])==0;r-=2);a.count1=r;for(var i=0,_=0;r>3&&!(((n[r-1]|n[r-2]|n[r-3]|n[r-4])&2147483647)>1);r-=4)s=((2*n[r-4]+n[r-3])*2+n[r-2])*2+n[r-1],i+=es.t32l[s],_+=es.t33l[s];var o=i;if(a.count1table_select=0,i>_&&(o=_,a.count1table_select=1),a.count1bits=o,a.big_values=r,0==r)return o;if(a.block_type==g.SHORT_TYPE)(i=3*e.scalefac_band.s[3])>a.big_values&&(i=a.big_values),_=a.big_values;else if(a.block_type==g.NORM_TYPE){if(eb(r<=576),eb((i=a.region0_count=e.bv_scf[r-2])+(_=a.region1_count=e.bv_scf[r-1])+2(_=r)&&(i=_);if(i=Math.min(i,r),_=Math.min(_,r),eb(i>=0),eb(_>=0),0i)return ef.LARGE_BITS;if(quantize_xrpow(t,r,e.IPOW20(s.global_gain),s,n),(2&a.substep_shaping)!=0)for(var _=0,o=s.global_gain+s.scalefac_scale,l=.634521682242439/e.IPOW20(o),f=0;f=0),0==a.pseudohalf[f])_+=u;else for(c=_,_+=u;c<_;++c)r[c]=t[c]>=l?r[c]:0}return this.noquant_count_bits(a,s,n)},this.best_huffman_divide=function(e,a){var t=new GrInfo_1,s=a.l3_enc,n=eh(23),r=eh(23),i=eh(23),_=eh(23);if(a.block_type!=g.SHORT_TYPE||1!=e.mode_gr){t.assign(a),a.block_type==g.NORM_TYPE&&(recalc_divide_init(e,a,s,n,r,i,_),recalc_divide_sub(e,t,a,s,n,r,i,_));var o=t.big_values;if(0!=o&&!((s[o-2]|s[o-1])>1)&&!((o=a.count1+2)>576)){t.assign(a),t.count1=o;var l=0,f=0;for(eb(o<=576);o>t.big_values;o-=4){var c=((2*s[o-4]+s[o-3])*2+s[o-2])*2+s[o-1];l+=es.t32l[c],f+=es.t33l[c]}if(t.big_values=o,t.count1table_select=0,l>f&&(l=f,t.count1table_select=1),t.count1bits=l,t.block_type==g.NORM_TYPE)recalc_divide_sub(e,t,a,s,n,r,i,_);else{if(t.part2_3_length=l,(l=e.scalefac_band.l[8])>o&&(l=o),l>0){var u=new Bits(t.part2_3_length);t.table_select[0]=choose_table(s,0,l,u),t.part2_3_length=u.bits}if(o>l){var u=new Bits(t.part2_3_length);t.table_select[1]=choose_table(s,l,o,u),t.part2_3_length=u.bits}a.part2_3_length>t.part2_3_length&&a.assign(t)}}}};var s=[1,1,1,1,8,2,2,2,4,4,4,8,8,8,16,16],n=[1,2,4,8,1,2,4,8,2,4,8,2,4,8,4,8],r=[0,0,0,0,3,1,1,1,2,2,2,3,3,3,4,4],i=[0,1,2,3,0,1,2,3,1,2,3,1,2,3,2,3];function scfsi_calc(e,a){for(var t,_=a.tt[1][e],o=a.tt[0][e],l=0;l=0));t++);if(t==es.scfsi_band[l+1]){for(t=es.scfsi_band[l];tb&&(_.part2_length=b,_.scalefac_compress=l)}}function all_scalefactors_not_negative(e,a){for(var t=0;t=0),_+=c,o=-c;o<0&&0==l.l3_enc[o+_];o++);0==o&&(l.scalefac[r]=f=-2)}if(0==l.scalefac_scale&&0==l.preflag){var u=0;for(r=0;r0&&(u|=l.scalefac[r]);if(0==(1&u)&&0!=u){for(r=0;r0&&(l.scalefac[r]>>=1);l.scalefac_scale=f=1}}if(0==l.preflag&&l.block_type!=g.SHORT_TYPE&&2==a.mode_gr){for(r=11;r0&&(l.scalefac[r]-=e.pretab[r]);l.preflag=f=1}}for(i=0;i<4;i++)n.scfsi[s][i]=0;for(2==a.mode_gr&&1==t&&n.tt[0][s].block_type!=g.SHORT_TYPE&&n.tt[1][s].block_type!=g.SHORT_TYPE&&(scfsi_calc(s,n),f=0),r=0;rt[r]&&(a.part2_length=t[r],a.scalefac_compress=r);return a.part2_length==ef.LARGE_BITS};var f=[[15,15,7,7],[15,15,7,0],[7,3,0,0],[15,31,31,0],[7,7,7,0],[3,3,0,0]];this.scale_bitcount_lsf=function(a,t){var s,n,r,i,_,o,l,u,h,b,m,p,d=eh(4),v=t.scalefac;for(l=0,s=0!=t.preflag?2:0;l<4;l++)d[l]=0;if(t.block_type==g.SHORT_TYPE){n=1;var S=e.nr_of_sfb_block[s][n];for(u=0,r=0;r<4;r++)for(l=0,i=S[r]/3;ld[r]&&(d[r]=v[3*u+_])}else{n=0;var S=e.nr_of_sfb_block[s][n];for(u=0,r=0;r<4;r++)for(l=0,i=S[r];ld[r]&&(d[r]=v[u])}for(o=!1,r=0;r<4;r++)d[r]>f[s][r]&&(o=!0);if(!o){for(r=0,t.sfb_partition_table=e.nr_of_sfb_block[s][n];r<4;r++)t.slen[r]=c[d[r]];switch(h=t.slen[0],b=t.slen[1],m=t.slen[2],p=t.slen[3],s){case 0:t.scalefac_compress=(5*h+b<<4)+(m<<2)+p;break;case 1:t.scalefac_compress=400+(5*h+b<<2)+m;break;case 2:t.scalefac_compress=500+3*h+b;break;default:ec.err.printf("intensity stereo not implemented yet\n")}}if(!o)for(eb(null!=t.sfb_partition_table),t.part2_length=0,r=0;r<4;r++)t.part2_length+=t.slen[r]*t.sfb_partition_table[r];return o};var c=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];this.huffman_init=function(e){for(var t=2;t<=576;t+=2){for(var s,n=0;e.scalefac_band.l[++n]t;)s--;for(s<0&&(s=a[n][0]),e.bv_scf[t-2]=s,s=a[n][1];e.scalefac_band.l[s+e.bv_scf[t-2]+2]>t;)s--;s<0&&(s=a[n][1]),e.bv_scf[t-1]=s}}}var em=Takehiro$1,ep=n.System,ed=n.Arrays,ev=n.new_byte,eg=n.new_float_n,eS=n.new_int,eB=n.assert;function BitStream$1(){var e=this,a=null,t=null,s=null,n=null;this.setModules=function(e,r,i,_){a=e,t=r,s=i,n=_};var r=null,i=0,_=0,o=0;function putheader_bits(e){ep.arraycopy(e.header[e.w_ptr].buf,0,r,_,e.sideinfo_len),_+=e.sideinfo_len,i+=8*e.sideinfo_len,e.w_ptr=e.w_ptr+1&j.MAX_HEADER_BUF-1}function putbits2(e,a,t){for(eB(t<30);t>0;){var s;0==o&&(o=8,eB(++_=i),e.header[e.w_ptr].write_timing==i&&putheader_bits(e),r[_]=0),s=Math.min(t,o),t-=s,o-=s,eB(t<32),eB(o<32),r[_]|=a>>t<0;){var s;0==o&&(o=8,eB(++_>t<=0),a>=8&&(putbits2(n,76,8),a-=8),a>=8&&(putbits2(n,65,8),a-=8),a>=8&&(putbits2(n,77,8),a-=8),a>=8&&(putbits2(n,69,8),a-=8),a>=32){var r=s.getLameShortVersion();if(a>=32)for(t=0;t=8;++t)a-=8,putbits2(n,r.charAt(t),8)}for(;a>=1;a-=1)putbits2(n,n.ancillary_flag,1),n.ancillary_flag^=e.disable_reservoir?0:1;eB(0==a)}function writeheader(e,a,t){for(var s=e.header[e.h_ptr].ptr;t>0;){var n=Math.min(t,8-(7&s));eB((t-=n)<32),e.header[e.h_ptr].buf[s>>3]|=a>>t<<8-(7&s)-n,s+=n}e.header[e.h_ptr].ptr=s}function CRC_update(e,a){e<<=8;for(var t=0;t<8;t++)(((a<<=1)^(e<<=1))&65536)!=0&&(a^=32773);return a}function encodeSideInfo2(e,a){var t,s,n,r,i=e.internal_flags;if(t=i.l3_side,i.header[i.h_ptr].ptr=0,ed.fill(i.header[i.h_ptr].buf,0,i.sideinfo_len,0),e.out_samplerate<16e3?writeheader(i,4094,12):writeheader(i,4095,12),writeheader(i,e.version,1),writeheader(i,1,2),writeheader(i,e.error_protection?0:1,1),writeheader(i,i.bitrate_index,4),writeheader(i,i.samplerate_index,2),writeheader(i,i.padding,1),writeheader(i,e.extension,1),writeheader(i,e.mode.ordinal(),2),writeheader(i,i.mode_ext,2),writeheader(i,e.copyright,1),writeheader(i,e.original,1),writeheader(i,e.emphasis,2),e.error_protection&&writeheader(i,0,16),1==e.version){for(eB(t.main_data_begin>=0),writeheader(i,t.main_data_begin,9),2==i.channels_out?writeheader(i,t.private_bits,3):writeheader(i,t.private_bits,5),n=0;n=0),writeheader(i,t.main_data_begin,8),writeheader(i,t.private_bits,i.channels_out),s=0,n=0;n0;--t){var _,o=0,l=0;0!=(_=a.l3_enc[r+0])&&(l+=8,a.xr[i+0]<0&&o++,eB(_<=1)),0!=(_=a.l3_enc[r+1])&&(l+=4,o*=2,a.xr[i+1]<0&&o++,eB(_<=1)),0!=(_=a.l3_enc[r+2])&&(l+=2,o*=2,a.xr[i+2]<0&&o++,eB(_<=1)),0!=(_=a.l3_enc[r+3])&&(l++,o*=2,a.xr[i+3]<0&&o++,eB(_<=1)),r+=4,i+=4,putbits2(e,o+s.table[l],s.hlen[l]),n+=s.hlen[l]}return n}function Huffmancode(e,a,t,s,n){var r=es.ht[a],i=0;if(eB(a<32),0==a)return i;for(var _=t;_15){if(h>14){var m=h-15;eB(m<=r.linmax),u|=m<<1,l=f,h=15}if(b>14){var p=b-15;eB(p<=r.linmax),u<<=f,u|=p,l+=f,b=15}c=16}0!=b&&(u<<=1,n.xr[_+1]<0&&u++,o--),eB((h|b)<16),h=h*c+b,l-=o,eB((o+=r.hlen[h])<=32),eB(l<=32),putbits2(e,r.table[h],o),putbits2(e,u,l),i+=o+l}return i}function ShortHuffmancodebits(e,a){var t=3*e.scalefac_band.s[3];return t>a.big_values&&(t=a.big_values),Huffmancode(e,a.table_select[0],0,t,a)+Huffmancode(e,a.table_select[1],t,a.big_values,a)}function LongHuffmancodebits(e,a){eB(0<=(t=a.big_values)&&t<=576);var t,s,n,r=a.region0_count+1;return eB(0<=r),eB(rt&&(s=t),n>t&&(n=t),Huffmancode(e,a.table_select[0],0,s,a)+Huffmancode(e,a.table_select[1],s,n,a)+Huffmancode(e,a.table_select[2],n,t,a)}function writeMainData(e){var a,t,s,n,r=0,i=e.internal_flags,_=i.l3_side;if(1==e.version)for(a=0;a<2;a++)for(t=0;t=0&&(n=1+o-l,o>8),a[5]=byte(255&t)},this.flush_bitstream=function(e){var t,s,n=e.internal_flags,r=n.h_ptr-1;if(-1==r&&(r=j.MAX_HEADER_BUF-1),t=n.l3_side,!((s=compute_flushbits(e,new TotalBytes))<0)){if(drain_into_ancillary(e,s),eB(n.header[r].write_timing+this.getframebits(e)==i),n.ResvSize=0,t.main_data_begin=0,n.findReplayGain){var _=a.GetTitleGain(n.rgdata);eB(NEQ(_,GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES)),n.RadioGain=0|Math.floor(10*_+.5)}n.findPeakSample&&(n.noclipGainChange=0|Math.ceil(200*Math.log10(n.PeakSample/32767)),n.noclipGainChange>0&&(EQ(e.scale,1)||EQ(e.scale,0))?n.noclipScale=Math.floor(32767/n.PeakSample*100)/100:n.noclipScale=-1)}},this.add_dummy_byte=function(e,a,t){for(var s,n=e.internal_flags;t-- >0;)for(putbits_noheaders(n,a,8),s=0;s ResvSize"),8*a.main_data_begin!=s.ResvSize&&(ep.err.printf("bit reservoir error: \nl3_side.main_data_begin: %d \nResvoir size: %d \nresv drain (post) %d \nresv drain (pre) %d \nheader and sideinfo: %d \ndata bits: %d \ntotal bits: %d (remainder: %d) \nbitsperframe: %d \n",8*a.main_data_begin,s.ResvSize,a.resvDrain_post,a.resvDrain_pre,8*s.sideinfo_len,r-a.resvDrain_post-8*s.sideinfo_len,r,r%8,n),ep.err.println("This is a fatal error. It has several possible causes:"),ep.err.println("90%% LAME compiled with buggy version of gcc using advanced optimizations"),ep.err.println(" 9%% Your system is overclocked"),ep.err.println(" 1%% bug in LAME encoding library"),s.ResvSize=8*a.main_data_begin),eB(i%8==0),i>1e9){for(t=0;tl)return -1;if(ep.arraycopy(r,0,s,i,c),_=-1,o=0,0!=f){var u=eS(1);if(u[0]=e.nMusicCRC,n.updateMusicCRC(u,s,i,c),e.nMusicCRC=u[0],c>0&&(e.VBR_seek_table.nBytesWritten+=c),e.decode_on_the_fly){for(var h,b=eg([2,1152]),m=c,p=-1;0!=p;)if(p=t.hip_decode1_unclipped(e.hip,s,i,m,b[0],b[1]),m=0,-1==p&&(p=0),p>0){if(eB(p<=1152),e.findPeakSample){for(h=0;he.PeakSample?e.PeakSample=b[0][h]:-b[0][h]>e.PeakSample&&(e.PeakSample=-b[0][h]);if(e.channels_out>1)for(h=0;he.PeakSample?e.PeakSample=b[1][h]:-b[1][h]>e.PeakSample&&(e.PeakSample=-b[1][h])}if(e.findReplayGain&&a.AnalyzeSamples(e.rgdata,b[0],0,b[1],0,p,e.channels_out)==GainAnalysis.GAIN_ANALYSIS_ERROR)return -6}}}return c},this.init_bit_stream_w=function(e){r=ev(Lame.LAME_MAXMP3BUFFER),e.h_ptr=e.w_ptr=0,e.header[e.h_ptr].write_timing=0,_=-1,o=0,i=0}}BitStream$1.EQ=function(e,a){return Math.abs(e)>Math.abs(a)?Math.abs(e-a)<=1e-6*Math.abs(e):Math.abs(e-a)<=1e-6*Math.abs(a)},BitStream$1.NEQ=function(e,a){return!BitStream$1.EQ(e,a)};var eM=BitStream$1,eR=n.System,eA=n.VbrMode,ew=n.ShortBlock,eT=n.new_float,eE=n.new_int_n,ey=n.new_short_n,ek=n.assert;function Lame$1(){var e,a,t,s,n,r,i,_,o=this;Lame$1.V9=410,Lame$1.V8=420,Lame$1.V7=430,Lame$1.V6=440,Lame$1.V5=450,Lame$1.V4=460,Lame$1.V3=470,Lame$1.V2=480,Lame$1.V1=490,Lame$1.V0=500,Lame$1.R3MIX=1e3,Lame$1.STANDARD=1001,Lame$1.EXTREME=1002,Lame$1.INSANE=1003,Lame$1.STANDARD_FAST=1004,Lame$1.EXTREME_FAST=1005,Lame$1.MEDIUM=1006,Lame$1.MEDIUM_FAST=1007,Lame$1.LAME_MAXMP3BUFFER=147456;var l=new PsyModel_1;function PSY(){this.mask_adjust=0,this.mask_adjust_short=0,this.bo_l_weight=eT(g.SBMAX_l),this.bo_s_weight=eT(g.SBMAX_s)}function LowPassHighPass(){this.lowerlimit=0}function BandPass(e,a){this.lowpass=a}function lame_init_old(e){var a;return e.class_id=4294479419,a=e.internal_flags=new j,e.mode=MPEGMode.NOT_SET,e.original=1,e.in_samplerate=44100,e.num_channels=2,e.num_samples=-1,e.bWriteVbrTag=!0,e.quality=-1,e.short_blocks=null,a.subblock_gain=-1,e.lowpassfreq=0,e.highpassfreq=0,e.lowpasswidth=-1,e.highpasswidth=-1,e.VBR=eA.vbr_off,e.VBR_q=4,e.ATHcurve=-1,e.VBR_mean_bitrate_kbps=128,e.VBR_min_bitrate_kbps=0,e.VBR_max_bitrate_kbps=0,e.VBR_hard_min=0,a.VBR_min_bitrate=1,a.VBR_max_bitrate=13,e.quant_comp=-1,e.quant_comp_short=-1,e.msfix=-1,a.resample_ratio=1,a.OldValue[0]=180,a.OldValue[1]=180,a.CurrentStep[0]=4,a.CurrentStep[1]=4,a.masking_lower=1,a.nsPsy.attackthre=-1,a.nsPsy.attackthre_s=-1,e.scale=-1,e.athaa_type=-1,e.ATHtype=-1,e.athaa_loudapprox=-1,e.athaa_sensitivity=0,e.useTemporal=null,e.interChRatio=-1,a.mf_samples_to_encode=g.ENCDELAY+g.POSTDELAY,e.encoder_padding=0,a.mf_size=g.ENCDELAY-g.MDCTDELAY,e.findReplayGain=!1,e.decode_on_the_fly=!1,a.decode_on_the_fly=!1,a.findReplayGain=!1,a.findPeakSample=!1,a.RadioGain=0,a.AudiophileGain=0,a.noclipGainChange=0,a.noclipScale=-1,e.preset=0,e.write_id3tag_automatic=!0,0}function filter_coef(e){return e>1?0:e<=0?1:Math.cos(Math.PI/2*e)}function optimum_samplefreq(e,a){var t=44100;return(a>=48e3?t=48e3:a>=44100?t=44100:a>=32e3?t=32e3:a>=24e3?t=24e3:a>=22050?t=22050:a>=16e3?t=16e3:a>=12e3?t=12e3:a>=11025?t=11025:a>=8e3&&(t=8e3),-1==e)?t:(e<=15960&&(t=44100),e<=15250&&(t=32e3),e<=11220&&(t=24e3),e<=9970&&(t=22050),e<=7230&&(t=16e3),e<=5420&&(t=12e3),e<=4510&&(t=11025),e<=3970&&(t=8e3),a44100?48e3:a>32e3?44100:a>24e3?32e3:a>22050?24e3:a>16e3?22050:a>12e3?16e3:a>11025?12e3:a>8e3?11025:8e3:t}function SmpFrqIndex(e,a){switch(e){case 44100:return a.version=1,0;case 48e3:return a.version=1,1;case 32e3:return a.version=1,2;case 22050:case 11025:return a.version=0,0;case 24e3:case 12e3:return a.version=0,1;case 16e3:case 8e3:return a.version=0,2;default:return a.version=0,-1}}function FindNearestBitrate(e,a,t){t<16e3&&(a=2);for(var s=es.bitrate_table[a][1],n=2;n<=14;n++)es.bitrate_table[a][n]>0&&Math.abs(es.bitrate_table[a][n]-e)0&&es.bitrate_table[a][s]==e)return s;return -1}function optimum_bandwidth(e,a){var t=[new BandPass(8,2e3),new BandPass(16,3700),new BandPass(24,3900),new BandPass(32,5500),new BandPass(40,7e3),new BandPass(48,7500),new BandPass(56,1e4),new BandPass(64,11e3),new BandPass(80,13500),new BandPass(96,15100),new BandPass(112,15600),new BandPass(128,17e3),new BandPass(160,17500),new BandPass(192,18600),new BandPass(224,19400),new BandPass(256,19700),new BandPass(320,20500)],s=o.nearestBitrateFullIndex(a);e.lowerlimit=t[s].lowpass}function lame_init_params_ppflt(e){var a=e.internal_flags,t=32,s=-1;if(a.lowpass1>0){for(var n=999,r=0;r<=31;r++){var i=r/31;i>=a.lowpass2&&(t=Math.min(t,r)),a.lowpass10&&a.highpass2<.9*(.75/31)&&(a.highpass1=0,a.highpass2=0,eR.err.println("Warning: highpass filter disabled. highpass frequency too small\n")),a.highpass2>0){for(var _=-1,r=0;r<=31;r++){var i=r/31;i<=a.highpass1&&(s=Math.max(s,r)),a.highpass1a.highpass1?filter_coef((a.highpass2-i)/(a.highpass2-a.highpass1+1e-20)):1,l=a.lowpass2>a.lowpass1?filter_coef((i-a.lowpass1)/(a.lowpass2-a.lowpass1+1e-20)):1,a.amp_filter[r]=o*l}}function lame_init_qval(e){var a=e.internal_flags;switch(e.quality){default:case 9:a.psymodel=0,a.noise_shaping=0,a.noise_shaping_amp=0,a.noise_shaping_stop=0,a.use_best_huffman=0,a.full_outer_loop=0;break;case 8:e.quality=7;case 7:a.psymodel=1,a.noise_shaping=0,a.noise_shaping_amp=0,a.noise_shaping_stop=0,a.use_best_huffman=0,a.full_outer_loop=0;break;case 6:case 5:a.psymodel=1,0==a.noise_shaping&&(a.noise_shaping=1),a.noise_shaping_amp=0,a.noise_shaping_stop=0,-1==a.subblock_gain&&(a.subblock_gain=1),a.use_best_huffman=0,a.full_outer_loop=0;break;case 4:a.psymodel=1,0==a.noise_shaping&&(a.noise_shaping=1),a.noise_shaping_amp=0,a.noise_shaping_stop=0,-1==a.subblock_gain&&(a.subblock_gain=1),a.use_best_huffman=1,a.full_outer_loop=0;break;case 3:a.psymodel=1,0==a.noise_shaping&&(a.noise_shaping=1),a.noise_shaping_amp=1,a.noise_shaping_stop=1,-1==a.subblock_gain&&(a.subblock_gain=1),a.use_best_huffman=1,a.full_outer_loop=0;break;case 2:a.psymodel=1,0==a.noise_shaping&&(a.noise_shaping=1),0==a.substep_shaping&&(a.substep_shaping=2),a.noise_shaping_amp=1,a.noise_shaping_stop=1,-1==a.subblock_gain&&(a.subblock_gain=1),a.use_best_huffman=1,a.full_outer_loop=0;break;case 1:case 0:a.psymodel=1,0==a.noise_shaping&&(a.noise_shaping=1),0==a.substep_shaping&&(a.substep_shaping=2),a.noise_shaping_amp=2,a.noise_shaping_stop=1,-1==a.subblock_gain&&(a.subblock_gain=1),a.use_best_huffman=1,a.full_outer_loop=0}}function lame_init_bitstream(e){var a=e.internal_flags;e.frameNum=0,e.write_id3tag_automatic&&i.id3tag_write_v2(e),a.bitrate_stereoMode_Hist=eE([16,5]),a.bitrate_blockType_Hist=eE([16,6]),a.PeakSample=0,e.bWriteVbrTag&&r.InitVbrTag(e)}function update_inbuffer_size(e,a){(null==e.in_buffer_0||e.in_buffer_nsamples=a),a}function lame_encode_buffer_sample(t,s,n,r,i,_,o){var l,f,c,u,h,b=t.internal_flags,m=0,p=[null,null],d=[null,null];if(4294479419!=b.Class_ID)return -3;if(0==r)return 0;if((l=a.copy_buffer(b,i,_,o,0))<0)return l;if(_+=l,m+=l,d[0]=s,d[1]=n,eM.NEQ(t.scale,0)&&eM.NEQ(t.scale,1))for(c=0;c0;){var S=[null,null],B=0,M=0;S[0]=d[0],S[1]=d[1];var R=new InOut;if(fill_buffer(t,p,S,v,r,R),B=R.n_in,M=R.n_out,b.findReplayGain&&!b.decode_on_the_fly&&e.AnalyzeSamples(b.rgdata,p[0],b.mf_size,p[1],b.mf_size,M,b.channels_out)==GainAnalysis.GAIN_ANALYSIS_ERROR)return -6;if(r-=B,v+=B,b.channels_out,b.mf_size+=M,ek(b.mf_size<=j.MFSIZE),b.mf_samples_to_encode<1&&(b.mf_samples_to_encode=g.ENCDELAY+g.POSTDELAY),b.mf_samples_to_encode+=M,b.mf_size>=h){var A=o-m;if(0==o&&(A=0),(f=lame_encode_frame(t,p[0],p[1],i,_,A))<0)return f;for(_+=f,m+=f,b.mf_size-=t.framesize,b.mf_samples_to_encode-=t.framesize,u=0;u1&&(e=1);var n=e-.5,r=.42-.5*Math.cos(2*e*Math.PI)+.08*Math.cos(4*e*Math.PI);return 1e-9>Math.abs(n)?s/Math.PI:r*Math.sin(t*s*n)/(Math.PI*t*n)}function fill_buffer_resample(e,a,t,s,n,r,i,_,o){var l,f,c=e.internal_flags,u=0,h=e.out_samplerate/gcd(e.out_samplerate,e.in_samplerate);h>j.BPC&&(h=j.BPC);var b=1e-4>Math.abs(c.resample_ratio-Math.floor(.5+c.resample_ratio))?1:0,m=1/c.resample_ratio;m>1&&(m=1);var p=(B=31+b)+1;if(0==c.fill_buffer_resample_init){for(l=0,c.inbuf_old[0]=eT(p),c.inbuf_old[1]=eT(p);l<=2*h;++l)c.blackfilt[l]=eT(p);for(u=0,c.itime[0]=0,c.itime[1]=0;u<=2*h;u++){var d=0,v=(u-h)/(2*h);for(l=0;l<=B;l++)d+=c.blackfilt[u][l]=blackman(l-v,m,B);for(l=0;l<=B;l++)c.blackfilt[u][l]/=d}c.fill_buffer_resample_init=1}var g=c.inbuf_old[o];for(f=0;f=i);f++){var v=M-c.itime[o]-(u+.5*(B%2));ek(.501>=Math.abs(v)),R=0|Math.floor(2*v*h+h+.5);var S=0;for(l=0;l<=B;++l){var B,M,R,A=l+u-B/2;ek(A=0),S+=(A<0?g[p+A]:n[r+A])*c.blackfilt[R][l]}a[t+f]=S}if(_.num_used=Math.min(i,B+u-B/2),c.itime[o]+=_.num_used-f*c.resample_ratio,_.num_used>=p)for(l=0;l1.0001)for(var _=0;_e-s?t:n},this.lame_init_params=function(r){var i,o,f=r.internal_flags;if(f.Class_ID=0,null==f.ATH&&(f.ATH=new ATH_1),null==f.PSY&&(f.PSY=new PSY),null==f.rgdata&&(f.rgdata=new ReplayGain_1),f.channels_in=r.num_channels,1==f.channels_in&&(r.mode=MPEGMode.MONO),f.channels_out=r.mode==MPEGMode.MONO?1:2,f.mode_ext=g.MPG_MD_MS_LR,r.mode==MPEGMode.MONO&&(r.force_ms=!1),r.VBR==eA.vbr_off&&128!=r.VBR_mean_bitrate_kbps&&0==r.brate&&(r.brate=r.VBR_mean_bitrate_kbps),r.VBR==eA.vbr_off||r.VBR==eA.vbr_mtrh||r.VBR==eA.vbr_mt||(r.free_format=!1),r.VBR==eA.vbr_off&&0==r.brate&&eM.EQ(r.compression_ratio,0)&&(r.compression_ratio=11.025),r.VBR==eA.vbr_off&&r.compression_ratio>0&&(0==r.out_samplerate&&(r.out_samplerate=map2MP3Frequency(int(.97*r.in_samplerate))),r.brate=0|16*r.out_samplerate*f.channels_out/(1e3*r.compression_ratio),f.samplerate_index=SmpFrqIndex(r.out_samplerate,r),r.free_format||(r.brate=FindNearestBitrate(r.brate,r.version,r.out_samplerate))),0!=r.out_samplerate&&(r.out_samplerate<16e3?(r.VBR_mean_bitrate_kbps=Math.max(r.VBR_mean_bitrate_kbps,8),r.VBR_mean_bitrate_kbps=Math.min(r.VBR_mean_bitrate_kbps,64)):r.out_samplerate<32e3?(r.VBR_mean_bitrate_kbps=Math.max(r.VBR_mean_bitrate_kbps,8),r.VBR_mean_bitrate_kbps=Math.min(r.VBR_mean_bitrate_kbps,160)):(r.VBR_mean_bitrate_kbps=Math.max(r.VBR_mean_bitrate_kbps,32),r.VBR_mean_bitrate_kbps=Math.min(r.VBR_mean_bitrate_kbps,320))),0==r.lowpassfreq){var c=16e3;switch(r.VBR){case eA.vbr_off:var u=new LowPassHighPass;optimum_bandwidth(u,r.brate),c=u.lowerlimit;break;case eA.vbr_abr:var u=new LowPassHighPass;optimum_bandwidth(u,r.VBR_mean_bitrate_kbps),c=u.lowerlimit;break;case eA.vbr_rh:var h=[19500,19e3,18600,18e3,17500,16e3,15600,14900,12500,1e4,3950];if(0<=r.VBR_q&&r.VBR_q<=9){var b=h[r.VBR_q],m=h[r.VBR_q+1],p=r.VBR_q_frac;c=linear_int(b,m,p)}else c=19500;break;default:var h=[19500,19e3,18500,18e3,17500,16500,15500,14500,12500,9500,3950];if(0<=r.VBR_q&&r.VBR_q<=9){var b=h[r.VBR_q],m=h[r.VBR_q+1],p=r.VBR_q_frac;c=linear_int(b,m,p)}else c=19500}r.mode==MPEGMode.MONO&&(r.VBR==eA.vbr_off||r.VBR==eA.vbr_abr)&&(c*=1.5),r.lowpassfreq=0|c}if(0==r.out_samplerate&&(2*r.lowpassfreq>r.in_samplerate&&(r.lowpassfreq=r.in_samplerate/2),r.out_samplerate=optimum_samplefreq(0|r.lowpassfreq,r.in_samplerate)),r.lowpassfreq=Math.min(20500,r.lowpassfreq),r.lowpassfreq=Math.min(r.out_samplerate/2,r.lowpassfreq),r.VBR==eA.vbr_off&&(r.compression_ratio=16*r.out_samplerate*f.channels_out/(1e3*r.brate)),r.VBR==eA.vbr_abr&&(r.compression_ratio=16*r.out_samplerate*f.channels_out/(1e3*r.VBR_mean_bitrate_kbps)),r.bWriteVbrTag||(r.findReplayGain=!1,r.decode_on_the_fly=!1,f.findPeakSample=!1),f.findReplayGain=r.findReplayGain,f.decode_on_the_fly=r.decode_on_the_fly,f.decode_on_the_fly&&(f.findPeakSample=!0),f.findReplayGain&&e.InitGainAnalysis(f.rgdata,r.out_samplerate)==GainAnalysis.INIT_GAIN_ANALYSIS_ERROR)return r.internal_flags=null,-6;switch(f.decode_on_the_fly&&!r.decode_only&&(null!=f.hip&&_.hip_decode_exit(f.hip),f.hip=_.hip_decode_init()),f.mode_gr=r.out_samplerate<=24e3?1:2,r.framesize=576*f.mode_gr,r.encoder_delay=g.ENCDELAY,f.resample_ratio=r.in_samplerate/r.out_samplerate,r.VBR){case eA.vbr_mt:case eA.vbr_rh:case eA.vbr_mtrh:r.compression_ratio=[5.7,6.5,7.3,8.2,10,11.9,13,14,15,16.5][r.VBR_q];break;case eA.vbr_abr:r.compression_ratio=16*r.out_samplerate*f.channels_out/(1e3*r.VBR_mean_bitrate_kbps);break;default:r.compression_ratio=16*r.out_samplerate*f.channels_out/(1e3*r.brate)}if(r.mode==MPEGMode.NOT_SET&&(r.mode=MPEGMode.JOINT_STEREO),r.highpassfreq>0?(f.highpass1=2*r.highpassfreq,r.highpasswidth>=0?f.highpass2=2*(r.highpassfreq+r.highpasswidth):f.highpass2=2*r.highpassfreq,f.highpass1/=r.out_samplerate,f.highpass2/=r.out_samplerate):(f.highpass1=0,f.highpass2=0),r.lowpassfreq>0?(f.lowpass2=2*r.lowpassfreq,r.lowpasswidth>=0?(f.lowpass1=2*(r.lowpassfreq-r.lowpasswidth),f.lowpass1<0&&(f.lowpass1=0)):f.lowpass1=2*r.lowpassfreq,f.lowpass1/=r.out_samplerate,f.lowpass2/=r.out_samplerate):(f.lowpass1=0,f.lowpass2=0),lame_init_params_ppflt(r),f.samplerate_index=SmpFrqIndex(r.out_samplerate,r),f.samplerate_index<0)return r.internal_flags=null,-1;if(r.VBR==eA.vbr_off){if(r.free_format)f.bitrate_index=0;else if(r.brate=FindNearestBitrate(r.brate,r.version,r.out_samplerate),f.bitrate_index=BitrateIndex(r.brate,r.version,r.out_samplerate),f.bitrate_index<=0)return r.internal_flags=null,-1}else f.bitrate_index=1;r.analysis&&(r.bWriteVbrTag=!1),null!=f.pinfo&&(r.bWriteVbrTag=!1),a.init_bit_stream_w(f);for(var d=f.samplerate_index+3*r.version+6*(r.out_samplerate<16e3?1:0),v=0;v=0),r.VBR){case eA.vbr_mt:r.VBR=eA.vbr_mtrh;case eA.vbr_mtrh:null==r.useTemporal&&(r.useTemporal=!1),t.apply_preset(r,500-10*r.VBR_q,0),r.quality<0&&(r.quality=LAME_DEFAULT_QUALITY),r.quality<5&&(r.quality=0),r.quality>5&&(r.quality=5),f.PSY.mask_adjust=r.maskingadjust,f.PSY.mask_adjust_short=r.maskingadjust_short,r.experimentalY?f.sfb21_extra=!1:f.sfb21_extra=r.out_samplerate>44e3,f.iteration_loop=new VBRNewIterationLoop(n);break;case eA.vbr_rh:t.apply_preset(r,500-10*r.VBR_q,0),f.PSY.mask_adjust=r.maskingadjust,f.PSY.mask_adjust_short=r.maskingadjust_short,r.experimentalY?f.sfb21_extra=!1:f.sfb21_extra=r.out_samplerate>44e3,r.quality>6&&(r.quality=6),r.quality<0&&(r.quality=LAME_DEFAULT_QUALITY),f.iteration_loop=new VBROldIterationLoop(n);break;default:f.sfb21_extra=!1,r.quality<0&&(r.quality=LAME_DEFAULT_QUALITY),(o=r.VBR)==eA.vbr_off&&(r.VBR_mean_bitrate_kbps=r.brate),t.apply_preset(r,r.VBR_mean_bitrate_kbps,0),r.VBR=o,f.PSY.mask_adjust=r.maskingadjust,f.PSY.mask_adjust_short=r.maskingadjust_short,o==eA.vbr_off?f.iteration_loop=new CBRNewIterationLoop_1(n):f.iteration_loop=new ABRIterationLoop(n)}if(ek(r.scale>=0),r.VBR!=eA.vbr_off){if(f.VBR_min_bitrate=1,f.VBR_max_bitrate=14,r.out_samplerate<16e3&&(f.VBR_max_bitrate=8),0!=r.VBR_min_bitrate_kbps&&(r.VBR_min_bitrate_kbps=FindNearestBitrate(r.VBR_min_bitrate_kbps,r.version,r.out_samplerate),f.VBR_min_bitrate=BitrateIndex(r.VBR_min_bitrate_kbps,r.version,r.out_samplerate),f.VBR_min_bitrate<0)||0!=r.VBR_max_bitrate_kbps&&(r.VBR_max_bitrate_kbps=FindNearestBitrate(r.VBR_max_bitrate_kbps,r.version,r.out_samplerate),f.VBR_max_bitrate=BitrateIndex(r.VBR_max_bitrate_kbps,r.version,r.out_samplerate),f.VBR_max_bitrate<0))return -1;r.VBR_min_bitrate_kbps=es.bitrate_table[r.version][f.VBR_min_bitrate],r.VBR_max_bitrate_kbps=es.bitrate_table[r.version][f.VBR_max_bitrate],r.VBR_mean_bitrate_kbps=Math.min(es.bitrate_table[r.version][f.VBR_max_bitrate],r.VBR_mean_bitrate_kbps),r.VBR_mean_bitrate_kbps=Math.max(es.bitrate_table[r.version][f.VBR_min_bitrate],r.VBR_mean_bitrate_kbps)}return r.tune&&(f.PSY.mask_adjust+=r.tune_value_a,f.PSY.mask_adjust_short+=r.tune_value_a),lame_init_qval(r),ek(r.scale>=0),r.athaa_type<0?f.ATH.useAdjust=3:f.ATH.useAdjust=r.athaa_type,f.ATH.aaSensitivityP=Math.pow(10,-(r.athaa_sensitivity/10)),null==r.short_blocks&&(r.short_blocks=ew.short_block_allowed),r.short_blocks==ew.short_block_allowed&&(r.mode==MPEGMode.JOINT_STEREO||r.mode==MPEGMode.STEREO)&&(r.short_blocks=ew.short_block_coupled),r.quant_comp<0&&(r.quant_comp=1),r.quant_comp_short<0&&(r.quant_comp_short=0),r.msfix<0&&(r.msfix=0),r.exp_nspsytune=1|r.exp_nspsytune,r.internal_flags.nsPsy.attackthre<0&&(r.internal_flags.nsPsy.attackthre=PsyModel_1.NSATTACKTHRE),r.internal_flags.nsPsy.attackthre_s<0&&(r.internal_flags.nsPsy.attackthre_s=PsyModel_1.NSATTACKTHRE_S),ek(r.scale>=0),r.scale<0&&(r.scale=1),r.ATHtype<0&&(r.ATHtype=4),r.ATHcurve<0&&(r.ATHcurve=4),r.athaa_loudapprox<0&&(r.athaa_loudapprox=2),r.interChRatio<0&&(r.interChRatio=0),null==r.useTemporal&&(r.useTemporal=!0),f.slot_lag=f.frac_SpF=0,r.VBR==eA.vbr_off&&(f.slot_lag=f.frac_SpF=(r.version+1)*72e3*r.brate%r.out_samplerate|0),s.iteration_init(r),l.psymodel_init(r),ek(r.scale>=0),0},this.lame_encode_flush=function(e,t,s,n){var r,_,o,l,f=e.internal_flags,c=ey([2,1152]),u=0,h=f.mf_samples_to_encode-g.POSTDELAY,b=calcNeeded(e);if(f.mf_samples_to_encode<1)return 0;for(o=0,e.in_samplerate!=e.out_samplerate&&(h+=16*e.out_samplerate/e.in_samplerate),(r=e.framesize-h%e.framesize)<576&&(r+=e.framesize),e.encoder_padding=r,_=(h+r)/e.framesize;_>0&&u>=0;){var m=b-f.mf_size,p=e.frameNum;m*=e.in_samplerate,(m/=e.out_samplerate)>1152&&(m=1152),m<1&&(m=1),l=n-o,0==n&&(l=0),u=this.lame_encode_buffer(e,c[0],c[1],m,t,s,l),s+=u,o+=u,_-=p!=e.frameNum?1:0}if(f.mf_samples_to_encode=0,u<0||(l=n-o,0==n&&(l=0),a.flush_bitstream(e),(u=a.copy_buffer(f,t,s,l,1))<0))return u;if(s+=u,o+=u,l=n-o,0==n&&(l=0),e.write_id3tag_automatic){if(i.id3tag_write_v1(e),(u=a.copy_buffer(f,t,s,l,0))<0)return u;o+=u}return o},this.lame_encode_buffer=function(e,a,t,s,n,r,i){var _=e.internal_flags,o=[null,null];if(4294479419!=_.Class_ID)return -3;if(0==s)return 0;update_inbuffer_size(_,s),o[0]=_.in_buffer_0,o[1]=_.in_buffer_1;for(var l=0;l1&&(o[1][l]=t[l]);return lame_encode_buffer_sample(e,o[0],o[1],s,n,r,i)}}var ex=Lame$1,eP=n.VbrMode,VBRQuantize_1=function(){this.setModules=function(e,a){}},CalcNoiseResult_1=function(){this.over_noise=0,this.tot_noise=0,this.max_noise=0,this.over_count=0,this.over_SSD=0,this.bits=0},eI=n.new_float,eV=n.new_int,CalcNoiseData_1=function(){this.global_gain=0,this.sfb_count1=0,this.step=eV(39),this.noise=eI(39),this.noise_log=eI(39)},eH=n.System,eL=n.VbrMode,eN=n.Util,eO=n.Arrays,eD=n.new_float,eC=n.assert,eX=n.assert,Version_1=function(){this.getLameVersion=function(){return"3.98.4"},this.getLameShortVersion=function(){return"3.98.4"},this.getLameVeryShortVersion=function(){return"LAME3.98r"},this.getPsyVersion=function(){return"0.93"},this.getLameUrl=function(){return"http://www.mp3dev.org/"},this.getLameOsBitness=function(){return"32bits"}},eq=n.System,eF=n.VbrMode,eG=n.ShortBlock,e$=n.Arrays,eY=n.new_byte,ez=n.assert;function VBRTag(){this.setModules=function(s,n,r){e=s,a=n,t=r};var e,a,t,s=VBRTag.NUMTOCENTRIES,n=VBRTag.MAXFRAMESIZE,r=s+4+4+4+4+4+9+1+1+8+1+1+3+1+1+2+4+2+2,i="Xing",_="Info",o=[0,49345,49537,320,49921,960,640,49729,50689,1728,1920,51009,1280,50625,50305,1088,52225,3264,3456,52545,3840,53185,52865,3648,2560,51905,52097,2880,51457,2496,2176,51265,55297,6336,6528,55617,6912,56257,55937,6720,7680,57025,57217,8e3,56577,7616,7296,56385,5120,54465,54657,5440,55041,6080,5760,54849,53761,4800,4992,54081,4352,53697,53377,4160,61441,12480,12672,61761,13056,62401,62081,12864,13824,63169,63361,14144,62721,13760,13440,62529,15360,64705,64897,15680,65281,16320,16e3,65089,64001,15040,15232,64321,14592,63937,63617,14400,10240,59585,59777,10560,60161,11200,10880,59969,60929,11968,12160,61249,11520,60865,60545,11328,58369,9408,9600,58689,9984,59329,59009,9792,8704,58049,58241,9024,57601,8640,8320,57409,40961,24768,24960,41281,25344,41921,41601,25152,26112,42689,42881,26432,42241,26048,25728,42049,27648,44225,44417,27968,44801,28608,28288,44609,43521,27328,27520,43841,26880,43457,43137,26688,30720,47297,47489,31040,47873,31680,31360,47681,48641,32448,32640,48961,32e3,48577,48257,31808,46081,29888,30080,46401,30464,47041,46721,30272,29184,45761,45953,29504,45313,29120,28800,45121,20480,37057,37249,20800,37633,21440,21120,37441,38401,22208,22400,38721,21760,38337,38017,21568,39937,23744,23936,40257,24320,40897,40577,24128,23040,39617,39809,23360,39169,22976,22656,38977,34817,18624,18816,35137,19200,35777,35457,19008,19968,36545,36737,20288,36097,19904,19584,35905,17408,33985,34177,17728,34561,18368,18048,34369,33281,17088,17280,33601,16640,33217,32897,16448];function addVbr(e,a){if(e.nVbrNumFrames++,e.sum+=a,e.seen++,!(e.seene.pos-1&&(n=e.pos-1);var r=0|256*e.bag[n]/e.sum;r>255&&(r=255),a[t]=255&r}}function extractInteger(e,a){var t=255&e[a+0];return t<<=8,t|=255&e[a+1],t<<=8,t|=255&e[a+2],t<<=8,t|=255&e[a+3]}function createInteger(e,a,t){e[a+0]=255&(t>>24&255),e[a+1]=255&(t>>16&255),e[a+2]=255&(t>>8&255),e[a+3]=255&(255&t)}function createShort(e,a,t){e[a+0]=255&(t>>8&255),e[a+1]=255&(255&t)}function isVbrTag(e,a){return new String(e,a,i.length(),null).equals(i)||new String(e,a,_.length(),null).equals(_)}function shiftInBitsValue(e,a,t){return 255&(e<>8^o[255&t]}function putLameVBR(e,a,s,n,r){var i,_,o=e.internal_flags,l=0,f=e.encoder_delay,c=e.encoder_padding,u=100-10*e.VBR_q-e.quality,h=t.getLameVeryShortVersion(),b=[1,5,3,2,4,0,3],m=0|(e.lowpassfreq/100+.5>255?255:e.lowpassfreq/100+.5),p=0,d=0,v=e.internal_flags.noise_shaping,g=0,S=0,B=0,M=0,R=0,A=(1&e.exp_nspsytune)!=0,w=(2&e.exp_nspsytune)!=0,T=!1,E=!1,y=e.internal_flags.nogap_total,k=e.internal_flags.nogap_current,x=e.ATHtype,P=0;switch(e.VBR){case vbr_abr:_=e.VBR_mean_bitrate_kbps;break;case vbr_off:_=e.brate;break;default:_=e.VBR_min_bitrate_kbps}switch(i=0+(e.VBR.ordinal()510&&(o.RadioGain=510),o.RadioGain<-510&&(o.RadioGain=-510),d=11264,o.RadioGain>=0?d|=o.RadioGain:(d|=512,d|=-o.RadioGain)),o.findPeakSample&&(p=Math.abs(0|o.PeakSample/32767*8388608+.5)),-1!=y&&(k>0&&(E=!0),k48e3?3:1,(e.short_blocks==eG.short_block_forced||e.short_blocks==eG.short_block_dispensed||-1==e.lowpassfreq&&-1==e.highpassfreq||e.scale_lefte.scale_right||e.disable_reservoir&&e.brate<320||e.noATH||e.ATHonly||0==x||e.in_samplerate<=32e3)&&(S=1),M=v+(g<<2)+(S<<5)+(B<<6),R=o.nMusicCRC,createInteger(s,n+l,u),l+=4;for(var I=0;I<9;I++)s[n+l+I]=255&h.charAt(I);s[n+(l+=9)]=255&i,s[n+ ++l]=255&m,createInteger(s,n+ ++l,p),createShort(s,n+(l+=4),d),createShort(s,n+(l+=2),0),s[n+(l+=2)]=255&P,l++,_>=255?s[n+l]=255:s[n+l]=255&_,s[n+ ++l]=255&f>>4,s[n+l+1]=255&(f<<4)+(c>>8),s[n+l+2]=255&c,s[n+(l+=3)]=255&M,l++,s[n+l++]=0,createShort(s,n+l,e.preset),createInteger(s,n+(l+=2),a),createShort(s,n+(l+=4),R),l+=2;for(var V=0;V>3&1,r=e[t+2]>>2&3,i=e[t+3]>>6&3,_=e[t+2]>>4&15;if(_=Tables.bitrate_table[n][_],e[t+1]>>4==14?a.samprate=Tables.samplerate_table[2][r]:a.samprate=Tables.samplerate_table[n][r],0!=n?3!=i?t+=36:t+=21:3!=i?t+=21:t+=13,!isVbrTag(e,t))return null;t+=4,a.hId=n;var o=a.flags=extractInteger(e,t);if(t+=4,(1&o)!=0&&(a.frames=extractInteger(e,t),t+=4),(2&o)!=0&&(a.bytes=extractInteger(e,t),t+=4),(4&o)!=0){if(null!=a.toc)for(var l=0;l>4;var c=(15&e[t+1])<<8;return c+=255&e[t+2],(f<0||f>3e3)&&(f=-1),(c<0||c>3e3)&&(c=-1),a.encDelay=f,a.encPadding=c,a},this.InitVbrTag=function(e){var t,s=e.internal_flags;t=1==e.version?128:e.out_samplerate<16e3?32:64,e.VBR==eF.vbr_off&&(t=e.brate);var i=(e.version+1)*72e3*t/e.out_samplerate,_=s.sideinfo_len+r;if(s.VBR_seek_table.TotalFrameSize=i,i<_||i>n){e.bWriteVbrTag=!1;return}s.VBR_seek_table.nVbrNumFrames=0,s.VBR_seek_table.nBytesWritten=0,s.VBR_seek_table.sum=0,s.VBR_seek_table.seen=0,s.VBR_seek_table.want=1,s.VBR_seek_table.pos=0,null==s.VBR_seek_table.bag&&(s.VBR_seek_table.bag=new int[400],s.VBR_seek_table.size=400);var o=eY(n);setLameTagFrameHeader(e,o);for(var l=s.VBR_seek_table.TotalFrameSize,f=0;fs.length?-1:(r<1||a.write(s,0,r),0)}}VBRTag.NUMTOCENTRIES=100,VBRTag.MAXFRAMESIZE=2880;var ej=VBRTag,eQ=n.new_byte,eK=n.assert;function GetAudio(){this.setModules=function(e,a){}}function Parse(){this.setModules=function(e,a,t){}}function MPGLib(){}function ID3Tag(){this.setModules=function(e,a){}}function Mp3Encoder(e,a,t){3!=arguments.length&&(console.error("WARN: Mp3Encoder(channels, samplerate, kbps) not specified"),e=1,a=44100,t=128);var s=new Lame,n=new GetAudio,r=new GainAnalysis,i=new BitStream,_=new Presets,o=new QuantizePVT,l=new Quantize,f=new ej,c=new Version_1,u=new ID3Tag,h=new Reservoir,b=new Takehiro,m=new Parse,p=new MPGLib;s.setModules(r,i,_,o,l,f,c,u,p),i.setModules(r,p,c,f),u.setModules(i,c),_.setModules(s),l.setModules(i,h,o,b),o.setModules(b,h,s.enc.psy),h.setModules(i),b.setModules(o),f.setModules(s,i,c),n.setModules(m,p),m.setModules(c,u,_);var d=s.lame_init();d.num_channels=e,d.in_samplerate=a,d.brate=t,d.mode=MPEGMode.STEREO,d.quality=3,d.bWriteVbrTag=!1,d.disable_reservoir=!0,d.write_id3tag_automatic=!1,eK(0==s.lame_init_params(d));var v=1152,g=8640,S=eQ(8640);this.encodeBuffer=function(a,t){1==e&&(t=a),eK(a.length==t.length),a.length>v&&(S=eQ(g=0|1.25*(v=a.length)+7200));var n=s.lame_encode_buffer(d,a,t,a.length,S,0,g);return new Int8Array(S.subarray(0,n))},this.flush=function(){var e=s.lame_encode_flush(d,S,0,g);return new Int8Array(S.subarray(0,e))}}function WavHeader(){this.dataOffset=0,this.dataLen=0,this.channels=0,this.sampleRate=0}function fourccToInt(e){return e.charCodeAt(0)<<24|e.charCodeAt(1)<<16|e.charCodeAt(2)<<8|e.charCodeAt(3)}Lame=ex,Presets=function(){function VBRPresets(e,a,t,s,n,r,i,_,o,l,f,c,u,h,b){this.vbr_q=e,this.quant_comp=a,this.quant_comp_s=t,this.expY=s,this.st_lrm=n,this.st_s=r,this.masking_adj=i,this.masking_adj_short=_,this.ath_lower=o,this.ath_curve=l,this.ath_sensitivity=f,this.interch=c,this.safejoint=u,this.sfb21mod=h,this.msfix=b}function ABRPresets(e,a,t,s,n,r,i,_,o,l,f,c,u,h){this.quant_comp=a,this.quant_comp_s=t,this.safejoint=s,this.nsmsfix=n,this.st_lrm=r,this.st_s=i,this.nsbass=_,this.scale=o,this.masking_adj=l,this.ath_lower=f,this.ath_curve=c,this.interch=u,this.sfscale=h}this.setModules=function(a){e=a};var e,a=[new VBRPresets(0,9,9,0,5.2,125,-4.2,-6.3,4.8,1,0,0,2,21,.97),new VBRPresets(1,9,9,0,5.3,125,-3.6,-5.6,4.5,1.5,0,0,2,21,1.35),new VBRPresets(2,9,9,0,5.6,125,-2.2,-3.5,2.8,2,0,0,2,21,1.49),new VBRPresets(3,9,9,1,5.8,130,-1.8,-2.8,2.6,3,-4,0,2,20,1.64),new VBRPresets(4,9,9,1,6,135,-.7,-1.1,1.1,3.5,-8,0,2,0,1.79),new VBRPresets(5,9,9,1,6.4,140,.5,.4,-7.5,4,-12,2e-4,0,0,1.95),new VBRPresets(6,9,9,1,6.6,145,.67,.65,-14.7,6.5,-19,4e-4,0,0,2.3),new VBRPresets(7,9,9,1,6.6,145,.8,.75,-19.7,8,-22,6e-4,0,0,2.7),new VBRPresets(8,9,9,1,6.6,145,1.2,1.15,-27.5,10,-23,7e-4,0,0,0),new VBRPresets(9,9,9,1,6.6,145,1.6,1.6,-36,11,-25,8e-4,0,0,0),new VBRPresets(10,9,9,1,6.6,145,2,2,-36,12,-25,8e-4,0,0,0)],t=[new VBRPresets(0,9,9,0,4.2,25,-7,-4,7.5,1,0,0,2,26,.97),new VBRPresets(1,9,9,0,4.2,25,-5.6,-3.6,4.5,1.5,0,0,2,21,1.35),new VBRPresets(2,9,9,0,4.2,25,-4.4,-1.8,2,2,0,0,2,18,1.49),new VBRPresets(3,9,9,1,4.2,25,-3.4,-1.25,1.1,3,-4,0,2,15,1.64),new VBRPresets(4,9,9,1,4.2,25,-2.2,.1,0,3.5,-8,0,2,0,1.79),new VBRPresets(5,9,9,1,4.2,25,-1,1.65,-7.7,4,-12,2e-4,0,0,1.95),new VBRPresets(6,9,9,1,4.2,25,-0,2.47,-7.7,6.5,-19,4e-4,0,0,2),new VBRPresets(7,9,9,1,4.2,25,.5,2,-14.5,8,-22,6e-4,0,0,2),new VBRPresets(8,9,9,1,4.2,25,1,2.4,-22,10,-23,7e-4,0,0,2),new VBRPresets(9,9,9,1,4.2,25,1.5,2.95,-30,11,-25,8e-4,0,0,2),new VBRPresets(10,9,9,1,4.2,25,2,2.95,-36,12,-30,8e-4,0,0,2)];function apply_vbr_preset(e,s,n){var r=e.VBR==eP.vbr_rh?a:t,i=e.VBR_q_frac,_=r[s],o=r[s+1];_.st_lrm=_.st_lrm+i*(o.st_lrm-_.st_lrm),_.st_s=_.st_s+i*(o.st_s-_.st_s),_.masking_adj=_.masking_adj+i*(o.masking_adj-_.masking_adj),_.masking_adj_short=_.masking_adj_short+i*(o.masking_adj_short-_.masking_adj_short),_.ath_lower=_.ath_lower+i*(o.ath_lower-_.ath_lower),_.ath_curve=_.ath_curve+i*(o.ath_curve-_.ath_curve),_.ath_sensitivity=_.ath_sensitivity+i*(o.ath_sensitivity-_.ath_sensitivity),_.interch=_.interch+i*(o.interch-_.interch),_.msfix=_.msfix+i*(o.msfix-_.msfix),lame_set_VBR_q(e,_.vbr_q),0!=n?e.quant_comp=_.quant_comp:Math.abs(e.quant_comp- -1)>0||(e.quant_comp=_.quant_comp),0!=n?e.quant_comp_short=_.quant_comp_s:Math.abs(e.quant_comp_short- -1)>0||(e.quant_comp_short=_.quant_comp_s),0!=_.expY&&(e.experimentalY=0!=_.expY),0!=n?e.internal_flags.nsPsy.attackthre=_.st_lrm:Math.abs(e.internal_flags.nsPsy.attackthre- -1)>0||(e.internal_flags.nsPsy.attackthre=_.st_lrm),0!=n?e.internal_flags.nsPsy.attackthre_s=_.st_s:Math.abs(e.internal_flags.nsPsy.attackthre_s- -1)>0||(e.internal_flags.nsPsy.attackthre_s=_.st_s),0!=n?e.maskingadjust=_.masking_adj:Math.abs(e.maskingadjust-0)>0||(e.maskingadjust=_.masking_adj),0!=n?e.maskingadjust_short=_.masking_adj_short:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=_.masking_adj_short),0!=n?e.ATHlower=-_.ath_lower/10:Math.abs(-(10*e.ATHlower)-0)>0||(e.ATHlower=-_.ath_lower/10),0!=n?e.ATHcurve=_.ath_curve:Math.abs(e.ATHcurve- -1)>0||(e.ATHcurve=_.ath_curve),0!=n?e.athaa_sensitivity=_.ath_sensitivity:Math.abs(e.athaa_sensitivity- -1)>0||(e.athaa_sensitivity=_.ath_sensitivity),_.interch>0&&(0!=n?e.interChRatio=_.interch:Math.abs(e.interChRatio- -1)>0||(e.interChRatio=_.interch)),_.safejoint>0&&(e.exp_nspsytune=e.exp_nspsytune|_.safejoint),_.sfb21mod>0&&(e.exp_nspsytune=e.exp_nspsytune|_.sfb21mod<<20),0!=n?e.msfix=_.msfix:Math.abs(e.msfix- -1)>0||(e.msfix=_.msfix),0==n&&(e.VBR_q=s,e.VBR_q_frac=i)}var s=[new ABRPresets(8,9,9,0,0,6.6,145,0,.95,0,-30,11,.0012,1),new ABRPresets(16,9,9,0,0,6.6,145,0,.95,0,-25,11,.001,1),new ABRPresets(24,9,9,0,0,6.6,145,0,.95,0,-20,11,.001,1),new ABRPresets(32,9,9,0,0,6.6,145,0,.95,0,-15,11,.001,1),new ABRPresets(40,9,9,0,0,6.6,145,0,.95,0,-10,11,9e-4,1),new ABRPresets(48,9,9,0,0,6.6,145,0,.95,0,-10,11,9e-4,1),new ABRPresets(56,9,9,0,0,6.6,145,0,.95,0,-6,11,8e-4,1),new ABRPresets(64,9,9,0,0,6.6,145,0,.95,0,-2,11,8e-4,1),new ABRPresets(80,9,9,0,0,6.6,145,0,.95,0,0,8,7e-4,1),new ABRPresets(96,9,9,0,2.5,6.6,145,0,.95,0,1,5.5,6e-4,1),new ABRPresets(112,9,9,0,2.25,6.6,145,0,.95,0,2,4.5,5e-4,1),new ABRPresets(128,9,9,0,1.95,6.4,140,0,.95,0,3,4,2e-4,1),new ABRPresets(160,9,9,1,1.79,6,135,0,.95,-2,5,3.5,0,1),new ABRPresets(192,9,9,1,1.49,5.6,125,0,.97,-4,7,3,0,0),new ABRPresets(224,9,9,1,1.25,5.2,125,0,.98,-6,9,2,0,0),new ABRPresets(256,9,9,1,.97,5.2,125,0,1,-8,10,1,0,0),new ABRPresets(320,9,9,1,.9,5.2,125,0,1,-10,12,0,0,0)];function apply_abr_preset(a,t,n){var r=e.nearestBitrateFullIndex(t);if(a.VBR=eP.vbr_abr,a.VBR_mean_bitrate_kbps=t,a.VBR_mean_bitrate_kbps=Math.min(a.VBR_mean_bitrate_kbps,320),a.VBR_mean_bitrate_kbps=Math.max(a.VBR_mean_bitrate_kbps,8),a.brate=a.VBR_mean_bitrate_kbps,a.VBR_mean_bitrate_kbps>320&&(a.disable_reservoir=!0),s[r].safejoint>0&&(a.exp_nspsytune=2|a.exp_nspsytune),s[r].sfscale>0&&(a.internal_flags.noise_shaping=2),Math.abs(s[r].nsbass)>0){var i=int(4*s[r].nsbass);i<0&&(i+=64),a.exp_nspsytune=a.exp_nspsytune|i<<2}return 0!=n?a.quant_comp=s[r].quant_comp:Math.abs(a.quant_comp- -1)>0||(a.quant_comp=s[r].quant_comp),0!=n?a.quant_comp_short=s[r].quant_comp_s:Math.abs(a.quant_comp_short- -1)>0||(a.quant_comp_short=s[r].quant_comp_s),0!=n?a.msfix=s[r].nsmsfix:Math.abs(a.msfix- -1)>0||(a.msfix=s[r].nsmsfix),0!=n?a.internal_flags.nsPsy.attackthre=s[r].st_lrm:Math.abs(a.internal_flags.nsPsy.attackthre- -1)>0||(a.internal_flags.nsPsy.attackthre=s[r].st_lrm),0!=n?a.internal_flags.nsPsy.attackthre_s=s[r].st_s:Math.abs(a.internal_flags.nsPsy.attackthre_s- -1)>0||(a.internal_flags.nsPsy.attackthre_s=s[r].st_s),0!=n?a.scale=s[r].scale:Math.abs(a.scale- -1)>0||(a.scale=s[r].scale),0!=n?a.maskingadjust=s[r].masking_adj:Math.abs(a.maskingadjust-0)>0||(a.maskingadjust=s[r].masking_adj),s[r].masking_adj>0?0!=n?a.maskingadjust_short=.9*s[r].masking_adj:Math.abs(a.maskingadjust_short-0)>0||(a.maskingadjust_short=.9*s[r].masking_adj):0!=n?a.maskingadjust_short=1.1*s[r].masking_adj:Math.abs(a.maskingadjust_short-0)>0||(a.maskingadjust_short=1.1*s[r].masking_adj),0!=n?a.ATHlower=-s[r].ath_lower/10:Math.abs(-(10*a.ATHlower)-0)>0||(a.ATHlower=-s[r].ath_lower/10),0!=n?a.ATHcurve=s[r].ath_curve:Math.abs(a.ATHcurve- -1)>0||(a.ATHcurve=s[r].ath_curve),0!=n?a.interChRatio=s[r].interch:Math.abs(a.interChRatio- -1)>0||(a.interChRatio=s[r].interch),t}function lame_set_VBR_q(e,a){var t=0;return 0>a&&(t=-1,a=0),9e.xrpow_max&&(e.xrpow_max=a[n])}return s}function psfb21_analogsilence(e,a){var s=e.ATH,n=a.xr;if(a.block_type!=g.SHORT_TYPE)for(var r=!1,i=g.PSFB21-1;i>=0&&!r;i--){var _=e.scalefac_band.psfb21[i],o=e.scalefac_band.psfb21[i+1],l=t.athAdjust(s.adjust,s.psfb21[i],s.floor);e.nsPsy.longfact[21]>1e-12&&(l*=e.nsPsy.longfact[21]);for(var f=o-1;f>=_;f--)if(Math.abs(n[f])=0&&!r;i--){var _=3*e.scalefac_band.s[12]+(e.scalefac_band.s[13]-e.scalefac_band.s[12])*c+(e.scalefac_band.psfb12[i]-e.scalefac_band.psfb12[0]),o=_+(e.scalefac_band.psfb12[i+1]-e.scalefac_band.psfb12[i]),u=t.athAdjust(s.adjust,s.psfb12[i],s.floor);e.nsPsy.shortfact[12]>1e-12&&(u*=e.nsPsy.shortfact[12]);for(var f=o-1;f>=_;f--)if(Math.abs(n[f])t?(c==BinSearchDirection.BINSEARCH_DOWN&&(l=!0),l&&(o/=2),c=BinSearchDirection.BINSEARCH_UP,_=o):(c==BinSearchDirection.BINSEARCH_UP&&(l=!0),l&&(o/=2),c=BinSearchDirection.BINSEARCH_DOWN,_=-o),a.global_gain+=_,a.global_gain<0&&(a.global_gain=0,l=!0),a.global_gain>255&&(a.global_gain=255,l=!0);for(eC(a.global_gain>=0),eC(a.global_gain<256);i>t&&a.global_gain<255;)a.global_gain++,i=s.count_bits(e,r,a,null);return e.CurrentStep[n]=f-a.global_gain>=4?4:2,e.OldValue[n]=a.global_gain,a.part2_3_length=i,i}function loop_break(e){for(var a=0;a0?(r=t.over_SSD<=a.over_SSD,t.over_SSD==a.over_SSD&&(r=t.bits.2||t.max_noise<=0&&a.max_noise<0&&a.max_noise>t.max_noise-.2&&t.tot_noise0&&a.max_noise>t.max_noise-.2&&t.tot_noise0&&a.max_noise>-.05&&a.max_noise>t.max_noise-.1&&t.tot_noise+t.over_noise0&&a.max_noise>-.1&&a.max_noise>t.max_noise-.15&&t.tot_noise+t.over_noise+t.over_noise1?i=Math.pow(i,.5):i*=.95;break;default:i>1?i=1:i*=.95}for(var l=0,_=0;_a.xrpow_max&&(a.xrpow_max=s[l+c]);if(2==r.noise_shaping_amp)return}}}function inc_scalefac_scale(e,a){for(var s=0,n=0;ne.xrpow_max&&(e.xrpow_max=a[s+_])}e.scalefac[n]=i>>1}e.preflag=0,e.scalefac_scale=1}function inc_subblock_gain(e,a,s){var n=a.scalefac;for(l=0;l=16)return!0;for(var r=0;r<3;r++){var i=0,_=0;for(l=a.sfb_lmax+r;l=7)return!0;a.subblock_gain[r]++;var o=e.scalefac_band.l[a.sfb_lmax];for(l=a.sfb_lmax+r;l=0),(u-=4>>a.scalefac_scale)>=0){n[l]=u,o+=3*c;continue}n[l]=0;var h=210+(u<a.xrpow_max&&(a.xrpow_max=s[o+b]);o+=c*(3-r-1)}var f=t.IPOW20(202);o+=a.width[l]*(r+1);for(var b=-a.width[l];b<0;b++)s[o+b]*=f,s[o+b]>a.xrpow_max&&(a.xrpow_max=s[o+b])}}return!1}function balance_noise(e,a,t,n,r){var i=e.internal_flags;amp_scalefac_bands(e,a,t,n,r);var _=loop_break(a);return!_&&(!(_=2==i.mode_gr?s.scale_bitcount(a):s.scale_bitcount_lsf(i,a))||(i.noise_shaping>1&&(eO.fill(i.pseudohalf,0),0==a.scalefac_scale?(inc_scalefac_scale(a,n),_=!1):a.block_type==g.SHORT_TYPE&&i.subblock_gain>0&&(_=inc_subblock_gain(i,a,n)||loop_break(a))),_||(_=2==i.mode_gr?s.scale_bitcount(a):s.scale_bitcount_lsf(i,a)),!_))}this.setModules=function(r,i,_,o){e=r,a=i,this.rv=i,t=_,this.qupvt=_,s=o,n.setModules(t,s)},this.ms_convert=function(e,a){for(var t=0;t<576;++t){var s=e.tt[a][0].xr[t],n=e.tt[a][1].xr[t];e.tt[a][0].xr[t]=(s+n)*(.5*eN.SQRT2),e.tt[a][1].xr[t]=(s-n)*(.5*eN.SQRT2)}},this.init_xrpow=function(e,a,t){var s=0,n=0|a.max_nonzero_coeff;if(eC(null!=t),a.xrpow_max=0,eC(0<=n&&n<=575),eO.fill(t,n,576,0),(s=init_xrpow_core(a,t,n,s))>1e-20){var r=0;(2&e.substep_shaping)!=0&&(r=1);for(var i=0;i=1||(eO.sort(r,_-m,m),BitStream.EQ(r[_-1],0)))continue;f=(1-i[l])*n[l],c=0,h=0;do{for(u=1;h+u0)}while(++l1||l.block_type==g.SHORT_TYPE&&(c[l.sfbmax+1]>1||c[l.sfbmax+2]>1))||!balance_noise(e,l,c,r,p))break;0!=l.scalefac_scale&&(M=254);var R=_-l.part2_length;if(R<=0)break;for(;(l.part2_3_length=s.count_bits(o,r,l,h))>R&&l.global_gain<=M;)l.global_gain++;if(l.global_gain>M)break;if(0==u.over_count){for(;(l.part2_3_length=s.count_bits(o,r,l,h))>b&&l.global_gain<=M;)l.global_gain++;if(l.global_gain>M)break}if(t.calc_noise(l,n,c,B,h),B.bits=l.part2_3_length,0!=(quant_compare(a.block_type!=g.SHORT_TYPE?e.quant_comp:e.quant_comp_short,u,B,l,c)?1:0))b=a.part2_3_length,u=B,a.assign(l),v=0,eH.arraycopy(r,0,f,0,576);else if(0==o.full_outer_loop&&(++v>S&&0==u.over_count||3==o.noise_shaping_amp&&p&&v>30||3==o.noise_shaping_amp&&p&&l.global_gain-d>15))break}while(l.global_gain+l.scalefac_scale<255);3==o.noise_shaping_amp?p?m=!0:(l.assign(a),eH.arraycopy(f,0,r,0,576),v=0,d=l.global_gain,p=!0):m=!0}return eC(a.global_gain+a.scalefac_scale<=255),e.VBR==eL.vbr_rh||e.VBR==eL.vbr_mtrh?eH.arraycopy(f,0,r,0,576):(1&o.substep_shaping)!=0&&trancate_smallspectrums(o,a,n,r),u.over_count},this.iteration_finish_one=function(e,t,n){var r=e.l3_side,i=r.tt[t][n];s.best_scalefac_store(e,t,n,r),1==e.use_best_huffman&&s.best_huffman_divide(e,i),a.ResvAdjust(e,i)},this.VBR_encode_granule=function(e,a,t,s,n,r,i){var _,o=e.internal_flags,l=new GrInfo_1,f=eD(576),c=i,u=i+1,h=(i+r)/2,b=0,m=o.sfb21_extra;eC(c<=LameInternalFlags.MAX_BITS_PER_CHANNEL),eO.fill(l.l3_enc,0);do eC(h>=r),eC(h<=i),eC(r<=i),h>c-42?o.sfb21_extra=!1:o.sfb21_extra=m,0>=outer_loop(e,a,t,s,n,h)?(b=1,u=a.part2_3_length,l.assign(a),eH.arraycopy(s,0,f,0,576),_=(i=u-32)-r,h=(i+r)/2):(_=i-(r=h+32),h=(i+r)/2,0!=b&&(b=2,a.assign(l),eH.arraycopy(f,0,s,0,576)));while(_>12);o.sfb21_extra=m,2==b&&eH.arraycopy(l.l3_enc,0,a.l3_enc,0,576),eC(a.part2_3_length<=c)},this.get_framebits=function(t,s){var n=t.internal_flags;n.bitrate_index=n.VBR_min_bitrate;var r=e.getframebits(t);n.bitrate_index=1,r=e.getframebits(t);for(var i=1;i<=n.VBR_max_bitrate;i++){n.bitrate_index=i;var _=new MeanBits(r);s[i]=a.ResvFrameBegin(t,_),r=_.bits}},this.VBR_old_prepare=function(e,s,n,r,i,_,o,l,f){var c,u=e.internal_flags,h=0,b=1,m=0;u.bitrate_index=u.VBR_max_bitrate;var p=a.ResvFrameBegin(e,new MeanBits(0))/u.mode_gr;get_framebits(e,_);for(var d=0;d_[u.VBR_max_bitrate]&&(l[d][S]*=_[u.VBR_max_bitrate],l[d][S]/=m),o[d][S]>l[d][S]&&(o[d][S]=l[d][S]);return b},this.bitpressure_strategy=function(e,a,t,s){for(var n=0;no&&(_[b][m]*=o,_[b][m]/=u);return f},this.calc_target_bits=function(s,n,r,i,_,o){var l,f,c,u,h=s.internal_flags,b=h.l3_side,m=0;h.bitrate_index=h.VBR_max_bitrate;var p=new MeanBits(m);for(o[0]=a.ResvFrameBegin(s,p),m=p.bits,h.bitrate_index=1,m=e.getframebits(s)-8*h.sideinfo_len,_[0]=m/(h.mode_gr*h.channels_out),m=s.VBR_mean_bitrate_kbps*s.framesize*1e3,(1&h.substep_shaping)!=0&&(m*=1.09),m/=s.out_samplerate,m-=8*h.sideinfo_len,m/=h.mode_gr*h.channels_out,(l=.93+.07*(11-s.compression_ratio)/5.5)<.9&&(l=.9),l>1&&(l=1),f=0;f700){var v=int((n[f][c]-700)/1.4),S=b.tt[f][c];i[f][c]=int(l*m),S.block_type==g.SHORT_TYPE&&v3*m/2?v=3*m/2:v<0&&(v=0),i[f][c]+=v}i[f][c]>LameInternalFlags.MAX_BITS_PER_CHANNEL&&(i[f][c]=LameInternalFlags.MAX_BITS_PER_CHANNEL),d+=i[f][c]}if(d>LameInternalFlags.MAX_BITS_PER_GRANULE)for(c=0;cLameInternalFlags.MAX_BITS_PER_CHANNEL&&(i[f][c]=LameInternalFlags.MAX_BITS_PER_CHANNEL),u+=i[f][c];if(u>o[0])for(f=0;f320?s=8*int(1e3*a.brate/(a.out_samplerate/1152)/8+.5):(s=11520,a.strict_ISO&&(s=8*int(32e4/(a.out_samplerate/1152)/8+.5))),n.ResvMax=s-i,n.ResvMax>_&&(n.ResvMax=_),(n.ResvMax<0||a.disable_reservoir)&&(n.ResvMax=0);var o=t.bits*n.mode_gr+Math.min(n.ResvSize,n.ResvMax);return o>s&&(o=s),eX(0==n.ResvMax%8),eX(n.ResvMax>=0),r.resvDrain_pre=0,null!=n.pinfo&&(n.pinfo.mean_bits=t.bits/2,n.pinfo.resvsize=n.ResvSize),o},this.ResvMaxBits=function(e,a,t,s){var n,r=e.internal_flags,i=r.ResvSize,_=r.ResvMax;0!=s&&(i+=a),(1&r.substep_shaping)!=0&&(_*=.9),t.bits=a,10*i>9*_?(n=i-9*_/10,t.bits+=n,r.substep_shaping|=128):(n=0,r.substep_shaping&=127,e.disable_reservoir||0!=(1&r.substep_shaping)||(t.bits-=.1*a));var o=i<6*r.ResvMax/10?i:6*r.ResvMax/10;return(o-=n)<0&&(o=0),o},this.ResvAdjust=function(e,a){e.ResvSize-=a.part2_3_length+a.part2_length},this.ResvFrameEnd=function(e,a){var t,s=e.l3_side;e.ResvSize+=a*e.mode_gr;var n=0;s.resvDrain_post=0,s.resvDrain_pre=0,0!=(t=e.ResvSize%8)&&(n+=t),(t=e.ResvSize-n-e.ResvMax)>0&&(eX(0==t%8),eX(t>=0),n+=t);var r=Math.min(8*s.main_data_begin,n)/8;s.resvDrain_pre+=8*r,n-=8*r,e.ResvSize-=8*r,s.main_data_begin-=r,s.resvDrain_post+=n,e.ResvSize-=n}},MPEGMode=P,BitStream=eM,WavHeader.RIFF=fourccToInt("RIFF"),WavHeader.WAVE=fourccToInt("WAVE"),WavHeader.fmt_=fourccToInt("fmt "),WavHeader.data=fourccToInt("data"),WavHeader.readHeader=function(e){var a=new WavHeader,t=e.getUint32(0,!1);if(WavHeader.RIFF==t&&(e.getUint32(4,!0),WavHeader.WAVE==e.getUint32(8,!1)&&WavHeader.fmt_==e.getUint32(12,!1))){var s=e.getUint32(16,!0),n=20;switch(s){case 16:case 18:a.channels=e.getUint16(n+2,!0),a.sampleRate=e.getUint32(n+4,!0);break;default:throw"extended fmt chunk not implemented"}n+=s;for(var r=WavHeader.data,i=0;r!=t&&(t=e.getUint32(n,!1),i=e.getUint32(n+4,!0),r!=t);)n+=i+8;return a.dataLen=i,a.dataOffset=n+8,a}};var eZ=Mp3Encoder,classCallCheck=function(e,a){if(!(e instanceof a))throw TypeError("Cannot call a class as a function")},eU=function(){function defineProperties(e,a){for(var t=0;t=0;t+=this.maxSamples){var s=this.samplesMono.subarray(t,t+this.maxSamples),n=this.mp3Encoder.encodeBuffer(s);this.appendToBuffer(n),a-=this.maxSamples}}},{key:"finish",value:function(){return this.appendToBuffer(this.mp3Encoder.flush()),this.dataBuffer}}]),Encoder}();return function(){function MicRecorder(e){classCallCheck(this,MicRecorder),this.config={bitRate:128,startRecordingAt:300,deviceId:null},this.activeStream=null,this.context=null,this.microphone=null,this.processor=null,this.startTime=0,Object.assign(this.config,e)}return eU(MicRecorder,[{key:"addMicrophoneListener",value:function(e){var a=this;this.activeStream=e,this.timerToStart=setTimeout(function(){delete a.timerToStart},this.config.startRecordingAt),this.microphone=this.context.createMediaStreamSource(e),this.processor=this.context.createScriptProcessor(0,1,1),this.processor.onaudioprocess=function(e){a.timerToStart||a.lameEncoder.encode(e.inputBuffer.getChannelData(0))},this.microphone.connect(this.processor),this.processor.connect(this.context.destination)}},{key:"stop",value:function(){return this.processor&&this.microphone&&(this.microphone.disconnect(),this.processor.disconnect(),this.context&&"closed"!==this.context.state&&this.context.close(),this.processor.onaudioprocess=null,this.activeStream.getAudioTracks().forEach(function(e){return e.stop()})),this}},{key:"start",value:function(){var e=this,a=window.AudioContext||window.webkitAudioContext;this.context=new a,this.config.sampleRate=this.context.sampleRate,this.lameEncoder=new eW(this.config);var t=!this.config.deviceId||{deviceId:{exact:this.config.deviceId}};return new Promise(function(a,s){navigator.mediaDevices.getUserMedia({audio:t}).then(function(t){e.addMicrophoneListener(t),a(t)}).catch(function(e){s(e)})})}},{key:"getMp3",value:function(){var e=this,a=this.lameEncoder.finish();return new Promise(function(t,s){0===a.length?s(Error("No buffer to send")):(t([a,new Blob(a,{type:"audio/mp3"})]),e.lameEncoder.clearBuffer())})}}]),MicRecorder}()}()}}]);