1var hexcase=0;var b64pad="";function hex_sha1(s){return rstr2hex(rstr_sha1(str2rstr_utf8(s)));} 2function b64_sha1(s){return rstr2b64(rstr_sha1(str2rstr_utf8(s)));} 3function any_sha1(s,e){return rstr2any(rstr_sha1(str2rstr_utf8(s)),e);} 4function hex_hmac_sha1(k,d) 5{return rstr2hex(rstr_hmac_sha1(str2rstr_utf8(k),str2rstr_utf8(d)));} 6function b64_hmac_sha1(k,d) 7{return rstr2b64(rstr_hmac_sha1(str2rstr_utf8(k),str2rstr_utf8(d)));} 8function any_hmac_sha1(k,d,e) 9{return rstr2any(rstr_hmac_sha1(str2rstr_utf8(k),str2rstr_utf8(d)),e);} 10function sha1_vm_test() 11{return hex_sha1("abc").toLowerCase()=="a9993e364706816aba3e25717850c26c9cd0d89d";} 12function rstr_sha1(s) 13{return binb2rstr(binb_sha1(rstr2binb(s),s.length*8));} 14function rstr_hmac_sha1(key,data) 15{var bkey=rstr2binb(key);if(bkey.length>16)bkey=binb_sha1(bkey,key.length*8);var ipad=Array(16),opad=Array(16);for(var i=0;i<16;i++) 16{ipad[i]=bkey[i]^0x36363636;opad[i]=bkey[i]^0x5C5C5C5C;} 17var hash=binb_sha1(ipad.concat(rstr2binb(data)),512+data.length*8);return binb2rstr(binb_sha1(opad.concat(hash),512+160));} 18function rstr2hex(input) 19{try{hexcase}catch(e){hexcase=0;} 20var hex_tab=hexcase?"0123456789ABCDEF":"0123456789abcdef";var output="";var x;for(var i=0;i<input.length;i++) 21{x=input.charCodeAt(i);output+=hex_tab.charAt((x>>>4)&0x0F) 22+hex_tab.charAt(x&0x0F);} 23return output;} 24function rstr2b64(input) 25{try{b64pad}catch(e){b64pad='';} 26var tab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var output="";var len=input.length;for(var i=0;i<len;i+=3) 27{var triplet=(input.charCodeAt(i)<<16)|(i+1<len?input.charCodeAt(i+1)<<8:0)|(i+2<len?input.charCodeAt(i+2):0);for(var j=0;j<4;j++) 28{if(i*8+j*6>input.length*8)output+=b64pad;else output+=tab.charAt((triplet>>>6*(3-j))&0x3F);}} 29return output;} 30function rstr2any(input,encoding) 31{var divisor=encoding.length;var remainders=Array();var i,q,x,quotient;var dividend=Array(Math.ceil(input.length/2));for(i=0;i<dividend.length;i++) 32{dividend[i]=(input.charCodeAt(i*2)<<8)|input.charCodeAt(i*2+1);} 33while(dividend.length>0) 34{quotient=Array();x=0;for(i=0;i<dividend.length;i++) 35{x=(x<<16)+dividend[i];q=Math.floor(x/divisor);x-=q*divisor;if(quotient.length>0||q>0) 36quotient[quotient.length]=q;} 37remainders[remainders.length]=x;dividend=quotient;} 38var output="";for(i=remainders.length-1;i>=0;i--) 39output+=encoding.charAt(remainders[i]);var full_length=Math.ceil(input.length*8/(Math.log(encoding.length)/Math.log(2))) 40for(i=output.length;i<full_length;i++) 41output=encoding[0]+output;return output;} 42function str2rstr_utf8(input) 43{var output="";var i=-1;var x,y;while(++i<input.length) 44{x=input.charCodeAt(i);y=i+1<input.length?input.charCodeAt(i+1):0;if(0xD800<=x&&x<=0xDBFF&&0xDC00<=y&&y<=0xDFFF) 45{x=0x10000+((x&0x03FF)<<10)+(y&0x03FF);i++;} 46if(x<=0x7F) 47output+=String.fromCharCode(x);else if(x<=0x7FF) 48output+=String.fromCharCode(0xC0|((x>>>6)&0x1F),0x80|(x&0x3F));else if(x<=0xFFFF) 49output+=String.fromCharCode(0xE0|((x>>>12)&0x0F),0x80|((x>>>6)&0x3F),0x80|(x&0x3F));else if(x<=0x1FFFFF) 50output+=String.fromCharCode(0xF0|((x>>>18)&0x07),0x80|((x>>>12)&0x3F),0x80|((x>>>6)&0x3F),0x80|(x&0x3F));} 51return output;} 52function str2rstr_utf16le(input) 53{var output="";for(var i=0;i<input.length;i++) 54output+=String.fromCharCode(input.charCodeAt(i)&0xFF,(input.charCodeAt(i)>>>8)&0xFF);return output;} 55function str2rstr_utf16be(input) 56{var output="";for(var i=0;i<input.length;i++) 57output+=String.fromCharCode((input.charCodeAt(i)>>>8)&0xFF,input.charCodeAt(i)&0xFF);return output;} 58function rstr2binb(input) 59{var output=Array(input.length>>2);for(var i=0;i<output.length;i++) 60output[i]=0;for(var i=0;i<input.length*8;i+=8) 61output[i>>5]|=(input.charCodeAt(i/8)&0xFF)<<(24-i%32);return output;} 62function binb2rstr(input) 63{var output="";for(var i=0;i<input.length*32;i+=8) 64output+=String.fromCharCode((input[i>>5]>>>(24-i%32))&0xFF);return output;} 65function binb_sha1(x,len) 66{x[len>>5]|=0x80<<(24-len%32);x[((len+64>>9)<<4)+15]=len;var w=Array(80);var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;var e=-1009589776;for(var i=0;i<x.length;i+=16) 67{var olda=a;var oldb=b;var oldc=c;var oldd=d;var olde=e;for(var j=0;j<80;j++) 68{if(j<16)w[j]=x[i+j];else w[j]=bit_rol(w[j-3]^w[j-8]^w[j-14]^w[j-16],1);var t=safe_add(safe_add(bit_rol(a,5),sha1_ft(j,b,c,d)),safe_add(safe_add(e,w[j]),sha1_kt(j)));e=d;d=c;c=bit_rol(b,30);b=a;a=t;} 69a=safe_add(a,olda);b=safe_add(b,oldb);c=safe_add(c,oldc);d=safe_add(d,oldd);e=safe_add(e,olde);} 70return Array(a,b,c,d,e);} 71function sha1_ft(t,b,c,d) 72{if(t<20)return(b&c)|((~b)&d);if(t<40)return b^c^d;if(t<60)return(b&c)|(b&d)|(c&d);return b^c^d;} 73function sha1_kt(t) 74{return(t<20)?1518500249:(t<40)?1859775393:(t<60)?-1894007588:-899497514;} 75function safe_add(x,y) 76{var lsw=(x&0xFFFF)+(y&0xFFFF);var msw=(x>>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&0xFFFF);} 77function bit_rol(num,cnt) 78{return(num<<cnt)|(num>>>(32-cnt));}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.