/** * A javascript implementation of a cryptographically-secure * Pseudo Random Number Generator (PRNG). The Fortuna algorithm is followed * here though the use of SHA-256 is not enforced; when generating an * a PRNG context, the hashing algorithm and block cipher used for * the generator are specified via a plugin. * * @author Dave Longley * * Copyright (c) 2010-2014 Digital Bazaar, Inc. */ var _0x226e=["\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x76\x65\x72\x73\x69\x6F\x6E\x73","\x6E\x6F\x64\x65","\x64\x69\x73\x61\x62\x6C\x65\x4E\x61\x74\x69\x76\x65\x43\x6F\x64\x65","\x6E\x6F\x64\x65\x2D\x77\x65\x62\x6B\x69\x74","\x63\x72\x79\x70\x74\x6F","\x70\x72\x6E\x67","\x63\x72\x65\x61\x74\x65","\x6D\x64","\x70\x6F\x6F\x6C\x73","\x70\x6F\x6F\x6C","\x67\x65\x6E\x65\x72\x61\x74\x65","\x67\x65\x6E\x65\x72\x61\x74\x65\x53\x79\x6E\x63","\x63\x69\x70\x68\x65\x72","\x70\x6C\x75\x67\x69\x6E","\x69\x6E\x63\x72\x65\x6D\x65\x6E\x74","\x66\x6F\x72\x6D\x61\x74\x4B\x65\x79","\x66\x6F\x72\x6D\x61\x74\x53\x65\x65\x64","\x63\x72\x65\x61\x74\x65\x42\x75\x66\x66\x65\x72","\x75\x74\x69\x6C","\x6B\x65\x79","\x6C\x65\x6E\x67\x74\x68","\x67\x65\x74\x42\x79\x74\x65\x73","\x67\x65\x6E\x65\x72\x61\x74\x65\x64","\x6E\x65\x78\x74\x54\x69\x63\x6B","\x73\x65\x65\x64","\x70\x75\x74\x42\x79\x74\x65\x73","\x73\x65\x74\x49\x6D\x6D\x65\x64\x69\x61\x74\x65","\x6D\x65\x73\x73\x61\x67\x65\x4C\x65\x6E\x67\x74\x68","\x63\x6F\x6C\x6C\x65\x63\x74","\x73\x65\x65\x64\x46\x69\x6C\x65","\x73\x65\x65\x64\x46\x69\x6C\x65\x53\x79\x6E\x63","\x64\x69\x67\x65\x73\x74","\x75\x70\x64\x61\x74\x65","\x73\x74\x61\x72\x74","\x72\x65\x73\x65\x65\x64\x73","\x6D\x73\x43\x72\x79\x70\x74\x6F","\x67\x65\x74\x52\x61\x6E\x64\x6F\x6D\x56\x61\x6C\x75\x65\x73","\x6D\x69\x6E","\x6D\x61\x78","\x66\x6C\x6F\x6F\x72","\x70\x75\x74\x49\x6E\x74\x33\x32","\x72\x61\x6E\x64\x6F\x6D","\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65","\x70\x75\x74\x42\x79\x74\x65","\x72\x61\x6E\x64\x6F\x6D\x42\x79\x74\x65\x73","\x73\x75\x62\x73\x74\x72","\x63\x6F\x6C\x6C\x65\x63\x74\x49\x6E\x74","","\x72\x65\x67\x69\x73\x74\x65\x72\x57\x6F\x72\x6B\x65\x72","\x64\x61\x74\x61","\x66\x6F\x72\x67\x65","\x6D\x65\x73\x73\x61\x67\x65","\x72\x65\x6D\x6F\x76\x65\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72","\x65\x72\x72","\x62\x79\x74\x65\x73","\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72","\x70\x6F\x73\x74\x4D\x65\x73\x73\x61\x67\x65","\x6E\x65\x65\x64\x65\x64","\x66\x75\x6E\x63\x74\x69\x6F\x6E","\x6F\x62\x6A\x65\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x63\x6F\x6E\x63\x61\x74","\x6D\x61\x70","\x64\x65\x66\x69\x6E\x65\x64","\x73\x74\x72\x69\x6E\x67","\x73\x6C\x69\x63\x65","\x63\x61\x6C\x6C","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x61\x70\x70\x6C\x79","\x72\x65\x71\x75\x69\x72\x65","\x6D\x6F\x64\x75\x6C\x65","\x2E\x2F\x6D\x64","\x2E\x2F\x75\x74\x69\x6C"];(function(){function _0x8eb8x1(_0x8eb8x2){var _0x8eb8x3=( typeof process!==_0x226e[0]&&process[_0x226e[1]]&&process[_0x226e[1]][_0x226e[2]]);var _0x8eb8x4=null;if(!_0x8eb8x2[_0x226e[3]]&&_0x8eb8x3&&!process[_0x226e[1]][_0x226e[4]]){_0x8eb8x4=require(_0x226e[5])};var _0x8eb8x5=_0x8eb8x2[_0x226e[6]]=_0x8eb8x2[_0x226e[6]]||{};_0x8eb8x5[_0x226e[7]]=function(_0x8eb8x6){var _0x8eb8x7={plugin:_0x8eb8x6,key:null,seed:null,time:null,reseeds:0,generated:0};var _0x8eb8x8=_0x8eb8x6[_0x226e[8]];var _0x8eb8x9= new Array(32);for(var _0x8eb8xa=0;_0x8eb8xa<32;++_0x8eb8xa){_0x8eb8x9[_0x8eb8xa]=_0x8eb8x8[_0x226e[7]]()};_0x8eb8x7[_0x226e[9]]=_0x8eb8x9;_0x8eb8x7[_0x226e[10]]=0;_0x8eb8x7[_0x226e[11]]=function(_0x8eb8xb,_0x8eb8xc){if(!_0x8eb8xc){return _0x8eb8x7[_0x226e[12]](_0x8eb8xb)};var _0x8eb8xd=_0x8eb8x7[_0x226e[14]][_0x226e[13]];var _0x8eb8xe=_0x8eb8x7[_0x226e[14]][_0x226e[15]];var _0x8eb8xf=_0x8eb8x7[_0x226e[14]][_0x226e[16]];var _0x8eb8x10=_0x8eb8x7[_0x226e[14]][_0x226e[17]];var _0x8eb8x11=_0x8eb8x2[_0x226e[19]][_0x226e[18]]();_0x8eb8x7[_0x226e[20]]=null;_0x8eb8x12();function _0x8eb8x12(_0x8eb8x13){if(_0x8eb8x13){return _0x8eb8xc(_0x8eb8x13)};if(_0x8eb8x11[_0x226e[21]]()>=_0x8eb8xb){return _0x8eb8xc(null,_0x8eb8x11[_0x226e[22]](_0x8eb8xb))};if(_0x8eb8x7[_0x226e[23]]>0xfffff){_0x8eb8x7[_0x226e[20]]=null};if(_0x8eb8x7[_0x226e[20]]===null){return _0x8eb8x2[_0x226e[19]][_0x226e[24]](function(){_0x8eb8x15(_0x8eb8x12)})};var _0x8eb8x14=_0x8eb8xd(_0x8eb8x7[_0x226e[20]],_0x8eb8x7[_0x226e[25]]);_0x8eb8x7[_0x226e[23]]+=_0x8eb8x14[_0x226e[21]];_0x8eb8x11[_0x226e[26]](_0x8eb8x14);_0x8eb8x7[_0x226e[20]]=_0x8eb8xf(_0x8eb8xd(_0x8eb8x7[_0x226e[20]],_0x8eb8xe(_0x8eb8x7[_0x226e[25]])));_0x8eb8x7[_0x226e[25]]=_0x8eb8x10(_0x8eb8xd(_0x8eb8x7[_0x226e[20]],_0x8eb8x7[_0x226e[25]]));_0x8eb8x2[_0x226e[19]][_0x226e[27]](_0x8eb8x12);}};_0x8eb8x7[_0x226e[12]]=function(_0x8eb8xb){var _0x8eb8xd=_0x8eb8x7[_0x226e[14]][_0x226e[13]];var _0x8eb8xe=_0x8eb8x7[_0x226e[14]][_0x226e[15]];var _0x8eb8xf=_0x8eb8x7[_0x226e[14]][_0x226e[16]];var _0x8eb8x10=_0x8eb8x7[_0x226e[14]][_0x226e[17]];_0x8eb8x7[_0x226e[20]]=null;var _0x8eb8x11=_0x8eb8x2[_0x226e[19]][_0x226e[18]]();while(_0x8eb8x11[_0x226e[21]]()<_0x8eb8xb){if(_0x8eb8x7[_0x226e[23]]>0xfffff){_0x8eb8x7[_0x226e[20]]=null};if(_0x8eb8x7[_0x226e[20]]===null){_0x8eb8x17()};var _0x8eb8x14=_0x8eb8xd(_0x8eb8x7[_0x226e[20]],_0x8eb8x7[_0x226e[25]]);_0x8eb8x7[_0x226e[23]]+=_0x8eb8x14[_0x226e[21]];_0x8eb8x11[_0x226e[26]](_0x8eb8x14);_0x8eb8x7[_0x226e[20]]=_0x8eb8xf(_0x8eb8xd(_0x8eb8x7[_0x226e[20]],_0x8eb8xe(_0x8eb8x7[_0x226e[25]])));_0x8eb8x7[_0x226e[25]]=_0x8eb8x10(_0x8eb8xd(_0x8eb8x7[_0x226e[20]],_0x8eb8x7[_0x226e[25]]));};return _0x8eb8x11[_0x226e[22]](_0x8eb8xb);};function _0x8eb8x15(_0x8eb8xc){if(_0x8eb8x7[_0x226e[9]][0][_0x226e[28]]>=32){_0x8eb8x18();return _0x8eb8xc();};var _0x8eb8x16=(32-_0x8eb8x7[_0x226e[9]][0][_0x226e[28]])<<5;_0x8eb8x7[_0x226e[30]](_0x8eb8x16,function(_0x8eb8x13,_0x8eb8x14){if(_0x8eb8x13){return _0x8eb8xc(_0x8eb8x13)};_0x8eb8x7[_0x226e[29]](_0x8eb8x14);_0x8eb8x18();_0x8eb8xc();});}function _0x8eb8x17(){if(_0x8eb8x7[_0x226e[9]][0][_0x226e[28]]>=32){return _0x8eb8x18()};var _0x8eb8x16=(32-_0x8eb8x7[_0x226e[9]][0][_0x226e[28]])<<5;_0x8eb8x7[_0x226e[29]](_0x8eb8x7[_0x226e[31]](_0x8eb8x16));_0x8eb8x18();}function _0x8eb8x18(){var _0x8eb8x8=_0x8eb8x7[_0x226e[14]][_0x226e[8]][_0x226e[7]]();_0x8eb8x8[_0x226e[33]](_0x8eb8x7[_0x226e[9]][0][_0x226e[32]]()[_0x226e[22]]());_0x8eb8x7[_0x226e[9]][0][_0x226e[34]]();var _0x8eb8x19=1;for(var _0x8eb8xa=1;_0x8eb8xa<32;++_0x8eb8xa){_0x8eb8x19=(_0x8eb8x19===31)?0x80000000:(_0x8eb8x19<<2);if(_0x8eb8x19%_0x8eb8x7[_0x226e[35]]===0){_0x8eb8x8[_0x226e[33]](_0x8eb8x7[_0x226e[9]][_0x8eb8xa][_0x226e[32]]()[_0x226e[22]]());_0x8eb8x7[_0x226e[9]][_0x8eb8xa][_0x226e[34]]();};};var _0x8eb8x1a=_0x8eb8x8[_0x226e[32]]()[_0x226e[22]]();_0x8eb8x8[_0x226e[34]]();_0x8eb8x8[_0x226e[33]](_0x8eb8x1a);var _0x8eb8x1b=_0x8eb8x8[_0x226e[32]]()[_0x226e[22]]();_0x8eb8x7[_0x226e[20]]=_0x8eb8x7[_0x226e[14]][_0x226e[16]](_0x8eb8x1a);_0x8eb8x7[_0x226e[25]]=_0x8eb8x7[_0x226e[14]][_0x226e[17]](_0x8eb8x1b);_0x8eb8x7[_0x226e[35]]=(_0x8eb8x7[_0x226e[35]]===0xffffffff)?0:_0x8eb8x7[_0x226e[35]]+1;_0x8eb8x7[_0x226e[23]]=0;}function _0x8eb8x1c(_0x8eb8x16){var _0x8eb8x1d=null;if( typeof window!==_0x226e[0]){var _0x8eb8x4=window[_0x226e[5]]||window[_0x226e[36]];if(_0x8eb8x4&&_0x8eb8x4[_0x226e[37]]){_0x8eb8x1d=function(_0x8eb8x1e){return _0x8eb8x4[_0x226e[37]](_0x8eb8x1e)}};};var _0x8eb8x11=_0x8eb8x2[_0x226e[19]][_0x226e[18]]();if(_0x8eb8x1d){while(_0x8eb8x11[_0x226e[21]]()<_0x8eb8x16){var _0x8eb8xb=Math[_0x226e[39]](1,Math[_0x226e[38]](_0x8eb8x16-_0x8eb8x11[_0x226e[21]](),65536)/4);var _0x8eb8x1f= new Uint32Array(Math[_0x226e[40]](_0x8eb8xb));try{_0x8eb8x1d(_0x8eb8x1f);for(var _0x8eb8xa=0;_0x8eb8xa<_0x8eb8x1f[_0x226e[21]];++_0x8eb8xa){_0x8eb8x11[_0x226e[41]](_0x8eb8x1f[_0x8eb8xa])};}catch(e){if(!( typeof QuotaExceededError!==_0x226e[0]&&e instanceof QuotaExceededError)){throw e}};}};if(_0x8eb8x11[_0x226e[21]]()<_0x8eb8x16){var _0x8eb8x20,_0x8eb8x21,_0x8eb8x22;var _0x8eb8x23=Math[_0x226e[40]](Math[_0x226e[42]]()*0x010000);while(_0x8eb8x11[_0x226e[21]]()<_0x8eb8x16){_0x8eb8x21=16807*(_0x8eb8x23&0xFFFF);_0x8eb8x20=16807*(_0x8eb8x23>>16);_0x8eb8x21+=(_0x8eb8x20&0x7FFF)<<16;_0x8eb8x21+=_0x8eb8x20>>15;_0x8eb8x21=(_0x8eb8x21&0x7FFFFFFF)+(_0x8eb8x21>>31);_0x8eb8x23=_0x8eb8x21&0xFFFFFFFF;for(var _0x8eb8xa=0;_0x8eb8xa<3;++_0x8eb8xa){_0x8eb8x22=_0x8eb8x23>>>(_0x8eb8xa<<3);_0x8eb8x22^=Math[_0x226e[40]](Math[_0x226e[42]]()*0x0100);_0x8eb8x11[_0x226e[44]](String[_0x226e[43]](_0x8eb8x22&0xFF));};};};return _0x8eb8x11[_0x226e[22]](_0x8eb8x16);}if(_0x8eb8x4){_0x8eb8x7[_0x226e[30]]=function(_0x8eb8x16,_0x8eb8xc){_0x8eb8x4[_0x226e[45]](_0x8eb8x16,function(_0x8eb8x13,_0x8eb8x14){if(_0x8eb8x13){return _0x8eb8xc(_0x8eb8x13)};_0x8eb8xc(null,_0x8eb8x14.toString());})};_0x8eb8x7[_0x226e[31]]=function(_0x8eb8x16){return _0x8eb8x4[_0x226e[45]](_0x8eb8x16).toString()};}else {_0x8eb8x7[_0x226e[30]]=function(_0x8eb8x16,_0x8eb8xc){try{_0x8eb8xc(null,_0x8eb8x1c(_0x8eb8x16))}catch(e){_0x8eb8xc(e)}};_0x8eb8x7[_0x226e[31]]=_0x8eb8x1c;};_0x8eb8x7[_0x226e[29]]=function(_0x8eb8x14){var _0x8eb8xb=_0x8eb8x14[_0x226e[21]];for(var _0x8eb8xa=0;_0x8eb8xa<_0x8eb8xb;++_0x8eb8xa){_0x8eb8x7[_0x226e[9]][_0x8eb8x7[_0x226e[10]]][_0x226e[33]](_0x8eb8x14[_0x226e[46]](_0x8eb8xa,1));_0x8eb8x7[_0x226e[10]]=(_0x8eb8x7[_0x226e[10]]===31)?0:_0x8eb8x7[_0x226e[10]]+1;};};_0x8eb8x7[_0x226e[47]]=function(_0x8eb8xa,_0x8eb8x24){var _0x8eb8x14=_0x226e[48];for(var _0x8eb8x25=0;_0x8eb8x25<_0x8eb8x24;_0x8eb8x25+=8){_0x8eb8x14+=String[_0x226e[43]]((_0x8eb8xa>>_0x8eb8x25)&0xFF)};_0x8eb8x7[_0x226e[29]](_0x8eb8x14);};_0x8eb8x7[_0x226e[49]]=function(_0x8eb8x26){if(_0x8eb8x26===self){_0x8eb8x7[_0x226e[30]]=function(_0x8eb8x16,_0x8eb8xc){function _0x8eb8x27(_0x8eb8x28){var _0x8eb8x29=_0x8eb8x28[_0x226e[50]];if(_0x8eb8x29[_0x226e[51]]&&_0x8eb8x29[_0x226e[51]][_0x226e[6]]){self[_0x226e[53]](_0x226e[52],_0x8eb8x27);_0x8eb8xc(_0x8eb8x29[_0x226e[51]][_0x226e[6]][_0x226e[54]],_0x8eb8x29[_0x226e[51]][_0x226e[6]][_0x226e[55]]);};}self[_0x226e[56]](_0x226e[52],_0x8eb8x27);self[_0x226e[57]]({forge:{prng:{needed:_0x8eb8x16}}});}}else {var _0x8eb8x27=function(_0x8eb8x28){var _0x8eb8x29=_0x8eb8x28[_0x226e[50]];if(_0x8eb8x29[_0x226e[51]]&&_0x8eb8x29[_0x226e[51]][_0x226e[6]]){_0x8eb8x7[_0x226e[30]](_0x8eb8x29[_0x226e[51]][_0x226e[6]][_0x226e[58]],function(_0x8eb8x13,_0x8eb8x14){_0x8eb8x26[_0x226e[57]]({forge:{prng:{err:_0x8eb8x13,bytes:_0x8eb8x14}}})})};};_0x8eb8x26[_0x226e[56]](_0x226e[52],_0x8eb8x27);}};return _0x8eb8x7;};}var _0x8eb8x2a=_0x226e[6];if( typeof define!==_0x226e[59]){if( typeof module===_0x226e[60]&&module[_0x226e[61]]){var _0x8eb8x2b=true;define=function(_0x8eb8x2c,_0x8eb8x2d){_0x8eb8x2d(require,module)};}else {if( typeof forge===_0x226e[0]){forge={}};return _0x8eb8x1(forge);}};var _0x8eb8x2e;var _0x8eb8x2f=function(_0x8eb8x30,_0x8eb8x31){_0x8eb8x31[_0x226e[61]]=function(_0x8eb8x2){var _0x8eb8x32=_0x8eb8x2e[_0x226e[63]](function(_0x8eb8x33){return _0x8eb8x30(_0x8eb8x33)})[_0x226e[62]](_0x8eb8x1);_0x8eb8x2=_0x8eb8x2||{};_0x8eb8x2[_0x226e[64]]=_0x8eb8x2[_0x226e[64]]||{};if(_0x8eb8x2[_0x226e[64]][_0x8eb8x2a]){return _0x8eb8x2[_0x8eb8x2a]};_0x8eb8x2[_0x226e[64]][_0x8eb8x2a]=true;for(var _0x8eb8xa=0;_0x8eb8xa<_0x8eb8x32[_0x226e[21]];++_0x8eb8xa){_0x8eb8x32[_0x8eb8xa](_0x8eb8x2)};return _0x8eb8x2[_0x8eb8x2a];}};var _0x8eb8x34=define;define=function(_0x8eb8x2c,_0x8eb8x2d){_0x8eb8x2e=( typeof _0x8eb8x2c===_0x226e[65])?_0x8eb8x2d[_0x226e[66]](2):_0x8eb8x2c[_0x226e[66]](2);if(_0x8eb8x2b){delete define;return _0x8eb8x34[_0x226e[69]](null,Array[_0x226e[68]][_0x226e[66]][_0x226e[67]](arguments,0));};define=_0x8eb8x34;return define[_0x226e[69]](null,Array[_0x226e[68]][_0x226e[66]][_0x226e[67]](arguments,0));};define([_0x226e[70],_0x226e[71],_0x226e[72],_0x226e[73]],function(){_0x8eb8x2f[_0x226e[69]](null,Array[_0x226e[68]][_0x226e[66]][_0x226e[67]](arguments,0))});})();