<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/*sha512*/
!function(){"use strict";function h(h,t){t?(p[0]=p[1]=p[2]=p[3]=p[4]=p[5]=p[6]=p[7]=p[8]=p[9]=p[10]=p[11]=p[12]=p[13]=p[14]=p[15]=p[16]=p[17]=p[18]=p[19]=p[20]=p[21]=p[22]=p[23]=p[24]=p[25]=p[26]=p[27]=p[28]=p[29]=p[30]=p[31]=p[32]=0,this.blocks=p):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],384==h?(this.h0h=3418070365,this.h0l=3238371032,this.h1h=1654270250,this.h1l=914150663,this.h2h=2438529370,this.h2l=812702999,this.h3h=355462360,this.h3l=4144912697,this.h4h=1731405415,this.h4l=4290775857,this.h5h=2394180231,this.h5l=1750603025,this.h6h=3675008525,this.h6l=1694076839,this.h7h=1203062813,this.h7l=3204075428):256==h?(this.h0h=573645204,this.h0l=4230739756,this.h1h=2673172387,this.h1l=3360449730,this.h2h=596883563,this.h2l=1867755857,this.h3h=2520282905,this.h3l=1497426621,this.h4h=2519219938,this.h4l=2827943907,this.h5h=3193839141,this.h5l=1401305490,this.h6h=721525244,this.h6l=746961066,this.h7h=246885852,this.h7l=2177182882):224==h?(this.h0h=2352822216,this.h0l=424955298,this.h1h=1944164710,this.h1l=2312950998,this.h2h=502970286,this.h2l=855612546,this.h3h=1738396948,this.h3l=1479516111,this.h4h=258812777,this.h4l=2077511080,this.h5h=2011393907,this.h5l=79989058,this.h6h=1067287976,this.h6l=1780299464,this.h7h=286451373,this.h7l=2446758561):(this.h0h=1779033703,this.h0l=4089235720,this.h1h=3144134277,this.h1l=2227873595,this.h2h=1013904242,this.h2l=4271175723,this.h3h=2773480762,this.h3l=1595750129,this.h4h=1359893119,this.h4l=2917565137,this.h5h=2600822924,this.h5l=725511199,this.h6h=528734635,this.h6l=4215389547,this.h7h=1541459225,this.h7l=327033209),this.bits=h,this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1}function t(t,s,e){var r,n=typeof t;if("string"!==n){if("object"!==n)throw new Error(i);if(null===t)throw new Error(i);if(a&amp;&amp;t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!(Array.isArray(t)||a&amp;&amp;ArrayBuffer.isView(t)))throw new Error(i);r=!0}var o=t.length;if(!r){for(var l,f=[],c=(o=t.length,0),u=0;u&lt;o;++u)(l=t.charCodeAt(u))&lt;128?f[c++]=l:l&lt;2048?(f[c++]=192|l&gt;&gt;6,f[c++]=128|63&amp;l):l&lt;55296||l&gt;=57344?(f[c++]=224|l&gt;&gt;12,f[c++]=128|l&gt;&gt;6&amp;63,f[c++]=128|63&amp;l):(l=65536+((1023&amp;l)&lt;&lt;10|1023&amp;t.charCodeAt(++u)),f[c++]=240|l&gt;&gt;18,f[c++]=128|l&gt;&gt;12&amp;63,f[c++]=128|l&gt;&gt;6&amp;63,f[c++]=128|63&amp;l);t=f}t.length&gt;128&amp;&amp;(t=new h(s,!0).update(t).array());var y=[],p=[];for(u=0;u&lt;128;++u){var d=t[u]||0;y[u]=92^d,p[u]=54^d}h.call(this,s,e),this.update(p),this.oKeyPad=y,this.inner=!0,this.sharedMemory=e}var i="input is invalid type",s="object"==typeof window,e=s?window:{};e.JS_SHA512_NO_WINDOW&amp;&amp;(s=!1);var r=!s&amp;&amp;"object"==typeof self;!e.JS_SHA512_NO_NODE_JS&amp;&amp;"object"==typeof process&amp;&amp;process.versions&amp;&amp;process.versions.node?e=global:r&amp;&amp;(e=self);var n=!e.JS_SHA512_NO_COMMON_JS&amp;&amp;"object"==typeof module&amp;&amp;module.exports,o="function"==typeof define&amp;&amp;define.amd,a=!e.JS_SHA512_NO_ARRAY_BUFFER&amp;&amp;"undefined"!=typeof ArrayBuffer,l="0123456789abcdef".split(""),f=[-2147483648,8388608,32768,128],c=[24,16,8,0],u=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],y=["hex","array","digest","arrayBuffer"],p=[];!e.JS_SHA512_NO_NODE_JS&amp;&amp;Array.isArray||(Array.isArray=function(h){return"[object Array]"===Object.prototype.toString.call(h)}),!a||!e.JS_SHA512_NO_ARRAY_BUFFER_IS_VIEW&amp;&amp;ArrayBuffer.isView||(ArrayBuffer.isView=function(h){return"object"==typeof h&amp;&amp;h.buffer&amp;&amp;h.buffer.constructor===ArrayBuffer});var d=function(t,i){return function(s){return new h(i,!0).update(s)[t]()}},b=function(t){var i=d("hex",t);i.create=function(){return new h(t)},i.update=function(h){return i.create().update(h)};for(var s=0;s&lt;y.length;++s){var e=y[s];i[e]=d(e,t)}return i},w=function(h,i){return function(s,e){return new t(s,i,!0).update(e)[h]()}},A=function(h){var i=w("hex",h);i.create=function(i){return new t(i,h)},i.update=function(h,t){return i.create(h).update(t)};for(var s=0;s&lt;y.length;++s){var e=y[s];i[e]=w(e,h)}return i};h.prototype.update=function(h){if(this.finalized)throw new Error("finalize already called");var t,s=typeof h;if("string"!==s){if("object"!==s)throw new Error(i);if(null===h)throw new Error(i);if(a&amp;&amp;h.constructor===ArrayBuffer)h=new Uint8Array(h);else if(!(Array.isArray(h)||a&amp;&amp;ArrayBuffer.isView(h)))throw new Error(i);t=!0}for(var e,r,n=0,o=h.length,l=this.blocks;n&lt;o;){if(this.hashed&amp;&amp;(this.hashed=!1,l[0]=this.block,l[1]=l[2]=l[3]=l[4]=l[5]=l[6]=l[7]=l[8]=l[9]=l[10]=l[11]=l[12]=l[13]=l[14]=l[15]=l[16]=l[17]=l[18]=l[19]=l[20]=l[21]=l[22]=l[23]=l[24]=l[25]=l[26]=l[27]=l[28]=l[29]=l[30]=l[31]=l[32]=0),t)for(r=this.start;n&lt;o&amp;&amp;r&lt;128;++n)l[r&gt;&gt;2]|=h[n]&lt;&lt;c[3&amp;r++];else for(r=this.start;n&lt;o&amp;&amp;r&lt;128;++n)(e=h.charCodeAt(n))&lt;128?l[r&gt;&gt;2]|=e&lt;&lt;c[3&amp;r++]:e&lt;2048?(l[r&gt;&gt;2]|=(192|e&gt;&gt;6)&lt;&lt;c[3&amp;r++],l[r&gt;&gt;2]|=(128|63&amp;e)&lt;&lt;c[3&amp;r++]):e&lt;55296||e&gt;=57344?(l[r&gt;&gt;2]|=(224|e&gt;&gt;12)&lt;&lt;c[3&amp;r++],l[r&gt;&gt;2]|=(128|e&gt;&gt;6&amp;63)&lt;&lt;c[3&amp;r++],l[r&gt;&gt;2]|=(128|63&amp;e)&lt;&lt;c[3&amp;r++]):(e=65536+((1023&amp;e)&lt;&lt;10|1023&amp;h.charCodeAt(++n)),l[r&gt;&gt;2]|=(240|e&gt;&gt;18)&lt;&lt;c[3&amp;r++],l[r&gt;&gt;2]|=(128|e&gt;&gt;12&amp;63)&lt;&lt;c[3&amp;r++],l[r&gt;&gt;2]|=(128|e&gt;&gt;6&amp;63)&lt;&lt;c[3&amp;r++],l[r&gt;&gt;2]|=(128|63&amp;e)&lt;&lt;c[3&amp;r++]);this.lastByteIndex=r,this.bytes+=r-this.start,r&gt;=128?(this.block=l[32],this.start=r-128,this.hash(),this.hashed=!0):this.start=r}return this.bytes&gt;4294967295&amp;&amp;(this.hBytes+=this.bytes/4294967296&lt;&lt;0,this.bytes=this.bytes%4294967296),this},h.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var h=this.blocks,t=this.lastByteIndex;h[32]=this.block,h[t&gt;&gt;2]|=f[3&amp;t],this.block=h[32],t&gt;=112&amp;&amp;(this.hashed||this.hash(),h[0]=this.block,h[1]=h[2]=h[3]=h[4]=h[5]=h[6]=h[7]=h[8]=h[9]=h[10]=h[11]=h[12]=h[13]=h[14]=h[15]=h[16]=h[17]=h[18]=h[19]=h[20]=h[21]=h[22]=h[23]=h[24]=h[25]=h[26]=h[27]=h[28]=h[29]=h[30]=h[31]=h[32]=0),h[30]=this.hBytes&lt;&lt;3|this.bytes&gt;&gt;&gt;29,h[31]=this.bytes&lt;&lt;3,this.hash()}},h.prototype.hash=function(){var h,t,i,s,e,r,n,o,a,l,f,c,y,p,d,b,w,A,_,v,B,U,S,g,k,z=this.h0h,E=this.h0l,O=this.h1h,m=this.h1l,x=this.h2h,N=this.h2l,j=this.h3h,J=this.h3l,H=this.h4h,I=this.h4l,R=this.h5h,V=this.h5l,C=this.h6h,K=this.h6l,P=this.h7h,D=this.h7l,F=this.blocks;for(h=32;h&lt;160;h+=2)t=((v=F[h-30])&gt;&gt;&gt;1|(B=F[h-29])&lt;&lt;31)^(v&gt;&gt;&gt;8|B&lt;&lt;24)^v&gt;&gt;&gt;7,i=(B&gt;&gt;&gt;1|v&lt;&lt;31)^(B&gt;&gt;&gt;8|v&lt;&lt;24)^(B&gt;&gt;&gt;7|v&lt;&lt;25),s=((v=F[h-4])&gt;&gt;&gt;19|(B=F[h-3])&lt;&lt;13)^(B&gt;&gt;&gt;29|v&lt;&lt;3)^v&gt;&gt;&gt;6,e=(B&gt;&gt;&gt;19|v&lt;&lt;13)^(v&gt;&gt;&gt;29|B&lt;&lt;3)^(B&gt;&gt;&gt;6|v&lt;&lt;26),v=F[h-32],B=F[h-31],a=((U=F[h-14])&gt;&gt;&gt;16)+(v&gt;&gt;&gt;16)+(t&gt;&gt;&gt;16)+(s&gt;&gt;&gt;16)+((o=(65535&amp;U)+(65535&amp;v)+(65535&amp;t)+(65535&amp;s)+((n=((S=F[h-13])&gt;&gt;&gt;16)+(B&gt;&gt;&gt;16)+(i&gt;&gt;&gt;16)+(e&gt;&gt;&gt;16)+((r=(65535&amp;S)+(65535&amp;B)+(65535&amp;i)+(65535&amp;e))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16),F[h]=a&lt;&lt;16|65535&amp;o,F[h+1]=n&lt;&lt;16|65535&amp;r;var M=z,T=E,W=O,Y=m,q=x,G=N,L=j,Q=J,X=H,Z=I,$=R,hh=V,th=C,ih=K,sh=P,eh=D;for(b=W&amp;q,w=Y&amp;G,h=0;h&lt;160;h+=8)t=(M&gt;&gt;&gt;28|T&lt;&lt;4)^(T&gt;&gt;&gt;2|M&lt;&lt;30)^(T&gt;&gt;&gt;7|M&lt;&lt;25),i=(T&gt;&gt;&gt;28|M&lt;&lt;4)^(M&gt;&gt;&gt;2|T&lt;&lt;30)^(M&gt;&gt;&gt;7|T&lt;&lt;25),s=(X&gt;&gt;&gt;14|Z&lt;&lt;18)^(X&gt;&gt;&gt;18|Z&lt;&lt;14)^(Z&gt;&gt;&gt;9|X&lt;&lt;23),e=(Z&gt;&gt;&gt;14|X&lt;&lt;18)^(Z&gt;&gt;&gt;18|X&lt;&lt;14)^(X&gt;&gt;&gt;9|Z&lt;&lt;23),A=(l=M&amp;W)^M&amp;q^b,_=(f=T&amp;Y)^T&amp;G^w,g=X&amp;$^~X&amp;th,k=Z&amp;hh^~Z&amp;ih,v=F[h],B=F[h+1],v=(a=((U=u[h])&gt;&gt;&gt;16)+(v&gt;&gt;&gt;16)+(g&gt;&gt;&gt;16)+(s&gt;&gt;&gt;16)+(sh&gt;&gt;&gt;16)+((o=(65535&amp;U)+(65535&amp;v)+(65535&amp;g)+(65535&amp;s)+(65535&amp;sh)+((n=((S=u[h+1])&gt;&gt;&gt;16)+(B&gt;&gt;&gt;16)+(k&gt;&gt;&gt;16)+(e&gt;&gt;&gt;16)+(eh&gt;&gt;&gt;16)+((r=(65535&amp;S)+(65535&amp;B)+(65535&amp;k)+(65535&amp;e)+(65535&amp;eh))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o,B=n&lt;&lt;16|65535&amp;r,U=(a=(A&gt;&gt;&gt;16)+(t&gt;&gt;&gt;16)+((o=(65535&amp;A)+(65535&amp;t)+((n=(_&gt;&gt;&gt;16)+(i&gt;&gt;&gt;16)+((r=(65535&amp;_)+(65535&amp;i))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o,S=n&lt;&lt;16|65535&amp;r,sh=(a=(L&gt;&gt;&gt;16)+(v&gt;&gt;&gt;16)+((o=(65535&amp;L)+(65535&amp;v)+((n=(Q&gt;&gt;&gt;16)+(B&gt;&gt;&gt;16)+((r=(65535&amp;Q)+(65535&amp;B))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o,eh=n&lt;&lt;16|65535&amp;r,t=((L=(a=(U&gt;&gt;&gt;16)+(v&gt;&gt;&gt;16)+((o=(65535&amp;U)+(65535&amp;v)+((n=(S&gt;&gt;&gt;16)+(B&gt;&gt;&gt;16)+((r=(65535&amp;S)+(65535&amp;B))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o)&gt;&gt;&gt;28|(Q=n&lt;&lt;16|65535&amp;r)&lt;&lt;4)^(Q&gt;&gt;&gt;2|L&lt;&lt;30)^(Q&gt;&gt;&gt;7|L&lt;&lt;25),i=(Q&gt;&gt;&gt;28|L&lt;&lt;4)^(L&gt;&gt;&gt;2|Q&lt;&lt;30)^(L&gt;&gt;&gt;7|Q&lt;&lt;25),s=(sh&gt;&gt;&gt;14|eh&lt;&lt;18)^(sh&gt;&gt;&gt;18|eh&lt;&lt;14)^(eh&gt;&gt;&gt;9|sh&lt;&lt;23),e=(eh&gt;&gt;&gt;14|sh&lt;&lt;18)^(eh&gt;&gt;&gt;18|sh&lt;&lt;14)^(sh&gt;&gt;&gt;9|eh&lt;&lt;23),A=(c=L&amp;M)^L&amp;W^l,_=(y=Q&amp;T)^Q&amp;Y^f,g=sh&amp;X^~sh&amp;$,k=eh&amp;Z^~eh&amp;hh,v=F[h+2],B=F[h+3],v=(a=((U=u[h+2])&gt;&gt;&gt;16)+(v&gt;&gt;&gt;16)+(g&gt;&gt;&gt;16)+(s&gt;&gt;&gt;16)+(th&gt;&gt;&gt;16)+((o=(65535&amp;U)+(65535&amp;v)+(65535&amp;g)+(65535&amp;s)+(65535&amp;th)+((n=((S=u[h+3])&gt;&gt;&gt;16)+(B&gt;&gt;&gt;16)+(k&gt;&gt;&gt;16)+(e&gt;&gt;&gt;16)+(ih&gt;&gt;&gt;16)+((r=(65535&amp;S)+(65535&amp;B)+(65535&amp;k)+(65535&amp;e)+(65535&amp;ih))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o,B=n&lt;&lt;16|65535&amp;r,U=(a=(A&gt;&gt;&gt;16)+(t&gt;&gt;&gt;16)+((o=(65535&amp;A)+(65535&amp;t)+((n=(_&gt;&gt;&gt;16)+(i&gt;&gt;&gt;16)+((r=(65535&amp;_)+(65535&amp;i))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o,S=n&lt;&lt;16|65535&amp;r,th=(a=(q&gt;&gt;&gt;16)+(v&gt;&gt;&gt;16)+((o=(65535&amp;q)+(65535&amp;v)+((n=(G&gt;&gt;&gt;16)+(B&gt;&gt;&gt;16)+((r=(65535&amp;G)+(65535&amp;B))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o,ih=n&lt;&lt;16|65535&amp;r,t=((q=(a=(U&gt;&gt;&gt;16)+(v&gt;&gt;&gt;16)+((o=(65535&amp;U)+(65535&amp;v)+((n=(S&gt;&gt;&gt;16)+(B&gt;&gt;&gt;16)+((r=(65535&amp;S)+(65535&amp;B))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o)&gt;&gt;&gt;28|(G=n&lt;&lt;16|65535&amp;r)&lt;&lt;4)^(G&gt;&gt;&gt;2|q&lt;&lt;30)^(G&gt;&gt;&gt;7|q&lt;&lt;25),i=(G&gt;&gt;&gt;28|q&lt;&lt;4)^(q&gt;&gt;&gt;2|G&lt;&lt;30)^(q&gt;&gt;&gt;7|G&lt;&lt;25),s=(th&gt;&gt;&gt;14|ih&lt;&lt;18)^(th&gt;&gt;&gt;18|ih&lt;&lt;14)^(ih&gt;&gt;&gt;9|th&lt;&lt;23),e=(ih&gt;&gt;&gt;14|th&lt;&lt;18)^(ih&gt;&gt;&gt;18|th&lt;&lt;14)^(th&gt;&gt;&gt;9|ih&lt;&lt;23),A=(p=q&amp;L)^q&amp;M^c,_=(d=G&amp;Q)^G&amp;T^y,g=th&amp;sh^~th&amp;X,k=ih&amp;eh^~ih&amp;Z,v=F[h+4],B=F[h+5],v=(a=((U=u[h+4])&gt;&gt;&gt;16)+(v&gt;&gt;&gt;16)+(g&gt;&gt;&gt;16)+(s&gt;&gt;&gt;16)+($&gt;&gt;&gt;16)+((o=(65535&amp;U)+(65535&amp;v)+(65535&amp;g)+(65535&amp;s)+(65535&amp;$)+((n=((S=u[h+5])&gt;&gt;&gt;16)+(B&gt;&gt;&gt;16)+(k&gt;&gt;&gt;16)+(e&gt;&gt;&gt;16)+(hh&gt;&gt;&gt;16)+((r=(65535&amp;S)+(65535&amp;B)+(65535&amp;k)+(65535&amp;e)+(65535&amp;hh))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o,B=n&lt;&lt;16|65535&amp;r,U=(a=(A&gt;&gt;&gt;16)+(t&gt;&gt;&gt;16)+((o=(65535&amp;A)+(65535&amp;t)+((n=(_&gt;&gt;&gt;16)+(i&gt;&gt;&gt;16)+((r=(65535&amp;_)+(65535&amp;i))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o,S=n&lt;&lt;16|65535&amp;r,$=(a=(W&gt;&gt;&gt;16)+(v&gt;&gt;&gt;16)+((o=(65535&amp;W)+(65535&amp;v)+((n=(Y&gt;&gt;&gt;16)+(B&gt;&gt;&gt;16)+((r=(65535&amp;Y)+(65535&amp;B))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o,hh=n&lt;&lt;16|65535&amp;r,t=((W=(a=(U&gt;&gt;&gt;16)+(v&gt;&gt;&gt;16)+((o=(65535&amp;U)+(65535&amp;v)+((n=(S&gt;&gt;&gt;16)+(B&gt;&gt;&gt;16)+((r=(65535&amp;S)+(65535&amp;B))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o)&gt;&gt;&gt;28|(Y=n&lt;&lt;16|65535&amp;r)&lt;&lt;4)^(Y&gt;&gt;&gt;2|W&lt;&lt;30)^(Y&gt;&gt;&gt;7|W&lt;&lt;25),i=(Y&gt;&gt;&gt;28|W&lt;&lt;4)^(W&gt;&gt;&gt;2|Y&lt;&lt;30)^(W&gt;&gt;&gt;7|Y&lt;&lt;25),s=($&gt;&gt;&gt;14|hh&lt;&lt;18)^($&gt;&gt;&gt;18|hh&lt;&lt;14)^(hh&gt;&gt;&gt;9|$&lt;&lt;23),e=(hh&gt;&gt;&gt;14|$&lt;&lt;18)^(hh&gt;&gt;&gt;18|$&lt;&lt;14)^($&gt;&gt;&gt;9|hh&lt;&lt;23),A=(b=W&amp;q)^W&amp;L^p,_=(w=Y&amp;G)^Y&amp;Q^d,g=$&amp;th^~$&amp;sh,k=hh&amp;ih^~hh&amp;eh,v=F[h+6],B=F[h+7],v=(a=((U=u[h+6])&gt;&gt;&gt;16)+(v&gt;&gt;&gt;16)+(g&gt;&gt;&gt;16)+(s&gt;&gt;&gt;16)+(X&gt;&gt;&gt;16)+((o=(65535&amp;U)+(65535&amp;v)+(65535&amp;g)+(65535&amp;s)+(65535&amp;X)+((n=((S=u[h+7])&gt;&gt;&gt;16)+(B&gt;&gt;&gt;16)+(k&gt;&gt;&gt;16)+(e&gt;&gt;&gt;16)+(Z&gt;&gt;&gt;16)+((r=(65535&amp;S)+(65535&amp;B)+(65535&amp;k)+(65535&amp;e)+(65535&amp;Z))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o,B=n&lt;&lt;16|65535&amp;r,U=(a=(A&gt;&gt;&gt;16)+(t&gt;&gt;&gt;16)+((o=(65535&amp;A)+(65535&amp;t)+((n=(_&gt;&gt;&gt;16)+(i&gt;&gt;&gt;16)+((r=(65535&amp;_)+(65535&amp;i))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o,S=n&lt;&lt;16|65535&amp;r,X=(a=(M&gt;&gt;&gt;16)+(v&gt;&gt;&gt;16)+((o=(65535&amp;M)+(65535&amp;v)+((n=(T&gt;&gt;&gt;16)+(B&gt;&gt;&gt;16)+((r=(65535&amp;T)+(65535&amp;B))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o,Z=n&lt;&lt;16|65535&amp;r,M=(a=(U&gt;&gt;&gt;16)+(v&gt;&gt;&gt;16)+((o=(65535&amp;U)+(65535&amp;v)+((n=(S&gt;&gt;&gt;16)+(B&gt;&gt;&gt;16)+((r=(65535&amp;S)+(65535&amp;B))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&lt;&lt;16|65535&amp;o,T=n&lt;&lt;16|65535&amp;r;a=(z&gt;&gt;&gt;16)+(M&gt;&gt;&gt;16)+((o=(65535&amp;z)+(65535&amp;M)+((n=(E&gt;&gt;&gt;16)+(T&gt;&gt;&gt;16)+((r=(65535&amp;E)+(65535&amp;T))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16),this.h0h=a&lt;&lt;16|65535&amp;o,this.h0l=n&lt;&lt;16|65535&amp;r,a=(O&gt;&gt;&gt;16)+(W&gt;&gt;&gt;16)+((o=(65535&amp;O)+(65535&amp;W)+((n=(m&gt;&gt;&gt;16)+(Y&gt;&gt;&gt;16)+((r=(65535&amp;m)+(65535&amp;Y))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16),this.h1h=a&lt;&lt;16|65535&amp;o,this.h1l=n&lt;&lt;16|65535&amp;r,a=(x&gt;&gt;&gt;16)+(q&gt;&gt;&gt;16)+((o=(65535&amp;x)+(65535&amp;q)+((n=(N&gt;&gt;&gt;16)+(G&gt;&gt;&gt;16)+((r=(65535&amp;N)+(65535&amp;G))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16),this.h2h=a&lt;&lt;16|65535&amp;o,this.h2l=n&lt;&lt;16|65535&amp;r,a=(j&gt;&gt;&gt;16)+(L&gt;&gt;&gt;16)+((o=(65535&amp;j)+(65535&amp;L)+((n=(J&gt;&gt;&gt;16)+(Q&gt;&gt;&gt;16)+((r=(65535&amp;J)+(65535&amp;Q))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16),this.h3h=a&lt;&lt;16|65535&amp;o,this.h3l=n&lt;&lt;16|65535&amp;r,a=(H&gt;&gt;&gt;16)+(X&gt;&gt;&gt;16)+((o=(65535&amp;H)+(65535&amp;X)+((n=(I&gt;&gt;&gt;16)+(Z&gt;&gt;&gt;16)+((r=(65535&amp;I)+(65535&amp;Z))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16),this.h4h=a&lt;&lt;16|65535&amp;o,this.h4l=n&lt;&lt;16|65535&amp;r,a=(R&gt;&gt;&gt;16)+($&gt;&gt;&gt;16)+((o=(65535&amp;R)+(65535&amp;$)+((n=(V&gt;&gt;&gt;16)+(hh&gt;&gt;&gt;16)+((r=(65535&amp;V)+(65535&amp;hh))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16),this.h5h=a&lt;&lt;16|65535&amp;o,this.h5l=n&lt;&lt;16|65535&amp;r,a=(C&gt;&gt;&gt;16)+(th&gt;&gt;&gt;16)+((o=(65535&amp;C)+(65535&amp;th)+((n=(K&gt;&gt;&gt;16)+(ih&gt;&gt;&gt;16)+((r=(65535&amp;K)+(65535&amp;ih))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16),this.h6h=a&lt;&lt;16|65535&amp;o,this.h6l=n&lt;&lt;16|65535&amp;r,a=(P&gt;&gt;&gt;16)+(sh&gt;&gt;&gt;16)+((o=(65535&amp;P)+(65535&amp;sh)+((n=(D&gt;&gt;&gt;16)+(eh&gt;&gt;&gt;16)+((r=(65535&amp;D)+(65535&amp;eh))&gt;&gt;&gt;16))&gt;&gt;&gt;16))&gt;&gt;&gt;16),this.h7h=a&lt;&lt;16|65535&amp;o,this.h7l=n&lt;&lt;16|65535&amp;r},h.prototype.hex=function(){this.finalize();var h=this.h0h,t=this.h0l,i=this.h1h,s=this.h1l,e=this.h2h,r=this.h2l,n=this.h3h,o=this.h3l,a=this.h4h,f=this.h4l,c=this.h5h,u=this.h5l,y=this.h6h,p=this.h6l,d=this.h7h,b=this.h7l,w=this.bits,A=l[h&gt;&gt;28&amp;15]+l[h&gt;&gt;24&amp;15]+l[h&gt;&gt;20&amp;15]+l[h&gt;&gt;16&amp;15]+l[h&gt;&gt;12&amp;15]+l[h&gt;&gt;8&amp;15]+l[h&gt;&gt;4&amp;15]+l[15&amp;h]+l[t&gt;&gt;28&amp;15]+l[t&gt;&gt;24&amp;15]+l[t&gt;&gt;20&amp;15]+l[t&gt;&gt;16&amp;15]+l[t&gt;&gt;12&amp;15]+l[t&gt;&gt;8&amp;15]+l[t&gt;&gt;4&amp;15]+l[15&amp;t]+l[i&gt;&gt;28&amp;15]+l[i&gt;&gt;24&amp;15]+l[i&gt;&gt;20&amp;15]+l[i&gt;&gt;16&amp;15]+l[i&gt;&gt;12&amp;15]+l[i&gt;&gt;8&amp;15]+l[i&gt;&gt;4&amp;15]+l[15&amp;i]+l[s&gt;&gt;28&amp;15]+l[s&gt;&gt;24&amp;15]+l[s&gt;&gt;20&amp;15]+l[s&gt;&gt;16&amp;15]+l[s&gt;&gt;12&amp;15]+l[s&gt;&gt;8&amp;15]+l[s&gt;&gt;4&amp;15]+l[15&amp;s]+l[e&gt;&gt;28&amp;15]+l[e&gt;&gt;24&amp;15]+l[e&gt;&gt;20&amp;15]+l[e&gt;&gt;16&amp;15]+l[e&gt;&gt;12&amp;15]+l[e&gt;&gt;8&amp;15]+l[e&gt;&gt;4&amp;15]+l[15&amp;e]+l[r&gt;&gt;28&amp;15]+l[r&gt;&gt;24&amp;15]+l[r&gt;&gt;20&amp;15]+l[r&gt;&gt;16&amp;15]+l[r&gt;&gt;12&amp;15]+l[r&gt;&gt;8&amp;15]+l[r&gt;&gt;4&amp;15]+l[15&amp;r]+l[n&gt;&gt;28&amp;15]+l[n&gt;&gt;24&amp;15]+l[n&gt;&gt;20&amp;15]+l[n&gt;&gt;16&amp;15]+l[n&gt;&gt;12&amp;15]+l[n&gt;&gt;8&amp;15]+l[n&gt;&gt;4&amp;15]+l[15&amp;n];return w&gt;=256&amp;&amp;(A+=l[o&gt;&gt;28&amp;15]+l[o&gt;&gt;24&amp;15]+l[o&gt;&gt;20&amp;15]+l[o&gt;&gt;16&amp;15]+l[o&gt;&gt;12&amp;15]+l[o&gt;&gt;8&amp;15]+l[o&gt;&gt;4&amp;15]+l[15&amp;o]),w&gt;=384&amp;&amp;(A+=l[a&gt;&gt;28&amp;15]+l[a&gt;&gt;24&amp;15]+l[a&gt;&gt;20&amp;15]+l[a&gt;&gt;16&amp;15]+l[a&gt;&gt;12&amp;15]+l[a&gt;&gt;8&amp;15]+l[a&gt;&gt;4&amp;15]+l[15&amp;a]+l[f&gt;&gt;28&amp;15]+l[f&gt;&gt;24&amp;15]+l[f&gt;&gt;20&amp;15]+l[f&gt;&gt;16&amp;15]+l[f&gt;&gt;12&amp;15]+l[f&gt;&gt;8&amp;15]+l[f&gt;&gt;4&amp;15]+l[15&amp;f]+l[c&gt;&gt;28&amp;15]+l[c&gt;&gt;24&amp;15]+l[c&gt;&gt;20&amp;15]+l[c&gt;&gt;16&amp;15]+l[c&gt;&gt;12&amp;15]+l[c&gt;&gt;8&amp;15]+l[c&gt;&gt;4&amp;15]+l[15&amp;c]+l[u&gt;&gt;28&amp;15]+l[u&gt;&gt;24&amp;15]+l[u&gt;&gt;20&amp;15]+l[u&gt;&gt;16&amp;15]+l[u&gt;&gt;12&amp;15]+l[u&gt;&gt;8&amp;15]+l[u&gt;&gt;4&amp;15]+l[15&amp;u]),512==w&amp;&amp;(A+=l[y&gt;&gt;28&amp;15]+l[y&gt;&gt;24&amp;15]+l[y&gt;&gt;20&amp;15]+l[y&gt;&gt;16&amp;15]+l[y&gt;&gt;12&amp;15]+l[y&gt;&gt;8&amp;15]+l[y&gt;&gt;4&amp;15]+l[15&amp;y]+l[p&gt;&gt;28&amp;15]+l[p&gt;&gt;24&amp;15]+l[p&gt;&gt;20&amp;15]+l[p&gt;&gt;16&amp;15]+l[p&gt;&gt;12&amp;15]+l[p&gt;&gt;8&amp;15]+l[p&gt;&gt;4&amp;15]+l[15&amp;p]+l[d&gt;&gt;28&amp;15]+l[d&gt;&gt;24&amp;15]+l[d&gt;&gt;20&amp;15]+l[d&gt;&gt;16&amp;15]+l[d&gt;&gt;12&amp;15]+l[d&gt;&gt;8&amp;15]+l[d&gt;&gt;4&amp;15]+l[15&amp;d]+l[b&gt;&gt;28&amp;15]+l[b&gt;&gt;24&amp;15]+l[b&gt;&gt;20&amp;15]+l[b&gt;&gt;16&amp;15]+l[b&gt;&gt;12&amp;15]+l[b&gt;&gt;8&amp;15]+l[b&gt;&gt;4&amp;15]+l[15&amp;b]),A},h.prototype.toString=h.prototype.hex,h.prototype.digest=function(){this.finalize();var h=this.h0h,t=this.h0l,i=this.h1h,s=this.h1l,e=this.h2h,r=this.h2l,n=this.h3h,o=this.h3l,a=this.h4h,l=this.h4l,f=this.h5h,c=this.h5l,u=this.h6h,y=this.h6l,p=this.h7h,d=this.h7l,b=this.bits,w=[h&gt;&gt;24&amp;255,h&gt;&gt;16&amp;255,h&gt;&gt;8&amp;255,255&amp;h,t&gt;&gt;24&amp;255,t&gt;&gt;16&amp;255,t&gt;&gt;8&amp;255,255&amp;t,i&gt;&gt;24&amp;255,i&gt;&gt;16&amp;255,i&gt;&gt;8&amp;255,255&amp;i,s&gt;&gt;24&amp;255,s&gt;&gt;16&amp;255,s&gt;&gt;8&amp;255,255&amp;s,e&gt;&gt;24&amp;255,e&gt;&gt;16&amp;255,e&gt;&gt;8&amp;255,255&amp;e,r&gt;&gt;24&amp;255,r&gt;&gt;16&amp;255,r&gt;&gt;8&amp;255,255&amp;r,n&gt;&gt;24&amp;255,n&gt;&gt;16&amp;255,n&gt;&gt;8&amp;255,255&amp;n];return b&gt;=256&amp;&amp;w.push(o&gt;&gt;24&amp;255,o&gt;&gt;16&amp;255,o&gt;&gt;8&amp;255,255&amp;o),b&gt;=384&amp;&amp;w.push(a&gt;&gt;24&amp;255,a&gt;&gt;16&amp;255,a&gt;&gt;8&amp;255,255&amp;a,l&gt;&gt;24&amp;255,l&gt;&gt;16&amp;255,l&gt;&gt;8&amp;255,255&amp;l,f&gt;&gt;24&amp;255,f&gt;&gt;16&amp;255,f&gt;&gt;8&amp;255,255&amp;f,c&gt;&gt;24&amp;255,c&gt;&gt;16&amp;255,c&gt;&gt;8&amp;255,255&amp;c),512==b&amp;&amp;w.push(u&gt;&gt;24&amp;255,u&gt;&gt;16&amp;255,u&gt;&gt;8&amp;255,255&amp;u,y&gt;&gt;24&amp;255,y&gt;&gt;16&amp;255,y&gt;&gt;8&amp;255,255&amp;y,p&gt;&gt;24&amp;255,p&gt;&gt;16&amp;255,p&gt;&gt;8&amp;255,255&amp;p,d&gt;&gt;24&amp;255,d&gt;&gt;16&amp;255,d&gt;&gt;8&amp;255,255&amp;d),w},h.prototype.array=h.prototype.digest,h.prototype.arrayBuffer=function(){this.finalize();var h=this.bits,t=new ArrayBuffer(h/8),i=new DataView(t);return i.setUint32(0,this.h0h),i.setUint32(4,this.h0l),i.setUint32(8,this.h1h),i.setUint32(12,this.h1l),i.setUint32(16,this.h2h),i.setUint32(20,this.h2l),i.setUint32(24,this.h3h),h&gt;=256&amp;&amp;i.setUint32(28,this.h3l),h&gt;=384&amp;&amp;(i.setUint32(32,this.h4h),i.setUint32(36,this.h4l),i.setUint32(40,this.h5h),i.setUint32(44,this.h5l)),512==h&amp;&amp;(i.setUint32(48,this.h6h),i.setUint32(52,this.h6l),i.setUint32(56,this.h7h),i.setUint32(60,this.h7l)),t},h.prototype.clone=function(){var t=new h(this.bits,!1);return this.copyTo(t),t},h.prototype.copyTo=function(h){var t=0,i=["h0h","h0l","h1h","h1l","h2h","h2l","h3h","h3l","h4h","h4l","h5h","h5l","h6h","h6l","h7h","h7l","start","bytes","hBytes","finalized","hashed","lastByteIndex"];for(t=0;t&lt;i.length;++t)h[i[t]]=this[i[t]];for(t=0;t&lt;this.blocks.length;++t)h.blocks[t]=this.blocks[t]},(t.prototype=new h).finalize=function(){if(h.prototype.finalize.call(this),this.inner){this.inner=!1;var t=this.array();h.call(this,this.bits,this.sharedMemory),this.update(this.oKeyPad),this.update(t),h.prototype.finalize.call(this)}},t.prototype.clone=function(){var h=new t([],this.bits,!1);this.copyTo(h),h.inner=this.inner;for(var i=0;i&lt;this.oKeyPad.length;++i)h.oKeyPad[i]=this.oKeyPad[i];return h};var _=b(512);_.sha512=_,_.sha384=b(384),_.sha512_256=b(256),_.sha512_224=b(224),_.sha512.hmac=A(512),_.sha384.hmac=A(384),_.sha512_256.hmac=A(256),_.sha512_224.hmac=A(224),n?module.exports=_:(e.sha512=_.sha512,e.sha384=_.sha384,e.sha512_256=_.sha512_256,e.sha512_224=_.sha512_224,o&amp;&amp;define(function(){return _}))}();
/*aes*/
var aesjs;
"use strict";(function(root){function checkInt(value){return parseInt(value)===value}function checkInts(arrayish){if(!checkInt(arrayish.length)){return false}for(var i=0;i&lt;arrayish.length;i++){if(!checkInt(arrayish[i])||arrayish[i]&lt;0||arrayish[i]&gt;255){return false}}return true}function coerceArray(arg,copy){if(arg.buffer&amp;&amp;ArrayBuffer.isView(arg)&amp;&amp;arg.name==="Uint8Array"){if(copy){if(arg.slice){arg=arg.slice()}else{arg=Array.prototype.slice.call(arg)}}return arg}if(Array.isArray(arg)){if(!checkInts(arg)){throw new Error("Array contains invalid value: "+arg)}return new Uint8Array(arg)}if(checkInt(arg.length)&amp;&amp;checkInts(arg)){return new Uint8Array(arg)}throw new Error("unsupported array-like object")}function createArray(length){return new Uint8Array(length)}function copyArray(sourceArray,targetArray,targetStart,sourceStart,sourceEnd){if(sourceStart!=null||sourceEnd!=null){if(sourceArray.slice){sourceArray=sourceArray.slice(sourceStart,sourceEnd)}else{sourceArray=Array.prototype.slice.call(sourceArray,sourceStart,sourceEnd)}}targetArray.set(sourceArray,targetStart)}var convertUtf8=function(){function toBytes(text){var result=[],i=0;text=encodeURI(text);while(i&lt;text.length){var c=text.charCodeAt(i++);if(c===37){result.push(parseInt(text.substr(i,2),16));i+=2}else{result.push(c)}}return coerceArray(result)}function fromBytes(bytes){var result=[],i=0;while(i&lt;bytes.length){var c=bytes[i];if(c&lt;128){result.push(String.fromCharCode(c));i++}else if(c&gt;191&amp;&amp;c&lt;224){result.push(String.fromCharCode((c&amp;31)&lt;&lt;6|bytes[i+1]&amp;63));i+=2}else{result.push(String.fromCharCode((c&amp;15)&lt;&lt;12|(bytes[i+1]&amp;63)&lt;&lt;6|bytes[i+2]&amp;63));i+=3}}return result.join("")}return{toBytes:toBytes,fromBytes:fromBytes}}();var convertHex=function(){function toBytes(text){var result=[];for(var i=0;i&lt;text.length;i+=2){result.push(parseInt(text.substr(i,2),16))}return result}var Hex="0123456789abcdef";function fromBytes(bytes){var result=[];for(var i=0;i&lt;bytes.length;i++){var v=bytes[i];result.push(Hex[(v&amp;240)&gt;&gt;4]+Hex[v&amp;15])}return result.join("")}return{toBytes:toBytes,fromBytes:fromBytes}}();var numberOfRounds={16:10,24:12,32:14};var rcon=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145];var S=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22];var Si=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125];var T1=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986];var T2=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766];var T3=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126];var T4=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436];var T5=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890];var T6=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935];var T7=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600];var T8=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480];var U1=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795];var U2=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855];var U3=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150];var U4=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function convertToInt32(bytes){var result=[];for(var i=0;i&lt;bytes.length;i+=4){result.push(bytes[i]&lt;&lt;24|bytes[i+1]&lt;&lt;16|bytes[i+2]&lt;&lt;8|bytes[i+3])}return result}var AES=function(key){if(!(this instanceof AES)){throw Error("AES must be instanitated with `new`")}Object.defineProperty(this,"key",{value:coerceArray(key,true)});this._prepare()};AES.prototype._prepare=function(){var rounds=numberOfRounds[this.key.length];if(rounds==null){throw new Error("invalid key size (must be 16, 24 or 32 bytes)")}this._Ke=[];this._Kd=[];for(var i=0;i&lt;=rounds;i++){this._Ke.push([0,0,0,0]);this._Kd.push([0,0,0,0])}var roundKeyCount=(rounds+1)*4;var KC=this.key.length/4;var tk=convertToInt32(this.key);var index;for(var i=0;i&lt;KC;i++){index=i&gt;&gt;2;this._Ke[index][i%4]=tk[i];this._Kd[rounds-index][i%4]=tk[i]}var rconpointer=0;var t=KC,tt;while(t&lt;roundKeyCount){tt=tk[KC-1];tk[0]^=S[tt&gt;&gt;16&amp;255]&lt;&lt;24^S[tt&gt;&gt;8&amp;255]&lt;&lt;16^S[tt&amp;255]&lt;&lt;8^S[tt&gt;&gt;24&amp;255]^rcon[rconpointer]&lt;&lt;24;rconpointer+=1;if(KC!=8){for(var i=1;i&lt;KC;i++){tk[i]^=tk[i-1]}}else{for(var i=1;i&lt;KC/2;i++){tk[i]^=tk[i-1]}tt=tk[KC/2-1];tk[KC/2]^=S[tt&amp;255]^S[tt&gt;&gt;8&amp;255]&lt;&lt;8^S[tt&gt;&gt;16&amp;255]&lt;&lt;16^S[tt&gt;&gt;24&amp;255]&lt;&lt;24;for(var i=KC/2+1;i&lt;KC;i++){tk[i]^=tk[i-1]}}var i=0,r,c;while(i&lt;KC&amp;&amp;t&lt;roundKeyCount){r=t&gt;&gt;2;c=t%4;this._Ke[r][c]=tk[i];this._Kd[rounds-r][c]=tk[i++];t++}}for(var r=1;r&lt;rounds;r++){for(var c=0;c&lt;4;c++){tt=this._Kd[r][c];this._Kd[r][c]=U1[tt&gt;&gt;24&amp;255]^U2[tt&gt;&gt;16&amp;255]^U3[tt&gt;&gt;8&amp;255]^U4[tt&amp;255]}}};AES.prototype.encrypt=function(plaintext){if(plaintext.length!=16){throw new Error("invalid plaintext size (must be 16 bytes)")}var rounds=this._Ke.length-1;var a=[0,0,0,0];var t=convertToInt32(plaintext);for(var i=0;i&lt;4;i++){t[i]^=this._Ke[0][i]}for(var r=1;r&lt;rounds;r++){for(var i=0;i&lt;4;i++){a[i]=T1[t[i]&gt;&gt;24&amp;255]^T2[t[(i+1)%4]&gt;&gt;16&amp;255]^T3[t[(i+2)%4]&gt;&gt;8&amp;255]^T4[t[(i+3)%4]&amp;255]^this._Ke[r][i]}t=a.slice()}var result=createArray(16),tt;for(var i=0;i&lt;4;i++){tt=this._Ke[rounds][i];result[4*i]=(S[t[i]&gt;&gt;24&amp;255]^tt&gt;&gt;24)&amp;255;result[4*i+1]=(S[t[(i+1)%4]&gt;&gt;16&amp;255]^tt&gt;&gt;16)&amp;255;result[4*i+2]=(S[t[(i+2)%4]&gt;&gt;8&amp;255]^tt&gt;&gt;8)&amp;255;result[4*i+3]=(S[t[(i+3)%4]&amp;255]^tt)&amp;255}return result};AES.prototype.decrypt=function(ciphertext){if(ciphertext.length!=16){throw new Error("invalid ciphertext size (must be 16 bytes)")}var rounds=this._Kd.length-1;var a=[0,0,0,0];var t=convertToInt32(ciphertext);for(var i=0;i&lt;4;i++){t[i]^=this._Kd[0][i]}for(var r=1;r&lt;rounds;r++){for(var i=0;i&lt;4;i++){a[i]=T5[t[i]&gt;&gt;24&amp;255]^T6[t[(i+3)%4]&gt;&gt;16&amp;255]^T7[t[(i+2)%4]&gt;&gt;8&amp;255]^T8[t[(i+1)%4]&amp;255]^this._Kd[r][i]}t=a.slice()}var result=createArray(16),tt;for(var i=0;i&lt;4;i++){tt=this._Kd[rounds][i];result[4*i]=(Si[t[i]&gt;&gt;24&amp;255]^tt&gt;&gt;24)&amp;255;result[4*i+1]=(Si[t[(i+3)%4]&gt;&gt;16&amp;255]^tt&gt;&gt;16)&amp;255;result[4*i+2]=(Si[t[(i+2)%4]&gt;&gt;8&amp;255]^tt&gt;&gt;8)&amp;255;result[4*i+3]=(Si[t[(i+1)%4]&amp;255]^tt)&amp;255}return result};var ModeOfOperationECB=function(key){if(!(this instanceof ModeOfOperationECB)){throw Error("AES must be instanitated with `new`")}this.description="Electronic Code Block";this.name="ecb";this._aes=new AES(key)};ModeOfOperationECB.prototype.encrypt=function(plaintext){plaintext=coerceArray(plaintext);if(plaintext.length%16!==0){throw new Error("invalid plaintext size (must be multiple of 16 bytes)")}var ciphertext=createArray(plaintext.length);var block=createArray(16);for(var i=0;i&lt;plaintext.length;i+=16){copyArray(plaintext,block,0,i,i+16);block=this._aes.encrypt(block);copyArray(block,ciphertext,i)}return ciphertext};ModeOfOperationECB.prototype.decrypt=function(ciphertext){ciphertext=coerceArray(ciphertext);if(ciphertext.length%16!==0){throw new Error("invalid ciphertext size (must be multiple of 16 bytes)")}var plaintext=createArray(ciphertext.length);var block=createArray(16);for(var i=0;i&lt;ciphertext.length;i+=16){copyArray(ciphertext,block,0,i,i+16);block=this._aes.decrypt(block);copyArray(block,plaintext,i)}return plaintext};var ModeOfOperationCBC=function(key,iv){if(!(this instanceof ModeOfOperationCBC)){throw Error("AES must be instanitated with `new`")}this.description="Cipher Block Chaining";this.name="cbc";if(!iv){iv=createArray(16)}else if(iv.length!=16){throw new Error("invalid initialation vector size (must be 16 bytes)")}this._lastCipherblock=coerceArray(iv,true);this._aes=new AES(key)};ModeOfOperationCBC.prototype.encrypt=function(plaintext){plaintext=coerceArray(plaintext);if(plaintext.length%16!==0){throw new Error("invalid plaintext size (must be multiple of 16 bytes)")}var ciphertext=createArray(plaintext.length);var block=createArray(16);for(var i=0;i&lt;plaintext.length;i+=16){copyArray(plaintext,block,0,i,i+16);for(var j=0;j&lt;16;j++){block[j]^=this._lastCipherblock[j]}this._lastCipherblock=this._aes.encrypt(block);copyArray(this._lastCipherblock,ciphertext,i)}return ciphertext};ModeOfOperationCBC.prototype.decrypt=function(ciphertext){ciphertext=coerceArray(ciphertext);if(ciphertext.length%16!==0){throw new Error("invalid ciphertext size (must be multiple of 16 bytes)")}var plaintext=createArray(ciphertext.length);var block=createArray(16);for(var i=0;i&lt;ciphertext.length;i+=16){copyArray(ciphertext,block,0,i,i+16);block=this._aes.decrypt(block);for(var j=0;j&lt;16;j++){plaintext[i+j]=block[j]^this._lastCipherblock[j]}copyArray(ciphertext,this._lastCipherblock,0,i,i+16)}return plaintext};var ModeOfOperationCFB=function(key,iv,segmentSize){if(!(this instanceof ModeOfOperationCFB)){throw Error("AES must be instanitated with `new`")}this.description="Cipher Feedback";this.name="cfb";if(!iv){iv=createArray(16)}else if(iv.length!=16){throw new Error("invalid initialation vector size (must be 16 size)")}if(!segmentSize){segmentSize=1}this.segmentSize=segmentSize;this._shiftRegister=coerceArray(iv,true);this._aes=new AES(key)};ModeOfOperationCFB.prototype.encrypt=function(plaintext){if(plaintext.length%this.segmentSize!=0){throw new Error("invalid plaintext size (must be segmentSize bytes)")}var encrypted=coerceArray(plaintext,true);var xorSegment;for(var i=0;i&lt;encrypted.length;i+=this.segmentSize){xorSegment=this._aes.encrypt(this._shiftRegister);for(var j=0;j&lt;this.segmentSize;j++){encrypted[i+j]^=xorSegment[j]}copyArray(this._shiftRegister,this._shiftRegister,0,this.segmentSize);copyArray(encrypted,this._shiftRegister,16-this.segmentSize,i,i+this.segmentSize)}return encrypted};ModeOfOperationCFB.prototype.decrypt=function(ciphertext){if(ciphertext.length%this.segmentSize!=0){throw new Error("invalid ciphertext size (must be segmentSize bytes)")}var plaintext=coerceArray(ciphertext,true);var xorSegment;for(var i=0;i&lt;plaintext.length;i+=this.segmentSize){xorSegment=this._aes.encrypt(this._shiftRegister);for(var j=0;j&lt;this.segmentSize;j++){plaintext[i+j]^=xorSegment[j]}copyArray(this._shiftRegister,this._shiftRegister,0,this.segmentSize);copyArray(ciphertext,this._shiftRegister,16-this.segmentSize,i,i+this.segmentSize)}return plaintext};var ModeOfOperationOFB=function(key,iv){if(!(this instanceof ModeOfOperationOFB)){throw Error("AES must be instanitated with `new`")}this.description="Output Feedback";this.name="ofb";if(!iv){iv=createArray(16)}else if(iv.length!=16){throw new Error("invalid initialation vector size (must be 16 bytes)")}this._lastPrecipher=coerceArray(iv,true);this._lastPrecipherIndex=16;this._aes=new AES(key)};ModeOfOperationOFB.prototype.encrypt=function(plaintext){var encrypted=coerceArray(plaintext,true);for(var i=0;i&lt;encrypted.length;i++){if(this._lastPrecipherIndex===16){this._lastPrecipher=this._aes.encrypt(this._lastPrecipher);this._lastPrecipherIndex=0}encrypted[i]^=this._lastPrecipher[this._lastPrecipherIndex++]}return encrypted};ModeOfOperationOFB.prototype.decrypt=ModeOfOperationOFB.prototype.encrypt;var Counter=function(initialValue){if(!(this instanceof Counter)){throw Error("Counter must be instanitated with `new`")}if(initialValue!==0&amp;&amp;!initialValue){initialValue=1}if(typeof initialValue==="number"){this._counter=createArray(16);this.setValue(initialValue)}else{this.setBytes(initialValue)}};Counter.prototype.setValue=function(value){if(typeof value!=="number"||parseInt(value)!=value){throw new Error("invalid counter value (must be an integer)")}for(var index=15;index&gt;=0;--index){this._counter[index]=value%256;value=value&gt;&gt;8}};Counter.prototype.setBytes=function(bytes){bytes=coerceArray(bytes,true);if(bytes.length!=16){throw new Error("invalid counter bytes size (must be 16 bytes)")}this._counter=bytes};Counter.prototype.increment=function(){for(var i=15;i&gt;=0;i--){if(this._counter[i]===255){this._counter[i]=0}else{this._counter[i]++;break}}};var ModeOfOperationCTR=function(key,counter){if(!(this instanceof ModeOfOperationCTR)){throw Error("AES must be instanitated with `new`")}this.description="Counter";this.name="ctr";if(!(counter instanceof Counter)){counter=new Counter(counter)}this._counter=counter;this._remainingCounter=null;this._remainingCounterIndex=16;this._aes=new AES(key)};ModeOfOperationCTR.prototype.encrypt=function(plaintext){var encrypted=coerceArray(plaintext,true);for(var i=0;i&lt;encrypted.length;i++){if(this._remainingCounterIndex===16){this._remainingCounter=this._aes.encrypt(this._counter._counter);this._remainingCounterIndex=0;this._counter.increment()}encrypted[i]^=this._remainingCounter[this._remainingCounterIndex++]}return encrypted};ModeOfOperationCTR.prototype.decrypt=ModeOfOperationCTR.prototype.encrypt;function pkcs7pad(data){data=coerceArray(data,true);var padder=16-data.length%16;var result=createArray(data.length+padder);copyArray(data,result);for(var i=data.length;i&lt;result.length;i++){result[i]=padder}return result}function pkcs7strip(data){data=coerceArray(data,true);if(data.length&lt;16){throw new Error("PKCS#7 invalid length")}var padder=data[data.length-1];if(padder&gt;16){throw new Error("PKCS#7 padding byte out of range")}var length=data.length-padder;for(var i=0;i&lt;padder;i++){if(data[length+i]!==padder){throw new Error("PKCS#7 invalid padding byte")}}var result=createArray(length);copyArray(data,result,0,0,length);return result}aesjs={AES:AES,Counter:Counter,ModeOfOperation:{ecb:ModeOfOperationECB,cbc:ModeOfOperationCBC,cfb:ModeOfOperationCFB,ofb:ModeOfOperationOFB,ctr:ModeOfOperationCTR},utils:{hex:convertHex,utf8:convertUtf8},padding:{pkcs7:{pad:pkcs7pad,strip:pkcs7strip}},_arrayTest:{coerceArray:coerceArray,createArray:createArray,copyArray:copyArray}};if(typeof exports!=="undefined"){module.exports=aesjs}else if(typeof define==="function"&amp;&amp;define.amd){define(aesjs)}else{if(root.aesjs){aesjs._aesjs=root.aesjs}root.aesjs=aesjs}})(this);
/*custom crypto js*/
var pubKey="MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAzWUhXLreC7ZURDRT0Zhdwo0PDWyntrE6X1ibz2/v/8CEwOeWdp/0/9i8r9cCaTH4WQP7r0e4vctcJK8JE3UnDP3p9oBPpvcJk4JA9tx1rXDa8hxsHzb7ZWe5VwnZSDWOXhevLlqKFkXaU3UQD+katBGOH0Vw8RcuWhcDIrPM0Q5m2NJx+faRt9FFxvtJgJyxEsfiVLok2LMIQpDlFO/RB7ERzQeJMJqjzO9l3TqIgqgn0UvMxSxEiQIU+jhasd3RskXY0psRreWlKG4MebRbcQeNA5sOCs8oL5BdaG83mjWZcz1ECM1CUAIZ05uWuKFZwfG4pj6IfV81QKWpbGgasDgGLX6en8AR5HGfkvgaVCXw//NWdnn3lmv0nRx2E9LQG+I4+FKp0/0gQQzVi1P1CuLZf6DcY2XESUSrumLqt8PdDMQrERFvqtDzdPVdYEe218Wz8GyPje5nC7lPBfaZb7UIR7+WcJCv/O4BodocN3NLnuZqzuE1InluRpq+NRmRIEsotHREl+Rnt0HN9qkpSkH+5v5JnTXBiFBT8G1tifQMa6N4p3PXkKNgY3rD+EM4kkDVPzYvY0p6YKhPLuzYgPx4busmPjMcDAQkBZJ82tM8WKj5of//jeI+6AwoLDpYku3gTI8qEASlztpfJ+ZLp/F3Hw7z1PJJ8yE4nkgAr2UCAwEAAQ==",foreeSessionKey=null,foreeSessionKeyArray=null,foreeIVKey=null,foreeIVKeyArray=null,encryptedSkey=null;if(!window.atob){var tableStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",table=tableStr.split("");window.atob=function(e){if(/(=[^=]+|={3,})$/.test(e))throw new Error("String contains an invalid character");var r=3&amp;(e=e.replace(/=/g,"")).length;if(1===r)throw new Error("String contains an invalid character");for(var n=0,t=0,a=e.length/4,o=[];n&lt;a;++n){var s=tableStr.indexOf(e[t++]||"A"),i=tableStr.indexOf(e[t++]||"A"),u=tableStr.indexOf(e[t++]||"A"),f=tableStr.indexOf(e[t++]||"A");if((s|i|u|f)&lt;0)throw new Error("String contains an invalid character");o[o.length]=255&amp;(s&lt;&lt;2|i&gt;&gt;4),o[o.length]=255&amp;(i&lt;&lt;4|u&gt;&gt;2),o[o.length]=255&amp;(u&lt;&lt;6|f)}return String.fromCharCode.apply(null,o).substr(0,o.length+r-4)},window.btoa=function(e){for(var r=0,n=0,t=e.length/3,a=[];r&lt;t;++r){var o=e.charCodeAt(n++),s=e.charCodeAt(n++),i=e.charCodeAt(n++);if((o|s|i)&gt;255)throw new Error("String contains an invalid character");a[a.length]=table[o&gt;&gt;2]+table[o&lt;&lt;4&amp;63|s&gt;&gt;4]+(isNaN(s)?"=":table[s&lt;&lt;2&amp;63|i&gt;&gt;6])+(isNaN(s+i)?"=":table[63&amp;i])}return a.join("")}};function checkoutEncryptAES(e){null==foreeSessionKey&amp;&amp;(generateAESKey(),generateAESIV());var r=aesjs.utils.utf8.toBytes(e);r=aesjs.padding.pkcs7.pad(r);var n=new aesjs.ModeOfOperation.cbc(foreeSessionKeyArray,foreeIVKeyArray).encrypt(r);return aesjs.utils.hex.fromBytes(n)};function hexToBase64(e){return btoa(String.fromCharCode.apply(null,e.replace(/\r|\n/g,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")))};function generateAESKey(){var e=Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15);return key=sha512(e),key=key.substring(0,64),key=hexToBase64(key),foreeSessionKeyArray=(foreeSessionKeyArray=sha512.array(e)).slice(0,32),key};function generateAESIV(){var e=Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15);return iv=sha512(e),iv=iv.substring(0,32),foreeIVKeyArray=(foreeIVKeyArray=sha512.array(e)).slice(0,16),iv};function generateForeeRequestUUID(){return foreeUUIDs4()+foreeUUIDs4()+"-"+foreeUUIDs4()+"-"+foreeUUIDs4()+"-"+foreeUUIDs4()+"-"+foreeUUIDs4()+foreeUUIDs4()+foreeUUIDs4()};function foreeUUIDs4(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)};function str2ab(e){const r=new ArrayBuffer(e.length),n=new Uint8Array(r);for(let r=0,t=e.length;r&lt;t;r++)n[r]=e.charCodeAt(r);return r};function importRsaKey(e){const r=window.atob(e),n=str2ab(r);return window.crypto.subtle.importKey("spki",n,{name:"RSA-OAEP",hash:"SHA-256"},!0,["encrypt"])}function getMessageEncoding(e){return(new TextEncoder).encode(e)};function checkoutEncryptMessage(e,r){let n=getMessageEncoding(e);return window.crypto.subtle.encrypt({name:"RSA-OAEP",hash:"SHA-256"},r,n)}function arrayBufferToBase64(e){for(var r="",n=new Uint8Array(e),t=n.byteLength,a=0;a&lt;t;a++)r+=String.fromCharCode(n[a]);return window.btoa(r)}function encryptForeeCheckoutJSDataObj(e){var r=generateForeeRequestUUID();e.request_id=r;var n=JSON.stringify(e);return encryptedBodyData=checkoutEncryptAES(n),e=hexToBase64(encryptedBodyData)};async function encryptPKI(e){return null==encryptedSkey?importRsaKey(pubKey).then(function(r){return checkoutEncryptMessage(e,r).then(function(e){var r=arrayBufferToBase64(e);return encryptedSkey=r,r})}):encryptedSkey};function checkoutGetAESIV(){return null==foreeIVKey&amp;&amp;(foreeIVKey=generateAESIV()),foreeIVKey};function checkoutGetAESKey(){return null==foreeSessionKey&amp;&amp;(foreeSessionKey=generateAESKey()),foreeSessionKey};function getForeeCryptoHeader(){var e=checkoutGetAESIV();return e=hexToBase64(e),encryptPKI(checkoutGetAESKey()).then(function(r){return{"X-Session-Key":r,"X-IV":e}})}</pre></body></html>