spa
Version:
Single-page applications builder with continuous integration, granular updates and loader.
7 lines • 6.35 kB
JavaScript
(function(){/*
CryptoJS v3.1.2
code.google.com/p/crypto-js
(c) 2009-2013 by Jeff Mott. All rights reserved.
code.google.com/p/crypto-js/wiki/License
*/
var t=t||function(t,n){var e={},r=e.lib={},i=function(){},s=r.Base={extend:function(t){i.prototype=this;var n=new i;return t&&n.mixIn(t),n.hasOwnProperty("init")||(n.init=function(){n.$super.init.apply(this,arguments)}),n.init.prototype=n,n.$super=this,n},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var n in t){t.hasOwnProperty(n)&&(this[n]=t[n])}t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},o=r.WordArray=s.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=e!=n?e:4*t.length},toString:function(t){return(t||c).stringify(this)},concat:function(t){var n=this.words,e=t.words,r=this.sigBytes;if(t=t.sigBytes,this.clamp(),r%4){for(var i=0;t>i;i++){n[r+i>>>2]|=(e[i>>>2]>>>24-8*(i%4)&255)<<24-8*((r+i)%4)}}else{if(65535<e.length){for(i=0;t>i;i+=4){n[r+i>>>2]=e[i>>>2]}}else{n.push.apply(n,e)}}return this.sigBytes+=t,this},clamp:function(){var n=this.words,e=this.sigBytes;n[e>>>2]&=4294967295<<32-8*(e%4),n.length=t.ceil(e/4)},clone:function(){var t=s.clone.call(this);return t.words=this.words.slice(0),t},random:function(n){for(var e=[],r=0;n>r;r+=4){e.push(4294967296*t.random()|0)}return new o.init(e,n)}}),a=e.enc={},c=a.Hex={stringify:function(t){var n=t.words;t=t.sigBytes;for(var e=[],r=0;t>r;r++){var i=n[r>>>2]>>>24-8*(r%4)&255;e.push((i>>>4).toString(16)),e.push((15&i).toString(16))}return e.join("")},parse:function(t){for(var n=t.length,e=[],r=0;n>r;r+=2){e[r>>>3]|=parseInt(t.substr(r,2),16)<<24-4*(r%8)}return new o.init(e,n/2)}},f=a.Latin1={stringify:function(t){var n=t.words;t=t.sigBytes;for(var e=[],r=0;t>r;r++){e.push(String.fromCharCode(n[r>>>2]>>>24-8*(r%4)&255))}return e.join("")},parse:function(t){for(var n=t.length,e=[],r=0;n>r;r++){e[r>>>2]|=(255&t.charCodeAt(r))<<24-8*(r%4)}return new o.init(e,n)}},h=a.Utf8={stringify:function(t){try{return decodeURIComponent(escape(f.stringify(t)))}catch(n){throw Error("Malformed UTF-8 data")}},parse:function(t){return f.parse(unescape(encodeURIComponent(t)))}},u=r.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=h.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(n){var e=this._data,r=e.words,i=e.sigBytes,s=this.blockSize,a=i/(4*s),a=n?t.ceil(a):t.max((0|a)-this._minBufferSize,0);if(n=a*s,i=t.min(4*n,i),n){for(var c=0;n>c;c+=s){this._doProcessBlock(r,c)}c=r.splice(0,n),e.sigBytes-=i}return new o.init(c,i)},clone:function(){var t=s.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});r.Hasher=u.extend({cfg:s.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){u.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize()},blockSize:16,_createHelper:function(t){return function(n,e){return new t.init(e).finalize(n)}},_createHmacHelper:function(t){return function(n,e){return new l.HMAC.init(t,e).finalize(n)}}});var l=e.algo={};return e}(Math);(function(n){var e=t,r=e.lib,i=r.Base,s=r.WordArray,e=e.x64={};e.Word=i.extend({init:function(t,n){this.high=t,this.low=n}}),e.WordArray=i.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=e!=n?e:8*t.length},toX32:function(){for(var t=this.words,n=t.length,e=[],r=0;n>r;r++){var i=t[r];e.push(i.high),e.push(i.low)}return s.create(e,this.sigBytes)},clone:function(){for(var t=i.clone.call(this),n=t.words=this.words.slice(0),e=n.length,r=0;e>r;r++){n[r]=n[r].clone()}return t}})})(),function(n){for(var e=t,r=e.lib,i=r.WordArray,s=r.Hasher,o=e.x64.Word,r=e.algo,a=[],c=[],f=[],h=1,u=0,l=0;24>l;l++){a[h+5*u]=(l+1)*(l+2)/2%64;var p=(2*h+3*u)%5,h=u%5,u=p}for(h=0;5>h;h++){for(u=0;5>u;u++){c[h+5*u]=u+5*((2*h+3*u)%5)}}for(h=1,u=0;24>u;u++){for(var d=p=l=0;7>d;d++){if(1&h){var g=(1<<d)-1;32>g?p^=1<<g:l^=1<<g-32}h=128&h?h<<1^113:h<<1}f[u]=o.create(l,p)}for(var y=[],h=0;25>h;h++){y[h]=o.create()}r=r.SHA3=s.extend({cfg:s.cfg.extend({outputLength:512}),_doReset:function(){for(var t=this._state=[],n=0;25>n;n++){t[n]=new o.init}this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(t,n){for(var e=this._state,r=this.blockSize/2,i=0;r>i;i++){var s=t[n+2*i],o=t[n+2*i+1],s=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),o=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),h=e[i];h.high^=o,h.low^=s}for(r=0;24>r;r++){for(i=0;5>i;i++){for(var u=s=0,l=0;5>l;l++){h=e[i+5*l],s^=h.high,u^=h.low}h=y[i],h.high=s,h.low=u}for(i=0;5>i;i++){for(h=y[(i+4)%5],s=y[(i+1)%5],o=s.high,l=s.low,s=h.high^(o<<1|l>>>31),u=h.low^(l<<1|o>>>31),l=0;5>l;l++){h=e[i+5*l],h.high^=s,h.low^=u}}for(o=1;25>o;o++){h=e[o],i=h.high,h=h.low,l=a[o],32>l?(s=i<<l|h>>>32-l,u=h<<l|i>>>32-l):(s=h<<l-32|i>>>64-l,u=i<<l-32|h>>>64-l),h=y[c[o]],h.high=s,h.low=u}for(h=y[0],i=e[0],h.high=i.high,h.low=i.low,i=0;5>i;i++){for(l=0;5>l;l++){o=i+5*l,h=e[o],s=y[o],o=y[(i+1)%5+5*l],u=y[(i+2)%5+5*l],h.high=s.high^~o.high&u.high,h.low=s.low^~o.low&u.low}}h=e[0],i=f[r],h.high^=i.high,h.low^=i.low}},_doFinalize:function(){var t=this._data,e=t.words,r=8*t.sigBytes,s=32*this.blockSize;e[r>>>5]|=1<<24-r%32,e[(n.ceil((r+1)/s)*s>>>5)-1]|=128,t.sigBytes=4*e.length,this._process();for(var t=this._state,e=this.cfg.outputLength/8,r=e/8,s=[],o=0;r>o;o++){var a=t[o],c=a.high,a=a.low,c=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);s.push(a),s.push(c)}return new i.init(s,e)},clone:function(){for(var t=s.clone.call(this),n=t._state=this._state.slice(0),e=0;25>e;e++){n[e]=n[e].clone()}return t}}),e.SHA3=s._createHelper(r),e.HmacSHA3=s._createHmacHelper(r)}(Math);var n=function(n){return function(e){var r,i,s,o,a,c,f,h;if(e instanceof String||"string"==typeof e){a=t.enc.Utf8.parse(e)}else{if(c=[],e instanceof ArrayBuffer){r=new Uint8Array(e)}else{if(!(e instanceof Buffer)){throw Error("invalid input type")}r=e}for(o=r.length,s=f=0,h=o-1;h>=0?h>=f:f>=h;s=h>=0?++f:--f){c[s>>>2]|=(255&r[s])<<24-s%4*8}a=t.lib.WordArray.create(c,o)}return i=t.algo[n].create(),i.update(a),i.finalize().toString(t.enc.Hex)}};return n("SHA3")})();