diff --git a/dist/bookmarklet.js b/dist/bookmarklet.js index 3f00871..827ddf7 100644 --- a/dist/bookmarklet.js +++ b/dist/bookmarklet.js @@ -10,7 +10,7 @@ var r=n(174),i=n(175),o=n(88);function s(){return c.TYPED_ARRAY_SUPPORT?21474836 object-assign (c) Sindre Sorhus @license MIT -*/var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function s(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,c=s(e),f=1;f-1?r:o.nextTick;b.WritableState=y;var f=Object.create(n(30));f.inherits=n(1);var u={deprecate:n(185)},l=n(90),d=n(59).Buffer,h=i.Uint8Array||function(){};var p,m=n(91);function g(){}function y(e,t){a=a||n(20),e=e||{};var r=t instanceof a;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,f=e.writableHighWaterMark,u=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(f||0===f)?f:u,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var l=!1===e.decodeStrings;this.decodeStrings=!l,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,i){--t.pendingcb,n?(o.nextTick(i,r),o.nextTick(k,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(i(r),e._writableState.errorEmitted=!0,e.emit("error",r),k(e,t))}(e,n,r,t,i);else{var s=w(n);s||n.corked||n.bufferProcessing||!n.bufferedRequest||A(e,n),r?c(v,e,n,s,i):v(e,n,s,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function b(e){if(a=a||n(20),!(p.call(b,this)||this instanceof a))return new b(e);this._writableState=new y(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),l.call(this)}function _(e,t,n,r,i,o,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function v(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),k(e,t)}function A(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,i=new Array(r),o=t.corkedRequestsFree;o.entry=n;for(var a=0,c=!0;n;)i[a]=n,n.isBuf||(c=!1),n=n.next,a+=1;i.allBuffers=c,_(e,t,!0,t.length,i,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;n;){var f=n.chunk,u=n.encoding,l=n.callback;if(_(e,t,!1,t.objectMode?1:f.length,f,u,l),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function w(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function E(e,t){e._final((function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),k(e,t)}))}function k(e,t){var n=w(t);return n&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,o.nextTick(E,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}f.inherits(b,l),y.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(y.prototype,"buffer",{get:u.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(b,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===b&&(e&&e._writableState instanceof y)}})):p=function(e){return e instanceof this},b.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},b.prototype.write=function(e,t,n){var r,i=this._writableState,s=!1,a=!i.objectMode&&(r=e,d.isBuffer(r)||r instanceof h);return a&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof n&&(n=g),i.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),o.nextTick(t,n)}(this,n):(a||function(e,t,n,r){var i=!0,s=!1;return null===n?s=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),o.nextTick(r,s),i=!1),i}(this,i,e,n))&&(i.pendingcb++,s=function(e,t,n,r,i,o){if(!n){var s=function(e,t,n){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,n));return t}(t,r,i);r!==s&&(n=!0,i="buffer",r=s)}var a=t.objectMode?1:r.length;t.length+=a;var c=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(b.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),b.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},b.prototype._writev=null,b.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,k(e,t),n&&(t.finished?o.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,r,n)},Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),b.prototype.destroy=m.destroy,b.prototype._undestroy=m.undestroy,b.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,n(12),n(183).setImmediate,n(5))},function(e,t,n){"use strict";var r=n(3).Buffer,i=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(r.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=c,this.end=f,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=u,this.end=l,t=3;break;default:return this.write=d,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function s(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function c(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function f(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function u(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function l(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0)return i>0&&(e.lastNeed=i-1),i;if(--r=0)return i>0&&(e.lastNeed=i-2),i;if(--r=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,n){"use strict";var r=n(1),i=n(94),o=n(3).Buffer,s=new Array(16);function a(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function c(e,t){return e<>>32-t}function f(e,t,n,r,i,o,s){return c(e+(t&n|~t&r)+i+o|0,s)+t|0}function u(e,t,n,r,i,o,s){return c(e+(t&r|n&~r)+i+o|0,s)+t|0}function l(e,t,n,r,i,o,s){return c(e+(t^n^r)+i+o|0,s)+t|0}function d(e,t,n,r,i,o,s){return c(e+(n^(t|~r))+i+o|0,s)+t|0}r(a,i),a.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var n=this._a,r=this._b,i=this._c,o=this._d;n=f(n,r,i,o,e[0],3614090360,7),o=f(o,n,r,i,e[1],3905402710,12),i=f(i,o,n,r,e[2],606105819,17),r=f(r,i,o,n,e[3],3250441966,22),n=f(n,r,i,o,e[4],4118548399,7),o=f(o,n,r,i,e[5],1200080426,12),i=f(i,o,n,r,e[6],2821735955,17),r=f(r,i,o,n,e[7],4249261313,22),n=f(n,r,i,o,e[8],1770035416,7),o=f(o,n,r,i,e[9],2336552879,12),i=f(i,o,n,r,e[10],4294925233,17),r=f(r,i,o,n,e[11],2304563134,22),n=f(n,r,i,o,e[12],1804603682,7),o=f(o,n,r,i,e[13],4254626195,12),i=f(i,o,n,r,e[14],2792965006,17),n=u(n,r=f(r,i,o,n,e[15],1236535329,22),i,o,e[1],4129170786,5),o=u(o,n,r,i,e[6],3225465664,9),i=u(i,o,n,r,e[11],643717713,14),r=u(r,i,o,n,e[0],3921069994,20),n=u(n,r,i,o,e[5],3593408605,5),o=u(o,n,r,i,e[10],38016083,9),i=u(i,o,n,r,e[15],3634488961,14),r=u(r,i,o,n,e[4],3889429448,20),n=u(n,r,i,o,e[9],568446438,5),o=u(o,n,r,i,e[14],3275163606,9),i=u(i,o,n,r,e[3],4107603335,14),r=u(r,i,o,n,e[8],1163531501,20),n=u(n,r,i,o,e[13],2850285829,5),o=u(o,n,r,i,e[2],4243563512,9),i=u(i,o,n,r,e[7],1735328473,14),n=l(n,r=u(r,i,o,n,e[12],2368359562,20),i,o,e[5],4294588738,4),o=l(o,n,r,i,e[8],2272392833,11),i=l(i,o,n,r,e[11],1839030562,16),r=l(r,i,o,n,e[14],4259657740,23),n=l(n,r,i,o,e[1],2763975236,4),o=l(o,n,r,i,e[4],1272893353,11),i=l(i,o,n,r,e[7],4139469664,16),r=l(r,i,o,n,e[10],3200236656,23),n=l(n,r,i,o,e[13],681279174,4),o=l(o,n,r,i,e[0],3936430074,11),i=l(i,o,n,r,e[3],3572445317,16),r=l(r,i,o,n,e[6],76029189,23),n=l(n,r,i,o,e[9],3654602809,4),o=l(o,n,r,i,e[12],3873151461,11),i=l(i,o,n,r,e[15],530742520,16),n=d(n,r=l(r,i,o,n,e[2],3299628645,23),i,o,e[0],4096336452,6),o=d(o,n,r,i,e[7],1126891415,10),i=d(i,o,n,r,e[14],2878612391,15),r=d(r,i,o,n,e[5],4237533241,21),n=d(n,r,i,o,e[12],1700485571,6),o=d(o,n,r,i,e[3],2399980690,10),i=d(i,o,n,r,e[10],4293915773,15),r=d(r,i,o,n,e[1],2240044497,21),n=d(n,r,i,o,e[8],1873313359,6),o=d(o,n,r,i,e[15],4264355552,10),i=d(i,o,n,r,e[6],2734768916,15),r=d(r,i,o,n,e[13],1309151649,21),n=d(n,r,i,o,e[4],4149444226,6),o=d(o,n,r,i,e[11],3174756917,10),i=d(i,o,n,r,e[2],718787259,15),r=d(r,i,o,n,e[9],3951481745,21),this._a=this._a+n|0,this._b=this._b+r|0,this._c=this._c+i|0,this._d=this._d+o|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=o.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=a},function(e,t,n){"use strict";var r=n(10).Buffer,i=n(1),o=n(94),s=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],c=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],f=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],u=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],l=[0,1518500249,1859775393,2400959708,2840853838],d=[1352829926,1548603684,1836072691,2053994217,0];function h(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(e,t){return e<>>32-t}function m(e,t,n,r,i,o,s,a){return p(e+(t^n^r)+o+s|0,a)+i|0}function g(e,t,n,r,i,o,s,a){return p(e+(t&n|~t&r)+o+s|0,a)+i|0}function y(e,t,n,r,i,o,s,a){return p(e+((t|~n)^r)+o+s|0,a)+i|0}function b(e,t,n,r,i,o,s,a){return p(e+(t&r|n&~r)+o+s|0,a)+i|0}function _(e,t,n,r,i,o,s,a){return p(e+(t^(n|~r))+o+s|0,a)+i|0}i(h,o),h.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var n=0|this._a,r=0|this._b,i=0|this._c,o=0|this._d,h=0|this._e,v=0|this._a,A=0|this._b,w=0|this._c,E=0|this._d,k=0|this._e,S=0;S<80;S+=1){var I,T;S<16?(I=m(n,r,i,o,h,e[a[S]],l[0],f[S]),T=_(v,A,w,E,k,e[c[S]],d[0],u[S])):S<32?(I=g(n,r,i,o,h,e[a[S]],l[1],f[S]),T=b(v,A,w,E,k,e[c[S]],d[1],u[S])):S<48?(I=y(n,r,i,o,h,e[a[S]],l[2],f[S]),T=y(v,A,w,E,k,e[c[S]],d[2],u[S])):S<64?(I=b(n,r,i,o,h,e[a[S]],l[3],f[S]),T=g(v,A,w,E,k,e[c[S]],d[3],u[S])):(I=_(n,r,i,o,h,e[a[S]],l[4],f[S]),T=m(v,A,w,E,k,e[c[S]],d[4],u[S])),n=h,h=o,o=p(i,10),i=r,r=I,v=k,k=E,E=p(w,10),w=A,A=T}var R=this._b+i+E|0;this._b=this._c+o+k|0,this._c=this._d+h+v|0,this._d=this._e+n+A|0,this._e=this._a+r+w|0,this._a=R},h.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=r.alloc?r.alloc(20):new r(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=h},function(e,t,n){(t=e.exports=function(e){e=e.toLowerCase();var n=t[e];if(!n)throw new Error(e+" is not supported (we accept pull requests)");return new n}).sha=n(198),t.sha1=n(199),t.sha224=n(200),t.sha256=n(95),t.sha384=n(201),t.sha512=n(96)},function(e,t,n){"use strict";var r=n(14);function i(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}e.exports=i,i.prototype._init=function(){},i.prototype.update=function(e){return 0===e.length?[]:"decrypt"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},i.prototype._buffer=function(e,t){for(var n=Math.min(this.buffer.length-this.bufferOff,e.length-t),r=0;r0;r--)t+=this._buffer(e,t),n+=this._flushBuffer(i,n);return t+=this._buffer(e,t),i},i.prototype.final=function(e){var t,n;return e&&(t=this.update(e)),n="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(n):n},i.prototype._pad=function(e,t){if(0===t)return!1;for(;t=0||!n.umod(e.prime1)||!n.umod(e.prime2);)n=new r(i(t));return n}e.exports=o,o.getr=s}).call(this,n(10).Buffer)},function(e,t,n){"use strict";var r=t;r.version=n(227).version,r.utils=n(15),r.rand=n(68),r.curve=n(115),r.curves=n(71),r.ec=n(238),r.eddsa=n(242)},function(e,t,n){"use strict";var r,i=t,o=n(72),s=n(115),a=n(15).assert;function c(e){"short"===e.type?this.curve=new s.short(e):"edwards"===e.type?this.curve=new s.edwards(e):this.curve=new s.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function f(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var n=new c(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:n}),n}})}i.PresetCurve=c,f("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),f("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),f("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),f("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),f("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),f("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),f("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=n(237)}catch(e){r=void 0}f("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})},function(e,t,n){var r=t;r.utils=n(17),r.common=n(33),r.sha=n(231),r.ripemd=n(235),r.hmac=n(236),r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.MemoryCryptoStore=void 0;var i=n(4),o=r(n(8));t.MemoryCryptoStore=class{constructor(){this._outgoingRoomKeyRequests=[],this._account=null,this._crossSigningKeys=null,this._sessions={},this._sessionProblems={},this._notifiedErrorDevices={},this._inboundGroupSessions={},this._inboundGroupSessionsWithheld={},this._deviceData=null,this._rooms={},this._sessionsNeedingBackup={}}deleteAllData(){return Promise.resolve()}getOrAddOutgoingRoomKeyRequest(e){const t=e.requestBody;return o.promiseTry(()=>{const n=this._getOutgoingRoomKeyRequest(t);return n?(i.logger.log("already have key request outstanding for "+`${t.room_id} / ${t.session_id}: `+"not sending another"),n):(i.logger.log(`enqueueing key request for ${t.room_id} / `+t.session_id),this._outgoingRoomKeyRequests.push(e),e)})}getOutgoingRoomKeyRequest(e){return Promise.resolve(this._getOutgoingRoomKeyRequest(e))}_getOutgoingRoomKeyRequest(e){for(const t of this._outgoingRoomKeyRequests)if(o.deepCompare(t.requestBody,e))return t;return null}getOutgoingRoomKeyRequestByState(e){for(const t of this._outgoingRoomKeyRequests)for(const n of e)if(t.state===n)return Promise.resolve(t);return Promise.resolve(null)}getOutgoingRoomKeyRequestsByTarget(e,t,n){const r=[];for(const i of this._outgoingRoomKeyRequests)for(const o of n)i.state===o&&i.recipients.includes({userId:e,deviceId:t})&&r.push(i);return Promise.resolve(r)}updateOutgoingRoomKeyRequest(e,t,n){for(const r of this._outgoingRoomKeyRequests)if(r.requestId===e)return r.state!=t?(i.logger.warn(`Cannot update room key request from ${t} `+`as it was already updated to ${r.state}`),Promise.resolve(null)):(Object.assign(r,n),Promise.resolve(r));return Promise.resolve(null)}deleteOutgoingRoomKeyRequest(e,t){for(let n=0;ne.time-t.time)}async getEndToEndSessionProblem(e,t){const n=this._sessionProblems[e]||[];if(!n.length)return null;const r=n[n.length-1];for(const e of n)if(e.time>t)return Object.assign({},e,{fixed:r.fixed});return r.fixed?null:r}async filterOutNotifiedErrorDevices(e){const t=this._notifiedErrorDevices,n=[];for(const r of e){const{userId:e,deviceInfo:i}=r;e in t?i.deviceId in t[e]||(n.push(r),t[e][i.deviceId]=!0):(n.push(r),t[e]={[i.deviceId]:!0})}return n}getEndToEndInboundGroupSession(e,t,n,r){const i=e+"/"+t;r(this._inboundGroupSessions[i]||null,this._inboundGroupSessionsWithheld[i]||null)}getAllEndToEndInboundGroupSessions(e,t){for(const e of Object.keys(this._inboundGroupSessions))t({senderKey:e.substr(0,43),sessionId:e.substr(44),sessionData:this._inboundGroupSessions[e]});t(null)}addEndToEndInboundGroupSession(e,t,n,r){const i=e+"/"+t;void 0===this._inboundGroupSessions[i]&&(this._inboundGroupSessions[i]=n)}storeEndToEndInboundGroupSession(e,t,n,r){this._inboundGroupSessions[e+"/"+t]=n}storeEndToEndInboundGroupSessionWithheld(e,t,n,r){const i=e+"/"+t;this._inboundGroupSessionsWithheld[i]=n}getEndToEndDeviceData(e,t){t(this._deviceData)}storeEndToEndDeviceData(e,t){this._deviceData=e}storeEndToEndRoom(e,t,n){this._rooms[e]=t}getEndToEndRooms(e,t){t(this._rooms)}getSessionsNeedingBackup(e){const t=[];for(const n in this._sessionsNeedingBackup)if(this._inboundGroupSessions[n]&&(t.push({senderKey:n.substr(0,43),sessionId:n.substr(44),sessionData:this._inboundGroupSessions[n]}),e&&n.length>=e))break;return Promise.resolve(t)}countSessionsNeedingBackup(){return Promise.resolve(Object.keys(this._sessionsNeedingBackup).length)}unmarkSessionsNeedingBackup(e){for(const t of e){const e=t.senderKey+"/"+t.sessionId;delete this._sessionsNeedingBackup[e]}return Promise.resolve()}markSessionsNeedingBackup(e){for(const t of e){const e=t.senderKey+"/"+t.sessionId;this._sessionsNeedingBackup[e]=!0}return Promise.resolve()}doTxn(e,t,n){return Promise.resolve(n(null))}}},function(e,t,n){"use strict";var r=n(269),i=n(270);function o(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=_,t.resolve=function(e,t){return _(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?_(e,!1,!0).resolveObject(t):t},t.format=function(e){i.isString(e)&&(e=_(e));return e instanceof o?e.format():o.prototype.format.call(e)},t.Url=o;var s=/^([a-z0-9.+-]+:)/i,a=/:[0-9]*$/,c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,f=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),u=["'"].concat(f),l=["%","/","?",";","#"].concat(u),d=["/","?","#"],h=/^[+a-z0-9A-Z_-]{0,63}$/,p=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,m={javascript:!0,"javascript:":!0},g={javascript:!0,"javascript:":!0},y={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},b=n(271);function _(e,t,n){if(e&&i.isObject(e)&&e instanceof o)return e;var r=new o;return r.parse(e,t,n),r}o.prototype.parse=function(e,t,n){if(!i.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var o=e.indexOf("?"),a=-1!==o&&o127?M+="x":M+=P[D];if(!M.match(h)){var N=x.slice(0,T),j=x.slice(T+1),U=P.match(p);U&&(N.push(U[1]),j.unshift(U[2])),j.length&&(_="/"+j.join(".")+_),this.hostname=N.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),O||(this.hostname=r.toASCII(this.hostname));var L=this.port?":"+this.port:"",F=this.hostname||"";this.host=F+L,this.href+=this.host,O&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==_[0]&&(_="/"+_))}if(!m[w])for(T=0,C=u.length;T0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift());return n.search=e.search,n.query=e.query,i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!E.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var S=E.slice(-1)[0],I=(n.host||e.host||E.length>1)&&("."===S||".."===S)||""===S,T=0,R=E.length;R>=0;R--)"."===(S=E[R])?E.splice(R,1):".."===S?(E.splice(R,1),T++):T&&(E.splice(R,1),T--);if(!A&&!w)for(;T--;T)E.unshift("..");!A||""===E[0]||E[0]&&"/"===E[0].charAt(0)||E.unshift(""),I&&"/"!==E.join("/").substr(-1)&&E.push("");var O,x=""===E[0]||E[0]&&"/"===E[0].charAt(0);k&&(n.hostname=n.host=x?"":E.length?E.shift():"",(O=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift()));return(A=A||n.host&&E.length)&&!x&&E.unshift(""),E.length?n.pathname=E.join("/"):(n.pathname=null,n.path=null),i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var e=this.host,t=a.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PushProcessor=s;var r=n(8);const i=["override","content","room","sender","underride"],o=[{rule_id:".m.rule.tombstone",default:!0,enabled:!0,conditions:[{kind:"event_match",key:"type",pattern:"m.room.tombstone"},{kind:"event_match",key:"state_key",pattern:""}],actions:["notify",{set_tweak:"highlight",value:!0}]},{rule_id:".m.rule.reaction",default:!0,enabled:!0,conditions:[{kind:"event_match",key:"type",pattern:"m.reaction"}],actions:["dont_notify"]}];function s(e){const t={},n=(e,t,n)=>{for(let r=0;r]*)([0-9]*)$/);if(!o)return!1;const s=o[1],a=parseInt(o[2]);if(isNaN(a))return!1;switch(s){case"":case"==":return i==a;case"<":return i":return i>a;case"<=":return i<=a;case">=":return i>=a;default:return!1}},l=function(t,n){let i=n.getContent();if(n.isEncrypted()&&n.getClearContent()&&(i=n.getClearContent()),!i||!i.body||"string"!=typeof i.body)return!1;const o=e.getRoom(n.getRoomId());if(!(o&&o.currentState&&o.currentState.members&&o.currentState.getMember(e.credentials.userId)))return!1;const s=o.currentState.getMember(e.credentials.userId).name,a=new RegExp("(^|\\W)"+(0,r.escapeRegExp)(s)+"(\\W|$)","i");return i.body.search(a)>-1},d=function(e,t){return!1},h=function(e,t){if(!e.key)return!1;const n=m(e.key,t);if("string"!=typeof n)return!1;if(e.value)return e.value===n;let r;return r="content.body"==e.key?p("(^|\\W)",e.pattern,"(\\W|$)"):p("^",e.pattern,"$"),!!n.match(r)},p=function(e,n,i){return t[n]?t[n]:(t[n]=new RegExp(e+(0,r.globToRegexp)(n)+i,"i"),t[n])},m=function(e,t){const n=e.split(".");let i;const o=n[0];for("content"===o?(i=t.getContent(),n.shift()):"type"===o?(i=t.getType(),n.shift()):i=t.event;n.length>0;){const e=n.shift();if((0,r.isNullOrUndefined)(i[e]))return null;i=i[e]}return i},g=function(t,r){const i=function(t,r){if(!r||!r.device)return null;if(t.getSender()==e.credentials.userId)return null;const i=Object.keys(r.device);for(let e=0;et.rule_id===e.rule_id)){const t=e.rule_id;console.warn(`Adding default global override for ${t}`),n.push(e)}}return t}(e.pushRules);return g(t,n)},this.getPushRuleById=function(t){for(const n of["device","global"])if(void 0!==e.pushRules[n])for(const r of i)if(void 0!==e.pushRules[n][r])for(const i of e.pushRules[n][r])if(i.rule_id===t)return i;return null}}s.actionListToActionsObject=function(e){const t={notify:!1,tweaks:{}};for(let n=0;n{const t=o.find(t=>t.rule_id===e.rule_id);return t?(e.default=t.default,e.conditions=t.conditions,e.actions=t.actions,e):e}),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Filter=o;var r=n(277);function i(e,t,n){const r=t.split(".");let i=e;for(let e=0;et!==e)}if(r)return t+" ("+e+")";return t}(this.userId,e.getDirectionalContent().displayname,t),this.rawDisplayName=e.getDirectionalContent().displayname||this.userId,n!==this.membership&&(this._updateModifiedTime(),this.emit("RoomMember.membership",e,this,n)),r!==this.name&&(this._updateModifiedTime(),this.emit("RoomMember.name",e,this,r))},a.prototype.setPowerLevelEvent=function(e){if("m.room.power_levels"!==e.getType())return;const t=e.getDirectionalContent();let n=t.users_default||0;s.forEach(s.values(t.users),(function(e){n=Math.max(n,e)}));const r=this.powerLevel,i=this.powerLevelNorm;t.users&&void 0!==t.users[this.userId]?this.powerLevel=t.users[this.userId]:void 0!==t.users_default?this.powerLevel=t.users_default:this.powerLevel=0,this.powerLevelNorm=0,n>0&&(this.powerLevelNorm=100*this.powerLevel/n),r===this.powerLevel&&i===this.powerLevelNorm||(this._updateModifiedTime(),this.emit("RoomMember.powerLevel",e,this))},a.prototype.setTypingEvent=function(e){if("m.typing"!==e.getType())return;const t=this.typing;this.typing=!1;const n=e.getContent().user_ids;s.isArray(n)&&(-1!==n.indexOf(this.userId)&&(this.typing=!0),t!==this.typing&&(this._updateModifiedTime(),this.emit("RoomMember.typing",e,this)))},a.prototype._updateModifiedTime=function(){this._modified=Date.now()},a.prototype.getLastModifiedTime=function(){return this._modified},a.prototype.isKicked=function(){return"leave"===this.membership&&this.events.member.getSender()!==this.events.member.getStateKey()},a.prototype.getDMInviter=function(){if(this.events.member){const e=this.events.member;let t=e.getContent(),n=e.getSender();if("join"===t.membership&&(t=e.getPrevContent(),n=e.getUnsigned().prev_sender),"invite"===t.membership&&t.is_direct)return n}},a.prototype.getAvatarUrl=function(e,t,n,r,i,s){void 0===i&&(i=!0);const a=this.getMxcAvatarUrl();if(!a&&!i)return null;const c=(0,o.getHttpUriForMxc)(e,a,t,n,r,s);return c||(i?(0,o.getIdenticonUri)(e,this.userId,t,n):null)},a.prototype.getMxcAvatarUrl=function(){return this.events.member?this.events.member.getDirectionalContent().avatar_url:this.user?this.user.avatarUrl:null}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReEmitter=void 0;t.ReEmitter=class{constructor(e){this.target=e,this.boundHandlers={}}_handleEvent(e,...t){this.target.emit(e,...t)}reEmit(e,t){const n=(t,...n)=>{t(...n,e)};for(const r of t){void 0===this.boundHandlers[r]&&(this.boundHandlers[r]=this._handleEvent.bind(this,r));const t=n.bind(this,this.boundHandlers[r]);e.on(r,t)}}}},function(e,t,n){"use strict";function r(e,t){const n=`Store is invalid because ${e}, `+"please stop the client, delete all data and start the client again",r=Reflect.construct(Error,[n]);return Reflect.setPrototypeOf(r,Reflect.getPrototypeOf(this)),r.reason=e,r.value=t,r}function i(e){const t=`Crypto store is invalid because ${e}, `+"please stop the client, delete all data and start the client again",n=Reflect.construct(Error,[t]);return Reflect.setPrototypeOf(n,Reflect.getPrototypeOf(this)),n.reason=e,n.name="InvalidCryptoStoreError",n}Object.defineProperty(t,"__esModule",{value:!0}),t.InvalidStoreError=r,t.InvalidCryptoStoreError=i,r.TOGGLED_LAZY_LOADING="TOGGLED_LAZY_LOADING",r.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Reflect.setPrototypeOf(r,Error),i.TOO_NEW="TOO_NEW",i.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Reflect.setPrototypeOf(i,Error)},function(e,t,n){"use strict";for(var r=/[\\\"\x00-\x1F]/g,i={},o=0;o<32;++o)i[String.fromCharCode(o)]="\\U"+("0000"+o.toString(16)).slice(-4).toUpperCase();function s(e){return r.lastIndex=0,e.replace(r,(function(e){return i[e]}))}function a(e){switch(typeof e){case"string":return'"'+s(e)+'"';case"number":return isFinite(e)?e:"null";case"boolean":return e;case"object":return null===e?"null":Array.isArray(e)?function(e){for(var t="[",n="",r=0;re+": "+t[e]).join(", "));return n+="]",n}(this,n)}}t.DecryptionError=o;class s extends Error{constructor(e,t){super(e),this.name="UnknownDeviceError",this.devices=t}}t.UnknownDeviceError=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VerificationRequest=t.PHASE_DONE=t.PHASE_CANCELLED=t.PHASE_STARTED=t.PHASE_REQUESTED=t.PHASE_UNSENT=t.DONE_TYPE=t.CANCEL_TYPE=t.START_TYPE=t.REQUEST_TYPE=t.EVENT_PREFIX=void 0;var r=n(4),i=n(297),o=n(9),s=n(37);const a="m.key.verification.";t.EVENT_PREFIX=a;const c=a+"request";t.REQUEST_TYPE=c;const f=a+"start";t.START_TYPE=f;const u=a+"cancel";t.CANCEL_TYPE=u;t.DONE_TYPE="m.key.verification.done";t.PHASE_UNSENT=1;t.PHASE_REQUESTED=2;t.PHASE_STARTED=4;t.PHASE_CANCELLED=5;t.PHASE_DONE=6;class l extends o.EventEmitter{constructor(e,t,n,r){super(),this.channel=e,this._verificationMethods=t,this._client=r,this._commonMethods=[],this._setPhase(1,!1),this._requestEvent=null,this._otherUserId=n,this._initiatedByMe=null,this._startTimestamp=null}static validateEvent(e,t,n,i){const o=t.getContent();if(!e.startsWith(a))return!1;if(e===c&&!Array.isArray(o.methods))return!1;if(!(e!==c&&e!==f||"string"==typeof o.from_device&&0!==o.from_device.length))return!1;if(Number.isFinite(n)){const e=Date.now()-n;if(e>597e3||e<-3e5)return r.logger.log("received verification that is too old or from the future"),!1}return!0}get methods(){return this._commonMethods}get timeout(){const e=Date.now()-this._startTimestamp;return Math.max(0,6e5-e)}get event(){return this._requestEvent}get phase(){return this._phase}get verifier(){return this._verifier}get pending(){return 1!==this._phase&&6!==this._phase&&5!==this._phase}get initiatedByMe(){return this._initiatedByMe}get requestingUserId(){return this.initiatedByMe?this._client.getUserId():this._otherUserId}get receivingUserId(){return this.initiatedByMe?this._otherUserId:this._client.getUserId()}beginKeyVerification(e,t=null){if(!this._verifier&&this._hasValidPreStartPhase()){if(this._commonMethods.length&&!this._commonMethods.includes(e))throw(0,s.newUnknownMethodError)();if(this._verifier=this._createVerifier(e,null,t),!this._verifier)throw(0,s.newUnknownMethodError)()}return this._verifier}async sendRequest(){if(1===this._phase){this._initiatedByMe=!0,this._setPhase(2,!1);const e=[...this._verificationMethods.keys()];await this.channel.send(c,{methods:e}),this.emit("change")}}async cancel({reason:e="User declined",code:t="m.user"}={}){if(5!==this._phase){if(this._verifier)return this._verifier.cancel((0,s.errorFactory)(t,e));this._setPhase(5,!1),await this.channel.send(u,{code:t,reason:e}),this.emit("change")}}waitForVerifier(){return this.verifier?Promise.resolve(this.verifier):new Promise(e=>{const t=()=>{this.verifier&&(this.off("change",t),e(this.verifier))};this.on("change",t)})}_setPhase(e,t=!0){this._phase=e,t&&this.emit("change")}async handleEvent(e,t,n){const r=t.getContent();e!==c&&e!==f||null===this._startTimestamp&&(this._startTimestamp=n),e===c?await this._handleRequest(r,t):e===f&&await this._handleStart(r,t),this._verifier&&(e===u||this._verifier.events&&this._verifier.events.includes(e))&&this._verifier.handleEvent(t),e===u?this._handleCancel():"m.key.verification.done"===e&&this._handleDone()}async _handleRequest(e,t){if(1===this._phase){const n=e.methods;this._commonMethods=n.filter(e=>this._verificationMethods.has(e)),this._requestEvent=t,this._initiatedByMe=this._wasSentByMe(t),this._setPhase(2)}else 2!==this._phase&&(r.logger.warn("Ignoring flagged verification request from "+t.getSender()),await this.cancel((0,s.errorFromEvent)((0,s.newUnexpectedMessageError)())))}_hasValidPreStartPhase(){return 2===this._phase||this.channel.constructor.canCreateRequest(f)&&1===this._phase}async _handleStart(e,t){if(this._hasValidPreStartPhase()){const{method:n}=e;this._verificationMethods.has(n)?(1===this.phase&&(this._initiatedByMe=this._wasSentByMe(t)),this._verifier=this._createVerifier(n,t),this._setPhase(4)):await this.cancel((0,s.errorFromEvent)((0,s.newUnknownMethodError)()))}}handleVerifierSend(e,t){e===u?this._handleCancel():e===f&&(1!==this._phase&&2!==this._phase||(this._initiatedByMe=1===this.phase,this._setPhase(4)))}_handleCancel(){5!==this._phase&&this._setPhase(5)}_handleDone(){4===this._phase&&this._setPhase(6)}_createVerifier(e,t=null,n=null){const r=t&&this._wasSentByMe(t),{userId:o,deviceId:s}=this._getVerifierTarget(t,n),a=this._verificationMethods.get(e);if(a)return new a(new i.RequestCallbackChannel(this,this.channel),this._client,o,s,r?null:t);console.warn("could not find verifier constructor for method",e)}_getVerifierTarget(e,t){if(t)return t;{let t;if(e&&!this._wasSentByMe(e))t=e;else{if(!this._requestEvent||this._wasSentByMe(this._requestEvent))throw new Error("can't determine who the verifier should be targeted at. No .request or .start event and no targetDevice");t=this._requestEvent}const n=t.getSender(),r=t.getContent();return{userId:n,deviceId:r&&r.from_device}}}_wasSentByMe(e){if(e.getSender()!==this._client.getUserId())return!1;const t=e.getContent();return!(!t||t.from_device!==this._client.getDeviceId())}}t.VerificationRequest=l},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,i=Array.isArray,o=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),s=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r1;){var t=e.pop(),n=t.obj[t.prop];if(i(n)){for(var r=[],o=0;o=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122?i+=r.charAt(s):a<128?i+=o[a]:a<2048?i+=o[192|a>>6]+o[128|63&a]:a<55296||a>=57344?i+=o[224|a>>12]+o[128|a>>6&63]+o[128|63&a]:(s+=1,a=65536+((1023&a)<<10|1023&r.charCodeAt(s)),i+=o[240|a>>18]+o[128|a>>12&63]+o[128|a>>6&63]+o[128|63&a])}return i},isBuffer:function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},merge:function e(t,n,o){if(!n)return t;if("object"!=typeof n){if(i(t))t.push(n);else{if(!t||"object"!=typeof t)return[t,n];(o&&(o.plainObjects||o.allowPrototypes)||!r.call(Object.prototype,n))&&(t[n]=!0)}return t}if(!t||"object"!=typeof t)return[t].concat(n);var a=t;return i(t)&&!i(n)&&(a=s(t,o)),i(t)&&i(n)?(n.forEach((function(n,i){if(r.call(t,i)){var s=t[i];s&&"object"==typeof s&&n&&"object"==typeof n?t[i]=e(s,n,o):t.push(n)}else t[i]=n})),t):Object.keys(n).reduce((function(t,i){var s=n[i];return r.call(t,i)?t[i]=e(t[i],s,o):t[i]=s,t}),a)}}},function(e,t,n){"use strict";t.__esModule=!0,t.AMPERSAND=t.CLOSEPAREN=t.CLOSEANGLEBRACKET=t.CLOSEBRACKET=t.CLOSEBRACE=t.OPENPAREN=t.OPENANGLEBRACKET=t.OPENBRACKET=t.OPENBRACE=t.WS=t.TLD=t.SYM=t.UNDERSCORE=t.SLASH=t.MAILTO=t.PROTOCOL=t.QUERY=t.POUND=t.PLUS=t.NUM=t.NL=t.LOCALHOST=t.PUNCTUATION=t.DOT=t.COLON=t.AT=t.DOMAIN=t.Base=void 0;var r=n(147),i=n(53),o=(0,r.createTokenClass)();function s(e){var t=e?{v:e}:{};return(0,i.inherits)(o,(0,r.createTokenClass)(),t)}o.prototype={toString:function(){return this.v+""}};var a=s(),c=s("@"),f=s(":"),u=s("."),l=s(),d=s(),h=s("\n"),p=s(),m=s("+"),g=s("#"),y=s(),b=s("mailto:"),_=s("?"),v=s("/"),A=s("_"),w=s(),E=s(),k=s(),S=s("{"),I=s("["),T=s("<"),R=s("("),O=s("}"),x=s("]"),C=s(">"),P=s(")"),M=s("&");t.Base=o,t.DOMAIN=a,t.AT=c,t.COLON=f,t.DOT=u,t.PUNCTUATION=l,t.LOCALHOST=d,t.NL=h,t.NUM=p,t.PLUS=m,t.POUND=g,t.QUERY=_,t.PROTOCOL=y,t.MAILTO=b,t.SLASH=v,t.UNDERSCORE=A,t.SYM=w,t.TLD=E,t.WS=k,t.OPENBRACE=S,t.OPENBRACKET=I,t.OPENANGLEBRACKET=T,t.OPENPAREN=R,t.CLOSEBRACE=O,t.CLOSEBRACKET=x,t.CLOSEANGLEBRACKET=C,t.CLOSEPAREN=P,t.AMPERSAND=M},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=(n(13),n(155)),s=n.n(o);t.a=function(e){var t=e.message,n=e.userId,r=e.botId,o=e.client,a=function(){switch(t.sender){case"from-me":case n:return"from-me";case r:return"from-bot";default:return"from-support"}};if(e.placeholder)return i.a.createElement("div",{className:"message from-me placeholder"},i.a.createElement("div",{className:"text"},t.content.body));if("m.file"===t.content.msgtype){var c=o.mxcUrlToHttp(t.content.url);return(i.a.createElement("div",{className:"message ".concat(a())},i.a.createElement("div",{className:"text"},i.a.createElement("a",{href:c,target:"_blank",rel:"noopener noreferrer"},t.content.body))))}if(t.content.formatted_body)return i.a.createElement("div",{className:"message ".concat(a())},i.a.createElement("div",{className:"text",dangerouslySetInnerHTML:{__html:t.content.formatted_body}}));return i.a.createElement("div",{className:"message ".concat(a())},i.a.createElement("div",{className:"text"},i.a.createElement(s.a,{options:{linkAttributes:{rel:"noreferrer noopener"}}},t.content.body)))}},function(e,t,n){"use strict";var r=n(0),i=n.n(r);n(13);t.a=function(e){var t=e.handleToggleOpen,n=e.handleExitChat,r=e.opened;return(i.a.createElement("div",{className:"widget-header"},i.a.createElement("button",{type:"button",className:"widget-header-minimize",onClick:t,onKeyPress:t,"aria-label":"Minimize the chat window",title:"Minimize the chat window"},i.a.createElement("span",{className:"btn-icon arrow ".concat(r?"opened":"closed")},"⌃"),i.a.createElement("span",null,"".concat(r?"Hide":"Show"," the chat"))),i.a.createElement("button",{type:"button",className:"widget-header-close",onClick:n,onKeyPress:n,"aria-label":"Exit the chat",title:"Exit the chat"},i.a.createElement("span",{className:"btn-icon"},"×"))))}},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){"use strict";(function(t,r){var i=n(43);e.exports=_;var o,s=n(88);_.ReadableState=b;n(9).EventEmitter;var a=function(e,t){return e.listeners(t).length},c=n(90),f=n(59).Buffer,u=t.Uint8Array||function(){};var l=Object.create(n(30));l.inherits=n(1);var d=n(180),h=void 0;h=d&&d.debuglog?d.debuglog("stream"):function(){};var p,m=n(181),g=n(91);l.inherits(_,c);var y=["error","close","destroy","pause","resume"];function b(e,t){e=e||{};var r=t instanceof(o=o||n(20));this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,s=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=n(61).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function _(e){if(o=o||n(20),!(this instanceof _))return new _(e);this._readableState=new b(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),c.call(this)}function v(e,t,n,r,i){var o,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,E(e)}(e,s)):(i||(o=function(e,t){var n;r=t,f.isBuffer(r)||r instanceof u||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var r;return n}(s,t)),o?e.emit("error",o):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===f.prototype||(t=function(e){return f.from(e)}(t)),r?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):A(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?A(e,s,t,!1):S(e,s)):A(e,s,t,!1))):r||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function E(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(h("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(k,e):k(e))}function k(e){h("emit readable"),e.emit("readable"),O(e)}function S(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(I,e,t))}function I(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;eo.length?o.length:e;if(s===o.length?i+=o:i+=o.slice(0,e),0===(e-=s)){s===o.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(s));break}++r}return t.length-=r,i}(e,t):function(e,t){var n=f.allocUnsafe(e),r=t.head,i=1;r.data.copy(n),e-=r.data.length;for(;r=r.next;){var o=r.data,s=e>o.length?o.length:e;if(o.copy(n,n.length-e,0,s),0===(e-=s)){s===o.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(s));break}++i}return t.length-=i,n}(e,t);return r}(e,t.buffer,t.decoder),n);var n}function C(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(P,t,e))}function P(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function M(e,t){for(var n=0,r=e.length;n=t.highWaterMark||t.ended))return h("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?C(this):E(this),null;if(0===(e=w(e,t))&&t.ended)return 0===t.length&&C(this),null;var r,i=t.needReadable;return h("need readable",i),(0===t.length||t.length-e0?x(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&C(this)),null!==r&&this.emit("data",r),r},_.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},_.prototype.pipe=function(e,t){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=e;break;case 1:o.pipes=[o.pipes,e];break;default:o.pipes.push(e)}o.pipesCount+=1,h("pipe count=%d opts=%j",o.pipesCount,t);var c=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?u:_;function f(t,r){h("onunpipe"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,h("cleanup"),e.removeListener("close",y),e.removeListener("finish",b),e.removeListener("drain",l),e.removeListener("error",g),e.removeListener("unpipe",f),n.removeListener("end",u),n.removeListener("end",_),n.removeListener("data",m),d=!0,!o.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}function u(){h("onend"),e.end()}o.endEmitted?i.nextTick(c):n.once("end",c),e.on("unpipe",f);var l=function(e){return function(){var t=e._readableState;h("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,O(e))}}(n);e.on("drain",l);var d=!1;var p=!1;function m(t){h("ondata"),p=!1,!1!==e.write(t)||p||((1===o.pipesCount&&o.pipes===e||o.pipesCount>1&&-1!==M(o.pipes,e))&&!d&&(h("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,p=!0),n.pause())}function g(t){h("onerror",t),_(),e.removeListener("error",g),0===a(e,"error")&&e.emit("error",t)}function y(){e.removeListener("finish",b),_()}function b(){h("onfinish"),e.removeListener("close",y),_()}function _(){h("unpipe"),n.unpipe(e)}return n.on("data",m),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",g),e.once("close",y),e.once("finish",b),e.emit("pipe",n),o.flowing||(h("pipe resume"),n.resume()),e},_.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o=this._blockSize;){for(var o=this._blockOffset;o0;++s)this._length[s]+=a,(a=this._length[s]/4294967296|0)>0&&(this._length[s]-=4294967296*a);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var n=0;n<4;++n)this._length[n]=0;return t},o.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=o},function(e,t,n){var r=n(1),i=n(24),o=n(3).Buffer,s=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],a=new Array(64);function c(){this.init(),this._w=a,i.call(this,64,56)}function f(e,t,n){return n^e&(t^n)}function u(e,t,n){return e&t|n&(e|t)}function l(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function d(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function h(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}r(c,i),c.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},c.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,c=0|this._e,p=0|this._f,m=0|this._g,g=0|this._h,y=0;y<16;++y)n[y]=e.readInt32BE(4*y);for(;y<64;++y)n[y]=0|(((t=n[y-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+n[y-7]+h(n[y-15])+n[y-16];for(var b=0;b<64;++b){var _=g+d(c)+f(c,p,m)+s[b]+n[b]|0,v=l(r)+u(r,i,o)|0;g=m,m=p,p=c,c=a+_|0,a=o,o=i,i=r,r=_+v|0}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=c+this._e|0,this._f=p+this._f|0,this._g=m+this._g|0,this._h=g+this._h|0},c.prototype._hash=function(){var e=o.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=c},function(e,t,n){var r=n(1),i=n(24),o=n(3).Buffer,s=[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],a=new Array(160);function c(){this.init(),this._w=a,i.call(this,128,112)}function f(e,t,n){return n^e&(t^n)}function u(e,t,n){return e&t|n&(e|t)}function l(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function d(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function h(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function m(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function g(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function y(e,t){return e>>>0>>0?1:0}r(c,i),c.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},c.prototype._update=function(e){for(var t=this._w,n=0|this._ah,r=0|this._bh,i=0|this._ch,o=0|this._dh,a=0|this._eh,c=0|this._fh,b=0|this._gh,_=0|this._hh,v=0|this._al,A=0|this._bl,w=0|this._cl,E=0|this._dl,k=0|this._el,S=0|this._fl,I=0|this._gl,T=0|this._hl,R=0;R<32;R+=2)t[R]=e.readInt32BE(4*R),t[R+1]=e.readInt32BE(4*R+4);for(;R<160;R+=2){var O=t[R-30],x=t[R-30+1],C=h(O,x),P=p(x,O),M=m(O=t[R-4],x=t[R-4+1]),D=g(x,O),B=t[R-14],N=t[R-14+1],j=t[R-32],U=t[R-32+1],L=P+N|0,F=C+B+y(L,P)|0;F=(F=F+M+y(L=L+D|0,D)|0)+j+y(L=L+U|0,U)|0,t[R]=F,t[R+1]=L}for(var q=0;q<160;q+=2){F=t[q],L=t[q+1];var K=u(n,r,i),z=u(v,A,w),G=l(n,v),H=l(v,n),V=d(a,k),Q=d(k,a),W=s[q],Y=s[q+1],X=f(a,c,b),J=f(k,S,I),Z=T+Q|0,$=_+V+y(Z,T)|0;$=($=($=$+X+y(Z=Z+J|0,J)|0)+W+y(Z=Z+Y|0,Y)|0)+F+y(Z=Z+L|0,L)|0;var ee=H+z|0,te=G+K+y(ee,H)|0;_=b,T=I,b=c,I=S,c=a,S=k,a=o+$+y(k=E+Z|0,E)|0,o=i,E=w,i=r,w=A,r=n,A=v,n=$+te+y(v=Z+ee|0,Z)|0}this._al=this._al+v|0,this._bl=this._bl+A|0,this._cl=this._cl+w|0,this._dl=this._dl+E|0,this._el=this._el+k|0,this._fl=this._fl+S|0,this._gl=this._gl+I|0,this._hl=this._hl+T|0,this._ah=this._ah+n+y(this._al,v)|0,this._bh=this._bh+r+y(this._bl,A)|0,this._ch=this._ch+i+y(this._cl,w)|0,this._dh=this._dh+o+y(this._dl,E)|0,this._eh=this._eh+a+y(this._el,k)|0,this._fh=this._fh+c+y(this._fl,S)|0,this._gh=this._gh+b+y(this._gl,I)|0,this._hh=this._hh+_+y(this._hl,T)|0},c.prototype._hash=function(){var e=o.allocUnsafe(64);function t(t,n,r){e.writeInt32BE(t,r),e.writeInt32BE(n,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=c},function(e,t,n){"use strict";var r=n(1),i=n(202),o=n(18),s=n(3).Buffer,a=n(98),c=n(63),f=n(64),u=s.alloc(128);function l(e,t){o.call(this,"digest"),"string"==typeof t&&(t=s.from(t));var n="sha512"===e||"sha384"===e?128:64;(this._alg=e,this._key=t,t.length>n)?t=("rmd160"===e?new c:f(e)).update(t).digest():t.lengthn||o!=o)throw new TypeError("Bad key length")}}).call(this,n(10).Buffer)},function(e,t,n){(function(t){var n;t.browser?n="utf-8":n=parseInt(t.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary";e.exports=n}).call(this,n(12))},function(e,t,n){var r=n(98),i=n(63),o=n(64),s=n(101),a=n(102),c=n(3).Buffer,f=c.alloc(128),u={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function l(e,t,n){var s=function(e){function t(t){return o(e).update(t).digest()}return"rmd160"===e||"ripemd160"===e?function(e){return(new i).update(e).digest()}:"md5"===e?r:t}(e),a="sha512"===e||"sha384"===e?128:64;t.length>a?t=s(t):t.length>>0},t.writeUInt32BE=function(e,t,n){e[0+n]=t>>>24,e[1+n]=t>>>16&255,e[2+n]=t>>>8&255,e[3+n]=255&t},t.ip=function(e,t,n,r){for(var i=0,o=0,s=6;s>=0;s-=2){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>>a+s&1}for(s=6;s>=0;s-=2){for(a=1;a<=25;a+=8)o<<=1,o|=t>>>a+s&1;for(a=1;a<=25;a+=8)o<<=1,o|=e>>>a+s&1}n[r+0]=i>>>0,n[r+1]=o>>>0},t.rip=function(e,t,n,r){for(var i=0,o=0,s=0;s<4;s++)for(var a=24;a>=0;a-=8)i<<=1,i|=t>>>a+s&1,i<<=1,i|=e>>>a+s&1;for(s=4;s<8;s++)for(a=24;a>=0;a-=8)o<<=1,o|=t>>>a+s&1,o<<=1,o|=e>>>a+s&1;n[r+0]=i>>>0,n[r+1]=o>>>0},t.pc1=function(e,t,n,r){for(var i=0,o=0,s=7;s>=5;s--){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>a+s&1}for(a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(s=1;s<=3;s++){for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1;for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1}for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1;n[r+0]=i>>>0,n[r+1]=o>>>0},t.r28shl=function(e,t){return e<>>28-t};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function(e,t,n,i){for(var o=0,s=0,a=r.length>>>1,c=0;c>>r[c]&1;for(c=a;c>>r[c]&1;n[i+0]=o>>>0,n[i+1]=s>>>0},t.expand=function(e,t,n){var r=0,i=0;r=(1&e)<<5|e>>>27;for(var o=23;o>=15;o-=4)r<<=6,r|=e>>>o&63;for(o=11;o>=3;o-=4)i|=e>>>o&63,i<<=6;i|=(31&e)<<1|e>>>31,t[n+0]=r>>>0,t[n+1]=i>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function(e,t){for(var n=0,r=0;r<4;r++){n<<=4,n|=i[64*r+(e>>>18-6*r&63)]}for(r=0;r<4;r++){n<<=4,n|=i[256+64*r+(t>>>18-6*r&63)]}return n>>>0};var o=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function(e){for(var t=0,n=0;n>>o[n]&1;return t>>>0},t.padSplit=function(e,t,n){for(var r=e.toString(2);r.length>>1];n=o.r28shl(n,a),i=o.r28shl(i,a),o.pc2(n,i,e.keys,s)}},c.prototype._update=function(e,t,n,r){var i=this._desState,s=o.readUInt32BE(e,t),a=o.readUInt32BE(e,t+4);o.ip(s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],"encrypt"===this.type?this._encrypt(i,s,a,i.tmp,0):this._decrypt(i,s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],o.writeUInt32BE(n,s,r),o.writeUInt32BE(n,a,r+4)},c.prototype._pad=function(e,t){for(var n=e.length-t,r=t;r>>0,s=d}o.rip(a,s,r,i)},c.prototype._decrypt=function(e,t,n,r,i){for(var s=n,a=t,c=e.keys.length-2;c>=0;c-=2){var f=e.keys[c],u=e.keys[c+1];o.expand(s,e.tmp,0),f^=e.tmp[0],u^=e.tmp[1];var l=o.substitute(f,u),d=s;s=(a^o.permute(l))>>>0,a=d}o.rip(s,a,r,i)}},function(e,t,n){var r=n(32),i=n(3).Buffer,o=n(107);function s(e){var t=e._cipher.encryptBlockRaw(e._prev);return o(e._prev),t}t.encrypt=function(e,t){var n=Math.ceil(t.length/16),o=e._cache.length;e._cache=i.concat([e._cache,i.allocUnsafe(16*n)]);for(var a=0;ae;)n.ishrn(1);if(n.isEven()&&n.iadd(a),n.testn(1)||n.iadd(c),t.cmp(c)){if(!t.cmp(f))for(;n.mod(u).cmp(l);)n.iadd(h)}else for(;n.mod(o).cmp(d);)n.iadd(h);if(g(p=n.shrn(1))&&g(n)&&y(p)&&y(n)&&s.test(p)&&s.test(n))return n}}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){var r=n(11),i=n(68);function o(e){this.rand=e||new i.Rand}e.exports=o,o.create=function(e){return new o(e)},o.prototype._randbelow=function(e){var t=e.bitLength(),n=Math.ceil(t/8);do{var i=new r(this.rand.generate(n))}while(i.cmp(e)>=0);return i},o.prototype._randrange=function(e,t){var n=t.sub(e);return e.add(this._randbelow(n))},o.prototype.test=function(e,t,n){var i=e.bitLength(),o=r.mont(e),s=new r(1).toRed(o);t||(t=Math.max(1,i/48|0));for(var a=e.subn(1),c=0;!a.testn(c);c++);for(var f=e.shrn(c),u=a.toRed(o);t>0;t--){var l=this._randrange(new r(2),a);n&&n(l);var d=l.toRed(o).redPow(f);if(0!==d.cmp(s)&&0!==d.cmp(u)){for(var h=1;h0;t--){var u=this._randrange(new r(2),s),l=e.gcd(u);if(0!==l.cmpn(1))return l;var d=u.toRed(i).redPow(c);if(0!==d.cmp(o)&&0!==d.cmp(f)){for(var h=1;h>8,s=255&i;o?n.push(o,s):n.push(s)}return n},r.zero2=i,r.toHex=o,r.encode=function(e,t){return"hex"===t?o(e):e}},function(e,t,n){"use strict";var r=t;r.base=n(46),r.short=n(228),r.mont=n(229),r.edwards=n(230)},function(e,t,n){"use strict";var r=n(17).rotr32;function i(e,t,n){return e&t^~e&n}function o(e,t,n){return e&t^e&n^t&n}function s(e,t,n){return e^t^n}t.ft_1=function(e,t,n,r){return 0===e?i(t,n,r):1===e||3===e?s(t,n,r):2===e?o(t,n,r):void 0},t.ch32=i,t.maj32=o,t.p32=s,t.s0_256=function(e){return r(e,2)^r(e,13)^r(e,22)},t.s1_256=function(e){return r(e,6)^r(e,11)^r(e,25)},t.g0_256=function(e){return r(e,7)^r(e,18)^e>>>3},t.g1_256=function(e){return r(e,17)^r(e,19)^e>>>10}},function(e,t,n){"use strict";var r=n(17),i=n(33),o=n(116),s=n(14),a=r.sum32,c=r.sum32_4,f=r.sum32_5,u=o.ch32,l=o.maj32,d=o.s0_256,h=o.s1_256,p=o.g0_256,m=o.g1_256,g=i.BlockHash,y=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function b(){if(!(this instanceof b))return new b;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=y,this.W=new Array(64)}r.inherits(b,g),e.exports=b,b.blockSize=512,b.outSize=256,b.hmacStrength=192,b.padLength=64,b.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r>6],i=0==(32&n);if(31==(31&n)){var o=n;for(n=0;128==(128&o);){if(o=e.readUInt8(t),e.isError(o))return o;n<<=7,n|=127&o}}else n&=31;return{cls:r,primitive:i,tag:n,tagStr:a.tag[n]}}function l(e,t,n){var r=e.readUInt8(n);if(e.isError(r))return r;if(!t&&128===r)return null;if(0==(128&r))return r;var i=127&r;if(i>4)return e.error("length octect is too long");r=0;for(var o=0;o=31)return r.error("Multi-octet tag encoding unsupported");t||(i|=32);return i|=a.tagClassByName[n||"universal"]<<6}(e,t,n,this.reporter);if(r.length<128)return(o=new i(2))[0]=s,o[1]=r.length,this._createEncoderBuffer([o,r]);for(var c=1,f=r.length;f>=256;f>>=8)c++;(o=new i(2+c))[0]=s,o[1]=128|c;f=1+c;for(var u=r.length;u>0;f--,u>>=8)o[f]=255&u;return this._createEncoderBuffer([o,r])},f.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){for(var n=new i(2*e.length),r=0;r=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}var o=0;for(r=0;r=128;s>>=7)o++}var a=new i(o),c=a.length-1;for(r=e.length-1;r>=0;r--){s=e[r];for(a[c--]=127&s;(s>>=7)>0;)a[c--]=128|127&s}return this._createEncoderBuffer(a)},f.prototype._encodeTime=function(e,t){var n,r=new Date(e);return"gentime"===t?n=[u(r.getFullYear()),u(r.getUTCMonth()+1),u(r.getUTCDate()),u(r.getUTCHours()),u(r.getUTCMinutes()),u(r.getUTCSeconds()),"Z"].join(""):"utctime"===t?n=[u(r.getFullYear()%100),u(r.getUTCMonth()+1),u(r.getUTCDate()),u(r.getUTCHours()),u(r.getUTCMinutes()),u(r.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(n,"octstr")},f.prototype._encodeNull=function(){return this._createEncoderBuffer("")},f.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!i.isBuffer(e)){var n=e.toArray();!e.sign&&128&n[0]&&n.unshift(0),e=new i(n)}if(i.isBuffer(e)){var r=e.length;0===e.length&&r++;var o=new i(r);return e.copy(o),0===e.length&&(o[0]=0),this._createEncoderBuffer(o)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);r=1;for(var s=e;s>=256;s>>=8)r++;for(s=(o=new Array(r)).length-1;s>=0;s--)o[s]=255&e,e>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(new i(o))},f.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},f.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},f.prototype._skipDefault=function(e,t,n){var r,i=this._baseState;if(null===i.default)return!1;var o=e.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,t,n).join()),o.length!==i.defaultBuffer.length)return!1;for(r=0;r(0,o.default)(n(135)));let P;t.ContentHelpers=C;let M=()=>new s.MemoryCryptoStore}).call(this,n(5))},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.MemoryStore=s;var i=n(48),o=r(n(8));function s(e){e=e||{},this.rooms={},this.groups={},this.users={},this.syncToken=null,this.filters={},this.accountData={},this.localStorage=e.localStorage,this._oobMembers={},this._clientOptions={}}s.prototype={getSyncToken:function(){return this.syncToken},isNewlyCreated:function(){return Promise.resolve(!0)},setSyncToken:function(e){this.syncToken=e},storeGroup:function(e){this.groups[e.groupId]=e},getGroup:function(e){return this.groups[e]||null},getGroups:function(){return o.values(this.groups)},storeRoom:function(e){this.rooms[e.roomId]=e,e.currentState.on("RoomState.members",this._onRoomMember.bind(this));const t=this;e.currentState.getMembers().forEach((function(n){t._onRoomMember(null,e.currentState,n)}))},_onRoomMember:function(e,t,n){if("invite"===n.membership)return;const r=this.users[n.userId]||new i.User(n.userId);n.name&&(r.setDisplayName(n.name),n.events.member&&r.setRawDisplayName(n.events.member.getDirectionalContent().displayname)),n.events.member&&n.events.member.getContent().avatar_url&&r.setAvatarUrl(n.events.member.getContent().avatar_url),this.users[r.userId]=r},getRoom:function(e){return this.rooms[e]||null},getRooms:function(){return o.values(this.rooms)},removeRoom:function(e){this.rooms[e]&&this.rooms[e].removeListener("RoomState.members",this._onRoomMember),delete this.rooms[e]},getRoomSummaries:function(){return o.map(o.values(this.rooms),(function(e){return e.summary}))},storeUser:function(e){this.users[e.userId]=e},getUser:function(e){return this.users[e]||null},getUsers:function(){return o.values(this.users)},scrollback:function(e,t){return[]},storeEvents:function(e,t,n,r){},storeFilter:function(e){e&&(this.filters[e.userId]||(this.filters[e.userId]={}),this.filters[e.userId][e.filterId]=e)},getFilter:function(e,t){return this.filters[e]&&this.filters[e][t]?this.filters[e][t]:null},getFilterIdByName:function(e){if(!this.localStorage)return null;try{return this.localStorage.getItem("mxjssdk_memory_filter_"+e)}catch(e){}return null},setFilterIdByName:function(e,t){if(this.localStorage)try{this.localStorage.setItem("mxjssdk_memory_filter_"+e,t)}catch(e){}},storeAccountDataEvents:function(e){const t=this;e.forEach((function(e){t.accountData[e.getType()]=e}))},getAccountData:function(e){return this.accountData[e]},setSyncData:function(e){return Promise.resolve()},wantsSave:function(){return!1},save:function(e){},startup:function(){return Promise.resolve()},getSavedSync:function(){return Promise.resolve(null)},getSavedSyncToken:function(){return Promise.resolve(null)},deleteAllData:function(){return this.rooms={},this.users={},this.syncToken=null,this.filters={},this.accountData={},Promise.resolve()},getOutOfBandMembers:function(e){return Promise.resolve(this._oobMembers[e]||null)},setOutOfBandMembers:function(e,t){return this._oobMembers[e]=t,Promise.resolve()},clearOutOfBandMembers:function(){return this._oobMembers={},Promise.resolve()},getClientOptions:function(){return Promise.resolve(this._clientOptions)},storeClientOptions:function(e){return this._clientOptions=Object.assign({},e),Promise.resolve()}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SERVICE_TYPES=void 0;const r=Object.freeze({IS:"SERVICE_TYPE_IS",IM:"SERVICE_TYPE_IM"});t.SERVICE_TYPES=r},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.Room=g;var i=n(9),o=n(131),s=n(25),a=n(50),c=r(n(8)),f=n(19),u=n(77),l=n(280),d=n(4),h=n(78);const p=["1","2","3","4","5"];function m(e,t,n){const r={content:{},type:"m.receipt",room_id:t.getRoomId()};return r.content[t.getId()]={},r.content[t.getId()][n]={},r.content[t.getId()][n][e]={ts:t.getTs()},new f.MatrixEvent(r)}function g(e,t,n,r){if((r=r||{}).pendingEventOrdering=r.pendingEventOrdering||"chronological",this.reEmitter=new h.ReEmitter(this),-1===["chronological","detached"].indexOf(r.pendingEventOrdering))throw new Error("opts.pendingEventOrdering MUST be either 'chronological' or 'detached'. Got: '"+r.pendingEventOrdering+"'");this.myUserId=n,this.roomId=e,this.name=e,this.tags={},this.accountData={},this.summary=null,this.storageToken=r.storageToken,this._opts=r,this._txnToEvent={},this._receipts={},this._receiptCacheByEventId={},this._realReceipts={},this._notificationCounts={},this._timelineSets=[new o.EventTimelineSet(this,r)],this.reEmitter.reEmit(this.getUnfilteredTimelineSet(),["Room.timeline","Room.timelineReset"]),this._fixUpLegacyTimelineFields(),this._filteredTimelineSets={},"detached"==this._opts.pendingEventOrdering&&(this._pendingEventList=[]),this._blacklistUnverifiedDevices=null,this._selfMembership=null,this._summaryHeroes=null,this._client=t,this._opts.lazyLoadMembers?this._membersPromise=null:this._membersPromise=Promise.resolve()}c.inherits(g,i.EventEmitter),g.prototype.getVersion=function(){const e=this.currentState.getStateEvents("m.room.create","");if(!e)return d.logger.warn("Room "+this.room_id+" does not have an m.room.create event"),"1";const t=e.getContent().room_version;return void 0===t?"1":t},g.prototype.shouldUpgradeToVersion=function(){return p.includes(this.getVersion())?null:"5"},g.prototype.getRecommendedVersion=async function(){let e=(await this._client.getCapabilities())["m.room_versions"];if(!e){e={default:"5",available:{}};for(const t of p)e.available[t]="stable"}let t=this._checkVersionAgainstCapability(e);if(t.urgent&&t.needsUpgrade){if(d.logger.warn("Refreshing room version capability because the server looks to be supporting a newer room version we don't know about."),e=(await this._client.getCapabilities(!0))["m.room_versions"],!e)return d.logger.warn("No room version capability - assuming upgrade required."),t;t=this._checkVersionAgainstCapability(e)}return t},g.prototype._checkVersionAgainstCapability=function(e){const t=this.getVersion();d.logger.log(`[${this.roomId}] Current version: ${t}`),d.logger.log(`[${this.roomId}] Version capability: `,e);const n={version:t,needsUpgrade:!1,urgent:!1};return t===e.default?n:Object.keys(e.available).filter(t=>"stable"===e.available[t]).includes(t)?n:(n.version=e.default,n.needsUpgrade=!0,n.urgent=!!this.getVersion().match(/^[0-9]+[0-9.]*$/g),n.urgent?d.logger.warn(`URGENT upgrade required on ${this.roomId}`):d.logger.warn(`Non-urgent upgrade required on ${this.roomId}`),n)},g.prototype.userMayUpgradeRoom=function(e){return this.currentState.maySendStateEvent("m.room.tombstone",e)},g.prototype.getPendingEvents=function(){if("detached"!==this._opts.pendingEventOrdering)throw new Error("Cannot call getPendingEvents with pendingEventOrdering == "+this._opts.pendingEventOrdering);return this._pendingEventList},g.prototype.hasPendingEvent=function(e){if("detached"!==this._opts.pendingEventOrdering)throw new Error("Cannot call hasPendingEvent with pendingEventOrdering == "+this._opts.pendingEventOrdering);return this._pendingEventList.some(t=>t.getId()===e)},g.prototype.getLiveTimeline=function(){return this.getUnfilteredTimelineSet().getLiveTimeline()},g.prototype.getLastActiveTimestamp=function(){const e=this.getLiveTimeline().getEvents();if(e.length){return e[e.length-1].getTs()}return Number.MIN_SAFE_INTEGER},g.prototype.getMyMembership=function(){return this._selfMembership},g.prototype.getDMInviter=function(){if(this.myUserId){const e=this.getMember(this.myUserId);if(e)return e.getDMInviter()}if("invite"===this._selfMembership){if(2==this.getInvitedAndJoinedMemberCount()&&this._summaryHeroes.length)return this._summaryHeroes[0]}},g.prototype.guessDMUserId=function(){const e=this.getMember(this.myUserId);if(e){const t=e.getDMInviter();if(t)return t}if(Array.isArray(this._summaryHeroes)&&this._summaryHeroes.length)return this._summaryHeroes[0];const t=this.currentState.getMembers().find(e=>e.userId!==this.myUserId);return t?t.userId:this.myUserId},g.prototype.getAvatarFallbackMember=function(){if(this.getInvitedAndJoinedMemberCount()>2)return;const e=Array.isArray(this._summaryHeroes)&&this._summaryHeroes.length;if(e){const e=this._summaryHeroes.map(e=>this.getMember(e)).find(e=>!!e);if(e)return e}const t=this.currentState.getMembers();if(t.length<=2){const e=t.find(e=>e.userId!==this.myUserId);if(e)return e}if(e){const e=this._summaryHeroes.map(e=>this._client.getUser(e)).find(e=>!!e);if(e){const t=new u.RoomMember(this.roomId,e.userId);return t.user=e,t}}},g.prototype.updateMyMembership=function(e){const t=this._selfMembership;this._selfMembership=e,t!==e&&("leave"===e&&this._cleanupAfterLeaving(),this.emit("Room.myMembership",this,e,t))},g.prototype._loadMembersFromServer=async function(){const e=this._client.store.getSyncToken(),t=c.encodeParams({not_membership:"leave",at:e}),n=c.encodeUri("/rooms/$roomId/members?"+t,{$roomId:this.roomId}),r=this._client._http;return(await r.authedRequest(void 0,"GET",n)).chunk},g.prototype._loadMembers=async function(){let e=!1,t=await this._client.store.getOutOfBandMembers(this.roomId);return null===t&&(e=!0,t=await this._loadMembersFromServer(),d.logger.log(`LL: got ${t.length} `+`members from server for room ${this.roomId}`)),{memberEvents:t.map(this._client.getEventMapper()),fromServer:e}},g.prototype.loadMembersIfNeeded=function(){if(this._membersPromise)return this._membersPromise;this.currentState.markOutOfBandMembersStarted();const e=this._loadMembers().then(e=>(this.currentState.setOutOfBandMembers(e.memberEvents),this._client.isCryptoEnabled()&&this._client.isRoomEncrypted(this.roomId)&&this._client._crypto.trackRoomDevices(this.roomId),e.fromServer)).catch(e=>{throw this._membersPromise=null,this.currentState.markOutOfBandMembersFailed(),e});return e.then(e=>{if(e){const e=this.currentState.getMembers().filter(e=>e.isOutOfBand()).map(e=>e.events.member.event);return d.logger.log(`LL: telling store to write ${e.length}`+` members for room ${this.roomId}`),this._client.store.setOutOfBandMembers(this.roomId,e).catch(e=>{d.logger.log("LL: storing OOB room members failed, oh well",e)})}}).catch(e=>{d.logger.error(e)}),this._membersPromise=e,this._membersPromise},g.prototype.clearLoadedMembersIfNeeded=async function(){this._opts.lazyLoadMembers&&this._membersPromise&&(await this.loadMembersIfNeeded(),await this._client.store.clearOutOfBandMembers(this.roomId),this.currentState.clearOutOfBandMembers(),this._membersPromise=null)},g.prototype._cleanupAfterLeaving=function(){this.clearLoadedMembersIfNeeded().catch(e=>{d.logger.error("error after clearing loaded members from "+`room ${this.roomId} after leaving`),d.logger.log(e)})},g.prototype.resetLiveTimeline=function(e,t){for(let n=0;ne.isUnverified()))return!0}return!1},g.prototype.getTimelineSets=function(){return this._timelineSets},g.prototype.getUnfilteredTimelineSet=function(){return this._timelineSets[0]},g.prototype.getTimelineForEvent=function(e){return this.getUnfilteredTimelineSet().getTimelineForEvent(e)},g.prototype.addTimeline=function(){return this.getUnfilteredTimelineSet().addTimeline()},g.prototype.findEventById=function(e){return this.getUnfilteredTimelineSet().findEventById(e)},g.prototype.getUnreadNotificationCount=function(e){return e=e||"total",this._notificationCounts[e]},g.prototype.setUnreadNotificationCount=function(e,t){this._notificationCounts[e]=t},g.prototype.setSummary=function(e){const t=e["m.heroes"],n=e["m.joined_member_count"],r=e["m.invited_member_count"];Number.isInteger(n)&&this.currentState.setJoinedMemberCount(n),Number.isInteger(r)&&this.currentState.setInvitedMemberCount(r),Array.isArray(t)&&(this._summaryHeroes=t.filter(e=>e!==this.myUserId))},g.prototype.setBlacklistUnverifiedDevices=function(e){this._blacklistUnverifiedDevices=e},g.prototype.getBlacklistUnverifiedDevices=function(){return this._blacklistUnverifiedDevices},g.prototype.getAvatarUrl=function(e,t,n,r,i){const o=this.currentState.getStateEvents("m.room.avatar","");if(void 0===i&&(i=!0),!o&&!i)return null;const s=o?o.getContent().url:null;return s?(0,a.getHttpUriForMxc)(e,s,t,n,r):i?(0,a.getIdenticonUri)(e,this.roomId,t,n):null},g.prototype.getAliases=function(){const e=[],t=this.currentState.getStateEvents("m.room.aliases");if(t)for(let n=0;n"string"==typeof e&&("#"===e[0]&&!!e.endsWith(`:${r.getStateKey()}`)));Array.prototype.push.apply(e,t)}}return e},g.prototype.getCanonicalAlias=function(){const e=this.currentState.getStateEvents("m.room.canonical_alias","");return e?e.getContent().alias:null},g.prototype.addEventsToTimeline=function(e,t,n,r){n.getTimelineSet().addEventsToTimeline(e,t,n,r)},g.prototype.getMember=function(e){return this.currentState.getMember(e)},g.prototype.getJoinedMembers=function(){return this.getMembersWithMembership("join")},g.prototype.getJoinedMemberCount=function(){return this.currentState.getJoinedMemberCount()},g.prototype.getInvitedMemberCount=function(){return this.currentState.getInvitedMemberCount()},g.prototype.getInvitedAndJoinedMemberCount=function(){return this.getInvitedMemberCount()+this.getJoinedMemberCount()},g.prototype.getMembersWithMembership=function(e){return c.filter(this.currentState.getMembers(),(function(t){return t.membership===e}))},g.prototype.getEncryptionTargetMembers=async function(){await this.loadMembersIfNeeded();let e=this.getMembersWithMembership("join");return this.shouldEncryptForInvitedMembers()&&(e=e.concat(this.getMembersWithMembership("invite"))),e},g.prototype.shouldEncryptForInvitedMembers=function(){const e=this.currentState.getStateEvents("m.room.history_visibility","");return e&&e.getContent()&&"joined"!==e.getContent().history_visibility},g.prototype.getDefaultRoomName=function(e){return b(this,e,!0)},g.prototype.hasMembershipState=function(e,t){const n=this.getMember(e);return!!n&&n.membership===t},g.prototype.getOrCreateFilteredTimelineSet=function(e){if(this._filteredTimelineSets[e.filterId])return this._filteredTimelineSets[e.filterId];const t=Object.assign({filter:e},this._opts),n=new o.EventTimelineSet(this,t);this.reEmitter.reEmit(n,["Room.timeline","Room.timelineReset"]),this._filteredTimelineSets[e.filterId]=n,this._timelineSets.push(n);const r=this.getLiveTimeline();r.getEvents().forEach((function(e){n.addLiveEvent(e)}));let i=r;for(;i.getNeighbouringTimeline(s.EventTimeline.BACKWARDS);)i=i.getNeighbouringTimeline(s.EventTimeline.BACKWARDS);return n.getLiveTimeline().setPaginationToken(i.getPaginationToken(s.EventTimeline.BACKWARDS),s.EventTimeline.BACKWARDS),n},g.prototype.removeFilteredTimelineSet=function(e){const t=this._filteredTimelineSets[e.filterId];delete this._filteredTimelineSets[e.filterId];const n=this._timelineSets.indexOf(t);n>-1&&this._timelineSets.splice(n,1)},g.prototype._addLiveEvent=function(e,t){if(e.isRedaction()){const t=e.event.redacts,n=this.getUnfilteredTimelineSet().findEventById(t);if(n){if(n.makeRedacted(e),n.getStateKey()){this.currentState.getStateEvents(n.getType(),n.getStateKey()).getId()===n.getId()&&this.currentState.setStateEvents([n])}this.emit("Room.redaction",e,this)}}if(e.getUnsigned().transaction_id){const t=this._txnToEvent[e.getUnsigned().transaction_id];if(t)return void this._handleRemoteEcho(e,t)}for(let n=0;ne.status===f.EventStatus.NOT_SENT)&&(d.logger.warn("Setting event as NOT_SENT due to messages in the same state"),e.setStatus(f.EventStatus.NOT_SENT)),this._pendingEventList.push(e),e.isRelation()&&this._aggregateNonLiveRelation(e),e.isRedaction()){const t=e.event.redacts;let n=this._pendingEventList&&this._pendingEventList.find(e=>e.getId()===t);n||(n=this.getUnfilteredTimelineSet().findEventById(t)),n&&(n.markLocallyRedacted(e),this.emit("Room.redaction",e,this))}}else for(let t=0;t{const n=e.getMember(t);return n?n.name:t});else{let n=e.currentState.getMembers().filter(e=>e.userId!==t&&("invite"===e.membership||"join"===e.membership));n.sort((e,t)=>e.userId.localeCompare(t.userId)),n=n.slice(0,5),o=n.map(e=>e.name)}if(i)return _(o,i);if("join"==e.getMyMembership()){const t=e.currentState.getStateEvents("m.room.third_party_invite");if(t&&t.length){return`Inviting ${_(t.map(e=>e.getContent().display_name))}`}}let s=o;return s.length||(s=e.currentState.getMembers().filter(e=>e.userId!==t&&"invite"!==e.membership&&"join"!==e.membership).map(e=>e.name)),s.length?`Empty room (was ${_(s)})`:"Empty room"}function _(e,t=e.length+1){const n=t-1;if(e.length){if(1===e.length&&n<=1)return e[0];if(2===e.length&&n<=2)return`${e[0]} and ${e[1]}`;return n>1?`${e[0]} and ${n} others`:`${e[0]} and 1 other`}return"Empty room"}y[f.EventStatus.ENCRYPTING]=[f.EventStatus.SENDING,f.EventStatus.NOT_SENT],y[f.EventStatus.SENDING]=[f.EventStatus.ENCRYPTING,f.EventStatus.QUEUED,f.EventStatus.NOT_SENT,f.EventStatus.SENT],y[f.EventStatus.QUEUED]=[f.EventStatus.SENDING,f.EventStatus.CANCELLED],y[f.EventStatus.SENT]=[],y[f.EventStatus.NOT_SENT]=[f.EventStatus.SENDING,f.EventStatus.QUEUED,f.EventStatus.CANCELLED],y[f.EventStatus.CANCELLED]=[],g.prototype.updatePendingEvent=function(e,t,n){if(d.logger.log(`setting pendingEvent status to ${t} in ${e.getRoomId()}`),t==f.EventStatus.SENT&&!n)throw new Error("updatePendingEvent called with status=SENT, but no new event id");if(t==f.EventStatus.SENT){if(this.getUnfilteredTimelineSet().eventIdToTimeline(n))return}const r=e.status,i=e.getId();if(!r)throw new Error("updatePendingEventStatus called on an event which is not a local echo.");const o=y[r];if(!o||o.indexOf(t)<0)throw new Error("Invalid EventStatus transition "+r+"->"+t);if(e.setStatus(t),t==f.EventStatus.SENT){e.replaceLocalEventId(n);for(let e=0;ee.getId()===i);if(-1!==e){const[t]=this._pendingEventList.splice(e,1);t.isRedaction()&&this._revertRedactionLocalEcho(t)}}this.removeEvent(i)}this.emit("Room.localEchoUpdated",e,this,i,r)},g.prototype._revertRedactionLocalEcho=function(e){const t=e.event.redacts;if(!t)return;const n=this.getUnfilteredTimelineSet().findEventById(t);n&&(n.unmarkLocallyRedacted(),this.emit("Room.redactionCancelled",e,this),n.isRelation()&&this._aggregateNonLiveRelation(n))},g.prototype.addLiveEvents=function(e,t){let n;if(t&&-1===["replace","ignore"].indexOf(t))throw new Error("duplicateStrategy MUST be either 'replace' or 'ignore'");for(n=0;n=0;--e){const r=this.timeline[e];if(r.getId()===t)return!1;if(r.getId()===n)return!0}return!1},g.prototype.getReceiptsForEvent=function(e){return this._receiptCacheByEventId[e.getId()]||[]},g.prototype.addReceipt=function(e,t){void 0===t&&(t=!1),t||this._addReceiptsToStructure(e,this._realReceipts),this._addReceiptsToStructure(e,this._receipts),this._receiptCacheByEventId=this._buildReceiptCache(this._receipts),this.emit("Room.receipt",e,this)},g.prototype._addReceiptsToStructure=function(e,t){const n=this;c.keys(e.getContent()).forEach((function(r){c.keys(e.getContent()[r]).forEach((function(i){c.keys(e.getContent()[r][i]).forEach((function(o){const s=e.getContent()[r][i][o];t[i]||(t[i]={});const a=t[i][o];if(a){const e=n.getUnfilteredTimelineSet().compareEventOrdering(a.eventId,r);if(null!==e&&e>=0)return}else t[i][o]={};t[i][o]={eventId:r,data:s}}))}))}))},g.prototype._buildReceiptCache=function(e){const t={};return c.keys(e).forEach((function(n){c.keys(e[n]).forEach((function(r){const i=e[n][r];t[i.eventId]||(t[i.eventId]=[]),t[i.eventId].push({userId:r,type:n,data:i.data})}))})),t},g.prototype._addLocalEchoReceipt=function(e,t,n){this.addReceipt(m(e,t,n),!0)},g.prototype.addTags=function(e){this.tags=e.getContent().tags||{},this.emit("Room.tags",e,this)},g.prototype.addAccountData=function(e){for(let t=0;t{this.aggregateRelations(e)});const t=e.getRelation();if(!t)return;const n=t.event_id,r=t.rel_type,i=e.getType();let o=this._relations[n];o||(o=this._relations[n]={});let a=o[r];a||(a=o[r]={});let c,u=a[i],l=!1;u||(u=a[i]=new f.Relations(r,i,this.room),l=!0,c=this.findEventById(n),c&&u.setTargetEvent(c)),u.addEvent(e),l&&c&&c.emit("Event.relationsCreated",r,i)}},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.RoomState=c;var i=n(9),o=n(77),s=n(4),a=r(n(8));function c(e,t){this.roomId=e,this.members={},this.events={},this.paginationToken=null,this._sentinels={},this._updateModifiedTime(),this._displayNameToUserIds={},this._userIdsToDisplayNames={},this._tokenToInvite={},this._joinedMemberCount=null,this._summaryJoinedMemberCount=null,this._invitedMemberCount=null,this._summaryInvitedMemberCount=null,t||(t={status:1}),this._oobMemberFlags=t}function f(e,t,n){const r=e._userIdsToDisplayNames[t];if(delete e._userIdsToDisplayNames[t],r){const n=a.removeHiddenChars(r),i=e._displayNameToUserIds[n];if(i){const r=i.filter(e=>e!==t);e._displayNameToUserIds[n]=r}}e._userIdsToDisplayNames[t]=n;const i=n&&a.removeHiddenChars(n);i&&(e._displayNameToUserIds[i]||(e._displayNameToUserIds[i]=[]),e._displayNameToUserIds[i].push(t))}a.inherits(c,i.EventEmitter),c.prototype.getJoinedMemberCount=function(){return null!==this._summaryJoinedMemberCount?this._summaryJoinedMemberCount:(null===this._joinedMemberCount&&(this._joinedMemberCount=this.getMembers().reduce((e,t)=>"join"===t.membership?e+1:e,0)),this._joinedMemberCount)},c.prototype.setJoinedMemberCount=function(e){this._summaryJoinedMemberCount=e},c.prototype.getInvitedMemberCount=function(){return null!==this._summaryInvitedMemberCount?this._summaryInvitedMemberCount:(null===this._invitedMemberCount&&(this._invitedMemberCount=this.getMembers().reduce((e,t)=>"invite"===t.membership?e+1:e,0)),this._invitedMemberCount)},c.prototype.setInvitedMemberCount=function(e){this._summaryInvitedMemberCount=e},c.prototype.getMembers=function(){return a.values(this.members)},c.prototype.getMembersExcept=function(e){return a.values(this.members).filter(t=>!e.includes(t.userId))},c.prototype.getMember=function(e){return this.members[e]||null},c.prototype.getSentinelMember=function(e){if(!e)return null;let t=this._sentinels[e];if(void 0===t){t=new o.RoomMember(this.roomId,e);const n=this.members[e];n&&t.setMembershipEvent(n.events.member,this),this._sentinels[e]=t}return t},c.prototype.getStateEvents=function(e,t){if(!this.events[e])return void 0===t?[]:null;if(void 0===t)return a.values(this.events[e]);const n=this.events[e][t];return n||null},c.prototype.clone=function(){const e=new c(this.roomId,this._oobMemberFlags),t=this._oobMemberFlags.status;return this._oobMemberFlags.status=1,Object.values(this.events).forEach(t=>{const n=Object.values(t);e.setStateEvents(n)}),this._oobMemberFlags.status=t,null!==this._summaryInvitedMemberCount&&e.setInvitedMemberCount(this.getInvitedMemberCount()),null!==this._summaryJoinedMemberCount&&e.setJoinedMemberCount(this.getJoinedMemberCount()),3==this._oobMemberFlags.status&&this.getMembers().forEach(t=>{if(t.isOutOfBand()){e.getMember(t.userId).markOutOfBand()}}),e},c.prototype.setUnknownStateEvents=function(e){const t=e.filter(e=>void 0===this.events[e.getType()]||void 0===this.events[e.getType()][e.getStateKey()]);this.setStateEvents(t)},c.prototype.setStateEvents=function(e){const t=this;this._updateModifiedTime(),a.forEach(e,(function(e){e.getRoomId()===t.roomId&&e.isState()&&(t._setStateEvent(e),"m.room.member"===e.getType()&&(f(t,e.getStateKey(),e.getContent().displayname),function(e,t){if(!t.getContent().third_party_invite)return;const n=(t.getContent().third_party_invite.signed||{}).token;if(!n)return;if(!e.getStateEvents("m.room.third_party_invite",n))return;e._tokenToInvite[n]=t}(t,e)),t.emit("RoomState.events",e,t))})),a.forEach(e,(function(e){if(e.getRoomId()===t.roomId&&e.isState())if("m.room.member"===e.getType()){const n=e.getStateKey();"leave"!==e.getContent().membership&&"ban"!==e.getContent().membership||(e.getContent().avatar_url=e.getContent().avatar_url||e.getPrevContent().avatar_url,e.getContent().displayname=e.getContent().displayname||e.getPrevContent().displayname);const r=t._getOrCreateMember(n,e);r.setMembershipEvent(e,t),t._updateMember(r),t.emit("RoomState.members",e,t,r)}else if("m.room.power_levels"===e.getType()){const n=a.values(t.members);a.forEach(n,(function(n){n.setPowerLevelEvent(e),t.emit("RoomState.members",e,t,n)})),t._sentinels={}}}))},c.prototype._getOrCreateMember=function(e,t){let n=this.members[e];return n||(n=new o.RoomMember(this.roomId,e),this.members[e]=n,this.emit("RoomState.newMember",t,this,n)),n},c.prototype._setStateEvent=function(e){void 0===this.events[e.getType()]&&(this.events[e.getType()]={}),this.events[e.getType()][e.getStateKey()]=e},c.prototype._updateMember=function(e){const t=this.getStateEvents("m.room.power_levels","");t&&e.setPowerLevelEvent(t),delete this._sentinels[e.userId],this.members[e.userId]=e,this._joinedMemberCount=null,this._invitedMemberCount=null},c.prototype.needsOutOfBandMembers=function(){return 1===this._oobMemberFlags.status},c.prototype.markOutOfBandMembersStarted=function(){1===this._oobMemberFlags.status&&(this._oobMemberFlags.status=2)},c.prototype.markOutOfBandMembersFailed=function(){2===this._oobMemberFlags.status&&(this._oobMemberFlags.status=1)},c.prototype.clearOutOfBandMembers=function(){let e=0;Object.keys(this.members).forEach(t=>{this.members[t].isOutOfBand()&&(++e,delete this.members[t])}),s.logger.log(`LL: RoomState removed ${e} members...`),this._oobMemberFlags.status=1},c.prototype.setOutOfBandMembers=function(e){s.logger.log(`LL: RoomState about to set ${e.length} OOB members ...`),2===this._oobMemberFlags.status&&(s.logger.log("LL: RoomState put in OOB_STATUS_FINISHED state ..."),this._oobMemberFlags.status=3,e.forEach(e=>this._setOutOfBandMember(e)))},c.prototype._setOutOfBandMember=function(e){if("m.room.member"!==e.getType())return;const t=e.getStateKey(),n=this.getMember(t);if(n&&!n.isOutOfBand())return;const r=this._getOrCreateMember(t,e);r.setMembershipEvent(e,this),r.markOutOfBand(),f(this,r.userId,r.name),this._setStateEvent(e),this._updateMember(r),this.emit("RoomState.members",e,this,r)},c.prototype.setTypingEvent=function(e){a.forEach(a.values(this.members),(function(t){t.setTypingEvent(e)}))},c.prototype.getInviteForThreePidToken=function(e){return this._tokenToInvite[e]||null},c.prototype._updateModifiedTime=function(){this._modified=Date.now()},c.prototype.getLastModifiedTime=function(){return this._modified},c.prototype.getUserIdsWithDisplayName=function(e){return this._displayNameToUserIds[a.removeHiddenChars(e)]||[]},c.prototype.maySendRedactionForEvent=function(e,t){const n=this.getMember(t);if(!n||"leave"===n.membership)return!1;if(e.status||e.isRedacted())return!1;const r=this.maySendEvent("m.room.redaction",t);return e.getSender()===t?r:this._hasSufficientPowerLevelFor("redact",n.powerLevel)},c.prototype._hasSufficientPowerLevelFor=function(e,t){const n=this.getStateEvents("m.room.power_levels","");let r={};n&&(r=n.getContent());let i=50;return a.isNumber(r[e])&&(i=r[e]),t>=i},c.prototype.maySendMessage=function(e){return this._maySendEventOfType("m.room.message",e,!1)},c.prototype.maySendEvent=function(e,t){return this._maySendEventOfType(e,t,!1)},c.prototype.mayClientSendStateEvent=function(e,t){return!t.isGuest()&&this.maySendStateEvent(e,t.credentials.userId)},c.prototype.maySendStateEvent=function(e,t){return this._maySendEventOfType(e,t,!0)},c.prototype._maySendEventOfType=function(e,t,n){const r=this.getStateEvents("m.room.power_levels","");let i,o={},s=0,a=0,c=0;if(r){i=r.getContent(),o=i.events||{},s=Number.isFinite(i.state_default)?i.state_default:50;const e=i.users&&i.users[t];Number.isFinite(e)?c=e:Number.isFinite(i.users_default)&&(c=i.users_default),Number.isFinite(i.events_default)&&(a=i.events_default)}let f=n?s:a;return Number.isFinite(o[e])&&(f=o[e]),c>=f},c.prototype.mayTriggerNotifOfType=function(e,t){const n=this.getMember(t);if(!n)return!1;const r=this.getStateEvents("m.room.power_levels","");let i=50;return r&&r.getContent()&&r.getContent().notifications&&a.isNumber(r.getContent().notifications[e])&&(i=r.getContent().notifications[e]),n.powerLevel>=i}},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.Group=s;var i=r(n(8)),o=n(9);function s(e){this.groupId=e,this.name=null,this.avatarUrl=null,this.myMembership=null,this.inviter=null}i.inherits(s,o.EventEmitter),s.prototype.setProfile=function(e,t){this.name===e&&this.avatarUrl===t||(this.name=e||this.groupId,this.avatarUrl=t,this.emit("Group.profile",this))},s.prototype.setMyMembership=function(e){this.myMembership!==e&&(this.myMembership=e,this.emit("Group.myMembership",this))},s.prototype.setInviter=function(e){this.inviter=e}},function(e,t,n){"use strict";(function(e){var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.MatrixCall=a,t.setAudioOutput=function(e){T=e},t.setAudioInput=function(e){R=e},t.setVideoInput=function(e){O=e},t.createNewMatrixCall=function(t,n,r){const o=e.window,s=e.document;if(!o||!s)return null;const c={};c.isOpenWebRTC=function(){const e=s.getElementById("script");if(!e||!e.length)return!1;for(let t=0;t-1)return!0;return!1};const f=o.navigator.getUserMedia||o.navigator.webkitGetUserMedia||o.navigator.mozGetUserMedia;f&&(c.getUserMedia=function(){return f.apply(o.navigator,arguments)});try{c.RtcPeerConnection=o.RTCPeerConnection||o.webkitRTCPeerConnection||o.mozRTCPeerConnection,c.RtcSessionDescription=o.RTCSessionDescription||o.webkitRTCSessionDescription||o.mozRTCSessionDescription,c.RtcIceCandidate=o.RTCIceCandidate||o.webkitRTCIceCandidate||o.mozRTCIceCandidate,c.vendor=null,o.mozRTCPeerConnection?c.vendor="mozilla":o.webkitRTCPeerConnection?c.vendor="webkit":o.RTCPeerConnection&&(c.vendor="generic")}catch(e){return i.logger.error("Failed to set up WebRTC object: possible browser interference?"),i.logger.error(e),null}if(!(c.RtcIceCandidate&&c.RtcSessionDescription&&c.RtcPeerConnection&&c.getUserMedia))return null;const u=!!r&&r.forceTURN;return new a({webRtc:c,client:t,URL:o.URL,roomId:n,turnServers:t.getTurnServers(),forceTURN:t._forceTURN||u})};var i=n(4),o=n(9),s=r(n(8));function a(e){this.roomId=e.roomId,this.client=e.client,this.webRtc=e.webRtc,this.forceTURN=e.forceTURN,this.URL=e.URL,this.turnServers=e.turnServers||[],0===this.turnServers.length&&this.client.isFallbackICEServerAllowed()&&this.turnServers.push({urls:[a.FALLBACK_ICE_SERVER]}),s.forEach(this.turnServers,(function(e){s.checkObjectHasKeys(e,["urls"])})),this.callId="c"+(new Date).getTime()+Math.random(),this.state="fledgling",this.didConnect=!1,this.candidateSendQueue=[],this.candidateSendTries=0,this.mediaPromises=Object.create(null),this.screenSharingStream=null,this._answerContent=null}a.CALL_TIMEOUT_MS=6e4,a.FALLBACK_ICE_SERVER="stun:turn.matrix.org",a.ERR_LOCAL_OFFER_FAILED="local_offer_failed",a.ERR_NO_USER_MEDIA="no_user_media",a.ERR_UNKNOWN_DEVICES="unknown_devices",a.ERR_SEND_INVITE="send_invite",a.ERR_SEND_ANSWER="send_answer",s.inherits(a,o.EventEmitter),a.prototype.placeVoiceCall=function(){_("placeVoiceCall"),y(this),A(this,k("voice")),this.type="voice"},a.prototype.placeVideoCall=function(e,t){_("placeVideoCall"),y(this),this.localVideoElement=t,this.remoteVideoElement=e,A(this,k("video")),this.type="video",m(this)},a.prototype.placeScreenSharingCall=function(e,t){_("placeScreenSharingCall"),y(this);const n=E(this);if(!n)return;this.localVideoElement=t,this.remoteVideoElement=e;const r=this;this.webRtc.getUserMedia(n,(function(e){r.screenSharingStream=e,_("Got screen stream, requesting audio stream...");const t=k("voice");A(r,t)}),(function(e){r.emit("error",b(a.ERR_NO_USER_MEDIA,"Failed to get screen-sharing stream: "+e))})),this.type="video",m(this)},a.prototype.playElement=function(e,t){i.logger.log("queuing play on "+t+" and element "+e),this.mediaPromises[t]?this.mediaPromises[t]=this.mediaPromises[t].then((function(){return i.logger.log("previous promise completed for "+t),e.play()}),(function(){return i.logger.log("previous promise failed for "+t),e.play()})):this.mediaPromises[t]=e.play()},a.prototype.pauseElement=function(e,t){i.logger.log("queuing pause on "+t+" and element "+e),this.mediaPromises[t]?this.mediaPromises[t]=this.mediaPromises[t].then((function(){return i.logger.log("previous promise completed for "+t),e.pause()}),(function(){return i.logger.log("previous promise failed for "+t),e.pause()})):this.mediaPromises[t]=e.pause()},a.prototype.assignElement=function(e,t,n){i.logger.log("queuing assign on "+n+" element "+e+" for "+t),this.mediaPromises[n]?this.mediaPromises[n]=this.mediaPromises[n].then((function(){i.logger.log("previous promise completed for "+n),e.srcObject=t}),(function(){i.logger.log("previous promise failed for "+n),e.srcObject=t})):e.srcObject=t},a.prototype.getLocalVideoElement=function(){return this.localVideoElement},a.prototype.getRemoteVideoElement=function(){return this.remoteVideoElement},a.prototype.getRemoteAudioElement=function(){return this.remoteAudioElement},a.prototype.setLocalVideoElement=function(e){if(this.localVideoElement=e,e&&this.localAVStream&&"video"===this.type){e.autoplay=!0,this.assignElement(e,this.localAVStream,"localVideo"),e.muted=!0;const t=this;setTimeout((function(){const e=t.getLocalVideoElement();e.play&&t.playElement(e,"localVideo")}),0)}},a.prototype.setRemoteVideoElement=function(e){this.remoteVideoElement=e,m(this)},a.prototype.setRemoteAudioElement=function(e){this.remoteVideoElement.muted=!0,this.remoteAudioElement=e,this.remoteAudioElement.muted=!1,g(this)},a.prototype._initWithInvite=function(e){this.msg=e.getContent(),this.peerConn=w(this);const t=this;this.peerConn&&this.peerConn.setRemoteDescription(new this.webRtc.RtcSessionDescription(this.msg.offer),S(t,t._onSetRemoteDescriptionSuccess),S(t,t._onSetRemoteDescriptionError)),u(this,"ringing"),this.direction="inbound",this.msg.offer&&this.msg.offer.sdp&&this.msg.offer.sdp.indexOf("m=video")>-1?this.type="video":this.type="voice",e.getAge()&&setTimeout((function(){"ringing"==t.state&&(_("Call invite has expired. Hanging up."),t.hangupParty="remote",u(t,"ended"),p(t),"closed"!=t.peerConn.signalingState&&t.peerConn.close(),t.emit("hangup",t))}),this.msg.lifetime-e.getAge())},a.prototype._initWithHangup=function(e){this.msg=e.getContent(),u(this,"ended")},a.prototype.answer=function(){_("Answering call %s of type %s",this.callId,this.type);const e=this;e._answerContent?e._sendAnswer():this.localAVStream||this.waitForLocalAVStream?this.localAVStream?this._maybeGotUserMediaForAnswer(this.localAVStream):this.waitForLocalAVStream&&u(this,"wait_local_media"):(this.webRtc.getUserMedia(k(this.type),S(e,e._maybeGotUserMediaForAnswer),S(e,e._maybeGotUserMediaForAnswer)),u(this,"wait_local_media"))},a.prototype._replacedBy=function(e){_(this.callId+" being replaced by "+e.callId),"wait_local_media"==this.state?(_("Telling new call to wait for local media"),e.waitForLocalAVStream=!0):"create_offer"==this.state?(_("Handing local stream to new call"),e._maybeGotUserMediaForAnswer(this.localAVStream),delete this.localAVStream):"invite_sent"==this.state&&(_("Handing local stream to new call"),e._maybeGotUserMediaForAnswer(this.localAVStream),delete this.localAVStream),e.localVideoElement=this.localVideoElement,e.remoteVideoElement=this.remoteVideoElement,e.remoteAudioElement=this.remoteAudioElement,this.successor=e,this.emit("replaced",e),this.hangup(!0)},a.prototype.hangup=function(e,t){if("ended"==this.state)return;_("Ending call "+this.callId),h(this,"local",e,!t);const n={version:0,call_id:this.callId,reason:e};l(this,"m.call.hangup",n)},a.prototype.setLocalVideoMuted=function(e){this.localAVStream&&c(this.localAVStream.getVideoTracks(),!e)},a.prototype.isLocalVideoMuted=function(){return!!this.localAVStream&&!f(this.localAVStream.getVideoTracks())},a.prototype.setMicrophoneMuted=function(e){this.localAVStream&&c(this.localAVStream.getAudioTracks(),!e)},a.prototype.isMicrophoneMuted=function(){return!!this.localAVStream&&!f(this.localAVStream.getAudioTracks())},a.prototype._maybeGotUserMediaForInvite=function(e){if(this.successor)return void this.successor._maybeGotUserMediaForAnswer(e);if("ended"==this.state)return;_("_maybeGotUserMediaForInvite -> "+this.type);const t=this,n=e,r={mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:"video"===t.type}};if(e instanceof MediaStream){const n=this.getLocalVideoElement();n&&"video"==this.type&&(n.autoplay=!0,this.screenSharingStream?(_("Setting screen sharing stream to the local video element"),this.assignElement(n,this.screenSharingStream,"localVideo")):this.assignElement(n,e,"localVideo"),n.muted=!0,setTimeout((function(){const e=t.getLocalVideoElement();e.play&&t.playElement(e,"localVideo")}),0)),this.screenSharingStream&&(this.screenSharingStream.addTrack(e.getAudioTracks()[0]),e=this.screenSharingStream),this.localAVStream=e,c(e.getAudioTracks(),!0),this.peerConn=w(this),this.peerConn.addStream(e)}else{if("PermissionDeniedError"!==n.name)return _("Failed to getUserMedia: "+n.name),void this._getUserMediaFailed(n);_("User denied access to camera/microphone. Or possibly you are using an insecure domain. Receiving only."),this.peerConn=w(this)}this.peerConn.createOffer(S(t,t._gotLocalOffer),S(t,t._getLocalOfferFailed),r),u(t,"create_offer")},a.prototype._sendAnswer=function(e){l(this,"m.call.answer",this._answerContent).then(()=>{u(this,"connecting"),v(this)}).catch(e=>{u(this,"ringing"),this.client.cancelPendingEvent(e.event);let t=a.ERR_SEND_ANSWER,n="Failed to send answer";throw"UnknownDeviceError"==e.name&&(t=a.ERR_UNKNOWN_DEVICES,n="Unknown devices present in the room"),this.emit("error",b(t,n)),e})},a.prototype._maybeGotUserMediaForAnswer=function(e){const t=this;if("ended"==t.state)return;const n=e;if(e instanceof MediaStream){const n=t.getLocalVideoElement();n&&"video"==t.type&&(n.autoplay=!0,this.assignElement(n,e,"localVideo"),n.muted=!0,setTimeout((function(){const e=t.getLocalVideoElement();e.play&&t.playElement(e,"localVideo")}),0)),t.localAVStream=e,c(e.getAudioTracks(),!0),t.peerConn.addStream(e)}else{if("PermissionDeniedError"!==n.name)return _("Failed to getUserMedia: "+n.name),void this._getUserMediaFailed(n);_("User denied access to camera/microphone. Or possibly you are using an insecure domain. Receiving only.")}const r={mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:"video"===t.type}};t.peerConn.createAnswer((function(e){_("Created answer: ",e),t.peerConn.setLocalDescription(e,(function(){t._answerContent={version:0,call_id:t.callId,answer:{sdp:t.peerConn.localDescription.sdp,type:t.peerConn.localDescription.type}},t._sendAnswer()}),(function(){_("Error setting local description!")}),r)}),(function(e){_("Failed to create answer: "+e)})),u(t,"create_answer")},a.prototype._gotLocalIceCandidate=function(e){if(e.candidate){if(_("Got local ICE "+e.candidate.sdpMid+" candidate: "+e.candidate.candidate),"ended"==this.state)return;const t={candidate:e.candidate.candidate,sdpMid:e.candidate.sdpMid,sdpMLineIndex:e.candidate.sdpMLineIndex};d(this,t)}},a.prototype._gotRemoteIceCandidate=function(e){"ended"!=this.state&&(_("Got remote ICE "+e.sdpMid+" candidate: "+e.candidate),this.peerConn.addIceCandidate(new this.webRtc.RtcIceCandidate(e),(function(){}),(function(e){})))},a.prototype._receivedAnswer=function(e){if("ended"==this.state)return;this.peerConn.setRemoteDescription(new this.webRtc.RtcSessionDescription(e.answer),S(this,this._onSetRemoteDescriptionSuccess),S(this,this._onSetRemoteDescriptionError)),u(this,"connecting")},a.prototype._gotLocalOffer=function(e){const t=this;_("Created offer: ",e),"ended"!=t.state?t.peerConn.setLocalDescription(e,(function(){const e={version:0,call_id:t.callId,offer:{sdp:t.peerConn.localDescription.sdp,type:t.peerConn.localDescription.type},lifetime:a.CALL_TIMEOUT_MS};l(t,"m.call.invite",e).then(()=>{u(t,"invite_sent"),setTimeout((function(){"invite_sent"==t.state&&t.hangup("invite_timeout")}),a.CALL_TIMEOUT_MS)}).catch(e=>{let n=a.ERR_SEND_INVITE,r="Failed to send invite";throw"UnknownDeviceError"==e.name&&(n=a.ERR_UNKNOWN_DEVICES,r="Unknown devices present in the room"),t.client.cancelPendingEvent(e.event),h(t,"local",n,!1),t.emit("error",b(n,r)),e})}),(function(){_("Error setting local description!")})):_("Ignoring newly created offer on call ID "+t.callId+" because the call has ended")},a.prototype._getLocalOfferFailed=function(e){this.emit("error",b(a.ERR_LOCAL_OFFER_FAILED,"Failed to start audio for call!"))},a.prototype._getUserMediaFailed=function(e){h(this,"local","user_media_failed",!1),this.emit("error",b(a.ERR_NO_USER_MEDIA,"Couldn't start capturing media! Is your microphone set up and does this app have permission?"))},a.prototype._onIceConnectionStateChanged=function(){"ended"!=this.state&&(_("Ice connection state changed to: "+this.peerConn.iceConnectionState),"completed"==this.peerConn.iceConnectionState||"connected"==this.peerConn.iceConnectionState?(u(this,"connected"),this.didConnect=!0):"failed"==this.peerConn.iceConnectionState&&this.hangup("ice_failed"))},a.prototype._onSignallingStateChanged=function(){_("call "+this.callId+": Signalling state changed to: "+this.peerConn.signalingState)},a.prototype._onSetRemoteDescriptionSuccess=function(){_("Set remote description")},a.prototype._onSetRemoteDescriptionError=function(e){_("Failed to set remote description"+e)},a.prototype._onAddStream=function(e){_("Stream id "+e.stream.id+" added");const t=e.stream;t.getVideoTracks().length>0?(this.type="video",this.remoteAVStream=t,this.remoteAStream=t):(this.type="voice",this.remoteAStream=t);const n=this;I(t,(function(e){_("Track id "+e.id+" added"),e.onstarted=S(n,n._onRemoteStreamTrackStarted)})),void 0!==e.stream.oninactive?e.stream.oninactive=S(n,n._onRemoteStreamEnded):e.stream.onended=S(n,n._onRemoteStreamEnded),e.stream.onstarted=S(n,n._onRemoteStreamStarted),"video"===this.type?(m(this),g(this)):g(this)},a.prototype._onRemoteStreamStarted=function(e){u(this,"connected")},a.prototype._onRemoteStreamEnded=function(e){_("Remote stream ended"),this.hangupParty="remote",u(this,"ended"),p(this),"closed"!=this.peerConn.signalingState&&this.peerConn.close(),this.emit("hangup",this)},a.prototype._onRemoteStreamTrackStarted=function(e){u(this,"connected")},a.prototype._onHangupReceived=function(e){_("Hangup received"),h(this,"remote",e.reason,!0)},a.prototype._onAnsweredElsewhere=function(e){_("Answered elsewhere"),h(this,"remote","answered_elsewhere",!0)};const c=function(e,t){for(let n=0;n5)return _("Failed to send candidates on attempt %s. Giving up for now.",e.candidateSendTries),void(e.candidateSendTries=0);const r=500*Math.pow(2,e.candidateSendTries);++e.candidateSendTries,_("Failed to send candidates. Retrying in "+r+"ms"),setTimeout((function(){v(e)}),r)}))},A=function(e,t){e.client.callList[e.callId]=e,e.webRtc.getUserMedia(t,S(e,e._maybeGotUserMediaForInvite),S(e,e._maybeGotUserMediaForInvite)),u(e,"wait_local_media"),e.direction="outbound",e.config=t},w=function(e){const t=new e.webRtc.RtcPeerConnection({iceTransportPolicy:e.forceTURN?"relay":void 0,iceServers:e.turnServers});return t.oniceconnectionstatechange=S(e,e._onIceConnectionStateChanged),t.onsignalingstatechange=S(e,e._onSignallingStateChanged),t.onicecandidate=S(e,e._gotLocalIceCandidate),t.onaddstream=S(e,e._onAddStream),t},E=function(t){const n=e.screen;if(n)return{video:{mediaSource:"screen",mandatory:{chromeMediaSource:"screen",chromeMediaSourceId:""+Date.now(),maxWidth:n.width,maxHeight:n.height,minFrameRate:1,maxFrameRate:10}}};t.emit("error",b(a.ERR_NO_USER_MEDIA,"Couldn't determine screen sharing constaints."))},k=function(t){const n=!!e.window.navigator.webkitGetUserMedia;switch(t){case"voice":return{audio:{deviceId:R?{ideal:R}:void 0},video:!1};case"video":return{audio:{deviceId:R?{ideal:R}:void 0},video:{deviceId:O?{ideal:O}:void 0,width:n?{exact:640}:{ideal:640},height:n?{exact:360}:{ideal:360}}}}},S=function(e,t){return function(){return t.apply(e,arguments)}},I=function(e,t){!function(e,t){const n=e.getVideoTracks();for(let e=0;e{let i=!0;const o=e.open(t);o.onupgradeneeded=()=>{i=!1},o.onblocked=()=>r(),o.onsuccess=()=>{o.result.close(),i||e.deleteDatabase(t),n(i)},o.onerror=e=>r(e.target.error)})}},function(e,t,n){"use strict";(function(e){var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.OlmDevice=c,t.WITHHELD_MESSAGES=void 0;var i=n(4),o=n(36),s=r(n(138));function a(e){if(void 0===e)throw new Error("payloadString undefined");if(e.length>49152)throw new Error("Message too long ("+e.length+" bytes). The maximum for an encrypted message is 49152 bytes.")}function c(e){this._cryptoStore=e,this._pickleKey="DEFAULT_KEY",this.deviceCurve25519Key=null,this.deviceEd25519Key=null,this._maxOneTimeKeys=null,this._outboundGroupSessionStore={},this._inboundGroupSessionMessageIndexes={},this._sessionsInProgress={}}c.prototype.init=async function(){let t;const n=new e.Olm.Account;try{await async function(e,t,n){await e.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT],r=>{e.getAccount(r,i=>{null!==i?n.unpickle(t,i):(n.create(),i=n.pickle(t),e.storeAccount(r,i))})})}(this._cryptoStore,this._pickleKey,n),t=JSON.parse(n.identity_keys()),this._maxOneTimeKeys=n.max_number_of_one_time_keys()}finally{n.free()}this.deviceCurve25519Key=t.curve25519,this.deviceEd25519Key=t.ed25519},c.getOlmVersion=function(){return e.Olm.get_library_version()},c.prototype._getAccount=function(t,n){this._cryptoStore.getAccount(t,t=>{const r=new e.Olm.Account;try{r.unpickle(this._pickleKey,t),n(r)}finally{r.free()}})},c.prototype._storeAccount=function(e,t){this._cryptoStore.storeAccount(e,t.pickle(this._pickleKey))},c.prototype._getSession=function(e,t,n,r){this._cryptoStore.getEndToEndSession(e,t,n,e=>{this._unpickleSession(e,r)})},c.prototype._unpickleSession=function(t,n){const r=new e.Olm.Session;try{r.unpickle(this._pickleKey,t.session),n(Object.assign({},t,{session:r}))}finally{r.free()}},c.prototype._saveSession=function(e,t,n){const r=t.session.session_id(),i=Object.assign(t,{session:t.session.pickle(this._pickleKey)});this._cryptoStore.storeEndToEndSession(e,r,i,n)},c.prototype._getUtility=function(t){const n=new e.Olm.Utility;try{return t(n)}finally{n.free()}},c.prototype.sign=async function(e){let t;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_ACCOUNT],n=>{this._getAccount(n,n=>{t=n.sign(e)})}),t},c.prototype.getOneTimeKeys=async function(){let e;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_ACCOUNT],t=>{this._getAccount(t,t=>{e=JSON.parse(t.one_time_keys())})}),e},c.prototype.maxNumberOfOneTimeKeys=function(){return this._maxOneTimeKeys},c.prototype.markKeysAsPublished=async function(){await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this._getAccount(e,t=>{t.mark_keys_as_published(),this._storeAccount(e,t)})})},c.prototype.generateOneTimeKeys=function(e){return this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT],t=>{this._getAccount(t,n=>{n.generate_one_time_keys(e),this._storeAccount(t,n)})})},c.prototype.createOutboundSession=async function(t,n){let r;return await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT,o.IndexedDBCryptoStore.STORE_SESSIONS],i=>{this._getAccount(i,o=>{const s=new e.Olm.Session;try{s.create_outbound(o,t,n),r=s.session_id(),this._storeAccount(i,o);const e={session:s,lastReceivedMessageTs:Date.now()};this._saveSession(t,e,i)}finally{s.free()}})}),r},c.prototype.createInboundSession=async function(t,n,r){if(0!==n)throw new Error("Need messageType == 0 to create inbound session");let i;return await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT,o.IndexedDBCryptoStore.STORE_SESSIONS],o=>{this._getAccount(o,s=>{const a=new e.Olm.Session;try{a.create_inbound_from(s,t,r),s.remove_one_time_keys(a),this._storeAccount(o,s);const e=a.decrypt(n,r),c={session:a,lastReceivedMessageTs:Date.now()};this._saveSession(t,c,o),i={payload:e,session_id:a.session_id()}}finally{a.free()}})}),i},c.prototype.getSessionIdsForDevice=async function(e){if(this._sessionsInProgress[e]){i.logger.log("waiting for olm session to be created");try{await this._sessionsInProgress[e]}catch(e){}}let t;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_SESSIONS],n=>{this._cryptoStore.getEndToEndSessions(e,n,e=>{t=Object.keys(e)})}),t},c.prototype.getSessionIdForDevice=async function(e,t){const n=await this.getSessionInfoForDevice(e,t);if(0===n.length)return null;let r=0;for(let e=1;es||i===s&&t.sessionId{this._cryptoStore.getEndToEndSessions(e,t,e=>{const t=Object.keys(e).sort();for(const r of t)this._unpickleSession(e[r],e=>{n.push({lastReceivedMessageTs:e.lastReceivedMessageTs,hasReceivedMessage:e.session.has_received_message(),sessionId:r})})})}),n},c.prototype.encryptMessage=async function(e,t,n){let r;return a(n),await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_SESSIONS],o=>{this._getSession(e,t,o,s=>{const a=s.session.describe();i.logger.log("encryptMessage: Olm Session ID "+t+" to "+e+": "+a),r=s.session.encrypt(n),this._saveSession(e,s,o)})}),r},c.prototype.decryptMessage=async function(e,t,n,r){let s;return await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_SESSIONS],o=>{this._getSession(e,t,o,a=>{const c=a.session.describe();i.logger.log("decryptMessage: Olm Session ID "+t+" from "+e+": "+c),s=a.session.decrypt(n,r),a.lastReceivedMessageTs=Date.now(),this._saveSession(e,a,o)})}),s},c.prototype.matchesSession=async function(e,t,n,r){if(0!==n)return!1;let i;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_SESSIONS],n=>{this._getSession(e,t,n,e=>{i=e.session.matches_inbound(r)})}),i},c.prototype.recordSessionProblem=async function(e,t,n){await this._cryptoStore.storeEndToEndSessionProblem(e,t,n)},c.prototype.sessionMayHaveProblems=async function(e,t){return await this._cryptoStore.getEndToEndSessionProblem(e,t)},c.prototype.filterOutNotifiedErrorDevices=async function(e){return await this._cryptoStore.filterOutNotifiedErrorDevices(e)},c.prototype._saveOutboundGroupSession=function(e){const t=e.pickle(this._pickleKey);this._outboundGroupSessionStore[e.session_id()]=t},c.prototype._getOutboundGroupSession=function(t,n){const r=this._outboundGroupSessionStore[t];if(void 0===r)throw new Error("Unknown outbound group session "+t);const i=new e.Olm.OutboundGroupSession;try{return i.unpickle(this._pickleKey,r),n(i)}finally{i.free()}},c.prototype.createOutboundGroupSession=function(){const t=new e.Olm.OutboundGroupSession;try{return t.create(),this._saveOutboundGroupSession(t),t.session_id()}finally{t.free()}},c.prototype.encryptGroupMessage=function(e,t){const n=this;return i.logger.log(`encrypting msg with megolm session ${e}`),a(t),this._getOutboundGroupSession(e,(function(e){const r=e.encrypt(t);return n._saveOutboundGroupSession(e),r}))},c.prototype.getOutboundGroupSessionKey=function(e){return this._getOutboundGroupSession(e,(function(e){return{chain_index:e.message_index(),key:e.session_key()}}))},c.prototype._unpickleInboundGroupSession=function(t,n){const r=new e.Olm.InboundGroupSession;try{return r.unpickle(this._pickleKey,t.session),n(r)}finally{r.free()}},c.prototype._getInboundGroupSession=function(e,t,n,r,i){this._cryptoStore.getEndToEndInboundGroupSession(t,n,r,(t,n)=>{if(null!==t){if(null!==e&&e!==t.room_id)throw new Error("Mismatched room_id for inbound group session (expected "+t.room_id+", was "+e+")");this._unpickleInboundGroupSession(t,e=>{i(e,t,n)})}else i(null,null,n)})},c.prototype.addInboundGroupSession=async function(t,n,r,s,a,c,f){await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._getInboundGroupSession(t,n,s,o,(u,l)=>{const d=new e.Olm.InboundGroupSession;try{if(f?d.import_session(a):d.create(a),s!=d.session_id())throw new Error("Mismatched group session ID from senderKey: "+n);if(u&&(i.logger.log("Update for megolm session "+n+"/"+s),u.first_known_index()<=d.first_known_index()))return void i.logger.log(`Keeping existing megolm session ${s}`);const e={room_id:t,session:d.pickle(this._pickleKey),keysClaimed:c,forwardingCurve25519KeyChain:r};this._cryptoStore.storeEndToEndInboundGroupSession(n,s,e,o)}finally{d.free()}})})},c.prototype.addInboundGroupSessionWithheld=async function(e,t,n,r,i){await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._cryptoStore.storeEndToEndInboundGroupSessionWithheld(t,n,{room_id:e,code:r,reason:i},o)})};const f={"m.unverified":"The sender has disabled encrypting to unverified devices.","m.blacklisted":"The sender has blocked you.","m.unauthorised":"You are not authorised to read the message.","m.no_olm":"Unable to establish a secure channel."};function u(e){return e.code&&e.code in f?f[e.code]:e.reason?e.reason:"decryption key withheld"}t.WITHHELD_MESSAGES=f,c.prototype.decryptGroupMessage=async function(e,t,n,r,i,a){let c,f;if(await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._getInboundGroupSession(e,t,n,o,(e,l,d)=>{if(null===e)return d&&(f=new s.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",u(d),{session:t+"|"+n})),void(c=null);let h;try{h=e.decrypt(r)}catch(e){return void(f=e&&"OLM.UNKNOWN_MESSAGE_INDEX"===e.message&&d?new s.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",u(d),{session:t+"|"+n}):e)}let p=h.plaintext;if(void 0===p)p=h;else{const e=t+"|"+n+"|"+h.message_index;if(e in this._inboundGroupSessionMessageIndexes){const t=this._inboundGroupSessionMessageIndexes[e];if(t.id!==i||t.timestamp!==a)return void(f=new Error("Duplicate message index, possible replay attack: "+e))}this._inboundGroupSessionMessageIndexes[e]={id:i,timestamp:a}}l.session=e.pickle(this._pickleKey),this._cryptoStore.storeEndToEndInboundGroupSession(t,n,l,o),c={result:p,keysClaimed:l.keysClaimed||{},senderKey:t,forwardingCurve25519KeyChain:l.forwardingCurve25519KeyChain||[]}})}),f)throw f;return c},c.prototype.hasInboundSessionKeys=async function(e,t,n){let r;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._cryptoStore.getEndToEndInboundGroupSession(t,n,o,o=>{null!==o?e!==o.room_id?(i.logger.warn(`requested keys for inbound group session ${t}|`+`${n}, with incorrect room_id `+`(expected ${o.room_id}, `+`was ${e})`),r=!1):r=!0:r=!1})}),r},c.prototype.getInboundGroupSessionKey=async function(e,t,n,r){let i;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._getInboundGroupSession(e,t,n,o,(e,t)=>{if(null===e)return void(i=null);void 0===r&&(r=e.first_known_index());const n=e.export_session(r),o=(t.keysClaimed||{}).ed25519||null;i={chain_index:r,key:n,forwarding_curve25519_key_chain:t.forwardingCurve25519KeyChain||[],sender_claimed_ed25519_key:o}})}),i},c.prototype.exportInboundGroupSession=function(e,t,n){return this._unpickleInboundGroupSession(n,r=>{const i=r.first_known_index();return{sender_key:e,sender_claimed_keys:n.keysClaimed,room_id:n.room_id,session_id:t,session_key:r.export_session(i),forwarding_curve25519_key_chain:r.forwardingCurve25519KeyChain||[],first_known_index:r.first_known_index()}})},c.prototype.verifySignature=function(e,t,n){this._getUtility((function(r){r.ed25519_verify(e,t,n)}))}}).call(this,n(5))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(288),n(289);var r=n(81);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}})}))},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.DeviceTrustLevel=t.UserTrustLevel=t.CrossSigningLevel=t.CrossSigningInfo=void 0;var r=n(21),i=n(9),o=n(4);function s(e){return Object.values(e.keys)[0]}class a extends i.EventEmitter{constructor(e,t){super(),Object.defineProperty(this,"userId",{enumerable:!0,value:e}),this._callbacks=t||{},this.keys={},this.firstUse=!0}async getCrossSigningKey(t,n){if(!this._callbacks.getCrossSigningKey)throw new Error("No getCrossSigningKey callback supplied");void 0===n&&(n=this.getId(t));const r=await this._callbacks.getCrossSigningKey(t,n);if(!r)throw new Error("getCrossSigningKey callback for "+t+" returned falsey");const i=new e.Olm.PkSigning,o=i.init_with_seed(r);if(o!==n)throw i.free(),new Error("Key type "+t+" from getCrossSigningKey callback did not match");return[o,i]}static fromStorage(e,t){const n=new a(t);for(const t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}toStorage(){return{keys:this.keys,firstUse:this.firstUse}}async isStoredInSecretStorage(e){let t=!0;for(const n of["master","self_signing","user_signing"])t&=await e.isStored(`m.cross_signing.${n}`,!1);return t}static async storeInSecretStorage(e,t){for(const n of Object.keys(e)){const i=(0,r.encodeBase64)(e[n]);await t.store(`m.cross_signing.${n}`,i)}}static async getFromSecretStorage(e,t){const n=await t.get(`m.cross_signing.${e}`);return(0,r.decodeBase64)(n)}getId(e){if(e=e||"master",!this.keys[e])return null;return s(this.keys[e])}async resetKeys(t){if(!this._callbacks.saveCrossSigningKeys)throw new Error("No saveCrossSigningKeys callback supplied");if(void 0===t||t&c.MASTER||!this.keys.master)t=c.MASTER|c.USER_SIGNING|c.SELF_SIGNING;else if(0===t)return;const n={},i={};let o,s;try{if(t&c.MASTER?(o=new e.Olm.PkSigning,n.master=o.generate_seed(),s=o.init_with_seed(n.master),i.master={user_id:this.userId,usage:["master"],keys:{["ed25519:"+s]:s}}):[s,o]=await this.getCrossSigningKey("master"),t&c.SELF_SIGNING){const t=new e.Olm.PkSigning;try{n.self_signing=t.generate_seed();const e=t.init_with_seed(n.self_signing);i.self_signing={user_id:this.userId,usage:["self_signing"],keys:{["ed25519:"+e]:e}},(0,r.pkSign)(i.self_signing,o,this.userId,s)}finally{t.free()}}if(t&c.USER_SIGNING){const t=new e.Olm.PkSigning;try{n.user_signing=t.generate_seed();const e=t.init_with_seed(n.user_signing);i.user_signing={user_id:this.userId,usage:["user_signing"],keys:{["ed25519:"+e]:e}},(0,r.pkSign)(i.user_signing,o,this.userId,s)}finally{t.free()}}Object.assign(this.keys,i),this._callbacks.saveCrossSigningKeys(n)}finally{o&&o.free()}}setKeys(e){const t={};if(e.master){if(e.master.user_id!==this.userId){const t="Mismatched user ID "+e.master.user_id+" in master key from "+this.userId;throw o.logger.error(t),new Error(t)}this.keys.master?s(e.master)!==this.getId()&&(this.firstUse=!1):this.firstUse=!0,t.master=e.master}else{if(!this.keys.master)throw new Error("Tried to set cross-signing keys without a master key");t.master=this.keys.master}const n=s(t.master);if(e.user_signing){if(e.user_signing.user_id!==this.userId){const t="Mismatched user ID "+e.master.user_id+" in user_signing key from "+this.userId;throw o.logger.error(t),new Error(t)}try{(0,r.pkVerify)(e.user_signing,n,this.userId)}catch(e){throw o.logger.error("invalid signature on user-signing key"),e}}if(e.self_signing){if(e.self_signing.user_id!==this.userId){const t="Mismatched user ID "+e.master.user_id+" in self_signing key from "+this.userId;throw o.logger.error(t),new Error(t)}try{(0,r.pkVerify)(e.self_signing,n,this.userId)}catch(e){throw o.logger.error("invalid signature on self-signing key"),e}}e.master&&(this.keys.master=e.master,this.keys.self_signing=null,this.keys.user_signing=null),e.self_signing&&(this.keys.self_signing=e.self_signing),e.user_signing&&(this.keys.user_signing=e.user_signing)}async signObject(e,t){if(!this.keys[t])throw new Error("Attempted to sign with "+t+" key but no such key present");const[n,i]=await this.getCrossSigningKey(t);try{return(0,r.pkSign)(e,i,this.userId,n),e}finally{i.free()}}async signUser(e){if(this.keys.user_signing)return this.signObject(e.keys.master,"user_signing")}async signDevice(e,t){if(e!==this.userId)throw new Error(`Trying to sign ${e}'s device; can only sign our own device`);if(this.keys.self_signing)return this.signObject({algorithms:t.algorithms,keys:t.keys,device_id:t.deviceId,user_id:e},"self_signing")}checkUserTrust(e){if(this.userId===e.userId&&this.getId()&&this.getId()===e.getId()&&this.getId("self_signing")&&this.getId("self_signing")===e.getId("self_signing"))return new f(!0,this.firstUse);if(!this.keys.user_signing)return new f(!1,e.firstUse);let t;const n=e.keys.master,i=this.getId("user_signing");try{(0,r.pkVerify)(n,i,this.userId),t=!0}catch(e){t=!1}return new f(t,e.firstUse)}checkDeviceTrust(e,t,n){const i=this.checkUserTrust(e),o=e.keys.self_signing;if(!o)return new u(!1,!1,n);const a=function(e,t){return{algorithms:e.algorithms,keys:e.keys,device_id:e.deviceId,user_id:t,signatures:e.signatures}}(t,e.userId);try{return(0,r.pkVerify)(o,e.getId(),e.userId),(0,r.pkVerify)(a,s(o),e.userId),u.fromUserTrustLevel(i,n)}catch(e){return new u(!1,!1,n)}}}t.CrossSigningInfo=a;const c={MASTER:4,USER_SIGNING:2,SELF_SIGNING:1};t.CrossSigningLevel=c;class f{constructor(e,t){this._crossSigningVerified=e,this._tofu=t}isVerified(){return this.isCrossSigningVerified()}isCrossSigningVerified(){return this._crossSigningVerified}isTofu(){return this._tofu}}t.UserTrustLevel=f;class u{constructor(e,t,n){this._crossSigningVerified=e,this._tofu=t,this._localVerified=n}static fromUserTrustLevel(e,t){return new u(e._crossSigningVerified,e._tofu,t)}isVerified(){return this.isCrossSigningVerified()||this.isLocallyVerified()}isCrossSigningVerified(){return this._crossSigningVerified}isLocallyVerified(){return this._localVerified}isTofu(){return this._tofu}}t.DeviceTrustLevel=u}).call(this,n(5))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VerificationBase=void 0;var r=n(19),i=n(9),o=n(4),s=n(51),a=n(37);const c=new Error("Verification timed out");class f extends i.EventEmitter{constructor(e,t,n,r,i,o){super(),this._channel=e,this._baseApis=t,this.userId=n,this.deviceId=r,this.startEvent=i,this.request=o,this.cancelled=!1,this._done=!1,this._promise=null,this._transactionTimeoutTimer=null,this._resetTimer()}_resetTimer(){o.logger.info("Refreshing/starting the verification transaction timeout timer"),null!==this._transactionTimeoutTimer&&clearTimeout(this._transactionTimeoutTimer),this._transactionTimeoutTimer=setTimeout(()=>{this._done||this.cancelled||(o.logger.info("Triggering verification timeout"),this.cancel(c))},6e5)}_endTimer(){null!==this._transactionTimeoutTimer&&(clearTimeout(this._transactionTimeoutTimer),this._transactionTimeoutTimer=null)}_send(e,t){return this._channel.send(e,t)}_waitForEvent(e){return this._done?Promise.reject(new Error("Verification is already done")):(this._expectedEvent=e,new Promise((e,t)=>{this._resolveEvent=e,this._rejectEvent=t}))}handleEvent(e){if(!this._done)if(e.getType()===this._expectedEvent)"m.key.verification.done"!==this._expectedEvent&&(this._expectedEvent=void 0,this._rejectEvent=void 0,this._resetTimer(),this._resolveEvent(e));else if("m.key.verification.cancel"===e.getType()){const e=this._reject;this._reject=void 0,e(new Error("Other side cancelled verification"))}else{const t=new Error("Unexpected message: expecting "+this._expectedEvent+" but got "+e.getType());if(this._expectedEvent=void 0,this._rejectEvent){const e=this._rejectEvent;this._rejectEvent=void 0,e(t)}this.cancel(t)}}done(){this._endTimer(),this._done||(this._channel.needsDoneMessage&&this._send("m.key.verification.done",{}),this._resolve())}cancel(e){if(this._endTimer(),!this._done){if(this.cancelled=!0,this.userId&&this.deviceId)if(e===c){const e=(0,a.newTimeoutError)();this._send(e.getType(),e.getContent())}else if(e instanceof r.MatrixEvent){if(e.getSender()!==this.userId){const t=e.getContent();"m.key.verification.cancel"===e.getType()?(t.code=t.code||"m.unknown",t.reason=t.reason||t.body||"Unknown reason",this._send("m.key.verification.cancel",t)):this._send("m.key.verification.cancel",{code:"m.unknown",reason:t.body||"Unknown reason"})}}else this._send("m.key.verification.cancel",{code:"m.unknown",reason:e.toString()});null!==this._promise?this._reject&&this._reject(e):this._promise=Promise.reject(e),this.emit("cancel",e)}}verify(){return this._promise?this._promise:(this._promise=new Promise((e,t)=>{this._resolve=(...t)=>{this._done=!0,this._endTimer(),e(...t)},this._reject=(...e)=>{this._done=!0,this._endTimer(),t(...e)}}),this._doVerification&&!this._started&&(this._started=!0,this._resetTimer(),Promise.resolve(this._doVerification()).then(this.done.bind(this),this.cancel.bind(this))),this._promise)}async _verifyKeys(e,t,n){const r=[];for(const[i,a]of Object.entries(t)){const t=i.split(":",2)[1],c=await this._baseApis.getStoredDevice(e,t);if(c)await n(i,c,a),r.push(t);else{const c=this._baseApis._crypto._deviceList.getStoredCrossSigningForUser(e);c&&c.getId()===t?(await n(i,s.DeviceInfo.fromStorage({keys:{[i]:t}},t),a),r.push(t)):o.logger.warn(`verification: Could not find device ${t} to verify`)}}if(!r.length)throw new Error("No devices could be verified");for(const t of r)await this._baseApis.setDeviceVerified(e,t)}}t.VerificationBase=f},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.keyFromAuthData=async function(t,n){if(!e.Olm)throw new Error("Olm is not available");if(!t.private_key_salt||!t.private_key_iterations)throw new Error("Salt and/or iterations not found: this backup cannot be restored with a passphrase");return await i(n,t.private_key_salt,t.private_key_iterations)},t.keyFromPassphrase=async function(t){if(!e.Olm)throw new Error("Olm is not available");const n=(0,r.randomString)(32);return{key:await i(t,n,5e5),salt:n,iterations:5e5}},t.deriveKey=i;var r=n(52);async function i(t,n,r){const i=e.crypto.subtle,o=e.TextEncoder;if(!i||!o)throw new Error("Password-based backup is not avaiable on this platform");const s=await i.importKey("raw",(new o).encode(t),{name:"PBKDF2"},!1,["deriveBits"]),a=await i.deriveBits({name:"PBKDF2",salt:(new o).encode(n),iterations:r,hash:"SHA-512"},s,8*e.Olm.PRIVATE_KEY_LENGTH);return new Uint8Array(a)}}).call(this,n(5))},function(e,t,n){"use strict";(function(e,r){var i=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.encodeRecoveryKey=function(t){const n=new e(s.length+t.length+1);n.set(s,0),n.set(t,s.length);let r=0;for(let e=0;e{this.accountData[e.type]=e})}_accumulateRooms(e){e.rooms&&(e.rooms.invite&&Object.keys(e.rooms.invite).forEach(t=>{this._accumulateRoom(t,"invite",e.rooms.invite[t])}),e.rooms.join&&Object.keys(e.rooms.join).forEach(t=>{this._accumulateRoom(t,"join",e.rooms.join[t])}),e.rooms.leave&&Object.keys(e.rooms.leave).forEach(t=>{this._accumulateRoom(t,"leave",e.rooms.leave[t])}))}_accumulateRoom(e,t,n){switch(t){case"invite":this._accumulateInviteState(e,n);break;case"join":this.inviteRooms[e]&&delete this.inviteRooms[e],this._accumulateJoinState(e,n);break;case"leave":this.inviteRooms[e]?delete this.inviteRooms[e]:delete this.joinRooms[e];break;default:r.logger.error("Unknown cateogory: ",t)}}_accumulateInviteState(e,t){if(!t.invite_state||!t.invite_state.events)return;if(!this.inviteRooms[e])return void(this.inviteRooms[e]={invite_state:t.invite_state});const n=this.inviteRooms[e];t.invite_state.events.forEach(e=>{let t=!1;for(let r=0;r{n._accountData[e.type]=e}),t.unread_notifications&&(n._unreadNotifications=t.unread_notifications),t.summary){const e="m.heroes",r="m.invited_member_count",i="m.joined_member_count",o=n._summary,s=t.summary;o[e]=s[e]||o[e],o[i]=s[i]||o[i],o[r]=s[r]||o[r]}if(t.ephemeral&&t.ephemeral.events&&t.ephemeral.events.forEach(e=>{"m.receipt"===e.type&&e.content&&Object.keys(e.content).forEach(t=>{e.content[t]["m.read"]&&Object.keys(e.content[t]["m.read"]).forEach(r=>{n._readReceipts[r]={data:e.content[t]["m.read"][r],eventId:t}})})}),t.timeline&&t.timeline.limited&&(n._timeline=[]),t.state&&t.state.events&&t.state.events.forEach(e=>{o(n._currentState,e)}),t.timeline&&t.timeline.events&&t.timeline.events.forEach((e,r)=>{o(n._currentState,e),n._timeline.push({event:e,token:0===r?t.timeline.prev_batch:null})}),n._timeline.length>this.opts.maxTimelineEntries){for(let e=n._timeline.length-this.opts.maxTimelineEntries;e{this._accumulateGroup(t,"invite",e.groups.invite[t])}),e.groups.join&&Object.keys(e.groups.join).forEach(t=>{this._accumulateGroup(t,"join",e.groups.join[t])}),e.groups.leave&&Object.keys(e.groups.leave).forEach(t=>{this._accumulateGroup(t,"leave",e.groups.leave[t])}))}_accumulateGroup(e,t,n){for(const t of["invite","join","leave"])delete this.groups[t][e];this.groups[t][e]=n}getJSON(){const e={join:{},invite:{},leave:{}};Object.keys(this.inviteRooms).forEach(t=>{e.invite[t]=this.inviteRooms[t]}),Object.keys(this.joinRooms).forEach(t=>{const n=this.joinRooms[t],r={ephemeral:{events:[]},account_data:{events:[]},state:{events:[]},timeline:{events:[],prev_batch:null},unread_notifications:n._unreadNotifications,summary:n._summary};Object.keys(n._accountData).forEach(e=>{r.account_data.events.push(n._accountData[e])});const s={type:"m.receipt",room_id:t,content:{}};Object.keys(n._readReceipts).forEach(e=>{const t=n._readReceipts[e];s.content[t.eventId]||(s.content[t.eventId]={"m.read":{}}),s.content[t.eventId]["m.read"][e]=t.data}),Object.keys(s.content).length>0&&r.ephemeral.events.push(s),n._timeline.forEach(e=>{if(!r.timeline.prev_batch){if(!e.token)return;r.timeline.prev_batch=e.token}r.timeline.events.push(e.event)});const a=Object.create(null);for(let e=r.timeline.events.length-1;e>=0;e--){const t=r.timeline.events[e];if(null===t.state_key||void 0===t.state_key)continue;const n=(0,i.deepCopy)(t);n.unsigned&&(n.unsigned.prev_content&&(n.content=n.unsigned.prev_content),n.unsigned.prev_sender&&(n.sender=n.unsigned.prev_sender)),o(a,n)}Object.keys(n._currentState).forEach(e=>{Object.keys(n._currentState[e]).forEach(t=>{let i=n._currentState[e][t];a[e]&&a[e][t]&&(i=a[e][t]),r.state.events.push(i)})}),e.join[t]=r});const t=[];return Object.keys(this.accountData).forEach(e=>{t.push(this.accountData[e])}),{nextBatch:this.nextBatch,roomsData:e,groupsData:this.groups,accountData:t}}getNextBatchToken(){return this.nextBatch}}},function(e,t,n){"use strict";var r=String.prototype.replace,i=/%20/g,o=n(83),s={RFC1738:"RFC1738",RFC3986:"RFC3986"};e.exports=o.assign({default:s.RFC3986,formatters:{RFC1738:function(e){return r.call(e,i,"+")},RFC3986:function(e){return String(e)}}},s)},function(e,t){for(var n=[],r=0;r<256;++r)n[r]=(r+256).toString(16).substr(1);e.exports=function(e,t){var r=t||0,i=n;return[i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]]].join("")}},function(e,t,n){"use strict";t.__esModule=!0,t.stateify=t.TokenState=t.CharacterState=void 0;var r=n(53);var i=function(e){this.j=[],this.T=e||null};i.prototype={defaultTransition:!1,on:function(e,t){if(e instanceof Array){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null,n=this.next(new e(""));return n===this.defaultTransition?(n=new this.constructor(t),this.on(e,n)):t&&(n.T=t),n},test:function(e,t){return e instanceof t}});t.CharacterState=o,t.TokenState=s,t.stateify=function(e,t,n,r){for(var i=0,s=e.length,a=t,c=[],f=void 0;i=s)return[];for(;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},function(e,t,n){"use strict";(function(e){var r=n(28),i=n.n(r),o=n(26),s=n.n(o),a=n(27),c=n.n(a),f=n(54),u=n.n(f),l=n(55),d=n.n(l),h=n(7),p=n.n(h),m=n(56),g=n.n(m),y=n(2),b=n.n(y),_=n(0),v=n.n(_),A=n(13),w=n.n(A),E=n(327),k=(n(40),n(152)),S=n(38),I=(n(41),n(153)),T=n(154),R=n(39),O=n(29),x=n(85),C=n(156),P=n(86),M=n(158);n(322);function D(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}e.Olm=T;var B={algorithm:"m.megolm.v1.aes-sha2"},N=function(t){function n(t){var r;return s()(this,n),r=u()(this,d()(n).call(this,t)),b()(p()(r),"detectMobile",(function(){var e=!1;/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)&&(e=!0),screen.width<767&&(e=!0),r.setState({isMobile:e})})),b()(p()(r),"detectSlowConnection",(function(){var e=!1,t=navigator.connection||navigator.mozConnection||navigator.webkitConnection;if(void 0!==t||null===t){var n=t.effectiveType;e=["slow-2g","2g"].includes(n)}r.setState({isSlowConnection:e})})),b()(p()(r),"handleToggleOpen",(function(){r.setState((function(e){var t=e.showDock;return e.opened||(t=!1),{showDock:t,opened:!e.opened}}))})),b()(p()(r),"toggleEmojiSelector",(function(e){e.preventDefault(),r.setState({emojiSelectorOpen:!r.state.emojiSelectorOpen})})),b()(p()(r),"closeEmojiSelector",(function(){r.setState({emojiSelectorOpen:!1})})),b()(p()(r),"handleWidgetExit",(function(){r.setState({showDock:!0})})),b()(p()(r),"handleWidgetEnter",(function(){r.state.awaitingAgreement?r.termsUrl.current.focus():r.chatboxInput.current.focus()})),b()(p()(r),"handleExitChat",(function(){r.state.client?r.exitChat():r.setState(r.initialState)})),b()(p()(r),"exitChat",(async function(){if(!r.state.client)return null;await r.state.client.leave(r.state.roomId);var e={type:"m.login.password",user:r.state.userId,identifier:{type:"m.id.user",user:r.state.userId},password:r.state.password};await r.state.client.deactivateAccount(e,!0),await r.state.client.stopClient(),await r.state.client.clearStores(),r.state.localStorage.clear(),r.setState(r.initialState)})),b()(p()(r),"createLocalStorage",(async function(t,n){var r=e.localStorage;if(null==r){var i="matrix-chat-".concat(t,"-").concat(n),o=S.resolve(S.join(k.homedir(),".local-storage",i));r=new I.LocalStorage(o)}return r})),b()(p()(r),"createClientWithAccount",(async function(){var e=R.createClient(r.props.matrixServerUrl);try{await e.registerRequest({})}catch(c){var t=Object(O.uuid)(),n=Object(O.uuid)(),i=c.data.session,o=await e.registerRequest({auth:{session:i,type:"m.login.dummy"},inhibit_login:!1,password:n,username:t,x_show_msisdn:!0}),s=await r.createLocalStorage(o.device_id,i);r.setState({accessToken:o.access_token,userId:o.user_id,username:t,password:n,localStorage:s,sessionId:i,deviceId:o.device_id});var a={baseUrl:r.props.matrixServerUrl,accessToken:o.access_token,userId:o.user_id,deviceId:o.device_id,sessionStore:new R.WebStorageSessionStore(s)};return R.createClient(a)}})),b()(p()(r),"initializeChat",(async function(){r.setState({ready:!1});var e=await r.createClientWithAccount();r.setState({client:e}),e.setDisplayName(r.props.anonymousDisplayName),r.setMatrixListeners(e);try{await e.initCrypto()}catch(e){return r.initializeUnencryptedChat()}await e.startClient(),await r.createRoom(e)})),b()(p()(r),"initializeUnencryptedChat",(async function(){r.state.client&&(r.state.client.leave(r.state.roomId),r.state.client.stopClient(),r.state.client.clearStores(),r.state.localStorage.clear()),r.setState({ready:!1,facilitatorInvited:!1,decryptionErrors:{},roomId:null,typingStatus:null,client:null,isCryptoEnabled:!1}),r.displayBotMessage({body:"Restarting chat without encryption."});var e,t={baseUrl:r.props.matrixServerUrl,accessToken:r.state.accessToken,userId:r.state.userId,deviceId:r.state.deviceId};e=R.createClient(t),r.setState({client:e});try{r.setMatrixListeners(e),e.setDisplayName(r.props.anonymousDisplayName),await r.createRoom(e),await e.startClient(),r.displayBotMessage({body:"Messages in this chat are not encrypted."})}catch(e){console.log("error",e),r.handleInitError(e)}})),b()(p()(r),"handleInitError",(function(e){console.log("error",e),r.displayBotMessage({body:r.props.chatUnavailableMessage}),r.setState({ready:!0})})),b()(p()(r),"handleDecryptionError",(async function(e,t){if(r.state.client){var n=await r.state.client.isCryptoEnabled(),i=r.state.client.isRoomEncrypted(r.state.roomId);if(!n||!i)return r.initializeUnencryptedChat()}var o=e.getId();r.displayFakeMessage({body:"** Unable to decrypt message **"},e.getSender(),o),r.setState({decryptionErrors:b()({},o,!0)})})),b()(p()(r),"verifyAllRoomDevices",(async function(e,t){if(t&&e&&r.state.isCryptoEnabled){var n=(await t.getEncryptionTargetMembers()).map((function(e){return e.userId})),i=await e.downloadKeys(n);for(var o in i)for(var s in i[o])await e.setDeviceVerified(o,s)}})),b()(p()(r),"createRoom",(async function(e){var t=new Date,n=t.toLocaleDateString(),i=t.toLocaleTimeString(),o={room_alias_name:"private-support-chat-".concat(Object(O.uuid)()),invite:[r.props.botId],visibility:"private",name:"".concat(i,", ").concat(n," - ").concat(r.props.roomName)},s=await e.isCryptoEnabled();s&&(o.initial_state=[{type:"m.room.encryption",state_key:"",content:B}]);var a=(await e.createRoom(o)).room_id;e.setPowerLevel(a,r.props.botId,100),r.setState({roomId:a,isCryptoEnabled:s})})),b()(p()(r),"sendMessage",(async function(e){if(r.state.client&&r.state.roomId)try{await r.state.client.sendTextMessage(r.state.roomId,e)}catch(t){switch(t.name){case"UnknownDeviceError":Object.keys(t.devices).forEach((function(e){Object.keys(t.devices[e]).map((async function(t){await r.state.client.setDeviceKnown(e,t,!0)}))})),r.sendMessage(e);break;default:r.displayBotMessage({body:"Your message was not sent."}),console.log("Error sending message",t)}}})),b()(p()(r),"displayFakeMessage",(function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Object(O.uuid)(),o=i()(r.state.messages),s={id:n,type:"m.room.message",sender:t,roomId:r.state.roomId,content:e};o.push(s),r.setState({messages:o})})),b()(p()(r),"displayBotMessage",(function(e,t){var n=i()(r.state.messages),o={id:Object(O.uuid)(),type:"m.room.message",sender:r.props.botId,roomId:t||r.state.roomId,content:e};n.push(o),r.setState({messages:n})})),b()(p()(r),"handleMessageEvent",(function(e){var t={id:e.getId(),type:e.getType(),sender:e.getSender(),roomId:e.getRoomId(),content:e.getContent()};if(!(t.content.showToUser&&t.content.showToUser!==r.state.userId||t.content.body.startsWith("!bot")&&t.sender!==r.state.userId)){var n=i()(r.state.messagesInFlight),o=n.findIndex((function(e){return e===t.content.body}));o>-1&&(n.splice(o,1),r.setState({messagesInFlight:n}));var s=i()(r.state.messages),a=function(e){for(var t=1;t-1?s.splice(c,1,t):s.push(t),r.setState({messages:s,decryptionErrors:a})}})),b()(p()(r),"handleKeyDown",(function(e){switch(e.keyCode){case 27:r.state.emojiSelectorOpen?r.closeEmojiSelector():r.state.opened&&r.handleToggleOpen()}})),b()(p()(r),"setMatrixListeners",(function(e){e.on("Room.timeline",(function(t,n){var i=t.getType(),o=t.getContent(),s=t.getSender();if("m.room.encryption"===i&&(r.displayBotMessage({body:"Messages in this chat are secured with end-to-end encryption."},n.room_id),r.verifyAllRoomDevices(e,n)),"m.room.message"===i&&!r.state.isCryptoEnabled){if(t.isEncrypted())return;r.handleMessageEvent(t)}"m.room.member"===i&&"invite"===o.membership&&s===r.props.botId&&r.setState({facilitatorInvited:!0}),"m.room.member"===i&&"join"===o.membership&&s!==r.props.botId&&s!==r.state.userId&&(r.verifyAllRoomDevices(e,n),r.setState({facilitatorId:s,ready:!0}),window.clearInterval(r.state.timeoutId))})),e.on("Event.decrypted",(function(e,t){if(t)return r.handleDecryptionError(e,t);if("m.room.message"===e.getType()){var n=e.getContent();if("m.notice"===n.msgtype&&"Chat is offline"===n.body)return r.setState({ready:!0}),window.clearInterval(r.state.timeoutId);r.handleMessageEvent(e)}})),e.on("RoomMember.typing",(function(e,t){t.typing&&t.roomId===r.state.roomId?r.setState({typingStatus:"".concat(t.name," is typing...")}):r.setState({typingStatus:null})}))})),b()(p()(r),"handleInputChange",(function(e){r.setState({inputValue:e.target.value})})),b()(p()(r),"handleAcceptTerms",(function(){r.setState({awaitingAgreement:!1}),r.startWaitTimeForFacilitator();try{r.initializeChat()}catch(e){r.handleInitError(e)}})),b()(p()(r),"startWaitTimeForFacilitator",(function(){var e=window.setInterval((function(){r.state.facilitatorId||r.displayBotMessage({body:r.props.waitMessage})}),12e4);r.setState({timeoutId:e})})),b()(p()(r),"handleRejectTerms",(function(){r.exitChat(),r.displayBotMessage({body:r.props.exitMessage})})),b()(p()(r),"handleSubmit",(function(e){e.preventDefault();var t=r.state.inputValue;if(!Boolean(t))return null;if(r.state.isCryptoEnabled&&(!r.state.client.isRoomEncrypted(r.state.roomId)||!r.state.client.isCryptoEnabled()))return null;if(r.state.client&&r.state.roomId){var n=i()(r.state.messagesInFlight);n.push(t),r.setState({inputValue:"",messagesInFlight:n},(function(){return r.sendMessage(t)})),r.chatboxInput.current.focus()}})),b()(p()(r),"onEmojiClick",(function(e,t){e.preventDefault();var n=t.emoji;r.setState({inputValue:r.state.inputValue.concat(n),emojiSelectorOpen:!1},r.chatboxInput.current.focus())})),r.initialState={opened:!1,showDock:!0,client:null,ready:!0,accessToken:null,userId:null,password:null,localStorage:null,messages:[],inputValue:"",errors:[],roomId:null,typingStatus:null,awaitingAgreement:!0,emojiSelectorOpen:!1,facilitatorInvited:!1,isMobile:!0,isSlowConnection:!0,decryptionErrors:{},messagesInFlight:[]},r.state=r.initialState,r.chatboxInput=v.a.createRef(),r.messageWindow=v.a.createRef(),r.termsUrl=v.a.createRef(),r}return g()(n,t),c()(n,[{key:"componentDidUpdate",value:function(e,t){t.messages.length!==this.state.messages.length&&this.messageWindow.current.scrollTo&&this.messageWindow.current.scrollTo(0,this.messageWindow.current.scrollHeight),!t.facilitatorInvited&&this.state.facilitatorInvited&&this.displayBotMessage({body:this.props.confirmationMessage}),!t.opened&&this.state.opened&&this.detectMobile()}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown,!1),window.addEventListener("beforeunload",this.exitChat)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown,!1),window.removeEventListener("beforeunload",this.exitChat),this.exitChat()}},{key:"render",value:function(){var e=this,t=this.state,n=t.ready,r=t.messages,i=t.messagesInFlight,o=t.inputValue,s=t.userId,a=t.roomId,c=t.typingStatus,f=t.opened,u=t.showDock,l=t.emojiSelectorOpen,d=t.isMobile,h=t.decryptionErrors;return v.a.createElement("div",{className:"docked-widget",role:"complementary"},v.a.createElement(E.a,{in:f,timeout:250,onExited:this.handleWidgetExit,onEntered:this.handleWidgetEnter},(function(t){return v.a.createElement("div",{className:"widget widget-".concat(t),"aria-hidden":!f},v.a.createElement("div",{id:"ocrcc-chatbox","aria-haspopup":"dialog"},v.a.createElement(P.a,{handleToggleOpen:e.handleToggleOpen,opened:f,handleExitChat:e.handleExitChat}),v.a.createElement("div",{className:"message-window",ref:e.messageWindow},v.a.createElement("div",{className:"messages"},v.a.createElement("div",{className:"message from-bot"},v.a.createElement("div",{className:"text"},e.props.introMessage)),v.a.createElement("div",{className:"message from-bot"},v.a.createElement("div",{className:"text"},"Please read the full ",v.a.createElement("a",{href:e.props.termsUrl,ref:e.termsUrl,target:"_blank",rel:"noopener noreferrer"},"terms and conditions"),". By using this chat, you agree to these terms.")),v.a.createElement("div",{className:"message from-bot"},v.a.createElement("div",{className:"text"},e.props.agreementMessage)),v.a.createElement("div",{className:"message from-bot"},v.a.createElement("div",{className:"text buttons"},"👉",v.a.createElement("button",{className:"btn",id:"accept",onClick:e.handleAcceptTerms},"YES"),v.a.createElement("button",{className:"btn",id:"reject",onClick:e.handleRejectTerms},"NO"))),r.map((function(t,n){return v.a.createElement(x.a,{key:t.id,message:t,userId:s,botId:e.props.botId,client:e.state.client})})),i.map((function(e,t){return v.a.createElement(x.a,{key:"message-inflight-".concat(t),message:{content:{body:e}},placeholder:!0})})),c&&v.a.createElement("div",{className:"notices"},v.a.createElement("div",{role:"status"},c)),Boolean(Object.keys(h).length)&&v.a.createElement("div",{className:"message from-bot"},v.a.createElement("div",{className:"text buttons"},"Restart chat without encryption?",v.a.createElement("button",{className:"btn",id:"accept",onClick:e.initializeUnencryptedChat},"RESTART"))),!n&&v.a.createElement("div",{className:"loader"},"loading..."))),v.a.createElement("div",{className:"input-window"},v.a.createElement("form",{onSubmit:e.handleSubmit},v.a.createElement("div",{className:"message-input-container"},v.a.createElement("input",{id:"message-input",type:"text",onChange:e.handleInputChange,value:o,"aria-label":"Send a message...",placeholder:"Send a message...",autoFocus:!0,ref:e.chatboxInput}),"entered"===t&&!d&&v.a.createElement(M.a,{onEmojiClick:e.onEmojiClick,emojiSelectorOpen:l,toggleEmojiSelector:e.toggleEmojiSelector,closeEmojiSelector:e.closeEmojiSelector})),v.a.createElement("input",{type:"submit",value:"Send",id:"submit",onClick:e.handleSubmit})))))})),u&&!a&&v.a.createElement(C.a,{handleToggleOpen:this.handleToggleOpen}),u&&a&&v.a.createElement(P.a,{handleToggleOpen:this.handleToggleOpen,opened:f,handleExitChat:this.handleExitChat}))}}]),n}(v.a.Component);N.propTypes={matrixServerUrl:w.a.string.isRequired,botId:w.a.string.isRequired,termsUrl:w.a.string,introMessage:w.a.string,roomName:w.a.string,agreementMessage:w.a.string,confirmationMessage:w.a.string,exitMessage:w.a.string,chatUnavailableMessage:w.a.string,anonymousDisplayName:w.a.string,waitMessage:w.a.string},N.defaultProps={matrixServerUrl:"https://matrix.rhok.space/",botId:"@help-bot:rhok.space",termsUrl:"https://tosdr.org/",roomName:"Support Chat",introMessage:"This chat application does not collect any of your personal data or any data from your use of this service.",agreementMessage:"Do you want to continue?",confirmationMessage:"Waiting for a facilitator to join the chat...",exitMessage:"The chat is closed. You may close this window.",anonymousDisplayName:"Anonymous",chatUnavailableMessage:"The chat service is not available right now. Please try again later.",waitMessage:"Please be patient, our online facilitators are currently responding to other support requests."},t.a=N}).call(this,n(5))},function(e,t){t.endianness=function(){return"LE"},t.hostname=function(){return"undefined"!=typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"}},function(e,t,n){(function(e){(function(){var r,i,o,s,a,c,f,u,l,d,h,p,m,g=function(e,t){for(var n in t)y.call(t,n)&&(e[n]=t[n]);function r(){this.constructor=e}return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},y={}.hasOwnProperty;p=n(38),h=n(41),d=n(9),m=n(173).sync,c=function(e){var t,n,r,i,o;for(o=[],t=0,n=(i=h.readdirSync(e)).length;tthis.quota)throw new s;if(m(c,y,"utf8"),i||((l=new o(n,this._keys.push(e)-1)).size=b,this._metaKeyMap[e]=l,this.length+=1,this._bytesInUse+=b),u)return r=new a(e,g,t,this._eventUrl),this.emit("storage",r)},r.prototype.getItem=function(e){var t,n;return e=f(e),(n=this._metaKeyMap[e])?(t=p.join(this._location,n.key),h.readFileSync(t,"utf8")):null},r.prototype._getStat=function(e){var t;e=f(e),t=p.join(this._location,encodeURIComponent(e));try{return h.statSync(t)}catch(e){return null}},r.prototype.removeItem=function(e){var t,n,r,i,o,s,c,l;if(e=f(e),s=this._metaKeyMap[e]){for(i in c=null,(r=d.EventEmitter.listenerCount(this,"storage"))&&(c=this.getItem(e)),delete this._metaKeyMap[e],this.length-=1,this._bytesInUse-=s.size,n=p.join(this._location,s.key),this._keys.splice(s.index,1),l=this._metaKeyMap)l[i],(o=this._metaKeyMap[i]).index>s.index&&(o.index-=1);if(u(n),r)return t=new a(e,c,null,this._eventUrl),this.emit("storage",t)}},r.prototype.key=function(e){var t;return"---.EMPTY_STRING.---"===(t=this._keys[e])?"":t},r.prototype.clear=function(){var e;if(c(this._location),this._metaKeyMap=l(),this._keys=[],this.length=0,this._bytesInUse=0,d.EventEmitter.listenerCount(this,"storage"))return e=new a(null,null,null,this._eventUrl),this.emit("storage",e)},r.prototype._getBytesInUse=function(){return this._bytesInUse},r.prototype._deleteLocation=function(){return delete n[this._location],u(this._location),this._metaKeyMap={},this._keys=[],this.length=0,this._bytesInUse=0},r}(d.EventEmitter)),t.LocalStorage=i,t.JSONStorage=r,t.QUOTA_EXCEEDED_ERR=s}).call(this)}).call(this,n(12))},function(e,t,n){(function(t,r,i,o){var s,a,c,f,u={},l=(c="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(f){var l,d;if(f=f||{},l||(l=void 0!==f?f:{}),"undefined"!=typeof window)d=function(e){window.crypto.getRandomValues(e)};else{if(!e.exports)throw Error("Cannot find global to attach library to");var h=n(197);d=function(e){var t=h.randomBytes(e.length);e.set(t)},r=t.process}if("undefined"!=typeof OLM_OPTIONS)for(var p in OLM_OPTIONS)OLM_OPTIONS.hasOwnProperty(p)&&(l[p]=OLM_OPTIONS[p]);l.onRuntimeInitialized=function(){We=l._olm_error(),u.PRIVATE_KEY_LENGTH=l._olm_pk_private_key_length(),s&&s()},l.onAbort=function(e){a&&a(e)};var m,g={};for(m in l)l.hasOwnProperty(m)&&(g[m]=l[m]);l.arguments=[],l.thisProgram="./this.program",l.quit=function(e,t){throw t},l.preRun=[],l.postRun=[];var y=!1,b=!1,_=!1,v=!1;y="object"==typeof window,b="function"==typeof importScripts,_="object"==typeof r&&!y&&!b,v=!y&&!_&&!b;var A,w,E="";_?(E=i+"/",l.read=function(e,t){var r=we(e);return r||(A||(A=n(41)),w||(w=n(38)),e=w.normalize(e),r=A.readFileSync(e)),t?r:r.toString()},l.readBinary=function(e){return(e=l.read(e,!0)).buffer||(e=new Uint8Array(e)),x(e.buffer),e},1>2];return e=t+e+15&-16,U[V>>2]=e,(e=e>=$)&&(J(),e=!0),e?(U[V>>2]=t,0):t}function R(e){var t;return t||(t=16),Math.ceil(e/t)*t}g=void 0;var O=!1;function x(e,t){e||Be("Assertion failed: "+t)}function C(e){var t="i8";switch("*"===t.charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":B[e>>0]=0;break;case"i16":j[e>>1]=0;break;case"i32":U[e>>2]=0;break;case"i64":tempI64=[0,(tempDouble=0,1<=+ce(tempDouble)?0>>0:~~+fe((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],U[e>>2]=tempI64[0],U[e+4>>2]=tempI64[1];break;case"float":L[e>>2]=0;break;case"double":F[e>>3]=0;break;default:Be("invalid type for setValue: "+t)}}function P(e,t){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return B[e>>0];case"i16":return j[e>>1];case"i32":case"i64":return U[e>>2];case"float":return L[e>>2];case"double":return F[e>>3];default:Be("invalid type for getValue: "+t)}return null}function M(e){var t,n=l.ALLOC_STACK;if("number"==typeof e)var r=!0,i=e;else r=!1,i=e.length;if(t=4==n?o:["function"==typeof ke?ke:I,Se,I,T][void 0===n?2:n](Math.max(i,1)),r){var o=t;for(x(0==(3&t)),e=t+(-4&i);o>2]=0;for(e=t+i;o>0]=0;return t}return e.subarray||e.slice?N.set(e,t):N.set(new Uint8Array(e),t),t}var D,B,N,j,U,L,F,q,K,z,G,H,V,Q="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function W(e){for(var t=N,n=e;t[n];)++n;if(16r?n+=String.fromCharCode(r):(r-=65536,n+=String.fromCharCode(55296|r>>10,56320|1023&r))}}else n+=String.fromCharCode(r)}}function Y(e,t,n,r){if(!(0=s&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o)),127>=s){if(n>=r)break;t[n++]=s}else{if(2047>=s){if(n+1>=r)break;t[n++]=192|s>>6}else{if(65535>=s){if(n+2>=r)break;t[n++]=224|s>>12}else{if(2097151>=s){if(n+3>=r)break;t[n++]=240|s>>18}else{if(67108863>=s){if(n+4>=r)break;t[n++]=248|s>>24}else{if(n+5>=r)break;t[n++]=252|s>>30,t[n++]=128|s>>24&63}t[n++]=128|s>>18&63}t[n++]=128|s>>12&63}t[n++]=128|s>>6&63}t[n++]=128|63&s}}return t[n]=0,n-i}function X(e){for(var t=0,n=0;n=r&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++n)),127>=r?++t:t=2047>=r?t+2:65535>=r?t+3:2097151>=r?t+4:67108863>=r?t+5:t+6}return t}function J(){Be("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+$+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le"),q=K=z=G=H=V=0;var Z=l.TOTAL_STACK||5242880,$=l.TOTAL_MEMORY||16777216;function ee(e){for(;0>0]=e.charCodeAt(n)}var ce=Math.abs,fe=Math.ceil,ue=Math.floor,le=Math.min,de=0,he=null,pe=null;l.preloadedImages={},l.preloadedAudios={};var me=null,ge="data:application/octet-stream;base64,";q=39112,ne.push(),me="data:application/octet-stream;base64,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dmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAAAAAAXZQAAAgAAABmlAAACwAAALiSAABUlAAACAAAALiSAAC0mAAAAAAAAAEAAAABAAAAAQAAAAIAAAACAAAAuJIAANiUAAALAAAAuJIAACKWAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPTE1fS0VZUwBPTE1fUk9PVABPTE1fUkFUQ0hFVABzZW5kZXIgY2hhaW4gaW5kZXg6ICVkIAByZWNlaXZlciBjaGFpbiBpbmRpY2VzOgAgc2tpcHBlZCBtZXNzYWdlIGtleXM6ACAlZAABAiJjdXJ2ZTI1NTE5IjoAImVkMjU1MTkiOgBNRUdPTE1fS0VZUwAAAQIDVU5LTk9XTl9FUlJPUgBTVUNDRVNTAE5PVF9FTk9VR0hfUkFORE9NAE9VVFBVVF9CVUZGRVJfVE9PX1NNQUxMAEJBRF9NRVNTQUdFX1ZFUlNJT04AQkFEX01FU1NBR0VfRk9STUFUAEJBRF9NRVNTQUdFX01BQwBCQURfTUVTU0FHRV9LRVlfSUQASU5WQUxJRF9CQVNFNjQAQkFEX0FDQ09VTlRfS0VZAFVOS05PV05fUElDS0xFX1ZFUlNJT04AQ09SUlVQVEVEX1BJQ0tMRQBCQURfU0VTU0lPTl9LRVkAVU5LTk9XTl9NRVNTQUdFX0lOREVYAEJBRF9MRUdBQ1lfQUNDT1VOVF9QSUNLTEUAQkFEX1NJR05BVFVSRQBPTE1fSU5QVVRfQlVGRkVSX1RPT19TTUFMTABQaWNrbGUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAC4=";var ye=q;q+=16,V=I(4),K=z=R(q),H=R(G=K+Z),U[V>>2]=H;var be=!1;function _e(e){var t=Array(X(e)+1);return e=Y(e,t,0,t.length),t.length=e,t}function ve(e){for(var t=[],n=0;n>4,i=(15&i)<<4|o>>2;var a=(3&o)<<6|s;t+=String.fromCharCode(r),64!==o&&(t+=String.fromCharCode(i)),64!==s&&(t+=String.fromCharCode(a))}while(n>2]=e),e},_emscripten_memcpy_big:function(e,t,n){return N.set(N.subarray(t,t+n),e),e},DYNAMICTOP_PTR:V,tempDoublePtr:ye,STACKTOP:z,STACK_MAX:G};var Ee=function(e,t,n){"use asm";var r=new e.Int8Array(n);var i=new e.Int16Array(n);var o=new e.Int32Array(n);var s=new e.Uint8Array(n);var a=new e.Uint16Array(n);var c=new e.Uint32Array(n);var f=new e.Float32Array(n);var u=new e.Float64Array(n);var l=t.DYNAMICTOP_PTR|0;var d=t.tempDoublePtr|0;var h=t.STACKTOP|0;var p=t.STACK_MAX|0;var m=0;var g=0;var y=0;var b=0;var _=e.NaN,v=e.Infinity;var A=0,w=0,E=0,k=0,S=0.0;var I=0;var T=e.Math.floor;var R=e.Math.abs;var O=e.Math.sqrt;var x=e.Math.pow;var C=e.Math.cos;var P=e.Math.sin;var M=e.Math.tan;var D=e.Math.acos;var B=e.Math.asin;var N=e.Math.atan;var j=e.Math.atan2;var U=e.Math.exp;var L=e.Math.log;var F=e.Math.ceil;var q=e.Math.imul;var K=e.Math.min;var z=e.Math.max;var G=e.Math.clz32;var H=t.abort;var V=t.assert;var Q=t.enlargeMemory;var W=t.getTotalMemory;var Y=t.abortOnCannotGrowMemory;var X=t.invoke_ii;var J=t.invoke_iii;var Z=t.invoke_iiii;var $=t.invoke_iiiiiiiiii;var ee=t.___setErrNo;var te=t._emscripten_memcpy_big;var ne=0.0;function re(e){e=e|0;var t=0;t=h;h=h+e|0;h=h+15&-16;return t|0}function ie(){return h|0}function oe(e){e=e|0;h=e}function se(e,t){e=e|0;t=t|0;h=e;p=t}function ae(e,t){e=e|0;t=t|0;if(!m){m=e;g=t}}function ce(e){e=e|0;I=e}function fe(){return I|0}function ue(e){e=e|0;var t=0;t=e+2|0;e=(t>>>0)/3|0;return(e<<2|t-(e*3|0))+-2|0}function le(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,a=0,c=0,f=0;a=t-((t>>>0)%3|0)|0;o=e+a|0;if(!a){a=n;o=e}else{i=e;do{a=s[i>>0]|0;c=a<<8|(s[i+1>>0]|0);f=s[i+2>>0]|0;i=i+3|0;r[n+3>>0]=r[16+(f&63)>>0]|0;r[n+2>>0]=r[16+((c<<8|f)>>>6&63)>>0]|0;r[n+1>>0]=r[16+(c>>>4&63)>>0]|0;r[n>>0]=r[16+(a>>>2)>>0]|0;n=n+4|0}while((i|0)!=(o|0));a=n}n=e+t-o|0;if(!n){f=a;return f|0}i=s[o>>0]|0;if((n|0)==2){n=s[o+1>>0]|0;r[a+2>>0]=r[16+(n<<2&60)>>0]|0;n=(i<<8|n)>>>4;i=3}else{n=i<<4;i=2}r[a+1>>0]=r[16+(n&63)>>0]|0;r[a>>0]=r[16+(n>>>6)>>0]|0;f=a+i|0;return f|0}function de(e){e=e|0;var t=0;t=e+2|0;return((e&3|0)==1?-1:(t&3)+-2+((t>>>2)*3|0)|0)|0}function he(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,a=0,c=0,f=0,u=0,l=0;f=t&-4;a=e+f|0;if(!f)c=e;else{c=(((f+-4|0)>>>2)*3|0)+3|0;i=n;o=e;while(1){u=(s[80+(r[o>>0]&127)>>0]|0)<<6|(s[80+(r[o+1>>0]&127)>>0]|0);l=u<<6|(s[80+(r[o+2>>0]&127)>>0]|0);r[i+2>>0]=l<<6|(s[80+(r[o+3>>0]&127)>>0]|0);o=o+4|0;r[i+1>>0]=l>>>2;r[i>>0]=u>>>4;if((o|0)==(a|0))break;else i=i+3|0}n=n+c|0;c=e+f|0}i=e+t|0;o=i-c|0;if(!o)return i|0;a=(s[80+(r[c>>0]&127)>>0]|0)<<6|(s[80+(r[c+1>>0]&127)>>0]|0);if((o|0)==3)r[n+1>>0]=(a<<6|(s[80+(r[c+2>>0]&127)>>0]|0))>>>2;r[n>>0]=a>>>4;return i|0}function pe(e){e=e|0;var t=0;t=e+2|0;e=(t>>>0)/3|0;return(e<<2|t-(e*3|0))+-2|0}function me(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,a=0,c=0,f=0,u=0;c=t-((t>>>0)%3|0)|0;a=e+c|0;if(!c){c=n;a=e}else{i=n;o=e;do{c=s[o>>0]|0;f=c<<8|(s[o+1>>0]|0);u=s[o+2>>0]|0;o=o+3|0;r[i+3>>0]=r[16+(u&63)>>0]|0;r[i+2>>0]=r[16+((f<<8|u)>>>6&63)>>0]|0;r[i+1>>0]=r[16+(f>>>4&63)>>0]|0;r[i>>0]=r[16+(c>>>2)>>0]|0;i=i+4|0}while((o|0)!=(a|0));c=i}i=e+t-a|0;if(!i){f=c;u=n;u=f-u|0;return u|0}o=s[a>>0]|0;if((i|0)==2){i=s[a+1>>0]|0;r[c+2>>0]=r[16+(i<<2&60)>>0]|0;i=(o<<8|i)>>>4;o=3}else{i=o<<4;o=2}r[c+1>>0]=r[16+(i&63)>>0]|0;r[c>>0]=r[16+(i>>>6)>>0]|0;f=c+o|0;u=n;u=f-u|0;return u|0}function ge(e){e=e|0;var t=0;t=e+2|0;return((e&3|0)==1?-1:(t&3)+-2+((t>>>2)*3|0)|0)|0}function ye(e,t,n){e=e|0;t=t|0;n=n|0;he(e,t,n)|0;n=t+2|0;return((t&3|0)==1?-1:(n&3)+-2+((n>>>2)*3|0)|0)|0}function be(e,t){e=e|0;t=t|0;r[e+3>>0]=t;r[e+2>>0]=t>>>8;r[e+1>>0]=t>>>16;r[e>>0]=t>>>24;return e+4|0}function _e(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;o[n>>2]=0;r=e+4|0;if(r>>>0>t>>>0){r=t;return r|0}o[n>>2]=0;t=(s[e>>0]|0)<<8;o[n>>2]=t;t=(t|(s[e+1>>0]|0))<<8;o[n>>2]=t;t=(t|(s[e+2>>0]|0))<<8;o[n>>2]=t;o[n>>2]=t|(s[e+3>>0]|0);return r|0}function ve(e,t){e=e|0;t=t|0;r[e>>0]=t&1;return e+1|0}function Ae(e,t,n){e=e|0;t=t|0;n=n|0;if((e|0)==(t|0)){n=e;return n|0}r[n>>0]=(r[e>>0]|0)!=0&1;n=e+1|0;return n|0}function we(e,t,n){e=e|0;t=t|0;n=n|0;Ms(e|0,t|0,n|0)|0;return e+n|0}function Ee(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=e+r|0;if(i>>>0>t>>>0){i=t;return i|0}Ms(n|0,e|0,r|0)|0;return i|0}function ke(e){e=e|0;return 32}function Se(e,t){e=e|0;t=t|0;var n=0,i=0;i=e;n=i+32|0;do{r[i>>0]=r[t>>0]|0;i=i+1|0;t=t+1|0}while((i|0)<(n|0));return e+32|0}function Ie(e,t,n){e=e|0;t=t|0;n=n|0;var i=0;i=e+32|0;if(i>>>0>t>>>0){i=t;return i|0}t=e;e=n+32|0;do{r[n>>0]=r[t>>0]|0;n=n+1|0;t=t+1|0}while((n|0)<(e|0));return i|0}function Te(e){e=e|0;return 64}function Re(e,t){e=e|0;t=t|0;var n=0,i=0,o=0;n=e;i=t;o=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));n=e+32|0;i=t+32|0;o=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));return e+64|0}function Oe(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0;i=e+32|0;if(i>>>0>t>>>0)i=t;else{a=n;s=a+32|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0))}o=i+32|0;if(o>>>0>t>>>0){a=t;return a|0}a=n+32|0;e=i;s=a+32|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0));a=o;return a|0}function xe(e){e=e|0;return 32}function Ce(e,t){e=e|0;t=t|0;var n=0,i=0;i=e;n=i+32|0;do{r[i>>0]=r[t>>0]|0;i=i+1|0;t=t+1|0}while((i|0)<(n|0));return e+32|0}function Pe(e,t,n){e=e|0;t=t|0;n=n|0;var i=0;i=e+32|0;if(i>>>0>t>>>0){i=t;return i|0}t=e;e=n+32|0;do{r[n>>0]=r[t>>0]|0;n=n+1|0;t=t+1|0}while((n|0)<(e|0));return i|0}function Me(e){e=e|0;return 96}function De(e,t){e=e|0;t=t|0;var n=0,i=0,o=0;n=e;i=t;o=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));n=e+32|0;i=t+32|0;o=n+64|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));return e+96|0}function Be(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0;i=e+32|0;if(i>>>0>t>>>0)i=t;else{a=n;s=a+32|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0))}o=i+64|0;if(o>>>0>t>>>0){a=t;return a|0}a=n+32|0;e=i;s=a+64|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0));a=o;return a|0}function Ne(e,t){e=e|0;t=t|0;r[e+3>>0]=t;r[e+2>>0]=t>>>8;r[e+1>>0]=t>>>16;r[e>>0]=t>>>24;return e+4|0}function je(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;o[n>>2]=0;r=e+4|0;if(r>>>0>t>>>0){r=t;return r|0}o[n>>2]=0;t=(s[e>>0]|0)<<8;o[n>>2]=t;t=(t|(s[e+1>>0]|0))<<8;o[n>>2]=t;t=(t|(s[e+2>>0]|0))<<8;o[n>>2]=t;o[n>>2]=t|(s[e+3>>0]|0);return r|0}function Ue(e,t){e=e|0;t=t|0;r[e>>0]=(t|0)!=0&1;return e+1|0}function Le(e,t,n){e=e|0;t=t|0;n=n|0;if((e|0)==(t|0)){n=e;return n|0}r[n>>0]=(r[e>>0]|0)!=0&1;n=e+1|0;return n|0}function Fe(e,t,n){e=e|0;t=t|0;n=n|0;Ms(e|0,t|0,n|0)|0;return e+n|0}function qe(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=e+r|0;if(i>>>0>t>>>0){i=t;return i|0}Ms(n|0,e|0,r|0)|0;return i|0}function Ke(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0,s=0;if(t>>>0>127){o=t;i=1;while(1){i=i+1|0;if(o>>>0>16383)o=o>>>7;else{s=i;break}}}else s=1;if(e>>>0>127){i=1;while(1){i=i+1|0;if(e>>>0>16383)e=e>>>7;else{o=i;break}}}else o=1;if(n>>>0>127){e=n;i=1;while(1){i=i+1|0;if(e>>>0>16383)e=e>>>7;else break}}else i=1;return t+4+n+r+s+o+i|0}function ze(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;r[a>>0]=t;t=a+2|0;r[a+1>>0]=10;if(i>>>0>127){c=t;f=i;while(1){t=c+1|0;r[c>>0]=f|128;a=f>>>7;if(f>>>0>16383){c=t;f=a}else break}}else a=i;f=t+1|0;r[t>>0]=a;o[e>>2]=f;i=f+i|0;t=i+1|0;r[i>>0]=16;if(n>>>0>127)while(1){a=t+1|0;r[t>>0]=n|128;c=n>>>7;if(n>>>0>16383){t=a;n=c}else{n=c;break}}else a=t;r[a>>0]=n;c=e+4|0;t=a+2|0;r[a+1>>0]=34;if(s>>>0<=127){f=s;i=t;f=f&255;e=i+1|0;r[i>>0]=f;o[c>>2]=e;return}a=t;while(1){t=a+1|0;r[a>>0]=s|128;n=s>>>7;if(s>>>0>16383){a=t;s=n}else break}i=n&255;e=t+1|0;r[t>>0]=i;o[c>>2]=e;return}function Ge(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0;s=n-i|0;f=t+s|0;o[e+8>>2]=t;o[e+12>>2]=n;l=e+1|0;r[l>>0]=0;d=e+16|0;h=e+20|0;p=e+24|0;u=e+28|0;o[d>>2]=0;o[d+4>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;if(n>>>0>>0|(s|0)==0)return;r[e>>0]=r[t>>0]|0;if((s|0)==1)return;a=e+4|0;c=f;s=t+1|0;e:while(1){if((r[s>>0]|0)==10){t=s+1|0;if((t|0)!=(f|0)){e=t;while(1){i=e;e=e+1|0;if((r[i>>0]|0)>-1)break;if((e|0)==(f|0)){e=f;break}}if((e|0)!=(t|0)){n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(t|0));if(n>>>0>(c-e|0)>>>0){s=58;break}}else{n=0;e=t}}else{n=0;e=f}o[d>>2]=e;o[h>>2]=n;e=e+n|0}else e=s;if((e|0)==(f|0)){s=58;break}if((r[e>>0]|0)==16){t=e+1|0;if((t|0)!=(f|0)){e=t;while(1){i=e;e=e+1|0;if((r[i>>0]|0)>-1)break;if((e|0)==(f|0)){e=f;break}}if((e|0)==(t|0)){n=0;e=t}else{n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(t|0))}}else{n=0;e=f}o[a>>2]=n;r[l>>0]=1}if((e|0)==(f|0)){s=58;break}if((r[e>>0]|0)==34){t=e+1|0;if((t|0)!=(f|0)){e=t;while(1){i=e;e=e+1|0;if((r[i>>0]|0)>-1)break;if((e|0)==(f|0)){e=f;break}}if((e|0)!=(t|0)){n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(t|0));if(n>>>0>(c-e|0)>>>0){s=58;break}}else{n=0;e=t}}else{n=0;e=f}o[p>>2]=e;o[u>>2]=n;e=e+n|0}t:do{if(!((s|0)!=(e|0)|(e|0)==(f|0))){n=r[s>>0]|0;switch(n&7){case 0:{s=s+1|0;e=(s|0)==(f|0);if(n<<24>>24<=-1)while(1){if(e){s=58;break e}n=s+1|0;e=(n|0)==(f|0);if((r[s>>0]|0)>-1){s=n;break}else s=n}if(e)break t;while(1){t=s;s=s+1|0;if((r[t>>0]|0)>-1)break t;if((s|0)==(f|0)){s=58;break e}}}case 2:break;default:{s=58;break e}}s=s+1|0;e=(s|0)==(f|0);if(n<<24>>24<=-1)while(1){if(e){s=58;break e}n=s+1|0;e=(n|0)==(f|0);if((r[s>>0]|0)>-1){s=n;break}else s=n}if(!e){e=s;while(1){t=e;e=e+1|0;if((r[t>>0]|0)>-1)break;if((e|0)==(f|0)){e=f;break}}if((e|0)!=(s|0)){n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(s|0));if(n>>>0>(c-e|0)>>>0){s=58;break e}else s=e+n|0}}}else s=e}while(0);if((s|0)==(f|0)){s=58;break}}if((s|0)==58)return}function He(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0,s=0,a=0,c=0;if(e>>>0>127){o=e;i=1;while(1){i=i+1|0;if(o>>>0>16383)o=o>>>7;else break}}else i=1;if(t>>>0>127){s=t;o=1;while(1){o=o+1|0;if(s>>>0>16383)s=s>>>7;else break}}else o=1;if(n>>>0>127){a=n;s=1;while(1){s=s+1|0;if(a>>>0>16383)a=a>>>7;else{c=s;break}}}else c=1;if(r>>>0>127){a=r;s=1;while(1){s=s+1|0;if(a>>>0>16383)a=a>>>7;else break}}else s=1;return e+5+t+n+r+i+o+c+s|0}function Ve(e,t,n,i,s,a,c){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;var f=0,u=0,l=0;r[c>>0]=t;l=e+8|0;t=c+2|0;r[c+1>>0]=10;if(s>>>0>127){f=t;u=s;while(1){t=f+1|0;r[f>>0]=u|128;c=u>>>7;if(u>>>0>16383){f=t;u=c}else break}}else c=s;u=t+1|0;r[t>>0]=c;o[l>>2]=u;s=u+s|0;l=e+4|0;t=s+1|0;r[s>>0]=18;if(i>>>0>127){f=i;while(1){u=t+1|0;r[t>>0]=f|128;c=f>>>7;if(f>>>0>16383){t=u;f=c}else{t=u;break}}}else c=i;s=t+1|0;r[t>>0]=c;o[l>>2]=s;i=s+i|0;t=i+1|0;r[i>>0]=26;if(n>>>0>127){f=n;while(1){u=t+1|0;r[t>>0]=f|128;c=f>>>7;if(f>>>0>16383){t=u;f=c}else{t=u;break}}}else c=n;u=t+1|0;r[t>>0]=c;o[e>>2]=u;n=u+n|0;u=e+12|0;t=n+1|0;r[n>>0]=34;if(a>>>0<=127){i=a;e=t;i=i&255;n=e+1|0;r[e>>0]=i;o[u>>2]=n;return}f=t;while(1){t=f+1|0;r[f>>0]=a|128;c=a>>>7;if(a>>>0>16383){f=t;a=c}else break}e=c&255;n=t+1|0;r[t>>0]=e;o[u>>2]=n;return}function Qe(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0;u=t+n|0;l=e+20|0;d=e+24|0;h=e+4|0;p=e+8|0;m=e+12|0;g=e+16|0;c=e+28|0;f=e+32|0;o[h>>2]=0;o[h+4>>2]=0;o[h+8>>2]=0;o[h+12>>2]=0;o[h+16>>2]=0;o[h+20>>2]=0;o[h+24>>2]=0;o[h+28>>2]=0;if(!n)return;r[e>>0]=r[t>>0]|0;if((n|0)==1)return;a=u;e=t+1|0;e:while(1){if((r[e>>0]|0)==10){s=e+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[l>>2]=n;o[d>>2]=t;n=n+t|0}else n=e;if((n|0)==(u|0)){e=70;break}if((r[n>>0]|0)==18){s=n+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[m>>2]=n;o[g>>2]=t;n=n+t|0}if((n|0)==(u|0)){e=70;break}if((r[n>>0]|0)==26){s=n+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[h>>2]=n;o[p>>2]=t;n=n+t|0}if((n|0)==(u|0)){e=70;break}if((r[n>>0]|0)==34){s=n+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[c>>2]=n;o[f>>2]=t;n=n+t|0}t:do{if(!((e|0)!=(n|0)|(n|0)==(u|0))){t=r[e>>0]|0;switch(t&7){case 0:{e=e+1|0;n=(e|0)==(u|0);if(t<<24>>24<=-1)while(1){if(n){e=70;break e}t=e+1|0;n=(t|0)==(u|0);if((r[e>>0]|0)>-1){e=t;break}else e=t}if(n)break t;while(1){s=e;e=e+1|0;if((r[s>>0]|0)>-1)break t;if((e|0)==(u|0)){e=70;break e}}}case 2:break;default:{e=70;break e}}e=e+1|0;n=(e|0)==(u|0);if(t<<24>>24<=-1)while(1){if(n){e=70;break e}t=e+1|0;n=(t|0)==(u|0);if((r[e>>0]|0)>-1){e=t;break}else e=t}if(!n){n=e;while(1){s=n;n=n+1|0;if((r[s>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(e|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(e|0));if(t>>>0>(a-n|0)>>>0){e=70;break e}else e=n+t|0}}}else e=n}while(0);if((e|0)==(u|0)){e=70;break}}if((e|0)==70)return}function We(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0;if(e>>>0>127){i=1;while(1){i=i+1|0;if(e>>>0>16383)e=e>>>7;else break}}else i=1;if(t>>>0>127){o=t;e=1;while(1){e=e+1|0;if(o>>>0>16383)o=o>>>7;else break}}else e=1;return t+3+n+r+i+e|0}function Ye(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0;r[i>>0]=e;a=i+2|0;r[i+1>>0]=8;if(t>>>0>127){c=a;while(1){a=c+1|0;r[c>>0]=t|128;e=t>>>7;if(t>>>0>16383){c=a;t=e}else break}}else e=t;r[a>>0]=e;e=a+2|0;r[a+1>>0]=18;if(n>>>0>127){t=n;while(1){c=e+1|0;r[e>>0]=t|128;a=t>>>7;if(t>>>0>16383){e=c;t=a}else{e=c;break}}}else a=n;c=e+1|0;r[e>>0]=a;o[s>>2]=c;return c+n-i|0}function Xe(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,h=0;f=i+n|0;n=t-f|0;u=e+n|0;l=s+4|0;o[l>>2]=0;d=s+12|0;o[d>>2]=0;h=s+16|0;o[h>>2]=0;if(f>>>0>t>>>0|(n|0)==0)return;r[s>>0]=r[e>>0]|0;e:do{if((n|0)==1)n=0;else{f=u;n=0;i=e+1|0;do{if((r[i>>0]|0)==8){a=i+1|0;if((a|0)!=(u|0)){n=a;while(1){c=n;n=n+1|0;if((r[c>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)==(a|0)){t=0;n=a}else{t=0;e=n;do{e=e+-1|0;t=t<<7|r[e>>0]&127}while((e|0)!=(a|0))}}else{t=0;n=u}o[l>>2]=t;t=n;n=1}else t=i;if((t|0)==(u|0))break e;if((r[t>>0]|0)==18){c=t+1|0;if((c|0)!=(u|0)){t=c;while(1){a=t;t=t+1|0;if((r[a>>0]|0)>-1)break;if((t|0)==(u|0)){t=u;break}}if((t|0)!=(c|0)){e=0;a=t;do{a=a+-1|0;e=e<<7|r[a>>0]&127}while((a|0)!=(c|0));if(e>>>0>(f-t|0)>>>0)break e}else{e=0;t=c}}else{e=0;t=u}o[d>>2]=t;o[h>>2]=e;t=t+e|0}t:do{if(!((i|0)!=(t|0)|(t|0)==(u|0))){e=r[i>>0]|0;switch(e&7){case 0:{i=i+1|0;t=(i|0)==(u|0);if(e<<24>>24<=-1)while(1){if(t)break e;e=i+1|0;t=(e|0)==(u|0);if((r[i>>0]|0)>-1){i=e;break}else i=e}if(t)break t;while(1){c=i;i=i+1|0;if((r[c>>0]|0)>-1)break t;if((i|0)==(u|0))break e}}case 2:break;default:break e}i=i+1|0;t=(i|0)==(u|0);if(e<<24>>24<=-1)while(1){if(t)break e;e=i+1|0;t=(e|0)==(u|0);if((r[i>>0]|0)>-1){i=e;break}else i=e}if(!t){t=i;while(1){c=t;t=t+1|0;if((r[c>>0]|0)>-1)break;if((t|0)==(u|0)){t=u;break}}if((t|0)!=(i|0)){e=0;a=t;do{a=a+-1|0;e=e<<7|r[a>>0]&127}while((a|0)!=(i|0));if(e>>>0>(f-t|0)>>>0)break e;else i=t+e|0}}}else i=t}while(0)}while((i|0)!=(u|0))}}while(0);o[s+8>>2]=n&255;return}function Je(e){e=e|0;gn(e,37520,37536);o[e+3216>>2]=0;r[e+3220>>0]=0;return}function Ze(e){e=e|0;return 64}function $e(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var c=0,f=0,u=0,l=0,d=0;d=h;h=h+224|0;f=d+160|0;u=d+96|0;l=d;if(a>>>0<64){o[e+3216>>2]=1;l=-1;h=d;return l|0}else{pt(s,f);pt(s+32|0,u);t=t+96|0;r[e+3220>>0]=0;s=e+3221|0;a=t;c=s+32|0;do{r[s>>0]=r[a>>0]|0;s=s+1|0;a=a+1|0}while((s|0)<(c|0));s=e+3253|0;a=f;c=s+32|0;do{r[s>>0]=r[a>>0]|0;s=s+1|0;a=a+1|0}while((s|0)<(c|0));s=e+3285|0;a=i;c=s+32|0;do{r[s>>0]=r[a>>0]|0;s=s+1|0;a=a+1|0}while((s|0)<(c|0));mt(t,i,l);mt(f,n,l+32|0);mt(f,i,l+64|0);bn(e,l,96,u);Hr(f,64);Hr(u,64);Hr(l,96);l=0;h=d;return l|0}return 0}function et(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0;b=h;h=h+208|0;p=b+128|0;m=b+96|0;g=b+168|0;y=b;Qe(p,i,s);c=(n|0)!=0;i=o[p+4>>2]|0;a=(i|0)!=0;s=c|a;if(i)s=s&(o[p+8>>2]|0)==32;l=o[p+28>>2]|0;u=o[p+12>>2]|0;d=o[p+20>>2]|0;if(!(s&(l|0)!=0&(u|0)!=0&(o[p+16>>2]|0)==32&(d|0)!=0&(o[p+24>>2]|0)==32)){o[e+3216>>2]=4;y=-1;h=b;return y|0}if(c&a?qo(n,i,32)|0:0){o[e+3216>>2]=6;y=-1;h=b;return y|0}f=e+3221|0;n=f;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));c=e+3253|0;n=c;i=u;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));s=e+3285|0;n=s;i=d;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));p=o[p+32>>2]|0;i=o[e+4>>2]|0;Ge(m,l,p,Gs[o[o[i>>2]>>2]&1](i)|0);i=o[m+16>>2]|0;if((i|0)!=0?(o[m+20>>2]|0)==32:0){n=g;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));i=Tr(t,s)|0;if(!i){o[e+3216>>2]=6;i=-1}else{i=i+5|0;mt(i,f,y);mt(t+96|0,c,y+32|0);mt(i,c,y+64|0);yn(e,y,96,g);Hr(y,96);i=0}}else{o[e+3216>>2]=4;i=-1}y=i;h=b;return y|0}function tt(e){e=e|0;return 32}function nt(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0;c=h;h=h+96|0;a=c;if(n>>>0<32){o[e+3216>>2]=2;a=-1;h=c;return a|0}else{n=a;i=e+3221|0;s=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(s|0));n=a+32|0;i=e+3253|0;s=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(s|0));n=a+64|0;i=e+3285|0;s=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(s|0));wt(a,96,t);a=32;h=c;return a|0}return 0}function rt(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,c=0,f=0,u=0;u=h;h=h+48|0;f=u;Qe(f,n,r);c=(t|0)!=0;a=o[f+4>>2]|0;n=c|(a|0)!=0;r=(a|0)==0;if(!r)n=n&(o[f+8>>2]|0)==32;i=o[f+12>>2]|0;s=o[f+20>>2]|0;if(!(n&(o[f+28>>2]|0)!=0&(i|0)!=0&(o[f+16>>2]|0)==32&(s|0)!=0&(o[f+24>>2]|0)==32)){t=0;h=u;return t|0}if(r)n=1;else n=(qo(a,e+3221|0,32)|0)==0;if(c){if(!n){t=0;h=u;return t|0}if(qo(t,e+3221|0,32)|0){t=0;h=u;return t|0}}else if(!n){t=0;h=u;return t|0}if(qo(i,e+3253|0,32)|0){t=0;h=u;return t|0}t=(qo(s,e+3285|0,32)|0)==0;h=u;return t|0}function it(e){e=e|0;return s[e+3220>>0]|0|0}function ot(e,t){e=e|0;t=t|0;t=wn(e,t)|0;if(r[e+3220>>0]|0){e=t;return e|0}e=He(32,32,32,t)|0;return e|0}function st(e){e=e|0;return En(e)|0}function at(e,t,n,i,s,a,c){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;var f=0,u=0,l=0,d=0,p=0;p=h;h=h+16|0;d=p;f=wn(e,n)|0;u=e+3220|0;if(!(r[u>>0]|0))f=He(32,32,32,f)|0;if(f>>>0>c>>>0){o[e+3216>>2]=2;e=-1;h=p;return e|0}l=wn(e,n)|0;if(!(r[u>>0]|0)){Ve(d,3,32,32,32,l,a);a=o[d+8>>2]|0;f=e+3285|0;c=a+32|0;do{r[a>>0]=r[f>>0]|0;a=a+1|0;f=f+1|0}while((a|0)<(c|0));a=o[d>>2]|0;f=e+3221|0;c=a+32|0;do{r[a>>0]=r[f>>0]|0;a=a+1|0;f=f+1|0}while((a|0)<(c|0));a=o[d+4>>2]|0;f=e+3253|0;c=a+32|0;do{r[a>>0]=r[f>>0]|0;a=a+1|0;f=f+1|0}while((a|0)<(c|0));a=o[d+12>>2]|0}a=kn(e,t,n,i,s,a,l)|0;if((a|0)!=-1){e=a;h=p;return e|0}s=e+8|0;o[e+3216>>2]=o[s>>2];o[s>>2]=0;e=-1;h=p;return e|0}function ct(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0;s=h;h=h+48|0;i=s;do{if((t|0)!=1){Qe(i,n,r);n=o[i+28>>2]|0;if(n|0){r=o[i+32>>2]|0;break}o[e+3216>>2]=4;e=-1;h=s;return e|0}}while(0);n=Sn(e,n,r)|0;if((n|0)!=-1){e=n;h=s;return e|0}i=e+8|0;o[e+3216>>2]=o[i>>2];o[i>>2]=0;e=-1;h=s;return e|0}function ft(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;f=h;h=h+48|0;c=f;do{if((t|0)!=1){Qe(c,n,i);n=o[c+28>>2]|0;if(n|0){i=o[c+32>>2]|0;break}o[e+3216>>2]=4;e=-1;h=f;return e|0}}while(0);n=In(e,n,i,s,a)|0;if((n|0)==-1){a=e+8|0;o[e+3216>>2]=o[a>>2];o[a>>2]=0;e=-1;h=f;return e|0}else{r[e+3220>>0]=1;e=n;h=f;return e|0}return 0}function ut(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0;m=h;h=h+48|0;p=m+32|0;u=m+24|0;l=m+16|0;i=m;if(!n){h=m;return}r[t>>0]=0;f=t;o[i>>2]=o[e+112>>2];i=vs(t,n,38002,i)|0;i=(i|0)>0?t+i|0:t;d=f+n|0;a=vs(i,d-i|0,38026,m+8|0)|0;i=(a|0)>0?i+a|0:i;a=e+148|0;c=e+152|0;t=f-i+n|0;if((o[a>>2]|0)!=(c|0)){s=0;do{o[u>>2]=o[e+152+(s*68|0)+32>>2];t=vs(i,t,38073,u)|0;i=(t|0)>0?i+t|0:i;s=s+1|0;t=f-i+n|0}while(s>>>0<(((o[a>>2]|0)-c|0)/68|0)>>>0)}t=vs(i,t,38050,l)|0;a=e+492|0;c=e+496|0;if((o[a>>2]|0)==(c|0)){h=m;return}s=0;t=(t|0)>-1?i+t|0:i;while(1){o[p>>2]=o[e+496+(s*68|0)+32>>2];i=vs(t,d-t|0,38073,p)|0;s=s+1|0;if(s>>>0>=(((o[a>>2]|0)-c|0)/68|0)>>>0)break;else t=(i|0)>0?t+i|0:t}h=m;return}function lt(e){e=e|0;var t=0;t=(ke(e+3221|0)|0)+5|0;t=t+(ke(e+3253|0)|0)|0;t=t+(ke(e+3285|0)|0)|0;return t+(_n(e)|0)|0}function dt(e,t){e=e|0;t=t|0;e=be(e,1)|0;return vn(Se(Se(Se(ve(e,(r[t+3220>>0]|0)!=0)|0,t+3221|0)|0,t+3253|0)|0,t+3285|0)|0,t)|0}function ht(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0;s=h;h=h+16|0;r=s;i=_e(e,t,r)|0;e=o[r>>2]|0;e:do{if((e|0)<1){switch(e|0){case-2147483647:break;default:{r=3;break e}}e=1;r=4}else switch(e|0){case 1:{e=0;r=4;break}default:r=3}}while(0);if((r|0)==3){o[n+3216>>2]=9;n=t;h=s;return n|0}else if((r|0)==4){n=An(Ie(Ie(Ie(Ae(i,t,n+3220|0)|0,t,n+3221|0)|0,t,n+3253|0)|0,t,n+3285|0)|0,t,n,e)|0;h=s;return n|0}return 0}function pt(e,t){e=e|0;t=t|0;var n=0,i=0,o=0;i=t+32|0;o=i;n=o+32|0;do{r[o>>0]=r[e>>0]|0;o=o+1|0;e=e+1|0}while((o|0)<(n|0));Po(t,i,208)|0;return}function mt(e,t,n){e=e|0;t=t|0;n=n|0;Po(n,e+32|0,t)|0;return}function gt(e,t){e=e|0;t=t|0;hi(t,t+32|0,e);return}function yt(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;bi(r,t,n,e,e+32|0);return}function bt(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return(yi(r,t,n,e)|0)!=0|0}function _t(e){e=e|0;return e+16-(e&15)|0}function vt(e,t,n,i,o){e=e|0;t=t|0;n=n|0;i=i|0;o=o|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0;C=h;h=h+256|0;O=C+16|0;x=C;Oo(e,O,256);T=x;k=T+16|0;do{r[T>>0]=r[t>>0]|0;T=T+1|0;t=t+1|0}while((T|0)<(k|0));if(i>>>0>15){A=x+1|0;w=x+2|0;a=x+3|0;c=x+4|0;f=x+5|0;u=x+6|0;l=x+7|0;d=x+8|0;p=x+9|0;m=x+10|0;g=x+11|0;y=x+12|0;b=x+13|0;_=x+14|0;v=x+15|0;S=i+-16|0;I=S&-16;R=I+16|0;E=o+R|0;e=i;i=n;while(1){r[x>>0]=r[x>>0]^r[i>>0];r[A>>0]=r[A>>0]^r[i+1>>0];r[w>>0]=r[w>>0]^r[i+2>>0];r[a>>0]=r[a>>0]^r[i+3>>0];r[c>>0]=r[c>>0]^r[i+4>>0];r[f>>0]=r[f>>0]^r[i+5>>0];r[u>>0]=r[u>>0]^r[i+6>>0];r[l>>0]=r[l>>0]^r[i+7>>0];r[d>>0]=r[d>>0]^r[i+8>>0];r[p>>0]=r[p>>0]^r[i+9>>0];r[m>>0]=r[m>>0]^r[i+10>>0];r[g>>0]=r[g>>0]^r[i+11>>0];r[y>>0]=r[y>>0]^r[i+12>>0];r[b>>0]=r[b>>0]^r[i+13>>0];r[_>>0]=r[_>>0]^r[i+14>>0];r[v>>0]=r[v>>0]^r[i+15>>0];To(x,o,O,256);T=x;t=o;k=T+16|0;do{r[T>>0]=r[t>>0]|0;T=T+1|0;t=t+1|0}while((T|0)<(k|0));e=e+-16|0;if(e>>>0<=15)break;else{o=o+16|0;i=i+16|0}}o=E;t=S-I|0;n=n+R|0}else t=i;if(t){e=0;do{R=x+e|0;r[R>>0]=r[R>>0]^r[n+e>>0];e=e+1|0}while((e|0)!=(t|0));if(t>>>0<16)n=t;else{To(x,o,O,256);Hr(O,240);Hr(x,16);h=C;return}}else n=0;e=16-t|0;do{R=x+n|0;r[R>>0]=e^(s[R>>0]|0);n=n+1|0}while((n|0)!=16);To(x,o,O,256);Hr(O,240);Hr(x,16);h=C;return}function At(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0;O=h;h=h+272|0;I=O+32|0;T=O+16|0;R=O;Oo(e,I,256);S=T;k=S+16|0;do{r[S>>0]=r[t>>0]|0;S=S+1|0;t=t+1|0}while((S|0)<(k|0));if(!i){Hr(I,240);Hr(T,16);Hr(R,16);R=i+-1|0;R=s+R|0;R=r[R>>0]|0;R=R&255;T=R>>>0>i>>>0;R=i-R|0;R=T?-1:R;h=O;return R|0}E=T+1|0;a=T+2|0;c=T+3|0;f=T+4|0;u=T+5|0;l=T+6|0;d=T+7|0;p=T+8|0;m=T+9|0;g=T+10|0;y=T+11|0;b=T+12|0;_=T+13|0;v=T+14|0;A=T+15|0;e=0;do{w=n+e|0;S=R;t=w;k=S+16|0;do{r[S>>0]=r[t>>0]|0;S=S+1|0;t=t+1|0}while((S|0)<(k|0));S=s+e|0;Co(w,S,I,256);r[S>>0]=r[S>>0]^r[T>>0];k=S+1|0;r[k>>0]=r[k>>0]^r[E>>0];k=S+2|0;r[k>>0]=r[k>>0]^r[a>>0];k=S+3|0;r[k>>0]=r[k>>0]^r[c>>0];k=S+4|0;r[k>>0]=r[k>>0]^r[f>>0];k=S+5|0;r[k>>0]=r[k>>0]^r[u>>0];k=S+6|0;r[k>>0]=r[k>>0]^r[l>>0];k=S+7|0;r[k>>0]=r[k>>0]^r[d>>0];k=S+8|0;r[k>>0]=r[k>>0]^r[p>>0];k=S+9|0;r[k>>0]=r[k>>0]^r[m>>0];k=S+10|0;r[k>>0]=r[k>>0]^r[g>>0];k=S+11|0;r[k>>0]=r[k>>0]^r[y>>0];k=S+12|0;r[k>>0]=r[k>>0]^r[b>>0];k=S+13|0;r[k>>0]=r[k>>0]^r[_>>0];k=S+14|0;r[k>>0]=r[k>>0]^r[v>>0];S=S+15|0;r[S>>0]=r[S>>0]^r[A>>0];o[T>>2]=o[R>>2];o[T+4>>2]=o[R+4>>2];o[T+8>>2]=o[R+8>>2];o[T+12>>2]=o[R+12>>2];e=e+16|0}while(e>>>0>>0);Hr(I,240);Hr(T,16);Hr(R,16);R=i+-1|0;R=s+R|0;R=r[R>>0]|0;R=R&255;T=R>>>0>i>>>0;R=i-R|0;R=T?-1:R;h=O;return R|0}function wt(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0;r=h;h=h+112|0;i=r;ko(i);So(i,e,t);Io(i,n);Hr(i,112);h=r;return}function Et(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0;u=h;h=h+288|0;s=u+176|0;a=u;c=u+64|0;f=a;l=f+64|0;do{o[f>>2]=0;f=f+4|0}while((f|0)<(l|0));if(t>>>0>64){ko(s);So(s,e,t);Io(s,a)}else Ms(a|0,e|0,t|0)|0;kt(c,a);So(c,n,r);St(c,a,i);Hr(a,64);Hr(c,112);h=u;return}function kt(e,t){e=e|0;t=t|0;var n=0,i=0,o=0,s=0;s=h;h=h+64|0;i=s;o=i;n=o+64|0;do{r[o>>0]=r[t>>0]|0;o=o+1|0;t=t+1|0}while((o|0)<(n|0));r[i>>0]=r[i>>0]^54;o=i+1|0;r[o>>0]=r[o>>0]^54;o=i+2|0;r[o>>0]=r[o>>0]^54;o=i+3|0;r[o>>0]=r[o>>0]^54;o=i+4|0;r[o>>0]=r[o>>0]^54;o=i+5|0;r[o>>0]=r[o>>0]^54;o=i+6|0;r[o>>0]=r[o>>0]^54;o=i+7|0;r[o>>0]=r[o>>0]^54;o=i+8|0;r[o>>0]=r[o>>0]^54;o=i+9|0;r[o>>0]=r[o>>0]^54;o=i+10|0;r[o>>0]=r[o>>0]^54;o=i+11|0;r[o>>0]=r[o>>0]^54;o=i+12|0;r[o>>0]=r[o>>0]^54;o=i+13|0;r[o>>0]=r[o>>0]^54;o=i+14|0;r[o>>0]=r[o>>0]^54;o=i+15|0;r[o>>0]=r[o>>0]^54;o=i+16|0;r[o>>0]=r[o>>0]^54;o=i+17|0;r[o>>0]=r[o>>0]^54;o=i+18|0;r[o>>0]=r[o>>0]^54;o=i+19|0;r[o>>0]=r[o>>0]^54;o=i+20|0;r[o>>0]=r[o>>0]^54;o=i+21|0;r[o>>0]=r[o>>0]^54;o=i+22|0;r[o>>0]=r[o>>0]^54;o=i+23|0;r[o>>0]=r[o>>0]^54;o=i+24|0;r[o>>0]=r[o>>0]^54;o=i+25|0;r[o>>0]=r[o>>0]^54;o=i+26|0;r[o>>0]=r[o>>0]^54;o=i+27|0;r[o>>0]=r[o>>0]^54;o=i+28|0;r[o>>0]=r[o>>0]^54;o=i+29|0;r[o>>0]=r[o>>0]^54;o=i+30|0;r[o>>0]=r[o>>0]^54;o=i+31|0;r[o>>0]=r[o>>0]^54;o=i+32|0;r[o>>0]=r[o>>0]^54;o=i+33|0;r[o>>0]=r[o>>0]^54;o=i+34|0;r[o>>0]=r[o>>0]^54;o=i+35|0;r[o>>0]=r[o>>0]^54;o=i+36|0;r[o>>0]=r[o>>0]^54;o=i+37|0;r[o>>0]=r[o>>0]^54;o=i+38|0;r[o>>0]=r[o>>0]^54;o=i+39|0;r[o>>0]=r[o>>0]^54;o=i+40|0;r[o>>0]=r[o>>0]^54;o=i+41|0;r[o>>0]=r[o>>0]^54;o=i+42|0;r[o>>0]=r[o>>0]^54;o=i+43|0;r[o>>0]=r[o>>0]^54;o=i+44|0;r[o>>0]=r[o>>0]^54;o=i+45|0;r[o>>0]=r[o>>0]^54;o=i+46|0;r[o>>0]=r[o>>0]^54;o=i+47|0;r[o>>0]=r[o>>0]^54;o=i+48|0;r[o>>0]=r[o>>0]^54;o=i+49|0;r[o>>0]=r[o>>0]^54;o=i+50|0;r[o>>0]=r[o>>0]^54;o=i+51|0;r[o>>0]=r[o>>0]^54;o=i+52|0;r[o>>0]=r[o>>0]^54;o=i+53|0;r[o>>0]=r[o>>0]^54;o=i+54|0;r[o>>0]=r[o>>0]^54;o=i+55|0;r[o>>0]=r[o>>0]^54;o=i+56|0;r[o>>0]=r[o>>0]^54;o=i+57|0;r[o>>0]=r[o>>0]^54;o=i+58|0;r[o>>0]=r[o>>0]^54;o=i+59|0;r[o>>0]=r[o>>0]^54;o=i+60|0;r[o>>0]=r[o>>0]^54;o=i+61|0;r[o>>0]=r[o>>0]^54;o=i+62|0;r[o>>0]=r[o>>0]^54;o=i+63|0;r[o>>0]=r[o>>0]^54;ko(e);So(e,i,64);Hr(i,64);h=s;return}function St(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0,c=0;c=h;h=h+208|0;o=c;s=c+96|0;a=o;i=a+64|0;do{r[a>>0]=r[t>>0]|0;a=a+1|0;t=t+1|0}while((a|0)<(i|0));r[o>>0]=r[o>>0]^92;a=o+1|0;r[a>>0]=r[a>>0]^92;a=o+2|0;r[a>>0]=r[a>>0]^92;a=o+3|0;r[a>>0]=r[a>>0]^92;a=o+4|0;r[a>>0]=r[a>>0]^92;a=o+5|0;r[a>>0]=r[a>>0]^92;a=o+6|0;r[a>>0]=r[a>>0]^92;a=o+7|0;r[a>>0]=r[a>>0]^92;a=o+8|0;r[a>>0]=r[a>>0]^92;a=o+9|0;r[a>>0]=r[a>>0]^92;a=o+10|0;r[a>>0]=r[a>>0]^92;a=o+11|0;r[a>>0]=r[a>>0]^92;a=o+12|0;r[a>>0]=r[a>>0]^92;a=o+13|0;r[a>>0]=r[a>>0]^92;a=o+14|0;r[a>>0]=r[a>>0]^92;a=o+15|0;r[a>>0]=r[a>>0]^92;a=o+16|0;r[a>>0]=r[a>>0]^92;a=o+17|0;r[a>>0]=r[a>>0]^92;a=o+18|0;r[a>>0]=r[a>>0]^92;a=o+19|0;r[a>>0]=r[a>>0]^92;a=o+20|0;r[a>>0]=r[a>>0]^92;a=o+21|0;r[a>>0]=r[a>>0]^92;a=o+22|0;r[a>>0]=r[a>>0]^92;a=o+23|0;r[a>>0]=r[a>>0]^92;a=o+24|0;r[a>>0]=r[a>>0]^92;a=o+25|0;r[a>>0]=r[a>>0]^92;a=o+26|0;r[a>>0]=r[a>>0]^92;a=o+27|0;r[a>>0]=r[a>>0]^92;a=o+28|0;r[a>>0]=r[a>>0]^92;a=o+29|0;r[a>>0]=r[a>>0]^92;a=o+30|0;r[a>>0]=r[a>>0]^92;a=o+31|0;r[a>>0]=r[a>>0]^92;a=o+32|0;r[a>>0]=r[a>>0]^92;a=o+33|0;r[a>>0]=r[a>>0]^92;a=o+34|0;r[a>>0]=r[a>>0]^92;a=o+35|0;r[a>>0]=r[a>>0]^92;a=o+36|0;r[a>>0]=r[a>>0]^92;a=o+37|0;r[a>>0]=r[a>>0]^92;a=o+38|0;r[a>>0]=r[a>>0]^92;a=o+39|0;r[a>>0]=r[a>>0]^92;a=o+40|0;r[a>>0]=r[a>>0]^92;a=o+41|0;r[a>>0]=r[a>>0]^92;a=o+42|0;r[a>>0]=r[a>>0]^92;a=o+43|0;r[a>>0]=r[a>>0]^92;a=o+44|0;r[a>>0]=r[a>>0]^92;a=o+45|0;r[a>>0]=r[a>>0]^92;a=o+46|0;r[a>>0]=r[a>>0]^92;a=o+47|0;r[a>>0]=r[a>>0]^92;a=o+48|0;r[a>>0]=r[a>>0]^92;a=o+49|0;r[a>>0]=r[a>>0]^92;a=o+50|0;r[a>>0]=r[a>>0]^92;a=o+51|0;r[a>>0]=r[a>>0]^92;a=o+52|0;r[a>>0]=r[a>>0]^92;a=o+53|0;r[a>>0]=r[a>>0]^92;a=o+54|0;r[a>>0]=r[a>>0]^92;a=o+55|0;r[a>>0]=r[a>>0]^92;a=o+56|0;r[a>>0]=r[a>>0]^92;a=o+57|0;r[a>>0]=r[a>>0]^92;a=o+58|0;r[a>>0]=r[a>>0]^92;a=o+59|0;r[a>>0]=r[a>>0]^92;a=o+60|0;r[a>>0]=r[a>>0]^92;a=o+61|0;r[a>>0]=r[a>>0]^92;a=o+62|0;r[a>>0]=r[a>>0]^92;a=o+63|0;r[a>>0]=r[a>>0]^92;Io(e,o+64|0);ko(s);So(s,o,96);Io(s,n);Hr(s,112);Hr(o,96);h=c;return}function It(e,t,n,i,s,a,c,f){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;f=f|0;var u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0;_=h;h=h+336|0;l=_+208|0;b=_+96|0;m=_+32|0;g=_;y=_+320|0;r[y>>0]=1;d=(n|0)==0;u=d?32:i;i=d?38496:n;d=m;p=d+64|0;do{o[d>>2]=0;d=d+4|0}while((d|0)<(p|0));if(u>>>0>64){ko(l);So(l,i,u);Io(l,m)}else Ms(m|0,i|0,u|0)|0;kt(b,m);So(b,e,t);St(b,m,g);p=m+32|0;o[p>>2]=0;o[p+4>>2]=0;o[p+8>>2]=0;o[p+12>>2]=0;o[p+16>>2]=0;o[p+20>>2]=0;o[p+24>>2]=0;o[p+28>>2]=0;o[m>>2]=o[g>>2];o[m+4>>2]=o[g+4>>2];o[m+8>>2]=o[g+8>>2];o[m+12>>2]=o[g+12>>2];o[m+16>>2]=o[g+16>>2];o[m+20>>2]=o[g+20>>2];o[m+24>>2]=o[g+24>>2];o[m+28>>2]=o[g+28>>2];kt(b,m);So(b,s,a);So(b,y,1);St(b,m,g);if(f>>>0<=32){a=f;Ms(c|0,g|0,a|0)|0;Hr(b,112);Hr(m,64);Hr(g,32);h=_;return}e=f+-33&-32;t=e+32|0;l=f+-32|0;u=c;i=f;while(1){d=u;n=g;p=d+32|0;do{r[d>>0]=r[n>>0]|0;d=d+1|0;n=n+1|0}while((d|0)<(p|0));i=i+-32|0;r[y>>0]=(r[y>>0]|0)+1<<24>>24;kt(b,m);So(b,g,32);So(b,s,a);So(b,y,1);St(b,m,g);if(i>>>0<=32)break;else u=u+32|0}a=l-e|0;c=c+t|0;Ms(c|0,g|0,a|0)|0;Hr(b,112);Hr(m,64);Hr(g,32);h=_;return}function Tt(e){e=e|0;return Si(o[e>>2]|0)|0}function Rt(){return 36}function Ot(e){e=e|0;Hr(e,36);return e|0}function xt(e){e=e|0;var t=0;Hr(e,36);t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));return 36}function Ct(e,t,n){e=e|0;t=t|0;n=n|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=15;n=-1;return n|0}else{he(t,ue(32)|0,e+4|0)|0;n=0;return n|0}return 0}function Pt(){return ue(32)|0}function Mt(e,t){e=e|0;t=t|0;return ue(Hs[o[37564>>2]&3](37548,t)|0)|0}function Dt(e){e=e|0;return ue(Gs[o[9390]&1](37548)|0)|0}function Bt(e){e=e|0;return 32}function Nt(e,t,n,r,i,s,a,c,f,u,l){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;c=c|0;f=f|0;u=u|0;l=l|0;var d=0,p=0,m=0,g=0;g=h;h=h+112|0;d=g+40|0;p=g;m=g+32|0;if(((ue(Hs[o[37564>>2]&3](37548,n)|0)|0)>>>0<=i>>>0?(Gs[o[9390]&1](37548)|0)>>>0<=a>>>0:0)?(ue(32)|0)>>>0<=f>>>0:0){if(l>>>0<32){o[e>>2]=1;s=-1;h=g;return s|0}pt(u,d);le(d,32,c)|0;mt(d,e+4|0,p);d=Hs[o[37564>>2]&3](37548,n)|0;l=r+i+(0-d)|0;e=Qs[o[37568>>2]&3](37548,p,32,t,n,l,d,m,8)|0;if((e|0)!=-1){le(m,8,s)|0;le(l,d,r)|0}s=e;h=g;return s|0}o[e>>2]=2;s=-1;h=g;return s|0}function jt(e){e=e|0;return Si(o[e>>2]|0)|0}function Ut(){return 68}function Lt(e){e=e|0;Hr(e,68);return e|0}function Ft(e){e=e|0;var t=0;Hr(e,68);t=e+68|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));return 68}function qt(){return 32}function Kt(){return 32}function zt(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=2;i=-1;return i|0}if(i>>>0<32){o[e>>2]=15;i=-1;return i|0}else{i=e+4|0;pt(r,i);le(i,32,t)|0;i=0;return i|0}return 0}function Gt(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=2;i=-1;return i|0}if(i>>>0<32){o[e>>2]=15;i=-1;return i|0}else{i=e+4|0;pt(r,i);le(i,32,t)|0;i=0;return i|0}return 0}function Ht(e){e=e|0;return Ii((Te(e+4|0)|0)+4|0)|0}function Vt(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;s=e+4|0;a=(Te(s)|0)+4|0;if((Ii(a)|0)>>>0>i>>>0){o[e>>2]=2;a=-1;return a|0}else{Re(be(Ti(r,a)|0,1)|0,s)|0;a=Ri(t,n,r,a)|0;return a|0}return 0}function Qt(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0,f=0,u=0,l=0;l=h;h=h+16|0;f=l;u=(s|0)!=0;if(u?(ue(32)|0)>>>0>a>>>0:0){o[e>>2]=2;i=-1}else c=4;do{if((c|0)==4){t=Oi(t,n,r,i,e)|0;if((t|0)!=-1){a=r+t|0;t=a+1|0;n=_e(r,t,f)|0;if((o[f>>2]|0)==1)t=Oe(n,t,e+4|0)|0;else o[e>>2]=9;if((a|0)==(t|0)){if(!u)break;le(e+4|0,32,s)|0;break}else{if(o[e>>2]|0){i=-1;break}o[e>>2]=10;i=-1;break}}else i=-1}}while(0);h=l;return i|0}function Wt(e,t){e=e|0;t=t|0;e=o[9393]|0;t=de(t)|0;return Hs[e&3](37548,t)|0}function Yt(e,t,n,r,i,s,a,c,f){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;c=c|0;f=f|0;var u=0,l=0,d=0,p=0,m=0;d=h;h=h+80|0;l=d+40|0;i=d;u=d+32|0;m=o[9393]|0;p=de(a)|0;if((Hs[m&3](37548,p)|0)>>>0>f>>>0){o[e>>2]=2;m=-1;h=d;return m|0}he(t,n,l)|0;mt(e+4|0,l,i);he(r,ue(8)|0,u)|0;m=de(a)|0;he(s,a,s)|0;i=Qs[o[37576>>2]&3](37548,i,32,u,8,s,m,c,f)|0;if((i|0)==-1){o[e>>2]=5;i=-1}m=i;h=d;return m|0}function Xt(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<32){o[e>>2]=2;e=-1;return e|0}else{n=e+36|0;e=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(e|0));e=32;return e|0}return 0}function Jt(){return 100}function Zt(e){e=e|0;Hr(e,100);return e|0}function $t(e){e=e|0;return Si(o[e>>2]|0)|0}function en(e){e=e|0;var t=0;Hr(e,100);t=e+100|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));return 100}function tn(){return 32}function nn(){return ue(32)|0}function rn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=2;i=-1;return i|0}if(i>>>0<32){o[e>>2]=15;i=-1;return i|0}else{i=e+4|0;gt(r,i);le(i,32,t)|0;i=0;return i|0}return 0}function on(){return ue(64)|0}function sn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(64)|0)>>>0>i>>>0){o[e>>2]=2;i=-1;return i|0}else{i=r+(ue(64)|0)+-64|0;yt(e+4|0,t,n,i);le(i,64,r)|0;i=ue(64)|0;return i|0}return 0}function an(e){e=e|0;return 8}function cn(e,t){e=e|0;t=t|0;return _t(t)|0}function fn(e,t,n,i,s,a,c,f,u){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;f=f|0;u=u|0;var l=0,d=0,p=0,m=0;m=h;h=h+192|0;p=m+32|0;l=m+112|0;d=m;if(u>>>0<8|(_t(s)|0)>>>0>c>>>0){p=-1;h=m;return p|0}It(t,n,0,0,o[e+4>>2]|0,o[e+8>>2]|0,p,80);t=l;n=p;c=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(c|0));e=l+32|0;t=e;n=p+32|0;c=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(c|0));t=l+64|0;n=p+64|0;c=t+16|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(c|0));Hr(p,80);vt(l,l+64|0,i,s,a);Et(e,32,f,u+-8|0,d);a=d;s=o[a>>2]|0;a=o[a+4>>2]|0;p=f+u+-8|0;f=p;r[f>>0]=s;r[f+1>>0]=s>>8;r[f+2>>0]=s>>16;r[f+3>>0]=s>>24;p=p+4|0;r[p>>0]=a;r[p+1>>0]=a>>8;r[p+2>>0]=a>>16;r[p+3>>0]=a>>24;Hr(l,80);p=u;h=m;return p|0}function un(e,t){e=e|0;t=t|0;return t|0}function ln(e,t,n,i,s,a,c,f,u){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;f=f|0;u=u|0;var l=0,d=0,p=0,m=0;m=h;h=h+192|0;p=m+32|0;l=m+112|0;d=m;if(s>>>0<8|c>>>0>u>>>0){p=-1;h=m;return p|0}It(t,n,0,0,o[e+4>>2]|0,o[e+8>>2]|0,p,80);t=l;n=p;u=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(u|0));e=l+32|0;t=e;n=p+32|0;u=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(u|0));t=l+64|0;n=p+64|0;u=t+16|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(u|0));Hr(p,80);Et(e,32,i,s+-8|0,d);if(Vr(i+s+-8|0,d,8)|0){e=At(l,l+64|0,a,c,f)|0;Hr(l,80)}else{Hr(l,80);e=-1}p=e;h=m;return p|0}function dn(e){e=e|0;o[e>>2]=0;return}function hn(e){e=e|0;return 32}function pn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if(i>>>0<32){o[e>>2]=2;i=-1;return i|0}else{wt(t,n,r);i=32;return i|0}return 0}function mn(e,t,n,r,i,s){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;if(s>>>0>=64?bt(t,n,r,i)|0:0){s=0;return s|0}o[e>>2]=5;s=-1;return s|0}function gn(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;o[e+8>>2]=0;o[e+44>>2]=e+48;o[e+148>>2]=e+152;o[e+492>>2]=e+496;return}function yn(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0;l=h;h=h+64|0;u=l;f=o[e>>2]|0;It(t,n,0,0,o[f>>2]|0,o[f+4>>2]|0,u,64);f=e+152|0;t=e+148|0;n=o[t>>2]|0;if((n|0)==(e+492|0)){c=(n|0)==(f|0)?e+84|0:f;t=n}else{a=n+68|0;o[t>>2]=a;c=f;t=a}t=t+-68|0;if((t|0)!=(c|0))do{n=t;t=t+-68|0;s=t;a=n+68|0;do{o[n>>2]=o[s>>2];n=n+4|0;s=s+4|0}while((n|0)<(a|0))}while((t|0)!=(c|0));o[e+184>>2]=0;n=e+12|0;s=u;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=e+188|0;s=u+32|0;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=f;s=i;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));Hr(u,64);h=l;return}function bn(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0;l=h;h=h+64|0;u=l;f=o[e>>2]|0;It(t,n,0,0,o[f>>2]|0,o[f+4>>2]|0,u,64);f=e+48|0;t=e+44|0;n=o[t>>2]|0;if((n|0)==(e+148|0)){c=(n|0)==(f|0)?e+-52|0:f;t=n}else{a=n+100|0;o[t>>2]=a;c=f;t=a}t=t+-100|0;if((t|0)!=(c|0))do{n=t;t=t+-100|0;s=t;a=n+100|0;do{o[n>>2]=o[s>>2];n=n+4|0;s=s+4|0}while((n|0)<(a|0))}while((t|0)!=(c|0));o[e+112>>2]=0;n=e+12|0;s=u;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=e+116|0;s=u+32|0;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=f;s=i;a=n+64|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));Hr(u,64);h=l;return}function _n(e){e=e|0;var t=0,n=0,r=0,i=0;t=e+48|0;r=o[e+44>>2]|0;if((t|0)==(r|0))i=36;else{n=4;do{n=n+36+(Te(t)|0)|0;t=t+100|0}while((t|0)!=(r|0));i=n+32|0}t=e+152|0;r=o[e+148>>2]|0;if((t|0)==(r|0))t=4;else{n=t;t=4;do{t=t+36+(ke(n)|0)|0;n=n+68|0}while((n|0)!=(r|0))}i=i+t|0;t=e+496|0;r=o[e+492>>2]|0;if((t|0)==(r|0)){e=4;e=i+e|0;return e|0}n=t;t=4;do{t=t+36+(ke(n)|0)|0;n=n+68|0}while((n|0)!=(r|0));e=i+t|0;return e|0}function vn(e,t){e=e|0;t=t|0;var n=0,r=0;e=we(e,t+12|0,32)|0;r=t+44|0;n=t+48|0;e=be(e,((o[r>>2]|0)-n|0)/100|0)|0;r=o[r>>2]|0;if((n|0)!=(r|0))do{e=we(Re(e,n)|0,n+68|0,32)|0;e=be(e,o[n+64>>2]|0)|0;n=n+100|0}while((n|0)!=(r|0));r=t+148|0;n=t+152|0;e=be(e,((o[r>>2]|0)-n|0)/68|0)|0;r=o[r>>2]|0;if((n|0)!=(r|0))do{e=we(Se(e,n)|0,n+36|0,32)|0;e=be(e,o[n+32>>2]|0)|0;n=n+68|0}while((n|0)!=(r|0));r=t+492|0;n=t+496|0;e=be(e,((o[r>>2]|0)-n|0)/68|0)|0;r=o[r>>2]|0;if((n|0)==(r|0)){t=e;return t|0}do{e=we(Se(e,n)|0,n+36|0,32)|0;e=be(e,o[n+32>>2]|0)|0;n=n+68|0}while((n|0)!=(r|0));return e|0}function An(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,c=0,f=0,u=0;u=h;h=h+16|0;f=u;e=_e(Ee(e,t,n+12|0,32)|0,t,f)|0;c=o[f>>2]|0;o[f>>2]=c+-1;if(!((e|0)==(t|0)|(c|0)==0)){s=n+44|0;a=n+148|0;c=n+48|0;do{i=o[s>>2]|0;if((i|0)==(a|0))i=c;else o[s>>2]=i+100;e=_e(Ee(Oe(e,t,i)|0,t,i+68|0,32)|0,t,i+64|0)|0;i=o[f>>2]|0;o[f>>2]=i+-1}while(!((e|0)==(t|0)|(i|0)==0))}e=_e(e,t,f)|0;c=o[f>>2]|0;o[f>>2]=c+-1;if(!((e|0)==(t|0)|(c|0)==0)){s=n+148|0;a=n+492|0;c=n+424|0;do{i=o[s>>2]|0;if((i|0)==(a|0))i=c;else o[s>>2]=i+68;e=_e(Ee(Ie(e,t,i)|0,t,i+36|0,32)|0,t,i+32|0)|0;i=o[f>>2]|0;o[f>>2]=i+-1}while(!((e|0)==(t|0)|(i|0)==0))}e=_e(e,t,f)|0;c=o[f>>2]|0;o[f>>2]=c+-1;if(!((e|0)==(t|0)|(c|0)==0)){a=n+492|0;c=n+3216|0;s=n+3148|0;do{i=o[a>>2]|0;if((i|0)==(c|0))i=s;else o[a>>2]=i+68;e=_e(Ee(Ie(e,t,i)|0,t,i+36|0,32)|0,t,i+32|0)|0;n=o[f>>2]|0;o[f>>2]=n+-1}while(!((e|0)==(t|0)|(n|0)==0))}if(!r){f=e;h=u;return f|0}f=_e(e,t,f)|0;h=u;return f|0}function wn(e,t){e=e|0;t=t|0;var n=0,r=0;if((o[e+44>>2]|0)==(e+48|0))n=0;else n=o[e+112>>2]|0;r=e+4|0;e=o[r>>2]|0;e=Hs[o[(o[e>>2]|0)+4>>2]&3](e,t)|0;t=o[r>>2]|0;return Ke(n,32,e,Gs[o[o[t>>2]>>2]&1](t)|0)|0}function En(e){e=e|0;return((o[e+44>>2]|0)==(e+48|0)?32:0)|0}function kn(e,t,n,i,s,a,c){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;var f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0;y=h;h=h+112|0;m=y+64|0;g=y;u=e+44|0;d=e+48|0;if((o[u>>2]|0)==(d|0))f=0;else f=o[e+112>>2]|0;p=e+4|0;b=o[p>>2]|0;b=Hs[o[(o[b>>2]|0)+4>>2]&3](b,n)|0;l=o[p>>2]|0;l=Ke(f,32,b,Gs[o[o[l>>2]>>2]&1](l)|0)|0;f=(o[u>>2]|0)==(d|0);if((f?32:0)>>>0>s>>>0){o[e+8>>2]=1;b=-1;h=y;return b|0}if(l>>>0>c>>>0){o[e+8>>2]=2;b=-1;h=y;return b|0}if(f){o[u>>2]=e+148;pt(i,d);c=o[e>>2]|0;mt(d,e+152|0,m);i=e+12|0;It(m,32,i,32,o[c+8>>2]|0,o[c+12>>2]|0,g,64);c=g;u=i+32|0;do{r[i>>0]=r[c>>0]|0;i=i+1|0;c=c+1|0}while((i|0)<(u|0));f=e+116|0;i=f;c=g+32|0;u=i+32|0;do{r[i>>0]=r[c>>0]|0;i=i+1|0;c=c+1|0}while((i|0)<(u|0));i=e+112|0;o[i>>2]=0;Hr(g,64);Hr(m,32)}else{i=e+112|0;f=e+116|0}s=m+4|0;Et(f,32,38077,1,s);o[m>>2]=o[i>>2];Et(f,32,38078,1,f);o[i>>2]=(o[i>>2]|0)+1;f=o[p>>2]|0;f=Hs[o[(o[f>>2]|0)+4>>2]&3](f,n)|0;ze(g,3,o[m>>2]|0,32,f,a);i=o[g>>2]|0;c=d;u=i+32|0;do{r[i>>0]=r[c>>0]|0;i=i+1|0;c=c+1|0}while((i|0)<(u|0));b=o[p>>2]|0;Qs[o[(o[b>>2]|0)+8>>2]&3](b,s,32,t,n,o[g+4>>2]|0,f,a,l)|0;Hr(m,36);b=l;h=y;return b|0}function Sn(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0;s=h;h=h+32|0;r=s;i=e+4|0;a=o[i>>2]|0;Ge(r,t,n,Gs[o[o[a>>2]>>2]&1](a)|0);if(!(o[r+24>>2]|0)){o[e+8>>2]=4;a=-1;h=s;return a|0}else{a=o[i>>2]|0;a=Hs[o[(o[a>>2]|0)+12>>2]&3](a,o[r+28>>2]|0)|0;h=s;return a|0}return 0}function In(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0;T=h;h=h+240|0;E=T+96|0;k=T+32|0;l=T;d=T+160|0;S=T+128|0;g=e+4|0;A=o[g>>2]|0;Ge(S,t,n,Gs[o[o[A>>2]>>2]&1](A)|0);if((r[S>>0]|0)!=3){o[e+8>>2]=3;I=-1;h=T;return I|0}if((r[S+1>>0]|0?(w=S+16|0,o[w>>2]|0):0)?(b=S+24|0,o[b>>2]|0):0){A=o[g>>2]|0;m=S+28|0;if((Hs[o[(o[A>>2]|0)+12>>2]&3](A,o[m>>2]|0)|0)>>>0>s>>>0){o[e+8>>2]=2;I=-1;h=T;return I|0}if((o[S+20>>2]|0)!=32){o[e+8>>2]=4;I=-1;h=T;return I|0}c=e+152|0;A=e+148|0;n=o[A>>2]|0;e:do{if((c|0)!=(n|0)){f=o[w>>2]|0;u=0;t=c;do{p=(qo(t,f,32)|0)==0;u=p?t:u;t=t+68|0}while(!(p|(t|0)==(n|0)));if(u){t=u+32|0;d=S+4|0;n=o[d>>2]|0;if((o[t>>2]|0)>>>0<=n>>>0){v=u;I=Tn(e,t,S,i,s)|0;y=1;_=31;break}t=e+496|0;p=e+492|0;f=o[p>>2]|0;if((t|0)!=(f|0)){u=S+8|0;l=S+12|0;while(1){if(((n|0)==(o[t+32>>2]|0)?(qo(t,o[w>>2]|0,32)|0)==0:0)?(a=o[g>>2]|0,a=Qs[o[(o[a>>2]|0)+16>>2]&3](a,t+36|0,32,o[u>>2]|0,o[l>>2]|0,o[b>>2]|0,o[m>>2]|0,i,s)|0,(a|0)!=-1):0)break;t=t+68|0;if((t|0)==(f|0))break e;n=o[d>>2]|0}Hr(t,68);I=(o[p>>2]|0)+-68|0;o[p>>2]=I;if((I|0)==(t|0)){I=a;h=T;return I|0}do{g=t;t=t+68|0;y=t;b=g+68|0;do{o[g>>2]=o[y>>2];g=g+4|0;y=y+4|0}while((g|0)<(b|0))}while((t|0)!=(o[p>>2]|0));h=T;return a|0}}else _=15}else _=15}while(0);if((_|0)==15){a=e+48|0;if((o[e+44>>2]|0)!=(a|0)?(o[S+4>>2]|0)>>>0<=2e3:0){g=d;y=o[w>>2]|0;b=g+32|0;do{r[g>>0]=r[y>>0]|0;g=g+1|0;y=y+1|0}while((g|0)<(b|0));v=o[e>>2]|0;I=d+32|0;mt(a,d,E);It(E,32,e+12|0,32,o[v+8>>2]|0,o[v+12>>2]|0,k,64);o[l>>2]=o[k>>2];o[l+4>>2]=o[k+4>>2];o[l+8>>2]=o[k+8>>2];o[l+12>>2]=o[k+12>>2];o[l+16>>2]=o[k+16>>2];o[l+20>>2]=o[k+20>>2];o[l+24>>2]=o[k+24>>2];o[l+28>>2]=o[k+28>>2];v=k+32|0;a=d+36|0;o[a>>2]=o[v>>2];o[a+4>>2]=o[v+4>>2];o[a+8>>2]=o[v+8>>2];o[a+12>>2]=o[v+12>>2];o[a+16>>2]=o[v+16>>2];o[a+20>>2]=o[v+20>>2];o[a+24>>2]=o[v+24>>2];o[a+28>>2]=o[v+28>>2];o[I>>2]=0;Hr(k,64);Hr(E,32);a=Tn(e,I,S,i,s)|0;Hr(l,32);Hr(d,68)}else a=-1;v=0;I=a;y=0;_=31}if((_|0)==31?(I|0)!=-1:0){if(!y){a=o[A>>2]|0;if((a|0)==(e+492|0))c=(a|0)==(c|0)?e+84|0:c;else{a=a+68|0;o[A>>2]=a}a=a+-68|0;if((a|0)!=(c|0))do{g=a;a=a+-68|0;y=a;b=g+68|0;do{o[g>>2]=o[y>>2];g=g+4|0;y=y+4|0}while((g|0)<(b|0))}while((a|0)!=(c|0));g=c;y=o[w>>2]|0;b=g+32|0;do{r[g>>0]=r[y>>0]|0;g=g+1|0;y=y+1|0}while((g|0)<(b|0));a=e+48|0;y=o[e>>2]|0;mt(a,c,E);g=e+12|0;It(E,32,g,32,o[y+8>>2]|0,o[y+12>>2]|0,k,64);y=k;b=g+32|0;do{r[g>>0]=r[y>>0]|0;g=g+1|0;y=y+1|0}while((g|0)<(b|0));g=c+36|0;y=k+32|0;b=g+32|0;do{r[g>>0]=r[y>>0]|0;g=g+1|0;y=y+1|0}while((g|0)<(b|0));n=c+32|0;o[n>>2]=0;Hr(k,64);Hr(E,32);Hr(a,100);t=e+44|0;k=(o[t>>2]|0)+-100|0;o[t>>2]=k;if((k|0)==(a|0))m=c;else{do{g=a;a=a+100|0;y=a;b=g+100|0;do{o[g>>2]=o[y>>2];g=g+4|0;y=y+4|0}while((g|0)<(b|0))}while((a|0)!=(o[t>>2]|0));m=c}}else{m=v;n=v+32|0}f=S+4|0;if((o[n>>2]|0)>>>0<(o[f>>2]|0)>>>0){u=e+496|0;l=e+492|0;d=e+3216|0;a=m+36|0;p=e+532|0;c=e+528|0;do{t=o[l>>2]|0;if((t|0)==(d|0))t=d;else{t=t+68|0;o[l>>2]=t}t=t+-68|0;if((t|0)!=(u|0))do{g=t;t=t+-68|0;y=t;b=g+68|0;do{o[g>>2]=o[y>>2];g=g+4|0;y=y+4|0}while((g|0)<(b|0))}while((t|0)!=(u|0));Et(a,32,38077,1,p);o[c>>2]=o[n>>2];g=u;y=m;b=g+32|0;do{r[g>>0]=r[y>>0]|0;g=g+1|0;y=y+1|0}while((g|0)<(b|0));Et(a,32,38078,1,a);e=(o[n>>2]|0)+1|0;o[n>>2]=e}while(e>>>0<(o[f>>2]|0)>>>0)}else a=m+36|0;Et(a,32,38078,1,a);o[n>>2]=(o[n>>2]|0)+1;h=T;return I|0}o[e+8>>2]=5;I=-1;h=T;return I|0}o[e+8>>2]=4;I=-1;h=T;return I|0}function Tn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0;d=h;h=h+80|0;c=d+36|0;f=d;u=n+4|0;l=o[u>>2]|0;a=o[t>>2]|0;if(l>>>0>>0|(l-a|0)>>>0>2e3){l=-1;h=d;return l|0}a=c;s=a+36|0;do{o[a>>2]=o[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(s|0));t=c+4|0;if((o[c>>2]|0)>>>0>>0)do{Et(t,32,38078,1,t);l=(o[c>>2]|0)+1|0;o[c>>2]=l}while(l>>>0<(o[u>>2]|0)>>>0);l=f+4|0;Et(t,32,38077,1,l);o[f>>2]=o[c>>2];u=o[e+4>>2]|0;l=Qs[o[(o[u>>2]|0)+16>>2]&3](u,l,32,o[n+8>>2]|0,o[n+12>>2]|0,o[n+24>>2]|0,o[n+28>>2]|0,r,i)|0;Hr(c,36);h=d;return l|0}function Rn(e,t,n){e=e|0;t=t|0;n=n|0;if(e|0)r[e>>0]=3;if(t|0)r[t>>0]=1;if(!n)return;r[n>>0]=3;return}function On(){return-1}function xn(e){e=e|0;return Si(o[e+7368>>2]|0)|0}function Cn(e){e=e|0;return Si(o[e+3216>>2]|0)|0}function Pn(e){e=e|0;return Si(o[e>>2]|0)|0}function Mn(){return 7372}function Dn(){return 3320}function Bn(){return 4}function Nn(e){e=e|0;Hr(e,7372);Ir(e);return e|0}function jn(e){e=e|0;Hr(e,3320);Je(e);return e|0}function Un(e){e=e|0;Hr(e,4);dn(e);return e|0}function Ln(e){e=e|0;Hr(e,7372);Ir(e);return 7372}function Fn(e){e=e|0;Hr(e,3320);Je(e);return 3320}function qn(e){e=e|0;Hr(e,4);dn(e);return 4}function Kn(e){e=e|0;return Ii(qr(e)|0)|0}function zn(e){e=e|0;return Ii(lt(e)|0)|0}function Gn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=qr(e)|0;if((Ii(s)|0)>>>0>i>>>0){o[e+7368>>2]=2;s=-1;return s|0}else{Kr(Ti(r,s)|0,e)|0;s=Ri(t,n,r,s)|0;return s|0}return 0}function Hn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=lt(e)|0;if((Ii(s)|0)>>>0>i>>>0){o[e+3216>>2]=2;s=-1;return s|0}else{dt(Ti(r,s)|0,e)|0;s=Ri(t,n,r,s)|0;return s|0}return 0}function Vn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=e+7368|0;t=Oi(t,n,r,i,s)|0;if((t|0)==-1){s=-1;return s|0}n=r+t|0;if((n|0)==(zr(r,n+1|0,e)|0)){s=i;return s|0}if(o[s>>2]|0){s=-1;return s|0}o[s>>2]=10;s=-1;return s|0}function Qn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=e+3216|0;t=Oi(t,n,r,i,s)|0;if((t|0)==-1){s=-1;return s|0}n=r+t|0;if((n|0)==(ht(r,n+1|0,e)|0)){s=i;return s|0}if(o[s>>2]|0){s=-1;return s|0}o[s>>2]=10;s=-1;return s|0}function Wn(e){e=e|0;return Or(e)|0}function Yn(e,t,n){e=e|0;t=t|0;n=n|0;e=xr(e,t,n)|0;Hr(t,n);return e|0}function Xn(e){e=e|0;return Cr(e)|0}function Jn(e,t,n){e=e|0;t=t|0;n=n|0;return Pr(e,t,n)|0}function Zn(e){e=e|0;return ue(Mr(e)|0)|0}function $n(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;s=Mr(e)|0;if((ue(s)|0)>>>0>i>>>0){o[e+7368>>2]=2;s=-1;return s|0}else{a=0-s|0;Dr(e,t,n,r+(ue(s)|0)+a|0,s)|0;i=ue(s)|0;le(r+i+a|0,s,r)|0;s=i;return s|0}return 0}function er(e){e=e|0;return Br(e)|0}function tr(e,t,n){e=e|0;t=t|0;n=n|0;return Nr(e,t,n)|0}function nr(e){e=e|0;return jr(e)|0}function rr(e){e=e|0;return Ur(e)|0}function ir(e,t){e=e|0;t=t|0;return Lr(e,t)|0}function or(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;t=Fr(e,t,n,r)|0;Hr(n,r);return t|0}function sr(e){e=e|0;return Ze(e)|0}function ar(e,t,n,r,i,s,a,c){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;c=c|0;var f=0,u=0,l=0;l=h;h=h+64|0;f=l+32|0;u=l;if((de(r)|0)==32?(de(s)|0)==32:0){he(n,r,f)|0;he(i,s,u)|0;u=$e(e,t,f,u,a,c)|0;Hr(a,c);h=l;return u|0}o[e+3216>>2]=7;u=-1;h=l;return u|0}function cr(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=de(r)|0;if((i|0)==-1){o[e+3216>>2]=7;i=-1;return i|0}else{he(n,r,n)|0;i=et(e,t,0,n,i)|0;return i|0}return 0}function fr(e,t,n,r,i,s){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;var a=0,c=0;c=h;h=h+32|0;a=c;if((de(r)|0)!=32){o[e+3216>>2]=7;a=-1;h=c;return a|0}he(n,r,a)|0;n=de(s)|0;if((n|0)==-1){o[e+3216>>2]=7;n=-1}else{he(i,s,i)|0;n=et(e,t,a,i,n)|0}a=n;h=c;return a|0}function ur(e){e=e|0;return ue(tt(e)|0)|0}function lr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=tt(e)|0;if((ue(r)|0)>>>0>n>>>0){o[e+3216>>2]=2;r=-1;return r|0}n=0-r|0;if((nt(e,t+(ue(r)|0)+n|0,r)|0)==-1){r=-1;return r|0}e=ue(r)|0;le(t+e+n|0,r,t)|0;r=e;return r|0}function dr(e){e=e|0;return s[e+3220>>0]|0|0}function hr(e,t,n){e=e|0;t=t|0;n=n|0;ut(e,t,n);return}function pr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=de(n)|0;if((r|0)==-1){o[e+3216>>2]=7;r=-1;return r|0}else{he(t,n,t)|0;r=(rt(e,0,t,r)|0)&1;return r|0}return 0}function mr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;a=h;h=h+32|0;s=a;if((de(n)|0)!=32){o[e+3216>>2]=7;s=-1;h=a;return s|0}he(t,n,s)|0;t=de(i)|0;if((t|0)==-1){o[e+3216>>2]=7;t=-1}else{he(r,i,r)|0;t=(rt(e,s,r,t)|0)&1}s=t;h=a;return s|0}function gr(e,t){e=e|0;t=t|0;t=Rr(e,t+3285|0)|0;if((t|0)!=-1)return t|0;o[e+7368>>2]=6;return t|0}function yr(e){e=e|0;return it(e)|0}function br(e){e=e|0;return st(e)|0}function _r(e,t){e=e|0;t=t|0;return ue(ot(e,t)|0)|0}function vr(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0;c=ot(e,n)|0;if((ue(c)|0)>>>0>a>>>0){o[e+3216>>2]=2;c=-1;return c|0}a=0-c|0;n=at(e,t,n,r,i,s+(ue(c)|0)+a|0,c)|0;Hr(r,i);if((n|0)==-1){c=-1;return c|0}i=ue(c)|0;le(s+i+a|0,c,s)|0;c=i;return c|0}function Ar(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=de(r)|0;if((i|0)==-1){o[e+3216>>2]=7;i=-1;return i|0}else{he(n,r,n)|0;i=ct(e,t,n,i)|0;return i|0}return 0}function wr(e,t,n,r,i,s){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;var a=0;a=de(r)|0;if((a|0)==-1){o[e+3216>>2]=7;a=-1;return a|0}else{he(n,r,n)|0;a=ft(e,t,n,a,i,s)|0;return a|0}return 0}function Er(e){e=e|0;return ue(hn(e)|0)|0}function kr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=hn(e)|0;if((ue(s)|0)>>>0>i>>>0){o[e>>2]=2;s=-1;return s|0}i=0-s|0;if((pn(e,t,n,r+(ue(s)|0)+i|0,s)|0)==-1){s=-1;return s|0}n=ue(s)|0;le(r+n+i|0,s,r)|0;s=n;return s|0}function Sr(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;f=h;h=h+32|0;c=f;if((de(n)|0)!=32){o[e>>2]=7;c=-1;h=f;return c|0}he(t,n,c)|0;t=de(a)|0;if((t|0)==-1){o[e>>2]=7;t=-1}else{he(s,a,s)|0;t=mn(e,c,r,i,s,t)|0}c=t;h=f;return c|0}function Ir(e){e=e|0;o[e+160>>2]=e+164;o[e+7364>>2]=0;o[e+7368>>2]=0;return}function Tr(e,t){e=e|0;t=t|0;var n=0;n=e+164|0;e=o[e+160>>2]|0;if((n|0)==(e|0)){t=0;return t|0}while(1){if(Vr(n+5|0,t,32)|0){e=5;break}n=n+72|0;if((n|0)==(e|0)){n=0;e=5;break}}if((e|0)==5)return n|0;return 0}function Rr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0;n=e+164|0;s=e+160|0;if((n|0)==(o[s>>2]|0)){s=-1;return s|0}while(1){if(Vr(n+5|0,t,32)|0)break;e=n+72|0;if((e|0)==(o[s>>2]|0)){e=-1;r=8;break}else n=e}if((r|0)==8)return e|0;e=o[n>>2]|0;i=(o[s>>2]|0)+-72|0;o[s>>2]=i;if((i|0)==(n|0)){s=e;return s|0}do{t=n;n=n+72|0;r=n;i=t+72|0;do{o[t>>2]=o[r>>2];t=t+4|0;r=r+4|0}while((t|0)<(i|0))}while((n|0)!=(o[s>>2]|0));return e|0}function Or(e){e=e|0;return 64}function xr(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<64){o[e+7368>>2]=1;n=-1;return n|0}else{gt(t,e);pt(t+32|0,e+96|0);n=0;return n|0}return 0}function Cr(e){e=e|0;e=ue(32)|0;return e+30+(ue(32)|0)|0}function Pr(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0;a=ue(32)|0;if((a+30+(ue(32)|0)|0)>>>0>n>>>0){o[e+7368>>2]=2;t=-1;return t|0}else{r[t>>0]=123;i=t+1|0;s=38079;a=i+13|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));r[t+14>>0]=34;n=le(e+96|0,32,t+15|0)|0;r[n>>0]=34;r[n+1>>0]=44;i=n+2|0;s=38093;a=i+10|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));r[n+12>>0]=34;e=le(e,32,n+13|0)|0;r[e>>0]=34;r[e+1>>0]=125;t=e+2-t|0;return t|0}return 0}function Mr(e){e=e|0;return 64}function Dr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if(i>>>0<64){o[e+7368>>2]=2;i=-1;return i|0}else{yt(e,t,n,r);i=64;return i|0}return 0}function Br(e){e=e|0;var t=0,n=0,i=0;n=e+164|0;i=o[e+160>>2]|0;if((n|0)!=(i|0)){t=1;e=0;do{if(!(r[n+4>>0]|0)){t=ue(4)|0;e=e+6+t+(ue(32)|0)|0;t=0}n=n+72|0}while((n|0)!=(i|0));if(!t){i=e;n=16;i=n+i|0;return i|0}}else e=0;i=e;n=17;i=n+i|0;return i|0}function Nr(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0;p=h;h=h+16|0;l=p;u=e+164|0;f=e+160|0;c=o[f>>2]|0;if((u|0)!=(c|0)){s=1;a=u;i=0;do{if(!(r[a+4>>0]|0)){s=ue(4)|0;i=i+6+s+(ue(32)|0)|0;s=0}a=a+72|0}while((a|0)!=(c|0));if(s)d=4;else s=16}else{i=0;d=4}if((d|0)==4)s=17;if((s+i|0)>>>0>n>>>0){o[e+7368>>2]=2;d=-1;h=p;return d|0}r[t>>0]=123;i=t+1|0;s=38079;a=i+13|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));i=t+14|0;c=o[f>>2]|0;if((u|0)!=(c|0)){a=u;s=123;do{if(!(r[a+4>>0]|0)){r[i>>0]=s;r[i+1>>0]=34;Ne(l,o[a>>2]|0)|0;i=le(l,4,i+2|0)|0;r[i>>0]=34;r[i+1>>0]=58;r[i+2>>0]=34;i=le(a+5|0,32,i+3|0)|0;r[i>>0]=34;i=i+1|0;s=44}a=a+72|0}while((a|0)!=(c|0));if(s<<24>>24!=44)d=16}else{s=123;d=16}if((d|0)==16){r[i>>0]=s;i=i+1|0}r[i>>0]=125;r[i+1>>0]=125;d=i+2-t|0;h=p;return d|0}function jr(e){e=e|0;var t=0,n=0,i=0;t=e+164|0;i=o[e+160>>2]|0;if((t|0)==(i|0)){i=0;return i|0}e=0;do{n=t+4|0;if(!(r[n>>0]|0)){r[n>>0]=1;e=e+1|0}t=t+72|0}while((t|0)!=(i|0));return e|0}function Ur(e){e=e|0;return 100}function Lr(e,t){e=e|0;t=t|0;return t<<5|0}function Fr(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0;if(t<<5>>>0>i>>>0){o[e+7368>>2]=1;p=-1;return p|0}if(!t){p=0;return p|0}h=e+164|0;p=e+160|0;u=e+7364|0;l=e+7364|0;d=e+168|0;f=e+169|0;c=0;while(1){i=o[p>>2]|0;if((i|0)==(u|0))i=u;else{i=i+72|0;o[p>>2]=i}i=i+-72|0;if((i|0)!=(h|0))do{e=i;i=i+-72|0;s=i;a=e+72|0;do{o[e>>2]=o[s>>2];e=e+4|0;s=s+4|0}while((e|0)<(a|0))}while((i|0)!=(h|0));a=(o[l>>2]|0)+1|0;o[l>>2]=a;o[h>>2]=a;r[d>>0]=0;pt(n,f);c=c+1|0;if((c|0)==(t|0))break;else n=n+32|0}return t|0}function qr(e){e=e|0;var t=0,n=0,r=0,i=0;r=Me(e)|0;i=Te(e+96|0)|0;t=e+164|0;n=o[e+160>>2]|0;if((t|0)==(n|0)){n=4;r=r+8|0;i=r+i|0;i=i+n|0;return i|0}e=4;do{e=e+5+(Te(t+5|0)|0)|0;t=t+72|0}while((t|0)!=(n|0));r=r+8|0;i=r+i|0;i=i+e|0;return i|0}function Kr(e,t){e=e|0;t=t|0;var n=0,i=0;e=Re(De(be(e,2)|0,t)|0,t+96|0)|0;i=t+160|0;n=t+164|0;e=be(e,((o[i>>2]|0)-n|0)/72|0)|0;i=o[i>>2]|0;if((n|0)==(i|0)){i=e;t=t+7364|0;t=o[t>>2]|0;t=be(i,t)|0;return t|0}do{e=be(e,o[n>>2]|0)|0;e=Re(ve(e,(r[n+4>>0]|0)!=0)|0,n+5|0)|0;n=n+72|0}while((n|0)!=(i|0));t=t+7364|0;t=o[t>>2]|0;t=be(e,t)|0;return t|0}function zr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0;f=h;h=h+16|0;c=f+4|0;a=f;e=_e(e,t,a)|0;switch(o[a>>2]|0){case 2:{e=_e(Oe(Be(e,t,n)|0,t,n+96|0)|0,t,c)|0;a=o[c>>2]|0;o[c>>2]=a+-1;if(!((e|0)==(t|0)|(a|0)==0)){i=n+160|0;s=n+7364|0;a=n+7292|0;do{r=o[i>>2]|0;if((r|0)==(s|0))r=a;else o[i>>2]=r+72;e=Oe(Ae(_e(e,t,r)|0,t,r+4|0)|0,t,r+5|0)|0;r=o[c>>2]|0;o[c>>2]=r+-1}while(!((e|0)==(t|0)|(r|0)==0))}n=_e(e,t,n+7364|0)|0;h=f;return n|0}case 1:{o[n+7368>>2]=13;n=t;h=f;return n|0}default:{o[n+7368>>2]=9;n=t;h=f;return n|0}}return 0}function Gr(e,t){e=e|0;t=t|0;var n=0;n=e+t|0;if(!t)return;do{r[e>>0]=0;e=e+1|0}while((e|0)!=(n|0));return}function Hr(e,t){e=e|0;t=t|0;var n=0;n=e+t|0;if(!t)return;do{r[e>>0]=0;e=e+1|0}while((e|0)!=(n|0));return}function Vr(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0;o=h;h=h+16|0;i=o;r[i>>0]=0;if(n|0)while(1){n=n+-1|0;r[i>>0]=r[i>>0]|r[t>>0]^r[e>>0];if(!n)break;else{t=t+1|0;e=e+1|0}}h=o;return(r[i>>0]|0)==0|0}function Qr(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0;E=s[t>>0]|0;g=Cs(s[t+1>>0]|0|0,0,8)|0;T=I;O=Cs(s[t+2>>0]|0|0,0,16)|0;T=T|I;l=Cs(s[t+3>>0]|0|0,0,24)|0;T=T|I;R=r[t+6>>0]|0;f=s[t+4>>0]|0;k=Cs(s[t+5>>0]|0|0,0,8)|0;u=I;R=Cs(R&255|0,0,16)|0;u=Cs(k|f|R|0,u|I|0,6)|0;R=I;f=r[t+9>>0]|0;k=s[t+7>>0]|0;a=Cs(s[t+8>>0]|0|0,0,8)|0;v=I;f=Cs(f&255|0,0,16)|0;v=Cs(a|k|f|0,v|I|0,5)|0;f=I;k=r[t+12>>0]|0;a=s[t+10>>0]|0;b=Cs(s[t+11>>0]|0|0,0,8)|0;S=I;k=Cs(k&255|0,0,16)|0;S=Cs(b|a|k|0,S|I|0,3)|0;k=I;a=r[t+15>>0]|0;b=s[t+13>>0]|0;p=Cs(s[t+14>>0]|0|0,0,8)|0;c=I;a=Cs(a&255|0,0,16)|0;c=Cs(p|b|a|0,c|I|0,2)|0;a=I;b=s[t+16>>0]|0;p=Cs(s[t+17>>0]|0|0,0,8)|0;A=I;n=Cs(s[t+18>>0]|0|0,0,16)|0;A=A|I;w=Cs(s[t+19>>0]|0|0,0,24)|0;w=p|b|n|w;A=A|I;n=r[t+22>>0]|0;b=s[t+20>>0]|0;p=Cs(s[t+21>>0]|0|0,0,8)|0;i=I;n=Cs(n&255|0,0,16)|0;i=Cs(p|b|n|0,i|I|0,7)|0;n=I;b=r[t+25>>0]|0;p=s[t+23>>0]|0;x=Cs(s[t+24>>0]|0|0,0,8)|0;_=I;b=Cs(b&255|0,0,16)|0;_=Cs(x|p|b|0,_|I|0,5)|0;b=I;p=r[t+28>>0]|0;x=s[t+26>>0]|0;m=Cs(s[t+27>>0]|0|0,0,8)|0;h=I;p=Cs(p&255|0,0,16)|0;h=Cs(m|x|p|0,h|I|0,4)|0;p=I;x=r[t+31>>0]|0;m=s[t+29>>0]|0;d=Cs(s[t+30>>0]|0|0,0,8)|0;y=I;t=Cs(x&255|0,0,16)|0;y=Cs(d|m|t|0,y|I|0,2)|0;y=y&33554428;t=ks(y|0,0,16777216,0)|0;m=xs(t|0,I|0,25)|0;m=Ss(0,0,m|0,I|0)|0;T=ks(m&19|0,0,g|E|O|l|0,T|0)|0;l=I;O=ks(u|0,R|0,16777216,0)|0;E=xs(O|0,I|0,25)|0;E=ks(v|0,f|0,E|0,I|0)|0;f=I;O=Ss(u|0,R|0,O&-33554432|0,0)|0;R=I;u=ks(S|0,k|0,16777216,0)|0;v=xs(u|0,I|0,25)|0;v=ks(c|0,a|0,v|0,I|0)|0;a=I;c=ks(w|0,A|0,16777216,0)|0;g=xs(c|0,I|0,25)|0;g=ks(i|0,n|0,g|0,I|0)|0;n=I;i=ks(_|0,b|0,16777216,0)|0;m=xs(i|0,I|0,25)|0;m=ks(h|0,p|0,m|0,I|0)|0;p=I;h=ks(T|0,l|0,33554432,0)|0;d=xs(h|0,I|0,26)|0;d=ks(O|0,R|0,d|0,I|0)|0;h=Ss(T|0,l|0,h&-67108864|0,0)|0;l=ks(E|0,f|0,33554432,0)|0;T=xs(l|0,I|0,26)|0;k=ks(T|0,I|0,S|0,k|0)|0;u=Ss(k|0,I|0,u&-33554432|0,0)|0;l=Ss(E|0,f|0,l&-67108864|0,0)|0;f=ks(v|0,a|0,33554432,0)|0;E=xs(f|0,I|0,26)|0;A=ks(E|0,I|0,w|0,A|0)|0;c=Ss(A|0,I|0,c&-33554432|0,0)|0;f=Ss(v|0,a|0,f&-67108864|0,0)|0;a=ks(g|0,n|0,33554432,0)|0;v=xs(a|0,I|0,26)|0;b=ks(v|0,I|0,_|0,b|0)|0;i=Ss(b|0,I|0,i&-33554432|0,0)|0;a=Ss(g|0,n|0,a&-67108864|0,0)|0;n=ks(m|0,p|0,33554432,0)|0;g=xs(n|0,I|0,26)|0;g=ks(y|0,0,g|0,I|0)|0;t=Ss(g|0,I|0,t&33554432|0,0)|0;n=Ss(m|0,p|0,n&-67108864|0,0)|0;o[e>>2]=h;o[e+4>>2]=d;o[e+8>>2]=l;o[e+12>>2]=u;o[e+16>>2]=f;o[e+20>>2]=c;o[e+24>>2]=a;o[e+28>>2]=i;o[e+32>>2]=n;o[e+36>>2]=t;return}function Wr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,o=0,s=0;s=h;h=h+192|0;n=s+144|0;r=s+96|0;i=s+48|0;o=s;Yr(n,t);Yr(r,n);Yr(r,r);Xr(r,t,r);Xr(n,n,r);Yr(i,n);Xr(r,r,i);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);t=1;do{Yr(o,o);t=t+1|0}while((t|0)!=100);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(r,r);Yr(r,r);Yr(r,r);Yr(r,r);Yr(r,r);Xr(e,r,n);h=s;return}function Yr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0;tt=o[t>>2]|0;Ae=o[t+4>>2]|0;u=o[t+8>>2]|0;de=o[t+12>>2]|0;s=o[t+16>>2]|0;rt=o[t+20>>2]|0;a=o[t+24>>2]|0;p=o[t+28>>2]|0;q=o[t+32>>2]|0;O=o[t+36>>2]|0;y=tt<<1;n=Ae<<1;Ye=u<<1;c=de<<1;pe=s<<1;i=rt<<1;d=a<<1;r=p<<1;Ue=rt*38|0;be=a*19|0;Ee=p*38|0;ie=q*19|0;st=O*38|0;nt=((tt|0)<0)<<31>>31;nt=Es(tt|0,nt|0,tt|0,nt|0)|0;tt=I;b=((y|0)<0)<<31>>31;ve=((Ae|0)<0)<<31>>31;Ne=Es(y|0,b|0,Ae|0,ve|0)|0;Be=I;f=((u|0)<0)<<31>>31;We=Es(u|0,f|0,y|0,b|0)|0;Qe=I;he=((de|0)<0)<<31>>31;Ve=Es(de|0,he|0,y|0,b|0)|0;He=I;J=((s|0)<0)<<31>>31;Fe=Es(s|0,J|0,y|0,b|0)|0;Le=I;it=((rt|0)<0)<<31>>31;Ie=Es(rt|0,it|0,y|0,b|0)|0;Se=I;we=((a|0)<0)<<31>>31;ae=Es(a|0,we|0,y|0,b|0)|0;se=I;R=((p|0)<0)<<31>>31;G=Es(p|0,R|0,y|0,b|0)|0;z=I;K=((q|0)<0)<<31>>31;P=Es(q|0,K|0,y|0,b|0)|0;C=I;x=((O|0)<0)<<31>>31;b=Es(O|0,x|0,y|0,b|0)|0;y=I;l=((n|0)<0)<<31>>31;ve=Es(n|0,l|0,Ae|0,ve|0)|0;Ae=I;ne=Es(n|0,l|0,u|0,f|0)|0;re=I;g=((c|0)<0)<<31>>31;Ge=Es(c|0,g|0,n|0,l|0)|0;ze=I;xe=Es(s|0,J|0,n|0,l|0)|0;Oe=I;m=((i|0)<0)<<31>>31;fe=Es(i|0,m|0,n|0,l|0)|0;ce=I;V=Es(a|0,we|0,n|0,l|0)|0;H=I;t=((r|0)<0)<<31>>31;D=Es(r|0,t|0,n|0,l|0)|0;M=I;v=Es(q|0,K|0,n|0,l|0)|0;_=I;ot=((st|0)<0)<<31>>31;l=Es(st|0,ot|0,n|0,l|0)|0;n=I;Ke=Es(u|0,f|0,u|0,f|0)|0;qe=I;Xe=((Ye|0)<0)<<31>>31;Re=Es(Ye|0,Xe|0,de|0,he|0)|0;Te=I;le=Es(s|0,J|0,Ye|0,Xe|0)|0;ue=I;X=Es(rt|0,it|0,Ye|0,Xe|0)|0;Y=I;F=Es(a|0,we|0,Ye|0,Xe|0)|0;L=I;w=Es(p|0,R|0,Ye|0,Xe|0)|0;A=I;oe=((ie|0)<0)<<31>>31;Xe=Es(ie|0,oe|0,Ye|0,Xe|0)|0;Ye=I;f=Es(st|0,ot|0,u|0,f|0)|0;u=I;he=Es(c|0,g|0,de|0,he|0)|0;de=I;W=Es(c|0,g|0,s|0,J|0)|0;Q=I;N=Es(i|0,m|0,c|0,g|0)|0;B=I;T=Es(a|0,we|0,c|0,g|0)|0;S=I;ke=((Ee|0)<0)<<31>>31;Ze=Es(Ee|0,ke|0,c|0,g|0)|0;Je=I;Pe=Es(ie|0,oe|0,c|0,g|0)|0;Ce=I;g=Es(st|0,ot|0,c|0,g|0)|0;c=I;U=Es(s|0,J|0,s|0,J|0)|0;j=I;me=((pe|0)<0)<<31>>31;k=Es(pe|0,me|0,rt|0,it|0)|0;E=I;_e=((be|0)<0)<<31>>31;et=Es(be|0,_e|0,pe|0,me|0)|0;$e=I;De=Es(Ee|0,ke|0,s|0,J|0)|0;Me=I;me=Es(ie|0,oe|0,pe|0,me|0)|0;pe=I;J=Es(st|0,ot|0,s|0,J|0)|0;s=I;it=Es(Ue|0,((Ue|0)<0)<<31>>31|0,rt|0,it|0)|0;rt=I;Ue=Es(be|0,_e|0,i|0,m|0)|0;je=I;ye=Es(Ee|0,ke|0,i|0,m|0)|0;ge=I;$=Es(ie|0,oe|0,i|0,m|0)|0;Z=I;m=Es(st|0,ot|0,i|0,m|0)|0;i=I;_e=Es(be|0,_e|0,a|0,we|0)|0;be=I;te=Es(Ee|0,ke|0,a|0,we|0)|0;ee=I;d=Es(ie|0,oe|0,d|0,((d|0)<0)<<31>>31|0)|0;h=I;we=Es(st|0,ot|0,a|0,we|0)|0;a=I;R=Es(Ee|0,ke|0,p|0,R|0)|0;p=I;ke=Es(ie|0,oe|0,r|0,t|0)|0;Ee=I;t=Es(st|0,ot|0,r|0,t|0)|0;r=I;oe=Es(ie|0,oe|0,q|0,K|0)|0;ie=I;K=Es(st|0,ot|0,q|0,K|0)|0;q=I;x=Es(st|0,ot|0,O|0,x|0)|0;O=I;tt=ks(it|0,rt|0,nt|0,tt|0)|0;$e=ks(tt|0,I|0,et|0,$e|0)|0;Je=ks($e|0,I|0,Ze|0,Je|0)|0;Ye=ks(Je|0,I|0,Xe|0,Ye|0)|0;n=ks(Ye|0,I|0,l|0,n|0)|0;l=I;Ae=ks(We|0,Qe|0,ve|0,Ae|0)|0;ve=I;re=ks(Ve|0,He|0,ne|0,re|0)|0;ne=I;qe=ks(Ge|0,ze|0,Ke|0,qe|0)|0;Le=ks(qe|0,I|0,Fe|0,Le|0)|0;p=ks(Le|0,I|0,R|0,p|0)|0;h=ks(p|0,I|0,d|0,h|0)|0;i=ks(h|0,I|0,m|0,i|0)|0;m=I;h=ks(n|0,l|0,33554432,0)|0;d=I;p=Os(h|0,d|0,26)|0;R=I;Be=ks(Ue|0,je|0,Ne|0,Be|0)|0;Me=ks(Be|0,I|0,De|0,Me|0)|0;Ce=ks(Me|0,I|0,Pe|0,Ce|0)|0;u=ks(Ce|0,I|0,f|0,u|0)|0;R=ks(u|0,I|0,p|0,R|0)|0;p=I;d=Ss(n|0,l|0,h&-67108864|0,d|0)|0;h=I;l=ks(i|0,m|0,33554432,0)|0;n=I;u=Os(l|0,n|0,26)|0;f=I;Te=ks(xe|0,Oe|0,Re|0,Te|0)|0;Se=ks(Te|0,I|0,Ie|0,Se|0)|0;Ee=ks(Se|0,I|0,ke|0,Ee|0)|0;a=ks(Ee|0,I|0,we|0,a|0)|0;f=ks(a|0,I|0,u|0,f|0)|0;u=I;n=Ss(i|0,m|0,l&-67108864|0,n|0)|0;l=I;m=ks(R|0,p|0,16777216,0)|0;i=Os(m|0,I|0,25)|0;a=I;be=ks(Ae|0,ve|0,_e|0,be|0)|0;ge=ks(be|0,I|0,ye|0,ge|0)|0;pe=ks(ge|0,I|0,me|0,pe|0)|0;c=ks(pe|0,I|0,g|0,c|0)|0;a=ks(c|0,I|0,i|0,a|0)|0;i=I;m=Ss(R|0,p|0,m&-33554432|0,0)|0;p=I;R=ks(f|0,u|0,16777216,0)|0;c=Os(R|0,I|0,25)|0;g=I;ue=ks(he|0,de|0,le|0,ue|0)|0;ce=ks(ue|0,I|0,fe|0,ce|0)|0;se=ks(ce|0,I|0,ae|0,se|0)|0;ie=ks(se|0,I|0,oe|0,ie|0)|0;r=ks(ie|0,I|0,t|0,r|0)|0;g=ks(r|0,I|0,c|0,g|0)|0;c=I;R=Ss(f|0,u|0,R&-33554432|0,0)|0;u=I;f=ks(a|0,i|0,33554432,0)|0;r=Os(f|0,I|0,26)|0;t=I;ee=ks(re|0,ne|0,te|0,ee|0)|0;Z=ks(ee|0,I|0,$|0,Z|0)|0;s=ks(Z|0,I|0,J|0,s|0)|0;t=ks(s|0,I|0,r|0,t|0)|0;r=I;f=Ss(a|0,i|0,f&-67108864|0,0)|0;i=ks(g|0,c|0,33554432,0)|0;a=Os(i|0,I|0,26)|0;s=I;Q=ks(X|0,Y|0,W|0,Q|0)|0;H=ks(Q|0,I|0,V|0,H|0)|0;z=ks(H|0,I|0,G|0,z|0)|0;q=ks(z|0,I|0,K|0,q|0)|0;s=ks(q|0,I|0,a|0,s|0)|0;a=I;i=Ss(g|0,c|0,i&-67108864|0,0)|0;c=ks(t|0,r|0,16777216,0)|0;g=Os(c|0,I|0,25)|0;l=ks(g|0,I|0,n|0,l|0)|0;n=I;c=Ss(t|0,r|0,c&-33554432|0,0)|0;r=ks(s|0,a|0,16777216,0)|0;t=Os(r|0,I|0,25)|0;g=I;j=ks(F|0,L|0,U|0,j|0)|0;B=ks(j|0,I|0,N|0,B|0)|0;M=ks(B|0,I|0,D|0,M|0)|0;C=ks(M|0,I|0,P|0,C|0)|0;O=ks(C|0,I|0,x|0,O|0)|0;g=ks(O|0,I|0,t|0,g|0)|0;t=I;r=Ss(s|0,a|0,r&-33554432|0,0)|0;a=ks(l|0,n|0,33554432,0)|0;s=xs(a|0,I|0,26)|0;s=ks(R|0,u|0,s|0,I|0)|0;a=Ss(l|0,n|0,a&-67108864|0,0)|0;n=ks(g|0,t|0,33554432,0)|0;l=Os(n|0,I|0,26)|0;u=I;E=ks(T|0,S|0,k|0,E|0)|0;A=ks(E|0,I|0,w|0,A|0)|0;_=ks(A|0,I|0,v|0,_|0)|0;y=ks(_|0,I|0,b|0,y|0)|0;u=ks(y|0,I|0,l|0,u|0)|0;l=I;n=Ss(g|0,t|0,n&-67108864|0,0)|0;t=ks(u|0,l|0,16777216,0)|0;g=Os(t|0,I|0,25)|0;g=Es(g|0,I|0,19,0)|0;h=ks(g|0,I|0,d|0,h|0)|0;d=I;t=Ss(u|0,l|0,t&-33554432|0,0)|0;l=ks(h|0,d|0,33554432,0)|0;u=xs(l|0,I|0,26)|0;u=ks(m|0,p|0,u|0,I|0)|0;l=Ss(h|0,d|0,l&-67108864|0,0)|0;o[e>>2]=l;o[e+4>>2]=u;o[e+8>>2]=f;o[e+12>>2]=c;o[e+16>>2]=a;o[e+20>>2]=s;o[e+24>>2]=i;o[e+28>>2]=r;o[e+32>>2]=n;o[e+36>>2]=t;return}function Xr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0,at=0,ct=0,ft=0,ut=0,lt=0,dt=0,ht=0,pt=0,mt=0,gt=0,yt=0,bt=0,_t=0,vt=0,At=0,wt=0,Et=0,kt=0,St=0,It=0,Tt=0,Rt=0,Ot=0,xt=0,Ct=0,Pt=0,Mt=0,Dt=0,Bt=0,Nt=0,jt=0,Ut=0,Lt=0,Ft=0,qt=0,Kt=0,zt=0,Gt=0,Ht=0,Vt=0,Qt=0,Wt=0,Yt=0,Xt=0,Jt=0,Zt=0,$t=0,en=0,tn=0,nn=0,rn=0,on=0,sn=0,an=0,cn=0,fn=0,un=0,ln=0,dn=0,hn=0,pn=0,mn=0,gn=0,yn=0,bn=0,_n=0,vn=0,An=0,wn=0,En=0,kn=0,Sn=0,In=0,Tn=0,Rn=0,On=0,xn=0,Cn=0,Pn=0,Mn=0,Dn=0,Bn=0,Nn=0,jn=0,Un=0,Ln=0,Fn=0,qn=0,Kn=0,zn=0,Gn=0,Hn=0;y=o[t>>2]|0;_=o[t+4>>2]|0;u=o[t+8>>2]|0;Ht=o[t+12>>2]|0;s=o[t+16>>2]|0;Ie=o[t+20>>2]|0;a=o[t+24>>2]|0;Tt=o[t+28>>2]|0;oe=o[t+32>>2]|0;ae=o[t+36>>2]|0;D=o[n>>2]|0;N=o[n+4>>2]|0;P=o[n+8>>2]|0;x=o[n+12>>2]|0;R=o[n+16>>2]|0;S=o[n+20>>2]|0;E=o[n+24>>2]|0;A=o[n+28>>2]|0;f=o[n+32>>2]|0;v=o[n+36>>2]|0;qn=N*19|0;rn=P*19|0;bt=x*19|0;De=R*19|0;un=S*19|0;Ct=E*19|0;Ve=A*19|0;Hn=f*19|0;zn=v*19|0;t=_<<1;c=Ht<<1;i=Ie<<1;r=Tt<<1;L=ae<<1;b=((y|0)<0)<<31>>31;B=((D|0)<0)<<31>>31;Ln=Es(D|0,B|0,y|0,b|0)|0;Un=I;j=((N|0)<0)<<31>>31;En=Es(N|0,j|0,y|0,b|0)|0;wn=I;M=((P|0)<0)<<31>>31;At=Es(P|0,M|0,y|0,b|0)|0;vt=I;C=((x|0)<0)<<31>>31;je=Es(x|0,C|0,y|0,b|0)|0;Ne=I;O=((R|0)<0)<<31>>31;hn=Es(R|0,O|0,y|0,b|0)|0;dn=I;T=((S|0)<0)<<31>>31;Dt=Es(S|0,T|0,y|0,b|0)|0;Mt=I;k=((E|0)<0)<<31>>31;Ye=Es(E|0,k|0,y|0,b|0)|0;We=I;w=((A|0)<0)<<31>>31;ue=Es(A|0,w|0,y|0,b|0)|0;fe=I;Kn=((f|0)<0)<<31>>31;K=Es(f|0,Kn|0,y|0,b|0)|0;q=I;b=Es(v|0,((v|0)<0)<<31>>31|0,y|0,b|0)|0;y=I;v=((_|0)<0)<<31>>31;sn=Es(D|0,B|0,_|0,v|0)|0;an=I;l=((t|0)<0)<<31>>31;St=Es(N|0,j|0,t|0,l|0)|0;kt=I;Le=Es(P|0,M|0,_|0,v|0)|0;Ue=I;mn=Es(x|0,C|0,t|0,l|0)|0;pn=I;Nt=Es(R|0,O|0,_|0,v|0)|0;Bt=I;Je=Es(S|0,T|0,t|0,l|0)|0;Xe=I;de=Es(E|0,k|0,_|0,v|0)|0;le=I;G=Es(A|0,w|0,t|0,l|0)|0;z=I;v=Es(f|0,Kn|0,_|0,v|0)|0;_=I;Kn=((zn|0)<0)<<31>>31;l=Es(zn|0,Kn|0,t|0,l|0)|0;t=I;f=((u|0)<0)<<31>>31;Et=Es(D|0,B|0,u|0,f|0)|0;wt=I;ze=Es(N|0,j|0,u|0,f|0)|0;Ke=I;yn=Es(P|0,M|0,u|0,f|0)|0;gn=I;Ut=Es(x|0,C|0,u|0,f|0)|0;jt=I;$e=Es(R|0,O|0,u|0,f|0)|0;Ze=I;pe=Es(S|0,T|0,u|0,f|0)|0;he=I;V=Es(E|0,k|0,u|0,f|0)|0;H=I;w=Es(A|0,w|0,u|0,f|0)|0;A=I;Gn=((Hn|0)<0)<<31>>31;Sn=Es(Hn|0,Gn|0,u|0,f|0)|0;kn=I;f=Es(zn|0,Kn|0,u|0,f|0)|0;u=I;Vt=((Ht|0)<0)<<31>>31;qe=Es(D|0,B|0,Ht|0,Vt|0)|0;Fe=I;g=((c|0)<0)<<31>>31;An=Es(N|0,j|0,c|0,g|0)|0;vn=I;Ft=Es(P|0,M|0,Ht|0,Vt|0)|0;Lt=I;tt=Es(x|0,C|0,c|0,g|0)|0;et=I;ge=Es(R|0,O|0,Ht|0,Vt|0)|0;me=I;W=Es(S|0,T|0,c|0,g|0)|0;Q=I;k=Es(E|0,k|0,Ht|0,Vt|0)|0;E=I;Qe=((Ve|0)<0)<<31>>31;Tn=Es(Ve|0,Qe|0,c|0,g|0)|0;In=I;Vt=Es(Hn|0,Gn|0,Ht|0,Vt|0)|0;Ht=I;g=Es(zn|0,Kn|0,c|0,g|0)|0;c=I;Se=((s|0)<0)<<31>>31;_n=Es(D|0,B|0,s|0,Se|0)|0;bn=I;Gt=Es(N|0,j|0,s|0,Se|0)|0;zt=I;rt=Es(P|0,M|0,s|0,Se|0)|0;nt=I;be=Es(x|0,C|0,s|0,Se|0)|0;ye=I;X=Es(R|0,O|0,s|0,Se|0)|0;Y=I;T=Es(S|0,T|0,s|0,Se|0)|0;S=I;Pt=((Ct|0)<0)<<31>>31;On=Es(Ct|0,Pt|0,s|0,Se|0)|0;Rn=I;Wt=Es(Ve|0,Qe|0,s|0,Se|0)|0;Qt=I;ft=Es(Hn|0,Gn|0,s|0,Se|0)|0;ct=I;Se=Es(zn|0,Kn|0,s|0,Se|0)|0;s=I;Te=((Ie|0)<0)<<31>>31;Kt=Es(D|0,B|0,Ie|0,Te|0)|0;qt=I;m=((i|0)<0)<<31>>31;at=Es(N|0,j|0,i|0,m|0)|0;st=I;ve=Es(P|0,M|0,Ie|0,Te|0)|0;_e=I;Z=Es(x|0,C|0,i|0,m|0)|0;J=I;O=Es(R|0,O|0,Ie|0,Te|0)|0;R=I;ln=((un|0)<0)<<31>>31;Cn=Es(un|0,ln|0,i|0,m|0)|0;xn=I;Xt=Es(Ct|0,Pt|0,Ie|0,Te|0)|0;Yt=I;lt=Es(Ve|0,Qe|0,i|0,m|0)|0;ut=I;Te=Es(Hn|0,Gn|0,Ie|0,Te|0)|0;Ie=I;m=Es(zn|0,Kn|0,i|0,m|0)|0;i=I;It=((a|0)<0)<<31>>31;ot=Es(D|0,B|0,a|0,It|0)|0;it=I;ke=Es(N|0,j|0,a|0,It|0)|0;Ee=I;ee=Es(P|0,M|0,a|0,It|0)|0;$=I;C=Es(x|0,C|0,a|0,It|0)|0;x=I;Be=((De|0)<0)<<31>>31;Mn=Es(De|0,Be|0,a|0,It|0)|0;Pn=I;Zt=Es(un|0,ln|0,a|0,It|0)|0;Jt=I;ht=Es(Ct|0,Pt|0,a|0,It|0)|0;dt=I;Oe=Es(Ve|0,Qe|0,a|0,It|0)|0;Re=I;d=Es(Hn|0,Gn|0,a|0,It|0)|0;h=I;It=Es(zn|0,Kn|0,a|0,It|0)|0;a=I;Rt=((Tt|0)<0)<<31>>31;we=Es(D|0,B|0,Tt|0,Rt|0)|0;Ae=I;n=((r|0)<0)<<31>>31;ie=Es(N|0,j|0,r|0,n|0)|0;re=I;M=Es(P|0,M|0,Tt|0,Rt|0)|0;P=I;_t=((bt|0)<0)<<31>>31;Bn=Es(bt|0,_t|0,r|0,n|0)|0;Dn=I;en=Es(De|0,Be|0,Tt|0,Rt|0)|0;$t=I;mt=Es(un|0,ln|0,r|0,n|0)|0;pt=I;Ce=Es(Ct|0,Pt|0,Tt|0,Rt|0)|0;xe=I;U=Es(Ve|0,Qe|0,r|0,n|0)|0;p=I;Rt=Es(Hn|0,Gn|0,Tt|0,Rt|0)|0;Tt=I;n=Es(zn|0,Kn|0,r|0,n|0)|0;r=I;se=((oe|0)<0)<<31>>31;ne=Es(D|0,B|0,oe|0,se|0)|0;te=I;j=Es(N|0,j|0,oe|0,se|0)|0;N=I;on=((rn|0)<0)<<31>>31;jn=Es(rn|0,on|0,oe|0,se|0)|0;Nn=I;nn=Es(bt|0,_t|0,oe|0,se|0)|0;tn=I;yt=Es(De|0,Be|0,oe|0,se|0)|0;gt=I;Me=Es(un|0,ln|0,oe|0,se|0)|0;Pe=I;fn=Es(Ct|0,Pt|0,oe|0,se|0)|0;cn=I;xt=Es(Ve|0,Qe|0,oe|0,se|0)|0;Ot=I;He=Es(Hn|0,Gn|0,oe|0,se|0)|0;Ge=I;se=Es(zn|0,Kn|0,oe|0,se|0)|0;oe=I;ce=((ae|0)<0)<<31>>31;B=Es(D|0,B|0,ae|0,ce|0)|0;D=I;F=((L|0)<0)<<31>>31;qn=Es(qn|0,((qn|0)<0)<<31>>31|0,L|0,F|0)|0;Fn=I;on=Es(rn|0,on|0,ae|0,ce|0)|0;rn=I;_t=Es(bt|0,_t|0,L|0,F|0)|0;bt=I;Be=Es(De|0,Be|0,ae|0,ce|0)|0;De=I;ln=Es(un|0,ln|0,L|0,F|0)|0;un=I;Pt=Es(Ct|0,Pt|0,ae|0,ce|0)|0;Ct=I;Qe=Es(Ve|0,Qe|0,L|0,F|0)|0;Ve=I;ce=Es(Hn|0,Gn|0,ae|0,ce|0)|0;ae=I;F=Es(zn|0,Kn|0,L|0,F|0)|0;L=I;Un=ks(qn|0,Fn|0,Ln|0,Un|0)|0;Nn=ks(Un|0,I|0,jn|0,Nn|0)|0;Dn=ks(Nn|0,I|0,Bn|0,Dn|0)|0;Pn=ks(Dn|0,I|0,Mn|0,Pn|0)|0;xn=ks(Pn|0,I|0,Cn|0,xn|0)|0;Rn=ks(xn|0,I|0,On|0,Rn|0)|0;In=ks(Rn|0,I|0,Tn|0,In|0)|0;kn=ks(In|0,I|0,Sn|0,kn|0)|0;t=ks(kn|0,I|0,l|0,t|0)|0;l=I;an=ks(En|0,wn|0,sn|0,an|0)|0;sn=I;bn=ks(An|0,vn|0,_n|0,bn|0)|0;gn=ks(bn|0,I|0,yn|0,gn|0)|0;pn=ks(gn|0,I|0,mn|0,pn|0)|0;dn=ks(pn|0,I|0,hn|0,dn|0)|0;un=ks(dn|0,I|0,ln|0,un|0)|0;cn=ks(un|0,I|0,fn|0,cn|0)|0;p=ks(cn|0,I|0,U|0,p|0)|0;h=ks(p|0,I|0,d|0,h|0)|0;i=ks(h|0,I|0,m|0,i|0)|0;m=I;h=ks(t|0,l|0,33554432,0)|0;d=I;p=Os(h|0,d|0,26)|0;U=I;rn=ks(an|0,sn|0,on|0,rn|0)|0;tn=ks(rn|0,I|0,nn|0,tn|0)|0;$t=ks(tn|0,I|0,en|0,$t|0)|0;Jt=ks($t|0,I|0,Zt|0,Jt|0)|0;Yt=ks(Jt|0,I|0,Xt|0,Yt|0)|0;Qt=ks(Yt|0,I|0,Wt|0,Qt|0)|0;Ht=ks(Qt|0,I|0,Vt|0,Ht|0)|0;u=ks(Ht|0,I|0,f|0,u|0)|0;U=ks(u|0,I|0,p|0,U|0)|0;p=I;d=Ss(t|0,l|0,h&-67108864|0,d|0)|0;h=I;l=ks(i|0,m|0,33554432,0)|0;t=I;u=Os(l|0,t|0,26)|0;f=I;qt=ks(Gt|0,zt|0,Kt|0,qt|0)|0;Lt=ks(qt|0,I|0,Ft|0,Lt|0)|0;jt=ks(Lt|0,I|0,Ut|0,jt|0)|0;Bt=ks(jt|0,I|0,Nt|0,Bt|0)|0;Mt=ks(Bt|0,I|0,Dt|0,Mt|0)|0;Ct=ks(Mt|0,I|0,Pt|0,Ct|0)|0;Ot=ks(Ct|0,I|0,xt|0,Ot|0)|0;Tt=ks(Ot|0,I|0,Rt|0,Tt|0)|0;a=ks(Tt|0,I|0,It|0,a|0)|0;f=ks(a|0,I|0,u|0,f|0)|0;u=I;t=Ss(i|0,m|0,l&-67108864|0,t|0)|0;l=I;m=ks(U|0,p|0,16777216,0)|0;i=Os(m|0,I|0,25)|0;a=I;wt=ks(St|0,kt|0,Et|0,wt|0)|0;vt=ks(wt|0,I|0,At|0,vt|0)|0;bt=ks(vt|0,I|0,_t|0,bt|0)|0;gt=ks(bt|0,I|0,yt|0,gt|0)|0;pt=ks(gt|0,I|0,mt|0,pt|0)|0;dt=ks(pt|0,I|0,ht|0,dt|0)|0;ut=ks(dt|0,I|0,lt|0,ut|0)|0;ct=ks(ut|0,I|0,ft|0,ct|0)|0;c=ks(ct|0,I|0,g|0,c|0)|0;a=ks(c|0,I|0,i|0,a|0)|0;i=I;m=Ss(U|0,p|0,m&-33554432|0,0)|0;p=I;U=ks(f|0,u|0,16777216,0)|0;c=Os(U|0,I|0,25)|0;g=I;it=ks(at|0,st|0,ot|0,it|0)|0;nt=ks(it|0,I|0,rt|0,nt|0)|0;et=ks(nt|0,I|0,tt|0,et|0)|0;Ze=ks(et|0,I|0,$e|0,Ze|0)|0;Xe=ks(Ze|0,I|0,Je|0,Xe|0)|0;We=ks(Xe|0,I|0,Ye|0,We|0)|0;Ve=ks(We|0,I|0,Qe|0,Ve|0)|0;Ge=ks(Ve|0,I|0,He|0,Ge|0)|0;r=ks(Ge|0,I|0,n|0,r|0)|0;g=ks(r|0,I|0,c|0,g|0)|0;c=I;U=Ss(f|0,u|0,U&-33554432|0,0)|0;u=I;f=ks(a|0,i|0,33554432,0)|0;r=Os(f|0,I|0,26)|0;n=I;Fe=ks(ze|0,Ke|0,qe|0,Fe|0)|0;Ue=ks(Fe|0,I|0,Le|0,Ue|0)|0;Ne=ks(Ue|0,I|0,je|0,Ne|0)|0;De=ks(Ne|0,I|0,Be|0,De|0)|0;Pe=ks(De|0,I|0,Me|0,Pe|0)|0;xe=ks(Pe|0,I|0,Ce|0,xe|0)|0;Re=ks(xe|0,I|0,Oe|0,Re|0)|0;Ie=ks(Re|0,I|0,Te|0,Ie|0)|0;s=ks(Ie|0,I|0,Se|0,s|0)|0;n=ks(s|0,I|0,r|0,n|0)|0;r=I;f=Ss(a|0,i|0,f&-67108864|0,0)|0;i=ks(g|0,c|0,33554432,0)|0;a=Os(i|0,I|0,26)|0;s=I;Ae=ks(ke|0,Ee|0,we|0,Ae|0)|0;_e=ks(Ae|0,I|0,ve|0,_e|0)|0;ye=ks(_e|0,I|0,be|0,ye|0)|0;me=ks(ye|0,I|0,ge|0,me|0)|0;he=ks(me|0,I|0,pe|0,he|0)|0;le=ks(he|0,I|0,de|0,le|0)|0;fe=ks(le|0,I|0,ue|0,fe|0)|0;ae=ks(fe|0,I|0,ce|0,ae|0)|0;oe=ks(ae|0,I|0,se|0,oe|0)|0;s=ks(oe|0,I|0,a|0,s|0)|0;a=I;i=Ss(g|0,c|0,i&-67108864|0,0)|0;c=ks(n|0,r|0,16777216,0)|0;g=Os(c|0,I|0,25)|0;l=ks(g|0,I|0,t|0,l|0)|0;t=I;c=Ss(n|0,r|0,c&-33554432|0,0)|0;r=ks(s|0,a|0,16777216,0)|0;n=Os(r|0,I|0,25)|0;g=I;te=ks(ie|0,re|0,ne|0,te|0)|0;$=ks(te|0,I|0,ee|0,$|0)|0;J=ks($|0,I|0,Z|0,J|0)|0;Y=ks(J|0,I|0,X|0,Y|0)|0;Q=ks(Y|0,I|0,W|0,Q|0)|0;H=ks(Q|0,I|0,V|0,H|0)|0;z=ks(H|0,I|0,G|0,z|0)|0;q=ks(z|0,I|0,K|0,q|0)|0;L=ks(q|0,I|0,F|0,L|0)|0;g=ks(L|0,I|0,n|0,g|0)|0;n=I;r=Ss(s|0,a|0,r&-33554432|0,0)|0;a=ks(l|0,t|0,33554432,0)|0;s=xs(a|0,I|0,26)|0;s=ks(U|0,u|0,s|0,I|0)|0;a=Ss(l|0,t|0,a&-67108864|0,0)|0;t=ks(g|0,n|0,33554432,0)|0;l=Os(t|0,I|0,26)|0;u=I;D=ks(j|0,N|0,B|0,D|0)|0;P=ks(D|0,I|0,M|0,P|0)|0;x=ks(P|0,I|0,C|0,x|0)|0;R=ks(x|0,I|0,O|0,R|0)|0;S=ks(R|0,I|0,T|0,S|0)|0;E=ks(S|0,I|0,k|0,E|0)|0;A=ks(E|0,I|0,w|0,A|0)|0;_=ks(A|0,I|0,v|0,_|0)|0;y=ks(_|0,I|0,b|0,y|0)|0;u=ks(y|0,I|0,l|0,u|0)|0;l=I;t=Ss(g|0,n|0,t&-67108864|0,0)|0;n=ks(u|0,l|0,16777216,0)|0;g=Os(n|0,I|0,25)|0;g=Es(g|0,I|0,19,0)|0;h=ks(g|0,I|0,d|0,h|0)|0;d=I;n=Ss(u|0,l|0,n&-33554432|0,0)|0;l=ks(h|0,d|0,33554432,0)|0;u=xs(l|0,I|0,26)|0;u=ks(m|0,p|0,u|0,I|0)|0;l=Ss(h|0,d|0,l&-67108864|0,0)|0;o[e>>2]=l;o[e+4>>2]=u;o[e+8>>2]=f;o[e+12>>2]=c;o[e+16>>2]=a;o[e+20>>2]=s;o[e+24>>2]=i;o[e+28>>2]=r;o[e+32>>2]=t;o[e+36>>2]=n;return}function Jr(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0;_=o[t>>2]|0;b=o[t+4>>2]|0;g=o[t+8>>2]|0;p=o[t+12>>2]|0;d=o[t+16>>2]|0;l=o[t+20>>2]|0;u=o[t+24>>2]|0;c=o[t+28>>2]|0;s=o[t+32>>2]|0;n=o[t+36>>2]|0;_=(((((((((((((n*19|0)+16777216>>25)+_>>26)+b>>25)+g>>26)+p>>25)+d>>26)+l>>25)+u>>26)+c>>25)+s>>26)+n>>25)*19|0)+_|0;b=(_>>26)+b|0;g=(b>>25)+g|0;y=b&33554431;p=(g>>26)+p|0;m=g&67108863;d=(p>>25)+d|0;h=p&33554431;l=(d>>26)+l|0;u=(l>>25)+u|0;c=(u>>26)+c|0;f=u&67108863;s=(c>>25)+s|0;a=c&33554431;n=(s>>26)+n|0;i=s&67108863;t=n&33554431;r[e>>0]=_;r[e+1>>0]=_>>>8;r[e+2>>0]=_>>>16;r[e+3>>0]=y<<2|_>>>24&3;r[e+4>>0]=b>>>6;r[e+5>>0]=b>>>14;r[e+6>>0]=m<<3|y>>>22;r[e+7>>0]=g>>>5;r[e+8>>0]=g>>>13;r[e+9>>0]=h<<5|m>>>21;r[e+10>>0]=p>>>3;r[e+11>>0]=p>>>11;r[e+12>>0]=d<<6|h>>>19;r[e+13>>0]=d>>>2;r[e+14>>0]=d>>>10;r[e+15>>0]=d>>>18;r[e+16>>0]=l;r[e+17>>0]=l>>>8;r[e+18>>0]=l>>>16;r[e+19>>0]=f<<1|l>>>24&1;r[e+20>>0]=u>>>7;r[e+21>>0]=u>>>15;r[e+22>>0]=a<<3|f>>>23;r[e+23>>0]=c>>>5;r[e+24>>0]=c>>>13;r[e+25>>0]=i<<4|a>>>21;r[e+26>>0]=s>>>4;r[e+27>>0]=s>>>12;r[e+28>>0]=t<<6|i>>>20;r[e+29>>0]=n>>>2;r[e+30>>0]=n>>>10;r[e+31>>0]=t>>>18;return}function Zr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,o=0,s=0;s=h;h=h+144|0;r=s+96|0;i=s+48|0;o=s;Yr(r,t);Yr(i,r);Yr(i,i);Xr(i,t,i);Xr(r,r,i);Yr(r,r);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);n=1;do{Yr(o,o);n=n+1|0}while((n|0)!=100);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(r,r);Yr(r,r);Xr(e,r,t);h=s;return}function $r(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0;tt=o[t>>2]|0;je=o[t+4>>2]|0;_=o[t+8>>2]|0;re=o[t+12>>2]|0;v=o[t+16>>2]|0;rt=o[t+20>>2]|0;f=o[t+24>>2]|0;me=o[t+28>>2]|0;s=o[t+32>>2]|0;g=o[t+36>>2]|0;u=tt<<1;y=je<<1;Ye=_<<1;w=re<<1;Ce=v<<1;m=rt<<1;pe=f<<1;A=me<<1;We=rt*38|0;Be=f*19|0;oe=me*38|0;Y=s*19|0;st=g*38|0;nt=((tt|0)<0)<<31>>31;nt=Es(tt|0,nt|0,tt|0,nt|0)|0;tt=I;l=((u|0)<0)<<31>>31;Ue=((je|0)<0)<<31>>31;Ve=Es(u|0,l|0,je|0,Ue|0)|0;He=I;p=((_|0)<0)<<31>>31;Fe=Es(_|0,p|0,u|0,l|0)|0;Le=I;ie=((re|0)<0)<<31>>31;xe=Es(re|0,ie|0,u|0,l|0)|0;Oe=I;r=((v|0)<0)<<31>>31;be=Es(v|0,r|0,u|0,l|0)|0;ye=I;it=((rt|0)<0)<<31>>31;ce=Es(rt|0,it|0,u|0,l|0)|0;ae=I;b=((f|0)<0)<<31>>31;Z=Es(f|0,b|0,u|0,l|0)|0;J=I;ge=((me|0)<0)<<31>>31;K=Es(me|0,ge|0,u|0,l|0)|0;q=I;a=((s|0)<0)<<31>>31;P=Es(s|0,a|0,u|0,l|0)|0;C=I;t=((g|0)<0)<<31>>31;l=Es(g|0,t|0,u|0,l|0)|0;u=I;n=((y|0)<0)<<31>>31;Ue=Es(y|0,n|0,je|0,Ue|0)|0;je=I;Re=Es(y|0,n|0,_|0,p|0)|0;Te=I;i=((w|0)<0)<<31>>31;we=Es(w|0,i|0,y|0,n|0)|0;Ae=I;de=Es(v|0,r|0,y|0,n|0)|0;le=I;E=((m|0)<0)<<31>>31;ee=Es(m|0,E|0,y|0,n|0)|0;$=I;G=Es(f|0,b|0,y|0,n|0)|0;z=I;c=((A|0)<0)<<31>>31;D=Es(A|0,c|0,y|0,n|0)|0;M=I;d=Es(s|0,a|0,y|0,n|0)|0;h=I;ot=((st|0)<0)<<31>>31;n=Es(st|0,ot|0,y|0,n|0)|0;y=I;ve=Es(_|0,p|0,_|0,p|0)|0;_e=I;Xe=((Ye|0)<0)<<31>>31;ue=Es(Ye|0,Xe|0,re|0,ie|0)|0;fe=I;ne=Es(v|0,r|0,Ye|0,Xe|0)|0;te=I;W=Es(rt|0,it|0,Ye|0,Xe|0)|0;Q=I;F=Es(f|0,b|0,Ye|0,Xe|0)|0;L=I;S=Es(me|0,ge|0,Ye|0,Xe|0)|0;k=I;X=((Y|0)<0)<<31>>31;Xe=Es(Y|0,X|0,Ye|0,Xe|0)|0;Ye=I;p=Es(st|0,ot|0,_|0,p|0)|0;_=I;ie=Es(w|0,i|0,re|0,ie|0)|0;re=I;V=Es(w|0,i|0,v|0,r|0)|0;H=I;N=Es(m|0,E|0,w|0,i|0)|0;B=I;x=Es(f|0,b|0,w|0,i|0)|0;O=I;se=((oe|0)<0)<<31>>31;Ze=Es(oe|0,se|0,w|0,i|0)|0;Je=I;Ke=Es(Y|0,X|0,w|0,i|0)|0;qe=I;i=Es(st|0,ot|0,w|0,i|0)|0;w=I;U=Es(v|0,r|0,v|0,r|0)|0;j=I;Pe=((Ce|0)<0)<<31>>31;R=Es(Ce|0,Pe|0,rt|0,it|0)|0;T=I;Ne=((Be|0)<0)<<31>>31;et=Es(Be|0,Ne|0,Ce|0,Pe|0)|0;$e=I;Ge=Es(oe|0,se|0,v|0,r|0)|0;ze=I;Pe=Es(Y|0,X|0,Ce|0,Pe|0)|0;Ce=I;r=Es(st|0,ot|0,v|0,r|0)|0;v=I;it=Es(We|0,((We|0)<0)<<31>>31|0,rt|0,it|0)|0;rt=I;We=Es(Be|0,Ne|0,m|0,E|0)|0;Qe=I;De=Es(oe|0,se|0,m|0,E|0)|0;Me=I;ke=Es(Y|0,X|0,m|0,E|0)|0;Ee=I;E=Es(st|0,ot|0,m|0,E|0)|0;m=I;Ne=Es(Be|0,Ne|0,f|0,b|0)|0;Be=I;Ie=Es(oe|0,se|0,f|0,b|0)|0;Se=I;pe=Es(Y|0,X|0,pe|0,((pe|0)<0)<<31>>31|0)|0;he=I;b=Es(st|0,ot|0,f|0,b|0)|0;f=I;ge=Es(oe|0,se|0,me|0,ge|0)|0;me=I;se=Es(Y|0,X|0,A|0,c|0)|0;oe=I;c=Es(st|0,ot|0,A|0,c|0)|0;A=I;X=Es(Y|0,X|0,s|0,a|0)|0;Y=I;a=Es(st|0,ot|0,s|0,a|0)|0;s=I;t=Es(st|0,ot|0,g|0,t|0)|0;g=I;tt=ks(it|0,rt|0,nt|0,tt|0)|0;$e=ks(tt|0,I|0,et|0,$e|0)|0;Je=ks($e|0,I|0,Ze|0,Je|0)|0;Ye=ks(Je|0,I|0,Xe|0,Ye|0)|0;y=ks(Ye|0,I|0,n|0,y|0)|0;n=I;He=ks(We|0,Qe|0,Ve|0,He|0)|0;ze=ks(He|0,I|0,Ge|0,ze|0)|0;qe=ks(ze|0,I|0,Ke|0,qe|0)|0;_=ks(qe|0,I|0,p|0,_|0)|0;p=I;je=ks(Fe|0,Le|0,Ue|0,je|0)|0;Be=ks(je|0,I|0,Ne|0,Be|0)|0;Me=ks(Be|0,I|0,De|0,Me|0)|0;Ce=ks(Me|0,I|0,Pe|0,Ce|0)|0;w=ks(Ce|0,I|0,i|0,w|0)|0;i=I;Te=ks(xe|0,Oe|0,Re|0,Te|0)|0;Se=ks(Te|0,I|0,Ie|0,Se|0)|0;Ee=ks(Se|0,I|0,ke|0,Ee|0)|0;v=ks(Ee|0,I|0,r|0,v|0)|0;r=I;_e=ks(we|0,Ae|0,ve|0,_e|0)|0;ye=ks(_e|0,I|0,be|0,ye|0)|0;me=ks(ye|0,I|0,ge|0,me|0)|0;he=ks(me|0,I|0,pe|0,he|0)|0;m=ks(he|0,I|0,E|0,m|0)|0;E=I;fe=ks(de|0,le|0,ue|0,fe|0)|0;ae=ks(fe|0,I|0,ce|0,ae|0)|0;oe=ks(ae|0,I|0,se|0,oe|0)|0;f=ks(oe|0,I|0,b|0,f|0)|0;b=I;te=ks(ie|0,re|0,ne|0,te|0)|0;$=ks(te|0,I|0,ee|0,$|0)|0;J=ks($|0,I|0,Z|0,J|0)|0;Y=ks(J|0,I|0,X|0,Y|0)|0;A=ks(Y|0,I|0,c|0,A|0)|0;c=I;H=ks(W|0,Q|0,V|0,H|0)|0;z=ks(H|0,I|0,G|0,z|0)|0;q=ks(z|0,I|0,K|0,q|0)|0;s=ks(q|0,I|0,a|0,s|0)|0;a=I;j=ks(F|0,L|0,U|0,j|0)|0;B=ks(j|0,I|0,N|0,B|0)|0;M=ks(B|0,I|0,D|0,M|0)|0;C=ks(M|0,I|0,P|0,C|0)|0;g=ks(C|0,I|0,t|0,g|0)|0;t=I;T=ks(x|0,O|0,R|0,T|0)|0;k=ks(T|0,I|0,S|0,k|0)|0;h=ks(k|0,I|0,d|0,h|0)|0;u=ks(h|0,I|0,l|0,u|0)|0;l=I;n=Cs(y|0,n|0,1)|0;y=I;p=Cs(_|0,p|0,1)|0;_=I;i=Cs(w|0,i|0,1)|0;w=I;r=Cs(v|0,r|0,1)|0;v=I;E=Cs(m|0,E|0,1)|0;m=I;b=Cs(f|0,b|0,1)|0;f=I;c=Cs(A|0,c|0,1)|0;A=I;a=Cs(s|0,a|0,1)|0;s=I;t=Cs(g|0,t|0,1)|0;g=I;l=Cs(u|0,l|0,1)|0;u=I;h=ks(n|0,y|0,33554432,0)|0;d=I;k=Os(h|0,d|0,26)|0;_=ks(k|0,I|0,p|0,_|0)|0;p=I;d=Ss(n|0,y|0,h&-67108864|0,d|0)|0;h=I;y=ks(E|0,m|0,33554432,0)|0;n=I;k=Os(y|0,n|0,26)|0;f=ks(k|0,I|0,b|0,f|0)|0;b=I;n=Ss(E|0,m|0,y&-67108864|0,n|0)|0;y=I;m=ks(_|0,p|0,16777216,0)|0;E=Os(m|0,I|0,25)|0;w=ks(E|0,I|0,i|0,w|0)|0;i=I;m=Ss(_|0,p|0,m&-33554432|0,0)|0;p=I;_=ks(f|0,b|0,16777216,0)|0;E=Os(_|0,I|0,25)|0;A=ks(E|0,I|0,c|0,A|0)|0;c=I;_=Ss(f|0,b|0,_&-33554432|0,0)|0;b=I;f=ks(w|0,i|0,33554432,0)|0;E=Os(f|0,I|0,26)|0;v=ks(E|0,I|0,r|0,v|0)|0;r=I;f=Ss(w|0,i|0,f&-67108864|0,0)|0;i=ks(A|0,c|0,33554432,0)|0;w=Os(i|0,I|0,26)|0;s=ks(w|0,I|0,a|0,s|0)|0;a=I;i=Ss(A|0,c|0,i&-67108864|0,0)|0;c=ks(v|0,r|0,16777216,0)|0;A=Os(c|0,I|0,25)|0;y=ks(A|0,I|0,n|0,y|0)|0;n=I;c=Ss(v|0,r|0,c&-33554432|0,0)|0;r=ks(s|0,a|0,16777216,0)|0;v=Os(r|0,I|0,25)|0;g=ks(v|0,I|0,t|0,g|0)|0;t=I;r=Ss(s|0,a|0,r&-33554432|0,0)|0;a=ks(y|0,n|0,33554432,0)|0;s=xs(a|0,I|0,26)|0;s=ks(_|0,b|0,s|0,I|0)|0;a=Ss(y|0,n|0,a&-67108864|0,0)|0;n=ks(g|0,t|0,33554432,0)|0;y=Os(n|0,I|0,26)|0;u=ks(y|0,I|0,l|0,u|0)|0;l=I;n=Ss(g|0,t|0,n&-67108864|0,0)|0;t=ks(u|0,l|0,16777216,0)|0;g=Os(t|0,I|0,25)|0;g=Es(g|0,I|0,19,0)|0;h=ks(g|0,I|0,d|0,h|0)|0;d=I;t=Ss(u|0,l|0,t&-33554432|0,0)|0;l=ks(h|0,d|0,33554432,0)|0;u=xs(l|0,I|0,26)|0;u=ks(m|0,p|0,u|0,I|0)|0;l=Ss(h|0,d|0,l&-67108864|0,0)|0;o[e>>2]=l;o[e+4>>2]=u;o[e+8>>2]=f;o[e+12>>2]=c;o[e+16>>2]=a;o[e+20>>2]=s;o[e+24>>2]=i;o[e+28>>2]=r;o[e+32>>2]=n;o[e+36>>2]=t;return}function ei(e){e=e|0;var t=0,n=0,i=0,o=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0;de=e+1|0;fe=e+2|0;K=r[fe>>0]|0;we=s[e>>0]|0;P=Cs(s[de>>0]|0|0,0,8)|0;_e=I;K=K&255;ve=Cs(K|0,0,16)|0;ce=e+3|0;A=Cs(s[ce>>0]|0|0,0,8)|0;te=I;ie=e+4|0;Z=Cs(s[ie>>0]|0|0,0,16)|0;te=te|I;re=e+5|0;q=s[re>>0]|0;$=Cs(q|0,0,24)|0;te=xs(A|K|Z|$|0,te|I|0,5)|0;$=e+6|0;Z=e+7|0;K=r[Z>>0]|0;A=Cs(s[$>>0]|0|0,0,8)|0;Re=I;K=K&255;J=Cs(K|0,0,16)|0;Re=xs(A|q|J|0,Re|I|0,2)|0;J=e+8|0;q=Cs(s[J>>0]|0|0,0,8)|0;A=I;Q=e+9|0;Te=Cs(s[Q>>0]|0|0,0,16)|0;A=A|I;V=e+10|0;Ve=s[V>>0]|0;H=Cs(Ve|0,0,24)|0;A=xs(q|K|Te|H|0,A|I|0,7)|0;H=e+11|0;Te=Cs(s[H>>0]|0|0,0,8)|0;K=I;q=e+12|0;B=Cs(s[q>>0]|0|0,0,16)|0;K=K|I;F=e+13|0;w=s[F>>0]|0;N=Cs(w|0,0,24)|0;K=xs(Te|Ve|B|N|0,K|I|0,4)|0;N=e+14|0;B=e+15|0;Ve=r[B>>0]|0;Te=Cs(s[N>>0]|0|0,0,8)|0;ye=I;Ve=Ve&255;D=Cs(Ve|0,0,16)|0;ye=xs(Te|w|D|0,ye|I|0,1)|0;D=e+16|0;w=Cs(s[D>>0]|0|0,0,8)|0;Te=I;x=e+17|0;k=Cs(s[x>>0]|0|0,0,16)|0;Te=Te|I;O=e+18|0;E=s[O>>0]|0;R=Cs(E|0,0,24)|0;Te=xs(w|Ve|k|R|0,Te|I|0,6)|0;R=e+19|0;k=e+20|0;Ve=r[k>>0]|0;w=Cs(s[R>>0]|0|0,0,8)|0;Qe=I;Ve=Cs(Ve&255|0,0,16)|0;Qe=xs(w|E|Ve|0,Qe|I|0,3)|0;Ve=I;E=e+21|0;w=e+22|0;_=e+23|0;n=r[_>>0]|0;et=s[E>>0]|0;tt=Cs(s[w>>0]|0|0,0,8)|0;Ze=I;n=n&255;$e=Cs(n|0,0,16)|0;b=e+24|0;Ue=Cs(s[b>>0]|0|0,0,8)|0;ze=I;p=e+25|0;c=Cs(s[p>>0]|0|0,0,16)|0;ze=ze|I;h=e+26|0;pe=s[h>>0]|0;f=Cs(pe|0,0,24)|0;ze=xs(Ue|n|c|f|0,ze|I|0,5)|0;f=e+27|0;c=e+28|0;n=r[c>>0]|0;Ue=Cs(s[f>>0]|0|0,0,8)|0;Je=I;n=n&255;a=Cs(n|0,0,16)|0;Je=xs(Ue|pe|a|0,Je|I|0,2)|0;a=e+29|0;pe=Cs(s[a>>0]|0|0,0,8)|0;Ue=I;o=e+30|0;ot=Cs(s[o>>0]|0|0,0,16)|0;Ue=Ue|I;t=e+31|0;ne=s[t>>0]|0;u=Cs(ne|0,0,24)|0;Ue=xs(pe|n|ot|u|0,Ue|I|0,7)|0;u=Cs(s[e+32>>0]|0|0,0,8)|0;ot=I;n=Cs(s[e+33>>0]|0|0,0,16)|0;ot=ot|I;pe=s[e+34>>0]|0;g=Cs(pe|0,0,24)|0;ot=xs(u|ne|n|g|0,ot|I|0,4)|0;g=r[e+36>>0]|0;n=Cs(s[e+35>>0]|0|0,0,8)|0;ne=I;g=g&255;u=Cs(g|0,0,16)|0;ne=xs(n|pe|u|0,ne|I|0,1)|0;u=Cs(s[e+37>>0]|0|0,0,8)|0;pe=I;n=Cs(s[e+38>>0]|0|0,0,16)|0;pe=pe|I;Fe=s[e+39>>0]|0;ee=Cs(Fe|0,0,24)|0;pe=xs(u|g|n|ee|0,pe|I|0,6)|0;ee=r[e+41>>0]|0;n=Cs(s[e+40>>0]|0|0,0,8)|0;g=I;ee=Cs(ee&255|0,0,16)|0;g=xs(n|Fe|ee|0,g|I|0,3)|0;ee=I;Fe=r[e+44>>0]|0;n=s[e+42>>0]|0;u=Cs(s[e+43>>0]|0|0,0,8)|0;j=I;Fe=Fe&255;y=Cs(Fe|0,0,16)|0;S=Cs(s[e+45>>0]|0|0,0,8)|0;oe=I;Ce=Cs(s[e+46>>0]|0|0,0,16)|0;oe=oe|I;st=s[e+47>>0]|0;U=Cs(st|0,0,24)|0;oe=xs(S|Fe|Ce|U|0,oe|I|0,5)|0;U=r[e+49>>0]|0;Ce=Cs(s[e+48>>0]|0|0,0,8)|0;Fe=I;U=U&255;S=Cs(U|0,0,16)|0;Fe=xs(Ce|st|S|0,Fe|I|0,2)|0;Fe=Fe&2097151;S=Cs(s[e+50>>0]|0|0,0,8)|0;st=I;Ce=Cs(s[e+51>>0]|0|0,0,16)|0;st=st|I;ue=s[e+52>>0]|0;L=Cs(ue|0,0,24)|0;st=xs(S|U|Ce|L|0,st|I|0,7)|0;st=st&2097151;L=Cs(s[e+53>>0]|0|0,0,8)|0;Ce=I;U=Cs(s[e+54>>0]|0|0,0,16)|0;Ce=Ce|I;S=s[e+55>>0]|0;W=Cs(S|0,0,24)|0;Ce=xs(L|ue|U|W|0,Ce|I|0,4)|0;Ce=Ce&2097151;W=r[e+57>>0]|0;U=Cs(s[e+56>>0]|0|0,0,8)|0;ue=I;W=W&255;L=Cs(W|0,0,16)|0;ue=xs(U|S|L|0,ue|I|0,1)|0;ue=ue&2097151;L=Cs(s[e+58>>0]|0|0,0,8)|0;S=I;U=Cs(s[e+59>>0]|0|0,0,16)|0;S=S|I;he=s[e+60>>0]|0;ge=Cs(he|0,0,24)|0;S=xs(L|W|U|ge|0,S|I|0,6)|0;S=S&2097151;ge=Cs(s[e+61>>0]|0|0,0,8)|0;U=I;W=Cs(s[e+62>>0]|0|0,0,16)|0;U=U|I;L=Cs(s[e+63>>0]|0|0,0,24)|0;U=xs(ge|he|W|L|0,U|I|0,3)|0;L=I;W=Es(U|0,L|0,666643,0)|0;he=I;ge=Es(U|0,L|0,470296,0)|0;ae=I;v=Es(U|0,L|0,654183,0)|0;C=I;Ae=Es(U|0,L|0,-997805,-1)|0;Ie=I;d=Es(U|0,L|0,136657,0)|0;Se=I;L=Es(U|0,L|0,-683901,-1)|0;j=ks(L|0,I|0,u|n|y&2031616|0,j|0)|0;y=I;n=Es(S|0,0,666643,0)|0;u=I;L=Es(S|0,0,470296,0)|0;U=I;Ye=Es(S|0,0,654183,0)|0;M=I;Y=Es(S|0,0,-997805,-1)|0;z=I;ke=Es(S|0,0,136657,0)|0;me=I;S=Es(S|0,0,-683901,-1)|0;G=I;Oe=Es(ue|0,0,666643,0)|0;Ee=I;se=Es(ue|0,0,470296,0)|0;Le=I;Me=Es(ue|0,0,654183,0)|0;Pe=I;nt=Es(ue|0,0,-997805,-1)|0;We=I;l=Es(ue|0,0,136657,0)|0;m=I;ue=Es(ue|0,0,-683901,-1)|0;pe=ks(ue|0,I|0,pe&2097151|0,0)|0;me=ks(pe|0,I|0,ke|0,me|0)|0;Ie=ks(me|0,I|0,Ae|0,Ie|0)|0;Ae=I;me=Es(Ce|0,0,666643,0)|0;ke=I;pe=Es(Ce|0,0,470296,0)|0;ue=I;be=Es(Ce|0,0,654183,0)|0;X=I;Be=Es(Ce|0,0,-997805,-1)|0;De=I;it=Es(Ce|0,0,136657,0)|0;rt=I;Ce=Es(Ce|0,0,-683901,-1)|0;xe=I;i=Es(st|0,0,666643,0)|0;T=I;Ge=Es(st|0,0,470296,0)|0;He=I;Ke=Es(st|0,0,654183,0)|0;qe=I;Xe=Es(st|0,0,-997805,-1)|0;le=I;je=Es(st|0,0,136657,0)|0;Ne=I;st=Es(st|0,0,-683901,-1)|0;ot=ks(st|0,I|0,ot&2097151|0,0)|0;rt=ks(ot|0,I|0,it|0,rt|0)|0;We=ks(rt|0,I|0,nt|0,We|0)|0;M=ks(We|0,I|0,Ye|0,M|0)|0;ae=ks(M|0,I|0,ge|0,ae|0)|0;ge=I;M=Es(Fe|0,0,666643,0)|0;Te=ks(M|0,I|0,Te&2097151|0,0)|0;M=I;Ye=Es(Fe|0,0,470296,0)|0;We=I;nt=Es(Fe|0,0,654183,0)|0;Ze=ks(nt|0,I|0,tt|et|$e&2031616|0,Ze|0)|0;He=ks(Ze|0,I|0,Ge|0,He|0)|0;ke=ks(He|0,I|0,me|0,ke|0)|0;me=I;He=Es(Fe|0,0,-997805,-1)|0;Ge=I;Ze=Es(Fe|0,0,136657,0)|0;Je=ks(Ze|0,I|0,Je&2097151|0,0)|0;le=ks(Je|0,I|0,Xe|0,le|0)|0;X=ks(le|0,I|0,be|0,X|0)|0;Le=ks(X|0,I|0,se|0,Le|0)|0;u=ks(Le|0,I|0,n|0,u|0)|0;n=I;Fe=Es(Fe|0,0,-683901,-1)|0;Le=I;se=ks(Te|0,M|0,1048576,0)|0;X=I;be=xs(se|0,X|0,21)|0;le=I;Ve=ks(Ye|0,We|0,Qe|0,Ve|0)|0;le=ks(Ve|0,I|0,be|0,le|0)|0;T=ks(le|0,I|0,i|0,T|0)|0;i=I;X=Ss(Te|0,M|0,se&-2097152|0,X&2047|0)|0;se=I;M=ks(ke|0,me|0,1048576,0)|0;Te=I;le=xs(M|0,Te|0,21)|0;be=I;ze=ks(He|0,Ge|0,ze&2097151|0,0)|0;qe=ks(ze|0,I|0,Ke|0,qe|0)|0;ue=ks(qe|0,I|0,pe|0,ue|0)|0;Ee=ks(ue|0,I|0,Oe|0,Ee|0)|0;be=ks(Ee|0,I|0,le|0,be|0)|0;le=I;Ee=ks(u|0,n|0,1048576,0)|0;Oe=I;ue=Os(Ee|0,Oe|0,21)|0;pe=I;Ue=ks(Fe|0,Le|0,Ue&2097151|0,0)|0;Ne=ks(Ue|0,I|0,je|0,Ne|0)|0;De=ks(Ne|0,I|0,Be|0,De|0)|0;Pe=ks(De|0,I|0,Me|0,Pe|0)|0;U=ks(Pe|0,I|0,L|0,U|0)|0;he=ks(U|0,I|0,W|0,he|0)|0;pe=ks(he|0,I|0,ue|0,pe|0)|0;ue=I;he=ks(ae|0,ge|0,1048576,0)|0;W=I;U=Os(he|0,W|0,21)|0;L=I;ne=ks(Ce|0,xe|0,ne&2097151|0,0)|0;m=ks(ne|0,I|0,l|0,m|0)|0;z=ks(m|0,I|0,Y|0,z|0)|0;C=ks(z|0,I|0,v|0,C|0)|0;L=ks(C|0,I|0,U|0,L|0)|0;U=I;W=Ss(ae|0,ge|0,he&-2097152|0,W|0)|0;he=I;ge=ks(Ie|0,Ae|0,1048576,0)|0;ae=I;C=Os(ge|0,ae|0,21)|0;v=I;ee=ks(S|0,G|0,g|0,ee|0)|0;Se=ks(ee|0,I|0,d|0,Se|0)|0;v=ks(Se|0,I|0,C|0,v|0)|0;C=I;ae=Ss(Ie|0,Ae|0,ge&-2097152|0,ae|0)|0;ge=I;Ae=ks(j|0,y|0,1048576,0)|0;Ie=I;Se=Os(Ae|0,Ie|0,21)|0;oe=ks(Se|0,I|0,oe&2097151|0,0)|0;Se=I;Ie=Ss(j|0,y|0,Ae&-2097152|0,Ie|0)|0;Ae=I;y=ks(T|0,i|0,1048576,0)|0;j=I;d=xs(y|0,j|0,21)|0;ee=I;j=Ss(T|0,i|0,y&-2097152|0,j|0)|0;y=I;i=ks(be|0,le|0,1048576,0)|0;T=I;g=Os(i|0,T|0,21)|0;G=I;T=Ss(be|0,le|0,i&-2097152|0,T|0)|0;i=I;le=ks(pe|0,ue|0,1048576,0)|0;be=I;S=Os(le|0,be|0,21)|0;he=ks(S|0,I|0,W|0,he|0)|0;W=I;be=Ss(pe|0,ue|0,le&-2097152|0,be|0)|0;le=I;ue=ks(L|0,U|0,1048576,0)|0;pe=I;S=Os(ue|0,pe|0,21)|0;ge=ks(S|0,I|0,ae|0,ge|0)|0;ae=I;pe=Ss(L|0,U|0,ue&-2097152|0,pe|0)|0;ue=I;U=ks(v|0,C|0,1048576,0)|0;L=I;S=Os(U|0,L|0,21)|0;Ae=ks(S|0,I|0,Ie|0,Ae|0)|0;Ie=I;L=Ss(v|0,C|0,U&-2097152|0,L|0)|0;U=I;C=Es(oe|0,Se|0,666643,0)|0;ye=ks(C|0,I|0,ye&2097151|0,0)|0;C=I;v=Es(oe|0,Se|0,470296,0)|0;v=ks(X|0,se|0,v|0,I|0)|0;se=I;X=Es(oe|0,Se|0,654183,0)|0;X=ks(j|0,y|0,X|0,I|0)|0;y=I;j=Es(oe|0,Se|0,-997805,-1)|0;S=I;z=Es(oe|0,Se|0,136657,0)|0;z=ks(T|0,i|0,z|0,I|0)|0;i=I;Se=Es(oe|0,Se|0,-683901,-1)|0;oe=I;G=ks(u|0,n|0,g|0,G|0)|0;Oe=Ss(G|0,I|0,Ee&-2097152|0,Oe|0)|0;oe=ks(Oe|0,I|0,Se|0,oe|0)|0;Se=I;Oe=Es(Ae|0,Ie|0,666643,0)|0;K=ks(Oe|0,I|0,K&2097151|0,0)|0;Oe=I;Ee=Es(Ae|0,Ie|0,470296,0)|0;Ee=ks(ye|0,C|0,Ee|0,I|0)|0;C=I;ye=Es(Ae|0,Ie|0,654183,0)|0;ye=ks(v|0,se|0,ye|0,I|0)|0;se=I;v=Es(Ae|0,Ie|0,-997805,-1)|0;v=ks(X|0,y|0,v|0,I|0)|0;y=I;X=Es(Ae|0,Ie|0,136657,0)|0;G=I;Ie=Es(Ae|0,Ie|0,-683901,-1)|0;Ie=ks(z|0,i|0,Ie|0,I|0)|0;i=I;z=Es(L|0,U|0,666643,0)|0;A=ks(z|0,I|0,A&2097151|0,0)|0;z=I;Ae=Es(L|0,U|0,470296,0)|0;Ae=ks(K|0,Oe|0,Ae|0,I|0)|0;Oe=I;K=Es(L|0,U|0,654183,0)|0;K=ks(Ee|0,C|0,K|0,I|0)|0;C=I;Ee=Es(L|0,U|0,-997805,-1)|0;Ee=ks(ye|0,se|0,Ee|0,I|0)|0;se=I;ye=Es(L|0,U|0,136657,0)|0;ye=ks(v|0,y|0,ye|0,I|0)|0;y=I;U=Es(L|0,U|0,-683901,-1)|0;L=I;ee=ks(ke|0,me|0,d|0,ee|0)|0;Te=Ss(ee|0,I|0,M&-2097152|0,Te|0)|0;S=ks(Te|0,I|0,j|0,S|0)|0;G=ks(S|0,I|0,X|0,G|0)|0;L=ks(G|0,I|0,U|0,L|0)|0;U=I;G=Es(ge|0,ae|0,666643,0)|0;X=I;S=Es(ge|0,ae|0,470296,0)|0;j=I;Te=Es(ge|0,ae|0,654183,0)|0;M=I;ee=Es(ge|0,ae|0,-997805,-1)|0;d=I;me=Es(ge|0,ae|0,136657,0)|0;me=ks(Ee|0,se|0,me|0,I|0)|0;se=I;ae=Es(ge|0,ae|0,-683901,-1)|0;ae=ks(ye|0,y|0,ae|0,I|0)|0;y=I;ye=Es(pe|0,ue|0,666643,0)|0;ge=I;Ee=Es(pe|0,ue|0,470296,0)|0;ke=I;v=Es(pe|0,ue|0,654183,0)|0;g=I;n=Es(pe|0,ue|0,-997805,-1)|0;u=I;T=Es(pe|0,ue|0,136657,0)|0;Y=I;ue=Es(pe|0,ue|0,-683901,-1)|0;ue=ks(me|0,se|0,ue|0,I|0)|0;se=I;me=Es(he|0,W|0,666643,0)|0;_e=ks(me|0,I|0,P|we|ve&2031616|0,_e|0)|0;ve=I;we=Es(he|0,W|0,470296,0)|0;P=I;me=Es(he|0,W|0,654183,0)|0;Re=ks(me|0,I|0,Re&2097151|0,0)|0;X=ks(Re|0,I|0,G|0,X|0)|0;ke=ks(X|0,I|0,Ee|0,ke|0)|0;Ee=I;X=Es(he|0,W|0,-997805,-1)|0;G=I;Re=Es(he|0,W|0,136657,0)|0;Re=ks(Ae|0,Oe|0,Re|0,I|0)|0;M=ks(Re|0,I|0,Te|0,M|0)|0;u=ks(M|0,I|0,n|0,u|0)|0;n=I;W=Es(he|0,W|0,-683901,-1)|0;he=I;M=ks(_e|0,ve|0,1048576,0)|0;Te=I;Re=Os(M|0,Te|0,21)|0;Oe=I;te=ks(we|0,P|0,te&2097151|0,0)|0;ge=ks(te|0,I|0,ye|0,ge|0)|0;Oe=ks(ge|0,I|0,Re|0,Oe|0)|0;Re=I;Te=Ss(_e|0,ve|0,M&-2097152|0,Te|0)|0;M=I;ve=ks(ke|0,Ee|0,1048576,0)|0;_e=I;ge=Os(ve|0,_e|0,21)|0;ye=I;G=ks(A|0,z|0,X|0,G|0)|0;j=ks(G|0,I|0,S|0,j|0)|0;g=ks(j|0,I|0,v|0,g|0)|0;ye=ks(g|0,I|0,ge|0,ye|0)|0;ge=I;g=ks(u|0,n|0,1048576,0)|0;v=I;j=Os(g|0,v|0,21)|0;S=I;he=ks(K|0,C|0,W|0,he|0)|0;d=ks(he|0,I|0,ee|0,d|0)|0;Y=ks(d|0,I|0,T|0,Y|0)|0;S=ks(Y|0,I|0,j|0,S|0)|0;j=I;Y=ks(ue|0,se|0,1048576,0)|0;T=I;d=Os(Y|0,T|0,21)|0;d=ks(ae|0,y|0,d|0,I|0)|0;y=I;T=Ss(ue|0,se|0,Y&-2097152|0,T|0)|0;Y=I;se=ks(L|0,U|0,1048576,0)|0;ue=I;ae=Os(se|0,ue|0,21)|0;ae=ks(Ie|0,i|0,ae|0,I|0)|0;i=I;ue=Ss(L|0,U|0,se&-2097152|0,ue|0)|0;se=I;U=ks(oe|0,Se|0,1048576,0)|0;L=I;Ie=Os(U|0,L|0,21)|0;Ie=ks(be|0,le|0,Ie|0,I|0)|0;le=I;L=Ss(oe|0,Se|0,U&-2097152|0,L|0)|0;U=I;Se=ks(Oe|0,Re|0,1048576,0)|0;oe=I;be=Os(Se|0,oe|0,21)|0;ee=I;he=ks(ye|0,ge|0,1048576,0)|0;W=I;C=Os(he|0,W|0,21)|0;K=I;G=ks(S|0,j|0,1048576,0)|0;X=I;z=Os(G|0,X|0,21)|0;z=ks(T|0,Y|0,z|0,I|0)|0;Y=I;T=ks(d|0,y|0,1048576,0)|0;A=I;te=Os(T|0,A|0,21)|0;te=ks(ue|0,se|0,te|0,I|0)|0;se=I;A=Ss(d|0,y|0,T&-2097152|0,A|0)|0;T=I;y=ks(ae|0,i|0,1048576,0)|0;d=I;ue=Os(y|0,d|0,21)|0;ue=ks(L|0,U|0,ue|0,I|0)|0;U=I;d=Ss(ae|0,i|0,y&-2097152|0,d|0)|0;y=I;i=ks(Ie|0,le|0,1048576,0)|0;ae=I;L=Os(i|0,ae|0,21)|0;P=I;ae=Ss(Ie|0,le|0,i&-2097152|0,ae|0)|0;i=I;le=Es(L|0,P|0,666643,0)|0;le=ks(Te|0,M|0,le|0,I|0)|0;M=I;Te=Es(L|0,P|0,470296,0)|0;Ie=I;we=Es(L|0,P|0,654183,0)|0;Ae=I;me=Es(L|0,P|0,-997805,-1)|0;pe=I;m=Es(L|0,P|0,136657,0)|0;l=I;P=Es(L|0,P|0,-683901,-1)|0;L=I;M=Os(le|0,M|0,21)|0;ne=I;Ie=ks(Oe|0,Re|0,Te|0,Ie|0)|0;oe=Ss(Ie|0,I|0,Se&-2097152|0,oe|0)|0;ne=ks(oe|0,I|0,M|0,ne|0)|0;M=Os(ne|0,I|0,21)|0;oe=I;Ae=ks(ke|0,Ee|0,we|0,Ae|0)|0;_e=Ss(Ae|0,I|0,ve&-2097152|0,_e|0)|0;ee=ks(_e|0,I|0,be|0,ee|0)|0;oe=ks(ee|0,I|0,M|0,oe|0)|0;M=Os(oe|0,I|0,21)|0;ee=I;pe=ks(ye|0,ge|0,me|0,pe|0)|0;W=Ss(pe|0,I|0,he&-2097152|0,W|0)|0;ee=ks(W|0,I|0,M|0,ee|0)|0;M=Os(ee|0,I|0,21)|0;W=I;l=ks(u|0,n|0,m|0,l|0)|0;v=Ss(l|0,I|0,g&-2097152|0,v|0)|0;K=ks(v|0,I|0,C|0,K|0)|0;W=ks(K|0,I|0,M|0,W|0)|0;M=Os(W|0,I|0,21)|0;K=I;L=ks(S|0,j|0,P|0,L|0)|0;X=Ss(L|0,I|0,G&-2097152|0,X|0)|0;K=ks(X|0,I|0,M|0,K|0)|0;M=Os(K|0,I|0,21)|0;M=ks(z|0,Y|0,M|0,I|0)|0;Y=Os(M|0,I|0,21)|0;T=ks(Y|0,I|0,A|0,T|0)|0;A=Os(T|0,I|0,21)|0;A=ks(te|0,se|0,A|0,I|0)|0;se=Os(A|0,I|0,21)|0;y=ks(se|0,I|0,d|0,y|0)|0;d=Os(y|0,I|0,21)|0;d=ks(ue|0,U|0,d|0,I|0)|0;U=Os(d|0,I|0,21)|0;i=ks(U|0,I|0,ae|0,i|0)|0;ae=Os(i|0,I|0,21)|0;U=I;ue=Es(ae|0,U|0,666643,0)|0;le=ks(ue|0,I|0,le&2097151|0,0)|0;ue=I;se=Es(ae|0,U|0,470296,0)|0;ne=ks(se|0,I|0,ne&2097151|0,0)|0;se=I;te=Es(ae|0,U|0,654183,0)|0;oe=ks(te|0,I|0,oe&2097151|0,0)|0;te=I;Y=Es(ae|0,U|0,-997805,-1)|0;ee=ks(Y|0,I|0,ee&2097151|0,0)|0;Y=I;z=Es(ae|0,U|0,136657,0)|0;W=ks(z|0,I|0,W&2097151|0,0)|0;z=I;U=Es(ae|0,U|0,-683901,-1)|0;K=ks(U|0,I|0,K&2097151|0,0)|0;U=I;ae=Os(le|0,ue|0,21)|0;ae=ks(ne|0,se|0,ae|0,I|0)|0;se=I;ne=Os(ae|0,se|0,21)|0;ne=ks(oe|0,te|0,ne|0,I|0)|0;te=I;oe=ae&2097151;X=Os(ne|0,te|0,21)|0;X=ks(ee|0,Y|0,X|0,I|0)|0;Y=I;ee=ne&2097151;G=Os(X|0,Y|0,21)|0;G=ks(W|0,z|0,G|0,I|0)|0;z=I;W=X&2097151;L=Os(G|0,z|0,21)|0;L=ks(K|0,U|0,L|0,I|0)|0;U=I;K=G&2097151;P=Os(L|0,U|0,21)|0;M=ks(P|0,I|0,M&2097151|0,0)|0;P=I;j=L&2097151;S=Os(M|0,P|0,21)|0;T=ks(S|0,I|0,T&2097151|0,0)|0;S=I;C=M&2097151;v=Os(T|0,S|0,21)|0;A=ks(v|0,I|0,A&2097151|0,0)|0;v=I;g=Os(A|0,v|0,21)|0;y=ks(g|0,I|0,y&2097151|0,0)|0;g=I;l=Os(y|0,g|0,21)|0;d=ks(l|0,I|0,d&2097151|0,0)|0;l=I;m=y&2097151;n=Os(d|0,l|0,21)|0;i=ks(n|0,I|0,i&2097151|0,0)|0;n=I;u=d&2097151;r[e>>0]=le;e=xs(le|0,ue|0,8)|0;r[de>>0]=e;e=xs(le|0,ue|0,16)|0;ue=Cs(oe|0,0,5)|0;r[fe>>0]=ue|e&31;e=xs(ae|0,se|0,3)|0;r[ce>>0]=e;e=xs(ae|0,se|0,11)|0;r[ie>>0]=e;e=xs(oe|0,0,19)|0;oe=I;ie=Cs(ee|0,0,2)|0;r[re>>0]=ie|e;e=xs(ne|0,te|0,6)|0;r[$>>0]=e;e=xs(ee|0,0,14)|0;ee=I;$=Cs(W|0,0,7)|0;r[Z>>0]=$|e;e=xs(X|0,Y|0,1)|0;r[J>>0]=e;e=xs(X|0,Y|0,9)|0;r[Q>>0]=e;e=xs(W|0,0,17)|0;W=I;Q=Cs(K|0,0,4)|0;r[V>>0]=Q|e;e=xs(G|0,z|0,4)|0;r[H>>0]=e;e=xs(G|0,z|0,12)|0;r[q>>0]=e;e=xs(K|0,0,20)|0;K=I;q=Cs(j|0,0,1)|0;r[F>>0]=q|e;e=xs(L|0,U|0,7)|0;r[N>>0]=e;e=xs(j|0,0,15)|0;j=I;N=Cs(C|0,0,6)|0;r[B>>0]=N|e;e=xs(M|0,P|0,2)|0;r[D>>0]=e;e=xs(M|0,P|0,10)|0;r[x>>0]=e;e=xs(C|0,0,18)|0;C=I;x=Cs(T|0,S|0,3)|0;r[O>>0]=x|e;e=xs(T|0,S|0,5)|0;r[R>>0]=e;e=xs(T|0,S|0,13)|0;r[k>>0]=e;r[E>>0]=A;e=xs(A|0,v|0,8)|0;r[w>>0]=e;e=xs(A|0,v|0,16)|0;v=Cs(m|0,0,5)|0;r[_>>0]=v|e&31;e=xs(y|0,g|0,3)|0;r[b>>0]=e;e=xs(y|0,g|0,11)|0;r[p>>0]=e;e=xs(m|0,0,19)|0;m=I;p=Cs(u|0,0,2)|0;r[h>>0]=p|e;e=xs(d|0,l|0,6)|0;r[f>>0]=e;e=xs(u|0,0,14)|0;u=I;f=Cs(i|0,n|0,7)|0;r[c>>0]=f|e;e=xs(i|0,n|0,1)|0;r[a>>0]=e;e=xs(i|0,n|0,9)|0;r[o>>0]=e;e=Os(i|0,n|0,17)|0;r[t>>0]=e;return}function ti(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var o=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0,at=0,ct=0,ft=0,ut=0,lt=0,dt=0,ht=0,pt=0,mt=0,gt=0,yt=0,bt=0,_t=0,vt=0,At=0,wt=0,Et=0,kt=0,St=0,It=0,Tt=0,Rt=0,Ot=0,xt=0,Ct=0,Pt=0,Mt=0,Dt=0,Bt=0,Nt=0,jt=0,Ut=0,Lt=0,Ft=0,qt=0,Kt=0,zt=0,Gt=0,Ht=0,Vt=0,Qt=0,Wt=0,Yt=0,Xt=0,Jt=0,Zt=0,$t=0,en=0,tn=0,nn=0,rn=0,on=0,sn=0,an=0,cn=0,fn=0,un=0,ln=0,dn=0,hn=0,pn=0,mn=0,gn=0,yn=0,bn=0,_n=0,vn=0,An=0,wn=0;ot=r[t+2>>0]|0;pe=s[t>>0]|0;pt=Cs(s[t+1>>0]|0|0,0,8)|0;Ue=I;ot=ot&255;Le=Cs(ot|0,0,16)|0;Le=pt|pe|Le&2031616;pe=Cs(s[t+3>>0]|0|0,0,8)|0;pt=I;$e=Cs(s[t+4>>0]|0|0,0,16)|0;pt=pt|I;ht=s[t+5>>0]|0;L=Cs(ht|0,0,24)|0;pt=xs(pe|ot|$e|L|0,pt|I|0,5)|0;pt=pt&2097151;L=r[t+7>>0]|0;$e=Cs(s[t+6>>0]|0|0,0,8)|0;ot=I;L=L&255;pe=Cs(L|0,0,16)|0;ot=xs($e|ht|pe|0,ot|I|0,2)|0;ot=ot&2097151;pe=Cs(s[t+8>>0]|0|0,0,8)|0;ht=I;$e=Cs(s[t+9>>0]|0|0,0,16)|0;ht=ht|I;G=s[t+10>>0]|0;B=Cs(G|0,0,24)|0;ht=xs(pe|L|$e|B|0,ht|I|0,7)|0;ht=ht&2097151;B=Cs(s[t+11>>0]|0|0,0,8)|0;$e=I;L=Cs(s[t+12>>0]|0|0,0,16)|0;$e=$e|I;pe=s[t+13>>0]|0;m=Cs(pe|0,0,24)|0;$e=xs(B|G|L|m|0,$e|I|0,4)|0;$e=$e&2097151;m=r[t+15>>0]|0;L=Cs(s[t+14>>0]|0|0,0,8)|0;G=I;m=m&255;B=Cs(m|0,0,16)|0;G=xs(L|pe|B|0,G|I|0,1)|0;G=G&2097151;B=Cs(s[t+16>>0]|0|0,0,8)|0;pe=I;L=Cs(s[t+17>>0]|0|0,0,16)|0;pe=pe|I;N=s[t+18>>0]|0;l=Cs(N|0,0,24)|0;pe=xs(B|m|L|l|0,pe|I|0,6)|0;pe=pe&2097151;l=r[t+20>>0]|0;L=Cs(s[t+19>>0]|0|0,0,8)|0;m=I;l=Cs(l&255|0,0,16)|0;m=xs(L|N|l|0,m|I|0,3)|0;l=I;N=r[t+23>>0]|0;L=s[t+21>>0]|0;B=Cs(s[t+22>>0]|0|0,0,8)|0;z=I;N=N&255;x=Cs(N|0,0,16)|0;x=B|L|x&2031616;L=Cs(s[t+24>>0]|0|0,0,8)|0;B=I;Je=Cs(s[t+25>>0]|0|0,0,16)|0;B=B|I;ge=s[t+26>>0]|0;E=Cs(ge|0,0,24)|0;B=xs(L|N|Je|E|0,B|I|0,5)|0;B=B&2097151;E=r[t+28>>0]|0;Je=Cs(s[t+27>>0]|0|0,0,8)|0;N=I;E=E&255;L=Cs(E|0,0,16)|0;N=xs(Je|ge|L|0,N|I|0,2)|0;N=N&2097151;L=Cs(s[t+29>>0]|0|0,0,8)|0;ge=I;Je=Cs(s[t+30>>0]|0|0,0,16)|0;ge=ge|I;ye=Cs(s[t+31>>0]|0|0,0,24)|0;ge=xs(L|E|Je|ye|0,ge|I|0,7)|0;ye=I;Je=r[n+2>>0]|0;E=s[n>>0]|0;L=Cs(s[n+1>>0]|0|0,0,8)|0;Et=I;Je=Je&255;wt=Cs(Je|0,0,16)|0;wt=L|E|wt&2031616;E=Cs(s[n+3>>0]|0|0,0,8)|0;L=I;u=Cs(s[n+4>>0]|0|0,0,16)|0;L=L|I;b=s[n+5>>0]|0;bn=Cs(b|0,0,24)|0;L=xs(E|Je|u|bn|0,L|I|0,5)|0;L=L&2097151;bn=r[n+7>>0]|0;u=Cs(s[n+6>>0]|0|0,0,8)|0;Je=I;bn=bn&255;E=Cs(bn|0,0,16)|0;Je=xs(u|b|E|0,Je|I|0,2)|0;Je=Je&2097151;E=Cs(s[n+8>>0]|0|0,0,8)|0;b=I;u=Cs(s[n+9>>0]|0|0,0,16)|0;b=b|I;d=s[n+10>>0]|0;w=Cs(d|0,0,24)|0;b=xs(E|bn|u|w|0,b|I|0,7)|0;b=b&2097151;w=Cs(s[n+11>>0]|0|0,0,8)|0;u=I;bn=Cs(s[n+12>>0]|0|0,0,16)|0;u=u|I;E=s[n+13>>0]|0;wn=Cs(E|0,0,24)|0;u=xs(w|d|bn|wn|0,u|I|0,4)|0;u=u&2097151;wn=r[n+15>>0]|0;bn=Cs(s[n+14>>0]|0|0,0,8)|0;d=I;wn=wn&255;w=Cs(wn|0,0,16)|0;d=xs(bn|E|w|0,d|I|0,1)|0;d=d&2097151;w=Cs(s[n+16>>0]|0|0,0,8)|0;E=I;bn=Cs(s[n+17>>0]|0|0,0,16)|0;E=E|I;vt=s[n+18>>0]|0;Z=Cs(vt|0,0,24)|0;E=xs(w|wn|bn|Z|0,E|I|0,6)|0;E=E&2097151;Z=r[n+20>>0]|0;bn=Cs(s[n+19>>0]|0|0,0,8)|0;wn=I;Z=Cs(Z&255|0,0,16)|0;wn=xs(bn|vt|Z|0,wn|I|0,3)|0;Z=I;vt=r[n+23>>0]|0;bn=s[n+21>>0]|0;w=Cs(s[n+22>>0]|0|0,0,8)|0;ke=I;vt=vt&255;Se=Cs(vt|0,0,16)|0;Se=w|bn|Se&2031616;bn=Cs(s[n+24>>0]|0|0,0,8)|0;w=I;Me=Cs(s[n+25>>0]|0|0,0,16)|0;w=w|I;Q=s[n+26>>0]|0;_n=Cs(Q|0,0,24)|0;w=xs(bn|vt|Me|_n|0,w|I|0,5)|0;w=w&2097151;_n=r[n+28>>0]|0;Me=Cs(s[n+27>>0]|0|0,0,8)|0;vt=I;_n=_n&255;bn=Cs(_n|0,0,16)|0;vt=xs(Me|Q|bn|0,vt|I|0,2)|0;vt=vt&2097151;bn=Cs(s[n+29>>0]|0|0,0,8)|0;Q=I;Me=Cs(s[n+30>>0]|0|0,0,16)|0;Q=Q|I;V=Cs(s[n+31>>0]|0|0,0,24)|0;Q=xs(bn|_n|Me|V|0,Q|I|0,7)|0;V=I;Me=r[i+2>>0]|0;_n=s[i>>0]|0;bn=Cs(s[i+1>>0]|0|0,0,8)|0;Oe=I;Me=Me&255;vn=Cs(Me|0,0,16)|0;Ge=Cs(s[i+3>>0]|0|0,0,8)|0;_e=I;Te=Cs(s[i+4>>0]|0|0,0,16)|0;_e=_e|I;Ee=s[i+5>>0]|0;g=Cs(Ee|0,0,24)|0;_e=xs(Ge|Me|Te|g|0,_e|I|0,5)|0;g=r[i+7>>0]|0;Te=Cs(s[i+6>>0]|0|0,0,8)|0;Me=I;g=g&255;Ge=Cs(g|0,0,16)|0;Me=xs(Te|Ee|Ge|0,Me|I|0,2)|0;Ge=Cs(s[i+8>>0]|0|0,0,8)|0;Ee=I;Te=Cs(s[i+9>>0]|0|0,0,16)|0;Ee=Ee|I;De=s[i+10>>0]|0;ve=Cs(De|0,0,24)|0;Ee=xs(Ge|g|Te|ve|0,Ee|I|0,7)|0;ve=Cs(s[i+11>>0]|0|0,0,8)|0;Te=I;g=Cs(s[i+12>>0]|0|0,0,16)|0;Te=Te|I;Ge=s[i+13>>0]|0;le=Cs(Ge|0,0,24)|0;Te=xs(ve|De|g|le|0,Te|I|0,4)|0;le=r[i+15>>0]|0;g=Cs(s[i+14>>0]|0|0,0,8)|0;De=I;le=le&255;ve=Cs(le|0,0,16)|0;De=xs(g|Ge|ve|0,De|I|0,1)|0;ve=Cs(s[i+16>>0]|0|0,0,8)|0;Ge=I;g=Cs(s[i+17>>0]|0|0,0,16)|0;Ge=Ge|I;te=s[i+18>>0]|0;ue=Cs(te|0,0,24)|0;Ge=xs(ve|le|g|ue|0,Ge|I|0,6)|0;ue=r[i+20>>0]|0;g=Cs(s[i+19>>0]|0|0,0,8)|0;le=I;ue=Cs(ue&255|0,0,16)|0;le=xs(g|te|ue|0,le|I|0,3)|0;ue=I;te=r[i+23>>0]|0;g=s[i+21>>0]|0;ve=Cs(s[i+22>>0]|0|0,0,8)|0;X=I;te=te&255;J=Cs(te|0,0,16)|0;O=Cs(s[i+24>>0]|0|0,0,8)|0;Ae=I;Re=Cs(s[i+25>>0]|0|0,0,16)|0;Ae=Ae|I;rt=s[i+26>>0]|0;j=Cs(rt|0,0,24)|0;Ae=xs(O|te|Re|j|0,Ae|I|0,5)|0;j=r[i+28>>0]|0;Re=Cs(s[i+27>>0]|0|0,0,8)|0;te=I;j=j&255;O=Cs(j|0,0,16)|0;te=xs(Re|rt|O|0,te|I|0,2)|0;O=Cs(s[i+29>>0]|0|0,0,8)|0;rt=I;Re=Cs(s[i+30>>0]|0|0,0,16)|0;rt=rt|I;ft=Cs(s[i+31>>0]|0|0,0,24)|0;rt=xs(O|j|Re|ft|0,rt|I|0,7)|0;ft=I;Re=Es(wt|0,Et|0,Le|0,Ue|0)|0;Re=ks(bn|_n|vn&2031616|0,Oe|0,Re|0,I|0)|0;Oe=I;vn=Es(L|0,0,Le|0,Ue|0)|0;_n=I;bn=Es(wt|0,Et|0,pt|0,0)|0;j=I;O=Es(Je|0,0,Le|0,Ue|0)|0;Pe=I;re=Es(L|0,0,pt|0,0)|0;hn=I;we=Es(wt|0,Et|0,ot|0,0)|0;we=ks(re|0,hn|0,we|0,I|0)|0;Pe=ks(we|0,I|0,O|0,Pe|0)|0;Me=ks(Pe|0,I|0,Me&2097151|0,0)|0;Pe=I;O=Es(b|0,0,Le|0,Ue|0)|0;we=I;hn=Es(Je|0,0,pt|0,0)|0;re=I;yn=Es(L|0,0,ot|0,0)|0;gn=I;mn=Es(wt|0,Et|0,ht|0,0)|0;pn=I;H=Es(u|0,0,Le|0,Ue|0)|0;Ie=I;rn=Es(b|0,0,pt|0,0)|0;Be=I;sn=Es(Je|0,0,ot|0,0)|0;R=I;an=Es(L|0,0,ht|0,0)|0;cn=I;on=Es(wt|0,Et|0,$e|0,0)|0;on=ks(an|0,cn|0,on|0,I|0)|0;R=ks(on|0,I|0,sn|0,R|0)|0;Be=ks(R|0,I|0,rn|0,Be|0)|0;Ie=ks(Be|0,I|0,H|0,Ie|0)|0;Te=ks(Ie|0,I|0,Te&2097151|0,0)|0;Ie=I;H=Es(d|0,0,Le|0,Ue|0)|0;Be=I;rn=Es(u|0,0,pt|0,0)|0;R=I;sn=Es(b|0,0,ot|0,0)|0;on=I;cn=Es(Je|0,0,ht|0,0)|0;an=I;dn=Es(L|0,0,$e|0,0)|0;ln=I;un=Es(wt|0,Et|0,G|0,0)|0;fn=I;T=Es(E|0,0,Le|0,Ue|0)|0;He=I;Gt=Es(d|0,0,pt|0,0)|0;o=I;Vt=Es(u|0,0,ot|0,0)|0;zt=I;Wt=Es(b|0,0,ht|0,0)|0;Ht=I;Xt=Es(Je|0,0,$e|0,0)|0;Qt=I;Jt=Es(L|0,0,G|0,0)|0;Zt=I;Yt=Es(wt|0,Et|0,pe|0,0)|0;Yt=ks(Jt|0,Zt|0,Yt|0,I|0)|0;Qt=ks(Yt|0,I|0,Xt|0,Qt|0)|0;Ht=ks(Qt|0,I|0,Wt|0,Ht|0)|0;zt=ks(Ht|0,I|0,Vt|0,zt|0)|0;o=ks(zt|0,I|0,Gt|0,o|0)|0;He=ks(o|0,I|0,T|0,He|0)|0;Ge=ks(He|0,I|0,Ge&2097151|0,0)|0;He=I;T=Es(wn|0,Z|0,Le|0,Ue|0)|0;o=I;Gt=Es(E|0,0,pt|0,0)|0;zt=I;Vt=Es(d|0,0,ot|0,0)|0;Ht=I;Wt=Es(u|0,0,ht|0,0)|0;Qt=I;Xt=Es(b|0,0,$e|0,0)|0;Yt=I;Zt=Es(Je|0,0,G|0,0)|0;Jt=I;nn=Es(L|0,0,pe|0,0)|0;tn=I;en=Es(wt|0,Et|0,m|0,l|0)|0;$t=I;ee=Es(Se|0,ke|0,Le|0,Ue|0)|0;It=I;Tt=Es(wn|0,Z|0,pt|0,0)|0;Rt=I;Ot=Es(E|0,0,ot|0,0)|0;xt=I;Ct=Es(d|0,0,ht|0,0)|0;Pt=I;Mt=Es(u|0,0,$e|0,0)|0;Dt=I;Bt=Es(b|0,0,G|0,0)|0;Nt=I;jt=Es(Je|0,0,pe|0,0)|0;Ut=I;Ft=Es(L|0,0,m|0,l|0)|0;qt=I;Kt=Es(wt|0,Et|0,x|0,z|0)|0;Kt=ks(Ft|0,qt|0,Kt|0,I|0)|0;Ut=ks(Kt|0,I|0,jt|0,Ut|0)|0;Nt=ks(Ut|0,I|0,Bt|0,Nt|0)|0;Dt=ks(Nt|0,I|0,Mt|0,Dt|0)|0;Pt=ks(Dt|0,I|0,Ct|0,Pt|0)|0;xt=ks(Pt|0,I|0,Ot|0,xt|0)|0;Rt=ks(xt|0,I|0,Tt|0,Rt|0)|0;It=ks(Rt|0,I|0,ee|0,It|0)|0;X=ks(It|0,I|0,ve|g|J&2031616|0,X|0)|0;J=I;g=Es(w|0,0,Le|0,Ue|0)|0;ve=I;It=Es(Se|0,ke|0,pt|0,0)|0;ee=I;Rt=Es(wn|0,Z|0,ot|0,0)|0;Tt=I;xt=Es(E|0,0,ht|0,0)|0;Ot=I;Pt=Es(d|0,0,$e|0,0)|0;Ct=I;Dt=Es(u|0,0,G|0,0)|0;Mt=I;Nt=Es(b|0,0,pe|0,0)|0;Bt=I;Ut=Es(Je|0,0,m|0,l|0)|0;jt=I;Kt=Es(L|0,0,x|0,z|0)|0;qt=I;Ft=Es(wt|0,Et|0,B|0,0)|0;Lt=I;et=Es(vt|0,0,Le|0,Ue|0)|0;ne=I;je=Es(w|0,0,pt|0,0)|0;tt=I;gt=Es(Se|0,ke|0,ot|0,0)|0;Ne=I;f=Es(wn|0,Z|0,ht|0,0)|0;yt=I;Ke=Es(E|0,0,$e|0,0)|0;v=I;st=Es(d|0,0,G|0,0)|0;ze=I;i=Es(u|0,0,pe|0,0)|0;at=I;We=Es(b|0,0,m|0,l|0)|0;t=I;he=Es(Je|0,0,x|0,z|0)|0;Ye=I;kt=Es(L|0,0,B|0,0)|0;St=I;be=Es(wt|0,Et|0,N|0,0)|0;be=ks(kt|0,St|0,be|0,I|0)|0;Ye=ks(be|0,I|0,he|0,Ye|0)|0;t=ks(Ye|0,I|0,We|0,t|0)|0;at=ks(t|0,I|0,i|0,at|0)|0;ze=ks(at|0,I|0,st|0,ze|0)|0;v=ks(ze|0,I|0,Ke|0,v|0)|0;yt=ks(v|0,I|0,f|0,yt|0)|0;Ne=ks(yt|0,I|0,gt|0,Ne|0)|0;tt=ks(Ne|0,I|0,je|0,tt|0)|0;ne=ks(tt|0,I|0,et|0,ne|0)|0;te=ks(ne|0,I|0,te&2097151|0,0)|0;ne=I;Ue=Es(Q|0,V|0,Le|0,Ue|0)|0;Le=I;et=Es(vt|0,0,pt|0,0)|0;tt=I;je=Es(w|0,0,ot|0,0)|0;Ne=I;gt=Es(Se|0,ke|0,ht|0,0)|0;yt=I;f=Es(wn|0,Z|0,$e|0,0)|0;v=I;Ke=Es(E|0,0,G|0,0)|0;ze=I;st=Es(d|0,0,pe|0,0)|0;at=I;i=Es(u|0,0,m|0,l|0)|0;t=I;We=Es(b|0,0,x|0,z|0)|0;Ye=I;he=Es(Je|0,0,B|0,0)|0;be=I;St=Es(L|0,0,N|0,0)|0;kt=I;Et=Es(wt|0,Et|0,ge|0,ye|0)|0;wt=I;pt=Es(Q|0,V|0,pt|0,0)|0;mt=I;P=Es(vt|0,0,ot|0,0)|0;it=I;fe=Es(w|0,0,ht|0,0)|0;n=I;bt=Es(Se|0,ke|0,$e|0,0)|0;Fe=I;k=Es(wn|0,Z|0,G|0,0)|0;_t=I;ie=Es(E|0,0,pe|0,0)|0;F=I;qe=Es(d|0,0,m|0,l|0)|0;oe=I;W=Es(u|0,0,x|0,z|0)|0;ce=I;U=Es(b|0,0,B|0,0)|0;Y=I;dt=Es(Je|0,0,N|0,0)|0;Xe=I;L=Es(L|0,0,ge|0,ye|0)|0;L=ks(dt|0,Xe|0,L|0,I|0)|0;Y=ks(L|0,I|0,U|0,Y|0)|0;ce=ks(Y|0,I|0,W|0,ce|0)|0;oe=ks(ce|0,I|0,qe|0,oe|0)|0;F=ks(oe|0,I|0,ie|0,F|0)|0;_t=ks(F|0,I|0,k|0,_t|0)|0;Fe=ks(_t|0,I|0,bt|0,Fe|0)|0;n=ks(Fe|0,I|0,fe|0,n|0)|0;it=ks(n|0,I|0,P|0,it|0)|0;mt=ks(it|0,I|0,pt|0,mt|0)|0;pt=I;ot=Es(Q|0,V|0,ot|0,0)|0;it=I;P=Es(vt|0,0,ht|0,0)|0;n=I;fe=Es(w|0,0,$e|0,0)|0;Fe=I;bt=Es(Se|0,ke|0,G|0,0)|0;_t=I;k=Es(wn|0,Z|0,pe|0,0)|0;F=I;ie=Es(E|0,0,m|0,l|0)|0;oe=I;qe=Es(d|0,0,x|0,z|0)|0;ce=I;W=Es(u|0,0,B|0,0)|0;Y=I;U=Es(b|0,0,N|0,0)|0;L=I;Je=Es(Je|0,0,ge|0,ye|0)|0;Xe=I;ht=Es(Q|0,V|0,ht|0,0)|0;dt=I;ut=Es(vt|0,0,$e|0,0)|0;Ze=I;K=Es(w|0,0,G|0,0)|0;lt=I;$=Es(Se|0,ke|0,pe|0,0)|0;q=I;ae=Es(wn|0,Z|0,m|0,l|0)|0;C=I;A=Es(E|0,0,x|0,z|0)|0;se=I;h=Es(d|0,0,B|0,0)|0;c=I;At=Es(u|0,0,N|0,0)|0;a=I;b=Es(b|0,0,ge|0,ye|0)|0;b=ks(At|0,a|0,b|0,I|0)|0;c=ks(b|0,I|0,h|0,c|0)|0;se=ks(c|0,I|0,A|0,se|0)|0;C=ks(se|0,I|0,ae|0,C|0)|0;q=ks(C|0,I|0,$|0,q|0)|0;lt=ks(q|0,I|0,K|0,lt|0)|0;Ze=ks(lt|0,I|0,ut|0,Ze|0)|0;dt=ks(Ze|0,I|0,ht|0,dt|0)|0;ht=I;$e=Es(Q|0,V|0,$e|0,0)|0;Ze=I;ut=Es(vt|0,0,G|0,0)|0;lt=I;K=Es(w|0,0,pe|0,0)|0;q=I;$=Es(Se|0,ke|0,m|0,l|0)|0;C=I;ae=Es(wn|0,Z|0,x|0,z|0)|0;se=I;A=Es(E|0,0,B|0,0)|0;c=I;h=Es(d|0,0,N|0,0)|0;b=I;u=Es(u|0,0,ge|0,ye|0)|0;a=I;G=Es(Q|0,V|0,G|0,0)|0;At=I;_=Es(vt|0,0,pe|0,0)|0;me=I;M=Es(w|0,0,m|0,l|0)|0;p=I;Qe=Es(Se|0,ke|0,x|0,z|0)|0;D=I;y=Es(wn|0,Z|0,B|0,0)|0;Ve=I;Ce=Es(E|0,0,N|0,0)|0;S=I;d=Es(d|0,0,ge|0,ye|0)|0;d=ks(Ce|0,S|0,d|0,I|0)|0;Ve=ks(d|0,I|0,y|0,Ve|0)|0;D=ks(Ve|0,I|0,Qe|0,D|0)|0;p=ks(D|0,I|0,M|0,p|0)|0;me=ks(p|0,I|0,_|0,me|0)|0;At=ks(me|0,I|0,G|0,At|0)|0;G=I;pe=Es(Q|0,V|0,pe|0,0)|0;me=I;_=Es(vt|0,0,m|0,l|0)|0;p=I;M=Es(w|0,0,x|0,z|0)|0;D=I;Qe=Es(Se|0,ke|0,B|0,0)|0;Ve=I;y=Es(wn|0,Z|0,N|0,0)|0;d=I;E=Es(E|0,0,ge|0,ye|0)|0;S=I;l=Es(Q|0,V|0,m|0,l|0)|0;m=I;Ce=Es(vt|0,0,x|0,z|0)|0;xe=I;ct=Es(w|0,0,B|0,0)|0;nt=I;de=Es(Se|0,ke|0,N|0,0)|0;An=I;Z=Es(wn|0,Z|0,ge|0,ye|0)|0;Z=ks(de|0,An|0,Z|0,I|0)|0;nt=ks(Z|0,I|0,ct|0,nt|0)|0;xe=ks(nt|0,I|0,Ce|0,xe|0)|0;m=ks(xe|0,I|0,l|0,m|0)|0;l=I;z=Es(Q|0,V|0,x|0,z|0)|0;x=I;xe=Es(vt|0,0,B|0,0)|0;Ce=I;nt=Es(w|0,0,N|0,0)|0;ct=I;ke=Es(Se|0,ke|0,ge|0,ye|0)|0;Se=I;B=Es(Q|0,V|0,B|0,0)|0;Z=I;An=Es(vt|0,0,N|0,0)|0;de=I;w=Es(w|0,0,ge|0,ye|0)|0;w=ks(An|0,de|0,w|0,I|0)|0;Z=ks(w|0,I|0,B|0,Z|0)|0;B=I;N=Es(Q|0,V|0,N|0,0)|0;w=I;vt=Es(vt|0,0,ge|0,ye|0)|0;vt=ks(N|0,w|0,vt|0,I|0)|0;w=I;ye=Es(Q|0,V|0,ge|0,ye|0)|0;ge=I;V=ks(Re|0,Oe|0,1048576,0)|0;Q=I;N=xs(V|0,Q|0,21)|0;de=I;j=ks(vn|0,_n|0,bn|0,j|0)|0;de=ks(j|0,I|0,N|0,de|0)|0;_e=ks(de|0,I|0,_e&2097151|0,0)|0;de=I;Q=Ss(Re|0,Oe|0,V&-2097152|0,Q&4095|0)|0;V=I;Oe=ks(Me|0,Pe|0,1048576,0)|0;Re=I;N=xs(Oe|0,Re|0,21)|0;j=I;pn=ks(yn|0,gn|0,mn|0,pn|0)|0;re=ks(pn|0,I|0,hn|0,re|0)|0;we=ks(re|0,I|0,O|0,we|0)|0;Ee=ks(we|0,I|0,Ee&2097151|0,0)|0;j=ks(Ee|0,I|0,N|0,j|0)|0;N=I;Ee=ks(Te|0,Ie|0,1048576,0)|0;we=I;O=Os(Ee|0,we|0,21)|0;re=I;fn=ks(dn|0,ln|0,un|0,fn|0)|0;an=ks(fn|0,I|0,cn|0,an|0)|0;on=ks(an|0,I|0,sn|0,on|0)|0;R=ks(on|0,I|0,rn|0,R|0)|0;Be=ks(R|0,I|0,H|0,Be|0)|0;De=ks(Be|0,I|0,De&2097151|0,0)|0;re=ks(De|0,I|0,O|0,re|0)|0;O=I;De=ks(Ge|0,He|0,1048576,0)|0;Be=I;H=Os(De|0,Be|0,21)|0;R=I;$t=ks(nn|0,tn|0,en|0,$t|0)|0;Jt=ks($t|0,I|0,Zt|0,Jt|0)|0;Yt=ks(Jt|0,I|0,Xt|0,Yt|0)|0;Qt=ks(Yt|0,I|0,Wt|0,Qt|0)|0;Ht=ks(Qt|0,I|0,Vt|0,Ht|0)|0;zt=ks(Ht|0,I|0,Gt|0,zt|0)|0;o=ks(zt|0,I|0,T|0,o|0)|0;ue=ks(o|0,I|0,le|0,ue|0)|0;R=ks(ue|0,I|0,H|0,R|0)|0;H=I;ue=ks(X|0,J|0,1048576,0)|0;le=I;o=Os(ue|0,le|0,21)|0;T=I;Lt=ks(Kt|0,qt|0,Ft|0,Lt|0)|0;jt=ks(Lt|0,I|0,Ut|0,jt|0)|0;Bt=ks(jt|0,I|0,Nt|0,Bt|0)|0;Mt=ks(Bt|0,I|0,Dt|0,Mt|0)|0;Ct=ks(Mt|0,I|0,Pt|0,Ct|0)|0;Ot=ks(Ct|0,I|0,xt|0,Ot|0)|0;Tt=ks(Ot|0,I|0,Rt|0,Tt|0)|0;ee=ks(Tt|0,I|0,It|0,ee|0)|0;ve=ks(ee|0,I|0,g|0,ve|0)|0;Ae=ks(ve|0,I|0,Ae&2097151|0,0)|0;T=ks(Ae|0,I|0,o|0,T|0)|0;o=I;Ae=ks(te|0,ne|0,1048576,0)|0;ve=I;g=Os(Ae|0,ve|0,21)|0;ee=I;wt=ks(St|0,kt|0,Et|0,wt|0)|0;be=ks(wt|0,I|0,he|0,be|0)|0;Ye=ks(be|0,I|0,We|0,Ye|0)|0;t=ks(Ye|0,I|0,i|0,t|0)|0;at=ks(t|0,I|0,st|0,at|0)|0;ze=ks(at|0,I|0,Ke|0,ze|0)|0;v=ks(ze|0,I|0,f|0,v|0)|0;yt=ks(v|0,I|0,gt|0,yt|0)|0;Ne=ks(yt|0,I|0,je|0,Ne|0)|0;tt=ks(Ne|0,I|0,et|0,tt|0)|0;Le=ks(tt|0,I|0,Ue|0,Le|0)|0;ft=ks(Le|0,I|0,rt|0,ft|0)|0;ee=ks(ft|0,I|0,g|0,ee|0)|0;g=I;ft=ks(mt|0,pt|0,1048576,0)|0;rt=I;Le=Os(ft|0,rt|0,21)|0;Ue=I;Xe=ks(U|0,L|0,Je|0,Xe|0)|0;Y=ks(Xe|0,I|0,W|0,Y|0)|0;ce=ks(Y|0,I|0,qe|0,ce|0)|0;oe=ks(ce|0,I|0,ie|0,oe|0)|0;F=ks(oe|0,I|0,k|0,F|0)|0;_t=ks(F|0,I|0,bt|0,_t|0)|0;Fe=ks(_t|0,I|0,fe|0,Fe|0)|0;n=ks(Fe|0,I|0,P|0,n|0)|0;it=ks(n|0,I|0,ot|0,it|0)|0;Ue=ks(it|0,I|0,Le|0,Ue|0)|0;Le=I;it=ks(dt|0,ht|0,1048576,0)|0;ot=I;n=Os(it|0,ot|0,21)|0;P=I;a=ks(h|0,b|0,u|0,a|0)|0;c=ks(a|0,I|0,A|0,c|0)|0;se=ks(c|0,I|0,ae|0,se|0)|0;C=ks(se|0,I|0,$|0,C|0)|0;q=ks(C|0,I|0,K|0,q|0)|0;lt=ks(q|0,I|0,ut|0,lt|0)|0;Ze=ks(lt|0,I|0,$e|0,Ze|0)|0;P=ks(Ze|0,I|0,n|0,P|0)|0;n=I;Ze=ks(At|0,G|0,1048576,0)|0;$e=I;lt=Os(Ze|0,$e|0,21)|0;ut=I;S=ks(y|0,d|0,E|0,S|0)|0;Ve=ks(S|0,I|0,Qe|0,Ve|0)|0;D=ks(Ve|0,I|0,M|0,D|0)|0;p=ks(D|0,I|0,_|0,p|0)|0;me=ks(p|0,I|0,pe|0,me|0)|0;ut=ks(me|0,I|0,lt|0,ut|0)|0;lt=I;me=ks(m|0,l|0,1048576,0)|0;pe=I;p=Os(me|0,pe|0,21)|0;_=I;Se=ks(nt|0,ct|0,ke|0,Se|0)|0;Ce=ks(Se|0,I|0,xe|0,Ce|0)|0;x=ks(Ce|0,I|0,z|0,x|0)|0;_=ks(x|0,I|0,p|0,_|0)|0;p=I;pe=Ss(m|0,l|0,me&-2097152|0,pe|0)|0;me=I;l=ks(Z|0,B|0,1048576,0)|0;m=I;x=xs(l|0,m|0,21)|0;x=ks(vt|0,w|0,x|0,I|0)|0;w=I;m=Ss(Z|0,B|0,l&-2097152|0,m&2147483647|0)|0;l=I;B=ks(ye|0,ge|0,1048576,0)|0;Z=I;vt=xs(B|0,Z|0,21)|0;z=I;Z=Ss(ye|0,ge|0,B&-2097152|0,Z&2147483647|0)|0;B=I;ge=ks(_e|0,de|0,1048576,0)|0;ye=I;Ce=xs(ge|0,ye|0,21)|0;xe=I;ye=Ss(_e|0,de|0,ge&-2097152|0,ye|0)|0;ge=I;de=ks(j|0,N|0,1048576,0)|0;_e=I;Se=Os(de|0,_e|0,21)|0;ke=I;_e=Ss(j|0,N|0,de&-2097152|0,_e|0)|0;de=I;N=ks(re|0,O|0,1048576,0)|0;j=I;ct=Os(N|0,j|0,21)|0;nt=I;D=ks(R|0,H|0,1048576,0)|0;M=I;Ve=Os(D|0,M|0,21)|0;Qe=I;S=ks(T|0,o|0,1048576,0)|0;E=I;d=Os(S|0,E|0,21)|0;y=I;q=ks(ee|0,g|0,1048576,0)|0;K=I;C=Os(q|0,K|0,21)|0;$=I;se=ks(Ue|0,Le|0,1048576,0)|0;ae=I;c=Os(se|0,ae|0,21)|0;A=I;a=ks(P|0,n|0,1048576,0)|0;u=I;b=Os(a|0,u|0,21)|0;h=I;Fe=ks(ut|0,lt|0,1048576,0)|0;fe=I;_t=Os(Fe|0,fe|0,21)|0;me=ks(_t|0,I|0,pe|0,me|0)|0;pe=I;fe=Ss(ut|0,lt|0,Fe&-2097152|0,fe|0)|0;Fe=I;lt=ks(_|0,p|0,1048576,0)|0;ut=I;_t=Os(lt|0,ut|0,21)|0;l=ks(_t|0,I|0,m|0,l|0)|0;m=I;ut=Ss(_|0,p|0,lt&-2097152|0,ut|0)|0;lt=I;p=ks(x|0,w|0,1048576,0)|0;_=I;_t=xs(p|0,_|0,21)|0;B=ks(_t|0,I|0,Z|0,B|0)|0;Z=I;_=Ss(x|0,w|0,p&-2097152|0,_&2147483647|0)|0;p=I;w=Es(vt|0,z|0,666643,0)|0;x=I;_t=Es(vt|0,z|0,470296,0)|0;bt=I;F=Es(vt|0,z|0,654183,0)|0;k=I;oe=Es(vt|0,z|0,-997805,-1)|0;ie=I;ce=Es(vt|0,z|0,136657,0)|0;qe=I;z=Es(vt|0,z|0,-683901,-1)|0;z=ks(At|0,G|0,z|0,I|0)|0;$e=Ss(z|0,I|0,Ze&-2097152|0,$e|0)|0;h=ks($e|0,I|0,b|0,h|0)|0;b=I;$e=Es(B|0,Z|0,666643,0)|0;Ze=I;z=Es(B|0,Z|0,470296,0)|0;G=I;At=Es(B|0,Z|0,654183,0)|0;vt=I;Y=Es(B|0,Z|0,-997805,-1)|0;W=I;Xe=Es(B|0,Z|0,136657,0)|0;Je=I;Z=Es(B|0,Z|0,-683901,-1)|0;B=I;L=Es(_|0,p|0,666643,0)|0;U=I;tt=Es(_|0,p|0,470296,0)|0;et=I;Ne=Es(_|0,p|0,654183,0)|0;je=I;yt=Es(_|0,p|0,-997805,-1)|0;gt=I;v=Es(_|0,p|0,136657,0)|0;f=I;p=Es(_|0,p|0,-683901,-1)|0;_=I;ie=ks(dt|0,ht|0,oe|0,ie|0)|0;Je=ks(ie|0,I|0,Xe|0,Je|0)|0;_=ks(Je|0,I|0,p|0,_|0)|0;ot=Ss(_|0,I|0,it&-2097152|0,ot|0)|0;A=ks(ot|0,I|0,c|0,A|0)|0;c=I;ot=Es(l|0,m|0,666643,0)|0;it=I;_=Es(l|0,m|0,470296,0)|0;p=I;Je=Es(l|0,m|0,654183,0)|0;Xe=I;ie=Es(l|0,m|0,-997805,-1)|0;oe=I;ht=Es(l|0,m|0,136657,0)|0;dt=I;m=Es(l|0,m|0,-683901,-1)|0;l=I;ze=Es(ut|0,lt|0,666643,0)|0;Ke=I;at=Es(ut|0,lt|0,470296,0)|0;st=I;t=Es(ut|0,lt|0,654183,0)|0;i=I;Ye=Es(ut|0,lt|0,-997805,-1)|0;We=I;be=Es(ut|0,lt|0,136657,0)|0;he=I;lt=Es(ut|0,lt|0,-683901,-1)|0;ut=I;bt=ks(At|0,vt|0,_t|0,bt|0)|0;gt=ks(bt|0,I|0,yt|0,gt|0)|0;pt=ks(gt|0,I|0,mt|0,pt|0)|0;dt=ks(pt|0,I|0,ht|0,dt|0)|0;ut=ks(dt|0,I|0,lt|0,ut|0)|0;rt=Ss(ut|0,I|0,ft&-2097152|0,rt|0)|0;$=ks(rt|0,I|0,C|0,$|0)|0;C=I;rt=Es(me|0,pe|0,666643,0)|0;rt=ks(ct|0,nt|0,rt|0,I|0)|0;He=ks(rt|0,I|0,Ge|0,He|0)|0;Be=Ss(He|0,I|0,De&-2097152|0,Be|0)|0;De=I;He=Es(me|0,pe|0,470296,0)|0;Ge=I;rt=Es(me|0,pe|0,654183,0)|0;nt=I;it=ks(at|0,st|0,ot|0,it|0)|0;nt=ks(it|0,I|0,rt|0,nt|0)|0;Qe=ks(nt|0,I|0,Ve|0,Qe|0)|0;J=ks(Qe|0,I|0,X|0,J|0)|0;le=Ss(J|0,I|0,ue&-2097152|0,le|0)|0;ue=I;J=Es(me|0,pe|0,-997805,-1)|0;X=I;Qe=Es(me|0,pe|0,136657,0)|0;Ve=I;Ze=ks(tt|0,et|0,$e|0,Ze|0)|0;Xe=ks(Ze|0,I|0,Je|0,Xe|0)|0;We=ks(Xe|0,I|0,Ye|0,We|0)|0;Ve=ks(We|0,I|0,Qe|0,Ve|0)|0;y=ks(Ve|0,I|0,d|0,y|0)|0;ne=ks(y|0,I|0,te|0,ne|0)|0;ve=Ss(ne|0,I|0,Ae&-2097152|0,ve|0)|0;Ae=I;pe=Es(me|0,pe|0,-683901,-1)|0;me=I;ne=ks(Be|0,De|0,1048576,0)|0;te=I;y=Os(ne|0,te|0,21)|0;d=I;Ke=ks(He|0,Ge|0,ze|0,Ke|0)|0;H=ks(Ke|0,I|0,R|0,H|0)|0;M=Ss(H|0,I|0,D&-2097152|0,M|0)|0;d=ks(M|0,I|0,y|0,d|0)|0;y=I;M=ks(le|0,ue|0,1048576,0)|0;D=I;H=Os(M|0,D|0,21)|0;R=I;U=ks(_|0,p|0,L|0,U|0)|0;i=ks(U|0,I|0,t|0,i|0)|0;X=ks(i|0,I|0,J|0,X|0)|0;o=ks(X|0,I|0,T|0,o|0)|0;E=Ss(o|0,I|0,S&-2097152|0,E|0)|0;R=ks(E|0,I|0,H|0,R|0)|0;H=I;E=ks(ve|0,Ae|0,1048576,0)|0;S=I;o=Os(E|0,S|0,21)|0;T=I;x=ks(z|0,G|0,w|0,x|0)|0;je=ks(x|0,I|0,Ne|0,je|0)|0;oe=ks(je|0,I|0,ie|0,oe|0)|0;he=ks(oe|0,I|0,be|0,he|0)|0;me=ks(he|0,I|0,pe|0,me|0)|0;g=ks(me|0,I|0,ee|0,g|0)|0;K=Ss(g|0,I|0,q&-2097152|0,K|0)|0;T=ks(K|0,I|0,o|0,T|0)|0;o=I;K=ks($|0,C|0,1048576,0)|0;q=I;g=Os(K|0,q|0,21)|0;ee=I;k=ks(Y|0,W|0,F|0,k|0)|0;f=ks(k|0,I|0,v|0,f|0)|0;l=ks(f|0,I|0,m|0,l|0)|0;Le=ks(l|0,I|0,Ue|0,Le|0)|0;ae=Ss(Le|0,I|0,se&-2097152|0,ae|0)|0;ee=ks(ae|0,I|0,g|0,ee|0)|0;g=I;q=Ss($|0,C|0,K&-2097152|0,q|0)|0;K=I;C=ks(A|0,c|0,1048576,0)|0;$=I;ae=Os(C|0,$|0,21)|0;se=I;qe=ks(Z|0,B|0,ce|0,qe|0)|0;n=ks(qe|0,I|0,P|0,n|0)|0;u=Ss(n|0,I|0,a&-2097152|0,u|0)|0;se=ks(u|0,I|0,ae|0,se|0)|0;ae=I;$=Ss(A|0,c|0,C&-2097152|0,$|0)|0;C=I;c=ks(h|0,b|0,1048576,0)|0;A=I;u=Os(c|0,A|0,21)|0;Fe=ks(u|0,I|0,fe|0,Fe|0)|0;fe=I;A=Ss(h|0,b|0,c&-2097152|0,A|0)|0;c=I;b=ks(d|0,y|0,1048576,0)|0;h=I;u=Os(b|0,h|0,21)|0;a=I;n=ks(R|0,H|0,1048576,0)|0;P=I;qe=Os(n|0,P|0,21)|0;ce=I;B=ks(T|0,o|0,1048576,0)|0;Z=I;Le=Os(B|0,Z|0,21)|0;K=ks(Le|0,I|0,q|0,K|0)|0;q=I;Z=Ss(T|0,o|0,B&-2097152|0,Z|0)|0;B=I;o=ks(ee|0,g|0,1048576,0)|0;T=I;Le=Os(o|0,T|0,21)|0;C=ks(Le|0,I|0,$|0,C|0)|0;$=I;T=Ss(ee|0,g|0,o&-2097152|0,T|0)|0;o=I;g=ks(se|0,ae|0,1048576,0)|0;ee=I;Le=Os(g|0,ee|0,21)|0;c=ks(Le|0,I|0,A|0,c|0)|0;A=I;ee=Ss(se|0,ae|0,g&-2097152|0,ee|0)|0;g=I;ae=Es(Fe|0,fe|0,666643,0)|0;se=I;Le=Es(Fe|0,fe|0,470296,0)|0;Ue=I;l=Es(Fe|0,fe|0,654183,0)|0;m=I;f=Es(Fe|0,fe|0,-997805,-1)|0;v=I;k=Es(Fe|0,fe|0,136657,0)|0;F=I;fe=Es(Fe|0,fe|0,-683901,-1)|0;fe=ks(qe|0,ce|0,fe|0,I|0)|0;Ae=ks(fe|0,I|0,ve|0,Ae|0)|0;S=Ss(Ae|0,I|0,E&-2097152|0,S|0)|0;E=I;Ae=Es(c|0,A|0,666643,0)|0;ve=I;fe=Es(c|0,A|0,470296,0)|0;ce=I;qe=Es(c|0,A|0,654183,0)|0;Fe=I;W=Es(c|0,A|0,-997805,-1)|0;Y=I;me=Es(c|0,A|0,136657,0)|0;pe=I;A=Es(c|0,A|0,-683901,-1)|0;c=I;he=Es(ee|0,g|0,666643,0)|0;he=ks(_e|0,de|0,he|0,I|0)|0;de=I;_e=Es(ee|0,g|0,470296,0)|0;be=I;oe=Es(ee|0,g|0,654183,0)|0;ie=I;je=Es(ee|0,g|0,-997805,-1)|0;Ne=I;x=Es(ee|0,g|0,136657,0)|0;w=I;g=Es(ee|0,g|0,-683901,-1)|0;ee=I;v=ks(me|0,pe|0,f|0,v|0)|0;ee=ks(v|0,I|0,g|0,ee|0)|0;a=ks(ee|0,I|0,u|0,a|0)|0;ue=ks(a|0,I|0,le|0,ue|0)|0;D=Ss(ue|0,I|0,M&-2097152|0,D|0)|0;M=I;ue=Es(C|0,$|0,666643,0)|0;le=I;a=Es(C|0,$|0,470296,0)|0;u=I;ee=Es(C|0,$|0,654183,0)|0;g=I;v=Es(C|0,$|0,-997805,-1)|0;f=I;pe=Es(C|0,$|0,136657,0)|0;me=I;$=Es(C|0,$|0,-683901,-1)|0;C=I;G=Es(T|0,o|0,666643,0)|0;z=I;X=Es(T|0,o|0,470296,0)|0;J=I;i=Es(T|0,o|0,654183,0)|0;t=I;U=Es(T|0,o|0,-997805,-1)|0;L=I;p=Es(T|0,o|0,136657,0)|0;_=I;o=Es(T|0,o|0,-683901,-1)|0;T=I;Ue=ks(qe|0,Fe|0,Le|0,Ue|0)|0;Ne=ks(Ue|0,I|0,je|0,Ne|0)|0;De=ks(Ne|0,I|0,Be|0,De|0)|0;te=Ss(De|0,I|0,ne&-2097152|0,te|0)|0;me=ks(te|0,I|0,pe|0,me|0)|0;T=ks(me|0,I|0,o|0,T|0)|0;o=I;me=Es(K|0,q|0,666643,0)|0;V=ks(me|0,I|0,Q|0,V|0)|0;Q=I;me=Es(K|0,q|0,470296,0)|0;pe=I;te=Es(K|0,q|0,654183,0)|0;ne=I;xe=ks(Me|0,Pe|0,Ce|0,xe|0)|0;Re=Ss(xe|0,I|0,Oe&-2097152|0,Re|0)|0;ne=ks(Re|0,I|0,te|0,ne|0)|0;le=ks(ne|0,I|0,ue|0,le|0)|0;J=ks(le|0,I|0,X|0,J|0)|0;X=I;le=Es(K|0,q|0,-997805,-1)|0;ue=I;ne=Es(K|0,q|0,136657,0)|0;te=I;ke=ks(Te|0,Ie|0,Se|0,ke|0)|0;we=Ss(ke|0,I|0,Ee&-2097152|0,we|0)|0;ve=ks(we|0,I|0,Ae|0,ve|0)|0;be=ks(ve|0,I|0,_e|0,be|0)|0;te=ks(be|0,I|0,ne|0,te|0)|0;g=ks(te|0,I|0,ee|0,g|0)|0;L=ks(g|0,I|0,U|0,L|0)|0;U=I;q=Es(K|0,q|0,-683901,-1)|0;K=I;g=ks(V|0,Q|0,1048576,0)|0;ee=I;te=Os(g|0,ee|0,21)|0;ne=I;pe=ks(ye|0,ge|0,me|0,pe|0)|0;z=ks(pe|0,I|0,G|0,z|0)|0;ne=ks(z|0,I|0,te|0,ne|0)|0;te=I;ee=Ss(V|0,Q|0,g&-2097152|0,ee|0)|0;g=I;Q=ks(J|0,X|0,1048576,0)|0;V=I;z=Os(Q|0,V|0,21)|0;G=I;ue=ks(he|0,de|0,le|0,ue|0)|0;u=ks(ue|0,I|0,a|0,u|0)|0;t=ks(u|0,I|0,i|0,t|0)|0;G=ks(t|0,I|0,z|0,G|0)|0;z=I;t=ks(L|0,U|0,1048576,0)|0;i=I;u=Os(t|0,i|0,21)|0;a=I;se=ks(fe|0,ce|0,ae|0,se|0)|0;ie=ks(se|0,I|0,oe|0,ie|0)|0;O=ks(ie|0,I|0,re|0,O|0)|0;j=Ss(O|0,I|0,N&-2097152|0,j|0)|0;K=ks(j|0,I|0,q|0,K|0)|0;f=ks(K|0,I|0,v|0,f|0)|0;_=ks(f|0,I|0,p|0,_|0)|0;a=ks(_|0,I|0,u|0,a|0)|0;u=I;_=ks(T|0,o|0,1048576,0)|0;p=I;f=Os(_|0,p|0,21)|0;v=I;m=ks(W|0,Y|0,l|0,m|0)|0;w=ks(m|0,I|0,x|0,w|0)|0;y=ks(w|0,I|0,d|0,y|0)|0;h=Ss(y|0,I|0,b&-2097152|0,h|0)|0;C=ks(h|0,I|0,$|0,C|0)|0;v=ks(C|0,I|0,f|0,v|0)|0;f=I;p=Ss(T|0,o|0,_&-2097152|0,p|0)|0;_=I;o=ks(D|0,M|0,1048576,0)|0;T=I;C=Os(o|0,T|0,21)|0;$=I;F=ks(A|0,c|0,k|0,F|0)|0;H=ks(F|0,I|0,R|0,H|0)|0;$=ks(H|0,I|0,C|0,$|0)|0;P=Ss($|0,I|0,n&-2097152|0,P|0)|0;n=I;T=Ss(D|0,M|0,o&-2097152|0,T|0)|0;o=I;M=ks(S|0,E|0,1048576,0)|0;D=I;$=Os(M|0,D|0,21)|0;$=ks(Z|0,B|0,$|0,I|0)|0;B=I;Z=ks(ne|0,te|0,1048576,0)|0;C=I;H=Os(Z|0,C|0,21)|0;R=I;F=ks(G|0,z|0,1048576,0)|0;k=I;c=Os(F|0,k|0,21)|0;A=I;h=ks(a|0,u|0,1048576,0)|0;b=I;y=Os(h|0,b|0,21)|0;y=ks(p|0,_|0,y|0,I|0)|0;_=I;p=ks(v|0,f|0,1048576,0)|0;d=I;w=Os(p|0,d|0,21)|0;w=ks(T|0,o|0,w|0,I|0)|0;o=I;d=Ss(v|0,f|0,p&-2097152|0,d|0)|0;p=I;f=ks(P|0,n|0,1048576,0)|0;v=I;T=Os(f|0,v|0,21)|0;x=I;v=Ss(P|0,n|0,f&-2097152|0,v|0)|0;f=I;n=ks($|0,B|0,1048576,0)|0;P=I;m=Os(n|0,P|0,21)|0;l=I;P=Ss($|0,B|0,n&-2097152|0,P|0)|0;n=I;B=Es(m|0,l|0,666643,0)|0;B=ks(ee|0,g|0,B|0,I|0)|0;g=I;ee=Es(m|0,l|0,470296,0)|0;$=I;Y=Es(m|0,l|0,654183,0)|0;W=I;K=Es(m|0,l|0,-997805,-1)|0;q=I;j=Es(m|0,l|0,136657,0)|0;N=I;l=Es(m|0,l|0,-683901,-1)|0;m=I;g=Os(B|0,g|0,21)|0;O=I;$=ks(ne|0,te|0,ee|0,$|0)|0;C=Ss($|0,I|0,Z&-2097152|0,C|0)|0;O=ks(C|0,I|0,g|0,O|0)|0;g=Os(O|0,I|0,21)|0;C=I;W=ks(J|0,X|0,Y|0,W|0)|0;V=Ss(W|0,I|0,Q&-2097152|0,V|0)|0;R=ks(V|0,I|0,H|0,R|0)|0;C=ks(R|0,I|0,g|0,C|0)|0;g=Os(C|0,I|0,21)|0;R=I;q=ks(G|0,z|0,K|0,q|0)|0;k=Ss(q|0,I|0,F&-2097152|0,k|0)|0;R=ks(k|0,I|0,g|0,R|0)|0;g=Os(R|0,I|0,21)|0;k=I;N=ks(L|0,U|0,j|0,N|0)|0;i=Ss(N|0,I|0,t&-2097152|0,i|0)|0;A=ks(i|0,I|0,c|0,A|0)|0;k=ks(A|0,I|0,g|0,k|0)|0;g=Os(k|0,I|0,21)|0;A=I;m=ks(a|0,u|0,l|0,m|0)|0;b=Ss(m|0,I|0,h&-2097152|0,b|0)|0;A=ks(b|0,I|0,g|0,A|0)|0;g=Os(A|0,I|0,21)|0;g=ks(y|0,_|0,g|0,I|0)|0;_=Os(g|0,I|0,21)|0;p=ks(_|0,I|0,d|0,p|0)|0;d=Os(p|0,I|0,21)|0;d=ks(w|0,o|0,d|0,I|0)|0;o=Os(d|0,I|0,21)|0;f=ks(o|0,I|0,v|0,f|0)|0;v=Os(f|0,I|0,21)|0;o=I;x=ks(S|0,E|0,T|0,x|0)|0;D=Ss(x|0,I|0,M&-2097152|0,D|0)|0;o=ks(D|0,I|0,v|0,o|0)|0;v=Os(o|0,I|0,21)|0;n=ks(v|0,I|0,P|0,n|0)|0;P=Os(n|0,I|0,21)|0;v=I;D=Es(P|0,v|0,666643,0)|0;B=ks(D|0,I|0,B&2097151|0,0)|0;D=I;M=Es(P|0,v|0,470296,0)|0;O=ks(M|0,I|0,O&2097151|0,0)|0;M=I;x=Es(P|0,v|0,654183,0)|0;C=ks(x|0,I|0,C&2097151|0,0)|0;x=I;T=Es(P|0,v|0,-997805,-1)|0;R=ks(T|0,I|0,R&2097151|0,0)|0;T=I;E=Es(P|0,v|0,136657,0)|0;k=ks(E|0,I|0,k&2097151|0,0)|0;E=I;v=Es(P|0,v|0,-683901,-1)|0;A=ks(v|0,I|0,A&2097151|0,0)|0;v=I;P=Os(B|0,D|0,21)|0;P=ks(O|0,M|0,P|0,I|0)|0;M=I;O=Os(P|0,M|0,21)|0;O=ks(C|0,x|0,O|0,I|0)|0;x=I;C=P&2097151;S=Os(O|0,x|0,21)|0;S=ks(R|0,T|0,S|0,I|0)|0;T=I;R=O&2097151;w=Os(S|0,T|0,21)|0;w=ks(k|0,E|0,w|0,I|0)|0;E=I;k=S&2097151;_=Os(w|0,E|0,21)|0;_=ks(A|0,v|0,_|0,I|0)|0;v=I;A=w&2097151;y=Os(_|0,v|0,21)|0;g=ks(y|0,I|0,g&2097151|0,0)|0;y=I;b=_&2097151;h=Os(g|0,y|0,21)|0;p=ks(h|0,I|0,p&2097151|0,0)|0;h=I;m=g&2097151;l=Os(p|0,h|0,21)|0;d=ks(l|0,I|0,d&2097151|0,0)|0;l=I;u=Os(d|0,l|0,21)|0;f=ks(u|0,I|0,f&2097151|0,0)|0;u=I;a=Os(f|0,u|0,21)|0;o=ks(a|0,I|0,o&2097151|0,0)|0;a=I;c=f&2097151;i=Os(o|0,a|0,21)|0;n=ks(i|0,I|0,n&2097151|0,0)|0;i=I;t=o&2097151;r[e>>0]=B;N=xs(B|0,D|0,8)|0;r[e+1>>0]=N;D=xs(B|0,D|0,16)|0;B=Cs(C|0,0,5)|0;r[e+2>>0]=B|D&31;D=xs(P|0,M|0,3)|0;r[e+3>>0]=D;M=xs(P|0,M|0,11)|0;r[e+4>>0]=M;C=xs(C|0,0,19)|0;M=I;P=Cs(R|0,0,2)|0;r[e+5>>0]=P|C;x=xs(O|0,x|0,6)|0;r[e+6>>0]=x;R=xs(R|0,0,14)|0;x=I;O=Cs(k|0,0,7)|0;r[e+7>>0]=O|R;R=xs(S|0,T|0,1)|0;r[e+8>>0]=R;T=xs(S|0,T|0,9)|0;r[e+9>>0]=T;k=xs(k|0,0,17)|0;T=I;S=Cs(A|0,0,4)|0;r[e+10>>0]=S|k;k=xs(w|0,E|0,4)|0;r[e+11>>0]=k;E=xs(w|0,E|0,12)|0;r[e+12>>0]=E;A=xs(A|0,0,20)|0;E=I;w=Cs(b|0,0,1)|0;r[e+13>>0]=w|A;v=xs(_|0,v|0,7)|0;r[e+14>>0]=v;b=xs(b|0,0,15)|0;v=I;_=Cs(m|0,0,6)|0;r[e+15>>0]=_|b;b=xs(g|0,y|0,2)|0;r[e+16>>0]=b;y=xs(g|0,y|0,10)|0;r[e+17>>0]=y;m=xs(m|0,0,18)|0;y=I;g=Cs(p|0,h|0,3)|0;r[e+18>>0]=g|m;m=xs(p|0,h|0,5)|0;r[e+19>>0]=m;h=xs(p|0,h|0,13)|0;r[e+20>>0]=h;r[e+21>>0]=d;h=xs(d|0,l|0,8)|0;r[e+22>>0]=h;l=xs(d|0,l|0,16)|0;d=Cs(c|0,0,5)|0;r[e+23>>0]=d|l&31;l=xs(f|0,u|0,3)|0;r[e+24>>0]=l;u=xs(f|0,u|0,11)|0;r[e+25>>0]=u;c=xs(c|0,0,19)|0;u=I;f=Cs(t|0,0,2)|0;r[e+26>>0]=f|c;a=xs(o|0,a|0,6)|0;r[e+27>>0]=a;t=xs(t|0,0,14)|0;a=I;o=Cs(n|0,i|0,7)|0;r[e+28>>0]=o|t;t=xs(n|0,i|0,1)|0;r[e+29>>0]=t;t=xs(n|0,i|0,9)|0;r[e+30>>0]=t;i=Os(n|0,i|0,17)|0;r[e+31>>0]=i;return}function ni(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;u=t+44|0;h=t+48|0;g=t+52|0;_=t+56|0;w=t+60|0;S=t+64|0;R=t+68|0;C=t+72|0;O=t+76|0;G=t+4|0;K=t+8|0;i=t+12|0;d=t+16|0;p=t+20|0;A=t+24|0;E=t+28|0;x=t+32|0;q=t+36|0;se=(o[G>>2]|0)+(o[u>>2]|0)|0;oe=(o[K>>2]|0)+(o[h>>2]|0)|0;ie=(o[i>>2]|0)+(o[g>>2]|0)|0;re=(o[d>>2]|0)+(o[_>>2]|0)|0;ne=(o[p>>2]|0)+(o[w>>2]|0)|0;te=(o[A>>2]|0)+(o[S>>2]|0)|0;ee=(o[E>>2]|0)+(o[R>>2]|0)|0;$=(o[x>>2]|0)+(o[C>>2]|0)|0;X=(o[q>>2]|0)+(o[O>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[u>>2]|0)-(o[G>>2]|0)|0;K=(o[h>>2]|0)-(o[K>>2]|0)|0;i=(o[g>>2]|0)-(o[i>>2]|0)|0;d=(o[_>>2]|0)-(o[d>>2]|0)|0;p=(o[w>>2]|0)-(o[p>>2]|0)|0;A=(o[S>>2]|0)-(o[A>>2]|0)|0;E=(o[R>>2]|0)-(o[E>>2]|0)|0;x=(o[C>>2]|0)-(o[x>>2]|0)|0;q=(o[O>>2]|0)-(o[q>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=K;K=e+52|0;o[K>>2]=i;i=e+56|0;o[i>>2]=d;d=e+60|0;o[d>>2]=p;p=e+64|0;o[p>>2]=A;A=e+68|0;o[A>>2]=E;E=e+72|0;o[E>>2]=x;x=e+76|0;o[x>>2]=q;q=e+80|0;Xr(q,e,n);Xr(X,X,n+40|0);O=e+120|0;Xr(O,n+120|0,t+120|0);Xr(e,t+80|0,n+80|0);C=o[e>>2]<<1;R=o[ae>>2]<<1;S=o[se>>2]<<1;w=o[oe>>2]<<1;_=o[ie>>2]<<1;g=o[re>>2]<<1;h=o[ne>>2]<<1;u=o[te>>2]<<1;a=o[ee>>2]<<1;r=o[$>>2]<<1;J=o[q>>2]|0;F=e+84|0;W=o[F>>2]|0;L=e+88|0;H=o[L>>2]|0;U=e+92|0;t=o[U>>2]|0;j=e+96|0;s=o[j>>2]|0;N=e+100|0;c=o[N>>2]|0;B=e+104|0;m=o[B>>2]|0;D=e+108|0;y=o[D>>2]|0;M=e+112|0;k=o[M>>2]|0;P=e+116|0;I=o[P>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[K>>2]|0;n=o[i>>2]|0;f=o[d>>2]|0;l=o[p>>2]|0;b=o[A>>2]|0;v=o[E>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=t-z;o[ie>>2]=s-n;o[re>>2]=c-f;o[ne>>2]=m-l;o[te>>2]=y-b;o[ee>>2]=k-v;o[$>>2]=I-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[K>>2]=z+t;o[i>>2]=n+s;o[d>>2]=f+c;o[p>>2]=l+m;o[A>>2]=b+y;o[E>>2]=v+k;o[x>>2]=T+I;x=o[O>>2]|0;I=e+124|0;T=o[I>>2]|0;E=e+128|0;k=o[E>>2]|0;v=e+132|0;A=o[v>>2]|0;y=e+136|0;b=o[y>>2]|0;p=e+140|0;m=o[p>>2]|0;l=e+144|0;d=o[l>>2]|0;c=e+148|0;f=o[c>>2]|0;i=e+152|0;s=o[i>>2]|0;n=e+156|0;t=o[n>>2]|0;o[q>>2]=x+C;o[F>>2]=T+R;o[L>>2]=k+S;o[U>>2]=A+w;o[j>>2]=b+_;o[N>>2]=m+g;o[B>>2]=d+h;o[D>>2]=f+u;o[M>>2]=s+a;o[P>>2]=t+r;o[O>>2]=C-x;o[I>>2]=R-T;o[E>>2]=S-k;o[v>>2]=w-A;o[y>>2]=_-b;o[p>>2]=g-m;o[l>>2]=h-d;o[c>>2]=u-f;o[i>>2]=a-s;o[n>>2]=r-t;return}function ri(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0;v=h;h=h+2400|0;d=v+2272|0;m=v+1536|0;g=v+1280|0;y=v;b=v+2112|0;_=v+1952|0;l=v+1792|0;ii(m,t);ii(g,i);oi(y,n);w=o[n+4>>2]|0;A=o[n+8>>2]|0;u=o[n+12>>2]|0;t=o[n+16>>2]|0;f=o[n+20>>2]|0;c=o[n+24>>2]|0;a=o[n+28>>2]|0;s=o[n+32>>2]|0;i=o[n+36>>2]|0;o[d>>2]=o[n>>2];o[d+4>>2]=w;o[d+8>>2]=A;o[d+12>>2]=u;o[d+16>>2]=t;o[d+20>>2]=f;o[d+24>>2]=c;o[d+28>>2]=a;o[d+32>>2]=s;o[d+36>>2]=i;i=o[n+44>>2]|0;s=o[n+48>>2]|0;a=o[n+52>>2]|0;c=o[n+56>>2]|0;f=o[n+60>>2]|0;t=o[n+64>>2]|0;u=o[n+68>>2]|0;A=o[n+72>>2]|0;w=o[n+76>>2]|0;o[d+40>>2]=o[n+40>>2];o[d+44>>2]=i;o[d+48>>2]=s;o[d+52>>2]=a;o[d+56>>2]=c;o[d+60>>2]=f;o[d+64>>2]=t;o[d+68>>2]=u;o[d+72>>2]=A;o[d+76>>2]=w;w=o[n+84>>2]|0;A=o[n+88>>2]|0;u=o[n+92>>2]|0;t=o[n+96>>2]|0;f=o[n+100>>2]|0;c=o[n+104>>2]|0;a=o[n+108>>2]|0;s=o[n+112>>2]|0;i=o[n+116>>2]|0;o[d+80>>2]=o[n+80>>2];o[d+84>>2]=w;o[d+88>>2]=A;o[d+92>>2]=u;o[d+96>>2]=t;o[d+100>>2]=f;o[d+104>>2]=c;o[d+108>>2]=a;o[d+112>>2]=s;o[d+116>>2]=i;si(b,d);d=b+120|0;Xr(l,b,d);i=b+40|0;s=b+80|0;Xr(l+40|0,i,s);Xr(l+80|0,s,d);Xr(l+120|0,b,i);ni(b,l,y);Xr(_,b,d);a=_+40|0;Xr(a,i,s);c=_+80|0;Xr(c,s,d);f=_+120|0;Xr(f,b,i);t=y+160|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+320|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+480|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+640|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+800|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+960|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);oi(y+1120|0,_);t=e;n=t+40|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));u=e+40|0;o[u>>2]=1;t=e+44|0;n=t+36|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));l=e+80|0;o[l>>2]=1;t=e+84|0;n=t+36|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));t=255;while(1){if(r[m+t>>0]|0)break;if(r[g+t>>0]|0)break;if(!t){p=16;break}else t=t+-1|0}if((p|0)==16){h=v;return}if((t|0)<=-1){h=v;return}while(1){si(b,e);n=r[m+t>>0]|0;if(n<<24>>24<=0){if(n<<24>>24<0){Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);ai(b,_,y+((((n<<24>>24)/-2|0)<<24>>24)*160|0)|0)}}else{Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);ni(b,_,y+(((n&255)>>>1&255)*160|0)|0)}n=r[g+t>>0]|0;if(n<<24>>24<=0){if(n<<24>>24<0){Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);fi(b,_,240+((((n<<24>>24)/-2|0)<<24>>24)*120|0)|0)}}else{Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);ci(b,_,240+(((n&255)>>>1&255)*120|0)|0)}Xr(e,b,d);Xr(u,i,s);Xr(l,s,d);if((t|0)>0)t=t+-1|0;else break}h=v;return}function ii(e,t){e=e|0;t=t|0;var n=0,i=0,o=0,a=0,c=0,f=0,u=0,l=0,d=0;n=0;do{r[e+n>>0]=(s[t+(n>>>3)>>0]|0)>>>(n&7)&1;n=n+1|0}while((n|0)!=256);u=0;do{f=e+u|0;n=r[f>>0]|0;c=u;u=u+1|0;e:do{if(n<<24>>24!=0&u>>>0<256){o=e+u|0;t=r[o>>0]|0;t:do{if(t<<24>>24){i=n<<24>>24;n=t<<24>>24<<1;t=n+i|0;if((t|0)<16){r[f>>0]=t;r[o>>0]=0;break}n=i-n|0;if((n|0)<=-16)break e;r[f>>0]=n;n=u;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+2|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<2;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+3|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<3;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+4|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<4;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+5|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<5;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+6|0;if(n>>>0<256?(l=e+n|0,d=r[l>>0]|0,d<<24>>24):0){t=r[f>>0]|0;i=d<<24>>24<<6;o=i+t|0;if((o|0)<16){r[f>>0]=o;r[l>>0]=0;break}t=t-i|0;if((t|0)>-16){r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break e}r[t>>0]=1}}}}}}}}while(0)}while((u|0)!=256);return}function oi(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0;d=t+40|0;A=t+44|0;v=t+48|0;_=t+52|0;b=t+56|0;y=t+60|0;g=t+64|0;m=t+68|0;p=t+72|0;h=t+76|0;n=t+4|0;r=t+8|0;i=t+12|0;s=t+16|0;a=t+20|0;c=t+24|0;f=t+28|0;u=t+32|0;l=t+36|0;x=(o[n>>2]|0)+(o[A>>2]|0)|0;O=(o[r>>2]|0)+(o[v>>2]|0)|0;R=(o[i>>2]|0)+(o[_>>2]|0)|0;T=(o[s>>2]|0)+(o[b>>2]|0)|0;I=(o[a>>2]|0)+(o[y>>2]|0)|0;S=(o[c>>2]|0)+(o[g>>2]|0)|0;k=(o[f>>2]|0)+(o[m>>2]|0)|0;E=(o[u>>2]|0)+(o[p>>2]|0)|0;w=(o[l>>2]|0)+(o[h>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[d>>2]|0);o[e+4>>2]=x;o[e+8>>2]=O;o[e+12>>2]=R;o[e+16>>2]=T;o[e+20>>2]=I;o[e+24>>2]=S;o[e+28>>2]=k;o[e+32>>2]=E;o[e+36>>2]=w;n=(o[A>>2]|0)-(o[n>>2]|0)|0;r=(o[v>>2]|0)-(o[r>>2]|0)|0;i=(o[_>>2]|0)-(o[i>>2]|0)|0;s=(o[b>>2]|0)-(o[s>>2]|0)|0;a=(o[y>>2]|0)-(o[a>>2]|0)|0;c=(o[g>>2]|0)-(o[c>>2]|0)|0;f=(o[m>>2]|0)-(o[f>>2]|0)|0;u=(o[p>>2]|0)-(o[u>>2]|0)|0;l=(o[h>>2]|0)-(o[l>>2]|0)|0;o[e+40>>2]=(o[d>>2]|0)-(o[t>>2]|0);o[e+44>>2]=n;o[e+48>>2]=r;o[e+52>>2]=i;o[e+56>>2]=s;o[e+60>>2]=a;o[e+64>>2]=c;o[e+68>>2]=f;o[e+72>>2]=u;o[e+76>>2]=l;l=o[t+84>>2]|0;u=o[t+88>>2]|0;f=o[t+92>>2]|0;c=o[t+96>>2]|0;a=o[t+100>>2]|0;s=o[t+104>>2]|0;i=o[t+108>>2]|0;r=o[t+112>>2]|0;n=o[t+116>>2]|0;o[e+80>>2]=o[t+80>>2];o[e+84>>2]=l;o[e+88>>2]=u;o[e+92>>2]=f;o[e+96>>2]=c;o[e+100>>2]=a;o[e+104>>2]=s;o[e+108>>2]=i;o[e+112>>2]=r;o[e+116>>2]=n;Xr(e+120|0,t+120|0,1200);return}function si(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0;n=h;h=h+48|0;D=n;Yr(e,t);G=e+80|0;fe=t+40|0;Yr(G,fe);A=e+120|0;$r(A,t+80|0);ue=e+40|0;ce=(o[t+44>>2]|0)+(o[t+4>>2]|0)|0;ae=(o[t+48>>2]|0)+(o[t+8>>2]|0)|0;se=(o[t+52>>2]|0)+(o[t+12>>2]|0)|0;oe=(o[t+56>>2]|0)+(o[t+16>>2]|0)|0;ie=(o[t+60>>2]|0)+(o[t+20>>2]|0)|0;re=(o[t+64>>2]|0)+(o[t+24>>2]|0)|0;ne=(o[t+68>>2]|0)+(o[t+28>>2]|0)|0;te=(o[t+72>>2]|0)+(o[t+32>>2]|0)|0;ee=(o[t+76>>2]|0)+(o[t+36>>2]|0)|0;o[ue>>2]=(o[fe>>2]|0)+(o[t>>2]|0);fe=e+44|0;o[fe>>2]=ce;ce=e+48|0;o[ce>>2]=ae;ae=e+52|0;o[ae>>2]=se;se=e+56|0;o[se>>2]=oe;oe=e+60|0;o[oe>>2]=ie;ie=e+64|0;o[ie>>2]=re;re=e+68|0;o[re>>2]=ne;ne=e+72|0;o[ne>>2]=te;te=e+76|0;o[te>>2]=ee;Yr(D,ue);ee=o[G>>2]|0;z=e+84|0;$=o[z>>2]|0;K=e+88|0;Z=o[K>>2]|0;q=e+92|0;J=o[q>>2]|0;F=e+96|0;X=o[F>>2]|0;L=e+100|0;Y=o[L>>2]|0;U=e+104|0;W=o[U>>2]|0;j=e+108|0;Q=o[j>>2]|0;N=e+112|0;V=o[N>>2]|0;B=e+116|0;H=o[B>>2]|0;w=o[e>>2]|0;C=e+4|0;v=o[C>>2]|0;O=e+8|0;b=o[O>>2]|0;T=e+12|0;g=o[T>>2]|0;S=e+16|0;p=o[S>>2]|0;t=e+20|0;l=o[t>>2]|0;s=e+24|0;f=o[s>>2]|0;u=e+28|0;a=o[u>>2]|0;m=e+32|0;i=o[m>>2]|0;_=e+36|0;E=o[_>>2]|0;M=w+ee|0;P=v+$|0;x=b+Z|0;R=g+J|0;I=p+X|0;k=l+Y|0;r=f+W|0;c=a+Q|0;d=i+V|0;y=E+H|0;o[ue>>2]=M;o[fe>>2]=P;o[ce>>2]=x;o[ae>>2]=R;o[se>>2]=I;o[oe>>2]=k;o[ie>>2]=r;o[re>>2]=c;o[ne>>2]=d;o[te>>2]=y;w=ee-w|0;v=$-v|0;b=Z-b|0;g=J-g|0;p=X-p|0;l=Y-l|0;f=W-f|0;a=Q-a|0;i=V-i|0;E=H-E|0;o[G>>2]=w;o[z>>2]=v;o[K>>2]=b;o[q>>2]=g;o[F>>2]=p;o[L>>2]=l;o[U>>2]=f;o[j>>2]=a;o[N>>2]=i;o[B>>2]=E;P=(o[D+4>>2]|0)-P|0;x=(o[D+8>>2]|0)-x|0;R=(o[D+12>>2]|0)-R|0;I=(o[D+16>>2]|0)-I|0;k=(o[D+20>>2]|0)-k|0;r=(o[D+24>>2]|0)-r|0;c=(o[D+28>>2]|0)-c|0;d=(o[D+32>>2]|0)-d|0;y=(o[D+36>>2]|0)-y|0;o[e>>2]=(o[D>>2]|0)-M;o[C>>2]=P;o[O>>2]=x;o[T>>2]=R;o[S>>2]=I;o[t>>2]=k;o[s>>2]=r;o[u>>2]=c;o[m>>2]=d;o[_>>2]=y;_=e+124|0;y=e+128|0;m=e+132|0;d=e+136|0;u=e+140|0;c=e+144|0;s=e+148|0;r=e+152|0;t=e+156|0;v=(o[_>>2]|0)-v|0;b=(o[y>>2]|0)-b|0;g=(o[m>>2]|0)-g|0;p=(o[d>>2]|0)-p|0;l=(o[u>>2]|0)-l|0;f=(o[c>>2]|0)-f|0;a=(o[s>>2]|0)-a|0;i=(o[r>>2]|0)-i|0;e=(o[t>>2]|0)-E|0;o[A>>2]=(o[A>>2]|0)-w;o[_>>2]=v;o[y>>2]=b;o[m>>2]=g;o[d>>2]=p;o[u>>2]=l;o[c>>2]=f;o[s>>2]=a;o[r>>2]=i;o[t>>2]=e;h=n;return}function ai(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;c=t+44|0;l=t+48|0;p=t+52|0;y=t+56|0;v=t+60|0;E=t+64|0;I=t+68|0;O=t+72|0;R=t+76|0;G=t+4|0;q=t+8|0;r=t+12|0;d=t+16|0;h=t+20|0;A=t+24|0;w=t+28|0;x=t+32|0;F=t+36|0;se=(o[G>>2]|0)+(o[c>>2]|0)|0;oe=(o[q>>2]|0)+(o[l>>2]|0)|0;ie=(o[r>>2]|0)+(o[p>>2]|0)|0;re=(o[d>>2]|0)+(o[y>>2]|0)|0;ne=(o[h>>2]|0)+(o[v>>2]|0)|0;te=(o[A>>2]|0)+(o[E>>2]|0)|0;ee=(o[w>>2]|0)+(o[I>>2]|0)|0;$=(o[x>>2]|0)+(o[O>>2]|0)|0;X=(o[F>>2]|0)+(o[R>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[c>>2]|0)-(o[G>>2]|0)|0;q=(o[l>>2]|0)-(o[q>>2]|0)|0;r=(o[p>>2]|0)-(o[r>>2]|0)|0;d=(o[y>>2]|0)-(o[d>>2]|0)|0;h=(o[v>>2]|0)-(o[h>>2]|0)|0;A=(o[E>>2]|0)-(o[A>>2]|0)|0;w=(o[I>>2]|0)-(o[w>>2]|0)|0;x=(o[O>>2]|0)-(o[x>>2]|0)|0;F=(o[R>>2]|0)-(o[F>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=q;q=e+52|0;o[q>>2]=r;r=e+56|0;o[r>>2]=d;d=e+60|0;o[d>>2]=h;h=e+64|0;o[h>>2]=A;A=e+68|0;o[A>>2]=w;w=e+72|0;o[w>>2]=x;x=e+76|0;o[x>>2]=F;F=e+80|0;Xr(F,e,n+40|0);Xr(X,X,n);R=e+120|0;Xr(R,n+120|0,t+120|0);Xr(e,t+80|0,n+80|0);O=o[e>>2]<<1;I=o[ae>>2]<<1;E=o[se>>2]<<1;v=o[oe>>2]<<1;y=o[ie>>2]<<1;p=o[re>>2]<<1;l=o[ne>>2]<<1;c=o[te>>2]<<1;i=o[ee>>2]<<1;t=o[$>>2]<<1;J=o[F>>2]|0;L=e+84|0;W=o[L>>2]|0;U=e+88|0;H=o[U>>2]|0;j=e+92|0;K=o[j>>2]|0;N=e+96|0;s=o[N>>2]|0;B=e+100|0;a=o[B>>2]|0;D=e+104|0;m=o[D>>2]|0;M=e+108|0;g=o[M>>2]|0;P=e+112|0;k=o[P>>2]|0;C=e+116|0;S=o[C>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[q>>2]|0;n=o[r>>2]|0;f=o[d>>2]|0;u=o[h>>2]|0;b=o[A>>2]|0;_=o[w>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=K-z;o[ie>>2]=s-n;o[re>>2]=a-f;o[ne>>2]=m-u;o[te>>2]=g-b;o[ee>>2]=k-_;o[$>>2]=S-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[q>>2]=z+K;o[r>>2]=n+s;o[d>>2]=f+a;o[h>>2]=u+m;o[A>>2]=b+g;o[w>>2]=_+k;o[x>>2]=T+S;x=o[R>>2]|0;S=e+124|0;T=o[S>>2]|0;w=e+128|0;k=o[w>>2]|0;_=e+132|0;A=o[_>>2]|0;g=e+136|0;b=o[g>>2]|0;h=e+140|0;m=o[h>>2]|0;u=e+144|0;d=o[u>>2]|0;a=e+148|0;f=o[a>>2]|0;r=e+152|0;s=o[r>>2]|0;n=e+156|0;e=o[n>>2]|0;o[F>>2]=O-x;o[L>>2]=I-T;o[U>>2]=E-k;o[j>>2]=v-A;o[N>>2]=y-b;o[B>>2]=p-m;o[D>>2]=l-d;o[M>>2]=c-f;o[P>>2]=i-s;o[C>>2]=t-e;o[R>>2]=x+O;o[S>>2]=T+I;o[w>>2]=k+E;o[_>>2]=A+v;o[g>>2]=b+y;o[h>>2]=m+p;o[u>>2]=d+l;o[a>>2]=f+c;o[r>>2]=s+i;o[n>>2]=e+t;return}function ci(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;u=t+44|0;h=t+48|0;g=t+52|0;_=t+56|0;w=t+60|0;S=t+64|0;R=t+68|0;C=t+72|0;O=t+76|0;G=t+4|0;K=t+8|0;i=t+12|0;d=t+16|0;p=t+20|0;A=t+24|0;E=t+28|0;x=t+32|0;q=t+36|0;se=(o[G>>2]|0)+(o[u>>2]|0)|0;oe=(o[K>>2]|0)+(o[h>>2]|0)|0;ie=(o[i>>2]|0)+(o[g>>2]|0)|0;re=(o[d>>2]|0)+(o[_>>2]|0)|0;ne=(o[p>>2]|0)+(o[w>>2]|0)|0;te=(o[A>>2]|0)+(o[S>>2]|0)|0;ee=(o[E>>2]|0)+(o[R>>2]|0)|0;$=(o[x>>2]|0)+(o[C>>2]|0)|0;X=(o[q>>2]|0)+(o[O>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[u>>2]|0)-(o[G>>2]|0)|0;K=(o[h>>2]|0)-(o[K>>2]|0)|0;i=(o[g>>2]|0)-(o[i>>2]|0)|0;d=(o[_>>2]|0)-(o[d>>2]|0)|0;p=(o[w>>2]|0)-(o[p>>2]|0)|0;A=(o[S>>2]|0)-(o[A>>2]|0)|0;E=(o[R>>2]|0)-(o[E>>2]|0)|0;x=(o[C>>2]|0)-(o[x>>2]|0)|0;q=(o[O>>2]|0)-(o[q>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=K;K=e+52|0;o[K>>2]=i;i=e+56|0;o[i>>2]=d;d=e+60|0;o[d>>2]=p;p=e+64|0;o[p>>2]=A;A=e+68|0;o[A>>2]=E;E=e+72|0;o[E>>2]=x;x=e+76|0;o[x>>2]=q;q=e+80|0;Xr(q,e,n);Xr(X,X,n+40|0);O=e+120|0;Xr(O,n+80|0,t+120|0);C=o[t+80>>2]<<1;R=o[t+84>>2]<<1;S=o[t+88>>2]<<1;w=o[t+92>>2]<<1;_=o[t+96>>2]<<1;g=o[t+100>>2]<<1;h=o[t+104>>2]<<1;u=o[t+108>>2]<<1;a=o[t+112>>2]<<1;r=o[t+116>>2]<<1;J=o[q>>2]|0;F=e+84|0;W=o[F>>2]|0;L=e+88|0;H=o[L>>2]|0;U=e+92|0;t=o[U>>2]|0;j=e+96|0;s=o[j>>2]|0;N=e+100|0;c=o[N>>2]|0;B=e+104|0;m=o[B>>2]|0;D=e+108|0;y=o[D>>2]|0;M=e+112|0;k=o[M>>2]|0;P=e+116|0;I=o[P>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[K>>2]|0;n=o[i>>2]|0;f=o[d>>2]|0;l=o[p>>2]|0;b=o[A>>2]|0;v=o[E>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=t-z;o[ie>>2]=s-n;o[re>>2]=c-f;o[ne>>2]=m-l;o[te>>2]=y-b;o[ee>>2]=k-v;o[$>>2]=I-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[K>>2]=z+t;o[i>>2]=n+s;o[d>>2]=f+c;o[p>>2]=l+m;o[A>>2]=b+y;o[E>>2]=v+k;o[x>>2]=T+I;x=o[O>>2]|0;I=e+124|0;T=o[I>>2]|0;E=e+128|0;k=o[E>>2]|0;v=e+132|0;A=o[v>>2]|0;y=e+136|0;b=o[y>>2]|0;p=e+140|0;m=o[p>>2]|0;l=e+144|0;d=o[l>>2]|0;c=e+148|0;f=o[c>>2]|0;i=e+152|0;s=o[i>>2]|0;n=e+156|0;t=o[n>>2]|0;o[q>>2]=x+C;o[F>>2]=T+R;o[L>>2]=k+S;o[U>>2]=A+w;o[j>>2]=b+_;o[N>>2]=m+g;o[B>>2]=d+h;o[D>>2]=f+u;o[M>>2]=s+a;o[P>>2]=t+r;o[O>>2]=C-x;o[I>>2]=R-T;o[E>>2]=S-k;o[v>>2]=w-A;o[y>>2]=_-b;o[p>>2]=g-m;o[l>>2]=h-d;o[c>>2]=u-f;o[i>>2]=a-s;o[n>>2]=r-t;return}function fi(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;c=t+44|0;l=t+48|0;p=t+52|0;y=t+56|0;v=t+60|0;E=t+64|0;I=t+68|0;O=t+72|0;R=t+76|0;G=t+4|0;q=t+8|0;r=t+12|0;d=t+16|0;h=t+20|0;A=t+24|0;w=t+28|0;x=t+32|0;F=t+36|0;se=(o[G>>2]|0)+(o[c>>2]|0)|0;oe=(o[q>>2]|0)+(o[l>>2]|0)|0;ie=(o[r>>2]|0)+(o[p>>2]|0)|0;re=(o[d>>2]|0)+(o[y>>2]|0)|0;ne=(o[h>>2]|0)+(o[v>>2]|0)|0;te=(o[A>>2]|0)+(o[E>>2]|0)|0;ee=(o[w>>2]|0)+(o[I>>2]|0)|0;$=(o[x>>2]|0)+(o[O>>2]|0)|0;X=(o[F>>2]|0)+(o[R>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[c>>2]|0)-(o[G>>2]|0)|0;q=(o[l>>2]|0)-(o[q>>2]|0)|0;r=(o[p>>2]|0)-(o[r>>2]|0)|0;d=(o[y>>2]|0)-(o[d>>2]|0)|0;h=(o[v>>2]|0)-(o[h>>2]|0)|0;A=(o[E>>2]|0)-(o[A>>2]|0)|0;w=(o[I>>2]|0)-(o[w>>2]|0)|0;x=(o[O>>2]|0)-(o[x>>2]|0)|0;F=(o[R>>2]|0)-(o[F>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=q;q=e+52|0;o[q>>2]=r;r=e+56|0;o[r>>2]=d;d=e+60|0;o[d>>2]=h;h=e+64|0;o[h>>2]=A;A=e+68|0;o[A>>2]=w;w=e+72|0;o[w>>2]=x;x=e+76|0;o[x>>2]=F;F=e+80|0;Xr(F,e,n+40|0);Xr(X,X,n);R=e+120|0;Xr(R,n+80|0,t+120|0);O=o[t+80>>2]<<1;I=o[t+84>>2]<<1;E=o[t+88>>2]<<1;v=o[t+92>>2]<<1;y=o[t+96>>2]<<1;p=o[t+100>>2]<<1;l=o[t+104>>2]<<1;c=o[t+108>>2]<<1;i=o[t+112>>2]<<1;t=o[t+116>>2]<<1;J=o[F>>2]|0;L=e+84|0;W=o[L>>2]|0;U=e+88|0;H=o[U>>2]|0;j=e+92|0;K=o[j>>2]|0;N=e+96|0;s=o[N>>2]|0;B=e+100|0;a=o[B>>2]|0;D=e+104|0;m=o[D>>2]|0;M=e+108|0;g=o[M>>2]|0;P=e+112|0;k=o[P>>2]|0;C=e+116|0;S=o[C>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[q>>2]|0;n=o[r>>2]|0;f=o[d>>2]|0;u=o[h>>2]|0;b=o[A>>2]|0;_=o[w>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=K-z;o[ie>>2]=s-n;o[re>>2]=a-f;o[ne>>2]=m-u;o[te>>2]=g-b;o[ee>>2]=k-_;o[$>>2]=S-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[q>>2]=z+K;o[r>>2]=n+s;o[d>>2]=f+a;o[h>>2]=u+m;o[A>>2]=b+g;o[w>>2]=_+k;o[x>>2]=T+S;x=o[R>>2]|0;S=e+124|0;T=o[S>>2]|0;w=e+128|0;k=o[w>>2]|0;_=e+132|0;A=o[_>>2]|0;g=e+136|0;b=o[g>>2]|0;h=e+140|0;m=o[h>>2]|0;u=e+144|0;d=o[u>>2]|0;a=e+148|0;f=o[a>>2]|0;r=e+152|0;s=o[r>>2]|0;n=e+156|0;e=o[n>>2]|0;o[F>>2]=O-x;o[L>>2]=I-T;o[U>>2]=E-k;o[j>>2]=v-A;o[N>>2]=y-b;o[B>>2]=p-m;o[D>>2]=l-d;o[M>>2]=c-f;o[P>>2]=i-s;o[C>>2]=t-e;o[R>>2]=x+O;o[S>>2]=T+I;o[w>>2]=k+E;o[_>>2]=A+v;o[g>>2]=b+y;o[h>>2]=m+p;o[u>>2]=d+l;o[a>>2]=f+c;o[r>>2]=s+i;o[n>>2]=e+t;return}function ui(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0;me=h;h=h+272|0;ue=me+240|0;le=me+192|0;c=me+144|0;f=me+96|0;de=me+48|0;he=me;pe=e+40|0;Qr(pe,t);u=e+80|0;o[u>>2]=1;a=e+84|0;n=a;i=n+36|0;do{o[n>>2]=0;n=n+4|0}while((n|0)<(i|0));Yr(le,pe);Xr(c,le,1248);te=le+4|0;ne=le+8|0;re=le+12|0;ie=le+16|0;oe=le+20|0;se=le+24|0;ae=le+28|0;ce=le+32|0;fe=le+36|0;x=o[u>>2]|0;O=o[a>>2]|0;T=o[e+88>>2]|0;S=o[e+92>>2]|0;E=o[e+96>>2]|0;A=o[e+100>>2]|0;i=o[e+104>>2]|0;ee=o[e+108>>2]|0;Z=o[e+112>>2]|0;X=o[e+116>>2]|0;_=(o[le>>2]|0)-x|0;v=(o[te>>2]|0)-O|0;u=(o[ne>>2]|0)-T|0;l=(o[re>>2]|0)-S|0;d=(o[ie>>2]|0)-E|0;p=(o[oe>>2]|0)-A|0;m=(o[se>>2]|0)-i|0;g=(o[ae>>2]|0)-ee|0;y=(o[ce>>2]|0)-Z|0;b=(o[fe>>2]|0)-X|0;o[le>>2]=_;o[te>>2]=v;o[ne>>2]=u;o[re>>2]=l;o[ie>>2]=d;o[oe>>2]=p;o[se>>2]=m;o[ae>>2]=g;o[ce>>2]=y;o[fe>>2]=b;R=c+4|0;I=c+8|0;k=c+12|0;w=c+16|0;a=c+20|0;n=c+24|0;$=c+28|0;J=c+32|0;Y=c+36|0;O=(o[R>>2]|0)+O|0;T=(o[I>>2]|0)+T|0;S=(o[k>>2]|0)+S|0;E=(o[w>>2]|0)+E|0;A=(o[a>>2]|0)+A|0;i=(o[n>>2]|0)+i|0;ee=(o[$>>2]|0)+ee|0;Z=(o[J>>2]|0)+Z|0;X=(o[Y>>2]|0)+X|0;o[c>>2]=(o[c>>2]|0)+x;o[R>>2]=O;o[I>>2]=T;o[k>>2]=S;o[w>>2]=E;o[a>>2]=A;o[n>>2]=i;o[$>>2]=ee;o[J>>2]=Z;o[Y>>2]=X;Yr(f,c);Xr(f,f,c);Yr(e,f);Xr(e,e,c);Xr(e,e,le);Zr(e,e);Xr(e,e,f);Xr(e,e,le);Yr(de,e);Xr(de,de,c);Y=de+4|0;X=de+8|0;J=de+12|0;Z=de+16|0;$=de+20|0;ee=de+24|0;n=de+28|0;i=de+32|0;a=de+36|0;f=(o[Y>>2]|0)-v|0;u=(o[X>>2]|0)-u|0;l=(o[J>>2]|0)-l|0;d=(o[Z>>2]|0)-d|0;p=(o[$>>2]|0)-p|0;m=(o[ee>>2]|0)-m|0;g=(o[n>>2]|0)-g|0;y=(o[i>>2]|0)-y|0;b=(o[a>>2]|0)-b|0;o[he>>2]=(o[de>>2]|0)-_;c=he+4|0;o[c>>2]=f;f=he+8|0;o[f>>2]=u;u=he+12|0;o[u>>2]=l;l=he+16|0;o[l>>2]=d;d=he+20|0;o[d>>2]=p;p=he+24|0;o[p>>2]=m;m=he+28|0;o[m>>2]=g;g=he+32|0;o[g>>2]=y;y=he+36|0;o[y>>2]=b;Jr(ue,he);b=ue+1|0;_=ue+2|0;v=ue+3|0;A=ue+4|0;w=ue+5|0;E=ue+6|0;k=ue+7|0;S=ue+8|0;I=ue+9|0;T=ue+10|0;R=ue+11|0;O=ue+12|0;x=ue+13|0;C=ue+14|0;P=ue+15|0;M=ue+16|0;D=ue+17|0;B=ue+18|0;N=ue+19|0;j=ue+20|0;U=ue+21|0;L=ue+22|0;F=ue+23|0;q=ue+24|0;K=ue+25|0;z=ue+26|0;G=ue+27|0;H=ue+28|0;V=ue+29|0;Q=ue+30|0;W=ue+31|0;do{if((r[b>>0]|r[ue>>0]|r[_>>0]|r[v>>0]|r[A>>0]|r[w>>0]|r[E>>0]|r[k>>0]|r[S>>0]|r[I>>0]|r[T>>0]|r[R>>0]|r[O>>0]|r[x>>0]|r[C>>0]|r[P>>0]|r[M>>0]|r[D>>0]|r[B>>0]|r[N>>0]|r[j>>0]|r[U>>0]|r[L>>0]|r[F>>0]|r[q>>0]|r[K>>0]|r[z>>0]|r[G>>0]|r[H>>0]|r[V>>0]|r[Q>>0]|r[W>>0])<<24>>24){te=(o[te>>2]|0)+(o[Y>>2]|0)|0;ne=(o[ne>>2]|0)+(o[X>>2]|0)|0;re=(o[re>>2]|0)+(o[J>>2]|0)|0;ie=(o[ie>>2]|0)+(o[Z>>2]|0)|0;oe=(o[oe>>2]|0)+(o[$>>2]|0)|0;se=(o[se>>2]|0)+(o[ee>>2]|0)|0;ae=(o[ae>>2]|0)+(o[n>>2]|0)|0;ce=(o[ce>>2]|0)+(o[i>>2]|0)|0;fe=(o[fe>>2]|0)+(o[a>>2]|0)|0;o[he>>2]=(o[le>>2]|0)+(o[de>>2]|0);o[c>>2]=te;o[f>>2]=ne;o[u>>2]=re;o[l>>2]=ie;o[d>>2]=oe;o[p>>2]=se;o[m>>2]=ae;o[g>>2]=ce;o[y>>2]=fe;Jr(ue,he);if(!((r[b>>0]|r[ue>>0]|r[_>>0]|r[v>>0]|r[A>>0]|r[w>>0]|r[E>>0]|r[k>>0]|r[S>>0]|r[I>>0]|r[T>>0]|r[R>>0]|r[O>>0]|r[x>>0]|r[C>>0]|r[P>>0]|r[M>>0]|r[D>>0]|r[B>>0]|r[N>>0]|r[j>>0]|r[U>>0]|r[L>>0]|r[F>>0]|r[q>>0]|r[K>>0]|r[z>>0]|r[G>>0]|r[H>>0]|r[V>>0]|r[Q>>0]|r[W>>0])<<24>>24)){Xr(e,e,1296);break}else{pe=-1;h=me;return pe|0}}}while(0);Jr(ue,e);if(((s[t+31>>0]|0)>>>7|0)==(r[ue>>0]&1|0)){Z=e+4|0;ee=e+8|0;ne=e+12|0;ie=e+16|0;se=e+20|0;ce=e+24|0;t=e+28|0;le=e+32|0;he=e+36|0;J=0-(o[Z>>2]|0)|0;$=0-(o[ee>>2]|0)|0;te=0-(o[ne>>2]|0)|0;re=0-(o[ie>>2]|0)|0;oe=0-(o[se>>2]|0)|0;ae=0-(o[ce>>2]|0)|0;fe=0-(o[t>>2]|0)|0;ue=0-(o[le>>2]|0)|0;de=0-(o[he>>2]|0)|0;o[e>>2]=0-(o[e>>2]|0);o[Z>>2]=J;o[ee>>2]=$;o[ne>>2]=te;o[ie>>2]=re;o[se>>2]=oe;o[ce>>2]=ae;o[t>>2]=fe;o[le>>2]=ue;o[he>>2]=de}Xr(e+120|0,e,pe);pe=0;h=me;return pe|0}function li(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0;_=h;h=h+592|0;p=_+464|0;g=_;y=_+304|0;m=_+184|0;b=_+64|0;i=r[t>>0]|0;r[g>>0]=i&15;r[g+1>>0]=(i&255)>>>4;i=r[t+1>>0]|0;r[g+2>>0]=i&15;r[g+3>>0]=(i&255)>>>4;i=r[t+2>>0]|0;r[g+4>>0]=i&15;r[g+5>>0]=(i&255)>>>4;i=r[t+3>>0]|0;r[g+6>>0]=i&15;r[g+7>>0]=(i&255)>>>4;i=r[t+4>>0]|0;r[g+8>>0]=i&15;r[g+9>>0]=(i&255)>>>4;i=r[t+5>>0]|0;r[g+10>>0]=i&15;r[g+11>>0]=(i&255)>>>4;i=r[t+6>>0]|0;r[g+12>>0]=i&15;r[g+13>>0]=(i&255)>>>4;i=r[t+7>>0]|0;r[g+14>>0]=i&15;r[g+15>>0]=(i&255)>>>4;i=r[t+8>>0]|0;r[g+16>>0]=i&15;r[g+17>>0]=(i&255)>>>4;i=r[t+9>>0]|0;r[g+18>>0]=i&15;r[g+19>>0]=(i&255)>>>4;i=r[t+10>>0]|0;r[g+20>>0]=i&15;r[g+21>>0]=(i&255)>>>4;i=r[t+11>>0]|0;r[g+22>>0]=i&15;r[g+23>>0]=(i&255)>>>4;i=r[t+12>>0]|0;r[g+24>>0]=i&15;r[g+25>>0]=(i&255)>>>4;i=r[t+13>>0]|0;r[g+26>>0]=i&15;r[g+27>>0]=(i&255)>>>4;i=r[t+14>>0]|0;r[g+28>>0]=i&15;r[g+29>>0]=(i&255)>>>4;i=r[t+15>>0]|0;r[g+30>>0]=i&15;r[g+31>>0]=(i&255)>>>4;i=r[t+16>>0]|0;r[g+32>>0]=i&15;r[g+33>>0]=(i&255)>>>4;i=r[t+17>>0]|0;r[g+34>>0]=i&15;r[g+35>>0]=(i&255)>>>4;i=r[t+18>>0]|0;r[g+36>>0]=i&15;r[g+37>>0]=(i&255)>>>4;i=r[t+19>>0]|0;r[g+38>>0]=i&15;r[g+39>>0]=(i&255)>>>4;i=r[t+20>>0]|0;r[g+40>>0]=i&15;r[g+41>>0]=(i&255)>>>4;i=r[t+21>>0]|0;r[g+42>>0]=i&15;r[g+43>>0]=(i&255)>>>4;i=r[t+22>>0]|0;r[g+44>>0]=i&15;r[g+45>>0]=(i&255)>>>4;i=r[t+23>>0]|0;r[g+46>>0]=i&15;r[g+47>>0]=(i&255)>>>4;i=r[t+24>>0]|0;r[g+48>>0]=i&15;r[g+49>>0]=(i&255)>>>4;i=r[t+25>>0]|0;r[g+50>>0]=i&15;r[g+51>>0]=(i&255)>>>4;i=r[t+26>>0]|0;r[g+52>>0]=i&15;r[g+53>>0]=(i&255)>>>4;i=r[t+27>>0]|0;r[g+54>>0]=i&15;r[g+55>>0]=(i&255)>>>4;i=r[t+28>>0]|0;r[g+56>>0]=i&15;r[g+57>>0]=(i&255)>>>4;i=r[t+29>>0]|0;r[g+58>>0]=i&15;r[g+59>>0]=(i&255)>>>4;i=r[t+30>>0]|0;r[g+60>>0]=i&15;r[g+61>>0]=(i&255)>>>4;t=r[t+31>>0]|0;r[g+62>>0]=t&15;i=g+63|0;r[i>>0]=(t&255)>>>4;t=0;n=0;do{d=g+n|0;l=t+(s[d>>0]|0)|0;t=(l<<24)+134217728>>28;r[d>>0]=l-(t<<4);n=n+1|0}while((n|0)!=63);r[i>>0]=t+(s[i>>0]|0);t=e;n=t+40|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));l=e+40|0;o[l>>2]=1;f=e+44|0;t=f;n=t+36|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));d=e+80|0;o[d>>2]=1;u=e+84|0;t=u;n=t+76|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));n=y+120|0;i=y+40|0;a=y+80|0;c=e+120|0;t=1;do{di(b,t>>>1,r[g+t>>0]|0);ci(y,e,b);Xr(e,y,n);Xr(l,i,a);Xr(d,a,n);Xr(c,y,i);t=t+2|0}while(t>>>0<64);T=o[e+4>>2]|0;S=o[e+8>>2]|0;k=o[e+12>>2]|0;E=o[e+16>>2]|0;w=o[e+20>>2]|0;A=o[e+24>>2]|0;v=o[e+28>>2]|0;t=o[e+32>>2]|0;I=o[e+36>>2]|0;o[p>>2]=o[e>>2];o[p+4>>2]=T;o[p+8>>2]=S;o[p+12>>2]=k;o[p+16>>2]=E;o[p+20>>2]=w;o[p+24>>2]=A;o[p+28>>2]=v;o[p+32>>2]=t;o[p+36>>2]=I;I=o[f>>2]|0;t=o[e+48>>2]|0;f=o[e+52>>2]|0;v=o[e+56>>2]|0;A=o[e+60>>2]|0;w=o[e+64>>2]|0;E=o[e+68>>2]|0;k=o[e+72>>2]|0;S=o[e+76>>2]|0;o[p+40>>2]=o[l>>2];o[p+44>>2]=I;o[p+48>>2]=t;o[p+52>>2]=f;o[p+56>>2]=v;o[p+60>>2]=A;o[p+64>>2]=w;o[p+68>>2]=E;o[p+72>>2]=k;o[p+76>>2]=S;S=o[u>>2]|0;k=o[e+88>>2]|0;E=o[e+92>>2]|0;w=o[e+96>>2]|0;A=o[e+100>>2]|0;v=o[e+104>>2]|0;f=o[e+108>>2]|0;u=o[e+112>>2]|0;t=o[e+116>>2]|0;o[p+80>>2]=o[d>>2];o[p+84>>2]=S;o[p+88>>2]=k;o[p+92>>2]=E;o[p+96>>2]=w;o[p+100>>2]=A;o[p+104>>2]=v;o[p+108>>2]=f;o[p+112>>2]=u;o[p+116>>2]=t;si(y,p);Xr(m,y,n);p=m+40|0;Xr(p,i,a);t=m+80|0;Xr(t,a,n);si(y,m);Xr(m,y,n);Xr(p,i,a);Xr(t,a,n);si(y,m);Xr(m,y,n);Xr(p,i,a);Xr(t,a,n);si(y,m);Xr(e,y,n);Xr(l,i,a);Xr(d,a,n);Xr(c,y,i);t=0;do{di(b,t>>>1,r[g+t>>0]|0);ci(y,e,b);Xr(e,y,n);Xr(l,i,a);Xr(d,a,n);Xr(c,y,i);t=t+2|0}while(t>>>0<64);h=_;return}function di(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0;r=n<<24>>24;b=0-((n&255)>>>7&255)|0;n=r-((b&r)<<1)&255;o[e>>2]=1;r=e+4|0;_=r;v=_+36|0;do{o[_>>2]=0;_=_+4|0}while((_|0)<(v|0));i=e+40|0;o[i>>2]=1;s=e+44|0;a=e+80|0;c=ks((n^1)&255|0,0,-1,-1)|0;c=xs(c|0,I|0,63)|0;f=1344+(t*960|0)|0;u=e+8|0;l=e+12|0;d=e+16|0;h=e+20|0;p=e+24|0;m=e+28|0;g=e+32|0;y=e+36|0;_=s;v=_+76|0;do{o[_>>2]=0;_=_+4|0}while((_|0)<(v|0));ve=0-c|0;ye=o[1344+(t*960|0)+4>>2]&ve;ge=o[1344+(t*960|0)+8>>2]&ve;me=o[1344+(t*960|0)+12>>2]&ve;pe=o[1344+(t*960|0)+16>>2]&ve;he=o[1344+(t*960|0)+20>>2]&ve;de=o[1344+(t*960|0)+24>>2]&ve;le=o[1344+(t*960|0)+28>>2]&ve;ue=o[1344+(t*960|0)+32>>2]&ve;fe=o[1344+(t*960|0)+36>>2]&ve;be=(o[f>>2]^1)&ve^1;o[e>>2]=be;o[r>>2]=ye;o[u>>2]=ge;o[l>>2]=me;o[d>>2]=pe;o[h>>2]=he;o[p>>2]=de;o[m>>2]=le;o[g>>2]=ue;o[y>>2]=fe;ne=e+48|0;$=e+52|0;X=e+56|0;Q=e+60|0;G=e+64|0;q=e+68|0;U=e+72|0;B=e+76|0;oe=o[1344+(t*960|0)+44>>2]&ve;re=o[1344+(t*960|0)+48>>2]&ve;ee=o[1344+(t*960|0)+52>>2]&ve;J=o[1344+(t*960|0)+56>>2]&ve;W=o[1344+(t*960|0)+60>>2]&ve;H=o[1344+(t*960|0)+64>>2]&ve;K=o[1344+(t*960|0)+68>>2]&ve;L=o[1344+(t*960|0)+72>>2]&ve;N=o[1344+(t*960|0)+76>>2]&ve;ae=(o[1344+(t*960|0)+40>>2]^1)&ve^1;o[i>>2]=ae;o[s>>2]=oe;o[ne>>2]=re;o[$>>2]=ee;o[X>>2]=J;o[Q>>2]=W;o[G>>2]=H;o[q>>2]=K;o[U>>2]=L;o[B>>2]=N;D=o[a>>2]|0;P=e+84|0;M=o[P>>2]|0;x=e+88|0;C=o[x>>2]|0;R=e+92|0;O=o[R>>2]|0;S=e+96|0;T=o[S>>2]|0;E=e+100|0;k=o[E>>2]|0;A=e+104|0;w=o[A>>2]|0;c=e+108|0;Z=o[c>>2]|0;_=e+112|0;f=o[_>>2]|0;v=e+116|0;se=o[v>>2]|0;ie=(o[1344+(t*960|0)+84>>2]^M)&ve;te=(o[1344+(t*960|0)+88>>2]^C)&ve;Y=(o[1344+(t*960|0)+92>>2]^O)&ve;V=(o[1344+(t*960|0)+96>>2]^T)&ve;z=(o[1344+(t*960|0)+100>>2]^k)&ve;F=(o[1344+(t*960|0)+104>>2]^w)&ve;j=(o[1344+(t*960|0)+108>>2]^Z)&ve;ce=(o[1344+(t*960|0)+112>>2]^f)&ve;_e=(o[1344+(t*960|0)+116>>2]^se)&ve;D=(o[1344+(t*960|0)+80>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^2)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+124>>2]^ye)&_e;j=(o[1344+(t*960|0)+128>>2]^ge)&_e;F=(o[1344+(t*960|0)+132>>2]^me)&_e;z=(o[1344+(t*960|0)+136>>2]^pe)&_e;V=(o[1344+(t*960|0)+140>>2]^he)&_e;Y=(o[1344+(t*960|0)+144>>2]^de)&_e;te=(o[1344+(t*960|0)+148>>2]^le)&_e;ie=(o[1344+(t*960|0)+152>>2]^ue)&_e;ve=(o[1344+(t*960|0)+156>>2]^fe)&_e;be=(o[1344+(t*960|0)+120>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=te^le;o[m>>2]=le;ue=ie^ue;o[g>>2]=ue;fe=ve^fe;o[y>>2]=fe;ve=(o[1344+(t*960|0)+164>>2]^oe)&_e;ie=(o[1344+(t*960|0)+168>>2]^re)&_e;te=(o[1344+(t*960|0)+172>>2]^ee)&_e;Y=(o[1344+(t*960|0)+176>>2]^J)&_e;V=(o[1344+(t*960|0)+180>>2]^W)&_e;z=(o[1344+(t*960|0)+184>>2]^H)&_e;F=(o[1344+(t*960|0)+188>>2]^K)&_e;j=(o[1344+(t*960|0)+192>>2]^L)&_e;ce=(o[1344+(t*960|0)+196>>2]^N)&_e;ae=(o[1344+(t*960|0)+160>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ve^oe;o[s>>2]=oe;re=ie^re;o[ne>>2]=re;ee=te^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+204>>2]^M)&_e;j=(o[1344+(t*960|0)+208>>2]^C)&_e;F=(o[1344+(t*960|0)+212>>2]^O)&_e;z=(o[1344+(t*960|0)+216>>2]^T)&_e;V=(o[1344+(t*960|0)+220>>2]^k)&_e;Y=(o[1344+(t*960|0)+224>>2]^w)&_e;te=(o[1344+(t*960|0)+228>>2]^Z)&_e;ie=(o[1344+(t*960|0)+232>>2]^f)&_e;ve=(o[1344+(t*960|0)+236>>2]^se)&_e;D=(o[1344+(t*960|0)+200>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;Z=te^Z;o[c>>2]=Z;f=ie^f;o[_>>2]=f;se=ve^se;o[v>>2]=se;ve=ks((n^3)&255|0,0,-1,-1)|0;ve=xs(ve|0,I|0,63)|0;ve=0-ve|0;ie=(o[1344+(t*960|0)+244>>2]^ye)&ve;te=(o[1344+(t*960|0)+248>>2]^ge)&ve;Y=(o[1344+(t*960|0)+252>>2]^me)&ve;V=(o[1344+(t*960|0)+256>>2]^pe)&ve;z=(o[1344+(t*960|0)+260>>2]^he)&ve;F=(o[1344+(t*960|0)+264>>2]^de)&ve;j=(o[1344+(t*960|0)+268>>2]^le)&ve;ce=(o[1344+(t*960|0)+272>>2]^ue)&ve;_e=(o[1344+(t*960|0)+276>>2]^fe)&ve;be=(o[1344+(t*960|0)+240>>2]^be)&ve^be;o[e>>2]=be;ye=ie^ye;o[r>>2]=ye;ge=te^ge;o[u>>2]=ge;me=Y^me;o[l>>2]=me;pe=V^pe;o[d>>2]=pe;he=z^he;o[h>>2]=he;de=F^de;o[p>>2]=de;le=j^le;o[m>>2]=le;ue=ce^ue;o[g>>2]=ue;fe=_e^fe;o[y>>2]=fe;_e=(o[1344+(t*960|0)+284>>2]^oe)&ve;ce=(o[1344+(t*960|0)+288>>2]^re)&ve;j=(o[1344+(t*960|0)+292>>2]^ee)&ve;F=(o[1344+(t*960|0)+296>>2]^J)&ve;z=(o[1344+(t*960|0)+300>>2]^W)&ve;V=(o[1344+(t*960|0)+304>>2]^H)&ve;Y=(o[1344+(t*960|0)+308>>2]^K)&ve;te=(o[1344+(t*960|0)+312>>2]^L)&ve;ie=(o[1344+(t*960|0)+316>>2]^N)&ve;ae=(o[1344+(t*960|0)+280>>2]^ae)&ve^ae;o[i>>2]=ae;oe=_e^oe;o[s>>2]=oe;re=ce^re;o[ne>>2]=re;ee=j^ee;o[$>>2]=ee;J=F^J;o[X>>2]=J;W=z^W;o[Q>>2]=W;H=V^H;o[G>>2]=H;K=Y^K;o[q>>2]=K;L=te^L;o[U>>2]=L;N=ie^N;o[B>>2]=N;ie=(o[1344+(t*960|0)+324>>2]^M)&ve;te=(o[1344+(t*960|0)+328>>2]^C)&ve;Y=(o[1344+(t*960|0)+332>>2]^O)&ve;V=(o[1344+(t*960|0)+336>>2]^T)&ve;z=(o[1344+(t*960|0)+340>>2]^k)&ve;F=(o[1344+(t*960|0)+344>>2]^w)&ve;j=(o[1344+(t*960|0)+348>>2]^Z)&ve;ce=(o[1344+(t*960|0)+352>>2]^f)&ve;_e=(o[1344+(t*960|0)+356>>2]^se)&ve;D=(o[1344+(t*960|0)+320>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^4)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+364>>2]^ye)&_e;j=(o[1344+(t*960|0)+368>>2]^ge)&_e;F=(o[1344+(t*960|0)+372>>2]^me)&_e;z=(o[1344+(t*960|0)+376>>2]^pe)&_e;V=(o[1344+(t*960|0)+380>>2]^he)&_e;Y=(o[1344+(t*960|0)+384>>2]^de)&_e;te=(o[1344+(t*960|0)+388>>2]^le)&_e;ie=(o[1344+(t*960|0)+392>>2]^ue)&_e;ve=(o[1344+(t*960|0)+396>>2]^fe)&_e;be=(o[1344+(t*960|0)+360>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=te^le;o[m>>2]=le;ue=ie^ue;o[g>>2]=ue;fe=ve^fe;o[y>>2]=fe;ve=(o[1344+(t*960|0)+404>>2]^oe)&_e;ie=(o[1344+(t*960|0)+408>>2]^re)&_e;te=(o[1344+(t*960|0)+412>>2]^ee)&_e;Y=(o[1344+(t*960|0)+416>>2]^J)&_e;V=(o[1344+(t*960|0)+420>>2]^W)&_e;z=(o[1344+(t*960|0)+424>>2]^H)&_e;F=(o[1344+(t*960|0)+428>>2]^K)&_e;j=(o[1344+(t*960|0)+432>>2]^L)&_e;ce=(o[1344+(t*960|0)+436>>2]^N)&_e;ae=(o[1344+(t*960|0)+400>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ve^oe;o[s>>2]=oe;re=ie^re;o[ne>>2]=re;ee=te^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+444>>2]^M)&_e;j=(o[1344+(t*960|0)+448>>2]^C)&_e;F=(o[1344+(t*960|0)+452>>2]^O)&_e;z=(o[1344+(t*960|0)+456>>2]^T)&_e;V=(o[1344+(t*960|0)+460>>2]^k)&_e;Y=(o[1344+(t*960|0)+464>>2]^w)&_e;te=(o[1344+(t*960|0)+468>>2]^Z)&_e;ie=(o[1344+(t*960|0)+472>>2]^f)&_e;ve=(o[1344+(t*960|0)+476>>2]^se)&_e;D=(o[1344+(t*960|0)+440>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;Z=te^Z;o[c>>2]=Z;f=ie^f;o[_>>2]=f;se=ve^se;o[v>>2]=se;ve=ks((n^5)&255|0,0,-1,-1)|0;ve=xs(ve|0,I|0,63)|0;ve=0-ve|0;ie=(o[1344+(t*960|0)+484>>2]^ye)&ve;te=(o[1344+(t*960|0)+488>>2]^ge)&ve;Y=(o[1344+(t*960|0)+492>>2]^me)&ve;V=(o[1344+(t*960|0)+496>>2]^pe)&ve;z=(o[1344+(t*960|0)+500>>2]^he)&ve;F=(o[1344+(t*960|0)+504>>2]^de)&ve;j=(o[1344+(t*960|0)+508>>2]^le)&ve;ce=(o[1344+(t*960|0)+512>>2]^ue)&ve;_e=(o[1344+(t*960|0)+516>>2]^fe)&ve;be=(o[1344+(t*960|0)+480>>2]^be)&ve^be;o[e>>2]=be;ye=ie^ye;o[r>>2]=ye;ge=te^ge;o[u>>2]=ge;me=Y^me;o[l>>2]=me;pe=V^pe;o[d>>2]=pe;he=z^he;o[h>>2]=he;de=F^de;o[p>>2]=de;le=j^le;o[m>>2]=le;ue=ce^ue;o[g>>2]=ue;fe=_e^fe;o[y>>2]=fe;_e=(o[1344+(t*960|0)+524>>2]^oe)&ve;ce=(o[1344+(t*960|0)+528>>2]^re)&ve;j=(o[1344+(t*960|0)+532>>2]^ee)&ve;F=(o[1344+(t*960|0)+536>>2]^J)&ve;z=(o[1344+(t*960|0)+540>>2]^W)&ve;V=(o[1344+(t*960|0)+544>>2]^H)&ve;Y=(o[1344+(t*960|0)+548>>2]^K)&ve;te=(o[1344+(t*960|0)+552>>2]^L)&ve;ie=(o[1344+(t*960|0)+556>>2]^N)&ve;ae=(o[1344+(t*960|0)+520>>2]^ae)&ve^ae;o[i>>2]=ae;oe=_e^oe;o[s>>2]=oe;re=ce^re;o[ne>>2]=re;ee=j^ee;o[$>>2]=ee;J=F^J;o[X>>2]=J;W=z^W;o[Q>>2]=W;H=V^H;o[G>>2]=H;K=Y^K;o[q>>2]=K;L=te^L;o[U>>2]=L;N=ie^N;o[B>>2]=N;ie=(o[1344+(t*960|0)+564>>2]^M)&ve;te=(o[1344+(t*960|0)+568>>2]^C)&ve;Y=(o[1344+(t*960|0)+572>>2]^O)&ve;V=(o[1344+(t*960|0)+576>>2]^T)&ve;z=(o[1344+(t*960|0)+580>>2]^k)&ve;F=(o[1344+(t*960|0)+584>>2]^w)&ve;j=(o[1344+(t*960|0)+588>>2]^Z)&ve;ce=(o[1344+(t*960|0)+592>>2]^f)&ve;_e=(o[1344+(t*960|0)+596>>2]^se)&ve;D=(o[1344+(t*960|0)+560>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^6)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+604>>2]^ye)&_e;j=(o[1344+(t*960|0)+608>>2]^ge)&_e;F=(o[1344+(t*960|0)+612>>2]^me)&_e;z=(o[1344+(t*960|0)+616>>2]^pe)&_e;V=(o[1344+(t*960|0)+620>>2]^he)&_e;Y=(o[1344+(t*960|0)+624>>2]^de)&_e;te=(o[1344+(t*960|0)+628>>2]^le)&_e;ie=(o[1344+(t*960|0)+632>>2]^ue)&_e;ve=(o[1344+(t*960|0)+636>>2]^fe)&_e;be=(o[1344+(t*960|0)+600>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=te^le;o[m>>2]=le;ue=ie^ue;o[g>>2]=ue;fe=ve^fe;o[y>>2]=fe;ve=(o[1344+(t*960|0)+644>>2]^oe)&_e;ie=(o[1344+(t*960|0)+648>>2]^re)&_e;te=(o[1344+(t*960|0)+652>>2]^ee)&_e;Y=(o[1344+(t*960|0)+656>>2]^J)&_e;V=(o[1344+(t*960|0)+660>>2]^W)&_e;z=(o[1344+(t*960|0)+664>>2]^H)&_e;F=(o[1344+(t*960|0)+668>>2]^K)&_e;j=(o[1344+(t*960|0)+672>>2]^L)&_e;ce=(o[1344+(t*960|0)+676>>2]^N)&_e;ae=(o[1344+(t*960|0)+640>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ve^oe;o[s>>2]=oe;re=ie^re;o[ne>>2]=re;ee=te^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+684>>2]^M)&_e;j=(o[1344+(t*960|0)+688>>2]^C)&_e;F=(o[1344+(t*960|0)+692>>2]^O)&_e;z=(o[1344+(t*960|0)+696>>2]^T)&_e;V=(o[1344+(t*960|0)+700>>2]^k)&_e;Y=(o[1344+(t*960|0)+704>>2]^w)&_e;te=(o[1344+(t*960|0)+708>>2]^Z)&_e;ie=(o[1344+(t*960|0)+712>>2]^f)&_e;ve=(o[1344+(t*960|0)+716>>2]^se)&_e;D=(o[1344+(t*960|0)+680>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;Z=te^Z;o[c>>2]=Z;f=ie^f;o[_>>2]=f;se=ve^se;o[v>>2]=se;ve=ks((n^7)&255|0,0,-1,-1)|0;ve=xs(ve|0,I|0,63)|0;ve=0-ve|0;ie=(o[1344+(t*960|0)+724>>2]^ye)&ve;te=(o[1344+(t*960|0)+728>>2]^ge)&ve;Y=(o[1344+(t*960|0)+732>>2]^me)&ve;V=(o[1344+(t*960|0)+736>>2]^pe)&ve;z=(o[1344+(t*960|0)+740>>2]^he)&ve;F=(o[1344+(t*960|0)+744>>2]^de)&ve;j=(o[1344+(t*960|0)+748>>2]^le)&ve;ce=(o[1344+(t*960|0)+752>>2]^ue)&ve;_e=(o[1344+(t*960|0)+756>>2]^fe)&ve;be=(o[1344+(t*960|0)+720>>2]^be)&ve^be;o[e>>2]=be;ye=ie^ye;o[r>>2]=ye;ge=te^ge;o[u>>2]=ge;me=Y^me;o[l>>2]=me;pe=V^pe;o[d>>2]=pe;he=z^he;o[h>>2]=he;de=F^de;o[p>>2]=de;le=j^le;o[m>>2]=le;ue=ce^ue;o[g>>2]=ue;fe=_e^fe;o[y>>2]=fe;_e=(o[1344+(t*960|0)+764>>2]^oe)&ve;ce=(o[1344+(t*960|0)+768>>2]^re)&ve;j=(o[1344+(t*960|0)+772>>2]^ee)&ve;F=(o[1344+(t*960|0)+776>>2]^J)&ve;z=(o[1344+(t*960|0)+780>>2]^W)&ve;V=(o[1344+(t*960|0)+784>>2]^H)&ve;Y=(o[1344+(t*960|0)+788>>2]^K)&ve;te=(o[1344+(t*960|0)+792>>2]^L)&ve;ie=(o[1344+(t*960|0)+796>>2]^N)&ve;ae=(o[1344+(t*960|0)+760>>2]^ae)&ve^ae;o[i>>2]=ae;oe=_e^oe;o[s>>2]=oe;re=ce^re;o[ne>>2]=re;ee=j^ee;o[$>>2]=ee;J=F^J;o[X>>2]=J;W=z^W;o[Q>>2]=W;H=V^H;o[G>>2]=H;K=Y^K;o[q>>2]=K;L=te^L;o[U>>2]=L;N=ie^N;o[B>>2]=N;ie=(o[1344+(t*960|0)+804>>2]^M)&ve;te=(o[1344+(t*960|0)+808>>2]^C)&ve;Y=(o[1344+(t*960|0)+812>>2]^O)&ve;V=(o[1344+(t*960|0)+816>>2]^T)&ve;z=(o[1344+(t*960|0)+820>>2]^k)&ve;F=(o[1344+(t*960|0)+824>>2]^w)&ve;j=(o[1344+(t*960|0)+828>>2]^Z)&ve;ce=(o[1344+(t*960|0)+832>>2]^f)&ve;_e=(o[1344+(t*960|0)+836>>2]^se)&ve;D=(o[1344+(t*960|0)+800>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^8)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+844>>2]^ye)&_e;j=(o[1344+(t*960|0)+848>>2]^ge)&_e;F=(o[1344+(t*960|0)+852>>2]^me)&_e;z=(o[1344+(t*960|0)+856>>2]^pe)&_e;V=(o[1344+(t*960|0)+860>>2]^he)&_e;Y=(o[1344+(t*960|0)+864>>2]^de)&_e;n=(o[1344+(t*960|0)+868>>2]^le)&_e;te=(o[1344+(t*960|0)+872>>2]^ue)&_e;ie=(o[1344+(t*960|0)+876>>2]^fe)&_e;be=(o[1344+(t*960|0)+840>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=n^le;o[m>>2]=le;ue=te^ue;o[g>>2]=ue;fe=ie^fe;o[y>>2]=fe;ie=(o[1344+(t*960|0)+884>>2]^oe)&_e;te=(o[1344+(t*960|0)+888>>2]^re)&_e;n=(o[1344+(t*960|0)+892>>2]^ee)&_e;Y=(o[1344+(t*960|0)+896>>2]^J)&_e;V=(o[1344+(t*960|0)+900>>2]^W)&_e;z=(o[1344+(t*960|0)+904>>2]^H)&_e;F=(o[1344+(t*960|0)+908>>2]^K)&_e;j=(o[1344+(t*960|0)+912>>2]^L)&_e;ce=(o[1344+(t*960|0)+916>>2]^N)&_e;ae=(o[1344+(t*960|0)+880>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ie^oe;o[s>>2]=oe;re=te^re;o[ne>>2]=re;ee=n^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+924>>2]^M)&_e;j=(o[1344+(t*960|0)+928>>2]^C)&_e;F=(o[1344+(t*960|0)+932>>2]^O)&_e;z=(o[1344+(t*960|0)+936>>2]^T)&_e;V=(o[1344+(t*960|0)+940>>2]^k)&_e;Y=(o[1344+(t*960|0)+944>>2]^w)&_e;n=(o[1344+(t*960|0)+948>>2]^Z)&_e;te=(o[1344+(t*960|0)+952>>2]^f)&_e;ie=(o[1344+(t*960|0)+956>>2]^se)&_e;D=(o[1344+(t*960|0)+920>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;n=n^Z;o[c>>2]=n;f=te^f;o[_>>2]=f;t=ie^se;o[v>>2]=t;se=o[r>>2]|0;ie=o[u>>2]|0;te=o[l>>2]|0;Z=o[d>>2]|0;Y=o[h>>2]|0;V=o[p>>2]|0;z=o[m>>2]|0;F=o[g>>2]|0;j=o[y>>2]|0;ce=(ae^be)&b;o[e>>2]=ce^be;o[r>>2]=(oe^ye)&b^ye;o[u>>2]=(re^ge)&b^ge;o[l>>2]=(ee^me)&b^me;o[d>>2]=(J^pe)&b^pe;o[h>>2]=(W^he)&b^he;o[p>>2]=(H^de)&b^de;o[m>>2]=(K^le)&b^le;o[g>>2]=(L^ue)&b^ue;o[y>>2]=(N^fe)&b^fe;o[i>>2]=ce^ae;o[s>>2]=(se^oe)&b^oe;o[ne>>2]=(ie^re)&b^re;o[$>>2]=(te^ee)&b^ee;o[X>>2]=(Z^J)&b^J;o[Q>>2]=(Y^W)&b^W;o[G>>2]=(V^H)&b^H;o[q>>2]=(z^K)&b^K;o[U>>2]=(F^L)&b^L;o[B>>2]=(j^N)&b^N;o[a>>2]=(D^0-D)&b^D;o[P>>2]=(M^0-M)&b^M;o[x>>2]=(C^0-C)&b^C;o[R>>2]=(O^0-O)&b^O;o[S>>2]=(T^0-T)&b^T;o[E>>2]=(k^0-k)&b^k;o[A>>2]=(w^0-w)&b^w;o[c>>2]=(n^0-n)&b^n;o[_>>2]=(f^0-f)&b^f;o[v>>2]=(t^0-t)&b^t;return}function hi(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0,c=0,f=0;i=h;h=h+336|0;o=i+144|0;c=i+96|0;s=i+48|0;a=i;f=i+176|0;pi(n,32,t)|0;r[t>>0]=r[t>>0]&-8;n=t+31|0;r[n>>0]=r[n>>0]&63|64;li(f,t);Wr(c,f+80|0);Xr(s,f,c);Xr(a,f+40|0,c);Jr(e,a);Jr(o,s);n=e+31|0;r[n>>0]=r[n>>0]^r[o>>0]<<7&255;h=i;return}function pi(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0;l=h;h=h+208|0;c=l;f=c+72|0;o[f>>2]=0;u=c;o[u>>2]=0;o[u+4>>2]=0;u=c+8|0;o[u>>2]=-205731576;o[u+4>>2]=1779033703;u=c+16|0;o[u>>2]=-2067093701;o[u+4>>2]=-1150833019;u=c+24|0;o[u>>2]=-23791573;o[u+4>>2]=1013904242;u=c+32|0;o[u>>2]=1595750129;o[u+4>>2]=-1521486534;u=c+40|0;o[u>>2]=-1377402159;o[u+4>>2]=1359893119;u=c+48|0;o[u>>2]=725511199;o[u+4>>2]=-1694144372;u=c+56|0;o[u>>2]=-79577749;o[u+4>>2]=528734635;u=c+64|0;o[u>>2]=327033209;o[u+4>>2]=1541459225;if(!e){u=1;h=l;return u|0}e:do{if(t|0){u=c+76|0;s=0;while(1){if(!((s|0)==0&t>>>0>127)){a=128-s|0;a=t>>>0>>0?t:a;if(a|0){i=0;do{r[i+s+(c+76)>>0]=r[e+i>>0]|0;i=i+1|0}while(i>>>0>>0)}s=s+a|0;o[f>>2]=s;e=e+a|0;t=t-a|0;if((s|0)==128){mi(c,u);s=c;s=ks(o[s>>2]|0,o[s+4>>2]|0,1024,0)|0;a=c;o[a>>2]=s;o[a+4>>2]=I;o[f>>2]=0}}else{mi(c,e);s=c;s=ks(o[s>>2]|0,o[s+4>>2]|0,1024,0)|0;a=c;o[a>>2]=s;o[a+4>>2]=I;t=t+-128|0;e=e+128|0}if(!t)break e;s=o[f>>2]|0}}}while(0);u=gi(c,n)|0;h=l;return u|0}function mi(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0;E=h;h=h+704|0;a=E+640|0;A=E;w=e+8|0;n=a;r=w;i=n+64|0;do{o[n>>2]=o[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(i|0));n=0;do{b=t+(n<<3)|0;d=Cs(s[b>>0]|0|0,0,56)|0;_=I;l=Cs(s[b+1>>0]|0|0,0,48)|0;_=I|_;p=Cs(s[b+2>>0]|0|0,0,40)|0;_=_|I|(s[b+3>>0]|0);m=Cs(s[b+4>>0]|0|0,0,24)|0;_=_|I;g=Cs(s[b+5>>0]|0|0,0,16)|0;_=_|I;y=Cs(s[b+6>>0]|0|0,0,8)|0;v=A+(n<<3)|0;o[v>>2]=l|d|p|m|g|y|(s[b+7>>0]|0);o[v+4>>2]=_|I;n=n+1|0}while((n|0)!=16);i=A;n=16;r=o[i>>2]|0;i=o[i+4>>2]|0;do{u=A+(n+-2<<3)|0;k=o[u>>2]|0;u=o[u+4>>2]|0;l=xs(k|0,u|0,19)|0;p=I;d=Cs(k|0,u|0,45)|0;p=p|I;c=xs(k|0,u|0,61)|0;t=I;f=Cs(k|0,u|0,3)|0;t=t|I;u=xs(k|0,u|0,6)|0;p=t^I^p;t=A+(n+-7<<3)|0;k=o[t>>2]|0;t=o[t+4>>2]|0;b=A+(n+-15<<3)|0;T=r;r=o[b>>2]|0;S=i;i=o[b+4>>2]|0;b=xs(r|0,i|0,1)|0;_=I;v=Cs(r|0,i|0,63)|0;_=_|I;m=xs(r|0,i|0,8)|0;R=I;g=Cs(r|0,i|0,56)|0;R=R|I;y=xs(r|0,i|0,7)|0;_=R^I^_;t=ks(T|0,S|0,k|0,t|0)|0;p=ks(t|0,I|0,(c|f)^u^(l|d)|0,p|0)|0;_=ks(p|0,I|0,(m|g)^y^(b|v)|0,_|0)|0;v=A+(n<<3)|0;o[v>>2]=_;o[v+4>>2]=I;n=n+1|0}while((n|0)!=80);l=a+56|0;i=a+32|0;c=a+48|0;f=a+40|0;p=a;g=a+8|0;b=a+16|0;v=a+24|0;n=0;r=o[i>>2]|0;i=o[i+4>>2]|0;t=o[c>>2]|0;a=o[f>>2]|0;c=o[c+4>>2]|0;f=o[f+4>>2]|0;u=o[l>>2]|0;l=o[l+4>>2]|0;d=o[p>>2]|0;p=o[p+4>>2]|0;m=o[g>>2]|0;g=o[g+4>>2]|0;y=o[b>>2]|0;b=o[b+4>>2]|0;_=o[v>>2]|0;v=o[v+4>>2]|0;do{S=xs(r|0,i|0,14)|0;Q=I;T=Cs(r|0,i|0,50)|0;Q=Q|I;Y=xs(r|0,i|0,18)|0;K=I;L=Cs(r|0,i|0,46)|0;K=Q^(K|I);Q=xs(r|0,i|0,41)|0;V=I;B=Cs(r|0,i|0,23)|0;V=K^(V|I);K=32064+(n<<3)|0;C=A+(n<<3)|0;N=o[C>>2]|0;C=o[C+4>>2]|0;K=ks(o[K>>2]|0,o[K+4>>2]|0,u|0,l|0)|0;V=ks(K|0,I|0,(S|T)^(Y|L)^(Q|B)|0,V|0)|0;C=ks(V|0,I|0,N|0,C|0)|0;C=ks(C|0,I|0,(a^t)&r^t|0,(f^c)&i^c|0)|0;N=I;V=xs(d|0,p|0,28)|0;B=I;Q=Cs(d|0,p|0,36)|0;B=B|I;L=xs(d|0,p|0,34)|0;Y=I;T=Cs(d|0,p|0,30)|0;Y=B^(Y|I);B=xs(d|0,p|0,39)|0;S=I;K=Cs(d|0,p|0,25)|0;S=Y^(S|I);Y=ks(_|0,v|0,C|0,N|0)|0;F=I;N=ks((m|d)&y|m&d|0,(g|p)&b|g&p|0,C|0,N|0)|0;S=ks(N|0,I|0,(V|Q)^(L|T)^(B|K)|0,S|0)|0;K=I;B=xs(Y|0,F|0,14)|0;T=I;L=Cs(Y|0,F|0,50)|0;T=T|I;Q=xs(Y|0,F|0,18)|0;V=I;N=Cs(Y|0,F|0,46)|0;V=T^(V|I);T=xs(Y|0,F|0,41)|0;C=I;R=Cs(Y|0,F|0,23)|0;C=V^(C|I);V=n|1;H=32064+(V<<3)|0;M=o[H>>2]|0;H=o[H+4>>2]|0;V=A+(V<<3)|0;j=o[V>>2]|0;V=o[V+4>>2]|0;P=ks(Y&(a^r)^a|0,F&(f^i)^f|0,t|0,c|0)|0;H=ks(P|0,I|0,M|0,H|0)|0;V=ks(H|0,I|0,j|0,V|0)|0;C=ks(V|0,I|0,(B|L)^(Q|N)^(T|R)|0,C|0)|0;R=I;T=xs(S|0,K|0,28)|0;N=I;Q=Cs(S|0,K|0,36)|0;N=N|I;L=xs(S|0,K|0,34)|0;B=I;V=Cs(S|0,K|0,30)|0;B=N^(B|I);N=xs(S|0,K|0,39)|0;j=I;H=Cs(S|0,K|0,25)|0;j=ks((T|Q)^(L|V)^(N|H)|0,B^(j|I)|0,(S|d)&m|S&d|0,(K|p)&g|K&p|0)|0;B=I;H=ks(C|0,R|0,y|0,b|0)|0;N=I;R=ks(j|0,B|0,C|0,R|0)|0;C=I;B=xs(H|0,N|0,14)|0;j=I;V=Cs(H|0,N|0,50)|0;j=j|I;L=xs(H|0,N|0,18)|0;Q=I;T=Cs(H|0,N|0,46)|0;Q=j^(Q|I);j=xs(H|0,N|0,41)|0;M=I;P=Cs(H|0,N|0,23)|0;M=Q^(M|I);Q=n|2;q=32064+(Q<<3)|0;Q=A+(Q<<3)|0;D=o[Q>>2]|0;Q=o[Q+4>>2]|0;q=ks(o[q>>2]|0,o[q+4>>2]|0,a|0,f|0)|0;Q=ks(q|0,I|0,D|0,Q|0)|0;Q=ks(Q|0,I|0,H&(Y^r)^r|0,N&(F^i)^i|0)|0;M=ks(Q|0,I|0,(B|V)^(L|T)^(j|P)|0,M|0)|0;P=I;j=xs(R|0,C|0,28)|0;T=I;L=Cs(R|0,C|0,36)|0;T=T|I;V=xs(R|0,C|0,34)|0;B=I;Q=Cs(R|0,C|0,30)|0;B=T^(B|I);T=xs(R|0,C|0,39)|0;D=I;q=Cs(R|0,C|0,25)|0;D=ks((j|L)^(V|Q)^(T|q)|0,B^(D|I)|0,(R|S)&d|R&S|0,(C|K)&p|C&K|0)|0;B=I;q=ks(M|0,P|0,m|0,g|0)|0;T=I;P=ks(D|0,B|0,M|0,P|0)|0;M=I;B=xs(q|0,T|0,14)|0;D=I;Q=Cs(q|0,T|0,50)|0;D=D|I;V=xs(q|0,T|0,18)|0;L=I;j=Cs(q|0,T|0,46)|0;L=D^(L|I);D=xs(q|0,T|0,41)|0;O=I;x=Cs(q|0,T|0,23)|0;O=L^(O|I);L=n|3;U=32064+(L<<3)|0;L=A+(L<<3)|0;W=o[L>>2]|0;L=o[L+4>>2]|0;U=ks(o[U>>2]|0,o[U+4>>2]|0,r|0,i|0)|0;L=ks(U|0,I|0,W|0,L|0)|0;L=ks(L|0,I|0,q&(H^Y)^Y|0,T&(N^F)^F|0)|0;O=ks(L|0,I|0,(B|Q)^(V|j)^(D|x)|0,O|0)|0;x=I;D=xs(P|0,M|0,28)|0;j=I;V=Cs(P|0,M|0,36)|0;j=j|I;Q=xs(P|0,M|0,34)|0;B=I;L=Cs(P|0,M|0,30)|0;B=j^(B|I);j=xs(P|0,M|0,39)|0;W=I;U=Cs(P|0,M|0,25)|0;W=ks((D|V)^(Q|L)^(j|U)|0,B^(W|I)|0,(P|R)&S|P&R|0,(M|C)&K|M&C|0)|0;B=I;U=ks(O|0,x|0,d|0,p|0)|0;j=I;x=ks(W|0,B|0,O|0,x|0)|0;O=I;B=xs(U|0,j|0,14)|0;W=I;L=Cs(U|0,j|0,50)|0;W=W|I;Q=xs(U|0,j|0,18)|0;V=I;D=Cs(U|0,j|0,46)|0;V=W^(V|I);W=xs(U|0,j|0,41)|0;G=I;k=Cs(U|0,j|0,23)|0;G=V^(G|I);V=n|4;X=32064+(V<<3)|0;V=A+(V<<3)|0;z=o[V>>2]|0;V=o[V+4>>2]|0;F=ks(o[X>>2]|0,o[X+4>>2]|0,Y|0,F|0)|0;V=ks(F|0,I|0,z|0,V|0)|0;V=ks(V|0,I|0,U&(q^H)^H|0,j&(T^N)^N|0)|0;G=ks(V|0,I|0,(B|L)^(Q|D)^(W|k)|0,G|0)|0;k=I;W=xs(x|0,O|0,28)|0;D=I;Q=Cs(x|0,O|0,36)|0;D=D|I;L=xs(x|0,O|0,34)|0;B=I;V=Cs(x|0,O|0,30)|0;B=D^(B|I);D=xs(x|0,O|0,39)|0;z=I;F=Cs(x|0,O|0,25)|0;z=ks((W|Q)^(L|V)^(D|F)|0,B^(z|I)|0,(x|P)&R|x&P|0,(O|M)&C|O&M|0)|0;B=I;u=ks(G|0,k|0,S|0,K|0)|0;l=I;_=ks(z|0,B|0,G|0,k|0)|0;v=I;k=xs(u|0,l|0,14)|0;G=I;B=Cs(u|0,l|0,50)|0;G=G|I;z=xs(u|0,l|0,18)|0;K=I;S=Cs(u|0,l|0,46)|0;K=G^(K|I);G=xs(u|0,l|0,41)|0;F=I;D=Cs(u|0,l|0,23)|0;F=K^(F|I);K=n|5;V=32064+(K<<3)|0;K=A+(K<<3)|0;L=o[K>>2]|0;K=o[K+4>>2]|0;N=ks(o[V>>2]|0,o[V+4>>2]|0,H|0,N|0)|0;K=ks(N|0,I|0,L|0,K|0)|0;K=ks(K|0,I|0,u&(U^q)^q|0,l&(j^T)^T|0)|0;F=ks(K|0,I|0,(k|B)^(z|S)^(G|D)|0,F|0)|0;D=I;G=xs(_|0,v|0,28)|0;S=I;z=Cs(_|0,v|0,36)|0;S=S|I;B=xs(_|0,v|0,34)|0;k=I;K=Cs(_|0,v|0,30)|0;k=S^(k|I);S=xs(_|0,v|0,39)|0;L=I;N=Cs(_|0,v|0,25)|0;L=ks((G|z)^(B|K)^(S|N)|0,k^(L|I)|0,(_|x)&P|_&x|0,(v|O)&M|v&O|0)|0;k=I;t=ks(F|0,D|0,R|0,C|0)|0;c=I;y=ks(L|0,k|0,F|0,D|0)|0;b=I;D=xs(t|0,c|0,14)|0;F=I;k=Cs(t|0,c|0,50)|0;F=F|I;L=xs(t|0,c|0,18)|0;C=I;R=Cs(t|0,c|0,46)|0;C=F^(C|I);F=xs(t|0,c|0,41)|0;N=I;S=Cs(t|0,c|0,23)|0;N=C^(N|I);C=n|6;K=32064+(C<<3)|0;C=A+(C<<3)|0;B=o[C>>2]|0;C=o[C+4>>2]|0;T=ks(o[K>>2]|0,o[K+4>>2]|0,q|0,T|0)|0;C=ks(T|0,I|0,B|0,C|0)|0;C=ks(C|0,I|0,t&(u^U)^U|0,c&(l^j)^j|0)|0;N=ks(C|0,I|0,(D|k)^(L|R)^(F|S)|0,N|0)|0;S=I;F=xs(y|0,b|0,28)|0;R=I;L=Cs(y|0,b|0,36)|0;R=R|I;k=xs(y|0,b|0,34)|0;D=I;C=Cs(y|0,b|0,30)|0;D=R^(D|I);R=xs(y|0,b|0,39)|0;B=I;T=Cs(y|0,b|0,25)|0;B=ks((F|L)^(k|C)^(R|T)|0,D^(B|I)|0,(y|_)&x|y&_|0,(b|v)&O|b&v|0)|0;D=I;a=ks(N|0,S|0,P|0,M|0)|0;f=I;m=ks(B|0,D|0,N|0,S|0)|0;g=I;S=xs(a|0,f|0,14)|0;N=I;D=Cs(a|0,f|0,50)|0;N=N|I;B=xs(a|0,f|0,18)|0;M=I;P=Cs(a|0,f|0,46)|0;M=N^(M|I);N=xs(a|0,f|0,41)|0;T=I;R=Cs(a|0,f|0,23)|0;T=M^(T|I);M=n|7;C=32064+(M<<3)|0;M=A+(M<<3)|0;k=o[M>>2]|0;M=o[M+4>>2]|0;C=ks(U|0,j|0,o[C>>2]|0,o[C+4>>2]|0)|0;M=ks(C|0,I|0,k|0,M|0)|0;M=ks(M|0,I|0,a&(t^u)^u|0,f&(c^l)^l|0)|0;T=ks(M|0,I|0,(S|D)^(B|P)^(N|R)|0,T|0)|0;R=I;N=xs(m|0,g|0,28)|0;P=I;B=Cs(m|0,g|0,36)|0;P=P|I;D=xs(m|0,g|0,34)|0;S=I;M=Cs(m|0,g|0,30)|0;S=P^(S|I);P=xs(m|0,g|0,39)|0;k=I;C=Cs(m|0,g|0,25)|0;k=ks((N|B)^(D|M)^(P|C)|0,S^(k|I)|0,(m|y)&_|m&y|0,(g|b)&v|g&b|0)|0;S=I;r=ks(T|0,R|0,x|0,O|0)|0;i=I;d=ks(k|0,S|0,T|0,R|0)|0;p=I;n=n+8|0}while(n>>>0<80);Y=w;Y=ks(d|0,p|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;X=w;o[X>>2]=Y;o[X+4>>2]=I;X=e+16|0;Y=X;Y=ks(m|0,g|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+24|0;Y=X;Y=ks(y|0,b|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+32|0;Y=X;Y=ks(_|0,v|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+40|0;Y=X;Y=ks(r|0,i|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+48|0;Y=X;Y=ks(a|0,f|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+56|0;Y=X;Y=ks(t|0,c|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+64|0;Y=X;Y=ks(u|0,l|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;h=E;return}function gi(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,a=0;if((e|0)==0|(t|0)==0){s=1;return s|0}s=e+72|0;n=o[s>>2]|0;if(n>>>0>127){s=1;return s|0}a=Cs(n|0,0,3)|0;i=e;a=ks(o[i>>2]|0,o[i+4>>2]|0,a|0,I|0)|0;i=e;o[i>>2]=a;o[i+4>>2]=I;i=e+76|0;o[s>>2]=n+1;r[e+76+n>>0]=-128;n=o[s>>2]|0;if(n>>>0>112){if(n>>>0<128)do{o[s>>2]=n+1;r[e+76+n>>0]=0;n=o[s>>2]|0}while(n>>>0<128);mi(e,i);o[s>>2]=0;n=0}do{o[s>>2]=n+1;r[e+76+n>>0]=0;n=o[s>>2]|0}while(n>>>0<120);s=e;a=o[s>>2]|0;s=o[s+4>>2]|0;n=xs(a|0,s|0,56)|0;r[e+196>>0]=n;n=xs(a|0,s|0,48)|0;r[e+197>>0]=n;n=xs(a|0,s|0,40)|0;r[e+198>>0]=n;r[e+199>>0]=s;n=xs(a|0,s|0,24)|0;r[e+200>>0]=n;n=xs(a|0,s|0,16)|0;r[e+201>>0]=n;s=xs(a|0,s|0,8)|0;r[e+202>>0]=s;r[e+203>>0]=a;mi(e,i);a=e+8|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+1>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+2>>0]=s;r[t+3>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+4>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+5>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+6>>0]=s;r[t+7>>0]=o[a>>2];a=e+16|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+8>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+9>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+10>>0]=s;r[t+11>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+12>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+13>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+14>>0]=s;r[t+15>>0]=o[a>>2];a=e+24|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+16>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+17>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+18>>0]=s;r[t+19>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+20>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+21>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+22>>0]=s;r[t+23>>0]=o[a>>2];a=e+32|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+24>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+25>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+26>>0]=s;r[t+27>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+28>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+29>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+30>>0]=s;r[t+31>>0]=o[a>>2];a=e+40|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+32>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+33>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+34>>0]=s;r[t+35>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+36>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+37>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+38>>0]=s;r[t+39>>0]=o[a>>2];a=e+48|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+40>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+41>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+42>>0]=s;r[t+43>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+44>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+45>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+46>>0]=s;r[t+47>>0]=o[a>>2];a=e+56|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+48>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+49>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+50>>0]=s;r[t+51>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+52>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+53>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+54>>0]=s;r[t+55>>0]=o[a>>2];a=e+64|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+56>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+57>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+58>>0]=s;r[t+59>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+60>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+61>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+62>>0]=s;r[t+63>>0]=o[a>>2];a=0;return a|0}function yi(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0;k=h;h=h+768|0;y=k+240|0;b=k+192|0;_=k+144|0;A=k+96|0;w=k+32|0;E=k;d=k+272|0;p=k+600|0;m=k+480|0;if((s[e+63>>0]|0)>31){E=0;h=k;return E|0}if(ui(p,i)|0){E=0;h=k;return E|0}g=d+72|0;o[g>>2]=0;v=d;o[v>>2]=0;o[v+4>>2]=0;v=d+8|0;o[v>>2]=-205731576;o[v+4>>2]=1779033703;v=d+16|0;o[v>>2]=-2067093701;o[v+4>>2]=-1150833019;v=d+24|0;o[v>>2]=-23791573;o[v+4>>2]=1013904242;v=d+32|0;o[v>>2]=1595750129;o[v+4>>2]=-1521486534;v=d+40|0;o[v>>2]=-1377402159;o[v+4>>2]=1359893119;v=d+48|0;o[v>>2]=725511199;o[v+4>>2]=-1694144372;v=d+56|0;o[v>>2]=-79577749;o[v+4>>2]=528734635;v=d+64|0;o[v>>2]=327033209;o[v+4>>2]=1541459225;v=d+76|0;r[d+76>>0]=r[e>>0]|0;r[d+77>>0]=r[e+1>>0]|0;r[d+78>>0]=r[e+2>>0]|0;r[d+79>>0]=r[e+3>>0]|0;r[d+80>>0]=r[e+4>>0]|0;r[d+81>>0]=r[e+5>>0]|0;r[d+82>>0]=r[e+6>>0]|0;r[d+83>>0]=r[e+7>>0]|0;r[d+84>>0]=r[e+8>>0]|0;r[d+85>>0]=r[e+9>>0]|0;r[d+86>>0]=r[e+10>>0]|0;r[d+87>>0]=r[e+11>>0]|0;r[d+88>>0]=r[e+12>>0]|0;r[d+89>>0]=r[e+13>>0]|0;r[d+90>>0]=r[e+14>>0]|0;r[d+91>>0]=r[e+15>>0]|0;r[d+92>>0]=r[e+16>>0]|0;r[d+93>>0]=r[e+17>>0]|0;r[d+94>>0]=r[e+18>>0]|0;r[d+95>>0]=r[e+19>>0]|0;r[d+96>>0]=r[e+20>>0]|0;r[d+97>>0]=r[e+21>>0]|0;r[d+98>>0]=r[e+22>>0]|0;r[d+99>>0]=r[e+23>>0]|0;r[d+100>>0]=r[e+24>>0]|0;r[d+101>>0]=r[e+25>>0]|0;r[d+102>>0]=r[e+26>>0]|0;r[d+103>>0]=r[e+27>>0]|0;r[d+104>>0]=r[e+28>>0]|0;r[d+105>>0]=r[e+29>>0]|0;r[d+106>>0]=r[e+30>>0]|0;r[d+107>>0]=r[e+31>>0]|0;o[g>>2]=32;e:do{if(i|0?(f=o[g>>2]|0,f>>>0<=128):0){a=32;while(1){if(!((f|0)==0&a>>>0>127)){l=128-f|0;l=a>>>0>>0?a:l;if(l|0){u=0;do{r[u+f+(d+76)>>0]=r[i+u>>0]|0;u=u+1|0}while(u>>>0>>0)}u=f+l|0;o[g>>2]=u;i=i+l|0;a=a-l|0;if((u|0)==128){mi(d,v);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;o[g>>2]=0}}else{mi(d,i);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;a=a+-128|0;i=i+128|0}if(!a)break e;f=o[g>>2]|0}}}while(0);e:do{if(t|0?(c=o[g>>2]|0,!((n|0)==0|c>>>0>128)):0)while(1){if(!((c|0)==0&n>>>0>127)){i=128-c|0;i=n>>>0>>0?n:i;if(i|0){a=0;do{r[a+c+(d+76)>>0]=r[t+a>>0]|0;a=a+1|0}while(a>>>0>>0)}l=c+i|0;o[g>>2]=l;t=t+i|0;n=n-i|0;if((l|0)==128){mi(d,v);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;o[g>>2]=0}}else{mi(d,t);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;n=n+-128|0;t=t+128|0}if(!n)break e;c=o[g>>2]|0}}while(0);gi(d,w)|0;ei(w);ri(m,w,p,e+32|0);Wr(b,m+80|0);Xr(_,m,b);Xr(A,m+40|0,b);Jr(E,A);Jr(y,_);A=E+31|0;w=r[A>>0]^r[y>>0]<<7&255;r[A>>0]=w;E=(r[e+1>>0]^r[E+1>>0]|r[e>>0]^r[E>>0]|r[e+2>>0]^r[E+2>>0]|r[e+3>>0]^r[E+3>>0]|r[e+4>>0]^r[E+4>>0]|r[e+5>>0]^r[E+5>>0]|r[e+6>>0]^r[E+6>>0]|r[e+7>>0]^r[E+7>>0]|r[e+8>>0]^r[E+8>>0]|r[e+9>>0]^r[E+9>>0]|r[e+10>>0]^r[E+10>>0]|r[e+11>>0]^r[E+11>>0]|r[e+12>>0]^r[E+12>>0]|r[e+13>>0]^r[E+13>>0]|r[e+14>>0]^r[E+14>>0]|r[e+15>>0]^r[E+15>>0]|r[e+16>>0]^r[E+16>>0]|r[e+17>>0]^r[E+17>>0]|r[e+18>>0]^r[E+18>>0]|r[e+19>>0]^r[E+19>>0]|r[e+20>>0]^r[E+20>>0]|r[e+21>>0]^r[E+21>>0]|r[e+22>>0]^r[E+22>>0]|r[e+23>>0]^r[E+23>>0]|r[e+24>>0]^r[E+24>>0]|r[e+25>>0]^r[E+25>>0]|r[e+26>>0]^r[E+26>>0]|r[e+27>>0]^r[E+27>>0]|r[e+28>>0]^r[E+28>>0]|r[e+29>>0]^r[E+29>>0]|r[e+30>>0]^r[E+30>>0]|r[e+31>>0]^w)<<24>>24==0&1;h=k;return E|0}function bi(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0;D=h;h=h+672|0;w=D+272|0;k=D+224|0;S=D+176|0;T=D+128|0;M=D+304|0;O=D+64|0;x=D;p=D+512|0;C=M+72|0;o[C>>2]=0;m=M;o[m>>2]=0;o[m+4>>2]=0;m=M+8|0;g=m;o[g>>2]=-205731576;o[g+4>>2]=1779033703;g=M+16|0;y=g;o[y>>2]=-2067093701;o[y+4>>2]=-1150833019;y=M+24|0;b=y;o[b>>2]=-23791573;o[b+4>>2]=1013904242;b=M+32|0;_=b;o[_>>2]=1595750129;o[_+4>>2]=-1521486534;_=M+40|0;v=_;o[v>>2]=-1377402159;o[v+4>>2]=1359893119;v=M+48|0;A=v;o[A>>2]=725511199;o[A+4>>2]=-1694144372;A=M+56|0;E=A;o[E>>2]=-79577749;o[E+4>>2]=528734635;E=M+64|0;P=E;o[P>>2]=327033209;o[P+4>>2]=1541459225;P=M+76|0;r[M+76>>0]=r[s+32>>0]|0;r[M+77>>0]=r[s+33>>0]|0;r[M+78>>0]=r[s+34>>0]|0;r[M+79>>0]=r[s+35>>0]|0;r[M+80>>0]=r[s+36>>0]|0;r[M+81>>0]=r[s+37>>0]|0;r[M+82>>0]=r[s+38>>0]|0;r[M+83>>0]=r[s+39>>0]|0;r[M+84>>0]=r[s+40>>0]|0;r[M+85>>0]=r[s+41>>0]|0;r[M+86>>0]=r[s+42>>0]|0;r[M+87>>0]=r[s+43>>0]|0;r[M+88>>0]=r[s+44>>0]|0;r[M+89>>0]=r[s+45>>0]|0;r[M+90>>0]=r[s+46>>0]|0;r[M+91>>0]=r[s+47>>0]|0;r[M+92>>0]=r[s+48>>0]|0;r[M+93>>0]=r[s+49>>0]|0;r[M+94>>0]=r[s+50>>0]|0;r[M+95>>0]=r[s+51>>0]|0;r[M+96>>0]=r[s+52>>0]|0;r[M+97>>0]=r[s+53>>0]|0;r[M+98>>0]=r[s+54>>0]|0;r[M+99>>0]=r[s+55>>0]|0;r[M+100>>0]=r[s+56>>0]|0;r[M+101>>0]=r[s+57>>0]|0;r[M+102>>0]=r[s+58>>0]|0;r[M+103>>0]=r[s+59>>0]|0;r[M+104>>0]=r[s+60>>0]|0;r[M+105>>0]=r[s+61>>0]|0;r[M+106>>0]=r[s+62>>0]|0;r[M+107>>0]=r[s+63>>0]|0;o[C>>2]=32;R=(t|0)==0;e:do{if(!R?(u=o[C>>2]|0,!((n|0)==0|u>>>0>128)):0){a=n;c=t;while(1){if(!((u|0)==0&a>>>0>127)){d=128-u|0;d=a>>>0>>0?a:d;if(d|0){l=0;do{r[l+u+(M+76)>>0]=r[c+l>>0]|0;l=l+1|0}while(l>>>0>>0)}l=u+d|0;o[C>>2]=l;c=c+d|0;a=a-d|0;if((l|0)==128){mi(M,P);l=M;l=ks(o[l>>2]|0,o[l+4>>2]|0,1024,0)|0;d=M;o[d>>2]=l;o[d+4>>2]=I;o[C>>2]=0}}else{mi(M,c);l=M;l=ks(o[l>>2]|0,o[l+4>>2]|0,1024,0)|0;d=M;o[d>>2]=l;o[d+4>>2]=I;a=a+-128|0;c=c+128|0}if(!a)break e;u=o[C>>2]|0}}}while(0);gi(M,x)|0;ei(x);li(p,x);Wr(k,p+80|0);Xr(S,p,k);Xr(T,p+40|0,k);Jr(e,T);Jr(w,S);T=e+31|0;r[T>>0]=r[T>>0]^r[w>>0]<<7&255;o[C>>2]=0;T=M;o[T>>2]=0;o[T+4>>2]=0;T=m;o[T>>2]=-205731576;o[T+4>>2]=1779033703;T=g;o[T>>2]=-2067093701;o[T+4>>2]=-1150833019;T=y;o[T>>2]=-23791573;o[T+4>>2]=1013904242;T=b;o[T>>2]=1595750129;o[T+4>>2]=-1521486534;T=_;o[T>>2]=-1377402159;o[T+4>>2]=1359893119;T=v;o[T>>2]=725511199;o[T+4>>2]=-1694144372;T=A;o[T>>2]=-79577749;o[T+4>>2]=528734635;T=E;o[T>>2]=327033209;o[T+4>>2]=1541459225;if(e|0){r[M+76>>0]=r[e>>0]|0;r[M+77>>0]=r[e+1>>0]|0;r[M+78>>0]=r[e+2>>0]|0;r[M+79>>0]=r[e+3>>0]|0;r[M+80>>0]=r[e+4>>0]|0;r[M+81>>0]=r[e+5>>0]|0;r[M+82>>0]=r[e+6>>0]|0;r[M+83>>0]=r[e+7>>0]|0;r[M+84>>0]=r[e+8>>0]|0;r[M+85>>0]=r[e+9>>0]|0;r[M+86>>0]=r[e+10>>0]|0;r[M+87>>0]=r[e+11>>0]|0;r[M+88>>0]=r[e+12>>0]|0;r[M+89>>0]=r[e+13>>0]|0;r[M+90>>0]=r[e+14>>0]|0;r[M+91>>0]=r[e+15>>0]|0;r[M+92>>0]=r[e+16>>0]|0;r[M+93>>0]=r[e+17>>0]|0;r[M+94>>0]=r[e+18>>0]|0;r[M+95>>0]=r[e+19>>0]|0;r[M+96>>0]=r[e+20>>0]|0;r[M+97>>0]=r[e+21>>0]|0;r[M+98>>0]=r[e+22>>0]|0;r[M+99>>0]=r[e+23>>0]|0;r[M+100>>0]=r[e+24>>0]|0;r[M+101>>0]=r[e+25>>0]|0;r[M+102>>0]=r[e+26>>0]|0;r[M+103>>0]=r[e+27>>0]|0;r[M+104>>0]=r[e+28>>0]|0;r[M+105>>0]=r[e+29>>0]|0;r[M+106>>0]=r[e+30>>0]|0;r[M+107>>0]=r[e+31>>0]|0;o[C>>2]=32}e:do{if(i|0?(f=o[C>>2]|0,f>>>0<=128):0){a=32;while(1){if(!((f|0)==0&a>>>0>127)){u=128-f|0;u=a>>>0>>0?a:u;if(u|0){c=0;do{r[c+f+(M+76)>>0]=r[i+c>>0]|0;c=c+1|0}while(c>>>0>>0)}T=f+u|0;o[C>>2]=T;i=i+u|0;a=a-u|0;if((T|0)==128){mi(M,P);S=M;S=ks(o[S>>2]|0,o[S+4>>2]|0,1024,0)|0;T=M;o[T>>2]=S;o[T+4>>2]=I;o[C>>2]=0}}else{mi(M,i);S=M;S=ks(o[S>>2]|0,o[S+4>>2]|0,1024,0)|0;T=M;o[T>>2]=S;o[T+4>>2]=I;a=a+-128|0;i=i+128|0}if(!a)break e;f=o[C>>2]|0}}}while(0);if(R){gi(M,O)|0;ei(O);M=e+32|0;ti(M,O,s,x);h=D;return}a=o[C>>2]|0;if((n|0)==0|a>>>0>128){gi(M,O)|0;ei(O);M=e+32|0;ti(M,O,s,x);h=D;return}i=a;while(1){if(!((i|0)==0&n>>>0>127)){c=128-i|0;c=n>>>0>>0?n:c;if(c|0){a=0;do{r[a+i+(M+76)>>0]=r[t+a>>0]|0;a=a+1|0}while(a>>>0>>0)}R=i+c|0;o[C>>2]=R;t=t+c|0;n=n-c|0;if((R|0)==128){mi(M,P);T=M;T=ks(o[T>>2]|0,o[T+4>>2]|0,1024,0)|0;R=M;o[R>>2]=T;o[R+4>>2]=I;o[C>>2]=0}}else{mi(M,t);T=M;T=ks(o[T>>2]|0,o[T+4>>2]|0,1024,0)|0;R=M;o[R>>2]=T;o[R+4>>2]=I;n=n+-128|0;t=t+128|0}if(!n)break;i=o[C>>2]|0}gi(M,O)|0;ei(O);M=e+32|0;ti(M,O,s,x);h=D;return}function _i(e,t,n){e=e|0;t=t|0;n=n|0;o[e+128>>2]=n;n=t;t=e+128|0;do{r[e>>0]=r[n>>0]|0;e=e+1|0;n=n+1|0}while((e|0)<(t|0));return}function vi(e){e=e|0;return 132}function Ai(e,t){e=e|0;t=t|0;t=Fe(t,e,128)|0;return Ne(t,o[e+128>>2]|0)|0}function wi(e,t,n){e=e|0;t=t|0;n=n|0;return je(qe(t,n,e,128)|0,n,e+128|0)|0}function Ei(e){e=e|0;var t=0,n=0,r=0,i=0;r=e+128|0;i=(o[r>>2]|0)+1|0;o[r>>2]=i;if(i&16777215){n=0;r=16777215;while(1){t=n+1|0;r=r>>>8;if(n>>>0>2|(r&i|0)==0)break;else n=t}if(n>>>0>2)return}else t=0;r=e+(t<<5)|0;n=3;while(1){Et(r,32,38116+n|0,1,e+(n<<5)|0);if((n|0)>(t|0))n=n+-1|0;else break}return}function ki(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0;s=e+128|0;n=o[s>>2]|0;r=(t>>>24)-(n>>>24)|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=3}break}case 1:{i=5;break}default:{n=r&255;i=3}}if((i|0)==3){do{Et(e,32,38116,1,e);n=n+-1|0}while(n>>>0>1);i=5}if((i|0)==5){Et(e,32,38119,1,e+96|0);Et(e,32,38118,1,e+64|0);Et(e,32,38117,1,e+32|0);Et(e,32,38116,1,e);n=t&-16777216;o[s>>2]=n}r=(t>>>16)-(n>>>16)|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=8}break}case 1:{i=10;break}default:{n=r&255;i=8}}if((i|0)==8){r=e+32|0;do{Et(r,32,38117,1,r);n=n+-1|0}while(n>>>0>1);i=10}if((i|0)==10){n=e+32|0;Et(n,32,38119,1,e+96|0);Et(n,32,38118,1,e+64|0);Et(n,32,38117,1,e+32|0);n=t&-65536;o[s>>2]=n}r=(t>>>8)-(n>>>8)|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=13}break}case 1:{i=15;break}default:{n=r&255;i=13}}if((i|0)==13){r=e+64|0;do{Et(r,32,38118,1,r);n=n+-1|0}while(n>>>0>1);i=15}if((i|0)==15){n=e+64|0;Et(n,32,38119,1,e+96|0);Et(n,32,38118,1,e+64|0);n=t&-256;o[s>>2]=n}r=t-n|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=18}else return;break}case 1:break;default:{n=r&255;i=18}}if((i|0)==18){r=e+96|0;do{Et(r,32,38119,1,r);n=n+-1|0}while(n>>>0>1)}Et(e+96|0,32,38119,1,e+96|0);o[s>>2]=t;return}function Si(e){e=e|0;if(e>>>0>=16){e=38120;return e|0}e=o[32704+(e<<2)>>2]|0;return e|0}function Ii(e){e=e|0;e=Hs[o[37564>>2]&3](37592,e)|0;return pe((Gs[o[9390]&1](37592)|0)+e|0)|0}function Ti(e,t){e=e|0;t=t|0;t=Hs[o[37564>>2]&3](37592,t)|0;t=(Gs[o[9390]&1](37592)|0)+t|0;return e+(pe(t)|0)+(0-t)|0}function Ri(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,c=0;c=Hs[o[37564>>2]&3](37592,r)|0;s=(Gs[o[9390]&1](37592)|0)+c|0;i=pe(s)|0;a=n+i+(0-s)|0;Qs[o[37568>>2]&3](37592,e,t,a,r,a,c,a,s)|0;me(a,s,n)|0;return i|0}function Oi(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=ge(r)|0;if((s|0)==-1){if(!i){i=-1;return i|0}o[i>>2]=7;i=-1;return i|0}else{ye(n,r,n)|0;r=s-(Gs[o[9390]&1](37592)|0)|0;e=Qs[o[37576>>2]&3](37592,e,t,n,s,n,r,n,r)|0;if(!((i|0)!=0&(e|0)==-1)){i=e;return i|0}o[i>>2]=8;i=-1;return i|0}return 0}function xi(){return 304}function Ci(e){e=e|0;Gr(e,304);return e|0}function Pi(e){e=e|0;Gr(e,304);return 304}function Mi(e){e=e|0;return Si(o[e+300>>2]|0)|0}function Di(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,c=0,f=0;f=h;h=h+240|0;c=f;switch(ge(n)|0){case-1:{o[e+300>>2]=7;c=-1;h=f;return c|0}case 229:{ye(t,n,c)|0;do{if((r[c>>0]|0)==2){t=((s[c+1>>0]<<8|s[c+2>>0])<<8|s[c+3>>0])<<8|s[c+4>>0];n=c+5|0;_i(e,n,t);_i(e+132|0,n,t);t=e+264|0;n=t;i=c+133|0;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));if(!(bt(t,c,165,c+165|0)|0)){o[e+300>>2]=14;t=-1;break}else{o[e+296>>2]=1;t=0;break}}else{o[e+300>>2]=11;t=-1}}while(0);Gr(c,229);c=t;h=f;return c|0}default:{o[e+300>>2]=11;c=-1;h=f;return c|0}}return 0}function Bi(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0;a=h;h=h+176|0;i=a;switch(ge(n)|0){case-1:{o[e+300>>2]=7;i=-1;h=a;return i|0}case 165:{ye(t,n,i)|0;if((r[i>>0]|0)==1){t=((s[i+1>>0]<<8|s[i+2>>0])<<8|s[i+3>>0])<<8|s[i+4>>0];n=i+5|0;_i(e,n,t);_i(e+132|0,n,t);e=e+264|0;t=i+133|0;n=e+32|0;do{r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0}while((e|0)<(n|0));e=0}else{o[e+300>>2]=11;e=-1}Gr(i,165);i=e;h=a;return i|0}default:{o[e+300>>2]=11;i=-1;h=a;return i|0}}return 0}function Ni(e){e=e|0;var t=0,n=0;n=vi(e)|0;t=vi(e+132|0)|0;return Ii(n+5+t+(xe(e+264|0)|0)|0)|0}function ji(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0;f=vi(e)|0;a=e+132|0;s=vi(a)|0;c=e+264|0;s=f+5+s+(xe(c)|0)|0;if((Ii(s)|0)>>>0>i>>>0){o[e+300>>2]=2;f=-1;return f|0}else{f=Ce(Ai(a,Ai(e,Ne(Ti(r,s)|0,2)|0)|0)|0,c)|0;Ue(f,o[e+296>>2]|0)|0;f=Ri(t,n,r,s)|0;return f|0}return 0}function Ui(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0;f=h;h=h+16|0;a=f;c=e+300|0;t=Oi(t,n,r,i,c)|0;if((t|0)==-1){c=-1;h=f;return c|0}s=r+t|0;t=je(r,s,a)|0;if(((o[a>>2]|0)+-1|0)>>>0>1){o[c>>2]=9;c=-1;h=f;return c|0}t=Pe(wi(e+132|0,wi(e,t,s)|0,s)|0,s,e+264|0)|0;n=e+296|0;if((o[a>>2]|0)==1)o[n>>2]=1;else t=Le(t,s,n)|0;if((s|0)==(t|0)){c=i;h=f;return c|0}o[c>>2]=10;c=-1;h=f;return c|0}function Li(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0;s=h;h=h+32|0;i=s;n=ye(t,n,t)|0;if((n|0)==-1){o[e+300>>2]=7;i=-1;h=s;return i|0}Xe(t,n,Gs[o[o[9395]>>2]&1](37580)|0,64,i);do{if((r[i>>0]|0)==3)if(!(o[i+12>>2]|0)){o[e+300>>2]=4;n=-1;break}else{n=Hs[o[(o[9395]|0)+12>>2]&3](37580,o[i+16>>2]|0)|0;break}else{o[e+300>>2]=3;n=-1}}while(0);i=n;h=s;return i|0}function Fi(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var c=0,f=0,u=0,l=0,d=0,p=0;p=h;h=h+160|0;u=p+132|0;d=p;n=ye(t,n,t)|0;if((n|0)==-1){o[e+300>>2]=7;d=-1;h=p;return d|0}Xe(t,n,Gs[o[o[9395]>>2]&1](37580)|0,64,u);e:do{if((r[u>>0]|0)==3){if(o[u+8>>2]|0?(l=u+12|0,o[l>>2]|0):0){if(a|0)o[a>>2]=o[u+4>>2];c=n+-64|0;if(!(bt(e+264|0,t,c,t+c|0)|0)){o[e+300>>2]=14;n=-1;break}f=u+16|0;if((Hs[o[(o[9395]|0)+12>>2]&3](37580,o[f>>2]|0)|0)>>>0>s>>>0){o[e+300>>2]=2;n=-1;break}n=o[u+4>>2]|0;a=e+132|0;do{if((n-(o[e+260>>2]|0)|0)<=-1)if((n-(o[e+128>>2]|0)|0)<0){o[e+300>>2]=12;n=-1;break e}else{Ms(d|0,e|0,132)|0;ki(d,n);break}else{ki(a,n);Ms(d|0,a|0,132)|0}}while(0);n=Qs[o[(o[9395]|0)+16>>2]&3](37580,d,128,t,c,o[l>>2]|0,o[f>>2]|0,i,s)|0;Gr(d,132);if((n|0)==-1){o[e+300>>2]=5;n=-1;break}else{o[e+296>>2]=1;break}}o[e+300>>2]=4;n=-1}else{o[e+300>>2]=3;n=-1}}while(0);d=n;h=p;return d|0}function qi(e){e=e|0;return pe(32)|0}function Ki(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e+300>>2]=2;n=-1;return n|0}else{n=me(e+264|0,32,t)|0;return n|0}return 0}function zi(e){e=e|0;return o[e+128>>2]|0}function Gi(e){e=e|0;return o[e+296>>2]|0}function Hi(e){e=e|0;return pe(165)|0}function Vi(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0;u=h;h=h+144|0;f=u;s=pe(165)|0;if(s>>>0>n>>>0){o[e+300>>2]=2;t=-1;h=u;return t|0}n=e+132|0;do{if((i-(o[e+260>>2]|0)|0)>-1){ki(n,i);Ms(f|0,n|0,132)|0}else{if((i-(o[e+128>>2]|0)|0)>=0){Ms(f|0,e|0,132)|0;ki(f,i);break}o[e+300>>2]=12;t=-1;h=u;return t|0}}while(0);c=t+s+-165|0;r[c>>0]=1;a=c+1|0;r[a>>0]=i>>>24;a=a+1|0;r[a>>0]=i>>>16;a=a+1|0;r[a>>0]=i>>>8;r[a+1>>0]=i;a=t+(s+-161)|0;s=t+(s+-160)|0;n=f;i=s+128|0;do{r[s>>0]=r[n>>0]|0;s=s+1|0;n=n+1|0}while((s|0)<(i|0));s=a+129|0;n=e+264|0;i=s+32|0;do{r[s>>0]=r[n>>0]|0;s=s+1|0;n=n+1|0}while((s|0)<(i|0));t=me(c,165,t)|0;h=u;return t|0}function Qi(e){e=e|0;return Si(o[e>>2]|0)|0}function Wi(){return 100}function Yi(e){e=e|0;Gr(e,100);return e|0}function Xi(e){e=e|0;Gr(e,100);return 100}function Ji(e){e=e|0;return 32}function Zi(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<32){o[e>>2]=1;n=-1;return n|0}else{pt(t,e+4|0);n=0;return n|0}return 0}function $i(e){e=e|0;return pe(32)|0}function eo(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e>>2]=2;n=-1;return n|0}else{me(e+4|0,32,t)|0;n=0;return n|0}return 0}function to(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e>>2]=15;n=-1;return n|0}else{ye(t,n,t)|0;mt(e+4|0,t,e+68|0);n=0;return n|0}return 0}function no(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;It(e+68|0,32,0,0,t,n,r,i);return 0}function ro(e){e=e|0;return pe(32)|0}function io(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;f=h;h=h+32|0;c=f;if((pe(32)|0)>>>0>a>>>0){o[e>>2]=2;c=-1;h=f;return c|0}else{It(e+68|0,32,0,0,r,i,c,32);Et(c,32,t,n,s);me(s,32,s)|0;c=0;h=f;return c|0}return 0}function oo(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;f=h;h=h+256|0;c=f;if((pe(32)|0)>>>0>a>>>0){o[e>>2]=2;c=-1;h=f;return c|0}else{It(e+68|0,32,0,0,r,i,c,256);Et(c,256,t,n,s);me(s,32,s)|0;c=0;h=f;return c|0}return 0}function so(){return 232}function ao(e){e=e|0;Gr(e,232);return e|0}function co(e){e=e|0;Gr(e,232);return 232}function fo(e){e=e|0;return Si(o[e+228>>2]|0)|0}function uo(e){e=e|0;var t=0;t=(vi(e)|0)+4|0;return Ii(t+(Me(e+132|0)|0)|0)|0}function lo(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;a=(vi(e)|0)+4|0;s=e+132|0;a=a+(Me(s)|0)|0;if((Ii(a)|0)>>>0>i>>>0){o[e+228>>2]=2;a=-1;return a|0}else{De(Ai(e,Ne(Ti(r,a)|0,1)|0)|0,s)|0;a=Ri(t,n,r,a)|0;return a|0}return 0}function ho(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0;c=h;h=h+16|0;s=c;a=e+228|0;t=Oi(t,n,r,i,a)|0;do{if((t|0)!=-1){n=r+t|0;t=je(r,n,s)|0;if((o[s>>2]|0)!=1){o[a>>2]=9;i=-1;break}if((n|0)!=(Be(wi(e,t,n)|0,n,e+132|0)|0)){o[a>>2]=10;i=-1}}else i=-1}while(0);h=c;return i|0}function po(e){e=e|0;return 160}function mo(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<160){o[e+228>>2]=1;n=-1;return n|0}else{_i(e,t,0);gt(t+128|0,e+132|0);Gr(t,n);n=0;return n|0}return 0}function go(e,t){e=e|0;t=t|0;var n=0;n=Hs[o[(o[9395]|0)+4>>2]&3](37580,t)|0;t=Gs[o[o[9395]>>2]&1](37580)|0;return pe(We(o[e+128>>2]|0,n,t,64)|0)|0}function yo(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0;u=h;h=h+16|0;f=u;a=Hs[o[(o[9395]|0)+4>>2]&3](37580,n)|0;c=Gs[o[o[9395]>>2]&1](37580)|0;s=e+128|0;c=We(o[s>>2]|0,a,c,64)|0;if((pe(c)|0)>>>0>i>>>0){o[e+228>>2]=2;f=-1;h=u;return f|0}a=r+(pe(c)|0)+(0-c)|0;l=Hs[o[(o[9395]|0)+4>>2]&3](37580,n)|0;i=Gs[o[o[9395]>>2]&1](37580)|0;i=(Ye(3,o[s>>2]|0,l,a,f)|0)+i|0;if((Qs[o[(o[9395]|0)+8>>2]&3](37580,e,128,t,n,o[f>>2]|0,l,a,i)|0)==-1){l=-1;h=u;return l|0}else{Ei(e);yt(e+132|0,a,i,a+i|0);l=me(a,c,r)|0;h=u;return l|0}return 0}function bo(e){e=e|0;return pe(32)|0}function _o(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e+228>>2]=2;n=-1;return n|0}else{n=me(e+132|0,32,t)|0;return n|0}return 0}function vo(e){e=e|0;return o[e+128>>2]|0}function Ao(e){e=e|0;return pe(229)|0}function wo(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0;i=pe(229)|0;if(i>>>0>n>>>0){o[e+228>>2]=2;t=-1;return t|0}else{c=t+i+-229|0;r[c>>0]=2;s=o[e+128>>2]|0;f=c+1|0;r[f>>0]=s>>>24;f=f+1|0;r[f>>0]=s>>>16;f=f+1|0;r[f>>0]=s>>>8;r[f+1>>0]=s;f=t+(i+-225)|0;i=t+(i+-224)|0;s=e;a=i+128|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));n=e+132|0;i=f+129|0;s=n;a=i+32|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));f=f+161|0;yt(n,c,f-c|0,f);t=me(c,229,t)|0;return t|0}return 0}function Eo(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0;O=h;h=h+256|0;R=O;o[R>>2]=(s[t+1>>0]|0)<<16|(s[t>>0]|0)<<24|(s[t+2>>0]|0)<<8|(s[t+3>>0]|0);o[R+4>>2]=(s[t+5>>0]|0)<<16|(s[t+4>>0]|0)<<24|(s[t+6>>0]|0)<<8|(s[t+7>>0]|0);o[R+8>>2]=(s[t+9>>0]|0)<<16|(s[t+8>>0]|0)<<24|(s[t+10>>0]|0)<<8|(s[t+11>>0]|0);o[R+12>>2]=(s[t+13>>0]|0)<<16|(s[t+12>>0]|0)<<24|(s[t+14>>0]|0)<<8|(s[t+15>>0]|0);o[R+16>>2]=(s[t+17>>0]|0)<<16|(s[t+16>>0]|0)<<24|(s[t+18>>0]|0)<<8|(s[t+19>>0]|0);o[R+20>>2]=(s[t+21>>0]|0)<<16|(s[t+20>>0]|0)<<24|(s[t+22>>0]|0)<<8|(s[t+23>>0]|0);o[R+24>>2]=(s[t+25>>0]|0)<<16|(s[t+24>>0]|0)<<24|(s[t+26>>0]|0)<<8|(s[t+27>>0]|0);o[R+28>>2]=(s[t+29>>0]|0)<<16|(s[t+28>>0]|0)<<24|(s[t+30>>0]|0)<<8|(s[t+31>>0]|0);o[R+32>>2]=(s[t+33>>0]|0)<<16|(s[t+32>>0]|0)<<24|(s[t+34>>0]|0)<<8|(s[t+35>>0]|0);o[R+36>>2]=(s[t+37>>0]|0)<<16|(s[t+36>>0]|0)<<24|(s[t+38>>0]|0)<<8|(s[t+39>>0]|0);o[R+40>>2]=(s[t+41>>0]|0)<<16|(s[t+40>>0]|0)<<24|(s[t+42>>0]|0)<<8|(s[t+43>>0]|0);o[R+44>>2]=(s[t+45>>0]|0)<<16|(s[t+44>>0]|0)<<24|(s[t+46>>0]|0)<<8|(s[t+47>>0]|0);o[R+48>>2]=(s[t+49>>0]|0)<<16|(s[t+48>>0]|0)<<24|(s[t+50>>0]|0)<<8|(s[t+51>>0]|0);o[R+52>>2]=(s[t+53>>0]|0)<<16|(s[t+52>>0]|0)<<24|(s[t+54>>0]|0)<<8|(s[t+55>>0]|0);o[R+56>>2]=(s[t+57>>0]|0)<<16|(s[t+56>>0]|0)<<24|(s[t+58>>0]|0)<<8|(s[t+59>>0]|0);o[R+60>>2]=(s[t+61>>0]|0)<<16|(s[t+60>>0]|0)<<24|(s[t+62>>0]|0)<<8|(s[t+63>>0]|0);t=16;n=o[R>>2]|0;do{T=o[R+(t+-2<<2)>>2]|0;I=n;n=o[R+(t+-15<<2)>>2]|0;o[R+(t<<2)>>2]=I+(o[R+(t+-7<<2)>>2]|0)+((T>>>19|T<<13)^T>>>10^(T>>>17|T<<15))+((n>>>18|n<<14)^n>>>3^(n>>>7|n<<25));t=t+1|0}while((t|0)!=64);p=e+80|0;m=o[p>>2]|0;g=e+84|0;y=o[g>>2]|0;b=e+88|0;_=o[b>>2]|0;v=e+92|0;A=o[v>>2]|0;w=e+96|0;E=o[w>>2]|0;k=e+100|0;S=o[k>>2]|0;I=e+104|0;T=o[I>>2]|0;l=e+108|0;d=o[l>>2]|0;e=y;t=d;r=T;i=S;a=E;n=A;c=_;f=m;u=0;while(1){x=((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+t+(r&~a^i&a)+(o[32768+(u<<2)>>2]|0)+(o[R+(u<<2)>>2]|0)|0;t=x+n|0;n=((f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10))+(f&(e^c)^e&c)+x|0;u=u+1|0;if((u|0)==64)break;else{D=c;M=a;P=i;C=r;x=f;a=t;f=n;c=e;n=D;i=M;r=P;t=C;e=x}}o[p>>2]=n+m;o[g>>2]=f+y;o[b>>2]=e+_;o[v>>2]=c+A;o[w>>2]=t+E;o[k>>2]=a+S;o[I>>2]=i+T;o[l>>2]=r+d;h=O;return}function ko(e){e=e|0;var t=0;o[e+64>>2]=0;t=e+72|0;o[t>>2]=0;o[t+4>>2]=0;o[e+80>>2]=1779033703;o[e+84>>2]=-1150833019;o[e+88>>2]=1013904242;o[e+92>>2]=-1521486534;o[e+96>>2]=1359893119;o[e+100>>2]=-1694144372;o[e+104>>2]=528734635;o[e+108>>2]=1541459225;return}function So(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0;if(!n)return;a=e+64|0;c=e+72|0;s=0;i=o[a>>2]|0;do{r[e+i>>0]=r[t+s>>0]|0;i=(o[a>>2]|0)+1|0;o[a>>2]=i;if((i|0)==64){Eo(e,e);f=c;f=ks(o[f>>2]|0,o[f+4>>2]|0,512,0)|0;i=c;o[i>>2]=f;o[i+4>>2]=I;o[a>>2]=0;i=0}s=s+1|0}while((s|0)!=(n|0));return}function Io(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0;s=e+64|0;n=o[s>>2]|0;i=n+1|0;r[e+n>>0]=-128;if(n>>>0<56){if(i>>>0<56)Ds(e+i|0,0,55-n|0)|0}else{if(i>>>0<64)Ds(e+i|0,0,63-n|0)|0;Eo(e,e);n=e;i=n+56|0;do{o[n>>2]=0;n=n+4|0}while((n|0)<(i|0))}f=e+72|0;u=f;u=ks(o[u>>2]|0,o[u+4>>2]|0,o[s>>2]<<3|0,0)|0;l=I;o[f>>2]=u;o[f+4>>2]=l;r[e+63>>0]=u;f=xs(u|0,l|0,8)|0;r[e+62>>0]=f;f=xs(u|0,l|0,16)|0;r[e+61>>0]=f;f=xs(u|0,l|0,24)|0;r[e+60>>0]=f;r[e+59>>0]=l;f=xs(u|0,l|0,40)|0;r[e+58>>0]=f;f=xs(u|0,l|0,48)|0;r[e+57>>0]=f;l=xs(u|0,l|0,56)|0;r[e+56>>0]=l;Eo(e,e);l=e+80|0;u=e+84|0;f=e+88|0;c=e+92|0;a=e+96|0;n=e+100|0;i=e+104|0;s=e+108|0;r[t>>0]=(o[l>>2]|0)>>>24;r[t+4>>0]=(o[u>>2]|0)>>>24;r[t+8>>0]=(o[f>>2]|0)>>>24;r[t+12>>0]=(o[c>>2]|0)>>>24;r[t+16>>0]=(o[a>>2]|0)>>>24;r[t+20>>0]=(o[n>>2]|0)>>>24;r[t+24>>0]=(o[i>>2]|0)>>>24;r[t+28>>0]=(o[s>>2]|0)>>>24;r[t+1>>0]=(o[l>>2]|0)>>>16;r[t+5>>0]=(o[u>>2]|0)>>>16;r[t+9>>0]=(o[f>>2]|0)>>>16;r[t+13>>0]=(o[c>>2]|0)>>>16;r[t+17>>0]=(o[a>>2]|0)>>>16;r[t+21>>0]=(o[n>>2]|0)>>>16;r[t+25>>0]=(o[i>>2]|0)>>>16;r[t+29>>0]=(o[s>>2]|0)>>>16;r[t+2>>0]=(o[l>>2]|0)>>>8;r[t+6>>0]=(o[u>>2]|0)>>>8;r[t+10>>0]=(o[f>>2]|0)>>>8;r[t+14>>0]=(o[c>>2]|0)>>>8;r[t+18>>0]=(o[a>>2]|0)>>>8;r[t+22>>0]=(o[n>>2]|0)>>>8;r[t+26>>0]=(o[i>>2]|0)>>>8;r[t+30>>0]=(o[s>>2]|0)>>>8;r[t+3>>0]=o[l>>2];r[t+7>>0]=o[u>>2];r[t+11>>0]=o[f>>2];r[t+15>>0]=o[c>>2];r[t+19>>0]=o[a>>2];r[t+23>>0]=o[n>>2];r[t+27>>0]=o[i>>2];r[t+31>>0]=o[s>>2];return}function To(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0;L=h;h=h+16|0;M=L;U=M+4|0;E=M+8|0;k=M+12|0;v=r[e+4>>0]|0;S=M+1|0;f=r[e+5>>0]|0;I=M+5|0;m=r[e+6>>0]|0;T=M+9|0;l=r[e+7>>0]|0;R=M+13|0;b=r[e+8>>0]|0;O=M+2|0;d=r[e+9>>0]|0;x=M+6|0;w=r[e+10>>0]|0;C=M+10|0;u=r[e+11>>0]|0;P=M+14|0;a=r[e+12>>0]|0;D=M+3|0;q=r[e+13>>0]|0;B=M+7|0;g=r[e+14>>0]|0;N=M+11|0;p=r[e+15>>0]|0;j=M+15|0;_=o[n>>2]|0;y=_>>>24^(s[e>>0]|0);A=_>>>16^(s[e+1>>0]|0);c=_>>>8^(s[e+2>>0]|0);_=_^(s[e+3>>0]|0);r[k>>0]=_;F=o[n+4>>2]|0;v=F>>>24^v&255;f=F>>>16^f&255;m=F>>>8^m&255;l=F^l&255;F=o[n+8>>2]|0;b=F>>>24^b&255;d=F>>>16^d&255;w=F>>>8^w&255;u=F^u&255;F=o[n+12>>2]|0;a=F>>>24^a&255;e=F>>>16^q&255;g=F>>>8^g&255;p=F^p&255;r[M>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[S>>0]=r[(v&15)+(33024+(v>>>4<<4))>>0]|0;r[O>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;r[D>>0]=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;r[U>>0]=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=e;r[B>>0]=A;r[E>>0]=w;r[C>>0]=c;r[T>>0]=g;r[N>>0]=m;r[k>>0]=p;r[j>>0]=u;r[P>>0]=l;r[R>>0]=_;Ro(M);_=o[n+16>>2]|0;l=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);p=_>>>8^(s[E>>0]|0);r[E>>0]=p;_=_^(s[k>>0]|0);r[k>>0]=_;m=o[n+20>>2]|0;g=m>>>24^(s[S>>0]|0);c=m>>>16^(s[I>>0]|0);w=m>>>8^(s[T>>0]|0);m=m^(s[R>>0]|0);r[R>>0]=m;A=o[n+24>>2]|0;e=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);f=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);a=o[n+28>>2]|0;b=a>>>24^(s[D>>0]|0);v=a>>>16^(s[B>>0]|0);y=a>>>8^(s[N>>0]|0);a=a^(s[j>>0]|0);r[M>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;r[S>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;r[O>>0]=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;r[D>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;r[U>>0]=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=v;r[B>>0]=u;r[E>>0]=f;r[C>>0]=p;r[T>>0]=y;r[N>>0]=w;r[k>>0]=a;r[j>>0]=A;r[P>>0]=m;r[R>>0]=_;Ro(M);_=o[n+32>>2]|0;m=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);a=_>>>8^(s[E>>0]|0);r[E>>0]=a;_=_^(s[k>>0]|0);r[k>>0]=_;w=o[n+36>>2]|0;y=w>>>24^(s[S>>0]|0);p=w>>>16^(s[I>>0]|0);f=w>>>8^(s[T>>0]|0);w=w^(s[R>>0]|0);r[R>>0]=w;u=o[n+40>>2]|0;v=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);c=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);b=o[n+44>>2]|0;e=b>>>24^(s[D>>0]|0);g=b>>>16^(s[B>>0]|0);l=b>>>8^(s[N>>0]|0);b=b^(s[j>>0]|0);r[M>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;r[S>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[O>>0]=r[(v&15)+(33024+(v>>>4<<4))>>0]|0;r[D>>0]=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;r[U>>0]=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=g;r[B>>0]=A;r[E>>0]=c;r[C>>0]=a;r[T>>0]=l;r[N>>0]=f;r[k>>0]=b;r[j>>0]=u;r[P>>0]=w;r[R>>0]=_;Ro(M);_=o[n+48>>2]|0;w=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);b=_>>>8^(s[E>>0]|0);r[E>>0]=b;_=_^(s[k>>0]|0);r[k>>0]=_;f=o[n+52>>2]|0;l=f>>>24^(s[S>>0]|0);a=f>>>16^(s[I>>0]|0);c=f>>>8^(s[T>>0]|0);f=f^(s[R>>0]|0);r[R>>0]=f;A=o[n+56>>2]|0;g=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);p=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);e=o[n+60>>2]|0;v=e>>>24^(s[D>>0]|0);y=e>>>16^(s[B>>0]|0);m=e>>>8^(s[N>>0]|0);e=e^(s[j>>0]|0);r[M>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;r[S>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;r[O>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;r[D>>0]=r[(v&15)+(33024+(v>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;r[U>>0]=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=y;r[B>>0]=u;r[E>>0]=p;r[C>>0]=b;r[T>>0]=m;r[N>>0]=c;r[k>>0]=e;r[j>>0]=A;r[P>>0]=f;r[R>>0]=_;Ro(M);_=o[n+64>>2]|0;f=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);e=_>>>8^(s[E>>0]|0);r[E>>0]=e;_=_^(s[k>>0]|0);r[k>>0]=_;c=o[n+68>>2]|0;m=c>>>24^(s[S>>0]|0);b=c>>>16^(s[I>>0]|0);p=c>>>8^(s[T>>0]|0);c=c^(s[R>>0]|0);r[R>>0]=c;u=o[n+72>>2]|0;y=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);a=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);v=o[n+76>>2]|0;g=v>>>24^(s[D>>0]|0);l=v>>>16^(s[B>>0]|0);w=v>>>8^(s[N>>0]|0);v=v^(s[j>>0]|0);r[M>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[S>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;r[O>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[D>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;r[U>>0]=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=l;r[B>>0]=A;r[E>>0]=a;r[C>>0]=e;r[T>>0]=w;r[N>>0]=p;r[k>>0]=v;r[j>>0]=u;r[P>>0]=c;r[R>>0]=_;Ro(M);_=o[n+80>>2]|0;c=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);v=_>>>8^(s[E>>0]|0);r[E>>0]=v;_=_^(s[k>>0]|0);r[k>>0]=_;p=o[n+84>>2]|0;w=p>>>24^(s[S>>0]|0);e=p>>>16^(s[I>>0]|0);a=p>>>8^(s[T>>0]|0);p=p^(s[R>>0]|0);r[R>>0]=p;A=o[n+88>>2]|0;l=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);b=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);g=o[n+92>>2]|0;y=g>>>24^(s[D>>0]|0);m=g>>>16^(s[B>>0]|0);f=g>>>8^(s[N>>0]|0);g=g^(s[j>>0]|0);r[M>>0]=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[S>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;r[O>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;r[D>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;r[U>>0]=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=m;r[B>>0]=u;r[E>>0]=b;r[C>>0]=v;r[T>>0]=f;r[N>>0]=a;r[k>>0]=g;r[j>>0]=A;r[P>>0]=p;r[R>>0]=_;Ro(M);_=o[n+96>>2]|0;p=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);g=_>>>8^(s[E>>0]|0);r[E>>0]=g;_=_^(s[k>>0]|0);r[k>>0]=_;a=o[n+100>>2]|0;f=a>>>24^(s[S>>0]|0);v=a>>>16^(s[I>>0]|0);b=a>>>8^(s[T>>0]|0);a=a^(s[R>>0]|0);r[R>>0]=a;u=o[n+104>>2]|0;m=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);e=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);y=o[n+108>>2]|0;l=y>>>24^(s[D>>0]|0);w=y>>>16^(s[B>>0]|0);c=y>>>8^(s[N>>0]|0);y=y^(s[j>>0]|0);r[M>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;r[S>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[O>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;r[D>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;r[U>>0]=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=w;r[B>>0]=A;r[E>>0]=e;r[C>>0]=g;r[T>>0]=c;r[N>>0]=b;r[k>>0]=y;r[j>>0]=u;r[P>>0]=a;r[R>>0]=_;Ro(M);_=o[n+112>>2]|0;a=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);y=_>>>8^(s[E>>0]|0);r[E>>0]=y;_=_^(s[k>>0]|0);r[k>>0]=_;b=o[n+116>>2]|0;c=b>>>24^(s[S>>0]|0);g=b>>>16^(s[I>>0]|0);e=b>>>8^(s[T>>0]|0);b=b^(s[R>>0]|0);r[R>>0]=b;A=o[n+120>>2]|0;w=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);v=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);l=o[n+124>>2]|0;m=l>>>24^(s[D>>0]|0);f=l>>>16^(s[B>>0]|0);p=l>>>8^(s[N>>0]|0);l=l^(s[j>>0]|0);r[M>>0]=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;r[S>>0]=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[O>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;r[D>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;r[U>>0]=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=f;r[B>>0]=u;r[E>>0]=v;r[C>>0]=y;r[T>>0]=p;r[N>>0]=e;r[k>>0]=l;r[j>>0]=A;r[P>>0]=b;r[R>>0]=_;Ro(M);_=o[n+128>>2]|0;b=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);l=_>>>8^(s[E>>0]|0);r[E>>0]=l;_=_^(s[k>>0]|0);r[k>>0]=_;e=o[n+132>>2]|0;p=e>>>24^(s[S>>0]|0);y=e>>>16^(s[I>>0]|0);v=e>>>8^(s[T>>0]|0);e=e^(s[R>>0]|0);r[R>>0]=e;u=o[n+136>>2]|0;f=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);g=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);m=o[n+140>>2]|0;w=m>>>24^(s[D>>0]|0);c=m>>>16^(s[B>>0]|0);a=m>>>8^(s[N>>0]|0);m=m^(s[j>>0]|0);r[M>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;r[S>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;r[O>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;r[U>>0]=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=c;r[B>>0]=A;r[E>>0]=g;r[C>>0]=l;r[T>>0]=a;r[N>>0]=v;r[k>>0]=m;r[j>>0]=u;r[P>>0]=e;r[R>>0]=_;Ro(M);_=o[n+144>>2]|0;e=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);m=_>>>8^(s[E>>0]|0);r[E>>0]=m;_=_^(s[k>>0]|0);r[k>>0]=_;v=o[n+148>>2]|0;a=v>>>24^(s[S>>0]|0);l=v>>>16^(s[I>>0]|0);g=v>>>8^(s[T>>0]|0);v=v^(s[R>>0]|0);r[R>>0]=v;A=o[n+152>>2]|0;c=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);y=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);w=o[n+156>>2]|0;f=w>>>24^(s[D>>0]|0);p=w>>>16^(s[B>>0]|0);b=w>>>8^(s[N>>0]|0);w=w^(s[j>>0]|0);e=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;r[M>>0]=e;a=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;r[S>>0]=a;c=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[O>>0]=c;f=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=f;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;r[U>>0]=l;r[I>>0]=d;r[x>>0]=p;r[B>>0]=u;r[E>>0]=y;r[C>>0]=m;r[T>>0]=b;r[N>>0]=g;r[k>>0]=w;r[j>>0]=A;r[P>>0]=v;r[R>>0]=_;if((i|0)==128){K=b;z=d;G=41;H=w;w=y;V=l;q=e;e=40;F=A;b=g;y=u;g=f;d=43;i=p;l=c;p=42;f=n+(e<<2)|0;f=o[f>>2]|0;A=f>>>24;c=f>>>16;u=f>>>8;q=q&255;q=A^q;q=q&255;r[M>>0]=q;A=V&255;A=c^A;A=A&255;r[U>>0]=A;w=w&255;w=u^w;w=w&255;r[E>>0]=w;E=H&255;E=f^E;E=E&255;r[k>>0]=E;U=n+(G<<2)|0;U=o[U>>2]|0;f=U>>>24;u=U>>>16;M=U>>>8;k=a&255;k=f^k;k=k&255;r[S>>0]=k;S=z&255;S=u^S;S=S&255;r[I>>0]=S;I=K&255;I=M^I;I=I&255;r[T>>0]=I;T=_&255;T=U^T;T=T&255;r[R>>0]=T;U=n+(p<<2)|0;U=o[U>>2]|0;p=U>>>24;_=U>>>16;M=U>>>8;R=l&255;R=p^R;R=R&255;r[O>>0]=R;i=i&255;i=_^i;i=i&255;r[x>>0]=i;x=m&255;x=M^x;x=x&255;r[C>>0]=x;C=v&255;C=U^C;C=C&255;r[P>>0]=C;P=n+(d<<2)|0;P=o[P>>2]|0;n=P>>>24;U=P>>>16;O=P>>>8;M=g&255;M=n^M;M=M&255;r[D>>0]=M;D=y&255;D=U^D;D=D&255;r[B>>0]=D;U=b&255;U=O^U;U=U&255;r[N>>0]=U;F=F&255;F=P^F;F=F&255;r[j>>0]=F;r[t>>0]=q;q=t+1|0;r[q>>0]=A;q=t+2|0;r[q>>0]=w;q=t+3|0;r[q>>0]=E;q=t+4|0;r[q>>0]=k;q=t+5|0;r[q>>0]=S;q=t+6|0;r[q>>0]=I;q=t+7|0;r[q>>0]=T;q=t+8|0;r[q>>0]=R;q=t+9|0;r[q>>0]=i;q=t+10|0;r[q>>0]=x;q=t+11|0;r[q>>0]=C;q=t+12|0;r[q>>0]=M;q=t+13|0;r[q>>0]=D;q=t+14|0;r[q>>0]=U;q=t+15|0;r[q>>0]=F;h=L;return}Ro(M);_=o[n+160>>2]|0;b=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);l=_>>>8^(s[E>>0]|0);r[E>>0]=l;_=_^(s[k>>0]|0);r[k>>0]=_;e=o[n+164>>2]|0;p=e>>>24^(s[S>>0]|0);y=e>>>16^(s[I>>0]|0);v=e>>>8^(s[T>>0]|0);e=e^(s[R>>0]|0);r[R>>0]=e;u=o[n+168>>2]|0;f=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);g=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);m=o[n+172>>2]|0;w=m>>>24^(s[D>>0]|0);c=m>>>16^(s[B>>0]|0);a=m>>>8^(s[N>>0]|0);m=m^(s[j>>0]|0);r[M>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;r[S>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;r[O>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;r[U>>0]=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=c;r[B>>0]=A;r[E>>0]=g;r[C>>0]=l;r[T>>0]=a;r[N>>0]=v;r[k>>0]=m;r[j>>0]=u;r[P>>0]=e;r[R>>0]=_;Ro(M);_=o[n+176>>2]|0;e=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);m=_>>>8^(s[E>>0]|0);r[E>>0]=m;_=_^(s[k>>0]|0);r[k>>0]=_;v=o[n+180>>2]|0;a=v>>>24^(s[S>>0]|0);l=v>>>16^(s[I>>0]|0);g=v>>>8^(s[T>>0]|0);v=v^(s[R>>0]|0);r[R>>0]=v;A=o[n+184>>2]|0;c=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);y=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);w=o[n+188>>2]|0;f=w>>>24^(s[D>>0]|0);p=w>>>16^(s[B>>0]|0);b=w>>>8^(s[N>>0]|0);w=w^(s[j>>0]|0);e=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;r[M>>0]=e;a=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;r[S>>0]=a;c=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[O>>0]=c;f=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=f;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;r[U>>0]=l;r[I>>0]=d;r[x>>0]=p;r[B>>0]=u;r[E>>0]=y;r[C>>0]=m;r[T>>0]=b;r[N>>0]=g;r[k>>0]=w;r[j>>0]=A;r[P>>0]=v;r[R>>0]=_;if((i|0)==192){Q=b;W=49;Y=w;w=y;V=e;e=48;H=A;G=g;z=u;K=f;b=51;q=v;F=m;y=p;g=c;v=50;i=_;m=n+(e<<2)|0;m=o[m>>2]|0;A=m>>>24;p=m>>>16;_=m>>>8;V=V&255;V=A^V;V=V&255;r[M>>0]=V;A=l&255;A=p^A;A=A&255;r[U>>0]=A;w=w&255;w=_^w;w=w&255;r[E>>0]=w;E=Y&255;E=m^E;E=E&255;r[k>>0]=E;U=n+(W<<2)|0;U=o[U>>2]|0;m=U>>>24;_=U>>>16;M=U>>>8;k=a&255;k=m^k;k=k&255;r[S>>0]=k;S=d&255;S=_^S;S=S&255;r[I>>0]=S;I=Q&255;I=M^I;I=I&255;r[T>>0]=I;i=i&255;i=U^i;i=i&255;r[R>>0]=i;R=n+(v<<2)|0;R=o[R>>2]|0;U=R>>>24;v=R>>>16;T=R>>>8;M=g&255;M=U^M;M=M&255;r[O>>0]=M;U=y&255;U=v^U;U=U&255;r[x>>0]=U;F=F&255;F=T^F;F=F&255;r[C>>0]=F;q=q&255;q=R^q;q=q&255;r[P>>0]=q;P=n+(b<<2)|0;P=o[P>>2]|0;O=P>>>24;x=P>>>16;C=P>>>8;K=K&255;K=O^K;K=K&255;r[D>>0]=K;z=z&255;z=x^z;z=z&255;r[B>>0]=z;G=G&255;G=C^G;G=G&255;r[N>>0]=G;H=H&255;H=P^H;H=H&255;r[j>>0]=H;r[t>>0]=V;V=t+1|0;r[V>>0]=A;V=t+2|0;r[V>>0]=w;V=t+3|0;r[V>>0]=E;V=t+4|0;r[V>>0]=k;V=t+5|0;r[V>>0]=S;V=t+6|0;r[V>>0]=I;V=t+7|0;r[V>>0]=i;V=t+8|0;r[V>>0]=M;V=t+9|0;r[V>>0]=U;V=t+10|0;r[V>>0]=F;V=t+11|0;r[V>>0]=q;V=t+12|0;r[V>>0]=K;V=t+13|0;r[V>>0]=z;V=t+14|0;r[V>>0]=G;V=t+15|0;r[V>>0]=H;h=L;return}Ro(M);F=o[n+192>>2]|0;y=F>>>24^(s[M>>0]|0);W=F>>>16^(s[U>>0]|0);A=F>>>8^(s[E>>0]|0);r[E>>0]=A;F=F^(s[k>>0]|0);r[k>>0]=F;Y=o[n+196>>2]|0;K=Y>>>24^(s[S>>0]|0);w=Y>>>16^(s[I>>0]|0);G=Y>>>8^(s[T>>0]|0);Y=Y^(s[R>>0]|0);r[R>>0]=Y;V=o[n+200>>2]|0;H=V>>>24^(s[O>>0]|0);g=V>>>16^(s[x>>0]|0);Q=V>>>8^(s[C>>0]|0);V=V^(s[P>>0]|0);z=o[n+204>>2]|0;p=z>>>24^(s[D>>0]|0);q=z>>>16^(s[B>>0]|0);i=z>>>8^(s[N>>0]|0);z=z^(s[j>>0]|0);r[M>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[S>>0]=r[(K&15)+(33024+(K>>>4<<4))>>0]|0;r[O>>0]=r[(H&15)+(33024+(H>>>4<<4))>>0]|0;r[D>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;W=r[(W&15)+(33024+((W>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;q=r[(q&15)+(33024+((q>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;G=r[(G&15)+(33024+((G>>>4&15)<<4))>>0]|0;Q=r[(Q&15)+(33024+((Q>>>4&15)<<4))>>0]|0;i=r[(i&15)+(33024+((i>>>4&15)<<4))>>0]|0;F=r[(F&15)+(33024+((F>>>4&15)<<4))>>0]|0;Y=r[(Y&15)+(33024+((Y>>>4&15)<<4))>>0]|0;V=r[(V&15)+(33024+((V>>>4&15)<<4))>>0]|0;z=r[(z&15)+(33024+((z>>>4&15)<<4))>>0]|0;r[U>>0]=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;r[I>>0]=g;r[x>>0]=q;r[B>>0]=W;r[E>>0]=Q;r[C>>0]=A;r[T>>0]=i;r[N>>0]=G;r[k>>0]=z;r[j>>0]=V;r[P>>0]=Y;r[R>>0]=F;Ro(M);F=o[n+208>>2]|0;Y=F>>>24^(s[M>>0]|0);V=F>>>16^(s[U>>0]|0);z=F>>>8^(s[E>>0]|0);r[E>>0]=z;F=F^(s[k>>0]|0);r[k>>0]=F;G=o[n+212>>2]|0;i=G>>>24^(s[S>>0]|0);A=G>>>16^(s[I>>0]|0);Q=G>>>8^(s[T>>0]|0);G=G^(s[R>>0]|0);r[R>>0]=G;W=o[n+216>>2]|0;q=W>>>24^(s[O>>0]|0);g=W>>>16^(s[x>>0]|0);w=W>>>8^(s[C>>0]|0);W=W^(s[P>>0]|0);p=o[n+220>>2]|0;H=p>>>24^(s[D>>0]|0);K=p>>>16^(s[B>>0]|0);y=p>>>8^(s[N>>0]|0);p=p^(s[j>>0]|0);Y=r[(Y&15)+(33024+(Y>>>4<<4))>>0]|0;i=r[(i&15)+(33024+(i>>>4<<4))>>0]|0;r[S>>0]=i;q=r[(q&15)+(33024+(q>>>4<<4))>>0]|0;r[O>>0]=q;H=r[(H&15)+(33024+(H>>>4<<4))>>0]|0;r[D>>0]=H;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;b=57;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;m=56;W=r[(W&15)+(33024+((W>>>4&15)<<4))>>0]|0;Q=r[(Q&15)+(33024+((Q>>>4&15)<<4))>>0]|0;V=r[(V&15)+(33024+((V>>>4&15)<<4))>>0]|0;v=59;G=r[(G&15)+(33024+((G>>>4&15)<<4))>>0]|0;z=r[(z&15)+(33024+((z>>>4&15)<<4))>>0]|0;K=r[(K&15)+(33024+((K>>>4&15)<<4))>>0]|0;_=58;F=r[(F&15)+(33024+((F>>>4&15)<<4))>>0]|0;m=n+(m<<2)|0;m=o[m>>2]|0;u=m>>>24;l=m>>>16;d=m>>>8;Y=Y&255;Y=u^Y;Y=Y&255;r[M>>0]=Y;A=A&255;A=l^A;A=A&255;r[U>>0]=A;w=w&255;w=d^w;w=w&255;r[E>>0]=w;E=p&255;E=m^E;E=E&255;r[k>>0]=E;k=n+(b<<2)|0;k=o[k>>2]|0;M=k>>>24;U=k>>>16;b=k>>>8;i=i&255;i=M^i;i=i&255;r[S>>0]=i;M=g&255;M=U^M;M=M&255;r[I>>0]=M;U=y&255;U=b^U;U=U&255;r[T>>0]=U;F=F&255;F=k^F;F=F&255;r[R>>0]=F;R=n+(_<<2)|0;R=o[R>>2]|0;S=R>>>24;I=R>>>16;T=R>>>8;q=q&255;q=S^q;q=q&255;r[O>>0]=q;K=K&255;K=I^K;K=K&255;r[x>>0]=K;z=z&255;z=T^z;z=z&255;r[C>>0]=z;G=G&255;G=R^G;G=G&255;r[P>>0]=G;P=n+(v<<2)|0;P=o[P>>2]|0;O=P>>>24;x=P>>>16;C=P>>>8;H=H&255;H=O^H;H=H&255;r[D>>0]=H;V=V&255;V=x^V;V=V&255;r[B>>0]=V;Q=Q&255;Q=C^Q;Q=Q&255;r[N>>0]=Q;W=W&255;W=P^W;W=W&255;r[j>>0]=W;r[t>>0]=Y;Y=t+1|0;r[Y>>0]=A;Y=t+2|0;r[Y>>0]=w;Y=t+3|0;r[Y>>0]=E;Y=t+4|0;r[Y>>0]=i;Y=t+5|0;r[Y>>0]=M;Y=t+6|0;r[Y>>0]=U;Y=t+7|0;r[Y>>0]=F;Y=t+8|0;r[Y>>0]=q;Y=t+9|0;r[Y>>0]=K;Y=t+10|0;r[Y>>0]=z;Y=t+11|0;r[Y>>0]=G;Y=t+12|0;r[Y>>0]=H;Y=t+13|0;r[Y>>0]=V;Y=t+14|0;r[Y>>0]=Q;Y=t+15|0;r[Y>>0]=W;h=L;return}function Ro(e){e=e|0;var t=0,n=0,i=0,o=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0;h=r[e>>0]|0;l=e+4|0;i=r[l>>0]|0;o=e+8|0;s=r[o>>0]|0;a=e+12|0;n=r[a>>0]|0;f=h&255;c=i&255;t=s&255;d=n&255;r[e>>0]=n^s^r[33280+(f*6|0)>>0]^r[33280+(c*6|0)+1>>0];r[l>>0]=r[33280+(c*6|0)>>0]^h^n^r[33280+(t*6|0)+1>>0];r[o>>0]=r[33280+(d*6|0)+1>>0]^(r[33280+(t*6|0)>>0]^(i^h));r[a>>0]=s^i^r[33280+(f*6|0)+1>>0]^r[33280+(d*6|0)>>0];a=e+1|0;d=r[a>>0]|0;f=e+5|0;i=r[f>>0]|0;s=e+9|0;o=r[s>>0]|0;h=e+13|0;t=r[h>>0]|0;l=d&255;n=i&255;c=o&255;u=t&255;r[a>>0]=t^o^r[33280+(l*6|0)>>0]^r[33280+(n*6|0)+1>>0];r[f>>0]=r[33280+(n*6|0)>>0]^d^t^r[33280+(c*6|0)+1>>0];r[s>>0]=r[33280+(u*6|0)+1>>0]^(r[33280+(c*6|0)>>0]^(i^d));r[h>>0]=o^i^r[33280+(l*6|0)+1>>0]^r[33280+(u*6|0)>>0];h=e+2|0;u=r[h>>0]|0;l=e+6|0;i=r[l>>0]|0;o=e+10|0;s=r[o>>0]|0;d=e+14|0;c=r[d>>0]|0;f=u&255;t=i&255;n=s&255;a=c&255;r[h>>0]=c^s^r[33280+(f*6|0)>>0]^r[33280+(t*6|0)+1>>0];r[l>>0]=r[33280+(t*6|0)>>0]^u^c^r[33280+(n*6|0)+1>>0];r[o>>0]=r[33280+(a*6|0)+1>>0]^(r[33280+(n*6|0)>>0]^(i^u));r[d>>0]=s^i^r[33280+(f*6|0)+1>>0]^r[33280+(a*6|0)>>0];d=e+3|0;a=r[d>>0]|0;f=e+7|0;i=r[f>>0]|0;s=e+11|0;o=r[s>>0]|0;e=e+15|0;u=r[e>>0]|0;n=a&255;l=i&255;c=o&255;t=u&255;r[d>>0]=u^o^r[33280+(n*6|0)>>0]^r[33280+(l*6|0)+1>>0];r[f>>0]=r[33280+(l*6|0)>>0]^a^u^r[33280+(c*6|0)+1>>0];r[s>>0]=r[33280+(t*6|0)+1>>0]^(r[33280+(c*6|0)>>0]^(i^a));r[e>>0]=o^i^r[33280+(n*6|0)+1>>0]^r[33280+(t*6|0)>>0];return}function Oo(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,a=0;switch(n|0){case 128:{i=4;a=44;break}case 192:{i=6;a=52;break}case 256:{i=8;a=60;break}default:return}n=0;do{r=n<<2;o[t+(n<<2)>>2]=(s[e+(r|1)>>0]|0)<<16|(s[e+r>>0]|0)<<24|(s[e+(r|2)>>0]|0)<<8|(s[e+(r|3)>>0]|0);n=n+1|0}while(n>>>0>>0);if(i>>>0<=6){r=i;do{e=r+-1|0;n=o[t+(e<<2)>>2]|0;if(!((r>>>0)%(i>>>0)|0))n=((s[(n&15)+(33024+((n>>>4&15)<<4))>>0]|0)<<8|(s[(n>>>24&15)+(33024+(n>>>28<<4))>>0]|0)|(s[(n>>>8&15)+(33024+((n>>>12&15)<<4))>>0]|0)<<16|(s[(n>>>16&15)+(33024+((n>>>20&15)<<4))>>0]|0)<<24)^o[34816+(((e|0)/(i|0)|0)<<2)>>2];o[t+(r<<2)>>2]=o[t+(r-i<<2)>>2]^n;r=r+1|0}while((r|0)!=(a|0));return}r=i;do{e=r+-1|0;n=o[t+(e<<2)>>2]|0;switch(((r>>>0)%(i>>>0)|0)&15){case 0:{n=((s[(n&15)+(33024+((n>>>4&15)<<4))>>0]|0)<<8|(s[(n>>>24&15)+(33024+(n>>>28<<4))>>0]|0)|(s[(n>>>8&15)+(33024+((n>>>12&15)<<4))>>0]|0)<<16|(s[(n>>>16&15)+(33024+((n>>>20&15)<<4))>>0]|0)<<24)^o[34816+(((e|0)/(i|0)|0)<<2)>>2];break}case 4:{n=(s[(n>>>8&15)+(33024+((n>>>12&15)<<4))>>0]|0)<<8|(s[(n&15)+(33024+((n>>>4&15)<<4))>>0]|0)|(s[(n>>>16&15)+(33024+((n>>>20&15)<<4))>>0]|0)<<16|(s[(n>>>24&15)+(33024+(n>>>28<<4))>>0]|0)<<24;break}default:{}}o[t+(r<<2)>>2]=o[t+(r-i<<2)>>2]^n;r=r+1|0}while((r|0)!=(a|0));return}function xo(e){e=e|0;var t=0,n=0,i=0,o=0,a=0,c=0,f=0,u=0;f=e+4|0;i=e+8|0;n=e+12|0;t=s[e>>0]|0;a=s[f>>0]|0;u=s[i>>0]|0;o=s[n>>0]|0;r[e>>0]=r[33280+(o*6|0)+2>>0]^(r[33280+(u*6|0)+4>>0]^(r[33280+(a*6|0)+3>>0]^r[33280+(t*6|0)+5>>0]));r[f>>0]=r[33280+(o*6|0)+4>>0]^(r[33280+(u*6|0)+3>>0]^(r[33280+(a*6|0)+5>>0]^r[33280+(t*6|0)+2>>0]));r[i>>0]=r[33280+(o*6|0)+3>>0]^(r[33280+(u*6|0)+5>>0]^(r[33280+(a*6|0)+2>>0]^r[33280+(t*6|0)+4>>0]));r[n>>0]=r[33280+(o*6|0)+5>>0]^(r[33280+(u*6|0)+2>>0]^(r[33280+(a*6|0)+4>>0]^r[33280+(t*6|0)+3>>0]));n=e+1|0;t=e+5|0;a=e+9|0;u=e+13|0;o=s[n>>0]|0;i=s[t>>0]|0;f=s[a>>0]|0;c=s[u>>0]|0;r[n>>0]=r[33280+(c*6|0)+2>>0]^(r[33280+(f*6|0)+4>>0]^(r[33280+(i*6|0)+3>>0]^r[33280+(o*6|0)+5>>0]));r[t>>0]=r[33280+(c*6|0)+4>>0]^(r[33280+(f*6|0)+3>>0]^(r[33280+(i*6|0)+5>>0]^r[33280+(o*6|0)+2>>0]));r[a>>0]=r[33280+(c*6|0)+3>>0]^(r[33280+(f*6|0)+5>>0]^(r[33280+(i*6|0)+2>>0]^r[33280+(o*6|0)+4>>0]));r[u>>0]=r[33280+(c*6|0)+5>>0]^(r[33280+(f*6|0)+2>>0]^(r[33280+(i*6|0)+4>>0]^r[33280+(o*6|0)+3>>0]));u=e+2|0;o=e+6|0;i=e+10|0;f=e+14|0;c=s[u>>0]|0;a=s[o>>0]|0;t=s[i>>0]|0;n=s[f>>0]|0;r[u>>0]=r[33280+(n*6|0)+2>>0]^(r[33280+(t*6|0)+4>>0]^(r[33280+(a*6|0)+3>>0]^r[33280+(c*6|0)+5>>0]));r[o>>0]=r[33280+(n*6|0)+4>>0]^(r[33280+(t*6|0)+3>>0]^(r[33280+(a*6|0)+5>>0]^r[33280+(c*6|0)+2>>0]));r[i>>0]=r[33280+(n*6|0)+3>>0]^(r[33280+(t*6|0)+5>>0]^(r[33280+(a*6|0)+2>>0]^r[33280+(c*6|0)+4>>0]));r[f>>0]=r[33280+(n*6|0)+5>>0]^(r[33280+(t*6|0)+2>>0]^(r[33280+(a*6|0)+4>>0]^r[33280+(c*6|0)+3>>0]));f=e+3|0;c=e+7|0;a=e+11|0;e=e+15|0;t=s[f>>0]|0;n=s[c>>0]|0;i=s[a>>0]|0;o=s[e>>0]|0;r[f>>0]=r[33280+(o*6|0)+2>>0]^(r[33280+(i*6|0)+4>>0]^(r[33280+(n*6|0)+3>>0]^r[33280+(t*6|0)+5>>0]));r[c>>0]=r[33280+(o*6|0)+4>>0]^(r[33280+(i*6|0)+3>>0]^(r[33280+(n*6|0)+5>>0]^r[33280+(t*6|0)+2>>0]));r[a>>0]=r[33280+(o*6|0)+3>>0]^(r[33280+(i*6|0)+5>>0]^(r[33280+(n*6|0)+2>>0]^r[33280+(t*6|0)+4>>0]));r[e>>0]=r[33280+(o*6|0)+5>>0]^(r[33280+(i*6|0)+2>>0]^(r[33280+(n*6|0)+4>>0]^r[33280+(t*6|0)+3>>0]));return}function Co(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0;L=h;h=h+16|0;D=L;A=r[e>>0]|0;r[D>>0]=A;w=r[e+1>>0]|0;U=D+4|0;r[U>>0]=w;a=r[e+2>>0]|0;k=D+8|0;r[k>>0]=a;c=r[e+3>>0]|0;S=D+12|0;r[S>>0]=c;f=r[e+4>>0]|0;I=D+1|0;r[I>>0]=f;u=r[e+5>>0]|0;T=D+5|0;r[T>>0]=u;l=r[e+6>>0]|0;R=D+9|0;r[R>>0]=l;d=r[e+7>>0]|0;O=D+13|0;r[O>>0]=d;p=r[e+8>>0]|0;x=D+2|0;r[x>>0]=p;m=r[e+9>>0]|0;C=D+6|0;r[C>>0]=m;g=r[e+10>>0]|0;P=D+10|0;r[P>>0]=g;y=r[e+11>>0]|0;M=D+14|0;r[M>>0]=y;b=r[e+12>>0]|0;B=D+3|0;r[B>>0]=b;_=r[e+13>>0]|0;N=D+7|0;r[N>>0]=_;v=r[e+14>>0]|0;j=D+11|0;r[j>>0]=v;e=r[e+15>>0]|0;E=D+15|0;r[E>>0]=e;if((i|0)>128){if((i|0)>192){F=o[n+224>>2]|0;H=F>>>24^A&255;G=F>>>16^w&255;K=F>>>8^a&255;A=F^c&255;F=o[n+228>>2]|0;w=F>>>24^f&255;z=F>>>16^u&255;q=F>>>8^l&255;F=F^d&255;c=o[n+232>>2]|0;a=c>>>24^p&255;p=c>>>16^m&255;i=c>>>8^g&255;c=c^y&255;f=o[n+236>>2]|0;g=f>>>24^b&255;u=f>>>16^_&255;m=f>>>8^v&255;f=f^e&255;_=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[I>>0]=w;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;r[x>>0]=a;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[B>>0]=g;u=r[(u&15)+(34880+((u>>>4&15)<<4))>>0]|0;l=r[(G&15)+(34880+((G>>>4&15)<<4))>>0]|0;d=r[(z&15)+(34880+((z>>>4&15)<<4))>>0]|0;r[C>>0]=d;y=r[(p&15)+(34880+((p>>>4&15)<<4))>>0]|0;r[N>>0]=y;i=r[(i&15)+(34880+((i>>>4&15)<<4))>>0]|0;m=r[(m&15)+(34880+((m>>>4&15)<<4))>>0]|0;v=r[(K&15)+(34880+((K>>>4&15)<<4))>>0]|0;p=r[(q&15)+(34880+((q>>>4&15)<<4))>>0]|0;r[j>>0]=p;e=r[(F&15)+(34880+((F>>>4&15)<<4))>>0]|0;c=r[(c&15)+(34880+((c>>>4&15)<<4))>>0]|0;f=r[(f&15)+(34880+((f>>>4&15)<<4))>>0]|0;A=r[(A&15)+(34880+((A>>>4&15)<<4))>>0]|0;b=o[n+208>>2]|0;r[D>>0]=b>>>24^_&255;r[U>>0]=b>>>16^u&255;r[k>>0]=b>>>8^i&255;r[S>>0]=b^e&255;e=o[n+212>>2]|0;r[I>>0]=e>>>24^w&255;r[T>>0]=e>>>16^l&255;r[R>>0]=e>>>8^m&255;r[O>>0]=e^c&255;c=o[n+216>>2]|0;r[x>>0]=c>>>24^a&255;r[C>>0]=c>>>16^d&255;r[P>>0]=c>>>8^v&255;r[M>>0]=c^f&255;f=o[n+220>>2]|0;r[B>>0]=f>>>24^g&255;r[N>>0]=f>>>16^y&255;r[j>>0]=f>>>8^p&255;r[E>>0]=f^A&255;xo(D);A=r[N>>0]|0;f=r[C>>0]|0;p=r[T>>0]|0;y=r[U>>0]|0;g=r[j>>0]|0;c=r[R>>0]|0;v=r[P>>0]|0;d=r[k>>0]|0;a=r[E>>0]|0;e=r[S>>0]|0;m=r[O>>0]|0;l=r[M>>0]|0;w=s[D>>0]|0;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[D>>0]=w;b=s[I>>0]|0;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[I>>0]=b;i=s[x>>0]|0;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;r[x>>0]=i;u=s[B>>0]|0;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;r[B>>0]=u;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;p=p&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[C>>0]=p;f=f&255;f=r[(f&15)+(34880+(f>>>4<<4))>>0]|0;r[N>>0]=f;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;d=d&255;d=r[(d&15)+(34880+(d>>>4<<4))>>0]|0;c=c&255;c=r[(c&15)+(34880+(c>>>4<<4))>>0]|0;r[j>>0]=c;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;l=l&255;l=r[(l&15)+(34880+(l>>>4<<4))>>0]|0;a=a&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;e=e&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;_=o[n+192>>2]|0;r[D>>0]=_>>>24^w&255;r[U>>0]=_>>>16^A&255;r[k>>0]=_>>>8^v&255;r[S>>0]=_^m&255;m=o[n+196>>2]|0;r[I>>0]=m>>>24^b&255;r[T>>0]=m>>>16^y&255;r[R>>0]=m>>>8^g&255;r[O>>0]=m^l&255;l=o[n+200>>2]|0;r[x>>0]=l>>>24^i&255;r[C>>0]=l>>>16^p&255;r[P>>0]=l>>>8^d&255;r[M>>0]=l^a&255;a=o[n+204>>2]|0;r[B>>0]=a>>>24^u&255;r[N>>0]=a>>>16^f&255;r[j>>0]=a>>>8^c&255;r[E>>0]=a^e&255;xo(D);e=r[D>>0]|0;a=r[I>>0]|0;c=r[x>>0]|0;f=r[B>>0]|0;u=r[N>>0]|0;l=r[U>>0]|0;d=r[T>>0]|0;p=r[C>>0]|0;i=r[P>>0]|0;m=r[j>>0]|0;g=r[k>>0]|0;y=r[R>>0]|0;b=r[O>>0]|0;_=r[M>>0]|0;v=r[E>>0]|0;A=r[S>>0]|0}else{G=o[n+192>>2]|0;V=(G>>>24^A&255)&255;r[D>>0]=V;F=(G>>>16^w&255)&255;r[U>>0]=F;K=(G>>>8^a&255)&255;r[k>>0]=K;A=(G^c&255)&255;r[S>>0]=A;G=o[n+196>>2]|0;a=(G>>>24^f&255)&255;r[I>>0]=a;q=(G>>>16^u&255)&255;r[T>>0]=q;z=(G>>>8^l&255)&255;r[R>>0]=z;G=(G^d&255)&255;r[O>>0]=G;H=o[n+200>>2]|0;c=(H>>>24^p&255)&255;r[x>>0]=c;p=(H>>>16^m&255)&255;r[C>>0]=p;i=(H>>>8^g&255)&255;r[P>>0]=i;H=(H^y&255)&255;r[M>>0]=H;l=o[n+204>>2]|0;f=(l>>>24^b&255)&255;r[B>>0]=f;u=(l>>>16^_&255)&255;r[N>>0]=u;m=(l>>>8^v&255)&255;r[j>>0]=m;v=(l^e&255)&255;r[E>>0]=v;e=V;l=F;d=q;g=K;y=z;b=G;_=H}H=e&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;V=a&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[I>>0]=V;e=c&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;r[x>>0]=e;a=f&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;r[B>>0]=a;u=u&255;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;l=l&255;l=r[(l&15)+(34880+(l>>>4<<4))>>0]|0;d=d&255;d=r[(d&15)+(34880+(d>>>4<<4))>>0]|0;r[C>>0]=d;c=p&255;c=r[(c&15)+(34880+(c>>>4<<4))>>0]|0;r[N>>0]=c;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;p=y&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[j>>0]=p;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;y=_&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;f=v&255;f=r[(f&15)+(34880+(f>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;v=o[n+176>>2]|0;r[D>>0]=v>>>24^H&255;r[U>>0]=v>>>16^u&255;r[k>>0]=v>>>8^i&255;r[S>>0]=v^b&255;v=o[n+180>>2]|0;r[I>>0]=v>>>24^V&255;r[T>>0]=v>>>16^l&255;r[R>>0]=v>>>8^m&255;r[O>>0]=v^y&255;y=o[n+184>>2]|0;r[x>>0]=y>>>24^e&255;r[C>>0]=y>>>16^d&255;r[P>>0]=y>>>8^g&255;r[M>>0]=y^f&255;f=o[n+188>>2]|0;r[B>>0]=f>>>24^a&255;r[N>>0]=f>>>16^c&255;r[j>>0]=f>>>8^p&255;r[E>>0]=f^A&255;xo(D);A=r[N>>0]|0;f=r[C>>0]|0;p=r[T>>0]|0;y=r[U>>0]|0;g=r[j>>0]|0;c=r[R>>0]|0;v=r[P>>0]|0;d=r[k>>0]|0;a=r[E>>0]|0;e=r[S>>0]|0;m=r[O>>0]|0;l=r[M>>0]|0;V=s[D>>0]|0;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[D>>0]=V;b=s[I>>0]|0;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[I>>0]=b;i=s[x>>0]|0;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;r[x>>0]=i;u=s[B>>0]|0;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;r[B>>0]=u;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;p=p&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[C>>0]=p;f=f&255;f=r[(f&15)+(34880+(f>>>4<<4))>>0]|0;r[N>>0]=f;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;d=d&255;d=r[(d&15)+(34880+(d>>>4<<4))>>0]|0;c=c&255;c=r[(c&15)+(34880+(c>>>4<<4))>>0]|0;r[j>>0]=c;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;l=l&255;l=r[(l&15)+(34880+(l>>>4<<4))>>0]|0;a=a&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;e=e&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;_=o[n+160>>2]|0;r[D>>0]=_>>>24^V&255;r[U>>0]=_>>>16^A&255;r[k>>0]=_>>>8^v&255;r[S>>0]=_^m&255;m=o[n+164>>2]|0;r[I>>0]=m>>>24^b&255;r[T>>0]=m>>>16^y&255;r[R>>0]=m>>>8^g&255;r[O>>0]=m^l&255;l=o[n+168>>2]|0;r[x>>0]=l>>>24^i&255;r[C>>0]=l>>>16^p&255;r[P>>0]=l>>>8^d&255;r[M>>0]=l^a&255;a=o[n+172>>2]|0;r[B>>0]=a>>>24^u&255;r[N>>0]=a>>>16^f&255;r[j>>0]=a>>>8^c&255;r[E>>0]=a^e&255;xo(D);e=r[D>>0]|0;a=r[I>>0]|0;c=r[x>>0]|0;f=r[B>>0]|0;u=r[N>>0]|0;l=r[U>>0]|0;d=r[T>>0]|0;p=r[C>>0]|0;i=r[P>>0]|0;m=r[j>>0]|0;g=r[k>>0]|0;y=r[R>>0]|0;b=r[O>>0]|0;_=r[M>>0]|0;v=r[E>>0]|0;A=r[S>>0]|0}else{H=o[n+160>>2]|0;F=(H>>>24^A&255)&255;r[D>>0]=F;q=(H>>>16^w&255)&255;r[U>>0]=q;z=(H>>>8^a&255)&255;r[k>>0]=z;A=(H^c&255)&255;r[S>>0]=A;H=o[n+164>>2]|0;a=(H>>>24^f&255)&255;r[I>>0]=a;K=(H>>>16^u&255)&255;r[T>>0]=K;G=(H>>>8^l&255)&255;r[R>>0]=G;H=(H^d&255)&255;r[O>>0]=H;V=o[n+168>>2]|0;c=(V>>>24^p&255)&255;r[x>>0]=c;p=(V>>>16^m&255)&255;r[C>>0]=p;i=(V>>>8^g&255)&255;r[P>>0]=i;V=(V^y&255)&255;r[M>>0]=V;l=o[n+172>>2]|0;f=(l>>>24^b&255)&255;r[B>>0]=f;u=(l>>>16^_&255)&255;r[N>>0]=u;m=(l>>>8^v&255)&255;r[j>>0]=m;v=(l^e&255)&255;r[E>>0]=v;e=F;l=q;d=K;g=z;y=G;b=H;_=V}e=e&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;a=a&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;r[I>>0]=a;w=c&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[x>>0]=w;V=f&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[B>>0]=V;u=u&255;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;K=l&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;H=d&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;r[C>>0]=H;G=p&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[N>>0]=G;p=i&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;F=g&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;q=y&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[j>>0]=q;i=b&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;b=_&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;z=v&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;_=A&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;A=o[n+144>>2]|0;r[D>>0]=A>>>24^e&255;r[U>>0]=A>>>16^u&255;r[k>>0]=A>>>8^p&255;r[S>>0]=A^i&255;A=o[n+148>>2]|0;r[I>>0]=A>>>24^a&255;r[T>>0]=A>>>16^K&255;r[R>>0]=A>>>8^m&255;r[O>>0]=A^b&255;A=o[n+152>>2]|0;r[x>>0]=A>>>24^w&255;r[C>>0]=A>>>16^H&255;r[P>>0]=A>>>8^F&255;r[M>>0]=A^z&255;z=o[n+156>>2]|0;r[B>>0]=z>>>24^V&255;r[N>>0]=z>>>16^G&255;r[j>>0]=z>>>8^q&255;r[E>>0]=z^_&255;xo(D);_=r[N>>0]|0;z=r[C>>0]|0;q=r[T>>0]|0;G=r[U>>0]|0;A=r[j>>0]|0;b=r[R>>0]|0;V=r[P>>0]|0;F=r[k>>0]|0;m=r[E>>0]|0;H=r[S>>0]|0;i=r[O>>0]|0;w=r[M>>0]|0;g=s[D>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[D>>0]=g;p=s[I>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[I>>0]=p;K=s[x>>0]|0;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[x>>0]=K;v=s[B>>0]|0;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;r[B>>0]=v;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[C>>0]=q;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[N>>0]=z;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[j>>0]=b;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;y=o[n+128>>2]|0;r[D>>0]=y>>>24^g&255;r[U>>0]=y>>>16^_&255;r[k>>0]=y>>>8^V&255;r[S>>0]=y^i&255;i=o[n+132>>2]|0;r[I>>0]=i>>>24^p&255;r[T>>0]=i>>>16^G&255;r[R>>0]=i>>>8^A&255;r[O>>0]=i^w&255;w=o[n+136>>2]|0;r[x>>0]=w>>>24^K&255;r[C>>0]=w>>>16^q&255;r[P>>0]=w>>>8^F&255;r[M>>0]=w^m&255;m=o[n+140>>2]|0;r[B>>0]=m>>>24^v&255;r[N>>0]=m>>>16^z&255;r[j>>0]=m>>>8^b&255;r[E>>0]=m^H&255;xo(D);H=r[N>>0]|0;m=r[C>>0]|0;b=r[T>>0]|0;z=r[U>>0]|0;v=r[j>>0]|0;w=r[R>>0]|0;F=r[P>>0]|0;q=r[k>>0]|0;K=r[E>>0]|0;i=r[S>>0]|0;A=r[O>>0]|0;G=r[M>>0]|0;p=s[D>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[D>>0]=p;y=s[I>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[I>>0]=y;V=s[x>>0]|0;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[x>>0]=V;_=s[B>>0]|0;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;r[B>>0]=_;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[C>>0]=b;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[N>>0]=m;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[j>>0]=w;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;g=o[n+112>>2]|0;r[D>>0]=g>>>24^p&255;r[U>>0]=g>>>16^H&255;r[k>>0]=g>>>8^F&255;r[S>>0]=g^A&255;A=o[n+116>>2]|0;r[I>>0]=A>>>24^y&255;r[T>>0]=A>>>16^z&255;r[R>>0]=A>>>8^v&255;r[O>>0]=A^G&255;G=o[n+120>>2]|0;r[x>>0]=G>>>24^V&255;r[C>>0]=G>>>16^b&255;r[P>>0]=G>>>8^q&255;r[M>>0]=G^K&255;K=o[n+124>>2]|0;r[B>>0]=K>>>24^_&255;r[N>>0]=K>>>16^m&255;r[j>>0]=K>>>8^w&255;r[E>>0]=K^i&255;xo(D);i=r[N>>0]|0;K=r[C>>0]|0;w=r[T>>0]|0;m=r[U>>0]|0;_=r[j>>0]|0;G=r[R>>0]|0;q=r[P>>0]|0;b=r[k>>0]|0;V=r[E>>0]|0;A=r[S>>0]|0;v=r[O>>0]|0;z=r[M>>0]|0;y=s[D>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[D>>0]=y;g=s[I>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[I>>0]=g;F=s[x>>0]|0;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[x>>0]=F;H=s[B>>0]|0;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;r[B>>0]=H;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[C>>0]=w;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[N>>0]=K;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[j>>0]=G;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;p=o[n+96>>2]|0;r[D>>0]=p>>>24^y&255;r[U>>0]=p>>>16^i&255;r[k>>0]=p>>>8^q&255;r[S>>0]=p^v&255;v=o[n+100>>2]|0;r[I>>0]=v>>>24^g&255;r[T>>0]=v>>>16^m&255;r[R>>0]=v>>>8^_&255;r[O>>0]=v^z&255;z=o[n+104>>2]|0;r[x>>0]=z>>>24^F&255;r[C>>0]=z>>>16^w&255;r[P>>0]=z>>>8^b&255;r[M>>0]=z^V&255;V=o[n+108>>2]|0;r[B>>0]=V>>>24^H&255;r[N>>0]=V>>>16^K&255;r[j>>0]=V>>>8^G&255;r[E>>0]=V^A&255;xo(D);A=r[N>>0]|0;V=r[C>>0]|0;G=r[T>>0]|0;K=r[U>>0]|0;H=r[j>>0]|0;z=r[R>>0]|0;b=r[P>>0]|0;w=r[k>>0]|0;F=r[E>>0]|0;v=r[S>>0]|0;_=r[O>>0]|0;m=r[M>>0]|0;g=s[D>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[D>>0]=g;p=s[I>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[I>>0]=p;q=s[x>>0]|0;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[x>>0]=q;i=s[B>>0]|0;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;r[B>>0]=i;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[C>>0]=G;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[N>>0]=V;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[j>>0]=z;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;y=o[n+80>>2]|0;r[D>>0]=y>>>24^g&255;r[U>>0]=y>>>16^A&255;r[k>>0]=y>>>8^b&255;r[S>>0]=y^_&255;_=o[n+84>>2]|0;r[I>>0]=_>>>24^p&255;r[T>>0]=_>>>16^K&255;r[R>>0]=_>>>8^H&255;r[O>>0]=_^m&255;m=o[n+88>>2]|0;r[x>>0]=m>>>24^q&255;r[C>>0]=m>>>16^G&255;r[P>>0]=m>>>8^w&255;r[M>>0]=m^F&255;F=o[n+92>>2]|0;r[B>>0]=F>>>24^i&255;r[N>>0]=F>>>16^V&255;r[j>>0]=F>>>8^z&255;r[E>>0]=F^v&255;xo(D);v=r[N>>0]|0;F=r[C>>0]|0;z=r[T>>0]|0;V=r[U>>0]|0;i=r[j>>0]|0;m=r[R>>0]|0;w=r[P>>0]|0;G=r[k>>0]|0;q=r[E>>0]|0;_=r[S>>0]|0;H=r[O>>0]|0;K=r[M>>0]|0;p=s[D>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[D>>0]=p;y=s[I>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[I>>0]=y;b=s[x>>0]|0;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[x>>0]=b;A=s[B>>0]|0;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;r[B>>0]=A;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[C>>0]=z;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[N>>0]=F;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[j>>0]=m;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;g=o[n+64>>2]|0;r[D>>0]=g>>>24^p&255;r[U>>0]=g>>>16^v&255;r[k>>0]=g>>>8^w&255;r[S>>0]=g^H&255;H=o[n+68>>2]|0;r[I>>0]=H>>>24^y&255;r[T>>0]=H>>>16^V&255;r[R>>0]=H>>>8^i&255;r[O>>0]=H^K&255;K=o[n+72>>2]|0;r[x>>0]=K>>>24^b&255;r[C>>0]=K>>>16^z&255;r[P>>0]=K>>>8^G&255;r[M>>0]=K^q&255;q=o[n+76>>2]|0;r[B>>0]=q>>>24^A&255;r[N>>0]=q>>>16^F&255;r[j>>0]=q>>>8^m&255;r[E>>0]=q^_&255;xo(D);_=r[N>>0]|0;q=r[C>>0]|0;m=r[T>>0]|0;F=r[U>>0]|0;A=r[j>>0]|0;K=r[R>>0]|0;G=r[P>>0]|0;z=r[k>>0]|0;b=r[E>>0]|0;H=r[S>>0]|0;i=r[O>>0]|0;V=r[M>>0]|0;y=s[D>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[D>>0]=y;g=s[I>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[I>>0]=g;w=s[x>>0]|0;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[x>>0]=w;v=s[B>>0]|0;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;r[B>>0]=v;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[C>>0]=m;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[N>>0]=q;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[j>>0]=K;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;p=o[n+48>>2]|0;r[D>>0]=p>>>24^y&255;r[U>>0]=p>>>16^_&255;r[k>>0]=p>>>8^G&255;r[S>>0]=p^i&255;i=o[n+52>>2]|0;r[I>>0]=i>>>24^g&255;r[T>>0]=i>>>16^F&255;r[R>>0]=i>>>8^A&255;r[O>>0]=i^V&255;V=o[n+56>>2]|0;r[x>>0]=V>>>24^w&255;r[C>>0]=V>>>16^m&255;r[P>>0]=V>>>8^z&255;r[M>>0]=V^b&255;b=o[n+60>>2]|0;r[B>>0]=b>>>24^v&255;r[N>>0]=b>>>16^q&255;r[j>>0]=b>>>8^K&255;r[E>>0]=b^H&255;xo(D);H=r[N>>0]|0;b=r[C>>0]|0;K=r[T>>0]|0;q=r[U>>0]|0;v=r[j>>0]|0;V=r[R>>0]|0;z=r[P>>0]|0;m=r[k>>0]|0;w=r[E>>0]|0;i=r[S>>0]|0;A=r[O>>0]|0;F=r[M>>0]|0;g=s[D>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[D>>0]=g;p=s[I>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[I>>0]=p;G=s[x>>0]|0;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[x>>0]=G;_=s[B>>0]|0;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;r[B>>0]=_;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[C>>0]=K;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[N>>0]=b;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[j>>0]=V;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;y=o[n+32>>2]|0;r[D>>0]=y>>>24^g&255;r[U>>0]=y>>>16^H&255;r[k>>0]=y>>>8^z&255;r[S>>0]=y^A&255;A=o[n+36>>2]|0;r[I>>0]=A>>>24^p&255;r[T>>0]=A>>>16^q&255;r[R>>0]=A>>>8^v&255;r[O>>0]=A^F&255;F=o[n+40>>2]|0;r[x>>0]=F>>>24^G&255;r[C>>0]=F>>>16^K&255;r[P>>0]=F>>>8^m&255;r[M>>0]=F^w&255;w=o[n+44>>2]|0;r[B>>0]=w>>>24^_&255;r[N>>0]=w>>>16^b&255;r[j>>0]=w>>>8^V&255;r[E>>0]=w^i&255;xo(D);i=r[N>>0]|0;w=r[C>>0]|0;V=r[T>>0]|0;b=r[U>>0]|0;_=r[j>>0]|0;F=r[R>>0]|0;m=r[P>>0]|0;K=r[k>>0]|0;G=r[E>>0]|0;A=r[S>>0]|0;v=r[O>>0]|0;q=r[M>>0]|0;p=s[D>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[D>>0]=p;y=s[I>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[I>>0]=y;z=s[x>>0]|0;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[x>>0]=z;H=s[B>>0]|0;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;r[B>>0]=H;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[C>>0]=V;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[N>>0]=w;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[j>>0]=F;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;g=o[n+16>>2]|0;r[D>>0]=g>>>24^p&255;r[U>>0]=g>>>16^i&255;r[k>>0]=g>>>8^m&255;r[S>>0]=g^v&255;v=o[n+20>>2]|0;r[I>>0]=v>>>24^y&255;r[T>>0]=v>>>16^b&255;r[R>>0]=v>>>8^_&255;r[O>>0]=v^q&255;q=o[n+24>>2]|0;r[x>>0]=q>>>24^z&255;r[C>>0]=q>>>16^V&255;r[P>>0]=q>>>8^K&255;r[M>>0]=q^G&255;G=o[n+28>>2]|0;r[B>>0]=G>>>24^H&255;r[N>>0]=G>>>16^w&255;r[j>>0]=G>>>8^F&255;r[E>>0]=G^A&255;xo(D);A=r[N>>0]|0;G=r[C>>0]|0;F=r[T>>0]|0;w=r[U>>0]|0;T=r[j>>0]|0;H=r[R>>0]|0;P=r[P>>0]|0;q=r[k>>0]|0;K=r[E>>0]|0;V=r[S>>0]|0;C=r[O>>0]|0;N=r[M>>0]|0;R=s[D>>0]|0;R=r[(R&15)+(34880+(R>>>4<<4))>>0]|0;r[D>>0]=R;M=s[I>>0]|0;M=r[(M&15)+(34880+(M>>>4<<4))>>0]|0;r[I>>0]=M;U=s[x>>0]|0;U=r[(U&15)+(34880+(U>>>4<<4))>>0]|0;r[x>>0]=U;z=s[B>>0]|0;O=A&255;D=w&255;F=F&255;G=G&255;x=P&255;B=T&255;q=q&255;H=H&255;C=C&255;N=N&255;K=K&255;V=V&255;T=o[n>>2]|0;O=(T>>>16^(s[(O&15)+(34880+(O>>>4<<4))>>0]|0))&255;x=(T>>>8^(s[(x&15)+(34880+(x>>>4<<4))>>0]|0))&255;C=(T^(s[(C&15)+(34880+(C>>>4<<4))>>0]|0))&255;P=o[n+4>>2]|0;D=(P>>>16^(s[(D&15)+(34880+(D>>>4<<4))>>0]|0))&255;B=(P>>>8^(s[(B&15)+(34880+(B>>>4<<4))>>0]|0))&255;N=(P^(s[(N&15)+(34880+(N>>>4<<4))>>0]|0))&255;j=o[n+8>>2]|0;F=(j>>>16^(s[(F&15)+(34880+(F>>>4<<4))>>0]|0))&255;q=(j>>>8^(s[(q&15)+(34880+(q>>>4<<4))>>0]|0))&255;K=(j^(s[(K&15)+(34880+(K>>>4<<4))>>0]|0))&255;n=o[n+12>>2]|0;z=(n>>>24^(s[(z&15)+(34880+(z>>>4<<4))>>0]|0))&255;G=(n>>>16^(s[(G&15)+(34880+(G>>>4<<4))>>0]|0))&255;H=(n>>>8^(s[(H&15)+(34880+(H>>>4<<4))>>0]|0))&255;V=(n^(s[(V&15)+(34880+(V>>>4<<4))>>0]|0))&255;r[t>>0]=T>>>24^R&255;r[t+1>>0]=O;r[t+2>>0]=x;r[t+3>>0]=C;r[t+4>>0]=P>>>24^M&255;r[t+5>>0]=D;r[t+6>>0]=B;r[t+7>>0]=N;r[t+8>>0]=j>>>24^U&255;r[t+9>>0]=F;r[t+10>>0]=q;r[t+11>>0]=K;r[t+12>>0]=z;r[t+13>>0]=G;r[t+14>>0]=H;r[t+15>>0]=V;h=L;return}function Po(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0,at=0,ct=0,ft=0,ut=0,lt=0,dt=0,ht=0,pt=0,mt=0,gt=0,yt=0,bt=0,_t=0,vt=0,At=0,wt=0,Et=0,kt=0,St=0,It=0,Tt=0,Rt=0,Ot=0,xt=0,Ct=0,Pt=0,Mt=0,Dt=0,Bt=0,Nt=0,jt=0,Ut=0,Lt=0,Ft=0,qt=0;Pt=h;h=h+2768|0;bt=Pt+2608|0;_t=Pt+2448|0;xt=Pt+2288|0;vt=Pt+2128|0;At=Pt+1968|0;wt=Pt+1808|0;Ct=Pt+1648|0;Et=Pt+1488|0;kt=Pt+1328|0;St=Pt+1168|0;f=Pt+1008|0;c=Pt+848|0;a=Pt+688|0;i=Pt+528|0;It=Pt+368|0;at=Pt+288|0;Tt=Pt+208|0;Rt=Pt+112|0;Ot=Pt+32|0;ct=Pt;st=ct;ot=st+32|0;do{r[st>>0]=r[t>>0]|0;st=st+1|0;t=t+1|0}while((st|0)<(ot|0));r[ct>>0]=r[ct>>0]&-8;st=ct+31|0;r[st>>0]=r[st>>0]&63|64;st=s[n>>0]|0;pt=Cs(s[n+1>>0]|0|0,0,8)|0;ht=I;gt=Cs(s[n+2>>0]|0|0,0,16)|0;ht=ht|I;mt=s[n+3>>0]|0;ot=Cs(mt|0,0,24)|0;yt=at;o[yt>>2]=pt|st|gt|ot&50331648;o[yt+4>>2]=ht;yt=Cs(s[n+4>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+5>>0]|0|0,0,16)|0;ht=ht|I;gt=s[n+6>>0]|0;st=Cs(gt|0,0,24)|0;ht=xs(yt|mt|ot|st|0,ht|I|0,2)|0;st=at+8|0;o[st>>2]=ht&33554431;o[st+4>>2]=0;st=Cs(s[n+7>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+8>>0]|0|0,0,16)|0;ht=ht|I;mt=s[n+9>>0]|0;yt=Cs(mt|0,0,24)|0;ht=xs(st|gt|ot|yt|0,ht|I|0,3)|0;yt=at+16|0;o[yt>>2]=ht&67108863;o[yt+4>>2]=0;yt=Cs(s[n+10>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+11>>0]|0|0,0,16)|0;ht=ht|I;gt=s[n+12>>0]|0;st=Cs(gt|0,0,24)|0;ht=xs(yt|mt|ot|st|0,ht|I|0,5)|0;st=at+24|0;o[st>>2]=ht&33554431;o[st+4>>2]=0;st=Cs(s[n+13>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+14>>0]|0|0,0,16)|0;ht=ht|I;mt=Cs(s[n+15>>0]|0|0,0,24)|0;ht=xs(st|gt|ot|mt|0,ht|I|0,6)|0;mt=at+32|0;o[mt>>2]=ht&67108863;o[mt+4>>2]=0;mt=s[n+16>>0]|0;ht=Cs(s[n+17>>0]|0|0,0,8)|0;ot=I;gt=Cs(s[n+18>>0]|0|0,0,16)|0;ot=ot|I;st=s[n+19>>0]|0;yt=Cs(st|0,0,24)|0;pt=at+40|0;o[pt>>2]=ht|mt|gt|yt&16777216;o[pt+4>>2]=ot;pt=Cs(s[n+20>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+21>>0]|0|0,0,16)|0;ot=ot|I;gt=s[n+22>>0]|0;mt=Cs(gt|0,0,24)|0;ot=xs(pt|st|yt|mt|0,ot|I|0,1)|0;mt=at+48|0;o[mt>>2]=ot&67108863;o[mt+4>>2]=0;mt=Cs(s[n+23>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+24>>0]|0|0,0,16)|0;ot=ot|I;st=s[n+25>>0]|0;pt=Cs(st|0,0,24)|0;ot=xs(mt|gt|yt|pt|0,ot|I|0,3)|0;pt=at+56|0;o[pt>>2]=ot&33554431;o[pt+4>>2]=0;pt=Cs(s[n+26>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+27>>0]|0|0,0,16)|0;ot=ot|I;gt=s[n+28>>0]|0;mt=Cs(gt|0,0,24)|0;ot=xs(pt|st|yt|mt|0,ot|I|0,4)|0;mt=at+64|0;o[mt>>2]=ot&67108863;o[mt+4>>2]=0;mt=Cs(s[n+29>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+30>>0]|0|0,0,16)|0;ot=ot|I;st=Cs(s[n+31>>0]|0|0,0,24)|0;ot=xs(mt|gt|yt|st|0,ot|I|0,6)|0;st=at+72|0;o[st>>2]=ot&33554431;o[st+4>>2]=0;Ds(Et|0,0,152)|0;st=Et;o[st>>2]=1;o[st+4>>2]=0;Ds(kt|0,0,152)|0;st=kt;o[st>>2]=1;o[st+4>>2]=0;Ds(St|0,0,152)|0;Ds(f|0,0,152)|0;Ds(c|0,0,152)|0;st=c;o[st>>2]=1;o[st+4>>2]=0;Ds(a|0,0,152)|0;Ds(i|0,0,152)|0;st=i;o[st>>2]=1;o[st+4>>2]=0;st=Ct+80|0;ot=st+72|0;do{o[st>>2]=0;st=st+4|0}while((st|0)<(ot|0));st=Ct;t=at;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));oe=xt+144|0;se=xt+64|0;ae=xt+136|0;ce=xt+56|0;fe=xt+128|0;ue=xt+48|0;le=xt+120|0;de=xt+40|0;he=xt+112|0;pe=xt+32|0;me=xt+104|0;ge=xt+24|0;ye=xt+96|0;be=xt+16|0;_e=xt+88|0;ve=xt+8|0;Ae=xt+80|0;we=vt+144|0;Ee=vt+64|0;ke=vt+136|0;Se=vt+56|0;Ie=vt+128|0;Te=vt+48|0;Re=vt+120|0;Oe=vt+40|0;xe=vt+112|0;Ce=vt+32|0;Pe=vt+104|0;Me=vt+24|0;De=vt+96|0;Be=vt+16|0;Ne=vt+88|0;je=vt+8|0;Ue=vt+80|0;ie=xt+72|0;Le=vt+72|0;Fe=bt+8|0;qe=_t+8|0;Ke=bt+16|0;ze=_t+16|0;Ge=bt+24|0;He=_t+24|0;Ve=bt+32|0;Qe=_t+32|0;We=bt+40|0;Ye=_t+40|0;Xe=bt+48|0;Je=_t+48|0;Ze=bt+56|0;$e=_t+56|0;et=bt+64|0;tt=_t+64|0;nt=bt+72|0;rt=_t+72|0;ft=It+80|0;ut=It+8|0;lt=It+16|0;dt=It+24|0;ht=It+32|0;pt=It+40|0;mt=It+48|0;gt=It+56|0;yt=It+64|0;it=It+72|0;d=Ct;re=0;t=f;n=Et;f=St;u=kt;while(1){l=r[ct+(31-re)>>0]|0;$=0;ee=i;te=a;ne=c;J=t;c=n;i=f;a=u;Z=d;while(1){Y=l&255;X=Y>>>7;Mo(a,Z,X,0);Mo(i,c,X,0);E=a;u=o[E>>2]|0;E=o[E+4>>2]|0;V=a+8|0;G=V;P=o[G>>2]|0;G=o[G+4>>2]|0;Nt=a+16|0;T=Nt;S=o[T>>2]|0;T=o[T+4>>2]|0;R=a+24|0;Mt=R;Q=o[Mt>>2]|0;Mt=o[Mt+4>>2]|0;_=a+32|0;v=_;jt=o[v>>2]|0;v=o[v+4>>2]|0;y=a+40|0;l=y;O=o[l>>2]|0;l=o[l+4>>2]|0;z=a+48|0;ot=z;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;B=a+56|0;x=B;F=o[x>>2]|0;x=o[x+4>>2]|0;Ut=a+64|0;A=Ut;U=o[A>>2]|0;A=o[A+4>>2]|0;g=a+72|0;Dt=g;Bt=o[Dt>>2]|0;Dt=o[Dt+4>>2]|0;k=i;j=o[k>>2]|0;k=o[k+4>>2]|0;b=ks(j|0,k|0,u|0,E|0)|0;p=a;o[p>>2]=b;o[p+4>>2]=I;p=i+8|0;b=p;H=o[b>>2]|0;b=o[b+4>>2]|0;D=ks(H|0,b|0,P|0,G|0)|0;o[V>>2]=D;o[V+4>>2]=I;V=i+16|0;D=V;L=o[D>>2]|0;D=o[D+4>>2]|0;f=ks(L|0,D|0,S|0,T|0)|0;o[Nt>>2]=f;o[Nt+4>>2]=I;Nt=i+24|0;f=Nt;n=o[f>>2]|0;f=o[f+4>>2]|0;Ft=ks(n|0,f|0,Q|0,Mt|0)|0;o[R>>2]=Ft;o[R+4>>2]=I;R=i+32|0;Ft=R;m=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;N=ks(m|0,Ft|0,jt|0,v|0)|0;o[_>>2]=N;o[_+4>>2]=I;_=i+40|0;N=_;q=o[N>>2]|0;N=o[N+4>>2]|0;w=ks(q|0,N|0,O|0,l|0)|0;o[y>>2]=w;o[y+4>>2]=I;y=i+48|0;w=y;M=o[w>>2]|0;w=o[w+4>>2]|0;d=ks(M|0,w|0,W|0,ot|0)|0;o[z>>2]=d;o[z+4>>2]=I;z=i+56|0;d=z;C=o[d>>2]|0;d=o[d+4>>2]|0;st=ks(C|0,d|0,F|0,x|0)|0;o[B>>2]=st;o[B+4>>2]=I;B=i+64|0;st=B;t=o[st>>2]|0;st=o[st+4>>2]|0;Lt=ks(t|0,st|0,U|0,A|0)|0;o[Ut>>2]=Lt;o[Ut+4>>2]=I;Ut=i+72|0;Lt=Ut;K=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;qt=ks(K|0,Lt|0,Bt|0,Dt|0)|0;o[g>>2]=qt;o[g+4>>2]=I;k=Ss(u|0,E|0,j|0,k|0)|0;j=i;o[j>>2]=k;o[j+4>>2]=I;b=Ss(P|0,G|0,H|0,b|0)|0;o[p>>2]=b;o[p+4>>2]=I;D=Ss(S|0,T|0,L|0,D|0)|0;o[V>>2]=D;o[V+4>>2]=I;f=Ss(Q|0,Mt|0,n|0,f|0)|0;o[Nt>>2]=f;o[Nt+4>>2]=I;Ft=Ss(jt|0,v|0,m|0,Ft|0)|0;o[R>>2]=Ft;o[R+4>>2]=I;N=Ss(O|0,l|0,q|0,N|0)|0;o[_>>2]=N;o[_+4>>2]=I;w=Ss(W|0,ot|0,M|0,w|0)|0;o[y>>2]=w;o[y+4>>2]=I;d=Ss(F|0,x|0,C|0,d|0)|0;o[z>>2]=d;o[z+4>>2]=I;st=Ss(U|0,A|0,t|0,st|0)|0;o[B>>2]=st;o[B+4>>2]=I;Lt=Ss(Bt|0,Dt|0,K|0,Lt|0)|0;o[Ut>>2]=Lt;o[Ut+4>>2]=I;Ut=Z;Lt=o[Ut>>2]|0;Ut=o[Ut+4>>2]|0;K=Z+8|0;Dt=K;Bt=o[Dt>>2]|0;Dt=o[Dt+4>>2]|0;B=Z+16|0;st=B;t=o[st>>2]|0;st=o[st+4>>2]|0;A=Z+24|0;U=A;z=o[U>>2]|0;U=o[U+4>>2]|0;d=Z+32|0;C=d;x=o[C>>2]|0;C=o[C+4>>2]|0;F=Z+40|0;y=F;w=o[y>>2]|0;y=o[y+4>>2]|0;M=Z+48|0;ot=M;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;_=Z+56|0;N=_;q=o[N>>2]|0;N=o[N+4>>2]|0;l=Z+64|0;O=l;R=o[O>>2]|0;O=o[O+4>>2]|0;Ft=Z+72|0;m=Ft;v=o[m>>2]|0;m=o[m+4>>2]|0;jt=c;Nt=o[jt>>2]|0;jt=o[jt+4>>2]|0;f=ks(Nt|0,jt|0,Lt|0,Ut|0)|0;n=Z;o[n>>2]=f;o[n+4>>2]=I;n=c+8|0;f=n;Mt=o[f>>2]|0;f=o[f+4>>2]|0;Q=ks(Mt|0,f|0,Bt|0,Dt|0)|0;o[K>>2]=Q;o[K+4>>2]=I;K=c+16|0;Q=K;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;D=ks(V|0,Q|0,t|0,st|0)|0;o[B>>2]=D;o[B+4>>2]=I;B=c+24|0;D=B;L=o[D>>2]|0;D=o[D+4>>2]|0;T=ks(L|0,D|0,z|0,U|0)|0;o[A>>2]=T;o[A+4>>2]=I;A=c+32|0;T=A;S=o[T>>2]|0;T=o[T+4>>2]|0;p=ks(S|0,T|0,x|0,C|0)|0;o[d>>2]=p;o[d+4>>2]=I;d=c+40|0;p=d;b=o[p>>2]|0;p=o[p+4>>2]|0;H=ks(b|0,p|0,w|0,y|0)|0;o[F>>2]=H;o[F+4>>2]=I;F=c+48|0;H=F;G=o[H>>2]|0;H=o[H+4>>2]|0;P=ks(G|0,H|0,W|0,ot|0)|0;o[M>>2]=P;o[M+4>>2]=I;M=c+56|0;P=M;j=o[P>>2]|0;P=o[P+4>>2]|0;k=ks(j|0,P|0,q|0,N|0)|0;o[_>>2]=k;o[_+4>>2]=I;_=c+64|0;k=_;E=o[k>>2]|0;k=o[k+4>>2]|0;u=ks(E|0,k|0,R|0,O|0)|0;o[l>>2]=u;o[l+4>>2]=I;l=c+72|0;u=l;g=o[u>>2]|0;u=o[u+4>>2]|0;qt=ks(g|0,u|0,v|0,m|0)|0;o[Ft>>2]=qt;o[Ft+4>>2]=I;jt=Ss(Lt|0,Ut|0,Nt|0,jt|0)|0;Nt=c;o[Nt>>2]=jt;o[Nt+4>>2]=I;f=Ss(Bt|0,Dt|0,Mt|0,f|0)|0;o[n>>2]=f;o[n+4>>2]=I;Q=Ss(t|0,st|0,V|0,Q|0)|0;o[K>>2]=Q;o[K+4>>2]=I;D=Ss(z|0,U|0,L|0,D|0)|0;o[B>>2]=D;o[B+4>>2]=I;T=Ss(x|0,C|0,S|0,T|0)|0;o[A>>2]=T;o[A+4>>2]=I;p=Ss(w|0,y|0,b|0,p|0)|0;o[d>>2]=p;o[d+4>>2]=I;H=Ss(W|0,ot|0,G|0,H|0)|0;o[F>>2]=H;o[F+4>>2]=I;P=Ss(q|0,N|0,j|0,P|0)|0;o[M>>2]=P;o[M+4>>2]=I;k=Ss(R|0,O|0,E|0,k|0)|0;o[_>>2]=k;o[_+4>>2]=I;u=Ss(v|0,m|0,g|0,u|0)|0;o[l>>2]=u;o[l+4>>2]=I;Do(xt,Z,i);Do(vt,a,c);l=oe;u=o[l>>2]|0;l=o[l+4>>2]|0;g=se;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=se;o[v>>2]=_;o[v+4>>2]=I;v=ae;_=o[v>>2]|0;v=o[v+4>>2]|0;l=ce;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=ce;o[g>>2]=m;o[g+4>>2]=I;g=fe;m=o[g>>2]|0;g=o[g+4>>2]|0;v=ue;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=ue;o[l>>2]=u;o[l+4>>2]=I;l=le;u=o[l>>2]|0;l=o[l+4>>2]|0;g=de;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=de;o[v>>2]=_;o[v+4>>2]=I;v=he;_=o[v>>2]|0;v=o[v+4>>2]|0;l=pe;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=pe;o[g>>2]=m;o[g+4>>2]=I;g=me;m=o[g>>2]|0;g=o[g+4>>2]|0;v=ge;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=ge;o[l>>2]=u;o[l+4>>2]=I;l=ye;u=o[l>>2]|0;l=o[l+4>>2]|0;g=be;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=be;o[v>>2]=_;o[v+4>>2]=I;v=_e;_=o[v>>2]|0;v=o[v+4>>2]|0;l=ve;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=ve;o[g>>2]=m;o[g+4>>2]=I;g=Ae;m=o[g>>2]|0;g=o[g+4>>2]|0;v=xt;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=xt;o[l>>2]=u;o[l+4>>2]=I;Bo(xt);l=we;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Ee;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=Ee;o[v>>2]=_;o[v+4>>2]=I;v=ke;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Se;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=Se;o[g>>2]=m;o[g+4>>2]=I;g=Ie;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Te;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=Te;o[l>>2]=u;o[l+4>>2]=I;l=Re;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Oe;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=Oe;o[v>>2]=_;o[v+4>>2]=I;v=xe;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Ce;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=Ce;o[g>>2]=m;o[g+4>>2]=I;g=Pe;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Me;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=Me;o[l>>2]=u;o[l+4>>2]=I;l=De;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Be;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=Be;o[v>>2]=_;o[v+4>>2]=I;v=Ne;_=o[v>>2]|0;v=o[v+4>>2]|0;l=je;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=je;o[g>>2]=m;o[g+4>>2]=I;g=Ue;m=o[g>>2]|0;g=o[g+4>>2]|0;v=vt;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=vt;o[l>>2]=u;o[l+4>>2]=I;Bo(vt);l=xt;u=o[l>>2]|0;l=o[l+4>>2]|0;g=ve;m=o[g>>2]|0;g=o[g+4>>2]|0;v=be;_=o[v>>2]|0;v=o[v+4>>2]|0;k=ge;E=o[k>>2]|0;k=o[k+4>>2]|0;O=pe;R=o[O>>2]|0;O=o[O+4>>2]|0;M=de;P=o[M>>2]|0;M=o[M+4>>2]|0;j=ue;N=o[j>>2]|0;j=o[j+4>>2]|0;q=ce;F=o[q>>2]|0;q=o[q+4>>2]|0;H=se;G=o[H>>2]|0;H=o[H+4>>2]|0;ot=ie;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;d=vt;p=o[d>>2]|0;d=o[d+4>>2]|0;b=ks(p|0,d|0,u|0,l|0)|0;y=xt;o[y>>2]=b;o[y+4>>2]=I;y=je;b=o[y>>2]|0;y=o[y+4>>2]|0;w=ks(b|0,y|0,m|0,g|0)|0;A=ve;o[A>>2]=w;o[A+4>>2]=I;A=Be;w=o[A>>2]|0;A=o[A+4>>2]|0;T=ks(w|0,A|0,_|0,v|0)|0;S=be;o[S>>2]=T;o[S+4>>2]=I;S=Me;T=o[S>>2]|0;S=o[S+4>>2]|0;C=ks(T|0,S|0,E|0,k|0)|0;x=ge;o[x>>2]=C;o[x+4>>2]=I;x=Ce;C=o[x>>2]|0;x=o[x+4>>2]|0;B=ks(C|0,x|0,R|0,O|0)|0;D=pe;o[D>>2]=B;o[D+4>>2]=I;D=Oe;B=o[D>>2]|0;D=o[D+4>>2]|0;L=ks(B|0,D|0,P|0,M|0)|0;U=de;o[U>>2]=L;o[U+4>>2]=I;U=Te;L=o[U>>2]|0;U=o[U+4>>2]|0;z=ks(L|0,U|0,N|0,j|0)|0;K=ue;o[K>>2]=z;o[K+4>>2]=I;K=Se;z=o[K>>2]|0;K=o[K+4>>2]|0;Q=ks(z|0,K|0,F|0,q|0)|0;V=ce;o[V>>2]=Q;o[V+4>>2]=I;V=Ee;Q=o[V>>2]|0;V=o[V+4>>2]|0;st=ks(Q|0,V|0,G|0,H|0)|0;t=se;o[t>>2]=st;o[t+4>>2]=I;t=Le;st=o[t>>2]|0;t=o[t+4>>2]|0;n=ks(st|0,t|0,W|0,ot|0)|0;f=ie;o[f>>2]=n;o[f+4>>2]=I;d=Ss(u|0,l|0,p|0,d|0)|0;p=vt;o[p>>2]=d;o[p+4>>2]=I;y=Ss(m|0,g|0,b|0,y|0)|0;b=je;o[b>>2]=y;o[b+4>>2]=I;A=Ss(_|0,v|0,w|0,A|0)|0;w=Be;o[w>>2]=A;o[w+4>>2]=I;S=Ss(E|0,k|0,T|0,S|0)|0;T=Me;o[T>>2]=S;o[T+4>>2]=I;x=Ss(R|0,O|0,C|0,x|0)|0;C=Ce;o[C>>2]=x;o[C+4>>2]=I;D=Ss(P|0,M|0,B|0,D|0)|0;B=Oe;o[B>>2]=D;o[B+4>>2]=I;U=Ss(N|0,j|0,L|0,U|0)|0;L=Te;o[L>>2]=U;o[L+4>>2]=I;K=Ss(F|0,q|0,z|0,K|0)|0;z=Se;o[z>>2]=K;o[z+4>>2]=I;V=Ss(G|0,H|0,Q|0,V|0)|0;Q=Ee;o[Q>>2]=V;o[Q+4>>2]=I;t=Ss(W|0,ot|0,st|0,t|0)|0;st=Le;o[st>>2]=t;o[st+4>>2]=I;No(wt,xt);No(At,vt);Do(vt,At,at);st=we;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Ee;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Es(t|0,st|0,18,0)|0;V=I;st=ks(W|0,ot|0,t|0,st|0)|0;V=ks(st|0,I|0,Q|0,V|0)|0;Q=Ee;o[Q>>2]=V;o[Q+4>>2]=I;Q=ke;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Se;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(V|0,Q|0,18,0)|0;W=I;Q=ks(t|0,st|0,V|0,Q|0)|0;W=ks(Q|0,I|0,ot|0,W|0)|0;ot=Se;o[ot>>2]=W;o[ot+4>>2]=I;ot=Ie;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Te;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Es(W|0,ot|0,18,0)|0;t=I;ot=ks(V|0,Q|0,W|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=Te;o[st>>2]=t;o[st+4>>2]=I;st=Re;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Oe;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Es(t|0,st|0,18,0)|0;V=I;st=ks(W|0,ot|0,t|0,st|0)|0;V=ks(st|0,I|0,Q|0,V|0)|0;Q=Oe;o[Q>>2]=V;o[Q+4>>2]=I;Q=xe;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Ce;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(V|0,Q|0,18,0)|0;W=I;Q=ks(t|0,st|0,V|0,Q|0)|0;W=ks(Q|0,I|0,ot|0,W|0)|0;ot=Ce;o[ot>>2]=W;o[ot+4>>2]=I;ot=Pe;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Me;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Es(W|0,ot|0,18,0)|0;t=I;ot=ks(V|0,Q|0,W|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=Me;o[st>>2]=t;o[st+4>>2]=I;st=De;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Be;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Es(t|0,st|0,18,0)|0;V=I;st=ks(W|0,ot|0,t|0,st|0)|0;V=ks(st|0,I|0,Q|0,V|0)|0;Q=Be;o[Q>>2]=V;o[Q+4>>2]=I;Q=Ne;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=je;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(V|0,Q|0,18,0)|0;W=I;Q=ks(t|0,st|0,V|0,Q|0)|0;W=ks(Q|0,I|0,ot|0,W|0)|0;ot=je;o[ot>>2]=W;o[ot+4>>2]=I;ot=Ue;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=vt;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Es(W|0,ot|0,18,0)|0;t=I;ot=ks(V|0,Q|0,W|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=vt;o[st>>2]=t;o[st+4>>2]=I;Bo(vt);st=J;t=wt;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));st=ne;t=vt;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(bt,a);No(_t,i);Do(te,bt,_t);f=te+144|0;p=o[f>>2]|0;f=o[f+4>>2]|0;d=te+64|0;l=d;u=o[l>>2]|0;l=o[l+4>>2]|0;t=Es(p|0,f|0,18,0)|0;n=I;f=ks(u|0,l|0,p|0,f|0)|0;n=ks(f|0,I|0,t|0,n|0)|0;o[d>>2]=n;o[d+4>>2]=I;d=te+136|0;n=o[d>>2]|0;d=o[d+4>>2]|0;t=te+56|0;f=t;p=o[f>>2]|0;f=o[f+4>>2]|0;l=Es(n|0,d|0,18,0)|0;u=I;d=ks(p|0,f|0,n|0,d|0)|0;u=ks(d|0,I|0,l|0,u|0)|0;o[t>>2]=u;o[t+4>>2]=I;t=te+128|0;u=o[t>>2]|0;t=o[t+4>>2]|0;l=te+48|0;d=l;n=o[d>>2]|0;d=o[d+4>>2]|0;f=Es(u|0,t|0,18,0)|0;p=I;t=ks(n|0,d|0,u|0,t|0)|0;p=ks(t|0,I|0,f|0,p|0)|0;o[l>>2]=p;o[l+4>>2]=I;l=te+120|0;p=o[l>>2]|0;l=o[l+4>>2]|0;f=te+40|0;t=f;u=o[t>>2]|0;t=o[t+4>>2]|0;d=Es(p|0,l|0,18,0)|0;n=I;l=ks(u|0,t|0,p|0,l|0)|0;n=ks(l|0,I|0,d|0,n|0)|0;o[f>>2]=n;o[f+4>>2]=I;f=te+112|0;n=o[f>>2]|0;f=o[f+4>>2]|0;d=te+32|0;l=d;p=o[l>>2]|0;l=o[l+4>>2]|0;t=Es(n|0,f|0,18,0)|0;u=I;f=ks(p|0,l|0,n|0,f|0)|0;u=ks(f|0,I|0,t|0,u|0)|0;o[d>>2]=u;o[d+4>>2]=I;d=te+104|0;u=o[d>>2]|0;d=o[d+4>>2]|0;t=te+24|0;f=t;n=o[f>>2]|0;f=o[f+4>>2]|0;l=Es(u|0,d|0,18,0)|0;p=I;d=ks(n|0,f|0,u|0,d|0)|0;p=ks(d|0,I|0,l|0,p|0)|0;o[t>>2]=p;o[t+4>>2]=I;t=te+96|0;p=o[t>>2]|0;t=o[t+4>>2]|0;l=te+16|0;d=l;u=o[d>>2]|0;d=o[d+4>>2]|0;f=Es(p|0,t|0,18,0)|0;n=I;t=ks(u|0,d|0,p|0,t|0)|0;n=ks(t|0,I|0,f|0,n|0)|0;o[l>>2]=n;o[l+4>>2]=I;l=te+88|0;n=o[l>>2]|0;l=o[l+4>>2]|0;f=te+8|0;t=f;p=o[t>>2]|0;t=o[t+4>>2]|0;d=Es(n|0,l|0,18,0)|0;u=I;l=ks(p|0,t|0,n|0,l|0)|0;u=ks(l|0,I|0,d|0,u|0)|0;o[f>>2]=u;o[f+4>>2]=I;f=te+80|0;u=o[f>>2]|0;f=o[f+4>>2]|0;d=te;l=o[d>>2]|0;d=o[d+4>>2]|0;n=Es(u|0,f|0,18,0)|0;t=I;f=ks(l|0,d|0,u|0,f|0)|0;t=ks(f|0,I|0,n|0,t|0)|0;n=te;o[n>>2]=t;o[n+4>>2]=I;Bo(te);n=bt;t=o[n>>2]|0;n=o[n+4>>2]|0;f=_t;f=Ss(t|0,n|0,o[f>>2]|0,o[f+4>>2]|0)|0;u=I;d=_t;o[d>>2]=f;o[d+4>>2]=u;d=Fe;l=o[d>>2]|0;d=o[d+4>>2]|0;p=qe;p=Ss(l|0,d|0,o[p>>2]|0,o[p+4>>2]|0)|0;m=I;y=qe;o[y>>2]=p;o[y+4>>2]=m;y=Ke;g=o[y>>2]|0;y=o[y+4>>2]|0;b=ze;b=Ss(g|0,y|0,o[b>>2]|0,o[b+4>>2]|0)|0;_=I;A=ze;o[A>>2]=b;o[A+4>>2]=_;A=Ge;v=o[A>>2]|0;A=o[A+4>>2]|0;w=He;w=Ss(v|0,A|0,o[w>>2]|0,o[w+4>>2]|0)|0;E=I;S=He;o[S>>2]=w;o[S+4>>2]=E;S=Ve;k=o[S>>2]|0;S=o[S+4>>2]|0;T=Qe;T=Ss(k|0,S|0,o[T>>2]|0,o[T+4>>2]|0)|0;R=I;x=Qe;o[x>>2]=T;o[x+4>>2]=R;x=We;O=o[x>>2]|0;x=o[x+4>>2]|0;C=Ye;C=Ss(O|0,x|0,o[C>>2]|0,o[C+4>>2]|0)|0;P=I;D=Ye;o[D>>2]=C;o[D+4>>2]=P;D=Xe;M=o[D>>2]|0;D=o[D+4>>2]|0;B=Je;B=Ss(M|0,D|0,o[B>>2]|0,o[B+4>>2]|0)|0;N=I;U=Je;o[U>>2]=B;o[U+4>>2]=N;U=Ze;j=o[U>>2]|0;U=o[U+4>>2]|0;L=$e;L=Ss(j|0,U|0,o[L>>2]|0,o[L+4>>2]|0)|0;F=I;K=$e;o[K>>2]=L;o[K+4>>2]=F;K=et;q=o[K>>2]|0;K=o[K+4>>2]|0;z=tt;z=Ss(q|0,K|0,o[z>>2]|0,o[z+4>>2]|0)|0;G=I;V=tt;o[V>>2]=z;o[V+4>>2]=G;V=nt;H=o[V>>2]|0;V=o[V+4>>2]|0;Q=rt;Q=Ss(H|0,V|0,o[Q>>2]|0,o[Q+4>>2]|0)|0;W=I;st=rt;o[st>>2]=Q;o[st+4>>2]=W;st=ft;ot=st+72|0;do{o[st>>2]=0;st=st+4|0}while((st|0)<(ot|0));Lt=Es(f|0,u|0,121665,0)|0;Bt=It;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(p|0,m|0,121665,0)|0;Lt=ut;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(b|0,_|0,121665,0)|0;Bt=lt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(w|0,E|0,121665,0)|0;Lt=dt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(T|0,R|0,121665,0)|0;Bt=ht;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(C|0,P|0,121665,0)|0;Lt=pt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(B|0,N|0,121665,0)|0;Bt=mt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(L|0,F|0,121665,0)|0;Lt=gt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(z|0,G|0,121665,0)|0;Bt=yt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(Q|0,W|0,121665,0)|0;Lt=it;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Bo(It);Lt=It;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,t|0,n|0)|0;Bt=It;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=ut;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,l|0,d|0)|0;Lt=ut;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=lt;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,g|0,y|0)|0;Bt=lt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=dt;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,v|0,A|0)|0;Lt=dt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=ht;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,k|0,S|0)|0;Bt=ht;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=pt;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,O|0,x|0)|0;Lt=pt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=mt;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,M|0,D|0)|0;Bt=mt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=gt;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,j|0,U|0)|0;Lt=gt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=yt;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,q|0,K|0)|0;Bt=yt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=it;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,H|0,V|0)|0;Lt=it;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Do(ee,_t,It);Lt=ee+144|0;Bt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;jt=ee+64|0;Nt=jt;Ut=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Ft=Es(Bt|0,Lt|0,18,0)|0;qt=I;Lt=ks(Ut|0,Nt|0,Bt|0,Lt|0)|0;qt=ks(Lt|0,I|0,Ft|0,qt|0)|0;o[jt>>2]=qt;o[jt+4>>2]=I;jt=ee+136|0;qt=o[jt>>2]|0;jt=o[jt+4>>2]|0;Ft=ee+56|0;Lt=Ft;Bt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;Nt=Es(qt|0,jt|0,18,0)|0;Ut=I;jt=ks(Bt|0,Lt|0,qt|0,jt|0)|0;Ut=ks(jt|0,I|0,Nt|0,Ut|0)|0;o[Ft>>2]=Ut;o[Ft+4>>2]=I;Ft=ee+128|0;Ut=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;Nt=ee+48|0;jt=Nt;qt=o[jt>>2]|0;jt=o[jt+4>>2]|0;Lt=Es(Ut|0,Ft|0,18,0)|0;Bt=I;Ft=ks(qt|0,jt|0,Ut|0,Ft|0)|0;Bt=ks(Ft|0,I|0,Lt|0,Bt|0)|0;o[Nt>>2]=Bt;o[Nt+4>>2]=I;Nt=ee+120|0;Bt=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Lt=ee+40|0;Ft=Lt;Ut=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;jt=Es(Bt|0,Nt|0,18,0)|0;qt=I;Nt=ks(Ut|0,Ft|0,Bt|0,Nt|0)|0;qt=ks(Nt|0,I|0,jt|0,qt|0)|0;o[Lt>>2]=qt;o[Lt+4>>2]=I;Lt=ee+112|0;qt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;jt=ee+32|0;Nt=jt;Bt=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Ft=Es(qt|0,Lt|0,18,0)|0;Ut=I;Lt=ks(Bt|0,Nt|0,qt|0,Lt|0)|0;Ut=ks(Lt|0,I|0,Ft|0,Ut|0)|0;o[jt>>2]=Ut;o[jt+4>>2]=I;jt=ee+104|0;Ut=o[jt>>2]|0;jt=o[jt+4>>2]|0;Ft=ee+24|0;Lt=Ft;qt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;Nt=Es(Ut|0,jt|0,18,0)|0;Bt=I;jt=ks(qt|0,Lt|0,Ut|0,jt|0)|0;Bt=ks(jt|0,I|0,Nt|0,Bt|0)|0;o[Ft>>2]=Bt;o[Ft+4>>2]=I;Ft=ee+96|0;Bt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;Nt=ee+16|0;jt=Nt;Ut=o[jt>>2]|0;jt=o[jt+4>>2]|0;Lt=Es(Bt|0,Ft|0,18,0)|0;qt=I;Ft=ks(Ut|0,jt|0,Bt|0,Ft|0)|0;qt=ks(Ft|0,I|0,Lt|0,qt|0)|0;o[Nt>>2]=qt;o[Nt+4>>2]=I;Nt=ee+88|0;qt=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Lt=ee+8|0;Ft=Lt;Bt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;jt=Es(qt|0,Nt|0,18,0)|0;Ut=I;Nt=ks(Bt|0,Ft|0,qt|0,Nt|0)|0;Ut=ks(Nt|0,I|0,jt|0,Ut|0)|0;o[Lt>>2]=Ut;o[Lt+4>>2]=I;Lt=ee+80|0;Ut=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;jt=ee;Nt=o[jt>>2]|0;jt=o[jt+4>>2]|0;qt=Es(Ut|0,Lt|0,18,0)|0;Ft=I;Lt=ks(Nt|0,jt|0,Ut|0,Lt|0)|0;Ft=ks(Lt|0,I|0,qt|0,Ft|0)|0;qt=ee;o[qt>>2]=Ft;o[qt+4>>2]=I;Bo(ee);Mo(te,J,X,0);Mo(ee,ne,X,0);$=$+1|0;if(($|0)==8)break;else{Ut=Z;Lt=c;Ft=a;qt=i;l=Y<<1&255;Z=J;a=te;i=ee;c=ne;J=Ut;ne=Lt;te=Ft;ee=qt}}re=re+1|0;if((re|0)==32)break;else{d=J;t=Z;n=ne;f=ee;u=te}}st=Tt;t=te;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));st=Rt;t=ee;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(bt,Rt);No(St,bt);No(kt,St);Do(It,kt,Rt);n=It+144|0;u=n;f=o[u>>2]|0;u=o[u+4>>2]|0;c=yt;a=o[c>>2]|0;c=o[c+4>>2]|0;i=Es(f|0,u|0,18,0)|0;l=I;u=ks(a|0,c|0,f|0,u|0)|0;l=ks(u|0,I|0,i|0,l|0)|0;i=yt;o[i>>2]=l;o[i+4>>2]=I;i=It+136|0;l=i;u=o[l>>2]|0;l=o[l+4>>2]|0;f=gt;c=o[f>>2]|0;f=o[f+4>>2]|0;a=Es(u|0,l|0,18,0)|0;d=I;l=ks(c|0,f|0,u|0,l|0)|0;d=ks(l|0,I|0,a|0,d|0)|0;a=gt;o[a>>2]=d;o[a+4>>2]=I;a=It+128|0;d=a;l=o[d>>2]|0;d=o[d+4>>2]|0;u=mt;f=o[u>>2]|0;u=o[u+4>>2]|0;c=Es(l|0,d|0,18,0)|0;ot=I;d=ks(f|0,u|0,l|0,d|0)|0;ot=ks(d|0,I|0,c|0,ot|0)|0;c=mt;o[c>>2]=ot;o[c+4>>2]=I;c=It+120|0;ot=c;d=o[ot>>2]|0;ot=o[ot+4>>2]|0;l=pt;u=o[l>>2]|0;l=o[l+4>>2]|0;f=Es(d|0,ot|0,18,0)|0;t=I;ot=ks(u|0,l|0,d|0,ot|0)|0;t=ks(ot|0,I|0,f|0,t|0)|0;f=pt;o[f>>2]=t;o[f+4>>2]=I;f=It+112|0;t=f;ot=o[t>>2]|0;t=o[t+4>>2]|0;d=ht;l=o[d>>2]|0;d=o[d+4>>2]|0;u=Es(ot|0,t|0,18,0)|0;st=I;t=ks(l|0,d|0,ot|0,t|0)|0;st=ks(t|0,I|0,u|0,st|0)|0;u=ht;o[u>>2]=st;o[u+4>>2]=I;u=It+104|0;st=u;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=dt;d=o[ot>>2]|0;ot=o[ot+4>>2]|0;l=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(d|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,l|0,Lt|0)|0;l=dt;o[l>>2]=Lt;o[l+4>>2]=I;l=It+96|0;Lt=l;st=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;t=lt;ot=o[t>>2]|0;t=o[t+4>>2]|0;d=Es(st|0,Lt|0,18,0)|0;Ft=I;Lt=ks(ot|0,t|0,st|0,Lt|0)|0;Ft=ks(Lt|0,I|0,d|0,Ft|0)|0;d=lt;o[d>>2]=Ft;o[d+4>>2]=I;d=It+88|0;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=_t;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));Do(It,_t,bt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=xt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,xt);Do(It,kt,_t);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=vt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,vt);No(St,kt);No(kt,St);No(St,kt);No(kt,St);Do(It,kt,vt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=At;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,At);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,At);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=wt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,wt);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,wt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=kt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);Do(It,kt,At);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Ct;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,Ct);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,Ct);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Et;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,Et);No(kt,St);t=2;do{No(St,kt);No(kt,St);t=t+2|0}while(t>>>0<100);Do(It,kt,Et);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=St;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,Ct);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=kt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,xt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Ot;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));Do(It,Tt,Ot);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Rt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));Ct=o[Rt>>2]|0;At=Ct>>31&Ct;Mt=(At>>26)+(o[Rt+8>>2]|0)|0;qt=Mt>>31&Mt;Dt=(qt>>25)+(o[Rt+16>>2]|0)|0;Ft=Dt>>31&Dt;vt=(Ft>>26)+(o[Rt+24>>2]|0)|0;Bt=vt>>31&vt;Nt=(Bt>>25)+(o[Rt+32>>2]|0)|0;Tt=Nt>>31&Nt;jt=(Tt>>26)+(o[Rt+40>>2]|0)|0;It=jt>>31&jt;Ut=(It>>25)+(o[Rt+48>>2]|0)|0;St=Ut>>31&Ut;Lt=(St>>26)+(o[Rt+56>>2]|0)|0;kt=Lt>>31≪Ot=(kt>>25)+(o[Rt+64>>2]|0)|0;wt=Ot>>31&Ot;xt=(wt>>26)+(o[Rt+72>>2]|0)|0;Et=xt>>31&xt;At=((Et>>25)*19|0)+(Ct-(At&-67108864))|0;Ct=At>>31&At;qt=(Ct>>26)+(Mt-(qt&-33554432))|0;Mt=qt>>31&qt;Ft=(Mt>>25)+(Dt-(Ft&-67108864))|0;Dt=Ft>>31&Ft;Rt=(Dt>>26)+(vt-(Bt&-33554432))|0;Bt=Rt>>31&Rt;Tt=(Bt>>25)+(Nt-(Tt&-67108864))|0;Nt=Tt>>31&Tt;It=(Nt>>26)+(jt-(It&-33554432))|0;jt=It>>31&It;St=(jt>>25)+(Ut-(St&-67108864))|0;Ut=St>>31&St;kt=(Ut>>26)+(Lt-(kt&-33554432))|0;Lt=kt>>31&kt;wt=(Lt>>25)+(Ot-(wt&-67108864))|0;Ot=wt>>31&wt;Et=(Ot>>26)+(xt-(Et&-33554432))|0;xt=Et>>31&Et;Ct=((xt>>25)*19|0)+(At-(Ct&-67108864))|0;At=Ct>>31&Ct;Ct=Ct-(At&-67108864)|0;Mt=(Ct>>26)+((At>>26)+(qt-(Mt&-33554432)))|0;Dt=(Mt>>25)+(Ft-(Dt&-67108864))|0;Bt=(Dt>>26)+(Rt-(Bt&-33554432))|0;Nt=(Bt>>25)+(Tt-(Nt&-67108864))|0;jt=(Nt>>26)+(It-(jt&-33554432))|0;Ut=(jt>>25)+(St-(Ut&-67108864))|0;Lt=(Ut>>26)+(kt-(Lt&-33554432))|0;Ot=(Lt>>25)+(wt-(Ot&-67108864))|0;xt=(Ot>>26)+(Et-(xt&-33554432))|0;Ct=((xt>>25)*19|0)+(Ct&67108863)|0;Mt=(Ct>>26)+(Mt&33554431)|0;Dt=(Mt>>25)+(Dt&67108863)|0;Bt=(Dt>>26)+(Bt&33554431)|0;Nt=(Bt>>25)+(Nt&67108863)|0;jt=(Nt>>26)+(jt&33554431)|0;Ut=(jt>>25)+(Ut&67108863)|0;Lt=(Ut>>26)+(Lt&33554431)|0;Ot=(Lt>>25)+(Ot&67108863)|0;xt=(Ot>>26)+(xt&33554431)|0;Ct=((xt>>25)*19|0)+(Ct&67108863)|0;Et=Mt<<16&(Mt|-33554432);Et=Et<<8&Et;Et=Et<<4&Et;Et=Et<<2&Et;wt=Dt<<16&(Dt|-67108864);wt=wt<<8&wt;wt=wt<<4&wt;wt=wt<<2&wt;kt=Bt<<16&(Bt|-33554432);kt=kt<<8&kt;kt=kt<<4&kt;kt=kt<<2&kt;St=Nt<<16&(Nt|-67108864);St=St<<8&St;St=St<<4&St;St=St<<2&St;It=jt<<16&(jt|-33554432);It=It<<8&It;It=It<<4&It;It=It<<2&It;Tt=Ut<<16&(Ut|-67108864);Tt=Tt<<8&Tt;Tt=Tt<<4&Tt;Tt=Tt<<2&Tt;Rt=Lt<<16&(Lt|-33554432);Rt=Rt<<8&Rt;Rt=Rt<<4&Rt;Rt=Rt<<2&Rt;Ft=Ot<<16&(Ot|-67108864);Ft=Ft<<8&Ft;Ft=Ft<<4&Ft;Ft=Ft<<2&Ft;qt=xt<<16&(xt|-33554432);qt=qt<<8&qt;qt=qt<<4&qt;qt=qt<<2&qt;qt=(wt<<1&wt&(Et<<1&Et)&(kt<<1&kt)&(St<<1&St)&(It<<1&It))>>31&~(Ct+-67108845>>31)&(Tt<<1&Tt)>>31&(Rt<<1&Rt)>>31&(Ft<<1&Ft)>>31&(qt<<1&qt)>>31;Ct=Ct-(qt&67108845)|0;Ft=qt&67108863;qt=qt&33554431;Mt=(Mt&33554431)-qt|0;Dt=(Dt&67108863)-Ft|0;Bt=(Bt&33554431)-qt|0;Nt=(Nt&67108863)-Ft|0;jt=(jt&33554431)-qt|0;Ut=(Ut&67108863)-Ft|0;Lt=(Lt&33554431)-qt|0;Ft=(Ot&67108863)-Ft|0;qt=(xt&33554431)-qt|0;r[e>>0]=Ct;r[e+1>>0]=Ct>>>8;r[e+2>>0]=Ct>>>16;r[e+3>>0]=Ct>>>24|Mt<<2;r[e+4>>0]=Mt>>>6;r[e+5>>0]=Mt>>>14;r[e+6>>0]=Dt<<3|Mt>>>22;r[e+7>>0]=Dt>>>5;r[e+8>>0]=Dt>>>13;r[e+9>>0]=Bt<<5|Dt>>>21;r[e+10>>0]=Bt>>>3;r[e+11>>0]=Bt>>>11;r[e+12>>0]=Nt<<6|Bt>>>19;r[e+13>>0]=Nt>>>2;r[e+14>>0]=Nt>>>10;r[e+15>>0]=Nt>>>18;r[e+16>>0]=jt;r[e+17>>0]=jt>>>8;r[e+18>>0]=jt>>>16;r[e+19>>0]=jt>>>24|Ut<<1;r[e+20>>0]=Ut>>>7;r[e+21>>0]=Ut>>>15;r[e+22>>0]=Lt<<3|Ut>>>23;r[e+23>>0]=Lt>>>5;r[e+24>>0]=Lt>>>13;r[e+25>>0]=Ft<<4|Lt>>>21;r[e+26>>0]=Ft>>>4;r[e+27>>0]=Ft>>>12;r[e+28>>0]=qt<<6|Ft>>>20;r[e+29>>0]=qt>>>2;r[e+30>>0]=qt>>>10;r[e+31>>0]=qt>>>18;h=Pt;return 0}function Mo(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,c=0;n=0-n|0;a=e;i=o[a>>2]|0;s=t;s=(o[s>>2]^i)&n;i=s^i;a=e;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;s=s^o[t>>2];a=t;o[a>>2]=s;o[a+4>>2]=((s|0)<0)<<31>>31;a=e+8|0;s=a;i=o[s>>2]|0;r=t+8|0;c=r;c=(o[c>>2]^i)&n;i=c^i;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;c=c^o[r>>2];o[r>>2]=c;o[r+4>>2]=((c|0)<0)<<31>>31;r=e+16|0;c=r;a=o[c>>2]|0;i=t+16|0;s=i;s=(o[s>>2]^a)&n;a=s^a;o[r>>2]=a;o[r+4>>2]=((a|0)<0)<<31>>31;s=s^o[i>>2];o[i>>2]=s;o[i+4>>2]=((s|0)<0)<<31>>31;i=e+24|0;s=i;r=o[s>>2]|0;a=t+24|0;c=a;c=(o[c>>2]^r)&n;r=c^r;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;c=c^o[a>>2];o[a>>2]=c;o[a+4>>2]=((c|0)<0)<<31>>31;a=e+32|0;c=a;i=o[c>>2]|0;r=t+32|0;s=r;s=(o[s>>2]^i)&n;i=s^i;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;s=s^o[r>>2];o[r>>2]=s;o[r+4>>2]=((s|0)<0)<<31>>31;r=e+40|0;s=r;a=o[s>>2]|0;i=t+40|0;c=i;c=(o[c>>2]^a)&n;a=c^a;o[r>>2]=a;o[r+4>>2]=((a|0)<0)<<31>>31;c=c^o[i>>2];o[i>>2]=c;o[i+4>>2]=((c|0)<0)<<31>>31;i=e+48|0;c=i;r=o[c>>2]|0;a=t+48|0;s=a;s=(o[s>>2]^r)&n;r=s^r;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;s=s^o[a>>2];o[a>>2]=s;o[a+4>>2]=((s|0)<0)<<31>>31;a=e+56|0;s=a;i=o[s>>2]|0;r=t+56|0;c=r;c=(o[c>>2]^i)&n;i=c^i;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;c=c^o[r>>2];o[r>>2]=c;o[r+4>>2]=((c|0)<0)<<31>>31;r=e+64|0;c=r;a=o[c>>2]|0;i=t+64|0;s=i;s=(o[s>>2]^a)&n;a=s^a;o[r>>2]=a;o[r+4>>2]=((a|0)<0)<<31>>31;s=s^o[i>>2];o[i>>2]=s;o[i+4>>2]=((s|0)<0)<<31>>31;i=e+72|0;s=i;e=o[s>>2]|0;r=t+72|0;t=r;n=(o[t>>2]^e)&n;e=n^e;t=i;o[t>>2]=e;o[t+4>>2]=((e|0)<0)<<31>>31;n=n^o[r>>2];o[r>>2]=n;o[r+4>>2]=((n|0)<0)<<31>>31;return}function Do(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0;a=Os(0,o[t>>2]|0,32)|0;h=I;w=Os(0,o[n>>2]|0,32)|0;h=Es(w|0,I|0,a|0,h|0)|0;a=e;o[a>>2]=h;o[a+4>>2]=I;a=Os(0,o[t>>2]|0,32)|0;h=I;w=n+8|0;b=Os(0,o[w>>2]|0,32)|0;h=Es(b|0,I|0,a|0,h|0)|0;a=I;b=t+8|0;y=Os(0,o[b>>2]|0,32)|0;m=I;A=Os(0,o[n>>2]|0,32)|0;m=Es(A|0,I|0,y|0,m|0)|0;a=ks(m|0,I|0,h|0,a|0)|0;h=e+8|0;o[h>>2]=a;o[h+4>>2]=I;h=Os(0,o[b>>2]|0,31)|0;a=I;m=Os(0,o[w>>2]|0,32)|0;a=Es(m|0,I|0,h|0,a|0)|0;h=I;m=Os(0,o[t>>2]|0,32)|0;y=I;A=n+16|0;l=Os(0,o[A>>2]|0,32)|0;y=Es(l|0,I|0,m|0,y|0)|0;h=ks(y|0,I|0,a|0,h|0)|0;a=I;y=t+16|0;m=Os(0,o[y>>2]|0,32)|0;l=I;v=Os(0,o[n>>2]|0,32)|0;l=Es(v|0,I|0,m|0,l|0)|0;l=ks(h|0,a|0,l|0,I|0)|0;a=e+16|0;o[a>>2]=l;o[a+4>>2]=I;a=Os(0,o[b>>2]|0,32)|0;l=I;h=Os(0,o[A>>2]|0,32)|0;l=Es(h|0,I|0,a|0,l|0)|0;a=I;h=Os(0,o[y>>2]|0,32)|0;m=I;v=Os(0,o[w>>2]|0,32)|0;m=Es(v|0,I|0,h|0,m|0)|0;a=ks(m|0,I|0,l|0,a|0)|0;l=I;m=Os(0,o[t>>2]|0,32)|0;h=I;v=n+24|0;s=Os(0,o[v>>2]|0,32)|0;h=Es(s|0,I|0,m|0,h|0)|0;h=ks(a|0,l|0,h|0,I|0)|0;l=I;a=t+24|0;m=Os(0,o[a>>2]|0,32)|0;s=I;f=Os(0,o[n>>2]|0,32)|0;s=Es(f|0,I|0,m|0,s|0)|0;s=ks(h|0,l|0,s|0,I|0)|0;l=e+24|0;o[l>>2]=s;o[l+4>>2]=I;l=Os(0,o[y>>2]|0,32)|0;s=I;h=Os(0,o[A>>2]|0,32)|0;s=Es(h|0,I|0,l|0,s|0)|0;l=I;h=Os(0,o[b>>2]|0,32)|0;m=I;f=Os(0,o[v>>2]|0,32)|0;m=Es(f|0,I|0,h|0,m|0)|0;h=I;f=Os(0,o[a>>2]|0,32)|0;g=I;p=Os(0,o[w>>2]|0,32)|0;g=Es(p|0,I|0,f|0,g|0)|0;h=ks(g|0,I|0,m|0,h|0)|0;h=Cs(h|0,I|0,1)|0;l=ks(h|0,I|0,s|0,l|0)|0;s=I;h=Os(0,o[t>>2]|0,32)|0;m=I;g=n+32|0;f=Os(0,o[g>>2]|0,32)|0;m=Es(f|0,I|0,h|0,m|0)|0;m=ks(l|0,s|0,m|0,I|0)|0;s=I;l=t+32|0;h=Os(0,o[l>>2]|0,32)|0;f=I;p=Os(0,o[n>>2]|0,32)|0;f=Es(p|0,I|0,h|0,f|0)|0;f=ks(m|0,s|0,f|0,I|0)|0;s=e+32|0;o[s>>2]=f;o[s+4>>2]=I;s=Os(0,o[y>>2]|0,32)|0;f=I;m=Os(0,o[v>>2]|0,32)|0;f=Es(m|0,I|0,s|0,f|0)|0;s=I;m=Os(0,o[a>>2]|0,32)|0;h=I;p=Os(0,o[A>>2]|0,32)|0;h=Es(p|0,I|0,m|0,h|0)|0;s=ks(h|0,I|0,f|0,s|0)|0;f=I;h=Os(0,o[b>>2]|0,32)|0;m=I;p=Os(0,o[g>>2]|0,32)|0;m=Es(p|0,I|0,h|0,m|0)|0;m=ks(s|0,f|0,m|0,I|0)|0;f=I;s=Os(0,o[l>>2]|0,32)|0;h=I;p=Os(0,o[w>>2]|0,32)|0;h=Es(p|0,I|0,s|0,h|0)|0;h=ks(m|0,f|0,h|0,I|0)|0;f=I;m=Os(0,o[t>>2]|0,32)|0;s=I;p=n+40|0;_=Os(0,o[p>>2]|0,32)|0;s=Es(_|0,I|0,m|0,s|0)|0;s=ks(h|0,f|0,s|0,I|0)|0;f=I;h=t+40|0;m=Os(0,o[h>>2]|0,32)|0;_=I;u=Os(0,o[n>>2]|0,32)|0;_=Es(u|0,I|0,m|0,_|0)|0;_=ks(s|0,f|0,_|0,I|0)|0;f=e+40|0;o[f>>2]=_;o[f+4>>2]=I;f=Os(0,o[a>>2]|0,32)|0;_=I;s=Os(0,o[v>>2]|0,32)|0;_=Es(s|0,I|0,f|0,_|0)|0;f=I;s=Os(0,o[b>>2]|0,32)|0;m=I;u=Os(0,o[p>>2]|0,32)|0;m=Es(u|0,I|0,s|0,m|0)|0;f=ks(m|0,I|0,_|0,f|0)|0;_=I;m=Os(0,o[h>>2]|0,32)|0;s=I;u=Os(0,o[w>>2]|0,32)|0;s=Es(u|0,I|0,m|0,s|0)|0;s=ks(f|0,_|0,s|0,I|0)|0;s=Cs(s|0,I|0,1)|0;_=I;f=Os(0,o[y>>2]|0,32)|0;m=I;u=Os(0,o[g>>2]|0,32)|0;m=Es(u|0,I|0,f|0,m|0)|0;m=ks(s|0,_|0,m|0,I|0)|0;_=I;s=Os(0,o[l>>2]|0,32)|0;f=I;u=Os(0,o[A>>2]|0,32)|0;f=Es(u|0,I|0,s|0,f|0)|0;f=ks(m|0,_|0,f|0,I|0)|0;_=I;m=Os(0,o[t>>2]|0,32)|0;s=I;u=n+48|0;E=Os(0,o[u>>2]|0,32)|0;s=Es(E|0,I|0,m|0,s|0)|0;s=ks(f|0,_|0,s|0,I|0)|0;_=I;f=t+48|0;m=Os(0,o[f>>2]|0,32)|0;E=I;d=Os(0,o[n>>2]|0,32)|0;E=Es(d|0,I|0,m|0,E|0)|0;E=ks(s|0,_|0,E|0,I|0)|0;_=e+48|0;o[_>>2]=E;o[_+4>>2]=I;_=Os(0,o[a>>2]|0,32)|0;E=I;s=Os(0,o[g>>2]|0,32)|0;E=Es(s|0,I|0,_|0,E|0)|0;_=I;s=Os(0,o[l>>2]|0,32)|0;m=I;d=Os(0,o[v>>2]|0,32)|0;m=Es(d|0,I|0,s|0,m|0)|0;_=ks(m|0,I|0,E|0,_|0)|0;E=I;m=Os(0,o[y>>2]|0,32)|0;s=I;d=Os(0,o[p>>2]|0,32)|0;s=Es(d|0,I|0,m|0,s|0)|0;s=ks(_|0,E|0,s|0,I|0)|0;E=I;_=Os(0,o[h>>2]|0,32)|0;m=I;d=Os(0,o[A>>2]|0,32)|0;m=Es(d|0,I|0,_|0,m|0)|0;m=ks(s|0,E|0,m|0,I|0)|0;E=I;s=Os(0,o[b>>2]|0,32)|0;_=I;d=Os(0,o[u>>2]|0,32)|0;_=Es(d|0,I|0,s|0,_|0)|0;_=ks(m|0,E|0,_|0,I|0)|0;E=I;m=Os(0,o[f>>2]|0,32)|0;s=I;d=Os(0,o[w>>2]|0,32)|0;s=Es(d|0,I|0,m|0,s|0)|0;s=ks(_|0,E|0,s|0,I|0)|0;E=I;_=Os(0,o[t>>2]|0,32)|0;m=I;d=n+56|0;k=Os(0,o[d>>2]|0,32)|0;m=Es(k|0,I|0,_|0,m|0)|0;m=ks(s|0,E|0,m|0,I|0)|0;E=I;s=t+56|0;_=Os(0,o[s>>2]|0,32)|0;k=I;c=Os(0,o[n>>2]|0,32)|0;k=Es(c|0,I|0,_|0,k|0)|0;k=ks(m|0,E|0,k|0,I|0)|0;E=e+56|0;o[E>>2]=k;o[E+4>>2]=I;E=Os(0,o[l>>2]|0,32)|0;k=I;m=Os(0,o[g>>2]|0,32)|0;k=Es(m|0,I|0,E|0,k|0)|0;E=I;m=Os(0,o[a>>2]|0,32)|0;_=I;c=Os(0,o[p>>2]|0,32)|0;_=Es(c|0,I|0,m|0,_|0)|0;m=I;c=Os(0,o[h>>2]|0,32)|0;i=I;r=Os(0,o[v>>2]|0,32)|0;i=Es(r|0,I|0,c|0,i|0)|0;m=ks(i|0,I|0,_|0,m|0)|0;_=I;i=Os(0,o[b>>2]|0,32)|0;c=I;r=Os(0,o[d>>2]|0,32)|0;c=Es(r|0,I|0,i|0,c|0)|0;c=ks(m|0,_|0,c|0,I|0)|0;_=I;m=Os(0,o[s>>2]|0,32)|0;i=I;r=Os(0,o[w>>2]|0,32)|0;i=Es(r|0,I|0,m|0,i|0)|0;i=ks(c|0,_|0,i|0,I|0)|0;i=Cs(i|0,I|0,1)|0;E=ks(i|0,I|0,k|0,E|0)|0;k=I;i=Os(0,o[y>>2]|0,32)|0;_=I;c=Os(0,o[u>>2]|0,32)|0;_=Es(c|0,I|0,i|0,_|0)|0;_=ks(E|0,k|0,_|0,I|0)|0;k=I;E=Os(0,o[f>>2]|0,32)|0;i=I;c=Os(0,o[A>>2]|0,32)|0;i=Es(c|0,I|0,E|0,i|0)|0;i=ks(_|0,k|0,i|0,I|0)|0;k=I;_=Os(0,o[t>>2]|0,32)|0;E=I;c=n+64|0;m=Os(0,o[c>>2]|0,32)|0;E=Es(m|0,I|0,_|0,E|0)|0;E=ks(i|0,k|0,E|0,I|0)|0;k=I;i=t+64|0;_=Os(0,o[i>>2]|0,32)|0;m=I;r=Os(0,o[n>>2]|0,32)|0;m=Es(r|0,I|0,_|0,m|0)|0;m=ks(E|0,k|0,m|0,I|0)|0;k=e+64|0;o[k>>2]=m;o[k+4>>2]=I;k=Os(0,o[l>>2]|0,32)|0;m=I;E=Os(0,o[p>>2]|0,32)|0;m=Es(E|0,I|0,k|0,m|0)|0;k=I;E=Os(0,o[h>>2]|0,32)|0;_=I;r=Os(0,o[g>>2]|0,32)|0;_=Es(r|0,I|0,E|0,_|0)|0;k=ks(_|0,I|0,m|0,k|0)|0;m=I;_=Os(0,o[a>>2]|0,32)|0;E=I;r=Os(0,o[u>>2]|0,32)|0;E=Es(r|0,I|0,_|0,E|0)|0;E=ks(k|0,m|0,E|0,I|0)|0;m=I;k=Os(0,o[f>>2]|0,32)|0;_=I;r=Os(0,o[v>>2]|0,32)|0;_=Es(r|0,I|0,k|0,_|0)|0;_=ks(E|0,m|0,_|0,I|0)|0;m=I;E=Os(0,o[y>>2]|0,32)|0;k=I;r=Os(0,o[d>>2]|0,32)|0;k=Es(r|0,I|0,E|0,k|0)|0;k=ks(_|0,m|0,k|0,I|0)|0;m=I;_=Os(0,o[s>>2]|0,32)|0;E=I;r=Os(0,o[A>>2]|0,32)|0;E=Es(r|0,I|0,_|0,E|0)|0;E=ks(k|0,m|0,E|0,I|0)|0;m=I;k=Os(0,o[b>>2]|0,32)|0;_=I;r=Os(0,o[c>>2]|0,32)|0;_=Es(r|0,I|0,k|0,_|0)|0;_=ks(E|0,m|0,_|0,I|0)|0;m=I;E=Os(0,o[i>>2]|0,32)|0;k=I;r=Os(0,o[w>>2]|0,32)|0;k=Es(r|0,I|0,E|0,k|0)|0;k=ks(_|0,m|0,k|0,I|0)|0;m=I;_=Os(0,o[t>>2]|0,32)|0;E=I;r=n+72|0;S=Os(0,o[r>>2]|0,32)|0;E=Es(S|0,I|0,_|0,E|0)|0;E=ks(k|0,m|0,E|0,I|0)|0;m=I;t=t+72|0;k=Os(0,o[t>>2]|0,32)|0;_=I;n=Os(0,o[n>>2]|0,32)|0;_=Es(n|0,I|0,k|0,_|0)|0;_=ks(E|0,m|0,_|0,I|0)|0;n=e+72|0;o[n>>2]=_;o[n+4>>2]=I;n=Os(0,o[h>>2]|0,32)|0;_=I;m=Os(0,o[p>>2]|0,32)|0;_=Es(m|0,I|0,n|0,_|0)|0;n=I;m=Os(0,o[a>>2]|0,32)|0;E=I;k=Os(0,o[d>>2]|0,32)|0;E=Es(k|0,I|0,m|0,E|0)|0;n=ks(E|0,I|0,_|0,n|0)|0;_=I;E=Os(0,o[s>>2]|0,32)|0;m=I;k=Os(0,o[v>>2]|0,32)|0;m=Es(k|0,I|0,E|0,m|0)|0;m=ks(n|0,_|0,m|0,I|0)|0;_=I;n=Os(0,o[b>>2]|0,32)|0;b=I;E=Os(0,o[r>>2]|0,32)|0;b=Es(E|0,I|0,n|0,b|0)|0;b=ks(m|0,_|0,b|0,I|0)|0;_=I;m=Os(0,o[t>>2]|0,32)|0;n=I;w=Os(0,o[w>>2]|0,32)|0;n=Es(w|0,I|0,m|0,n|0)|0;n=ks(b|0,_|0,n|0,I|0)|0;n=Cs(n|0,I|0,1)|0;_=I;b=Os(0,o[l>>2]|0,32)|0;m=I;w=Os(0,o[u>>2]|0,32)|0;m=Es(w|0,I|0,b|0,m|0)|0;m=ks(n|0,_|0,m|0,I|0)|0;_=I;n=Os(0,o[f>>2]|0,32)|0;b=I;w=Os(0,o[g>>2]|0,32)|0;b=Es(w|0,I|0,n|0,b|0)|0;b=ks(m|0,_|0,b|0,I|0)|0;_=I;m=Os(0,o[y>>2]|0,32)|0;n=I;w=Os(0,o[c>>2]|0,32)|0;n=Es(w|0,I|0,m|0,n|0)|0;n=ks(b|0,_|0,n|0,I|0)|0;_=I;b=Os(0,o[i>>2]|0,32)|0;m=I;w=Os(0,o[A>>2]|0,32)|0;m=Es(w|0,I|0,b|0,m|0)|0;m=ks(n|0,_|0,m|0,I|0)|0;_=e+80|0;o[_>>2]=m;o[_+4>>2]=I;_=Os(0,o[h>>2]|0,32)|0;m=I;n=Os(0,o[u>>2]|0,32)|0;m=Es(n|0,I|0,_|0,m|0)|0;_=I;n=Os(0,o[f>>2]|0,32)|0;b=I;w=Os(0,o[p>>2]|0,32)|0;b=Es(w|0,I|0,n|0,b|0)|0;_=ks(b|0,I|0,m|0,_|0)|0;m=I;b=Os(0,o[l>>2]|0,32)|0;n=I;w=Os(0,o[d>>2]|0,32)|0;n=Es(w|0,I|0,b|0,n|0)|0;n=ks(_|0,m|0,n|0,I|0)|0;m=I;_=Os(0,o[s>>2]|0,32)|0;b=I;w=Os(0,o[g>>2]|0,32)|0;b=Es(w|0,I|0,_|0,b|0)|0;b=ks(n|0,m|0,b|0,I|0)|0;m=I;n=Os(0,o[a>>2]|0,32)|0;_=I;w=Os(0,o[c>>2]|0,32)|0;_=Es(w|0,I|0,n|0,_|0)|0;_=ks(b|0,m|0,_|0,I|0)|0;m=I;b=Os(0,o[i>>2]|0,32)|0;n=I;w=Os(0,o[v>>2]|0,32)|0;n=Es(w|0,I|0,b|0,n|0)|0;n=ks(_|0,m|0,n|0,I|0)|0;m=I;y=Os(0,o[y>>2]|0,32)|0;_=I;b=Os(0,o[r>>2]|0,32)|0;_=Es(b|0,I|0,y|0,_|0)|0;_=ks(n|0,m|0,_|0,I|0)|0;m=I;n=Os(0,o[t>>2]|0,32)|0;y=I;A=Os(0,o[A>>2]|0,32)|0;y=Es(A|0,I|0,n|0,y|0)|0;y=ks(_|0,m|0,y|0,I|0)|0;m=e+88|0;o[m>>2]=y;o[m+4>>2]=I;m=Os(0,o[f>>2]|0,32)|0;y=I;_=Os(0,o[u>>2]|0,32)|0;y=Es(_|0,I|0,m|0,y|0)|0;m=I;_=Os(0,o[h>>2]|0,32)|0;n=I;A=Os(0,o[d>>2]|0,32)|0;n=Es(A|0,I|0,_|0,n|0)|0;_=I;A=Os(0,o[s>>2]|0,32)|0;b=I;w=Os(0,o[p>>2]|0,32)|0;b=Es(w|0,I|0,A|0,b|0)|0;_=ks(b|0,I|0,n|0,_|0)|0;n=I;a=Os(0,o[a>>2]|0,32)|0;b=I;A=Os(0,o[r>>2]|0,32)|0;b=Es(A|0,I|0,a|0,b|0)|0;b=ks(_|0,n|0,b|0,I|0)|0;n=I;_=Os(0,o[t>>2]|0,32)|0;a=I;v=Os(0,o[v>>2]|0,32)|0;a=Es(v|0,I|0,_|0,a|0)|0;a=ks(b|0,n|0,a|0,I|0)|0;a=Cs(a|0,I|0,1)|0;m=ks(a|0,I|0,y|0,m|0)|0;y=I;a=Os(0,o[l>>2]|0,32)|0;n=I;b=Os(0,o[c>>2]|0,32)|0;n=Es(b|0,I|0,a|0,n|0)|0;n=ks(m|0,y|0,n|0,I|0)|0;y=I;m=Os(0,o[i>>2]|0,32)|0;a=I;b=Os(0,o[g>>2]|0,32)|0;a=Es(b|0,I|0,m|0,a|0)|0;a=ks(n|0,y|0,a|0,I|0)|0;y=e+96|0;o[y>>2]=a;o[y+4>>2]=I;y=Os(0,o[f>>2]|0,32)|0;a=I;n=Os(0,o[d>>2]|0,32)|0;a=Es(n|0,I|0,y|0,a|0)|0;y=I;n=Os(0,o[s>>2]|0,32)|0;m=I;b=Os(0,o[u>>2]|0,32)|0;m=Es(b|0,I|0,n|0,m|0)|0;y=ks(m|0,I|0,a|0,y|0)|0;a=I;m=Os(0,o[h>>2]|0,32)|0;n=I;b=Os(0,o[c>>2]|0,32)|0;n=Es(b|0,I|0,m|0,n|0)|0;n=ks(y|0,a|0,n|0,I|0)|0;a=I;y=Os(0,o[i>>2]|0,32)|0;m=I;b=Os(0,o[p>>2]|0,32)|0;m=Es(b|0,I|0,y|0,m|0)|0;m=ks(n|0,a|0,m|0,I|0)|0;a=I;l=Os(0,o[l>>2]|0,32)|0;n=I;y=Os(0,o[r>>2]|0,32)|0;n=Es(y|0,I|0,l|0,n|0)|0;n=ks(m|0,a|0,n|0,I|0)|0;a=I;m=Os(0,o[t>>2]|0,32)|0;l=I;g=Os(0,o[g>>2]|0,32)|0;l=Es(g|0,I|0,m|0,l|0)|0;l=ks(n|0,a|0,l|0,I|0)|0;a=e+104|0;o[a>>2]=l;o[a+4>>2]=I;a=Os(0,o[s>>2]|0,32)|0;l=I;n=Os(0,o[d>>2]|0,32)|0;l=Es(n|0,I|0,a|0,l|0)|0;a=I;n=Os(0,o[h>>2]|0,32)|0;h=I;m=Os(0,o[r>>2]|0,32)|0;h=Es(m|0,I|0,n|0,h|0)|0;a=ks(h|0,I|0,l|0,a|0)|0;l=I;h=Os(0,o[t>>2]|0,32)|0;n=I;p=Os(0,o[p>>2]|0,32)|0;n=Es(p|0,I|0,h|0,n|0)|0;n=ks(a|0,l|0,n|0,I|0)|0;n=Cs(n|0,I|0,1)|0;l=I;a=Os(0,o[f>>2]|0,32)|0;h=I;p=Os(0,o[c>>2]|0,32)|0;h=Es(p|0,I|0,a|0,h|0)|0;h=ks(n|0,l|0,h|0,I|0)|0;l=I;n=Os(0,o[i>>2]|0,32)|0;a=I;p=Os(0,o[u>>2]|0,32)|0;a=Es(p|0,I|0,n|0,a|0)|0;a=ks(h|0,l|0,a|0,I|0)|0;l=e+112|0;o[l>>2]=a;o[l+4>>2]=I;l=Os(0,o[s>>2]|0,32)|0;a=I;h=Os(0,o[c>>2]|0,32)|0;a=Es(h|0,I|0,l|0,a|0)|0;l=I;h=Os(0,o[i>>2]|0,32)|0;n=I;p=Os(0,o[d>>2]|0,32)|0;n=Es(p|0,I|0,h|0,n|0)|0;l=ks(n|0,I|0,a|0,l|0)|0;a=I;n=Os(0,o[f>>2]|0,32)|0;f=I;h=Os(0,o[r>>2]|0,32)|0;f=Es(h|0,I|0,n|0,f|0)|0;f=ks(l|0,a|0,f|0,I|0)|0;a=I;l=Os(0,o[t>>2]|0,32)|0;n=I;u=Os(0,o[u>>2]|0,32)|0;n=Es(u|0,I|0,l|0,n|0)|0;n=ks(f|0,a|0,n|0,I|0)|0;a=e+120|0;o[a>>2]=n;o[a+4>>2]=I;a=Os(0,o[i>>2]|0,32)|0;n=I;f=Os(0,o[c>>2]|0,32)|0;n=Es(f|0,I|0,a|0,n|0)|0;a=I;s=Os(0,o[s>>2]|0,32)|0;f=I;l=Os(0,o[r>>2]|0,32)|0;f=Es(l|0,I|0,s|0,f|0)|0;s=I;l=Os(0,o[t>>2]|0,32)|0;u=I;d=Os(0,o[d>>2]|0,32)|0;u=Es(d|0,I|0,l|0,u|0)|0;s=ks(u|0,I|0,f|0,s|0)|0;s=Cs(s|0,I|0,1)|0;a=ks(s|0,I|0,n|0,a|0)|0;n=e+128|0;o[n>>2]=a;o[n+4>>2]=I;i=Os(0,o[i>>2]|0,32)|0;n=I;a=Os(0,o[r>>2]|0,32)|0;n=Es(a|0,I|0,i|0,n|0)|0;i=I;a=Os(0,o[t>>2]|0,32)|0;s=I;c=Os(0,o[c>>2]|0,32)|0;s=Es(c|0,I|0,a|0,s|0)|0;i=ks(s|0,I|0,n|0,i|0)|0;n=e+136|0;o[n>>2]=i;o[n+4>>2]=I;n=Os(0,o[t>>2]|0,31)|0;t=I;r=Os(0,o[r>>2]|0,32)|0;t=Es(r|0,I|0,n|0,t|0)|0;n=e+144|0;o[n>>2]=t;o[n+4>>2]=I;return}function Bo(e){e=e|0;var t=0,n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0;t=e+80|0;s=t;o[s>>2]=0;o[s+4>>2]=0;s=e;f=o[s>>2]|0;s=o[s+4>>2]|0;n=ks(f|0,s|0,s>>31>>>6|0,0)|0;a=I;i=Os(n|0,a|0,26)|0;u=I;a=Ss(f|0,s|0,n&-67108864|0,a|0)|0;n=e;o[n>>2]=a;o[n+4>>2]=I;n=e+8|0;a=n;a=ks(i|0,u|0,o[a>>2]|0,o[a+4>>2]|0)|0;u=I;i=ks(a|0,u|0,u>>31>>>7|0,0)|0;s=I;f=Os(i|0,s|0,25)|0;r=I;s=Ss(a|0,u|0,i&-33554432|0,s|0)|0;i=n;o[i>>2]=s;o[i+4>>2]=I;i=e+16|0;s=i;s=ks(f|0,r|0,o[s>>2]|0,o[s+4>>2]|0)|0;r=I;f=ks(s|0,r|0,r>>31>>>6|0,0)|0;u=I;a=Os(f|0,u|0,26)|0;c=I;u=Ss(s|0,r|0,f&-67108864|0,u|0)|0;o[i>>2]=u;o[i+4>>2]=I;i=e+24|0;u=i;u=ks(a|0,c|0,o[u>>2]|0,o[u+4>>2]|0)|0;c=I;a=ks(u|0,c|0,c>>31>>>7|0,0)|0;f=I;r=Os(a|0,f|0,25)|0;s=I;f=Ss(u|0,c|0,a&-33554432|0,f|0)|0;o[i>>2]=f;o[i+4>>2]=I;i=e+32|0;f=i;f=ks(r|0,s|0,o[f>>2]|0,o[f+4>>2]|0)|0;s=I;r=ks(f|0,s|0,s>>31>>>6|0,0)|0;a=I;c=Os(r|0,a|0,26)|0;u=I;a=Ss(f|0,s|0,r&-67108864|0,a|0)|0;o[i>>2]=a;o[i+4>>2]=I;i=e+40|0;a=i;a=ks(c|0,u|0,o[a>>2]|0,o[a+4>>2]|0)|0;u=I;c=ks(a|0,u|0,u>>31>>>7|0,0)|0;r=I;s=Os(c|0,r|0,25)|0;f=I;r=Ss(a|0,u|0,c&-33554432|0,r|0)|0;o[i>>2]=r;o[i+4>>2]=I;i=e+48|0;r=i;r=ks(s|0,f|0,o[r>>2]|0,o[r+4>>2]|0)|0;f=I;s=ks(r|0,f|0,f>>31>>>6|0,0)|0;c=I;u=Os(s|0,c|0,26)|0;a=I;c=Ss(r|0,f|0,s&-67108864|0,c|0)|0;o[i>>2]=c;o[i+4>>2]=I;i=e+56|0;c=i;c=ks(u|0,a|0,o[c>>2]|0,o[c+4>>2]|0)|0;a=I;u=ks(c|0,a|0,a>>31>>>7|0,0)|0;s=I;f=Os(u|0,s|0,25)|0;r=I;s=Ss(c|0,a|0,u&-33554432|0,s|0)|0;o[i>>2]=s;o[i+4>>2]=I;i=e+64|0;s=i;s=ks(f|0,r|0,o[s>>2]|0,o[s+4>>2]|0)|0;r=I;f=ks(s|0,r|0,r>>31>>>6|0,0)|0;u=I;a=Os(f|0,u|0,26)|0;c=I;u=Ss(s|0,r|0,f&-67108864|0,u|0)|0;o[i>>2]=u;o[i+4>>2]=I;i=e+72|0;u=i;u=ks(a|0,c|0,o[u>>2]|0,o[u+4>>2]|0)|0;c=I;a=ks(u|0,c|0,c>>31>>>7|0,0)|0;f=I;r=Os(a|0,f|0,25)|0;s=I;f=Ss(u|0,c|0,a&-33554432|0,f|0)|0;o[i>>2]=f;o[i+4>>2]=I;i=t;i=ks(r|0,s|0,o[i>>2]|0,o[i+4>>2]|0)|0;s=I;r=e;f=o[r>>2]|0;r=o[r+4>>2]|0;a=Es(i|0,s|0,18,0)|0;c=I;s=ks(f|0,r|0,i|0,s|0)|0;c=ks(s|0,I|0,a|0,c|0)|0;a=I;o[t>>2]=0;o[t+4>>2]=0;t=ks(c|0,a|0,a>>31>>>6|0,0)|0;s=I;i=Os(t|0,s|0,26)|0;r=I;s=Ss(c|0,a|0,t&-67108864|0,s|0)|0;t=e;o[t>>2]=s;o[t+4>>2]=I;t=n;t=ks(i|0,r|0,o[t>>2]|0,o[t+4>>2]|0)|0;e=n;o[e>>2]=t;o[e+4>>2]=I;return}function No(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0;r=h;h=h+160|0;n=r;q=o[t>>2]|0;y=Os(0,q|0,32)|0;c=I;a=Es(y|0,c|0,y|0,c|0)|0;s=I;B=n;o[B>>2]=a;o[B+4>>2]=s;q=Os(0,q|0,31)|0;B=I;H=o[t+8>>2]|0;E=Os(0,H|0,32)|0;d=I;m=Es(E|0,d|0,q|0,B|0)|0;p=I;u=n+8|0;A=u;o[A>>2]=m;o[A+4>>2]=p;A=Es(E|0,d|0,E|0,d|0)|0;w=I;g=Os(0,o[t+16>>2]|0,32)|0;l=I;b=Es(g|0,l|0,y|0,c|0)|0;w=ks(b|0,I|0,A|0,w|0)|0;w=Cs(w|0,I|0,1)|0;A=I;b=n+16|0;T=b;o[T>>2]=w;o[T+4>>2]=A;T=Es(g|0,l|0,E|0,d|0)|0;R=I;ce=Os(0,o[t+24>>2]|0,32)|0;ae=I;v=Es(ce|0,ae|0,y|0,c|0)|0;R=ks(v|0,I|0,T|0,R|0)|0;R=Cs(R|0,I|0,1)|0;T=I;v=n+24|0;D=v;o[D>>2]=R;o[D+4>>2]=T;D=Es(g|0,l|0,g|0,l|0)|0;C=I;O=Os(0,H|0,30)|0;O=Es(ce|0,ae|0,O|0,I|0)|0;C=ks(O|0,I|0,D|0,C|0)|0;D=I;O=Os(0,o[t+32>>2]|0,32)|0;_=I;B=Es(O|0,_|0,q|0,B|0)|0;B=ks(C|0,D|0,B|0,I|0)|0;D=I;C=n+32|0;q=C;o[q>>2]=B;o[q+4>>2]=D;q=Es(ce|0,ae|0,g|0,l|0)|0;U=I;P=Es(O|0,_|0,E|0,d|0)|0;U=ks(P|0,I|0,q|0,U|0)|0;q=I;P=o[t+40>>2]|0;j=Os(0,P|0,32)|0;M=I;K=Es(j|0,M|0,y|0,c|0)|0;K=ks(U|0,q|0,K|0,I|0)|0;K=Cs(K|0,I|0,1)|0;q=I;U=n+40|0;$=U;o[$>>2]=K;o[$+4>>2]=q;$=Es(ce|0,ae|0,ce|0,ae|0)|0;te=I;z=Es(O|0,_|0,g|0,l|0)|0;te=ks(z|0,I|0,$|0,te|0)|0;$=I;z=Os(0,o[t+48>>2]|0,32)|0;G=I;W=Es(z|0,G|0,y|0,c|0)|0;Y=I;H=Os(0,H|0,31)|0;H=Es(j|0,M|0,H|0,I|0)|0;H=ks(te|0,$|0,H|0,I|0)|0;Y=ks(H|0,I|0,W|0,Y|0)|0;Y=Cs(Y|0,I|0,1)|0;W=I;H=n+48|0;$=H;o[$>>2]=Y;o[$+4>>2]=W;$=Es(O|0,_|0,ce|0,ae|0)|0;te=I;Q=Es(j|0,M|0,g|0,l|0)|0;te=ks(Q|0,I|0,$|0,te|0)|0;$=I;Q=Es(z|0,G|0,E|0,d|0)|0;Q=ks(te|0,$|0,Q|0,I|0)|0;$=I;te=o[t+56>>2]|0;L=Os(0,te|0,32)|0;F=I;ee=Es(L|0,F|0,y|0,c|0)|0;ee=ks(Q|0,$|0,ee|0,I|0)|0;ee=Cs(ee|0,I|0,1)|0;$=I;Q=n+56|0;V=Q;o[V>>2]=ee;o[V+4>>2]=$;V=Es(O|0,_|0,O|0,_|0)|0;Z=I;i=Es(z|0,G|0,g|0,l|0)|0;oe=I;ne=o[t+64>>2]|0;J=Os(0,ne|0,32)|0;X=I;ie=Es(J|0,X|0,y|0,c|0)|0;oe=ks(ie|0,I|0,i|0,oe|0)|0;i=I;ie=Es(L|0,F|0,E|0,d|0)|0;re=I;f=Es(j|0,M|0,ce|0,ae|0)|0;f=ks(ie|0,re|0,f|0,I|0)|0;f=Cs(f|0,I|0,1)|0;f=ks(oe|0,i|0,f|0,I|0)|0;f=Cs(f|0,I|0,1)|0;Z=ks(f|0,I|0,V|0,Z|0)|0;V=I;f=Es(j|0,M|0,O|0,_|0)|0;i=I;oe=Es(z|0,G|0,ce|0,ae|0)|0;i=ks(oe|0,I|0,f|0,i|0)|0;f=I;oe=Es(L|0,F|0,g|0,l|0)|0;oe=ks(i|0,f|0,oe|0,I|0)|0;f=I;i=Es(J|0,X|0,E|0,d|0)|0;i=ks(oe|0,f|0,i|0,I|0)|0;f=I;oe=o[t+72>>2]|0;re=Os(0,oe|0,32)|0;ie=I;c=Es(re|0,ie|0,y|0,c|0)|0;c=ks(i|0,f|0,c|0,I|0)|0;c=Cs(c|0,I|0,1)|0;t=n+72|0;o[t>>2]=c;o[t+4>>2]=I;t=Es(j|0,M|0,j|0,M|0)|0;c=I;f=Es(z|0,G|0,O|0,_|0)|0;c=ks(f|0,I|0,t|0,c|0)|0;t=I;f=Es(J|0,X|0,g|0,l|0)|0;f=ks(c|0,t|0,f|0,I|0)|0;t=I;c=Es(L|0,F|0,ce|0,ae|0)|0;i=I;d=Es(re|0,ie|0,E|0,d|0)|0;i=ks(d|0,I|0,c|0,i|0)|0;i=Cs(i|0,I|0,1)|0;i=ks(f|0,t|0,i|0,I|0)|0;t=I;f=Cs(i|0,t|0,1)|0;c=I;d=n+80|0;o[d>>2]=f;o[d+4>>2]=c;d=Es(z|0,G|0,j|0,M|0)|0;E=I;y=Es(L|0,F|0,O|0,_|0)|0;E=ks(y|0,I|0,d|0,E|0)|0;d=I;y=Es(J|0,X|0,ce|0,ae|0)|0;y=ks(E|0,d|0,y|0,I|0)|0;d=I;l=Es(re|0,ie|0,g|0,l|0)|0;l=ks(y|0,d|0,l|0,I|0)|0;d=I;y=Cs(l|0,d|0,1)|0;g=I;E=n+88|0;o[E>>2]=y;o[E+4>>2]=g;E=Es(z|0,G|0,z|0,G|0)|0;k=I;x=Es(J|0,X|0,O|0,_|0)|0;S=I;se=Es(L|0,F|0,j|0,M|0)|0;N=I;ae=Es(re|0,ie|0,ce|0,ae|0)|0;N=ks(ae|0,I|0,se|0,N|0)|0;N=Cs(N|0,I|0,1)|0;S=ks(N|0,I|0,x|0,S|0)|0;S=Cs(S|0,I|0,1)|0;k=ks(S|0,I|0,E|0,k|0)|0;E=I;S=n+96|0;o[S>>2]=k;o[S+4>>2]=E;S=Es(L|0,F|0,z|0,G|0)|0;x=I;M=Es(J|0,X|0,j|0,M|0)|0;x=ks(M|0,I|0,S|0,x|0)|0;S=I;_=Es(re|0,ie|0,O|0,_|0)|0;_=ks(x|0,S|0,_|0,I|0)|0;S=I;x=Cs(_|0,S|0,1)|0;O=I;M=n+104|0;o[M>>2]=x;o[M+4>>2]=O;M=Es(L|0,F|0,L|0,F|0)|0;j=I;N=Es(J|0,X|0,z|0,G|0)|0;j=ks(N|0,I|0,M|0,j|0)|0;M=I;P=Os(0,P|0,31)|0;P=Es(re|0,ie|0,P|0,I|0)|0;P=ks(j|0,M|0,P|0,I|0)|0;M=I;j=Cs(P|0,M|0,1)|0;N=I;se=n+112|0;o[se>>2]=j;o[se+4>>2]=N;F=Es(J|0,X|0,L|0,F|0)|0;L=I;G=Es(re|0,ie|0,z|0,G|0)|0;L=ks(G|0,I|0,F|0,L|0)|0;F=I;G=Cs(L|0,F|0,1)|0;z=I;se=n+120|0;o[se>>2]=G;o[se+4>>2]=z;X=Es(J|0,X|0,J|0,X|0)|0;J=I;te=Os(0,te|0,30)|0;te=Es(re|0,ie|0,te|0,I|0)|0;J=ks(te|0,I|0,X|0,J|0)|0;X=I;te=n+128|0;o[te>>2]=J;o[te+4>>2]=X;ne=Os(0,ne|0,31)|0;ne=Es(re|0,ie|0,ne|0,I|0)|0;te=I;se=n+136|0;o[se>>2]=ne;o[se+4>>2]=te;oe=Os(0,oe|0,31)|0;ie=Es(oe|0,I|0,re|0,ie|0)|0;re=I;oe=n+144|0;o[oe>>2]=ie;o[oe+4>>2]=re;re=Es(ie|0,re|0,19,0)|0;V=ks(re|0,I|0,Z|0,V|0)|0;Z=n+64|0;o[Z>>2]=V;o[Z+4>>2]=I;Z=Es(ne|0,te|0,18,0)|0;V=I;$=ks(ne|0,te|0,ee|0,$|0)|0;V=ks($|0,I|0,Z|0,V|0)|0;o[Q>>2]=V;o[Q+4>>2]=I;Q=Es(J|0,X|0,18,0)|0;V=I;W=ks(J|0,X|0,Y|0,W|0)|0;V=ks(W|0,I|0,Q|0,V|0)|0;o[H>>2]=V;o[H+4>>2]=I;F=Es(L|0,F|0,36,0)|0;L=I;q=ks(G|0,z|0,K|0,q|0)|0;L=ks(q|0,I|0,F|0,L|0)|0;o[U>>2]=L;o[U+4>>2]=I;M=Es(P|0,M|0,36,0)|0;P=I;D=ks(j|0,N|0,B|0,D|0)|0;P=ks(D|0,I|0,M|0,P|0)|0;o[C>>2]=P;o[C+4>>2]=I;S=Es(_|0,S|0,36,0)|0;_=I;T=ks(x|0,O|0,R|0,T|0)|0;_=ks(T|0,I|0,S|0,_|0)|0;o[v>>2]=_;o[v+4>>2]=I;v=Es(k|0,E|0,18,0)|0;_=I;A=ks(k|0,E|0,w|0,A|0)|0;_=ks(A|0,I|0,v|0,_|0)|0;o[b>>2]=_;o[b+4>>2]=I;d=Es(l|0,d|0,36,0)|0;l=I;p=ks(y|0,g|0,m|0,p|0)|0;l=ks(p|0,I|0,d|0,l|0)|0;o[u>>2]=l;o[u+4>>2]=I;t=Es(i|0,t|0,36,0)|0;i=I;s=ks(f|0,c|0,a|0,s|0)|0;i=ks(s|0,I|0,t|0,i|0)|0;t=n;o[t>>2]=i;o[t+4>>2]=I;Bo(n);t=n;n=e+80|0;do{o[e>>2]=o[t>>2];e=e+4|0;t=t+4|0}while((e|0)<(n|0));h=r;return}function jo(e){e=e|0;var t=0,n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0;E=h;h=h+16|0;p=E;do{if(e>>>0<245){u=e>>>0<11?16:e+11&-8;e=u>>>3;d=o[9632]|0;n=d>>>e;if(n&3|0){t=(n&1^1)+e|0;e=38568+(t<<1<<2)|0;n=e+8|0;r=o[n>>2]|0;i=r+8|0;s=o[i>>2]|0;if((s|0)==(e|0))o[9632]=d&~(1<>2]=e;o[n>>2]=s}w=t<<3;o[r+4>>2]=w|3;w=r+w+4|0;o[w>>2]=o[w>>2]|1;w=i;h=E;return w|0}l=o[9634]|0;if(u>>>0>l>>>0){if(n|0){t=2<>>12&16;t=t>>>c;n=t>>>5&8;t=t>>>n;s=t>>>2&4;t=t>>>s;e=t>>>1&2;t=t>>>e;r=t>>>1&1;r=(n|c|s|e|r)+(t>>>r)|0;t=38568+(r<<1<<2)|0;e=t+8|0;s=o[e>>2]|0;c=s+8|0;n=o[c>>2]|0;if((n|0)==(t|0)){e=d&~(1<>2]=t;o[e>>2]=n;e=d}w=r<<3;a=w-u|0;o[s+4>>2]=u|3;i=s+u|0;o[i+4>>2]=a|1;o[s+w>>2]=a;if(l|0){r=o[9637]|0;t=l>>>3;n=38568+(t<<1<<2)|0;t=1<>2]|0}o[e>>2]=r;o[t+12>>2]=r;o[r+8>>2]=t;o[r+12>>2]=n}o[9634]=a;o[9637]=i;w=c;h=E;return w|0}s=o[9633]|0;if(s){n=(s&0-s)+-1|0;i=n>>>12&16;n=n>>>i;r=n>>>5&8;n=n>>>r;a=n>>>2&4;n=n>>>a;c=n>>>1&2;n=n>>>c;f=n>>>1&1;f=o[38832+((r|i|a|c|f)+(n>>>f)<<2)>>2]|0;n=f;c=f;f=(o[f+4>>2]&-8)-u|0;while(1){e=o[n+16>>2]|0;if(!e){e=o[n+20>>2]|0;if(!e)break}a=(o[e+4>>2]&-8)-u|0;i=a>>>0>>0;n=e;c=i?e:c;f=i?a:f}a=c+u|0;if(a>>>0>c>>>0){i=o[c+24>>2]|0;t=o[c+12>>2]|0;do{if((t|0)==(c|0)){e=c+20|0;t=o[e>>2]|0;if(!t){e=c+16|0;t=o[e>>2]|0;if(!t){n=0;break}}while(1){r=t+20|0;n=o[r>>2]|0;if(!n){r=t+16|0;n=o[r>>2]|0;if(!n)break;else{t=n;e=r}}else{t=n;e=r}}o[e>>2]=0;n=t}else{n=o[c+8>>2]|0;o[n+12>>2]=t;o[t+8>>2]=n;n=t}}while(0);do{if(i|0){t=o[c+28>>2]|0;e=38832+(t<<2)|0;if((c|0)==(o[e>>2]|0)){o[e>>2]=n;if(!n){o[9633]=s&~(1<>2]|0)==(c|0)?w:i+20|0)>>2]=n;if(!n)break}o[n+24>>2]=i;t=o[c+16>>2]|0;if(t|0){o[n+16>>2]=t;o[t+24>>2]=n}t=o[c+20>>2]|0;if(t|0){o[n+20>>2]=t;o[t+24>>2]=n}}}while(0);if(f>>>0<16){w=f+u|0;o[c+4>>2]=w|3;w=c+w+4|0;o[w>>2]=o[w>>2]|1}else{o[c+4>>2]=u|3;o[a+4>>2]=f|1;o[a+f>>2]=f;if(l|0){r=o[9637]|0;t=l>>>3;n=38568+(t<<1<<2)|0;t=1<>2]|0}o[e>>2]=r;o[t+12>>2]=r;o[r+8>>2]=t;o[r+12>>2]=n}o[9634]=f;o[9637]=a}w=c+8|0;h=E;return w|0}else d=u}else d=u}else d=u}else if(e>>>0<=4294967231){e=e+11|0;u=e&-8;r=o[9633]|0;if(r){i=0-u|0;e=e>>>8;if(e)if(u>>>0>16777215)f=31;else{d=(e+1048320|0)>>>16&8;y=e<>>16&4;y=y<>>16&2;f=14-(c|d|f)+(y<>>15)|0;f=u>>>(f+7|0)&1|f<<1}else f=0;n=o[38832+(f<<2)>>2]|0;e:do{if(!n){n=0;e=0;y=61}else{e=0;c=u<<((f|0)==31?0:25-(f>>>1)|0);s=0;while(1){a=(o[n+4>>2]&-8)-u|0;if(a>>>0>>0)if(!a){e=n;i=0;y=65;break e}else{e=n;i=a}y=o[n+20>>2]|0;n=o[n+16+(c>>>31<<2)>>2]|0;s=(y|0)==0|(y|0)==(n|0)?s:y;if(!n){n=s;y=61;break}else c=c<<1}}}while(0);if((y|0)==61){if((n|0)==0&(e|0)==0){e=2<>>12&16;d=d>>>a;s=d>>>5&8;d=d>>>s;c=d>>>2&4;d=d>>>c;f=d>>>1&2;d=d>>>f;n=d>>>1&1;e=0;n=o[38832+((s|a|c|f|n)+(d>>>n)<<2)>>2]|0}if(!n){c=e;a=i}else y=65}if((y|0)==65){s=n;while(1){d=(o[s+4>>2]&-8)-u|0;n=d>>>0>>0;i=n?d:i;e=n?s:e;n=o[s+16>>2]|0;if(!n)n=o[s+20>>2]|0;if(!n){c=e;a=i;break}else s=n}}if(((c|0)!=0?a>>>0<((o[9634]|0)-u|0)>>>0:0)?(l=c+u|0,l>>>0>c>>>0):0){s=o[c+24>>2]|0;t=o[c+12>>2]|0;do{if((t|0)==(c|0)){e=c+20|0;t=o[e>>2]|0;if(!t){e=c+16|0;t=o[e>>2]|0;if(!t){t=0;break}}while(1){i=t+20|0;n=o[i>>2]|0;if(!n){i=t+16|0;n=o[i>>2]|0;if(!n)break;else{t=n;e=i}}else{t=n;e=i}}o[e>>2]=0}else{w=o[c+8>>2]|0;o[w+12>>2]=t;o[t+8>>2]=w}}while(0);do{if(s){e=o[c+28>>2]|0;n=38832+(e<<2)|0;if((c|0)==(o[n>>2]|0)){o[n>>2]=t;if(!t){r=r&~(1<>2]|0)==(c|0)?w:s+20|0)>>2]=t;if(!t)break}o[t+24>>2]=s;e=o[c+16>>2]|0;if(e|0){o[t+16>>2]=e;o[e+24>>2]=t}e=o[c+20>>2]|0;if(e){o[t+20>>2]=e;o[e+24>>2]=t}}}while(0);e:do{if(a>>>0<16){w=a+u|0;o[c+4>>2]=w|3;w=c+w+4|0;o[w>>2]=o[w>>2]|1}else{o[c+4>>2]=u|3;o[l+4>>2]=a|1;o[l+a>>2]=a;t=a>>>3;if(a>>>0<256){n=38568+(t<<1<<2)|0;e=o[9632]|0;t=1<>2]|0}o[e>>2]=l;o[t+12>>2]=l;o[l+8>>2]=t;o[l+12>>2]=n;break}t=a>>>8;if(t)if(a>>>0>16777215)n=31;else{A=(t+1048320|0)>>>16&8;w=t<>>16&4;w=w<>>16&2;n=14-(v|A|n)+(w<>>15)|0;n=a>>>(n+7|0)&1|n<<1}else n=0;t=38832+(n<<2)|0;o[l+28>>2]=n;e=l+16|0;o[e+4>>2]=0;o[e>>2]=0;e=1<>2]=l;o[l+24>>2]=t;o[l+12>>2]=l;o[l+8>>2]=l;break}t=o[t>>2]|0;t:do{if((o[t+4>>2]&-8|0)!=(a|0)){r=a<<((n|0)==31?0:25-(n>>>1)|0);while(1){n=t+16+(r>>>31<<2)|0;e=o[n>>2]|0;if(!e)break;if((o[e+4>>2]&-8|0)==(a|0)){t=e;break t}else{r=r<<1;t=e}}o[n>>2]=l;o[l+24>>2]=t;o[l+12>>2]=l;o[l+8>>2]=l;break e}}while(0);A=t+8|0;w=o[A>>2]|0;o[w+12>>2]=l;o[A>>2]=l;o[l+8>>2]=w;o[l+12>>2]=t;o[l+24>>2]=0}}while(0);w=c+8|0;h=E;return w|0}else d=u}else d=u}else d=-1}while(0);n=o[9634]|0;if(n>>>0>=d>>>0){t=n-d|0;e=o[9637]|0;if(t>>>0>15){w=e+d|0;o[9637]=w;o[9634]=t;o[w+4>>2]=t|1;o[e+n>>2]=t;o[e+4>>2]=d|3}else{o[9634]=0;o[9637]=0;o[e+4>>2]=n|3;w=e+n+4|0;o[w>>2]=o[w>>2]|1}w=e+8|0;h=E;return w|0}a=o[9635]|0;if(a>>>0>d>>>0){v=a-d|0;o[9635]=v;w=o[9638]|0;A=w+d|0;o[9638]=A;o[A+4>>2]=v|1;o[w+4>>2]=d|3;w=w+8|0;h=E;return w|0}if(!(o[9750]|0)){o[9752]=4096;o[9751]=4096;o[9753]=-1;o[9754]=-1;o[9755]=0;o[9743]=0;o[9750]=p&-16^1431655768;e=4096}else e=o[9752]|0;c=d+48|0;f=d+47|0;s=e+f|0;i=0-e|0;u=s&i;if(u>>>0<=d>>>0){w=0;h=E;return w|0}e=o[9742]|0;if(e|0?(l=o[9740]|0,p=l+u|0,p>>>0<=l>>>0|p>>>0>e>>>0):0){w=0;h=E;return w|0}e:do{if(!(o[9743]&4)){n=o[9638]|0;t:do{if(n){r=38976;while(1){p=o[r>>2]|0;if(p>>>0<=n>>>0?(p+(o[r+4>>2]|0)|0)>>>0>n>>>0:0)break;e=o[r+8>>2]|0;if(!e){y=128;break t}else r=e}t=s-a&i;if(t>>>0<2147483647){e=Bs(t|0)|0;if((e|0)==((o[r>>2]|0)+(o[r+4>>2]|0)|0)){if((e|0)!=(-1|0)){a=t;s=e;y=145;break e}}else{r=e;y=136}}else t=0}else y=128}while(0);do{if((y|0)==128){n=Bs(0)|0;if((n|0)!=(-1|0)?(t=n,m=o[9751]|0,g=m+-1|0,t=((g&t|0)==0?0:(g+t&0-m)-t|0)+u|0,m=o[9740]|0,g=t+m|0,t>>>0>d>>>0&t>>>0<2147483647):0){p=o[9742]|0;if(p|0?g>>>0<=m>>>0|g>>>0>p>>>0:0){t=0;break}e=Bs(t|0)|0;if((e|0)==(n|0)){a=t;s=n;y=145;break e}else{r=e;y=136}}else t=0}}while(0);do{if((y|0)==136){n=0-t|0;if(!(c>>>0>t>>>0&(t>>>0<2147483647&(r|0)!=(-1|0))))if((r|0)==(-1|0)){t=0;break}else{a=t;s=r;y=145;break e}e=o[9752]|0;e=f-t+e&0-e;if(e>>>0>=2147483647){a=t;s=r;y=145;break e}if((Bs(e|0)|0)==(-1|0)){Bs(n|0)|0;t=0;break}else{a=e+t|0;s=r;y=145;break e}}}while(0);o[9743]=o[9743]|4;y=143}else{t=0;y=143}}while(0);if(((y|0)==143?u>>>0<2147483647:0)?(v=Bs(u|0)|0,g=Bs(0)|0,b=g-v|0,_=b>>>0>(d+40|0)>>>0,!((v|0)==(-1|0)|_^1|v>>>0>>0&((v|0)!=(-1|0)&(g|0)!=(-1|0))^1)):0){a=_?b:t;s=v;y=145}if((y|0)==145){t=(o[9740]|0)+a|0;o[9740]=t;if(t>>>0>(o[9741]|0)>>>0)o[9741]=t;f=o[9638]|0;e:do{if(f){t=38976;while(1){e=o[t>>2]|0;n=o[t+4>>2]|0;if((s|0)==(e+n|0)){y=154;break}r=o[t+8>>2]|0;if(!r)break;else t=r}if(((y|0)==154?(A=t+4|0,(o[t+12>>2]&8|0)==0):0)?s>>>0>f>>>0&e>>>0<=f>>>0:0){o[A>>2]=n+a;w=(o[9635]|0)+a|0;v=f+8|0;v=(v&7|0)==0?0:0-v&7;A=f+v|0;v=w-v|0;o[9638]=A;o[9635]=v;o[A+4>>2]=v|1;o[f+w+4>>2]=40;o[9639]=o[9754];break}if(s>>>0<(o[9636]|0)>>>0)o[9636]=s;n=s+a|0;t=38976;while(1){if((o[t>>2]|0)==(n|0)){y=162;break}e=o[t+8>>2]|0;if(!e)break;else t=e}if((y|0)==162?(o[t+12>>2]&8|0)==0:0){o[t>>2]=s;l=t+4|0;o[l>>2]=(o[l>>2]|0)+a;l=s+8|0;l=s+((l&7|0)==0?0:0-l&7)|0;t=n+8|0;t=n+((t&7|0)==0?0:0-t&7)|0;u=l+d|0;c=t-l-d|0;o[l+4>>2]=d|3;t:do{if((f|0)==(t|0)){w=(o[9635]|0)+c|0;o[9635]=w;o[9638]=u;o[u+4>>2]=w|1}else{if((o[9637]|0)==(t|0)){w=(o[9634]|0)+c|0;o[9634]=w;o[9637]=u;o[u+4>>2]=w|1;o[u+w>>2]=w;break}e=o[t+4>>2]|0;if((e&3|0)==1){a=e&-8;r=e>>>3;n:do{if(e>>>0<256){e=o[t+8>>2]|0;n=o[t+12>>2]|0;if((n|0)==(e|0)){o[9632]=o[9632]&~(1<>2]=n;o[n+8>>2]=e;break}}else{s=o[t+24>>2]|0;e=o[t+12>>2]|0;do{if((e|0)==(t|0)){n=t+16|0;r=n+4|0;e=o[r>>2]|0;if(!e){e=o[n>>2]|0;if(!e){e=0;break}}else n=r;while(1){i=e+20|0;r=o[i>>2]|0;if(!r){i=e+16|0;r=o[i>>2]|0;if(!r)break;else{e=r;n=i}}else{e=r;n=i}}o[n>>2]=0}else{w=o[t+8>>2]|0;o[w+12>>2]=e;o[e+8>>2]=w}}while(0);if(!s)break;n=o[t+28>>2]|0;r=38832+(n<<2)|0;do{if((o[r>>2]|0)!=(t|0)){w=s+16|0;o[((o[w>>2]|0)==(t|0)?w:s+20|0)>>2]=e;if(!e)break n}else{o[r>>2]=e;if(e|0)break;o[9633]=o[9633]&~(1<>2]=s;n=t+16|0;r=o[n>>2]|0;if(r|0){o[e+16>>2]=r;o[r+24>>2]=e}n=o[n+4>>2]|0;if(!n)break;o[e+20>>2]=n;o[n+24>>2]=e}}while(0);t=t+a|0;i=a+c|0}else i=c;t=t+4|0;o[t>>2]=o[t>>2]&-2;o[u+4>>2]=i|1;o[u+i>>2]=i;t=i>>>3;if(i>>>0<256){n=38568+(t<<1<<2)|0;e=o[9632]|0;t=1<>2]|0}o[e>>2]=u;o[t+12>>2]=u;o[u+8>>2]=t;o[u+12>>2]=n;break}t=i>>>8;do{if(!t)r=0;else{if(i>>>0>16777215){r=31;break}A=(t+1048320|0)>>>16&8;w=t<>>16&4;w=w<>>16&2;r=14-(v|A|r)+(w<>>15)|0;r=i>>>(r+7|0)&1|r<<1}}while(0);t=38832+(r<<2)|0;o[u+28>>2]=r;e=u+16|0;o[e+4>>2]=0;o[e>>2]=0;e=o[9633]|0;n=1<>2]=u;o[u+24>>2]=t;o[u+12>>2]=u;o[u+8>>2]=u;break}t=o[t>>2]|0;n:do{if((o[t+4>>2]&-8|0)!=(i|0)){r=i<<((r|0)==31?0:25-(r>>>1)|0);while(1){n=t+16+(r>>>31<<2)|0;e=o[n>>2]|0;if(!e)break;if((o[e+4>>2]&-8|0)==(i|0)){t=e;break n}else{r=r<<1;t=e}}o[n>>2]=u;o[u+24>>2]=t;o[u+12>>2]=u;o[u+8>>2]=u;break t}}while(0);A=t+8|0;w=o[A>>2]|0;o[w+12>>2]=u;o[A>>2]=u;o[u+8>>2]=w;o[u+12>>2]=t;o[u+24>>2]=0}}while(0);w=l+8|0;h=E;return w|0}t=38976;while(1){e=o[t>>2]|0;if(e>>>0<=f>>>0?(w=e+(o[t+4>>2]|0)|0,w>>>0>f>>>0):0)break;t=o[t+8>>2]|0}i=w+-47|0;e=i+8|0;e=i+((e&7|0)==0?0:0-e&7)|0;i=f+16|0;e=e>>>0>>0?f:e;t=e+8|0;n=a+-40|0;v=s+8|0;v=(v&7|0)==0?0:0-v&7;A=s+v|0;v=n-v|0;o[9638]=A;o[9635]=v;o[A+4>>2]=v|1;o[s+n+4>>2]=40;o[9639]=o[9754];n=e+4|0;o[n>>2]=27;o[t>>2]=o[9744];o[t+4>>2]=o[9745];o[t+8>>2]=o[9746];o[t+12>>2]=o[9747];o[9744]=s;o[9745]=a;o[9747]=0;o[9746]=t;t=e+24|0;do{A=t;t=t+4|0;o[t>>2]=7}while((A+8|0)>>>0>>0);if((e|0)!=(f|0)){s=e-f|0;o[n>>2]=o[n>>2]&-2;o[f+4>>2]=s|1;o[e>>2]=s;t=s>>>3;if(s>>>0<256){n=38568+(t<<1<<2)|0;e=o[9632]|0;t=1<>2]|0}o[e>>2]=f;o[t+12>>2]=f;o[f+8>>2]=t;o[f+12>>2]=n;break}t=s>>>8;if(t)if(s>>>0>16777215)r=31;else{A=(t+1048320|0)>>>16&8;w=t<>>16&4;w=w<>>16&2;r=14-(v|A|r)+(w<>>15)|0;r=s>>>(r+7|0)&1|r<<1}else r=0;n=38832+(r<<2)|0;o[f+28>>2]=r;o[f+20>>2]=0;o[i>>2]=0;t=o[9633]|0;e=1<>2]=f;o[f+24>>2]=n;o[f+12>>2]=f;o[f+8>>2]=f;break}t=o[n>>2]|0;t:do{if((o[t+4>>2]&-8|0)!=(s|0)){r=s<<((r|0)==31?0:25-(r>>>1)|0);while(1){n=t+16+(r>>>31<<2)|0;e=o[n>>2]|0;if(!e)break;if((o[e+4>>2]&-8|0)==(s|0)){t=e;break t}else{r=r<<1;t=e}}o[n>>2]=f;o[f+24>>2]=t;o[f+12>>2]=f;o[f+8>>2]=f;break e}}while(0);A=t+8|0;w=o[A>>2]|0;o[w+12>>2]=f;o[A>>2]=f;o[f+8>>2]=w;o[f+12>>2]=t;o[f+24>>2]=0}}else{w=o[9636]|0;if((w|0)==0|s>>>0>>0)o[9636]=s;o[9744]=s;o[9745]=a;o[9747]=0;o[9641]=o[9750];o[9640]=-1;o[9645]=38568;o[9644]=38568;o[9647]=38576;o[9646]=38576;o[9649]=38584;o[9648]=38584;o[9651]=38592;o[9650]=38592;o[9653]=38600;o[9652]=38600;o[9655]=38608;o[9654]=38608;o[9657]=38616;o[9656]=38616;o[9659]=38624;o[9658]=38624;o[9661]=38632;o[9660]=38632;o[9663]=38640;o[9662]=38640;o[9665]=38648;o[9664]=38648;o[9667]=38656;o[9666]=38656;o[9669]=38664;o[9668]=38664;o[9671]=38672;o[9670]=38672;o[9673]=38680;o[9672]=38680;o[9675]=38688;o[9674]=38688;o[9677]=38696;o[9676]=38696;o[9679]=38704;o[9678]=38704;o[9681]=38712;o[9680]=38712;o[9683]=38720;o[9682]=38720;o[9685]=38728;o[9684]=38728;o[9687]=38736;o[9686]=38736;o[9689]=38744;o[9688]=38744;o[9691]=38752;o[9690]=38752;o[9693]=38760;o[9692]=38760;o[9695]=38768;o[9694]=38768;o[9697]=38776;o[9696]=38776;o[9699]=38784;o[9698]=38784;o[9701]=38792;o[9700]=38792;o[9703]=38800;o[9702]=38800;o[9705]=38808;o[9704]=38808;o[9707]=38816;o[9706]=38816;w=a+-40|0;v=s+8|0;v=(v&7|0)==0?0:0-v&7;A=s+v|0;v=w-v|0;o[9638]=A;o[9635]=v;o[A+4>>2]=v|1;o[s+w+4>>2]=40;o[9639]=o[9754]}}while(0);t=o[9635]|0;if(t>>>0>d>>>0){v=t-d|0;o[9635]=v;w=o[9638]|0;A=w+d|0;o[9638]=A;o[A+4>>2]=v|1;o[w+4>>2]=d|3;w=w+8|0;h=E;return w|0}}o[(Lo()|0)>>2]=12;w=0;h=E;return w|0}function Uo(e){e=e|0;var t=0,n=0,r=0,i=0,s=0,a=0,c=0,f=0;if(!e)return;n=e+-8|0;i=o[9636]|0;e=o[e+-4>>2]|0;t=e&-8;f=n+t|0;do{if(!(e&1)){r=o[n>>2]|0;if(!(e&3))return;a=n+(0-r)|0;s=r+t|0;if(a>>>0>>0)return;if((o[9637]|0)==(a|0)){e=f+4|0;t=o[e>>2]|0;if((t&3|0)!=3){c=a;t=s;break}o[9634]=s;o[e>>2]=t&-2;o[a+4>>2]=s|1;o[a+s>>2]=s;return}n=r>>>3;if(r>>>0<256){e=o[a+8>>2]|0;t=o[a+12>>2]|0;if((t|0)==(e|0)){o[9632]=o[9632]&~(1<>2]=t;o[t+8>>2]=e;c=a;t=s;break}}i=o[a+24>>2]|0;e=o[a+12>>2]|0;do{if((e|0)==(a|0)){t=a+16|0;n=t+4|0;e=o[n>>2]|0;if(!e){e=o[t>>2]|0;if(!e){e=0;break}}else t=n;while(1){r=e+20|0;n=o[r>>2]|0;if(!n){r=e+16|0;n=o[r>>2]|0;if(!n)break;else{e=n;t=r}}else{e=n;t=r}}o[t>>2]=0}else{c=o[a+8>>2]|0;o[c+12>>2]=e;o[e+8>>2]=c}}while(0);if(i){t=o[a+28>>2]|0;n=38832+(t<<2)|0;if((o[n>>2]|0)==(a|0)){o[n>>2]=e;if(!e){o[9633]=o[9633]&~(1<>2]|0)==(a|0)?c:i+20|0)>>2]=e;if(!e){c=a;t=s;break}}o[e+24>>2]=i;t=a+16|0;n=o[t>>2]|0;if(n|0){o[e+16>>2]=n;o[n+24>>2]=e}t=o[t+4>>2]|0;if(t){o[e+20>>2]=t;o[t+24>>2]=e;c=a;t=s}else{c=a;t=s}}else{c=a;t=s}}else{c=n;a=n}}while(0);if(a>>>0>=f>>>0)return;e=f+4|0;r=o[e>>2]|0;if(!(r&1))return;if(!(r&2)){if((o[9638]|0)==(f|0)){f=(o[9635]|0)+t|0;o[9635]=f;o[9638]=c;o[c+4>>2]=f|1;if((c|0)!=(o[9637]|0))return;o[9637]=0;o[9634]=0;return}if((o[9637]|0)==(f|0)){f=(o[9634]|0)+t|0;o[9634]=f;o[9637]=a;o[c+4>>2]=f|1;o[a+f>>2]=f;return}i=(r&-8)+t|0;n=r>>>3;do{if(r>>>0<256){t=o[f+8>>2]|0;e=o[f+12>>2]|0;if((e|0)==(t|0)){o[9632]=o[9632]&~(1<>2]=e;o[e+8>>2]=t;break}}else{s=o[f+24>>2]|0;e=o[f+12>>2]|0;do{if((e|0)==(f|0)){t=f+16|0;n=t+4|0;e=o[n>>2]|0;if(!e){e=o[t>>2]|0;if(!e){n=0;break}}else t=n;while(1){r=e+20|0;n=o[r>>2]|0;if(!n){r=e+16|0;n=o[r>>2]|0;if(!n)break;else{e=n;t=r}}else{e=n;t=r}}o[t>>2]=0;n=e}else{n=o[f+8>>2]|0;o[n+12>>2]=e;o[e+8>>2]=n;n=e}}while(0);if(s|0){e=o[f+28>>2]|0;t=38832+(e<<2)|0;if((o[t>>2]|0)==(f|0)){o[t>>2]=n;if(!n){o[9633]=o[9633]&~(1<>2]|0)==(f|0)?r:s+20|0)>>2]=n;if(!n)break}o[n+24>>2]=s;e=f+16|0;t=o[e>>2]|0;if(t|0){o[n+16>>2]=t;o[t+24>>2]=n}e=o[e+4>>2]|0;if(e|0){o[n+20>>2]=e;o[e+24>>2]=n}}}}while(0);o[c+4>>2]=i|1;o[a+i>>2]=i;if((c|0)==(o[9637]|0)){o[9634]=i;return}}else{o[e>>2]=r&-2;o[c+4>>2]=t|1;o[a+t>>2]=t;i=t}e=i>>>3;if(i>>>0<256){n=38568+(e<<1<<2)|0;t=o[9632]|0;e=1<>2]|0}o[t>>2]=c;o[e+12>>2]=c;o[c+8>>2]=e;o[c+12>>2]=n;return}e=i>>>8;if(e)if(i>>>0>16777215)r=31;else{a=(e+1048320|0)>>>16&8;f=e<>>16&4;f=f<>>16&2;r=14-(s|a|r)+(f<>>15)|0;r=i>>>(r+7|0)&1|r<<1}else r=0;e=38832+(r<<2)|0;o[c+28>>2]=r;o[c+20>>2]=0;o[c+16>>2]=0;t=o[9633]|0;n=1<>2]=c;o[c+24>>2]=e;o[c+12>>2]=c;o[c+8>>2]=c}else{e=o[e>>2]|0;t:do{if((o[e+4>>2]&-8|0)!=(i|0)){r=i<<((r|0)==31?0:25-(r>>>1)|0);while(1){n=e+16+(r>>>31<<2)|0;t=o[n>>2]|0;if(!t)break;if((o[t+4>>2]&-8|0)==(i|0)){e=t;break t}else{r=r<<1;e=t}}o[n>>2]=c;o[c+24>>2]=e;o[c+12>>2]=c;o[c+8>>2]=c;break e}}while(0);a=e+8|0;f=o[a>>2]|0;o[f+12>>2]=c;o[a>>2]=c;o[c+8>>2]=f;o[c+12>>2]=e;o[c+24>>2]=0}}while(0);f=(o[9640]|0)+-1|0;o[9640]=f;if(f|0)return;e=38984;while(1){e=o[e>>2]|0;if(!e)break;else e=e+8|0}o[9640]=-1;return}function Lo(){return 39088}function Fo(e,t){e=e|0;t=t|0;var n=0,i=0;n=r[e>>0]|0;i=r[t>>0]|0;if(n<<24>>24==0?1:n<<24>>24!=i<<24>>24)e=i;else{do{e=e+1|0;t=t+1|0;n=r[e>>0]|0;i=r[t>>0]|0}while(!(n<<24>>24==0?1:n<<24>>24!=i<<24>>24));e=i}return(n&255)-(e&255)|0}function qo(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0;e:do{if(!n)e=0;else{while(1){i=r[e>>0]|0;o=r[t>>0]|0;if(i<<24>>24!=o<<24>>24)break;n=n+-1|0;if(!n){e=0;break e}else{e=e+1|0;t=t+1|0}}e=(i&255)-(o&255)|0}}while(0);return e|0}function Ko(e){e=e|0;return(e+-48|0)>>>0<10|0}function zo(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0;d=h;h=h+128|0;s=d+124|0;l=d;a=l;c=37604;f=a+124|0;do{o[a>>2]=o[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(f|0));if((t+-1|0)>>>0>2147483646)if(!t){e=s;t=1;u=4}else{o[(Lo()|0)>>2]=75;t=-1}else u=4;if((u|0)==4){u=-2-e|0;u=t>>>0>u>>>0?u:t;o[l+48>>2]=u;s=l+20|0;o[s>>2]=e;o[l+44>>2]=e;t=e+u|0;e=l+16|0;o[e>>2]=t;o[l+28>>2]=t;t=Go(l,n,i)|0;if(u){l=o[s>>2]|0;r[l+(((l|0)==(o[e>>2]|0))<<31>>31)>>0]=0}}h=d;return t|0}function Go(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0;b=h;h=h+224|0;d=b+208|0;m=b+160|0;g=b+80|0;y=b;i=m;s=i+40|0;do{o[i>>2]=0;i=i+4|0}while((i|0)<(s|0));o[d>>2]=o[n>>2];if((Ho(0,t,d,g,m)|0)<0)n=-1;else{if((o[e+76>>2]|0)>-1)p=Vo(e)|0;else p=0;n=o[e>>2]|0;l=n&32;if((r[e+74>>0]|0)<1)o[e>>2]=n&-33;i=e+48|0;if(!(o[i>>2]|0)){s=e+44|0;a=o[s>>2]|0;o[s>>2]=y;c=e+28|0;o[c>>2]=y;f=e+20|0;o[f>>2]=y;o[i>>2]=80;u=e+16|0;o[u>>2]=y+80;n=Ho(e,t,d,g,m)|0;if(a){Vs[o[e+36>>2]&1](e,0,0)|0;n=(o[f>>2]|0)==0?-1:n;o[s>>2]=a;o[i>>2]=0;o[u>>2]=0;o[c>>2]=0;o[f>>2]=0}}else n=Ho(e,t,d,g,m)|0;i=o[e>>2]|0;o[e>>2]=i|l;if(p|0)Qo(e);n=(i&32|0)==0?n:-1}h=b;return n|0}function Ho(e,t,n,s,a){e=e|0;t=t|0;n=n|0;s=s|0;a=a|0;var c=0,f=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0;D=h;h=h+64|0;O=D+56|0;x=D+40|0;S=D;P=D+48|0;M=D+60|0;o[O>>2]=t;w=(e|0)!=0;E=S+40|0;k=E;S=S+39|0;T=P+4|0;c=0;t=0;l=0;e:while(1){do{do{if((t|0)>-1)if((c|0)>(2147483647-t|0)){o[(Lo()|0)>>2]=75;t=-1;break}else{t=c+t|0;break}}while(0);b=o[O>>2]|0;c=r[b>>0]|0;if(!(c<<24>>24)){A=94;break e}f=b;t:while(1){switch(c<<24>>24){case 37:{A=10;break t}case 0:{c=f;break t}default:{}}v=f+1|0;o[O>>2]=v;c=r[v>>0]|0;f=v}t:do{if((A|0)==10){A=0;c=f;do{if((r[f+1>>0]|0)!=37)break t;c=c+1|0;f=f+2|0;o[O>>2]=f}while((r[f>>0]|0)==37)}}while(0);c=c-b|0;if(w)Wo(e,b,c)}while((c|0)!=0);v=(Ko(r[(o[O>>2]|0)+1>>0]|0)|0)==0;f=o[O>>2]|0;if(!v?(r[f+2>>0]|0)==36:0){g=(r[f+1>>0]|0)+-48|0;p=1;c=3}else{g=-1;p=l;c=1}c=f+c|0;o[O>>2]=c;f=r[c>>0]|0;l=(f<<24>>24)+-32|0;if(l>>>0>31|(1<>2]=c;f=r[c>>0]|0;l=(f<<24>>24)+-32|0}while(!(l>>>0>31|(1<>24==42){if((Ko(r[c+1>>0]|0)|0)!=0?(C=o[O>>2]|0,(r[C+2>>0]|0)==36):0){c=C+1|0;o[a+((r[c>>0]|0)+-48<<2)>>2]=10;c=o[s+((r[c>>0]|0)+-48<<3)>>2]|0;l=1;f=C+3|0}else{if(p|0){t=-1;break}if(w){v=(o[n>>2]|0)+(4-1)&~(4-1);c=o[v>>2]|0;o[n>>2]=v+4}else c=0;l=0;f=(o[O>>2]|0)+1|0}o[O>>2]=f;v=(c|0)<0;_=v?0-c|0:c;d=v?d|8192:d;v=l}else{c=Yo(O)|0;if((c|0)<0){t=-1;break}_=c;v=p;f=o[O>>2]|0}do{if((r[f>>0]|0)==46){c=f+1|0;if((r[c>>0]|0)!=42){o[O>>2]=c;c=Yo(O)|0;f=o[O>>2]|0;break}if(Ko(r[f+2>>0]|0)|0?(R=o[O>>2]|0,(r[R+3>>0]|0)==36):0){c=R+2|0;o[a+((r[c>>0]|0)+-48<<2)>>2]=10;c=o[s+((r[c>>0]|0)+-48<<3)>>2]|0;f=R+4|0;o[O>>2]=f;break}if(v|0){t=-1;break e}if(w){y=(o[n>>2]|0)+(4-1)&~(4-1);c=o[y>>2]|0;o[n>>2]=y+4}else c=0;f=(o[O>>2]|0)+2|0;o[O>>2]=f}else c=-1}while(0);y=0;while(1){if(((r[f>>0]|0)+-65|0)>>>0>57){t=-1;break e}l=f;f=f+1|0;o[O>>2]=f;l=r[(r[l>>0]|0)+-65+(35136+(y*58|0))>>0]|0;p=l&255;if((p+-1|0)>>>0>=8)break;else y=p}if(!(l<<24>>24)){t=-1;break}m=(g|0)>-1;do{if(l<<24>>24==19)if(m){t=-1;break e}else A=54;else{if(m){o[a+(g<<2)>>2]=p;m=s+(g<<3)|0;g=o[m+4>>2]|0;A=x;o[A>>2]=o[m>>2];o[A+4>>2]=g;A=54;break}if(!w){t=0;break e}Xo(x,p,n);f=o[O>>2]|0;A=55}}while(0);if((A|0)==54){A=0;if(w)A=55;else c=0}t:do{if((A|0)==55){A=0;f=r[f+-1>>0]|0;f=(y|0)!=0&(f&15|0)==3?f&-33:f;l=d&-65537;g=(d&8192|0)==0?d:l;n:do{switch(f|0){case 110:switch((y&255)<<24>>24){case 0:{o[o[x>>2]>>2]=t;c=0;break t}case 1:{o[o[x>>2]>>2]=t;c=0;break t}case 2:{c=o[x>>2]|0;o[c>>2]=t;o[c+4>>2]=((t|0)<0)<<31>>31;c=0;break t}case 3:{i[o[x>>2]>>1]=t;c=0;break t}case 4:{r[o[x>>2]>>0]=t;c=0;break t}case 6:{o[o[x>>2]>>2]=t;c=0;break t}case 7:{c=o[x>>2]|0;o[c>>2]=t;o[c+4>>2]=((t|0)<0)<<31>>31;c=0;break t}default:{c=0;break t}}case 112:{f=120;c=c>>>0>8?c:8;l=g|8;A=67;break}case 88:case 120:{l=g;A=67;break}case 111:{l=x;f=o[l>>2]|0;l=o[l+4>>2]|0;m=Zo(f,l,E)|0;A=k-m|0;d=0;p=38441;c=(g&8|0)==0|(c|0)>(A|0)?c:A+1|0;A=73;break}case 105:case 100:{l=x;f=o[l>>2]|0;l=o[l+4>>2]|0;if((l|0)<0){f=Ss(0,0,f|0,l|0)|0;l=I;d=x;o[d>>2]=f;o[d+4>>2]=l;d=1;p=38441;A=72;break n}else{d=(g&2049|0)!=0&1;p=(g&2048|0)==0?(g&1|0)==0?38441:38443:38442;A=72;break n}}case 117:{l=x;d=0;p=38441;f=o[l>>2]|0;l=o[l+4>>2]|0;A=72;break}case 99:{r[S>>0]=o[x>>2];y=S;d=0;p=38441;m=1;c=k;break}case 109:{f=es(o[(Lo()|0)>>2]|0)|0;A=77;break}case 115:{f=o[x>>2]|0;f=(f|0)==0?38451:f;A=77;break}case 67:{o[P>>2]=o[x>>2];o[T>>2]=0;o[x>>2]=P;p=-1;A=81;break}case 83:{if(!c){ns(e,32,_,0,g);c=0;A=91}else{p=c;A=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{c=is(e,+u[x>>3],_,c,g,f)|0;break t}default:{y=b;d=0;p=38441;m=c;l=g;c=k}}}while(0);n:do{if((A|0)==67){b=x;y=o[b>>2]|0;b=o[b+4>>2]|0;m=Jo(y,b,E,f&32)|0;p=(l&8|0)==0|(y|0)==0&(b|0)==0;d=p?0:2;p=p?38441:38441+(f>>>4)|0;g=l;f=y;l=b;A=73}else if((A|0)==72){m=$o(f,l,E)|0;A=73}else if((A|0)==77){A=0;b=ts(f,0,c)|0;g=(b|0)==0;y=f;d=0;p=38441;m=g?c:b-f|0;c=g?f+c|0:b}else if((A|0)==81){A=0;d=o[x>>2]|0;c=0;while(1){f=o[d>>2]|0;if(!f)break;f=rs(M,f)|0;l=(f|0)<0;if(l|f>>>0>(p-c|0)>>>0){A=85;break}c=f+c|0;if(p>>>0>c>>>0)d=d+4|0;else break}if((A|0)==85){A=0;if(l){t=-1;break e}}ns(e,32,_,c,g);if(!c){c=0;A=91}else{l=o[x>>2]|0;d=0;while(1){f=o[l>>2]|0;if(!f){A=91;break n}f=rs(M,f)|0;d=f+d|0;if((d|0)>(c|0)){A=91;break n}Wo(e,M,f);if(d>>>0>=c>>>0){A=91;break}else l=l+4|0}}}}while(0);if((A|0)==73){A=0;l=(f|0)!=0|(l|0)!=0;b=(c|0)!=0|l;l=k-m+((l^1)&1)|0;y=b?m:E;m=b?(c|0)>(l|0)?c:l:0;l=(c|0)>-1?g&-65537:g;c=k}else if((A|0)==91){A=0;ns(e,32,_,c,g^8192);c=(_|0)>(c|0)?_:c;break}g=c-y|0;m=(m|0)<(g|0)?g:m;b=m+d|0;c=(_|0)<(b|0)?b:_;ns(e,32,c,b,l);Wo(e,p,d);ns(e,48,c,b,l^65536);ns(e,48,m,g,0);Wo(e,y,g);ns(e,32,c,b,l^8192)}}while(0);l=v}e:do{if((A|0)==94)if(!e)if(!l)t=0;else{t=1;while(1){c=o[a+(t<<2)>>2]|0;if(!c)break;Xo(s+(t<<3)|0,c,n);t=t+1|0;if(t>>>0>=10){t=1;break e}}while(1){if(o[a+(t<<2)>>2]|0){t=-1;break e}t=t+1|0;if(t>>>0>=10){t=1;break}}}}while(0);h=D;return t|0}function Vo(e){e=e|0;return 0}function Qo(e){e=e|0;return}function Wo(e,t,n){e=e|0;t=t|0;n=n|0;if(!(o[e>>2]&32))ys(t,n,e)|0;return}function Yo(e){e=e|0;var t=0,n=0;if(!(Ko(r[o[e>>2]>>0]|0)|0))t=0;else{t=0;do{n=o[e>>2]|0;t=(t*10|0)+-48+(r[n>>0]|0)|0;n=n+1|0;o[e>>2]=n}while((Ko(r[n>>0]|0)|0)!=0)}return t|0}function Xo(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0.0;e:do{if(t>>>0<=20)do{switch(t|0){case 9:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;o[e>>2]=t;break e}case 10:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;r=e;o[r>>2]=t;o[r+4>>2]=((t|0)<0)<<31>>31;break e}case 11:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;r=e;o[r>>2]=t;o[r+4>>2]=0;break e}case 12:{r=(o[n>>2]|0)+(8-1)&~(8-1);t=r;i=o[t>>2]|0;t=o[t+4>>2]|0;o[n>>2]=r+8;r=e;o[r>>2]=i;o[r+4>>2]=t;break e}case 13:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;r=(r&65535)<<16>>16;i=e;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;break e}case 14:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;i=e;o[i>>2]=r&65535;o[i+4>>2]=0;break e}case 15:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;r=(r&255)<<24>>24;i=e;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;break e}case 16:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;i=e;o[i>>2]=r&255;o[i+4>>2]=0;break e}case 17:{i=(o[n>>2]|0)+(8-1)&~(8-1);s=+u[i>>3];o[n>>2]=i+8;u[e>>3]=s;break e}case 18:{i=(o[n>>2]|0)+(8-1)&~(8-1);s=+u[i>>3];o[n>>2]=i+8;u[e>>3]=s;break e}default:break e}}while(0)}while(0);return}function Jo(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;if(!((e|0)==0&(t|0)==0))do{n=n+-1|0;r[n>>0]=s[35600+(e&15)>>0]|0|i;e=xs(e|0,t|0,4)|0;t=I}while(!((e|0)==0&(t|0)==0));return n|0}function Zo(e,t,n){e=e|0;t=t|0;n=n|0;if(!((e|0)==0&(t|0)==0))do{n=n+-1|0;r[n>>0]=e&7|48;e=xs(e|0,t|0,3)|0;t=I}while(!((e|0)==0&(t|0)==0));return n|0}function $o(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0;if(t>>>0>0|(t|0)==0&e>>>0>4294967295){do{i=e;e=Rs(e|0,t|0,10,0)|0;o=t;t=I;s=Es(e|0,t|0,10,0)|0;s=Ss(i|0,o|0,s|0,I|0)|0;n=n+-1|0;r[n>>0]=s&255|48}while(o>>>0>9|(o|0)==9&i>>>0>4294967295);t=e}else t=e;if(t)do{s=t;t=(t>>>0)/10|0;n=n+-1|0;r[n>>0]=s-(t*10|0)|48}while(s>>>0>=10);return n|0}function es(e){e=e|0;return ds(e,o[(ls()|0)+188>>2]|0)|0}function ts(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0;a=t&255;i=(n|0)!=0;e:do{if(i&(e&3|0)!=0){s=t&255;while(1){if((r[e>>0]|0)==s<<24>>24){c=6;break e}e=e+1|0;n=n+-1|0;i=(n|0)!=0;if(!(i&(e&3|0)!=0)){c=5;break}}}else c=5}while(0);if((c|0)==5)if(i)c=6;else c=16;e:do{if((c|0)==6){s=t&255;if((r[e>>0]|0)==s<<24>>24)if(!n){c=16;break}else break;i=q(a,16843009)|0;t:do{if(n>>>0>3)while(1){a=o[e>>2]^i;if((a&-2139062144^-2139062144)&a+-16843009|0)break t;e=e+4|0;n=n+-4|0;if(n>>>0<=3){c=11;break}}else c=11}while(0);if((c|0)==11)if(!n){c=16;break}while(1){if((r[e>>0]|0)==s<<24>>24)break e;n=n+-1|0;if(!n){c=16;break}else e=e+1|0}}}while(0);if((c|0)==16)e=0;return e|0}function ns(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var o=0,s=0;s=h;h=h+256|0;o=s;if((n|0)>(r|0)&(i&73728|0)==0){i=n-r|0;Ds(o|0,t<<24>>24|0,(i>>>0<256?i:256)|0)|0;if(i>>>0>255){t=n-r|0;do{Wo(e,o,256);i=i+-256|0}while(i>>>0>255);i=t&255}Wo(e,o,i)}h=s;return}function rs(e,t){e=e|0;t=t|0;if(!e)e=0;else e=cs(e,t,0)|0;return e|0}function is(e,t,n,i,a,c){e=e|0;t=+t;n=n|0;i=i|0;a=a|0;c=c|0;var f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0.0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0;M=h;h=h+560|0;l=M+32|0;A=M+536|0;P=M;C=P;d=M+540|0;o[A>>2]=0;x=d+12|0;os(t)|0;f=I;if((f|0)<0){t=-t;os(t)|0;O=1;R=38458;f=I}else{O=(a&2049|0)!=0&1;R=(a&2048|0)==0?(a&1|0)==0?38459:38464:38461}do{if(0==0&(f&2146435072|0)==2146435072){P=(c&32|0)!=0;f=O+3|0;ns(e,32,n,f,a&-65537);Wo(e,R,O);Wo(e,t!=t|0.0!=0.0?P?38485:38489:P?38477:38481,3);ns(e,32,n,f,a^8192)}else{y=+ss(t,A)*2.0;f=y!=0.0;if(f)o[A>>2]=(o[A>>2]|0)+-1;v=c|32;if((v|0)==97){m=c&32;b=(m|0)==0?R:R+9|0;g=O|2;f=12-i|0;do{if(!(i>>>0>11|(f|0)==0)){t=8.0;do{f=f+-1|0;t=t*16.0}while((f|0)!=0);if((r[b>>0]|0)==45){t=-(t+(-y-t));break}else{t=y+t-t;break}}else t=y}while(0);u=o[A>>2]|0;f=(u|0)<0?0-u|0:u;f=$o(f,((f|0)<0)<<31>>31,x)|0;if((f|0)==(x|0)){f=d+11|0;r[f>>0]=48}r[f+-1>>0]=(u>>31&2)+43;p=f+-2|0;r[p>>0]=c+15;u=(i|0)<1;l=(a&8|0)==0;d=P;do{O=~~t;f=d+1|0;r[d>>0]=m|s[35600+O>>0];t=(t-+(O|0))*16.0;if((f-C|0)==1?!(l&(u&t==0.0)):0){r[f>>0]=46;d=d+2|0}else d=f}while(t!=0.0);if((i|0)!=0?(-2-C+d|0)<(i|0):0){u=x;l=p;f=i+2+u-l|0}else{u=x;l=p;f=u-C-l+d|0}x=f+g|0;ns(e,32,n,x,a);Wo(e,b,g);ns(e,48,n,x,a^65536);C=d-C|0;Wo(e,P,C);P=u-l|0;ns(e,48,f-(C+P)|0,0,0);Wo(e,p,P);ns(e,32,n,x,a^8192);f=x;break}u=(i|0)<0?6:i;if(f){f=(o[A>>2]|0)+-28|0;o[A>>2]=f;t=y*268435456.0}else{t=y;f=o[A>>2]|0}T=(f|0)<0?l:l+288|0;l=T;do{k=~~t>>>0;o[l>>2]=k;l=l+4|0;t=(t-+(k>>>0))*1.0e9}while(t!=0.0);k=T;if((f|0)>0){m=T;while(1){p=(f|0)<29?f:29;f=l+-4|0;if(f>>>0>=m>>>0){d=0;do{_=Cs(o[f>>2]|0,0,p|0)|0;_=ks(_|0,I|0,d|0,0)|0;w=I;d=Rs(_|0,w|0,1e9,0)|0;E=Es(d|0,I|0,1e9,0)|0;E=Ss(_|0,w|0,E|0,I|0)|0;o[f>>2]=E;f=f+-4|0}while(f>>>0>=m>>>0);if(d){E=m+-4|0;o[E>>2]=d;d=E}else d=m}else d=m;e:do{if(l>>>0>d>>>0){f=l;while(1){l=f+-4|0;if(o[l>>2]|0){l=f;break e}if(l>>>0>d>>>0)f=l;else break}}}while(0);f=(o[A>>2]|0)-p|0;o[A>>2]=f;if((f|0)>0)m=d;else break}}else d=T;if((f|0)<0){i=((u+25|0)/9|0)+1|0;_=(v|0)==102;do{b=0-f|0;b=(b|0)<9?b:9;if(d>>>0>>0){p=(1<>>b;g=0;f=d;do{E=o[f>>2]|0;o[f>>2]=(E>>>b)+g;g=q(E&p,m)|0;f=f+4|0}while(f>>>0>>0);d=(o[d>>2]|0)==0?d+4|0:d;if(g){o[l>>2]=g;l=l+4|0}}else d=(o[d>>2]|0)==0?d+4|0:d;f=_?T:d;l=(l-f>>2|0)>(i|0)?f+(i<<2)|0:l;f=(o[A>>2]|0)+b|0;o[A>>2]=f}while((f|0)<0);_=d}else _=d;if(_>>>0>>0){f=(k-_>>2)*9|0;p=o[_>>2]|0;if(p>>>0>=10){d=10;do{d=d*10|0;f=f+1|0}while(p>>>0>=d>>>0)}}else f=0;w=(v|0)==103;E=(u|0)!=0;d=u-((v|0)==102?0:f)+((E&w)<<31>>31)|0;if((d|0)<(((l-k>>2)*9|0)+-9|0)){A=d+9216|0;d=(A|0)/9|0;i=T+4+(d+-1024<<2)|0;d=A-(d*9|0)|0;if((d|0)<8){p=10;while(1){p=p*10|0;if((d|0)<7)d=d+1|0;else break}}else p=10;g=o[i>>2]|0;d=(g>>>0)/(p>>>0)|0;b=g-(q(d,p)|0)|0;m=(i+4|0)==(l|0);if(!(m&(b|0)==0)){y=(d&1|0)==0?9007199254740992.0:9007199254740994.0;A=p>>>1;t=b>>>0>>0?.5:m&(b|0)==(A|0)?1.0:1.5;if(O){A=(r[R>>0]|0)==45;t=A?-t:t;y=A?-y:y}d=g-b|0;o[i>>2]=d;if(y+t!=y){A=d+p|0;o[i>>2]=A;if(A>>>0>999999999){p=i;f=_;while(1){d=p+-4|0;o[p>>2]=0;if(d>>>0>>0){f=f+-4|0;o[f>>2]=0}A=(o[d>>2]|0)+1|0;o[d>>2]=A;if(A>>>0>999999999)p=d;else{p=f;break}}}else{d=i;p=_}f=(k-p>>2)*9|0;g=o[p>>2]|0;if(g>>>0>=10){m=10;do{m=m*10|0;f=f+1|0}while(g>>>0>=m>>>0)}}else{d=i;p=_}}else{d=i;p=_}A=d+4|0;l=l>>>0>A>>>0?A:l}else p=_;i=0-f|0;e:do{if(l>>>0>p>>>0)while(1){d=l+-4|0;if(o[d>>2]|0){A=l;v=1;break e}if(d>>>0>p>>>0)l=d;else{A=d;v=0;break}}else{A=l;v=0}}while(0);do{if(w){u=u+((E^1)&1)|0;if((u|0)>(f|0)&(f|0)>-5){m=c+-1|0;u=u+-1-f|0}else{m=c+-2|0;u=u+-1|0}if(!(a&8)){if(v?(S=o[A+-4>>2]|0,(S|0)!=0):0)if(!((S>>>0)%10|0)){d=0;l=10;do{l=l*10|0;d=d+1|0}while(!((S>>>0)%(l>>>0)|0|0))}else d=0;else d=9;l=((A-k>>2)*9|0)+-9|0;if((m|32|0)==102){c=l-d|0;c=(c|0)>0?c:0;u=(u|0)<(c|0)?u:c;break}else{c=l+f-d|0;c=(c|0)>0?c:0;u=(u|0)<(c|0)?u:c;break}}}else m=c}while(0);_=(u|0)!=0;g=_?1:a>>>3&1;b=(m|32|0)==102;if(b){w=0;f=(f|0)>0?f:0}else{l=(f|0)<0?i:f;l=$o(l,((l|0)<0)<<31>>31,x)|0;d=x;if((d-l|0)<2)do{l=l+-1|0;r[l>>0]=48}while((d-l|0)<2);r[l+-1>>0]=(f>>31&2)+43;f=l+-2|0;r[f>>0]=m;w=f;f=d-f|0}f=O+1+u+g+f|0;ns(e,32,n,f,a);Wo(e,R,O);ns(e,48,n,f,a^65536);if(b){g=p>>>0>T>>>0?T:p;b=P+9|0;p=b;m=P+8|0;d=g;do{l=$o(o[d>>2]|0,0,b)|0;if((d|0)==(g|0)){if((l|0)==(b|0)){r[m>>0]=48;l=m}}else if(l>>>0>P>>>0){Ds(P|0,48,l-C|0)|0;do{l=l+-1|0}while(l>>>0>P>>>0)}Wo(e,l,p-l|0);d=d+4|0}while(d>>>0<=T>>>0);if(!((a&8|0)==0&(_^1)))Wo(e,38493,1);if(d>>>0>>0&(u|0)>0)while(1){l=$o(o[d>>2]|0,0,b)|0;if(l>>>0>P>>>0){Ds(P|0,48,l-C|0)|0;do{l=l+-1|0}while(l>>>0>P>>>0)}Wo(e,l,(u|0)<9?u:9);d=d+4|0;l=u+-9|0;if(!(d>>>0>>0&(u|0)>9)){u=l;break}else u=l}ns(e,48,u+9|0,9,0)}else{A=v?A:p+4|0;if(p>>>0>>0&(u|0)>-1){i=P+9|0;_=(a&8|0)==0;v=i;g=0-C|0;b=P+8|0;m=p;do{l=$o(o[m>>2]|0,0,i)|0;if((l|0)==(i|0)){r[b>>0]=48;l=b}do{if((m|0)==(p|0)){d=l+1|0;Wo(e,l,1);if(_&(u|0)<1){l=d;break}Wo(e,38493,1);l=d}else{if(l>>>0<=P>>>0)break;Ds(P|0,48,l+g|0)|0;do{l=l+-1|0}while(l>>>0>P>>>0)}}while(0);C=v-l|0;Wo(e,l,(u|0)>(C|0)?C:u);u=u-C|0;m=m+4|0}while(m>>>0>>0&(u|0)>-1)}ns(e,48,u+18|0,18,0);Wo(e,w,x-w|0)}ns(e,32,n,f,a^8192)}}while(0);h=M;return((f|0)<(n|0)?n:f)|0}function os(e){e=+e;var t=0;u[d>>3]=e;t=o[d>>2]|0;I=o[d+4>>2]|0;return t|0}function ss(e,t){e=+e;t=t|0;return+ +as(e,t)}function as(e,t){e=+e;t=t|0;var n=0,r=0,i=0;u[d>>3]=e;n=o[d>>2]|0;r=o[d+4>>2]|0;i=xs(n|0,r|0,52)|0;switch(i&2047){case 0:{if(e!=0.0){e=+as(e*18446744073709551616.0,t);n=(o[t>>2]|0)+-64|0}else n=0;o[t>>2]=n;break}case 2047:break;default:{o[t>>2]=(i&2047)+-1022;o[d>>2]=n;o[d+4>>2]=r&-2146435073|1071644672;e=+u[d>>3]}}return+e}function cs(e,t,n){e=e|0;t=t|0;n=n|0;do{if(e){if(t>>>0<128){r[e>>0]=t;e=1;break}if(!(o[o[(fs()|0)+188>>2]>>2]|0))if((t&-128|0)==57216){r[e>>0]=t;e=1;break}else{o[(Lo()|0)>>2]=84;e=-1;break}if(t>>>0<2048){r[e>>0]=t>>>6|192;r[e+1>>0]=t&63|128;e=2;break}if(t>>>0<55296|(t&-8192|0)==57344){r[e>>0]=t>>>12|224;r[e+1>>0]=t>>>6&63|128;r[e+2>>0]=t&63|128;e=3;break}if((t+-65536|0)>>>0<1048576){r[e>>0]=t>>>18|240;r[e+1>>0]=t>>>12&63|128;r[e+2>>0]=t>>>6&63|128;r[e+3>>0]=t&63|128;e=4;break}else{o[(Lo()|0)>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function fs(){return us()|0}function us(){return 37728}function ls(){return us()|0}function ds(e,t){e=e|0;t=t|0;var n=0,i=0;n=0;while(1){if((s[35616+n>>0]|0)==(e|0)){i=4;break}n=n+1|0;if((n|0)==87){e=87;i=5;break}}if((i|0)==4)if(!n)n=35712;else{e=n;i=5}if((i|0)==5){n=35712;do{do{i=n;n=n+1|0}while((r[i>>0]|0)!=0);e=e+-1|0}while((e|0)!=0)}return hs(n,o[t+20>>2]|0)|0}function hs(e,t){e=e|0;t=t|0;return ps(e,t)|0}function ps(e,t){e=e|0;t=t|0;if(!t)t=0;else t=ms(o[t>>2]|0,o[t+4>>2]|0,e)|0;return((t|0)==0?e:t)|0}function ms(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0;p=(o[e>>2]|0)+1794895138|0;a=gs(o[e+8>>2]|0,p)|0;i=gs(o[e+12>>2]|0,p)|0;s=gs(o[e+16>>2]|0,p)|0;e:do{if((a>>>0>>2>>>0?(h=t-(a<<2)|0,i>>>0>>0&s>>>0>>0):0)?((s|i)&3|0)==0:0){h=i>>>2;d=s>>>2;l=0;while(1){f=a>>>1;u=l+f|0;c=u<<1;s=c+h|0;i=gs(o[e+(s<<2)>>2]|0,p)|0;s=gs(o[e+(s+1<<2)>>2]|0,p)|0;if(!(s>>>0>>0&i>>>0<(t-s|0)>>>0)){i=0;break e}if(r[e+(s+i)>>0]|0){i=0;break e}i=Fo(n,e+s|0)|0;if(!i)break;i=(i|0)<0;if((a|0)==1){i=0;break e}l=i?l:u;a=i?f:a-f|0}i=c+d|0;s=gs(o[e+(i<<2)>>2]|0,p)|0;i=gs(o[e+(i+1<<2)>>2]|0,p)|0;if(i>>>0>>0&s>>>0<(t-i|0)>>>0)i=(r[e+(i+s)>>0]|0)==0?e+i|0:0;else i=0}else i=0}while(0);return i|0}function gs(e,t){e=e|0;t=t|0;var n=0;n=Ps(e|0)|0;return((t|0)==0?e:n)|0}function ys(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0;i=n+16|0;s=o[i>>2]|0;if(!s)if(!(bs(n)|0)){s=o[i>>2]|0;a=5}else i=0;else a=5;e:do{if((a|0)==5){f=n+20|0;c=o[f>>2]|0;i=c;if((s-c|0)>>>0>>0){i=Vs[o[n+36>>2]&1](n,e,t)|0;break}t:do{if((r[n+75>>0]|0)<0|(t|0)==0){a=0;s=e}else{c=t;while(1){s=c+-1|0;if((r[e+s>>0]|0)==10)break;if(!s){a=0;s=e;break t}else c=s}i=Vs[o[n+36>>2]&1](n,e,c)|0;if(i>>>0>>0)break e;a=c;s=e+c|0;t=t-c|0;i=o[f>>2]|0}}while(0);Ms(i|0,s|0,t|0)|0;o[f>>2]=(o[f>>2]|0)+t;i=a+t|0}}while(0);return i|0}function bs(e){e=e|0;var t=0,n=0;t=e+74|0;n=r[t>>0]|0;r[t>>0]=n+255|n;t=o[e>>2]|0;if(!(t&8)){o[e+8>>2]=0;o[e+4>>2]=0;n=o[e+44>>2]|0;o[e+28>>2]=n;o[e+20>>2]=n;o[e+16>>2]=n+(o[e+48>>2]|0);e=0}else{o[e>>2]=t|32;e=-1}return e|0}function _s(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0;r=e+20|0;i=o[r>>2]|0;e=(o[e+16>>2]|0)-i|0;e=e>>>0>n>>>0?n:e;Ms(i|0,t|0,e|0)|0;o[r>>2]=(o[r>>2]|0)+e;return n|0}function vs(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0;i=h;h=h+16|0;s=i;o[s>>2]=r;r=zo(e,t,n,s)|0;h=i;return r|0}function As(){}function ws(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,o=0;o=e&65535;i=t&65535;n=q(i,o)|0;r=e>>>16;e=(n>>>16)+(q(i,r)|0)|0;i=t>>>16;t=q(i,o)|0;return(I=(e>>>16)+(q(i,r)|0)+(((e&65535)+t|0)>>>16)|0,e+t<<16|n&65535|0)|0}function Es(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0;i=e;o=n;n=ws(i,o)|0;e=I;return(I=(q(t,o)|0)+(q(r,i)|0)+e|e&0,n|0|0)|0}function ks(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;n=e+n>>>0;return(I=t+r+(n>>>0>>0|0)>>>0,n|0)|0}function Ss(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;r=t-r-(n>>>0>e>>>0|0)>>>0;return(I=r,e-n>>>0|0)|0}function Is(e){e=e|0;return(e?31-(G(e^e-1)|0)|0:32)|0}function Ts(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0;l=e;f=t;u=f;a=n;h=r;c=h;if(!u){s=(i|0)!=0;if(!c){if(s){o[i>>2]=(l>>>0)%(a>>>0);o[i+4>>2]=0}h=0;i=(l>>>0)/(a>>>0)>>>0;return(I=h,i)|0}else{if(!s){h=0;i=0;return(I=h,i)|0}o[i>>2]=e|0;o[i+4>>2]=t&0;h=0;i=0;return(I=h,i)|0}}s=(c|0)==0;do{if(a){if(!s){s=(G(c|0)|0)-(G(u|0)|0)|0;if(s>>>0<=31){d=s+1|0;c=31-s|0;t=s-31>>31;a=d;e=l>>>(d>>>0)&t|u<>>(d>>>0)&t;s=0;c=l<>2]=e|0;o[i+4>>2]=f|t&0;h=0;i=0;return(I=h,i)|0}s=a-1|0;if(s&a|0){c=(G(a|0)|0)+33-(G(u|0)|0)|0;m=64-c|0;d=32-c|0;f=d>>31;p=c-32|0;t=p>>31;a=c;e=d-1>>31&u>>>(p>>>0)|(u<>>(c>>>0))&t;t=t&u>>>(c>>>0);s=l<>>(p>>>0))&f|l<>31;break}if(i|0){o[i>>2]=s&l;o[i+4>>2]=0}if((a|0)==1){p=f|t&0;m=e|0|0;return(I=p,m)|0}else{m=Is(a|0)|0;p=u>>>(m>>>0)|0;m=u<<32-m|l>>>(m>>>0)|0;return(I=p,m)|0}}else{if(s){if(i|0){o[i>>2]=(u>>>0)%(a>>>0);o[i+4>>2]=0}p=0;m=(u>>>0)/(a>>>0)>>>0;return(I=p,m)|0}if(!l){if(i|0){o[i>>2]=0;o[i+4>>2]=(u>>>0)%(c>>>0)}p=0;m=(u>>>0)/(c>>>0)>>>0;return(I=p,m)|0}s=c-1|0;if(!(s&c)){if(i|0){o[i>>2]=e|0;o[i+4>>2]=s&u|t&0}p=0;m=u>>>((Is(c|0)|0)>>>0);return(I=p,m)|0}s=(G(c|0)|0)-(G(u|0)|0)|0;if(s>>>0<=30){t=s+1|0;c=31-s|0;a=t;e=u<>>(t>>>0);t=u>>>(t>>>0);s=0;c=l<>2]=e|0;o[i+4>>2]=f|t&0;p=0;m=0;return(I=p,m)|0}}while(0);if(!a){u=c;f=0;c=0}else{d=n|0|0;l=h|r&0;u=ks(d|0,l|0,-1,-1)|0;n=I;f=c;c=0;do{r=f;f=s>>>31|f<<1;s=c|s<<1;r=e<<1|r>>>31|0;h=e>>>31|t<<1|0;Ss(u|0,n|0,r|0,h|0)|0;m=I;p=m>>31|((m|0)<0?-1:0)<<1;c=p&1;e=Ss(r|0,h|0,p&d|0,(((m|0)<0?-1:0)>>31|((m|0)<0?-1:0)<<1)&l|0)|0;t=I;a=a-1|0}while((a|0)!=0);u=f;f=0}a=0;if(i|0){o[i>>2]=e;o[i+4>>2]=t}p=(s|0)>>>31|(u|a)<<1|(a<<1|s>>>31)&0|f;m=(s<<1|0>>>31)&-2|c;return(I=p,m)|0}function Rs(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return Ts(e,t,n,r,0)|0}function Os(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){I=t>>n;return e>>>n|(t&(1<>n-32|0}function xs(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){I=t>>>n;return e>>>n|(t&(1<>>n-32|0}function Cs(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){I=t<>>32-n;return e<>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function Ms(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0;if((n|0)>=8192)return te(e|0,t|0,n|0)|0;a=e|0;s=e+n|0;if((e&3)==(t&3)){while(e&3){if(!n)return a|0;r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0;n=n-1|0}n=s&-4|0;i=n-64|0;while((e|0)<=(i|0)){o[e>>2]=o[t>>2];o[e+4>>2]=o[t+4>>2];o[e+8>>2]=o[t+8>>2];o[e+12>>2]=o[t+12>>2];o[e+16>>2]=o[t+16>>2];o[e+20>>2]=o[t+20>>2];o[e+24>>2]=o[t+24>>2];o[e+28>>2]=o[t+28>>2];o[e+32>>2]=o[t+32>>2];o[e+36>>2]=o[t+36>>2];o[e+40>>2]=o[t+40>>2];o[e+44>>2]=o[t+44>>2];o[e+48>>2]=o[t+48>>2];o[e+52>>2]=o[t+52>>2];o[e+56>>2]=o[t+56>>2];o[e+60>>2]=o[t+60>>2];e=e+64|0;t=t+64|0}while((e|0)<(n|0)){o[e>>2]=o[t>>2];e=e+4|0;t=t+4|0}}else{n=s-4|0;while((e|0)<(n|0)){r[e>>0]=r[t>>0]|0;r[e+1>>0]=r[t+1>>0]|0;r[e+2>>0]=r[t+2>>0]|0;r[e+3>>0]=r[t+3>>0]|0;e=e+4|0;t=t+4|0}}while((e|0)<(s|0)){r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0}return a|0}function Ds(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0;a=e+n|0;t=t&255;if((n|0)>=67){while(e&3){r[e>>0]=t;e=e+1|0}i=a&-4|0;s=i-64|0;c=t|t<<8|t<<16|t<<24;while((e|0)<=(s|0)){o[e>>2]=c;o[e+4>>2]=c;o[e+8>>2]=c;o[e+12>>2]=c;o[e+16>>2]=c;o[e+20>>2]=c;o[e+24>>2]=c;o[e+28>>2]=c;o[e+32>>2]=c;o[e+36>>2]=c;o[e+40>>2]=c;o[e+44>>2]=c;o[e+48>>2]=c;o[e+52>>2]=c;o[e+56>>2]=c;o[e+60>>2]=c;e=e+64|0}while((e|0)<(i|0)){o[e>>2]=c;e=e+4|0}}while((e|0)<(a|0)){r[e>>0]=t;e=e+1|0}return a-n|0}function Bs(e){e=e|0;var t=0,n=0;n=o[l>>2]|0;t=n+e|0;if((e|0)>0&(t|0)<(n|0)|(t|0)<0){Y()|0;ee(12);return-1}o[l>>2]=t;if((t|0)>(W()|0)?(Q()|0)==0:0){o[l>>2]=n;ee(12);return-1}return n|0}function Ns(e,t){e=e|0;t=t|0;return Gs[e&1](t|0)|0}function js(e,t,n){e=e|0;t=t|0;n=n|0;return Hs[e&3](t|0,n|0)|0}function Us(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return Vs[e&1](t|0,n|0,r|0)|0}function Ls(e,t,n,r,i,o,s,a,c,f){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;s=s|0;a=a|0;c=c|0;f=f|0;return Qs[e&3](t|0,n|0,r|0,i|0,o|0,s|0,a|0,c|0,f|0)|0}function Fs(e){e=e|0;H(0);return 0}function qs(e,t){e=e|0;t=t|0;H(1);return 0}function Ks(e,t,n){e=e|0;t=t|0;n=n|0;H(2);return 0}function zs(e,t,n,r,i,o,s,a,c){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;s=s|0;a=a|0;c=c|0;H(3);return 0}var Gs=[Fs,an];var Hs=[qs,cn,un,qs];var Vs=[Ks,_s];var Qs=[zs,fn,ln,zs];return{___muldi3:Es,___udivdi3:Rs,_bitshift64Ashr:Os,_bitshift64Lshr:xs,_bitshift64Shl:Cs,_free:Uo,_i64Add:ks,_i64Subtract:Ss,_llvm_bswap_i32:Ps,_malloc:jo,_memcpy:Ms,_memset:Ds,_olm_account:Nn,_olm_account_generate_one_time_keys:or,_olm_account_generate_one_time_keys_random_length:ir,_olm_account_identity_keys:Jn,_olm_account_identity_keys_length:Xn,_olm_account_last_error:xn,_olm_account_mark_keys_as_published:nr,_olm_account_max_number_of_one_time_keys:rr,_olm_account_one_time_keys:tr,_olm_account_one_time_keys_length:er,_olm_account_sign:$n,_olm_account_signature_length:Zn,_olm_account_size:Mn,_olm_clear_account:Ln,_olm_clear_inbound_group_session:Pi,_olm_clear_outbound_group_session:co,_olm_clear_pk_decryption:Ft,_olm_clear_pk_encryption:xt,_olm_clear_pk_signing:en,_olm_clear_sas:Xi,_olm_clear_session:Fn,_olm_clear_utility:qn,_olm_create_account:Yn,_olm_create_account_random_length:Wn,_olm_create_inbound_session:cr,_olm_create_inbound_session_from:fr,_olm_create_outbound_session:ar,_olm_create_outbound_session_random_length:sr,_olm_create_sas:Zi,_olm_create_sas_random_length:Ji,_olm_decrypt:wr,_olm_decrypt_max_plaintext_length:Ar,_olm_ed25519_verify:Sr,_olm_encrypt:vr,_olm_encrypt_message_length:_r,_olm_encrypt_message_type:yr,_olm_encrypt_random_length:br,_olm_error:On,_olm_export_inbound_group_session:Vi,_olm_export_inbound_group_session_length:Hi,_olm_get_library_version:Rn,_olm_group_decrypt:Fi,_olm_group_decrypt_max_plaintext_length:Li,_olm_group_encrypt:yo,_olm_group_encrypt_message_length:go,_olm_import_inbound_group_session:Bi,_olm_inbound_group_session:Ci,_olm_inbound_group_session_first_known_index:zi,_olm_inbound_group_session_id:Ki,_olm_inbound_group_session_id_length:qi,_olm_inbound_group_session_is_verified:Gi,_olm_inbound_group_session_last_error:Mi,_olm_inbound_group_session_size:xi,_olm_init_inbound_group_session:Di,_olm_init_outbound_group_session:mo,_olm_init_outbound_group_session_random_length:po,_olm_matches_inbound_session:pr,_olm_matches_inbound_session_from:mr,_olm_outbound_group_session:ao,_olm_outbound_group_session_id:_o,_olm_outbound_group_session_id_length:bo,_olm_outbound_group_session_key:wo,_olm_outbound_group_session_key_length:Ao,_olm_outbound_group_session_last_error:fo,_olm_outbound_group_session_message_index:vo,_olm_outbound_group_session_size:so,_olm_pickle_account:Gn,_olm_pickle_account_length:Kn,_olm_pickle_inbound_group_session:ji,_olm_pickle_inbound_group_session_length:Ni,_olm_pickle_outbound_group_session:lo,_olm_pickle_outbound_group_session_length:uo,_olm_pickle_pk_decryption:Vt,_olm_pickle_pk_decryption_length:Ht,_olm_pickle_session:Hn,_olm_pickle_session_length:zn,_olm_pk_ciphertext_length:Mt,_olm_pk_decrypt:Yt,_olm_pk_decryption:Lt,_olm_pk_decryption_last_error:jt,_olm_pk_decryption_size:Ut,_olm_pk_encrypt:Nt,_olm_pk_encrypt_random_length:Bt,_olm_pk_encryption:Ot,_olm_pk_encryption_last_error:Tt,_olm_pk_encryption_set_recipient_key:Ct,_olm_pk_encryption_size:Rt,_olm_pk_generate_key:Gt,_olm_pk_generate_key_random_length:Kt,_olm_pk_get_private_key:Xt,_olm_pk_key_from_private:zt,_olm_pk_key_length:Pt,_olm_pk_mac_length:Dt,_olm_pk_max_plaintext_length:Wt,_olm_pk_private_key_length:qt,_olm_pk_sign:sn,_olm_pk_signature_length:on,_olm_pk_signing:Zt,_olm_pk_signing_key_from_seed:rn,_olm_pk_signing_last_error:$t,_olm_pk_signing_public_key_length:nn,_olm_pk_signing_seed_length:tn,_olm_pk_signing_size:Jt,_olm_remove_one_time_keys:gr,_olm_sas:Yi,_olm_sas_calculate_mac:io,_olm_sas_calculate_mac_long_kdf:oo,_olm_sas_generate_bytes:no,_olm_sas_get_pubkey:eo,_olm_sas_last_error:Qi,_olm_sas_mac_length:ro,_olm_sas_pubkey_length:$i,_olm_sas_set_their_key:to,_olm_sas_size:Wi,_olm_session:jn,_olm_session_describe:hr,_olm_session_has_received_message:dr,_olm_session_id:lr,_olm_session_id_length:ur,_olm_session_last_error:Cn,_olm_session_size:Dn,_olm_sha256:kr,_olm_sha256_length:Er,_olm_unpickle_account:Vn,_olm_unpickle_inbound_group_session:Ui,_olm_unpickle_outbound_group_session:ho,_olm_unpickle_pk_decryption:Qt,_olm_unpickle_session:Qn,_olm_utility:Un,_olm_utility_last_error:Pn,_olm_utility_size:Bn,_sbrk:Bs,dynCall_ii:Ns,dynCall_iii:js,dynCall_iiii:Us,dynCall_iiiiiiiiii:Ls,establishStackSpace:se,getTempRet0:fe,runPostSets:As,setTempRet0:ce,setThrew:ae,stackAlloc:re,stackRestore:oe,stackSave:ie}}(l.f,l.g,D);l.___muldi3=Ee.___muldi3,l.___udivdi3=Ee.___udivdi3,l._bitshift64Ashr=Ee._bitshift64Ashr,l._bitshift64Lshr=Ee._bitshift64Lshr,l._bitshift64Shl=Ee._bitshift64Shl,l._free=Ee._free,l._i64Add=Ee._i64Add,l._i64Subtract=Ee._i64Subtract,l._llvm_bswap_i32=Ee._llvm_bswap_i32;var ke=l._malloc=Ee._malloc;l._memcpy=Ee._memcpy,l._memset=Ee._memset,l._olm_account=Ee._olm_account,l._olm_account_generate_one_time_keys=Ee._olm_account_generate_one_time_keys,l._olm_account_generate_one_time_keys_random_length=Ee._olm_account_generate_one_time_keys_random_length,l._olm_account_identity_keys=Ee._olm_account_identity_keys,l._olm_account_identity_keys_length=Ee._olm_account_identity_keys_length,l._olm_account_last_error=Ee._olm_account_last_error,l._olm_account_mark_keys_as_published=Ee._olm_account_mark_keys_as_published,l._olm_account_max_number_of_one_time_keys=Ee._olm_account_max_number_of_one_time_keys,l._olm_account_one_time_keys=Ee._olm_account_one_time_keys,l._olm_account_one_time_keys_length=Ee._olm_account_one_time_keys_length,l._olm_account_sign=Ee._olm_account_sign,l._olm_account_signature_length=Ee._olm_account_signature_length,l._olm_account_size=Ee._olm_account_size,l._olm_clear_account=Ee._olm_clear_account,l._olm_clear_inbound_group_session=Ee._olm_clear_inbound_group_session,l._olm_clear_outbound_group_session=Ee._olm_clear_outbound_group_session,l._olm_clear_pk_decryption=Ee._olm_clear_pk_decryption,l._olm_clear_pk_encryption=Ee._olm_clear_pk_encryption,l._olm_clear_pk_signing=Ee._olm_clear_pk_signing,l._olm_clear_sas=Ee._olm_clear_sas,l._olm_clear_session=Ee._olm_clear_session,l._olm_clear_utility=Ee._olm_clear_utility,l._olm_create_account=Ee._olm_create_account,l._olm_create_account_random_length=Ee._olm_create_account_random_length,l._olm_create_inbound_session=Ee._olm_create_inbound_session,l._olm_create_inbound_session_from=Ee._olm_create_inbound_session_from,l._olm_create_outbound_session=Ee._olm_create_outbound_session,l._olm_create_outbound_session_random_length=Ee._olm_create_outbound_session_random_length,l._olm_create_sas=Ee._olm_create_sas,l._olm_create_sas_random_length=Ee._olm_create_sas_random_length,l._olm_decrypt=Ee._olm_decrypt,l._olm_decrypt_max_plaintext_length=Ee._olm_decrypt_max_plaintext_length,l._olm_ed25519_verify=Ee._olm_ed25519_verify,l._olm_encrypt=Ee._olm_encrypt,l._olm_encrypt_message_length=Ee._olm_encrypt_message_length,l._olm_encrypt_message_type=Ee._olm_encrypt_message_type,l._olm_encrypt_random_length=Ee._olm_encrypt_random_length,l._olm_error=Ee._olm_error,l._olm_export_inbound_group_session=Ee._olm_export_inbound_group_session,l._olm_export_inbound_group_session_length=Ee._olm_export_inbound_group_session_length,l._olm_get_library_version=Ee._olm_get_library_version,l._olm_group_decrypt=Ee._olm_group_decrypt,l._olm_group_decrypt_max_plaintext_length=Ee._olm_group_decrypt_max_plaintext_length,l._olm_group_encrypt=Ee._olm_group_encrypt,l._olm_group_encrypt_message_length=Ee._olm_group_encrypt_message_length,l._olm_import_inbound_group_session=Ee._olm_import_inbound_group_session,l._olm_inbound_group_session=Ee._olm_inbound_group_session,l._olm_inbound_group_session_first_known_index=Ee._olm_inbound_group_session_first_known_index,l._olm_inbound_group_session_id=Ee._olm_inbound_group_session_id,l._olm_inbound_group_session_id_length=Ee._olm_inbound_group_session_id_length,l._olm_inbound_group_session_is_verified=Ee._olm_inbound_group_session_is_verified,l._olm_inbound_group_session_last_error=Ee._olm_inbound_group_session_last_error,l._olm_inbound_group_session_size=Ee._olm_inbound_group_session_size,l._olm_init_inbound_group_session=Ee._olm_init_inbound_group_session,l._olm_init_outbound_group_session=Ee._olm_init_outbound_group_session,l._olm_init_outbound_group_session_random_length=Ee._olm_init_outbound_group_session_random_length,l._olm_matches_inbound_session=Ee._olm_matches_inbound_session,l._olm_matches_inbound_session_from=Ee._olm_matches_inbound_session_from,l._olm_outbound_group_session=Ee._olm_outbound_group_session,l._olm_outbound_group_session_id=Ee._olm_outbound_group_session_id,l._olm_outbound_group_session_id_length=Ee._olm_outbound_group_session_id_length,l._olm_outbound_group_session_key=Ee._olm_outbound_group_session_key,l._olm_outbound_group_session_key_length=Ee._olm_outbound_group_session_key_length,l._olm_outbound_group_session_last_error=Ee._olm_outbound_group_session_last_error,l._olm_outbound_group_session_message_index=Ee._olm_outbound_group_session_message_index,l._olm_outbound_group_session_size=Ee._olm_outbound_group_session_size,l._olm_pickle_account=Ee._olm_pickle_account,l._olm_pickle_account_length=Ee._olm_pickle_account_length,l._olm_pickle_inbound_group_session=Ee._olm_pickle_inbound_group_session,l._olm_pickle_inbound_group_session_length=Ee._olm_pickle_inbound_group_session_length,l._olm_pickle_outbound_group_session=Ee._olm_pickle_outbound_group_session,l._olm_pickle_outbound_group_session_length=Ee._olm_pickle_outbound_group_session_length,l._olm_pickle_pk_decryption=Ee._olm_pickle_pk_decryption,l._olm_pickle_pk_decryption_length=Ee._olm_pickle_pk_decryption_length,l._olm_pickle_session=Ee._olm_pickle_session,l._olm_pickle_session_length=Ee._olm_pickle_session_length,l._olm_pk_ciphertext_length=Ee._olm_pk_ciphertext_length,l._olm_pk_decrypt=Ee._olm_pk_decrypt,l._olm_pk_decryption=Ee._olm_pk_decryption,l._olm_pk_decryption_last_error=Ee._olm_pk_decryption_last_error,l._olm_pk_decryption_size=Ee._olm_pk_decryption_size,l._olm_pk_encrypt=Ee._olm_pk_encrypt,l._olm_pk_encrypt_random_length=Ee._olm_pk_encrypt_random_length,l._olm_pk_encryption=Ee._olm_pk_encryption,l._olm_pk_encryption_last_error=Ee._olm_pk_encryption_last_error,l._olm_pk_encryption_set_recipient_key=Ee._olm_pk_encryption_set_recipient_key,l._olm_pk_encryption_size=Ee._olm_pk_encryption_size,l._olm_pk_generate_key=Ee._olm_pk_generate_key,l._olm_pk_generate_key_random_length=Ee._olm_pk_generate_key_random_length,l._olm_pk_get_private_key=Ee._olm_pk_get_private_key,l._olm_pk_key_from_private=Ee._olm_pk_key_from_private,l._olm_pk_key_length=Ee._olm_pk_key_length,l._olm_pk_mac_length=Ee._olm_pk_mac_length,l._olm_pk_max_plaintext_length=Ee._olm_pk_max_plaintext_length,l._olm_pk_private_key_length=Ee._olm_pk_private_key_length,l._olm_pk_sign=Ee._olm_pk_sign,l._olm_pk_signature_length=Ee._olm_pk_signature_length,l._olm_pk_signing=Ee._olm_pk_signing,l._olm_pk_signing_key_from_seed=Ee._olm_pk_signing_key_from_seed,l._olm_pk_signing_last_error=Ee._olm_pk_signing_last_error,l._olm_pk_signing_public_key_length=Ee._olm_pk_signing_public_key_length,l._olm_pk_signing_seed_length=Ee._olm_pk_signing_seed_length,l._olm_pk_signing_size=Ee._olm_pk_signing_size,l._olm_remove_one_time_keys=Ee._olm_remove_one_time_keys,l._olm_sas=Ee._olm_sas,l._olm_sas_calculate_mac=Ee._olm_sas_calculate_mac,l._olm_sas_calculate_mac_long_kdf=Ee._olm_sas_calculate_mac_long_kdf,l._olm_sas_generate_bytes=Ee._olm_sas_generate_bytes,l._olm_sas_get_pubkey=Ee._olm_sas_get_pubkey,l._olm_sas_last_error=Ee._olm_sas_last_error,l._olm_sas_mac_length=Ee._olm_sas_mac_length,l._olm_sas_pubkey_length=Ee._olm_sas_pubkey_length,l._olm_sas_set_their_key=Ee._olm_sas_set_their_key,l._olm_sas_size=Ee._olm_sas_size,l._olm_session=Ee._olm_session,l._olm_session_describe=Ee._olm_session_describe,l._olm_session_has_received_message=Ee._olm_session_has_received_message,l._olm_session_id=Ee._olm_session_id,l._olm_session_id_length=Ee._olm_session_id_length,l._olm_session_last_error=Ee._olm_session_last_error,l._olm_session_size=Ee._olm_session_size,l._olm_sha256=Ee._olm_sha256,l._olm_sha256_length=Ee._olm_sha256_length,l._olm_unpickle_account=Ee._olm_unpickle_account,l._olm_unpickle_inbound_group_session=Ee._olm_unpickle_inbound_group_session,l._olm_unpickle_outbound_group_session=Ee._olm_unpickle_outbound_group_session,l._olm_unpickle_pk_decryption=Ee._olm_unpickle_pk_decryption,l._olm_unpickle_session=Ee._olm_unpickle_session,l._olm_utility=Ee._olm_utility,l._olm_utility_last_error=Ee._olm_utility_last_error,l._olm_utility_size=Ee._olm_utility_size,l._sbrk=Ee._sbrk,l.establishStackSpace=Ee.establishStackSpace,l.getTempRet0=Ee.getTempRet0,l.runPostSets=Ee.runPostSets,l.setTempRet0=Ee.setTempRet0,l.setThrew=Ee.setThrew;var Se=l.stackAlloc=Ee.stackAlloc,Ie=l.stackRestore=Ee.stackRestore,Te=l.stackSave=Ee.stackSave;if(l.dynCall_ii=Ee.dynCall_ii,l.dynCall_iii=Ee.dynCall_iii,l.dynCall_iiii=Ee.dynCall_iiii,l.dynCall_iiiiiiiiii=Ee.dynCall_iiiiiiiiii,l.asm=Ee,l.ALLOC_STACK=1,me){if(String.prototype.startsWith?!me.startsWith(ge):0!==me.indexOf(ge)){var Re=me;me=l.locateFile?l.locateFile(Re,E):E+Re}if(_||v){var Oe=l.readBinary(me);N.set(Oe,8)}else{var xe=function(){l.readAsync(me,Ce,(function(){throw"could not load memory initializer "+me}))};de++,l.monitorRunDependencies&&l.monitorRunDependencies(de);var Ce=function(e){e.byteLength&&(e=new Uint8Array(e)),N.set(e,8),l.memoryInitializerRequest&&delete l.memoryInitializerRequest.response,de--,l.monitorRunDependencies&&l.monitorRunDependencies(de),0==de&&(null!==he&&(clearInterval(he),he=null),pe&&(e=pe,pe=null,e()))},Pe=we(me);if(Pe)Ce(Pe.buffer);else if(l.memoryInitializerRequest){var Me=function(){var e=l.memoryInitializerRequest,t=e.response;if(200!==e.status&&0!==e.status){if(!(t=we(l.memoryInitializerRequestURL)))return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+e.status+", retrying "+me),void xe();t=t.buffer}Ce(t)};l.memoryInitializerRequest.response?setTimeout(Me,0):l.memoryInitializerRequest.addEventListener("load",Me)}else xe()}}function De(){function e(){if(!l.calledRun&&(l.calledRun=!0,!O)){if(oe||(oe=!0,ee(ne)),ee(re),l.onRuntimeInitialized&&l.onRuntimeInitialized(),l.postRun)for("function"==typeof l.postRun&&(l.postRun=[l.postRun]);l.postRun.length;){var e=l.postRun.shift();ie.unshift(e)}ee(ie)}}if(!(0=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}return n}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,n){"use strict";var r=n(18);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,s){if(s!==r){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t3&&void 0!==arguments[3]?arguments[3]:{};return Object.assign({unified:e,emoji:e.split("-").map((function(e){return parseInt(e,16)})).map((function(e){return String.fromCodePoint(e)})).join(""),originalUnified:t[l.EMOJI_PROPERTY_UNIFIED],names:t[l.EMOJI_PROPERTY_NAME],activeSkinTone:n},r)},D=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Function.prototype;return function(t,n,r,i){var o=M(n,r,i);return P(o),e(t,o)}},B=n(8),N=(n(23),function(){var e=Object(a.useContext)(g),t=e.state,n=t.skinTonesSpread,r=t.activeSkinTone,i=e.dispatch,o=function(){i({type:_,spread:!n})},s=function(e){var t=e.target.value;i({type:v,skinTone:t})};return c.a.createElement("ul",{className:"skin-tones-list"},B.map((function(e,t){var i=e===r;return c.a.createElement("li",{key:e,className:"t".concat(e),style:{transform:"translateX(-".concat(n?20*t:0,"px) scale(").concat(i?"1.5":1,")"),zIndex:i?2:1}},c.a.createElement("input",{type:"radio",onChange:s,name:"skin-tone",value:e,id:"tone_".concat(e)}),c.a.createElement("label",{htmlFor:"tone_".concat(e),"data-name":"tones",onClick:o}))})))}),j=n(9),U=n.n(j),L=function(e){var t=Object(a.useContext)(g).state.emojiUrl;return e?"".concat(t,"/").concat(e,".png"):t},F=(n(25),function(e){var t=e.unified,n=e.dispatch,r=e.shouldLoad,i=void 0===r||r;return c.a.createElement("img",U()({className:"emoji-img",onError:function(){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Function.prototype;t({type:w,unified:e})}(t,n)}},i&&function(e){return{src:L(e)}}(t)))}),q=F;F.propTypes={unified:u.a.string,shouldLoad:u.a.bool,dispatch:u.a.func},n(27);var K=function(e){var t=e.closeVariations,n=Object(a.useContext)(g).state,r=n.variationMenu,i=n.activeSkinTone,o=n.onEmojiClick;return r?c.a.createElement("div",{className:"variations-wrapper"},c.a.createElement("ul",{className:"variation-list"},B.map((function(e){var n=r[l.EMOJI_PROPERTY_SKIN_VARIATIONS].find((function(t){return t.includes(e)}))||r[l.EMOJI_PROPERTY_UNIFIED];return c.a.createElement("li",{key:n},c.a.createElement("button",{onClick:function(e){return t(e),o(e,n,r,i)},onMouseDown:function(e){return e.stopPropagation()}},c.a.createElement(q,{unified:n})))})))):null},z=K;K.propTypes={closeVariations:u.a.func};var G=n(7),H=n.n(G),V=n(10),Q=(n(29),function(e){var t=e.emojiListRef,n=Object(a.useContext)(g),r=n.state,i=r.activeCategory,o=r.filter,s=n.dispatch,f=!1;return o&&o.length&&(f=!0),c.a.createElement("nav",{onClick:function(e){var n=e.target;if(!f){var r=n.getAttribute("data-name");if(t&&t.current&&r){s({type:y,activeCategory:r}),s({type:A,group:r});var i=t.current,o=i.querySelector("[".concat("data-name",'="').concat(r,'"]'));i.scrollTop=o.offsetTop}}},className:H()("emoji-categories",{inactive:f})},V.map((function(e){return c.a.createElement("button",{key:e,className:H()("icn-".concat(e.replace(" & ","_")),{active:i===e}),"data-name":e})})))}),W=Q;Q.propTypes={emojiListRef:u.a.shape({current:u.a.instanceOf(Element)})};var Y,X,J=n(11),Z=function(e){var t={groups:{},emojis:{}},n=function(n){e[n].reduce((function(e,t){var r=t[l.EMOJI_PROPERTY_UNIFIED];return t[l.EMOJI_PROPERTY_GROUP]=n,e.emojis[r]=t,e.groups[n]=e.groups[n]||[],e.groups[n].push(r),e}),t)};for(var r in e)n(r);return t}(J),$=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0,n=".content-wrapper",r=t&&t.current?t.current.closest("".concat(n)):document.querySelector(".emoji-picker-react ".concat(n));r.setAttribute("data-name",e)},ee=u.a.shape((X={},i()(X,l.EMOJI_PROPERTY_NAME,u.a.arrayOf(u.a.string)),i()(X,l.EMOJI_PROPERTY_UNIFIED,u.a.string),i()(X,l.EMOJI_PROPERTY_SKIN_VARIATIONS,u.a.arrayOf(u.a.string)),i()(X,l.EMOJI_PROPERTY_GROUP,u.a.string),X));function te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}n(40);var ne=["#aeeff0","#ffe0e0","#d6f8b8","#c6cfff","#f1f0d1"],re=null,ie=function(){return clearTimeout(re)},oe=function(e){var t,n,r=e.emoji,o=e.shouldLoad,s=e.hidden,a=e.activeSkinTone,f=e.openVariationMenu,u=e.variationMenuOpen,d=e.handleMouseEnter,h=e.handleMouseLeave,p=e.onEmojiClick,m=e.index,g=e.dispatch,y=r[l.EMOJI_PROPERTY_SKIN_VARIATIONS],b=function(e){for(var t=1;t=0}))),t||(t=r[l.EMOJI_PROPERTY_UNIFIED]),c.a.createElement("li",{style:b,className:H()("emoji",{"has-skin-variation":y&&f})},c.a.createElement("button",{onMouseDown:function(){y&&f&&(re=setTimeout((function(){f(r)}),500))},onMouseEnter:d,onMouseLeave:h,onMouseUp:ie,onClick:function(e){u||p(e,t,r,a)}},c.a.createElement(q,{unified:t,shouldLoad:o,dispatch:g})))},se=oe;oe.propTypes={emoji:ee,shouldLoad:u.a.bool,hidden:u.a.bool,activeSkinTone:u.a.string,openVariationMenu:u.a.func,variationMenuOpen:u.a.bool,handleMouseEnter:u.a.func,handleMouseLeave:u.a.func,onEmojiClick:u.a.func,index:u.a.number,dispatch:u.a.func};var ae=function(e){var t=e.unsetEmojiName,n=e.emojiListRef,r=Object(a.useContext)(g),i=r.state,o=i.recentlyUsed,s=i.onEmojiClick,f=i.filterResult,u=i.failedToLoad,d=void 0===u?{}:u,h=r.dispatch;return!o.length||f?null:c.a.createElement("ul",{className:"emoji-group","data-name":l.GROUP_NAME_RECENTLY_USED},o.map((function(e,r){var i=e[l.EMOJI_PROPERTY_UNIFIED],o=Z.emojis[i];return d[i]||!o?null:c.a.createElement(se,U()({key:r,emoji:o},e[l.EMOJI_PROPERTY_SKIN_VARIATIONS]&&{activeSkinTone:e[l.EMOJI_PROPERTY_SKIN_VARIATIONS]},{index:r,handleMouseLeave:t,onEmojiClick:s,handleMouseEnter:function(){return $(o[l.EMOJI_PROPERTY_NAME][0],n)},dispatch:h,shouldLoad:!0}))})))},ce=ae;function fe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}ae.propTypes={unsetEmojiName:u.a.func,emojiListRef:u.a.shape({current:u.a.instanceOf(Element)})},n(42);var ue=function(e){var t=e.emojiListRef,n=Object(a.useContext)(g).state.filterResult;(function(e){var t=Object(a.useContext)(g),n=t.state,r=n.filterResult,i=n.activeCategory,o=t.dispatch;Object(a.useEffect)((function(){void 0!==T.IntersectionObserver&&!Y&&e.current&&(Y=new IntersectionObserver((function(e){e.forEach((function(e){var t=e.target,n=t.getAttribute("data-name");if(0===e.intersectionRatio){if(n===i)o({type:y,activeCategory:null});else if(n===l.GROUP_NAME_RECENTLY_USED){var r=t.nextSibling;if(r){var s=r.getAttribute("data-name");o({type:y,activeCategory:s})}}}else i||(o({type:A,group:n}),o({type:y,activeCategory:n}))}))}),{root:e.current.parentElement})),Y.disconnect(),e&&e.current&&I()(e.current.querySelectorAll(".emoji-group")).forEach((function(e){Y.observe(e)}))}),[e.current,r])})(t),function(e,t){var n=Object(a.useRef)();Object(a.useEffect)((function(){t&&t.current&&(t.current.scrollTop=0),n.current=e}),[e]),n.current}(n,t);var r=function(){return $("",t)};return c.a.createElement("section",{className:"emoji-scroll-wrapper",ref:t},c.a.createElement(ce,{unsetEmojiName:r,emojiListRef:t}),V.map((function(e){var n=function(e,t){var n=t.unsetEmojiName,r=t.emojiListRef,i=Object(a.useContext)(g),o=i.state,s=o.activeSkinTone,f=o.filterResult,u=o.seenGroups,d=void 0===u?{}:u,h=o.onEmojiClick,p=o.variationMenu,m=o.failedToLoad,y=void 0===m?null:m,_=o.preload,v=i.dispatch,A=_||!(!d[e]&&!f&&"function"==typeof T.IntersectionObserver),w=!!p,E=function(e){return v({type:b,emoji:e})};return Object(a.useMemo)((function(){var t=f?Object.keys(f[e]||{}):Z.groups[e];return t.reduce((function(e,i,o){if(y&&y[i])return e;var a=Z.emojis[i],f=!t.length;return e.shown||f||(e.shown=!0),e.list.push(c.a.createElement(se,{emoji:a,dispatch:v,openVariationMenu:E,activeSkinTone:s,handleMouseLeave:n,variationMenuOpen:w,handleMouseEnter:function(){return $(a[l.EMOJI_PROPERTY_NAME][0],r)},hidden:f,shouldLoad:A,onEmojiClick:h,index:o,key:a[l.EMOJI_PROPERTY_UNIFIED]})),e}),{list:[],shown:!1})}),[s,f,e,A,w,y])}(e,{unsetEmojiName:r,emojiListRef:t}),o=n.list,s=function(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:100,i=n;return new Promise((function(n){var o=0;!function s(){for(var a=o;ao.value.length&&i.includes(o.value))t=[].concat(I()(n),[{value:i,terms:o.terms.filter((function(e){return e.includes(i)}))}]);else if(o&&i.length0;a--)if(i.includes(n[a-1].value)){s=a;break}n.length=s,t=I()(n)}else 0!==n.length&&i.includes(o.value)||(t=[{value:i,terms:he[i[0]].filter((function(e){return e.includes(i)}))}]);var c=t[t.length-1];c&&c.value?pe(c&&c.terms||[],(function(e,t){return de[t]?(de[t]||[]).reduce((function(e,t){var n=Z.emojis[t][l.EMOJI_PROPERTY_GROUP];return e[n]=e[n]||{},e[n][t]=!0,e}),e):e}),{}).then((function(e){r({type:E,filter:t,filterResult:e})})):r({type:E,filter:t,filterResult:null})}},ye=(n(44),function(){return c.a.createElement("input",{className:"emoji-search",onChange:ge(),autoFocus:!0})});n(46),n.d(t,"SKIN_TONE_NEUTRAL",(function(){return"neutral"})),n.d(t,"SKIN_TONE_LIGHT",(function(){return"1f3fb"})),n.d(t,"SKIN_TONE_MEDIUM_LIGHT",(function(){return"1f3fc"})),n.d(t,"SKIN_TONE_MEDIUM",(function(){return"1f3fe"})),n.d(t,"SKIN_TONE_MEDIUM_DARK",(function(){return"1f3ff"})),n.d(t,"SKIN_TONE_DARK",(function(){return"1f3fd"}));var be=function(e){var t=e.emojiUrl,n=void 0===t?"https://cdn.jsdelivr.net/gh/iamcal/emoji-data@master/img-apple-160":t,r=e.onEmojiClick,o=e.preload,f=void 0!==o&&o,u=e.skinTone,d=void 0===u?"neutral":u,h=Object(a.useRef)(null),p=Object(a.useReducer)(k,{activeSkinTone:d,emojiUrl:n,onEmojiClick:D(r),seenGroups:i()({},l.GROUP_NAME_PEOPLE,!0),recentlyUsed:C(),preload:f}),m=s()(p,2),y=m[0],v=m[1],A=function(e){var t=e.target;y.variationMenu&&v({type:b}),y.skinTonesSpread&&"tones"!==t.getAttribute("data-name")&&v({type:_})};return c.a.createElement(g.Provider,{value:{state:y,dispatch:v}},c.a.createElement("aside",{className:"emoji-picker-react",onScroll:A,onMouseDown:A},c.a.createElement(W,{emojiListRef:h}),c.a.createElement("div",{style:{position:"relative"}},c.a.createElement(ye,null),c.a.createElement(N,null)),c.a.createElement("div",{className:"content-wrapper","data-name":y.emojiName},c.a.createElement(z,{closeVariations:A}),c.a.createElement(le,{emojiListRef:h}))))};t.default=be,be.propTypes={emojiUrl:u.a.string,onEmojiClick:u.a.func,preload:u.a.bool,skinTone:u.a.string}}]))}).call(this,n(5))},function(e,t,n){"use strict";var r=n(26),i=n.n(r),o=n(27),s=n.n(o),a=n(54),c=n.n(a),f=n(55),u=n.n(f),l=n(7),d=n.n(l),h=n(56),p=n.n(h),m=n(2),g=n.n(m),y=n(0),b=n.n(y),_=(n(13),n(327)),v=n(157),A=n.n(v),w=n(22);function E(e,t,n){return e===t||(e.correspondingElement?e.correspondingElement.classList.contains(n):e.classList.contains(n))}var k,S,I=(void 0===k&&(k=0),function(){return++k}),T={},R={},O=["touchstart","touchmove"];function x(e,t){var n=null;return-1!==O.indexOf(t)&&S&&(n={passive:!e.props.preventDefault}),n}var C=function(e,t){var n,r,i=e.displayName||e.name||"Component";return r=n=function(n){var r,o;function s(e){var r;return(r=n.call(this,e)||this).__outsideClickHandler=function(e){if("function"!=typeof r.__clickOutsideHandlerProp){var t=r.getInstance();if("function"!=typeof t.props.handleClickOutside){if("function"!=typeof t.handleClickOutside)throw new Error("WrappedComponent: "+i+" lacks a handleClickOutside(event) function for processing outside click events.");t.handleClickOutside(e)}else t.props.handleClickOutside(e)}else r.__clickOutsideHandlerProp(e)},r.__getComponentNode=function(){var e=r.getInstance();return t&&"function"==typeof t.setClickOutsideRef?t.setClickOutsideRef()(e):"function"==typeof e.setClickOutsideRef?e.setClickOutsideRef():Object(w.findDOMNode)(e)},r.enableOnClickOutside=function(){if("undefined"!=typeof document&&!R[r._uid]){void 0===S&&(S=function(){if("undefined"!=typeof window&&"function"==typeof window.addEventListener){var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}}),n=function(){};return window.addEventListener("testPassiveEventSupport",n,t),window.removeEventListener("testPassiveEventSupport",n,t),e}}()),R[r._uid]=!0;var e=r.props.eventTypes;e.forEach||(e=[e]),T[r._uid]=function(e){var t;null!==r.componentNode&&(r.props.preventDefault&&e.preventDefault(),r.props.stopPropagation&&e.stopPropagation(),r.props.excludeScrollbar&&(t=e,document.documentElement.clientWidth<=t.clientX||document.documentElement.clientHeight<=t.clientY)||function(e,t,n){if(e===t)return!0;for(;e.parentNode;){if(E(e,t,n))return!0;e=e.parentNode}return e}(e.target,r.componentNode,r.props.outsideClickIgnoreClass)===document&&r.__outsideClickHandler(e))},e.forEach((function(e){document.addEventListener(e,T[r._uid],x(r,e))}))}},r.disableOnClickOutside=function(){delete R[r._uid];var e=T[r._uid];if(e&&"undefined"!=typeof document){var t=r.props.eventTypes;t.forEach||(t=[t]),t.forEach((function(t){return document.removeEventListener(t,e,x(r,t))})),delete T[r._uid]}},r.getRef=function(e){return r.instanceRef=e},r._uid=I(),r}o=n,(r=s).prototype=Object.create(o.prototype),r.prototype.constructor=r,r.__proto__=o;var a=s.prototype;return a.getInstance=function(){if(!e.prototype.isReactComponent)return this;var t=this.instanceRef;return t.getInstance?t.getInstance():t},a.componentDidMount=function(){if("undefined"!=typeof document&&document.createElement){var e=this.getInstance();if(t&&"function"==typeof t.handleClickOutside&&(this.__clickOutsideHandlerProp=t.handleClickOutside(e),"function"!=typeof this.__clickOutsideHandlerProp))throw new Error("WrappedComponent: "+i+" lacks a function for processing outside click events specified by the handleClickOutside config option.");this.componentNode=this.__getComponentNode(),this.props.disableOnClickOutside||this.enableOnClickOutside()}},a.componentDidUpdate=function(){this.componentNode=this.__getComponentNode()},a.componentWillUnmount=function(){this.disableOnClickOutside()},a.render=function(){var t=this.props,n=(t.excludeScrollbar,function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(t,["excludeScrollbar"]));return e.prototype.isReactComponent?n.ref=this.getRef:n.wrappedRef=this.getRef,n.disableOnClickOutside=this.disableOnClickOutside,n.enableOnClickOutside=this.enableOnClickOutside,Object(y.createElement)(e,n)},s}(y.Component),n.displayName="OnClickOutside("+i+")",n.defaultProps={eventTypes:["mousedown","touchstart"],excludeScrollbar:t&&t.excludeScrollbar||!1,outsideClickIgnoreClass:"ignore-react-onclickoutside",preventDefault:!1,stopPropagation:!1},n.getClass=function(){return e.getClass?e.getClass():e},r},P=function(){return b.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24",viewBox:"0 0 24 24",width:"24"},b.a.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),b.a.createElement("path",{id:"icon",fill:"#828282",d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z"}))},M=function(e){function t(e){var n;return i()(this,t),n=c()(this,u()(t).call(this,e)),g()(d()(n),"handleClickOutside",(function(e){n.props.closeEmojiSelector()})),n}return p()(t,e),s()(t,[{key:"render",value:function(){var e=this.props,t=e.onEmojiClick,n=e.emojiSelectorOpen,r=e.toggleEmojiSelector;return(b.a.createElement("div",{className:"emoji-button-container"},b.a.createElement("div",{className:"pos-relative"},b.a.createElement(_.a,{in:n,timeout:250},(function(e){return b.a.createElement("div",{className:"emoji-picker emoji-picker-".concat(e),"aria-hidden":!n},b.a.createElement(A.a,{onEmojiClick:t,emojiUrl:"https://cdn.jsdelivr.net/gh/iamcal/emoji-data@master/img-apple-64"}))})),b.a.createElement("button",{type:"button",id:"emoji-button",onClick:r,"aria-label":"Emoji picker"},b.a.createElement(P,null)))))}}]),t}(b.a.Component);t.a=C(M)},,function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}},function(e,t,n){"use strict"; +*/var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function s(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,c=s(e),f=1;f-1?r:o.nextTick;b.WritableState=y;var f=Object.create(n(30));f.inherits=n(1);var u={deprecate:n(185)},l=n(90),d=n(59).Buffer,h=i.Uint8Array||function(){};var p,m=n(91);function g(){}function y(e,t){a=a||n(20),e=e||{};var r=t instanceof a;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,f=e.writableHighWaterMark,u=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(f||0===f)?f:u,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var l=!1===e.decodeStrings;this.decodeStrings=!l,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,i){--t.pendingcb,n?(o.nextTick(i,r),o.nextTick(k,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(i(r),e._writableState.errorEmitted=!0,e.emit("error",r),k(e,t))}(e,n,r,t,i);else{var s=w(n);s||n.corked||n.bufferProcessing||!n.bufferedRequest||A(e,n),r?c(v,e,n,s,i):v(e,n,s,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function b(e){if(a=a||n(20),!(p.call(b,this)||this instanceof a))return new b(e);this._writableState=new y(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),l.call(this)}function _(e,t,n,r,i,o,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function v(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),k(e,t)}function A(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,i=new Array(r),o=t.corkedRequestsFree;o.entry=n;for(var a=0,c=!0;n;)i[a]=n,n.isBuf||(c=!1),n=n.next,a+=1;i.allBuffers=c,_(e,t,!0,t.length,i,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;n;){var f=n.chunk,u=n.encoding,l=n.callback;if(_(e,t,!1,t.objectMode?1:f.length,f,u,l),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function w(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function E(e,t){e._final((function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),k(e,t)}))}function k(e,t){var n=w(t);return n&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,o.nextTick(E,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}f.inherits(b,l),y.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(y.prototype,"buffer",{get:u.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(b,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===b&&(e&&e._writableState instanceof y)}})):p=function(e){return e instanceof this},b.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},b.prototype.write=function(e,t,n){var r,i=this._writableState,s=!1,a=!i.objectMode&&(r=e,d.isBuffer(r)||r instanceof h);return a&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof n&&(n=g),i.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),o.nextTick(t,n)}(this,n):(a||function(e,t,n,r){var i=!0,s=!1;return null===n?s=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),o.nextTick(r,s),i=!1),i}(this,i,e,n))&&(i.pendingcb++,s=function(e,t,n,r,i,o){if(!n){var s=function(e,t,n){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,n));return t}(t,r,i);r!==s&&(n=!0,i="buffer",r=s)}var a=t.objectMode?1:r.length;t.length+=a;var c=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(b.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),b.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},b.prototype._writev=null,b.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,k(e,t),n&&(t.finished?o.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,r,n)},Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),b.prototype.destroy=m.destroy,b.prototype._undestroy=m.undestroy,b.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,n(12),n(183).setImmediate,n(5))},function(e,t,n){"use strict";var r=n(3).Buffer,i=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(r.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=c,this.end=f,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=u,this.end=l,t=3;break;default:return this.write=d,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function s(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function c(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function f(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function u(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function l(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0)return i>0&&(e.lastNeed=i-1),i;if(--r=0)return i>0&&(e.lastNeed=i-2),i;if(--r=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,n){"use strict";var r=n(1),i=n(94),o=n(3).Buffer,s=new Array(16);function a(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function c(e,t){return e<>>32-t}function f(e,t,n,r,i,o,s){return c(e+(t&n|~t&r)+i+o|0,s)+t|0}function u(e,t,n,r,i,o,s){return c(e+(t&r|n&~r)+i+o|0,s)+t|0}function l(e,t,n,r,i,o,s){return c(e+(t^n^r)+i+o|0,s)+t|0}function d(e,t,n,r,i,o,s){return c(e+(n^(t|~r))+i+o|0,s)+t|0}r(a,i),a.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var n=this._a,r=this._b,i=this._c,o=this._d;n=f(n,r,i,o,e[0],3614090360,7),o=f(o,n,r,i,e[1],3905402710,12),i=f(i,o,n,r,e[2],606105819,17),r=f(r,i,o,n,e[3],3250441966,22),n=f(n,r,i,o,e[4],4118548399,7),o=f(o,n,r,i,e[5],1200080426,12),i=f(i,o,n,r,e[6],2821735955,17),r=f(r,i,o,n,e[7],4249261313,22),n=f(n,r,i,o,e[8],1770035416,7),o=f(o,n,r,i,e[9],2336552879,12),i=f(i,o,n,r,e[10],4294925233,17),r=f(r,i,o,n,e[11],2304563134,22),n=f(n,r,i,o,e[12],1804603682,7),o=f(o,n,r,i,e[13],4254626195,12),i=f(i,o,n,r,e[14],2792965006,17),n=u(n,r=f(r,i,o,n,e[15],1236535329,22),i,o,e[1],4129170786,5),o=u(o,n,r,i,e[6],3225465664,9),i=u(i,o,n,r,e[11],643717713,14),r=u(r,i,o,n,e[0],3921069994,20),n=u(n,r,i,o,e[5],3593408605,5),o=u(o,n,r,i,e[10],38016083,9),i=u(i,o,n,r,e[15],3634488961,14),r=u(r,i,o,n,e[4],3889429448,20),n=u(n,r,i,o,e[9],568446438,5),o=u(o,n,r,i,e[14],3275163606,9),i=u(i,o,n,r,e[3],4107603335,14),r=u(r,i,o,n,e[8],1163531501,20),n=u(n,r,i,o,e[13],2850285829,5),o=u(o,n,r,i,e[2],4243563512,9),i=u(i,o,n,r,e[7],1735328473,14),n=l(n,r=u(r,i,o,n,e[12],2368359562,20),i,o,e[5],4294588738,4),o=l(o,n,r,i,e[8],2272392833,11),i=l(i,o,n,r,e[11],1839030562,16),r=l(r,i,o,n,e[14],4259657740,23),n=l(n,r,i,o,e[1],2763975236,4),o=l(o,n,r,i,e[4],1272893353,11),i=l(i,o,n,r,e[7],4139469664,16),r=l(r,i,o,n,e[10],3200236656,23),n=l(n,r,i,o,e[13],681279174,4),o=l(o,n,r,i,e[0],3936430074,11),i=l(i,o,n,r,e[3],3572445317,16),r=l(r,i,o,n,e[6],76029189,23),n=l(n,r,i,o,e[9],3654602809,4),o=l(o,n,r,i,e[12],3873151461,11),i=l(i,o,n,r,e[15],530742520,16),n=d(n,r=l(r,i,o,n,e[2],3299628645,23),i,o,e[0],4096336452,6),o=d(o,n,r,i,e[7],1126891415,10),i=d(i,o,n,r,e[14],2878612391,15),r=d(r,i,o,n,e[5],4237533241,21),n=d(n,r,i,o,e[12],1700485571,6),o=d(o,n,r,i,e[3],2399980690,10),i=d(i,o,n,r,e[10],4293915773,15),r=d(r,i,o,n,e[1],2240044497,21),n=d(n,r,i,o,e[8],1873313359,6),o=d(o,n,r,i,e[15],4264355552,10),i=d(i,o,n,r,e[6],2734768916,15),r=d(r,i,o,n,e[13],1309151649,21),n=d(n,r,i,o,e[4],4149444226,6),o=d(o,n,r,i,e[11],3174756917,10),i=d(i,o,n,r,e[2],718787259,15),r=d(r,i,o,n,e[9],3951481745,21),this._a=this._a+n|0,this._b=this._b+r|0,this._c=this._c+i|0,this._d=this._d+o|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=o.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=a},function(e,t,n){"use strict";var r=n(10).Buffer,i=n(1),o=n(94),s=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],c=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],f=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],u=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],l=[0,1518500249,1859775393,2400959708,2840853838],d=[1352829926,1548603684,1836072691,2053994217,0];function h(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(e,t){return e<>>32-t}function m(e,t,n,r,i,o,s,a){return p(e+(t^n^r)+o+s|0,a)+i|0}function g(e,t,n,r,i,o,s,a){return p(e+(t&n|~t&r)+o+s|0,a)+i|0}function y(e,t,n,r,i,o,s,a){return p(e+((t|~n)^r)+o+s|0,a)+i|0}function b(e,t,n,r,i,o,s,a){return p(e+(t&r|n&~r)+o+s|0,a)+i|0}function _(e,t,n,r,i,o,s,a){return p(e+(t^(n|~r))+o+s|0,a)+i|0}i(h,o),h.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var n=0|this._a,r=0|this._b,i=0|this._c,o=0|this._d,h=0|this._e,v=0|this._a,A=0|this._b,w=0|this._c,E=0|this._d,k=0|this._e,S=0;S<80;S+=1){var I,T;S<16?(I=m(n,r,i,o,h,e[a[S]],l[0],f[S]),T=_(v,A,w,E,k,e[c[S]],d[0],u[S])):S<32?(I=g(n,r,i,o,h,e[a[S]],l[1],f[S]),T=b(v,A,w,E,k,e[c[S]],d[1],u[S])):S<48?(I=y(n,r,i,o,h,e[a[S]],l[2],f[S]),T=y(v,A,w,E,k,e[c[S]],d[2],u[S])):S<64?(I=b(n,r,i,o,h,e[a[S]],l[3],f[S]),T=g(v,A,w,E,k,e[c[S]],d[3],u[S])):(I=_(n,r,i,o,h,e[a[S]],l[4],f[S]),T=m(v,A,w,E,k,e[c[S]],d[4],u[S])),n=h,h=o,o=p(i,10),i=r,r=I,v=k,k=E,E=p(w,10),w=A,A=T}var R=this._b+i+E|0;this._b=this._c+o+k|0,this._c=this._d+h+v|0,this._d=this._e+n+A|0,this._e=this._a+r+w|0,this._a=R},h.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=r.alloc?r.alloc(20):new r(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=h},function(e,t,n){(t=e.exports=function(e){e=e.toLowerCase();var n=t[e];if(!n)throw new Error(e+" is not supported (we accept pull requests)");return new n}).sha=n(198),t.sha1=n(199),t.sha224=n(200),t.sha256=n(95),t.sha384=n(201),t.sha512=n(96)},function(e,t,n){"use strict";var r=n(14);function i(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}e.exports=i,i.prototype._init=function(){},i.prototype.update=function(e){return 0===e.length?[]:"decrypt"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},i.prototype._buffer=function(e,t){for(var n=Math.min(this.buffer.length-this.bufferOff,e.length-t),r=0;r0;r--)t+=this._buffer(e,t),n+=this._flushBuffer(i,n);return t+=this._buffer(e,t),i},i.prototype.final=function(e){var t,n;return e&&(t=this.update(e)),n="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(n):n},i.prototype._pad=function(e,t){if(0===t)return!1;for(;t=0||!n.umod(e.prime1)||!n.umod(e.prime2);)n=new r(i(t));return n}e.exports=o,o.getr=s}).call(this,n(10).Buffer)},function(e,t,n){"use strict";var r=t;r.version=n(227).version,r.utils=n(15),r.rand=n(68),r.curve=n(115),r.curves=n(71),r.ec=n(238),r.eddsa=n(242)},function(e,t,n){"use strict";var r,i=t,o=n(72),s=n(115),a=n(15).assert;function c(e){"short"===e.type?this.curve=new s.short(e):"edwards"===e.type?this.curve=new s.edwards(e):this.curve=new s.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function f(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var n=new c(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:n}),n}})}i.PresetCurve=c,f("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),f("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),f("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),f("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),f("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),f("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),f("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=n(237)}catch(e){r=void 0}f("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})},function(e,t,n){var r=t;r.utils=n(17),r.common=n(33),r.sha=n(231),r.ripemd=n(235),r.hmac=n(236),r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.MemoryCryptoStore=void 0;var i=n(4),o=r(n(8));t.MemoryCryptoStore=class{constructor(){this._outgoingRoomKeyRequests=[],this._account=null,this._crossSigningKeys=null,this._sessions={},this._sessionProblems={},this._notifiedErrorDevices={},this._inboundGroupSessions={},this._inboundGroupSessionsWithheld={},this._deviceData=null,this._rooms={},this._sessionsNeedingBackup={}}deleteAllData(){return Promise.resolve()}getOrAddOutgoingRoomKeyRequest(e){const t=e.requestBody;return o.promiseTry(()=>{const n=this._getOutgoingRoomKeyRequest(t);return n?(i.logger.log("already have key request outstanding for "+`${t.room_id} / ${t.session_id}: `+"not sending another"),n):(i.logger.log(`enqueueing key request for ${t.room_id} / `+t.session_id),this._outgoingRoomKeyRequests.push(e),e)})}getOutgoingRoomKeyRequest(e){return Promise.resolve(this._getOutgoingRoomKeyRequest(e))}_getOutgoingRoomKeyRequest(e){for(const t of this._outgoingRoomKeyRequests)if(o.deepCompare(t.requestBody,e))return t;return null}getOutgoingRoomKeyRequestByState(e){for(const t of this._outgoingRoomKeyRequests)for(const n of e)if(t.state===n)return Promise.resolve(t);return Promise.resolve(null)}getOutgoingRoomKeyRequestsByTarget(e,t,n){const r=[];for(const i of this._outgoingRoomKeyRequests)for(const o of n)i.state===o&&i.recipients.includes({userId:e,deviceId:t})&&r.push(i);return Promise.resolve(r)}updateOutgoingRoomKeyRequest(e,t,n){for(const r of this._outgoingRoomKeyRequests)if(r.requestId===e)return r.state!=t?(i.logger.warn(`Cannot update room key request from ${t} `+`as it was already updated to ${r.state}`),Promise.resolve(null)):(Object.assign(r,n),Promise.resolve(r));return Promise.resolve(null)}deleteOutgoingRoomKeyRequest(e,t){for(let n=0;ne.time-t.time)}async getEndToEndSessionProblem(e,t){const n=this._sessionProblems[e]||[];if(!n.length)return null;const r=n[n.length-1];for(const e of n)if(e.time>t)return Object.assign({},e,{fixed:r.fixed});return r.fixed?null:r}async filterOutNotifiedErrorDevices(e){const t=this._notifiedErrorDevices,n=[];for(const r of e){const{userId:e,deviceInfo:i}=r;e in t?i.deviceId in t[e]||(n.push(r),t[e][i.deviceId]=!0):(n.push(r),t[e]={[i.deviceId]:!0})}return n}getEndToEndInboundGroupSession(e,t,n,r){const i=e+"/"+t;r(this._inboundGroupSessions[i]||null,this._inboundGroupSessionsWithheld[i]||null)}getAllEndToEndInboundGroupSessions(e,t){for(const e of Object.keys(this._inboundGroupSessions))t({senderKey:e.substr(0,43),sessionId:e.substr(44),sessionData:this._inboundGroupSessions[e]});t(null)}addEndToEndInboundGroupSession(e,t,n,r){const i=e+"/"+t;void 0===this._inboundGroupSessions[i]&&(this._inboundGroupSessions[i]=n)}storeEndToEndInboundGroupSession(e,t,n,r){this._inboundGroupSessions[e+"/"+t]=n}storeEndToEndInboundGroupSessionWithheld(e,t,n,r){const i=e+"/"+t;this._inboundGroupSessionsWithheld[i]=n}getEndToEndDeviceData(e,t){t(this._deviceData)}storeEndToEndDeviceData(e,t){this._deviceData=e}storeEndToEndRoom(e,t,n){this._rooms[e]=t}getEndToEndRooms(e,t){t(this._rooms)}getSessionsNeedingBackup(e){const t=[];for(const n in this._sessionsNeedingBackup)if(this._inboundGroupSessions[n]&&(t.push({senderKey:n.substr(0,43),sessionId:n.substr(44),sessionData:this._inboundGroupSessions[n]}),e&&n.length>=e))break;return Promise.resolve(t)}countSessionsNeedingBackup(){return Promise.resolve(Object.keys(this._sessionsNeedingBackup).length)}unmarkSessionsNeedingBackup(e){for(const t of e){const e=t.senderKey+"/"+t.sessionId;delete this._sessionsNeedingBackup[e]}return Promise.resolve()}markSessionsNeedingBackup(e){for(const t of e){const e=t.senderKey+"/"+t.sessionId;this._sessionsNeedingBackup[e]=!0}return Promise.resolve()}doTxn(e,t,n){return Promise.resolve(n(null))}}},function(e,t,n){"use strict";var r=n(269),i=n(270);function o(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=_,t.resolve=function(e,t){return _(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?_(e,!1,!0).resolveObject(t):t},t.format=function(e){i.isString(e)&&(e=_(e));return e instanceof o?e.format():o.prototype.format.call(e)},t.Url=o;var s=/^([a-z0-9.+-]+:)/i,a=/:[0-9]*$/,c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,f=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),u=["'"].concat(f),l=["%","/","?",";","#"].concat(u),d=["/","?","#"],h=/^[+a-z0-9A-Z_-]{0,63}$/,p=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,m={javascript:!0,"javascript:":!0},g={javascript:!0,"javascript:":!0},y={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},b=n(271);function _(e,t,n){if(e&&i.isObject(e)&&e instanceof o)return e;var r=new o;return r.parse(e,t,n),r}o.prototype.parse=function(e,t,n){if(!i.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var o=e.indexOf("?"),a=-1!==o&&o127?M+="x":M+=P[D];if(!M.match(h)){var N=x.slice(0,T),j=x.slice(T+1),U=P.match(p);U&&(N.push(U[1]),j.unshift(U[2])),j.length&&(_="/"+j.join(".")+_),this.hostname=N.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),O||(this.hostname=r.toASCII(this.hostname));var L=this.port?":"+this.port:"",F=this.hostname||"";this.host=F+L,this.href+=this.host,O&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==_[0]&&(_="/"+_))}if(!m[w])for(T=0,C=u.length;T0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift());return n.search=e.search,n.query=e.query,i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!E.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var S=E.slice(-1)[0],I=(n.host||e.host||E.length>1)&&("."===S||".."===S)||""===S,T=0,R=E.length;R>=0;R--)"."===(S=E[R])?E.splice(R,1):".."===S?(E.splice(R,1),T++):T&&(E.splice(R,1),T--);if(!A&&!w)for(;T--;T)E.unshift("..");!A||""===E[0]||E[0]&&"/"===E[0].charAt(0)||E.unshift(""),I&&"/"!==E.join("/").substr(-1)&&E.push("");var O,x=""===E[0]||E[0]&&"/"===E[0].charAt(0);k&&(n.hostname=n.host=x?"":E.length?E.shift():"",(O=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift()));return(A=A||n.host&&E.length)&&!x&&E.unshift(""),E.length?n.pathname=E.join("/"):(n.pathname=null,n.path=null),i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var e=this.host,t=a.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PushProcessor=s;var r=n(8);const i=["override","content","room","sender","underride"],o=[{rule_id:".m.rule.tombstone",default:!0,enabled:!0,conditions:[{kind:"event_match",key:"type",pattern:"m.room.tombstone"},{kind:"event_match",key:"state_key",pattern:""}],actions:["notify",{set_tweak:"highlight",value:!0}]},{rule_id:".m.rule.reaction",default:!0,enabled:!0,conditions:[{kind:"event_match",key:"type",pattern:"m.reaction"}],actions:["dont_notify"]}];function s(e){const t={},n=(e,t,n)=>{for(let r=0;r]*)([0-9]*)$/);if(!o)return!1;const s=o[1],a=parseInt(o[2]);if(isNaN(a))return!1;switch(s){case"":case"==":return i==a;case"<":return i":return i>a;case"<=":return i<=a;case">=":return i>=a;default:return!1}},l=function(t,n){let i=n.getContent();if(n.isEncrypted()&&n.getClearContent()&&(i=n.getClearContent()),!i||!i.body||"string"!=typeof i.body)return!1;const o=e.getRoom(n.getRoomId());if(!(o&&o.currentState&&o.currentState.members&&o.currentState.getMember(e.credentials.userId)))return!1;const s=o.currentState.getMember(e.credentials.userId).name,a=new RegExp("(^|\\W)"+(0,r.escapeRegExp)(s)+"(\\W|$)","i");return i.body.search(a)>-1},d=function(e,t){return!1},h=function(e,t){if(!e.key)return!1;const n=m(e.key,t);if("string"!=typeof n)return!1;if(e.value)return e.value===n;let r;return r="content.body"==e.key?p("(^|\\W)",e.pattern,"(\\W|$)"):p("^",e.pattern,"$"),!!n.match(r)},p=function(e,n,i){return t[n]?t[n]:(t[n]=new RegExp(e+(0,r.globToRegexp)(n)+i,"i"),t[n])},m=function(e,t){const n=e.split(".");let i;const o=n[0];for("content"===o?(i=t.getContent(),n.shift()):"type"===o?(i=t.getType(),n.shift()):i=t.event;n.length>0;){const e=n.shift();if((0,r.isNullOrUndefined)(i[e]))return null;i=i[e]}return i},g=function(t,r){const i=function(t,r){if(!r||!r.device)return null;if(t.getSender()==e.credentials.userId)return null;const i=Object.keys(r.device);for(let e=0;et.rule_id===e.rule_id)){const t=e.rule_id;console.warn(`Adding default global override for ${t}`),n.push(e)}}return t}(e.pushRules);return g(t,n)},this.getPushRuleById=function(t){for(const n of["device","global"])if(void 0!==e.pushRules[n])for(const r of i)if(void 0!==e.pushRules[n][r])for(const i of e.pushRules[n][r])if(i.rule_id===t)return i;return null}}s.actionListToActionsObject=function(e){const t={notify:!1,tweaks:{}};for(let n=0;n{const t=o.find(t=>t.rule_id===e.rule_id);return t?(e.default=t.default,e.conditions=t.conditions,e.actions=t.actions,e):e}),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Filter=o;var r=n(277);function i(e,t,n){const r=t.split(".");let i=e;for(let e=0;et!==e)}if(r)return t+" ("+e+")";return t}(this.userId,e.getDirectionalContent().displayname,t),this.rawDisplayName=e.getDirectionalContent().displayname||this.userId,n!==this.membership&&(this._updateModifiedTime(),this.emit("RoomMember.membership",e,this,n)),r!==this.name&&(this._updateModifiedTime(),this.emit("RoomMember.name",e,this,r))},a.prototype.setPowerLevelEvent=function(e){if("m.room.power_levels"!==e.getType())return;const t=e.getDirectionalContent();let n=t.users_default||0;s.forEach(s.values(t.users),(function(e){n=Math.max(n,e)}));const r=this.powerLevel,i=this.powerLevelNorm;t.users&&void 0!==t.users[this.userId]?this.powerLevel=t.users[this.userId]:void 0!==t.users_default?this.powerLevel=t.users_default:this.powerLevel=0,this.powerLevelNorm=0,n>0&&(this.powerLevelNorm=100*this.powerLevel/n),r===this.powerLevel&&i===this.powerLevelNorm||(this._updateModifiedTime(),this.emit("RoomMember.powerLevel",e,this))},a.prototype.setTypingEvent=function(e){if("m.typing"!==e.getType())return;const t=this.typing;this.typing=!1;const n=e.getContent().user_ids;s.isArray(n)&&(-1!==n.indexOf(this.userId)&&(this.typing=!0),t!==this.typing&&(this._updateModifiedTime(),this.emit("RoomMember.typing",e,this)))},a.prototype._updateModifiedTime=function(){this._modified=Date.now()},a.prototype.getLastModifiedTime=function(){return this._modified},a.prototype.isKicked=function(){return"leave"===this.membership&&this.events.member.getSender()!==this.events.member.getStateKey()},a.prototype.getDMInviter=function(){if(this.events.member){const e=this.events.member;let t=e.getContent(),n=e.getSender();if("join"===t.membership&&(t=e.getPrevContent(),n=e.getUnsigned().prev_sender),"invite"===t.membership&&t.is_direct)return n}},a.prototype.getAvatarUrl=function(e,t,n,r,i,s){void 0===i&&(i=!0);const a=this.getMxcAvatarUrl();if(!a&&!i)return null;const c=(0,o.getHttpUriForMxc)(e,a,t,n,r,s);return c||(i?(0,o.getIdenticonUri)(e,this.userId,t,n):null)},a.prototype.getMxcAvatarUrl=function(){return this.events.member?this.events.member.getDirectionalContent().avatar_url:this.user?this.user.avatarUrl:null}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReEmitter=void 0;t.ReEmitter=class{constructor(e){this.target=e,this.boundHandlers={}}_handleEvent(e,...t){this.target.emit(e,...t)}reEmit(e,t){const n=(t,...n)=>{t(...n,e)};for(const r of t){void 0===this.boundHandlers[r]&&(this.boundHandlers[r]=this._handleEvent.bind(this,r));const t=n.bind(this,this.boundHandlers[r]);e.on(r,t)}}}},function(e,t,n){"use strict";function r(e,t){const n=`Store is invalid because ${e}, `+"please stop the client, delete all data and start the client again",r=Reflect.construct(Error,[n]);return Reflect.setPrototypeOf(r,Reflect.getPrototypeOf(this)),r.reason=e,r.value=t,r}function i(e){const t=`Crypto store is invalid because ${e}, `+"please stop the client, delete all data and start the client again",n=Reflect.construct(Error,[t]);return Reflect.setPrototypeOf(n,Reflect.getPrototypeOf(this)),n.reason=e,n.name="InvalidCryptoStoreError",n}Object.defineProperty(t,"__esModule",{value:!0}),t.InvalidStoreError=r,t.InvalidCryptoStoreError=i,r.TOGGLED_LAZY_LOADING="TOGGLED_LAZY_LOADING",r.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Reflect.setPrototypeOf(r,Error),i.TOO_NEW="TOO_NEW",i.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Reflect.setPrototypeOf(i,Error)},function(e,t,n){"use strict";for(var r=/[\\\"\x00-\x1F]/g,i={},o=0;o<32;++o)i[String.fromCharCode(o)]="\\U"+("0000"+o.toString(16)).slice(-4).toUpperCase();function s(e){return r.lastIndex=0,e.replace(r,(function(e){return i[e]}))}function a(e){switch(typeof e){case"string":return'"'+s(e)+'"';case"number":return isFinite(e)?e:"null";case"boolean":return e;case"object":return null===e?"null":Array.isArray(e)?function(e){for(var t="[",n="",r=0;re+": "+t[e]).join(", "));return n+="]",n}(this,n)}}t.DecryptionError=o;class s extends Error{constructor(e,t){super(e),this.name="UnknownDeviceError",this.devices=t}}t.UnknownDeviceError=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VerificationRequest=t.PHASE_DONE=t.PHASE_CANCELLED=t.PHASE_STARTED=t.PHASE_REQUESTED=t.PHASE_UNSENT=t.DONE_TYPE=t.CANCEL_TYPE=t.START_TYPE=t.REQUEST_TYPE=t.EVENT_PREFIX=void 0;var r=n(4),i=n(297),o=n(9),s=n(37);const a="m.key.verification.";t.EVENT_PREFIX=a;const c=a+"request";t.REQUEST_TYPE=c;const f=a+"start";t.START_TYPE=f;const u=a+"cancel";t.CANCEL_TYPE=u;t.DONE_TYPE="m.key.verification.done";t.PHASE_UNSENT=1;t.PHASE_REQUESTED=2;t.PHASE_STARTED=4;t.PHASE_CANCELLED=5;t.PHASE_DONE=6;class l extends o.EventEmitter{constructor(e,t,n,r){super(),this.channel=e,this._verificationMethods=t,this._client=r,this._commonMethods=[],this._setPhase(1,!1),this._requestEvent=null,this._otherUserId=n,this._initiatedByMe=null,this._startTimestamp=null}static validateEvent(e,t,n,i){const o=t.getContent();if(!e.startsWith(a))return!1;if(e===c&&!Array.isArray(o.methods))return!1;if(!(e!==c&&e!==f||"string"==typeof o.from_device&&0!==o.from_device.length))return!1;if(Number.isFinite(n)){const e=Date.now()-n;if(e>597e3||e<-3e5)return r.logger.log("received verification that is too old or from the future"),!1}return!0}get methods(){return this._commonMethods}get timeout(){const e=Date.now()-this._startTimestamp;return Math.max(0,6e5-e)}get event(){return this._requestEvent}get phase(){return this._phase}get verifier(){return this._verifier}get pending(){return 1!==this._phase&&6!==this._phase&&5!==this._phase}get initiatedByMe(){return this._initiatedByMe}get requestingUserId(){return this.initiatedByMe?this._client.getUserId():this._otherUserId}get receivingUserId(){return this.initiatedByMe?this._otherUserId:this._client.getUserId()}beginKeyVerification(e,t=null){if(!this._verifier&&this._hasValidPreStartPhase()){if(this._commonMethods.length&&!this._commonMethods.includes(e))throw(0,s.newUnknownMethodError)();if(this._verifier=this._createVerifier(e,null,t),!this._verifier)throw(0,s.newUnknownMethodError)()}return this._verifier}async sendRequest(){if(1===this._phase){this._initiatedByMe=!0,this._setPhase(2,!1);const e=[...this._verificationMethods.keys()];await this.channel.send(c,{methods:e}),this.emit("change")}}async cancel({reason:e="User declined",code:t="m.user"}={}){if(5!==this._phase){if(this._verifier)return this._verifier.cancel((0,s.errorFactory)(t,e));this._setPhase(5,!1),await this.channel.send(u,{code:t,reason:e}),this.emit("change")}}waitForVerifier(){return this.verifier?Promise.resolve(this.verifier):new Promise(e=>{const t=()=>{this.verifier&&(this.off("change",t),e(this.verifier))};this.on("change",t)})}_setPhase(e,t=!0){this._phase=e,t&&this.emit("change")}async handleEvent(e,t,n){const r=t.getContent();e!==c&&e!==f||null===this._startTimestamp&&(this._startTimestamp=n),e===c?await this._handleRequest(r,t):e===f&&await this._handleStart(r,t),this._verifier&&(e===u||this._verifier.events&&this._verifier.events.includes(e))&&this._verifier.handleEvent(t),e===u?this._handleCancel():"m.key.verification.done"===e&&this._handleDone()}async _handleRequest(e,t){if(1===this._phase){const n=e.methods;this._commonMethods=n.filter(e=>this._verificationMethods.has(e)),this._requestEvent=t,this._initiatedByMe=this._wasSentByMe(t),this._setPhase(2)}else 2!==this._phase&&(r.logger.warn("Ignoring flagged verification request from "+t.getSender()),await this.cancel((0,s.errorFromEvent)((0,s.newUnexpectedMessageError)())))}_hasValidPreStartPhase(){return 2===this._phase||this.channel.constructor.canCreateRequest(f)&&1===this._phase}async _handleStart(e,t){if(this._hasValidPreStartPhase()){const{method:n}=e;this._verificationMethods.has(n)?(1===this.phase&&(this._initiatedByMe=this._wasSentByMe(t)),this._verifier=this._createVerifier(n,t),this._setPhase(4)):await this.cancel((0,s.errorFromEvent)((0,s.newUnknownMethodError)()))}}handleVerifierSend(e,t){e===u?this._handleCancel():e===f&&(1!==this._phase&&2!==this._phase||(this._initiatedByMe=1===this.phase,this._setPhase(4)))}_handleCancel(){5!==this._phase&&this._setPhase(5)}_handleDone(){4===this._phase&&this._setPhase(6)}_createVerifier(e,t=null,n=null){const r=t&&this._wasSentByMe(t),{userId:o,deviceId:s}=this._getVerifierTarget(t,n),a=this._verificationMethods.get(e);if(a)return new a(new i.RequestCallbackChannel(this,this.channel),this._client,o,s,r?null:t);console.warn("could not find verifier constructor for method",e)}_getVerifierTarget(e,t){if(t)return t;{let t;if(e&&!this._wasSentByMe(e))t=e;else{if(!this._requestEvent||this._wasSentByMe(this._requestEvent))throw new Error("can't determine who the verifier should be targeted at. No .request or .start event and no targetDevice");t=this._requestEvent}const n=t.getSender(),r=t.getContent();return{userId:n,deviceId:r&&r.from_device}}}_wasSentByMe(e){if(e.getSender()!==this._client.getUserId())return!1;const t=e.getContent();return!(!t||t.from_device!==this._client.getDeviceId())}}t.VerificationRequest=l},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,i=Array.isArray,o=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),s=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r1;){var t=e.pop(),n=t.obj[t.prop];if(i(n)){for(var r=[],o=0;o=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122?i+=r.charAt(s):a<128?i+=o[a]:a<2048?i+=o[192|a>>6]+o[128|63&a]:a<55296||a>=57344?i+=o[224|a>>12]+o[128|a>>6&63]+o[128|63&a]:(s+=1,a=65536+((1023&a)<<10|1023&r.charCodeAt(s)),i+=o[240|a>>18]+o[128|a>>12&63]+o[128|a>>6&63]+o[128|63&a])}return i},isBuffer:function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},merge:function e(t,n,o){if(!n)return t;if("object"!=typeof n){if(i(t))t.push(n);else{if(!t||"object"!=typeof t)return[t,n];(o&&(o.plainObjects||o.allowPrototypes)||!r.call(Object.prototype,n))&&(t[n]=!0)}return t}if(!t||"object"!=typeof t)return[t].concat(n);var a=t;return i(t)&&!i(n)&&(a=s(t,o)),i(t)&&i(n)?(n.forEach((function(n,i){if(r.call(t,i)){var s=t[i];s&&"object"==typeof s&&n&&"object"==typeof n?t[i]=e(s,n,o):t.push(n)}else t[i]=n})),t):Object.keys(n).reduce((function(t,i){var s=n[i];return r.call(t,i)?t[i]=e(t[i],s,o):t[i]=s,t}),a)}}},function(e,t,n){"use strict";t.__esModule=!0,t.AMPERSAND=t.CLOSEPAREN=t.CLOSEANGLEBRACKET=t.CLOSEBRACKET=t.CLOSEBRACE=t.OPENPAREN=t.OPENANGLEBRACKET=t.OPENBRACKET=t.OPENBRACE=t.WS=t.TLD=t.SYM=t.UNDERSCORE=t.SLASH=t.MAILTO=t.PROTOCOL=t.QUERY=t.POUND=t.PLUS=t.NUM=t.NL=t.LOCALHOST=t.PUNCTUATION=t.DOT=t.COLON=t.AT=t.DOMAIN=t.Base=void 0;var r=n(147),i=n(53),o=(0,r.createTokenClass)();function s(e){var t=e?{v:e}:{};return(0,i.inherits)(o,(0,r.createTokenClass)(),t)}o.prototype={toString:function(){return this.v+""}};var a=s(),c=s("@"),f=s(":"),u=s("."),l=s(),d=s(),h=s("\n"),p=s(),m=s("+"),g=s("#"),y=s(),b=s("mailto:"),_=s("?"),v=s("/"),A=s("_"),w=s(),E=s(),k=s(),S=s("{"),I=s("["),T=s("<"),R=s("("),O=s("}"),x=s("]"),C=s(">"),P=s(")"),M=s("&");t.Base=o,t.DOMAIN=a,t.AT=c,t.COLON=f,t.DOT=u,t.PUNCTUATION=l,t.LOCALHOST=d,t.NL=h,t.NUM=p,t.PLUS=m,t.POUND=g,t.QUERY=_,t.PROTOCOL=y,t.MAILTO=b,t.SLASH=v,t.UNDERSCORE=A,t.SYM=w,t.TLD=E,t.WS=k,t.OPENBRACE=S,t.OPENBRACKET=I,t.OPENANGLEBRACKET=T,t.OPENPAREN=R,t.CLOSEBRACE=O,t.CLOSEBRACKET=x,t.CLOSEANGLEBRACKET=C,t.CLOSEPAREN=P,t.AMPERSAND=M},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=(n(13),n(155)),s=n.n(o);t.a=function(e){var t=e.message,n=e.userId,r=e.botId,o=e.client,a=function(){switch(t.sender){case"from-me":case n:return"from-me";case r:return"from-bot";default:return"from-support"}};if(e.placeholder)return i.a.createElement("div",{className:"message from-me placeholder"},i.a.createElement("div",{className:"text"},t.content.body));if("m.file"===t.content.msgtype){var c=o.mxcUrlToHttp(t.content.url);return(i.a.createElement("div",{className:"message ".concat(a())},i.a.createElement("div",{className:"text"},i.a.createElement("a",{href:c,target:"_blank",rel:"noopener noreferrer"},t.content.body))))}if(t.content.formatted_body)return i.a.createElement("div",{className:"message ".concat(a())},i.a.createElement("div",{className:"text",dangerouslySetInnerHTML:{__html:t.content.formatted_body}}));return i.a.createElement("div",{className:"message ".concat(a())},i.a.createElement("div",{className:"text"},i.a.createElement(s.a,{options:{linkAttributes:{rel:"noreferrer noopener"}}},t.content.body)))}},function(e,t,n){"use strict";var r=n(0),i=n.n(r);n(13);t.a=function(e){var t=e.handleToggleOpen,n=e.handleExitChat,r=e.opened;return(i.a.createElement("div",{className:"widget-header"},i.a.createElement("button",{type:"button",className:"widget-header-minimize",onClick:t,onKeyPress:t,"aria-label":"Minimize the chat window",title:"Minimize the chat window"},i.a.createElement("span",{className:"btn-icon arrow ".concat(r?"opened":"closed")},"⌃"),i.a.createElement("span",null,"".concat(r?"Hide":"Show"," the chat"))),i.a.createElement("button",{type:"button",className:"widget-header-close",onClick:n,onKeyPress:n,"aria-label":"Exit the chat",title:"Exit the chat"},i.a.createElement("span",{className:"btn-icon"},"×"))))}},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){"use strict";(function(t,r){var i=n(43);e.exports=_;var o,s=n(88);_.ReadableState=b;n(9).EventEmitter;var a=function(e,t){return e.listeners(t).length},c=n(90),f=n(59).Buffer,u=t.Uint8Array||function(){};var l=Object.create(n(30));l.inherits=n(1);var d=n(180),h=void 0;h=d&&d.debuglog?d.debuglog("stream"):function(){};var p,m=n(181),g=n(91);l.inherits(_,c);var y=["error","close","destroy","pause","resume"];function b(e,t){e=e||{};var r=t instanceof(o=o||n(20));this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,s=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=n(61).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function _(e){if(o=o||n(20),!(this instanceof _))return new _(e);this._readableState=new b(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),c.call(this)}function v(e,t,n,r,i){var o,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,E(e)}(e,s)):(i||(o=function(e,t){var n;r=t,f.isBuffer(r)||r instanceof u||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var r;return n}(s,t)),o?e.emit("error",o):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===f.prototype||(t=function(e){return f.from(e)}(t)),r?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):A(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?A(e,s,t,!1):S(e,s)):A(e,s,t,!1))):r||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function E(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(h("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(k,e):k(e))}function k(e){h("emit readable"),e.emit("readable"),O(e)}function S(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(I,e,t))}function I(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;eo.length?o.length:e;if(s===o.length?i+=o:i+=o.slice(0,e),0===(e-=s)){s===o.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(s));break}++r}return t.length-=r,i}(e,t):function(e,t){var n=f.allocUnsafe(e),r=t.head,i=1;r.data.copy(n),e-=r.data.length;for(;r=r.next;){var o=r.data,s=e>o.length?o.length:e;if(o.copy(n,n.length-e,0,s),0===(e-=s)){s===o.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(s));break}++i}return t.length-=i,n}(e,t);return r}(e,t.buffer,t.decoder),n);var n}function C(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(P,t,e))}function P(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function M(e,t){for(var n=0,r=e.length;n=t.highWaterMark||t.ended))return h("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?C(this):E(this),null;if(0===(e=w(e,t))&&t.ended)return 0===t.length&&C(this),null;var r,i=t.needReadable;return h("need readable",i),(0===t.length||t.length-e0?x(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&C(this)),null!==r&&this.emit("data",r),r},_.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},_.prototype.pipe=function(e,t){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=e;break;case 1:o.pipes=[o.pipes,e];break;default:o.pipes.push(e)}o.pipesCount+=1,h("pipe count=%d opts=%j",o.pipesCount,t);var c=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?u:_;function f(t,r){h("onunpipe"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,h("cleanup"),e.removeListener("close",y),e.removeListener("finish",b),e.removeListener("drain",l),e.removeListener("error",g),e.removeListener("unpipe",f),n.removeListener("end",u),n.removeListener("end",_),n.removeListener("data",m),d=!0,!o.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}function u(){h("onend"),e.end()}o.endEmitted?i.nextTick(c):n.once("end",c),e.on("unpipe",f);var l=function(e){return function(){var t=e._readableState;h("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,O(e))}}(n);e.on("drain",l);var d=!1;var p=!1;function m(t){h("ondata"),p=!1,!1!==e.write(t)||p||((1===o.pipesCount&&o.pipes===e||o.pipesCount>1&&-1!==M(o.pipes,e))&&!d&&(h("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,p=!0),n.pause())}function g(t){h("onerror",t),_(),e.removeListener("error",g),0===a(e,"error")&&e.emit("error",t)}function y(){e.removeListener("finish",b),_()}function b(){h("onfinish"),e.removeListener("close",y),_()}function _(){h("unpipe"),n.unpipe(e)}return n.on("data",m),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",g),e.once("close",y),e.once("finish",b),e.emit("pipe",n),o.flowing||(h("pipe resume"),n.resume()),e},_.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o=this._blockSize;){for(var o=this._blockOffset;o0;++s)this._length[s]+=a,(a=this._length[s]/4294967296|0)>0&&(this._length[s]-=4294967296*a);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var n=0;n<4;++n)this._length[n]=0;return t},o.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=o},function(e,t,n){var r=n(1),i=n(24),o=n(3).Buffer,s=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],a=new Array(64);function c(){this.init(),this._w=a,i.call(this,64,56)}function f(e,t,n){return n^e&(t^n)}function u(e,t,n){return e&t|n&(e|t)}function l(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function d(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function h(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}r(c,i),c.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},c.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,c=0|this._e,p=0|this._f,m=0|this._g,g=0|this._h,y=0;y<16;++y)n[y]=e.readInt32BE(4*y);for(;y<64;++y)n[y]=0|(((t=n[y-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+n[y-7]+h(n[y-15])+n[y-16];for(var b=0;b<64;++b){var _=g+d(c)+f(c,p,m)+s[b]+n[b]|0,v=l(r)+u(r,i,o)|0;g=m,m=p,p=c,c=a+_|0,a=o,o=i,i=r,r=_+v|0}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=c+this._e|0,this._f=p+this._f|0,this._g=m+this._g|0,this._h=g+this._h|0},c.prototype._hash=function(){var e=o.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=c},function(e,t,n){var r=n(1),i=n(24),o=n(3).Buffer,s=[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],a=new Array(160);function c(){this.init(),this._w=a,i.call(this,128,112)}function f(e,t,n){return n^e&(t^n)}function u(e,t,n){return e&t|n&(e|t)}function l(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function d(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function h(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function m(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function g(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function y(e,t){return e>>>0>>0?1:0}r(c,i),c.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},c.prototype._update=function(e){for(var t=this._w,n=0|this._ah,r=0|this._bh,i=0|this._ch,o=0|this._dh,a=0|this._eh,c=0|this._fh,b=0|this._gh,_=0|this._hh,v=0|this._al,A=0|this._bl,w=0|this._cl,E=0|this._dl,k=0|this._el,S=0|this._fl,I=0|this._gl,T=0|this._hl,R=0;R<32;R+=2)t[R]=e.readInt32BE(4*R),t[R+1]=e.readInt32BE(4*R+4);for(;R<160;R+=2){var O=t[R-30],x=t[R-30+1],C=h(O,x),P=p(x,O),M=m(O=t[R-4],x=t[R-4+1]),D=g(x,O),B=t[R-14],N=t[R-14+1],j=t[R-32],U=t[R-32+1],L=P+N|0,F=C+B+y(L,P)|0;F=(F=F+M+y(L=L+D|0,D)|0)+j+y(L=L+U|0,U)|0,t[R]=F,t[R+1]=L}for(var q=0;q<160;q+=2){F=t[q],L=t[q+1];var K=u(n,r,i),z=u(v,A,w),G=l(n,v),H=l(v,n),V=d(a,k),Q=d(k,a),W=s[q],Y=s[q+1],X=f(a,c,b),J=f(k,S,I),Z=T+Q|0,$=_+V+y(Z,T)|0;$=($=($=$+X+y(Z=Z+J|0,J)|0)+W+y(Z=Z+Y|0,Y)|0)+F+y(Z=Z+L|0,L)|0;var ee=H+z|0,te=G+K+y(ee,H)|0;_=b,T=I,b=c,I=S,c=a,S=k,a=o+$+y(k=E+Z|0,E)|0,o=i,E=w,i=r,w=A,r=n,A=v,n=$+te+y(v=Z+ee|0,Z)|0}this._al=this._al+v|0,this._bl=this._bl+A|0,this._cl=this._cl+w|0,this._dl=this._dl+E|0,this._el=this._el+k|0,this._fl=this._fl+S|0,this._gl=this._gl+I|0,this._hl=this._hl+T|0,this._ah=this._ah+n+y(this._al,v)|0,this._bh=this._bh+r+y(this._bl,A)|0,this._ch=this._ch+i+y(this._cl,w)|0,this._dh=this._dh+o+y(this._dl,E)|0,this._eh=this._eh+a+y(this._el,k)|0,this._fh=this._fh+c+y(this._fl,S)|0,this._gh=this._gh+b+y(this._gl,I)|0,this._hh=this._hh+_+y(this._hl,T)|0},c.prototype._hash=function(){var e=o.allocUnsafe(64);function t(t,n,r){e.writeInt32BE(t,r),e.writeInt32BE(n,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=c},function(e,t,n){"use strict";var r=n(1),i=n(202),o=n(18),s=n(3).Buffer,a=n(98),c=n(63),f=n(64),u=s.alloc(128);function l(e,t){o.call(this,"digest"),"string"==typeof t&&(t=s.from(t));var n="sha512"===e||"sha384"===e?128:64;(this._alg=e,this._key=t,t.length>n)?t=("rmd160"===e?new c:f(e)).update(t).digest():t.lengthn||o!=o)throw new TypeError("Bad key length")}}).call(this,n(10).Buffer)},function(e,t,n){(function(t){var n;t.browser?n="utf-8":n=parseInt(t.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary";e.exports=n}).call(this,n(12))},function(e,t,n){var r=n(98),i=n(63),o=n(64),s=n(101),a=n(102),c=n(3).Buffer,f=c.alloc(128),u={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function l(e,t,n){var s=function(e){function t(t){return o(e).update(t).digest()}return"rmd160"===e||"ripemd160"===e?function(e){return(new i).update(e).digest()}:"md5"===e?r:t}(e),a="sha512"===e||"sha384"===e?128:64;t.length>a?t=s(t):t.length>>0},t.writeUInt32BE=function(e,t,n){e[0+n]=t>>>24,e[1+n]=t>>>16&255,e[2+n]=t>>>8&255,e[3+n]=255&t},t.ip=function(e,t,n,r){for(var i=0,o=0,s=6;s>=0;s-=2){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>>a+s&1}for(s=6;s>=0;s-=2){for(a=1;a<=25;a+=8)o<<=1,o|=t>>>a+s&1;for(a=1;a<=25;a+=8)o<<=1,o|=e>>>a+s&1}n[r+0]=i>>>0,n[r+1]=o>>>0},t.rip=function(e,t,n,r){for(var i=0,o=0,s=0;s<4;s++)for(var a=24;a>=0;a-=8)i<<=1,i|=t>>>a+s&1,i<<=1,i|=e>>>a+s&1;for(s=4;s<8;s++)for(a=24;a>=0;a-=8)o<<=1,o|=t>>>a+s&1,o<<=1,o|=e>>>a+s&1;n[r+0]=i>>>0,n[r+1]=o>>>0},t.pc1=function(e,t,n,r){for(var i=0,o=0,s=7;s>=5;s--){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>a+s&1}for(a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(s=1;s<=3;s++){for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1;for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1}for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1;n[r+0]=i>>>0,n[r+1]=o>>>0},t.r28shl=function(e,t){return e<>>28-t};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function(e,t,n,i){for(var o=0,s=0,a=r.length>>>1,c=0;c>>r[c]&1;for(c=a;c>>r[c]&1;n[i+0]=o>>>0,n[i+1]=s>>>0},t.expand=function(e,t,n){var r=0,i=0;r=(1&e)<<5|e>>>27;for(var o=23;o>=15;o-=4)r<<=6,r|=e>>>o&63;for(o=11;o>=3;o-=4)i|=e>>>o&63,i<<=6;i|=(31&e)<<1|e>>>31,t[n+0]=r>>>0,t[n+1]=i>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function(e,t){for(var n=0,r=0;r<4;r++){n<<=4,n|=i[64*r+(e>>>18-6*r&63)]}for(r=0;r<4;r++){n<<=4,n|=i[256+64*r+(t>>>18-6*r&63)]}return n>>>0};var o=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function(e){for(var t=0,n=0;n>>o[n]&1;return t>>>0},t.padSplit=function(e,t,n){for(var r=e.toString(2);r.length>>1];n=o.r28shl(n,a),i=o.r28shl(i,a),o.pc2(n,i,e.keys,s)}},c.prototype._update=function(e,t,n,r){var i=this._desState,s=o.readUInt32BE(e,t),a=o.readUInt32BE(e,t+4);o.ip(s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],"encrypt"===this.type?this._encrypt(i,s,a,i.tmp,0):this._decrypt(i,s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],o.writeUInt32BE(n,s,r),o.writeUInt32BE(n,a,r+4)},c.prototype._pad=function(e,t){for(var n=e.length-t,r=t;r>>0,s=d}o.rip(a,s,r,i)},c.prototype._decrypt=function(e,t,n,r,i){for(var s=n,a=t,c=e.keys.length-2;c>=0;c-=2){var f=e.keys[c],u=e.keys[c+1];o.expand(s,e.tmp,0),f^=e.tmp[0],u^=e.tmp[1];var l=o.substitute(f,u),d=s;s=(a^o.permute(l))>>>0,a=d}o.rip(s,a,r,i)}},function(e,t,n){var r=n(32),i=n(3).Buffer,o=n(107);function s(e){var t=e._cipher.encryptBlockRaw(e._prev);return o(e._prev),t}t.encrypt=function(e,t){var n=Math.ceil(t.length/16),o=e._cache.length;e._cache=i.concat([e._cache,i.allocUnsafe(16*n)]);for(var a=0;ae;)n.ishrn(1);if(n.isEven()&&n.iadd(a),n.testn(1)||n.iadd(c),t.cmp(c)){if(!t.cmp(f))for(;n.mod(u).cmp(l);)n.iadd(h)}else for(;n.mod(o).cmp(d);)n.iadd(h);if(g(p=n.shrn(1))&&g(n)&&y(p)&&y(n)&&s.test(p)&&s.test(n))return n}}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){var r=n(11),i=n(68);function o(e){this.rand=e||new i.Rand}e.exports=o,o.create=function(e){return new o(e)},o.prototype._randbelow=function(e){var t=e.bitLength(),n=Math.ceil(t/8);do{var i=new r(this.rand.generate(n))}while(i.cmp(e)>=0);return i},o.prototype._randrange=function(e,t){var n=t.sub(e);return e.add(this._randbelow(n))},o.prototype.test=function(e,t,n){var i=e.bitLength(),o=r.mont(e),s=new r(1).toRed(o);t||(t=Math.max(1,i/48|0));for(var a=e.subn(1),c=0;!a.testn(c);c++);for(var f=e.shrn(c),u=a.toRed(o);t>0;t--){var l=this._randrange(new r(2),a);n&&n(l);var d=l.toRed(o).redPow(f);if(0!==d.cmp(s)&&0!==d.cmp(u)){for(var h=1;h0;t--){var u=this._randrange(new r(2),s),l=e.gcd(u);if(0!==l.cmpn(1))return l;var d=u.toRed(i).redPow(c);if(0!==d.cmp(o)&&0!==d.cmp(f)){for(var h=1;h>8,s=255&i;o?n.push(o,s):n.push(s)}return n},r.zero2=i,r.toHex=o,r.encode=function(e,t){return"hex"===t?o(e):e}},function(e,t,n){"use strict";var r=t;r.base=n(46),r.short=n(228),r.mont=n(229),r.edwards=n(230)},function(e,t,n){"use strict";var r=n(17).rotr32;function i(e,t,n){return e&t^~e&n}function o(e,t,n){return e&t^e&n^t&n}function s(e,t,n){return e^t^n}t.ft_1=function(e,t,n,r){return 0===e?i(t,n,r):1===e||3===e?s(t,n,r):2===e?o(t,n,r):void 0},t.ch32=i,t.maj32=o,t.p32=s,t.s0_256=function(e){return r(e,2)^r(e,13)^r(e,22)},t.s1_256=function(e){return r(e,6)^r(e,11)^r(e,25)},t.g0_256=function(e){return r(e,7)^r(e,18)^e>>>3},t.g1_256=function(e){return r(e,17)^r(e,19)^e>>>10}},function(e,t,n){"use strict";var r=n(17),i=n(33),o=n(116),s=n(14),a=r.sum32,c=r.sum32_4,f=r.sum32_5,u=o.ch32,l=o.maj32,d=o.s0_256,h=o.s1_256,p=o.g0_256,m=o.g1_256,g=i.BlockHash,y=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function b(){if(!(this instanceof b))return new b;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=y,this.W=new Array(64)}r.inherits(b,g),e.exports=b,b.blockSize=512,b.outSize=256,b.hmacStrength=192,b.padLength=64,b.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r>6],i=0==(32&n);if(31==(31&n)){var o=n;for(n=0;128==(128&o);){if(o=e.readUInt8(t),e.isError(o))return o;n<<=7,n|=127&o}}else n&=31;return{cls:r,primitive:i,tag:n,tagStr:a.tag[n]}}function l(e,t,n){var r=e.readUInt8(n);if(e.isError(r))return r;if(!t&&128===r)return null;if(0==(128&r))return r;var i=127&r;if(i>4)return e.error("length octect is too long");r=0;for(var o=0;o=31)return r.error("Multi-octet tag encoding unsupported");t||(i|=32);return i|=a.tagClassByName[n||"universal"]<<6}(e,t,n,this.reporter);if(r.length<128)return(o=new i(2))[0]=s,o[1]=r.length,this._createEncoderBuffer([o,r]);for(var c=1,f=r.length;f>=256;f>>=8)c++;(o=new i(2+c))[0]=s,o[1]=128|c;f=1+c;for(var u=r.length;u>0;f--,u>>=8)o[f]=255&u;return this._createEncoderBuffer([o,r])},f.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){for(var n=new i(2*e.length),r=0;r=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}var o=0;for(r=0;r=128;s>>=7)o++}var a=new i(o),c=a.length-1;for(r=e.length-1;r>=0;r--){s=e[r];for(a[c--]=127&s;(s>>=7)>0;)a[c--]=128|127&s}return this._createEncoderBuffer(a)},f.prototype._encodeTime=function(e,t){var n,r=new Date(e);return"gentime"===t?n=[u(r.getFullYear()),u(r.getUTCMonth()+1),u(r.getUTCDate()),u(r.getUTCHours()),u(r.getUTCMinutes()),u(r.getUTCSeconds()),"Z"].join(""):"utctime"===t?n=[u(r.getFullYear()%100),u(r.getUTCMonth()+1),u(r.getUTCDate()),u(r.getUTCHours()),u(r.getUTCMinutes()),u(r.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(n,"octstr")},f.prototype._encodeNull=function(){return this._createEncoderBuffer("")},f.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!i.isBuffer(e)){var n=e.toArray();!e.sign&&128&n[0]&&n.unshift(0),e=new i(n)}if(i.isBuffer(e)){var r=e.length;0===e.length&&r++;var o=new i(r);return e.copy(o),0===e.length&&(o[0]=0),this._createEncoderBuffer(o)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);r=1;for(var s=e;s>=256;s>>=8)r++;for(s=(o=new Array(r)).length-1;s>=0;s--)o[s]=255&e,e>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(new i(o))},f.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},f.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},f.prototype._skipDefault=function(e,t,n){var r,i=this._baseState;if(null===i.default)return!1;var o=e.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,t,n).join()),o.length!==i.defaultBuffer.length)return!1;for(r=0;r(0,o.default)(n(135)));let P;t.ContentHelpers=C;let M=()=>new s.MemoryCryptoStore}).call(this,n(5))},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.MemoryStore=s;var i=n(48),o=r(n(8));function s(e){e=e||{},this.rooms={},this.groups={},this.users={},this.syncToken=null,this.filters={},this.accountData={},this.localStorage=e.localStorage,this._oobMembers={},this._clientOptions={}}s.prototype={getSyncToken:function(){return this.syncToken},isNewlyCreated:function(){return Promise.resolve(!0)},setSyncToken:function(e){this.syncToken=e},storeGroup:function(e){this.groups[e.groupId]=e},getGroup:function(e){return this.groups[e]||null},getGroups:function(){return o.values(this.groups)},storeRoom:function(e){this.rooms[e.roomId]=e,e.currentState.on("RoomState.members",this._onRoomMember.bind(this));const t=this;e.currentState.getMembers().forEach((function(n){t._onRoomMember(null,e.currentState,n)}))},_onRoomMember:function(e,t,n){if("invite"===n.membership)return;const r=this.users[n.userId]||new i.User(n.userId);n.name&&(r.setDisplayName(n.name),n.events.member&&r.setRawDisplayName(n.events.member.getDirectionalContent().displayname)),n.events.member&&n.events.member.getContent().avatar_url&&r.setAvatarUrl(n.events.member.getContent().avatar_url),this.users[r.userId]=r},getRoom:function(e){return this.rooms[e]||null},getRooms:function(){return o.values(this.rooms)},removeRoom:function(e){this.rooms[e]&&this.rooms[e].removeListener("RoomState.members",this._onRoomMember),delete this.rooms[e]},getRoomSummaries:function(){return o.map(o.values(this.rooms),(function(e){return e.summary}))},storeUser:function(e){this.users[e.userId]=e},getUser:function(e){return this.users[e]||null},getUsers:function(){return o.values(this.users)},scrollback:function(e,t){return[]},storeEvents:function(e,t,n,r){},storeFilter:function(e){e&&(this.filters[e.userId]||(this.filters[e.userId]={}),this.filters[e.userId][e.filterId]=e)},getFilter:function(e,t){return this.filters[e]&&this.filters[e][t]?this.filters[e][t]:null},getFilterIdByName:function(e){if(!this.localStorage)return null;try{return this.localStorage.getItem("mxjssdk_memory_filter_"+e)}catch(e){}return null},setFilterIdByName:function(e,t){if(this.localStorage)try{this.localStorage.setItem("mxjssdk_memory_filter_"+e,t)}catch(e){}},storeAccountDataEvents:function(e){const t=this;e.forEach((function(e){t.accountData[e.getType()]=e}))},getAccountData:function(e){return this.accountData[e]},setSyncData:function(e){return Promise.resolve()},wantsSave:function(){return!1},save:function(e){},startup:function(){return Promise.resolve()},getSavedSync:function(){return Promise.resolve(null)},getSavedSyncToken:function(){return Promise.resolve(null)},deleteAllData:function(){return this.rooms={},this.users={},this.syncToken=null,this.filters={},this.accountData={},Promise.resolve()},getOutOfBandMembers:function(e){return Promise.resolve(this._oobMembers[e]||null)},setOutOfBandMembers:function(e,t){return this._oobMembers[e]=t,Promise.resolve()},clearOutOfBandMembers:function(){return this._oobMembers={},Promise.resolve()},getClientOptions:function(){return Promise.resolve(this._clientOptions)},storeClientOptions:function(e){return this._clientOptions=Object.assign({},e),Promise.resolve()}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SERVICE_TYPES=void 0;const r=Object.freeze({IS:"SERVICE_TYPE_IS",IM:"SERVICE_TYPE_IM"});t.SERVICE_TYPES=r},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.Room=g;var i=n(9),o=n(131),s=n(25),a=n(50),c=r(n(8)),f=n(19),u=n(77),l=n(280),d=n(4),h=n(78);const p=["1","2","3","4","5"];function m(e,t,n){const r={content:{},type:"m.receipt",room_id:t.getRoomId()};return r.content[t.getId()]={},r.content[t.getId()][n]={},r.content[t.getId()][n][e]={ts:t.getTs()},new f.MatrixEvent(r)}function g(e,t,n,r){if((r=r||{}).pendingEventOrdering=r.pendingEventOrdering||"chronological",this.reEmitter=new h.ReEmitter(this),-1===["chronological","detached"].indexOf(r.pendingEventOrdering))throw new Error("opts.pendingEventOrdering MUST be either 'chronological' or 'detached'. Got: '"+r.pendingEventOrdering+"'");this.myUserId=n,this.roomId=e,this.name=e,this.tags={},this.accountData={},this.summary=null,this.storageToken=r.storageToken,this._opts=r,this._txnToEvent={},this._receipts={},this._receiptCacheByEventId={},this._realReceipts={},this._notificationCounts={},this._timelineSets=[new o.EventTimelineSet(this,r)],this.reEmitter.reEmit(this.getUnfilteredTimelineSet(),["Room.timeline","Room.timelineReset"]),this._fixUpLegacyTimelineFields(),this._filteredTimelineSets={},"detached"==this._opts.pendingEventOrdering&&(this._pendingEventList=[]),this._blacklistUnverifiedDevices=null,this._selfMembership=null,this._summaryHeroes=null,this._client=t,this._opts.lazyLoadMembers?this._membersPromise=null:this._membersPromise=Promise.resolve()}c.inherits(g,i.EventEmitter),g.prototype.getVersion=function(){const e=this.currentState.getStateEvents("m.room.create","");if(!e)return d.logger.warn("Room "+this.room_id+" does not have an m.room.create event"),"1";const t=e.getContent().room_version;return void 0===t?"1":t},g.prototype.shouldUpgradeToVersion=function(){return p.includes(this.getVersion())?null:"5"},g.prototype.getRecommendedVersion=async function(){let e=(await this._client.getCapabilities())["m.room_versions"];if(!e){e={default:"5",available:{}};for(const t of p)e.available[t]="stable"}let t=this._checkVersionAgainstCapability(e);if(t.urgent&&t.needsUpgrade){if(d.logger.warn("Refreshing room version capability because the server looks to be supporting a newer room version we don't know about."),e=(await this._client.getCapabilities(!0))["m.room_versions"],!e)return d.logger.warn("No room version capability - assuming upgrade required."),t;t=this._checkVersionAgainstCapability(e)}return t},g.prototype._checkVersionAgainstCapability=function(e){const t=this.getVersion();d.logger.log(`[${this.roomId}] Current version: ${t}`),d.logger.log(`[${this.roomId}] Version capability: `,e);const n={version:t,needsUpgrade:!1,urgent:!1};return t===e.default?n:Object.keys(e.available).filter(t=>"stable"===e.available[t]).includes(t)?n:(n.version=e.default,n.needsUpgrade=!0,n.urgent=!!this.getVersion().match(/^[0-9]+[0-9.]*$/g),n.urgent?d.logger.warn(`URGENT upgrade required on ${this.roomId}`):d.logger.warn(`Non-urgent upgrade required on ${this.roomId}`),n)},g.prototype.userMayUpgradeRoom=function(e){return this.currentState.maySendStateEvent("m.room.tombstone",e)},g.prototype.getPendingEvents=function(){if("detached"!==this._opts.pendingEventOrdering)throw new Error("Cannot call getPendingEvents with pendingEventOrdering == "+this._opts.pendingEventOrdering);return this._pendingEventList},g.prototype.hasPendingEvent=function(e){if("detached"!==this._opts.pendingEventOrdering)throw new Error("Cannot call hasPendingEvent with pendingEventOrdering == "+this._opts.pendingEventOrdering);return this._pendingEventList.some(t=>t.getId()===e)},g.prototype.getLiveTimeline=function(){return this.getUnfilteredTimelineSet().getLiveTimeline()},g.prototype.getLastActiveTimestamp=function(){const e=this.getLiveTimeline().getEvents();if(e.length){return e[e.length-1].getTs()}return Number.MIN_SAFE_INTEGER},g.prototype.getMyMembership=function(){return this._selfMembership},g.prototype.getDMInviter=function(){if(this.myUserId){const e=this.getMember(this.myUserId);if(e)return e.getDMInviter()}if("invite"===this._selfMembership){if(2==this.getInvitedAndJoinedMemberCount()&&this._summaryHeroes.length)return this._summaryHeroes[0]}},g.prototype.guessDMUserId=function(){const e=this.getMember(this.myUserId);if(e){const t=e.getDMInviter();if(t)return t}if(Array.isArray(this._summaryHeroes)&&this._summaryHeroes.length)return this._summaryHeroes[0];const t=this.currentState.getMembers().find(e=>e.userId!==this.myUserId);return t?t.userId:this.myUserId},g.prototype.getAvatarFallbackMember=function(){if(this.getInvitedAndJoinedMemberCount()>2)return;const e=Array.isArray(this._summaryHeroes)&&this._summaryHeroes.length;if(e){const e=this._summaryHeroes.map(e=>this.getMember(e)).find(e=>!!e);if(e)return e}const t=this.currentState.getMembers();if(t.length<=2){const e=t.find(e=>e.userId!==this.myUserId);if(e)return e}if(e){const e=this._summaryHeroes.map(e=>this._client.getUser(e)).find(e=>!!e);if(e){const t=new u.RoomMember(this.roomId,e.userId);return t.user=e,t}}},g.prototype.updateMyMembership=function(e){const t=this._selfMembership;this._selfMembership=e,t!==e&&("leave"===e&&this._cleanupAfterLeaving(),this.emit("Room.myMembership",this,e,t))},g.prototype._loadMembersFromServer=async function(){const e=this._client.store.getSyncToken(),t=c.encodeParams({not_membership:"leave",at:e}),n=c.encodeUri("/rooms/$roomId/members?"+t,{$roomId:this.roomId}),r=this._client._http;return(await r.authedRequest(void 0,"GET",n)).chunk},g.prototype._loadMembers=async function(){let e=!1,t=await this._client.store.getOutOfBandMembers(this.roomId);return null===t&&(e=!0,t=await this._loadMembersFromServer(),d.logger.log(`LL: got ${t.length} `+`members from server for room ${this.roomId}`)),{memberEvents:t.map(this._client.getEventMapper()),fromServer:e}},g.prototype.loadMembersIfNeeded=function(){if(this._membersPromise)return this._membersPromise;this.currentState.markOutOfBandMembersStarted();const e=this._loadMembers().then(e=>(this.currentState.setOutOfBandMembers(e.memberEvents),this._client.isCryptoEnabled()&&this._client.isRoomEncrypted(this.roomId)&&this._client._crypto.trackRoomDevices(this.roomId),e.fromServer)).catch(e=>{throw this._membersPromise=null,this.currentState.markOutOfBandMembersFailed(),e});return e.then(e=>{if(e){const e=this.currentState.getMembers().filter(e=>e.isOutOfBand()).map(e=>e.events.member.event);return d.logger.log(`LL: telling store to write ${e.length}`+` members for room ${this.roomId}`),this._client.store.setOutOfBandMembers(this.roomId,e).catch(e=>{d.logger.log("LL: storing OOB room members failed, oh well",e)})}}).catch(e=>{d.logger.error(e)}),this._membersPromise=e,this._membersPromise},g.prototype.clearLoadedMembersIfNeeded=async function(){this._opts.lazyLoadMembers&&this._membersPromise&&(await this.loadMembersIfNeeded(),await this._client.store.clearOutOfBandMembers(this.roomId),this.currentState.clearOutOfBandMembers(),this._membersPromise=null)},g.prototype._cleanupAfterLeaving=function(){this.clearLoadedMembersIfNeeded().catch(e=>{d.logger.error("error after clearing loaded members from "+`room ${this.roomId} after leaving`),d.logger.log(e)})},g.prototype.resetLiveTimeline=function(e,t){for(let n=0;ne.isUnverified()))return!0}return!1},g.prototype.getTimelineSets=function(){return this._timelineSets},g.prototype.getUnfilteredTimelineSet=function(){return this._timelineSets[0]},g.prototype.getTimelineForEvent=function(e){return this.getUnfilteredTimelineSet().getTimelineForEvent(e)},g.prototype.addTimeline=function(){return this.getUnfilteredTimelineSet().addTimeline()},g.prototype.findEventById=function(e){return this.getUnfilteredTimelineSet().findEventById(e)},g.prototype.getUnreadNotificationCount=function(e){return e=e||"total",this._notificationCounts[e]},g.prototype.setUnreadNotificationCount=function(e,t){this._notificationCounts[e]=t},g.prototype.setSummary=function(e){const t=e["m.heroes"],n=e["m.joined_member_count"],r=e["m.invited_member_count"];Number.isInteger(n)&&this.currentState.setJoinedMemberCount(n),Number.isInteger(r)&&this.currentState.setInvitedMemberCount(r),Array.isArray(t)&&(this._summaryHeroes=t.filter(e=>e!==this.myUserId))},g.prototype.setBlacklistUnverifiedDevices=function(e){this._blacklistUnverifiedDevices=e},g.prototype.getBlacklistUnverifiedDevices=function(){return this._blacklistUnverifiedDevices},g.prototype.getAvatarUrl=function(e,t,n,r,i){const o=this.currentState.getStateEvents("m.room.avatar","");if(void 0===i&&(i=!0),!o&&!i)return null;const s=o?o.getContent().url:null;return s?(0,a.getHttpUriForMxc)(e,s,t,n,r):i?(0,a.getIdenticonUri)(e,this.roomId,t,n):null},g.prototype.getAliases=function(){const e=[],t=this.currentState.getStateEvents("m.room.aliases");if(t)for(let n=0;n"string"==typeof e&&("#"===e[0]&&!!e.endsWith(`:${r.getStateKey()}`)));Array.prototype.push.apply(e,t)}}return e},g.prototype.getCanonicalAlias=function(){const e=this.currentState.getStateEvents("m.room.canonical_alias","");return e?e.getContent().alias:null},g.prototype.addEventsToTimeline=function(e,t,n,r){n.getTimelineSet().addEventsToTimeline(e,t,n,r)},g.prototype.getMember=function(e){return this.currentState.getMember(e)},g.prototype.getJoinedMembers=function(){return this.getMembersWithMembership("join")},g.prototype.getJoinedMemberCount=function(){return this.currentState.getJoinedMemberCount()},g.prototype.getInvitedMemberCount=function(){return this.currentState.getInvitedMemberCount()},g.prototype.getInvitedAndJoinedMemberCount=function(){return this.getInvitedMemberCount()+this.getJoinedMemberCount()},g.prototype.getMembersWithMembership=function(e){return c.filter(this.currentState.getMembers(),(function(t){return t.membership===e}))},g.prototype.getEncryptionTargetMembers=async function(){await this.loadMembersIfNeeded();let e=this.getMembersWithMembership("join");return this.shouldEncryptForInvitedMembers()&&(e=e.concat(this.getMembersWithMembership("invite"))),e},g.prototype.shouldEncryptForInvitedMembers=function(){const e=this.currentState.getStateEvents("m.room.history_visibility","");return e&&e.getContent()&&"joined"!==e.getContent().history_visibility},g.prototype.getDefaultRoomName=function(e){return b(this,e,!0)},g.prototype.hasMembershipState=function(e,t){const n=this.getMember(e);return!!n&&n.membership===t},g.prototype.getOrCreateFilteredTimelineSet=function(e){if(this._filteredTimelineSets[e.filterId])return this._filteredTimelineSets[e.filterId];const t=Object.assign({filter:e},this._opts),n=new o.EventTimelineSet(this,t);this.reEmitter.reEmit(n,["Room.timeline","Room.timelineReset"]),this._filteredTimelineSets[e.filterId]=n,this._timelineSets.push(n);const r=this.getLiveTimeline();r.getEvents().forEach((function(e){n.addLiveEvent(e)}));let i=r;for(;i.getNeighbouringTimeline(s.EventTimeline.BACKWARDS);)i=i.getNeighbouringTimeline(s.EventTimeline.BACKWARDS);return n.getLiveTimeline().setPaginationToken(i.getPaginationToken(s.EventTimeline.BACKWARDS),s.EventTimeline.BACKWARDS),n},g.prototype.removeFilteredTimelineSet=function(e){const t=this._filteredTimelineSets[e.filterId];delete this._filteredTimelineSets[e.filterId];const n=this._timelineSets.indexOf(t);n>-1&&this._timelineSets.splice(n,1)},g.prototype._addLiveEvent=function(e,t){if(e.isRedaction()){const t=e.event.redacts,n=this.getUnfilteredTimelineSet().findEventById(t);if(n){if(n.makeRedacted(e),n.getStateKey()){this.currentState.getStateEvents(n.getType(),n.getStateKey()).getId()===n.getId()&&this.currentState.setStateEvents([n])}this.emit("Room.redaction",e,this)}}if(e.getUnsigned().transaction_id){const t=this._txnToEvent[e.getUnsigned().transaction_id];if(t)return void this._handleRemoteEcho(e,t)}for(let n=0;ne.status===f.EventStatus.NOT_SENT)&&(d.logger.warn("Setting event as NOT_SENT due to messages in the same state"),e.setStatus(f.EventStatus.NOT_SENT)),this._pendingEventList.push(e),e.isRelation()&&this._aggregateNonLiveRelation(e),e.isRedaction()){const t=e.event.redacts;let n=this._pendingEventList&&this._pendingEventList.find(e=>e.getId()===t);n||(n=this.getUnfilteredTimelineSet().findEventById(t)),n&&(n.markLocallyRedacted(e),this.emit("Room.redaction",e,this))}}else for(let t=0;t{const n=e.getMember(t);return n?n.name:t});else{let n=e.currentState.getMembers().filter(e=>e.userId!==t&&("invite"===e.membership||"join"===e.membership));n.sort((e,t)=>e.userId.localeCompare(t.userId)),n=n.slice(0,5),o=n.map(e=>e.name)}if(i)return _(o,i);if("join"==e.getMyMembership()){const t=e.currentState.getStateEvents("m.room.third_party_invite");if(t&&t.length){return`Inviting ${_(t.map(e=>e.getContent().display_name))}`}}let s=o;return s.length||(s=e.currentState.getMembers().filter(e=>e.userId!==t&&"invite"!==e.membership&&"join"!==e.membership).map(e=>e.name)),s.length?`Empty room (was ${_(s)})`:"Empty room"}function _(e,t=e.length+1){const n=t-1;if(e.length){if(1===e.length&&n<=1)return e[0];if(2===e.length&&n<=2)return`${e[0]} and ${e[1]}`;return n>1?`${e[0]} and ${n} others`:`${e[0]} and 1 other`}return"Empty room"}y[f.EventStatus.ENCRYPTING]=[f.EventStatus.SENDING,f.EventStatus.NOT_SENT],y[f.EventStatus.SENDING]=[f.EventStatus.ENCRYPTING,f.EventStatus.QUEUED,f.EventStatus.NOT_SENT,f.EventStatus.SENT],y[f.EventStatus.QUEUED]=[f.EventStatus.SENDING,f.EventStatus.CANCELLED],y[f.EventStatus.SENT]=[],y[f.EventStatus.NOT_SENT]=[f.EventStatus.SENDING,f.EventStatus.QUEUED,f.EventStatus.CANCELLED],y[f.EventStatus.CANCELLED]=[],g.prototype.updatePendingEvent=function(e,t,n){if(d.logger.log(`setting pendingEvent status to ${t} in ${e.getRoomId()}`),t==f.EventStatus.SENT&&!n)throw new Error("updatePendingEvent called with status=SENT, but no new event id");if(t==f.EventStatus.SENT){if(this.getUnfilteredTimelineSet().eventIdToTimeline(n))return}const r=e.status,i=e.getId();if(!r)throw new Error("updatePendingEventStatus called on an event which is not a local echo.");const o=y[r];if(!o||o.indexOf(t)<0)throw new Error("Invalid EventStatus transition "+r+"->"+t);if(e.setStatus(t),t==f.EventStatus.SENT){e.replaceLocalEventId(n);for(let e=0;ee.getId()===i);if(-1!==e){const[t]=this._pendingEventList.splice(e,1);t.isRedaction()&&this._revertRedactionLocalEcho(t)}}this.removeEvent(i)}this.emit("Room.localEchoUpdated",e,this,i,r)},g.prototype._revertRedactionLocalEcho=function(e){const t=e.event.redacts;if(!t)return;const n=this.getUnfilteredTimelineSet().findEventById(t);n&&(n.unmarkLocallyRedacted(),this.emit("Room.redactionCancelled",e,this),n.isRelation()&&this._aggregateNonLiveRelation(n))},g.prototype.addLiveEvents=function(e,t){let n;if(t&&-1===["replace","ignore"].indexOf(t))throw new Error("duplicateStrategy MUST be either 'replace' or 'ignore'");for(n=0;n=0;--e){const r=this.timeline[e];if(r.getId()===t)return!1;if(r.getId()===n)return!0}return!1},g.prototype.getReceiptsForEvent=function(e){return this._receiptCacheByEventId[e.getId()]||[]},g.prototype.addReceipt=function(e,t){void 0===t&&(t=!1),t||this._addReceiptsToStructure(e,this._realReceipts),this._addReceiptsToStructure(e,this._receipts),this._receiptCacheByEventId=this._buildReceiptCache(this._receipts),this.emit("Room.receipt",e,this)},g.prototype._addReceiptsToStructure=function(e,t){const n=this;c.keys(e.getContent()).forEach((function(r){c.keys(e.getContent()[r]).forEach((function(i){c.keys(e.getContent()[r][i]).forEach((function(o){const s=e.getContent()[r][i][o];t[i]||(t[i]={});const a=t[i][o];if(a){const e=n.getUnfilteredTimelineSet().compareEventOrdering(a.eventId,r);if(null!==e&&e>=0)return}else t[i][o]={};t[i][o]={eventId:r,data:s}}))}))}))},g.prototype._buildReceiptCache=function(e){const t={};return c.keys(e).forEach((function(n){c.keys(e[n]).forEach((function(r){const i=e[n][r];t[i.eventId]||(t[i.eventId]=[]),t[i.eventId].push({userId:r,type:n,data:i.data})}))})),t},g.prototype._addLocalEchoReceipt=function(e,t,n){this.addReceipt(m(e,t,n),!0)},g.prototype.addTags=function(e){this.tags=e.getContent().tags||{},this.emit("Room.tags",e,this)},g.prototype.addAccountData=function(e){for(let t=0;t{this.aggregateRelations(e)});const t=e.getRelation();if(!t)return;const n=t.event_id,r=t.rel_type,i=e.getType();let o=this._relations[n];o||(o=this._relations[n]={});let a=o[r];a||(a=o[r]={});let c,u=a[i],l=!1;u||(u=a[i]=new f.Relations(r,i,this.room),l=!0,c=this.findEventById(n),c&&u.setTargetEvent(c)),u.addEvent(e),l&&c&&c.emit("Event.relationsCreated",r,i)}},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.RoomState=c;var i=n(9),o=n(77),s=n(4),a=r(n(8));function c(e,t){this.roomId=e,this.members={},this.events={},this.paginationToken=null,this._sentinels={},this._updateModifiedTime(),this._displayNameToUserIds={},this._userIdsToDisplayNames={},this._tokenToInvite={},this._joinedMemberCount=null,this._summaryJoinedMemberCount=null,this._invitedMemberCount=null,this._summaryInvitedMemberCount=null,t||(t={status:1}),this._oobMemberFlags=t}function f(e,t,n){const r=e._userIdsToDisplayNames[t];if(delete e._userIdsToDisplayNames[t],r){const n=a.removeHiddenChars(r),i=e._displayNameToUserIds[n];if(i){const r=i.filter(e=>e!==t);e._displayNameToUserIds[n]=r}}e._userIdsToDisplayNames[t]=n;const i=n&&a.removeHiddenChars(n);i&&(e._displayNameToUserIds[i]||(e._displayNameToUserIds[i]=[]),e._displayNameToUserIds[i].push(t))}a.inherits(c,i.EventEmitter),c.prototype.getJoinedMemberCount=function(){return null!==this._summaryJoinedMemberCount?this._summaryJoinedMemberCount:(null===this._joinedMemberCount&&(this._joinedMemberCount=this.getMembers().reduce((e,t)=>"join"===t.membership?e+1:e,0)),this._joinedMemberCount)},c.prototype.setJoinedMemberCount=function(e){this._summaryJoinedMemberCount=e},c.prototype.getInvitedMemberCount=function(){return null!==this._summaryInvitedMemberCount?this._summaryInvitedMemberCount:(null===this._invitedMemberCount&&(this._invitedMemberCount=this.getMembers().reduce((e,t)=>"invite"===t.membership?e+1:e,0)),this._invitedMemberCount)},c.prototype.setInvitedMemberCount=function(e){this._summaryInvitedMemberCount=e},c.prototype.getMembers=function(){return a.values(this.members)},c.prototype.getMembersExcept=function(e){return a.values(this.members).filter(t=>!e.includes(t.userId))},c.prototype.getMember=function(e){return this.members[e]||null},c.prototype.getSentinelMember=function(e){if(!e)return null;let t=this._sentinels[e];if(void 0===t){t=new o.RoomMember(this.roomId,e);const n=this.members[e];n&&t.setMembershipEvent(n.events.member,this),this._sentinels[e]=t}return t},c.prototype.getStateEvents=function(e,t){if(!this.events[e])return void 0===t?[]:null;if(void 0===t)return a.values(this.events[e]);const n=this.events[e][t];return n||null},c.prototype.clone=function(){const e=new c(this.roomId,this._oobMemberFlags),t=this._oobMemberFlags.status;return this._oobMemberFlags.status=1,Object.values(this.events).forEach(t=>{const n=Object.values(t);e.setStateEvents(n)}),this._oobMemberFlags.status=t,null!==this._summaryInvitedMemberCount&&e.setInvitedMemberCount(this.getInvitedMemberCount()),null!==this._summaryJoinedMemberCount&&e.setJoinedMemberCount(this.getJoinedMemberCount()),3==this._oobMemberFlags.status&&this.getMembers().forEach(t=>{if(t.isOutOfBand()){e.getMember(t.userId).markOutOfBand()}}),e},c.prototype.setUnknownStateEvents=function(e){const t=e.filter(e=>void 0===this.events[e.getType()]||void 0===this.events[e.getType()][e.getStateKey()]);this.setStateEvents(t)},c.prototype.setStateEvents=function(e){const t=this;this._updateModifiedTime(),a.forEach(e,(function(e){e.getRoomId()===t.roomId&&e.isState()&&(t._setStateEvent(e),"m.room.member"===e.getType()&&(f(t,e.getStateKey(),e.getContent().displayname),function(e,t){if(!t.getContent().third_party_invite)return;const n=(t.getContent().third_party_invite.signed||{}).token;if(!n)return;if(!e.getStateEvents("m.room.third_party_invite",n))return;e._tokenToInvite[n]=t}(t,e)),t.emit("RoomState.events",e,t))})),a.forEach(e,(function(e){if(e.getRoomId()===t.roomId&&e.isState())if("m.room.member"===e.getType()){const n=e.getStateKey();"leave"!==e.getContent().membership&&"ban"!==e.getContent().membership||(e.getContent().avatar_url=e.getContent().avatar_url||e.getPrevContent().avatar_url,e.getContent().displayname=e.getContent().displayname||e.getPrevContent().displayname);const r=t._getOrCreateMember(n,e);r.setMembershipEvent(e,t),t._updateMember(r),t.emit("RoomState.members",e,t,r)}else if("m.room.power_levels"===e.getType()){const n=a.values(t.members);a.forEach(n,(function(n){n.setPowerLevelEvent(e),t.emit("RoomState.members",e,t,n)})),t._sentinels={}}}))},c.prototype._getOrCreateMember=function(e,t){let n=this.members[e];return n||(n=new o.RoomMember(this.roomId,e),this.members[e]=n,this.emit("RoomState.newMember",t,this,n)),n},c.prototype._setStateEvent=function(e){void 0===this.events[e.getType()]&&(this.events[e.getType()]={}),this.events[e.getType()][e.getStateKey()]=e},c.prototype._updateMember=function(e){const t=this.getStateEvents("m.room.power_levels","");t&&e.setPowerLevelEvent(t),delete this._sentinels[e.userId],this.members[e.userId]=e,this._joinedMemberCount=null,this._invitedMemberCount=null},c.prototype.needsOutOfBandMembers=function(){return 1===this._oobMemberFlags.status},c.prototype.markOutOfBandMembersStarted=function(){1===this._oobMemberFlags.status&&(this._oobMemberFlags.status=2)},c.prototype.markOutOfBandMembersFailed=function(){2===this._oobMemberFlags.status&&(this._oobMemberFlags.status=1)},c.prototype.clearOutOfBandMembers=function(){let e=0;Object.keys(this.members).forEach(t=>{this.members[t].isOutOfBand()&&(++e,delete this.members[t])}),s.logger.log(`LL: RoomState removed ${e} members...`),this._oobMemberFlags.status=1},c.prototype.setOutOfBandMembers=function(e){s.logger.log(`LL: RoomState about to set ${e.length} OOB members ...`),2===this._oobMemberFlags.status&&(s.logger.log("LL: RoomState put in OOB_STATUS_FINISHED state ..."),this._oobMemberFlags.status=3,e.forEach(e=>this._setOutOfBandMember(e)))},c.prototype._setOutOfBandMember=function(e){if("m.room.member"!==e.getType())return;const t=e.getStateKey(),n=this.getMember(t);if(n&&!n.isOutOfBand())return;const r=this._getOrCreateMember(t,e);r.setMembershipEvent(e,this),r.markOutOfBand(),f(this,r.userId,r.name),this._setStateEvent(e),this._updateMember(r),this.emit("RoomState.members",e,this,r)},c.prototype.setTypingEvent=function(e){a.forEach(a.values(this.members),(function(t){t.setTypingEvent(e)}))},c.prototype.getInviteForThreePidToken=function(e){return this._tokenToInvite[e]||null},c.prototype._updateModifiedTime=function(){this._modified=Date.now()},c.prototype.getLastModifiedTime=function(){return this._modified},c.prototype.getUserIdsWithDisplayName=function(e){return this._displayNameToUserIds[a.removeHiddenChars(e)]||[]},c.prototype.maySendRedactionForEvent=function(e,t){const n=this.getMember(t);if(!n||"leave"===n.membership)return!1;if(e.status||e.isRedacted())return!1;const r=this.maySendEvent("m.room.redaction",t);return e.getSender()===t?r:this._hasSufficientPowerLevelFor("redact",n.powerLevel)},c.prototype._hasSufficientPowerLevelFor=function(e,t){const n=this.getStateEvents("m.room.power_levels","");let r={};n&&(r=n.getContent());let i=50;return a.isNumber(r[e])&&(i=r[e]),t>=i},c.prototype.maySendMessage=function(e){return this._maySendEventOfType("m.room.message",e,!1)},c.prototype.maySendEvent=function(e,t){return this._maySendEventOfType(e,t,!1)},c.prototype.mayClientSendStateEvent=function(e,t){return!t.isGuest()&&this.maySendStateEvent(e,t.credentials.userId)},c.prototype.maySendStateEvent=function(e,t){return this._maySendEventOfType(e,t,!0)},c.prototype._maySendEventOfType=function(e,t,n){const r=this.getStateEvents("m.room.power_levels","");let i,o={},s=0,a=0,c=0;if(r){i=r.getContent(),o=i.events||{},s=Number.isFinite(i.state_default)?i.state_default:50;const e=i.users&&i.users[t];Number.isFinite(e)?c=e:Number.isFinite(i.users_default)&&(c=i.users_default),Number.isFinite(i.events_default)&&(a=i.events_default)}let f=n?s:a;return Number.isFinite(o[e])&&(f=o[e]),c>=f},c.prototype.mayTriggerNotifOfType=function(e,t){const n=this.getMember(t);if(!n)return!1;const r=this.getStateEvents("m.room.power_levels","");let i=50;return r&&r.getContent()&&r.getContent().notifications&&a.isNumber(r.getContent().notifications[e])&&(i=r.getContent().notifications[e]),n.powerLevel>=i}},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.Group=s;var i=r(n(8)),o=n(9);function s(e){this.groupId=e,this.name=null,this.avatarUrl=null,this.myMembership=null,this.inviter=null}i.inherits(s,o.EventEmitter),s.prototype.setProfile=function(e,t){this.name===e&&this.avatarUrl===t||(this.name=e||this.groupId,this.avatarUrl=t,this.emit("Group.profile",this))},s.prototype.setMyMembership=function(e){this.myMembership!==e&&(this.myMembership=e,this.emit("Group.myMembership",this))},s.prototype.setInviter=function(e){this.inviter=e}},function(e,t,n){"use strict";(function(e){var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.MatrixCall=a,t.setAudioOutput=function(e){T=e},t.setAudioInput=function(e){R=e},t.setVideoInput=function(e){O=e},t.createNewMatrixCall=function(t,n,r){const o=e.window,s=e.document;if(!o||!s)return null;const c={};c.isOpenWebRTC=function(){const e=s.getElementById("script");if(!e||!e.length)return!1;for(let t=0;t-1)return!0;return!1};const f=o.navigator.getUserMedia||o.navigator.webkitGetUserMedia||o.navigator.mozGetUserMedia;f&&(c.getUserMedia=function(){return f.apply(o.navigator,arguments)});try{c.RtcPeerConnection=o.RTCPeerConnection||o.webkitRTCPeerConnection||o.mozRTCPeerConnection,c.RtcSessionDescription=o.RTCSessionDescription||o.webkitRTCSessionDescription||o.mozRTCSessionDescription,c.RtcIceCandidate=o.RTCIceCandidate||o.webkitRTCIceCandidate||o.mozRTCIceCandidate,c.vendor=null,o.mozRTCPeerConnection?c.vendor="mozilla":o.webkitRTCPeerConnection?c.vendor="webkit":o.RTCPeerConnection&&(c.vendor="generic")}catch(e){return i.logger.error("Failed to set up WebRTC object: possible browser interference?"),i.logger.error(e),null}if(!(c.RtcIceCandidate&&c.RtcSessionDescription&&c.RtcPeerConnection&&c.getUserMedia))return null;const u=!!r&&r.forceTURN;return new a({webRtc:c,client:t,URL:o.URL,roomId:n,turnServers:t.getTurnServers(),forceTURN:t._forceTURN||u})};var i=n(4),o=n(9),s=r(n(8));function a(e){this.roomId=e.roomId,this.client=e.client,this.webRtc=e.webRtc,this.forceTURN=e.forceTURN,this.URL=e.URL,this.turnServers=e.turnServers||[],0===this.turnServers.length&&this.client.isFallbackICEServerAllowed()&&this.turnServers.push({urls:[a.FALLBACK_ICE_SERVER]}),s.forEach(this.turnServers,(function(e){s.checkObjectHasKeys(e,["urls"])})),this.callId="c"+(new Date).getTime()+Math.random(),this.state="fledgling",this.didConnect=!1,this.candidateSendQueue=[],this.candidateSendTries=0,this.mediaPromises=Object.create(null),this.screenSharingStream=null,this._answerContent=null}a.CALL_TIMEOUT_MS=6e4,a.FALLBACK_ICE_SERVER="stun:turn.matrix.org",a.ERR_LOCAL_OFFER_FAILED="local_offer_failed",a.ERR_NO_USER_MEDIA="no_user_media",a.ERR_UNKNOWN_DEVICES="unknown_devices",a.ERR_SEND_INVITE="send_invite",a.ERR_SEND_ANSWER="send_answer",s.inherits(a,o.EventEmitter),a.prototype.placeVoiceCall=function(){_("placeVoiceCall"),y(this),A(this,k("voice")),this.type="voice"},a.prototype.placeVideoCall=function(e,t){_("placeVideoCall"),y(this),this.localVideoElement=t,this.remoteVideoElement=e,A(this,k("video")),this.type="video",m(this)},a.prototype.placeScreenSharingCall=function(e,t){_("placeScreenSharingCall"),y(this);const n=E(this);if(!n)return;this.localVideoElement=t,this.remoteVideoElement=e;const r=this;this.webRtc.getUserMedia(n,(function(e){r.screenSharingStream=e,_("Got screen stream, requesting audio stream...");const t=k("voice");A(r,t)}),(function(e){r.emit("error",b(a.ERR_NO_USER_MEDIA,"Failed to get screen-sharing stream: "+e))})),this.type="video",m(this)},a.prototype.playElement=function(e,t){i.logger.log("queuing play on "+t+" and element "+e),this.mediaPromises[t]?this.mediaPromises[t]=this.mediaPromises[t].then((function(){return i.logger.log("previous promise completed for "+t),e.play()}),(function(){return i.logger.log("previous promise failed for "+t),e.play()})):this.mediaPromises[t]=e.play()},a.prototype.pauseElement=function(e,t){i.logger.log("queuing pause on "+t+" and element "+e),this.mediaPromises[t]?this.mediaPromises[t]=this.mediaPromises[t].then((function(){return i.logger.log("previous promise completed for "+t),e.pause()}),(function(){return i.logger.log("previous promise failed for "+t),e.pause()})):this.mediaPromises[t]=e.pause()},a.prototype.assignElement=function(e,t,n){i.logger.log("queuing assign on "+n+" element "+e+" for "+t),this.mediaPromises[n]?this.mediaPromises[n]=this.mediaPromises[n].then((function(){i.logger.log("previous promise completed for "+n),e.srcObject=t}),(function(){i.logger.log("previous promise failed for "+n),e.srcObject=t})):e.srcObject=t},a.prototype.getLocalVideoElement=function(){return this.localVideoElement},a.prototype.getRemoteVideoElement=function(){return this.remoteVideoElement},a.prototype.getRemoteAudioElement=function(){return this.remoteAudioElement},a.prototype.setLocalVideoElement=function(e){if(this.localVideoElement=e,e&&this.localAVStream&&"video"===this.type){e.autoplay=!0,this.assignElement(e,this.localAVStream,"localVideo"),e.muted=!0;const t=this;setTimeout((function(){const e=t.getLocalVideoElement();e.play&&t.playElement(e,"localVideo")}),0)}},a.prototype.setRemoteVideoElement=function(e){this.remoteVideoElement=e,m(this)},a.prototype.setRemoteAudioElement=function(e){this.remoteVideoElement.muted=!0,this.remoteAudioElement=e,this.remoteAudioElement.muted=!1,g(this)},a.prototype._initWithInvite=function(e){this.msg=e.getContent(),this.peerConn=w(this);const t=this;this.peerConn&&this.peerConn.setRemoteDescription(new this.webRtc.RtcSessionDescription(this.msg.offer),S(t,t._onSetRemoteDescriptionSuccess),S(t,t._onSetRemoteDescriptionError)),u(this,"ringing"),this.direction="inbound",this.msg.offer&&this.msg.offer.sdp&&this.msg.offer.sdp.indexOf("m=video")>-1?this.type="video":this.type="voice",e.getAge()&&setTimeout((function(){"ringing"==t.state&&(_("Call invite has expired. Hanging up."),t.hangupParty="remote",u(t,"ended"),p(t),"closed"!=t.peerConn.signalingState&&t.peerConn.close(),t.emit("hangup",t))}),this.msg.lifetime-e.getAge())},a.prototype._initWithHangup=function(e){this.msg=e.getContent(),u(this,"ended")},a.prototype.answer=function(){_("Answering call %s of type %s",this.callId,this.type);const e=this;e._answerContent?e._sendAnswer():this.localAVStream||this.waitForLocalAVStream?this.localAVStream?this._maybeGotUserMediaForAnswer(this.localAVStream):this.waitForLocalAVStream&&u(this,"wait_local_media"):(this.webRtc.getUserMedia(k(this.type),S(e,e._maybeGotUserMediaForAnswer),S(e,e._maybeGotUserMediaForAnswer)),u(this,"wait_local_media"))},a.prototype._replacedBy=function(e){_(this.callId+" being replaced by "+e.callId),"wait_local_media"==this.state?(_("Telling new call to wait for local media"),e.waitForLocalAVStream=!0):"create_offer"==this.state?(_("Handing local stream to new call"),e._maybeGotUserMediaForAnswer(this.localAVStream),delete this.localAVStream):"invite_sent"==this.state&&(_("Handing local stream to new call"),e._maybeGotUserMediaForAnswer(this.localAVStream),delete this.localAVStream),e.localVideoElement=this.localVideoElement,e.remoteVideoElement=this.remoteVideoElement,e.remoteAudioElement=this.remoteAudioElement,this.successor=e,this.emit("replaced",e),this.hangup(!0)},a.prototype.hangup=function(e,t){if("ended"==this.state)return;_("Ending call "+this.callId),h(this,"local",e,!t);const n={version:0,call_id:this.callId,reason:e};l(this,"m.call.hangup",n)},a.prototype.setLocalVideoMuted=function(e){this.localAVStream&&c(this.localAVStream.getVideoTracks(),!e)},a.prototype.isLocalVideoMuted=function(){return!!this.localAVStream&&!f(this.localAVStream.getVideoTracks())},a.prototype.setMicrophoneMuted=function(e){this.localAVStream&&c(this.localAVStream.getAudioTracks(),!e)},a.prototype.isMicrophoneMuted=function(){return!!this.localAVStream&&!f(this.localAVStream.getAudioTracks())},a.prototype._maybeGotUserMediaForInvite=function(e){if(this.successor)return void this.successor._maybeGotUserMediaForAnswer(e);if("ended"==this.state)return;_("_maybeGotUserMediaForInvite -> "+this.type);const t=this,n=e,r={mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:"video"===t.type}};if(e instanceof MediaStream){const n=this.getLocalVideoElement();n&&"video"==this.type&&(n.autoplay=!0,this.screenSharingStream?(_("Setting screen sharing stream to the local video element"),this.assignElement(n,this.screenSharingStream,"localVideo")):this.assignElement(n,e,"localVideo"),n.muted=!0,setTimeout((function(){const e=t.getLocalVideoElement();e.play&&t.playElement(e,"localVideo")}),0)),this.screenSharingStream&&(this.screenSharingStream.addTrack(e.getAudioTracks()[0]),e=this.screenSharingStream),this.localAVStream=e,c(e.getAudioTracks(),!0),this.peerConn=w(this),this.peerConn.addStream(e)}else{if("PermissionDeniedError"!==n.name)return _("Failed to getUserMedia: "+n.name),void this._getUserMediaFailed(n);_("User denied access to camera/microphone. Or possibly you are using an insecure domain. Receiving only."),this.peerConn=w(this)}this.peerConn.createOffer(S(t,t._gotLocalOffer),S(t,t._getLocalOfferFailed),r),u(t,"create_offer")},a.prototype._sendAnswer=function(e){l(this,"m.call.answer",this._answerContent).then(()=>{u(this,"connecting"),v(this)}).catch(e=>{u(this,"ringing"),this.client.cancelPendingEvent(e.event);let t=a.ERR_SEND_ANSWER,n="Failed to send answer";throw"UnknownDeviceError"==e.name&&(t=a.ERR_UNKNOWN_DEVICES,n="Unknown devices present in the room"),this.emit("error",b(t,n)),e})},a.prototype._maybeGotUserMediaForAnswer=function(e){const t=this;if("ended"==t.state)return;const n=e;if(e instanceof MediaStream){const n=t.getLocalVideoElement();n&&"video"==t.type&&(n.autoplay=!0,this.assignElement(n,e,"localVideo"),n.muted=!0,setTimeout((function(){const e=t.getLocalVideoElement();e.play&&t.playElement(e,"localVideo")}),0)),t.localAVStream=e,c(e.getAudioTracks(),!0),t.peerConn.addStream(e)}else{if("PermissionDeniedError"!==n.name)return _("Failed to getUserMedia: "+n.name),void this._getUserMediaFailed(n);_("User denied access to camera/microphone. Or possibly you are using an insecure domain. Receiving only.")}const r={mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:"video"===t.type}};t.peerConn.createAnswer((function(e){_("Created answer: ",e),t.peerConn.setLocalDescription(e,(function(){t._answerContent={version:0,call_id:t.callId,answer:{sdp:t.peerConn.localDescription.sdp,type:t.peerConn.localDescription.type}},t._sendAnswer()}),(function(){_("Error setting local description!")}),r)}),(function(e){_("Failed to create answer: "+e)})),u(t,"create_answer")},a.prototype._gotLocalIceCandidate=function(e){if(e.candidate){if(_("Got local ICE "+e.candidate.sdpMid+" candidate: "+e.candidate.candidate),"ended"==this.state)return;const t={candidate:e.candidate.candidate,sdpMid:e.candidate.sdpMid,sdpMLineIndex:e.candidate.sdpMLineIndex};d(this,t)}},a.prototype._gotRemoteIceCandidate=function(e){"ended"!=this.state&&(_("Got remote ICE "+e.sdpMid+" candidate: "+e.candidate),this.peerConn.addIceCandidate(new this.webRtc.RtcIceCandidate(e),(function(){}),(function(e){})))},a.prototype._receivedAnswer=function(e){if("ended"==this.state)return;this.peerConn.setRemoteDescription(new this.webRtc.RtcSessionDescription(e.answer),S(this,this._onSetRemoteDescriptionSuccess),S(this,this._onSetRemoteDescriptionError)),u(this,"connecting")},a.prototype._gotLocalOffer=function(e){const t=this;_("Created offer: ",e),"ended"!=t.state?t.peerConn.setLocalDescription(e,(function(){const e={version:0,call_id:t.callId,offer:{sdp:t.peerConn.localDescription.sdp,type:t.peerConn.localDescription.type},lifetime:a.CALL_TIMEOUT_MS};l(t,"m.call.invite",e).then(()=>{u(t,"invite_sent"),setTimeout((function(){"invite_sent"==t.state&&t.hangup("invite_timeout")}),a.CALL_TIMEOUT_MS)}).catch(e=>{let n=a.ERR_SEND_INVITE,r="Failed to send invite";throw"UnknownDeviceError"==e.name&&(n=a.ERR_UNKNOWN_DEVICES,r="Unknown devices present in the room"),t.client.cancelPendingEvent(e.event),h(t,"local",n,!1),t.emit("error",b(n,r)),e})}),(function(){_("Error setting local description!")})):_("Ignoring newly created offer on call ID "+t.callId+" because the call has ended")},a.prototype._getLocalOfferFailed=function(e){this.emit("error",b(a.ERR_LOCAL_OFFER_FAILED,"Failed to start audio for call!"))},a.prototype._getUserMediaFailed=function(e){h(this,"local","user_media_failed",!1),this.emit("error",b(a.ERR_NO_USER_MEDIA,"Couldn't start capturing media! Is your microphone set up and does this app have permission?"))},a.prototype._onIceConnectionStateChanged=function(){"ended"!=this.state&&(_("Ice connection state changed to: "+this.peerConn.iceConnectionState),"completed"==this.peerConn.iceConnectionState||"connected"==this.peerConn.iceConnectionState?(u(this,"connected"),this.didConnect=!0):"failed"==this.peerConn.iceConnectionState&&this.hangup("ice_failed"))},a.prototype._onSignallingStateChanged=function(){_("call "+this.callId+": Signalling state changed to: "+this.peerConn.signalingState)},a.prototype._onSetRemoteDescriptionSuccess=function(){_("Set remote description")},a.prototype._onSetRemoteDescriptionError=function(e){_("Failed to set remote description"+e)},a.prototype._onAddStream=function(e){_("Stream id "+e.stream.id+" added");const t=e.stream;t.getVideoTracks().length>0?(this.type="video",this.remoteAVStream=t,this.remoteAStream=t):(this.type="voice",this.remoteAStream=t);const n=this;I(t,(function(e){_("Track id "+e.id+" added"),e.onstarted=S(n,n._onRemoteStreamTrackStarted)})),void 0!==e.stream.oninactive?e.stream.oninactive=S(n,n._onRemoteStreamEnded):e.stream.onended=S(n,n._onRemoteStreamEnded),e.stream.onstarted=S(n,n._onRemoteStreamStarted),"video"===this.type?(m(this),g(this)):g(this)},a.prototype._onRemoteStreamStarted=function(e){u(this,"connected")},a.prototype._onRemoteStreamEnded=function(e){_("Remote stream ended"),this.hangupParty="remote",u(this,"ended"),p(this),"closed"!=this.peerConn.signalingState&&this.peerConn.close(),this.emit("hangup",this)},a.prototype._onRemoteStreamTrackStarted=function(e){u(this,"connected")},a.prototype._onHangupReceived=function(e){_("Hangup received"),h(this,"remote",e.reason,!0)},a.prototype._onAnsweredElsewhere=function(e){_("Answered elsewhere"),h(this,"remote","answered_elsewhere",!0)};const c=function(e,t){for(let n=0;n5)return _("Failed to send candidates on attempt %s. Giving up for now.",e.candidateSendTries),void(e.candidateSendTries=0);const r=500*Math.pow(2,e.candidateSendTries);++e.candidateSendTries,_("Failed to send candidates. Retrying in "+r+"ms"),setTimeout((function(){v(e)}),r)}))},A=function(e,t){e.client.callList[e.callId]=e,e.webRtc.getUserMedia(t,S(e,e._maybeGotUserMediaForInvite),S(e,e._maybeGotUserMediaForInvite)),u(e,"wait_local_media"),e.direction="outbound",e.config=t},w=function(e){const t=new e.webRtc.RtcPeerConnection({iceTransportPolicy:e.forceTURN?"relay":void 0,iceServers:e.turnServers});return t.oniceconnectionstatechange=S(e,e._onIceConnectionStateChanged),t.onsignalingstatechange=S(e,e._onSignallingStateChanged),t.onicecandidate=S(e,e._gotLocalIceCandidate),t.onaddstream=S(e,e._onAddStream),t},E=function(t){const n=e.screen;if(n)return{video:{mediaSource:"screen",mandatory:{chromeMediaSource:"screen",chromeMediaSourceId:""+Date.now(),maxWidth:n.width,maxHeight:n.height,minFrameRate:1,maxFrameRate:10}}};t.emit("error",b(a.ERR_NO_USER_MEDIA,"Couldn't determine screen sharing constaints."))},k=function(t){const n=!!e.window.navigator.webkitGetUserMedia;switch(t){case"voice":return{audio:{deviceId:R?{ideal:R}:void 0},video:!1};case"video":return{audio:{deviceId:R?{ideal:R}:void 0},video:{deviceId:O?{ideal:O}:void 0,width:n?{exact:640}:{ideal:640},height:n?{exact:360}:{ideal:360}}}}},S=function(e,t){return function(){return t.apply(e,arguments)}},I=function(e,t){!function(e,t){const n=e.getVideoTracks();for(let e=0;e{let i=!0;const o=e.open(t);o.onupgradeneeded=()=>{i=!1},o.onblocked=()=>r(),o.onsuccess=()=>{o.result.close(),i||e.deleteDatabase(t),n(i)},o.onerror=e=>r(e.target.error)})}},function(e,t,n){"use strict";(function(e){var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.OlmDevice=c,t.WITHHELD_MESSAGES=void 0;var i=n(4),o=n(36),s=r(n(138));function a(e){if(void 0===e)throw new Error("payloadString undefined");if(e.length>49152)throw new Error("Message too long ("+e.length+" bytes). The maximum for an encrypted message is 49152 bytes.")}function c(e){this._cryptoStore=e,this._pickleKey="DEFAULT_KEY",this.deviceCurve25519Key=null,this.deviceEd25519Key=null,this._maxOneTimeKeys=null,this._outboundGroupSessionStore={},this._inboundGroupSessionMessageIndexes={},this._sessionsInProgress={}}c.prototype.init=async function(){let t;const n=new e.Olm.Account;try{await async function(e,t,n){await e.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT],r=>{e.getAccount(r,i=>{null!==i?n.unpickle(t,i):(n.create(),i=n.pickle(t),e.storeAccount(r,i))})})}(this._cryptoStore,this._pickleKey,n),t=JSON.parse(n.identity_keys()),this._maxOneTimeKeys=n.max_number_of_one_time_keys()}finally{n.free()}this.deviceCurve25519Key=t.curve25519,this.deviceEd25519Key=t.ed25519},c.getOlmVersion=function(){return e.Olm.get_library_version()},c.prototype._getAccount=function(t,n){this._cryptoStore.getAccount(t,t=>{const r=new e.Olm.Account;try{r.unpickle(this._pickleKey,t),n(r)}finally{r.free()}})},c.prototype._storeAccount=function(e,t){this._cryptoStore.storeAccount(e,t.pickle(this._pickleKey))},c.prototype._getSession=function(e,t,n,r){this._cryptoStore.getEndToEndSession(e,t,n,e=>{this._unpickleSession(e,r)})},c.prototype._unpickleSession=function(t,n){const r=new e.Olm.Session;try{r.unpickle(this._pickleKey,t.session),n(Object.assign({},t,{session:r}))}finally{r.free()}},c.prototype._saveSession=function(e,t,n){const r=t.session.session_id(),i=Object.assign(t,{session:t.session.pickle(this._pickleKey)});this._cryptoStore.storeEndToEndSession(e,r,i,n)},c.prototype._getUtility=function(t){const n=new e.Olm.Utility;try{return t(n)}finally{n.free()}},c.prototype.sign=async function(e){let t;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_ACCOUNT],n=>{this._getAccount(n,n=>{t=n.sign(e)})}),t},c.prototype.getOneTimeKeys=async function(){let e;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_ACCOUNT],t=>{this._getAccount(t,t=>{e=JSON.parse(t.one_time_keys())})}),e},c.prototype.maxNumberOfOneTimeKeys=function(){return this._maxOneTimeKeys},c.prototype.markKeysAsPublished=async function(){await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this._getAccount(e,t=>{t.mark_keys_as_published(),this._storeAccount(e,t)})})},c.prototype.generateOneTimeKeys=function(e){return this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT],t=>{this._getAccount(t,n=>{n.generate_one_time_keys(e),this._storeAccount(t,n)})})},c.prototype.createOutboundSession=async function(t,n){let r;return await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT,o.IndexedDBCryptoStore.STORE_SESSIONS],i=>{this._getAccount(i,o=>{const s=new e.Olm.Session;try{s.create_outbound(o,t,n),r=s.session_id(),this._storeAccount(i,o);const e={session:s,lastReceivedMessageTs:Date.now()};this._saveSession(t,e,i)}finally{s.free()}})}),r},c.prototype.createInboundSession=async function(t,n,r){if(0!==n)throw new Error("Need messageType == 0 to create inbound session");let i;return await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT,o.IndexedDBCryptoStore.STORE_SESSIONS],o=>{this._getAccount(o,s=>{const a=new e.Olm.Session;try{a.create_inbound_from(s,t,r),s.remove_one_time_keys(a),this._storeAccount(o,s);const e=a.decrypt(n,r),c={session:a,lastReceivedMessageTs:Date.now()};this._saveSession(t,c,o),i={payload:e,session_id:a.session_id()}}finally{a.free()}})}),i},c.prototype.getSessionIdsForDevice=async function(e){if(this._sessionsInProgress[e]){i.logger.log("waiting for olm session to be created");try{await this._sessionsInProgress[e]}catch(e){}}let t;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_SESSIONS],n=>{this._cryptoStore.getEndToEndSessions(e,n,e=>{t=Object.keys(e)})}),t},c.prototype.getSessionIdForDevice=async function(e,t){const n=await this.getSessionInfoForDevice(e,t);if(0===n.length)return null;let r=0;for(let e=1;es||i===s&&t.sessionId{this._cryptoStore.getEndToEndSessions(e,t,e=>{const t=Object.keys(e).sort();for(const r of t)this._unpickleSession(e[r],e=>{n.push({lastReceivedMessageTs:e.lastReceivedMessageTs,hasReceivedMessage:e.session.has_received_message(),sessionId:r})})})}),n},c.prototype.encryptMessage=async function(e,t,n){let r;return a(n),await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_SESSIONS],o=>{this._getSession(e,t,o,s=>{const a=s.session.describe();i.logger.log("encryptMessage: Olm Session ID "+t+" to "+e+": "+a),r=s.session.encrypt(n),this._saveSession(e,s,o)})}),r},c.prototype.decryptMessage=async function(e,t,n,r){let s;return await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_SESSIONS],o=>{this._getSession(e,t,o,a=>{const c=a.session.describe();i.logger.log("decryptMessage: Olm Session ID "+t+" from "+e+": "+c),s=a.session.decrypt(n,r),a.lastReceivedMessageTs=Date.now(),this._saveSession(e,a,o)})}),s},c.prototype.matchesSession=async function(e,t,n,r){if(0!==n)return!1;let i;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_SESSIONS],n=>{this._getSession(e,t,n,e=>{i=e.session.matches_inbound(r)})}),i},c.prototype.recordSessionProblem=async function(e,t,n){await this._cryptoStore.storeEndToEndSessionProblem(e,t,n)},c.prototype.sessionMayHaveProblems=async function(e,t){return await this._cryptoStore.getEndToEndSessionProblem(e,t)},c.prototype.filterOutNotifiedErrorDevices=async function(e){return await this._cryptoStore.filterOutNotifiedErrorDevices(e)},c.prototype._saveOutboundGroupSession=function(e){const t=e.pickle(this._pickleKey);this._outboundGroupSessionStore[e.session_id()]=t},c.prototype._getOutboundGroupSession=function(t,n){const r=this._outboundGroupSessionStore[t];if(void 0===r)throw new Error("Unknown outbound group session "+t);const i=new e.Olm.OutboundGroupSession;try{return i.unpickle(this._pickleKey,r),n(i)}finally{i.free()}},c.prototype.createOutboundGroupSession=function(){const t=new e.Olm.OutboundGroupSession;try{return t.create(),this._saveOutboundGroupSession(t),t.session_id()}finally{t.free()}},c.prototype.encryptGroupMessage=function(e,t){const n=this;return i.logger.log(`encrypting msg with megolm session ${e}`),a(t),this._getOutboundGroupSession(e,(function(e){const r=e.encrypt(t);return n._saveOutboundGroupSession(e),r}))},c.prototype.getOutboundGroupSessionKey=function(e){return this._getOutboundGroupSession(e,(function(e){return{chain_index:e.message_index(),key:e.session_key()}}))},c.prototype._unpickleInboundGroupSession=function(t,n){const r=new e.Olm.InboundGroupSession;try{return r.unpickle(this._pickleKey,t.session),n(r)}finally{r.free()}},c.prototype._getInboundGroupSession=function(e,t,n,r,i){this._cryptoStore.getEndToEndInboundGroupSession(t,n,r,(t,n)=>{if(null!==t){if(null!==e&&e!==t.room_id)throw new Error("Mismatched room_id for inbound group session (expected "+t.room_id+", was "+e+")");this._unpickleInboundGroupSession(t,e=>{i(e,t,n)})}else i(null,null,n)})},c.prototype.addInboundGroupSession=async function(t,n,r,s,a,c,f){await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._getInboundGroupSession(t,n,s,o,(u,l)=>{const d=new e.Olm.InboundGroupSession;try{if(f?d.import_session(a):d.create(a),s!=d.session_id())throw new Error("Mismatched group session ID from senderKey: "+n);if(u&&(i.logger.log("Update for megolm session "+n+"/"+s),u.first_known_index()<=d.first_known_index()))return void i.logger.log(`Keeping existing megolm session ${s}`);const e={room_id:t,session:d.pickle(this._pickleKey),keysClaimed:c,forwardingCurve25519KeyChain:r};this._cryptoStore.storeEndToEndInboundGroupSession(n,s,e,o)}finally{d.free()}})})},c.prototype.addInboundGroupSessionWithheld=async function(e,t,n,r,i){await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._cryptoStore.storeEndToEndInboundGroupSessionWithheld(t,n,{room_id:e,code:r,reason:i},o)})};const f={"m.unverified":"The sender has disabled encrypting to unverified devices.","m.blacklisted":"The sender has blocked you.","m.unauthorised":"You are not authorised to read the message.","m.no_olm":"Unable to establish a secure channel."};function u(e){return e.code&&e.code in f?f[e.code]:e.reason?e.reason:"decryption key withheld"}t.WITHHELD_MESSAGES=f,c.prototype.decryptGroupMessage=async function(e,t,n,r,i,a){let c,f;if(await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._getInboundGroupSession(e,t,n,o,(e,l,d)=>{if(null===e)return d&&(f=new s.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",u(d),{session:t+"|"+n})),void(c=null);let h;try{h=e.decrypt(r)}catch(e){return void(f=e&&"OLM.UNKNOWN_MESSAGE_INDEX"===e.message&&d?new s.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",u(d),{session:t+"|"+n}):e)}let p=h.plaintext;if(void 0===p)p=h;else{const e=t+"|"+n+"|"+h.message_index;if(e in this._inboundGroupSessionMessageIndexes){const t=this._inboundGroupSessionMessageIndexes[e];if(t.id!==i||t.timestamp!==a)return void(f=new Error("Duplicate message index, possible replay attack: "+e))}this._inboundGroupSessionMessageIndexes[e]={id:i,timestamp:a}}l.session=e.pickle(this._pickleKey),this._cryptoStore.storeEndToEndInboundGroupSession(t,n,l,o),c={result:p,keysClaimed:l.keysClaimed||{},senderKey:t,forwardingCurve25519KeyChain:l.forwardingCurve25519KeyChain||[]}})}),f)throw f;return c},c.prototype.hasInboundSessionKeys=async function(e,t,n){let r;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._cryptoStore.getEndToEndInboundGroupSession(t,n,o,o=>{null!==o?e!==o.room_id?(i.logger.warn(`requested keys for inbound group session ${t}|`+`${n}, with incorrect room_id `+`(expected ${o.room_id}, `+`was ${e})`),r=!1):r=!0:r=!1})}),r},c.prototype.getInboundGroupSessionKey=async function(e,t,n,r){let i;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._getInboundGroupSession(e,t,n,o,(e,t)=>{if(null===e)return void(i=null);void 0===r&&(r=e.first_known_index());const n=e.export_session(r),o=(t.keysClaimed||{}).ed25519||null;i={chain_index:r,key:n,forwarding_curve25519_key_chain:t.forwardingCurve25519KeyChain||[],sender_claimed_ed25519_key:o}})}),i},c.prototype.exportInboundGroupSession=function(e,t,n){return this._unpickleInboundGroupSession(n,r=>{const i=r.first_known_index();return{sender_key:e,sender_claimed_keys:n.keysClaimed,room_id:n.room_id,session_id:t,session_key:r.export_session(i),forwarding_curve25519_key_chain:r.forwardingCurve25519KeyChain||[],first_known_index:r.first_known_index()}})},c.prototype.verifySignature=function(e,t,n){this._getUtility((function(r){r.ed25519_verify(e,t,n)}))}}).call(this,n(5))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(288),n(289);var r=n(81);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}})}))},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.DeviceTrustLevel=t.UserTrustLevel=t.CrossSigningLevel=t.CrossSigningInfo=void 0;var r=n(21),i=n(9),o=n(4);function s(e){return Object.values(e.keys)[0]}class a extends i.EventEmitter{constructor(e,t){super(),Object.defineProperty(this,"userId",{enumerable:!0,value:e}),this._callbacks=t||{},this.keys={},this.firstUse=!0}async getCrossSigningKey(t,n){if(!this._callbacks.getCrossSigningKey)throw new Error("No getCrossSigningKey callback supplied");void 0===n&&(n=this.getId(t));const r=await this._callbacks.getCrossSigningKey(t,n);if(!r)throw new Error("getCrossSigningKey callback for "+t+" returned falsey");const i=new e.Olm.PkSigning,o=i.init_with_seed(r);if(o!==n)throw i.free(),new Error("Key type "+t+" from getCrossSigningKey callback did not match");return[o,i]}static fromStorage(e,t){const n=new a(t);for(const t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}toStorage(){return{keys:this.keys,firstUse:this.firstUse}}async isStoredInSecretStorage(e){let t=!0;for(const n of["master","self_signing","user_signing"])t&=await e.isStored(`m.cross_signing.${n}`,!1);return t}static async storeInSecretStorage(e,t){for(const n of Object.keys(e)){const i=(0,r.encodeBase64)(e[n]);await t.store(`m.cross_signing.${n}`,i)}}static async getFromSecretStorage(e,t){const n=await t.get(`m.cross_signing.${e}`);return(0,r.decodeBase64)(n)}getId(e){if(e=e||"master",!this.keys[e])return null;return s(this.keys[e])}async resetKeys(t){if(!this._callbacks.saveCrossSigningKeys)throw new Error("No saveCrossSigningKeys callback supplied");if(void 0===t||t&c.MASTER||!this.keys.master)t=c.MASTER|c.USER_SIGNING|c.SELF_SIGNING;else if(0===t)return;const n={},i={};let o,s;try{if(t&c.MASTER?(o=new e.Olm.PkSigning,n.master=o.generate_seed(),s=o.init_with_seed(n.master),i.master={user_id:this.userId,usage:["master"],keys:{["ed25519:"+s]:s}}):[s,o]=await this.getCrossSigningKey("master"),t&c.SELF_SIGNING){const t=new e.Olm.PkSigning;try{n.self_signing=t.generate_seed();const e=t.init_with_seed(n.self_signing);i.self_signing={user_id:this.userId,usage:["self_signing"],keys:{["ed25519:"+e]:e}},(0,r.pkSign)(i.self_signing,o,this.userId,s)}finally{t.free()}}if(t&c.USER_SIGNING){const t=new e.Olm.PkSigning;try{n.user_signing=t.generate_seed();const e=t.init_with_seed(n.user_signing);i.user_signing={user_id:this.userId,usage:["user_signing"],keys:{["ed25519:"+e]:e}},(0,r.pkSign)(i.user_signing,o,this.userId,s)}finally{t.free()}}Object.assign(this.keys,i),this._callbacks.saveCrossSigningKeys(n)}finally{o&&o.free()}}setKeys(e){const t={};if(e.master){if(e.master.user_id!==this.userId){const t="Mismatched user ID "+e.master.user_id+" in master key from "+this.userId;throw o.logger.error(t),new Error(t)}this.keys.master?s(e.master)!==this.getId()&&(this.firstUse=!1):this.firstUse=!0,t.master=e.master}else{if(!this.keys.master)throw new Error("Tried to set cross-signing keys without a master key");t.master=this.keys.master}const n=s(t.master);if(e.user_signing){if(e.user_signing.user_id!==this.userId){const t="Mismatched user ID "+e.master.user_id+" in user_signing key from "+this.userId;throw o.logger.error(t),new Error(t)}try{(0,r.pkVerify)(e.user_signing,n,this.userId)}catch(e){throw o.logger.error("invalid signature on user-signing key"),e}}if(e.self_signing){if(e.self_signing.user_id!==this.userId){const t="Mismatched user ID "+e.master.user_id+" in self_signing key from "+this.userId;throw o.logger.error(t),new Error(t)}try{(0,r.pkVerify)(e.self_signing,n,this.userId)}catch(e){throw o.logger.error("invalid signature on self-signing key"),e}}e.master&&(this.keys.master=e.master,this.keys.self_signing=null,this.keys.user_signing=null),e.self_signing&&(this.keys.self_signing=e.self_signing),e.user_signing&&(this.keys.user_signing=e.user_signing)}async signObject(e,t){if(!this.keys[t])throw new Error("Attempted to sign with "+t+" key but no such key present");const[n,i]=await this.getCrossSigningKey(t);try{return(0,r.pkSign)(e,i,this.userId,n),e}finally{i.free()}}async signUser(e){if(this.keys.user_signing)return this.signObject(e.keys.master,"user_signing")}async signDevice(e,t){if(e!==this.userId)throw new Error(`Trying to sign ${e}'s device; can only sign our own device`);if(this.keys.self_signing)return this.signObject({algorithms:t.algorithms,keys:t.keys,device_id:t.deviceId,user_id:e},"self_signing")}checkUserTrust(e){if(this.userId===e.userId&&this.getId()&&this.getId()===e.getId()&&this.getId("self_signing")&&this.getId("self_signing")===e.getId("self_signing"))return new f(!0,this.firstUse);if(!this.keys.user_signing)return new f(!1,e.firstUse);let t;const n=e.keys.master,i=this.getId("user_signing");try{(0,r.pkVerify)(n,i,this.userId),t=!0}catch(e){t=!1}return new f(t,e.firstUse)}checkDeviceTrust(e,t,n){const i=this.checkUserTrust(e),o=e.keys.self_signing;if(!o)return new u(!1,!1,n);const a=function(e,t){return{algorithms:e.algorithms,keys:e.keys,device_id:e.deviceId,user_id:t,signatures:e.signatures}}(t,e.userId);try{return(0,r.pkVerify)(o,e.getId(),e.userId),(0,r.pkVerify)(a,s(o),e.userId),u.fromUserTrustLevel(i,n)}catch(e){return new u(!1,!1,n)}}}t.CrossSigningInfo=a;const c={MASTER:4,USER_SIGNING:2,SELF_SIGNING:1};t.CrossSigningLevel=c;class f{constructor(e,t){this._crossSigningVerified=e,this._tofu=t}isVerified(){return this.isCrossSigningVerified()}isCrossSigningVerified(){return this._crossSigningVerified}isTofu(){return this._tofu}}t.UserTrustLevel=f;class u{constructor(e,t,n){this._crossSigningVerified=e,this._tofu=t,this._localVerified=n}static fromUserTrustLevel(e,t){return new u(e._crossSigningVerified,e._tofu,t)}isVerified(){return this.isCrossSigningVerified()||this.isLocallyVerified()}isCrossSigningVerified(){return this._crossSigningVerified}isLocallyVerified(){return this._localVerified}isTofu(){return this._tofu}}t.DeviceTrustLevel=u}).call(this,n(5))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VerificationBase=void 0;var r=n(19),i=n(9),o=n(4),s=n(51),a=n(37);const c=new Error("Verification timed out");class f extends i.EventEmitter{constructor(e,t,n,r,i,o){super(),this._channel=e,this._baseApis=t,this.userId=n,this.deviceId=r,this.startEvent=i,this.request=o,this.cancelled=!1,this._done=!1,this._promise=null,this._transactionTimeoutTimer=null,this._resetTimer()}_resetTimer(){o.logger.info("Refreshing/starting the verification transaction timeout timer"),null!==this._transactionTimeoutTimer&&clearTimeout(this._transactionTimeoutTimer),this._transactionTimeoutTimer=setTimeout(()=>{this._done||this.cancelled||(o.logger.info("Triggering verification timeout"),this.cancel(c))},6e5)}_endTimer(){null!==this._transactionTimeoutTimer&&(clearTimeout(this._transactionTimeoutTimer),this._transactionTimeoutTimer=null)}_send(e,t){return this._channel.send(e,t)}_waitForEvent(e){return this._done?Promise.reject(new Error("Verification is already done")):(this._expectedEvent=e,new Promise((e,t)=>{this._resolveEvent=e,this._rejectEvent=t}))}handleEvent(e){if(!this._done)if(e.getType()===this._expectedEvent)"m.key.verification.done"!==this._expectedEvent&&(this._expectedEvent=void 0,this._rejectEvent=void 0,this._resetTimer(),this._resolveEvent(e));else if("m.key.verification.cancel"===e.getType()){const e=this._reject;this._reject=void 0,e(new Error("Other side cancelled verification"))}else{const t=new Error("Unexpected message: expecting "+this._expectedEvent+" but got "+e.getType());if(this._expectedEvent=void 0,this._rejectEvent){const e=this._rejectEvent;this._rejectEvent=void 0,e(t)}this.cancel(t)}}done(){this._endTimer(),this._done||(this._channel.needsDoneMessage&&this._send("m.key.verification.done",{}),this._resolve())}cancel(e){if(this._endTimer(),!this._done){if(this.cancelled=!0,this.userId&&this.deviceId)if(e===c){const e=(0,a.newTimeoutError)();this._send(e.getType(),e.getContent())}else if(e instanceof r.MatrixEvent){if(e.getSender()!==this.userId){const t=e.getContent();"m.key.verification.cancel"===e.getType()?(t.code=t.code||"m.unknown",t.reason=t.reason||t.body||"Unknown reason",this._send("m.key.verification.cancel",t)):this._send("m.key.verification.cancel",{code:"m.unknown",reason:t.body||"Unknown reason"})}}else this._send("m.key.verification.cancel",{code:"m.unknown",reason:e.toString()});null!==this._promise?this._reject&&this._reject(e):this._promise=Promise.reject(e),this.emit("cancel",e)}}verify(){return this._promise?this._promise:(this._promise=new Promise((e,t)=>{this._resolve=(...t)=>{this._done=!0,this._endTimer(),e(...t)},this._reject=(...e)=>{this._done=!0,this._endTimer(),t(...e)}}),this._doVerification&&!this._started&&(this._started=!0,this._resetTimer(),Promise.resolve(this._doVerification()).then(this.done.bind(this),this.cancel.bind(this))),this._promise)}async _verifyKeys(e,t,n){const r=[];for(const[i,a]of Object.entries(t)){const t=i.split(":",2)[1],c=await this._baseApis.getStoredDevice(e,t);if(c)await n(i,c,a),r.push(t);else{const c=this._baseApis._crypto._deviceList.getStoredCrossSigningForUser(e);c&&c.getId()===t?(await n(i,s.DeviceInfo.fromStorage({keys:{[i]:t}},t),a),r.push(t)):o.logger.warn(`verification: Could not find device ${t} to verify`)}}if(!r.length)throw new Error("No devices could be verified");for(const t of r)await this._baseApis.setDeviceVerified(e,t)}}t.VerificationBase=f},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.keyFromAuthData=async function(t,n){if(!e.Olm)throw new Error("Olm is not available");if(!t.private_key_salt||!t.private_key_iterations)throw new Error("Salt and/or iterations not found: this backup cannot be restored with a passphrase");return await i(n,t.private_key_salt,t.private_key_iterations)},t.keyFromPassphrase=async function(t){if(!e.Olm)throw new Error("Olm is not available");const n=(0,r.randomString)(32);return{key:await i(t,n,5e5),salt:n,iterations:5e5}},t.deriveKey=i;var r=n(52);async function i(t,n,r){const i=e.crypto.subtle,o=e.TextEncoder;if(!i||!o)throw new Error("Password-based backup is not avaiable on this platform");const s=await i.importKey("raw",(new o).encode(t),{name:"PBKDF2"},!1,["deriveBits"]),a=await i.deriveBits({name:"PBKDF2",salt:(new o).encode(n),iterations:r,hash:"SHA-512"},s,8*e.Olm.PRIVATE_KEY_LENGTH);return new Uint8Array(a)}}).call(this,n(5))},function(e,t,n){"use strict";(function(e,r){var i=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.encodeRecoveryKey=function(t){const n=new e(s.length+t.length+1);n.set(s,0),n.set(t,s.length);let r=0;for(let e=0;e{this.accountData[e.type]=e})}_accumulateRooms(e){e.rooms&&(e.rooms.invite&&Object.keys(e.rooms.invite).forEach(t=>{this._accumulateRoom(t,"invite",e.rooms.invite[t])}),e.rooms.join&&Object.keys(e.rooms.join).forEach(t=>{this._accumulateRoom(t,"join",e.rooms.join[t])}),e.rooms.leave&&Object.keys(e.rooms.leave).forEach(t=>{this._accumulateRoom(t,"leave",e.rooms.leave[t])}))}_accumulateRoom(e,t,n){switch(t){case"invite":this._accumulateInviteState(e,n);break;case"join":this.inviteRooms[e]&&delete this.inviteRooms[e],this._accumulateJoinState(e,n);break;case"leave":this.inviteRooms[e]?delete this.inviteRooms[e]:delete this.joinRooms[e];break;default:r.logger.error("Unknown cateogory: ",t)}}_accumulateInviteState(e,t){if(!t.invite_state||!t.invite_state.events)return;if(!this.inviteRooms[e])return void(this.inviteRooms[e]={invite_state:t.invite_state});const n=this.inviteRooms[e];t.invite_state.events.forEach(e=>{let t=!1;for(let r=0;r{n._accountData[e.type]=e}),t.unread_notifications&&(n._unreadNotifications=t.unread_notifications),t.summary){const e="m.heroes",r="m.invited_member_count",i="m.joined_member_count",o=n._summary,s=t.summary;o[e]=s[e]||o[e],o[i]=s[i]||o[i],o[r]=s[r]||o[r]}if(t.ephemeral&&t.ephemeral.events&&t.ephemeral.events.forEach(e=>{"m.receipt"===e.type&&e.content&&Object.keys(e.content).forEach(t=>{e.content[t]["m.read"]&&Object.keys(e.content[t]["m.read"]).forEach(r=>{n._readReceipts[r]={data:e.content[t]["m.read"][r],eventId:t}})})}),t.timeline&&t.timeline.limited&&(n._timeline=[]),t.state&&t.state.events&&t.state.events.forEach(e=>{o(n._currentState,e)}),t.timeline&&t.timeline.events&&t.timeline.events.forEach((e,r)=>{o(n._currentState,e),n._timeline.push({event:e,token:0===r?t.timeline.prev_batch:null})}),n._timeline.length>this.opts.maxTimelineEntries){for(let e=n._timeline.length-this.opts.maxTimelineEntries;e{this._accumulateGroup(t,"invite",e.groups.invite[t])}),e.groups.join&&Object.keys(e.groups.join).forEach(t=>{this._accumulateGroup(t,"join",e.groups.join[t])}),e.groups.leave&&Object.keys(e.groups.leave).forEach(t=>{this._accumulateGroup(t,"leave",e.groups.leave[t])}))}_accumulateGroup(e,t,n){for(const t of["invite","join","leave"])delete this.groups[t][e];this.groups[t][e]=n}getJSON(){const e={join:{},invite:{},leave:{}};Object.keys(this.inviteRooms).forEach(t=>{e.invite[t]=this.inviteRooms[t]}),Object.keys(this.joinRooms).forEach(t=>{const n=this.joinRooms[t],r={ephemeral:{events:[]},account_data:{events:[]},state:{events:[]},timeline:{events:[],prev_batch:null},unread_notifications:n._unreadNotifications,summary:n._summary};Object.keys(n._accountData).forEach(e=>{r.account_data.events.push(n._accountData[e])});const s={type:"m.receipt",room_id:t,content:{}};Object.keys(n._readReceipts).forEach(e=>{const t=n._readReceipts[e];s.content[t.eventId]||(s.content[t.eventId]={"m.read":{}}),s.content[t.eventId]["m.read"][e]=t.data}),Object.keys(s.content).length>0&&r.ephemeral.events.push(s),n._timeline.forEach(e=>{if(!r.timeline.prev_batch){if(!e.token)return;r.timeline.prev_batch=e.token}r.timeline.events.push(e.event)});const a=Object.create(null);for(let e=r.timeline.events.length-1;e>=0;e--){const t=r.timeline.events[e];if(null===t.state_key||void 0===t.state_key)continue;const n=(0,i.deepCopy)(t);n.unsigned&&(n.unsigned.prev_content&&(n.content=n.unsigned.prev_content),n.unsigned.prev_sender&&(n.sender=n.unsigned.prev_sender)),o(a,n)}Object.keys(n._currentState).forEach(e=>{Object.keys(n._currentState[e]).forEach(t=>{let i=n._currentState[e][t];a[e]&&a[e][t]&&(i=a[e][t]),r.state.events.push(i)})}),e.join[t]=r});const t=[];return Object.keys(this.accountData).forEach(e=>{t.push(this.accountData[e])}),{nextBatch:this.nextBatch,roomsData:e,groupsData:this.groups,accountData:t}}getNextBatchToken(){return this.nextBatch}}},function(e,t,n){"use strict";var r=String.prototype.replace,i=/%20/g,o=n(83),s={RFC1738:"RFC1738",RFC3986:"RFC3986"};e.exports=o.assign({default:s.RFC3986,formatters:{RFC1738:function(e){return r.call(e,i,"+")},RFC3986:function(e){return String(e)}}},s)},function(e,t){for(var n=[],r=0;r<256;++r)n[r]=(r+256).toString(16).substr(1);e.exports=function(e,t){var r=t||0,i=n;return[i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]]].join("")}},function(e,t,n){"use strict";t.__esModule=!0,t.stateify=t.TokenState=t.CharacterState=void 0;var r=n(53);var i=function(e){this.j=[],this.T=e||null};i.prototype={defaultTransition:!1,on:function(e,t){if(e instanceof Array){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null,n=this.next(new e(""));return n===this.defaultTransition?(n=new this.constructor(t),this.on(e,n)):t&&(n.T=t),n},test:function(e,t){return e instanceof t}});t.CharacterState=o,t.TokenState=s,t.stateify=function(e,t,n,r){for(var i=0,s=e.length,a=t,c=[],f=void 0;i=s)return[];for(;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},function(e,t,n){"use strict";(function(e){var r=n(28),i=n.n(r),o=n(26),s=n.n(o),a=n(27),c=n.n(a),f=n(54),u=n.n(f),l=n(55),d=n.n(l),h=n(7),p=n.n(h),m=n(56),g=n.n(m),y=n(2),b=n.n(y),_=n(0),v=n.n(_),A=n(13),w=n.n(A),E=n(327),k=(n(40),n(152)),S=n(38),I=(n(41),n(153)),T=n(154),R=n(39),O=n(29),x=n(85),C=n(156),P=n(86),M=n(158);n(322);function D(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}e.Olm=T;var B={algorithm:"m.megolm.v1.aes-sha2"},N=function(t){function n(t){var r;return s()(this,n),r=u()(this,d()(n).call(this,t)),b()(p()(r),"detectMobile",(function(){var e=!1;/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)&&(e=!0),screen.width<767&&(e=!0),r.setState({isMobile:e})})),b()(p()(r),"detectSlowConnection",(function(){var e=!1,t=navigator.connection||navigator.mozConnection||navigator.webkitConnection;if(void 0!==t||null===t){var n=t.effectiveType;e=["slow-2g","2g"].includes(n)}r.setState({isSlowConnection:e})})),b()(p()(r),"handleToggleOpen",(function(){r.setState((function(e){var t=e.showDock;return e.opened||(t=!1),{showDock:t,opened:!e.opened}}))})),b()(p()(r),"toggleEmojiSelector",(function(e){e.preventDefault(),r.setState({emojiSelectorOpen:!r.state.emojiSelectorOpen})})),b()(p()(r),"closeEmojiSelector",(function(){r.setState({emojiSelectorOpen:!1})})),b()(p()(r),"handleWidgetExit",(function(){r.setState({showDock:!0})})),b()(p()(r),"handleWidgetEnter",(function(){r.state.awaitingAgreement?r.termsUrl.current.focus():r.chatboxInput.current.focus()})),b()(p()(r),"handleExitChat",(function(){r.state.client?r.exitChat():r.setState(r.initialState)})),b()(p()(r),"exitChat",(async function(){if(!r.state.client)return null;await r.state.client.leave(r.state.roomId);var e={type:"m.login.password",user:r.state.userId,identifier:{type:"m.id.user",user:r.state.userId},password:r.state.password};await r.state.client.deactivateAccount(e,!0),await r.state.client.stopClient(),await r.state.client.clearStores(),r.state.localStorage.clear(),r.setState(r.initialState)})),b()(p()(r),"createLocalStorage",(async function(t,n){var r=e.localStorage;if(null==r){var i="matrix-chat-".concat(t,"-").concat(n),o=S.resolve(S.join(k.homedir(),".local-storage",i));r=new I.LocalStorage(o)}return r})),b()(p()(r),"createClientWithAccount",(async function(){var e=R.createClient(r.props.matrixServerUrl);try{await e.registerRequest({})}catch(c){var t=Object(O.uuid)(),n=Object(O.uuid)(),i=c.data.session,o=await e.registerRequest({auth:{session:i,type:"m.login.dummy"},inhibit_login:!1,password:n,username:t,x_show_msisdn:!0}),s=await r.createLocalStorage(o.device_id,i);r.setState({accessToken:o.access_token,userId:o.user_id,username:t,password:n,localStorage:s,sessionId:i,deviceId:o.device_id});var a={baseUrl:r.props.matrixServerUrl,accessToken:o.access_token,userId:o.user_id,deviceId:o.device_id,sessionStore:new R.WebStorageSessionStore(s)};return R.createClient(a)}})),b()(p()(r),"initializeChat",(async function(){r.setState({ready:!1});var e=await r.createClientWithAccount();r.setState({client:e}),e.setDisplayName(r.props.anonymousDisplayName),r.setMatrixListeners(e);try{await e.initCrypto()}catch(e){return r.initializeUnencryptedChat()}await e.startClient(),await r.createRoom(e)})),b()(p()(r),"initializeUnencryptedChat",(async function(){r.state.client&&(r.state.client.leave(r.state.roomId),r.state.client.stopClient(),r.state.client.clearStores(),r.state.localStorage.clear()),r.setState({ready:!1,facilitatorInvited:!1,decryptionErrors:{},roomId:null,typingStatus:null,client:null,isCryptoEnabled:!1}),r.displayBotMessage({body:"Restarting chat without encryption."});var e,t={baseUrl:r.props.matrixServerUrl,accessToken:r.state.accessToken,userId:r.state.userId,deviceId:r.state.deviceId};e=R.createClient(t),r.setState({client:e});try{r.setMatrixListeners(e),e.setDisplayName(r.props.anonymousDisplayName),await r.createRoom(e),await e.startClient(),r.displayBotMessage({body:"Messages in this chat are not encrypted."})}catch(e){console.log("error",e),r.handleInitError(e)}})),b()(p()(r),"handleInitError",(function(e){console.log("error",e),r.displayBotMessage({body:r.props.chatUnavailableMessage}),r.setState({ready:!0})})),b()(p()(r),"handleDecryptionError",(async function(e,t){if(r.state.client){var n=await r.state.client.isCryptoEnabled(),i=r.state.client.isRoomEncrypted(r.state.roomId);if(!n||!i)return r.initializeUnencryptedChat()}var o=e.getId();r.displayFakeMessage({body:"** Unable to decrypt message **"},e.getSender(),o),r.setState({decryptionErrors:b()({},o,!0)})})),b()(p()(r),"verifyAllRoomDevices",(async function(e,t){if(t&&e&&r.state.isCryptoEnabled){var n=(await t.getEncryptionTargetMembers()).map((function(e){return e.userId})),i=await e.downloadKeys(n);for(var o in i)for(var s in i[o])await e.setDeviceVerified(o,s)}})),b()(p()(r),"createRoom",(async function(e){var t=new Date,n=t.toLocaleDateString(),i=t.toLocaleTimeString(),o={room_alias_name:"private-support-chat-".concat(Object(O.uuid)()),invite:[r.props.botId],visibility:"private",name:"".concat(i,", ").concat(n," - ").concat(r.props.roomName)},s=await e.isCryptoEnabled();s&&(o.initial_state=[{type:"m.room.encryption",state_key:"",content:B}]);var a=(await e.createRoom(o)).room_id;e.setPowerLevel(a,r.props.botId,100),r.setState({roomId:a,isCryptoEnabled:s})})),b()(p()(r),"sendMessage",(async function(e){if(r.state.client&&r.state.roomId)try{await r.state.client.sendTextMessage(r.state.roomId,e)}catch(t){switch(t.name){case"UnknownDeviceError":Object.keys(t.devices).forEach((function(e){Object.keys(t.devices[e]).map((async function(t){await r.state.client.setDeviceKnown(e,t,!0)}))})),r.sendMessage(e);break;default:r.displayBotMessage({body:"Your message was not sent."}),console.log("Error sending message",t)}}})),b()(p()(r),"displayFakeMessage",(function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Object(O.uuid)(),o=i()(r.state.messages),s={id:n,type:"m.room.message",sender:t,roomId:r.state.roomId,content:e};o.push(s),r.setState({messages:o})})),b()(p()(r),"displayBotMessage",(function(e,t){var n=i()(r.state.messages),o={id:Object(O.uuid)(),type:"m.room.message",sender:r.props.botId,roomId:t||r.state.roomId,content:e};n.push(o),r.setState({messages:n})})),b()(p()(r),"handleMessageEvent",(function(e){var t={id:e.getId(),type:e.getType(),sender:e.getSender(),roomId:e.getRoomId(),content:e.getContent()};if(!(t.content.showToUser&&t.content.showToUser!==r.state.userId||t.content.body.startsWith("!bot")&&t.sender!==r.state.userId)){var n=i()(r.state.messagesInFlight),o=n.findIndex((function(e){return e===t.content.body}));o>-1&&(n.splice(o,1),r.setState({messagesInFlight:n}));var s=i()(r.state.messages),a=function(e){for(var t=1;t-1?s.splice(c,1,t):s.push(t),r.setState({messages:s,decryptionErrors:a})}})),b()(p()(r),"handleKeyDown",(function(e){switch(e.keyCode){case 27:r.state.emojiSelectorOpen?r.closeEmojiSelector():r.state.opened&&r.handleToggleOpen()}})),b()(p()(r),"setMatrixListeners",(function(e){e.on("Room.timeline",(function(t,n){var i=t.getType(),o=t.getContent(),s=t.getSender();if("m.room.encryption"===i&&(r.displayBotMessage({body:"Messages in this chat are secured with end-to-end encryption."},n.room_id),r.verifyAllRoomDevices(e,n)),"m.room.message"===i&&!r.state.isCryptoEnabled){if(t.isEncrypted())return;r.handleMessageEvent(t)}"m.room.member"===i&&"invite"===o.membership&&s===r.props.botId&&r.setState({facilitatorInvited:!0}),"m.room.member"===i&&"join"===o.membership&&s!==r.props.botId&&s!==r.state.userId&&(r.verifyAllRoomDevices(e,n),r.setState({facilitatorId:s,ready:!0}),window.clearInterval(r.state.timeoutId))})),e.on("Event.decrypted",(function(e,t){if(t)return r.handleDecryptionError(e,t);if("m.room.message"===e.getType()){var n=e.getContent();if("m.notice"===n.msgtype&&"Chat is offline"===n.body)return r.setState({ready:!0}),window.clearInterval(r.state.timeoutId);r.handleMessageEvent(e)}})),e.on("RoomMember.typing",(function(e,t){t.typing&&t.roomId===r.state.roomId?r.setState({typingStatus:"".concat(t.name," is typing...")}):r.setState({typingStatus:null})}))})),b()(p()(r),"handleInputChange",(function(e){r.setState({inputValue:e.target.value})})),b()(p()(r),"handleAcceptTerms",(function(){r.setState({awaitingAgreement:!1}),r.startWaitTimeForFacilitator();try{r.initializeChat()}catch(e){r.handleInitError(e)}})),b()(p()(r),"startWaitTimeForFacilitator",(function(){var e=window.setInterval((function(){r.state.facilitatorId||r.displayBotMessage({body:r.props.waitMessage})}),12e4);r.setState({timeoutId:e})})),b()(p()(r),"handleRejectTerms",(function(){r.exitChat(),r.displayBotMessage({body:r.props.exitMessage})})),b()(p()(r),"handleSubmit",(function(e){e.preventDefault();var t=r.state.inputValue;if(!Boolean(t))return null;if(r.state.isCryptoEnabled&&(!r.state.client.isRoomEncrypted(r.state.roomId)||!r.state.client.isCryptoEnabled()))return null;if(r.state.client&&r.state.roomId){var n=i()(r.state.messagesInFlight);n.push(t),r.setState({inputValue:"",messagesInFlight:n},(function(){return r.sendMessage(t)})),r.chatboxInput.current.focus()}})),b()(p()(r),"onEmojiClick",(function(e,t){e.preventDefault();var n=t.emoji;r.setState({inputValue:r.state.inputValue.concat(n),emojiSelectorOpen:!1},r.chatboxInput.current.focus())})),r.initialState={opened:!1,showDock:!0,client:null,ready:!0,accessToken:null,userId:null,password:null,localStorage:null,messages:[],inputValue:"",errors:[],roomId:null,typingStatus:null,awaitingAgreement:!0,emojiSelectorOpen:!1,facilitatorInvited:!1,isMobile:!0,isSlowConnection:!0,decryptionErrors:{},messagesInFlight:[]},r.state=r.initialState,r.chatboxInput=v.a.createRef(),r.messageWindow=v.a.createRef(),r.termsUrl=v.a.createRef(),r}return g()(n,t),c()(n,[{key:"componentDidUpdate",value:function(e,t){t.messages.length!==this.state.messages.length&&this.messageWindow.current.scrollTo&&this.messageWindow.current.scrollTo(0,this.messageWindow.current.scrollHeight),!t.facilitatorInvited&&this.state.facilitatorInvited&&this.displayBotMessage({body:this.props.confirmationMessage}),!t.opened&&this.state.opened&&this.detectMobile()}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown,!1),window.addEventListener("beforeunload",this.exitChat)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown,!1),window.removeEventListener("beforeunload",this.exitChat),this.exitChat()}},{key:"render",value:function(){var e=this,t=this.state,n=t.ready,r=t.messages,i=t.messagesInFlight,o=t.inputValue,s=t.userId,a=t.roomId,c=t.typingStatus,f=t.opened,u=t.showDock,l=t.emojiSelectorOpen,d=t.isMobile,h=t.decryptionErrors;return v.a.createElement("div",{className:"docked-widget",role:"complementary"},v.a.createElement(E.a,{in:f,timeout:250,onExited:this.handleWidgetExit,onEntered:this.handleWidgetEnter},(function(t){return v.a.createElement("div",{className:"widget widget-".concat(t),"aria-hidden":!f},v.a.createElement("div",{id:"safesupport-chatbox","aria-haspopup":"dialog"},v.a.createElement(P.a,{handleToggleOpen:e.handleToggleOpen,opened:f,handleExitChat:e.handleExitChat}),v.a.createElement("div",{className:"message-window",ref:e.messageWindow},v.a.createElement("div",{className:"messages"},v.a.createElement("div",{className:"message from-bot"},v.a.createElement("div",{className:"text"},e.props.introMessage)),v.a.createElement("div",{className:"message from-bot"},v.a.createElement("div",{className:"text"},"Please read the full ",v.a.createElement("a",{href:e.props.termsUrl,ref:e.termsUrl,target:"_blank",rel:"noopener noreferrer"},"terms and conditions"),". By using this chat, you agree to these terms.")),v.a.createElement("div",{className:"message from-bot"},v.a.createElement("div",{className:"text"},e.props.agreementMessage)),v.a.createElement("div",{className:"message from-bot"},v.a.createElement("div",{className:"text buttons"},"👉",v.a.createElement("button",{className:"btn",id:"accept",onClick:e.handleAcceptTerms},"YES"),v.a.createElement("button",{className:"btn",id:"reject",onClick:e.handleRejectTerms},"NO"))),r.map((function(t,n){return v.a.createElement(x.a,{key:t.id,message:t,userId:s,botId:e.props.botId,client:e.state.client})})),i.map((function(e,t){return v.a.createElement(x.a,{key:"message-inflight-".concat(t),message:{content:{body:e}},placeholder:!0})})),c&&v.a.createElement("div",{className:"notices"},v.a.createElement("div",{role:"status"},c)),Boolean(Object.keys(h).length)&&v.a.createElement("div",{className:"message from-bot"},v.a.createElement("div",{className:"text buttons"},"Restart chat without encryption?",v.a.createElement("button",{className:"btn",id:"accept",onClick:e.initializeUnencryptedChat},"RESTART"))),!n&&v.a.createElement("div",{className:"loader"},"loading..."))),v.a.createElement("div",{className:"input-window"},v.a.createElement("form",{onSubmit:e.handleSubmit},v.a.createElement("div",{className:"message-input-container"},v.a.createElement("input",{id:"message-input",type:"text",onChange:e.handleInputChange,value:o,"aria-label":"Send a message...",placeholder:"Send a message...",autoFocus:!0,ref:e.chatboxInput}),"entered"===t&&!d&&v.a.createElement(M.a,{onEmojiClick:e.onEmojiClick,emojiSelectorOpen:l,toggleEmojiSelector:e.toggleEmojiSelector,closeEmojiSelector:e.closeEmojiSelector})),v.a.createElement("input",{type:"submit",value:"Send",id:"submit",onClick:e.handleSubmit})))))})),u&&!a&&v.a.createElement(C.a,{handleToggleOpen:this.handleToggleOpen}),u&&a&&v.a.createElement(P.a,{handleToggleOpen:this.handleToggleOpen,opened:f,handleExitChat:this.handleExitChat}))}}]),n}(v.a.Component);N.propTypes={matrixServerUrl:w.a.string.isRequired,botId:w.a.string.isRequired,termsUrl:w.a.string,introMessage:w.a.string,roomName:w.a.string,agreementMessage:w.a.string,confirmationMessage:w.a.string,exitMessage:w.a.string,chatUnavailableMessage:w.a.string,anonymousDisplayName:w.a.string,waitMessage:w.a.string},N.defaultProps={matrixServerUrl:"https://matrix.rhok.space/",botId:"@help-bot:rhok.space",termsUrl:"https://tosdr.org/",roomName:"Support Chat",introMessage:"This chat application does not collect any of your personal data or any data from your use of this service.",agreementMessage:"Do you want to continue?",confirmationMessage:"Waiting for a facilitator to join the chat...",exitMessage:"The chat is closed. You may close this window.",anonymousDisplayName:"Anonymous",chatUnavailableMessage:"The chat service is not available right now. Please try again later.",waitMessage:"Please be patient, our online facilitators are currently responding to other support requests."},t.a=N}).call(this,n(5))},function(e,t){t.endianness=function(){return"LE"},t.hostname=function(){return"undefined"!=typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"}},function(e,t,n){(function(e){(function(){var r,i,o,s,a,c,f,u,l,d,h,p,m,g=function(e,t){for(var n in t)y.call(t,n)&&(e[n]=t[n]);function r(){this.constructor=e}return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},y={}.hasOwnProperty;p=n(38),h=n(41),d=n(9),m=n(173).sync,c=function(e){var t,n,r,i,o;for(o=[],t=0,n=(i=h.readdirSync(e)).length;tthis.quota)throw new s;if(m(c,y,"utf8"),i||((l=new o(n,this._keys.push(e)-1)).size=b,this._metaKeyMap[e]=l,this.length+=1,this._bytesInUse+=b),u)return r=new a(e,g,t,this._eventUrl),this.emit("storage",r)},r.prototype.getItem=function(e){var t,n;return e=f(e),(n=this._metaKeyMap[e])?(t=p.join(this._location,n.key),h.readFileSync(t,"utf8")):null},r.prototype._getStat=function(e){var t;e=f(e),t=p.join(this._location,encodeURIComponent(e));try{return h.statSync(t)}catch(e){return null}},r.prototype.removeItem=function(e){var t,n,r,i,o,s,c,l;if(e=f(e),s=this._metaKeyMap[e]){for(i in c=null,(r=d.EventEmitter.listenerCount(this,"storage"))&&(c=this.getItem(e)),delete this._metaKeyMap[e],this.length-=1,this._bytesInUse-=s.size,n=p.join(this._location,s.key),this._keys.splice(s.index,1),l=this._metaKeyMap)l[i],(o=this._metaKeyMap[i]).index>s.index&&(o.index-=1);if(u(n),r)return t=new a(e,c,null,this._eventUrl),this.emit("storage",t)}},r.prototype.key=function(e){var t;return"---.EMPTY_STRING.---"===(t=this._keys[e])?"":t},r.prototype.clear=function(){var e;if(c(this._location),this._metaKeyMap=l(),this._keys=[],this.length=0,this._bytesInUse=0,d.EventEmitter.listenerCount(this,"storage"))return e=new a(null,null,null,this._eventUrl),this.emit("storage",e)},r.prototype._getBytesInUse=function(){return this._bytesInUse},r.prototype._deleteLocation=function(){return delete n[this._location],u(this._location),this._metaKeyMap={},this._keys=[],this.length=0,this._bytesInUse=0},r}(d.EventEmitter)),t.LocalStorage=i,t.JSONStorage=r,t.QUOTA_EXCEEDED_ERR=s}).call(this)}).call(this,n(12))},function(e,t,n){(function(t,r,i,o){var s,a,c,f,u={},l=(c="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(f){var l,d;if(f=f||{},l||(l=void 0!==f?f:{}),"undefined"!=typeof window)d=function(e){window.crypto.getRandomValues(e)};else{if(!e.exports)throw Error("Cannot find global to attach library to");var h=n(197);d=function(e){var t=h.randomBytes(e.length);e.set(t)},r=t.process}if("undefined"!=typeof OLM_OPTIONS)for(var p in OLM_OPTIONS)OLM_OPTIONS.hasOwnProperty(p)&&(l[p]=OLM_OPTIONS[p]);l.onRuntimeInitialized=function(){We=l._olm_error(),u.PRIVATE_KEY_LENGTH=l._olm_pk_private_key_length(),s&&s()},l.onAbort=function(e){a&&a(e)};var m,g={};for(m in l)l.hasOwnProperty(m)&&(g[m]=l[m]);l.arguments=[],l.thisProgram="./this.program",l.quit=function(e,t){throw t},l.preRun=[],l.postRun=[];var y=!1,b=!1,_=!1,v=!1;y="object"==typeof window,b="function"==typeof importScripts,_="object"==typeof r&&!y&&!b,v=!y&&!_&&!b;var A,w,E="";_?(E=i+"/",l.read=function(e,t){var r=we(e);return r||(A||(A=n(41)),w||(w=n(38)),e=w.normalize(e),r=A.readFileSync(e)),t?r:r.toString()},l.readBinary=function(e){return(e=l.read(e,!0)).buffer||(e=new Uint8Array(e)),x(e.buffer),e},1>2];return e=t+e+15&-16,U[V>>2]=e,(e=e>=$)&&(J(),e=!0),e?(U[V>>2]=t,0):t}function R(e){var t;return t||(t=16),Math.ceil(e/t)*t}g=void 0;var O=!1;function x(e,t){e||Be("Assertion failed: "+t)}function C(e){var t="i8";switch("*"===t.charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":B[e>>0]=0;break;case"i16":j[e>>1]=0;break;case"i32":U[e>>2]=0;break;case"i64":tempI64=[0,(tempDouble=0,1<=+ce(tempDouble)?0>>0:~~+fe((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],U[e>>2]=tempI64[0],U[e+4>>2]=tempI64[1];break;case"float":L[e>>2]=0;break;case"double":F[e>>3]=0;break;default:Be("invalid type for setValue: "+t)}}function P(e,t){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return B[e>>0];case"i16":return j[e>>1];case"i32":case"i64":return U[e>>2];case"float":return L[e>>2];case"double":return F[e>>3];default:Be("invalid type for getValue: "+t)}return null}function M(e){var t,n=l.ALLOC_STACK;if("number"==typeof e)var r=!0,i=e;else r=!1,i=e.length;if(t=4==n?o:["function"==typeof ke?ke:I,Se,I,T][void 0===n?2:n](Math.max(i,1)),r){var o=t;for(x(0==(3&t)),e=t+(-4&i);o>2]=0;for(e=t+i;o>0]=0;return t}return e.subarray||e.slice?N.set(e,t):N.set(new Uint8Array(e),t),t}var D,B,N,j,U,L,F,q,K,z,G,H,V,Q="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function W(e){for(var t=N,n=e;t[n];)++n;if(16r?n+=String.fromCharCode(r):(r-=65536,n+=String.fromCharCode(55296|r>>10,56320|1023&r))}}else n+=String.fromCharCode(r)}}function Y(e,t,n,r){if(!(0=s&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o)),127>=s){if(n>=r)break;t[n++]=s}else{if(2047>=s){if(n+1>=r)break;t[n++]=192|s>>6}else{if(65535>=s){if(n+2>=r)break;t[n++]=224|s>>12}else{if(2097151>=s){if(n+3>=r)break;t[n++]=240|s>>18}else{if(67108863>=s){if(n+4>=r)break;t[n++]=248|s>>24}else{if(n+5>=r)break;t[n++]=252|s>>30,t[n++]=128|s>>24&63}t[n++]=128|s>>18&63}t[n++]=128|s>>12&63}t[n++]=128|s>>6&63}t[n++]=128|63&s}}return t[n]=0,n-i}function X(e){for(var t=0,n=0;n=r&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++n)),127>=r?++t:t=2047>=r?t+2:65535>=r?t+3:2097151>=r?t+4:67108863>=r?t+5:t+6}return t}function J(){Be("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+$+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le"),q=K=z=G=H=V=0;var Z=l.TOTAL_STACK||5242880,$=l.TOTAL_MEMORY||16777216;function ee(e){for(;0>0]=e.charCodeAt(n)}var ce=Math.abs,fe=Math.ceil,ue=Math.floor,le=Math.min,de=0,he=null,pe=null;l.preloadedImages={},l.preloadedAudios={};var me=null,ge="data:application/octet-stream;base64,";q=39112,ne.push(),me="data:application/octet-stream;base64,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dmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAAAAAAXZQAAAgAAABmlAAACwAAALiSAABUlAAACAAAALiSAAC0mAAAAAAAAAEAAAABAAAAAQAAAAIAAAACAAAAuJIAANiUAAALAAAAuJIAACKWAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPTE1fS0VZUwBPTE1fUk9PVABPTE1fUkFUQ0hFVABzZW5kZXIgY2hhaW4gaW5kZXg6ICVkIAByZWNlaXZlciBjaGFpbiBpbmRpY2VzOgAgc2tpcHBlZCBtZXNzYWdlIGtleXM6ACAlZAABAiJjdXJ2ZTI1NTE5IjoAImVkMjU1MTkiOgBNRUdPTE1fS0VZUwAAAQIDVU5LTk9XTl9FUlJPUgBTVUNDRVNTAE5PVF9FTk9VR0hfUkFORE9NAE9VVFBVVF9CVUZGRVJfVE9PX1NNQUxMAEJBRF9NRVNTQUdFX1ZFUlNJT04AQkFEX01FU1NBR0VfRk9STUFUAEJBRF9NRVNTQUdFX01BQwBCQURfTUVTU0FHRV9LRVlfSUQASU5WQUxJRF9CQVNFNjQAQkFEX0FDQ09VTlRfS0VZAFVOS05PV05fUElDS0xFX1ZFUlNJT04AQ09SUlVQVEVEX1BJQ0tMRQBCQURfU0VTU0lPTl9LRVkAVU5LTk9XTl9NRVNTQUdFX0lOREVYAEJBRF9MRUdBQ1lfQUNDT1VOVF9QSUNLTEUAQkFEX1NJR05BVFVSRQBPTE1fSU5QVVRfQlVGRkVSX1RPT19TTUFMTABQaWNrbGUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAC4=";var ye=q;q+=16,V=I(4),K=z=R(q),H=R(G=K+Z),U[V>>2]=H;var be=!1;function _e(e){var t=Array(X(e)+1);return e=Y(e,t,0,t.length),t.length=e,t}function ve(e){for(var t=[],n=0;n>4,i=(15&i)<<4|o>>2;var a=(3&o)<<6|s;t+=String.fromCharCode(r),64!==o&&(t+=String.fromCharCode(i)),64!==s&&(t+=String.fromCharCode(a))}while(n>2]=e),e},_emscripten_memcpy_big:function(e,t,n){return N.set(N.subarray(t,t+n),e),e},DYNAMICTOP_PTR:V,tempDoublePtr:ye,STACKTOP:z,STACK_MAX:G};var Ee=function(e,t,n){"use asm";var r=new e.Int8Array(n);var i=new e.Int16Array(n);var o=new e.Int32Array(n);var s=new e.Uint8Array(n);var a=new e.Uint16Array(n);var c=new e.Uint32Array(n);var f=new e.Float32Array(n);var u=new e.Float64Array(n);var l=t.DYNAMICTOP_PTR|0;var d=t.tempDoublePtr|0;var h=t.STACKTOP|0;var p=t.STACK_MAX|0;var m=0;var g=0;var y=0;var b=0;var _=e.NaN,v=e.Infinity;var A=0,w=0,E=0,k=0,S=0.0;var I=0;var T=e.Math.floor;var R=e.Math.abs;var O=e.Math.sqrt;var x=e.Math.pow;var C=e.Math.cos;var P=e.Math.sin;var M=e.Math.tan;var D=e.Math.acos;var B=e.Math.asin;var N=e.Math.atan;var j=e.Math.atan2;var U=e.Math.exp;var L=e.Math.log;var F=e.Math.ceil;var q=e.Math.imul;var K=e.Math.min;var z=e.Math.max;var G=e.Math.clz32;var H=t.abort;var V=t.assert;var Q=t.enlargeMemory;var W=t.getTotalMemory;var Y=t.abortOnCannotGrowMemory;var X=t.invoke_ii;var J=t.invoke_iii;var Z=t.invoke_iiii;var $=t.invoke_iiiiiiiiii;var ee=t.___setErrNo;var te=t._emscripten_memcpy_big;var ne=0.0;function re(e){e=e|0;var t=0;t=h;h=h+e|0;h=h+15&-16;return t|0}function ie(){return h|0}function oe(e){e=e|0;h=e}function se(e,t){e=e|0;t=t|0;h=e;p=t}function ae(e,t){e=e|0;t=t|0;if(!m){m=e;g=t}}function ce(e){e=e|0;I=e}function fe(){return I|0}function ue(e){e=e|0;var t=0;t=e+2|0;e=(t>>>0)/3|0;return(e<<2|t-(e*3|0))+-2|0}function le(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,a=0,c=0,f=0;a=t-((t>>>0)%3|0)|0;o=e+a|0;if(!a){a=n;o=e}else{i=e;do{a=s[i>>0]|0;c=a<<8|(s[i+1>>0]|0);f=s[i+2>>0]|0;i=i+3|0;r[n+3>>0]=r[16+(f&63)>>0]|0;r[n+2>>0]=r[16+((c<<8|f)>>>6&63)>>0]|0;r[n+1>>0]=r[16+(c>>>4&63)>>0]|0;r[n>>0]=r[16+(a>>>2)>>0]|0;n=n+4|0}while((i|0)!=(o|0));a=n}n=e+t-o|0;if(!n){f=a;return f|0}i=s[o>>0]|0;if((n|0)==2){n=s[o+1>>0]|0;r[a+2>>0]=r[16+(n<<2&60)>>0]|0;n=(i<<8|n)>>>4;i=3}else{n=i<<4;i=2}r[a+1>>0]=r[16+(n&63)>>0]|0;r[a>>0]=r[16+(n>>>6)>>0]|0;f=a+i|0;return f|0}function de(e){e=e|0;var t=0;t=e+2|0;return((e&3|0)==1?-1:(t&3)+-2+((t>>>2)*3|0)|0)|0}function he(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,a=0,c=0,f=0,u=0,l=0;f=t&-4;a=e+f|0;if(!f)c=e;else{c=(((f+-4|0)>>>2)*3|0)+3|0;i=n;o=e;while(1){u=(s[80+(r[o>>0]&127)>>0]|0)<<6|(s[80+(r[o+1>>0]&127)>>0]|0);l=u<<6|(s[80+(r[o+2>>0]&127)>>0]|0);r[i+2>>0]=l<<6|(s[80+(r[o+3>>0]&127)>>0]|0);o=o+4|0;r[i+1>>0]=l>>>2;r[i>>0]=u>>>4;if((o|0)==(a|0))break;else i=i+3|0}n=n+c|0;c=e+f|0}i=e+t|0;o=i-c|0;if(!o)return i|0;a=(s[80+(r[c>>0]&127)>>0]|0)<<6|(s[80+(r[c+1>>0]&127)>>0]|0);if((o|0)==3)r[n+1>>0]=(a<<6|(s[80+(r[c+2>>0]&127)>>0]|0))>>>2;r[n>>0]=a>>>4;return i|0}function pe(e){e=e|0;var t=0;t=e+2|0;e=(t>>>0)/3|0;return(e<<2|t-(e*3|0))+-2|0}function me(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,a=0,c=0,f=0,u=0;c=t-((t>>>0)%3|0)|0;a=e+c|0;if(!c){c=n;a=e}else{i=n;o=e;do{c=s[o>>0]|0;f=c<<8|(s[o+1>>0]|0);u=s[o+2>>0]|0;o=o+3|0;r[i+3>>0]=r[16+(u&63)>>0]|0;r[i+2>>0]=r[16+((f<<8|u)>>>6&63)>>0]|0;r[i+1>>0]=r[16+(f>>>4&63)>>0]|0;r[i>>0]=r[16+(c>>>2)>>0]|0;i=i+4|0}while((o|0)!=(a|0));c=i}i=e+t-a|0;if(!i){f=c;u=n;u=f-u|0;return u|0}o=s[a>>0]|0;if((i|0)==2){i=s[a+1>>0]|0;r[c+2>>0]=r[16+(i<<2&60)>>0]|0;i=(o<<8|i)>>>4;o=3}else{i=o<<4;o=2}r[c+1>>0]=r[16+(i&63)>>0]|0;r[c>>0]=r[16+(i>>>6)>>0]|0;f=c+o|0;u=n;u=f-u|0;return u|0}function ge(e){e=e|0;var t=0;t=e+2|0;return((e&3|0)==1?-1:(t&3)+-2+((t>>>2)*3|0)|0)|0}function ye(e,t,n){e=e|0;t=t|0;n=n|0;he(e,t,n)|0;n=t+2|0;return((t&3|0)==1?-1:(n&3)+-2+((n>>>2)*3|0)|0)|0}function be(e,t){e=e|0;t=t|0;r[e+3>>0]=t;r[e+2>>0]=t>>>8;r[e+1>>0]=t>>>16;r[e>>0]=t>>>24;return e+4|0}function _e(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;o[n>>2]=0;r=e+4|0;if(r>>>0>t>>>0){r=t;return r|0}o[n>>2]=0;t=(s[e>>0]|0)<<8;o[n>>2]=t;t=(t|(s[e+1>>0]|0))<<8;o[n>>2]=t;t=(t|(s[e+2>>0]|0))<<8;o[n>>2]=t;o[n>>2]=t|(s[e+3>>0]|0);return r|0}function ve(e,t){e=e|0;t=t|0;r[e>>0]=t&1;return e+1|0}function Ae(e,t,n){e=e|0;t=t|0;n=n|0;if((e|0)==(t|0)){n=e;return n|0}r[n>>0]=(r[e>>0]|0)!=0&1;n=e+1|0;return n|0}function we(e,t,n){e=e|0;t=t|0;n=n|0;Ms(e|0,t|0,n|0)|0;return e+n|0}function Ee(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=e+r|0;if(i>>>0>t>>>0){i=t;return i|0}Ms(n|0,e|0,r|0)|0;return i|0}function ke(e){e=e|0;return 32}function Se(e,t){e=e|0;t=t|0;var n=0,i=0;i=e;n=i+32|0;do{r[i>>0]=r[t>>0]|0;i=i+1|0;t=t+1|0}while((i|0)<(n|0));return e+32|0}function Ie(e,t,n){e=e|0;t=t|0;n=n|0;var i=0;i=e+32|0;if(i>>>0>t>>>0){i=t;return i|0}t=e;e=n+32|0;do{r[n>>0]=r[t>>0]|0;n=n+1|0;t=t+1|0}while((n|0)<(e|0));return i|0}function Te(e){e=e|0;return 64}function Re(e,t){e=e|0;t=t|0;var n=0,i=0,o=0;n=e;i=t;o=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));n=e+32|0;i=t+32|0;o=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));return e+64|0}function Oe(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0;i=e+32|0;if(i>>>0>t>>>0)i=t;else{a=n;s=a+32|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0))}o=i+32|0;if(o>>>0>t>>>0){a=t;return a|0}a=n+32|0;e=i;s=a+32|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0));a=o;return a|0}function xe(e){e=e|0;return 32}function Ce(e,t){e=e|0;t=t|0;var n=0,i=0;i=e;n=i+32|0;do{r[i>>0]=r[t>>0]|0;i=i+1|0;t=t+1|0}while((i|0)<(n|0));return e+32|0}function Pe(e,t,n){e=e|0;t=t|0;n=n|0;var i=0;i=e+32|0;if(i>>>0>t>>>0){i=t;return i|0}t=e;e=n+32|0;do{r[n>>0]=r[t>>0]|0;n=n+1|0;t=t+1|0}while((n|0)<(e|0));return i|0}function Me(e){e=e|0;return 96}function De(e,t){e=e|0;t=t|0;var n=0,i=0,o=0;n=e;i=t;o=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));n=e+32|0;i=t+32|0;o=n+64|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));return e+96|0}function Be(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0;i=e+32|0;if(i>>>0>t>>>0)i=t;else{a=n;s=a+32|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0))}o=i+64|0;if(o>>>0>t>>>0){a=t;return a|0}a=n+32|0;e=i;s=a+64|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0));a=o;return a|0}function Ne(e,t){e=e|0;t=t|0;r[e+3>>0]=t;r[e+2>>0]=t>>>8;r[e+1>>0]=t>>>16;r[e>>0]=t>>>24;return e+4|0}function je(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;o[n>>2]=0;r=e+4|0;if(r>>>0>t>>>0){r=t;return r|0}o[n>>2]=0;t=(s[e>>0]|0)<<8;o[n>>2]=t;t=(t|(s[e+1>>0]|0))<<8;o[n>>2]=t;t=(t|(s[e+2>>0]|0))<<8;o[n>>2]=t;o[n>>2]=t|(s[e+3>>0]|0);return r|0}function Ue(e,t){e=e|0;t=t|0;r[e>>0]=(t|0)!=0&1;return e+1|0}function Le(e,t,n){e=e|0;t=t|0;n=n|0;if((e|0)==(t|0)){n=e;return n|0}r[n>>0]=(r[e>>0]|0)!=0&1;n=e+1|0;return n|0}function Fe(e,t,n){e=e|0;t=t|0;n=n|0;Ms(e|0,t|0,n|0)|0;return e+n|0}function qe(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=e+r|0;if(i>>>0>t>>>0){i=t;return i|0}Ms(n|0,e|0,r|0)|0;return i|0}function Ke(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0,s=0;if(t>>>0>127){o=t;i=1;while(1){i=i+1|0;if(o>>>0>16383)o=o>>>7;else{s=i;break}}}else s=1;if(e>>>0>127){i=1;while(1){i=i+1|0;if(e>>>0>16383)e=e>>>7;else{o=i;break}}}else o=1;if(n>>>0>127){e=n;i=1;while(1){i=i+1|0;if(e>>>0>16383)e=e>>>7;else break}}else i=1;return t+4+n+r+s+o+i|0}function ze(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;r[a>>0]=t;t=a+2|0;r[a+1>>0]=10;if(i>>>0>127){c=t;f=i;while(1){t=c+1|0;r[c>>0]=f|128;a=f>>>7;if(f>>>0>16383){c=t;f=a}else break}}else a=i;f=t+1|0;r[t>>0]=a;o[e>>2]=f;i=f+i|0;t=i+1|0;r[i>>0]=16;if(n>>>0>127)while(1){a=t+1|0;r[t>>0]=n|128;c=n>>>7;if(n>>>0>16383){t=a;n=c}else{n=c;break}}else a=t;r[a>>0]=n;c=e+4|0;t=a+2|0;r[a+1>>0]=34;if(s>>>0<=127){f=s;i=t;f=f&255;e=i+1|0;r[i>>0]=f;o[c>>2]=e;return}a=t;while(1){t=a+1|0;r[a>>0]=s|128;n=s>>>7;if(s>>>0>16383){a=t;s=n}else break}i=n&255;e=t+1|0;r[t>>0]=i;o[c>>2]=e;return}function Ge(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0;s=n-i|0;f=t+s|0;o[e+8>>2]=t;o[e+12>>2]=n;l=e+1|0;r[l>>0]=0;d=e+16|0;h=e+20|0;p=e+24|0;u=e+28|0;o[d>>2]=0;o[d+4>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;if(n>>>0>>0|(s|0)==0)return;r[e>>0]=r[t>>0]|0;if((s|0)==1)return;a=e+4|0;c=f;s=t+1|0;e:while(1){if((r[s>>0]|0)==10){t=s+1|0;if((t|0)!=(f|0)){e=t;while(1){i=e;e=e+1|0;if((r[i>>0]|0)>-1)break;if((e|0)==(f|0)){e=f;break}}if((e|0)!=(t|0)){n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(t|0));if(n>>>0>(c-e|0)>>>0){s=58;break}}else{n=0;e=t}}else{n=0;e=f}o[d>>2]=e;o[h>>2]=n;e=e+n|0}else e=s;if((e|0)==(f|0)){s=58;break}if((r[e>>0]|0)==16){t=e+1|0;if((t|0)!=(f|0)){e=t;while(1){i=e;e=e+1|0;if((r[i>>0]|0)>-1)break;if((e|0)==(f|0)){e=f;break}}if((e|0)==(t|0)){n=0;e=t}else{n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(t|0))}}else{n=0;e=f}o[a>>2]=n;r[l>>0]=1}if((e|0)==(f|0)){s=58;break}if((r[e>>0]|0)==34){t=e+1|0;if((t|0)!=(f|0)){e=t;while(1){i=e;e=e+1|0;if((r[i>>0]|0)>-1)break;if((e|0)==(f|0)){e=f;break}}if((e|0)!=(t|0)){n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(t|0));if(n>>>0>(c-e|0)>>>0){s=58;break}}else{n=0;e=t}}else{n=0;e=f}o[p>>2]=e;o[u>>2]=n;e=e+n|0}t:do{if(!((s|0)!=(e|0)|(e|0)==(f|0))){n=r[s>>0]|0;switch(n&7){case 0:{s=s+1|0;e=(s|0)==(f|0);if(n<<24>>24<=-1)while(1){if(e){s=58;break e}n=s+1|0;e=(n|0)==(f|0);if((r[s>>0]|0)>-1){s=n;break}else s=n}if(e)break t;while(1){t=s;s=s+1|0;if((r[t>>0]|0)>-1)break t;if((s|0)==(f|0)){s=58;break e}}}case 2:break;default:{s=58;break e}}s=s+1|0;e=(s|0)==(f|0);if(n<<24>>24<=-1)while(1){if(e){s=58;break e}n=s+1|0;e=(n|0)==(f|0);if((r[s>>0]|0)>-1){s=n;break}else s=n}if(!e){e=s;while(1){t=e;e=e+1|0;if((r[t>>0]|0)>-1)break;if((e|0)==(f|0)){e=f;break}}if((e|0)!=(s|0)){n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(s|0));if(n>>>0>(c-e|0)>>>0){s=58;break e}else s=e+n|0}}}else s=e}while(0);if((s|0)==(f|0)){s=58;break}}if((s|0)==58)return}function He(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0,s=0,a=0,c=0;if(e>>>0>127){o=e;i=1;while(1){i=i+1|0;if(o>>>0>16383)o=o>>>7;else break}}else i=1;if(t>>>0>127){s=t;o=1;while(1){o=o+1|0;if(s>>>0>16383)s=s>>>7;else break}}else o=1;if(n>>>0>127){a=n;s=1;while(1){s=s+1|0;if(a>>>0>16383)a=a>>>7;else{c=s;break}}}else c=1;if(r>>>0>127){a=r;s=1;while(1){s=s+1|0;if(a>>>0>16383)a=a>>>7;else break}}else s=1;return e+5+t+n+r+i+o+c+s|0}function Ve(e,t,n,i,s,a,c){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;var f=0,u=0,l=0;r[c>>0]=t;l=e+8|0;t=c+2|0;r[c+1>>0]=10;if(s>>>0>127){f=t;u=s;while(1){t=f+1|0;r[f>>0]=u|128;c=u>>>7;if(u>>>0>16383){f=t;u=c}else break}}else c=s;u=t+1|0;r[t>>0]=c;o[l>>2]=u;s=u+s|0;l=e+4|0;t=s+1|0;r[s>>0]=18;if(i>>>0>127){f=i;while(1){u=t+1|0;r[t>>0]=f|128;c=f>>>7;if(f>>>0>16383){t=u;f=c}else{t=u;break}}}else c=i;s=t+1|0;r[t>>0]=c;o[l>>2]=s;i=s+i|0;t=i+1|0;r[i>>0]=26;if(n>>>0>127){f=n;while(1){u=t+1|0;r[t>>0]=f|128;c=f>>>7;if(f>>>0>16383){t=u;f=c}else{t=u;break}}}else c=n;u=t+1|0;r[t>>0]=c;o[e>>2]=u;n=u+n|0;u=e+12|0;t=n+1|0;r[n>>0]=34;if(a>>>0<=127){i=a;e=t;i=i&255;n=e+1|0;r[e>>0]=i;o[u>>2]=n;return}f=t;while(1){t=f+1|0;r[f>>0]=a|128;c=a>>>7;if(a>>>0>16383){f=t;a=c}else break}e=c&255;n=t+1|0;r[t>>0]=e;o[u>>2]=n;return}function Qe(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0;u=t+n|0;l=e+20|0;d=e+24|0;h=e+4|0;p=e+8|0;m=e+12|0;g=e+16|0;c=e+28|0;f=e+32|0;o[h>>2]=0;o[h+4>>2]=0;o[h+8>>2]=0;o[h+12>>2]=0;o[h+16>>2]=0;o[h+20>>2]=0;o[h+24>>2]=0;o[h+28>>2]=0;if(!n)return;r[e>>0]=r[t>>0]|0;if((n|0)==1)return;a=u;e=t+1|0;e:while(1){if((r[e>>0]|0)==10){s=e+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[l>>2]=n;o[d>>2]=t;n=n+t|0}else n=e;if((n|0)==(u|0)){e=70;break}if((r[n>>0]|0)==18){s=n+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[m>>2]=n;o[g>>2]=t;n=n+t|0}if((n|0)==(u|0)){e=70;break}if((r[n>>0]|0)==26){s=n+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[h>>2]=n;o[p>>2]=t;n=n+t|0}if((n|0)==(u|0)){e=70;break}if((r[n>>0]|0)==34){s=n+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[c>>2]=n;o[f>>2]=t;n=n+t|0}t:do{if(!((e|0)!=(n|0)|(n|0)==(u|0))){t=r[e>>0]|0;switch(t&7){case 0:{e=e+1|0;n=(e|0)==(u|0);if(t<<24>>24<=-1)while(1){if(n){e=70;break e}t=e+1|0;n=(t|0)==(u|0);if((r[e>>0]|0)>-1){e=t;break}else e=t}if(n)break t;while(1){s=e;e=e+1|0;if((r[s>>0]|0)>-1)break t;if((e|0)==(u|0)){e=70;break e}}}case 2:break;default:{e=70;break e}}e=e+1|0;n=(e|0)==(u|0);if(t<<24>>24<=-1)while(1){if(n){e=70;break e}t=e+1|0;n=(t|0)==(u|0);if((r[e>>0]|0)>-1){e=t;break}else e=t}if(!n){n=e;while(1){s=n;n=n+1|0;if((r[s>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(e|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(e|0));if(t>>>0>(a-n|0)>>>0){e=70;break e}else e=n+t|0}}}else e=n}while(0);if((e|0)==(u|0)){e=70;break}}if((e|0)==70)return}function We(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0;if(e>>>0>127){i=1;while(1){i=i+1|0;if(e>>>0>16383)e=e>>>7;else break}}else i=1;if(t>>>0>127){o=t;e=1;while(1){e=e+1|0;if(o>>>0>16383)o=o>>>7;else break}}else e=1;return t+3+n+r+i+e|0}function Ye(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0;r[i>>0]=e;a=i+2|0;r[i+1>>0]=8;if(t>>>0>127){c=a;while(1){a=c+1|0;r[c>>0]=t|128;e=t>>>7;if(t>>>0>16383){c=a;t=e}else break}}else e=t;r[a>>0]=e;e=a+2|0;r[a+1>>0]=18;if(n>>>0>127){t=n;while(1){c=e+1|0;r[e>>0]=t|128;a=t>>>7;if(t>>>0>16383){e=c;t=a}else{e=c;break}}}else a=n;c=e+1|0;r[e>>0]=a;o[s>>2]=c;return c+n-i|0}function Xe(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,h=0;f=i+n|0;n=t-f|0;u=e+n|0;l=s+4|0;o[l>>2]=0;d=s+12|0;o[d>>2]=0;h=s+16|0;o[h>>2]=0;if(f>>>0>t>>>0|(n|0)==0)return;r[s>>0]=r[e>>0]|0;e:do{if((n|0)==1)n=0;else{f=u;n=0;i=e+1|0;do{if((r[i>>0]|0)==8){a=i+1|0;if((a|0)!=(u|0)){n=a;while(1){c=n;n=n+1|0;if((r[c>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)==(a|0)){t=0;n=a}else{t=0;e=n;do{e=e+-1|0;t=t<<7|r[e>>0]&127}while((e|0)!=(a|0))}}else{t=0;n=u}o[l>>2]=t;t=n;n=1}else t=i;if((t|0)==(u|0))break e;if((r[t>>0]|0)==18){c=t+1|0;if((c|0)!=(u|0)){t=c;while(1){a=t;t=t+1|0;if((r[a>>0]|0)>-1)break;if((t|0)==(u|0)){t=u;break}}if((t|0)!=(c|0)){e=0;a=t;do{a=a+-1|0;e=e<<7|r[a>>0]&127}while((a|0)!=(c|0));if(e>>>0>(f-t|0)>>>0)break e}else{e=0;t=c}}else{e=0;t=u}o[d>>2]=t;o[h>>2]=e;t=t+e|0}t:do{if(!((i|0)!=(t|0)|(t|0)==(u|0))){e=r[i>>0]|0;switch(e&7){case 0:{i=i+1|0;t=(i|0)==(u|0);if(e<<24>>24<=-1)while(1){if(t)break e;e=i+1|0;t=(e|0)==(u|0);if((r[i>>0]|0)>-1){i=e;break}else i=e}if(t)break t;while(1){c=i;i=i+1|0;if((r[c>>0]|0)>-1)break t;if((i|0)==(u|0))break e}}case 2:break;default:break e}i=i+1|0;t=(i|0)==(u|0);if(e<<24>>24<=-1)while(1){if(t)break e;e=i+1|0;t=(e|0)==(u|0);if((r[i>>0]|0)>-1){i=e;break}else i=e}if(!t){t=i;while(1){c=t;t=t+1|0;if((r[c>>0]|0)>-1)break;if((t|0)==(u|0)){t=u;break}}if((t|0)!=(i|0)){e=0;a=t;do{a=a+-1|0;e=e<<7|r[a>>0]&127}while((a|0)!=(i|0));if(e>>>0>(f-t|0)>>>0)break e;else i=t+e|0}}}else i=t}while(0)}while((i|0)!=(u|0))}}while(0);o[s+8>>2]=n&255;return}function Je(e){e=e|0;gn(e,37520,37536);o[e+3216>>2]=0;r[e+3220>>0]=0;return}function Ze(e){e=e|0;return 64}function $e(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var c=0,f=0,u=0,l=0,d=0;d=h;h=h+224|0;f=d+160|0;u=d+96|0;l=d;if(a>>>0<64){o[e+3216>>2]=1;l=-1;h=d;return l|0}else{pt(s,f);pt(s+32|0,u);t=t+96|0;r[e+3220>>0]=0;s=e+3221|0;a=t;c=s+32|0;do{r[s>>0]=r[a>>0]|0;s=s+1|0;a=a+1|0}while((s|0)<(c|0));s=e+3253|0;a=f;c=s+32|0;do{r[s>>0]=r[a>>0]|0;s=s+1|0;a=a+1|0}while((s|0)<(c|0));s=e+3285|0;a=i;c=s+32|0;do{r[s>>0]=r[a>>0]|0;s=s+1|0;a=a+1|0}while((s|0)<(c|0));mt(t,i,l);mt(f,n,l+32|0);mt(f,i,l+64|0);bn(e,l,96,u);Hr(f,64);Hr(u,64);Hr(l,96);l=0;h=d;return l|0}return 0}function et(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0;b=h;h=h+208|0;p=b+128|0;m=b+96|0;g=b+168|0;y=b;Qe(p,i,s);c=(n|0)!=0;i=o[p+4>>2]|0;a=(i|0)!=0;s=c|a;if(i)s=s&(o[p+8>>2]|0)==32;l=o[p+28>>2]|0;u=o[p+12>>2]|0;d=o[p+20>>2]|0;if(!(s&(l|0)!=0&(u|0)!=0&(o[p+16>>2]|0)==32&(d|0)!=0&(o[p+24>>2]|0)==32)){o[e+3216>>2]=4;y=-1;h=b;return y|0}if(c&a?qo(n,i,32)|0:0){o[e+3216>>2]=6;y=-1;h=b;return y|0}f=e+3221|0;n=f;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));c=e+3253|0;n=c;i=u;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));s=e+3285|0;n=s;i=d;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));p=o[p+32>>2]|0;i=o[e+4>>2]|0;Ge(m,l,p,Gs[o[o[i>>2]>>2]&1](i)|0);i=o[m+16>>2]|0;if((i|0)!=0?(o[m+20>>2]|0)==32:0){n=g;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));i=Tr(t,s)|0;if(!i){o[e+3216>>2]=6;i=-1}else{i=i+5|0;mt(i,f,y);mt(t+96|0,c,y+32|0);mt(i,c,y+64|0);yn(e,y,96,g);Hr(y,96);i=0}}else{o[e+3216>>2]=4;i=-1}y=i;h=b;return y|0}function tt(e){e=e|0;return 32}function nt(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0;c=h;h=h+96|0;a=c;if(n>>>0<32){o[e+3216>>2]=2;a=-1;h=c;return a|0}else{n=a;i=e+3221|0;s=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(s|0));n=a+32|0;i=e+3253|0;s=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(s|0));n=a+64|0;i=e+3285|0;s=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(s|0));wt(a,96,t);a=32;h=c;return a|0}return 0}function rt(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,c=0,f=0,u=0;u=h;h=h+48|0;f=u;Qe(f,n,r);c=(t|0)!=0;a=o[f+4>>2]|0;n=c|(a|0)!=0;r=(a|0)==0;if(!r)n=n&(o[f+8>>2]|0)==32;i=o[f+12>>2]|0;s=o[f+20>>2]|0;if(!(n&(o[f+28>>2]|0)!=0&(i|0)!=0&(o[f+16>>2]|0)==32&(s|0)!=0&(o[f+24>>2]|0)==32)){t=0;h=u;return t|0}if(r)n=1;else n=(qo(a,e+3221|0,32)|0)==0;if(c){if(!n){t=0;h=u;return t|0}if(qo(t,e+3221|0,32)|0){t=0;h=u;return t|0}}else if(!n){t=0;h=u;return t|0}if(qo(i,e+3253|0,32)|0){t=0;h=u;return t|0}t=(qo(s,e+3285|0,32)|0)==0;h=u;return t|0}function it(e){e=e|0;return s[e+3220>>0]|0|0}function ot(e,t){e=e|0;t=t|0;t=wn(e,t)|0;if(r[e+3220>>0]|0){e=t;return e|0}e=He(32,32,32,t)|0;return e|0}function st(e){e=e|0;return En(e)|0}function at(e,t,n,i,s,a,c){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;var f=0,u=0,l=0,d=0,p=0;p=h;h=h+16|0;d=p;f=wn(e,n)|0;u=e+3220|0;if(!(r[u>>0]|0))f=He(32,32,32,f)|0;if(f>>>0>c>>>0){o[e+3216>>2]=2;e=-1;h=p;return e|0}l=wn(e,n)|0;if(!(r[u>>0]|0)){Ve(d,3,32,32,32,l,a);a=o[d+8>>2]|0;f=e+3285|0;c=a+32|0;do{r[a>>0]=r[f>>0]|0;a=a+1|0;f=f+1|0}while((a|0)<(c|0));a=o[d>>2]|0;f=e+3221|0;c=a+32|0;do{r[a>>0]=r[f>>0]|0;a=a+1|0;f=f+1|0}while((a|0)<(c|0));a=o[d+4>>2]|0;f=e+3253|0;c=a+32|0;do{r[a>>0]=r[f>>0]|0;a=a+1|0;f=f+1|0}while((a|0)<(c|0));a=o[d+12>>2]|0}a=kn(e,t,n,i,s,a,l)|0;if((a|0)!=-1){e=a;h=p;return e|0}s=e+8|0;o[e+3216>>2]=o[s>>2];o[s>>2]=0;e=-1;h=p;return e|0}function ct(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0;s=h;h=h+48|0;i=s;do{if((t|0)!=1){Qe(i,n,r);n=o[i+28>>2]|0;if(n|0){r=o[i+32>>2]|0;break}o[e+3216>>2]=4;e=-1;h=s;return e|0}}while(0);n=Sn(e,n,r)|0;if((n|0)!=-1){e=n;h=s;return e|0}i=e+8|0;o[e+3216>>2]=o[i>>2];o[i>>2]=0;e=-1;h=s;return e|0}function ft(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;f=h;h=h+48|0;c=f;do{if((t|0)!=1){Qe(c,n,i);n=o[c+28>>2]|0;if(n|0){i=o[c+32>>2]|0;break}o[e+3216>>2]=4;e=-1;h=f;return e|0}}while(0);n=In(e,n,i,s,a)|0;if((n|0)==-1){a=e+8|0;o[e+3216>>2]=o[a>>2];o[a>>2]=0;e=-1;h=f;return e|0}else{r[e+3220>>0]=1;e=n;h=f;return e|0}return 0}function ut(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0;m=h;h=h+48|0;p=m+32|0;u=m+24|0;l=m+16|0;i=m;if(!n){h=m;return}r[t>>0]=0;f=t;o[i>>2]=o[e+112>>2];i=vs(t,n,38002,i)|0;i=(i|0)>0?t+i|0:t;d=f+n|0;a=vs(i,d-i|0,38026,m+8|0)|0;i=(a|0)>0?i+a|0:i;a=e+148|0;c=e+152|0;t=f-i+n|0;if((o[a>>2]|0)!=(c|0)){s=0;do{o[u>>2]=o[e+152+(s*68|0)+32>>2];t=vs(i,t,38073,u)|0;i=(t|0)>0?i+t|0:i;s=s+1|0;t=f-i+n|0}while(s>>>0<(((o[a>>2]|0)-c|0)/68|0)>>>0)}t=vs(i,t,38050,l)|0;a=e+492|0;c=e+496|0;if((o[a>>2]|0)==(c|0)){h=m;return}s=0;t=(t|0)>-1?i+t|0:i;while(1){o[p>>2]=o[e+496+(s*68|0)+32>>2];i=vs(t,d-t|0,38073,p)|0;s=s+1|0;if(s>>>0>=(((o[a>>2]|0)-c|0)/68|0)>>>0)break;else t=(i|0)>0?t+i|0:t}h=m;return}function lt(e){e=e|0;var t=0;t=(ke(e+3221|0)|0)+5|0;t=t+(ke(e+3253|0)|0)|0;t=t+(ke(e+3285|0)|0)|0;return t+(_n(e)|0)|0}function dt(e,t){e=e|0;t=t|0;e=be(e,1)|0;return vn(Se(Se(Se(ve(e,(r[t+3220>>0]|0)!=0)|0,t+3221|0)|0,t+3253|0)|0,t+3285|0)|0,t)|0}function ht(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0;s=h;h=h+16|0;r=s;i=_e(e,t,r)|0;e=o[r>>2]|0;e:do{if((e|0)<1){switch(e|0){case-2147483647:break;default:{r=3;break e}}e=1;r=4}else switch(e|0){case 1:{e=0;r=4;break}default:r=3}}while(0);if((r|0)==3){o[n+3216>>2]=9;n=t;h=s;return n|0}else if((r|0)==4){n=An(Ie(Ie(Ie(Ae(i,t,n+3220|0)|0,t,n+3221|0)|0,t,n+3253|0)|0,t,n+3285|0)|0,t,n,e)|0;h=s;return n|0}return 0}function pt(e,t){e=e|0;t=t|0;var n=0,i=0,o=0;i=t+32|0;o=i;n=o+32|0;do{r[o>>0]=r[e>>0]|0;o=o+1|0;e=e+1|0}while((o|0)<(n|0));Po(t,i,208)|0;return}function mt(e,t,n){e=e|0;t=t|0;n=n|0;Po(n,e+32|0,t)|0;return}function gt(e,t){e=e|0;t=t|0;hi(t,t+32|0,e);return}function yt(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;bi(r,t,n,e,e+32|0);return}function bt(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return(yi(r,t,n,e)|0)!=0|0}function _t(e){e=e|0;return e+16-(e&15)|0}function vt(e,t,n,i,o){e=e|0;t=t|0;n=n|0;i=i|0;o=o|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0;C=h;h=h+256|0;O=C+16|0;x=C;Oo(e,O,256);T=x;k=T+16|0;do{r[T>>0]=r[t>>0]|0;T=T+1|0;t=t+1|0}while((T|0)<(k|0));if(i>>>0>15){A=x+1|0;w=x+2|0;a=x+3|0;c=x+4|0;f=x+5|0;u=x+6|0;l=x+7|0;d=x+8|0;p=x+9|0;m=x+10|0;g=x+11|0;y=x+12|0;b=x+13|0;_=x+14|0;v=x+15|0;S=i+-16|0;I=S&-16;R=I+16|0;E=o+R|0;e=i;i=n;while(1){r[x>>0]=r[x>>0]^r[i>>0];r[A>>0]=r[A>>0]^r[i+1>>0];r[w>>0]=r[w>>0]^r[i+2>>0];r[a>>0]=r[a>>0]^r[i+3>>0];r[c>>0]=r[c>>0]^r[i+4>>0];r[f>>0]=r[f>>0]^r[i+5>>0];r[u>>0]=r[u>>0]^r[i+6>>0];r[l>>0]=r[l>>0]^r[i+7>>0];r[d>>0]=r[d>>0]^r[i+8>>0];r[p>>0]=r[p>>0]^r[i+9>>0];r[m>>0]=r[m>>0]^r[i+10>>0];r[g>>0]=r[g>>0]^r[i+11>>0];r[y>>0]=r[y>>0]^r[i+12>>0];r[b>>0]=r[b>>0]^r[i+13>>0];r[_>>0]=r[_>>0]^r[i+14>>0];r[v>>0]=r[v>>0]^r[i+15>>0];To(x,o,O,256);T=x;t=o;k=T+16|0;do{r[T>>0]=r[t>>0]|0;T=T+1|0;t=t+1|0}while((T|0)<(k|0));e=e+-16|0;if(e>>>0<=15)break;else{o=o+16|0;i=i+16|0}}o=E;t=S-I|0;n=n+R|0}else t=i;if(t){e=0;do{R=x+e|0;r[R>>0]=r[R>>0]^r[n+e>>0];e=e+1|0}while((e|0)!=(t|0));if(t>>>0<16)n=t;else{To(x,o,O,256);Hr(O,240);Hr(x,16);h=C;return}}else n=0;e=16-t|0;do{R=x+n|0;r[R>>0]=e^(s[R>>0]|0);n=n+1|0}while((n|0)!=16);To(x,o,O,256);Hr(O,240);Hr(x,16);h=C;return}function At(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0;O=h;h=h+272|0;I=O+32|0;T=O+16|0;R=O;Oo(e,I,256);S=T;k=S+16|0;do{r[S>>0]=r[t>>0]|0;S=S+1|0;t=t+1|0}while((S|0)<(k|0));if(!i){Hr(I,240);Hr(T,16);Hr(R,16);R=i+-1|0;R=s+R|0;R=r[R>>0]|0;R=R&255;T=R>>>0>i>>>0;R=i-R|0;R=T?-1:R;h=O;return R|0}E=T+1|0;a=T+2|0;c=T+3|0;f=T+4|0;u=T+5|0;l=T+6|0;d=T+7|0;p=T+8|0;m=T+9|0;g=T+10|0;y=T+11|0;b=T+12|0;_=T+13|0;v=T+14|0;A=T+15|0;e=0;do{w=n+e|0;S=R;t=w;k=S+16|0;do{r[S>>0]=r[t>>0]|0;S=S+1|0;t=t+1|0}while((S|0)<(k|0));S=s+e|0;Co(w,S,I,256);r[S>>0]=r[S>>0]^r[T>>0];k=S+1|0;r[k>>0]=r[k>>0]^r[E>>0];k=S+2|0;r[k>>0]=r[k>>0]^r[a>>0];k=S+3|0;r[k>>0]=r[k>>0]^r[c>>0];k=S+4|0;r[k>>0]=r[k>>0]^r[f>>0];k=S+5|0;r[k>>0]=r[k>>0]^r[u>>0];k=S+6|0;r[k>>0]=r[k>>0]^r[l>>0];k=S+7|0;r[k>>0]=r[k>>0]^r[d>>0];k=S+8|0;r[k>>0]=r[k>>0]^r[p>>0];k=S+9|0;r[k>>0]=r[k>>0]^r[m>>0];k=S+10|0;r[k>>0]=r[k>>0]^r[g>>0];k=S+11|0;r[k>>0]=r[k>>0]^r[y>>0];k=S+12|0;r[k>>0]=r[k>>0]^r[b>>0];k=S+13|0;r[k>>0]=r[k>>0]^r[_>>0];k=S+14|0;r[k>>0]=r[k>>0]^r[v>>0];S=S+15|0;r[S>>0]=r[S>>0]^r[A>>0];o[T>>2]=o[R>>2];o[T+4>>2]=o[R+4>>2];o[T+8>>2]=o[R+8>>2];o[T+12>>2]=o[R+12>>2];e=e+16|0}while(e>>>0>>0);Hr(I,240);Hr(T,16);Hr(R,16);R=i+-1|0;R=s+R|0;R=r[R>>0]|0;R=R&255;T=R>>>0>i>>>0;R=i-R|0;R=T?-1:R;h=O;return R|0}function wt(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0;r=h;h=h+112|0;i=r;ko(i);So(i,e,t);Io(i,n);Hr(i,112);h=r;return}function Et(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0;u=h;h=h+288|0;s=u+176|0;a=u;c=u+64|0;f=a;l=f+64|0;do{o[f>>2]=0;f=f+4|0}while((f|0)<(l|0));if(t>>>0>64){ko(s);So(s,e,t);Io(s,a)}else Ms(a|0,e|0,t|0)|0;kt(c,a);So(c,n,r);St(c,a,i);Hr(a,64);Hr(c,112);h=u;return}function kt(e,t){e=e|0;t=t|0;var n=0,i=0,o=0,s=0;s=h;h=h+64|0;i=s;o=i;n=o+64|0;do{r[o>>0]=r[t>>0]|0;o=o+1|0;t=t+1|0}while((o|0)<(n|0));r[i>>0]=r[i>>0]^54;o=i+1|0;r[o>>0]=r[o>>0]^54;o=i+2|0;r[o>>0]=r[o>>0]^54;o=i+3|0;r[o>>0]=r[o>>0]^54;o=i+4|0;r[o>>0]=r[o>>0]^54;o=i+5|0;r[o>>0]=r[o>>0]^54;o=i+6|0;r[o>>0]=r[o>>0]^54;o=i+7|0;r[o>>0]=r[o>>0]^54;o=i+8|0;r[o>>0]=r[o>>0]^54;o=i+9|0;r[o>>0]=r[o>>0]^54;o=i+10|0;r[o>>0]=r[o>>0]^54;o=i+11|0;r[o>>0]=r[o>>0]^54;o=i+12|0;r[o>>0]=r[o>>0]^54;o=i+13|0;r[o>>0]=r[o>>0]^54;o=i+14|0;r[o>>0]=r[o>>0]^54;o=i+15|0;r[o>>0]=r[o>>0]^54;o=i+16|0;r[o>>0]=r[o>>0]^54;o=i+17|0;r[o>>0]=r[o>>0]^54;o=i+18|0;r[o>>0]=r[o>>0]^54;o=i+19|0;r[o>>0]=r[o>>0]^54;o=i+20|0;r[o>>0]=r[o>>0]^54;o=i+21|0;r[o>>0]=r[o>>0]^54;o=i+22|0;r[o>>0]=r[o>>0]^54;o=i+23|0;r[o>>0]=r[o>>0]^54;o=i+24|0;r[o>>0]=r[o>>0]^54;o=i+25|0;r[o>>0]=r[o>>0]^54;o=i+26|0;r[o>>0]=r[o>>0]^54;o=i+27|0;r[o>>0]=r[o>>0]^54;o=i+28|0;r[o>>0]=r[o>>0]^54;o=i+29|0;r[o>>0]=r[o>>0]^54;o=i+30|0;r[o>>0]=r[o>>0]^54;o=i+31|0;r[o>>0]=r[o>>0]^54;o=i+32|0;r[o>>0]=r[o>>0]^54;o=i+33|0;r[o>>0]=r[o>>0]^54;o=i+34|0;r[o>>0]=r[o>>0]^54;o=i+35|0;r[o>>0]=r[o>>0]^54;o=i+36|0;r[o>>0]=r[o>>0]^54;o=i+37|0;r[o>>0]=r[o>>0]^54;o=i+38|0;r[o>>0]=r[o>>0]^54;o=i+39|0;r[o>>0]=r[o>>0]^54;o=i+40|0;r[o>>0]=r[o>>0]^54;o=i+41|0;r[o>>0]=r[o>>0]^54;o=i+42|0;r[o>>0]=r[o>>0]^54;o=i+43|0;r[o>>0]=r[o>>0]^54;o=i+44|0;r[o>>0]=r[o>>0]^54;o=i+45|0;r[o>>0]=r[o>>0]^54;o=i+46|0;r[o>>0]=r[o>>0]^54;o=i+47|0;r[o>>0]=r[o>>0]^54;o=i+48|0;r[o>>0]=r[o>>0]^54;o=i+49|0;r[o>>0]=r[o>>0]^54;o=i+50|0;r[o>>0]=r[o>>0]^54;o=i+51|0;r[o>>0]=r[o>>0]^54;o=i+52|0;r[o>>0]=r[o>>0]^54;o=i+53|0;r[o>>0]=r[o>>0]^54;o=i+54|0;r[o>>0]=r[o>>0]^54;o=i+55|0;r[o>>0]=r[o>>0]^54;o=i+56|0;r[o>>0]=r[o>>0]^54;o=i+57|0;r[o>>0]=r[o>>0]^54;o=i+58|0;r[o>>0]=r[o>>0]^54;o=i+59|0;r[o>>0]=r[o>>0]^54;o=i+60|0;r[o>>0]=r[o>>0]^54;o=i+61|0;r[o>>0]=r[o>>0]^54;o=i+62|0;r[o>>0]=r[o>>0]^54;o=i+63|0;r[o>>0]=r[o>>0]^54;ko(e);So(e,i,64);Hr(i,64);h=s;return}function St(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0,c=0;c=h;h=h+208|0;o=c;s=c+96|0;a=o;i=a+64|0;do{r[a>>0]=r[t>>0]|0;a=a+1|0;t=t+1|0}while((a|0)<(i|0));r[o>>0]=r[o>>0]^92;a=o+1|0;r[a>>0]=r[a>>0]^92;a=o+2|0;r[a>>0]=r[a>>0]^92;a=o+3|0;r[a>>0]=r[a>>0]^92;a=o+4|0;r[a>>0]=r[a>>0]^92;a=o+5|0;r[a>>0]=r[a>>0]^92;a=o+6|0;r[a>>0]=r[a>>0]^92;a=o+7|0;r[a>>0]=r[a>>0]^92;a=o+8|0;r[a>>0]=r[a>>0]^92;a=o+9|0;r[a>>0]=r[a>>0]^92;a=o+10|0;r[a>>0]=r[a>>0]^92;a=o+11|0;r[a>>0]=r[a>>0]^92;a=o+12|0;r[a>>0]=r[a>>0]^92;a=o+13|0;r[a>>0]=r[a>>0]^92;a=o+14|0;r[a>>0]=r[a>>0]^92;a=o+15|0;r[a>>0]=r[a>>0]^92;a=o+16|0;r[a>>0]=r[a>>0]^92;a=o+17|0;r[a>>0]=r[a>>0]^92;a=o+18|0;r[a>>0]=r[a>>0]^92;a=o+19|0;r[a>>0]=r[a>>0]^92;a=o+20|0;r[a>>0]=r[a>>0]^92;a=o+21|0;r[a>>0]=r[a>>0]^92;a=o+22|0;r[a>>0]=r[a>>0]^92;a=o+23|0;r[a>>0]=r[a>>0]^92;a=o+24|0;r[a>>0]=r[a>>0]^92;a=o+25|0;r[a>>0]=r[a>>0]^92;a=o+26|0;r[a>>0]=r[a>>0]^92;a=o+27|0;r[a>>0]=r[a>>0]^92;a=o+28|0;r[a>>0]=r[a>>0]^92;a=o+29|0;r[a>>0]=r[a>>0]^92;a=o+30|0;r[a>>0]=r[a>>0]^92;a=o+31|0;r[a>>0]=r[a>>0]^92;a=o+32|0;r[a>>0]=r[a>>0]^92;a=o+33|0;r[a>>0]=r[a>>0]^92;a=o+34|0;r[a>>0]=r[a>>0]^92;a=o+35|0;r[a>>0]=r[a>>0]^92;a=o+36|0;r[a>>0]=r[a>>0]^92;a=o+37|0;r[a>>0]=r[a>>0]^92;a=o+38|0;r[a>>0]=r[a>>0]^92;a=o+39|0;r[a>>0]=r[a>>0]^92;a=o+40|0;r[a>>0]=r[a>>0]^92;a=o+41|0;r[a>>0]=r[a>>0]^92;a=o+42|0;r[a>>0]=r[a>>0]^92;a=o+43|0;r[a>>0]=r[a>>0]^92;a=o+44|0;r[a>>0]=r[a>>0]^92;a=o+45|0;r[a>>0]=r[a>>0]^92;a=o+46|0;r[a>>0]=r[a>>0]^92;a=o+47|0;r[a>>0]=r[a>>0]^92;a=o+48|0;r[a>>0]=r[a>>0]^92;a=o+49|0;r[a>>0]=r[a>>0]^92;a=o+50|0;r[a>>0]=r[a>>0]^92;a=o+51|0;r[a>>0]=r[a>>0]^92;a=o+52|0;r[a>>0]=r[a>>0]^92;a=o+53|0;r[a>>0]=r[a>>0]^92;a=o+54|0;r[a>>0]=r[a>>0]^92;a=o+55|0;r[a>>0]=r[a>>0]^92;a=o+56|0;r[a>>0]=r[a>>0]^92;a=o+57|0;r[a>>0]=r[a>>0]^92;a=o+58|0;r[a>>0]=r[a>>0]^92;a=o+59|0;r[a>>0]=r[a>>0]^92;a=o+60|0;r[a>>0]=r[a>>0]^92;a=o+61|0;r[a>>0]=r[a>>0]^92;a=o+62|0;r[a>>0]=r[a>>0]^92;a=o+63|0;r[a>>0]=r[a>>0]^92;Io(e,o+64|0);ko(s);So(s,o,96);Io(s,n);Hr(s,112);Hr(o,96);h=c;return}function It(e,t,n,i,s,a,c,f){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;f=f|0;var u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0;_=h;h=h+336|0;l=_+208|0;b=_+96|0;m=_+32|0;g=_;y=_+320|0;r[y>>0]=1;d=(n|0)==0;u=d?32:i;i=d?38496:n;d=m;p=d+64|0;do{o[d>>2]=0;d=d+4|0}while((d|0)<(p|0));if(u>>>0>64){ko(l);So(l,i,u);Io(l,m)}else Ms(m|0,i|0,u|0)|0;kt(b,m);So(b,e,t);St(b,m,g);p=m+32|0;o[p>>2]=0;o[p+4>>2]=0;o[p+8>>2]=0;o[p+12>>2]=0;o[p+16>>2]=0;o[p+20>>2]=0;o[p+24>>2]=0;o[p+28>>2]=0;o[m>>2]=o[g>>2];o[m+4>>2]=o[g+4>>2];o[m+8>>2]=o[g+8>>2];o[m+12>>2]=o[g+12>>2];o[m+16>>2]=o[g+16>>2];o[m+20>>2]=o[g+20>>2];o[m+24>>2]=o[g+24>>2];o[m+28>>2]=o[g+28>>2];kt(b,m);So(b,s,a);So(b,y,1);St(b,m,g);if(f>>>0<=32){a=f;Ms(c|0,g|0,a|0)|0;Hr(b,112);Hr(m,64);Hr(g,32);h=_;return}e=f+-33&-32;t=e+32|0;l=f+-32|0;u=c;i=f;while(1){d=u;n=g;p=d+32|0;do{r[d>>0]=r[n>>0]|0;d=d+1|0;n=n+1|0}while((d|0)<(p|0));i=i+-32|0;r[y>>0]=(r[y>>0]|0)+1<<24>>24;kt(b,m);So(b,g,32);So(b,s,a);So(b,y,1);St(b,m,g);if(i>>>0<=32)break;else u=u+32|0}a=l-e|0;c=c+t|0;Ms(c|0,g|0,a|0)|0;Hr(b,112);Hr(m,64);Hr(g,32);h=_;return}function Tt(e){e=e|0;return Si(o[e>>2]|0)|0}function Rt(){return 36}function Ot(e){e=e|0;Hr(e,36);return e|0}function xt(e){e=e|0;var t=0;Hr(e,36);t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));return 36}function Ct(e,t,n){e=e|0;t=t|0;n=n|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=15;n=-1;return n|0}else{he(t,ue(32)|0,e+4|0)|0;n=0;return n|0}return 0}function Pt(){return ue(32)|0}function Mt(e,t){e=e|0;t=t|0;return ue(Hs[o[37564>>2]&3](37548,t)|0)|0}function Dt(e){e=e|0;return ue(Gs[o[9390]&1](37548)|0)|0}function Bt(e){e=e|0;return 32}function Nt(e,t,n,r,i,s,a,c,f,u,l){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;c=c|0;f=f|0;u=u|0;l=l|0;var d=0,p=0,m=0,g=0;g=h;h=h+112|0;d=g+40|0;p=g;m=g+32|0;if(((ue(Hs[o[37564>>2]&3](37548,n)|0)|0)>>>0<=i>>>0?(Gs[o[9390]&1](37548)|0)>>>0<=a>>>0:0)?(ue(32)|0)>>>0<=f>>>0:0){if(l>>>0<32){o[e>>2]=1;s=-1;h=g;return s|0}pt(u,d);le(d,32,c)|0;mt(d,e+4|0,p);d=Hs[o[37564>>2]&3](37548,n)|0;l=r+i+(0-d)|0;e=Qs[o[37568>>2]&3](37548,p,32,t,n,l,d,m,8)|0;if((e|0)!=-1){le(m,8,s)|0;le(l,d,r)|0}s=e;h=g;return s|0}o[e>>2]=2;s=-1;h=g;return s|0}function jt(e){e=e|0;return Si(o[e>>2]|0)|0}function Ut(){return 68}function Lt(e){e=e|0;Hr(e,68);return e|0}function Ft(e){e=e|0;var t=0;Hr(e,68);t=e+68|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));return 68}function qt(){return 32}function Kt(){return 32}function zt(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=2;i=-1;return i|0}if(i>>>0<32){o[e>>2]=15;i=-1;return i|0}else{i=e+4|0;pt(r,i);le(i,32,t)|0;i=0;return i|0}return 0}function Gt(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=2;i=-1;return i|0}if(i>>>0<32){o[e>>2]=15;i=-1;return i|0}else{i=e+4|0;pt(r,i);le(i,32,t)|0;i=0;return i|0}return 0}function Ht(e){e=e|0;return Ii((Te(e+4|0)|0)+4|0)|0}function Vt(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;s=e+4|0;a=(Te(s)|0)+4|0;if((Ii(a)|0)>>>0>i>>>0){o[e>>2]=2;a=-1;return a|0}else{Re(be(Ti(r,a)|0,1)|0,s)|0;a=Ri(t,n,r,a)|0;return a|0}return 0}function Qt(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0,f=0,u=0,l=0;l=h;h=h+16|0;f=l;u=(s|0)!=0;if(u?(ue(32)|0)>>>0>a>>>0:0){o[e>>2]=2;i=-1}else c=4;do{if((c|0)==4){t=Oi(t,n,r,i,e)|0;if((t|0)!=-1){a=r+t|0;t=a+1|0;n=_e(r,t,f)|0;if((o[f>>2]|0)==1)t=Oe(n,t,e+4|0)|0;else o[e>>2]=9;if((a|0)==(t|0)){if(!u)break;le(e+4|0,32,s)|0;break}else{if(o[e>>2]|0){i=-1;break}o[e>>2]=10;i=-1;break}}else i=-1}}while(0);h=l;return i|0}function Wt(e,t){e=e|0;t=t|0;e=o[9393]|0;t=de(t)|0;return Hs[e&3](37548,t)|0}function Yt(e,t,n,r,i,s,a,c,f){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;c=c|0;f=f|0;var u=0,l=0,d=0,p=0,m=0;d=h;h=h+80|0;l=d+40|0;i=d;u=d+32|0;m=o[9393]|0;p=de(a)|0;if((Hs[m&3](37548,p)|0)>>>0>f>>>0){o[e>>2]=2;m=-1;h=d;return m|0}he(t,n,l)|0;mt(e+4|0,l,i);he(r,ue(8)|0,u)|0;m=de(a)|0;he(s,a,s)|0;i=Qs[o[37576>>2]&3](37548,i,32,u,8,s,m,c,f)|0;if((i|0)==-1){o[e>>2]=5;i=-1}m=i;h=d;return m|0}function Xt(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<32){o[e>>2]=2;e=-1;return e|0}else{n=e+36|0;e=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(e|0));e=32;return e|0}return 0}function Jt(){return 100}function Zt(e){e=e|0;Hr(e,100);return e|0}function $t(e){e=e|0;return Si(o[e>>2]|0)|0}function en(e){e=e|0;var t=0;Hr(e,100);t=e+100|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));return 100}function tn(){return 32}function nn(){return ue(32)|0}function rn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=2;i=-1;return i|0}if(i>>>0<32){o[e>>2]=15;i=-1;return i|0}else{i=e+4|0;gt(r,i);le(i,32,t)|0;i=0;return i|0}return 0}function on(){return ue(64)|0}function sn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(64)|0)>>>0>i>>>0){o[e>>2]=2;i=-1;return i|0}else{i=r+(ue(64)|0)+-64|0;yt(e+4|0,t,n,i);le(i,64,r)|0;i=ue(64)|0;return i|0}return 0}function an(e){e=e|0;return 8}function cn(e,t){e=e|0;t=t|0;return _t(t)|0}function fn(e,t,n,i,s,a,c,f,u){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;f=f|0;u=u|0;var l=0,d=0,p=0,m=0;m=h;h=h+192|0;p=m+32|0;l=m+112|0;d=m;if(u>>>0<8|(_t(s)|0)>>>0>c>>>0){p=-1;h=m;return p|0}It(t,n,0,0,o[e+4>>2]|0,o[e+8>>2]|0,p,80);t=l;n=p;c=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(c|0));e=l+32|0;t=e;n=p+32|0;c=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(c|0));t=l+64|0;n=p+64|0;c=t+16|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(c|0));Hr(p,80);vt(l,l+64|0,i,s,a);Et(e,32,f,u+-8|0,d);a=d;s=o[a>>2]|0;a=o[a+4>>2]|0;p=f+u+-8|0;f=p;r[f>>0]=s;r[f+1>>0]=s>>8;r[f+2>>0]=s>>16;r[f+3>>0]=s>>24;p=p+4|0;r[p>>0]=a;r[p+1>>0]=a>>8;r[p+2>>0]=a>>16;r[p+3>>0]=a>>24;Hr(l,80);p=u;h=m;return p|0}function un(e,t){e=e|0;t=t|0;return t|0}function ln(e,t,n,i,s,a,c,f,u){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;f=f|0;u=u|0;var l=0,d=0,p=0,m=0;m=h;h=h+192|0;p=m+32|0;l=m+112|0;d=m;if(s>>>0<8|c>>>0>u>>>0){p=-1;h=m;return p|0}It(t,n,0,0,o[e+4>>2]|0,o[e+8>>2]|0,p,80);t=l;n=p;u=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(u|0));e=l+32|0;t=e;n=p+32|0;u=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(u|0));t=l+64|0;n=p+64|0;u=t+16|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(u|0));Hr(p,80);Et(e,32,i,s+-8|0,d);if(Vr(i+s+-8|0,d,8)|0){e=At(l,l+64|0,a,c,f)|0;Hr(l,80)}else{Hr(l,80);e=-1}p=e;h=m;return p|0}function dn(e){e=e|0;o[e>>2]=0;return}function hn(e){e=e|0;return 32}function pn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if(i>>>0<32){o[e>>2]=2;i=-1;return i|0}else{wt(t,n,r);i=32;return i|0}return 0}function mn(e,t,n,r,i,s){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;if(s>>>0>=64?bt(t,n,r,i)|0:0){s=0;return s|0}o[e>>2]=5;s=-1;return s|0}function gn(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;o[e+8>>2]=0;o[e+44>>2]=e+48;o[e+148>>2]=e+152;o[e+492>>2]=e+496;return}function yn(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0;l=h;h=h+64|0;u=l;f=o[e>>2]|0;It(t,n,0,0,o[f>>2]|0,o[f+4>>2]|0,u,64);f=e+152|0;t=e+148|0;n=o[t>>2]|0;if((n|0)==(e+492|0)){c=(n|0)==(f|0)?e+84|0:f;t=n}else{a=n+68|0;o[t>>2]=a;c=f;t=a}t=t+-68|0;if((t|0)!=(c|0))do{n=t;t=t+-68|0;s=t;a=n+68|0;do{o[n>>2]=o[s>>2];n=n+4|0;s=s+4|0}while((n|0)<(a|0))}while((t|0)!=(c|0));o[e+184>>2]=0;n=e+12|0;s=u;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=e+188|0;s=u+32|0;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=f;s=i;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));Hr(u,64);h=l;return}function bn(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0;l=h;h=h+64|0;u=l;f=o[e>>2]|0;It(t,n,0,0,o[f>>2]|0,o[f+4>>2]|0,u,64);f=e+48|0;t=e+44|0;n=o[t>>2]|0;if((n|0)==(e+148|0)){c=(n|0)==(f|0)?e+-52|0:f;t=n}else{a=n+100|0;o[t>>2]=a;c=f;t=a}t=t+-100|0;if((t|0)!=(c|0))do{n=t;t=t+-100|0;s=t;a=n+100|0;do{o[n>>2]=o[s>>2];n=n+4|0;s=s+4|0}while((n|0)<(a|0))}while((t|0)!=(c|0));o[e+112>>2]=0;n=e+12|0;s=u;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=e+116|0;s=u+32|0;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=f;s=i;a=n+64|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));Hr(u,64);h=l;return}function _n(e){e=e|0;var t=0,n=0,r=0,i=0;t=e+48|0;r=o[e+44>>2]|0;if((t|0)==(r|0))i=36;else{n=4;do{n=n+36+(Te(t)|0)|0;t=t+100|0}while((t|0)!=(r|0));i=n+32|0}t=e+152|0;r=o[e+148>>2]|0;if((t|0)==(r|0))t=4;else{n=t;t=4;do{t=t+36+(ke(n)|0)|0;n=n+68|0}while((n|0)!=(r|0))}i=i+t|0;t=e+496|0;r=o[e+492>>2]|0;if((t|0)==(r|0)){e=4;e=i+e|0;return e|0}n=t;t=4;do{t=t+36+(ke(n)|0)|0;n=n+68|0}while((n|0)!=(r|0));e=i+t|0;return e|0}function vn(e,t){e=e|0;t=t|0;var n=0,r=0;e=we(e,t+12|0,32)|0;r=t+44|0;n=t+48|0;e=be(e,((o[r>>2]|0)-n|0)/100|0)|0;r=o[r>>2]|0;if((n|0)!=(r|0))do{e=we(Re(e,n)|0,n+68|0,32)|0;e=be(e,o[n+64>>2]|0)|0;n=n+100|0}while((n|0)!=(r|0));r=t+148|0;n=t+152|0;e=be(e,((o[r>>2]|0)-n|0)/68|0)|0;r=o[r>>2]|0;if((n|0)!=(r|0))do{e=we(Se(e,n)|0,n+36|0,32)|0;e=be(e,o[n+32>>2]|0)|0;n=n+68|0}while((n|0)!=(r|0));r=t+492|0;n=t+496|0;e=be(e,((o[r>>2]|0)-n|0)/68|0)|0;r=o[r>>2]|0;if((n|0)==(r|0)){t=e;return t|0}do{e=we(Se(e,n)|0,n+36|0,32)|0;e=be(e,o[n+32>>2]|0)|0;n=n+68|0}while((n|0)!=(r|0));return e|0}function An(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,c=0,f=0,u=0;u=h;h=h+16|0;f=u;e=_e(Ee(e,t,n+12|0,32)|0,t,f)|0;c=o[f>>2]|0;o[f>>2]=c+-1;if(!((e|0)==(t|0)|(c|0)==0)){s=n+44|0;a=n+148|0;c=n+48|0;do{i=o[s>>2]|0;if((i|0)==(a|0))i=c;else o[s>>2]=i+100;e=_e(Ee(Oe(e,t,i)|0,t,i+68|0,32)|0,t,i+64|0)|0;i=o[f>>2]|0;o[f>>2]=i+-1}while(!((e|0)==(t|0)|(i|0)==0))}e=_e(e,t,f)|0;c=o[f>>2]|0;o[f>>2]=c+-1;if(!((e|0)==(t|0)|(c|0)==0)){s=n+148|0;a=n+492|0;c=n+424|0;do{i=o[s>>2]|0;if((i|0)==(a|0))i=c;else o[s>>2]=i+68;e=_e(Ee(Ie(e,t,i)|0,t,i+36|0,32)|0,t,i+32|0)|0;i=o[f>>2]|0;o[f>>2]=i+-1}while(!((e|0)==(t|0)|(i|0)==0))}e=_e(e,t,f)|0;c=o[f>>2]|0;o[f>>2]=c+-1;if(!((e|0)==(t|0)|(c|0)==0)){a=n+492|0;c=n+3216|0;s=n+3148|0;do{i=o[a>>2]|0;if((i|0)==(c|0))i=s;else o[a>>2]=i+68;e=_e(Ee(Ie(e,t,i)|0,t,i+36|0,32)|0,t,i+32|0)|0;n=o[f>>2]|0;o[f>>2]=n+-1}while(!((e|0)==(t|0)|(n|0)==0))}if(!r){f=e;h=u;return f|0}f=_e(e,t,f)|0;h=u;return f|0}function wn(e,t){e=e|0;t=t|0;var n=0,r=0;if((o[e+44>>2]|0)==(e+48|0))n=0;else n=o[e+112>>2]|0;r=e+4|0;e=o[r>>2]|0;e=Hs[o[(o[e>>2]|0)+4>>2]&3](e,t)|0;t=o[r>>2]|0;return Ke(n,32,e,Gs[o[o[t>>2]>>2]&1](t)|0)|0}function En(e){e=e|0;return((o[e+44>>2]|0)==(e+48|0)?32:0)|0}function kn(e,t,n,i,s,a,c){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;var f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0;y=h;h=h+112|0;m=y+64|0;g=y;u=e+44|0;d=e+48|0;if((o[u>>2]|0)==(d|0))f=0;else f=o[e+112>>2]|0;p=e+4|0;b=o[p>>2]|0;b=Hs[o[(o[b>>2]|0)+4>>2]&3](b,n)|0;l=o[p>>2]|0;l=Ke(f,32,b,Gs[o[o[l>>2]>>2]&1](l)|0)|0;f=(o[u>>2]|0)==(d|0);if((f?32:0)>>>0>s>>>0){o[e+8>>2]=1;b=-1;h=y;return b|0}if(l>>>0>c>>>0){o[e+8>>2]=2;b=-1;h=y;return b|0}if(f){o[u>>2]=e+148;pt(i,d);c=o[e>>2]|0;mt(d,e+152|0,m);i=e+12|0;It(m,32,i,32,o[c+8>>2]|0,o[c+12>>2]|0,g,64);c=g;u=i+32|0;do{r[i>>0]=r[c>>0]|0;i=i+1|0;c=c+1|0}while((i|0)<(u|0));f=e+116|0;i=f;c=g+32|0;u=i+32|0;do{r[i>>0]=r[c>>0]|0;i=i+1|0;c=c+1|0}while((i|0)<(u|0));i=e+112|0;o[i>>2]=0;Hr(g,64);Hr(m,32)}else{i=e+112|0;f=e+116|0}s=m+4|0;Et(f,32,38077,1,s);o[m>>2]=o[i>>2];Et(f,32,38078,1,f);o[i>>2]=(o[i>>2]|0)+1;f=o[p>>2]|0;f=Hs[o[(o[f>>2]|0)+4>>2]&3](f,n)|0;ze(g,3,o[m>>2]|0,32,f,a);i=o[g>>2]|0;c=d;u=i+32|0;do{r[i>>0]=r[c>>0]|0;i=i+1|0;c=c+1|0}while((i|0)<(u|0));b=o[p>>2]|0;Qs[o[(o[b>>2]|0)+8>>2]&3](b,s,32,t,n,o[g+4>>2]|0,f,a,l)|0;Hr(m,36);b=l;h=y;return b|0}function Sn(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0;s=h;h=h+32|0;r=s;i=e+4|0;a=o[i>>2]|0;Ge(r,t,n,Gs[o[o[a>>2]>>2]&1](a)|0);if(!(o[r+24>>2]|0)){o[e+8>>2]=4;a=-1;h=s;return a|0}else{a=o[i>>2]|0;a=Hs[o[(o[a>>2]|0)+12>>2]&3](a,o[r+28>>2]|0)|0;h=s;return a|0}return 0}function In(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0;T=h;h=h+240|0;E=T+96|0;k=T+32|0;l=T;d=T+160|0;S=T+128|0;g=e+4|0;A=o[g>>2]|0;Ge(S,t,n,Gs[o[o[A>>2]>>2]&1](A)|0);if((r[S>>0]|0)!=3){o[e+8>>2]=3;I=-1;h=T;return I|0}if((r[S+1>>0]|0?(w=S+16|0,o[w>>2]|0):0)?(b=S+24|0,o[b>>2]|0):0){A=o[g>>2]|0;m=S+28|0;if((Hs[o[(o[A>>2]|0)+12>>2]&3](A,o[m>>2]|0)|0)>>>0>s>>>0){o[e+8>>2]=2;I=-1;h=T;return I|0}if((o[S+20>>2]|0)!=32){o[e+8>>2]=4;I=-1;h=T;return I|0}c=e+152|0;A=e+148|0;n=o[A>>2]|0;e:do{if((c|0)!=(n|0)){f=o[w>>2]|0;u=0;t=c;do{p=(qo(t,f,32)|0)==0;u=p?t:u;t=t+68|0}while(!(p|(t|0)==(n|0)));if(u){t=u+32|0;d=S+4|0;n=o[d>>2]|0;if((o[t>>2]|0)>>>0<=n>>>0){v=u;I=Tn(e,t,S,i,s)|0;y=1;_=31;break}t=e+496|0;p=e+492|0;f=o[p>>2]|0;if((t|0)!=(f|0)){u=S+8|0;l=S+12|0;while(1){if(((n|0)==(o[t+32>>2]|0)?(qo(t,o[w>>2]|0,32)|0)==0:0)?(a=o[g>>2]|0,a=Qs[o[(o[a>>2]|0)+16>>2]&3](a,t+36|0,32,o[u>>2]|0,o[l>>2]|0,o[b>>2]|0,o[m>>2]|0,i,s)|0,(a|0)!=-1):0)break;t=t+68|0;if((t|0)==(f|0))break e;n=o[d>>2]|0}Hr(t,68);I=(o[p>>2]|0)+-68|0;o[p>>2]=I;if((I|0)==(t|0)){I=a;h=T;return I|0}do{g=t;t=t+68|0;y=t;b=g+68|0;do{o[g>>2]=o[y>>2];g=g+4|0;y=y+4|0}while((g|0)<(b|0))}while((t|0)!=(o[p>>2]|0));h=T;return a|0}}else _=15}else _=15}while(0);if((_|0)==15){a=e+48|0;if((o[e+44>>2]|0)!=(a|0)?(o[S+4>>2]|0)>>>0<=2e3:0){g=d;y=o[w>>2]|0;b=g+32|0;do{r[g>>0]=r[y>>0]|0;g=g+1|0;y=y+1|0}while((g|0)<(b|0));v=o[e>>2]|0;I=d+32|0;mt(a,d,E);It(E,32,e+12|0,32,o[v+8>>2]|0,o[v+12>>2]|0,k,64);o[l>>2]=o[k>>2];o[l+4>>2]=o[k+4>>2];o[l+8>>2]=o[k+8>>2];o[l+12>>2]=o[k+12>>2];o[l+16>>2]=o[k+16>>2];o[l+20>>2]=o[k+20>>2];o[l+24>>2]=o[k+24>>2];o[l+28>>2]=o[k+28>>2];v=k+32|0;a=d+36|0;o[a>>2]=o[v>>2];o[a+4>>2]=o[v+4>>2];o[a+8>>2]=o[v+8>>2];o[a+12>>2]=o[v+12>>2];o[a+16>>2]=o[v+16>>2];o[a+20>>2]=o[v+20>>2];o[a+24>>2]=o[v+24>>2];o[a+28>>2]=o[v+28>>2];o[I>>2]=0;Hr(k,64);Hr(E,32);a=Tn(e,I,S,i,s)|0;Hr(l,32);Hr(d,68)}else a=-1;v=0;I=a;y=0;_=31}if((_|0)==31?(I|0)!=-1:0){if(!y){a=o[A>>2]|0;if((a|0)==(e+492|0))c=(a|0)==(c|0)?e+84|0:c;else{a=a+68|0;o[A>>2]=a}a=a+-68|0;if((a|0)!=(c|0))do{g=a;a=a+-68|0;y=a;b=g+68|0;do{o[g>>2]=o[y>>2];g=g+4|0;y=y+4|0}while((g|0)<(b|0))}while((a|0)!=(c|0));g=c;y=o[w>>2]|0;b=g+32|0;do{r[g>>0]=r[y>>0]|0;g=g+1|0;y=y+1|0}while((g|0)<(b|0));a=e+48|0;y=o[e>>2]|0;mt(a,c,E);g=e+12|0;It(E,32,g,32,o[y+8>>2]|0,o[y+12>>2]|0,k,64);y=k;b=g+32|0;do{r[g>>0]=r[y>>0]|0;g=g+1|0;y=y+1|0}while((g|0)<(b|0));g=c+36|0;y=k+32|0;b=g+32|0;do{r[g>>0]=r[y>>0]|0;g=g+1|0;y=y+1|0}while((g|0)<(b|0));n=c+32|0;o[n>>2]=0;Hr(k,64);Hr(E,32);Hr(a,100);t=e+44|0;k=(o[t>>2]|0)+-100|0;o[t>>2]=k;if((k|0)==(a|0))m=c;else{do{g=a;a=a+100|0;y=a;b=g+100|0;do{o[g>>2]=o[y>>2];g=g+4|0;y=y+4|0}while((g|0)<(b|0))}while((a|0)!=(o[t>>2]|0));m=c}}else{m=v;n=v+32|0}f=S+4|0;if((o[n>>2]|0)>>>0<(o[f>>2]|0)>>>0){u=e+496|0;l=e+492|0;d=e+3216|0;a=m+36|0;p=e+532|0;c=e+528|0;do{t=o[l>>2]|0;if((t|0)==(d|0))t=d;else{t=t+68|0;o[l>>2]=t}t=t+-68|0;if((t|0)!=(u|0))do{g=t;t=t+-68|0;y=t;b=g+68|0;do{o[g>>2]=o[y>>2];g=g+4|0;y=y+4|0}while((g|0)<(b|0))}while((t|0)!=(u|0));Et(a,32,38077,1,p);o[c>>2]=o[n>>2];g=u;y=m;b=g+32|0;do{r[g>>0]=r[y>>0]|0;g=g+1|0;y=y+1|0}while((g|0)<(b|0));Et(a,32,38078,1,a);e=(o[n>>2]|0)+1|0;o[n>>2]=e}while(e>>>0<(o[f>>2]|0)>>>0)}else a=m+36|0;Et(a,32,38078,1,a);o[n>>2]=(o[n>>2]|0)+1;h=T;return I|0}o[e+8>>2]=5;I=-1;h=T;return I|0}o[e+8>>2]=4;I=-1;h=T;return I|0}function Tn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0;d=h;h=h+80|0;c=d+36|0;f=d;u=n+4|0;l=o[u>>2]|0;a=o[t>>2]|0;if(l>>>0>>0|(l-a|0)>>>0>2e3){l=-1;h=d;return l|0}a=c;s=a+36|0;do{o[a>>2]=o[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(s|0));t=c+4|0;if((o[c>>2]|0)>>>0>>0)do{Et(t,32,38078,1,t);l=(o[c>>2]|0)+1|0;o[c>>2]=l}while(l>>>0<(o[u>>2]|0)>>>0);l=f+4|0;Et(t,32,38077,1,l);o[f>>2]=o[c>>2];u=o[e+4>>2]|0;l=Qs[o[(o[u>>2]|0)+16>>2]&3](u,l,32,o[n+8>>2]|0,o[n+12>>2]|0,o[n+24>>2]|0,o[n+28>>2]|0,r,i)|0;Hr(c,36);h=d;return l|0}function Rn(e,t,n){e=e|0;t=t|0;n=n|0;if(e|0)r[e>>0]=3;if(t|0)r[t>>0]=1;if(!n)return;r[n>>0]=3;return}function On(){return-1}function xn(e){e=e|0;return Si(o[e+7368>>2]|0)|0}function Cn(e){e=e|0;return Si(o[e+3216>>2]|0)|0}function Pn(e){e=e|0;return Si(o[e>>2]|0)|0}function Mn(){return 7372}function Dn(){return 3320}function Bn(){return 4}function Nn(e){e=e|0;Hr(e,7372);Ir(e);return e|0}function jn(e){e=e|0;Hr(e,3320);Je(e);return e|0}function Un(e){e=e|0;Hr(e,4);dn(e);return e|0}function Ln(e){e=e|0;Hr(e,7372);Ir(e);return 7372}function Fn(e){e=e|0;Hr(e,3320);Je(e);return 3320}function qn(e){e=e|0;Hr(e,4);dn(e);return 4}function Kn(e){e=e|0;return Ii(qr(e)|0)|0}function zn(e){e=e|0;return Ii(lt(e)|0)|0}function Gn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=qr(e)|0;if((Ii(s)|0)>>>0>i>>>0){o[e+7368>>2]=2;s=-1;return s|0}else{Kr(Ti(r,s)|0,e)|0;s=Ri(t,n,r,s)|0;return s|0}return 0}function Hn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=lt(e)|0;if((Ii(s)|0)>>>0>i>>>0){o[e+3216>>2]=2;s=-1;return s|0}else{dt(Ti(r,s)|0,e)|0;s=Ri(t,n,r,s)|0;return s|0}return 0}function Vn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=e+7368|0;t=Oi(t,n,r,i,s)|0;if((t|0)==-1){s=-1;return s|0}n=r+t|0;if((n|0)==(zr(r,n+1|0,e)|0)){s=i;return s|0}if(o[s>>2]|0){s=-1;return s|0}o[s>>2]=10;s=-1;return s|0}function Qn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=e+3216|0;t=Oi(t,n,r,i,s)|0;if((t|0)==-1){s=-1;return s|0}n=r+t|0;if((n|0)==(ht(r,n+1|0,e)|0)){s=i;return s|0}if(o[s>>2]|0){s=-1;return s|0}o[s>>2]=10;s=-1;return s|0}function Wn(e){e=e|0;return Or(e)|0}function Yn(e,t,n){e=e|0;t=t|0;n=n|0;e=xr(e,t,n)|0;Hr(t,n);return e|0}function Xn(e){e=e|0;return Cr(e)|0}function Jn(e,t,n){e=e|0;t=t|0;n=n|0;return Pr(e,t,n)|0}function Zn(e){e=e|0;return ue(Mr(e)|0)|0}function $n(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;s=Mr(e)|0;if((ue(s)|0)>>>0>i>>>0){o[e+7368>>2]=2;s=-1;return s|0}else{a=0-s|0;Dr(e,t,n,r+(ue(s)|0)+a|0,s)|0;i=ue(s)|0;le(r+i+a|0,s,r)|0;s=i;return s|0}return 0}function er(e){e=e|0;return Br(e)|0}function tr(e,t,n){e=e|0;t=t|0;n=n|0;return Nr(e,t,n)|0}function nr(e){e=e|0;return jr(e)|0}function rr(e){e=e|0;return Ur(e)|0}function ir(e,t){e=e|0;t=t|0;return Lr(e,t)|0}function or(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;t=Fr(e,t,n,r)|0;Hr(n,r);return t|0}function sr(e){e=e|0;return Ze(e)|0}function ar(e,t,n,r,i,s,a,c){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;c=c|0;var f=0,u=0,l=0;l=h;h=h+64|0;f=l+32|0;u=l;if((de(r)|0)==32?(de(s)|0)==32:0){he(n,r,f)|0;he(i,s,u)|0;u=$e(e,t,f,u,a,c)|0;Hr(a,c);h=l;return u|0}o[e+3216>>2]=7;u=-1;h=l;return u|0}function cr(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=de(r)|0;if((i|0)==-1){o[e+3216>>2]=7;i=-1;return i|0}else{he(n,r,n)|0;i=et(e,t,0,n,i)|0;return i|0}return 0}function fr(e,t,n,r,i,s){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;var a=0,c=0;c=h;h=h+32|0;a=c;if((de(r)|0)!=32){o[e+3216>>2]=7;a=-1;h=c;return a|0}he(n,r,a)|0;n=de(s)|0;if((n|0)==-1){o[e+3216>>2]=7;n=-1}else{he(i,s,i)|0;n=et(e,t,a,i,n)|0}a=n;h=c;return a|0}function ur(e){e=e|0;return ue(tt(e)|0)|0}function lr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=tt(e)|0;if((ue(r)|0)>>>0>n>>>0){o[e+3216>>2]=2;r=-1;return r|0}n=0-r|0;if((nt(e,t+(ue(r)|0)+n|0,r)|0)==-1){r=-1;return r|0}e=ue(r)|0;le(t+e+n|0,r,t)|0;r=e;return r|0}function dr(e){e=e|0;return s[e+3220>>0]|0|0}function hr(e,t,n){e=e|0;t=t|0;n=n|0;ut(e,t,n);return}function pr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=de(n)|0;if((r|0)==-1){o[e+3216>>2]=7;r=-1;return r|0}else{he(t,n,t)|0;r=(rt(e,0,t,r)|0)&1;return r|0}return 0}function mr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;a=h;h=h+32|0;s=a;if((de(n)|0)!=32){o[e+3216>>2]=7;s=-1;h=a;return s|0}he(t,n,s)|0;t=de(i)|0;if((t|0)==-1){o[e+3216>>2]=7;t=-1}else{he(r,i,r)|0;t=(rt(e,s,r,t)|0)&1}s=t;h=a;return s|0}function gr(e,t){e=e|0;t=t|0;t=Rr(e,t+3285|0)|0;if((t|0)!=-1)return t|0;o[e+7368>>2]=6;return t|0}function yr(e){e=e|0;return it(e)|0}function br(e){e=e|0;return st(e)|0}function _r(e,t){e=e|0;t=t|0;return ue(ot(e,t)|0)|0}function vr(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0;c=ot(e,n)|0;if((ue(c)|0)>>>0>a>>>0){o[e+3216>>2]=2;c=-1;return c|0}a=0-c|0;n=at(e,t,n,r,i,s+(ue(c)|0)+a|0,c)|0;Hr(r,i);if((n|0)==-1){c=-1;return c|0}i=ue(c)|0;le(s+i+a|0,c,s)|0;c=i;return c|0}function Ar(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=de(r)|0;if((i|0)==-1){o[e+3216>>2]=7;i=-1;return i|0}else{he(n,r,n)|0;i=ct(e,t,n,i)|0;return i|0}return 0}function wr(e,t,n,r,i,s){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;var a=0;a=de(r)|0;if((a|0)==-1){o[e+3216>>2]=7;a=-1;return a|0}else{he(n,r,n)|0;a=ft(e,t,n,a,i,s)|0;return a|0}return 0}function Er(e){e=e|0;return ue(hn(e)|0)|0}function kr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=hn(e)|0;if((ue(s)|0)>>>0>i>>>0){o[e>>2]=2;s=-1;return s|0}i=0-s|0;if((pn(e,t,n,r+(ue(s)|0)+i|0,s)|0)==-1){s=-1;return s|0}n=ue(s)|0;le(r+n+i|0,s,r)|0;s=n;return s|0}function Sr(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;f=h;h=h+32|0;c=f;if((de(n)|0)!=32){o[e>>2]=7;c=-1;h=f;return c|0}he(t,n,c)|0;t=de(a)|0;if((t|0)==-1){o[e>>2]=7;t=-1}else{he(s,a,s)|0;t=mn(e,c,r,i,s,t)|0}c=t;h=f;return c|0}function Ir(e){e=e|0;o[e+160>>2]=e+164;o[e+7364>>2]=0;o[e+7368>>2]=0;return}function Tr(e,t){e=e|0;t=t|0;var n=0;n=e+164|0;e=o[e+160>>2]|0;if((n|0)==(e|0)){t=0;return t|0}while(1){if(Vr(n+5|0,t,32)|0){e=5;break}n=n+72|0;if((n|0)==(e|0)){n=0;e=5;break}}if((e|0)==5)return n|0;return 0}function Rr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0;n=e+164|0;s=e+160|0;if((n|0)==(o[s>>2]|0)){s=-1;return s|0}while(1){if(Vr(n+5|0,t,32)|0)break;e=n+72|0;if((e|0)==(o[s>>2]|0)){e=-1;r=8;break}else n=e}if((r|0)==8)return e|0;e=o[n>>2]|0;i=(o[s>>2]|0)+-72|0;o[s>>2]=i;if((i|0)==(n|0)){s=e;return s|0}do{t=n;n=n+72|0;r=n;i=t+72|0;do{o[t>>2]=o[r>>2];t=t+4|0;r=r+4|0}while((t|0)<(i|0))}while((n|0)!=(o[s>>2]|0));return e|0}function Or(e){e=e|0;return 64}function xr(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<64){o[e+7368>>2]=1;n=-1;return n|0}else{gt(t,e);pt(t+32|0,e+96|0);n=0;return n|0}return 0}function Cr(e){e=e|0;e=ue(32)|0;return e+30+(ue(32)|0)|0}function Pr(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0;a=ue(32)|0;if((a+30+(ue(32)|0)|0)>>>0>n>>>0){o[e+7368>>2]=2;t=-1;return t|0}else{r[t>>0]=123;i=t+1|0;s=38079;a=i+13|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));r[t+14>>0]=34;n=le(e+96|0,32,t+15|0)|0;r[n>>0]=34;r[n+1>>0]=44;i=n+2|0;s=38093;a=i+10|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));r[n+12>>0]=34;e=le(e,32,n+13|0)|0;r[e>>0]=34;r[e+1>>0]=125;t=e+2-t|0;return t|0}return 0}function Mr(e){e=e|0;return 64}function Dr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if(i>>>0<64){o[e+7368>>2]=2;i=-1;return i|0}else{yt(e,t,n,r);i=64;return i|0}return 0}function Br(e){e=e|0;var t=0,n=0,i=0;n=e+164|0;i=o[e+160>>2]|0;if((n|0)!=(i|0)){t=1;e=0;do{if(!(r[n+4>>0]|0)){t=ue(4)|0;e=e+6+t+(ue(32)|0)|0;t=0}n=n+72|0}while((n|0)!=(i|0));if(!t){i=e;n=16;i=n+i|0;return i|0}}else e=0;i=e;n=17;i=n+i|0;return i|0}function Nr(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0;p=h;h=h+16|0;l=p;u=e+164|0;f=e+160|0;c=o[f>>2]|0;if((u|0)!=(c|0)){s=1;a=u;i=0;do{if(!(r[a+4>>0]|0)){s=ue(4)|0;i=i+6+s+(ue(32)|0)|0;s=0}a=a+72|0}while((a|0)!=(c|0));if(s)d=4;else s=16}else{i=0;d=4}if((d|0)==4)s=17;if((s+i|0)>>>0>n>>>0){o[e+7368>>2]=2;d=-1;h=p;return d|0}r[t>>0]=123;i=t+1|0;s=38079;a=i+13|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));i=t+14|0;c=o[f>>2]|0;if((u|0)!=(c|0)){a=u;s=123;do{if(!(r[a+4>>0]|0)){r[i>>0]=s;r[i+1>>0]=34;Ne(l,o[a>>2]|0)|0;i=le(l,4,i+2|0)|0;r[i>>0]=34;r[i+1>>0]=58;r[i+2>>0]=34;i=le(a+5|0,32,i+3|0)|0;r[i>>0]=34;i=i+1|0;s=44}a=a+72|0}while((a|0)!=(c|0));if(s<<24>>24!=44)d=16}else{s=123;d=16}if((d|0)==16){r[i>>0]=s;i=i+1|0}r[i>>0]=125;r[i+1>>0]=125;d=i+2-t|0;h=p;return d|0}function jr(e){e=e|0;var t=0,n=0,i=0;t=e+164|0;i=o[e+160>>2]|0;if((t|0)==(i|0)){i=0;return i|0}e=0;do{n=t+4|0;if(!(r[n>>0]|0)){r[n>>0]=1;e=e+1|0}t=t+72|0}while((t|0)!=(i|0));return e|0}function Ur(e){e=e|0;return 100}function Lr(e,t){e=e|0;t=t|0;return t<<5|0}function Fr(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0;if(t<<5>>>0>i>>>0){o[e+7368>>2]=1;p=-1;return p|0}if(!t){p=0;return p|0}h=e+164|0;p=e+160|0;u=e+7364|0;l=e+7364|0;d=e+168|0;f=e+169|0;c=0;while(1){i=o[p>>2]|0;if((i|0)==(u|0))i=u;else{i=i+72|0;o[p>>2]=i}i=i+-72|0;if((i|0)!=(h|0))do{e=i;i=i+-72|0;s=i;a=e+72|0;do{o[e>>2]=o[s>>2];e=e+4|0;s=s+4|0}while((e|0)<(a|0))}while((i|0)!=(h|0));a=(o[l>>2]|0)+1|0;o[l>>2]=a;o[h>>2]=a;r[d>>0]=0;pt(n,f);c=c+1|0;if((c|0)==(t|0))break;else n=n+32|0}return t|0}function qr(e){e=e|0;var t=0,n=0,r=0,i=0;r=Me(e)|0;i=Te(e+96|0)|0;t=e+164|0;n=o[e+160>>2]|0;if((t|0)==(n|0)){n=4;r=r+8|0;i=r+i|0;i=i+n|0;return i|0}e=4;do{e=e+5+(Te(t+5|0)|0)|0;t=t+72|0}while((t|0)!=(n|0));r=r+8|0;i=r+i|0;i=i+e|0;return i|0}function Kr(e,t){e=e|0;t=t|0;var n=0,i=0;e=Re(De(be(e,2)|0,t)|0,t+96|0)|0;i=t+160|0;n=t+164|0;e=be(e,((o[i>>2]|0)-n|0)/72|0)|0;i=o[i>>2]|0;if((n|0)==(i|0)){i=e;t=t+7364|0;t=o[t>>2]|0;t=be(i,t)|0;return t|0}do{e=be(e,o[n>>2]|0)|0;e=Re(ve(e,(r[n+4>>0]|0)!=0)|0,n+5|0)|0;n=n+72|0}while((n|0)!=(i|0));t=t+7364|0;t=o[t>>2]|0;t=be(e,t)|0;return t|0}function zr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0;f=h;h=h+16|0;c=f+4|0;a=f;e=_e(e,t,a)|0;switch(o[a>>2]|0){case 2:{e=_e(Oe(Be(e,t,n)|0,t,n+96|0)|0,t,c)|0;a=o[c>>2]|0;o[c>>2]=a+-1;if(!((e|0)==(t|0)|(a|0)==0)){i=n+160|0;s=n+7364|0;a=n+7292|0;do{r=o[i>>2]|0;if((r|0)==(s|0))r=a;else o[i>>2]=r+72;e=Oe(Ae(_e(e,t,r)|0,t,r+4|0)|0,t,r+5|0)|0;r=o[c>>2]|0;o[c>>2]=r+-1}while(!((e|0)==(t|0)|(r|0)==0))}n=_e(e,t,n+7364|0)|0;h=f;return n|0}case 1:{o[n+7368>>2]=13;n=t;h=f;return n|0}default:{o[n+7368>>2]=9;n=t;h=f;return n|0}}return 0}function Gr(e,t){e=e|0;t=t|0;var n=0;n=e+t|0;if(!t)return;do{r[e>>0]=0;e=e+1|0}while((e|0)!=(n|0));return}function Hr(e,t){e=e|0;t=t|0;var n=0;n=e+t|0;if(!t)return;do{r[e>>0]=0;e=e+1|0}while((e|0)!=(n|0));return}function Vr(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0;o=h;h=h+16|0;i=o;r[i>>0]=0;if(n|0)while(1){n=n+-1|0;r[i>>0]=r[i>>0]|r[t>>0]^r[e>>0];if(!n)break;else{t=t+1|0;e=e+1|0}}h=o;return(r[i>>0]|0)==0|0}function Qr(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0;E=s[t>>0]|0;g=Cs(s[t+1>>0]|0|0,0,8)|0;T=I;O=Cs(s[t+2>>0]|0|0,0,16)|0;T=T|I;l=Cs(s[t+3>>0]|0|0,0,24)|0;T=T|I;R=r[t+6>>0]|0;f=s[t+4>>0]|0;k=Cs(s[t+5>>0]|0|0,0,8)|0;u=I;R=Cs(R&255|0,0,16)|0;u=Cs(k|f|R|0,u|I|0,6)|0;R=I;f=r[t+9>>0]|0;k=s[t+7>>0]|0;a=Cs(s[t+8>>0]|0|0,0,8)|0;v=I;f=Cs(f&255|0,0,16)|0;v=Cs(a|k|f|0,v|I|0,5)|0;f=I;k=r[t+12>>0]|0;a=s[t+10>>0]|0;b=Cs(s[t+11>>0]|0|0,0,8)|0;S=I;k=Cs(k&255|0,0,16)|0;S=Cs(b|a|k|0,S|I|0,3)|0;k=I;a=r[t+15>>0]|0;b=s[t+13>>0]|0;p=Cs(s[t+14>>0]|0|0,0,8)|0;c=I;a=Cs(a&255|0,0,16)|0;c=Cs(p|b|a|0,c|I|0,2)|0;a=I;b=s[t+16>>0]|0;p=Cs(s[t+17>>0]|0|0,0,8)|0;A=I;n=Cs(s[t+18>>0]|0|0,0,16)|0;A=A|I;w=Cs(s[t+19>>0]|0|0,0,24)|0;w=p|b|n|w;A=A|I;n=r[t+22>>0]|0;b=s[t+20>>0]|0;p=Cs(s[t+21>>0]|0|0,0,8)|0;i=I;n=Cs(n&255|0,0,16)|0;i=Cs(p|b|n|0,i|I|0,7)|0;n=I;b=r[t+25>>0]|0;p=s[t+23>>0]|0;x=Cs(s[t+24>>0]|0|0,0,8)|0;_=I;b=Cs(b&255|0,0,16)|0;_=Cs(x|p|b|0,_|I|0,5)|0;b=I;p=r[t+28>>0]|0;x=s[t+26>>0]|0;m=Cs(s[t+27>>0]|0|0,0,8)|0;h=I;p=Cs(p&255|0,0,16)|0;h=Cs(m|x|p|0,h|I|0,4)|0;p=I;x=r[t+31>>0]|0;m=s[t+29>>0]|0;d=Cs(s[t+30>>0]|0|0,0,8)|0;y=I;t=Cs(x&255|0,0,16)|0;y=Cs(d|m|t|0,y|I|0,2)|0;y=y&33554428;t=ks(y|0,0,16777216,0)|0;m=xs(t|0,I|0,25)|0;m=Ss(0,0,m|0,I|0)|0;T=ks(m&19|0,0,g|E|O|l|0,T|0)|0;l=I;O=ks(u|0,R|0,16777216,0)|0;E=xs(O|0,I|0,25)|0;E=ks(v|0,f|0,E|0,I|0)|0;f=I;O=Ss(u|0,R|0,O&-33554432|0,0)|0;R=I;u=ks(S|0,k|0,16777216,0)|0;v=xs(u|0,I|0,25)|0;v=ks(c|0,a|0,v|0,I|0)|0;a=I;c=ks(w|0,A|0,16777216,0)|0;g=xs(c|0,I|0,25)|0;g=ks(i|0,n|0,g|0,I|0)|0;n=I;i=ks(_|0,b|0,16777216,0)|0;m=xs(i|0,I|0,25)|0;m=ks(h|0,p|0,m|0,I|0)|0;p=I;h=ks(T|0,l|0,33554432,0)|0;d=xs(h|0,I|0,26)|0;d=ks(O|0,R|0,d|0,I|0)|0;h=Ss(T|0,l|0,h&-67108864|0,0)|0;l=ks(E|0,f|0,33554432,0)|0;T=xs(l|0,I|0,26)|0;k=ks(T|0,I|0,S|0,k|0)|0;u=Ss(k|0,I|0,u&-33554432|0,0)|0;l=Ss(E|0,f|0,l&-67108864|0,0)|0;f=ks(v|0,a|0,33554432,0)|0;E=xs(f|0,I|0,26)|0;A=ks(E|0,I|0,w|0,A|0)|0;c=Ss(A|0,I|0,c&-33554432|0,0)|0;f=Ss(v|0,a|0,f&-67108864|0,0)|0;a=ks(g|0,n|0,33554432,0)|0;v=xs(a|0,I|0,26)|0;b=ks(v|0,I|0,_|0,b|0)|0;i=Ss(b|0,I|0,i&-33554432|0,0)|0;a=Ss(g|0,n|0,a&-67108864|0,0)|0;n=ks(m|0,p|0,33554432,0)|0;g=xs(n|0,I|0,26)|0;g=ks(y|0,0,g|0,I|0)|0;t=Ss(g|0,I|0,t&33554432|0,0)|0;n=Ss(m|0,p|0,n&-67108864|0,0)|0;o[e>>2]=h;o[e+4>>2]=d;o[e+8>>2]=l;o[e+12>>2]=u;o[e+16>>2]=f;o[e+20>>2]=c;o[e+24>>2]=a;o[e+28>>2]=i;o[e+32>>2]=n;o[e+36>>2]=t;return}function Wr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,o=0,s=0;s=h;h=h+192|0;n=s+144|0;r=s+96|0;i=s+48|0;o=s;Yr(n,t);Yr(r,n);Yr(r,r);Xr(r,t,r);Xr(n,n,r);Yr(i,n);Xr(r,r,i);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);t=1;do{Yr(o,o);t=t+1|0}while((t|0)!=100);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(r,r);Yr(r,r);Yr(r,r);Yr(r,r);Yr(r,r);Xr(e,r,n);h=s;return}function Yr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0;tt=o[t>>2]|0;Ae=o[t+4>>2]|0;u=o[t+8>>2]|0;de=o[t+12>>2]|0;s=o[t+16>>2]|0;rt=o[t+20>>2]|0;a=o[t+24>>2]|0;p=o[t+28>>2]|0;q=o[t+32>>2]|0;O=o[t+36>>2]|0;y=tt<<1;n=Ae<<1;Ye=u<<1;c=de<<1;pe=s<<1;i=rt<<1;d=a<<1;r=p<<1;Ue=rt*38|0;be=a*19|0;Ee=p*38|0;ie=q*19|0;st=O*38|0;nt=((tt|0)<0)<<31>>31;nt=Es(tt|0,nt|0,tt|0,nt|0)|0;tt=I;b=((y|0)<0)<<31>>31;ve=((Ae|0)<0)<<31>>31;Ne=Es(y|0,b|0,Ae|0,ve|0)|0;Be=I;f=((u|0)<0)<<31>>31;We=Es(u|0,f|0,y|0,b|0)|0;Qe=I;he=((de|0)<0)<<31>>31;Ve=Es(de|0,he|0,y|0,b|0)|0;He=I;J=((s|0)<0)<<31>>31;Fe=Es(s|0,J|0,y|0,b|0)|0;Le=I;it=((rt|0)<0)<<31>>31;Ie=Es(rt|0,it|0,y|0,b|0)|0;Se=I;we=((a|0)<0)<<31>>31;ae=Es(a|0,we|0,y|0,b|0)|0;se=I;R=((p|0)<0)<<31>>31;G=Es(p|0,R|0,y|0,b|0)|0;z=I;K=((q|0)<0)<<31>>31;P=Es(q|0,K|0,y|0,b|0)|0;C=I;x=((O|0)<0)<<31>>31;b=Es(O|0,x|0,y|0,b|0)|0;y=I;l=((n|0)<0)<<31>>31;ve=Es(n|0,l|0,Ae|0,ve|0)|0;Ae=I;ne=Es(n|0,l|0,u|0,f|0)|0;re=I;g=((c|0)<0)<<31>>31;Ge=Es(c|0,g|0,n|0,l|0)|0;ze=I;xe=Es(s|0,J|0,n|0,l|0)|0;Oe=I;m=((i|0)<0)<<31>>31;fe=Es(i|0,m|0,n|0,l|0)|0;ce=I;V=Es(a|0,we|0,n|0,l|0)|0;H=I;t=((r|0)<0)<<31>>31;D=Es(r|0,t|0,n|0,l|0)|0;M=I;v=Es(q|0,K|0,n|0,l|0)|0;_=I;ot=((st|0)<0)<<31>>31;l=Es(st|0,ot|0,n|0,l|0)|0;n=I;Ke=Es(u|0,f|0,u|0,f|0)|0;qe=I;Xe=((Ye|0)<0)<<31>>31;Re=Es(Ye|0,Xe|0,de|0,he|0)|0;Te=I;le=Es(s|0,J|0,Ye|0,Xe|0)|0;ue=I;X=Es(rt|0,it|0,Ye|0,Xe|0)|0;Y=I;F=Es(a|0,we|0,Ye|0,Xe|0)|0;L=I;w=Es(p|0,R|0,Ye|0,Xe|0)|0;A=I;oe=((ie|0)<0)<<31>>31;Xe=Es(ie|0,oe|0,Ye|0,Xe|0)|0;Ye=I;f=Es(st|0,ot|0,u|0,f|0)|0;u=I;he=Es(c|0,g|0,de|0,he|0)|0;de=I;W=Es(c|0,g|0,s|0,J|0)|0;Q=I;N=Es(i|0,m|0,c|0,g|0)|0;B=I;T=Es(a|0,we|0,c|0,g|0)|0;S=I;ke=((Ee|0)<0)<<31>>31;Ze=Es(Ee|0,ke|0,c|0,g|0)|0;Je=I;Pe=Es(ie|0,oe|0,c|0,g|0)|0;Ce=I;g=Es(st|0,ot|0,c|0,g|0)|0;c=I;U=Es(s|0,J|0,s|0,J|0)|0;j=I;me=((pe|0)<0)<<31>>31;k=Es(pe|0,me|0,rt|0,it|0)|0;E=I;_e=((be|0)<0)<<31>>31;et=Es(be|0,_e|0,pe|0,me|0)|0;$e=I;De=Es(Ee|0,ke|0,s|0,J|0)|0;Me=I;me=Es(ie|0,oe|0,pe|0,me|0)|0;pe=I;J=Es(st|0,ot|0,s|0,J|0)|0;s=I;it=Es(Ue|0,((Ue|0)<0)<<31>>31|0,rt|0,it|0)|0;rt=I;Ue=Es(be|0,_e|0,i|0,m|0)|0;je=I;ye=Es(Ee|0,ke|0,i|0,m|0)|0;ge=I;$=Es(ie|0,oe|0,i|0,m|0)|0;Z=I;m=Es(st|0,ot|0,i|0,m|0)|0;i=I;_e=Es(be|0,_e|0,a|0,we|0)|0;be=I;te=Es(Ee|0,ke|0,a|0,we|0)|0;ee=I;d=Es(ie|0,oe|0,d|0,((d|0)<0)<<31>>31|0)|0;h=I;we=Es(st|0,ot|0,a|0,we|0)|0;a=I;R=Es(Ee|0,ke|0,p|0,R|0)|0;p=I;ke=Es(ie|0,oe|0,r|0,t|0)|0;Ee=I;t=Es(st|0,ot|0,r|0,t|0)|0;r=I;oe=Es(ie|0,oe|0,q|0,K|0)|0;ie=I;K=Es(st|0,ot|0,q|0,K|0)|0;q=I;x=Es(st|0,ot|0,O|0,x|0)|0;O=I;tt=ks(it|0,rt|0,nt|0,tt|0)|0;$e=ks(tt|0,I|0,et|0,$e|0)|0;Je=ks($e|0,I|0,Ze|0,Je|0)|0;Ye=ks(Je|0,I|0,Xe|0,Ye|0)|0;n=ks(Ye|0,I|0,l|0,n|0)|0;l=I;Ae=ks(We|0,Qe|0,ve|0,Ae|0)|0;ve=I;re=ks(Ve|0,He|0,ne|0,re|0)|0;ne=I;qe=ks(Ge|0,ze|0,Ke|0,qe|0)|0;Le=ks(qe|0,I|0,Fe|0,Le|0)|0;p=ks(Le|0,I|0,R|0,p|0)|0;h=ks(p|0,I|0,d|0,h|0)|0;i=ks(h|0,I|0,m|0,i|0)|0;m=I;h=ks(n|0,l|0,33554432,0)|0;d=I;p=Os(h|0,d|0,26)|0;R=I;Be=ks(Ue|0,je|0,Ne|0,Be|0)|0;Me=ks(Be|0,I|0,De|0,Me|0)|0;Ce=ks(Me|0,I|0,Pe|0,Ce|0)|0;u=ks(Ce|0,I|0,f|0,u|0)|0;R=ks(u|0,I|0,p|0,R|0)|0;p=I;d=Ss(n|0,l|0,h&-67108864|0,d|0)|0;h=I;l=ks(i|0,m|0,33554432,0)|0;n=I;u=Os(l|0,n|0,26)|0;f=I;Te=ks(xe|0,Oe|0,Re|0,Te|0)|0;Se=ks(Te|0,I|0,Ie|0,Se|0)|0;Ee=ks(Se|0,I|0,ke|0,Ee|0)|0;a=ks(Ee|0,I|0,we|0,a|0)|0;f=ks(a|0,I|0,u|0,f|0)|0;u=I;n=Ss(i|0,m|0,l&-67108864|0,n|0)|0;l=I;m=ks(R|0,p|0,16777216,0)|0;i=Os(m|0,I|0,25)|0;a=I;be=ks(Ae|0,ve|0,_e|0,be|0)|0;ge=ks(be|0,I|0,ye|0,ge|0)|0;pe=ks(ge|0,I|0,me|0,pe|0)|0;c=ks(pe|0,I|0,g|0,c|0)|0;a=ks(c|0,I|0,i|0,a|0)|0;i=I;m=Ss(R|0,p|0,m&-33554432|0,0)|0;p=I;R=ks(f|0,u|0,16777216,0)|0;c=Os(R|0,I|0,25)|0;g=I;ue=ks(he|0,de|0,le|0,ue|0)|0;ce=ks(ue|0,I|0,fe|0,ce|0)|0;se=ks(ce|0,I|0,ae|0,se|0)|0;ie=ks(se|0,I|0,oe|0,ie|0)|0;r=ks(ie|0,I|0,t|0,r|0)|0;g=ks(r|0,I|0,c|0,g|0)|0;c=I;R=Ss(f|0,u|0,R&-33554432|0,0)|0;u=I;f=ks(a|0,i|0,33554432,0)|0;r=Os(f|0,I|0,26)|0;t=I;ee=ks(re|0,ne|0,te|0,ee|0)|0;Z=ks(ee|0,I|0,$|0,Z|0)|0;s=ks(Z|0,I|0,J|0,s|0)|0;t=ks(s|0,I|0,r|0,t|0)|0;r=I;f=Ss(a|0,i|0,f&-67108864|0,0)|0;i=ks(g|0,c|0,33554432,0)|0;a=Os(i|0,I|0,26)|0;s=I;Q=ks(X|0,Y|0,W|0,Q|0)|0;H=ks(Q|0,I|0,V|0,H|0)|0;z=ks(H|0,I|0,G|0,z|0)|0;q=ks(z|0,I|0,K|0,q|0)|0;s=ks(q|0,I|0,a|0,s|0)|0;a=I;i=Ss(g|0,c|0,i&-67108864|0,0)|0;c=ks(t|0,r|0,16777216,0)|0;g=Os(c|0,I|0,25)|0;l=ks(g|0,I|0,n|0,l|0)|0;n=I;c=Ss(t|0,r|0,c&-33554432|0,0)|0;r=ks(s|0,a|0,16777216,0)|0;t=Os(r|0,I|0,25)|0;g=I;j=ks(F|0,L|0,U|0,j|0)|0;B=ks(j|0,I|0,N|0,B|0)|0;M=ks(B|0,I|0,D|0,M|0)|0;C=ks(M|0,I|0,P|0,C|0)|0;O=ks(C|0,I|0,x|0,O|0)|0;g=ks(O|0,I|0,t|0,g|0)|0;t=I;r=Ss(s|0,a|0,r&-33554432|0,0)|0;a=ks(l|0,n|0,33554432,0)|0;s=xs(a|0,I|0,26)|0;s=ks(R|0,u|0,s|0,I|0)|0;a=Ss(l|0,n|0,a&-67108864|0,0)|0;n=ks(g|0,t|0,33554432,0)|0;l=Os(n|0,I|0,26)|0;u=I;E=ks(T|0,S|0,k|0,E|0)|0;A=ks(E|0,I|0,w|0,A|0)|0;_=ks(A|0,I|0,v|0,_|0)|0;y=ks(_|0,I|0,b|0,y|0)|0;u=ks(y|0,I|0,l|0,u|0)|0;l=I;n=Ss(g|0,t|0,n&-67108864|0,0)|0;t=ks(u|0,l|0,16777216,0)|0;g=Os(t|0,I|0,25)|0;g=Es(g|0,I|0,19,0)|0;h=ks(g|0,I|0,d|0,h|0)|0;d=I;t=Ss(u|0,l|0,t&-33554432|0,0)|0;l=ks(h|0,d|0,33554432,0)|0;u=xs(l|0,I|0,26)|0;u=ks(m|0,p|0,u|0,I|0)|0;l=Ss(h|0,d|0,l&-67108864|0,0)|0;o[e>>2]=l;o[e+4>>2]=u;o[e+8>>2]=f;o[e+12>>2]=c;o[e+16>>2]=a;o[e+20>>2]=s;o[e+24>>2]=i;o[e+28>>2]=r;o[e+32>>2]=n;o[e+36>>2]=t;return}function Xr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0,at=0,ct=0,ft=0,ut=0,lt=0,dt=0,ht=0,pt=0,mt=0,gt=0,yt=0,bt=0,_t=0,vt=0,At=0,wt=0,Et=0,kt=0,St=0,It=0,Tt=0,Rt=0,Ot=0,xt=0,Ct=0,Pt=0,Mt=0,Dt=0,Bt=0,Nt=0,jt=0,Ut=0,Lt=0,Ft=0,qt=0,Kt=0,zt=0,Gt=0,Ht=0,Vt=0,Qt=0,Wt=0,Yt=0,Xt=0,Jt=0,Zt=0,$t=0,en=0,tn=0,nn=0,rn=0,on=0,sn=0,an=0,cn=0,fn=0,un=0,ln=0,dn=0,hn=0,pn=0,mn=0,gn=0,yn=0,bn=0,_n=0,vn=0,An=0,wn=0,En=0,kn=0,Sn=0,In=0,Tn=0,Rn=0,On=0,xn=0,Cn=0,Pn=0,Mn=0,Dn=0,Bn=0,Nn=0,jn=0,Un=0,Ln=0,Fn=0,qn=0,Kn=0,zn=0,Gn=0,Hn=0;y=o[t>>2]|0;_=o[t+4>>2]|0;u=o[t+8>>2]|0;Ht=o[t+12>>2]|0;s=o[t+16>>2]|0;Ie=o[t+20>>2]|0;a=o[t+24>>2]|0;Tt=o[t+28>>2]|0;oe=o[t+32>>2]|0;ae=o[t+36>>2]|0;D=o[n>>2]|0;N=o[n+4>>2]|0;P=o[n+8>>2]|0;x=o[n+12>>2]|0;R=o[n+16>>2]|0;S=o[n+20>>2]|0;E=o[n+24>>2]|0;A=o[n+28>>2]|0;f=o[n+32>>2]|0;v=o[n+36>>2]|0;qn=N*19|0;rn=P*19|0;bt=x*19|0;De=R*19|0;un=S*19|0;Ct=E*19|0;Ve=A*19|0;Hn=f*19|0;zn=v*19|0;t=_<<1;c=Ht<<1;i=Ie<<1;r=Tt<<1;L=ae<<1;b=((y|0)<0)<<31>>31;B=((D|0)<0)<<31>>31;Ln=Es(D|0,B|0,y|0,b|0)|0;Un=I;j=((N|0)<0)<<31>>31;En=Es(N|0,j|0,y|0,b|0)|0;wn=I;M=((P|0)<0)<<31>>31;At=Es(P|0,M|0,y|0,b|0)|0;vt=I;C=((x|0)<0)<<31>>31;je=Es(x|0,C|0,y|0,b|0)|0;Ne=I;O=((R|0)<0)<<31>>31;hn=Es(R|0,O|0,y|0,b|0)|0;dn=I;T=((S|0)<0)<<31>>31;Dt=Es(S|0,T|0,y|0,b|0)|0;Mt=I;k=((E|0)<0)<<31>>31;Ye=Es(E|0,k|0,y|0,b|0)|0;We=I;w=((A|0)<0)<<31>>31;ue=Es(A|0,w|0,y|0,b|0)|0;fe=I;Kn=((f|0)<0)<<31>>31;K=Es(f|0,Kn|0,y|0,b|0)|0;q=I;b=Es(v|0,((v|0)<0)<<31>>31|0,y|0,b|0)|0;y=I;v=((_|0)<0)<<31>>31;sn=Es(D|0,B|0,_|0,v|0)|0;an=I;l=((t|0)<0)<<31>>31;St=Es(N|0,j|0,t|0,l|0)|0;kt=I;Le=Es(P|0,M|0,_|0,v|0)|0;Ue=I;mn=Es(x|0,C|0,t|0,l|0)|0;pn=I;Nt=Es(R|0,O|0,_|0,v|0)|0;Bt=I;Je=Es(S|0,T|0,t|0,l|0)|0;Xe=I;de=Es(E|0,k|0,_|0,v|0)|0;le=I;G=Es(A|0,w|0,t|0,l|0)|0;z=I;v=Es(f|0,Kn|0,_|0,v|0)|0;_=I;Kn=((zn|0)<0)<<31>>31;l=Es(zn|0,Kn|0,t|0,l|0)|0;t=I;f=((u|0)<0)<<31>>31;Et=Es(D|0,B|0,u|0,f|0)|0;wt=I;ze=Es(N|0,j|0,u|0,f|0)|0;Ke=I;yn=Es(P|0,M|0,u|0,f|0)|0;gn=I;Ut=Es(x|0,C|0,u|0,f|0)|0;jt=I;$e=Es(R|0,O|0,u|0,f|0)|0;Ze=I;pe=Es(S|0,T|0,u|0,f|0)|0;he=I;V=Es(E|0,k|0,u|0,f|0)|0;H=I;w=Es(A|0,w|0,u|0,f|0)|0;A=I;Gn=((Hn|0)<0)<<31>>31;Sn=Es(Hn|0,Gn|0,u|0,f|0)|0;kn=I;f=Es(zn|0,Kn|0,u|0,f|0)|0;u=I;Vt=((Ht|0)<0)<<31>>31;qe=Es(D|0,B|0,Ht|0,Vt|0)|0;Fe=I;g=((c|0)<0)<<31>>31;An=Es(N|0,j|0,c|0,g|0)|0;vn=I;Ft=Es(P|0,M|0,Ht|0,Vt|0)|0;Lt=I;tt=Es(x|0,C|0,c|0,g|0)|0;et=I;ge=Es(R|0,O|0,Ht|0,Vt|0)|0;me=I;W=Es(S|0,T|0,c|0,g|0)|0;Q=I;k=Es(E|0,k|0,Ht|0,Vt|0)|0;E=I;Qe=((Ve|0)<0)<<31>>31;Tn=Es(Ve|0,Qe|0,c|0,g|0)|0;In=I;Vt=Es(Hn|0,Gn|0,Ht|0,Vt|0)|0;Ht=I;g=Es(zn|0,Kn|0,c|0,g|0)|0;c=I;Se=((s|0)<0)<<31>>31;_n=Es(D|0,B|0,s|0,Se|0)|0;bn=I;Gt=Es(N|0,j|0,s|0,Se|0)|0;zt=I;rt=Es(P|0,M|0,s|0,Se|0)|0;nt=I;be=Es(x|0,C|0,s|0,Se|0)|0;ye=I;X=Es(R|0,O|0,s|0,Se|0)|0;Y=I;T=Es(S|0,T|0,s|0,Se|0)|0;S=I;Pt=((Ct|0)<0)<<31>>31;On=Es(Ct|0,Pt|0,s|0,Se|0)|0;Rn=I;Wt=Es(Ve|0,Qe|0,s|0,Se|0)|0;Qt=I;ft=Es(Hn|0,Gn|0,s|0,Se|0)|0;ct=I;Se=Es(zn|0,Kn|0,s|0,Se|0)|0;s=I;Te=((Ie|0)<0)<<31>>31;Kt=Es(D|0,B|0,Ie|0,Te|0)|0;qt=I;m=((i|0)<0)<<31>>31;at=Es(N|0,j|0,i|0,m|0)|0;st=I;ve=Es(P|0,M|0,Ie|0,Te|0)|0;_e=I;Z=Es(x|0,C|0,i|0,m|0)|0;J=I;O=Es(R|0,O|0,Ie|0,Te|0)|0;R=I;ln=((un|0)<0)<<31>>31;Cn=Es(un|0,ln|0,i|0,m|0)|0;xn=I;Xt=Es(Ct|0,Pt|0,Ie|0,Te|0)|0;Yt=I;lt=Es(Ve|0,Qe|0,i|0,m|0)|0;ut=I;Te=Es(Hn|0,Gn|0,Ie|0,Te|0)|0;Ie=I;m=Es(zn|0,Kn|0,i|0,m|0)|0;i=I;It=((a|0)<0)<<31>>31;ot=Es(D|0,B|0,a|0,It|0)|0;it=I;ke=Es(N|0,j|0,a|0,It|0)|0;Ee=I;ee=Es(P|0,M|0,a|0,It|0)|0;$=I;C=Es(x|0,C|0,a|0,It|0)|0;x=I;Be=((De|0)<0)<<31>>31;Mn=Es(De|0,Be|0,a|0,It|0)|0;Pn=I;Zt=Es(un|0,ln|0,a|0,It|0)|0;Jt=I;ht=Es(Ct|0,Pt|0,a|0,It|0)|0;dt=I;Oe=Es(Ve|0,Qe|0,a|0,It|0)|0;Re=I;d=Es(Hn|0,Gn|0,a|0,It|0)|0;h=I;It=Es(zn|0,Kn|0,a|0,It|0)|0;a=I;Rt=((Tt|0)<0)<<31>>31;we=Es(D|0,B|0,Tt|0,Rt|0)|0;Ae=I;n=((r|0)<0)<<31>>31;ie=Es(N|0,j|0,r|0,n|0)|0;re=I;M=Es(P|0,M|0,Tt|0,Rt|0)|0;P=I;_t=((bt|0)<0)<<31>>31;Bn=Es(bt|0,_t|0,r|0,n|0)|0;Dn=I;en=Es(De|0,Be|0,Tt|0,Rt|0)|0;$t=I;mt=Es(un|0,ln|0,r|0,n|0)|0;pt=I;Ce=Es(Ct|0,Pt|0,Tt|0,Rt|0)|0;xe=I;U=Es(Ve|0,Qe|0,r|0,n|0)|0;p=I;Rt=Es(Hn|0,Gn|0,Tt|0,Rt|0)|0;Tt=I;n=Es(zn|0,Kn|0,r|0,n|0)|0;r=I;se=((oe|0)<0)<<31>>31;ne=Es(D|0,B|0,oe|0,se|0)|0;te=I;j=Es(N|0,j|0,oe|0,se|0)|0;N=I;on=((rn|0)<0)<<31>>31;jn=Es(rn|0,on|0,oe|0,se|0)|0;Nn=I;nn=Es(bt|0,_t|0,oe|0,se|0)|0;tn=I;yt=Es(De|0,Be|0,oe|0,se|0)|0;gt=I;Me=Es(un|0,ln|0,oe|0,se|0)|0;Pe=I;fn=Es(Ct|0,Pt|0,oe|0,se|0)|0;cn=I;xt=Es(Ve|0,Qe|0,oe|0,se|0)|0;Ot=I;He=Es(Hn|0,Gn|0,oe|0,se|0)|0;Ge=I;se=Es(zn|0,Kn|0,oe|0,se|0)|0;oe=I;ce=((ae|0)<0)<<31>>31;B=Es(D|0,B|0,ae|0,ce|0)|0;D=I;F=((L|0)<0)<<31>>31;qn=Es(qn|0,((qn|0)<0)<<31>>31|0,L|0,F|0)|0;Fn=I;on=Es(rn|0,on|0,ae|0,ce|0)|0;rn=I;_t=Es(bt|0,_t|0,L|0,F|0)|0;bt=I;Be=Es(De|0,Be|0,ae|0,ce|0)|0;De=I;ln=Es(un|0,ln|0,L|0,F|0)|0;un=I;Pt=Es(Ct|0,Pt|0,ae|0,ce|0)|0;Ct=I;Qe=Es(Ve|0,Qe|0,L|0,F|0)|0;Ve=I;ce=Es(Hn|0,Gn|0,ae|0,ce|0)|0;ae=I;F=Es(zn|0,Kn|0,L|0,F|0)|0;L=I;Un=ks(qn|0,Fn|0,Ln|0,Un|0)|0;Nn=ks(Un|0,I|0,jn|0,Nn|0)|0;Dn=ks(Nn|0,I|0,Bn|0,Dn|0)|0;Pn=ks(Dn|0,I|0,Mn|0,Pn|0)|0;xn=ks(Pn|0,I|0,Cn|0,xn|0)|0;Rn=ks(xn|0,I|0,On|0,Rn|0)|0;In=ks(Rn|0,I|0,Tn|0,In|0)|0;kn=ks(In|0,I|0,Sn|0,kn|0)|0;t=ks(kn|0,I|0,l|0,t|0)|0;l=I;an=ks(En|0,wn|0,sn|0,an|0)|0;sn=I;bn=ks(An|0,vn|0,_n|0,bn|0)|0;gn=ks(bn|0,I|0,yn|0,gn|0)|0;pn=ks(gn|0,I|0,mn|0,pn|0)|0;dn=ks(pn|0,I|0,hn|0,dn|0)|0;un=ks(dn|0,I|0,ln|0,un|0)|0;cn=ks(un|0,I|0,fn|0,cn|0)|0;p=ks(cn|0,I|0,U|0,p|0)|0;h=ks(p|0,I|0,d|0,h|0)|0;i=ks(h|0,I|0,m|0,i|0)|0;m=I;h=ks(t|0,l|0,33554432,0)|0;d=I;p=Os(h|0,d|0,26)|0;U=I;rn=ks(an|0,sn|0,on|0,rn|0)|0;tn=ks(rn|0,I|0,nn|0,tn|0)|0;$t=ks(tn|0,I|0,en|0,$t|0)|0;Jt=ks($t|0,I|0,Zt|0,Jt|0)|0;Yt=ks(Jt|0,I|0,Xt|0,Yt|0)|0;Qt=ks(Yt|0,I|0,Wt|0,Qt|0)|0;Ht=ks(Qt|0,I|0,Vt|0,Ht|0)|0;u=ks(Ht|0,I|0,f|0,u|0)|0;U=ks(u|0,I|0,p|0,U|0)|0;p=I;d=Ss(t|0,l|0,h&-67108864|0,d|0)|0;h=I;l=ks(i|0,m|0,33554432,0)|0;t=I;u=Os(l|0,t|0,26)|0;f=I;qt=ks(Gt|0,zt|0,Kt|0,qt|0)|0;Lt=ks(qt|0,I|0,Ft|0,Lt|0)|0;jt=ks(Lt|0,I|0,Ut|0,jt|0)|0;Bt=ks(jt|0,I|0,Nt|0,Bt|0)|0;Mt=ks(Bt|0,I|0,Dt|0,Mt|0)|0;Ct=ks(Mt|0,I|0,Pt|0,Ct|0)|0;Ot=ks(Ct|0,I|0,xt|0,Ot|0)|0;Tt=ks(Ot|0,I|0,Rt|0,Tt|0)|0;a=ks(Tt|0,I|0,It|0,a|0)|0;f=ks(a|0,I|0,u|0,f|0)|0;u=I;t=Ss(i|0,m|0,l&-67108864|0,t|0)|0;l=I;m=ks(U|0,p|0,16777216,0)|0;i=Os(m|0,I|0,25)|0;a=I;wt=ks(St|0,kt|0,Et|0,wt|0)|0;vt=ks(wt|0,I|0,At|0,vt|0)|0;bt=ks(vt|0,I|0,_t|0,bt|0)|0;gt=ks(bt|0,I|0,yt|0,gt|0)|0;pt=ks(gt|0,I|0,mt|0,pt|0)|0;dt=ks(pt|0,I|0,ht|0,dt|0)|0;ut=ks(dt|0,I|0,lt|0,ut|0)|0;ct=ks(ut|0,I|0,ft|0,ct|0)|0;c=ks(ct|0,I|0,g|0,c|0)|0;a=ks(c|0,I|0,i|0,a|0)|0;i=I;m=Ss(U|0,p|0,m&-33554432|0,0)|0;p=I;U=ks(f|0,u|0,16777216,0)|0;c=Os(U|0,I|0,25)|0;g=I;it=ks(at|0,st|0,ot|0,it|0)|0;nt=ks(it|0,I|0,rt|0,nt|0)|0;et=ks(nt|0,I|0,tt|0,et|0)|0;Ze=ks(et|0,I|0,$e|0,Ze|0)|0;Xe=ks(Ze|0,I|0,Je|0,Xe|0)|0;We=ks(Xe|0,I|0,Ye|0,We|0)|0;Ve=ks(We|0,I|0,Qe|0,Ve|0)|0;Ge=ks(Ve|0,I|0,He|0,Ge|0)|0;r=ks(Ge|0,I|0,n|0,r|0)|0;g=ks(r|0,I|0,c|0,g|0)|0;c=I;U=Ss(f|0,u|0,U&-33554432|0,0)|0;u=I;f=ks(a|0,i|0,33554432,0)|0;r=Os(f|0,I|0,26)|0;n=I;Fe=ks(ze|0,Ke|0,qe|0,Fe|0)|0;Ue=ks(Fe|0,I|0,Le|0,Ue|0)|0;Ne=ks(Ue|0,I|0,je|0,Ne|0)|0;De=ks(Ne|0,I|0,Be|0,De|0)|0;Pe=ks(De|0,I|0,Me|0,Pe|0)|0;xe=ks(Pe|0,I|0,Ce|0,xe|0)|0;Re=ks(xe|0,I|0,Oe|0,Re|0)|0;Ie=ks(Re|0,I|0,Te|0,Ie|0)|0;s=ks(Ie|0,I|0,Se|0,s|0)|0;n=ks(s|0,I|0,r|0,n|0)|0;r=I;f=Ss(a|0,i|0,f&-67108864|0,0)|0;i=ks(g|0,c|0,33554432,0)|0;a=Os(i|0,I|0,26)|0;s=I;Ae=ks(ke|0,Ee|0,we|0,Ae|0)|0;_e=ks(Ae|0,I|0,ve|0,_e|0)|0;ye=ks(_e|0,I|0,be|0,ye|0)|0;me=ks(ye|0,I|0,ge|0,me|0)|0;he=ks(me|0,I|0,pe|0,he|0)|0;le=ks(he|0,I|0,de|0,le|0)|0;fe=ks(le|0,I|0,ue|0,fe|0)|0;ae=ks(fe|0,I|0,ce|0,ae|0)|0;oe=ks(ae|0,I|0,se|0,oe|0)|0;s=ks(oe|0,I|0,a|0,s|0)|0;a=I;i=Ss(g|0,c|0,i&-67108864|0,0)|0;c=ks(n|0,r|0,16777216,0)|0;g=Os(c|0,I|0,25)|0;l=ks(g|0,I|0,t|0,l|0)|0;t=I;c=Ss(n|0,r|0,c&-33554432|0,0)|0;r=ks(s|0,a|0,16777216,0)|0;n=Os(r|0,I|0,25)|0;g=I;te=ks(ie|0,re|0,ne|0,te|0)|0;$=ks(te|0,I|0,ee|0,$|0)|0;J=ks($|0,I|0,Z|0,J|0)|0;Y=ks(J|0,I|0,X|0,Y|0)|0;Q=ks(Y|0,I|0,W|0,Q|0)|0;H=ks(Q|0,I|0,V|0,H|0)|0;z=ks(H|0,I|0,G|0,z|0)|0;q=ks(z|0,I|0,K|0,q|0)|0;L=ks(q|0,I|0,F|0,L|0)|0;g=ks(L|0,I|0,n|0,g|0)|0;n=I;r=Ss(s|0,a|0,r&-33554432|0,0)|0;a=ks(l|0,t|0,33554432,0)|0;s=xs(a|0,I|0,26)|0;s=ks(U|0,u|0,s|0,I|0)|0;a=Ss(l|0,t|0,a&-67108864|0,0)|0;t=ks(g|0,n|0,33554432,0)|0;l=Os(t|0,I|0,26)|0;u=I;D=ks(j|0,N|0,B|0,D|0)|0;P=ks(D|0,I|0,M|0,P|0)|0;x=ks(P|0,I|0,C|0,x|0)|0;R=ks(x|0,I|0,O|0,R|0)|0;S=ks(R|0,I|0,T|0,S|0)|0;E=ks(S|0,I|0,k|0,E|0)|0;A=ks(E|0,I|0,w|0,A|0)|0;_=ks(A|0,I|0,v|0,_|0)|0;y=ks(_|0,I|0,b|0,y|0)|0;u=ks(y|0,I|0,l|0,u|0)|0;l=I;t=Ss(g|0,n|0,t&-67108864|0,0)|0;n=ks(u|0,l|0,16777216,0)|0;g=Os(n|0,I|0,25)|0;g=Es(g|0,I|0,19,0)|0;h=ks(g|0,I|0,d|0,h|0)|0;d=I;n=Ss(u|0,l|0,n&-33554432|0,0)|0;l=ks(h|0,d|0,33554432,0)|0;u=xs(l|0,I|0,26)|0;u=ks(m|0,p|0,u|0,I|0)|0;l=Ss(h|0,d|0,l&-67108864|0,0)|0;o[e>>2]=l;o[e+4>>2]=u;o[e+8>>2]=f;o[e+12>>2]=c;o[e+16>>2]=a;o[e+20>>2]=s;o[e+24>>2]=i;o[e+28>>2]=r;o[e+32>>2]=t;o[e+36>>2]=n;return}function Jr(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0;_=o[t>>2]|0;b=o[t+4>>2]|0;g=o[t+8>>2]|0;p=o[t+12>>2]|0;d=o[t+16>>2]|0;l=o[t+20>>2]|0;u=o[t+24>>2]|0;c=o[t+28>>2]|0;s=o[t+32>>2]|0;n=o[t+36>>2]|0;_=(((((((((((((n*19|0)+16777216>>25)+_>>26)+b>>25)+g>>26)+p>>25)+d>>26)+l>>25)+u>>26)+c>>25)+s>>26)+n>>25)*19|0)+_|0;b=(_>>26)+b|0;g=(b>>25)+g|0;y=b&33554431;p=(g>>26)+p|0;m=g&67108863;d=(p>>25)+d|0;h=p&33554431;l=(d>>26)+l|0;u=(l>>25)+u|0;c=(u>>26)+c|0;f=u&67108863;s=(c>>25)+s|0;a=c&33554431;n=(s>>26)+n|0;i=s&67108863;t=n&33554431;r[e>>0]=_;r[e+1>>0]=_>>>8;r[e+2>>0]=_>>>16;r[e+3>>0]=y<<2|_>>>24&3;r[e+4>>0]=b>>>6;r[e+5>>0]=b>>>14;r[e+6>>0]=m<<3|y>>>22;r[e+7>>0]=g>>>5;r[e+8>>0]=g>>>13;r[e+9>>0]=h<<5|m>>>21;r[e+10>>0]=p>>>3;r[e+11>>0]=p>>>11;r[e+12>>0]=d<<6|h>>>19;r[e+13>>0]=d>>>2;r[e+14>>0]=d>>>10;r[e+15>>0]=d>>>18;r[e+16>>0]=l;r[e+17>>0]=l>>>8;r[e+18>>0]=l>>>16;r[e+19>>0]=f<<1|l>>>24&1;r[e+20>>0]=u>>>7;r[e+21>>0]=u>>>15;r[e+22>>0]=a<<3|f>>>23;r[e+23>>0]=c>>>5;r[e+24>>0]=c>>>13;r[e+25>>0]=i<<4|a>>>21;r[e+26>>0]=s>>>4;r[e+27>>0]=s>>>12;r[e+28>>0]=t<<6|i>>>20;r[e+29>>0]=n>>>2;r[e+30>>0]=n>>>10;r[e+31>>0]=t>>>18;return}function Zr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,o=0,s=0;s=h;h=h+144|0;r=s+96|0;i=s+48|0;o=s;Yr(r,t);Yr(i,r);Yr(i,i);Xr(i,t,i);Xr(r,r,i);Yr(r,r);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);n=1;do{Yr(o,o);n=n+1|0}while((n|0)!=100);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(r,r);Yr(r,r);Xr(e,r,t);h=s;return}function $r(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0;tt=o[t>>2]|0;je=o[t+4>>2]|0;_=o[t+8>>2]|0;re=o[t+12>>2]|0;v=o[t+16>>2]|0;rt=o[t+20>>2]|0;f=o[t+24>>2]|0;me=o[t+28>>2]|0;s=o[t+32>>2]|0;g=o[t+36>>2]|0;u=tt<<1;y=je<<1;Ye=_<<1;w=re<<1;Ce=v<<1;m=rt<<1;pe=f<<1;A=me<<1;We=rt*38|0;Be=f*19|0;oe=me*38|0;Y=s*19|0;st=g*38|0;nt=((tt|0)<0)<<31>>31;nt=Es(tt|0,nt|0,tt|0,nt|0)|0;tt=I;l=((u|0)<0)<<31>>31;Ue=((je|0)<0)<<31>>31;Ve=Es(u|0,l|0,je|0,Ue|0)|0;He=I;p=((_|0)<0)<<31>>31;Fe=Es(_|0,p|0,u|0,l|0)|0;Le=I;ie=((re|0)<0)<<31>>31;xe=Es(re|0,ie|0,u|0,l|0)|0;Oe=I;r=((v|0)<0)<<31>>31;be=Es(v|0,r|0,u|0,l|0)|0;ye=I;it=((rt|0)<0)<<31>>31;ce=Es(rt|0,it|0,u|0,l|0)|0;ae=I;b=((f|0)<0)<<31>>31;Z=Es(f|0,b|0,u|0,l|0)|0;J=I;ge=((me|0)<0)<<31>>31;K=Es(me|0,ge|0,u|0,l|0)|0;q=I;a=((s|0)<0)<<31>>31;P=Es(s|0,a|0,u|0,l|0)|0;C=I;t=((g|0)<0)<<31>>31;l=Es(g|0,t|0,u|0,l|0)|0;u=I;n=((y|0)<0)<<31>>31;Ue=Es(y|0,n|0,je|0,Ue|0)|0;je=I;Re=Es(y|0,n|0,_|0,p|0)|0;Te=I;i=((w|0)<0)<<31>>31;we=Es(w|0,i|0,y|0,n|0)|0;Ae=I;de=Es(v|0,r|0,y|0,n|0)|0;le=I;E=((m|0)<0)<<31>>31;ee=Es(m|0,E|0,y|0,n|0)|0;$=I;G=Es(f|0,b|0,y|0,n|0)|0;z=I;c=((A|0)<0)<<31>>31;D=Es(A|0,c|0,y|0,n|0)|0;M=I;d=Es(s|0,a|0,y|0,n|0)|0;h=I;ot=((st|0)<0)<<31>>31;n=Es(st|0,ot|0,y|0,n|0)|0;y=I;ve=Es(_|0,p|0,_|0,p|0)|0;_e=I;Xe=((Ye|0)<0)<<31>>31;ue=Es(Ye|0,Xe|0,re|0,ie|0)|0;fe=I;ne=Es(v|0,r|0,Ye|0,Xe|0)|0;te=I;W=Es(rt|0,it|0,Ye|0,Xe|0)|0;Q=I;F=Es(f|0,b|0,Ye|0,Xe|0)|0;L=I;S=Es(me|0,ge|0,Ye|0,Xe|0)|0;k=I;X=((Y|0)<0)<<31>>31;Xe=Es(Y|0,X|0,Ye|0,Xe|0)|0;Ye=I;p=Es(st|0,ot|0,_|0,p|0)|0;_=I;ie=Es(w|0,i|0,re|0,ie|0)|0;re=I;V=Es(w|0,i|0,v|0,r|0)|0;H=I;N=Es(m|0,E|0,w|0,i|0)|0;B=I;x=Es(f|0,b|0,w|0,i|0)|0;O=I;se=((oe|0)<0)<<31>>31;Ze=Es(oe|0,se|0,w|0,i|0)|0;Je=I;Ke=Es(Y|0,X|0,w|0,i|0)|0;qe=I;i=Es(st|0,ot|0,w|0,i|0)|0;w=I;U=Es(v|0,r|0,v|0,r|0)|0;j=I;Pe=((Ce|0)<0)<<31>>31;R=Es(Ce|0,Pe|0,rt|0,it|0)|0;T=I;Ne=((Be|0)<0)<<31>>31;et=Es(Be|0,Ne|0,Ce|0,Pe|0)|0;$e=I;Ge=Es(oe|0,se|0,v|0,r|0)|0;ze=I;Pe=Es(Y|0,X|0,Ce|0,Pe|0)|0;Ce=I;r=Es(st|0,ot|0,v|0,r|0)|0;v=I;it=Es(We|0,((We|0)<0)<<31>>31|0,rt|0,it|0)|0;rt=I;We=Es(Be|0,Ne|0,m|0,E|0)|0;Qe=I;De=Es(oe|0,se|0,m|0,E|0)|0;Me=I;ke=Es(Y|0,X|0,m|0,E|0)|0;Ee=I;E=Es(st|0,ot|0,m|0,E|0)|0;m=I;Ne=Es(Be|0,Ne|0,f|0,b|0)|0;Be=I;Ie=Es(oe|0,se|0,f|0,b|0)|0;Se=I;pe=Es(Y|0,X|0,pe|0,((pe|0)<0)<<31>>31|0)|0;he=I;b=Es(st|0,ot|0,f|0,b|0)|0;f=I;ge=Es(oe|0,se|0,me|0,ge|0)|0;me=I;se=Es(Y|0,X|0,A|0,c|0)|0;oe=I;c=Es(st|0,ot|0,A|0,c|0)|0;A=I;X=Es(Y|0,X|0,s|0,a|0)|0;Y=I;a=Es(st|0,ot|0,s|0,a|0)|0;s=I;t=Es(st|0,ot|0,g|0,t|0)|0;g=I;tt=ks(it|0,rt|0,nt|0,tt|0)|0;$e=ks(tt|0,I|0,et|0,$e|0)|0;Je=ks($e|0,I|0,Ze|0,Je|0)|0;Ye=ks(Je|0,I|0,Xe|0,Ye|0)|0;y=ks(Ye|0,I|0,n|0,y|0)|0;n=I;He=ks(We|0,Qe|0,Ve|0,He|0)|0;ze=ks(He|0,I|0,Ge|0,ze|0)|0;qe=ks(ze|0,I|0,Ke|0,qe|0)|0;_=ks(qe|0,I|0,p|0,_|0)|0;p=I;je=ks(Fe|0,Le|0,Ue|0,je|0)|0;Be=ks(je|0,I|0,Ne|0,Be|0)|0;Me=ks(Be|0,I|0,De|0,Me|0)|0;Ce=ks(Me|0,I|0,Pe|0,Ce|0)|0;w=ks(Ce|0,I|0,i|0,w|0)|0;i=I;Te=ks(xe|0,Oe|0,Re|0,Te|0)|0;Se=ks(Te|0,I|0,Ie|0,Se|0)|0;Ee=ks(Se|0,I|0,ke|0,Ee|0)|0;v=ks(Ee|0,I|0,r|0,v|0)|0;r=I;_e=ks(we|0,Ae|0,ve|0,_e|0)|0;ye=ks(_e|0,I|0,be|0,ye|0)|0;me=ks(ye|0,I|0,ge|0,me|0)|0;he=ks(me|0,I|0,pe|0,he|0)|0;m=ks(he|0,I|0,E|0,m|0)|0;E=I;fe=ks(de|0,le|0,ue|0,fe|0)|0;ae=ks(fe|0,I|0,ce|0,ae|0)|0;oe=ks(ae|0,I|0,se|0,oe|0)|0;f=ks(oe|0,I|0,b|0,f|0)|0;b=I;te=ks(ie|0,re|0,ne|0,te|0)|0;$=ks(te|0,I|0,ee|0,$|0)|0;J=ks($|0,I|0,Z|0,J|0)|0;Y=ks(J|0,I|0,X|0,Y|0)|0;A=ks(Y|0,I|0,c|0,A|0)|0;c=I;H=ks(W|0,Q|0,V|0,H|0)|0;z=ks(H|0,I|0,G|0,z|0)|0;q=ks(z|0,I|0,K|0,q|0)|0;s=ks(q|0,I|0,a|0,s|0)|0;a=I;j=ks(F|0,L|0,U|0,j|0)|0;B=ks(j|0,I|0,N|0,B|0)|0;M=ks(B|0,I|0,D|0,M|0)|0;C=ks(M|0,I|0,P|0,C|0)|0;g=ks(C|0,I|0,t|0,g|0)|0;t=I;T=ks(x|0,O|0,R|0,T|0)|0;k=ks(T|0,I|0,S|0,k|0)|0;h=ks(k|0,I|0,d|0,h|0)|0;u=ks(h|0,I|0,l|0,u|0)|0;l=I;n=Cs(y|0,n|0,1)|0;y=I;p=Cs(_|0,p|0,1)|0;_=I;i=Cs(w|0,i|0,1)|0;w=I;r=Cs(v|0,r|0,1)|0;v=I;E=Cs(m|0,E|0,1)|0;m=I;b=Cs(f|0,b|0,1)|0;f=I;c=Cs(A|0,c|0,1)|0;A=I;a=Cs(s|0,a|0,1)|0;s=I;t=Cs(g|0,t|0,1)|0;g=I;l=Cs(u|0,l|0,1)|0;u=I;h=ks(n|0,y|0,33554432,0)|0;d=I;k=Os(h|0,d|0,26)|0;_=ks(k|0,I|0,p|0,_|0)|0;p=I;d=Ss(n|0,y|0,h&-67108864|0,d|0)|0;h=I;y=ks(E|0,m|0,33554432,0)|0;n=I;k=Os(y|0,n|0,26)|0;f=ks(k|0,I|0,b|0,f|0)|0;b=I;n=Ss(E|0,m|0,y&-67108864|0,n|0)|0;y=I;m=ks(_|0,p|0,16777216,0)|0;E=Os(m|0,I|0,25)|0;w=ks(E|0,I|0,i|0,w|0)|0;i=I;m=Ss(_|0,p|0,m&-33554432|0,0)|0;p=I;_=ks(f|0,b|0,16777216,0)|0;E=Os(_|0,I|0,25)|0;A=ks(E|0,I|0,c|0,A|0)|0;c=I;_=Ss(f|0,b|0,_&-33554432|0,0)|0;b=I;f=ks(w|0,i|0,33554432,0)|0;E=Os(f|0,I|0,26)|0;v=ks(E|0,I|0,r|0,v|0)|0;r=I;f=Ss(w|0,i|0,f&-67108864|0,0)|0;i=ks(A|0,c|0,33554432,0)|0;w=Os(i|0,I|0,26)|0;s=ks(w|0,I|0,a|0,s|0)|0;a=I;i=Ss(A|0,c|0,i&-67108864|0,0)|0;c=ks(v|0,r|0,16777216,0)|0;A=Os(c|0,I|0,25)|0;y=ks(A|0,I|0,n|0,y|0)|0;n=I;c=Ss(v|0,r|0,c&-33554432|0,0)|0;r=ks(s|0,a|0,16777216,0)|0;v=Os(r|0,I|0,25)|0;g=ks(v|0,I|0,t|0,g|0)|0;t=I;r=Ss(s|0,a|0,r&-33554432|0,0)|0;a=ks(y|0,n|0,33554432,0)|0;s=xs(a|0,I|0,26)|0;s=ks(_|0,b|0,s|0,I|0)|0;a=Ss(y|0,n|0,a&-67108864|0,0)|0;n=ks(g|0,t|0,33554432,0)|0;y=Os(n|0,I|0,26)|0;u=ks(y|0,I|0,l|0,u|0)|0;l=I;n=Ss(g|0,t|0,n&-67108864|0,0)|0;t=ks(u|0,l|0,16777216,0)|0;g=Os(t|0,I|0,25)|0;g=Es(g|0,I|0,19,0)|0;h=ks(g|0,I|0,d|0,h|0)|0;d=I;t=Ss(u|0,l|0,t&-33554432|0,0)|0;l=ks(h|0,d|0,33554432,0)|0;u=xs(l|0,I|0,26)|0;u=ks(m|0,p|0,u|0,I|0)|0;l=Ss(h|0,d|0,l&-67108864|0,0)|0;o[e>>2]=l;o[e+4>>2]=u;o[e+8>>2]=f;o[e+12>>2]=c;o[e+16>>2]=a;o[e+20>>2]=s;o[e+24>>2]=i;o[e+28>>2]=r;o[e+32>>2]=n;o[e+36>>2]=t;return}function ei(e){e=e|0;var t=0,n=0,i=0,o=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0;de=e+1|0;fe=e+2|0;K=r[fe>>0]|0;we=s[e>>0]|0;P=Cs(s[de>>0]|0|0,0,8)|0;_e=I;K=K&255;ve=Cs(K|0,0,16)|0;ce=e+3|0;A=Cs(s[ce>>0]|0|0,0,8)|0;te=I;ie=e+4|0;Z=Cs(s[ie>>0]|0|0,0,16)|0;te=te|I;re=e+5|0;q=s[re>>0]|0;$=Cs(q|0,0,24)|0;te=xs(A|K|Z|$|0,te|I|0,5)|0;$=e+6|0;Z=e+7|0;K=r[Z>>0]|0;A=Cs(s[$>>0]|0|0,0,8)|0;Re=I;K=K&255;J=Cs(K|0,0,16)|0;Re=xs(A|q|J|0,Re|I|0,2)|0;J=e+8|0;q=Cs(s[J>>0]|0|0,0,8)|0;A=I;Q=e+9|0;Te=Cs(s[Q>>0]|0|0,0,16)|0;A=A|I;V=e+10|0;Ve=s[V>>0]|0;H=Cs(Ve|0,0,24)|0;A=xs(q|K|Te|H|0,A|I|0,7)|0;H=e+11|0;Te=Cs(s[H>>0]|0|0,0,8)|0;K=I;q=e+12|0;B=Cs(s[q>>0]|0|0,0,16)|0;K=K|I;F=e+13|0;w=s[F>>0]|0;N=Cs(w|0,0,24)|0;K=xs(Te|Ve|B|N|0,K|I|0,4)|0;N=e+14|0;B=e+15|0;Ve=r[B>>0]|0;Te=Cs(s[N>>0]|0|0,0,8)|0;ye=I;Ve=Ve&255;D=Cs(Ve|0,0,16)|0;ye=xs(Te|w|D|0,ye|I|0,1)|0;D=e+16|0;w=Cs(s[D>>0]|0|0,0,8)|0;Te=I;x=e+17|0;k=Cs(s[x>>0]|0|0,0,16)|0;Te=Te|I;O=e+18|0;E=s[O>>0]|0;R=Cs(E|0,0,24)|0;Te=xs(w|Ve|k|R|0,Te|I|0,6)|0;R=e+19|0;k=e+20|0;Ve=r[k>>0]|0;w=Cs(s[R>>0]|0|0,0,8)|0;Qe=I;Ve=Cs(Ve&255|0,0,16)|0;Qe=xs(w|E|Ve|0,Qe|I|0,3)|0;Ve=I;E=e+21|0;w=e+22|0;_=e+23|0;n=r[_>>0]|0;et=s[E>>0]|0;tt=Cs(s[w>>0]|0|0,0,8)|0;Ze=I;n=n&255;$e=Cs(n|0,0,16)|0;b=e+24|0;Ue=Cs(s[b>>0]|0|0,0,8)|0;ze=I;p=e+25|0;c=Cs(s[p>>0]|0|0,0,16)|0;ze=ze|I;h=e+26|0;pe=s[h>>0]|0;f=Cs(pe|0,0,24)|0;ze=xs(Ue|n|c|f|0,ze|I|0,5)|0;f=e+27|0;c=e+28|0;n=r[c>>0]|0;Ue=Cs(s[f>>0]|0|0,0,8)|0;Je=I;n=n&255;a=Cs(n|0,0,16)|0;Je=xs(Ue|pe|a|0,Je|I|0,2)|0;a=e+29|0;pe=Cs(s[a>>0]|0|0,0,8)|0;Ue=I;o=e+30|0;ot=Cs(s[o>>0]|0|0,0,16)|0;Ue=Ue|I;t=e+31|0;ne=s[t>>0]|0;u=Cs(ne|0,0,24)|0;Ue=xs(pe|n|ot|u|0,Ue|I|0,7)|0;u=Cs(s[e+32>>0]|0|0,0,8)|0;ot=I;n=Cs(s[e+33>>0]|0|0,0,16)|0;ot=ot|I;pe=s[e+34>>0]|0;g=Cs(pe|0,0,24)|0;ot=xs(u|ne|n|g|0,ot|I|0,4)|0;g=r[e+36>>0]|0;n=Cs(s[e+35>>0]|0|0,0,8)|0;ne=I;g=g&255;u=Cs(g|0,0,16)|0;ne=xs(n|pe|u|0,ne|I|0,1)|0;u=Cs(s[e+37>>0]|0|0,0,8)|0;pe=I;n=Cs(s[e+38>>0]|0|0,0,16)|0;pe=pe|I;Fe=s[e+39>>0]|0;ee=Cs(Fe|0,0,24)|0;pe=xs(u|g|n|ee|0,pe|I|0,6)|0;ee=r[e+41>>0]|0;n=Cs(s[e+40>>0]|0|0,0,8)|0;g=I;ee=Cs(ee&255|0,0,16)|0;g=xs(n|Fe|ee|0,g|I|0,3)|0;ee=I;Fe=r[e+44>>0]|0;n=s[e+42>>0]|0;u=Cs(s[e+43>>0]|0|0,0,8)|0;j=I;Fe=Fe&255;y=Cs(Fe|0,0,16)|0;S=Cs(s[e+45>>0]|0|0,0,8)|0;oe=I;Ce=Cs(s[e+46>>0]|0|0,0,16)|0;oe=oe|I;st=s[e+47>>0]|0;U=Cs(st|0,0,24)|0;oe=xs(S|Fe|Ce|U|0,oe|I|0,5)|0;U=r[e+49>>0]|0;Ce=Cs(s[e+48>>0]|0|0,0,8)|0;Fe=I;U=U&255;S=Cs(U|0,0,16)|0;Fe=xs(Ce|st|S|0,Fe|I|0,2)|0;Fe=Fe&2097151;S=Cs(s[e+50>>0]|0|0,0,8)|0;st=I;Ce=Cs(s[e+51>>0]|0|0,0,16)|0;st=st|I;ue=s[e+52>>0]|0;L=Cs(ue|0,0,24)|0;st=xs(S|U|Ce|L|0,st|I|0,7)|0;st=st&2097151;L=Cs(s[e+53>>0]|0|0,0,8)|0;Ce=I;U=Cs(s[e+54>>0]|0|0,0,16)|0;Ce=Ce|I;S=s[e+55>>0]|0;W=Cs(S|0,0,24)|0;Ce=xs(L|ue|U|W|0,Ce|I|0,4)|0;Ce=Ce&2097151;W=r[e+57>>0]|0;U=Cs(s[e+56>>0]|0|0,0,8)|0;ue=I;W=W&255;L=Cs(W|0,0,16)|0;ue=xs(U|S|L|0,ue|I|0,1)|0;ue=ue&2097151;L=Cs(s[e+58>>0]|0|0,0,8)|0;S=I;U=Cs(s[e+59>>0]|0|0,0,16)|0;S=S|I;he=s[e+60>>0]|0;ge=Cs(he|0,0,24)|0;S=xs(L|W|U|ge|0,S|I|0,6)|0;S=S&2097151;ge=Cs(s[e+61>>0]|0|0,0,8)|0;U=I;W=Cs(s[e+62>>0]|0|0,0,16)|0;U=U|I;L=Cs(s[e+63>>0]|0|0,0,24)|0;U=xs(ge|he|W|L|0,U|I|0,3)|0;L=I;W=Es(U|0,L|0,666643,0)|0;he=I;ge=Es(U|0,L|0,470296,0)|0;ae=I;v=Es(U|0,L|0,654183,0)|0;C=I;Ae=Es(U|0,L|0,-997805,-1)|0;Ie=I;d=Es(U|0,L|0,136657,0)|0;Se=I;L=Es(U|0,L|0,-683901,-1)|0;j=ks(L|0,I|0,u|n|y&2031616|0,j|0)|0;y=I;n=Es(S|0,0,666643,0)|0;u=I;L=Es(S|0,0,470296,0)|0;U=I;Ye=Es(S|0,0,654183,0)|0;M=I;Y=Es(S|0,0,-997805,-1)|0;z=I;ke=Es(S|0,0,136657,0)|0;me=I;S=Es(S|0,0,-683901,-1)|0;G=I;Oe=Es(ue|0,0,666643,0)|0;Ee=I;se=Es(ue|0,0,470296,0)|0;Le=I;Me=Es(ue|0,0,654183,0)|0;Pe=I;nt=Es(ue|0,0,-997805,-1)|0;We=I;l=Es(ue|0,0,136657,0)|0;m=I;ue=Es(ue|0,0,-683901,-1)|0;pe=ks(ue|0,I|0,pe&2097151|0,0)|0;me=ks(pe|0,I|0,ke|0,me|0)|0;Ie=ks(me|0,I|0,Ae|0,Ie|0)|0;Ae=I;me=Es(Ce|0,0,666643,0)|0;ke=I;pe=Es(Ce|0,0,470296,0)|0;ue=I;be=Es(Ce|0,0,654183,0)|0;X=I;Be=Es(Ce|0,0,-997805,-1)|0;De=I;it=Es(Ce|0,0,136657,0)|0;rt=I;Ce=Es(Ce|0,0,-683901,-1)|0;xe=I;i=Es(st|0,0,666643,0)|0;T=I;Ge=Es(st|0,0,470296,0)|0;He=I;Ke=Es(st|0,0,654183,0)|0;qe=I;Xe=Es(st|0,0,-997805,-1)|0;le=I;je=Es(st|0,0,136657,0)|0;Ne=I;st=Es(st|0,0,-683901,-1)|0;ot=ks(st|0,I|0,ot&2097151|0,0)|0;rt=ks(ot|0,I|0,it|0,rt|0)|0;We=ks(rt|0,I|0,nt|0,We|0)|0;M=ks(We|0,I|0,Ye|0,M|0)|0;ae=ks(M|0,I|0,ge|0,ae|0)|0;ge=I;M=Es(Fe|0,0,666643,0)|0;Te=ks(M|0,I|0,Te&2097151|0,0)|0;M=I;Ye=Es(Fe|0,0,470296,0)|0;We=I;nt=Es(Fe|0,0,654183,0)|0;Ze=ks(nt|0,I|0,tt|et|$e&2031616|0,Ze|0)|0;He=ks(Ze|0,I|0,Ge|0,He|0)|0;ke=ks(He|0,I|0,me|0,ke|0)|0;me=I;He=Es(Fe|0,0,-997805,-1)|0;Ge=I;Ze=Es(Fe|0,0,136657,0)|0;Je=ks(Ze|0,I|0,Je&2097151|0,0)|0;le=ks(Je|0,I|0,Xe|0,le|0)|0;X=ks(le|0,I|0,be|0,X|0)|0;Le=ks(X|0,I|0,se|0,Le|0)|0;u=ks(Le|0,I|0,n|0,u|0)|0;n=I;Fe=Es(Fe|0,0,-683901,-1)|0;Le=I;se=ks(Te|0,M|0,1048576,0)|0;X=I;be=xs(se|0,X|0,21)|0;le=I;Ve=ks(Ye|0,We|0,Qe|0,Ve|0)|0;le=ks(Ve|0,I|0,be|0,le|0)|0;T=ks(le|0,I|0,i|0,T|0)|0;i=I;X=Ss(Te|0,M|0,se&-2097152|0,X&2047|0)|0;se=I;M=ks(ke|0,me|0,1048576,0)|0;Te=I;le=xs(M|0,Te|0,21)|0;be=I;ze=ks(He|0,Ge|0,ze&2097151|0,0)|0;qe=ks(ze|0,I|0,Ke|0,qe|0)|0;ue=ks(qe|0,I|0,pe|0,ue|0)|0;Ee=ks(ue|0,I|0,Oe|0,Ee|0)|0;be=ks(Ee|0,I|0,le|0,be|0)|0;le=I;Ee=ks(u|0,n|0,1048576,0)|0;Oe=I;ue=Os(Ee|0,Oe|0,21)|0;pe=I;Ue=ks(Fe|0,Le|0,Ue&2097151|0,0)|0;Ne=ks(Ue|0,I|0,je|0,Ne|0)|0;De=ks(Ne|0,I|0,Be|0,De|0)|0;Pe=ks(De|0,I|0,Me|0,Pe|0)|0;U=ks(Pe|0,I|0,L|0,U|0)|0;he=ks(U|0,I|0,W|0,he|0)|0;pe=ks(he|0,I|0,ue|0,pe|0)|0;ue=I;he=ks(ae|0,ge|0,1048576,0)|0;W=I;U=Os(he|0,W|0,21)|0;L=I;ne=ks(Ce|0,xe|0,ne&2097151|0,0)|0;m=ks(ne|0,I|0,l|0,m|0)|0;z=ks(m|0,I|0,Y|0,z|0)|0;C=ks(z|0,I|0,v|0,C|0)|0;L=ks(C|0,I|0,U|0,L|0)|0;U=I;W=Ss(ae|0,ge|0,he&-2097152|0,W|0)|0;he=I;ge=ks(Ie|0,Ae|0,1048576,0)|0;ae=I;C=Os(ge|0,ae|0,21)|0;v=I;ee=ks(S|0,G|0,g|0,ee|0)|0;Se=ks(ee|0,I|0,d|0,Se|0)|0;v=ks(Se|0,I|0,C|0,v|0)|0;C=I;ae=Ss(Ie|0,Ae|0,ge&-2097152|0,ae|0)|0;ge=I;Ae=ks(j|0,y|0,1048576,0)|0;Ie=I;Se=Os(Ae|0,Ie|0,21)|0;oe=ks(Se|0,I|0,oe&2097151|0,0)|0;Se=I;Ie=Ss(j|0,y|0,Ae&-2097152|0,Ie|0)|0;Ae=I;y=ks(T|0,i|0,1048576,0)|0;j=I;d=xs(y|0,j|0,21)|0;ee=I;j=Ss(T|0,i|0,y&-2097152|0,j|0)|0;y=I;i=ks(be|0,le|0,1048576,0)|0;T=I;g=Os(i|0,T|0,21)|0;G=I;T=Ss(be|0,le|0,i&-2097152|0,T|0)|0;i=I;le=ks(pe|0,ue|0,1048576,0)|0;be=I;S=Os(le|0,be|0,21)|0;he=ks(S|0,I|0,W|0,he|0)|0;W=I;be=Ss(pe|0,ue|0,le&-2097152|0,be|0)|0;le=I;ue=ks(L|0,U|0,1048576,0)|0;pe=I;S=Os(ue|0,pe|0,21)|0;ge=ks(S|0,I|0,ae|0,ge|0)|0;ae=I;pe=Ss(L|0,U|0,ue&-2097152|0,pe|0)|0;ue=I;U=ks(v|0,C|0,1048576,0)|0;L=I;S=Os(U|0,L|0,21)|0;Ae=ks(S|0,I|0,Ie|0,Ae|0)|0;Ie=I;L=Ss(v|0,C|0,U&-2097152|0,L|0)|0;U=I;C=Es(oe|0,Se|0,666643,0)|0;ye=ks(C|0,I|0,ye&2097151|0,0)|0;C=I;v=Es(oe|0,Se|0,470296,0)|0;v=ks(X|0,se|0,v|0,I|0)|0;se=I;X=Es(oe|0,Se|0,654183,0)|0;X=ks(j|0,y|0,X|0,I|0)|0;y=I;j=Es(oe|0,Se|0,-997805,-1)|0;S=I;z=Es(oe|0,Se|0,136657,0)|0;z=ks(T|0,i|0,z|0,I|0)|0;i=I;Se=Es(oe|0,Se|0,-683901,-1)|0;oe=I;G=ks(u|0,n|0,g|0,G|0)|0;Oe=Ss(G|0,I|0,Ee&-2097152|0,Oe|0)|0;oe=ks(Oe|0,I|0,Se|0,oe|0)|0;Se=I;Oe=Es(Ae|0,Ie|0,666643,0)|0;K=ks(Oe|0,I|0,K&2097151|0,0)|0;Oe=I;Ee=Es(Ae|0,Ie|0,470296,0)|0;Ee=ks(ye|0,C|0,Ee|0,I|0)|0;C=I;ye=Es(Ae|0,Ie|0,654183,0)|0;ye=ks(v|0,se|0,ye|0,I|0)|0;se=I;v=Es(Ae|0,Ie|0,-997805,-1)|0;v=ks(X|0,y|0,v|0,I|0)|0;y=I;X=Es(Ae|0,Ie|0,136657,0)|0;G=I;Ie=Es(Ae|0,Ie|0,-683901,-1)|0;Ie=ks(z|0,i|0,Ie|0,I|0)|0;i=I;z=Es(L|0,U|0,666643,0)|0;A=ks(z|0,I|0,A&2097151|0,0)|0;z=I;Ae=Es(L|0,U|0,470296,0)|0;Ae=ks(K|0,Oe|0,Ae|0,I|0)|0;Oe=I;K=Es(L|0,U|0,654183,0)|0;K=ks(Ee|0,C|0,K|0,I|0)|0;C=I;Ee=Es(L|0,U|0,-997805,-1)|0;Ee=ks(ye|0,se|0,Ee|0,I|0)|0;se=I;ye=Es(L|0,U|0,136657,0)|0;ye=ks(v|0,y|0,ye|0,I|0)|0;y=I;U=Es(L|0,U|0,-683901,-1)|0;L=I;ee=ks(ke|0,me|0,d|0,ee|0)|0;Te=Ss(ee|0,I|0,M&-2097152|0,Te|0)|0;S=ks(Te|0,I|0,j|0,S|0)|0;G=ks(S|0,I|0,X|0,G|0)|0;L=ks(G|0,I|0,U|0,L|0)|0;U=I;G=Es(ge|0,ae|0,666643,0)|0;X=I;S=Es(ge|0,ae|0,470296,0)|0;j=I;Te=Es(ge|0,ae|0,654183,0)|0;M=I;ee=Es(ge|0,ae|0,-997805,-1)|0;d=I;me=Es(ge|0,ae|0,136657,0)|0;me=ks(Ee|0,se|0,me|0,I|0)|0;se=I;ae=Es(ge|0,ae|0,-683901,-1)|0;ae=ks(ye|0,y|0,ae|0,I|0)|0;y=I;ye=Es(pe|0,ue|0,666643,0)|0;ge=I;Ee=Es(pe|0,ue|0,470296,0)|0;ke=I;v=Es(pe|0,ue|0,654183,0)|0;g=I;n=Es(pe|0,ue|0,-997805,-1)|0;u=I;T=Es(pe|0,ue|0,136657,0)|0;Y=I;ue=Es(pe|0,ue|0,-683901,-1)|0;ue=ks(me|0,se|0,ue|0,I|0)|0;se=I;me=Es(he|0,W|0,666643,0)|0;_e=ks(me|0,I|0,P|we|ve&2031616|0,_e|0)|0;ve=I;we=Es(he|0,W|0,470296,0)|0;P=I;me=Es(he|0,W|0,654183,0)|0;Re=ks(me|0,I|0,Re&2097151|0,0)|0;X=ks(Re|0,I|0,G|0,X|0)|0;ke=ks(X|0,I|0,Ee|0,ke|0)|0;Ee=I;X=Es(he|0,W|0,-997805,-1)|0;G=I;Re=Es(he|0,W|0,136657,0)|0;Re=ks(Ae|0,Oe|0,Re|0,I|0)|0;M=ks(Re|0,I|0,Te|0,M|0)|0;u=ks(M|0,I|0,n|0,u|0)|0;n=I;W=Es(he|0,W|0,-683901,-1)|0;he=I;M=ks(_e|0,ve|0,1048576,0)|0;Te=I;Re=Os(M|0,Te|0,21)|0;Oe=I;te=ks(we|0,P|0,te&2097151|0,0)|0;ge=ks(te|0,I|0,ye|0,ge|0)|0;Oe=ks(ge|0,I|0,Re|0,Oe|0)|0;Re=I;Te=Ss(_e|0,ve|0,M&-2097152|0,Te|0)|0;M=I;ve=ks(ke|0,Ee|0,1048576,0)|0;_e=I;ge=Os(ve|0,_e|0,21)|0;ye=I;G=ks(A|0,z|0,X|0,G|0)|0;j=ks(G|0,I|0,S|0,j|0)|0;g=ks(j|0,I|0,v|0,g|0)|0;ye=ks(g|0,I|0,ge|0,ye|0)|0;ge=I;g=ks(u|0,n|0,1048576,0)|0;v=I;j=Os(g|0,v|0,21)|0;S=I;he=ks(K|0,C|0,W|0,he|0)|0;d=ks(he|0,I|0,ee|0,d|0)|0;Y=ks(d|0,I|0,T|0,Y|0)|0;S=ks(Y|0,I|0,j|0,S|0)|0;j=I;Y=ks(ue|0,se|0,1048576,0)|0;T=I;d=Os(Y|0,T|0,21)|0;d=ks(ae|0,y|0,d|0,I|0)|0;y=I;T=Ss(ue|0,se|0,Y&-2097152|0,T|0)|0;Y=I;se=ks(L|0,U|0,1048576,0)|0;ue=I;ae=Os(se|0,ue|0,21)|0;ae=ks(Ie|0,i|0,ae|0,I|0)|0;i=I;ue=Ss(L|0,U|0,se&-2097152|0,ue|0)|0;se=I;U=ks(oe|0,Se|0,1048576,0)|0;L=I;Ie=Os(U|0,L|0,21)|0;Ie=ks(be|0,le|0,Ie|0,I|0)|0;le=I;L=Ss(oe|0,Se|0,U&-2097152|0,L|0)|0;U=I;Se=ks(Oe|0,Re|0,1048576,0)|0;oe=I;be=Os(Se|0,oe|0,21)|0;ee=I;he=ks(ye|0,ge|0,1048576,0)|0;W=I;C=Os(he|0,W|0,21)|0;K=I;G=ks(S|0,j|0,1048576,0)|0;X=I;z=Os(G|0,X|0,21)|0;z=ks(T|0,Y|0,z|0,I|0)|0;Y=I;T=ks(d|0,y|0,1048576,0)|0;A=I;te=Os(T|0,A|0,21)|0;te=ks(ue|0,se|0,te|0,I|0)|0;se=I;A=Ss(d|0,y|0,T&-2097152|0,A|0)|0;T=I;y=ks(ae|0,i|0,1048576,0)|0;d=I;ue=Os(y|0,d|0,21)|0;ue=ks(L|0,U|0,ue|0,I|0)|0;U=I;d=Ss(ae|0,i|0,y&-2097152|0,d|0)|0;y=I;i=ks(Ie|0,le|0,1048576,0)|0;ae=I;L=Os(i|0,ae|0,21)|0;P=I;ae=Ss(Ie|0,le|0,i&-2097152|0,ae|0)|0;i=I;le=Es(L|0,P|0,666643,0)|0;le=ks(Te|0,M|0,le|0,I|0)|0;M=I;Te=Es(L|0,P|0,470296,0)|0;Ie=I;we=Es(L|0,P|0,654183,0)|0;Ae=I;me=Es(L|0,P|0,-997805,-1)|0;pe=I;m=Es(L|0,P|0,136657,0)|0;l=I;P=Es(L|0,P|0,-683901,-1)|0;L=I;M=Os(le|0,M|0,21)|0;ne=I;Ie=ks(Oe|0,Re|0,Te|0,Ie|0)|0;oe=Ss(Ie|0,I|0,Se&-2097152|0,oe|0)|0;ne=ks(oe|0,I|0,M|0,ne|0)|0;M=Os(ne|0,I|0,21)|0;oe=I;Ae=ks(ke|0,Ee|0,we|0,Ae|0)|0;_e=Ss(Ae|0,I|0,ve&-2097152|0,_e|0)|0;ee=ks(_e|0,I|0,be|0,ee|0)|0;oe=ks(ee|0,I|0,M|0,oe|0)|0;M=Os(oe|0,I|0,21)|0;ee=I;pe=ks(ye|0,ge|0,me|0,pe|0)|0;W=Ss(pe|0,I|0,he&-2097152|0,W|0)|0;ee=ks(W|0,I|0,M|0,ee|0)|0;M=Os(ee|0,I|0,21)|0;W=I;l=ks(u|0,n|0,m|0,l|0)|0;v=Ss(l|0,I|0,g&-2097152|0,v|0)|0;K=ks(v|0,I|0,C|0,K|0)|0;W=ks(K|0,I|0,M|0,W|0)|0;M=Os(W|0,I|0,21)|0;K=I;L=ks(S|0,j|0,P|0,L|0)|0;X=Ss(L|0,I|0,G&-2097152|0,X|0)|0;K=ks(X|0,I|0,M|0,K|0)|0;M=Os(K|0,I|0,21)|0;M=ks(z|0,Y|0,M|0,I|0)|0;Y=Os(M|0,I|0,21)|0;T=ks(Y|0,I|0,A|0,T|0)|0;A=Os(T|0,I|0,21)|0;A=ks(te|0,se|0,A|0,I|0)|0;se=Os(A|0,I|0,21)|0;y=ks(se|0,I|0,d|0,y|0)|0;d=Os(y|0,I|0,21)|0;d=ks(ue|0,U|0,d|0,I|0)|0;U=Os(d|0,I|0,21)|0;i=ks(U|0,I|0,ae|0,i|0)|0;ae=Os(i|0,I|0,21)|0;U=I;ue=Es(ae|0,U|0,666643,0)|0;le=ks(ue|0,I|0,le&2097151|0,0)|0;ue=I;se=Es(ae|0,U|0,470296,0)|0;ne=ks(se|0,I|0,ne&2097151|0,0)|0;se=I;te=Es(ae|0,U|0,654183,0)|0;oe=ks(te|0,I|0,oe&2097151|0,0)|0;te=I;Y=Es(ae|0,U|0,-997805,-1)|0;ee=ks(Y|0,I|0,ee&2097151|0,0)|0;Y=I;z=Es(ae|0,U|0,136657,0)|0;W=ks(z|0,I|0,W&2097151|0,0)|0;z=I;U=Es(ae|0,U|0,-683901,-1)|0;K=ks(U|0,I|0,K&2097151|0,0)|0;U=I;ae=Os(le|0,ue|0,21)|0;ae=ks(ne|0,se|0,ae|0,I|0)|0;se=I;ne=Os(ae|0,se|0,21)|0;ne=ks(oe|0,te|0,ne|0,I|0)|0;te=I;oe=ae&2097151;X=Os(ne|0,te|0,21)|0;X=ks(ee|0,Y|0,X|0,I|0)|0;Y=I;ee=ne&2097151;G=Os(X|0,Y|0,21)|0;G=ks(W|0,z|0,G|0,I|0)|0;z=I;W=X&2097151;L=Os(G|0,z|0,21)|0;L=ks(K|0,U|0,L|0,I|0)|0;U=I;K=G&2097151;P=Os(L|0,U|0,21)|0;M=ks(P|0,I|0,M&2097151|0,0)|0;P=I;j=L&2097151;S=Os(M|0,P|0,21)|0;T=ks(S|0,I|0,T&2097151|0,0)|0;S=I;C=M&2097151;v=Os(T|0,S|0,21)|0;A=ks(v|0,I|0,A&2097151|0,0)|0;v=I;g=Os(A|0,v|0,21)|0;y=ks(g|0,I|0,y&2097151|0,0)|0;g=I;l=Os(y|0,g|0,21)|0;d=ks(l|0,I|0,d&2097151|0,0)|0;l=I;m=y&2097151;n=Os(d|0,l|0,21)|0;i=ks(n|0,I|0,i&2097151|0,0)|0;n=I;u=d&2097151;r[e>>0]=le;e=xs(le|0,ue|0,8)|0;r[de>>0]=e;e=xs(le|0,ue|0,16)|0;ue=Cs(oe|0,0,5)|0;r[fe>>0]=ue|e&31;e=xs(ae|0,se|0,3)|0;r[ce>>0]=e;e=xs(ae|0,se|0,11)|0;r[ie>>0]=e;e=xs(oe|0,0,19)|0;oe=I;ie=Cs(ee|0,0,2)|0;r[re>>0]=ie|e;e=xs(ne|0,te|0,6)|0;r[$>>0]=e;e=xs(ee|0,0,14)|0;ee=I;$=Cs(W|0,0,7)|0;r[Z>>0]=$|e;e=xs(X|0,Y|0,1)|0;r[J>>0]=e;e=xs(X|0,Y|0,9)|0;r[Q>>0]=e;e=xs(W|0,0,17)|0;W=I;Q=Cs(K|0,0,4)|0;r[V>>0]=Q|e;e=xs(G|0,z|0,4)|0;r[H>>0]=e;e=xs(G|0,z|0,12)|0;r[q>>0]=e;e=xs(K|0,0,20)|0;K=I;q=Cs(j|0,0,1)|0;r[F>>0]=q|e;e=xs(L|0,U|0,7)|0;r[N>>0]=e;e=xs(j|0,0,15)|0;j=I;N=Cs(C|0,0,6)|0;r[B>>0]=N|e;e=xs(M|0,P|0,2)|0;r[D>>0]=e;e=xs(M|0,P|0,10)|0;r[x>>0]=e;e=xs(C|0,0,18)|0;C=I;x=Cs(T|0,S|0,3)|0;r[O>>0]=x|e;e=xs(T|0,S|0,5)|0;r[R>>0]=e;e=xs(T|0,S|0,13)|0;r[k>>0]=e;r[E>>0]=A;e=xs(A|0,v|0,8)|0;r[w>>0]=e;e=xs(A|0,v|0,16)|0;v=Cs(m|0,0,5)|0;r[_>>0]=v|e&31;e=xs(y|0,g|0,3)|0;r[b>>0]=e;e=xs(y|0,g|0,11)|0;r[p>>0]=e;e=xs(m|0,0,19)|0;m=I;p=Cs(u|0,0,2)|0;r[h>>0]=p|e;e=xs(d|0,l|0,6)|0;r[f>>0]=e;e=xs(u|0,0,14)|0;u=I;f=Cs(i|0,n|0,7)|0;r[c>>0]=f|e;e=xs(i|0,n|0,1)|0;r[a>>0]=e;e=xs(i|0,n|0,9)|0;r[o>>0]=e;e=Os(i|0,n|0,17)|0;r[t>>0]=e;return}function ti(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var o=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0,at=0,ct=0,ft=0,ut=0,lt=0,dt=0,ht=0,pt=0,mt=0,gt=0,yt=0,bt=0,_t=0,vt=0,At=0,wt=0,Et=0,kt=0,St=0,It=0,Tt=0,Rt=0,Ot=0,xt=0,Ct=0,Pt=0,Mt=0,Dt=0,Bt=0,Nt=0,jt=0,Ut=0,Lt=0,Ft=0,qt=0,Kt=0,zt=0,Gt=0,Ht=0,Vt=0,Qt=0,Wt=0,Yt=0,Xt=0,Jt=0,Zt=0,$t=0,en=0,tn=0,nn=0,rn=0,on=0,sn=0,an=0,cn=0,fn=0,un=0,ln=0,dn=0,hn=0,pn=0,mn=0,gn=0,yn=0,bn=0,_n=0,vn=0,An=0,wn=0;ot=r[t+2>>0]|0;pe=s[t>>0]|0;pt=Cs(s[t+1>>0]|0|0,0,8)|0;Ue=I;ot=ot&255;Le=Cs(ot|0,0,16)|0;Le=pt|pe|Le&2031616;pe=Cs(s[t+3>>0]|0|0,0,8)|0;pt=I;$e=Cs(s[t+4>>0]|0|0,0,16)|0;pt=pt|I;ht=s[t+5>>0]|0;L=Cs(ht|0,0,24)|0;pt=xs(pe|ot|$e|L|0,pt|I|0,5)|0;pt=pt&2097151;L=r[t+7>>0]|0;$e=Cs(s[t+6>>0]|0|0,0,8)|0;ot=I;L=L&255;pe=Cs(L|0,0,16)|0;ot=xs($e|ht|pe|0,ot|I|0,2)|0;ot=ot&2097151;pe=Cs(s[t+8>>0]|0|0,0,8)|0;ht=I;$e=Cs(s[t+9>>0]|0|0,0,16)|0;ht=ht|I;G=s[t+10>>0]|0;B=Cs(G|0,0,24)|0;ht=xs(pe|L|$e|B|0,ht|I|0,7)|0;ht=ht&2097151;B=Cs(s[t+11>>0]|0|0,0,8)|0;$e=I;L=Cs(s[t+12>>0]|0|0,0,16)|0;$e=$e|I;pe=s[t+13>>0]|0;m=Cs(pe|0,0,24)|0;$e=xs(B|G|L|m|0,$e|I|0,4)|0;$e=$e&2097151;m=r[t+15>>0]|0;L=Cs(s[t+14>>0]|0|0,0,8)|0;G=I;m=m&255;B=Cs(m|0,0,16)|0;G=xs(L|pe|B|0,G|I|0,1)|0;G=G&2097151;B=Cs(s[t+16>>0]|0|0,0,8)|0;pe=I;L=Cs(s[t+17>>0]|0|0,0,16)|0;pe=pe|I;N=s[t+18>>0]|0;l=Cs(N|0,0,24)|0;pe=xs(B|m|L|l|0,pe|I|0,6)|0;pe=pe&2097151;l=r[t+20>>0]|0;L=Cs(s[t+19>>0]|0|0,0,8)|0;m=I;l=Cs(l&255|0,0,16)|0;m=xs(L|N|l|0,m|I|0,3)|0;l=I;N=r[t+23>>0]|0;L=s[t+21>>0]|0;B=Cs(s[t+22>>0]|0|0,0,8)|0;z=I;N=N&255;x=Cs(N|0,0,16)|0;x=B|L|x&2031616;L=Cs(s[t+24>>0]|0|0,0,8)|0;B=I;Je=Cs(s[t+25>>0]|0|0,0,16)|0;B=B|I;ge=s[t+26>>0]|0;E=Cs(ge|0,0,24)|0;B=xs(L|N|Je|E|0,B|I|0,5)|0;B=B&2097151;E=r[t+28>>0]|0;Je=Cs(s[t+27>>0]|0|0,0,8)|0;N=I;E=E&255;L=Cs(E|0,0,16)|0;N=xs(Je|ge|L|0,N|I|0,2)|0;N=N&2097151;L=Cs(s[t+29>>0]|0|0,0,8)|0;ge=I;Je=Cs(s[t+30>>0]|0|0,0,16)|0;ge=ge|I;ye=Cs(s[t+31>>0]|0|0,0,24)|0;ge=xs(L|E|Je|ye|0,ge|I|0,7)|0;ye=I;Je=r[n+2>>0]|0;E=s[n>>0]|0;L=Cs(s[n+1>>0]|0|0,0,8)|0;Et=I;Je=Je&255;wt=Cs(Je|0,0,16)|0;wt=L|E|wt&2031616;E=Cs(s[n+3>>0]|0|0,0,8)|0;L=I;u=Cs(s[n+4>>0]|0|0,0,16)|0;L=L|I;b=s[n+5>>0]|0;bn=Cs(b|0,0,24)|0;L=xs(E|Je|u|bn|0,L|I|0,5)|0;L=L&2097151;bn=r[n+7>>0]|0;u=Cs(s[n+6>>0]|0|0,0,8)|0;Je=I;bn=bn&255;E=Cs(bn|0,0,16)|0;Je=xs(u|b|E|0,Je|I|0,2)|0;Je=Je&2097151;E=Cs(s[n+8>>0]|0|0,0,8)|0;b=I;u=Cs(s[n+9>>0]|0|0,0,16)|0;b=b|I;d=s[n+10>>0]|0;w=Cs(d|0,0,24)|0;b=xs(E|bn|u|w|0,b|I|0,7)|0;b=b&2097151;w=Cs(s[n+11>>0]|0|0,0,8)|0;u=I;bn=Cs(s[n+12>>0]|0|0,0,16)|0;u=u|I;E=s[n+13>>0]|0;wn=Cs(E|0,0,24)|0;u=xs(w|d|bn|wn|0,u|I|0,4)|0;u=u&2097151;wn=r[n+15>>0]|0;bn=Cs(s[n+14>>0]|0|0,0,8)|0;d=I;wn=wn&255;w=Cs(wn|0,0,16)|0;d=xs(bn|E|w|0,d|I|0,1)|0;d=d&2097151;w=Cs(s[n+16>>0]|0|0,0,8)|0;E=I;bn=Cs(s[n+17>>0]|0|0,0,16)|0;E=E|I;vt=s[n+18>>0]|0;Z=Cs(vt|0,0,24)|0;E=xs(w|wn|bn|Z|0,E|I|0,6)|0;E=E&2097151;Z=r[n+20>>0]|0;bn=Cs(s[n+19>>0]|0|0,0,8)|0;wn=I;Z=Cs(Z&255|0,0,16)|0;wn=xs(bn|vt|Z|0,wn|I|0,3)|0;Z=I;vt=r[n+23>>0]|0;bn=s[n+21>>0]|0;w=Cs(s[n+22>>0]|0|0,0,8)|0;ke=I;vt=vt&255;Se=Cs(vt|0,0,16)|0;Se=w|bn|Se&2031616;bn=Cs(s[n+24>>0]|0|0,0,8)|0;w=I;Me=Cs(s[n+25>>0]|0|0,0,16)|0;w=w|I;Q=s[n+26>>0]|0;_n=Cs(Q|0,0,24)|0;w=xs(bn|vt|Me|_n|0,w|I|0,5)|0;w=w&2097151;_n=r[n+28>>0]|0;Me=Cs(s[n+27>>0]|0|0,0,8)|0;vt=I;_n=_n&255;bn=Cs(_n|0,0,16)|0;vt=xs(Me|Q|bn|0,vt|I|0,2)|0;vt=vt&2097151;bn=Cs(s[n+29>>0]|0|0,0,8)|0;Q=I;Me=Cs(s[n+30>>0]|0|0,0,16)|0;Q=Q|I;V=Cs(s[n+31>>0]|0|0,0,24)|0;Q=xs(bn|_n|Me|V|0,Q|I|0,7)|0;V=I;Me=r[i+2>>0]|0;_n=s[i>>0]|0;bn=Cs(s[i+1>>0]|0|0,0,8)|0;Oe=I;Me=Me&255;vn=Cs(Me|0,0,16)|0;Ge=Cs(s[i+3>>0]|0|0,0,8)|0;_e=I;Te=Cs(s[i+4>>0]|0|0,0,16)|0;_e=_e|I;Ee=s[i+5>>0]|0;g=Cs(Ee|0,0,24)|0;_e=xs(Ge|Me|Te|g|0,_e|I|0,5)|0;g=r[i+7>>0]|0;Te=Cs(s[i+6>>0]|0|0,0,8)|0;Me=I;g=g&255;Ge=Cs(g|0,0,16)|0;Me=xs(Te|Ee|Ge|0,Me|I|0,2)|0;Ge=Cs(s[i+8>>0]|0|0,0,8)|0;Ee=I;Te=Cs(s[i+9>>0]|0|0,0,16)|0;Ee=Ee|I;De=s[i+10>>0]|0;ve=Cs(De|0,0,24)|0;Ee=xs(Ge|g|Te|ve|0,Ee|I|0,7)|0;ve=Cs(s[i+11>>0]|0|0,0,8)|0;Te=I;g=Cs(s[i+12>>0]|0|0,0,16)|0;Te=Te|I;Ge=s[i+13>>0]|0;le=Cs(Ge|0,0,24)|0;Te=xs(ve|De|g|le|0,Te|I|0,4)|0;le=r[i+15>>0]|0;g=Cs(s[i+14>>0]|0|0,0,8)|0;De=I;le=le&255;ve=Cs(le|0,0,16)|0;De=xs(g|Ge|ve|0,De|I|0,1)|0;ve=Cs(s[i+16>>0]|0|0,0,8)|0;Ge=I;g=Cs(s[i+17>>0]|0|0,0,16)|0;Ge=Ge|I;te=s[i+18>>0]|0;ue=Cs(te|0,0,24)|0;Ge=xs(ve|le|g|ue|0,Ge|I|0,6)|0;ue=r[i+20>>0]|0;g=Cs(s[i+19>>0]|0|0,0,8)|0;le=I;ue=Cs(ue&255|0,0,16)|0;le=xs(g|te|ue|0,le|I|0,3)|0;ue=I;te=r[i+23>>0]|0;g=s[i+21>>0]|0;ve=Cs(s[i+22>>0]|0|0,0,8)|0;X=I;te=te&255;J=Cs(te|0,0,16)|0;O=Cs(s[i+24>>0]|0|0,0,8)|0;Ae=I;Re=Cs(s[i+25>>0]|0|0,0,16)|0;Ae=Ae|I;rt=s[i+26>>0]|0;j=Cs(rt|0,0,24)|0;Ae=xs(O|te|Re|j|0,Ae|I|0,5)|0;j=r[i+28>>0]|0;Re=Cs(s[i+27>>0]|0|0,0,8)|0;te=I;j=j&255;O=Cs(j|0,0,16)|0;te=xs(Re|rt|O|0,te|I|0,2)|0;O=Cs(s[i+29>>0]|0|0,0,8)|0;rt=I;Re=Cs(s[i+30>>0]|0|0,0,16)|0;rt=rt|I;ft=Cs(s[i+31>>0]|0|0,0,24)|0;rt=xs(O|j|Re|ft|0,rt|I|0,7)|0;ft=I;Re=Es(wt|0,Et|0,Le|0,Ue|0)|0;Re=ks(bn|_n|vn&2031616|0,Oe|0,Re|0,I|0)|0;Oe=I;vn=Es(L|0,0,Le|0,Ue|0)|0;_n=I;bn=Es(wt|0,Et|0,pt|0,0)|0;j=I;O=Es(Je|0,0,Le|0,Ue|0)|0;Pe=I;re=Es(L|0,0,pt|0,0)|0;hn=I;we=Es(wt|0,Et|0,ot|0,0)|0;we=ks(re|0,hn|0,we|0,I|0)|0;Pe=ks(we|0,I|0,O|0,Pe|0)|0;Me=ks(Pe|0,I|0,Me&2097151|0,0)|0;Pe=I;O=Es(b|0,0,Le|0,Ue|0)|0;we=I;hn=Es(Je|0,0,pt|0,0)|0;re=I;yn=Es(L|0,0,ot|0,0)|0;gn=I;mn=Es(wt|0,Et|0,ht|0,0)|0;pn=I;H=Es(u|0,0,Le|0,Ue|0)|0;Ie=I;rn=Es(b|0,0,pt|0,0)|0;Be=I;sn=Es(Je|0,0,ot|0,0)|0;R=I;an=Es(L|0,0,ht|0,0)|0;cn=I;on=Es(wt|0,Et|0,$e|0,0)|0;on=ks(an|0,cn|0,on|0,I|0)|0;R=ks(on|0,I|0,sn|0,R|0)|0;Be=ks(R|0,I|0,rn|0,Be|0)|0;Ie=ks(Be|0,I|0,H|0,Ie|0)|0;Te=ks(Ie|0,I|0,Te&2097151|0,0)|0;Ie=I;H=Es(d|0,0,Le|0,Ue|0)|0;Be=I;rn=Es(u|0,0,pt|0,0)|0;R=I;sn=Es(b|0,0,ot|0,0)|0;on=I;cn=Es(Je|0,0,ht|0,0)|0;an=I;dn=Es(L|0,0,$e|0,0)|0;ln=I;un=Es(wt|0,Et|0,G|0,0)|0;fn=I;T=Es(E|0,0,Le|0,Ue|0)|0;He=I;Gt=Es(d|0,0,pt|0,0)|0;o=I;Vt=Es(u|0,0,ot|0,0)|0;zt=I;Wt=Es(b|0,0,ht|0,0)|0;Ht=I;Xt=Es(Je|0,0,$e|0,0)|0;Qt=I;Jt=Es(L|0,0,G|0,0)|0;Zt=I;Yt=Es(wt|0,Et|0,pe|0,0)|0;Yt=ks(Jt|0,Zt|0,Yt|0,I|0)|0;Qt=ks(Yt|0,I|0,Xt|0,Qt|0)|0;Ht=ks(Qt|0,I|0,Wt|0,Ht|0)|0;zt=ks(Ht|0,I|0,Vt|0,zt|0)|0;o=ks(zt|0,I|0,Gt|0,o|0)|0;He=ks(o|0,I|0,T|0,He|0)|0;Ge=ks(He|0,I|0,Ge&2097151|0,0)|0;He=I;T=Es(wn|0,Z|0,Le|0,Ue|0)|0;o=I;Gt=Es(E|0,0,pt|0,0)|0;zt=I;Vt=Es(d|0,0,ot|0,0)|0;Ht=I;Wt=Es(u|0,0,ht|0,0)|0;Qt=I;Xt=Es(b|0,0,$e|0,0)|0;Yt=I;Zt=Es(Je|0,0,G|0,0)|0;Jt=I;nn=Es(L|0,0,pe|0,0)|0;tn=I;en=Es(wt|0,Et|0,m|0,l|0)|0;$t=I;ee=Es(Se|0,ke|0,Le|0,Ue|0)|0;It=I;Tt=Es(wn|0,Z|0,pt|0,0)|0;Rt=I;Ot=Es(E|0,0,ot|0,0)|0;xt=I;Ct=Es(d|0,0,ht|0,0)|0;Pt=I;Mt=Es(u|0,0,$e|0,0)|0;Dt=I;Bt=Es(b|0,0,G|0,0)|0;Nt=I;jt=Es(Je|0,0,pe|0,0)|0;Ut=I;Ft=Es(L|0,0,m|0,l|0)|0;qt=I;Kt=Es(wt|0,Et|0,x|0,z|0)|0;Kt=ks(Ft|0,qt|0,Kt|0,I|0)|0;Ut=ks(Kt|0,I|0,jt|0,Ut|0)|0;Nt=ks(Ut|0,I|0,Bt|0,Nt|0)|0;Dt=ks(Nt|0,I|0,Mt|0,Dt|0)|0;Pt=ks(Dt|0,I|0,Ct|0,Pt|0)|0;xt=ks(Pt|0,I|0,Ot|0,xt|0)|0;Rt=ks(xt|0,I|0,Tt|0,Rt|0)|0;It=ks(Rt|0,I|0,ee|0,It|0)|0;X=ks(It|0,I|0,ve|g|J&2031616|0,X|0)|0;J=I;g=Es(w|0,0,Le|0,Ue|0)|0;ve=I;It=Es(Se|0,ke|0,pt|0,0)|0;ee=I;Rt=Es(wn|0,Z|0,ot|0,0)|0;Tt=I;xt=Es(E|0,0,ht|0,0)|0;Ot=I;Pt=Es(d|0,0,$e|0,0)|0;Ct=I;Dt=Es(u|0,0,G|0,0)|0;Mt=I;Nt=Es(b|0,0,pe|0,0)|0;Bt=I;Ut=Es(Je|0,0,m|0,l|0)|0;jt=I;Kt=Es(L|0,0,x|0,z|0)|0;qt=I;Ft=Es(wt|0,Et|0,B|0,0)|0;Lt=I;et=Es(vt|0,0,Le|0,Ue|0)|0;ne=I;je=Es(w|0,0,pt|0,0)|0;tt=I;gt=Es(Se|0,ke|0,ot|0,0)|0;Ne=I;f=Es(wn|0,Z|0,ht|0,0)|0;yt=I;Ke=Es(E|0,0,$e|0,0)|0;v=I;st=Es(d|0,0,G|0,0)|0;ze=I;i=Es(u|0,0,pe|0,0)|0;at=I;We=Es(b|0,0,m|0,l|0)|0;t=I;he=Es(Je|0,0,x|0,z|0)|0;Ye=I;kt=Es(L|0,0,B|0,0)|0;St=I;be=Es(wt|0,Et|0,N|0,0)|0;be=ks(kt|0,St|0,be|0,I|0)|0;Ye=ks(be|0,I|0,he|0,Ye|0)|0;t=ks(Ye|0,I|0,We|0,t|0)|0;at=ks(t|0,I|0,i|0,at|0)|0;ze=ks(at|0,I|0,st|0,ze|0)|0;v=ks(ze|0,I|0,Ke|0,v|0)|0;yt=ks(v|0,I|0,f|0,yt|0)|0;Ne=ks(yt|0,I|0,gt|0,Ne|0)|0;tt=ks(Ne|0,I|0,je|0,tt|0)|0;ne=ks(tt|0,I|0,et|0,ne|0)|0;te=ks(ne|0,I|0,te&2097151|0,0)|0;ne=I;Ue=Es(Q|0,V|0,Le|0,Ue|0)|0;Le=I;et=Es(vt|0,0,pt|0,0)|0;tt=I;je=Es(w|0,0,ot|0,0)|0;Ne=I;gt=Es(Se|0,ke|0,ht|0,0)|0;yt=I;f=Es(wn|0,Z|0,$e|0,0)|0;v=I;Ke=Es(E|0,0,G|0,0)|0;ze=I;st=Es(d|0,0,pe|0,0)|0;at=I;i=Es(u|0,0,m|0,l|0)|0;t=I;We=Es(b|0,0,x|0,z|0)|0;Ye=I;he=Es(Je|0,0,B|0,0)|0;be=I;St=Es(L|0,0,N|0,0)|0;kt=I;Et=Es(wt|0,Et|0,ge|0,ye|0)|0;wt=I;pt=Es(Q|0,V|0,pt|0,0)|0;mt=I;P=Es(vt|0,0,ot|0,0)|0;it=I;fe=Es(w|0,0,ht|0,0)|0;n=I;bt=Es(Se|0,ke|0,$e|0,0)|0;Fe=I;k=Es(wn|0,Z|0,G|0,0)|0;_t=I;ie=Es(E|0,0,pe|0,0)|0;F=I;qe=Es(d|0,0,m|0,l|0)|0;oe=I;W=Es(u|0,0,x|0,z|0)|0;ce=I;U=Es(b|0,0,B|0,0)|0;Y=I;dt=Es(Je|0,0,N|0,0)|0;Xe=I;L=Es(L|0,0,ge|0,ye|0)|0;L=ks(dt|0,Xe|0,L|0,I|0)|0;Y=ks(L|0,I|0,U|0,Y|0)|0;ce=ks(Y|0,I|0,W|0,ce|0)|0;oe=ks(ce|0,I|0,qe|0,oe|0)|0;F=ks(oe|0,I|0,ie|0,F|0)|0;_t=ks(F|0,I|0,k|0,_t|0)|0;Fe=ks(_t|0,I|0,bt|0,Fe|0)|0;n=ks(Fe|0,I|0,fe|0,n|0)|0;it=ks(n|0,I|0,P|0,it|0)|0;mt=ks(it|0,I|0,pt|0,mt|0)|0;pt=I;ot=Es(Q|0,V|0,ot|0,0)|0;it=I;P=Es(vt|0,0,ht|0,0)|0;n=I;fe=Es(w|0,0,$e|0,0)|0;Fe=I;bt=Es(Se|0,ke|0,G|0,0)|0;_t=I;k=Es(wn|0,Z|0,pe|0,0)|0;F=I;ie=Es(E|0,0,m|0,l|0)|0;oe=I;qe=Es(d|0,0,x|0,z|0)|0;ce=I;W=Es(u|0,0,B|0,0)|0;Y=I;U=Es(b|0,0,N|0,0)|0;L=I;Je=Es(Je|0,0,ge|0,ye|0)|0;Xe=I;ht=Es(Q|0,V|0,ht|0,0)|0;dt=I;ut=Es(vt|0,0,$e|0,0)|0;Ze=I;K=Es(w|0,0,G|0,0)|0;lt=I;$=Es(Se|0,ke|0,pe|0,0)|0;q=I;ae=Es(wn|0,Z|0,m|0,l|0)|0;C=I;A=Es(E|0,0,x|0,z|0)|0;se=I;h=Es(d|0,0,B|0,0)|0;c=I;At=Es(u|0,0,N|0,0)|0;a=I;b=Es(b|0,0,ge|0,ye|0)|0;b=ks(At|0,a|0,b|0,I|0)|0;c=ks(b|0,I|0,h|0,c|0)|0;se=ks(c|0,I|0,A|0,se|0)|0;C=ks(se|0,I|0,ae|0,C|0)|0;q=ks(C|0,I|0,$|0,q|0)|0;lt=ks(q|0,I|0,K|0,lt|0)|0;Ze=ks(lt|0,I|0,ut|0,Ze|0)|0;dt=ks(Ze|0,I|0,ht|0,dt|0)|0;ht=I;$e=Es(Q|0,V|0,$e|0,0)|0;Ze=I;ut=Es(vt|0,0,G|0,0)|0;lt=I;K=Es(w|0,0,pe|0,0)|0;q=I;$=Es(Se|0,ke|0,m|0,l|0)|0;C=I;ae=Es(wn|0,Z|0,x|0,z|0)|0;se=I;A=Es(E|0,0,B|0,0)|0;c=I;h=Es(d|0,0,N|0,0)|0;b=I;u=Es(u|0,0,ge|0,ye|0)|0;a=I;G=Es(Q|0,V|0,G|0,0)|0;At=I;_=Es(vt|0,0,pe|0,0)|0;me=I;M=Es(w|0,0,m|0,l|0)|0;p=I;Qe=Es(Se|0,ke|0,x|0,z|0)|0;D=I;y=Es(wn|0,Z|0,B|0,0)|0;Ve=I;Ce=Es(E|0,0,N|0,0)|0;S=I;d=Es(d|0,0,ge|0,ye|0)|0;d=ks(Ce|0,S|0,d|0,I|0)|0;Ve=ks(d|0,I|0,y|0,Ve|0)|0;D=ks(Ve|0,I|0,Qe|0,D|0)|0;p=ks(D|0,I|0,M|0,p|0)|0;me=ks(p|0,I|0,_|0,me|0)|0;At=ks(me|0,I|0,G|0,At|0)|0;G=I;pe=Es(Q|0,V|0,pe|0,0)|0;me=I;_=Es(vt|0,0,m|0,l|0)|0;p=I;M=Es(w|0,0,x|0,z|0)|0;D=I;Qe=Es(Se|0,ke|0,B|0,0)|0;Ve=I;y=Es(wn|0,Z|0,N|0,0)|0;d=I;E=Es(E|0,0,ge|0,ye|0)|0;S=I;l=Es(Q|0,V|0,m|0,l|0)|0;m=I;Ce=Es(vt|0,0,x|0,z|0)|0;xe=I;ct=Es(w|0,0,B|0,0)|0;nt=I;de=Es(Se|0,ke|0,N|0,0)|0;An=I;Z=Es(wn|0,Z|0,ge|0,ye|0)|0;Z=ks(de|0,An|0,Z|0,I|0)|0;nt=ks(Z|0,I|0,ct|0,nt|0)|0;xe=ks(nt|0,I|0,Ce|0,xe|0)|0;m=ks(xe|0,I|0,l|0,m|0)|0;l=I;z=Es(Q|0,V|0,x|0,z|0)|0;x=I;xe=Es(vt|0,0,B|0,0)|0;Ce=I;nt=Es(w|0,0,N|0,0)|0;ct=I;ke=Es(Se|0,ke|0,ge|0,ye|0)|0;Se=I;B=Es(Q|0,V|0,B|0,0)|0;Z=I;An=Es(vt|0,0,N|0,0)|0;de=I;w=Es(w|0,0,ge|0,ye|0)|0;w=ks(An|0,de|0,w|0,I|0)|0;Z=ks(w|0,I|0,B|0,Z|0)|0;B=I;N=Es(Q|0,V|0,N|0,0)|0;w=I;vt=Es(vt|0,0,ge|0,ye|0)|0;vt=ks(N|0,w|0,vt|0,I|0)|0;w=I;ye=Es(Q|0,V|0,ge|0,ye|0)|0;ge=I;V=ks(Re|0,Oe|0,1048576,0)|0;Q=I;N=xs(V|0,Q|0,21)|0;de=I;j=ks(vn|0,_n|0,bn|0,j|0)|0;de=ks(j|0,I|0,N|0,de|0)|0;_e=ks(de|0,I|0,_e&2097151|0,0)|0;de=I;Q=Ss(Re|0,Oe|0,V&-2097152|0,Q&4095|0)|0;V=I;Oe=ks(Me|0,Pe|0,1048576,0)|0;Re=I;N=xs(Oe|0,Re|0,21)|0;j=I;pn=ks(yn|0,gn|0,mn|0,pn|0)|0;re=ks(pn|0,I|0,hn|0,re|0)|0;we=ks(re|0,I|0,O|0,we|0)|0;Ee=ks(we|0,I|0,Ee&2097151|0,0)|0;j=ks(Ee|0,I|0,N|0,j|0)|0;N=I;Ee=ks(Te|0,Ie|0,1048576,0)|0;we=I;O=Os(Ee|0,we|0,21)|0;re=I;fn=ks(dn|0,ln|0,un|0,fn|0)|0;an=ks(fn|0,I|0,cn|0,an|0)|0;on=ks(an|0,I|0,sn|0,on|0)|0;R=ks(on|0,I|0,rn|0,R|0)|0;Be=ks(R|0,I|0,H|0,Be|0)|0;De=ks(Be|0,I|0,De&2097151|0,0)|0;re=ks(De|0,I|0,O|0,re|0)|0;O=I;De=ks(Ge|0,He|0,1048576,0)|0;Be=I;H=Os(De|0,Be|0,21)|0;R=I;$t=ks(nn|0,tn|0,en|0,$t|0)|0;Jt=ks($t|0,I|0,Zt|0,Jt|0)|0;Yt=ks(Jt|0,I|0,Xt|0,Yt|0)|0;Qt=ks(Yt|0,I|0,Wt|0,Qt|0)|0;Ht=ks(Qt|0,I|0,Vt|0,Ht|0)|0;zt=ks(Ht|0,I|0,Gt|0,zt|0)|0;o=ks(zt|0,I|0,T|0,o|0)|0;ue=ks(o|0,I|0,le|0,ue|0)|0;R=ks(ue|0,I|0,H|0,R|0)|0;H=I;ue=ks(X|0,J|0,1048576,0)|0;le=I;o=Os(ue|0,le|0,21)|0;T=I;Lt=ks(Kt|0,qt|0,Ft|0,Lt|0)|0;jt=ks(Lt|0,I|0,Ut|0,jt|0)|0;Bt=ks(jt|0,I|0,Nt|0,Bt|0)|0;Mt=ks(Bt|0,I|0,Dt|0,Mt|0)|0;Ct=ks(Mt|0,I|0,Pt|0,Ct|0)|0;Ot=ks(Ct|0,I|0,xt|0,Ot|0)|0;Tt=ks(Ot|0,I|0,Rt|0,Tt|0)|0;ee=ks(Tt|0,I|0,It|0,ee|0)|0;ve=ks(ee|0,I|0,g|0,ve|0)|0;Ae=ks(ve|0,I|0,Ae&2097151|0,0)|0;T=ks(Ae|0,I|0,o|0,T|0)|0;o=I;Ae=ks(te|0,ne|0,1048576,0)|0;ve=I;g=Os(Ae|0,ve|0,21)|0;ee=I;wt=ks(St|0,kt|0,Et|0,wt|0)|0;be=ks(wt|0,I|0,he|0,be|0)|0;Ye=ks(be|0,I|0,We|0,Ye|0)|0;t=ks(Ye|0,I|0,i|0,t|0)|0;at=ks(t|0,I|0,st|0,at|0)|0;ze=ks(at|0,I|0,Ke|0,ze|0)|0;v=ks(ze|0,I|0,f|0,v|0)|0;yt=ks(v|0,I|0,gt|0,yt|0)|0;Ne=ks(yt|0,I|0,je|0,Ne|0)|0;tt=ks(Ne|0,I|0,et|0,tt|0)|0;Le=ks(tt|0,I|0,Ue|0,Le|0)|0;ft=ks(Le|0,I|0,rt|0,ft|0)|0;ee=ks(ft|0,I|0,g|0,ee|0)|0;g=I;ft=ks(mt|0,pt|0,1048576,0)|0;rt=I;Le=Os(ft|0,rt|0,21)|0;Ue=I;Xe=ks(U|0,L|0,Je|0,Xe|0)|0;Y=ks(Xe|0,I|0,W|0,Y|0)|0;ce=ks(Y|0,I|0,qe|0,ce|0)|0;oe=ks(ce|0,I|0,ie|0,oe|0)|0;F=ks(oe|0,I|0,k|0,F|0)|0;_t=ks(F|0,I|0,bt|0,_t|0)|0;Fe=ks(_t|0,I|0,fe|0,Fe|0)|0;n=ks(Fe|0,I|0,P|0,n|0)|0;it=ks(n|0,I|0,ot|0,it|0)|0;Ue=ks(it|0,I|0,Le|0,Ue|0)|0;Le=I;it=ks(dt|0,ht|0,1048576,0)|0;ot=I;n=Os(it|0,ot|0,21)|0;P=I;a=ks(h|0,b|0,u|0,a|0)|0;c=ks(a|0,I|0,A|0,c|0)|0;se=ks(c|0,I|0,ae|0,se|0)|0;C=ks(se|0,I|0,$|0,C|0)|0;q=ks(C|0,I|0,K|0,q|0)|0;lt=ks(q|0,I|0,ut|0,lt|0)|0;Ze=ks(lt|0,I|0,$e|0,Ze|0)|0;P=ks(Ze|0,I|0,n|0,P|0)|0;n=I;Ze=ks(At|0,G|0,1048576,0)|0;$e=I;lt=Os(Ze|0,$e|0,21)|0;ut=I;S=ks(y|0,d|0,E|0,S|0)|0;Ve=ks(S|0,I|0,Qe|0,Ve|0)|0;D=ks(Ve|0,I|0,M|0,D|0)|0;p=ks(D|0,I|0,_|0,p|0)|0;me=ks(p|0,I|0,pe|0,me|0)|0;ut=ks(me|0,I|0,lt|0,ut|0)|0;lt=I;me=ks(m|0,l|0,1048576,0)|0;pe=I;p=Os(me|0,pe|0,21)|0;_=I;Se=ks(nt|0,ct|0,ke|0,Se|0)|0;Ce=ks(Se|0,I|0,xe|0,Ce|0)|0;x=ks(Ce|0,I|0,z|0,x|0)|0;_=ks(x|0,I|0,p|0,_|0)|0;p=I;pe=Ss(m|0,l|0,me&-2097152|0,pe|0)|0;me=I;l=ks(Z|0,B|0,1048576,0)|0;m=I;x=xs(l|0,m|0,21)|0;x=ks(vt|0,w|0,x|0,I|0)|0;w=I;m=Ss(Z|0,B|0,l&-2097152|0,m&2147483647|0)|0;l=I;B=ks(ye|0,ge|0,1048576,0)|0;Z=I;vt=xs(B|0,Z|0,21)|0;z=I;Z=Ss(ye|0,ge|0,B&-2097152|0,Z&2147483647|0)|0;B=I;ge=ks(_e|0,de|0,1048576,0)|0;ye=I;Ce=xs(ge|0,ye|0,21)|0;xe=I;ye=Ss(_e|0,de|0,ge&-2097152|0,ye|0)|0;ge=I;de=ks(j|0,N|0,1048576,0)|0;_e=I;Se=Os(de|0,_e|0,21)|0;ke=I;_e=Ss(j|0,N|0,de&-2097152|0,_e|0)|0;de=I;N=ks(re|0,O|0,1048576,0)|0;j=I;ct=Os(N|0,j|0,21)|0;nt=I;D=ks(R|0,H|0,1048576,0)|0;M=I;Ve=Os(D|0,M|0,21)|0;Qe=I;S=ks(T|0,o|0,1048576,0)|0;E=I;d=Os(S|0,E|0,21)|0;y=I;q=ks(ee|0,g|0,1048576,0)|0;K=I;C=Os(q|0,K|0,21)|0;$=I;se=ks(Ue|0,Le|0,1048576,0)|0;ae=I;c=Os(se|0,ae|0,21)|0;A=I;a=ks(P|0,n|0,1048576,0)|0;u=I;b=Os(a|0,u|0,21)|0;h=I;Fe=ks(ut|0,lt|0,1048576,0)|0;fe=I;_t=Os(Fe|0,fe|0,21)|0;me=ks(_t|0,I|0,pe|0,me|0)|0;pe=I;fe=Ss(ut|0,lt|0,Fe&-2097152|0,fe|0)|0;Fe=I;lt=ks(_|0,p|0,1048576,0)|0;ut=I;_t=Os(lt|0,ut|0,21)|0;l=ks(_t|0,I|0,m|0,l|0)|0;m=I;ut=Ss(_|0,p|0,lt&-2097152|0,ut|0)|0;lt=I;p=ks(x|0,w|0,1048576,0)|0;_=I;_t=xs(p|0,_|0,21)|0;B=ks(_t|0,I|0,Z|0,B|0)|0;Z=I;_=Ss(x|0,w|0,p&-2097152|0,_&2147483647|0)|0;p=I;w=Es(vt|0,z|0,666643,0)|0;x=I;_t=Es(vt|0,z|0,470296,0)|0;bt=I;F=Es(vt|0,z|0,654183,0)|0;k=I;oe=Es(vt|0,z|0,-997805,-1)|0;ie=I;ce=Es(vt|0,z|0,136657,0)|0;qe=I;z=Es(vt|0,z|0,-683901,-1)|0;z=ks(At|0,G|0,z|0,I|0)|0;$e=Ss(z|0,I|0,Ze&-2097152|0,$e|0)|0;h=ks($e|0,I|0,b|0,h|0)|0;b=I;$e=Es(B|0,Z|0,666643,0)|0;Ze=I;z=Es(B|0,Z|0,470296,0)|0;G=I;At=Es(B|0,Z|0,654183,0)|0;vt=I;Y=Es(B|0,Z|0,-997805,-1)|0;W=I;Xe=Es(B|0,Z|0,136657,0)|0;Je=I;Z=Es(B|0,Z|0,-683901,-1)|0;B=I;L=Es(_|0,p|0,666643,0)|0;U=I;tt=Es(_|0,p|0,470296,0)|0;et=I;Ne=Es(_|0,p|0,654183,0)|0;je=I;yt=Es(_|0,p|0,-997805,-1)|0;gt=I;v=Es(_|0,p|0,136657,0)|0;f=I;p=Es(_|0,p|0,-683901,-1)|0;_=I;ie=ks(dt|0,ht|0,oe|0,ie|0)|0;Je=ks(ie|0,I|0,Xe|0,Je|0)|0;_=ks(Je|0,I|0,p|0,_|0)|0;ot=Ss(_|0,I|0,it&-2097152|0,ot|0)|0;A=ks(ot|0,I|0,c|0,A|0)|0;c=I;ot=Es(l|0,m|0,666643,0)|0;it=I;_=Es(l|0,m|0,470296,0)|0;p=I;Je=Es(l|0,m|0,654183,0)|0;Xe=I;ie=Es(l|0,m|0,-997805,-1)|0;oe=I;ht=Es(l|0,m|0,136657,0)|0;dt=I;m=Es(l|0,m|0,-683901,-1)|0;l=I;ze=Es(ut|0,lt|0,666643,0)|0;Ke=I;at=Es(ut|0,lt|0,470296,0)|0;st=I;t=Es(ut|0,lt|0,654183,0)|0;i=I;Ye=Es(ut|0,lt|0,-997805,-1)|0;We=I;be=Es(ut|0,lt|0,136657,0)|0;he=I;lt=Es(ut|0,lt|0,-683901,-1)|0;ut=I;bt=ks(At|0,vt|0,_t|0,bt|0)|0;gt=ks(bt|0,I|0,yt|0,gt|0)|0;pt=ks(gt|0,I|0,mt|0,pt|0)|0;dt=ks(pt|0,I|0,ht|0,dt|0)|0;ut=ks(dt|0,I|0,lt|0,ut|0)|0;rt=Ss(ut|0,I|0,ft&-2097152|0,rt|0)|0;$=ks(rt|0,I|0,C|0,$|0)|0;C=I;rt=Es(me|0,pe|0,666643,0)|0;rt=ks(ct|0,nt|0,rt|0,I|0)|0;He=ks(rt|0,I|0,Ge|0,He|0)|0;Be=Ss(He|0,I|0,De&-2097152|0,Be|0)|0;De=I;He=Es(me|0,pe|0,470296,0)|0;Ge=I;rt=Es(me|0,pe|0,654183,0)|0;nt=I;it=ks(at|0,st|0,ot|0,it|0)|0;nt=ks(it|0,I|0,rt|0,nt|0)|0;Qe=ks(nt|0,I|0,Ve|0,Qe|0)|0;J=ks(Qe|0,I|0,X|0,J|0)|0;le=Ss(J|0,I|0,ue&-2097152|0,le|0)|0;ue=I;J=Es(me|0,pe|0,-997805,-1)|0;X=I;Qe=Es(me|0,pe|0,136657,0)|0;Ve=I;Ze=ks(tt|0,et|0,$e|0,Ze|0)|0;Xe=ks(Ze|0,I|0,Je|0,Xe|0)|0;We=ks(Xe|0,I|0,Ye|0,We|0)|0;Ve=ks(We|0,I|0,Qe|0,Ve|0)|0;y=ks(Ve|0,I|0,d|0,y|0)|0;ne=ks(y|0,I|0,te|0,ne|0)|0;ve=Ss(ne|0,I|0,Ae&-2097152|0,ve|0)|0;Ae=I;pe=Es(me|0,pe|0,-683901,-1)|0;me=I;ne=ks(Be|0,De|0,1048576,0)|0;te=I;y=Os(ne|0,te|0,21)|0;d=I;Ke=ks(He|0,Ge|0,ze|0,Ke|0)|0;H=ks(Ke|0,I|0,R|0,H|0)|0;M=Ss(H|0,I|0,D&-2097152|0,M|0)|0;d=ks(M|0,I|0,y|0,d|0)|0;y=I;M=ks(le|0,ue|0,1048576,0)|0;D=I;H=Os(M|0,D|0,21)|0;R=I;U=ks(_|0,p|0,L|0,U|0)|0;i=ks(U|0,I|0,t|0,i|0)|0;X=ks(i|0,I|0,J|0,X|0)|0;o=ks(X|0,I|0,T|0,o|0)|0;E=Ss(o|0,I|0,S&-2097152|0,E|0)|0;R=ks(E|0,I|0,H|0,R|0)|0;H=I;E=ks(ve|0,Ae|0,1048576,0)|0;S=I;o=Os(E|0,S|0,21)|0;T=I;x=ks(z|0,G|0,w|0,x|0)|0;je=ks(x|0,I|0,Ne|0,je|0)|0;oe=ks(je|0,I|0,ie|0,oe|0)|0;he=ks(oe|0,I|0,be|0,he|0)|0;me=ks(he|0,I|0,pe|0,me|0)|0;g=ks(me|0,I|0,ee|0,g|0)|0;K=Ss(g|0,I|0,q&-2097152|0,K|0)|0;T=ks(K|0,I|0,o|0,T|0)|0;o=I;K=ks($|0,C|0,1048576,0)|0;q=I;g=Os(K|0,q|0,21)|0;ee=I;k=ks(Y|0,W|0,F|0,k|0)|0;f=ks(k|0,I|0,v|0,f|0)|0;l=ks(f|0,I|0,m|0,l|0)|0;Le=ks(l|0,I|0,Ue|0,Le|0)|0;ae=Ss(Le|0,I|0,se&-2097152|0,ae|0)|0;ee=ks(ae|0,I|0,g|0,ee|0)|0;g=I;q=Ss($|0,C|0,K&-2097152|0,q|0)|0;K=I;C=ks(A|0,c|0,1048576,0)|0;$=I;ae=Os(C|0,$|0,21)|0;se=I;qe=ks(Z|0,B|0,ce|0,qe|0)|0;n=ks(qe|0,I|0,P|0,n|0)|0;u=Ss(n|0,I|0,a&-2097152|0,u|0)|0;se=ks(u|0,I|0,ae|0,se|0)|0;ae=I;$=Ss(A|0,c|0,C&-2097152|0,$|0)|0;C=I;c=ks(h|0,b|0,1048576,0)|0;A=I;u=Os(c|0,A|0,21)|0;Fe=ks(u|0,I|0,fe|0,Fe|0)|0;fe=I;A=Ss(h|0,b|0,c&-2097152|0,A|0)|0;c=I;b=ks(d|0,y|0,1048576,0)|0;h=I;u=Os(b|0,h|0,21)|0;a=I;n=ks(R|0,H|0,1048576,0)|0;P=I;qe=Os(n|0,P|0,21)|0;ce=I;B=ks(T|0,o|0,1048576,0)|0;Z=I;Le=Os(B|0,Z|0,21)|0;K=ks(Le|0,I|0,q|0,K|0)|0;q=I;Z=Ss(T|0,o|0,B&-2097152|0,Z|0)|0;B=I;o=ks(ee|0,g|0,1048576,0)|0;T=I;Le=Os(o|0,T|0,21)|0;C=ks(Le|0,I|0,$|0,C|0)|0;$=I;T=Ss(ee|0,g|0,o&-2097152|0,T|0)|0;o=I;g=ks(se|0,ae|0,1048576,0)|0;ee=I;Le=Os(g|0,ee|0,21)|0;c=ks(Le|0,I|0,A|0,c|0)|0;A=I;ee=Ss(se|0,ae|0,g&-2097152|0,ee|0)|0;g=I;ae=Es(Fe|0,fe|0,666643,0)|0;se=I;Le=Es(Fe|0,fe|0,470296,0)|0;Ue=I;l=Es(Fe|0,fe|0,654183,0)|0;m=I;f=Es(Fe|0,fe|0,-997805,-1)|0;v=I;k=Es(Fe|0,fe|0,136657,0)|0;F=I;fe=Es(Fe|0,fe|0,-683901,-1)|0;fe=ks(qe|0,ce|0,fe|0,I|0)|0;Ae=ks(fe|0,I|0,ve|0,Ae|0)|0;S=Ss(Ae|0,I|0,E&-2097152|0,S|0)|0;E=I;Ae=Es(c|0,A|0,666643,0)|0;ve=I;fe=Es(c|0,A|0,470296,0)|0;ce=I;qe=Es(c|0,A|0,654183,0)|0;Fe=I;W=Es(c|0,A|0,-997805,-1)|0;Y=I;me=Es(c|0,A|0,136657,0)|0;pe=I;A=Es(c|0,A|0,-683901,-1)|0;c=I;he=Es(ee|0,g|0,666643,0)|0;he=ks(_e|0,de|0,he|0,I|0)|0;de=I;_e=Es(ee|0,g|0,470296,0)|0;be=I;oe=Es(ee|0,g|0,654183,0)|0;ie=I;je=Es(ee|0,g|0,-997805,-1)|0;Ne=I;x=Es(ee|0,g|0,136657,0)|0;w=I;g=Es(ee|0,g|0,-683901,-1)|0;ee=I;v=ks(me|0,pe|0,f|0,v|0)|0;ee=ks(v|0,I|0,g|0,ee|0)|0;a=ks(ee|0,I|0,u|0,a|0)|0;ue=ks(a|0,I|0,le|0,ue|0)|0;D=Ss(ue|0,I|0,M&-2097152|0,D|0)|0;M=I;ue=Es(C|0,$|0,666643,0)|0;le=I;a=Es(C|0,$|0,470296,0)|0;u=I;ee=Es(C|0,$|0,654183,0)|0;g=I;v=Es(C|0,$|0,-997805,-1)|0;f=I;pe=Es(C|0,$|0,136657,0)|0;me=I;$=Es(C|0,$|0,-683901,-1)|0;C=I;G=Es(T|0,o|0,666643,0)|0;z=I;X=Es(T|0,o|0,470296,0)|0;J=I;i=Es(T|0,o|0,654183,0)|0;t=I;U=Es(T|0,o|0,-997805,-1)|0;L=I;p=Es(T|0,o|0,136657,0)|0;_=I;o=Es(T|0,o|0,-683901,-1)|0;T=I;Ue=ks(qe|0,Fe|0,Le|0,Ue|0)|0;Ne=ks(Ue|0,I|0,je|0,Ne|0)|0;De=ks(Ne|0,I|0,Be|0,De|0)|0;te=Ss(De|0,I|0,ne&-2097152|0,te|0)|0;me=ks(te|0,I|0,pe|0,me|0)|0;T=ks(me|0,I|0,o|0,T|0)|0;o=I;me=Es(K|0,q|0,666643,0)|0;V=ks(me|0,I|0,Q|0,V|0)|0;Q=I;me=Es(K|0,q|0,470296,0)|0;pe=I;te=Es(K|0,q|0,654183,0)|0;ne=I;xe=ks(Me|0,Pe|0,Ce|0,xe|0)|0;Re=Ss(xe|0,I|0,Oe&-2097152|0,Re|0)|0;ne=ks(Re|0,I|0,te|0,ne|0)|0;le=ks(ne|0,I|0,ue|0,le|0)|0;J=ks(le|0,I|0,X|0,J|0)|0;X=I;le=Es(K|0,q|0,-997805,-1)|0;ue=I;ne=Es(K|0,q|0,136657,0)|0;te=I;ke=ks(Te|0,Ie|0,Se|0,ke|0)|0;we=Ss(ke|0,I|0,Ee&-2097152|0,we|0)|0;ve=ks(we|0,I|0,Ae|0,ve|0)|0;be=ks(ve|0,I|0,_e|0,be|0)|0;te=ks(be|0,I|0,ne|0,te|0)|0;g=ks(te|0,I|0,ee|0,g|0)|0;L=ks(g|0,I|0,U|0,L|0)|0;U=I;q=Es(K|0,q|0,-683901,-1)|0;K=I;g=ks(V|0,Q|0,1048576,0)|0;ee=I;te=Os(g|0,ee|0,21)|0;ne=I;pe=ks(ye|0,ge|0,me|0,pe|0)|0;z=ks(pe|0,I|0,G|0,z|0)|0;ne=ks(z|0,I|0,te|0,ne|0)|0;te=I;ee=Ss(V|0,Q|0,g&-2097152|0,ee|0)|0;g=I;Q=ks(J|0,X|0,1048576,0)|0;V=I;z=Os(Q|0,V|0,21)|0;G=I;ue=ks(he|0,de|0,le|0,ue|0)|0;u=ks(ue|0,I|0,a|0,u|0)|0;t=ks(u|0,I|0,i|0,t|0)|0;G=ks(t|0,I|0,z|0,G|0)|0;z=I;t=ks(L|0,U|0,1048576,0)|0;i=I;u=Os(t|0,i|0,21)|0;a=I;se=ks(fe|0,ce|0,ae|0,se|0)|0;ie=ks(se|0,I|0,oe|0,ie|0)|0;O=ks(ie|0,I|0,re|0,O|0)|0;j=Ss(O|0,I|0,N&-2097152|0,j|0)|0;K=ks(j|0,I|0,q|0,K|0)|0;f=ks(K|0,I|0,v|0,f|0)|0;_=ks(f|0,I|0,p|0,_|0)|0;a=ks(_|0,I|0,u|0,a|0)|0;u=I;_=ks(T|0,o|0,1048576,0)|0;p=I;f=Os(_|0,p|0,21)|0;v=I;m=ks(W|0,Y|0,l|0,m|0)|0;w=ks(m|0,I|0,x|0,w|0)|0;y=ks(w|0,I|0,d|0,y|0)|0;h=Ss(y|0,I|0,b&-2097152|0,h|0)|0;C=ks(h|0,I|0,$|0,C|0)|0;v=ks(C|0,I|0,f|0,v|0)|0;f=I;p=Ss(T|0,o|0,_&-2097152|0,p|0)|0;_=I;o=ks(D|0,M|0,1048576,0)|0;T=I;C=Os(o|0,T|0,21)|0;$=I;F=ks(A|0,c|0,k|0,F|0)|0;H=ks(F|0,I|0,R|0,H|0)|0;$=ks(H|0,I|0,C|0,$|0)|0;P=Ss($|0,I|0,n&-2097152|0,P|0)|0;n=I;T=Ss(D|0,M|0,o&-2097152|0,T|0)|0;o=I;M=ks(S|0,E|0,1048576,0)|0;D=I;$=Os(M|0,D|0,21)|0;$=ks(Z|0,B|0,$|0,I|0)|0;B=I;Z=ks(ne|0,te|0,1048576,0)|0;C=I;H=Os(Z|0,C|0,21)|0;R=I;F=ks(G|0,z|0,1048576,0)|0;k=I;c=Os(F|0,k|0,21)|0;A=I;h=ks(a|0,u|0,1048576,0)|0;b=I;y=Os(h|0,b|0,21)|0;y=ks(p|0,_|0,y|0,I|0)|0;_=I;p=ks(v|0,f|0,1048576,0)|0;d=I;w=Os(p|0,d|0,21)|0;w=ks(T|0,o|0,w|0,I|0)|0;o=I;d=Ss(v|0,f|0,p&-2097152|0,d|0)|0;p=I;f=ks(P|0,n|0,1048576,0)|0;v=I;T=Os(f|0,v|0,21)|0;x=I;v=Ss(P|0,n|0,f&-2097152|0,v|0)|0;f=I;n=ks($|0,B|0,1048576,0)|0;P=I;m=Os(n|0,P|0,21)|0;l=I;P=Ss($|0,B|0,n&-2097152|0,P|0)|0;n=I;B=Es(m|0,l|0,666643,0)|0;B=ks(ee|0,g|0,B|0,I|0)|0;g=I;ee=Es(m|0,l|0,470296,0)|0;$=I;Y=Es(m|0,l|0,654183,0)|0;W=I;K=Es(m|0,l|0,-997805,-1)|0;q=I;j=Es(m|0,l|0,136657,0)|0;N=I;l=Es(m|0,l|0,-683901,-1)|0;m=I;g=Os(B|0,g|0,21)|0;O=I;$=ks(ne|0,te|0,ee|0,$|0)|0;C=Ss($|0,I|0,Z&-2097152|0,C|0)|0;O=ks(C|0,I|0,g|0,O|0)|0;g=Os(O|0,I|0,21)|0;C=I;W=ks(J|0,X|0,Y|0,W|0)|0;V=Ss(W|0,I|0,Q&-2097152|0,V|0)|0;R=ks(V|0,I|0,H|0,R|0)|0;C=ks(R|0,I|0,g|0,C|0)|0;g=Os(C|0,I|0,21)|0;R=I;q=ks(G|0,z|0,K|0,q|0)|0;k=Ss(q|0,I|0,F&-2097152|0,k|0)|0;R=ks(k|0,I|0,g|0,R|0)|0;g=Os(R|0,I|0,21)|0;k=I;N=ks(L|0,U|0,j|0,N|0)|0;i=Ss(N|0,I|0,t&-2097152|0,i|0)|0;A=ks(i|0,I|0,c|0,A|0)|0;k=ks(A|0,I|0,g|0,k|0)|0;g=Os(k|0,I|0,21)|0;A=I;m=ks(a|0,u|0,l|0,m|0)|0;b=Ss(m|0,I|0,h&-2097152|0,b|0)|0;A=ks(b|0,I|0,g|0,A|0)|0;g=Os(A|0,I|0,21)|0;g=ks(y|0,_|0,g|0,I|0)|0;_=Os(g|0,I|0,21)|0;p=ks(_|0,I|0,d|0,p|0)|0;d=Os(p|0,I|0,21)|0;d=ks(w|0,o|0,d|0,I|0)|0;o=Os(d|0,I|0,21)|0;f=ks(o|0,I|0,v|0,f|0)|0;v=Os(f|0,I|0,21)|0;o=I;x=ks(S|0,E|0,T|0,x|0)|0;D=Ss(x|0,I|0,M&-2097152|0,D|0)|0;o=ks(D|0,I|0,v|0,o|0)|0;v=Os(o|0,I|0,21)|0;n=ks(v|0,I|0,P|0,n|0)|0;P=Os(n|0,I|0,21)|0;v=I;D=Es(P|0,v|0,666643,0)|0;B=ks(D|0,I|0,B&2097151|0,0)|0;D=I;M=Es(P|0,v|0,470296,0)|0;O=ks(M|0,I|0,O&2097151|0,0)|0;M=I;x=Es(P|0,v|0,654183,0)|0;C=ks(x|0,I|0,C&2097151|0,0)|0;x=I;T=Es(P|0,v|0,-997805,-1)|0;R=ks(T|0,I|0,R&2097151|0,0)|0;T=I;E=Es(P|0,v|0,136657,0)|0;k=ks(E|0,I|0,k&2097151|0,0)|0;E=I;v=Es(P|0,v|0,-683901,-1)|0;A=ks(v|0,I|0,A&2097151|0,0)|0;v=I;P=Os(B|0,D|0,21)|0;P=ks(O|0,M|0,P|0,I|0)|0;M=I;O=Os(P|0,M|0,21)|0;O=ks(C|0,x|0,O|0,I|0)|0;x=I;C=P&2097151;S=Os(O|0,x|0,21)|0;S=ks(R|0,T|0,S|0,I|0)|0;T=I;R=O&2097151;w=Os(S|0,T|0,21)|0;w=ks(k|0,E|0,w|0,I|0)|0;E=I;k=S&2097151;_=Os(w|0,E|0,21)|0;_=ks(A|0,v|0,_|0,I|0)|0;v=I;A=w&2097151;y=Os(_|0,v|0,21)|0;g=ks(y|0,I|0,g&2097151|0,0)|0;y=I;b=_&2097151;h=Os(g|0,y|0,21)|0;p=ks(h|0,I|0,p&2097151|0,0)|0;h=I;m=g&2097151;l=Os(p|0,h|0,21)|0;d=ks(l|0,I|0,d&2097151|0,0)|0;l=I;u=Os(d|0,l|0,21)|0;f=ks(u|0,I|0,f&2097151|0,0)|0;u=I;a=Os(f|0,u|0,21)|0;o=ks(a|0,I|0,o&2097151|0,0)|0;a=I;c=f&2097151;i=Os(o|0,a|0,21)|0;n=ks(i|0,I|0,n&2097151|0,0)|0;i=I;t=o&2097151;r[e>>0]=B;N=xs(B|0,D|0,8)|0;r[e+1>>0]=N;D=xs(B|0,D|0,16)|0;B=Cs(C|0,0,5)|0;r[e+2>>0]=B|D&31;D=xs(P|0,M|0,3)|0;r[e+3>>0]=D;M=xs(P|0,M|0,11)|0;r[e+4>>0]=M;C=xs(C|0,0,19)|0;M=I;P=Cs(R|0,0,2)|0;r[e+5>>0]=P|C;x=xs(O|0,x|0,6)|0;r[e+6>>0]=x;R=xs(R|0,0,14)|0;x=I;O=Cs(k|0,0,7)|0;r[e+7>>0]=O|R;R=xs(S|0,T|0,1)|0;r[e+8>>0]=R;T=xs(S|0,T|0,9)|0;r[e+9>>0]=T;k=xs(k|0,0,17)|0;T=I;S=Cs(A|0,0,4)|0;r[e+10>>0]=S|k;k=xs(w|0,E|0,4)|0;r[e+11>>0]=k;E=xs(w|0,E|0,12)|0;r[e+12>>0]=E;A=xs(A|0,0,20)|0;E=I;w=Cs(b|0,0,1)|0;r[e+13>>0]=w|A;v=xs(_|0,v|0,7)|0;r[e+14>>0]=v;b=xs(b|0,0,15)|0;v=I;_=Cs(m|0,0,6)|0;r[e+15>>0]=_|b;b=xs(g|0,y|0,2)|0;r[e+16>>0]=b;y=xs(g|0,y|0,10)|0;r[e+17>>0]=y;m=xs(m|0,0,18)|0;y=I;g=Cs(p|0,h|0,3)|0;r[e+18>>0]=g|m;m=xs(p|0,h|0,5)|0;r[e+19>>0]=m;h=xs(p|0,h|0,13)|0;r[e+20>>0]=h;r[e+21>>0]=d;h=xs(d|0,l|0,8)|0;r[e+22>>0]=h;l=xs(d|0,l|0,16)|0;d=Cs(c|0,0,5)|0;r[e+23>>0]=d|l&31;l=xs(f|0,u|0,3)|0;r[e+24>>0]=l;u=xs(f|0,u|0,11)|0;r[e+25>>0]=u;c=xs(c|0,0,19)|0;u=I;f=Cs(t|0,0,2)|0;r[e+26>>0]=f|c;a=xs(o|0,a|0,6)|0;r[e+27>>0]=a;t=xs(t|0,0,14)|0;a=I;o=Cs(n|0,i|0,7)|0;r[e+28>>0]=o|t;t=xs(n|0,i|0,1)|0;r[e+29>>0]=t;t=xs(n|0,i|0,9)|0;r[e+30>>0]=t;i=Os(n|0,i|0,17)|0;r[e+31>>0]=i;return}function ni(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;u=t+44|0;h=t+48|0;g=t+52|0;_=t+56|0;w=t+60|0;S=t+64|0;R=t+68|0;C=t+72|0;O=t+76|0;G=t+4|0;K=t+8|0;i=t+12|0;d=t+16|0;p=t+20|0;A=t+24|0;E=t+28|0;x=t+32|0;q=t+36|0;se=(o[G>>2]|0)+(o[u>>2]|0)|0;oe=(o[K>>2]|0)+(o[h>>2]|0)|0;ie=(o[i>>2]|0)+(o[g>>2]|0)|0;re=(o[d>>2]|0)+(o[_>>2]|0)|0;ne=(o[p>>2]|0)+(o[w>>2]|0)|0;te=(o[A>>2]|0)+(o[S>>2]|0)|0;ee=(o[E>>2]|0)+(o[R>>2]|0)|0;$=(o[x>>2]|0)+(o[C>>2]|0)|0;X=(o[q>>2]|0)+(o[O>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[u>>2]|0)-(o[G>>2]|0)|0;K=(o[h>>2]|0)-(o[K>>2]|0)|0;i=(o[g>>2]|0)-(o[i>>2]|0)|0;d=(o[_>>2]|0)-(o[d>>2]|0)|0;p=(o[w>>2]|0)-(o[p>>2]|0)|0;A=(o[S>>2]|0)-(o[A>>2]|0)|0;E=(o[R>>2]|0)-(o[E>>2]|0)|0;x=(o[C>>2]|0)-(o[x>>2]|0)|0;q=(o[O>>2]|0)-(o[q>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=K;K=e+52|0;o[K>>2]=i;i=e+56|0;o[i>>2]=d;d=e+60|0;o[d>>2]=p;p=e+64|0;o[p>>2]=A;A=e+68|0;o[A>>2]=E;E=e+72|0;o[E>>2]=x;x=e+76|0;o[x>>2]=q;q=e+80|0;Xr(q,e,n);Xr(X,X,n+40|0);O=e+120|0;Xr(O,n+120|0,t+120|0);Xr(e,t+80|0,n+80|0);C=o[e>>2]<<1;R=o[ae>>2]<<1;S=o[se>>2]<<1;w=o[oe>>2]<<1;_=o[ie>>2]<<1;g=o[re>>2]<<1;h=o[ne>>2]<<1;u=o[te>>2]<<1;a=o[ee>>2]<<1;r=o[$>>2]<<1;J=o[q>>2]|0;F=e+84|0;W=o[F>>2]|0;L=e+88|0;H=o[L>>2]|0;U=e+92|0;t=o[U>>2]|0;j=e+96|0;s=o[j>>2]|0;N=e+100|0;c=o[N>>2]|0;B=e+104|0;m=o[B>>2]|0;D=e+108|0;y=o[D>>2]|0;M=e+112|0;k=o[M>>2]|0;P=e+116|0;I=o[P>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[K>>2]|0;n=o[i>>2]|0;f=o[d>>2]|0;l=o[p>>2]|0;b=o[A>>2]|0;v=o[E>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=t-z;o[ie>>2]=s-n;o[re>>2]=c-f;o[ne>>2]=m-l;o[te>>2]=y-b;o[ee>>2]=k-v;o[$>>2]=I-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[K>>2]=z+t;o[i>>2]=n+s;o[d>>2]=f+c;o[p>>2]=l+m;o[A>>2]=b+y;o[E>>2]=v+k;o[x>>2]=T+I;x=o[O>>2]|0;I=e+124|0;T=o[I>>2]|0;E=e+128|0;k=o[E>>2]|0;v=e+132|0;A=o[v>>2]|0;y=e+136|0;b=o[y>>2]|0;p=e+140|0;m=o[p>>2]|0;l=e+144|0;d=o[l>>2]|0;c=e+148|0;f=o[c>>2]|0;i=e+152|0;s=o[i>>2]|0;n=e+156|0;t=o[n>>2]|0;o[q>>2]=x+C;o[F>>2]=T+R;o[L>>2]=k+S;o[U>>2]=A+w;o[j>>2]=b+_;o[N>>2]=m+g;o[B>>2]=d+h;o[D>>2]=f+u;o[M>>2]=s+a;o[P>>2]=t+r;o[O>>2]=C-x;o[I>>2]=R-T;o[E>>2]=S-k;o[v>>2]=w-A;o[y>>2]=_-b;o[p>>2]=g-m;o[l>>2]=h-d;o[c>>2]=u-f;o[i>>2]=a-s;o[n>>2]=r-t;return}function ri(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0;v=h;h=h+2400|0;d=v+2272|0;m=v+1536|0;g=v+1280|0;y=v;b=v+2112|0;_=v+1952|0;l=v+1792|0;ii(m,t);ii(g,i);oi(y,n);w=o[n+4>>2]|0;A=o[n+8>>2]|0;u=o[n+12>>2]|0;t=o[n+16>>2]|0;f=o[n+20>>2]|0;c=o[n+24>>2]|0;a=o[n+28>>2]|0;s=o[n+32>>2]|0;i=o[n+36>>2]|0;o[d>>2]=o[n>>2];o[d+4>>2]=w;o[d+8>>2]=A;o[d+12>>2]=u;o[d+16>>2]=t;o[d+20>>2]=f;o[d+24>>2]=c;o[d+28>>2]=a;o[d+32>>2]=s;o[d+36>>2]=i;i=o[n+44>>2]|0;s=o[n+48>>2]|0;a=o[n+52>>2]|0;c=o[n+56>>2]|0;f=o[n+60>>2]|0;t=o[n+64>>2]|0;u=o[n+68>>2]|0;A=o[n+72>>2]|0;w=o[n+76>>2]|0;o[d+40>>2]=o[n+40>>2];o[d+44>>2]=i;o[d+48>>2]=s;o[d+52>>2]=a;o[d+56>>2]=c;o[d+60>>2]=f;o[d+64>>2]=t;o[d+68>>2]=u;o[d+72>>2]=A;o[d+76>>2]=w;w=o[n+84>>2]|0;A=o[n+88>>2]|0;u=o[n+92>>2]|0;t=o[n+96>>2]|0;f=o[n+100>>2]|0;c=o[n+104>>2]|0;a=o[n+108>>2]|0;s=o[n+112>>2]|0;i=o[n+116>>2]|0;o[d+80>>2]=o[n+80>>2];o[d+84>>2]=w;o[d+88>>2]=A;o[d+92>>2]=u;o[d+96>>2]=t;o[d+100>>2]=f;o[d+104>>2]=c;o[d+108>>2]=a;o[d+112>>2]=s;o[d+116>>2]=i;si(b,d);d=b+120|0;Xr(l,b,d);i=b+40|0;s=b+80|0;Xr(l+40|0,i,s);Xr(l+80|0,s,d);Xr(l+120|0,b,i);ni(b,l,y);Xr(_,b,d);a=_+40|0;Xr(a,i,s);c=_+80|0;Xr(c,s,d);f=_+120|0;Xr(f,b,i);t=y+160|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+320|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+480|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+640|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+800|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+960|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);oi(y+1120|0,_);t=e;n=t+40|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));u=e+40|0;o[u>>2]=1;t=e+44|0;n=t+36|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));l=e+80|0;o[l>>2]=1;t=e+84|0;n=t+36|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));t=255;while(1){if(r[m+t>>0]|0)break;if(r[g+t>>0]|0)break;if(!t){p=16;break}else t=t+-1|0}if((p|0)==16){h=v;return}if((t|0)<=-1){h=v;return}while(1){si(b,e);n=r[m+t>>0]|0;if(n<<24>>24<=0){if(n<<24>>24<0){Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);ai(b,_,y+((((n<<24>>24)/-2|0)<<24>>24)*160|0)|0)}}else{Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);ni(b,_,y+(((n&255)>>>1&255)*160|0)|0)}n=r[g+t>>0]|0;if(n<<24>>24<=0){if(n<<24>>24<0){Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);fi(b,_,240+((((n<<24>>24)/-2|0)<<24>>24)*120|0)|0)}}else{Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);ci(b,_,240+(((n&255)>>>1&255)*120|0)|0)}Xr(e,b,d);Xr(u,i,s);Xr(l,s,d);if((t|0)>0)t=t+-1|0;else break}h=v;return}function ii(e,t){e=e|0;t=t|0;var n=0,i=0,o=0,a=0,c=0,f=0,u=0,l=0,d=0;n=0;do{r[e+n>>0]=(s[t+(n>>>3)>>0]|0)>>>(n&7)&1;n=n+1|0}while((n|0)!=256);u=0;do{f=e+u|0;n=r[f>>0]|0;c=u;u=u+1|0;e:do{if(n<<24>>24!=0&u>>>0<256){o=e+u|0;t=r[o>>0]|0;t:do{if(t<<24>>24){i=n<<24>>24;n=t<<24>>24<<1;t=n+i|0;if((t|0)<16){r[f>>0]=t;r[o>>0]=0;break}n=i-n|0;if((n|0)<=-16)break e;r[f>>0]=n;n=u;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+2|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<2;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+3|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<3;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+4|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<4;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+5|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<5;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+6|0;if(n>>>0<256?(l=e+n|0,d=r[l>>0]|0,d<<24>>24):0){t=r[f>>0]|0;i=d<<24>>24<<6;o=i+t|0;if((o|0)<16){r[f>>0]=o;r[l>>0]=0;break}t=t-i|0;if((t|0)>-16){r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break e}r[t>>0]=1}}}}}}}}while(0)}while((u|0)!=256);return}function oi(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0;d=t+40|0;A=t+44|0;v=t+48|0;_=t+52|0;b=t+56|0;y=t+60|0;g=t+64|0;m=t+68|0;p=t+72|0;h=t+76|0;n=t+4|0;r=t+8|0;i=t+12|0;s=t+16|0;a=t+20|0;c=t+24|0;f=t+28|0;u=t+32|0;l=t+36|0;x=(o[n>>2]|0)+(o[A>>2]|0)|0;O=(o[r>>2]|0)+(o[v>>2]|0)|0;R=(o[i>>2]|0)+(o[_>>2]|0)|0;T=(o[s>>2]|0)+(o[b>>2]|0)|0;I=(o[a>>2]|0)+(o[y>>2]|0)|0;S=(o[c>>2]|0)+(o[g>>2]|0)|0;k=(o[f>>2]|0)+(o[m>>2]|0)|0;E=(o[u>>2]|0)+(o[p>>2]|0)|0;w=(o[l>>2]|0)+(o[h>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[d>>2]|0);o[e+4>>2]=x;o[e+8>>2]=O;o[e+12>>2]=R;o[e+16>>2]=T;o[e+20>>2]=I;o[e+24>>2]=S;o[e+28>>2]=k;o[e+32>>2]=E;o[e+36>>2]=w;n=(o[A>>2]|0)-(o[n>>2]|0)|0;r=(o[v>>2]|0)-(o[r>>2]|0)|0;i=(o[_>>2]|0)-(o[i>>2]|0)|0;s=(o[b>>2]|0)-(o[s>>2]|0)|0;a=(o[y>>2]|0)-(o[a>>2]|0)|0;c=(o[g>>2]|0)-(o[c>>2]|0)|0;f=(o[m>>2]|0)-(o[f>>2]|0)|0;u=(o[p>>2]|0)-(o[u>>2]|0)|0;l=(o[h>>2]|0)-(o[l>>2]|0)|0;o[e+40>>2]=(o[d>>2]|0)-(o[t>>2]|0);o[e+44>>2]=n;o[e+48>>2]=r;o[e+52>>2]=i;o[e+56>>2]=s;o[e+60>>2]=a;o[e+64>>2]=c;o[e+68>>2]=f;o[e+72>>2]=u;o[e+76>>2]=l;l=o[t+84>>2]|0;u=o[t+88>>2]|0;f=o[t+92>>2]|0;c=o[t+96>>2]|0;a=o[t+100>>2]|0;s=o[t+104>>2]|0;i=o[t+108>>2]|0;r=o[t+112>>2]|0;n=o[t+116>>2]|0;o[e+80>>2]=o[t+80>>2];o[e+84>>2]=l;o[e+88>>2]=u;o[e+92>>2]=f;o[e+96>>2]=c;o[e+100>>2]=a;o[e+104>>2]=s;o[e+108>>2]=i;o[e+112>>2]=r;o[e+116>>2]=n;Xr(e+120|0,t+120|0,1200);return}function si(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0;n=h;h=h+48|0;D=n;Yr(e,t);G=e+80|0;fe=t+40|0;Yr(G,fe);A=e+120|0;$r(A,t+80|0);ue=e+40|0;ce=(o[t+44>>2]|0)+(o[t+4>>2]|0)|0;ae=(o[t+48>>2]|0)+(o[t+8>>2]|0)|0;se=(o[t+52>>2]|0)+(o[t+12>>2]|0)|0;oe=(o[t+56>>2]|0)+(o[t+16>>2]|0)|0;ie=(o[t+60>>2]|0)+(o[t+20>>2]|0)|0;re=(o[t+64>>2]|0)+(o[t+24>>2]|0)|0;ne=(o[t+68>>2]|0)+(o[t+28>>2]|0)|0;te=(o[t+72>>2]|0)+(o[t+32>>2]|0)|0;ee=(o[t+76>>2]|0)+(o[t+36>>2]|0)|0;o[ue>>2]=(o[fe>>2]|0)+(o[t>>2]|0);fe=e+44|0;o[fe>>2]=ce;ce=e+48|0;o[ce>>2]=ae;ae=e+52|0;o[ae>>2]=se;se=e+56|0;o[se>>2]=oe;oe=e+60|0;o[oe>>2]=ie;ie=e+64|0;o[ie>>2]=re;re=e+68|0;o[re>>2]=ne;ne=e+72|0;o[ne>>2]=te;te=e+76|0;o[te>>2]=ee;Yr(D,ue);ee=o[G>>2]|0;z=e+84|0;$=o[z>>2]|0;K=e+88|0;Z=o[K>>2]|0;q=e+92|0;J=o[q>>2]|0;F=e+96|0;X=o[F>>2]|0;L=e+100|0;Y=o[L>>2]|0;U=e+104|0;W=o[U>>2]|0;j=e+108|0;Q=o[j>>2]|0;N=e+112|0;V=o[N>>2]|0;B=e+116|0;H=o[B>>2]|0;w=o[e>>2]|0;C=e+4|0;v=o[C>>2]|0;O=e+8|0;b=o[O>>2]|0;T=e+12|0;g=o[T>>2]|0;S=e+16|0;p=o[S>>2]|0;t=e+20|0;l=o[t>>2]|0;s=e+24|0;f=o[s>>2]|0;u=e+28|0;a=o[u>>2]|0;m=e+32|0;i=o[m>>2]|0;_=e+36|0;E=o[_>>2]|0;M=w+ee|0;P=v+$|0;x=b+Z|0;R=g+J|0;I=p+X|0;k=l+Y|0;r=f+W|0;c=a+Q|0;d=i+V|0;y=E+H|0;o[ue>>2]=M;o[fe>>2]=P;o[ce>>2]=x;o[ae>>2]=R;o[se>>2]=I;o[oe>>2]=k;o[ie>>2]=r;o[re>>2]=c;o[ne>>2]=d;o[te>>2]=y;w=ee-w|0;v=$-v|0;b=Z-b|0;g=J-g|0;p=X-p|0;l=Y-l|0;f=W-f|0;a=Q-a|0;i=V-i|0;E=H-E|0;o[G>>2]=w;o[z>>2]=v;o[K>>2]=b;o[q>>2]=g;o[F>>2]=p;o[L>>2]=l;o[U>>2]=f;o[j>>2]=a;o[N>>2]=i;o[B>>2]=E;P=(o[D+4>>2]|0)-P|0;x=(o[D+8>>2]|0)-x|0;R=(o[D+12>>2]|0)-R|0;I=(o[D+16>>2]|0)-I|0;k=(o[D+20>>2]|0)-k|0;r=(o[D+24>>2]|0)-r|0;c=(o[D+28>>2]|0)-c|0;d=(o[D+32>>2]|0)-d|0;y=(o[D+36>>2]|0)-y|0;o[e>>2]=(o[D>>2]|0)-M;o[C>>2]=P;o[O>>2]=x;o[T>>2]=R;o[S>>2]=I;o[t>>2]=k;o[s>>2]=r;o[u>>2]=c;o[m>>2]=d;o[_>>2]=y;_=e+124|0;y=e+128|0;m=e+132|0;d=e+136|0;u=e+140|0;c=e+144|0;s=e+148|0;r=e+152|0;t=e+156|0;v=(o[_>>2]|0)-v|0;b=(o[y>>2]|0)-b|0;g=(o[m>>2]|0)-g|0;p=(o[d>>2]|0)-p|0;l=(o[u>>2]|0)-l|0;f=(o[c>>2]|0)-f|0;a=(o[s>>2]|0)-a|0;i=(o[r>>2]|0)-i|0;e=(o[t>>2]|0)-E|0;o[A>>2]=(o[A>>2]|0)-w;o[_>>2]=v;o[y>>2]=b;o[m>>2]=g;o[d>>2]=p;o[u>>2]=l;o[c>>2]=f;o[s>>2]=a;o[r>>2]=i;o[t>>2]=e;h=n;return}function ai(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;c=t+44|0;l=t+48|0;p=t+52|0;y=t+56|0;v=t+60|0;E=t+64|0;I=t+68|0;O=t+72|0;R=t+76|0;G=t+4|0;q=t+8|0;r=t+12|0;d=t+16|0;h=t+20|0;A=t+24|0;w=t+28|0;x=t+32|0;F=t+36|0;se=(o[G>>2]|0)+(o[c>>2]|0)|0;oe=(o[q>>2]|0)+(o[l>>2]|0)|0;ie=(o[r>>2]|0)+(o[p>>2]|0)|0;re=(o[d>>2]|0)+(o[y>>2]|0)|0;ne=(o[h>>2]|0)+(o[v>>2]|0)|0;te=(o[A>>2]|0)+(o[E>>2]|0)|0;ee=(o[w>>2]|0)+(o[I>>2]|0)|0;$=(o[x>>2]|0)+(o[O>>2]|0)|0;X=(o[F>>2]|0)+(o[R>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[c>>2]|0)-(o[G>>2]|0)|0;q=(o[l>>2]|0)-(o[q>>2]|0)|0;r=(o[p>>2]|0)-(o[r>>2]|0)|0;d=(o[y>>2]|0)-(o[d>>2]|0)|0;h=(o[v>>2]|0)-(o[h>>2]|0)|0;A=(o[E>>2]|0)-(o[A>>2]|0)|0;w=(o[I>>2]|0)-(o[w>>2]|0)|0;x=(o[O>>2]|0)-(o[x>>2]|0)|0;F=(o[R>>2]|0)-(o[F>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=q;q=e+52|0;o[q>>2]=r;r=e+56|0;o[r>>2]=d;d=e+60|0;o[d>>2]=h;h=e+64|0;o[h>>2]=A;A=e+68|0;o[A>>2]=w;w=e+72|0;o[w>>2]=x;x=e+76|0;o[x>>2]=F;F=e+80|0;Xr(F,e,n+40|0);Xr(X,X,n);R=e+120|0;Xr(R,n+120|0,t+120|0);Xr(e,t+80|0,n+80|0);O=o[e>>2]<<1;I=o[ae>>2]<<1;E=o[se>>2]<<1;v=o[oe>>2]<<1;y=o[ie>>2]<<1;p=o[re>>2]<<1;l=o[ne>>2]<<1;c=o[te>>2]<<1;i=o[ee>>2]<<1;t=o[$>>2]<<1;J=o[F>>2]|0;L=e+84|0;W=o[L>>2]|0;U=e+88|0;H=o[U>>2]|0;j=e+92|0;K=o[j>>2]|0;N=e+96|0;s=o[N>>2]|0;B=e+100|0;a=o[B>>2]|0;D=e+104|0;m=o[D>>2]|0;M=e+108|0;g=o[M>>2]|0;P=e+112|0;k=o[P>>2]|0;C=e+116|0;S=o[C>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[q>>2]|0;n=o[r>>2]|0;f=o[d>>2]|0;u=o[h>>2]|0;b=o[A>>2]|0;_=o[w>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=K-z;o[ie>>2]=s-n;o[re>>2]=a-f;o[ne>>2]=m-u;o[te>>2]=g-b;o[ee>>2]=k-_;o[$>>2]=S-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[q>>2]=z+K;o[r>>2]=n+s;o[d>>2]=f+a;o[h>>2]=u+m;o[A>>2]=b+g;o[w>>2]=_+k;o[x>>2]=T+S;x=o[R>>2]|0;S=e+124|0;T=o[S>>2]|0;w=e+128|0;k=o[w>>2]|0;_=e+132|0;A=o[_>>2]|0;g=e+136|0;b=o[g>>2]|0;h=e+140|0;m=o[h>>2]|0;u=e+144|0;d=o[u>>2]|0;a=e+148|0;f=o[a>>2]|0;r=e+152|0;s=o[r>>2]|0;n=e+156|0;e=o[n>>2]|0;o[F>>2]=O-x;o[L>>2]=I-T;o[U>>2]=E-k;o[j>>2]=v-A;o[N>>2]=y-b;o[B>>2]=p-m;o[D>>2]=l-d;o[M>>2]=c-f;o[P>>2]=i-s;o[C>>2]=t-e;o[R>>2]=x+O;o[S>>2]=T+I;o[w>>2]=k+E;o[_>>2]=A+v;o[g>>2]=b+y;o[h>>2]=m+p;o[u>>2]=d+l;o[a>>2]=f+c;o[r>>2]=s+i;o[n>>2]=e+t;return}function ci(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;u=t+44|0;h=t+48|0;g=t+52|0;_=t+56|0;w=t+60|0;S=t+64|0;R=t+68|0;C=t+72|0;O=t+76|0;G=t+4|0;K=t+8|0;i=t+12|0;d=t+16|0;p=t+20|0;A=t+24|0;E=t+28|0;x=t+32|0;q=t+36|0;se=(o[G>>2]|0)+(o[u>>2]|0)|0;oe=(o[K>>2]|0)+(o[h>>2]|0)|0;ie=(o[i>>2]|0)+(o[g>>2]|0)|0;re=(o[d>>2]|0)+(o[_>>2]|0)|0;ne=(o[p>>2]|0)+(o[w>>2]|0)|0;te=(o[A>>2]|0)+(o[S>>2]|0)|0;ee=(o[E>>2]|0)+(o[R>>2]|0)|0;$=(o[x>>2]|0)+(o[C>>2]|0)|0;X=(o[q>>2]|0)+(o[O>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[u>>2]|0)-(o[G>>2]|0)|0;K=(o[h>>2]|0)-(o[K>>2]|0)|0;i=(o[g>>2]|0)-(o[i>>2]|0)|0;d=(o[_>>2]|0)-(o[d>>2]|0)|0;p=(o[w>>2]|0)-(o[p>>2]|0)|0;A=(o[S>>2]|0)-(o[A>>2]|0)|0;E=(o[R>>2]|0)-(o[E>>2]|0)|0;x=(o[C>>2]|0)-(o[x>>2]|0)|0;q=(o[O>>2]|0)-(o[q>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=K;K=e+52|0;o[K>>2]=i;i=e+56|0;o[i>>2]=d;d=e+60|0;o[d>>2]=p;p=e+64|0;o[p>>2]=A;A=e+68|0;o[A>>2]=E;E=e+72|0;o[E>>2]=x;x=e+76|0;o[x>>2]=q;q=e+80|0;Xr(q,e,n);Xr(X,X,n+40|0);O=e+120|0;Xr(O,n+80|0,t+120|0);C=o[t+80>>2]<<1;R=o[t+84>>2]<<1;S=o[t+88>>2]<<1;w=o[t+92>>2]<<1;_=o[t+96>>2]<<1;g=o[t+100>>2]<<1;h=o[t+104>>2]<<1;u=o[t+108>>2]<<1;a=o[t+112>>2]<<1;r=o[t+116>>2]<<1;J=o[q>>2]|0;F=e+84|0;W=o[F>>2]|0;L=e+88|0;H=o[L>>2]|0;U=e+92|0;t=o[U>>2]|0;j=e+96|0;s=o[j>>2]|0;N=e+100|0;c=o[N>>2]|0;B=e+104|0;m=o[B>>2]|0;D=e+108|0;y=o[D>>2]|0;M=e+112|0;k=o[M>>2]|0;P=e+116|0;I=o[P>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[K>>2]|0;n=o[i>>2]|0;f=o[d>>2]|0;l=o[p>>2]|0;b=o[A>>2]|0;v=o[E>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=t-z;o[ie>>2]=s-n;o[re>>2]=c-f;o[ne>>2]=m-l;o[te>>2]=y-b;o[ee>>2]=k-v;o[$>>2]=I-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[K>>2]=z+t;o[i>>2]=n+s;o[d>>2]=f+c;o[p>>2]=l+m;o[A>>2]=b+y;o[E>>2]=v+k;o[x>>2]=T+I;x=o[O>>2]|0;I=e+124|0;T=o[I>>2]|0;E=e+128|0;k=o[E>>2]|0;v=e+132|0;A=o[v>>2]|0;y=e+136|0;b=o[y>>2]|0;p=e+140|0;m=o[p>>2]|0;l=e+144|0;d=o[l>>2]|0;c=e+148|0;f=o[c>>2]|0;i=e+152|0;s=o[i>>2]|0;n=e+156|0;t=o[n>>2]|0;o[q>>2]=x+C;o[F>>2]=T+R;o[L>>2]=k+S;o[U>>2]=A+w;o[j>>2]=b+_;o[N>>2]=m+g;o[B>>2]=d+h;o[D>>2]=f+u;o[M>>2]=s+a;o[P>>2]=t+r;o[O>>2]=C-x;o[I>>2]=R-T;o[E>>2]=S-k;o[v>>2]=w-A;o[y>>2]=_-b;o[p>>2]=g-m;o[l>>2]=h-d;o[c>>2]=u-f;o[i>>2]=a-s;o[n>>2]=r-t;return}function fi(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;c=t+44|0;l=t+48|0;p=t+52|0;y=t+56|0;v=t+60|0;E=t+64|0;I=t+68|0;O=t+72|0;R=t+76|0;G=t+4|0;q=t+8|0;r=t+12|0;d=t+16|0;h=t+20|0;A=t+24|0;w=t+28|0;x=t+32|0;F=t+36|0;se=(o[G>>2]|0)+(o[c>>2]|0)|0;oe=(o[q>>2]|0)+(o[l>>2]|0)|0;ie=(o[r>>2]|0)+(o[p>>2]|0)|0;re=(o[d>>2]|0)+(o[y>>2]|0)|0;ne=(o[h>>2]|0)+(o[v>>2]|0)|0;te=(o[A>>2]|0)+(o[E>>2]|0)|0;ee=(o[w>>2]|0)+(o[I>>2]|0)|0;$=(o[x>>2]|0)+(o[O>>2]|0)|0;X=(o[F>>2]|0)+(o[R>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[c>>2]|0)-(o[G>>2]|0)|0;q=(o[l>>2]|0)-(o[q>>2]|0)|0;r=(o[p>>2]|0)-(o[r>>2]|0)|0;d=(o[y>>2]|0)-(o[d>>2]|0)|0;h=(o[v>>2]|0)-(o[h>>2]|0)|0;A=(o[E>>2]|0)-(o[A>>2]|0)|0;w=(o[I>>2]|0)-(o[w>>2]|0)|0;x=(o[O>>2]|0)-(o[x>>2]|0)|0;F=(o[R>>2]|0)-(o[F>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=q;q=e+52|0;o[q>>2]=r;r=e+56|0;o[r>>2]=d;d=e+60|0;o[d>>2]=h;h=e+64|0;o[h>>2]=A;A=e+68|0;o[A>>2]=w;w=e+72|0;o[w>>2]=x;x=e+76|0;o[x>>2]=F;F=e+80|0;Xr(F,e,n+40|0);Xr(X,X,n);R=e+120|0;Xr(R,n+80|0,t+120|0);O=o[t+80>>2]<<1;I=o[t+84>>2]<<1;E=o[t+88>>2]<<1;v=o[t+92>>2]<<1;y=o[t+96>>2]<<1;p=o[t+100>>2]<<1;l=o[t+104>>2]<<1;c=o[t+108>>2]<<1;i=o[t+112>>2]<<1;t=o[t+116>>2]<<1;J=o[F>>2]|0;L=e+84|0;W=o[L>>2]|0;U=e+88|0;H=o[U>>2]|0;j=e+92|0;K=o[j>>2]|0;N=e+96|0;s=o[N>>2]|0;B=e+100|0;a=o[B>>2]|0;D=e+104|0;m=o[D>>2]|0;M=e+108|0;g=o[M>>2]|0;P=e+112|0;k=o[P>>2]|0;C=e+116|0;S=o[C>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[q>>2]|0;n=o[r>>2]|0;f=o[d>>2]|0;u=o[h>>2]|0;b=o[A>>2]|0;_=o[w>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=K-z;o[ie>>2]=s-n;o[re>>2]=a-f;o[ne>>2]=m-u;o[te>>2]=g-b;o[ee>>2]=k-_;o[$>>2]=S-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[q>>2]=z+K;o[r>>2]=n+s;o[d>>2]=f+a;o[h>>2]=u+m;o[A>>2]=b+g;o[w>>2]=_+k;o[x>>2]=T+S;x=o[R>>2]|0;S=e+124|0;T=o[S>>2]|0;w=e+128|0;k=o[w>>2]|0;_=e+132|0;A=o[_>>2]|0;g=e+136|0;b=o[g>>2]|0;h=e+140|0;m=o[h>>2]|0;u=e+144|0;d=o[u>>2]|0;a=e+148|0;f=o[a>>2]|0;r=e+152|0;s=o[r>>2]|0;n=e+156|0;e=o[n>>2]|0;o[F>>2]=O-x;o[L>>2]=I-T;o[U>>2]=E-k;o[j>>2]=v-A;o[N>>2]=y-b;o[B>>2]=p-m;o[D>>2]=l-d;o[M>>2]=c-f;o[P>>2]=i-s;o[C>>2]=t-e;o[R>>2]=x+O;o[S>>2]=T+I;o[w>>2]=k+E;o[_>>2]=A+v;o[g>>2]=b+y;o[h>>2]=m+p;o[u>>2]=d+l;o[a>>2]=f+c;o[r>>2]=s+i;o[n>>2]=e+t;return}function ui(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0;me=h;h=h+272|0;ue=me+240|0;le=me+192|0;c=me+144|0;f=me+96|0;de=me+48|0;he=me;pe=e+40|0;Qr(pe,t);u=e+80|0;o[u>>2]=1;a=e+84|0;n=a;i=n+36|0;do{o[n>>2]=0;n=n+4|0}while((n|0)<(i|0));Yr(le,pe);Xr(c,le,1248);te=le+4|0;ne=le+8|0;re=le+12|0;ie=le+16|0;oe=le+20|0;se=le+24|0;ae=le+28|0;ce=le+32|0;fe=le+36|0;x=o[u>>2]|0;O=o[a>>2]|0;T=o[e+88>>2]|0;S=o[e+92>>2]|0;E=o[e+96>>2]|0;A=o[e+100>>2]|0;i=o[e+104>>2]|0;ee=o[e+108>>2]|0;Z=o[e+112>>2]|0;X=o[e+116>>2]|0;_=(o[le>>2]|0)-x|0;v=(o[te>>2]|0)-O|0;u=(o[ne>>2]|0)-T|0;l=(o[re>>2]|0)-S|0;d=(o[ie>>2]|0)-E|0;p=(o[oe>>2]|0)-A|0;m=(o[se>>2]|0)-i|0;g=(o[ae>>2]|0)-ee|0;y=(o[ce>>2]|0)-Z|0;b=(o[fe>>2]|0)-X|0;o[le>>2]=_;o[te>>2]=v;o[ne>>2]=u;o[re>>2]=l;o[ie>>2]=d;o[oe>>2]=p;o[se>>2]=m;o[ae>>2]=g;o[ce>>2]=y;o[fe>>2]=b;R=c+4|0;I=c+8|0;k=c+12|0;w=c+16|0;a=c+20|0;n=c+24|0;$=c+28|0;J=c+32|0;Y=c+36|0;O=(o[R>>2]|0)+O|0;T=(o[I>>2]|0)+T|0;S=(o[k>>2]|0)+S|0;E=(o[w>>2]|0)+E|0;A=(o[a>>2]|0)+A|0;i=(o[n>>2]|0)+i|0;ee=(o[$>>2]|0)+ee|0;Z=(o[J>>2]|0)+Z|0;X=(o[Y>>2]|0)+X|0;o[c>>2]=(o[c>>2]|0)+x;o[R>>2]=O;o[I>>2]=T;o[k>>2]=S;o[w>>2]=E;o[a>>2]=A;o[n>>2]=i;o[$>>2]=ee;o[J>>2]=Z;o[Y>>2]=X;Yr(f,c);Xr(f,f,c);Yr(e,f);Xr(e,e,c);Xr(e,e,le);Zr(e,e);Xr(e,e,f);Xr(e,e,le);Yr(de,e);Xr(de,de,c);Y=de+4|0;X=de+8|0;J=de+12|0;Z=de+16|0;$=de+20|0;ee=de+24|0;n=de+28|0;i=de+32|0;a=de+36|0;f=(o[Y>>2]|0)-v|0;u=(o[X>>2]|0)-u|0;l=(o[J>>2]|0)-l|0;d=(o[Z>>2]|0)-d|0;p=(o[$>>2]|0)-p|0;m=(o[ee>>2]|0)-m|0;g=(o[n>>2]|0)-g|0;y=(o[i>>2]|0)-y|0;b=(o[a>>2]|0)-b|0;o[he>>2]=(o[de>>2]|0)-_;c=he+4|0;o[c>>2]=f;f=he+8|0;o[f>>2]=u;u=he+12|0;o[u>>2]=l;l=he+16|0;o[l>>2]=d;d=he+20|0;o[d>>2]=p;p=he+24|0;o[p>>2]=m;m=he+28|0;o[m>>2]=g;g=he+32|0;o[g>>2]=y;y=he+36|0;o[y>>2]=b;Jr(ue,he);b=ue+1|0;_=ue+2|0;v=ue+3|0;A=ue+4|0;w=ue+5|0;E=ue+6|0;k=ue+7|0;S=ue+8|0;I=ue+9|0;T=ue+10|0;R=ue+11|0;O=ue+12|0;x=ue+13|0;C=ue+14|0;P=ue+15|0;M=ue+16|0;D=ue+17|0;B=ue+18|0;N=ue+19|0;j=ue+20|0;U=ue+21|0;L=ue+22|0;F=ue+23|0;q=ue+24|0;K=ue+25|0;z=ue+26|0;G=ue+27|0;H=ue+28|0;V=ue+29|0;Q=ue+30|0;W=ue+31|0;do{if((r[b>>0]|r[ue>>0]|r[_>>0]|r[v>>0]|r[A>>0]|r[w>>0]|r[E>>0]|r[k>>0]|r[S>>0]|r[I>>0]|r[T>>0]|r[R>>0]|r[O>>0]|r[x>>0]|r[C>>0]|r[P>>0]|r[M>>0]|r[D>>0]|r[B>>0]|r[N>>0]|r[j>>0]|r[U>>0]|r[L>>0]|r[F>>0]|r[q>>0]|r[K>>0]|r[z>>0]|r[G>>0]|r[H>>0]|r[V>>0]|r[Q>>0]|r[W>>0])<<24>>24){te=(o[te>>2]|0)+(o[Y>>2]|0)|0;ne=(o[ne>>2]|0)+(o[X>>2]|0)|0;re=(o[re>>2]|0)+(o[J>>2]|0)|0;ie=(o[ie>>2]|0)+(o[Z>>2]|0)|0;oe=(o[oe>>2]|0)+(o[$>>2]|0)|0;se=(o[se>>2]|0)+(o[ee>>2]|0)|0;ae=(o[ae>>2]|0)+(o[n>>2]|0)|0;ce=(o[ce>>2]|0)+(o[i>>2]|0)|0;fe=(o[fe>>2]|0)+(o[a>>2]|0)|0;o[he>>2]=(o[le>>2]|0)+(o[de>>2]|0);o[c>>2]=te;o[f>>2]=ne;o[u>>2]=re;o[l>>2]=ie;o[d>>2]=oe;o[p>>2]=se;o[m>>2]=ae;o[g>>2]=ce;o[y>>2]=fe;Jr(ue,he);if(!((r[b>>0]|r[ue>>0]|r[_>>0]|r[v>>0]|r[A>>0]|r[w>>0]|r[E>>0]|r[k>>0]|r[S>>0]|r[I>>0]|r[T>>0]|r[R>>0]|r[O>>0]|r[x>>0]|r[C>>0]|r[P>>0]|r[M>>0]|r[D>>0]|r[B>>0]|r[N>>0]|r[j>>0]|r[U>>0]|r[L>>0]|r[F>>0]|r[q>>0]|r[K>>0]|r[z>>0]|r[G>>0]|r[H>>0]|r[V>>0]|r[Q>>0]|r[W>>0])<<24>>24)){Xr(e,e,1296);break}else{pe=-1;h=me;return pe|0}}}while(0);Jr(ue,e);if(((s[t+31>>0]|0)>>>7|0)==(r[ue>>0]&1|0)){Z=e+4|0;ee=e+8|0;ne=e+12|0;ie=e+16|0;se=e+20|0;ce=e+24|0;t=e+28|0;le=e+32|0;he=e+36|0;J=0-(o[Z>>2]|0)|0;$=0-(o[ee>>2]|0)|0;te=0-(o[ne>>2]|0)|0;re=0-(o[ie>>2]|0)|0;oe=0-(o[se>>2]|0)|0;ae=0-(o[ce>>2]|0)|0;fe=0-(o[t>>2]|0)|0;ue=0-(o[le>>2]|0)|0;de=0-(o[he>>2]|0)|0;o[e>>2]=0-(o[e>>2]|0);o[Z>>2]=J;o[ee>>2]=$;o[ne>>2]=te;o[ie>>2]=re;o[se>>2]=oe;o[ce>>2]=ae;o[t>>2]=fe;o[le>>2]=ue;o[he>>2]=de}Xr(e+120|0,e,pe);pe=0;h=me;return pe|0}function li(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0;_=h;h=h+592|0;p=_+464|0;g=_;y=_+304|0;m=_+184|0;b=_+64|0;i=r[t>>0]|0;r[g>>0]=i&15;r[g+1>>0]=(i&255)>>>4;i=r[t+1>>0]|0;r[g+2>>0]=i&15;r[g+3>>0]=(i&255)>>>4;i=r[t+2>>0]|0;r[g+4>>0]=i&15;r[g+5>>0]=(i&255)>>>4;i=r[t+3>>0]|0;r[g+6>>0]=i&15;r[g+7>>0]=(i&255)>>>4;i=r[t+4>>0]|0;r[g+8>>0]=i&15;r[g+9>>0]=(i&255)>>>4;i=r[t+5>>0]|0;r[g+10>>0]=i&15;r[g+11>>0]=(i&255)>>>4;i=r[t+6>>0]|0;r[g+12>>0]=i&15;r[g+13>>0]=(i&255)>>>4;i=r[t+7>>0]|0;r[g+14>>0]=i&15;r[g+15>>0]=(i&255)>>>4;i=r[t+8>>0]|0;r[g+16>>0]=i&15;r[g+17>>0]=(i&255)>>>4;i=r[t+9>>0]|0;r[g+18>>0]=i&15;r[g+19>>0]=(i&255)>>>4;i=r[t+10>>0]|0;r[g+20>>0]=i&15;r[g+21>>0]=(i&255)>>>4;i=r[t+11>>0]|0;r[g+22>>0]=i&15;r[g+23>>0]=(i&255)>>>4;i=r[t+12>>0]|0;r[g+24>>0]=i&15;r[g+25>>0]=(i&255)>>>4;i=r[t+13>>0]|0;r[g+26>>0]=i&15;r[g+27>>0]=(i&255)>>>4;i=r[t+14>>0]|0;r[g+28>>0]=i&15;r[g+29>>0]=(i&255)>>>4;i=r[t+15>>0]|0;r[g+30>>0]=i&15;r[g+31>>0]=(i&255)>>>4;i=r[t+16>>0]|0;r[g+32>>0]=i&15;r[g+33>>0]=(i&255)>>>4;i=r[t+17>>0]|0;r[g+34>>0]=i&15;r[g+35>>0]=(i&255)>>>4;i=r[t+18>>0]|0;r[g+36>>0]=i&15;r[g+37>>0]=(i&255)>>>4;i=r[t+19>>0]|0;r[g+38>>0]=i&15;r[g+39>>0]=(i&255)>>>4;i=r[t+20>>0]|0;r[g+40>>0]=i&15;r[g+41>>0]=(i&255)>>>4;i=r[t+21>>0]|0;r[g+42>>0]=i&15;r[g+43>>0]=(i&255)>>>4;i=r[t+22>>0]|0;r[g+44>>0]=i&15;r[g+45>>0]=(i&255)>>>4;i=r[t+23>>0]|0;r[g+46>>0]=i&15;r[g+47>>0]=(i&255)>>>4;i=r[t+24>>0]|0;r[g+48>>0]=i&15;r[g+49>>0]=(i&255)>>>4;i=r[t+25>>0]|0;r[g+50>>0]=i&15;r[g+51>>0]=(i&255)>>>4;i=r[t+26>>0]|0;r[g+52>>0]=i&15;r[g+53>>0]=(i&255)>>>4;i=r[t+27>>0]|0;r[g+54>>0]=i&15;r[g+55>>0]=(i&255)>>>4;i=r[t+28>>0]|0;r[g+56>>0]=i&15;r[g+57>>0]=(i&255)>>>4;i=r[t+29>>0]|0;r[g+58>>0]=i&15;r[g+59>>0]=(i&255)>>>4;i=r[t+30>>0]|0;r[g+60>>0]=i&15;r[g+61>>0]=(i&255)>>>4;t=r[t+31>>0]|0;r[g+62>>0]=t&15;i=g+63|0;r[i>>0]=(t&255)>>>4;t=0;n=0;do{d=g+n|0;l=t+(s[d>>0]|0)|0;t=(l<<24)+134217728>>28;r[d>>0]=l-(t<<4);n=n+1|0}while((n|0)!=63);r[i>>0]=t+(s[i>>0]|0);t=e;n=t+40|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));l=e+40|0;o[l>>2]=1;f=e+44|0;t=f;n=t+36|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));d=e+80|0;o[d>>2]=1;u=e+84|0;t=u;n=t+76|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));n=y+120|0;i=y+40|0;a=y+80|0;c=e+120|0;t=1;do{di(b,t>>>1,r[g+t>>0]|0);ci(y,e,b);Xr(e,y,n);Xr(l,i,a);Xr(d,a,n);Xr(c,y,i);t=t+2|0}while(t>>>0<64);T=o[e+4>>2]|0;S=o[e+8>>2]|0;k=o[e+12>>2]|0;E=o[e+16>>2]|0;w=o[e+20>>2]|0;A=o[e+24>>2]|0;v=o[e+28>>2]|0;t=o[e+32>>2]|0;I=o[e+36>>2]|0;o[p>>2]=o[e>>2];o[p+4>>2]=T;o[p+8>>2]=S;o[p+12>>2]=k;o[p+16>>2]=E;o[p+20>>2]=w;o[p+24>>2]=A;o[p+28>>2]=v;o[p+32>>2]=t;o[p+36>>2]=I;I=o[f>>2]|0;t=o[e+48>>2]|0;f=o[e+52>>2]|0;v=o[e+56>>2]|0;A=o[e+60>>2]|0;w=o[e+64>>2]|0;E=o[e+68>>2]|0;k=o[e+72>>2]|0;S=o[e+76>>2]|0;o[p+40>>2]=o[l>>2];o[p+44>>2]=I;o[p+48>>2]=t;o[p+52>>2]=f;o[p+56>>2]=v;o[p+60>>2]=A;o[p+64>>2]=w;o[p+68>>2]=E;o[p+72>>2]=k;o[p+76>>2]=S;S=o[u>>2]|0;k=o[e+88>>2]|0;E=o[e+92>>2]|0;w=o[e+96>>2]|0;A=o[e+100>>2]|0;v=o[e+104>>2]|0;f=o[e+108>>2]|0;u=o[e+112>>2]|0;t=o[e+116>>2]|0;o[p+80>>2]=o[d>>2];o[p+84>>2]=S;o[p+88>>2]=k;o[p+92>>2]=E;o[p+96>>2]=w;o[p+100>>2]=A;o[p+104>>2]=v;o[p+108>>2]=f;o[p+112>>2]=u;o[p+116>>2]=t;si(y,p);Xr(m,y,n);p=m+40|0;Xr(p,i,a);t=m+80|0;Xr(t,a,n);si(y,m);Xr(m,y,n);Xr(p,i,a);Xr(t,a,n);si(y,m);Xr(m,y,n);Xr(p,i,a);Xr(t,a,n);si(y,m);Xr(e,y,n);Xr(l,i,a);Xr(d,a,n);Xr(c,y,i);t=0;do{di(b,t>>>1,r[g+t>>0]|0);ci(y,e,b);Xr(e,y,n);Xr(l,i,a);Xr(d,a,n);Xr(c,y,i);t=t+2|0}while(t>>>0<64);h=_;return}function di(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0;r=n<<24>>24;b=0-((n&255)>>>7&255)|0;n=r-((b&r)<<1)&255;o[e>>2]=1;r=e+4|0;_=r;v=_+36|0;do{o[_>>2]=0;_=_+4|0}while((_|0)<(v|0));i=e+40|0;o[i>>2]=1;s=e+44|0;a=e+80|0;c=ks((n^1)&255|0,0,-1,-1)|0;c=xs(c|0,I|0,63)|0;f=1344+(t*960|0)|0;u=e+8|0;l=e+12|0;d=e+16|0;h=e+20|0;p=e+24|0;m=e+28|0;g=e+32|0;y=e+36|0;_=s;v=_+76|0;do{o[_>>2]=0;_=_+4|0}while((_|0)<(v|0));ve=0-c|0;ye=o[1344+(t*960|0)+4>>2]&ve;ge=o[1344+(t*960|0)+8>>2]&ve;me=o[1344+(t*960|0)+12>>2]&ve;pe=o[1344+(t*960|0)+16>>2]&ve;he=o[1344+(t*960|0)+20>>2]&ve;de=o[1344+(t*960|0)+24>>2]&ve;le=o[1344+(t*960|0)+28>>2]&ve;ue=o[1344+(t*960|0)+32>>2]&ve;fe=o[1344+(t*960|0)+36>>2]&ve;be=(o[f>>2]^1)&ve^1;o[e>>2]=be;o[r>>2]=ye;o[u>>2]=ge;o[l>>2]=me;o[d>>2]=pe;o[h>>2]=he;o[p>>2]=de;o[m>>2]=le;o[g>>2]=ue;o[y>>2]=fe;ne=e+48|0;$=e+52|0;X=e+56|0;Q=e+60|0;G=e+64|0;q=e+68|0;U=e+72|0;B=e+76|0;oe=o[1344+(t*960|0)+44>>2]&ve;re=o[1344+(t*960|0)+48>>2]&ve;ee=o[1344+(t*960|0)+52>>2]&ve;J=o[1344+(t*960|0)+56>>2]&ve;W=o[1344+(t*960|0)+60>>2]&ve;H=o[1344+(t*960|0)+64>>2]&ve;K=o[1344+(t*960|0)+68>>2]&ve;L=o[1344+(t*960|0)+72>>2]&ve;N=o[1344+(t*960|0)+76>>2]&ve;ae=(o[1344+(t*960|0)+40>>2]^1)&ve^1;o[i>>2]=ae;o[s>>2]=oe;o[ne>>2]=re;o[$>>2]=ee;o[X>>2]=J;o[Q>>2]=W;o[G>>2]=H;o[q>>2]=K;o[U>>2]=L;o[B>>2]=N;D=o[a>>2]|0;P=e+84|0;M=o[P>>2]|0;x=e+88|0;C=o[x>>2]|0;R=e+92|0;O=o[R>>2]|0;S=e+96|0;T=o[S>>2]|0;E=e+100|0;k=o[E>>2]|0;A=e+104|0;w=o[A>>2]|0;c=e+108|0;Z=o[c>>2]|0;_=e+112|0;f=o[_>>2]|0;v=e+116|0;se=o[v>>2]|0;ie=(o[1344+(t*960|0)+84>>2]^M)&ve;te=(o[1344+(t*960|0)+88>>2]^C)&ve;Y=(o[1344+(t*960|0)+92>>2]^O)&ve;V=(o[1344+(t*960|0)+96>>2]^T)&ve;z=(o[1344+(t*960|0)+100>>2]^k)&ve;F=(o[1344+(t*960|0)+104>>2]^w)&ve;j=(o[1344+(t*960|0)+108>>2]^Z)&ve;ce=(o[1344+(t*960|0)+112>>2]^f)&ve;_e=(o[1344+(t*960|0)+116>>2]^se)&ve;D=(o[1344+(t*960|0)+80>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^2)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+124>>2]^ye)&_e;j=(o[1344+(t*960|0)+128>>2]^ge)&_e;F=(o[1344+(t*960|0)+132>>2]^me)&_e;z=(o[1344+(t*960|0)+136>>2]^pe)&_e;V=(o[1344+(t*960|0)+140>>2]^he)&_e;Y=(o[1344+(t*960|0)+144>>2]^de)&_e;te=(o[1344+(t*960|0)+148>>2]^le)&_e;ie=(o[1344+(t*960|0)+152>>2]^ue)&_e;ve=(o[1344+(t*960|0)+156>>2]^fe)&_e;be=(o[1344+(t*960|0)+120>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=te^le;o[m>>2]=le;ue=ie^ue;o[g>>2]=ue;fe=ve^fe;o[y>>2]=fe;ve=(o[1344+(t*960|0)+164>>2]^oe)&_e;ie=(o[1344+(t*960|0)+168>>2]^re)&_e;te=(o[1344+(t*960|0)+172>>2]^ee)&_e;Y=(o[1344+(t*960|0)+176>>2]^J)&_e;V=(o[1344+(t*960|0)+180>>2]^W)&_e;z=(o[1344+(t*960|0)+184>>2]^H)&_e;F=(o[1344+(t*960|0)+188>>2]^K)&_e;j=(o[1344+(t*960|0)+192>>2]^L)&_e;ce=(o[1344+(t*960|0)+196>>2]^N)&_e;ae=(o[1344+(t*960|0)+160>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ve^oe;o[s>>2]=oe;re=ie^re;o[ne>>2]=re;ee=te^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+204>>2]^M)&_e;j=(o[1344+(t*960|0)+208>>2]^C)&_e;F=(o[1344+(t*960|0)+212>>2]^O)&_e;z=(o[1344+(t*960|0)+216>>2]^T)&_e;V=(o[1344+(t*960|0)+220>>2]^k)&_e;Y=(o[1344+(t*960|0)+224>>2]^w)&_e;te=(o[1344+(t*960|0)+228>>2]^Z)&_e;ie=(o[1344+(t*960|0)+232>>2]^f)&_e;ve=(o[1344+(t*960|0)+236>>2]^se)&_e;D=(o[1344+(t*960|0)+200>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;Z=te^Z;o[c>>2]=Z;f=ie^f;o[_>>2]=f;se=ve^se;o[v>>2]=se;ve=ks((n^3)&255|0,0,-1,-1)|0;ve=xs(ve|0,I|0,63)|0;ve=0-ve|0;ie=(o[1344+(t*960|0)+244>>2]^ye)&ve;te=(o[1344+(t*960|0)+248>>2]^ge)&ve;Y=(o[1344+(t*960|0)+252>>2]^me)&ve;V=(o[1344+(t*960|0)+256>>2]^pe)&ve;z=(o[1344+(t*960|0)+260>>2]^he)&ve;F=(o[1344+(t*960|0)+264>>2]^de)&ve;j=(o[1344+(t*960|0)+268>>2]^le)&ve;ce=(o[1344+(t*960|0)+272>>2]^ue)&ve;_e=(o[1344+(t*960|0)+276>>2]^fe)&ve;be=(o[1344+(t*960|0)+240>>2]^be)&ve^be;o[e>>2]=be;ye=ie^ye;o[r>>2]=ye;ge=te^ge;o[u>>2]=ge;me=Y^me;o[l>>2]=me;pe=V^pe;o[d>>2]=pe;he=z^he;o[h>>2]=he;de=F^de;o[p>>2]=de;le=j^le;o[m>>2]=le;ue=ce^ue;o[g>>2]=ue;fe=_e^fe;o[y>>2]=fe;_e=(o[1344+(t*960|0)+284>>2]^oe)&ve;ce=(o[1344+(t*960|0)+288>>2]^re)&ve;j=(o[1344+(t*960|0)+292>>2]^ee)&ve;F=(o[1344+(t*960|0)+296>>2]^J)&ve;z=(o[1344+(t*960|0)+300>>2]^W)&ve;V=(o[1344+(t*960|0)+304>>2]^H)&ve;Y=(o[1344+(t*960|0)+308>>2]^K)&ve;te=(o[1344+(t*960|0)+312>>2]^L)&ve;ie=(o[1344+(t*960|0)+316>>2]^N)&ve;ae=(o[1344+(t*960|0)+280>>2]^ae)&ve^ae;o[i>>2]=ae;oe=_e^oe;o[s>>2]=oe;re=ce^re;o[ne>>2]=re;ee=j^ee;o[$>>2]=ee;J=F^J;o[X>>2]=J;W=z^W;o[Q>>2]=W;H=V^H;o[G>>2]=H;K=Y^K;o[q>>2]=K;L=te^L;o[U>>2]=L;N=ie^N;o[B>>2]=N;ie=(o[1344+(t*960|0)+324>>2]^M)&ve;te=(o[1344+(t*960|0)+328>>2]^C)&ve;Y=(o[1344+(t*960|0)+332>>2]^O)&ve;V=(o[1344+(t*960|0)+336>>2]^T)&ve;z=(o[1344+(t*960|0)+340>>2]^k)&ve;F=(o[1344+(t*960|0)+344>>2]^w)&ve;j=(o[1344+(t*960|0)+348>>2]^Z)&ve;ce=(o[1344+(t*960|0)+352>>2]^f)&ve;_e=(o[1344+(t*960|0)+356>>2]^se)&ve;D=(o[1344+(t*960|0)+320>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^4)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+364>>2]^ye)&_e;j=(o[1344+(t*960|0)+368>>2]^ge)&_e;F=(o[1344+(t*960|0)+372>>2]^me)&_e;z=(o[1344+(t*960|0)+376>>2]^pe)&_e;V=(o[1344+(t*960|0)+380>>2]^he)&_e;Y=(o[1344+(t*960|0)+384>>2]^de)&_e;te=(o[1344+(t*960|0)+388>>2]^le)&_e;ie=(o[1344+(t*960|0)+392>>2]^ue)&_e;ve=(o[1344+(t*960|0)+396>>2]^fe)&_e;be=(o[1344+(t*960|0)+360>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=te^le;o[m>>2]=le;ue=ie^ue;o[g>>2]=ue;fe=ve^fe;o[y>>2]=fe;ve=(o[1344+(t*960|0)+404>>2]^oe)&_e;ie=(o[1344+(t*960|0)+408>>2]^re)&_e;te=(o[1344+(t*960|0)+412>>2]^ee)&_e;Y=(o[1344+(t*960|0)+416>>2]^J)&_e;V=(o[1344+(t*960|0)+420>>2]^W)&_e;z=(o[1344+(t*960|0)+424>>2]^H)&_e;F=(o[1344+(t*960|0)+428>>2]^K)&_e;j=(o[1344+(t*960|0)+432>>2]^L)&_e;ce=(o[1344+(t*960|0)+436>>2]^N)&_e;ae=(o[1344+(t*960|0)+400>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ve^oe;o[s>>2]=oe;re=ie^re;o[ne>>2]=re;ee=te^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+444>>2]^M)&_e;j=(o[1344+(t*960|0)+448>>2]^C)&_e;F=(o[1344+(t*960|0)+452>>2]^O)&_e;z=(o[1344+(t*960|0)+456>>2]^T)&_e;V=(o[1344+(t*960|0)+460>>2]^k)&_e;Y=(o[1344+(t*960|0)+464>>2]^w)&_e;te=(o[1344+(t*960|0)+468>>2]^Z)&_e;ie=(o[1344+(t*960|0)+472>>2]^f)&_e;ve=(o[1344+(t*960|0)+476>>2]^se)&_e;D=(o[1344+(t*960|0)+440>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;Z=te^Z;o[c>>2]=Z;f=ie^f;o[_>>2]=f;se=ve^se;o[v>>2]=se;ve=ks((n^5)&255|0,0,-1,-1)|0;ve=xs(ve|0,I|0,63)|0;ve=0-ve|0;ie=(o[1344+(t*960|0)+484>>2]^ye)&ve;te=(o[1344+(t*960|0)+488>>2]^ge)&ve;Y=(o[1344+(t*960|0)+492>>2]^me)&ve;V=(o[1344+(t*960|0)+496>>2]^pe)&ve;z=(o[1344+(t*960|0)+500>>2]^he)&ve;F=(o[1344+(t*960|0)+504>>2]^de)&ve;j=(o[1344+(t*960|0)+508>>2]^le)&ve;ce=(o[1344+(t*960|0)+512>>2]^ue)&ve;_e=(o[1344+(t*960|0)+516>>2]^fe)&ve;be=(o[1344+(t*960|0)+480>>2]^be)&ve^be;o[e>>2]=be;ye=ie^ye;o[r>>2]=ye;ge=te^ge;o[u>>2]=ge;me=Y^me;o[l>>2]=me;pe=V^pe;o[d>>2]=pe;he=z^he;o[h>>2]=he;de=F^de;o[p>>2]=de;le=j^le;o[m>>2]=le;ue=ce^ue;o[g>>2]=ue;fe=_e^fe;o[y>>2]=fe;_e=(o[1344+(t*960|0)+524>>2]^oe)&ve;ce=(o[1344+(t*960|0)+528>>2]^re)&ve;j=(o[1344+(t*960|0)+532>>2]^ee)&ve;F=(o[1344+(t*960|0)+536>>2]^J)&ve;z=(o[1344+(t*960|0)+540>>2]^W)&ve;V=(o[1344+(t*960|0)+544>>2]^H)&ve;Y=(o[1344+(t*960|0)+548>>2]^K)&ve;te=(o[1344+(t*960|0)+552>>2]^L)&ve;ie=(o[1344+(t*960|0)+556>>2]^N)&ve;ae=(o[1344+(t*960|0)+520>>2]^ae)&ve^ae;o[i>>2]=ae;oe=_e^oe;o[s>>2]=oe;re=ce^re;o[ne>>2]=re;ee=j^ee;o[$>>2]=ee;J=F^J;o[X>>2]=J;W=z^W;o[Q>>2]=W;H=V^H;o[G>>2]=H;K=Y^K;o[q>>2]=K;L=te^L;o[U>>2]=L;N=ie^N;o[B>>2]=N;ie=(o[1344+(t*960|0)+564>>2]^M)&ve;te=(o[1344+(t*960|0)+568>>2]^C)&ve;Y=(o[1344+(t*960|0)+572>>2]^O)&ve;V=(o[1344+(t*960|0)+576>>2]^T)&ve;z=(o[1344+(t*960|0)+580>>2]^k)&ve;F=(o[1344+(t*960|0)+584>>2]^w)&ve;j=(o[1344+(t*960|0)+588>>2]^Z)&ve;ce=(o[1344+(t*960|0)+592>>2]^f)&ve;_e=(o[1344+(t*960|0)+596>>2]^se)&ve;D=(o[1344+(t*960|0)+560>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^6)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+604>>2]^ye)&_e;j=(o[1344+(t*960|0)+608>>2]^ge)&_e;F=(o[1344+(t*960|0)+612>>2]^me)&_e;z=(o[1344+(t*960|0)+616>>2]^pe)&_e;V=(o[1344+(t*960|0)+620>>2]^he)&_e;Y=(o[1344+(t*960|0)+624>>2]^de)&_e;te=(o[1344+(t*960|0)+628>>2]^le)&_e;ie=(o[1344+(t*960|0)+632>>2]^ue)&_e;ve=(o[1344+(t*960|0)+636>>2]^fe)&_e;be=(o[1344+(t*960|0)+600>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=te^le;o[m>>2]=le;ue=ie^ue;o[g>>2]=ue;fe=ve^fe;o[y>>2]=fe;ve=(o[1344+(t*960|0)+644>>2]^oe)&_e;ie=(o[1344+(t*960|0)+648>>2]^re)&_e;te=(o[1344+(t*960|0)+652>>2]^ee)&_e;Y=(o[1344+(t*960|0)+656>>2]^J)&_e;V=(o[1344+(t*960|0)+660>>2]^W)&_e;z=(o[1344+(t*960|0)+664>>2]^H)&_e;F=(o[1344+(t*960|0)+668>>2]^K)&_e;j=(o[1344+(t*960|0)+672>>2]^L)&_e;ce=(o[1344+(t*960|0)+676>>2]^N)&_e;ae=(o[1344+(t*960|0)+640>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ve^oe;o[s>>2]=oe;re=ie^re;o[ne>>2]=re;ee=te^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+684>>2]^M)&_e;j=(o[1344+(t*960|0)+688>>2]^C)&_e;F=(o[1344+(t*960|0)+692>>2]^O)&_e;z=(o[1344+(t*960|0)+696>>2]^T)&_e;V=(o[1344+(t*960|0)+700>>2]^k)&_e;Y=(o[1344+(t*960|0)+704>>2]^w)&_e;te=(o[1344+(t*960|0)+708>>2]^Z)&_e;ie=(o[1344+(t*960|0)+712>>2]^f)&_e;ve=(o[1344+(t*960|0)+716>>2]^se)&_e;D=(o[1344+(t*960|0)+680>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;Z=te^Z;o[c>>2]=Z;f=ie^f;o[_>>2]=f;se=ve^se;o[v>>2]=se;ve=ks((n^7)&255|0,0,-1,-1)|0;ve=xs(ve|0,I|0,63)|0;ve=0-ve|0;ie=(o[1344+(t*960|0)+724>>2]^ye)&ve;te=(o[1344+(t*960|0)+728>>2]^ge)&ve;Y=(o[1344+(t*960|0)+732>>2]^me)&ve;V=(o[1344+(t*960|0)+736>>2]^pe)&ve;z=(o[1344+(t*960|0)+740>>2]^he)&ve;F=(o[1344+(t*960|0)+744>>2]^de)&ve;j=(o[1344+(t*960|0)+748>>2]^le)&ve;ce=(o[1344+(t*960|0)+752>>2]^ue)&ve;_e=(o[1344+(t*960|0)+756>>2]^fe)&ve;be=(o[1344+(t*960|0)+720>>2]^be)&ve^be;o[e>>2]=be;ye=ie^ye;o[r>>2]=ye;ge=te^ge;o[u>>2]=ge;me=Y^me;o[l>>2]=me;pe=V^pe;o[d>>2]=pe;he=z^he;o[h>>2]=he;de=F^de;o[p>>2]=de;le=j^le;o[m>>2]=le;ue=ce^ue;o[g>>2]=ue;fe=_e^fe;o[y>>2]=fe;_e=(o[1344+(t*960|0)+764>>2]^oe)&ve;ce=(o[1344+(t*960|0)+768>>2]^re)&ve;j=(o[1344+(t*960|0)+772>>2]^ee)&ve;F=(o[1344+(t*960|0)+776>>2]^J)&ve;z=(o[1344+(t*960|0)+780>>2]^W)&ve;V=(o[1344+(t*960|0)+784>>2]^H)&ve;Y=(o[1344+(t*960|0)+788>>2]^K)&ve;te=(o[1344+(t*960|0)+792>>2]^L)&ve;ie=(o[1344+(t*960|0)+796>>2]^N)&ve;ae=(o[1344+(t*960|0)+760>>2]^ae)&ve^ae;o[i>>2]=ae;oe=_e^oe;o[s>>2]=oe;re=ce^re;o[ne>>2]=re;ee=j^ee;o[$>>2]=ee;J=F^J;o[X>>2]=J;W=z^W;o[Q>>2]=W;H=V^H;o[G>>2]=H;K=Y^K;o[q>>2]=K;L=te^L;o[U>>2]=L;N=ie^N;o[B>>2]=N;ie=(o[1344+(t*960|0)+804>>2]^M)&ve;te=(o[1344+(t*960|0)+808>>2]^C)&ve;Y=(o[1344+(t*960|0)+812>>2]^O)&ve;V=(o[1344+(t*960|0)+816>>2]^T)&ve;z=(o[1344+(t*960|0)+820>>2]^k)&ve;F=(o[1344+(t*960|0)+824>>2]^w)&ve;j=(o[1344+(t*960|0)+828>>2]^Z)&ve;ce=(o[1344+(t*960|0)+832>>2]^f)&ve;_e=(o[1344+(t*960|0)+836>>2]^se)&ve;D=(o[1344+(t*960|0)+800>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^8)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+844>>2]^ye)&_e;j=(o[1344+(t*960|0)+848>>2]^ge)&_e;F=(o[1344+(t*960|0)+852>>2]^me)&_e;z=(o[1344+(t*960|0)+856>>2]^pe)&_e;V=(o[1344+(t*960|0)+860>>2]^he)&_e;Y=(o[1344+(t*960|0)+864>>2]^de)&_e;n=(o[1344+(t*960|0)+868>>2]^le)&_e;te=(o[1344+(t*960|0)+872>>2]^ue)&_e;ie=(o[1344+(t*960|0)+876>>2]^fe)&_e;be=(o[1344+(t*960|0)+840>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=n^le;o[m>>2]=le;ue=te^ue;o[g>>2]=ue;fe=ie^fe;o[y>>2]=fe;ie=(o[1344+(t*960|0)+884>>2]^oe)&_e;te=(o[1344+(t*960|0)+888>>2]^re)&_e;n=(o[1344+(t*960|0)+892>>2]^ee)&_e;Y=(o[1344+(t*960|0)+896>>2]^J)&_e;V=(o[1344+(t*960|0)+900>>2]^W)&_e;z=(o[1344+(t*960|0)+904>>2]^H)&_e;F=(o[1344+(t*960|0)+908>>2]^K)&_e;j=(o[1344+(t*960|0)+912>>2]^L)&_e;ce=(o[1344+(t*960|0)+916>>2]^N)&_e;ae=(o[1344+(t*960|0)+880>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ie^oe;o[s>>2]=oe;re=te^re;o[ne>>2]=re;ee=n^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+924>>2]^M)&_e;j=(o[1344+(t*960|0)+928>>2]^C)&_e;F=(o[1344+(t*960|0)+932>>2]^O)&_e;z=(o[1344+(t*960|0)+936>>2]^T)&_e;V=(o[1344+(t*960|0)+940>>2]^k)&_e;Y=(o[1344+(t*960|0)+944>>2]^w)&_e;n=(o[1344+(t*960|0)+948>>2]^Z)&_e;te=(o[1344+(t*960|0)+952>>2]^f)&_e;ie=(o[1344+(t*960|0)+956>>2]^se)&_e;D=(o[1344+(t*960|0)+920>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;n=n^Z;o[c>>2]=n;f=te^f;o[_>>2]=f;t=ie^se;o[v>>2]=t;se=o[r>>2]|0;ie=o[u>>2]|0;te=o[l>>2]|0;Z=o[d>>2]|0;Y=o[h>>2]|0;V=o[p>>2]|0;z=o[m>>2]|0;F=o[g>>2]|0;j=o[y>>2]|0;ce=(ae^be)&b;o[e>>2]=ce^be;o[r>>2]=(oe^ye)&b^ye;o[u>>2]=(re^ge)&b^ge;o[l>>2]=(ee^me)&b^me;o[d>>2]=(J^pe)&b^pe;o[h>>2]=(W^he)&b^he;o[p>>2]=(H^de)&b^de;o[m>>2]=(K^le)&b^le;o[g>>2]=(L^ue)&b^ue;o[y>>2]=(N^fe)&b^fe;o[i>>2]=ce^ae;o[s>>2]=(se^oe)&b^oe;o[ne>>2]=(ie^re)&b^re;o[$>>2]=(te^ee)&b^ee;o[X>>2]=(Z^J)&b^J;o[Q>>2]=(Y^W)&b^W;o[G>>2]=(V^H)&b^H;o[q>>2]=(z^K)&b^K;o[U>>2]=(F^L)&b^L;o[B>>2]=(j^N)&b^N;o[a>>2]=(D^0-D)&b^D;o[P>>2]=(M^0-M)&b^M;o[x>>2]=(C^0-C)&b^C;o[R>>2]=(O^0-O)&b^O;o[S>>2]=(T^0-T)&b^T;o[E>>2]=(k^0-k)&b^k;o[A>>2]=(w^0-w)&b^w;o[c>>2]=(n^0-n)&b^n;o[_>>2]=(f^0-f)&b^f;o[v>>2]=(t^0-t)&b^t;return}function hi(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0,c=0,f=0;i=h;h=h+336|0;o=i+144|0;c=i+96|0;s=i+48|0;a=i;f=i+176|0;pi(n,32,t)|0;r[t>>0]=r[t>>0]&-8;n=t+31|0;r[n>>0]=r[n>>0]&63|64;li(f,t);Wr(c,f+80|0);Xr(s,f,c);Xr(a,f+40|0,c);Jr(e,a);Jr(o,s);n=e+31|0;r[n>>0]=r[n>>0]^r[o>>0]<<7&255;h=i;return}function pi(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0;l=h;h=h+208|0;c=l;f=c+72|0;o[f>>2]=0;u=c;o[u>>2]=0;o[u+4>>2]=0;u=c+8|0;o[u>>2]=-205731576;o[u+4>>2]=1779033703;u=c+16|0;o[u>>2]=-2067093701;o[u+4>>2]=-1150833019;u=c+24|0;o[u>>2]=-23791573;o[u+4>>2]=1013904242;u=c+32|0;o[u>>2]=1595750129;o[u+4>>2]=-1521486534;u=c+40|0;o[u>>2]=-1377402159;o[u+4>>2]=1359893119;u=c+48|0;o[u>>2]=725511199;o[u+4>>2]=-1694144372;u=c+56|0;o[u>>2]=-79577749;o[u+4>>2]=528734635;u=c+64|0;o[u>>2]=327033209;o[u+4>>2]=1541459225;if(!e){u=1;h=l;return u|0}e:do{if(t|0){u=c+76|0;s=0;while(1){if(!((s|0)==0&t>>>0>127)){a=128-s|0;a=t>>>0>>0?t:a;if(a|0){i=0;do{r[i+s+(c+76)>>0]=r[e+i>>0]|0;i=i+1|0}while(i>>>0>>0)}s=s+a|0;o[f>>2]=s;e=e+a|0;t=t-a|0;if((s|0)==128){mi(c,u);s=c;s=ks(o[s>>2]|0,o[s+4>>2]|0,1024,0)|0;a=c;o[a>>2]=s;o[a+4>>2]=I;o[f>>2]=0}}else{mi(c,e);s=c;s=ks(o[s>>2]|0,o[s+4>>2]|0,1024,0)|0;a=c;o[a>>2]=s;o[a+4>>2]=I;t=t+-128|0;e=e+128|0}if(!t)break e;s=o[f>>2]|0}}}while(0);u=gi(c,n)|0;h=l;return u|0}function mi(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0;E=h;h=h+704|0;a=E+640|0;A=E;w=e+8|0;n=a;r=w;i=n+64|0;do{o[n>>2]=o[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(i|0));n=0;do{b=t+(n<<3)|0;d=Cs(s[b>>0]|0|0,0,56)|0;_=I;l=Cs(s[b+1>>0]|0|0,0,48)|0;_=I|_;p=Cs(s[b+2>>0]|0|0,0,40)|0;_=_|I|(s[b+3>>0]|0);m=Cs(s[b+4>>0]|0|0,0,24)|0;_=_|I;g=Cs(s[b+5>>0]|0|0,0,16)|0;_=_|I;y=Cs(s[b+6>>0]|0|0,0,8)|0;v=A+(n<<3)|0;o[v>>2]=l|d|p|m|g|y|(s[b+7>>0]|0);o[v+4>>2]=_|I;n=n+1|0}while((n|0)!=16);i=A;n=16;r=o[i>>2]|0;i=o[i+4>>2]|0;do{u=A+(n+-2<<3)|0;k=o[u>>2]|0;u=o[u+4>>2]|0;l=xs(k|0,u|0,19)|0;p=I;d=Cs(k|0,u|0,45)|0;p=p|I;c=xs(k|0,u|0,61)|0;t=I;f=Cs(k|0,u|0,3)|0;t=t|I;u=xs(k|0,u|0,6)|0;p=t^I^p;t=A+(n+-7<<3)|0;k=o[t>>2]|0;t=o[t+4>>2]|0;b=A+(n+-15<<3)|0;T=r;r=o[b>>2]|0;S=i;i=o[b+4>>2]|0;b=xs(r|0,i|0,1)|0;_=I;v=Cs(r|0,i|0,63)|0;_=_|I;m=xs(r|0,i|0,8)|0;R=I;g=Cs(r|0,i|0,56)|0;R=R|I;y=xs(r|0,i|0,7)|0;_=R^I^_;t=ks(T|0,S|0,k|0,t|0)|0;p=ks(t|0,I|0,(c|f)^u^(l|d)|0,p|0)|0;_=ks(p|0,I|0,(m|g)^y^(b|v)|0,_|0)|0;v=A+(n<<3)|0;o[v>>2]=_;o[v+4>>2]=I;n=n+1|0}while((n|0)!=80);l=a+56|0;i=a+32|0;c=a+48|0;f=a+40|0;p=a;g=a+8|0;b=a+16|0;v=a+24|0;n=0;r=o[i>>2]|0;i=o[i+4>>2]|0;t=o[c>>2]|0;a=o[f>>2]|0;c=o[c+4>>2]|0;f=o[f+4>>2]|0;u=o[l>>2]|0;l=o[l+4>>2]|0;d=o[p>>2]|0;p=o[p+4>>2]|0;m=o[g>>2]|0;g=o[g+4>>2]|0;y=o[b>>2]|0;b=o[b+4>>2]|0;_=o[v>>2]|0;v=o[v+4>>2]|0;do{S=xs(r|0,i|0,14)|0;Q=I;T=Cs(r|0,i|0,50)|0;Q=Q|I;Y=xs(r|0,i|0,18)|0;K=I;L=Cs(r|0,i|0,46)|0;K=Q^(K|I);Q=xs(r|0,i|0,41)|0;V=I;B=Cs(r|0,i|0,23)|0;V=K^(V|I);K=32064+(n<<3)|0;C=A+(n<<3)|0;N=o[C>>2]|0;C=o[C+4>>2]|0;K=ks(o[K>>2]|0,o[K+4>>2]|0,u|0,l|0)|0;V=ks(K|0,I|0,(S|T)^(Y|L)^(Q|B)|0,V|0)|0;C=ks(V|0,I|0,N|0,C|0)|0;C=ks(C|0,I|0,(a^t)&r^t|0,(f^c)&i^c|0)|0;N=I;V=xs(d|0,p|0,28)|0;B=I;Q=Cs(d|0,p|0,36)|0;B=B|I;L=xs(d|0,p|0,34)|0;Y=I;T=Cs(d|0,p|0,30)|0;Y=B^(Y|I);B=xs(d|0,p|0,39)|0;S=I;K=Cs(d|0,p|0,25)|0;S=Y^(S|I);Y=ks(_|0,v|0,C|0,N|0)|0;F=I;N=ks((m|d)&y|m&d|0,(g|p)&b|g&p|0,C|0,N|0)|0;S=ks(N|0,I|0,(V|Q)^(L|T)^(B|K)|0,S|0)|0;K=I;B=xs(Y|0,F|0,14)|0;T=I;L=Cs(Y|0,F|0,50)|0;T=T|I;Q=xs(Y|0,F|0,18)|0;V=I;N=Cs(Y|0,F|0,46)|0;V=T^(V|I);T=xs(Y|0,F|0,41)|0;C=I;R=Cs(Y|0,F|0,23)|0;C=V^(C|I);V=n|1;H=32064+(V<<3)|0;M=o[H>>2]|0;H=o[H+4>>2]|0;V=A+(V<<3)|0;j=o[V>>2]|0;V=o[V+4>>2]|0;P=ks(Y&(a^r)^a|0,F&(f^i)^f|0,t|0,c|0)|0;H=ks(P|0,I|0,M|0,H|0)|0;V=ks(H|0,I|0,j|0,V|0)|0;C=ks(V|0,I|0,(B|L)^(Q|N)^(T|R)|0,C|0)|0;R=I;T=xs(S|0,K|0,28)|0;N=I;Q=Cs(S|0,K|0,36)|0;N=N|I;L=xs(S|0,K|0,34)|0;B=I;V=Cs(S|0,K|0,30)|0;B=N^(B|I);N=xs(S|0,K|0,39)|0;j=I;H=Cs(S|0,K|0,25)|0;j=ks((T|Q)^(L|V)^(N|H)|0,B^(j|I)|0,(S|d)&m|S&d|0,(K|p)&g|K&p|0)|0;B=I;H=ks(C|0,R|0,y|0,b|0)|0;N=I;R=ks(j|0,B|0,C|0,R|0)|0;C=I;B=xs(H|0,N|0,14)|0;j=I;V=Cs(H|0,N|0,50)|0;j=j|I;L=xs(H|0,N|0,18)|0;Q=I;T=Cs(H|0,N|0,46)|0;Q=j^(Q|I);j=xs(H|0,N|0,41)|0;M=I;P=Cs(H|0,N|0,23)|0;M=Q^(M|I);Q=n|2;q=32064+(Q<<3)|0;Q=A+(Q<<3)|0;D=o[Q>>2]|0;Q=o[Q+4>>2]|0;q=ks(o[q>>2]|0,o[q+4>>2]|0,a|0,f|0)|0;Q=ks(q|0,I|0,D|0,Q|0)|0;Q=ks(Q|0,I|0,H&(Y^r)^r|0,N&(F^i)^i|0)|0;M=ks(Q|0,I|0,(B|V)^(L|T)^(j|P)|0,M|0)|0;P=I;j=xs(R|0,C|0,28)|0;T=I;L=Cs(R|0,C|0,36)|0;T=T|I;V=xs(R|0,C|0,34)|0;B=I;Q=Cs(R|0,C|0,30)|0;B=T^(B|I);T=xs(R|0,C|0,39)|0;D=I;q=Cs(R|0,C|0,25)|0;D=ks((j|L)^(V|Q)^(T|q)|0,B^(D|I)|0,(R|S)&d|R&S|0,(C|K)&p|C&K|0)|0;B=I;q=ks(M|0,P|0,m|0,g|0)|0;T=I;P=ks(D|0,B|0,M|0,P|0)|0;M=I;B=xs(q|0,T|0,14)|0;D=I;Q=Cs(q|0,T|0,50)|0;D=D|I;V=xs(q|0,T|0,18)|0;L=I;j=Cs(q|0,T|0,46)|0;L=D^(L|I);D=xs(q|0,T|0,41)|0;O=I;x=Cs(q|0,T|0,23)|0;O=L^(O|I);L=n|3;U=32064+(L<<3)|0;L=A+(L<<3)|0;W=o[L>>2]|0;L=o[L+4>>2]|0;U=ks(o[U>>2]|0,o[U+4>>2]|0,r|0,i|0)|0;L=ks(U|0,I|0,W|0,L|0)|0;L=ks(L|0,I|0,q&(H^Y)^Y|0,T&(N^F)^F|0)|0;O=ks(L|0,I|0,(B|Q)^(V|j)^(D|x)|0,O|0)|0;x=I;D=xs(P|0,M|0,28)|0;j=I;V=Cs(P|0,M|0,36)|0;j=j|I;Q=xs(P|0,M|0,34)|0;B=I;L=Cs(P|0,M|0,30)|0;B=j^(B|I);j=xs(P|0,M|0,39)|0;W=I;U=Cs(P|0,M|0,25)|0;W=ks((D|V)^(Q|L)^(j|U)|0,B^(W|I)|0,(P|R)&S|P&R|0,(M|C)&K|M&C|0)|0;B=I;U=ks(O|0,x|0,d|0,p|0)|0;j=I;x=ks(W|0,B|0,O|0,x|0)|0;O=I;B=xs(U|0,j|0,14)|0;W=I;L=Cs(U|0,j|0,50)|0;W=W|I;Q=xs(U|0,j|0,18)|0;V=I;D=Cs(U|0,j|0,46)|0;V=W^(V|I);W=xs(U|0,j|0,41)|0;G=I;k=Cs(U|0,j|0,23)|0;G=V^(G|I);V=n|4;X=32064+(V<<3)|0;V=A+(V<<3)|0;z=o[V>>2]|0;V=o[V+4>>2]|0;F=ks(o[X>>2]|0,o[X+4>>2]|0,Y|0,F|0)|0;V=ks(F|0,I|0,z|0,V|0)|0;V=ks(V|0,I|0,U&(q^H)^H|0,j&(T^N)^N|0)|0;G=ks(V|0,I|0,(B|L)^(Q|D)^(W|k)|0,G|0)|0;k=I;W=xs(x|0,O|0,28)|0;D=I;Q=Cs(x|0,O|0,36)|0;D=D|I;L=xs(x|0,O|0,34)|0;B=I;V=Cs(x|0,O|0,30)|0;B=D^(B|I);D=xs(x|0,O|0,39)|0;z=I;F=Cs(x|0,O|0,25)|0;z=ks((W|Q)^(L|V)^(D|F)|0,B^(z|I)|0,(x|P)&R|x&P|0,(O|M)&C|O&M|0)|0;B=I;u=ks(G|0,k|0,S|0,K|0)|0;l=I;_=ks(z|0,B|0,G|0,k|0)|0;v=I;k=xs(u|0,l|0,14)|0;G=I;B=Cs(u|0,l|0,50)|0;G=G|I;z=xs(u|0,l|0,18)|0;K=I;S=Cs(u|0,l|0,46)|0;K=G^(K|I);G=xs(u|0,l|0,41)|0;F=I;D=Cs(u|0,l|0,23)|0;F=K^(F|I);K=n|5;V=32064+(K<<3)|0;K=A+(K<<3)|0;L=o[K>>2]|0;K=o[K+4>>2]|0;N=ks(o[V>>2]|0,o[V+4>>2]|0,H|0,N|0)|0;K=ks(N|0,I|0,L|0,K|0)|0;K=ks(K|0,I|0,u&(U^q)^q|0,l&(j^T)^T|0)|0;F=ks(K|0,I|0,(k|B)^(z|S)^(G|D)|0,F|0)|0;D=I;G=xs(_|0,v|0,28)|0;S=I;z=Cs(_|0,v|0,36)|0;S=S|I;B=xs(_|0,v|0,34)|0;k=I;K=Cs(_|0,v|0,30)|0;k=S^(k|I);S=xs(_|0,v|0,39)|0;L=I;N=Cs(_|0,v|0,25)|0;L=ks((G|z)^(B|K)^(S|N)|0,k^(L|I)|0,(_|x)&P|_&x|0,(v|O)&M|v&O|0)|0;k=I;t=ks(F|0,D|0,R|0,C|0)|0;c=I;y=ks(L|0,k|0,F|0,D|0)|0;b=I;D=xs(t|0,c|0,14)|0;F=I;k=Cs(t|0,c|0,50)|0;F=F|I;L=xs(t|0,c|0,18)|0;C=I;R=Cs(t|0,c|0,46)|0;C=F^(C|I);F=xs(t|0,c|0,41)|0;N=I;S=Cs(t|0,c|0,23)|0;N=C^(N|I);C=n|6;K=32064+(C<<3)|0;C=A+(C<<3)|0;B=o[C>>2]|0;C=o[C+4>>2]|0;T=ks(o[K>>2]|0,o[K+4>>2]|0,q|0,T|0)|0;C=ks(T|0,I|0,B|0,C|0)|0;C=ks(C|0,I|0,t&(u^U)^U|0,c&(l^j)^j|0)|0;N=ks(C|0,I|0,(D|k)^(L|R)^(F|S)|0,N|0)|0;S=I;F=xs(y|0,b|0,28)|0;R=I;L=Cs(y|0,b|0,36)|0;R=R|I;k=xs(y|0,b|0,34)|0;D=I;C=Cs(y|0,b|0,30)|0;D=R^(D|I);R=xs(y|0,b|0,39)|0;B=I;T=Cs(y|0,b|0,25)|0;B=ks((F|L)^(k|C)^(R|T)|0,D^(B|I)|0,(y|_)&x|y&_|0,(b|v)&O|b&v|0)|0;D=I;a=ks(N|0,S|0,P|0,M|0)|0;f=I;m=ks(B|0,D|0,N|0,S|0)|0;g=I;S=xs(a|0,f|0,14)|0;N=I;D=Cs(a|0,f|0,50)|0;N=N|I;B=xs(a|0,f|0,18)|0;M=I;P=Cs(a|0,f|0,46)|0;M=N^(M|I);N=xs(a|0,f|0,41)|0;T=I;R=Cs(a|0,f|0,23)|0;T=M^(T|I);M=n|7;C=32064+(M<<3)|0;M=A+(M<<3)|0;k=o[M>>2]|0;M=o[M+4>>2]|0;C=ks(U|0,j|0,o[C>>2]|0,o[C+4>>2]|0)|0;M=ks(C|0,I|0,k|0,M|0)|0;M=ks(M|0,I|0,a&(t^u)^u|0,f&(c^l)^l|0)|0;T=ks(M|0,I|0,(S|D)^(B|P)^(N|R)|0,T|0)|0;R=I;N=xs(m|0,g|0,28)|0;P=I;B=Cs(m|0,g|0,36)|0;P=P|I;D=xs(m|0,g|0,34)|0;S=I;M=Cs(m|0,g|0,30)|0;S=P^(S|I);P=xs(m|0,g|0,39)|0;k=I;C=Cs(m|0,g|0,25)|0;k=ks((N|B)^(D|M)^(P|C)|0,S^(k|I)|0,(m|y)&_|m&y|0,(g|b)&v|g&b|0)|0;S=I;r=ks(T|0,R|0,x|0,O|0)|0;i=I;d=ks(k|0,S|0,T|0,R|0)|0;p=I;n=n+8|0}while(n>>>0<80);Y=w;Y=ks(d|0,p|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;X=w;o[X>>2]=Y;o[X+4>>2]=I;X=e+16|0;Y=X;Y=ks(m|0,g|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+24|0;Y=X;Y=ks(y|0,b|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+32|0;Y=X;Y=ks(_|0,v|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+40|0;Y=X;Y=ks(r|0,i|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+48|0;Y=X;Y=ks(a|0,f|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+56|0;Y=X;Y=ks(t|0,c|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+64|0;Y=X;Y=ks(u|0,l|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;h=E;return}function gi(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,a=0;if((e|0)==0|(t|0)==0){s=1;return s|0}s=e+72|0;n=o[s>>2]|0;if(n>>>0>127){s=1;return s|0}a=Cs(n|0,0,3)|0;i=e;a=ks(o[i>>2]|0,o[i+4>>2]|0,a|0,I|0)|0;i=e;o[i>>2]=a;o[i+4>>2]=I;i=e+76|0;o[s>>2]=n+1;r[e+76+n>>0]=-128;n=o[s>>2]|0;if(n>>>0>112){if(n>>>0<128)do{o[s>>2]=n+1;r[e+76+n>>0]=0;n=o[s>>2]|0}while(n>>>0<128);mi(e,i);o[s>>2]=0;n=0}do{o[s>>2]=n+1;r[e+76+n>>0]=0;n=o[s>>2]|0}while(n>>>0<120);s=e;a=o[s>>2]|0;s=o[s+4>>2]|0;n=xs(a|0,s|0,56)|0;r[e+196>>0]=n;n=xs(a|0,s|0,48)|0;r[e+197>>0]=n;n=xs(a|0,s|0,40)|0;r[e+198>>0]=n;r[e+199>>0]=s;n=xs(a|0,s|0,24)|0;r[e+200>>0]=n;n=xs(a|0,s|0,16)|0;r[e+201>>0]=n;s=xs(a|0,s|0,8)|0;r[e+202>>0]=s;r[e+203>>0]=a;mi(e,i);a=e+8|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+1>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+2>>0]=s;r[t+3>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+4>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+5>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+6>>0]=s;r[t+7>>0]=o[a>>2];a=e+16|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+8>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+9>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+10>>0]=s;r[t+11>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+12>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+13>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+14>>0]=s;r[t+15>>0]=o[a>>2];a=e+24|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+16>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+17>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+18>>0]=s;r[t+19>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+20>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+21>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+22>>0]=s;r[t+23>>0]=o[a>>2];a=e+32|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+24>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+25>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+26>>0]=s;r[t+27>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+28>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+29>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+30>>0]=s;r[t+31>>0]=o[a>>2];a=e+40|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+32>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+33>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+34>>0]=s;r[t+35>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+36>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+37>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+38>>0]=s;r[t+39>>0]=o[a>>2];a=e+48|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+40>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+41>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+42>>0]=s;r[t+43>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+44>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+45>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+46>>0]=s;r[t+47>>0]=o[a>>2];a=e+56|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+48>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+49>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+50>>0]=s;r[t+51>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+52>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+53>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+54>>0]=s;r[t+55>>0]=o[a>>2];a=e+64|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+56>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+57>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+58>>0]=s;r[t+59>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+60>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+61>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+62>>0]=s;r[t+63>>0]=o[a>>2];a=0;return a|0}function yi(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0;k=h;h=h+768|0;y=k+240|0;b=k+192|0;_=k+144|0;A=k+96|0;w=k+32|0;E=k;d=k+272|0;p=k+600|0;m=k+480|0;if((s[e+63>>0]|0)>31){E=0;h=k;return E|0}if(ui(p,i)|0){E=0;h=k;return E|0}g=d+72|0;o[g>>2]=0;v=d;o[v>>2]=0;o[v+4>>2]=0;v=d+8|0;o[v>>2]=-205731576;o[v+4>>2]=1779033703;v=d+16|0;o[v>>2]=-2067093701;o[v+4>>2]=-1150833019;v=d+24|0;o[v>>2]=-23791573;o[v+4>>2]=1013904242;v=d+32|0;o[v>>2]=1595750129;o[v+4>>2]=-1521486534;v=d+40|0;o[v>>2]=-1377402159;o[v+4>>2]=1359893119;v=d+48|0;o[v>>2]=725511199;o[v+4>>2]=-1694144372;v=d+56|0;o[v>>2]=-79577749;o[v+4>>2]=528734635;v=d+64|0;o[v>>2]=327033209;o[v+4>>2]=1541459225;v=d+76|0;r[d+76>>0]=r[e>>0]|0;r[d+77>>0]=r[e+1>>0]|0;r[d+78>>0]=r[e+2>>0]|0;r[d+79>>0]=r[e+3>>0]|0;r[d+80>>0]=r[e+4>>0]|0;r[d+81>>0]=r[e+5>>0]|0;r[d+82>>0]=r[e+6>>0]|0;r[d+83>>0]=r[e+7>>0]|0;r[d+84>>0]=r[e+8>>0]|0;r[d+85>>0]=r[e+9>>0]|0;r[d+86>>0]=r[e+10>>0]|0;r[d+87>>0]=r[e+11>>0]|0;r[d+88>>0]=r[e+12>>0]|0;r[d+89>>0]=r[e+13>>0]|0;r[d+90>>0]=r[e+14>>0]|0;r[d+91>>0]=r[e+15>>0]|0;r[d+92>>0]=r[e+16>>0]|0;r[d+93>>0]=r[e+17>>0]|0;r[d+94>>0]=r[e+18>>0]|0;r[d+95>>0]=r[e+19>>0]|0;r[d+96>>0]=r[e+20>>0]|0;r[d+97>>0]=r[e+21>>0]|0;r[d+98>>0]=r[e+22>>0]|0;r[d+99>>0]=r[e+23>>0]|0;r[d+100>>0]=r[e+24>>0]|0;r[d+101>>0]=r[e+25>>0]|0;r[d+102>>0]=r[e+26>>0]|0;r[d+103>>0]=r[e+27>>0]|0;r[d+104>>0]=r[e+28>>0]|0;r[d+105>>0]=r[e+29>>0]|0;r[d+106>>0]=r[e+30>>0]|0;r[d+107>>0]=r[e+31>>0]|0;o[g>>2]=32;e:do{if(i|0?(f=o[g>>2]|0,f>>>0<=128):0){a=32;while(1){if(!((f|0)==0&a>>>0>127)){l=128-f|0;l=a>>>0>>0?a:l;if(l|0){u=0;do{r[u+f+(d+76)>>0]=r[i+u>>0]|0;u=u+1|0}while(u>>>0>>0)}u=f+l|0;o[g>>2]=u;i=i+l|0;a=a-l|0;if((u|0)==128){mi(d,v);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;o[g>>2]=0}}else{mi(d,i);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;a=a+-128|0;i=i+128|0}if(!a)break e;f=o[g>>2]|0}}}while(0);e:do{if(t|0?(c=o[g>>2]|0,!((n|0)==0|c>>>0>128)):0)while(1){if(!((c|0)==0&n>>>0>127)){i=128-c|0;i=n>>>0>>0?n:i;if(i|0){a=0;do{r[a+c+(d+76)>>0]=r[t+a>>0]|0;a=a+1|0}while(a>>>0>>0)}l=c+i|0;o[g>>2]=l;t=t+i|0;n=n-i|0;if((l|0)==128){mi(d,v);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;o[g>>2]=0}}else{mi(d,t);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;n=n+-128|0;t=t+128|0}if(!n)break e;c=o[g>>2]|0}}while(0);gi(d,w)|0;ei(w);ri(m,w,p,e+32|0);Wr(b,m+80|0);Xr(_,m,b);Xr(A,m+40|0,b);Jr(E,A);Jr(y,_);A=E+31|0;w=r[A>>0]^r[y>>0]<<7&255;r[A>>0]=w;E=(r[e+1>>0]^r[E+1>>0]|r[e>>0]^r[E>>0]|r[e+2>>0]^r[E+2>>0]|r[e+3>>0]^r[E+3>>0]|r[e+4>>0]^r[E+4>>0]|r[e+5>>0]^r[E+5>>0]|r[e+6>>0]^r[E+6>>0]|r[e+7>>0]^r[E+7>>0]|r[e+8>>0]^r[E+8>>0]|r[e+9>>0]^r[E+9>>0]|r[e+10>>0]^r[E+10>>0]|r[e+11>>0]^r[E+11>>0]|r[e+12>>0]^r[E+12>>0]|r[e+13>>0]^r[E+13>>0]|r[e+14>>0]^r[E+14>>0]|r[e+15>>0]^r[E+15>>0]|r[e+16>>0]^r[E+16>>0]|r[e+17>>0]^r[E+17>>0]|r[e+18>>0]^r[E+18>>0]|r[e+19>>0]^r[E+19>>0]|r[e+20>>0]^r[E+20>>0]|r[e+21>>0]^r[E+21>>0]|r[e+22>>0]^r[E+22>>0]|r[e+23>>0]^r[E+23>>0]|r[e+24>>0]^r[E+24>>0]|r[e+25>>0]^r[E+25>>0]|r[e+26>>0]^r[E+26>>0]|r[e+27>>0]^r[E+27>>0]|r[e+28>>0]^r[E+28>>0]|r[e+29>>0]^r[E+29>>0]|r[e+30>>0]^r[E+30>>0]|r[e+31>>0]^w)<<24>>24==0&1;h=k;return E|0}function bi(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0;D=h;h=h+672|0;w=D+272|0;k=D+224|0;S=D+176|0;T=D+128|0;M=D+304|0;O=D+64|0;x=D;p=D+512|0;C=M+72|0;o[C>>2]=0;m=M;o[m>>2]=0;o[m+4>>2]=0;m=M+8|0;g=m;o[g>>2]=-205731576;o[g+4>>2]=1779033703;g=M+16|0;y=g;o[y>>2]=-2067093701;o[y+4>>2]=-1150833019;y=M+24|0;b=y;o[b>>2]=-23791573;o[b+4>>2]=1013904242;b=M+32|0;_=b;o[_>>2]=1595750129;o[_+4>>2]=-1521486534;_=M+40|0;v=_;o[v>>2]=-1377402159;o[v+4>>2]=1359893119;v=M+48|0;A=v;o[A>>2]=725511199;o[A+4>>2]=-1694144372;A=M+56|0;E=A;o[E>>2]=-79577749;o[E+4>>2]=528734635;E=M+64|0;P=E;o[P>>2]=327033209;o[P+4>>2]=1541459225;P=M+76|0;r[M+76>>0]=r[s+32>>0]|0;r[M+77>>0]=r[s+33>>0]|0;r[M+78>>0]=r[s+34>>0]|0;r[M+79>>0]=r[s+35>>0]|0;r[M+80>>0]=r[s+36>>0]|0;r[M+81>>0]=r[s+37>>0]|0;r[M+82>>0]=r[s+38>>0]|0;r[M+83>>0]=r[s+39>>0]|0;r[M+84>>0]=r[s+40>>0]|0;r[M+85>>0]=r[s+41>>0]|0;r[M+86>>0]=r[s+42>>0]|0;r[M+87>>0]=r[s+43>>0]|0;r[M+88>>0]=r[s+44>>0]|0;r[M+89>>0]=r[s+45>>0]|0;r[M+90>>0]=r[s+46>>0]|0;r[M+91>>0]=r[s+47>>0]|0;r[M+92>>0]=r[s+48>>0]|0;r[M+93>>0]=r[s+49>>0]|0;r[M+94>>0]=r[s+50>>0]|0;r[M+95>>0]=r[s+51>>0]|0;r[M+96>>0]=r[s+52>>0]|0;r[M+97>>0]=r[s+53>>0]|0;r[M+98>>0]=r[s+54>>0]|0;r[M+99>>0]=r[s+55>>0]|0;r[M+100>>0]=r[s+56>>0]|0;r[M+101>>0]=r[s+57>>0]|0;r[M+102>>0]=r[s+58>>0]|0;r[M+103>>0]=r[s+59>>0]|0;r[M+104>>0]=r[s+60>>0]|0;r[M+105>>0]=r[s+61>>0]|0;r[M+106>>0]=r[s+62>>0]|0;r[M+107>>0]=r[s+63>>0]|0;o[C>>2]=32;R=(t|0)==0;e:do{if(!R?(u=o[C>>2]|0,!((n|0)==0|u>>>0>128)):0){a=n;c=t;while(1){if(!((u|0)==0&a>>>0>127)){d=128-u|0;d=a>>>0>>0?a:d;if(d|0){l=0;do{r[l+u+(M+76)>>0]=r[c+l>>0]|0;l=l+1|0}while(l>>>0>>0)}l=u+d|0;o[C>>2]=l;c=c+d|0;a=a-d|0;if((l|0)==128){mi(M,P);l=M;l=ks(o[l>>2]|0,o[l+4>>2]|0,1024,0)|0;d=M;o[d>>2]=l;o[d+4>>2]=I;o[C>>2]=0}}else{mi(M,c);l=M;l=ks(o[l>>2]|0,o[l+4>>2]|0,1024,0)|0;d=M;o[d>>2]=l;o[d+4>>2]=I;a=a+-128|0;c=c+128|0}if(!a)break e;u=o[C>>2]|0}}}while(0);gi(M,x)|0;ei(x);li(p,x);Wr(k,p+80|0);Xr(S,p,k);Xr(T,p+40|0,k);Jr(e,T);Jr(w,S);T=e+31|0;r[T>>0]=r[T>>0]^r[w>>0]<<7&255;o[C>>2]=0;T=M;o[T>>2]=0;o[T+4>>2]=0;T=m;o[T>>2]=-205731576;o[T+4>>2]=1779033703;T=g;o[T>>2]=-2067093701;o[T+4>>2]=-1150833019;T=y;o[T>>2]=-23791573;o[T+4>>2]=1013904242;T=b;o[T>>2]=1595750129;o[T+4>>2]=-1521486534;T=_;o[T>>2]=-1377402159;o[T+4>>2]=1359893119;T=v;o[T>>2]=725511199;o[T+4>>2]=-1694144372;T=A;o[T>>2]=-79577749;o[T+4>>2]=528734635;T=E;o[T>>2]=327033209;o[T+4>>2]=1541459225;if(e|0){r[M+76>>0]=r[e>>0]|0;r[M+77>>0]=r[e+1>>0]|0;r[M+78>>0]=r[e+2>>0]|0;r[M+79>>0]=r[e+3>>0]|0;r[M+80>>0]=r[e+4>>0]|0;r[M+81>>0]=r[e+5>>0]|0;r[M+82>>0]=r[e+6>>0]|0;r[M+83>>0]=r[e+7>>0]|0;r[M+84>>0]=r[e+8>>0]|0;r[M+85>>0]=r[e+9>>0]|0;r[M+86>>0]=r[e+10>>0]|0;r[M+87>>0]=r[e+11>>0]|0;r[M+88>>0]=r[e+12>>0]|0;r[M+89>>0]=r[e+13>>0]|0;r[M+90>>0]=r[e+14>>0]|0;r[M+91>>0]=r[e+15>>0]|0;r[M+92>>0]=r[e+16>>0]|0;r[M+93>>0]=r[e+17>>0]|0;r[M+94>>0]=r[e+18>>0]|0;r[M+95>>0]=r[e+19>>0]|0;r[M+96>>0]=r[e+20>>0]|0;r[M+97>>0]=r[e+21>>0]|0;r[M+98>>0]=r[e+22>>0]|0;r[M+99>>0]=r[e+23>>0]|0;r[M+100>>0]=r[e+24>>0]|0;r[M+101>>0]=r[e+25>>0]|0;r[M+102>>0]=r[e+26>>0]|0;r[M+103>>0]=r[e+27>>0]|0;r[M+104>>0]=r[e+28>>0]|0;r[M+105>>0]=r[e+29>>0]|0;r[M+106>>0]=r[e+30>>0]|0;r[M+107>>0]=r[e+31>>0]|0;o[C>>2]=32}e:do{if(i|0?(f=o[C>>2]|0,f>>>0<=128):0){a=32;while(1){if(!((f|0)==0&a>>>0>127)){u=128-f|0;u=a>>>0>>0?a:u;if(u|0){c=0;do{r[c+f+(M+76)>>0]=r[i+c>>0]|0;c=c+1|0}while(c>>>0>>0)}T=f+u|0;o[C>>2]=T;i=i+u|0;a=a-u|0;if((T|0)==128){mi(M,P);S=M;S=ks(o[S>>2]|0,o[S+4>>2]|0,1024,0)|0;T=M;o[T>>2]=S;o[T+4>>2]=I;o[C>>2]=0}}else{mi(M,i);S=M;S=ks(o[S>>2]|0,o[S+4>>2]|0,1024,0)|0;T=M;o[T>>2]=S;o[T+4>>2]=I;a=a+-128|0;i=i+128|0}if(!a)break e;f=o[C>>2]|0}}}while(0);if(R){gi(M,O)|0;ei(O);M=e+32|0;ti(M,O,s,x);h=D;return}a=o[C>>2]|0;if((n|0)==0|a>>>0>128){gi(M,O)|0;ei(O);M=e+32|0;ti(M,O,s,x);h=D;return}i=a;while(1){if(!((i|0)==0&n>>>0>127)){c=128-i|0;c=n>>>0>>0?n:c;if(c|0){a=0;do{r[a+i+(M+76)>>0]=r[t+a>>0]|0;a=a+1|0}while(a>>>0>>0)}R=i+c|0;o[C>>2]=R;t=t+c|0;n=n-c|0;if((R|0)==128){mi(M,P);T=M;T=ks(o[T>>2]|0,o[T+4>>2]|0,1024,0)|0;R=M;o[R>>2]=T;o[R+4>>2]=I;o[C>>2]=0}}else{mi(M,t);T=M;T=ks(o[T>>2]|0,o[T+4>>2]|0,1024,0)|0;R=M;o[R>>2]=T;o[R+4>>2]=I;n=n+-128|0;t=t+128|0}if(!n)break;i=o[C>>2]|0}gi(M,O)|0;ei(O);M=e+32|0;ti(M,O,s,x);h=D;return}function _i(e,t,n){e=e|0;t=t|0;n=n|0;o[e+128>>2]=n;n=t;t=e+128|0;do{r[e>>0]=r[n>>0]|0;e=e+1|0;n=n+1|0}while((e|0)<(t|0));return}function vi(e){e=e|0;return 132}function Ai(e,t){e=e|0;t=t|0;t=Fe(t,e,128)|0;return Ne(t,o[e+128>>2]|0)|0}function wi(e,t,n){e=e|0;t=t|0;n=n|0;return je(qe(t,n,e,128)|0,n,e+128|0)|0}function Ei(e){e=e|0;var t=0,n=0,r=0,i=0;r=e+128|0;i=(o[r>>2]|0)+1|0;o[r>>2]=i;if(i&16777215){n=0;r=16777215;while(1){t=n+1|0;r=r>>>8;if(n>>>0>2|(r&i|0)==0)break;else n=t}if(n>>>0>2)return}else t=0;r=e+(t<<5)|0;n=3;while(1){Et(r,32,38116+n|0,1,e+(n<<5)|0);if((n|0)>(t|0))n=n+-1|0;else break}return}function ki(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0;s=e+128|0;n=o[s>>2]|0;r=(t>>>24)-(n>>>24)|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=3}break}case 1:{i=5;break}default:{n=r&255;i=3}}if((i|0)==3){do{Et(e,32,38116,1,e);n=n+-1|0}while(n>>>0>1);i=5}if((i|0)==5){Et(e,32,38119,1,e+96|0);Et(e,32,38118,1,e+64|0);Et(e,32,38117,1,e+32|0);Et(e,32,38116,1,e);n=t&-16777216;o[s>>2]=n}r=(t>>>16)-(n>>>16)|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=8}break}case 1:{i=10;break}default:{n=r&255;i=8}}if((i|0)==8){r=e+32|0;do{Et(r,32,38117,1,r);n=n+-1|0}while(n>>>0>1);i=10}if((i|0)==10){n=e+32|0;Et(n,32,38119,1,e+96|0);Et(n,32,38118,1,e+64|0);Et(n,32,38117,1,e+32|0);n=t&-65536;o[s>>2]=n}r=(t>>>8)-(n>>>8)|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=13}break}case 1:{i=15;break}default:{n=r&255;i=13}}if((i|0)==13){r=e+64|0;do{Et(r,32,38118,1,r);n=n+-1|0}while(n>>>0>1);i=15}if((i|0)==15){n=e+64|0;Et(n,32,38119,1,e+96|0);Et(n,32,38118,1,e+64|0);n=t&-256;o[s>>2]=n}r=t-n|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=18}else return;break}case 1:break;default:{n=r&255;i=18}}if((i|0)==18){r=e+96|0;do{Et(r,32,38119,1,r);n=n+-1|0}while(n>>>0>1)}Et(e+96|0,32,38119,1,e+96|0);o[s>>2]=t;return}function Si(e){e=e|0;if(e>>>0>=16){e=38120;return e|0}e=o[32704+(e<<2)>>2]|0;return e|0}function Ii(e){e=e|0;e=Hs[o[37564>>2]&3](37592,e)|0;return pe((Gs[o[9390]&1](37592)|0)+e|0)|0}function Ti(e,t){e=e|0;t=t|0;t=Hs[o[37564>>2]&3](37592,t)|0;t=(Gs[o[9390]&1](37592)|0)+t|0;return e+(pe(t)|0)+(0-t)|0}function Ri(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,c=0;c=Hs[o[37564>>2]&3](37592,r)|0;s=(Gs[o[9390]&1](37592)|0)+c|0;i=pe(s)|0;a=n+i+(0-s)|0;Qs[o[37568>>2]&3](37592,e,t,a,r,a,c,a,s)|0;me(a,s,n)|0;return i|0}function Oi(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=ge(r)|0;if((s|0)==-1){if(!i){i=-1;return i|0}o[i>>2]=7;i=-1;return i|0}else{ye(n,r,n)|0;r=s-(Gs[o[9390]&1](37592)|0)|0;e=Qs[o[37576>>2]&3](37592,e,t,n,s,n,r,n,r)|0;if(!((i|0)!=0&(e|0)==-1)){i=e;return i|0}o[i>>2]=8;i=-1;return i|0}return 0}function xi(){return 304}function Ci(e){e=e|0;Gr(e,304);return e|0}function Pi(e){e=e|0;Gr(e,304);return 304}function Mi(e){e=e|0;return Si(o[e+300>>2]|0)|0}function Di(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,c=0,f=0;f=h;h=h+240|0;c=f;switch(ge(n)|0){case-1:{o[e+300>>2]=7;c=-1;h=f;return c|0}case 229:{ye(t,n,c)|0;do{if((r[c>>0]|0)==2){t=((s[c+1>>0]<<8|s[c+2>>0])<<8|s[c+3>>0])<<8|s[c+4>>0];n=c+5|0;_i(e,n,t);_i(e+132|0,n,t);t=e+264|0;n=t;i=c+133|0;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));if(!(bt(t,c,165,c+165|0)|0)){o[e+300>>2]=14;t=-1;break}else{o[e+296>>2]=1;t=0;break}}else{o[e+300>>2]=11;t=-1}}while(0);Gr(c,229);c=t;h=f;return c|0}default:{o[e+300>>2]=11;c=-1;h=f;return c|0}}return 0}function Bi(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0;a=h;h=h+176|0;i=a;switch(ge(n)|0){case-1:{o[e+300>>2]=7;i=-1;h=a;return i|0}case 165:{ye(t,n,i)|0;if((r[i>>0]|0)==1){t=((s[i+1>>0]<<8|s[i+2>>0])<<8|s[i+3>>0])<<8|s[i+4>>0];n=i+5|0;_i(e,n,t);_i(e+132|0,n,t);e=e+264|0;t=i+133|0;n=e+32|0;do{r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0}while((e|0)<(n|0));e=0}else{o[e+300>>2]=11;e=-1}Gr(i,165);i=e;h=a;return i|0}default:{o[e+300>>2]=11;i=-1;h=a;return i|0}}return 0}function Ni(e){e=e|0;var t=0,n=0;n=vi(e)|0;t=vi(e+132|0)|0;return Ii(n+5+t+(xe(e+264|0)|0)|0)|0}function ji(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0;f=vi(e)|0;a=e+132|0;s=vi(a)|0;c=e+264|0;s=f+5+s+(xe(c)|0)|0;if((Ii(s)|0)>>>0>i>>>0){o[e+300>>2]=2;f=-1;return f|0}else{f=Ce(Ai(a,Ai(e,Ne(Ti(r,s)|0,2)|0)|0)|0,c)|0;Ue(f,o[e+296>>2]|0)|0;f=Ri(t,n,r,s)|0;return f|0}return 0}function Ui(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0;f=h;h=h+16|0;a=f;c=e+300|0;t=Oi(t,n,r,i,c)|0;if((t|0)==-1){c=-1;h=f;return c|0}s=r+t|0;t=je(r,s,a)|0;if(((o[a>>2]|0)+-1|0)>>>0>1){o[c>>2]=9;c=-1;h=f;return c|0}t=Pe(wi(e+132|0,wi(e,t,s)|0,s)|0,s,e+264|0)|0;n=e+296|0;if((o[a>>2]|0)==1)o[n>>2]=1;else t=Le(t,s,n)|0;if((s|0)==(t|0)){c=i;h=f;return c|0}o[c>>2]=10;c=-1;h=f;return c|0}function Li(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0;s=h;h=h+32|0;i=s;n=ye(t,n,t)|0;if((n|0)==-1){o[e+300>>2]=7;i=-1;h=s;return i|0}Xe(t,n,Gs[o[o[9395]>>2]&1](37580)|0,64,i);do{if((r[i>>0]|0)==3)if(!(o[i+12>>2]|0)){o[e+300>>2]=4;n=-1;break}else{n=Hs[o[(o[9395]|0)+12>>2]&3](37580,o[i+16>>2]|0)|0;break}else{o[e+300>>2]=3;n=-1}}while(0);i=n;h=s;return i|0}function Fi(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var c=0,f=0,u=0,l=0,d=0,p=0;p=h;h=h+160|0;u=p+132|0;d=p;n=ye(t,n,t)|0;if((n|0)==-1){o[e+300>>2]=7;d=-1;h=p;return d|0}Xe(t,n,Gs[o[o[9395]>>2]&1](37580)|0,64,u);e:do{if((r[u>>0]|0)==3){if(o[u+8>>2]|0?(l=u+12|0,o[l>>2]|0):0){if(a|0)o[a>>2]=o[u+4>>2];c=n+-64|0;if(!(bt(e+264|0,t,c,t+c|0)|0)){o[e+300>>2]=14;n=-1;break}f=u+16|0;if((Hs[o[(o[9395]|0)+12>>2]&3](37580,o[f>>2]|0)|0)>>>0>s>>>0){o[e+300>>2]=2;n=-1;break}n=o[u+4>>2]|0;a=e+132|0;do{if((n-(o[e+260>>2]|0)|0)<=-1)if((n-(o[e+128>>2]|0)|0)<0){o[e+300>>2]=12;n=-1;break e}else{Ms(d|0,e|0,132)|0;ki(d,n);break}else{ki(a,n);Ms(d|0,a|0,132)|0}}while(0);n=Qs[o[(o[9395]|0)+16>>2]&3](37580,d,128,t,c,o[l>>2]|0,o[f>>2]|0,i,s)|0;Gr(d,132);if((n|0)==-1){o[e+300>>2]=5;n=-1;break}else{o[e+296>>2]=1;break}}o[e+300>>2]=4;n=-1}else{o[e+300>>2]=3;n=-1}}while(0);d=n;h=p;return d|0}function qi(e){e=e|0;return pe(32)|0}function Ki(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e+300>>2]=2;n=-1;return n|0}else{n=me(e+264|0,32,t)|0;return n|0}return 0}function zi(e){e=e|0;return o[e+128>>2]|0}function Gi(e){e=e|0;return o[e+296>>2]|0}function Hi(e){e=e|0;return pe(165)|0}function Vi(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0;u=h;h=h+144|0;f=u;s=pe(165)|0;if(s>>>0>n>>>0){o[e+300>>2]=2;t=-1;h=u;return t|0}n=e+132|0;do{if((i-(o[e+260>>2]|0)|0)>-1){ki(n,i);Ms(f|0,n|0,132)|0}else{if((i-(o[e+128>>2]|0)|0)>=0){Ms(f|0,e|0,132)|0;ki(f,i);break}o[e+300>>2]=12;t=-1;h=u;return t|0}}while(0);c=t+s+-165|0;r[c>>0]=1;a=c+1|0;r[a>>0]=i>>>24;a=a+1|0;r[a>>0]=i>>>16;a=a+1|0;r[a>>0]=i>>>8;r[a+1>>0]=i;a=t+(s+-161)|0;s=t+(s+-160)|0;n=f;i=s+128|0;do{r[s>>0]=r[n>>0]|0;s=s+1|0;n=n+1|0}while((s|0)<(i|0));s=a+129|0;n=e+264|0;i=s+32|0;do{r[s>>0]=r[n>>0]|0;s=s+1|0;n=n+1|0}while((s|0)<(i|0));t=me(c,165,t)|0;h=u;return t|0}function Qi(e){e=e|0;return Si(o[e>>2]|0)|0}function Wi(){return 100}function Yi(e){e=e|0;Gr(e,100);return e|0}function Xi(e){e=e|0;Gr(e,100);return 100}function Ji(e){e=e|0;return 32}function Zi(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<32){o[e>>2]=1;n=-1;return n|0}else{pt(t,e+4|0);n=0;return n|0}return 0}function $i(e){e=e|0;return pe(32)|0}function eo(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e>>2]=2;n=-1;return n|0}else{me(e+4|0,32,t)|0;n=0;return n|0}return 0}function to(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e>>2]=15;n=-1;return n|0}else{ye(t,n,t)|0;mt(e+4|0,t,e+68|0);n=0;return n|0}return 0}function no(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;It(e+68|0,32,0,0,t,n,r,i);return 0}function ro(e){e=e|0;return pe(32)|0}function io(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;f=h;h=h+32|0;c=f;if((pe(32)|0)>>>0>a>>>0){o[e>>2]=2;c=-1;h=f;return c|0}else{It(e+68|0,32,0,0,r,i,c,32);Et(c,32,t,n,s);me(s,32,s)|0;c=0;h=f;return c|0}return 0}function oo(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;f=h;h=h+256|0;c=f;if((pe(32)|0)>>>0>a>>>0){o[e>>2]=2;c=-1;h=f;return c|0}else{It(e+68|0,32,0,0,r,i,c,256);Et(c,256,t,n,s);me(s,32,s)|0;c=0;h=f;return c|0}return 0}function so(){return 232}function ao(e){e=e|0;Gr(e,232);return e|0}function co(e){e=e|0;Gr(e,232);return 232}function fo(e){e=e|0;return Si(o[e+228>>2]|0)|0}function uo(e){e=e|0;var t=0;t=(vi(e)|0)+4|0;return Ii(t+(Me(e+132|0)|0)|0)|0}function lo(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;a=(vi(e)|0)+4|0;s=e+132|0;a=a+(Me(s)|0)|0;if((Ii(a)|0)>>>0>i>>>0){o[e+228>>2]=2;a=-1;return a|0}else{De(Ai(e,Ne(Ti(r,a)|0,1)|0)|0,s)|0;a=Ri(t,n,r,a)|0;return a|0}return 0}function ho(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0;c=h;h=h+16|0;s=c;a=e+228|0;t=Oi(t,n,r,i,a)|0;do{if((t|0)!=-1){n=r+t|0;t=je(r,n,s)|0;if((o[s>>2]|0)!=1){o[a>>2]=9;i=-1;break}if((n|0)!=(Be(wi(e,t,n)|0,n,e+132|0)|0)){o[a>>2]=10;i=-1}}else i=-1}while(0);h=c;return i|0}function po(e){e=e|0;return 160}function mo(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<160){o[e+228>>2]=1;n=-1;return n|0}else{_i(e,t,0);gt(t+128|0,e+132|0);Gr(t,n);n=0;return n|0}return 0}function go(e,t){e=e|0;t=t|0;var n=0;n=Hs[o[(o[9395]|0)+4>>2]&3](37580,t)|0;t=Gs[o[o[9395]>>2]&1](37580)|0;return pe(We(o[e+128>>2]|0,n,t,64)|0)|0}function yo(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0;u=h;h=h+16|0;f=u;a=Hs[o[(o[9395]|0)+4>>2]&3](37580,n)|0;c=Gs[o[o[9395]>>2]&1](37580)|0;s=e+128|0;c=We(o[s>>2]|0,a,c,64)|0;if((pe(c)|0)>>>0>i>>>0){o[e+228>>2]=2;f=-1;h=u;return f|0}a=r+(pe(c)|0)+(0-c)|0;l=Hs[o[(o[9395]|0)+4>>2]&3](37580,n)|0;i=Gs[o[o[9395]>>2]&1](37580)|0;i=(Ye(3,o[s>>2]|0,l,a,f)|0)+i|0;if((Qs[o[(o[9395]|0)+8>>2]&3](37580,e,128,t,n,o[f>>2]|0,l,a,i)|0)==-1){l=-1;h=u;return l|0}else{Ei(e);yt(e+132|0,a,i,a+i|0);l=me(a,c,r)|0;h=u;return l|0}return 0}function bo(e){e=e|0;return pe(32)|0}function _o(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e+228>>2]=2;n=-1;return n|0}else{n=me(e+132|0,32,t)|0;return n|0}return 0}function vo(e){e=e|0;return o[e+128>>2]|0}function Ao(e){e=e|0;return pe(229)|0}function wo(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0;i=pe(229)|0;if(i>>>0>n>>>0){o[e+228>>2]=2;t=-1;return t|0}else{c=t+i+-229|0;r[c>>0]=2;s=o[e+128>>2]|0;f=c+1|0;r[f>>0]=s>>>24;f=f+1|0;r[f>>0]=s>>>16;f=f+1|0;r[f>>0]=s>>>8;r[f+1>>0]=s;f=t+(i+-225)|0;i=t+(i+-224)|0;s=e;a=i+128|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));n=e+132|0;i=f+129|0;s=n;a=i+32|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));f=f+161|0;yt(n,c,f-c|0,f);t=me(c,229,t)|0;return t|0}return 0}function Eo(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0;O=h;h=h+256|0;R=O;o[R>>2]=(s[t+1>>0]|0)<<16|(s[t>>0]|0)<<24|(s[t+2>>0]|0)<<8|(s[t+3>>0]|0);o[R+4>>2]=(s[t+5>>0]|0)<<16|(s[t+4>>0]|0)<<24|(s[t+6>>0]|0)<<8|(s[t+7>>0]|0);o[R+8>>2]=(s[t+9>>0]|0)<<16|(s[t+8>>0]|0)<<24|(s[t+10>>0]|0)<<8|(s[t+11>>0]|0);o[R+12>>2]=(s[t+13>>0]|0)<<16|(s[t+12>>0]|0)<<24|(s[t+14>>0]|0)<<8|(s[t+15>>0]|0);o[R+16>>2]=(s[t+17>>0]|0)<<16|(s[t+16>>0]|0)<<24|(s[t+18>>0]|0)<<8|(s[t+19>>0]|0);o[R+20>>2]=(s[t+21>>0]|0)<<16|(s[t+20>>0]|0)<<24|(s[t+22>>0]|0)<<8|(s[t+23>>0]|0);o[R+24>>2]=(s[t+25>>0]|0)<<16|(s[t+24>>0]|0)<<24|(s[t+26>>0]|0)<<8|(s[t+27>>0]|0);o[R+28>>2]=(s[t+29>>0]|0)<<16|(s[t+28>>0]|0)<<24|(s[t+30>>0]|0)<<8|(s[t+31>>0]|0);o[R+32>>2]=(s[t+33>>0]|0)<<16|(s[t+32>>0]|0)<<24|(s[t+34>>0]|0)<<8|(s[t+35>>0]|0);o[R+36>>2]=(s[t+37>>0]|0)<<16|(s[t+36>>0]|0)<<24|(s[t+38>>0]|0)<<8|(s[t+39>>0]|0);o[R+40>>2]=(s[t+41>>0]|0)<<16|(s[t+40>>0]|0)<<24|(s[t+42>>0]|0)<<8|(s[t+43>>0]|0);o[R+44>>2]=(s[t+45>>0]|0)<<16|(s[t+44>>0]|0)<<24|(s[t+46>>0]|0)<<8|(s[t+47>>0]|0);o[R+48>>2]=(s[t+49>>0]|0)<<16|(s[t+48>>0]|0)<<24|(s[t+50>>0]|0)<<8|(s[t+51>>0]|0);o[R+52>>2]=(s[t+53>>0]|0)<<16|(s[t+52>>0]|0)<<24|(s[t+54>>0]|0)<<8|(s[t+55>>0]|0);o[R+56>>2]=(s[t+57>>0]|0)<<16|(s[t+56>>0]|0)<<24|(s[t+58>>0]|0)<<8|(s[t+59>>0]|0);o[R+60>>2]=(s[t+61>>0]|0)<<16|(s[t+60>>0]|0)<<24|(s[t+62>>0]|0)<<8|(s[t+63>>0]|0);t=16;n=o[R>>2]|0;do{T=o[R+(t+-2<<2)>>2]|0;I=n;n=o[R+(t+-15<<2)>>2]|0;o[R+(t<<2)>>2]=I+(o[R+(t+-7<<2)>>2]|0)+((T>>>19|T<<13)^T>>>10^(T>>>17|T<<15))+((n>>>18|n<<14)^n>>>3^(n>>>7|n<<25));t=t+1|0}while((t|0)!=64);p=e+80|0;m=o[p>>2]|0;g=e+84|0;y=o[g>>2]|0;b=e+88|0;_=o[b>>2]|0;v=e+92|0;A=o[v>>2]|0;w=e+96|0;E=o[w>>2]|0;k=e+100|0;S=o[k>>2]|0;I=e+104|0;T=o[I>>2]|0;l=e+108|0;d=o[l>>2]|0;e=y;t=d;r=T;i=S;a=E;n=A;c=_;f=m;u=0;while(1){x=((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+t+(r&~a^i&a)+(o[32768+(u<<2)>>2]|0)+(o[R+(u<<2)>>2]|0)|0;t=x+n|0;n=((f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10))+(f&(e^c)^e&c)+x|0;u=u+1|0;if((u|0)==64)break;else{D=c;M=a;P=i;C=r;x=f;a=t;f=n;c=e;n=D;i=M;r=P;t=C;e=x}}o[p>>2]=n+m;o[g>>2]=f+y;o[b>>2]=e+_;o[v>>2]=c+A;o[w>>2]=t+E;o[k>>2]=a+S;o[I>>2]=i+T;o[l>>2]=r+d;h=O;return}function ko(e){e=e|0;var t=0;o[e+64>>2]=0;t=e+72|0;o[t>>2]=0;o[t+4>>2]=0;o[e+80>>2]=1779033703;o[e+84>>2]=-1150833019;o[e+88>>2]=1013904242;o[e+92>>2]=-1521486534;o[e+96>>2]=1359893119;o[e+100>>2]=-1694144372;o[e+104>>2]=528734635;o[e+108>>2]=1541459225;return}function So(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0;if(!n)return;a=e+64|0;c=e+72|0;s=0;i=o[a>>2]|0;do{r[e+i>>0]=r[t+s>>0]|0;i=(o[a>>2]|0)+1|0;o[a>>2]=i;if((i|0)==64){Eo(e,e);f=c;f=ks(o[f>>2]|0,o[f+4>>2]|0,512,0)|0;i=c;o[i>>2]=f;o[i+4>>2]=I;o[a>>2]=0;i=0}s=s+1|0}while((s|0)!=(n|0));return}function Io(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0;s=e+64|0;n=o[s>>2]|0;i=n+1|0;r[e+n>>0]=-128;if(n>>>0<56){if(i>>>0<56)Ds(e+i|0,0,55-n|0)|0}else{if(i>>>0<64)Ds(e+i|0,0,63-n|0)|0;Eo(e,e);n=e;i=n+56|0;do{o[n>>2]=0;n=n+4|0}while((n|0)<(i|0))}f=e+72|0;u=f;u=ks(o[u>>2]|0,o[u+4>>2]|0,o[s>>2]<<3|0,0)|0;l=I;o[f>>2]=u;o[f+4>>2]=l;r[e+63>>0]=u;f=xs(u|0,l|0,8)|0;r[e+62>>0]=f;f=xs(u|0,l|0,16)|0;r[e+61>>0]=f;f=xs(u|0,l|0,24)|0;r[e+60>>0]=f;r[e+59>>0]=l;f=xs(u|0,l|0,40)|0;r[e+58>>0]=f;f=xs(u|0,l|0,48)|0;r[e+57>>0]=f;l=xs(u|0,l|0,56)|0;r[e+56>>0]=l;Eo(e,e);l=e+80|0;u=e+84|0;f=e+88|0;c=e+92|0;a=e+96|0;n=e+100|0;i=e+104|0;s=e+108|0;r[t>>0]=(o[l>>2]|0)>>>24;r[t+4>>0]=(o[u>>2]|0)>>>24;r[t+8>>0]=(o[f>>2]|0)>>>24;r[t+12>>0]=(o[c>>2]|0)>>>24;r[t+16>>0]=(o[a>>2]|0)>>>24;r[t+20>>0]=(o[n>>2]|0)>>>24;r[t+24>>0]=(o[i>>2]|0)>>>24;r[t+28>>0]=(o[s>>2]|0)>>>24;r[t+1>>0]=(o[l>>2]|0)>>>16;r[t+5>>0]=(o[u>>2]|0)>>>16;r[t+9>>0]=(o[f>>2]|0)>>>16;r[t+13>>0]=(o[c>>2]|0)>>>16;r[t+17>>0]=(o[a>>2]|0)>>>16;r[t+21>>0]=(o[n>>2]|0)>>>16;r[t+25>>0]=(o[i>>2]|0)>>>16;r[t+29>>0]=(o[s>>2]|0)>>>16;r[t+2>>0]=(o[l>>2]|0)>>>8;r[t+6>>0]=(o[u>>2]|0)>>>8;r[t+10>>0]=(o[f>>2]|0)>>>8;r[t+14>>0]=(o[c>>2]|0)>>>8;r[t+18>>0]=(o[a>>2]|0)>>>8;r[t+22>>0]=(o[n>>2]|0)>>>8;r[t+26>>0]=(o[i>>2]|0)>>>8;r[t+30>>0]=(o[s>>2]|0)>>>8;r[t+3>>0]=o[l>>2];r[t+7>>0]=o[u>>2];r[t+11>>0]=o[f>>2];r[t+15>>0]=o[c>>2];r[t+19>>0]=o[a>>2];r[t+23>>0]=o[n>>2];r[t+27>>0]=o[i>>2];r[t+31>>0]=o[s>>2];return}function To(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0;L=h;h=h+16|0;M=L;U=M+4|0;E=M+8|0;k=M+12|0;v=r[e+4>>0]|0;S=M+1|0;f=r[e+5>>0]|0;I=M+5|0;m=r[e+6>>0]|0;T=M+9|0;l=r[e+7>>0]|0;R=M+13|0;b=r[e+8>>0]|0;O=M+2|0;d=r[e+9>>0]|0;x=M+6|0;w=r[e+10>>0]|0;C=M+10|0;u=r[e+11>>0]|0;P=M+14|0;a=r[e+12>>0]|0;D=M+3|0;q=r[e+13>>0]|0;B=M+7|0;g=r[e+14>>0]|0;N=M+11|0;p=r[e+15>>0]|0;j=M+15|0;_=o[n>>2]|0;y=_>>>24^(s[e>>0]|0);A=_>>>16^(s[e+1>>0]|0);c=_>>>8^(s[e+2>>0]|0);_=_^(s[e+3>>0]|0);r[k>>0]=_;F=o[n+4>>2]|0;v=F>>>24^v&255;f=F>>>16^f&255;m=F>>>8^m&255;l=F^l&255;F=o[n+8>>2]|0;b=F>>>24^b&255;d=F>>>16^d&255;w=F>>>8^w&255;u=F^u&255;F=o[n+12>>2]|0;a=F>>>24^a&255;e=F>>>16^q&255;g=F>>>8^g&255;p=F^p&255;r[M>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[S>>0]=r[(v&15)+(33024+(v>>>4<<4))>>0]|0;r[O>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;r[D>>0]=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;r[U>>0]=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=e;r[B>>0]=A;r[E>>0]=w;r[C>>0]=c;r[T>>0]=g;r[N>>0]=m;r[k>>0]=p;r[j>>0]=u;r[P>>0]=l;r[R>>0]=_;Ro(M);_=o[n+16>>2]|0;l=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);p=_>>>8^(s[E>>0]|0);r[E>>0]=p;_=_^(s[k>>0]|0);r[k>>0]=_;m=o[n+20>>2]|0;g=m>>>24^(s[S>>0]|0);c=m>>>16^(s[I>>0]|0);w=m>>>8^(s[T>>0]|0);m=m^(s[R>>0]|0);r[R>>0]=m;A=o[n+24>>2]|0;e=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);f=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);a=o[n+28>>2]|0;b=a>>>24^(s[D>>0]|0);v=a>>>16^(s[B>>0]|0);y=a>>>8^(s[N>>0]|0);a=a^(s[j>>0]|0);r[M>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;r[S>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;r[O>>0]=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;r[D>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;r[U>>0]=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=v;r[B>>0]=u;r[E>>0]=f;r[C>>0]=p;r[T>>0]=y;r[N>>0]=w;r[k>>0]=a;r[j>>0]=A;r[P>>0]=m;r[R>>0]=_;Ro(M);_=o[n+32>>2]|0;m=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);a=_>>>8^(s[E>>0]|0);r[E>>0]=a;_=_^(s[k>>0]|0);r[k>>0]=_;w=o[n+36>>2]|0;y=w>>>24^(s[S>>0]|0);p=w>>>16^(s[I>>0]|0);f=w>>>8^(s[T>>0]|0);w=w^(s[R>>0]|0);r[R>>0]=w;u=o[n+40>>2]|0;v=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);c=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);b=o[n+44>>2]|0;e=b>>>24^(s[D>>0]|0);g=b>>>16^(s[B>>0]|0);l=b>>>8^(s[N>>0]|0);b=b^(s[j>>0]|0);r[M>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;r[S>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[O>>0]=r[(v&15)+(33024+(v>>>4<<4))>>0]|0;r[D>>0]=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;r[U>>0]=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=g;r[B>>0]=A;r[E>>0]=c;r[C>>0]=a;r[T>>0]=l;r[N>>0]=f;r[k>>0]=b;r[j>>0]=u;r[P>>0]=w;r[R>>0]=_;Ro(M);_=o[n+48>>2]|0;w=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);b=_>>>8^(s[E>>0]|0);r[E>>0]=b;_=_^(s[k>>0]|0);r[k>>0]=_;f=o[n+52>>2]|0;l=f>>>24^(s[S>>0]|0);a=f>>>16^(s[I>>0]|0);c=f>>>8^(s[T>>0]|0);f=f^(s[R>>0]|0);r[R>>0]=f;A=o[n+56>>2]|0;g=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);p=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);e=o[n+60>>2]|0;v=e>>>24^(s[D>>0]|0);y=e>>>16^(s[B>>0]|0);m=e>>>8^(s[N>>0]|0);e=e^(s[j>>0]|0);r[M>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;r[S>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;r[O>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;r[D>>0]=r[(v&15)+(33024+(v>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;r[U>>0]=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=y;r[B>>0]=u;r[E>>0]=p;r[C>>0]=b;r[T>>0]=m;r[N>>0]=c;r[k>>0]=e;r[j>>0]=A;r[P>>0]=f;r[R>>0]=_;Ro(M);_=o[n+64>>2]|0;f=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);e=_>>>8^(s[E>>0]|0);r[E>>0]=e;_=_^(s[k>>0]|0);r[k>>0]=_;c=o[n+68>>2]|0;m=c>>>24^(s[S>>0]|0);b=c>>>16^(s[I>>0]|0);p=c>>>8^(s[T>>0]|0);c=c^(s[R>>0]|0);r[R>>0]=c;u=o[n+72>>2]|0;y=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);a=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);v=o[n+76>>2]|0;g=v>>>24^(s[D>>0]|0);l=v>>>16^(s[B>>0]|0);w=v>>>8^(s[N>>0]|0);v=v^(s[j>>0]|0);r[M>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[S>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;r[O>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[D>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;r[U>>0]=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=l;r[B>>0]=A;r[E>>0]=a;r[C>>0]=e;r[T>>0]=w;r[N>>0]=p;r[k>>0]=v;r[j>>0]=u;r[P>>0]=c;r[R>>0]=_;Ro(M);_=o[n+80>>2]|0;c=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);v=_>>>8^(s[E>>0]|0);r[E>>0]=v;_=_^(s[k>>0]|0);r[k>>0]=_;p=o[n+84>>2]|0;w=p>>>24^(s[S>>0]|0);e=p>>>16^(s[I>>0]|0);a=p>>>8^(s[T>>0]|0);p=p^(s[R>>0]|0);r[R>>0]=p;A=o[n+88>>2]|0;l=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);b=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);g=o[n+92>>2]|0;y=g>>>24^(s[D>>0]|0);m=g>>>16^(s[B>>0]|0);f=g>>>8^(s[N>>0]|0);g=g^(s[j>>0]|0);r[M>>0]=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[S>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;r[O>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;r[D>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;r[U>>0]=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=m;r[B>>0]=u;r[E>>0]=b;r[C>>0]=v;r[T>>0]=f;r[N>>0]=a;r[k>>0]=g;r[j>>0]=A;r[P>>0]=p;r[R>>0]=_;Ro(M);_=o[n+96>>2]|0;p=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);g=_>>>8^(s[E>>0]|0);r[E>>0]=g;_=_^(s[k>>0]|0);r[k>>0]=_;a=o[n+100>>2]|0;f=a>>>24^(s[S>>0]|0);v=a>>>16^(s[I>>0]|0);b=a>>>8^(s[T>>0]|0);a=a^(s[R>>0]|0);r[R>>0]=a;u=o[n+104>>2]|0;m=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);e=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);y=o[n+108>>2]|0;l=y>>>24^(s[D>>0]|0);w=y>>>16^(s[B>>0]|0);c=y>>>8^(s[N>>0]|0);y=y^(s[j>>0]|0);r[M>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;r[S>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[O>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;r[D>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;r[U>>0]=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=w;r[B>>0]=A;r[E>>0]=e;r[C>>0]=g;r[T>>0]=c;r[N>>0]=b;r[k>>0]=y;r[j>>0]=u;r[P>>0]=a;r[R>>0]=_;Ro(M);_=o[n+112>>2]|0;a=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);y=_>>>8^(s[E>>0]|0);r[E>>0]=y;_=_^(s[k>>0]|0);r[k>>0]=_;b=o[n+116>>2]|0;c=b>>>24^(s[S>>0]|0);g=b>>>16^(s[I>>0]|0);e=b>>>8^(s[T>>0]|0);b=b^(s[R>>0]|0);r[R>>0]=b;A=o[n+120>>2]|0;w=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);v=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);l=o[n+124>>2]|0;m=l>>>24^(s[D>>0]|0);f=l>>>16^(s[B>>0]|0);p=l>>>8^(s[N>>0]|0);l=l^(s[j>>0]|0);r[M>>0]=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;r[S>>0]=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[O>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;r[D>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;r[U>>0]=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=f;r[B>>0]=u;r[E>>0]=v;r[C>>0]=y;r[T>>0]=p;r[N>>0]=e;r[k>>0]=l;r[j>>0]=A;r[P>>0]=b;r[R>>0]=_;Ro(M);_=o[n+128>>2]|0;b=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);l=_>>>8^(s[E>>0]|0);r[E>>0]=l;_=_^(s[k>>0]|0);r[k>>0]=_;e=o[n+132>>2]|0;p=e>>>24^(s[S>>0]|0);y=e>>>16^(s[I>>0]|0);v=e>>>8^(s[T>>0]|0);e=e^(s[R>>0]|0);r[R>>0]=e;u=o[n+136>>2]|0;f=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);g=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);m=o[n+140>>2]|0;w=m>>>24^(s[D>>0]|0);c=m>>>16^(s[B>>0]|0);a=m>>>8^(s[N>>0]|0);m=m^(s[j>>0]|0);r[M>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;r[S>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;r[O>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;r[U>>0]=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=c;r[B>>0]=A;r[E>>0]=g;r[C>>0]=l;r[T>>0]=a;r[N>>0]=v;r[k>>0]=m;r[j>>0]=u;r[P>>0]=e;r[R>>0]=_;Ro(M);_=o[n+144>>2]|0;e=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);m=_>>>8^(s[E>>0]|0);r[E>>0]=m;_=_^(s[k>>0]|0);r[k>>0]=_;v=o[n+148>>2]|0;a=v>>>24^(s[S>>0]|0);l=v>>>16^(s[I>>0]|0);g=v>>>8^(s[T>>0]|0);v=v^(s[R>>0]|0);r[R>>0]=v;A=o[n+152>>2]|0;c=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);y=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);w=o[n+156>>2]|0;f=w>>>24^(s[D>>0]|0);p=w>>>16^(s[B>>0]|0);b=w>>>8^(s[N>>0]|0);w=w^(s[j>>0]|0);e=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;r[M>>0]=e;a=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;r[S>>0]=a;c=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[O>>0]=c;f=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=f;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;r[U>>0]=l;r[I>>0]=d;r[x>>0]=p;r[B>>0]=u;r[E>>0]=y;r[C>>0]=m;r[T>>0]=b;r[N>>0]=g;r[k>>0]=w;r[j>>0]=A;r[P>>0]=v;r[R>>0]=_;if((i|0)==128){K=b;z=d;G=41;H=w;w=y;V=l;q=e;e=40;F=A;b=g;y=u;g=f;d=43;i=p;l=c;p=42;f=n+(e<<2)|0;f=o[f>>2]|0;A=f>>>24;c=f>>>16;u=f>>>8;q=q&255;q=A^q;q=q&255;r[M>>0]=q;A=V&255;A=c^A;A=A&255;r[U>>0]=A;w=w&255;w=u^w;w=w&255;r[E>>0]=w;E=H&255;E=f^E;E=E&255;r[k>>0]=E;U=n+(G<<2)|0;U=o[U>>2]|0;f=U>>>24;u=U>>>16;M=U>>>8;k=a&255;k=f^k;k=k&255;r[S>>0]=k;S=z&255;S=u^S;S=S&255;r[I>>0]=S;I=K&255;I=M^I;I=I&255;r[T>>0]=I;T=_&255;T=U^T;T=T&255;r[R>>0]=T;U=n+(p<<2)|0;U=o[U>>2]|0;p=U>>>24;_=U>>>16;M=U>>>8;R=l&255;R=p^R;R=R&255;r[O>>0]=R;i=i&255;i=_^i;i=i&255;r[x>>0]=i;x=m&255;x=M^x;x=x&255;r[C>>0]=x;C=v&255;C=U^C;C=C&255;r[P>>0]=C;P=n+(d<<2)|0;P=o[P>>2]|0;n=P>>>24;U=P>>>16;O=P>>>8;M=g&255;M=n^M;M=M&255;r[D>>0]=M;D=y&255;D=U^D;D=D&255;r[B>>0]=D;U=b&255;U=O^U;U=U&255;r[N>>0]=U;F=F&255;F=P^F;F=F&255;r[j>>0]=F;r[t>>0]=q;q=t+1|0;r[q>>0]=A;q=t+2|0;r[q>>0]=w;q=t+3|0;r[q>>0]=E;q=t+4|0;r[q>>0]=k;q=t+5|0;r[q>>0]=S;q=t+6|0;r[q>>0]=I;q=t+7|0;r[q>>0]=T;q=t+8|0;r[q>>0]=R;q=t+9|0;r[q>>0]=i;q=t+10|0;r[q>>0]=x;q=t+11|0;r[q>>0]=C;q=t+12|0;r[q>>0]=M;q=t+13|0;r[q>>0]=D;q=t+14|0;r[q>>0]=U;q=t+15|0;r[q>>0]=F;h=L;return}Ro(M);_=o[n+160>>2]|0;b=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);l=_>>>8^(s[E>>0]|0);r[E>>0]=l;_=_^(s[k>>0]|0);r[k>>0]=_;e=o[n+164>>2]|0;p=e>>>24^(s[S>>0]|0);y=e>>>16^(s[I>>0]|0);v=e>>>8^(s[T>>0]|0);e=e^(s[R>>0]|0);r[R>>0]=e;u=o[n+168>>2]|0;f=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);g=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);m=o[n+172>>2]|0;w=m>>>24^(s[D>>0]|0);c=m>>>16^(s[B>>0]|0);a=m>>>8^(s[N>>0]|0);m=m^(s[j>>0]|0);r[M>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;r[S>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;r[O>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;r[U>>0]=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=c;r[B>>0]=A;r[E>>0]=g;r[C>>0]=l;r[T>>0]=a;r[N>>0]=v;r[k>>0]=m;r[j>>0]=u;r[P>>0]=e;r[R>>0]=_;Ro(M);_=o[n+176>>2]|0;e=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);m=_>>>8^(s[E>>0]|0);r[E>>0]=m;_=_^(s[k>>0]|0);r[k>>0]=_;v=o[n+180>>2]|0;a=v>>>24^(s[S>>0]|0);l=v>>>16^(s[I>>0]|0);g=v>>>8^(s[T>>0]|0);v=v^(s[R>>0]|0);r[R>>0]=v;A=o[n+184>>2]|0;c=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);y=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);w=o[n+188>>2]|0;f=w>>>24^(s[D>>0]|0);p=w>>>16^(s[B>>0]|0);b=w>>>8^(s[N>>0]|0);w=w^(s[j>>0]|0);e=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;r[M>>0]=e;a=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;r[S>>0]=a;c=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[O>>0]=c;f=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=f;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;r[U>>0]=l;r[I>>0]=d;r[x>>0]=p;r[B>>0]=u;r[E>>0]=y;r[C>>0]=m;r[T>>0]=b;r[N>>0]=g;r[k>>0]=w;r[j>>0]=A;r[P>>0]=v;r[R>>0]=_;if((i|0)==192){Q=b;W=49;Y=w;w=y;V=e;e=48;H=A;G=g;z=u;K=f;b=51;q=v;F=m;y=p;g=c;v=50;i=_;m=n+(e<<2)|0;m=o[m>>2]|0;A=m>>>24;p=m>>>16;_=m>>>8;V=V&255;V=A^V;V=V&255;r[M>>0]=V;A=l&255;A=p^A;A=A&255;r[U>>0]=A;w=w&255;w=_^w;w=w&255;r[E>>0]=w;E=Y&255;E=m^E;E=E&255;r[k>>0]=E;U=n+(W<<2)|0;U=o[U>>2]|0;m=U>>>24;_=U>>>16;M=U>>>8;k=a&255;k=m^k;k=k&255;r[S>>0]=k;S=d&255;S=_^S;S=S&255;r[I>>0]=S;I=Q&255;I=M^I;I=I&255;r[T>>0]=I;i=i&255;i=U^i;i=i&255;r[R>>0]=i;R=n+(v<<2)|0;R=o[R>>2]|0;U=R>>>24;v=R>>>16;T=R>>>8;M=g&255;M=U^M;M=M&255;r[O>>0]=M;U=y&255;U=v^U;U=U&255;r[x>>0]=U;F=F&255;F=T^F;F=F&255;r[C>>0]=F;q=q&255;q=R^q;q=q&255;r[P>>0]=q;P=n+(b<<2)|0;P=o[P>>2]|0;O=P>>>24;x=P>>>16;C=P>>>8;K=K&255;K=O^K;K=K&255;r[D>>0]=K;z=z&255;z=x^z;z=z&255;r[B>>0]=z;G=G&255;G=C^G;G=G&255;r[N>>0]=G;H=H&255;H=P^H;H=H&255;r[j>>0]=H;r[t>>0]=V;V=t+1|0;r[V>>0]=A;V=t+2|0;r[V>>0]=w;V=t+3|0;r[V>>0]=E;V=t+4|0;r[V>>0]=k;V=t+5|0;r[V>>0]=S;V=t+6|0;r[V>>0]=I;V=t+7|0;r[V>>0]=i;V=t+8|0;r[V>>0]=M;V=t+9|0;r[V>>0]=U;V=t+10|0;r[V>>0]=F;V=t+11|0;r[V>>0]=q;V=t+12|0;r[V>>0]=K;V=t+13|0;r[V>>0]=z;V=t+14|0;r[V>>0]=G;V=t+15|0;r[V>>0]=H;h=L;return}Ro(M);F=o[n+192>>2]|0;y=F>>>24^(s[M>>0]|0);W=F>>>16^(s[U>>0]|0);A=F>>>8^(s[E>>0]|0);r[E>>0]=A;F=F^(s[k>>0]|0);r[k>>0]=F;Y=o[n+196>>2]|0;K=Y>>>24^(s[S>>0]|0);w=Y>>>16^(s[I>>0]|0);G=Y>>>8^(s[T>>0]|0);Y=Y^(s[R>>0]|0);r[R>>0]=Y;V=o[n+200>>2]|0;H=V>>>24^(s[O>>0]|0);g=V>>>16^(s[x>>0]|0);Q=V>>>8^(s[C>>0]|0);V=V^(s[P>>0]|0);z=o[n+204>>2]|0;p=z>>>24^(s[D>>0]|0);q=z>>>16^(s[B>>0]|0);i=z>>>8^(s[N>>0]|0);z=z^(s[j>>0]|0);r[M>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[S>>0]=r[(K&15)+(33024+(K>>>4<<4))>>0]|0;r[O>>0]=r[(H&15)+(33024+(H>>>4<<4))>>0]|0;r[D>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;W=r[(W&15)+(33024+((W>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;q=r[(q&15)+(33024+((q>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;G=r[(G&15)+(33024+((G>>>4&15)<<4))>>0]|0;Q=r[(Q&15)+(33024+((Q>>>4&15)<<4))>>0]|0;i=r[(i&15)+(33024+((i>>>4&15)<<4))>>0]|0;F=r[(F&15)+(33024+((F>>>4&15)<<4))>>0]|0;Y=r[(Y&15)+(33024+((Y>>>4&15)<<4))>>0]|0;V=r[(V&15)+(33024+((V>>>4&15)<<4))>>0]|0;z=r[(z&15)+(33024+((z>>>4&15)<<4))>>0]|0;r[U>>0]=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;r[I>>0]=g;r[x>>0]=q;r[B>>0]=W;r[E>>0]=Q;r[C>>0]=A;r[T>>0]=i;r[N>>0]=G;r[k>>0]=z;r[j>>0]=V;r[P>>0]=Y;r[R>>0]=F;Ro(M);F=o[n+208>>2]|0;Y=F>>>24^(s[M>>0]|0);V=F>>>16^(s[U>>0]|0);z=F>>>8^(s[E>>0]|0);r[E>>0]=z;F=F^(s[k>>0]|0);r[k>>0]=F;G=o[n+212>>2]|0;i=G>>>24^(s[S>>0]|0);A=G>>>16^(s[I>>0]|0);Q=G>>>8^(s[T>>0]|0);G=G^(s[R>>0]|0);r[R>>0]=G;W=o[n+216>>2]|0;q=W>>>24^(s[O>>0]|0);g=W>>>16^(s[x>>0]|0);w=W>>>8^(s[C>>0]|0);W=W^(s[P>>0]|0);p=o[n+220>>2]|0;H=p>>>24^(s[D>>0]|0);K=p>>>16^(s[B>>0]|0);y=p>>>8^(s[N>>0]|0);p=p^(s[j>>0]|0);Y=r[(Y&15)+(33024+(Y>>>4<<4))>>0]|0;i=r[(i&15)+(33024+(i>>>4<<4))>>0]|0;r[S>>0]=i;q=r[(q&15)+(33024+(q>>>4<<4))>>0]|0;r[O>>0]=q;H=r[(H&15)+(33024+(H>>>4<<4))>>0]|0;r[D>>0]=H;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;b=57;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;m=56;W=r[(W&15)+(33024+((W>>>4&15)<<4))>>0]|0;Q=r[(Q&15)+(33024+((Q>>>4&15)<<4))>>0]|0;V=r[(V&15)+(33024+((V>>>4&15)<<4))>>0]|0;v=59;G=r[(G&15)+(33024+((G>>>4&15)<<4))>>0]|0;z=r[(z&15)+(33024+((z>>>4&15)<<4))>>0]|0;K=r[(K&15)+(33024+((K>>>4&15)<<4))>>0]|0;_=58;F=r[(F&15)+(33024+((F>>>4&15)<<4))>>0]|0;m=n+(m<<2)|0;m=o[m>>2]|0;u=m>>>24;l=m>>>16;d=m>>>8;Y=Y&255;Y=u^Y;Y=Y&255;r[M>>0]=Y;A=A&255;A=l^A;A=A&255;r[U>>0]=A;w=w&255;w=d^w;w=w&255;r[E>>0]=w;E=p&255;E=m^E;E=E&255;r[k>>0]=E;k=n+(b<<2)|0;k=o[k>>2]|0;M=k>>>24;U=k>>>16;b=k>>>8;i=i&255;i=M^i;i=i&255;r[S>>0]=i;M=g&255;M=U^M;M=M&255;r[I>>0]=M;U=y&255;U=b^U;U=U&255;r[T>>0]=U;F=F&255;F=k^F;F=F&255;r[R>>0]=F;R=n+(_<<2)|0;R=o[R>>2]|0;S=R>>>24;I=R>>>16;T=R>>>8;q=q&255;q=S^q;q=q&255;r[O>>0]=q;K=K&255;K=I^K;K=K&255;r[x>>0]=K;z=z&255;z=T^z;z=z&255;r[C>>0]=z;G=G&255;G=R^G;G=G&255;r[P>>0]=G;P=n+(v<<2)|0;P=o[P>>2]|0;O=P>>>24;x=P>>>16;C=P>>>8;H=H&255;H=O^H;H=H&255;r[D>>0]=H;V=V&255;V=x^V;V=V&255;r[B>>0]=V;Q=Q&255;Q=C^Q;Q=Q&255;r[N>>0]=Q;W=W&255;W=P^W;W=W&255;r[j>>0]=W;r[t>>0]=Y;Y=t+1|0;r[Y>>0]=A;Y=t+2|0;r[Y>>0]=w;Y=t+3|0;r[Y>>0]=E;Y=t+4|0;r[Y>>0]=i;Y=t+5|0;r[Y>>0]=M;Y=t+6|0;r[Y>>0]=U;Y=t+7|0;r[Y>>0]=F;Y=t+8|0;r[Y>>0]=q;Y=t+9|0;r[Y>>0]=K;Y=t+10|0;r[Y>>0]=z;Y=t+11|0;r[Y>>0]=G;Y=t+12|0;r[Y>>0]=H;Y=t+13|0;r[Y>>0]=V;Y=t+14|0;r[Y>>0]=Q;Y=t+15|0;r[Y>>0]=W;h=L;return}function Ro(e){e=e|0;var t=0,n=0,i=0,o=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0;h=r[e>>0]|0;l=e+4|0;i=r[l>>0]|0;o=e+8|0;s=r[o>>0]|0;a=e+12|0;n=r[a>>0]|0;f=h&255;c=i&255;t=s&255;d=n&255;r[e>>0]=n^s^r[33280+(f*6|0)>>0]^r[33280+(c*6|0)+1>>0];r[l>>0]=r[33280+(c*6|0)>>0]^h^n^r[33280+(t*6|0)+1>>0];r[o>>0]=r[33280+(d*6|0)+1>>0]^(r[33280+(t*6|0)>>0]^(i^h));r[a>>0]=s^i^r[33280+(f*6|0)+1>>0]^r[33280+(d*6|0)>>0];a=e+1|0;d=r[a>>0]|0;f=e+5|0;i=r[f>>0]|0;s=e+9|0;o=r[s>>0]|0;h=e+13|0;t=r[h>>0]|0;l=d&255;n=i&255;c=o&255;u=t&255;r[a>>0]=t^o^r[33280+(l*6|0)>>0]^r[33280+(n*6|0)+1>>0];r[f>>0]=r[33280+(n*6|0)>>0]^d^t^r[33280+(c*6|0)+1>>0];r[s>>0]=r[33280+(u*6|0)+1>>0]^(r[33280+(c*6|0)>>0]^(i^d));r[h>>0]=o^i^r[33280+(l*6|0)+1>>0]^r[33280+(u*6|0)>>0];h=e+2|0;u=r[h>>0]|0;l=e+6|0;i=r[l>>0]|0;o=e+10|0;s=r[o>>0]|0;d=e+14|0;c=r[d>>0]|0;f=u&255;t=i&255;n=s&255;a=c&255;r[h>>0]=c^s^r[33280+(f*6|0)>>0]^r[33280+(t*6|0)+1>>0];r[l>>0]=r[33280+(t*6|0)>>0]^u^c^r[33280+(n*6|0)+1>>0];r[o>>0]=r[33280+(a*6|0)+1>>0]^(r[33280+(n*6|0)>>0]^(i^u));r[d>>0]=s^i^r[33280+(f*6|0)+1>>0]^r[33280+(a*6|0)>>0];d=e+3|0;a=r[d>>0]|0;f=e+7|0;i=r[f>>0]|0;s=e+11|0;o=r[s>>0]|0;e=e+15|0;u=r[e>>0]|0;n=a&255;l=i&255;c=o&255;t=u&255;r[d>>0]=u^o^r[33280+(n*6|0)>>0]^r[33280+(l*6|0)+1>>0];r[f>>0]=r[33280+(l*6|0)>>0]^a^u^r[33280+(c*6|0)+1>>0];r[s>>0]=r[33280+(t*6|0)+1>>0]^(r[33280+(c*6|0)>>0]^(i^a));r[e>>0]=o^i^r[33280+(n*6|0)+1>>0]^r[33280+(t*6|0)>>0];return}function Oo(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,a=0;switch(n|0){case 128:{i=4;a=44;break}case 192:{i=6;a=52;break}case 256:{i=8;a=60;break}default:return}n=0;do{r=n<<2;o[t+(n<<2)>>2]=(s[e+(r|1)>>0]|0)<<16|(s[e+r>>0]|0)<<24|(s[e+(r|2)>>0]|0)<<8|(s[e+(r|3)>>0]|0);n=n+1|0}while(n>>>0>>0);if(i>>>0<=6){r=i;do{e=r+-1|0;n=o[t+(e<<2)>>2]|0;if(!((r>>>0)%(i>>>0)|0))n=((s[(n&15)+(33024+((n>>>4&15)<<4))>>0]|0)<<8|(s[(n>>>24&15)+(33024+(n>>>28<<4))>>0]|0)|(s[(n>>>8&15)+(33024+((n>>>12&15)<<4))>>0]|0)<<16|(s[(n>>>16&15)+(33024+((n>>>20&15)<<4))>>0]|0)<<24)^o[34816+(((e|0)/(i|0)|0)<<2)>>2];o[t+(r<<2)>>2]=o[t+(r-i<<2)>>2]^n;r=r+1|0}while((r|0)!=(a|0));return}r=i;do{e=r+-1|0;n=o[t+(e<<2)>>2]|0;switch(((r>>>0)%(i>>>0)|0)&15){case 0:{n=((s[(n&15)+(33024+((n>>>4&15)<<4))>>0]|0)<<8|(s[(n>>>24&15)+(33024+(n>>>28<<4))>>0]|0)|(s[(n>>>8&15)+(33024+((n>>>12&15)<<4))>>0]|0)<<16|(s[(n>>>16&15)+(33024+((n>>>20&15)<<4))>>0]|0)<<24)^o[34816+(((e|0)/(i|0)|0)<<2)>>2];break}case 4:{n=(s[(n>>>8&15)+(33024+((n>>>12&15)<<4))>>0]|0)<<8|(s[(n&15)+(33024+((n>>>4&15)<<4))>>0]|0)|(s[(n>>>16&15)+(33024+((n>>>20&15)<<4))>>0]|0)<<16|(s[(n>>>24&15)+(33024+(n>>>28<<4))>>0]|0)<<24;break}default:{}}o[t+(r<<2)>>2]=o[t+(r-i<<2)>>2]^n;r=r+1|0}while((r|0)!=(a|0));return}function xo(e){e=e|0;var t=0,n=0,i=0,o=0,a=0,c=0,f=0,u=0;f=e+4|0;i=e+8|0;n=e+12|0;t=s[e>>0]|0;a=s[f>>0]|0;u=s[i>>0]|0;o=s[n>>0]|0;r[e>>0]=r[33280+(o*6|0)+2>>0]^(r[33280+(u*6|0)+4>>0]^(r[33280+(a*6|0)+3>>0]^r[33280+(t*6|0)+5>>0]));r[f>>0]=r[33280+(o*6|0)+4>>0]^(r[33280+(u*6|0)+3>>0]^(r[33280+(a*6|0)+5>>0]^r[33280+(t*6|0)+2>>0]));r[i>>0]=r[33280+(o*6|0)+3>>0]^(r[33280+(u*6|0)+5>>0]^(r[33280+(a*6|0)+2>>0]^r[33280+(t*6|0)+4>>0]));r[n>>0]=r[33280+(o*6|0)+5>>0]^(r[33280+(u*6|0)+2>>0]^(r[33280+(a*6|0)+4>>0]^r[33280+(t*6|0)+3>>0]));n=e+1|0;t=e+5|0;a=e+9|0;u=e+13|0;o=s[n>>0]|0;i=s[t>>0]|0;f=s[a>>0]|0;c=s[u>>0]|0;r[n>>0]=r[33280+(c*6|0)+2>>0]^(r[33280+(f*6|0)+4>>0]^(r[33280+(i*6|0)+3>>0]^r[33280+(o*6|0)+5>>0]));r[t>>0]=r[33280+(c*6|0)+4>>0]^(r[33280+(f*6|0)+3>>0]^(r[33280+(i*6|0)+5>>0]^r[33280+(o*6|0)+2>>0]));r[a>>0]=r[33280+(c*6|0)+3>>0]^(r[33280+(f*6|0)+5>>0]^(r[33280+(i*6|0)+2>>0]^r[33280+(o*6|0)+4>>0]));r[u>>0]=r[33280+(c*6|0)+5>>0]^(r[33280+(f*6|0)+2>>0]^(r[33280+(i*6|0)+4>>0]^r[33280+(o*6|0)+3>>0]));u=e+2|0;o=e+6|0;i=e+10|0;f=e+14|0;c=s[u>>0]|0;a=s[o>>0]|0;t=s[i>>0]|0;n=s[f>>0]|0;r[u>>0]=r[33280+(n*6|0)+2>>0]^(r[33280+(t*6|0)+4>>0]^(r[33280+(a*6|0)+3>>0]^r[33280+(c*6|0)+5>>0]));r[o>>0]=r[33280+(n*6|0)+4>>0]^(r[33280+(t*6|0)+3>>0]^(r[33280+(a*6|0)+5>>0]^r[33280+(c*6|0)+2>>0]));r[i>>0]=r[33280+(n*6|0)+3>>0]^(r[33280+(t*6|0)+5>>0]^(r[33280+(a*6|0)+2>>0]^r[33280+(c*6|0)+4>>0]));r[f>>0]=r[33280+(n*6|0)+5>>0]^(r[33280+(t*6|0)+2>>0]^(r[33280+(a*6|0)+4>>0]^r[33280+(c*6|0)+3>>0]));f=e+3|0;c=e+7|0;a=e+11|0;e=e+15|0;t=s[f>>0]|0;n=s[c>>0]|0;i=s[a>>0]|0;o=s[e>>0]|0;r[f>>0]=r[33280+(o*6|0)+2>>0]^(r[33280+(i*6|0)+4>>0]^(r[33280+(n*6|0)+3>>0]^r[33280+(t*6|0)+5>>0]));r[c>>0]=r[33280+(o*6|0)+4>>0]^(r[33280+(i*6|0)+3>>0]^(r[33280+(n*6|0)+5>>0]^r[33280+(t*6|0)+2>>0]));r[a>>0]=r[33280+(o*6|0)+3>>0]^(r[33280+(i*6|0)+5>>0]^(r[33280+(n*6|0)+2>>0]^r[33280+(t*6|0)+4>>0]));r[e>>0]=r[33280+(o*6|0)+5>>0]^(r[33280+(i*6|0)+2>>0]^(r[33280+(n*6|0)+4>>0]^r[33280+(t*6|0)+3>>0]));return}function Co(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0;L=h;h=h+16|0;D=L;A=r[e>>0]|0;r[D>>0]=A;w=r[e+1>>0]|0;U=D+4|0;r[U>>0]=w;a=r[e+2>>0]|0;k=D+8|0;r[k>>0]=a;c=r[e+3>>0]|0;S=D+12|0;r[S>>0]=c;f=r[e+4>>0]|0;I=D+1|0;r[I>>0]=f;u=r[e+5>>0]|0;T=D+5|0;r[T>>0]=u;l=r[e+6>>0]|0;R=D+9|0;r[R>>0]=l;d=r[e+7>>0]|0;O=D+13|0;r[O>>0]=d;p=r[e+8>>0]|0;x=D+2|0;r[x>>0]=p;m=r[e+9>>0]|0;C=D+6|0;r[C>>0]=m;g=r[e+10>>0]|0;P=D+10|0;r[P>>0]=g;y=r[e+11>>0]|0;M=D+14|0;r[M>>0]=y;b=r[e+12>>0]|0;B=D+3|0;r[B>>0]=b;_=r[e+13>>0]|0;N=D+7|0;r[N>>0]=_;v=r[e+14>>0]|0;j=D+11|0;r[j>>0]=v;e=r[e+15>>0]|0;E=D+15|0;r[E>>0]=e;if((i|0)>128){if((i|0)>192){F=o[n+224>>2]|0;H=F>>>24^A&255;G=F>>>16^w&255;K=F>>>8^a&255;A=F^c&255;F=o[n+228>>2]|0;w=F>>>24^f&255;z=F>>>16^u&255;q=F>>>8^l&255;F=F^d&255;c=o[n+232>>2]|0;a=c>>>24^p&255;p=c>>>16^m&255;i=c>>>8^g&255;c=c^y&255;f=o[n+236>>2]|0;g=f>>>24^b&255;u=f>>>16^_&255;m=f>>>8^v&255;f=f^e&255;_=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[I>>0]=w;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;r[x>>0]=a;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[B>>0]=g;u=r[(u&15)+(34880+((u>>>4&15)<<4))>>0]|0;l=r[(G&15)+(34880+((G>>>4&15)<<4))>>0]|0;d=r[(z&15)+(34880+((z>>>4&15)<<4))>>0]|0;r[C>>0]=d;y=r[(p&15)+(34880+((p>>>4&15)<<4))>>0]|0;r[N>>0]=y;i=r[(i&15)+(34880+((i>>>4&15)<<4))>>0]|0;m=r[(m&15)+(34880+((m>>>4&15)<<4))>>0]|0;v=r[(K&15)+(34880+((K>>>4&15)<<4))>>0]|0;p=r[(q&15)+(34880+((q>>>4&15)<<4))>>0]|0;r[j>>0]=p;e=r[(F&15)+(34880+((F>>>4&15)<<4))>>0]|0;c=r[(c&15)+(34880+((c>>>4&15)<<4))>>0]|0;f=r[(f&15)+(34880+((f>>>4&15)<<4))>>0]|0;A=r[(A&15)+(34880+((A>>>4&15)<<4))>>0]|0;b=o[n+208>>2]|0;r[D>>0]=b>>>24^_&255;r[U>>0]=b>>>16^u&255;r[k>>0]=b>>>8^i&255;r[S>>0]=b^e&255;e=o[n+212>>2]|0;r[I>>0]=e>>>24^w&255;r[T>>0]=e>>>16^l&255;r[R>>0]=e>>>8^m&255;r[O>>0]=e^c&255;c=o[n+216>>2]|0;r[x>>0]=c>>>24^a&255;r[C>>0]=c>>>16^d&255;r[P>>0]=c>>>8^v&255;r[M>>0]=c^f&255;f=o[n+220>>2]|0;r[B>>0]=f>>>24^g&255;r[N>>0]=f>>>16^y&255;r[j>>0]=f>>>8^p&255;r[E>>0]=f^A&255;xo(D);A=r[N>>0]|0;f=r[C>>0]|0;p=r[T>>0]|0;y=r[U>>0]|0;g=r[j>>0]|0;c=r[R>>0]|0;v=r[P>>0]|0;d=r[k>>0]|0;a=r[E>>0]|0;e=r[S>>0]|0;m=r[O>>0]|0;l=r[M>>0]|0;w=s[D>>0]|0;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[D>>0]=w;b=s[I>>0]|0;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[I>>0]=b;i=s[x>>0]|0;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;r[x>>0]=i;u=s[B>>0]|0;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;r[B>>0]=u;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;p=p&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[C>>0]=p;f=f&255;f=r[(f&15)+(34880+(f>>>4<<4))>>0]|0;r[N>>0]=f;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;d=d&255;d=r[(d&15)+(34880+(d>>>4<<4))>>0]|0;c=c&255;c=r[(c&15)+(34880+(c>>>4<<4))>>0]|0;r[j>>0]=c;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;l=l&255;l=r[(l&15)+(34880+(l>>>4<<4))>>0]|0;a=a&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;e=e&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;_=o[n+192>>2]|0;r[D>>0]=_>>>24^w&255;r[U>>0]=_>>>16^A&255;r[k>>0]=_>>>8^v&255;r[S>>0]=_^m&255;m=o[n+196>>2]|0;r[I>>0]=m>>>24^b&255;r[T>>0]=m>>>16^y&255;r[R>>0]=m>>>8^g&255;r[O>>0]=m^l&255;l=o[n+200>>2]|0;r[x>>0]=l>>>24^i&255;r[C>>0]=l>>>16^p&255;r[P>>0]=l>>>8^d&255;r[M>>0]=l^a&255;a=o[n+204>>2]|0;r[B>>0]=a>>>24^u&255;r[N>>0]=a>>>16^f&255;r[j>>0]=a>>>8^c&255;r[E>>0]=a^e&255;xo(D);e=r[D>>0]|0;a=r[I>>0]|0;c=r[x>>0]|0;f=r[B>>0]|0;u=r[N>>0]|0;l=r[U>>0]|0;d=r[T>>0]|0;p=r[C>>0]|0;i=r[P>>0]|0;m=r[j>>0]|0;g=r[k>>0]|0;y=r[R>>0]|0;b=r[O>>0]|0;_=r[M>>0]|0;v=r[E>>0]|0;A=r[S>>0]|0}else{G=o[n+192>>2]|0;V=(G>>>24^A&255)&255;r[D>>0]=V;F=(G>>>16^w&255)&255;r[U>>0]=F;K=(G>>>8^a&255)&255;r[k>>0]=K;A=(G^c&255)&255;r[S>>0]=A;G=o[n+196>>2]|0;a=(G>>>24^f&255)&255;r[I>>0]=a;q=(G>>>16^u&255)&255;r[T>>0]=q;z=(G>>>8^l&255)&255;r[R>>0]=z;G=(G^d&255)&255;r[O>>0]=G;H=o[n+200>>2]|0;c=(H>>>24^p&255)&255;r[x>>0]=c;p=(H>>>16^m&255)&255;r[C>>0]=p;i=(H>>>8^g&255)&255;r[P>>0]=i;H=(H^y&255)&255;r[M>>0]=H;l=o[n+204>>2]|0;f=(l>>>24^b&255)&255;r[B>>0]=f;u=(l>>>16^_&255)&255;r[N>>0]=u;m=(l>>>8^v&255)&255;r[j>>0]=m;v=(l^e&255)&255;r[E>>0]=v;e=V;l=F;d=q;g=K;y=z;b=G;_=H}H=e&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;V=a&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[I>>0]=V;e=c&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;r[x>>0]=e;a=f&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;r[B>>0]=a;u=u&255;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;l=l&255;l=r[(l&15)+(34880+(l>>>4<<4))>>0]|0;d=d&255;d=r[(d&15)+(34880+(d>>>4<<4))>>0]|0;r[C>>0]=d;c=p&255;c=r[(c&15)+(34880+(c>>>4<<4))>>0]|0;r[N>>0]=c;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;p=y&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[j>>0]=p;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;y=_&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;f=v&255;f=r[(f&15)+(34880+(f>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;v=o[n+176>>2]|0;r[D>>0]=v>>>24^H&255;r[U>>0]=v>>>16^u&255;r[k>>0]=v>>>8^i&255;r[S>>0]=v^b&255;v=o[n+180>>2]|0;r[I>>0]=v>>>24^V&255;r[T>>0]=v>>>16^l&255;r[R>>0]=v>>>8^m&255;r[O>>0]=v^y&255;y=o[n+184>>2]|0;r[x>>0]=y>>>24^e&255;r[C>>0]=y>>>16^d&255;r[P>>0]=y>>>8^g&255;r[M>>0]=y^f&255;f=o[n+188>>2]|0;r[B>>0]=f>>>24^a&255;r[N>>0]=f>>>16^c&255;r[j>>0]=f>>>8^p&255;r[E>>0]=f^A&255;xo(D);A=r[N>>0]|0;f=r[C>>0]|0;p=r[T>>0]|0;y=r[U>>0]|0;g=r[j>>0]|0;c=r[R>>0]|0;v=r[P>>0]|0;d=r[k>>0]|0;a=r[E>>0]|0;e=r[S>>0]|0;m=r[O>>0]|0;l=r[M>>0]|0;V=s[D>>0]|0;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[D>>0]=V;b=s[I>>0]|0;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[I>>0]=b;i=s[x>>0]|0;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;r[x>>0]=i;u=s[B>>0]|0;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;r[B>>0]=u;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;p=p&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[C>>0]=p;f=f&255;f=r[(f&15)+(34880+(f>>>4<<4))>>0]|0;r[N>>0]=f;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;d=d&255;d=r[(d&15)+(34880+(d>>>4<<4))>>0]|0;c=c&255;c=r[(c&15)+(34880+(c>>>4<<4))>>0]|0;r[j>>0]=c;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;l=l&255;l=r[(l&15)+(34880+(l>>>4<<4))>>0]|0;a=a&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;e=e&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;_=o[n+160>>2]|0;r[D>>0]=_>>>24^V&255;r[U>>0]=_>>>16^A&255;r[k>>0]=_>>>8^v&255;r[S>>0]=_^m&255;m=o[n+164>>2]|0;r[I>>0]=m>>>24^b&255;r[T>>0]=m>>>16^y&255;r[R>>0]=m>>>8^g&255;r[O>>0]=m^l&255;l=o[n+168>>2]|0;r[x>>0]=l>>>24^i&255;r[C>>0]=l>>>16^p&255;r[P>>0]=l>>>8^d&255;r[M>>0]=l^a&255;a=o[n+172>>2]|0;r[B>>0]=a>>>24^u&255;r[N>>0]=a>>>16^f&255;r[j>>0]=a>>>8^c&255;r[E>>0]=a^e&255;xo(D);e=r[D>>0]|0;a=r[I>>0]|0;c=r[x>>0]|0;f=r[B>>0]|0;u=r[N>>0]|0;l=r[U>>0]|0;d=r[T>>0]|0;p=r[C>>0]|0;i=r[P>>0]|0;m=r[j>>0]|0;g=r[k>>0]|0;y=r[R>>0]|0;b=r[O>>0]|0;_=r[M>>0]|0;v=r[E>>0]|0;A=r[S>>0]|0}else{H=o[n+160>>2]|0;F=(H>>>24^A&255)&255;r[D>>0]=F;q=(H>>>16^w&255)&255;r[U>>0]=q;z=(H>>>8^a&255)&255;r[k>>0]=z;A=(H^c&255)&255;r[S>>0]=A;H=o[n+164>>2]|0;a=(H>>>24^f&255)&255;r[I>>0]=a;K=(H>>>16^u&255)&255;r[T>>0]=K;G=(H>>>8^l&255)&255;r[R>>0]=G;H=(H^d&255)&255;r[O>>0]=H;V=o[n+168>>2]|0;c=(V>>>24^p&255)&255;r[x>>0]=c;p=(V>>>16^m&255)&255;r[C>>0]=p;i=(V>>>8^g&255)&255;r[P>>0]=i;V=(V^y&255)&255;r[M>>0]=V;l=o[n+172>>2]|0;f=(l>>>24^b&255)&255;r[B>>0]=f;u=(l>>>16^_&255)&255;r[N>>0]=u;m=(l>>>8^v&255)&255;r[j>>0]=m;v=(l^e&255)&255;r[E>>0]=v;e=F;l=q;d=K;g=z;y=G;b=H;_=V}e=e&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;a=a&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;r[I>>0]=a;w=c&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[x>>0]=w;V=f&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[B>>0]=V;u=u&255;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;K=l&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;H=d&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;r[C>>0]=H;G=p&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[N>>0]=G;p=i&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;F=g&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;q=y&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[j>>0]=q;i=b&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;b=_&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;z=v&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;_=A&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;A=o[n+144>>2]|0;r[D>>0]=A>>>24^e&255;r[U>>0]=A>>>16^u&255;r[k>>0]=A>>>8^p&255;r[S>>0]=A^i&255;A=o[n+148>>2]|0;r[I>>0]=A>>>24^a&255;r[T>>0]=A>>>16^K&255;r[R>>0]=A>>>8^m&255;r[O>>0]=A^b&255;A=o[n+152>>2]|0;r[x>>0]=A>>>24^w&255;r[C>>0]=A>>>16^H&255;r[P>>0]=A>>>8^F&255;r[M>>0]=A^z&255;z=o[n+156>>2]|0;r[B>>0]=z>>>24^V&255;r[N>>0]=z>>>16^G&255;r[j>>0]=z>>>8^q&255;r[E>>0]=z^_&255;xo(D);_=r[N>>0]|0;z=r[C>>0]|0;q=r[T>>0]|0;G=r[U>>0]|0;A=r[j>>0]|0;b=r[R>>0]|0;V=r[P>>0]|0;F=r[k>>0]|0;m=r[E>>0]|0;H=r[S>>0]|0;i=r[O>>0]|0;w=r[M>>0]|0;g=s[D>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[D>>0]=g;p=s[I>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[I>>0]=p;K=s[x>>0]|0;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[x>>0]=K;v=s[B>>0]|0;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;r[B>>0]=v;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[C>>0]=q;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[N>>0]=z;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[j>>0]=b;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;y=o[n+128>>2]|0;r[D>>0]=y>>>24^g&255;r[U>>0]=y>>>16^_&255;r[k>>0]=y>>>8^V&255;r[S>>0]=y^i&255;i=o[n+132>>2]|0;r[I>>0]=i>>>24^p&255;r[T>>0]=i>>>16^G&255;r[R>>0]=i>>>8^A&255;r[O>>0]=i^w&255;w=o[n+136>>2]|0;r[x>>0]=w>>>24^K&255;r[C>>0]=w>>>16^q&255;r[P>>0]=w>>>8^F&255;r[M>>0]=w^m&255;m=o[n+140>>2]|0;r[B>>0]=m>>>24^v&255;r[N>>0]=m>>>16^z&255;r[j>>0]=m>>>8^b&255;r[E>>0]=m^H&255;xo(D);H=r[N>>0]|0;m=r[C>>0]|0;b=r[T>>0]|0;z=r[U>>0]|0;v=r[j>>0]|0;w=r[R>>0]|0;F=r[P>>0]|0;q=r[k>>0]|0;K=r[E>>0]|0;i=r[S>>0]|0;A=r[O>>0]|0;G=r[M>>0]|0;p=s[D>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[D>>0]=p;y=s[I>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[I>>0]=y;V=s[x>>0]|0;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[x>>0]=V;_=s[B>>0]|0;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;r[B>>0]=_;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[C>>0]=b;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[N>>0]=m;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[j>>0]=w;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;g=o[n+112>>2]|0;r[D>>0]=g>>>24^p&255;r[U>>0]=g>>>16^H&255;r[k>>0]=g>>>8^F&255;r[S>>0]=g^A&255;A=o[n+116>>2]|0;r[I>>0]=A>>>24^y&255;r[T>>0]=A>>>16^z&255;r[R>>0]=A>>>8^v&255;r[O>>0]=A^G&255;G=o[n+120>>2]|0;r[x>>0]=G>>>24^V&255;r[C>>0]=G>>>16^b&255;r[P>>0]=G>>>8^q&255;r[M>>0]=G^K&255;K=o[n+124>>2]|0;r[B>>0]=K>>>24^_&255;r[N>>0]=K>>>16^m&255;r[j>>0]=K>>>8^w&255;r[E>>0]=K^i&255;xo(D);i=r[N>>0]|0;K=r[C>>0]|0;w=r[T>>0]|0;m=r[U>>0]|0;_=r[j>>0]|0;G=r[R>>0]|0;q=r[P>>0]|0;b=r[k>>0]|0;V=r[E>>0]|0;A=r[S>>0]|0;v=r[O>>0]|0;z=r[M>>0]|0;y=s[D>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[D>>0]=y;g=s[I>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[I>>0]=g;F=s[x>>0]|0;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[x>>0]=F;H=s[B>>0]|0;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;r[B>>0]=H;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[C>>0]=w;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[N>>0]=K;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[j>>0]=G;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;p=o[n+96>>2]|0;r[D>>0]=p>>>24^y&255;r[U>>0]=p>>>16^i&255;r[k>>0]=p>>>8^q&255;r[S>>0]=p^v&255;v=o[n+100>>2]|0;r[I>>0]=v>>>24^g&255;r[T>>0]=v>>>16^m&255;r[R>>0]=v>>>8^_&255;r[O>>0]=v^z&255;z=o[n+104>>2]|0;r[x>>0]=z>>>24^F&255;r[C>>0]=z>>>16^w&255;r[P>>0]=z>>>8^b&255;r[M>>0]=z^V&255;V=o[n+108>>2]|0;r[B>>0]=V>>>24^H&255;r[N>>0]=V>>>16^K&255;r[j>>0]=V>>>8^G&255;r[E>>0]=V^A&255;xo(D);A=r[N>>0]|0;V=r[C>>0]|0;G=r[T>>0]|0;K=r[U>>0]|0;H=r[j>>0]|0;z=r[R>>0]|0;b=r[P>>0]|0;w=r[k>>0]|0;F=r[E>>0]|0;v=r[S>>0]|0;_=r[O>>0]|0;m=r[M>>0]|0;g=s[D>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[D>>0]=g;p=s[I>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[I>>0]=p;q=s[x>>0]|0;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[x>>0]=q;i=s[B>>0]|0;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;r[B>>0]=i;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[C>>0]=G;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[N>>0]=V;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[j>>0]=z;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;y=o[n+80>>2]|0;r[D>>0]=y>>>24^g&255;r[U>>0]=y>>>16^A&255;r[k>>0]=y>>>8^b&255;r[S>>0]=y^_&255;_=o[n+84>>2]|0;r[I>>0]=_>>>24^p&255;r[T>>0]=_>>>16^K&255;r[R>>0]=_>>>8^H&255;r[O>>0]=_^m&255;m=o[n+88>>2]|0;r[x>>0]=m>>>24^q&255;r[C>>0]=m>>>16^G&255;r[P>>0]=m>>>8^w&255;r[M>>0]=m^F&255;F=o[n+92>>2]|0;r[B>>0]=F>>>24^i&255;r[N>>0]=F>>>16^V&255;r[j>>0]=F>>>8^z&255;r[E>>0]=F^v&255;xo(D);v=r[N>>0]|0;F=r[C>>0]|0;z=r[T>>0]|0;V=r[U>>0]|0;i=r[j>>0]|0;m=r[R>>0]|0;w=r[P>>0]|0;G=r[k>>0]|0;q=r[E>>0]|0;_=r[S>>0]|0;H=r[O>>0]|0;K=r[M>>0]|0;p=s[D>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[D>>0]=p;y=s[I>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[I>>0]=y;b=s[x>>0]|0;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[x>>0]=b;A=s[B>>0]|0;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;r[B>>0]=A;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[C>>0]=z;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[N>>0]=F;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[j>>0]=m;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;g=o[n+64>>2]|0;r[D>>0]=g>>>24^p&255;r[U>>0]=g>>>16^v&255;r[k>>0]=g>>>8^w&255;r[S>>0]=g^H&255;H=o[n+68>>2]|0;r[I>>0]=H>>>24^y&255;r[T>>0]=H>>>16^V&255;r[R>>0]=H>>>8^i&255;r[O>>0]=H^K&255;K=o[n+72>>2]|0;r[x>>0]=K>>>24^b&255;r[C>>0]=K>>>16^z&255;r[P>>0]=K>>>8^G&255;r[M>>0]=K^q&255;q=o[n+76>>2]|0;r[B>>0]=q>>>24^A&255;r[N>>0]=q>>>16^F&255;r[j>>0]=q>>>8^m&255;r[E>>0]=q^_&255;xo(D);_=r[N>>0]|0;q=r[C>>0]|0;m=r[T>>0]|0;F=r[U>>0]|0;A=r[j>>0]|0;K=r[R>>0]|0;G=r[P>>0]|0;z=r[k>>0]|0;b=r[E>>0]|0;H=r[S>>0]|0;i=r[O>>0]|0;V=r[M>>0]|0;y=s[D>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[D>>0]=y;g=s[I>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[I>>0]=g;w=s[x>>0]|0;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[x>>0]=w;v=s[B>>0]|0;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;r[B>>0]=v;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[C>>0]=m;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[N>>0]=q;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[j>>0]=K;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;p=o[n+48>>2]|0;r[D>>0]=p>>>24^y&255;r[U>>0]=p>>>16^_&255;r[k>>0]=p>>>8^G&255;r[S>>0]=p^i&255;i=o[n+52>>2]|0;r[I>>0]=i>>>24^g&255;r[T>>0]=i>>>16^F&255;r[R>>0]=i>>>8^A&255;r[O>>0]=i^V&255;V=o[n+56>>2]|0;r[x>>0]=V>>>24^w&255;r[C>>0]=V>>>16^m&255;r[P>>0]=V>>>8^z&255;r[M>>0]=V^b&255;b=o[n+60>>2]|0;r[B>>0]=b>>>24^v&255;r[N>>0]=b>>>16^q&255;r[j>>0]=b>>>8^K&255;r[E>>0]=b^H&255;xo(D);H=r[N>>0]|0;b=r[C>>0]|0;K=r[T>>0]|0;q=r[U>>0]|0;v=r[j>>0]|0;V=r[R>>0]|0;z=r[P>>0]|0;m=r[k>>0]|0;w=r[E>>0]|0;i=r[S>>0]|0;A=r[O>>0]|0;F=r[M>>0]|0;g=s[D>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[D>>0]=g;p=s[I>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[I>>0]=p;G=s[x>>0]|0;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[x>>0]=G;_=s[B>>0]|0;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;r[B>>0]=_;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[C>>0]=K;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[N>>0]=b;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[j>>0]=V;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;y=o[n+32>>2]|0;r[D>>0]=y>>>24^g&255;r[U>>0]=y>>>16^H&255;r[k>>0]=y>>>8^z&255;r[S>>0]=y^A&255;A=o[n+36>>2]|0;r[I>>0]=A>>>24^p&255;r[T>>0]=A>>>16^q&255;r[R>>0]=A>>>8^v&255;r[O>>0]=A^F&255;F=o[n+40>>2]|0;r[x>>0]=F>>>24^G&255;r[C>>0]=F>>>16^K&255;r[P>>0]=F>>>8^m&255;r[M>>0]=F^w&255;w=o[n+44>>2]|0;r[B>>0]=w>>>24^_&255;r[N>>0]=w>>>16^b&255;r[j>>0]=w>>>8^V&255;r[E>>0]=w^i&255;xo(D);i=r[N>>0]|0;w=r[C>>0]|0;V=r[T>>0]|0;b=r[U>>0]|0;_=r[j>>0]|0;F=r[R>>0]|0;m=r[P>>0]|0;K=r[k>>0]|0;G=r[E>>0]|0;A=r[S>>0]|0;v=r[O>>0]|0;q=r[M>>0]|0;p=s[D>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[D>>0]=p;y=s[I>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[I>>0]=y;z=s[x>>0]|0;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[x>>0]=z;H=s[B>>0]|0;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;r[B>>0]=H;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[C>>0]=V;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[N>>0]=w;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[j>>0]=F;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;g=o[n+16>>2]|0;r[D>>0]=g>>>24^p&255;r[U>>0]=g>>>16^i&255;r[k>>0]=g>>>8^m&255;r[S>>0]=g^v&255;v=o[n+20>>2]|0;r[I>>0]=v>>>24^y&255;r[T>>0]=v>>>16^b&255;r[R>>0]=v>>>8^_&255;r[O>>0]=v^q&255;q=o[n+24>>2]|0;r[x>>0]=q>>>24^z&255;r[C>>0]=q>>>16^V&255;r[P>>0]=q>>>8^K&255;r[M>>0]=q^G&255;G=o[n+28>>2]|0;r[B>>0]=G>>>24^H&255;r[N>>0]=G>>>16^w&255;r[j>>0]=G>>>8^F&255;r[E>>0]=G^A&255;xo(D);A=r[N>>0]|0;G=r[C>>0]|0;F=r[T>>0]|0;w=r[U>>0]|0;T=r[j>>0]|0;H=r[R>>0]|0;P=r[P>>0]|0;q=r[k>>0]|0;K=r[E>>0]|0;V=r[S>>0]|0;C=r[O>>0]|0;N=r[M>>0]|0;R=s[D>>0]|0;R=r[(R&15)+(34880+(R>>>4<<4))>>0]|0;r[D>>0]=R;M=s[I>>0]|0;M=r[(M&15)+(34880+(M>>>4<<4))>>0]|0;r[I>>0]=M;U=s[x>>0]|0;U=r[(U&15)+(34880+(U>>>4<<4))>>0]|0;r[x>>0]=U;z=s[B>>0]|0;O=A&255;D=w&255;F=F&255;G=G&255;x=P&255;B=T&255;q=q&255;H=H&255;C=C&255;N=N&255;K=K&255;V=V&255;T=o[n>>2]|0;O=(T>>>16^(s[(O&15)+(34880+(O>>>4<<4))>>0]|0))&255;x=(T>>>8^(s[(x&15)+(34880+(x>>>4<<4))>>0]|0))&255;C=(T^(s[(C&15)+(34880+(C>>>4<<4))>>0]|0))&255;P=o[n+4>>2]|0;D=(P>>>16^(s[(D&15)+(34880+(D>>>4<<4))>>0]|0))&255;B=(P>>>8^(s[(B&15)+(34880+(B>>>4<<4))>>0]|0))&255;N=(P^(s[(N&15)+(34880+(N>>>4<<4))>>0]|0))&255;j=o[n+8>>2]|0;F=(j>>>16^(s[(F&15)+(34880+(F>>>4<<4))>>0]|0))&255;q=(j>>>8^(s[(q&15)+(34880+(q>>>4<<4))>>0]|0))&255;K=(j^(s[(K&15)+(34880+(K>>>4<<4))>>0]|0))&255;n=o[n+12>>2]|0;z=(n>>>24^(s[(z&15)+(34880+(z>>>4<<4))>>0]|0))&255;G=(n>>>16^(s[(G&15)+(34880+(G>>>4<<4))>>0]|0))&255;H=(n>>>8^(s[(H&15)+(34880+(H>>>4<<4))>>0]|0))&255;V=(n^(s[(V&15)+(34880+(V>>>4<<4))>>0]|0))&255;r[t>>0]=T>>>24^R&255;r[t+1>>0]=O;r[t+2>>0]=x;r[t+3>>0]=C;r[t+4>>0]=P>>>24^M&255;r[t+5>>0]=D;r[t+6>>0]=B;r[t+7>>0]=N;r[t+8>>0]=j>>>24^U&255;r[t+9>>0]=F;r[t+10>>0]=q;r[t+11>>0]=K;r[t+12>>0]=z;r[t+13>>0]=G;r[t+14>>0]=H;r[t+15>>0]=V;h=L;return}function Po(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0,at=0,ct=0,ft=0,ut=0,lt=0,dt=0,ht=0,pt=0,mt=0,gt=0,yt=0,bt=0,_t=0,vt=0,At=0,wt=0,Et=0,kt=0,St=0,It=0,Tt=0,Rt=0,Ot=0,xt=0,Ct=0,Pt=0,Mt=0,Dt=0,Bt=0,Nt=0,jt=0,Ut=0,Lt=0,Ft=0,qt=0;Pt=h;h=h+2768|0;bt=Pt+2608|0;_t=Pt+2448|0;xt=Pt+2288|0;vt=Pt+2128|0;At=Pt+1968|0;wt=Pt+1808|0;Ct=Pt+1648|0;Et=Pt+1488|0;kt=Pt+1328|0;St=Pt+1168|0;f=Pt+1008|0;c=Pt+848|0;a=Pt+688|0;i=Pt+528|0;It=Pt+368|0;at=Pt+288|0;Tt=Pt+208|0;Rt=Pt+112|0;Ot=Pt+32|0;ct=Pt;st=ct;ot=st+32|0;do{r[st>>0]=r[t>>0]|0;st=st+1|0;t=t+1|0}while((st|0)<(ot|0));r[ct>>0]=r[ct>>0]&-8;st=ct+31|0;r[st>>0]=r[st>>0]&63|64;st=s[n>>0]|0;pt=Cs(s[n+1>>0]|0|0,0,8)|0;ht=I;gt=Cs(s[n+2>>0]|0|0,0,16)|0;ht=ht|I;mt=s[n+3>>0]|0;ot=Cs(mt|0,0,24)|0;yt=at;o[yt>>2]=pt|st|gt|ot&50331648;o[yt+4>>2]=ht;yt=Cs(s[n+4>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+5>>0]|0|0,0,16)|0;ht=ht|I;gt=s[n+6>>0]|0;st=Cs(gt|0,0,24)|0;ht=xs(yt|mt|ot|st|0,ht|I|0,2)|0;st=at+8|0;o[st>>2]=ht&33554431;o[st+4>>2]=0;st=Cs(s[n+7>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+8>>0]|0|0,0,16)|0;ht=ht|I;mt=s[n+9>>0]|0;yt=Cs(mt|0,0,24)|0;ht=xs(st|gt|ot|yt|0,ht|I|0,3)|0;yt=at+16|0;o[yt>>2]=ht&67108863;o[yt+4>>2]=0;yt=Cs(s[n+10>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+11>>0]|0|0,0,16)|0;ht=ht|I;gt=s[n+12>>0]|0;st=Cs(gt|0,0,24)|0;ht=xs(yt|mt|ot|st|0,ht|I|0,5)|0;st=at+24|0;o[st>>2]=ht&33554431;o[st+4>>2]=0;st=Cs(s[n+13>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+14>>0]|0|0,0,16)|0;ht=ht|I;mt=Cs(s[n+15>>0]|0|0,0,24)|0;ht=xs(st|gt|ot|mt|0,ht|I|0,6)|0;mt=at+32|0;o[mt>>2]=ht&67108863;o[mt+4>>2]=0;mt=s[n+16>>0]|0;ht=Cs(s[n+17>>0]|0|0,0,8)|0;ot=I;gt=Cs(s[n+18>>0]|0|0,0,16)|0;ot=ot|I;st=s[n+19>>0]|0;yt=Cs(st|0,0,24)|0;pt=at+40|0;o[pt>>2]=ht|mt|gt|yt&16777216;o[pt+4>>2]=ot;pt=Cs(s[n+20>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+21>>0]|0|0,0,16)|0;ot=ot|I;gt=s[n+22>>0]|0;mt=Cs(gt|0,0,24)|0;ot=xs(pt|st|yt|mt|0,ot|I|0,1)|0;mt=at+48|0;o[mt>>2]=ot&67108863;o[mt+4>>2]=0;mt=Cs(s[n+23>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+24>>0]|0|0,0,16)|0;ot=ot|I;st=s[n+25>>0]|0;pt=Cs(st|0,0,24)|0;ot=xs(mt|gt|yt|pt|0,ot|I|0,3)|0;pt=at+56|0;o[pt>>2]=ot&33554431;o[pt+4>>2]=0;pt=Cs(s[n+26>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+27>>0]|0|0,0,16)|0;ot=ot|I;gt=s[n+28>>0]|0;mt=Cs(gt|0,0,24)|0;ot=xs(pt|st|yt|mt|0,ot|I|0,4)|0;mt=at+64|0;o[mt>>2]=ot&67108863;o[mt+4>>2]=0;mt=Cs(s[n+29>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+30>>0]|0|0,0,16)|0;ot=ot|I;st=Cs(s[n+31>>0]|0|0,0,24)|0;ot=xs(mt|gt|yt|st|0,ot|I|0,6)|0;st=at+72|0;o[st>>2]=ot&33554431;o[st+4>>2]=0;Ds(Et|0,0,152)|0;st=Et;o[st>>2]=1;o[st+4>>2]=0;Ds(kt|0,0,152)|0;st=kt;o[st>>2]=1;o[st+4>>2]=0;Ds(St|0,0,152)|0;Ds(f|0,0,152)|0;Ds(c|0,0,152)|0;st=c;o[st>>2]=1;o[st+4>>2]=0;Ds(a|0,0,152)|0;Ds(i|0,0,152)|0;st=i;o[st>>2]=1;o[st+4>>2]=0;st=Ct+80|0;ot=st+72|0;do{o[st>>2]=0;st=st+4|0}while((st|0)<(ot|0));st=Ct;t=at;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));oe=xt+144|0;se=xt+64|0;ae=xt+136|0;ce=xt+56|0;fe=xt+128|0;ue=xt+48|0;le=xt+120|0;de=xt+40|0;he=xt+112|0;pe=xt+32|0;me=xt+104|0;ge=xt+24|0;ye=xt+96|0;be=xt+16|0;_e=xt+88|0;ve=xt+8|0;Ae=xt+80|0;we=vt+144|0;Ee=vt+64|0;ke=vt+136|0;Se=vt+56|0;Ie=vt+128|0;Te=vt+48|0;Re=vt+120|0;Oe=vt+40|0;xe=vt+112|0;Ce=vt+32|0;Pe=vt+104|0;Me=vt+24|0;De=vt+96|0;Be=vt+16|0;Ne=vt+88|0;je=vt+8|0;Ue=vt+80|0;ie=xt+72|0;Le=vt+72|0;Fe=bt+8|0;qe=_t+8|0;Ke=bt+16|0;ze=_t+16|0;Ge=bt+24|0;He=_t+24|0;Ve=bt+32|0;Qe=_t+32|0;We=bt+40|0;Ye=_t+40|0;Xe=bt+48|0;Je=_t+48|0;Ze=bt+56|0;$e=_t+56|0;et=bt+64|0;tt=_t+64|0;nt=bt+72|0;rt=_t+72|0;ft=It+80|0;ut=It+8|0;lt=It+16|0;dt=It+24|0;ht=It+32|0;pt=It+40|0;mt=It+48|0;gt=It+56|0;yt=It+64|0;it=It+72|0;d=Ct;re=0;t=f;n=Et;f=St;u=kt;while(1){l=r[ct+(31-re)>>0]|0;$=0;ee=i;te=a;ne=c;J=t;c=n;i=f;a=u;Z=d;while(1){Y=l&255;X=Y>>>7;Mo(a,Z,X,0);Mo(i,c,X,0);E=a;u=o[E>>2]|0;E=o[E+4>>2]|0;V=a+8|0;G=V;P=o[G>>2]|0;G=o[G+4>>2]|0;Nt=a+16|0;T=Nt;S=o[T>>2]|0;T=o[T+4>>2]|0;R=a+24|0;Mt=R;Q=o[Mt>>2]|0;Mt=o[Mt+4>>2]|0;_=a+32|0;v=_;jt=o[v>>2]|0;v=o[v+4>>2]|0;y=a+40|0;l=y;O=o[l>>2]|0;l=o[l+4>>2]|0;z=a+48|0;ot=z;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;B=a+56|0;x=B;F=o[x>>2]|0;x=o[x+4>>2]|0;Ut=a+64|0;A=Ut;U=o[A>>2]|0;A=o[A+4>>2]|0;g=a+72|0;Dt=g;Bt=o[Dt>>2]|0;Dt=o[Dt+4>>2]|0;k=i;j=o[k>>2]|0;k=o[k+4>>2]|0;b=ks(j|0,k|0,u|0,E|0)|0;p=a;o[p>>2]=b;o[p+4>>2]=I;p=i+8|0;b=p;H=o[b>>2]|0;b=o[b+4>>2]|0;D=ks(H|0,b|0,P|0,G|0)|0;o[V>>2]=D;o[V+4>>2]=I;V=i+16|0;D=V;L=o[D>>2]|0;D=o[D+4>>2]|0;f=ks(L|0,D|0,S|0,T|0)|0;o[Nt>>2]=f;o[Nt+4>>2]=I;Nt=i+24|0;f=Nt;n=o[f>>2]|0;f=o[f+4>>2]|0;Ft=ks(n|0,f|0,Q|0,Mt|0)|0;o[R>>2]=Ft;o[R+4>>2]=I;R=i+32|0;Ft=R;m=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;N=ks(m|0,Ft|0,jt|0,v|0)|0;o[_>>2]=N;o[_+4>>2]=I;_=i+40|0;N=_;q=o[N>>2]|0;N=o[N+4>>2]|0;w=ks(q|0,N|0,O|0,l|0)|0;o[y>>2]=w;o[y+4>>2]=I;y=i+48|0;w=y;M=o[w>>2]|0;w=o[w+4>>2]|0;d=ks(M|0,w|0,W|0,ot|0)|0;o[z>>2]=d;o[z+4>>2]=I;z=i+56|0;d=z;C=o[d>>2]|0;d=o[d+4>>2]|0;st=ks(C|0,d|0,F|0,x|0)|0;o[B>>2]=st;o[B+4>>2]=I;B=i+64|0;st=B;t=o[st>>2]|0;st=o[st+4>>2]|0;Lt=ks(t|0,st|0,U|0,A|0)|0;o[Ut>>2]=Lt;o[Ut+4>>2]=I;Ut=i+72|0;Lt=Ut;K=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;qt=ks(K|0,Lt|0,Bt|0,Dt|0)|0;o[g>>2]=qt;o[g+4>>2]=I;k=Ss(u|0,E|0,j|0,k|0)|0;j=i;o[j>>2]=k;o[j+4>>2]=I;b=Ss(P|0,G|0,H|0,b|0)|0;o[p>>2]=b;o[p+4>>2]=I;D=Ss(S|0,T|0,L|0,D|0)|0;o[V>>2]=D;o[V+4>>2]=I;f=Ss(Q|0,Mt|0,n|0,f|0)|0;o[Nt>>2]=f;o[Nt+4>>2]=I;Ft=Ss(jt|0,v|0,m|0,Ft|0)|0;o[R>>2]=Ft;o[R+4>>2]=I;N=Ss(O|0,l|0,q|0,N|0)|0;o[_>>2]=N;o[_+4>>2]=I;w=Ss(W|0,ot|0,M|0,w|0)|0;o[y>>2]=w;o[y+4>>2]=I;d=Ss(F|0,x|0,C|0,d|0)|0;o[z>>2]=d;o[z+4>>2]=I;st=Ss(U|0,A|0,t|0,st|0)|0;o[B>>2]=st;o[B+4>>2]=I;Lt=Ss(Bt|0,Dt|0,K|0,Lt|0)|0;o[Ut>>2]=Lt;o[Ut+4>>2]=I;Ut=Z;Lt=o[Ut>>2]|0;Ut=o[Ut+4>>2]|0;K=Z+8|0;Dt=K;Bt=o[Dt>>2]|0;Dt=o[Dt+4>>2]|0;B=Z+16|0;st=B;t=o[st>>2]|0;st=o[st+4>>2]|0;A=Z+24|0;U=A;z=o[U>>2]|0;U=o[U+4>>2]|0;d=Z+32|0;C=d;x=o[C>>2]|0;C=o[C+4>>2]|0;F=Z+40|0;y=F;w=o[y>>2]|0;y=o[y+4>>2]|0;M=Z+48|0;ot=M;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;_=Z+56|0;N=_;q=o[N>>2]|0;N=o[N+4>>2]|0;l=Z+64|0;O=l;R=o[O>>2]|0;O=o[O+4>>2]|0;Ft=Z+72|0;m=Ft;v=o[m>>2]|0;m=o[m+4>>2]|0;jt=c;Nt=o[jt>>2]|0;jt=o[jt+4>>2]|0;f=ks(Nt|0,jt|0,Lt|0,Ut|0)|0;n=Z;o[n>>2]=f;o[n+4>>2]=I;n=c+8|0;f=n;Mt=o[f>>2]|0;f=o[f+4>>2]|0;Q=ks(Mt|0,f|0,Bt|0,Dt|0)|0;o[K>>2]=Q;o[K+4>>2]=I;K=c+16|0;Q=K;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;D=ks(V|0,Q|0,t|0,st|0)|0;o[B>>2]=D;o[B+4>>2]=I;B=c+24|0;D=B;L=o[D>>2]|0;D=o[D+4>>2]|0;T=ks(L|0,D|0,z|0,U|0)|0;o[A>>2]=T;o[A+4>>2]=I;A=c+32|0;T=A;S=o[T>>2]|0;T=o[T+4>>2]|0;p=ks(S|0,T|0,x|0,C|0)|0;o[d>>2]=p;o[d+4>>2]=I;d=c+40|0;p=d;b=o[p>>2]|0;p=o[p+4>>2]|0;H=ks(b|0,p|0,w|0,y|0)|0;o[F>>2]=H;o[F+4>>2]=I;F=c+48|0;H=F;G=o[H>>2]|0;H=o[H+4>>2]|0;P=ks(G|0,H|0,W|0,ot|0)|0;o[M>>2]=P;o[M+4>>2]=I;M=c+56|0;P=M;j=o[P>>2]|0;P=o[P+4>>2]|0;k=ks(j|0,P|0,q|0,N|0)|0;o[_>>2]=k;o[_+4>>2]=I;_=c+64|0;k=_;E=o[k>>2]|0;k=o[k+4>>2]|0;u=ks(E|0,k|0,R|0,O|0)|0;o[l>>2]=u;o[l+4>>2]=I;l=c+72|0;u=l;g=o[u>>2]|0;u=o[u+4>>2]|0;qt=ks(g|0,u|0,v|0,m|0)|0;o[Ft>>2]=qt;o[Ft+4>>2]=I;jt=Ss(Lt|0,Ut|0,Nt|0,jt|0)|0;Nt=c;o[Nt>>2]=jt;o[Nt+4>>2]=I;f=Ss(Bt|0,Dt|0,Mt|0,f|0)|0;o[n>>2]=f;o[n+4>>2]=I;Q=Ss(t|0,st|0,V|0,Q|0)|0;o[K>>2]=Q;o[K+4>>2]=I;D=Ss(z|0,U|0,L|0,D|0)|0;o[B>>2]=D;o[B+4>>2]=I;T=Ss(x|0,C|0,S|0,T|0)|0;o[A>>2]=T;o[A+4>>2]=I;p=Ss(w|0,y|0,b|0,p|0)|0;o[d>>2]=p;o[d+4>>2]=I;H=Ss(W|0,ot|0,G|0,H|0)|0;o[F>>2]=H;o[F+4>>2]=I;P=Ss(q|0,N|0,j|0,P|0)|0;o[M>>2]=P;o[M+4>>2]=I;k=Ss(R|0,O|0,E|0,k|0)|0;o[_>>2]=k;o[_+4>>2]=I;u=Ss(v|0,m|0,g|0,u|0)|0;o[l>>2]=u;o[l+4>>2]=I;Do(xt,Z,i);Do(vt,a,c);l=oe;u=o[l>>2]|0;l=o[l+4>>2]|0;g=se;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=se;o[v>>2]=_;o[v+4>>2]=I;v=ae;_=o[v>>2]|0;v=o[v+4>>2]|0;l=ce;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=ce;o[g>>2]=m;o[g+4>>2]=I;g=fe;m=o[g>>2]|0;g=o[g+4>>2]|0;v=ue;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=ue;o[l>>2]=u;o[l+4>>2]=I;l=le;u=o[l>>2]|0;l=o[l+4>>2]|0;g=de;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=de;o[v>>2]=_;o[v+4>>2]=I;v=he;_=o[v>>2]|0;v=o[v+4>>2]|0;l=pe;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=pe;o[g>>2]=m;o[g+4>>2]=I;g=me;m=o[g>>2]|0;g=o[g+4>>2]|0;v=ge;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=ge;o[l>>2]=u;o[l+4>>2]=I;l=ye;u=o[l>>2]|0;l=o[l+4>>2]|0;g=be;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=be;o[v>>2]=_;o[v+4>>2]=I;v=_e;_=o[v>>2]|0;v=o[v+4>>2]|0;l=ve;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=ve;o[g>>2]=m;o[g+4>>2]=I;g=Ae;m=o[g>>2]|0;g=o[g+4>>2]|0;v=xt;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=xt;o[l>>2]=u;o[l+4>>2]=I;Bo(xt);l=we;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Ee;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=Ee;o[v>>2]=_;o[v+4>>2]=I;v=ke;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Se;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=Se;o[g>>2]=m;o[g+4>>2]=I;g=Ie;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Te;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=Te;o[l>>2]=u;o[l+4>>2]=I;l=Re;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Oe;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=Oe;o[v>>2]=_;o[v+4>>2]=I;v=xe;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Ce;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=Ce;o[g>>2]=m;o[g+4>>2]=I;g=Pe;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Me;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=Me;o[l>>2]=u;o[l+4>>2]=I;l=De;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Be;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=Be;o[v>>2]=_;o[v+4>>2]=I;v=Ne;_=o[v>>2]|0;v=o[v+4>>2]|0;l=je;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=je;o[g>>2]=m;o[g+4>>2]=I;g=Ue;m=o[g>>2]|0;g=o[g+4>>2]|0;v=vt;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=vt;o[l>>2]=u;o[l+4>>2]=I;Bo(vt);l=xt;u=o[l>>2]|0;l=o[l+4>>2]|0;g=ve;m=o[g>>2]|0;g=o[g+4>>2]|0;v=be;_=o[v>>2]|0;v=o[v+4>>2]|0;k=ge;E=o[k>>2]|0;k=o[k+4>>2]|0;O=pe;R=o[O>>2]|0;O=o[O+4>>2]|0;M=de;P=o[M>>2]|0;M=o[M+4>>2]|0;j=ue;N=o[j>>2]|0;j=o[j+4>>2]|0;q=ce;F=o[q>>2]|0;q=o[q+4>>2]|0;H=se;G=o[H>>2]|0;H=o[H+4>>2]|0;ot=ie;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;d=vt;p=o[d>>2]|0;d=o[d+4>>2]|0;b=ks(p|0,d|0,u|0,l|0)|0;y=xt;o[y>>2]=b;o[y+4>>2]=I;y=je;b=o[y>>2]|0;y=o[y+4>>2]|0;w=ks(b|0,y|0,m|0,g|0)|0;A=ve;o[A>>2]=w;o[A+4>>2]=I;A=Be;w=o[A>>2]|0;A=o[A+4>>2]|0;T=ks(w|0,A|0,_|0,v|0)|0;S=be;o[S>>2]=T;o[S+4>>2]=I;S=Me;T=o[S>>2]|0;S=o[S+4>>2]|0;C=ks(T|0,S|0,E|0,k|0)|0;x=ge;o[x>>2]=C;o[x+4>>2]=I;x=Ce;C=o[x>>2]|0;x=o[x+4>>2]|0;B=ks(C|0,x|0,R|0,O|0)|0;D=pe;o[D>>2]=B;o[D+4>>2]=I;D=Oe;B=o[D>>2]|0;D=o[D+4>>2]|0;L=ks(B|0,D|0,P|0,M|0)|0;U=de;o[U>>2]=L;o[U+4>>2]=I;U=Te;L=o[U>>2]|0;U=o[U+4>>2]|0;z=ks(L|0,U|0,N|0,j|0)|0;K=ue;o[K>>2]=z;o[K+4>>2]=I;K=Se;z=o[K>>2]|0;K=o[K+4>>2]|0;Q=ks(z|0,K|0,F|0,q|0)|0;V=ce;o[V>>2]=Q;o[V+4>>2]=I;V=Ee;Q=o[V>>2]|0;V=o[V+4>>2]|0;st=ks(Q|0,V|0,G|0,H|0)|0;t=se;o[t>>2]=st;o[t+4>>2]=I;t=Le;st=o[t>>2]|0;t=o[t+4>>2]|0;n=ks(st|0,t|0,W|0,ot|0)|0;f=ie;o[f>>2]=n;o[f+4>>2]=I;d=Ss(u|0,l|0,p|0,d|0)|0;p=vt;o[p>>2]=d;o[p+4>>2]=I;y=Ss(m|0,g|0,b|0,y|0)|0;b=je;o[b>>2]=y;o[b+4>>2]=I;A=Ss(_|0,v|0,w|0,A|0)|0;w=Be;o[w>>2]=A;o[w+4>>2]=I;S=Ss(E|0,k|0,T|0,S|0)|0;T=Me;o[T>>2]=S;o[T+4>>2]=I;x=Ss(R|0,O|0,C|0,x|0)|0;C=Ce;o[C>>2]=x;o[C+4>>2]=I;D=Ss(P|0,M|0,B|0,D|0)|0;B=Oe;o[B>>2]=D;o[B+4>>2]=I;U=Ss(N|0,j|0,L|0,U|0)|0;L=Te;o[L>>2]=U;o[L+4>>2]=I;K=Ss(F|0,q|0,z|0,K|0)|0;z=Se;o[z>>2]=K;o[z+4>>2]=I;V=Ss(G|0,H|0,Q|0,V|0)|0;Q=Ee;o[Q>>2]=V;o[Q+4>>2]=I;t=Ss(W|0,ot|0,st|0,t|0)|0;st=Le;o[st>>2]=t;o[st+4>>2]=I;No(wt,xt);No(At,vt);Do(vt,At,at);st=we;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Ee;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Es(t|0,st|0,18,0)|0;V=I;st=ks(W|0,ot|0,t|0,st|0)|0;V=ks(st|0,I|0,Q|0,V|0)|0;Q=Ee;o[Q>>2]=V;o[Q+4>>2]=I;Q=ke;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Se;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(V|0,Q|0,18,0)|0;W=I;Q=ks(t|0,st|0,V|0,Q|0)|0;W=ks(Q|0,I|0,ot|0,W|0)|0;ot=Se;o[ot>>2]=W;o[ot+4>>2]=I;ot=Ie;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Te;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Es(W|0,ot|0,18,0)|0;t=I;ot=ks(V|0,Q|0,W|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=Te;o[st>>2]=t;o[st+4>>2]=I;st=Re;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Oe;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Es(t|0,st|0,18,0)|0;V=I;st=ks(W|0,ot|0,t|0,st|0)|0;V=ks(st|0,I|0,Q|0,V|0)|0;Q=Oe;o[Q>>2]=V;o[Q+4>>2]=I;Q=xe;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Ce;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(V|0,Q|0,18,0)|0;W=I;Q=ks(t|0,st|0,V|0,Q|0)|0;W=ks(Q|0,I|0,ot|0,W|0)|0;ot=Ce;o[ot>>2]=W;o[ot+4>>2]=I;ot=Pe;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Me;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Es(W|0,ot|0,18,0)|0;t=I;ot=ks(V|0,Q|0,W|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=Me;o[st>>2]=t;o[st+4>>2]=I;st=De;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Be;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Es(t|0,st|0,18,0)|0;V=I;st=ks(W|0,ot|0,t|0,st|0)|0;V=ks(st|0,I|0,Q|0,V|0)|0;Q=Be;o[Q>>2]=V;o[Q+4>>2]=I;Q=Ne;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=je;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(V|0,Q|0,18,0)|0;W=I;Q=ks(t|0,st|0,V|0,Q|0)|0;W=ks(Q|0,I|0,ot|0,W|0)|0;ot=je;o[ot>>2]=W;o[ot+4>>2]=I;ot=Ue;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=vt;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Es(W|0,ot|0,18,0)|0;t=I;ot=ks(V|0,Q|0,W|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=vt;o[st>>2]=t;o[st+4>>2]=I;Bo(vt);st=J;t=wt;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));st=ne;t=vt;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(bt,a);No(_t,i);Do(te,bt,_t);f=te+144|0;p=o[f>>2]|0;f=o[f+4>>2]|0;d=te+64|0;l=d;u=o[l>>2]|0;l=o[l+4>>2]|0;t=Es(p|0,f|0,18,0)|0;n=I;f=ks(u|0,l|0,p|0,f|0)|0;n=ks(f|0,I|0,t|0,n|0)|0;o[d>>2]=n;o[d+4>>2]=I;d=te+136|0;n=o[d>>2]|0;d=o[d+4>>2]|0;t=te+56|0;f=t;p=o[f>>2]|0;f=o[f+4>>2]|0;l=Es(n|0,d|0,18,0)|0;u=I;d=ks(p|0,f|0,n|0,d|0)|0;u=ks(d|0,I|0,l|0,u|0)|0;o[t>>2]=u;o[t+4>>2]=I;t=te+128|0;u=o[t>>2]|0;t=o[t+4>>2]|0;l=te+48|0;d=l;n=o[d>>2]|0;d=o[d+4>>2]|0;f=Es(u|0,t|0,18,0)|0;p=I;t=ks(n|0,d|0,u|0,t|0)|0;p=ks(t|0,I|0,f|0,p|0)|0;o[l>>2]=p;o[l+4>>2]=I;l=te+120|0;p=o[l>>2]|0;l=o[l+4>>2]|0;f=te+40|0;t=f;u=o[t>>2]|0;t=o[t+4>>2]|0;d=Es(p|0,l|0,18,0)|0;n=I;l=ks(u|0,t|0,p|0,l|0)|0;n=ks(l|0,I|0,d|0,n|0)|0;o[f>>2]=n;o[f+4>>2]=I;f=te+112|0;n=o[f>>2]|0;f=o[f+4>>2]|0;d=te+32|0;l=d;p=o[l>>2]|0;l=o[l+4>>2]|0;t=Es(n|0,f|0,18,0)|0;u=I;f=ks(p|0,l|0,n|0,f|0)|0;u=ks(f|0,I|0,t|0,u|0)|0;o[d>>2]=u;o[d+4>>2]=I;d=te+104|0;u=o[d>>2]|0;d=o[d+4>>2]|0;t=te+24|0;f=t;n=o[f>>2]|0;f=o[f+4>>2]|0;l=Es(u|0,d|0,18,0)|0;p=I;d=ks(n|0,f|0,u|0,d|0)|0;p=ks(d|0,I|0,l|0,p|0)|0;o[t>>2]=p;o[t+4>>2]=I;t=te+96|0;p=o[t>>2]|0;t=o[t+4>>2]|0;l=te+16|0;d=l;u=o[d>>2]|0;d=o[d+4>>2]|0;f=Es(p|0,t|0,18,0)|0;n=I;t=ks(u|0,d|0,p|0,t|0)|0;n=ks(t|0,I|0,f|0,n|0)|0;o[l>>2]=n;o[l+4>>2]=I;l=te+88|0;n=o[l>>2]|0;l=o[l+4>>2]|0;f=te+8|0;t=f;p=o[t>>2]|0;t=o[t+4>>2]|0;d=Es(n|0,l|0,18,0)|0;u=I;l=ks(p|0,t|0,n|0,l|0)|0;u=ks(l|0,I|0,d|0,u|0)|0;o[f>>2]=u;o[f+4>>2]=I;f=te+80|0;u=o[f>>2]|0;f=o[f+4>>2]|0;d=te;l=o[d>>2]|0;d=o[d+4>>2]|0;n=Es(u|0,f|0,18,0)|0;t=I;f=ks(l|0,d|0,u|0,f|0)|0;t=ks(f|0,I|0,n|0,t|0)|0;n=te;o[n>>2]=t;o[n+4>>2]=I;Bo(te);n=bt;t=o[n>>2]|0;n=o[n+4>>2]|0;f=_t;f=Ss(t|0,n|0,o[f>>2]|0,o[f+4>>2]|0)|0;u=I;d=_t;o[d>>2]=f;o[d+4>>2]=u;d=Fe;l=o[d>>2]|0;d=o[d+4>>2]|0;p=qe;p=Ss(l|0,d|0,o[p>>2]|0,o[p+4>>2]|0)|0;m=I;y=qe;o[y>>2]=p;o[y+4>>2]=m;y=Ke;g=o[y>>2]|0;y=o[y+4>>2]|0;b=ze;b=Ss(g|0,y|0,o[b>>2]|0,o[b+4>>2]|0)|0;_=I;A=ze;o[A>>2]=b;o[A+4>>2]=_;A=Ge;v=o[A>>2]|0;A=o[A+4>>2]|0;w=He;w=Ss(v|0,A|0,o[w>>2]|0,o[w+4>>2]|0)|0;E=I;S=He;o[S>>2]=w;o[S+4>>2]=E;S=Ve;k=o[S>>2]|0;S=o[S+4>>2]|0;T=Qe;T=Ss(k|0,S|0,o[T>>2]|0,o[T+4>>2]|0)|0;R=I;x=Qe;o[x>>2]=T;o[x+4>>2]=R;x=We;O=o[x>>2]|0;x=o[x+4>>2]|0;C=Ye;C=Ss(O|0,x|0,o[C>>2]|0,o[C+4>>2]|0)|0;P=I;D=Ye;o[D>>2]=C;o[D+4>>2]=P;D=Xe;M=o[D>>2]|0;D=o[D+4>>2]|0;B=Je;B=Ss(M|0,D|0,o[B>>2]|0,o[B+4>>2]|0)|0;N=I;U=Je;o[U>>2]=B;o[U+4>>2]=N;U=Ze;j=o[U>>2]|0;U=o[U+4>>2]|0;L=$e;L=Ss(j|0,U|0,o[L>>2]|0,o[L+4>>2]|0)|0;F=I;K=$e;o[K>>2]=L;o[K+4>>2]=F;K=et;q=o[K>>2]|0;K=o[K+4>>2]|0;z=tt;z=Ss(q|0,K|0,o[z>>2]|0,o[z+4>>2]|0)|0;G=I;V=tt;o[V>>2]=z;o[V+4>>2]=G;V=nt;H=o[V>>2]|0;V=o[V+4>>2]|0;Q=rt;Q=Ss(H|0,V|0,o[Q>>2]|0,o[Q+4>>2]|0)|0;W=I;st=rt;o[st>>2]=Q;o[st+4>>2]=W;st=ft;ot=st+72|0;do{o[st>>2]=0;st=st+4|0}while((st|0)<(ot|0));Lt=Es(f|0,u|0,121665,0)|0;Bt=It;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(p|0,m|0,121665,0)|0;Lt=ut;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(b|0,_|0,121665,0)|0;Bt=lt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(w|0,E|0,121665,0)|0;Lt=dt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(T|0,R|0,121665,0)|0;Bt=ht;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(C|0,P|0,121665,0)|0;Lt=pt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(B|0,N|0,121665,0)|0;Bt=mt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(L|0,F|0,121665,0)|0;Lt=gt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(z|0,G|0,121665,0)|0;Bt=yt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(Q|0,W|0,121665,0)|0;Lt=it;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Bo(It);Lt=It;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,t|0,n|0)|0;Bt=It;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=ut;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,l|0,d|0)|0;Lt=ut;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=lt;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,g|0,y|0)|0;Bt=lt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=dt;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,v|0,A|0)|0;Lt=dt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=ht;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,k|0,S|0)|0;Bt=ht;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=pt;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,O|0,x|0)|0;Lt=pt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=mt;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,M|0,D|0)|0;Bt=mt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=gt;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,j|0,U|0)|0;Lt=gt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=yt;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,q|0,K|0)|0;Bt=yt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=it;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,H|0,V|0)|0;Lt=it;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Do(ee,_t,It);Lt=ee+144|0;Bt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;jt=ee+64|0;Nt=jt;Ut=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Ft=Es(Bt|0,Lt|0,18,0)|0;qt=I;Lt=ks(Ut|0,Nt|0,Bt|0,Lt|0)|0;qt=ks(Lt|0,I|0,Ft|0,qt|0)|0;o[jt>>2]=qt;o[jt+4>>2]=I;jt=ee+136|0;qt=o[jt>>2]|0;jt=o[jt+4>>2]|0;Ft=ee+56|0;Lt=Ft;Bt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;Nt=Es(qt|0,jt|0,18,0)|0;Ut=I;jt=ks(Bt|0,Lt|0,qt|0,jt|0)|0;Ut=ks(jt|0,I|0,Nt|0,Ut|0)|0;o[Ft>>2]=Ut;o[Ft+4>>2]=I;Ft=ee+128|0;Ut=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;Nt=ee+48|0;jt=Nt;qt=o[jt>>2]|0;jt=o[jt+4>>2]|0;Lt=Es(Ut|0,Ft|0,18,0)|0;Bt=I;Ft=ks(qt|0,jt|0,Ut|0,Ft|0)|0;Bt=ks(Ft|0,I|0,Lt|0,Bt|0)|0;o[Nt>>2]=Bt;o[Nt+4>>2]=I;Nt=ee+120|0;Bt=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Lt=ee+40|0;Ft=Lt;Ut=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;jt=Es(Bt|0,Nt|0,18,0)|0;qt=I;Nt=ks(Ut|0,Ft|0,Bt|0,Nt|0)|0;qt=ks(Nt|0,I|0,jt|0,qt|0)|0;o[Lt>>2]=qt;o[Lt+4>>2]=I;Lt=ee+112|0;qt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;jt=ee+32|0;Nt=jt;Bt=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Ft=Es(qt|0,Lt|0,18,0)|0;Ut=I;Lt=ks(Bt|0,Nt|0,qt|0,Lt|0)|0;Ut=ks(Lt|0,I|0,Ft|0,Ut|0)|0;o[jt>>2]=Ut;o[jt+4>>2]=I;jt=ee+104|0;Ut=o[jt>>2]|0;jt=o[jt+4>>2]|0;Ft=ee+24|0;Lt=Ft;qt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;Nt=Es(Ut|0,jt|0,18,0)|0;Bt=I;jt=ks(qt|0,Lt|0,Ut|0,jt|0)|0;Bt=ks(jt|0,I|0,Nt|0,Bt|0)|0;o[Ft>>2]=Bt;o[Ft+4>>2]=I;Ft=ee+96|0;Bt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;Nt=ee+16|0;jt=Nt;Ut=o[jt>>2]|0;jt=o[jt+4>>2]|0;Lt=Es(Bt|0,Ft|0,18,0)|0;qt=I;Ft=ks(Ut|0,jt|0,Bt|0,Ft|0)|0;qt=ks(Ft|0,I|0,Lt|0,qt|0)|0;o[Nt>>2]=qt;o[Nt+4>>2]=I;Nt=ee+88|0;qt=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Lt=ee+8|0;Ft=Lt;Bt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;jt=Es(qt|0,Nt|0,18,0)|0;Ut=I;Nt=ks(Bt|0,Ft|0,qt|0,Nt|0)|0;Ut=ks(Nt|0,I|0,jt|0,Ut|0)|0;o[Lt>>2]=Ut;o[Lt+4>>2]=I;Lt=ee+80|0;Ut=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;jt=ee;Nt=o[jt>>2]|0;jt=o[jt+4>>2]|0;qt=Es(Ut|0,Lt|0,18,0)|0;Ft=I;Lt=ks(Nt|0,jt|0,Ut|0,Lt|0)|0;Ft=ks(Lt|0,I|0,qt|0,Ft|0)|0;qt=ee;o[qt>>2]=Ft;o[qt+4>>2]=I;Bo(ee);Mo(te,J,X,0);Mo(ee,ne,X,0);$=$+1|0;if(($|0)==8)break;else{Ut=Z;Lt=c;Ft=a;qt=i;l=Y<<1&255;Z=J;a=te;i=ee;c=ne;J=Ut;ne=Lt;te=Ft;ee=qt}}re=re+1|0;if((re|0)==32)break;else{d=J;t=Z;n=ne;f=ee;u=te}}st=Tt;t=te;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));st=Rt;t=ee;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(bt,Rt);No(St,bt);No(kt,St);Do(It,kt,Rt);n=It+144|0;u=n;f=o[u>>2]|0;u=o[u+4>>2]|0;c=yt;a=o[c>>2]|0;c=o[c+4>>2]|0;i=Es(f|0,u|0,18,0)|0;l=I;u=ks(a|0,c|0,f|0,u|0)|0;l=ks(u|0,I|0,i|0,l|0)|0;i=yt;o[i>>2]=l;o[i+4>>2]=I;i=It+136|0;l=i;u=o[l>>2]|0;l=o[l+4>>2]|0;f=gt;c=o[f>>2]|0;f=o[f+4>>2]|0;a=Es(u|0,l|0,18,0)|0;d=I;l=ks(c|0,f|0,u|0,l|0)|0;d=ks(l|0,I|0,a|0,d|0)|0;a=gt;o[a>>2]=d;o[a+4>>2]=I;a=It+128|0;d=a;l=o[d>>2]|0;d=o[d+4>>2]|0;u=mt;f=o[u>>2]|0;u=o[u+4>>2]|0;c=Es(l|0,d|0,18,0)|0;ot=I;d=ks(f|0,u|0,l|0,d|0)|0;ot=ks(d|0,I|0,c|0,ot|0)|0;c=mt;o[c>>2]=ot;o[c+4>>2]=I;c=It+120|0;ot=c;d=o[ot>>2]|0;ot=o[ot+4>>2]|0;l=pt;u=o[l>>2]|0;l=o[l+4>>2]|0;f=Es(d|0,ot|0,18,0)|0;t=I;ot=ks(u|0,l|0,d|0,ot|0)|0;t=ks(ot|0,I|0,f|0,t|0)|0;f=pt;o[f>>2]=t;o[f+4>>2]=I;f=It+112|0;t=f;ot=o[t>>2]|0;t=o[t+4>>2]|0;d=ht;l=o[d>>2]|0;d=o[d+4>>2]|0;u=Es(ot|0,t|0,18,0)|0;st=I;t=ks(l|0,d|0,ot|0,t|0)|0;st=ks(t|0,I|0,u|0,st|0)|0;u=ht;o[u>>2]=st;o[u+4>>2]=I;u=It+104|0;st=u;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=dt;d=o[ot>>2]|0;ot=o[ot+4>>2]|0;l=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(d|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,l|0,Lt|0)|0;l=dt;o[l>>2]=Lt;o[l+4>>2]=I;l=It+96|0;Lt=l;st=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;t=lt;ot=o[t>>2]|0;t=o[t+4>>2]|0;d=Es(st|0,Lt|0,18,0)|0;Ft=I;Lt=ks(ot|0,t|0,st|0,Lt|0)|0;Ft=ks(Lt|0,I|0,d|0,Ft|0)|0;d=lt;o[d>>2]=Ft;o[d+4>>2]=I;d=It+88|0;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=_t;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));Do(It,_t,bt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=xt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,xt);Do(It,kt,_t);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=vt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,vt);No(St,kt);No(kt,St);No(St,kt);No(kt,St);Do(It,kt,vt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=At;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,At);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,At);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=wt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,wt);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,wt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=kt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);Do(It,kt,At);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Ct;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,Ct);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,Ct);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Et;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,Et);No(kt,St);t=2;do{No(St,kt);No(kt,St);t=t+2|0}while(t>>>0<100);Do(It,kt,Et);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=St;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,Ct);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=kt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,xt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Ot;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));Do(It,Tt,Ot);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Rt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));Ct=o[Rt>>2]|0;At=Ct>>31&Ct;Mt=(At>>26)+(o[Rt+8>>2]|0)|0;qt=Mt>>31&Mt;Dt=(qt>>25)+(o[Rt+16>>2]|0)|0;Ft=Dt>>31&Dt;vt=(Ft>>26)+(o[Rt+24>>2]|0)|0;Bt=vt>>31&vt;Nt=(Bt>>25)+(o[Rt+32>>2]|0)|0;Tt=Nt>>31&Nt;jt=(Tt>>26)+(o[Rt+40>>2]|0)|0;It=jt>>31&jt;Ut=(It>>25)+(o[Rt+48>>2]|0)|0;St=Ut>>31&Ut;Lt=(St>>26)+(o[Rt+56>>2]|0)|0;kt=Lt>>31≪Ot=(kt>>25)+(o[Rt+64>>2]|0)|0;wt=Ot>>31&Ot;xt=(wt>>26)+(o[Rt+72>>2]|0)|0;Et=xt>>31&xt;At=((Et>>25)*19|0)+(Ct-(At&-67108864))|0;Ct=At>>31&At;qt=(Ct>>26)+(Mt-(qt&-33554432))|0;Mt=qt>>31&qt;Ft=(Mt>>25)+(Dt-(Ft&-67108864))|0;Dt=Ft>>31&Ft;Rt=(Dt>>26)+(vt-(Bt&-33554432))|0;Bt=Rt>>31&Rt;Tt=(Bt>>25)+(Nt-(Tt&-67108864))|0;Nt=Tt>>31&Tt;It=(Nt>>26)+(jt-(It&-33554432))|0;jt=It>>31&It;St=(jt>>25)+(Ut-(St&-67108864))|0;Ut=St>>31&St;kt=(Ut>>26)+(Lt-(kt&-33554432))|0;Lt=kt>>31&kt;wt=(Lt>>25)+(Ot-(wt&-67108864))|0;Ot=wt>>31&wt;Et=(Ot>>26)+(xt-(Et&-33554432))|0;xt=Et>>31&Et;Ct=((xt>>25)*19|0)+(At-(Ct&-67108864))|0;At=Ct>>31&Ct;Ct=Ct-(At&-67108864)|0;Mt=(Ct>>26)+((At>>26)+(qt-(Mt&-33554432)))|0;Dt=(Mt>>25)+(Ft-(Dt&-67108864))|0;Bt=(Dt>>26)+(Rt-(Bt&-33554432))|0;Nt=(Bt>>25)+(Tt-(Nt&-67108864))|0;jt=(Nt>>26)+(It-(jt&-33554432))|0;Ut=(jt>>25)+(St-(Ut&-67108864))|0;Lt=(Ut>>26)+(kt-(Lt&-33554432))|0;Ot=(Lt>>25)+(wt-(Ot&-67108864))|0;xt=(Ot>>26)+(Et-(xt&-33554432))|0;Ct=((xt>>25)*19|0)+(Ct&67108863)|0;Mt=(Ct>>26)+(Mt&33554431)|0;Dt=(Mt>>25)+(Dt&67108863)|0;Bt=(Dt>>26)+(Bt&33554431)|0;Nt=(Bt>>25)+(Nt&67108863)|0;jt=(Nt>>26)+(jt&33554431)|0;Ut=(jt>>25)+(Ut&67108863)|0;Lt=(Ut>>26)+(Lt&33554431)|0;Ot=(Lt>>25)+(Ot&67108863)|0;xt=(Ot>>26)+(xt&33554431)|0;Ct=((xt>>25)*19|0)+(Ct&67108863)|0;Et=Mt<<16&(Mt|-33554432);Et=Et<<8&Et;Et=Et<<4&Et;Et=Et<<2&Et;wt=Dt<<16&(Dt|-67108864);wt=wt<<8&wt;wt=wt<<4&wt;wt=wt<<2&wt;kt=Bt<<16&(Bt|-33554432);kt=kt<<8&kt;kt=kt<<4&kt;kt=kt<<2&kt;St=Nt<<16&(Nt|-67108864);St=St<<8&St;St=St<<4&St;St=St<<2&St;It=jt<<16&(jt|-33554432);It=It<<8&It;It=It<<4&It;It=It<<2&It;Tt=Ut<<16&(Ut|-67108864);Tt=Tt<<8&Tt;Tt=Tt<<4&Tt;Tt=Tt<<2&Tt;Rt=Lt<<16&(Lt|-33554432);Rt=Rt<<8&Rt;Rt=Rt<<4&Rt;Rt=Rt<<2&Rt;Ft=Ot<<16&(Ot|-67108864);Ft=Ft<<8&Ft;Ft=Ft<<4&Ft;Ft=Ft<<2&Ft;qt=xt<<16&(xt|-33554432);qt=qt<<8&qt;qt=qt<<4&qt;qt=qt<<2&qt;qt=(wt<<1&wt&(Et<<1&Et)&(kt<<1&kt)&(St<<1&St)&(It<<1&It))>>31&~(Ct+-67108845>>31)&(Tt<<1&Tt)>>31&(Rt<<1&Rt)>>31&(Ft<<1&Ft)>>31&(qt<<1&qt)>>31;Ct=Ct-(qt&67108845)|0;Ft=qt&67108863;qt=qt&33554431;Mt=(Mt&33554431)-qt|0;Dt=(Dt&67108863)-Ft|0;Bt=(Bt&33554431)-qt|0;Nt=(Nt&67108863)-Ft|0;jt=(jt&33554431)-qt|0;Ut=(Ut&67108863)-Ft|0;Lt=(Lt&33554431)-qt|0;Ft=(Ot&67108863)-Ft|0;qt=(xt&33554431)-qt|0;r[e>>0]=Ct;r[e+1>>0]=Ct>>>8;r[e+2>>0]=Ct>>>16;r[e+3>>0]=Ct>>>24|Mt<<2;r[e+4>>0]=Mt>>>6;r[e+5>>0]=Mt>>>14;r[e+6>>0]=Dt<<3|Mt>>>22;r[e+7>>0]=Dt>>>5;r[e+8>>0]=Dt>>>13;r[e+9>>0]=Bt<<5|Dt>>>21;r[e+10>>0]=Bt>>>3;r[e+11>>0]=Bt>>>11;r[e+12>>0]=Nt<<6|Bt>>>19;r[e+13>>0]=Nt>>>2;r[e+14>>0]=Nt>>>10;r[e+15>>0]=Nt>>>18;r[e+16>>0]=jt;r[e+17>>0]=jt>>>8;r[e+18>>0]=jt>>>16;r[e+19>>0]=jt>>>24|Ut<<1;r[e+20>>0]=Ut>>>7;r[e+21>>0]=Ut>>>15;r[e+22>>0]=Lt<<3|Ut>>>23;r[e+23>>0]=Lt>>>5;r[e+24>>0]=Lt>>>13;r[e+25>>0]=Ft<<4|Lt>>>21;r[e+26>>0]=Ft>>>4;r[e+27>>0]=Ft>>>12;r[e+28>>0]=qt<<6|Ft>>>20;r[e+29>>0]=qt>>>2;r[e+30>>0]=qt>>>10;r[e+31>>0]=qt>>>18;h=Pt;return 0}function Mo(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,c=0;n=0-n|0;a=e;i=o[a>>2]|0;s=t;s=(o[s>>2]^i)&n;i=s^i;a=e;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;s=s^o[t>>2];a=t;o[a>>2]=s;o[a+4>>2]=((s|0)<0)<<31>>31;a=e+8|0;s=a;i=o[s>>2]|0;r=t+8|0;c=r;c=(o[c>>2]^i)&n;i=c^i;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;c=c^o[r>>2];o[r>>2]=c;o[r+4>>2]=((c|0)<0)<<31>>31;r=e+16|0;c=r;a=o[c>>2]|0;i=t+16|0;s=i;s=(o[s>>2]^a)&n;a=s^a;o[r>>2]=a;o[r+4>>2]=((a|0)<0)<<31>>31;s=s^o[i>>2];o[i>>2]=s;o[i+4>>2]=((s|0)<0)<<31>>31;i=e+24|0;s=i;r=o[s>>2]|0;a=t+24|0;c=a;c=(o[c>>2]^r)&n;r=c^r;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;c=c^o[a>>2];o[a>>2]=c;o[a+4>>2]=((c|0)<0)<<31>>31;a=e+32|0;c=a;i=o[c>>2]|0;r=t+32|0;s=r;s=(o[s>>2]^i)&n;i=s^i;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;s=s^o[r>>2];o[r>>2]=s;o[r+4>>2]=((s|0)<0)<<31>>31;r=e+40|0;s=r;a=o[s>>2]|0;i=t+40|0;c=i;c=(o[c>>2]^a)&n;a=c^a;o[r>>2]=a;o[r+4>>2]=((a|0)<0)<<31>>31;c=c^o[i>>2];o[i>>2]=c;o[i+4>>2]=((c|0)<0)<<31>>31;i=e+48|0;c=i;r=o[c>>2]|0;a=t+48|0;s=a;s=(o[s>>2]^r)&n;r=s^r;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;s=s^o[a>>2];o[a>>2]=s;o[a+4>>2]=((s|0)<0)<<31>>31;a=e+56|0;s=a;i=o[s>>2]|0;r=t+56|0;c=r;c=(o[c>>2]^i)&n;i=c^i;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;c=c^o[r>>2];o[r>>2]=c;o[r+4>>2]=((c|0)<0)<<31>>31;r=e+64|0;c=r;a=o[c>>2]|0;i=t+64|0;s=i;s=(o[s>>2]^a)&n;a=s^a;o[r>>2]=a;o[r+4>>2]=((a|0)<0)<<31>>31;s=s^o[i>>2];o[i>>2]=s;o[i+4>>2]=((s|0)<0)<<31>>31;i=e+72|0;s=i;e=o[s>>2]|0;r=t+72|0;t=r;n=(o[t>>2]^e)&n;e=n^e;t=i;o[t>>2]=e;o[t+4>>2]=((e|0)<0)<<31>>31;n=n^o[r>>2];o[r>>2]=n;o[r+4>>2]=((n|0)<0)<<31>>31;return}function Do(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0;a=Os(0,o[t>>2]|0,32)|0;h=I;w=Os(0,o[n>>2]|0,32)|0;h=Es(w|0,I|0,a|0,h|0)|0;a=e;o[a>>2]=h;o[a+4>>2]=I;a=Os(0,o[t>>2]|0,32)|0;h=I;w=n+8|0;b=Os(0,o[w>>2]|0,32)|0;h=Es(b|0,I|0,a|0,h|0)|0;a=I;b=t+8|0;y=Os(0,o[b>>2]|0,32)|0;m=I;A=Os(0,o[n>>2]|0,32)|0;m=Es(A|0,I|0,y|0,m|0)|0;a=ks(m|0,I|0,h|0,a|0)|0;h=e+8|0;o[h>>2]=a;o[h+4>>2]=I;h=Os(0,o[b>>2]|0,31)|0;a=I;m=Os(0,o[w>>2]|0,32)|0;a=Es(m|0,I|0,h|0,a|0)|0;h=I;m=Os(0,o[t>>2]|0,32)|0;y=I;A=n+16|0;l=Os(0,o[A>>2]|0,32)|0;y=Es(l|0,I|0,m|0,y|0)|0;h=ks(y|0,I|0,a|0,h|0)|0;a=I;y=t+16|0;m=Os(0,o[y>>2]|0,32)|0;l=I;v=Os(0,o[n>>2]|0,32)|0;l=Es(v|0,I|0,m|0,l|0)|0;l=ks(h|0,a|0,l|0,I|0)|0;a=e+16|0;o[a>>2]=l;o[a+4>>2]=I;a=Os(0,o[b>>2]|0,32)|0;l=I;h=Os(0,o[A>>2]|0,32)|0;l=Es(h|0,I|0,a|0,l|0)|0;a=I;h=Os(0,o[y>>2]|0,32)|0;m=I;v=Os(0,o[w>>2]|0,32)|0;m=Es(v|0,I|0,h|0,m|0)|0;a=ks(m|0,I|0,l|0,a|0)|0;l=I;m=Os(0,o[t>>2]|0,32)|0;h=I;v=n+24|0;s=Os(0,o[v>>2]|0,32)|0;h=Es(s|0,I|0,m|0,h|0)|0;h=ks(a|0,l|0,h|0,I|0)|0;l=I;a=t+24|0;m=Os(0,o[a>>2]|0,32)|0;s=I;f=Os(0,o[n>>2]|0,32)|0;s=Es(f|0,I|0,m|0,s|0)|0;s=ks(h|0,l|0,s|0,I|0)|0;l=e+24|0;o[l>>2]=s;o[l+4>>2]=I;l=Os(0,o[y>>2]|0,32)|0;s=I;h=Os(0,o[A>>2]|0,32)|0;s=Es(h|0,I|0,l|0,s|0)|0;l=I;h=Os(0,o[b>>2]|0,32)|0;m=I;f=Os(0,o[v>>2]|0,32)|0;m=Es(f|0,I|0,h|0,m|0)|0;h=I;f=Os(0,o[a>>2]|0,32)|0;g=I;p=Os(0,o[w>>2]|0,32)|0;g=Es(p|0,I|0,f|0,g|0)|0;h=ks(g|0,I|0,m|0,h|0)|0;h=Cs(h|0,I|0,1)|0;l=ks(h|0,I|0,s|0,l|0)|0;s=I;h=Os(0,o[t>>2]|0,32)|0;m=I;g=n+32|0;f=Os(0,o[g>>2]|0,32)|0;m=Es(f|0,I|0,h|0,m|0)|0;m=ks(l|0,s|0,m|0,I|0)|0;s=I;l=t+32|0;h=Os(0,o[l>>2]|0,32)|0;f=I;p=Os(0,o[n>>2]|0,32)|0;f=Es(p|0,I|0,h|0,f|0)|0;f=ks(m|0,s|0,f|0,I|0)|0;s=e+32|0;o[s>>2]=f;o[s+4>>2]=I;s=Os(0,o[y>>2]|0,32)|0;f=I;m=Os(0,o[v>>2]|0,32)|0;f=Es(m|0,I|0,s|0,f|0)|0;s=I;m=Os(0,o[a>>2]|0,32)|0;h=I;p=Os(0,o[A>>2]|0,32)|0;h=Es(p|0,I|0,m|0,h|0)|0;s=ks(h|0,I|0,f|0,s|0)|0;f=I;h=Os(0,o[b>>2]|0,32)|0;m=I;p=Os(0,o[g>>2]|0,32)|0;m=Es(p|0,I|0,h|0,m|0)|0;m=ks(s|0,f|0,m|0,I|0)|0;f=I;s=Os(0,o[l>>2]|0,32)|0;h=I;p=Os(0,o[w>>2]|0,32)|0;h=Es(p|0,I|0,s|0,h|0)|0;h=ks(m|0,f|0,h|0,I|0)|0;f=I;m=Os(0,o[t>>2]|0,32)|0;s=I;p=n+40|0;_=Os(0,o[p>>2]|0,32)|0;s=Es(_|0,I|0,m|0,s|0)|0;s=ks(h|0,f|0,s|0,I|0)|0;f=I;h=t+40|0;m=Os(0,o[h>>2]|0,32)|0;_=I;u=Os(0,o[n>>2]|0,32)|0;_=Es(u|0,I|0,m|0,_|0)|0;_=ks(s|0,f|0,_|0,I|0)|0;f=e+40|0;o[f>>2]=_;o[f+4>>2]=I;f=Os(0,o[a>>2]|0,32)|0;_=I;s=Os(0,o[v>>2]|0,32)|0;_=Es(s|0,I|0,f|0,_|0)|0;f=I;s=Os(0,o[b>>2]|0,32)|0;m=I;u=Os(0,o[p>>2]|0,32)|0;m=Es(u|0,I|0,s|0,m|0)|0;f=ks(m|0,I|0,_|0,f|0)|0;_=I;m=Os(0,o[h>>2]|0,32)|0;s=I;u=Os(0,o[w>>2]|0,32)|0;s=Es(u|0,I|0,m|0,s|0)|0;s=ks(f|0,_|0,s|0,I|0)|0;s=Cs(s|0,I|0,1)|0;_=I;f=Os(0,o[y>>2]|0,32)|0;m=I;u=Os(0,o[g>>2]|0,32)|0;m=Es(u|0,I|0,f|0,m|0)|0;m=ks(s|0,_|0,m|0,I|0)|0;_=I;s=Os(0,o[l>>2]|0,32)|0;f=I;u=Os(0,o[A>>2]|0,32)|0;f=Es(u|0,I|0,s|0,f|0)|0;f=ks(m|0,_|0,f|0,I|0)|0;_=I;m=Os(0,o[t>>2]|0,32)|0;s=I;u=n+48|0;E=Os(0,o[u>>2]|0,32)|0;s=Es(E|0,I|0,m|0,s|0)|0;s=ks(f|0,_|0,s|0,I|0)|0;_=I;f=t+48|0;m=Os(0,o[f>>2]|0,32)|0;E=I;d=Os(0,o[n>>2]|0,32)|0;E=Es(d|0,I|0,m|0,E|0)|0;E=ks(s|0,_|0,E|0,I|0)|0;_=e+48|0;o[_>>2]=E;o[_+4>>2]=I;_=Os(0,o[a>>2]|0,32)|0;E=I;s=Os(0,o[g>>2]|0,32)|0;E=Es(s|0,I|0,_|0,E|0)|0;_=I;s=Os(0,o[l>>2]|0,32)|0;m=I;d=Os(0,o[v>>2]|0,32)|0;m=Es(d|0,I|0,s|0,m|0)|0;_=ks(m|0,I|0,E|0,_|0)|0;E=I;m=Os(0,o[y>>2]|0,32)|0;s=I;d=Os(0,o[p>>2]|0,32)|0;s=Es(d|0,I|0,m|0,s|0)|0;s=ks(_|0,E|0,s|0,I|0)|0;E=I;_=Os(0,o[h>>2]|0,32)|0;m=I;d=Os(0,o[A>>2]|0,32)|0;m=Es(d|0,I|0,_|0,m|0)|0;m=ks(s|0,E|0,m|0,I|0)|0;E=I;s=Os(0,o[b>>2]|0,32)|0;_=I;d=Os(0,o[u>>2]|0,32)|0;_=Es(d|0,I|0,s|0,_|0)|0;_=ks(m|0,E|0,_|0,I|0)|0;E=I;m=Os(0,o[f>>2]|0,32)|0;s=I;d=Os(0,o[w>>2]|0,32)|0;s=Es(d|0,I|0,m|0,s|0)|0;s=ks(_|0,E|0,s|0,I|0)|0;E=I;_=Os(0,o[t>>2]|0,32)|0;m=I;d=n+56|0;k=Os(0,o[d>>2]|0,32)|0;m=Es(k|0,I|0,_|0,m|0)|0;m=ks(s|0,E|0,m|0,I|0)|0;E=I;s=t+56|0;_=Os(0,o[s>>2]|0,32)|0;k=I;c=Os(0,o[n>>2]|0,32)|0;k=Es(c|0,I|0,_|0,k|0)|0;k=ks(m|0,E|0,k|0,I|0)|0;E=e+56|0;o[E>>2]=k;o[E+4>>2]=I;E=Os(0,o[l>>2]|0,32)|0;k=I;m=Os(0,o[g>>2]|0,32)|0;k=Es(m|0,I|0,E|0,k|0)|0;E=I;m=Os(0,o[a>>2]|0,32)|0;_=I;c=Os(0,o[p>>2]|0,32)|0;_=Es(c|0,I|0,m|0,_|0)|0;m=I;c=Os(0,o[h>>2]|0,32)|0;i=I;r=Os(0,o[v>>2]|0,32)|0;i=Es(r|0,I|0,c|0,i|0)|0;m=ks(i|0,I|0,_|0,m|0)|0;_=I;i=Os(0,o[b>>2]|0,32)|0;c=I;r=Os(0,o[d>>2]|0,32)|0;c=Es(r|0,I|0,i|0,c|0)|0;c=ks(m|0,_|0,c|0,I|0)|0;_=I;m=Os(0,o[s>>2]|0,32)|0;i=I;r=Os(0,o[w>>2]|0,32)|0;i=Es(r|0,I|0,m|0,i|0)|0;i=ks(c|0,_|0,i|0,I|0)|0;i=Cs(i|0,I|0,1)|0;E=ks(i|0,I|0,k|0,E|0)|0;k=I;i=Os(0,o[y>>2]|0,32)|0;_=I;c=Os(0,o[u>>2]|0,32)|0;_=Es(c|0,I|0,i|0,_|0)|0;_=ks(E|0,k|0,_|0,I|0)|0;k=I;E=Os(0,o[f>>2]|0,32)|0;i=I;c=Os(0,o[A>>2]|0,32)|0;i=Es(c|0,I|0,E|0,i|0)|0;i=ks(_|0,k|0,i|0,I|0)|0;k=I;_=Os(0,o[t>>2]|0,32)|0;E=I;c=n+64|0;m=Os(0,o[c>>2]|0,32)|0;E=Es(m|0,I|0,_|0,E|0)|0;E=ks(i|0,k|0,E|0,I|0)|0;k=I;i=t+64|0;_=Os(0,o[i>>2]|0,32)|0;m=I;r=Os(0,o[n>>2]|0,32)|0;m=Es(r|0,I|0,_|0,m|0)|0;m=ks(E|0,k|0,m|0,I|0)|0;k=e+64|0;o[k>>2]=m;o[k+4>>2]=I;k=Os(0,o[l>>2]|0,32)|0;m=I;E=Os(0,o[p>>2]|0,32)|0;m=Es(E|0,I|0,k|0,m|0)|0;k=I;E=Os(0,o[h>>2]|0,32)|0;_=I;r=Os(0,o[g>>2]|0,32)|0;_=Es(r|0,I|0,E|0,_|0)|0;k=ks(_|0,I|0,m|0,k|0)|0;m=I;_=Os(0,o[a>>2]|0,32)|0;E=I;r=Os(0,o[u>>2]|0,32)|0;E=Es(r|0,I|0,_|0,E|0)|0;E=ks(k|0,m|0,E|0,I|0)|0;m=I;k=Os(0,o[f>>2]|0,32)|0;_=I;r=Os(0,o[v>>2]|0,32)|0;_=Es(r|0,I|0,k|0,_|0)|0;_=ks(E|0,m|0,_|0,I|0)|0;m=I;E=Os(0,o[y>>2]|0,32)|0;k=I;r=Os(0,o[d>>2]|0,32)|0;k=Es(r|0,I|0,E|0,k|0)|0;k=ks(_|0,m|0,k|0,I|0)|0;m=I;_=Os(0,o[s>>2]|0,32)|0;E=I;r=Os(0,o[A>>2]|0,32)|0;E=Es(r|0,I|0,_|0,E|0)|0;E=ks(k|0,m|0,E|0,I|0)|0;m=I;k=Os(0,o[b>>2]|0,32)|0;_=I;r=Os(0,o[c>>2]|0,32)|0;_=Es(r|0,I|0,k|0,_|0)|0;_=ks(E|0,m|0,_|0,I|0)|0;m=I;E=Os(0,o[i>>2]|0,32)|0;k=I;r=Os(0,o[w>>2]|0,32)|0;k=Es(r|0,I|0,E|0,k|0)|0;k=ks(_|0,m|0,k|0,I|0)|0;m=I;_=Os(0,o[t>>2]|0,32)|0;E=I;r=n+72|0;S=Os(0,o[r>>2]|0,32)|0;E=Es(S|0,I|0,_|0,E|0)|0;E=ks(k|0,m|0,E|0,I|0)|0;m=I;t=t+72|0;k=Os(0,o[t>>2]|0,32)|0;_=I;n=Os(0,o[n>>2]|0,32)|0;_=Es(n|0,I|0,k|0,_|0)|0;_=ks(E|0,m|0,_|0,I|0)|0;n=e+72|0;o[n>>2]=_;o[n+4>>2]=I;n=Os(0,o[h>>2]|0,32)|0;_=I;m=Os(0,o[p>>2]|0,32)|0;_=Es(m|0,I|0,n|0,_|0)|0;n=I;m=Os(0,o[a>>2]|0,32)|0;E=I;k=Os(0,o[d>>2]|0,32)|0;E=Es(k|0,I|0,m|0,E|0)|0;n=ks(E|0,I|0,_|0,n|0)|0;_=I;E=Os(0,o[s>>2]|0,32)|0;m=I;k=Os(0,o[v>>2]|0,32)|0;m=Es(k|0,I|0,E|0,m|0)|0;m=ks(n|0,_|0,m|0,I|0)|0;_=I;n=Os(0,o[b>>2]|0,32)|0;b=I;E=Os(0,o[r>>2]|0,32)|0;b=Es(E|0,I|0,n|0,b|0)|0;b=ks(m|0,_|0,b|0,I|0)|0;_=I;m=Os(0,o[t>>2]|0,32)|0;n=I;w=Os(0,o[w>>2]|0,32)|0;n=Es(w|0,I|0,m|0,n|0)|0;n=ks(b|0,_|0,n|0,I|0)|0;n=Cs(n|0,I|0,1)|0;_=I;b=Os(0,o[l>>2]|0,32)|0;m=I;w=Os(0,o[u>>2]|0,32)|0;m=Es(w|0,I|0,b|0,m|0)|0;m=ks(n|0,_|0,m|0,I|0)|0;_=I;n=Os(0,o[f>>2]|0,32)|0;b=I;w=Os(0,o[g>>2]|0,32)|0;b=Es(w|0,I|0,n|0,b|0)|0;b=ks(m|0,_|0,b|0,I|0)|0;_=I;m=Os(0,o[y>>2]|0,32)|0;n=I;w=Os(0,o[c>>2]|0,32)|0;n=Es(w|0,I|0,m|0,n|0)|0;n=ks(b|0,_|0,n|0,I|0)|0;_=I;b=Os(0,o[i>>2]|0,32)|0;m=I;w=Os(0,o[A>>2]|0,32)|0;m=Es(w|0,I|0,b|0,m|0)|0;m=ks(n|0,_|0,m|0,I|0)|0;_=e+80|0;o[_>>2]=m;o[_+4>>2]=I;_=Os(0,o[h>>2]|0,32)|0;m=I;n=Os(0,o[u>>2]|0,32)|0;m=Es(n|0,I|0,_|0,m|0)|0;_=I;n=Os(0,o[f>>2]|0,32)|0;b=I;w=Os(0,o[p>>2]|0,32)|0;b=Es(w|0,I|0,n|0,b|0)|0;_=ks(b|0,I|0,m|0,_|0)|0;m=I;b=Os(0,o[l>>2]|0,32)|0;n=I;w=Os(0,o[d>>2]|0,32)|0;n=Es(w|0,I|0,b|0,n|0)|0;n=ks(_|0,m|0,n|0,I|0)|0;m=I;_=Os(0,o[s>>2]|0,32)|0;b=I;w=Os(0,o[g>>2]|0,32)|0;b=Es(w|0,I|0,_|0,b|0)|0;b=ks(n|0,m|0,b|0,I|0)|0;m=I;n=Os(0,o[a>>2]|0,32)|0;_=I;w=Os(0,o[c>>2]|0,32)|0;_=Es(w|0,I|0,n|0,_|0)|0;_=ks(b|0,m|0,_|0,I|0)|0;m=I;b=Os(0,o[i>>2]|0,32)|0;n=I;w=Os(0,o[v>>2]|0,32)|0;n=Es(w|0,I|0,b|0,n|0)|0;n=ks(_|0,m|0,n|0,I|0)|0;m=I;y=Os(0,o[y>>2]|0,32)|0;_=I;b=Os(0,o[r>>2]|0,32)|0;_=Es(b|0,I|0,y|0,_|0)|0;_=ks(n|0,m|0,_|0,I|0)|0;m=I;n=Os(0,o[t>>2]|0,32)|0;y=I;A=Os(0,o[A>>2]|0,32)|0;y=Es(A|0,I|0,n|0,y|0)|0;y=ks(_|0,m|0,y|0,I|0)|0;m=e+88|0;o[m>>2]=y;o[m+4>>2]=I;m=Os(0,o[f>>2]|0,32)|0;y=I;_=Os(0,o[u>>2]|0,32)|0;y=Es(_|0,I|0,m|0,y|0)|0;m=I;_=Os(0,o[h>>2]|0,32)|0;n=I;A=Os(0,o[d>>2]|0,32)|0;n=Es(A|0,I|0,_|0,n|0)|0;_=I;A=Os(0,o[s>>2]|0,32)|0;b=I;w=Os(0,o[p>>2]|0,32)|0;b=Es(w|0,I|0,A|0,b|0)|0;_=ks(b|0,I|0,n|0,_|0)|0;n=I;a=Os(0,o[a>>2]|0,32)|0;b=I;A=Os(0,o[r>>2]|0,32)|0;b=Es(A|0,I|0,a|0,b|0)|0;b=ks(_|0,n|0,b|0,I|0)|0;n=I;_=Os(0,o[t>>2]|0,32)|0;a=I;v=Os(0,o[v>>2]|0,32)|0;a=Es(v|0,I|0,_|0,a|0)|0;a=ks(b|0,n|0,a|0,I|0)|0;a=Cs(a|0,I|0,1)|0;m=ks(a|0,I|0,y|0,m|0)|0;y=I;a=Os(0,o[l>>2]|0,32)|0;n=I;b=Os(0,o[c>>2]|0,32)|0;n=Es(b|0,I|0,a|0,n|0)|0;n=ks(m|0,y|0,n|0,I|0)|0;y=I;m=Os(0,o[i>>2]|0,32)|0;a=I;b=Os(0,o[g>>2]|0,32)|0;a=Es(b|0,I|0,m|0,a|0)|0;a=ks(n|0,y|0,a|0,I|0)|0;y=e+96|0;o[y>>2]=a;o[y+4>>2]=I;y=Os(0,o[f>>2]|0,32)|0;a=I;n=Os(0,o[d>>2]|0,32)|0;a=Es(n|0,I|0,y|0,a|0)|0;y=I;n=Os(0,o[s>>2]|0,32)|0;m=I;b=Os(0,o[u>>2]|0,32)|0;m=Es(b|0,I|0,n|0,m|0)|0;y=ks(m|0,I|0,a|0,y|0)|0;a=I;m=Os(0,o[h>>2]|0,32)|0;n=I;b=Os(0,o[c>>2]|0,32)|0;n=Es(b|0,I|0,m|0,n|0)|0;n=ks(y|0,a|0,n|0,I|0)|0;a=I;y=Os(0,o[i>>2]|0,32)|0;m=I;b=Os(0,o[p>>2]|0,32)|0;m=Es(b|0,I|0,y|0,m|0)|0;m=ks(n|0,a|0,m|0,I|0)|0;a=I;l=Os(0,o[l>>2]|0,32)|0;n=I;y=Os(0,o[r>>2]|0,32)|0;n=Es(y|0,I|0,l|0,n|0)|0;n=ks(m|0,a|0,n|0,I|0)|0;a=I;m=Os(0,o[t>>2]|0,32)|0;l=I;g=Os(0,o[g>>2]|0,32)|0;l=Es(g|0,I|0,m|0,l|0)|0;l=ks(n|0,a|0,l|0,I|0)|0;a=e+104|0;o[a>>2]=l;o[a+4>>2]=I;a=Os(0,o[s>>2]|0,32)|0;l=I;n=Os(0,o[d>>2]|0,32)|0;l=Es(n|0,I|0,a|0,l|0)|0;a=I;n=Os(0,o[h>>2]|0,32)|0;h=I;m=Os(0,o[r>>2]|0,32)|0;h=Es(m|0,I|0,n|0,h|0)|0;a=ks(h|0,I|0,l|0,a|0)|0;l=I;h=Os(0,o[t>>2]|0,32)|0;n=I;p=Os(0,o[p>>2]|0,32)|0;n=Es(p|0,I|0,h|0,n|0)|0;n=ks(a|0,l|0,n|0,I|0)|0;n=Cs(n|0,I|0,1)|0;l=I;a=Os(0,o[f>>2]|0,32)|0;h=I;p=Os(0,o[c>>2]|0,32)|0;h=Es(p|0,I|0,a|0,h|0)|0;h=ks(n|0,l|0,h|0,I|0)|0;l=I;n=Os(0,o[i>>2]|0,32)|0;a=I;p=Os(0,o[u>>2]|0,32)|0;a=Es(p|0,I|0,n|0,a|0)|0;a=ks(h|0,l|0,a|0,I|0)|0;l=e+112|0;o[l>>2]=a;o[l+4>>2]=I;l=Os(0,o[s>>2]|0,32)|0;a=I;h=Os(0,o[c>>2]|0,32)|0;a=Es(h|0,I|0,l|0,a|0)|0;l=I;h=Os(0,o[i>>2]|0,32)|0;n=I;p=Os(0,o[d>>2]|0,32)|0;n=Es(p|0,I|0,h|0,n|0)|0;l=ks(n|0,I|0,a|0,l|0)|0;a=I;n=Os(0,o[f>>2]|0,32)|0;f=I;h=Os(0,o[r>>2]|0,32)|0;f=Es(h|0,I|0,n|0,f|0)|0;f=ks(l|0,a|0,f|0,I|0)|0;a=I;l=Os(0,o[t>>2]|0,32)|0;n=I;u=Os(0,o[u>>2]|0,32)|0;n=Es(u|0,I|0,l|0,n|0)|0;n=ks(f|0,a|0,n|0,I|0)|0;a=e+120|0;o[a>>2]=n;o[a+4>>2]=I;a=Os(0,o[i>>2]|0,32)|0;n=I;f=Os(0,o[c>>2]|0,32)|0;n=Es(f|0,I|0,a|0,n|0)|0;a=I;s=Os(0,o[s>>2]|0,32)|0;f=I;l=Os(0,o[r>>2]|0,32)|0;f=Es(l|0,I|0,s|0,f|0)|0;s=I;l=Os(0,o[t>>2]|0,32)|0;u=I;d=Os(0,o[d>>2]|0,32)|0;u=Es(d|0,I|0,l|0,u|0)|0;s=ks(u|0,I|0,f|0,s|0)|0;s=Cs(s|0,I|0,1)|0;a=ks(s|0,I|0,n|0,a|0)|0;n=e+128|0;o[n>>2]=a;o[n+4>>2]=I;i=Os(0,o[i>>2]|0,32)|0;n=I;a=Os(0,o[r>>2]|0,32)|0;n=Es(a|0,I|0,i|0,n|0)|0;i=I;a=Os(0,o[t>>2]|0,32)|0;s=I;c=Os(0,o[c>>2]|0,32)|0;s=Es(c|0,I|0,a|0,s|0)|0;i=ks(s|0,I|0,n|0,i|0)|0;n=e+136|0;o[n>>2]=i;o[n+4>>2]=I;n=Os(0,o[t>>2]|0,31)|0;t=I;r=Os(0,o[r>>2]|0,32)|0;t=Es(r|0,I|0,n|0,t|0)|0;n=e+144|0;o[n>>2]=t;o[n+4>>2]=I;return}function Bo(e){e=e|0;var t=0,n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0;t=e+80|0;s=t;o[s>>2]=0;o[s+4>>2]=0;s=e;f=o[s>>2]|0;s=o[s+4>>2]|0;n=ks(f|0,s|0,s>>31>>>6|0,0)|0;a=I;i=Os(n|0,a|0,26)|0;u=I;a=Ss(f|0,s|0,n&-67108864|0,a|0)|0;n=e;o[n>>2]=a;o[n+4>>2]=I;n=e+8|0;a=n;a=ks(i|0,u|0,o[a>>2]|0,o[a+4>>2]|0)|0;u=I;i=ks(a|0,u|0,u>>31>>>7|0,0)|0;s=I;f=Os(i|0,s|0,25)|0;r=I;s=Ss(a|0,u|0,i&-33554432|0,s|0)|0;i=n;o[i>>2]=s;o[i+4>>2]=I;i=e+16|0;s=i;s=ks(f|0,r|0,o[s>>2]|0,o[s+4>>2]|0)|0;r=I;f=ks(s|0,r|0,r>>31>>>6|0,0)|0;u=I;a=Os(f|0,u|0,26)|0;c=I;u=Ss(s|0,r|0,f&-67108864|0,u|0)|0;o[i>>2]=u;o[i+4>>2]=I;i=e+24|0;u=i;u=ks(a|0,c|0,o[u>>2]|0,o[u+4>>2]|0)|0;c=I;a=ks(u|0,c|0,c>>31>>>7|0,0)|0;f=I;r=Os(a|0,f|0,25)|0;s=I;f=Ss(u|0,c|0,a&-33554432|0,f|0)|0;o[i>>2]=f;o[i+4>>2]=I;i=e+32|0;f=i;f=ks(r|0,s|0,o[f>>2]|0,o[f+4>>2]|0)|0;s=I;r=ks(f|0,s|0,s>>31>>>6|0,0)|0;a=I;c=Os(r|0,a|0,26)|0;u=I;a=Ss(f|0,s|0,r&-67108864|0,a|0)|0;o[i>>2]=a;o[i+4>>2]=I;i=e+40|0;a=i;a=ks(c|0,u|0,o[a>>2]|0,o[a+4>>2]|0)|0;u=I;c=ks(a|0,u|0,u>>31>>>7|0,0)|0;r=I;s=Os(c|0,r|0,25)|0;f=I;r=Ss(a|0,u|0,c&-33554432|0,r|0)|0;o[i>>2]=r;o[i+4>>2]=I;i=e+48|0;r=i;r=ks(s|0,f|0,o[r>>2]|0,o[r+4>>2]|0)|0;f=I;s=ks(r|0,f|0,f>>31>>>6|0,0)|0;c=I;u=Os(s|0,c|0,26)|0;a=I;c=Ss(r|0,f|0,s&-67108864|0,c|0)|0;o[i>>2]=c;o[i+4>>2]=I;i=e+56|0;c=i;c=ks(u|0,a|0,o[c>>2]|0,o[c+4>>2]|0)|0;a=I;u=ks(c|0,a|0,a>>31>>>7|0,0)|0;s=I;f=Os(u|0,s|0,25)|0;r=I;s=Ss(c|0,a|0,u&-33554432|0,s|0)|0;o[i>>2]=s;o[i+4>>2]=I;i=e+64|0;s=i;s=ks(f|0,r|0,o[s>>2]|0,o[s+4>>2]|0)|0;r=I;f=ks(s|0,r|0,r>>31>>>6|0,0)|0;u=I;a=Os(f|0,u|0,26)|0;c=I;u=Ss(s|0,r|0,f&-67108864|0,u|0)|0;o[i>>2]=u;o[i+4>>2]=I;i=e+72|0;u=i;u=ks(a|0,c|0,o[u>>2]|0,o[u+4>>2]|0)|0;c=I;a=ks(u|0,c|0,c>>31>>>7|0,0)|0;f=I;r=Os(a|0,f|0,25)|0;s=I;f=Ss(u|0,c|0,a&-33554432|0,f|0)|0;o[i>>2]=f;o[i+4>>2]=I;i=t;i=ks(r|0,s|0,o[i>>2]|0,o[i+4>>2]|0)|0;s=I;r=e;f=o[r>>2]|0;r=o[r+4>>2]|0;a=Es(i|0,s|0,18,0)|0;c=I;s=ks(f|0,r|0,i|0,s|0)|0;c=ks(s|0,I|0,a|0,c|0)|0;a=I;o[t>>2]=0;o[t+4>>2]=0;t=ks(c|0,a|0,a>>31>>>6|0,0)|0;s=I;i=Os(t|0,s|0,26)|0;r=I;s=Ss(c|0,a|0,t&-67108864|0,s|0)|0;t=e;o[t>>2]=s;o[t+4>>2]=I;t=n;t=ks(i|0,r|0,o[t>>2]|0,o[t+4>>2]|0)|0;e=n;o[e>>2]=t;o[e+4>>2]=I;return}function No(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0;r=h;h=h+160|0;n=r;q=o[t>>2]|0;y=Os(0,q|0,32)|0;c=I;a=Es(y|0,c|0,y|0,c|0)|0;s=I;B=n;o[B>>2]=a;o[B+4>>2]=s;q=Os(0,q|0,31)|0;B=I;H=o[t+8>>2]|0;E=Os(0,H|0,32)|0;d=I;m=Es(E|0,d|0,q|0,B|0)|0;p=I;u=n+8|0;A=u;o[A>>2]=m;o[A+4>>2]=p;A=Es(E|0,d|0,E|0,d|0)|0;w=I;g=Os(0,o[t+16>>2]|0,32)|0;l=I;b=Es(g|0,l|0,y|0,c|0)|0;w=ks(b|0,I|0,A|0,w|0)|0;w=Cs(w|0,I|0,1)|0;A=I;b=n+16|0;T=b;o[T>>2]=w;o[T+4>>2]=A;T=Es(g|0,l|0,E|0,d|0)|0;R=I;ce=Os(0,o[t+24>>2]|0,32)|0;ae=I;v=Es(ce|0,ae|0,y|0,c|0)|0;R=ks(v|0,I|0,T|0,R|0)|0;R=Cs(R|0,I|0,1)|0;T=I;v=n+24|0;D=v;o[D>>2]=R;o[D+4>>2]=T;D=Es(g|0,l|0,g|0,l|0)|0;C=I;O=Os(0,H|0,30)|0;O=Es(ce|0,ae|0,O|0,I|0)|0;C=ks(O|0,I|0,D|0,C|0)|0;D=I;O=Os(0,o[t+32>>2]|0,32)|0;_=I;B=Es(O|0,_|0,q|0,B|0)|0;B=ks(C|0,D|0,B|0,I|0)|0;D=I;C=n+32|0;q=C;o[q>>2]=B;o[q+4>>2]=D;q=Es(ce|0,ae|0,g|0,l|0)|0;U=I;P=Es(O|0,_|0,E|0,d|0)|0;U=ks(P|0,I|0,q|0,U|0)|0;q=I;P=o[t+40>>2]|0;j=Os(0,P|0,32)|0;M=I;K=Es(j|0,M|0,y|0,c|0)|0;K=ks(U|0,q|0,K|0,I|0)|0;K=Cs(K|0,I|0,1)|0;q=I;U=n+40|0;$=U;o[$>>2]=K;o[$+4>>2]=q;$=Es(ce|0,ae|0,ce|0,ae|0)|0;te=I;z=Es(O|0,_|0,g|0,l|0)|0;te=ks(z|0,I|0,$|0,te|0)|0;$=I;z=Os(0,o[t+48>>2]|0,32)|0;G=I;W=Es(z|0,G|0,y|0,c|0)|0;Y=I;H=Os(0,H|0,31)|0;H=Es(j|0,M|0,H|0,I|0)|0;H=ks(te|0,$|0,H|0,I|0)|0;Y=ks(H|0,I|0,W|0,Y|0)|0;Y=Cs(Y|0,I|0,1)|0;W=I;H=n+48|0;$=H;o[$>>2]=Y;o[$+4>>2]=W;$=Es(O|0,_|0,ce|0,ae|0)|0;te=I;Q=Es(j|0,M|0,g|0,l|0)|0;te=ks(Q|0,I|0,$|0,te|0)|0;$=I;Q=Es(z|0,G|0,E|0,d|0)|0;Q=ks(te|0,$|0,Q|0,I|0)|0;$=I;te=o[t+56>>2]|0;L=Os(0,te|0,32)|0;F=I;ee=Es(L|0,F|0,y|0,c|0)|0;ee=ks(Q|0,$|0,ee|0,I|0)|0;ee=Cs(ee|0,I|0,1)|0;$=I;Q=n+56|0;V=Q;o[V>>2]=ee;o[V+4>>2]=$;V=Es(O|0,_|0,O|0,_|0)|0;Z=I;i=Es(z|0,G|0,g|0,l|0)|0;oe=I;ne=o[t+64>>2]|0;J=Os(0,ne|0,32)|0;X=I;ie=Es(J|0,X|0,y|0,c|0)|0;oe=ks(ie|0,I|0,i|0,oe|0)|0;i=I;ie=Es(L|0,F|0,E|0,d|0)|0;re=I;f=Es(j|0,M|0,ce|0,ae|0)|0;f=ks(ie|0,re|0,f|0,I|0)|0;f=Cs(f|0,I|0,1)|0;f=ks(oe|0,i|0,f|0,I|0)|0;f=Cs(f|0,I|0,1)|0;Z=ks(f|0,I|0,V|0,Z|0)|0;V=I;f=Es(j|0,M|0,O|0,_|0)|0;i=I;oe=Es(z|0,G|0,ce|0,ae|0)|0;i=ks(oe|0,I|0,f|0,i|0)|0;f=I;oe=Es(L|0,F|0,g|0,l|0)|0;oe=ks(i|0,f|0,oe|0,I|0)|0;f=I;i=Es(J|0,X|0,E|0,d|0)|0;i=ks(oe|0,f|0,i|0,I|0)|0;f=I;oe=o[t+72>>2]|0;re=Os(0,oe|0,32)|0;ie=I;c=Es(re|0,ie|0,y|0,c|0)|0;c=ks(i|0,f|0,c|0,I|0)|0;c=Cs(c|0,I|0,1)|0;t=n+72|0;o[t>>2]=c;o[t+4>>2]=I;t=Es(j|0,M|0,j|0,M|0)|0;c=I;f=Es(z|0,G|0,O|0,_|0)|0;c=ks(f|0,I|0,t|0,c|0)|0;t=I;f=Es(J|0,X|0,g|0,l|0)|0;f=ks(c|0,t|0,f|0,I|0)|0;t=I;c=Es(L|0,F|0,ce|0,ae|0)|0;i=I;d=Es(re|0,ie|0,E|0,d|0)|0;i=ks(d|0,I|0,c|0,i|0)|0;i=Cs(i|0,I|0,1)|0;i=ks(f|0,t|0,i|0,I|0)|0;t=I;f=Cs(i|0,t|0,1)|0;c=I;d=n+80|0;o[d>>2]=f;o[d+4>>2]=c;d=Es(z|0,G|0,j|0,M|0)|0;E=I;y=Es(L|0,F|0,O|0,_|0)|0;E=ks(y|0,I|0,d|0,E|0)|0;d=I;y=Es(J|0,X|0,ce|0,ae|0)|0;y=ks(E|0,d|0,y|0,I|0)|0;d=I;l=Es(re|0,ie|0,g|0,l|0)|0;l=ks(y|0,d|0,l|0,I|0)|0;d=I;y=Cs(l|0,d|0,1)|0;g=I;E=n+88|0;o[E>>2]=y;o[E+4>>2]=g;E=Es(z|0,G|0,z|0,G|0)|0;k=I;x=Es(J|0,X|0,O|0,_|0)|0;S=I;se=Es(L|0,F|0,j|0,M|0)|0;N=I;ae=Es(re|0,ie|0,ce|0,ae|0)|0;N=ks(ae|0,I|0,se|0,N|0)|0;N=Cs(N|0,I|0,1)|0;S=ks(N|0,I|0,x|0,S|0)|0;S=Cs(S|0,I|0,1)|0;k=ks(S|0,I|0,E|0,k|0)|0;E=I;S=n+96|0;o[S>>2]=k;o[S+4>>2]=E;S=Es(L|0,F|0,z|0,G|0)|0;x=I;M=Es(J|0,X|0,j|0,M|0)|0;x=ks(M|0,I|0,S|0,x|0)|0;S=I;_=Es(re|0,ie|0,O|0,_|0)|0;_=ks(x|0,S|0,_|0,I|0)|0;S=I;x=Cs(_|0,S|0,1)|0;O=I;M=n+104|0;o[M>>2]=x;o[M+4>>2]=O;M=Es(L|0,F|0,L|0,F|0)|0;j=I;N=Es(J|0,X|0,z|0,G|0)|0;j=ks(N|0,I|0,M|0,j|0)|0;M=I;P=Os(0,P|0,31)|0;P=Es(re|0,ie|0,P|0,I|0)|0;P=ks(j|0,M|0,P|0,I|0)|0;M=I;j=Cs(P|0,M|0,1)|0;N=I;se=n+112|0;o[se>>2]=j;o[se+4>>2]=N;F=Es(J|0,X|0,L|0,F|0)|0;L=I;G=Es(re|0,ie|0,z|0,G|0)|0;L=ks(G|0,I|0,F|0,L|0)|0;F=I;G=Cs(L|0,F|0,1)|0;z=I;se=n+120|0;o[se>>2]=G;o[se+4>>2]=z;X=Es(J|0,X|0,J|0,X|0)|0;J=I;te=Os(0,te|0,30)|0;te=Es(re|0,ie|0,te|0,I|0)|0;J=ks(te|0,I|0,X|0,J|0)|0;X=I;te=n+128|0;o[te>>2]=J;o[te+4>>2]=X;ne=Os(0,ne|0,31)|0;ne=Es(re|0,ie|0,ne|0,I|0)|0;te=I;se=n+136|0;o[se>>2]=ne;o[se+4>>2]=te;oe=Os(0,oe|0,31)|0;ie=Es(oe|0,I|0,re|0,ie|0)|0;re=I;oe=n+144|0;o[oe>>2]=ie;o[oe+4>>2]=re;re=Es(ie|0,re|0,19,0)|0;V=ks(re|0,I|0,Z|0,V|0)|0;Z=n+64|0;o[Z>>2]=V;o[Z+4>>2]=I;Z=Es(ne|0,te|0,18,0)|0;V=I;$=ks(ne|0,te|0,ee|0,$|0)|0;V=ks($|0,I|0,Z|0,V|0)|0;o[Q>>2]=V;o[Q+4>>2]=I;Q=Es(J|0,X|0,18,0)|0;V=I;W=ks(J|0,X|0,Y|0,W|0)|0;V=ks(W|0,I|0,Q|0,V|0)|0;o[H>>2]=V;o[H+4>>2]=I;F=Es(L|0,F|0,36,0)|0;L=I;q=ks(G|0,z|0,K|0,q|0)|0;L=ks(q|0,I|0,F|0,L|0)|0;o[U>>2]=L;o[U+4>>2]=I;M=Es(P|0,M|0,36,0)|0;P=I;D=ks(j|0,N|0,B|0,D|0)|0;P=ks(D|0,I|0,M|0,P|0)|0;o[C>>2]=P;o[C+4>>2]=I;S=Es(_|0,S|0,36,0)|0;_=I;T=ks(x|0,O|0,R|0,T|0)|0;_=ks(T|0,I|0,S|0,_|0)|0;o[v>>2]=_;o[v+4>>2]=I;v=Es(k|0,E|0,18,0)|0;_=I;A=ks(k|0,E|0,w|0,A|0)|0;_=ks(A|0,I|0,v|0,_|0)|0;o[b>>2]=_;o[b+4>>2]=I;d=Es(l|0,d|0,36,0)|0;l=I;p=ks(y|0,g|0,m|0,p|0)|0;l=ks(p|0,I|0,d|0,l|0)|0;o[u>>2]=l;o[u+4>>2]=I;t=Es(i|0,t|0,36,0)|0;i=I;s=ks(f|0,c|0,a|0,s|0)|0;i=ks(s|0,I|0,t|0,i|0)|0;t=n;o[t>>2]=i;o[t+4>>2]=I;Bo(n);t=n;n=e+80|0;do{o[e>>2]=o[t>>2];e=e+4|0;t=t+4|0}while((e|0)<(n|0));h=r;return}function jo(e){e=e|0;var t=0,n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0;E=h;h=h+16|0;p=E;do{if(e>>>0<245){u=e>>>0<11?16:e+11&-8;e=u>>>3;d=o[9632]|0;n=d>>>e;if(n&3|0){t=(n&1^1)+e|0;e=38568+(t<<1<<2)|0;n=e+8|0;r=o[n>>2]|0;i=r+8|0;s=o[i>>2]|0;if((s|0)==(e|0))o[9632]=d&~(1<>2]=e;o[n>>2]=s}w=t<<3;o[r+4>>2]=w|3;w=r+w+4|0;o[w>>2]=o[w>>2]|1;w=i;h=E;return w|0}l=o[9634]|0;if(u>>>0>l>>>0){if(n|0){t=2<>>12&16;t=t>>>c;n=t>>>5&8;t=t>>>n;s=t>>>2&4;t=t>>>s;e=t>>>1&2;t=t>>>e;r=t>>>1&1;r=(n|c|s|e|r)+(t>>>r)|0;t=38568+(r<<1<<2)|0;e=t+8|0;s=o[e>>2]|0;c=s+8|0;n=o[c>>2]|0;if((n|0)==(t|0)){e=d&~(1<>2]=t;o[e>>2]=n;e=d}w=r<<3;a=w-u|0;o[s+4>>2]=u|3;i=s+u|0;o[i+4>>2]=a|1;o[s+w>>2]=a;if(l|0){r=o[9637]|0;t=l>>>3;n=38568+(t<<1<<2)|0;t=1<>2]|0}o[e>>2]=r;o[t+12>>2]=r;o[r+8>>2]=t;o[r+12>>2]=n}o[9634]=a;o[9637]=i;w=c;h=E;return w|0}s=o[9633]|0;if(s){n=(s&0-s)+-1|0;i=n>>>12&16;n=n>>>i;r=n>>>5&8;n=n>>>r;a=n>>>2&4;n=n>>>a;c=n>>>1&2;n=n>>>c;f=n>>>1&1;f=o[38832+((r|i|a|c|f)+(n>>>f)<<2)>>2]|0;n=f;c=f;f=(o[f+4>>2]&-8)-u|0;while(1){e=o[n+16>>2]|0;if(!e){e=o[n+20>>2]|0;if(!e)break}a=(o[e+4>>2]&-8)-u|0;i=a>>>0>>0;n=e;c=i?e:c;f=i?a:f}a=c+u|0;if(a>>>0>c>>>0){i=o[c+24>>2]|0;t=o[c+12>>2]|0;do{if((t|0)==(c|0)){e=c+20|0;t=o[e>>2]|0;if(!t){e=c+16|0;t=o[e>>2]|0;if(!t){n=0;break}}while(1){r=t+20|0;n=o[r>>2]|0;if(!n){r=t+16|0;n=o[r>>2]|0;if(!n)break;else{t=n;e=r}}else{t=n;e=r}}o[e>>2]=0;n=t}else{n=o[c+8>>2]|0;o[n+12>>2]=t;o[t+8>>2]=n;n=t}}while(0);do{if(i|0){t=o[c+28>>2]|0;e=38832+(t<<2)|0;if((c|0)==(o[e>>2]|0)){o[e>>2]=n;if(!n){o[9633]=s&~(1<>2]|0)==(c|0)?w:i+20|0)>>2]=n;if(!n)break}o[n+24>>2]=i;t=o[c+16>>2]|0;if(t|0){o[n+16>>2]=t;o[t+24>>2]=n}t=o[c+20>>2]|0;if(t|0){o[n+20>>2]=t;o[t+24>>2]=n}}}while(0);if(f>>>0<16){w=f+u|0;o[c+4>>2]=w|3;w=c+w+4|0;o[w>>2]=o[w>>2]|1}else{o[c+4>>2]=u|3;o[a+4>>2]=f|1;o[a+f>>2]=f;if(l|0){r=o[9637]|0;t=l>>>3;n=38568+(t<<1<<2)|0;t=1<>2]|0}o[e>>2]=r;o[t+12>>2]=r;o[r+8>>2]=t;o[r+12>>2]=n}o[9634]=f;o[9637]=a}w=c+8|0;h=E;return w|0}else d=u}else d=u}else d=u}else if(e>>>0<=4294967231){e=e+11|0;u=e&-8;r=o[9633]|0;if(r){i=0-u|0;e=e>>>8;if(e)if(u>>>0>16777215)f=31;else{d=(e+1048320|0)>>>16&8;y=e<>>16&4;y=y<>>16&2;f=14-(c|d|f)+(y<>>15)|0;f=u>>>(f+7|0)&1|f<<1}else f=0;n=o[38832+(f<<2)>>2]|0;e:do{if(!n){n=0;e=0;y=61}else{e=0;c=u<<((f|0)==31?0:25-(f>>>1)|0);s=0;while(1){a=(o[n+4>>2]&-8)-u|0;if(a>>>0>>0)if(!a){e=n;i=0;y=65;break e}else{e=n;i=a}y=o[n+20>>2]|0;n=o[n+16+(c>>>31<<2)>>2]|0;s=(y|0)==0|(y|0)==(n|0)?s:y;if(!n){n=s;y=61;break}else c=c<<1}}}while(0);if((y|0)==61){if((n|0)==0&(e|0)==0){e=2<>>12&16;d=d>>>a;s=d>>>5&8;d=d>>>s;c=d>>>2&4;d=d>>>c;f=d>>>1&2;d=d>>>f;n=d>>>1&1;e=0;n=o[38832+((s|a|c|f|n)+(d>>>n)<<2)>>2]|0}if(!n){c=e;a=i}else y=65}if((y|0)==65){s=n;while(1){d=(o[s+4>>2]&-8)-u|0;n=d>>>0>>0;i=n?d:i;e=n?s:e;n=o[s+16>>2]|0;if(!n)n=o[s+20>>2]|0;if(!n){c=e;a=i;break}else s=n}}if(((c|0)!=0?a>>>0<((o[9634]|0)-u|0)>>>0:0)?(l=c+u|0,l>>>0>c>>>0):0){s=o[c+24>>2]|0;t=o[c+12>>2]|0;do{if((t|0)==(c|0)){e=c+20|0;t=o[e>>2]|0;if(!t){e=c+16|0;t=o[e>>2]|0;if(!t){t=0;break}}while(1){i=t+20|0;n=o[i>>2]|0;if(!n){i=t+16|0;n=o[i>>2]|0;if(!n)break;else{t=n;e=i}}else{t=n;e=i}}o[e>>2]=0}else{w=o[c+8>>2]|0;o[w+12>>2]=t;o[t+8>>2]=w}}while(0);do{if(s){e=o[c+28>>2]|0;n=38832+(e<<2)|0;if((c|0)==(o[n>>2]|0)){o[n>>2]=t;if(!t){r=r&~(1<>2]|0)==(c|0)?w:s+20|0)>>2]=t;if(!t)break}o[t+24>>2]=s;e=o[c+16>>2]|0;if(e|0){o[t+16>>2]=e;o[e+24>>2]=t}e=o[c+20>>2]|0;if(e){o[t+20>>2]=e;o[e+24>>2]=t}}}while(0);e:do{if(a>>>0<16){w=a+u|0;o[c+4>>2]=w|3;w=c+w+4|0;o[w>>2]=o[w>>2]|1}else{o[c+4>>2]=u|3;o[l+4>>2]=a|1;o[l+a>>2]=a;t=a>>>3;if(a>>>0<256){n=38568+(t<<1<<2)|0;e=o[9632]|0;t=1<>2]|0}o[e>>2]=l;o[t+12>>2]=l;o[l+8>>2]=t;o[l+12>>2]=n;break}t=a>>>8;if(t)if(a>>>0>16777215)n=31;else{A=(t+1048320|0)>>>16&8;w=t<>>16&4;w=w<>>16&2;n=14-(v|A|n)+(w<>>15)|0;n=a>>>(n+7|0)&1|n<<1}else n=0;t=38832+(n<<2)|0;o[l+28>>2]=n;e=l+16|0;o[e+4>>2]=0;o[e>>2]=0;e=1<>2]=l;o[l+24>>2]=t;o[l+12>>2]=l;o[l+8>>2]=l;break}t=o[t>>2]|0;t:do{if((o[t+4>>2]&-8|0)!=(a|0)){r=a<<((n|0)==31?0:25-(n>>>1)|0);while(1){n=t+16+(r>>>31<<2)|0;e=o[n>>2]|0;if(!e)break;if((o[e+4>>2]&-8|0)==(a|0)){t=e;break t}else{r=r<<1;t=e}}o[n>>2]=l;o[l+24>>2]=t;o[l+12>>2]=l;o[l+8>>2]=l;break e}}while(0);A=t+8|0;w=o[A>>2]|0;o[w+12>>2]=l;o[A>>2]=l;o[l+8>>2]=w;o[l+12>>2]=t;o[l+24>>2]=0}}while(0);w=c+8|0;h=E;return w|0}else d=u}else d=u}else d=-1}while(0);n=o[9634]|0;if(n>>>0>=d>>>0){t=n-d|0;e=o[9637]|0;if(t>>>0>15){w=e+d|0;o[9637]=w;o[9634]=t;o[w+4>>2]=t|1;o[e+n>>2]=t;o[e+4>>2]=d|3}else{o[9634]=0;o[9637]=0;o[e+4>>2]=n|3;w=e+n+4|0;o[w>>2]=o[w>>2]|1}w=e+8|0;h=E;return w|0}a=o[9635]|0;if(a>>>0>d>>>0){v=a-d|0;o[9635]=v;w=o[9638]|0;A=w+d|0;o[9638]=A;o[A+4>>2]=v|1;o[w+4>>2]=d|3;w=w+8|0;h=E;return w|0}if(!(o[9750]|0)){o[9752]=4096;o[9751]=4096;o[9753]=-1;o[9754]=-1;o[9755]=0;o[9743]=0;o[9750]=p&-16^1431655768;e=4096}else e=o[9752]|0;c=d+48|0;f=d+47|0;s=e+f|0;i=0-e|0;u=s&i;if(u>>>0<=d>>>0){w=0;h=E;return w|0}e=o[9742]|0;if(e|0?(l=o[9740]|0,p=l+u|0,p>>>0<=l>>>0|p>>>0>e>>>0):0){w=0;h=E;return w|0}e:do{if(!(o[9743]&4)){n=o[9638]|0;t:do{if(n){r=38976;while(1){p=o[r>>2]|0;if(p>>>0<=n>>>0?(p+(o[r+4>>2]|0)|0)>>>0>n>>>0:0)break;e=o[r+8>>2]|0;if(!e){y=128;break t}else r=e}t=s-a&i;if(t>>>0<2147483647){e=Bs(t|0)|0;if((e|0)==((o[r>>2]|0)+(o[r+4>>2]|0)|0)){if((e|0)!=(-1|0)){a=t;s=e;y=145;break e}}else{r=e;y=136}}else t=0}else y=128}while(0);do{if((y|0)==128){n=Bs(0)|0;if((n|0)!=(-1|0)?(t=n,m=o[9751]|0,g=m+-1|0,t=((g&t|0)==0?0:(g+t&0-m)-t|0)+u|0,m=o[9740]|0,g=t+m|0,t>>>0>d>>>0&t>>>0<2147483647):0){p=o[9742]|0;if(p|0?g>>>0<=m>>>0|g>>>0>p>>>0:0){t=0;break}e=Bs(t|0)|0;if((e|0)==(n|0)){a=t;s=n;y=145;break e}else{r=e;y=136}}else t=0}}while(0);do{if((y|0)==136){n=0-t|0;if(!(c>>>0>t>>>0&(t>>>0<2147483647&(r|0)!=(-1|0))))if((r|0)==(-1|0)){t=0;break}else{a=t;s=r;y=145;break e}e=o[9752]|0;e=f-t+e&0-e;if(e>>>0>=2147483647){a=t;s=r;y=145;break e}if((Bs(e|0)|0)==(-1|0)){Bs(n|0)|0;t=0;break}else{a=e+t|0;s=r;y=145;break e}}}while(0);o[9743]=o[9743]|4;y=143}else{t=0;y=143}}while(0);if(((y|0)==143?u>>>0<2147483647:0)?(v=Bs(u|0)|0,g=Bs(0)|0,b=g-v|0,_=b>>>0>(d+40|0)>>>0,!((v|0)==(-1|0)|_^1|v>>>0>>0&((v|0)!=(-1|0)&(g|0)!=(-1|0))^1)):0){a=_?b:t;s=v;y=145}if((y|0)==145){t=(o[9740]|0)+a|0;o[9740]=t;if(t>>>0>(o[9741]|0)>>>0)o[9741]=t;f=o[9638]|0;e:do{if(f){t=38976;while(1){e=o[t>>2]|0;n=o[t+4>>2]|0;if((s|0)==(e+n|0)){y=154;break}r=o[t+8>>2]|0;if(!r)break;else t=r}if(((y|0)==154?(A=t+4|0,(o[t+12>>2]&8|0)==0):0)?s>>>0>f>>>0&e>>>0<=f>>>0:0){o[A>>2]=n+a;w=(o[9635]|0)+a|0;v=f+8|0;v=(v&7|0)==0?0:0-v&7;A=f+v|0;v=w-v|0;o[9638]=A;o[9635]=v;o[A+4>>2]=v|1;o[f+w+4>>2]=40;o[9639]=o[9754];break}if(s>>>0<(o[9636]|0)>>>0)o[9636]=s;n=s+a|0;t=38976;while(1){if((o[t>>2]|0)==(n|0)){y=162;break}e=o[t+8>>2]|0;if(!e)break;else t=e}if((y|0)==162?(o[t+12>>2]&8|0)==0:0){o[t>>2]=s;l=t+4|0;o[l>>2]=(o[l>>2]|0)+a;l=s+8|0;l=s+((l&7|0)==0?0:0-l&7)|0;t=n+8|0;t=n+((t&7|0)==0?0:0-t&7)|0;u=l+d|0;c=t-l-d|0;o[l+4>>2]=d|3;t:do{if((f|0)==(t|0)){w=(o[9635]|0)+c|0;o[9635]=w;o[9638]=u;o[u+4>>2]=w|1}else{if((o[9637]|0)==(t|0)){w=(o[9634]|0)+c|0;o[9634]=w;o[9637]=u;o[u+4>>2]=w|1;o[u+w>>2]=w;break}e=o[t+4>>2]|0;if((e&3|0)==1){a=e&-8;r=e>>>3;n:do{if(e>>>0<256){e=o[t+8>>2]|0;n=o[t+12>>2]|0;if((n|0)==(e|0)){o[9632]=o[9632]&~(1<>2]=n;o[n+8>>2]=e;break}}else{s=o[t+24>>2]|0;e=o[t+12>>2]|0;do{if((e|0)==(t|0)){n=t+16|0;r=n+4|0;e=o[r>>2]|0;if(!e){e=o[n>>2]|0;if(!e){e=0;break}}else n=r;while(1){i=e+20|0;r=o[i>>2]|0;if(!r){i=e+16|0;r=o[i>>2]|0;if(!r)break;else{e=r;n=i}}else{e=r;n=i}}o[n>>2]=0}else{w=o[t+8>>2]|0;o[w+12>>2]=e;o[e+8>>2]=w}}while(0);if(!s)break;n=o[t+28>>2]|0;r=38832+(n<<2)|0;do{if((o[r>>2]|0)!=(t|0)){w=s+16|0;o[((o[w>>2]|0)==(t|0)?w:s+20|0)>>2]=e;if(!e)break n}else{o[r>>2]=e;if(e|0)break;o[9633]=o[9633]&~(1<>2]=s;n=t+16|0;r=o[n>>2]|0;if(r|0){o[e+16>>2]=r;o[r+24>>2]=e}n=o[n+4>>2]|0;if(!n)break;o[e+20>>2]=n;o[n+24>>2]=e}}while(0);t=t+a|0;i=a+c|0}else i=c;t=t+4|0;o[t>>2]=o[t>>2]&-2;o[u+4>>2]=i|1;o[u+i>>2]=i;t=i>>>3;if(i>>>0<256){n=38568+(t<<1<<2)|0;e=o[9632]|0;t=1<>2]|0}o[e>>2]=u;o[t+12>>2]=u;o[u+8>>2]=t;o[u+12>>2]=n;break}t=i>>>8;do{if(!t)r=0;else{if(i>>>0>16777215){r=31;break}A=(t+1048320|0)>>>16&8;w=t<>>16&4;w=w<>>16&2;r=14-(v|A|r)+(w<>>15)|0;r=i>>>(r+7|0)&1|r<<1}}while(0);t=38832+(r<<2)|0;o[u+28>>2]=r;e=u+16|0;o[e+4>>2]=0;o[e>>2]=0;e=o[9633]|0;n=1<>2]=u;o[u+24>>2]=t;o[u+12>>2]=u;o[u+8>>2]=u;break}t=o[t>>2]|0;n:do{if((o[t+4>>2]&-8|0)!=(i|0)){r=i<<((r|0)==31?0:25-(r>>>1)|0);while(1){n=t+16+(r>>>31<<2)|0;e=o[n>>2]|0;if(!e)break;if((o[e+4>>2]&-8|0)==(i|0)){t=e;break n}else{r=r<<1;t=e}}o[n>>2]=u;o[u+24>>2]=t;o[u+12>>2]=u;o[u+8>>2]=u;break t}}while(0);A=t+8|0;w=o[A>>2]|0;o[w+12>>2]=u;o[A>>2]=u;o[u+8>>2]=w;o[u+12>>2]=t;o[u+24>>2]=0}}while(0);w=l+8|0;h=E;return w|0}t=38976;while(1){e=o[t>>2]|0;if(e>>>0<=f>>>0?(w=e+(o[t+4>>2]|0)|0,w>>>0>f>>>0):0)break;t=o[t+8>>2]|0}i=w+-47|0;e=i+8|0;e=i+((e&7|0)==0?0:0-e&7)|0;i=f+16|0;e=e>>>0>>0?f:e;t=e+8|0;n=a+-40|0;v=s+8|0;v=(v&7|0)==0?0:0-v&7;A=s+v|0;v=n-v|0;o[9638]=A;o[9635]=v;o[A+4>>2]=v|1;o[s+n+4>>2]=40;o[9639]=o[9754];n=e+4|0;o[n>>2]=27;o[t>>2]=o[9744];o[t+4>>2]=o[9745];o[t+8>>2]=o[9746];o[t+12>>2]=o[9747];o[9744]=s;o[9745]=a;o[9747]=0;o[9746]=t;t=e+24|0;do{A=t;t=t+4|0;o[t>>2]=7}while((A+8|0)>>>0>>0);if((e|0)!=(f|0)){s=e-f|0;o[n>>2]=o[n>>2]&-2;o[f+4>>2]=s|1;o[e>>2]=s;t=s>>>3;if(s>>>0<256){n=38568+(t<<1<<2)|0;e=o[9632]|0;t=1<>2]|0}o[e>>2]=f;o[t+12>>2]=f;o[f+8>>2]=t;o[f+12>>2]=n;break}t=s>>>8;if(t)if(s>>>0>16777215)r=31;else{A=(t+1048320|0)>>>16&8;w=t<>>16&4;w=w<>>16&2;r=14-(v|A|r)+(w<>>15)|0;r=s>>>(r+7|0)&1|r<<1}else r=0;n=38832+(r<<2)|0;o[f+28>>2]=r;o[f+20>>2]=0;o[i>>2]=0;t=o[9633]|0;e=1<>2]=f;o[f+24>>2]=n;o[f+12>>2]=f;o[f+8>>2]=f;break}t=o[n>>2]|0;t:do{if((o[t+4>>2]&-8|0)!=(s|0)){r=s<<((r|0)==31?0:25-(r>>>1)|0);while(1){n=t+16+(r>>>31<<2)|0;e=o[n>>2]|0;if(!e)break;if((o[e+4>>2]&-8|0)==(s|0)){t=e;break t}else{r=r<<1;t=e}}o[n>>2]=f;o[f+24>>2]=t;o[f+12>>2]=f;o[f+8>>2]=f;break e}}while(0);A=t+8|0;w=o[A>>2]|0;o[w+12>>2]=f;o[A>>2]=f;o[f+8>>2]=w;o[f+12>>2]=t;o[f+24>>2]=0}}else{w=o[9636]|0;if((w|0)==0|s>>>0>>0)o[9636]=s;o[9744]=s;o[9745]=a;o[9747]=0;o[9641]=o[9750];o[9640]=-1;o[9645]=38568;o[9644]=38568;o[9647]=38576;o[9646]=38576;o[9649]=38584;o[9648]=38584;o[9651]=38592;o[9650]=38592;o[9653]=38600;o[9652]=38600;o[9655]=38608;o[9654]=38608;o[9657]=38616;o[9656]=38616;o[9659]=38624;o[9658]=38624;o[9661]=38632;o[9660]=38632;o[9663]=38640;o[9662]=38640;o[9665]=38648;o[9664]=38648;o[9667]=38656;o[9666]=38656;o[9669]=38664;o[9668]=38664;o[9671]=38672;o[9670]=38672;o[9673]=38680;o[9672]=38680;o[9675]=38688;o[9674]=38688;o[9677]=38696;o[9676]=38696;o[9679]=38704;o[9678]=38704;o[9681]=38712;o[9680]=38712;o[9683]=38720;o[9682]=38720;o[9685]=38728;o[9684]=38728;o[9687]=38736;o[9686]=38736;o[9689]=38744;o[9688]=38744;o[9691]=38752;o[9690]=38752;o[9693]=38760;o[9692]=38760;o[9695]=38768;o[9694]=38768;o[9697]=38776;o[9696]=38776;o[9699]=38784;o[9698]=38784;o[9701]=38792;o[9700]=38792;o[9703]=38800;o[9702]=38800;o[9705]=38808;o[9704]=38808;o[9707]=38816;o[9706]=38816;w=a+-40|0;v=s+8|0;v=(v&7|0)==0?0:0-v&7;A=s+v|0;v=w-v|0;o[9638]=A;o[9635]=v;o[A+4>>2]=v|1;o[s+w+4>>2]=40;o[9639]=o[9754]}}while(0);t=o[9635]|0;if(t>>>0>d>>>0){v=t-d|0;o[9635]=v;w=o[9638]|0;A=w+d|0;o[9638]=A;o[A+4>>2]=v|1;o[w+4>>2]=d|3;w=w+8|0;h=E;return w|0}}o[(Lo()|0)>>2]=12;w=0;h=E;return w|0}function Uo(e){e=e|0;var t=0,n=0,r=0,i=0,s=0,a=0,c=0,f=0;if(!e)return;n=e+-8|0;i=o[9636]|0;e=o[e+-4>>2]|0;t=e&-8;f=n+t|0;do{if(!(e&1)){r=o[n>>2]|0;if(!(e&3))return;a=n+(0-r)|0;s=r+t|0;if(a>>>0>>0)return;if((o[9637]|0)==(a|0)){e=f+4|0;t=o[e>>2]|0;if((t&3|0)!=3){c=a;t=s;break}o[9634]=s;o[e>>2]=t&-2;o[a+4>>2]=s|1;o[a+s>>2]=s;return}n=r>>>3;if(r>>>0<256){e=o[a+8>>2]|0;t=o[a+12>>2]|0;if((t|0)==(e|0)){o[9632]=o[9632]&~(1<>2]=t;o[t+8>>2]=e;c=a;t=s;break}}i=o[a+24>>2]|0;e=o[a+12>>2]|0;do{if((e|0)==(a|0)){t=a+16|0;n=t+4|0;e=o[n>>2]|0;if(!e){e=o[t>>2]|0;if(!e){e=0;break}}else t=n;while(1){r=e+20|0;n=o[r>>2]|0;if(!n){r=e+16|0;n=o[r>>2]|0;if(!n)break;else{e=n;t=r}}else{e=n;t=r}}o[t>>2]=0}else{c=o[a+8>>2]|0;o[c+12>>2]=e;o[e+8>>2]=c}}while(0);if(i){t=o[a+28>>2]|0;n=38832+(t<<2)|0;if((o[n>>2]|0)==(a|0)){o[n>>2]=e;if(!e){o[9633]=o[9633]&~(1<>2]|0)==(a|0)?c:i+20|0)>>2]=e;if(!e){c=a;t=s;break}}o[e+24>>2]=i;t=a+16|0;n=o[t>>2]|0;if(n|0){o[e+16>>2]=n;o[n+24>>2]=e}t=o[t+4>>2]|0;if(t){o[e+20>>2]=t;o[t+24>>2]=e;c=a;t=s}else{c=a;t=s}}else{c=a;t=s}}else{c=n;a=n}}while(0);if(a>>>0>=f>>>0)return;e=f+4|0;r=o[e>>2]|0;if(!(r&1))return;if(!(r&2)){if((o[9638]|0)==(f|0)){f=(o[9635]|0)+t|0;o[9635]=f;o[9638]=c;o[c+4>>2]=f|1;if((c|0)!=(o[9637]|0))return;o[9637]=0;o[9634]=0;return}if((o[9637]|0)==(f|0)){f=(o[9634]|0)+t|0;o[9634]=f;o[9637]=a;o[c+4>>2]=f|1;o[a+f>>2]=f;return}i=(r&-8)+t|0;n=r>>>3;do{if(r>>>0<256){t=o[f+8>>2]|0;e=o[f+12>>2]|0;if((e|0)==(t|0)){o[9632]=o[9632]&~(1<>2]=e;o[e+8>>2]=t;break}}else{s=o[f+24>>2]|0;e=o[f+12>>2]|0;do{if((e|0)==(f|0)){t=f+16|0;n=t+4|0;e=o[n>>2]|0;if(!e){e=o[t>>2]|0;if(!e){n=0;break}}else t=n;while(1){r=e+20|0;n=o[r>>2]|0;if(!n){r=e+16|0;n=o[r>>2]|0;if(!n)break;else{e=n;t=r}}else{e=n;t=r}}o[t>>2]=0;n=e}else{n=o[f+8>>2]|0;o[n+12>>2]=e;o[e+8>>2]=n;n=e}}while(0);if(s|0){e=o[f+28>>2]|0;t=38832+(e<<2)|0;if((o[t>>2]|0)==(f|0)){o[t>>2]=n;if(!n){o[9633]=o[9633]&~(1<>2]|0)==(f|0)?r:s+20|0)>>2]=n;if(!n)break}o[n+24>>2]=s;e=f+16|0;t=o[e>>2]|0;if(t|0){o[n+16>>2]=t;o[t+24>>2]=n}e=o[e+4>>2]|0;if(e|0){o[n+20>>2]=e;o[e+24>>2]=n}}}}while(0);o[c+4>>2]=i|1;o[a+i>>2]=i;if((c|0)==(o[9637]|0)){o[9634]=i;return}}else{o[e>>2]=r&-2;o[c+4>>2]=t|1;o[a+t>>2]=t;i=t}e=i>>>3;if(i>>>0<256){n=38568+(e<<1<<2)|0;t=o[9632]|0;e=1<>2]|0}o[t>>2]=c;o[e+12>>2]=c;o[c+8>>2]=e;o[c+12>>2]=n;return}e=i>>>8;if(e)if(i>>>0>16777215)r=31;else{a=(e+1048320|0)>>>16&8;f=e<>>16&4;f=f<>>16&2;r=14-(s|a|r)+(f<>>15)|0;r=i>>>(r+7|0)&1|r<<1}else r=0;e=38832+(r<<2)|0;o[c+28>>2]=r;o[c+20>>2]=0;o[c+16>>2]=0;t=o[9633]|0;n=1<>2]=c;o[c+24>>2]=e;o[c+12>>2]=c;o[c+8>>2]=c}else{e=o[e>>2]|0;t:do{if((o[e+4>>2]&-8|0)!=(i|0)){r=i<<((r|0)==31?0:25-(r>>>1)|0);while(1){n=e+16+(r>>>31<<2)|0;t=o[n>>2]|0;if(!t)break;if((o[t+4>>2]&-8|0)==(i|0)){e=t;break t}else{r=r<<1;e=t}}o[n>>2]=c;o[c+24>>2]=e;o[c+12>>2]=c;o[c+8>>2]=c;break e}}while(0);a=e+8|0;f=o[a>>2]|0;o[f+12>>2]=c;o[a>>2]=c;o[c+8>>2]=f;o[c+12>>2]=e;o[c+24>>2]=0}}while(0);f=(o[9640]|0)+-1|0;o[9640]=f;if(f|0)return;e=38984;while(1){e=o[e>>2]|0;if(!e)break;else e=e+8|0}o[9640]=-1;return}function Lo(){return 39088}function Fo(e,t){e=e|0;t=t|0;var n=0,i=0;n=r[e>>0]|0;i=r[t>>0]|0;if(n<<24>>24==0?1:n<<24>>24!=i<<24>>24)e=i;else{do{e=e+1|0;t=t+1|0;n=r[e>>0]|0;i=r[t>>0]|0}while(!(n<<24>>24==0?1:n<<24>>24!=i<<24>>24));e=i}return(n&255)-(e&255)|0}function qo(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0;e:do{if(!n)e=0;else{while(1){i=r[e>>0]|0;o=r[t>>0]|0;if(i<<24>>24!=o<<24>>24)break;n=n+-1|0;if(!n){e=0;break e}else{e=e+1|0;t=t+1|0}}e=(i&255)-(o&255)|0}}while(0);return e|0}function Ko(e){e=e|0;return(e+-48|0)>>>0<10|0}function zo(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0;d=h;h=h+128|0;s=d+124|0;l=d;a=l;c=37604;f=a+124|0;do{o[a>>2]=o[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(f|0));if((t+-1|0)>>>0>2147483646)if(!t){e=s;t=1;u=4}else{o[(Lo()|0)>>2]=75;t=-1}else u=4;if((u|0)==4){u=-2-e|0;u=t>>>0>u>>>0?u:t;o[l+48>>2]=u;s=l+20|0;o[s>>2]=e;o[l+44>>2]=e;t=e+u|0;e=l+16|0;o[e>>2]=t;o[l+28>>2]=t;t=Go(l,n,i)|0;if(u){l=o[s>>2]|0;r[l+(((l|0)==(o[e>>2]|0))<<31>>31)>>0]=0}}h=d;return t|0}function Go(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0;b=h;h=h+224|0;d=b+208|0;m=b+160|0;g=b+80|0;y=b;i=m;s=i+40|0;do{o[i>>2]=0;i=i+4|0}while((i|0)<(s|0));o[d>>2]=o[n>>2];if((Ho(0,t,d,g,m)|0)<0)n=-1;else{if((o[e+76>>2]|0)>-1)p=Vo(e)|0;else p=0;n=o[e>>2]|0;l=n&32;if((r[e+74>>0]|0)<1)o[e>>2]=n&-33;i=e+48|0;if(!(o[i>>2]|0)){s=e+44|0;a=o[s>>2]|0;o[s>>2]=y;c=e+28|0;o[c>>2]=y;f=e+20|0;o[f>>2]=y;o[i>>2]=80;u=e+16|0;o[u>>2]=y+80;n=Ho(e,t,d,g,m)|0;if(a){Vs[o[e+36>>2]&1](e,0,0)|0;n=(o[f>>2]|0)==0?-1:n;o[s>>2]=a;o[i>>2]=0;o[u>>2]=0;o[c>>2]=0;o[f>>2]=0}}else n=Ho(e,t,d,g,m)|0;i=o[e>>2]|0;o[e>>2]=i|l;if(p|0)Qo(e);n=(i&32|0)==0?n:-1}h=b;return n|0}function Ho(e,t,n,s,a){e=e|0;t=t|0;n=n|0;s=s|0;a=a|0;var c=0,f=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0;D=h;h=h+64|0;O=D+56|0;x=D+40|0;S=D;P=D+48|0;M=D+60|0;o[O>>2]=t;w=(e|0)!=0;E=S+40|0;k=E;S=S+39|0;T=P+4|0;c=0;t=0;l=0;e:while(1){do{do{if((t|0)>-1)if((c|0)>(2147483647-t|0)){o[(Lo()|0)>>2]=75;t=-1;break}else{t=c+t|0;break}}while(0);b=o[O>>2]|0;c=r[b>>0]|0;if(!(c<<24>>24)){A=94;break e}f=b;t:while(1){switch(c<<24>>24){case 37:{A=10;break t}case 0:{c=f;break t}default:{}}v=f+1|0;o[O>>2]=v;c=r[v>>0]|0;f=v}t:do{if((A|0)==10){A=0;c=f;do{if((r[f+1>>0]|0)!=37)break t;c=c+1|0;f=f+2|0;o[O>>2]=f}while((r[f>>0]|0)==37)}}while(0);c=c-b|0;if(w)Wo(e,b,c)}while((c|0)!=0);v=(Ko(r[(o[O>>2]|0)+1>>0]|0)|0)==0;f=o[O>>2]|0;if(!v?(r[f+2>>0]|0)==36:0){g=(r[f+1>>0]|0)+-48|0;p=1;c=3}else{g=-1;p=l;c=1}c=f+c|0;o[O>>2]=c;f=r[c>>0]|0;l=(f<<24>>24)+-32|0;if(l>>>0>31|(1<>2]=c;f=r[c>>0]|0;l=(f<<24>>24)+-32|0}while(!(l>>>0>31|(1<>24==42){if((Ko(r[c+1>>0]|0)|0)!=0?(C=o[O>>2]|0,(r[C+2>>0]|0)==36):0){c=C+1|0;o[a+((r[c>>0]|0)+-48<<2)>>2]=10;c=o[s+((r[c>>0]|0)+-48<<3)>>2]|0;l=1;f=C+3|0}else{if(p|0){t=-1;break}if(w){v=(o[n>>2]|0)+(4-1)&~(4-1);c=o[v>>2]|0;o[n>>2]=v+4}else c=0;l=0;f=(o[O>>2]|0)+1|0}o[O>>2]=f;v=(c|0)<0;_=v?0-c|0:c;d=v?d|8192:d;v=l}else{c=Yo(O)|0;if((c|0)<0){t=-1;break}_=c;v=p;f=o[O>>2]|0}do{if((r[f>>0]|0)==46){c=f+1|0;if((r[c>>0]|0)!=42){o[O>>2]=c;c=Yo(O)|0;f=o[O>>2]|0;break}if(Ko(r[f+2>>0]|0)|0?(R=o[O>>2]|0,(r[R+3>>0]|0)==36):0){c=R+2|0;o[a+((r[c>>0]|0)+-48<<2)>>2]=10;c=o[s+((r[c>>0]|0)+-48<<3)>>2]|0;f=R+4|0;o[O>>2]=f;break}if(v|0){t=-1;break e}if(w){y=(o[n>>2]|0)+(4-1)&~(4-1);c=o[y>>2]|0;o[n>>2]=y+4}else c=0;f=(o[O>>2]|0)+2|0;o[O>>2]=f}else c=-1}while(0);y=0;while(1){if(((r[f>>0]|0)+-65|0)>>>0>57){t=-1;break e}l=f;f=f+1|0;o[O>>2]=f;l=r[(r[l>>0]|0)+-65+(35136+(y*58|0))>>0]|0;p=l&255;if((p+-1|0)>>>0>=8)break;else y=p}if(!(l<<24>>24)){t=-1;break}m=(g|0)>-1;do{if(l<<24>>24==19)if(m){t=-1;break e}else A=54;else{if(m){o[a+(g<<2)>>2]=p;m=s+(g<<3)|0;g=o[m+4>>2]|0;A=x;o[A>>2]=o[m>>2];o[A+4>>2]=g;A=54;break}if(!w){t=0;break e}Xo(x,p,n);f=o[O>>2]|0;A=55}}while(0);if((A|0)==54){A=0;if(w)A=55;else c=0}t:do{if((A|0)==55){A=0;f=r[f+-1>>0]|0;f=(y|0)!=0&(f&15|0)==3?f&-33:f;l=d&-65537;g=(d&8192|0)==0?d:l;n:do{switch(f|0){case 110:switch((y&255)<<24>>24){case 0:{o[o[x>>2]>>2]=t;c=0;break t}case 1:{o[o[x>>2]>>2]=t;c=0;break t}case 2:{c=o[x>>2]|0;o[c>>2]=t;o[c+4>>2]=((t|0)<0)<<31>>31;c=0;break t}case 3:{i[o[x>>2]>>1]=t;c=0;break t}case 4:{r[o[x>>2]>>0]=t;c=0;break t}case 6:{o[o[x>>2]>>2]=t;c=0;break t}case 7:{c=o[x>>2]|0;o[c>>2]=t;o[c+4>>2]=((t|0)<0)<<31>>31;c=0;break t}default:{c=0;break t}}case 112:{f=120;c=c>>>0>8?c:8;l=g|8;A=67;break}case 88:case 120:{l=g;A=67;break}case 111:{l=x;f=o[l>>2]|0;l=o[l+4>>2]|0;m=Zo(f,l,E)|0;A=k-m|0;d=0;p=38441;c=(g&8|0)==0|(c|0)>(A|0)?c:A+1|0;A=73;break}case 105:case 100:{l=x;f=o[l>>2]|0;l=o[l+4>>2]|0;if((l|0)<0){f=Ss(0,0,f|0,l|0)|0;l=I;d=x;o[d>>2]=f;o[d+4>>2]=l;d=1;p=38441;A=72;break n}else{d=(g&2049|0)!=0&1;p=(g&2048|0)==0?(g&1|0)==0?38441:38443:38442;A=72;break n}}case 117:{l=x;d=0;p=38441;f=o[l>>2]|0;l=o[l+4>>2]|0;A=72;break}case 99:{r[S>>0]=o[x>>2];y=S;d=0;p=38441;m=1;c=k;break}case 109:{f=es(o[(Lo()|0)>>2]|0)|0;A=77;break}case 115:{f=o[x>>2]|0;f=(f|0)==0?38451:f;A=77;break}case 67:{o[P>>2]=o[x>>2];o[T>>2]=0;o[x>>2]=P;p=-1;A=81;break}case 83:{if(!c){ns(e,32,_,0,g);c=0;A=91}else{p=c;A=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{c=is(e,+u[x>>3],_,c,g,f)|0;break t}default:{y=b;d=0;p=38441;m=c;l=g;c=k}}}while(0);n:do{if((A|0)==67){b=x;y=o[b>>2]|0;b=o[b+4>>2]|0;m=Jo(y,b,E,f&32)|0;p=(l&8|0)==0|(y|0)==0&(b|0)==0;d=p?0:2;p=p?38441:38441+(f>>>4)|0;g=l;f=y;l=b;A=73}else if((A|0)==72){m=$o(f,l,E)|0;A=73}else if((A|0)==77){A=0;b=ts(f,0,c)|0;g=(b|0)==0;y=f;d=0;p=38441;m=g?c:b-f|0;c=g?f+c|0:b}else if((A|0)==81){A=0;d=o[x>>2]|0;c=0;while(1){f=o[d>>2]|0;if(!f)break;f=rs(M,f)|0;l=(f|0)<0;if(l|f>>>0>(p-c|0)>>>0){A=85;break}c=f+c|0;if(p>>>0>c>>>0)d=d+4|0;else break}if((A|0)==85){A=0;if(l){t=-1;break e}}ns(e,32,_,c,g);if(!c){c=0;A=91}else{l=o[x>>2]|0;d=0;while(1){f=o[l>>2]|0;if(!f){A=91;break n}f=rs(M,f)|0;d=f+d|0;if((d|0)>(c|0)){A=91;break n}Wo(e,M,f);if(d>>>0>=c>>>0){A=91;break}else l=l+4|0}}}}while(0);if((A|0)==73){A=0;l=(f|0)!=0|(l|0)!=0;b=(c|0)!=0|l;l=k-m+((l^1)&1)|0;y=b?m:E;m=b?(c|0)>(l|0)?c:l:0;l=(c|0)>-1?g&-65537:g;c=k}else if((A|0)==91){A=0;ns(e,32,_,c,g^8192);c=(_|0)>(c|0)?_:c;break}g=c-y|0;m=(m|0)<(g|0)?g:m;b=m+d|0;c=(_|0)<(b|0)?b:_;ns(e,32,c,b,l);Wo(e,p,d);ns(e,48,c,b,l^65536);ns(e,48,m,g,0);Wo(e,y,g);ns(e,32,c,b,l^8192)}}while(0);l=v}e:do{if((A|0)==94)if(!e)if(!l)t=0;else{t=1;while(1){c=o[a+(t<<2)>>2]|0;if(!c)break;Xo(s+(t<<3)|0,c,n);t=t+1|0;if(t>>>0>=10){t=1;break e}}while(1){if(o[a+(t<<2)>>2]|0){t=-1;break e}t=t+1|0;if(t>>>0>=10){t=1;break}}}}while(0);h=D;return t|0}function Vo(e){e=e|0;return 0}function Qo(e){e=e|0;return}function Wo(e,t,n){e=e|0;t=t|0;n=n|0;if(!(o[e>>2]&32))ys(t,n,e)|0;return}function Yo(e){e=e|0;var t=0,n=0;if(!(Ko(r[o[e>>2]>>0]|0)|0))t=0;else{t=0;do{n=o[e>>2]|0;t=(t*10|0)+-48+(r[n>>0]|0)|0;n=n+1|0;o[e>>2]=n}while((Ko(r[n>>0]|0)|0)!=0)}return t|0}function Xo(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0.0;e:do{if(t>>>0<=20)do{switch(t|0){case 9:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;o[e>>2]=t;break e}case 10:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;r=e;o[r>>2]=t;o[r+4>>2]=((t|0)<0)<<31>>31;break e}case 11:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;r=e;o[r>>2]=t;o[r+4>>2]=0;break e}case 12:{r=(o[n>>2]|0)+(8-1)&~(8-1);t=r;i=o[t>>2]|0;t=o[t+4>>2]|0;o[n>>2]=r+8;r=e;o[r>>2]=i;o[r+4>>2]=t;break e}case 13:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;r=(r&65535)<<16>>16;i=e;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;break e}case 14:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;i=e;o[i>>2]=r&65535;o[i+4>>2]=0;break e}case 15:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;r=(r&255)<<24>>24;i=e;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;break e}case 16:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;i=e;o[i>>2]=r&255;o[i+4>>2]=0;break e}case 17:{i=(o[n>>2]|0)+(8-1)&~(8-1);s=+u[i>>3];o[n>>2]=i+8;u[e>>3]=s;break e}case 18:{i=(o[n>>2]|0)+(8-1)&~(8-1);s=+u[i>>3];o[n>>2]=i+8;u[e>>3]=s;break e}default:break e}}while(0)}while(0);return}function Jo(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;if(!((e|0)==0&(t|0)==0))do{n=n+-1|0;r[n>>0]=s[35600+(e&15)>>0]|0|i;e=xs(e|0,t|0,4)|0;t=I}while(!((e|0)==0&(t|0)==0));return n|0}function Zo(e,t,n){e=e|0;t=t|0;n=n|0;if(!((e|0)==0&(t|0)==0))do{n=n+-1|0;r[n>>0]=e&7|48;e=xs(e|0,t|0,3)|0;t=I}while(!((e|0)==0&(t|0)==0));return n|0}function $o(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0;if(t>>>0>0|(t|0)==0&e>>>0>4294967295){do{i=e;e=Rs(e|0,t|0,10,0)|0;o=t;t=I;s=Es(e|0,t|0,10,0)|0;s=Ss(i|0,o|0,s|0,I|0)|0;n=n+-1|0;r[n>>0]=s&255|48}while(o>>>0>9|(o|0)==9&i>>>0>4294967295);t=e}else t=e;if(t)do{s=t;t=(t>>>0)/10|0;n=n+-1|0;r[n>>0]=s-(t*10|0)|48}while(s>>>0>=10);return n|0}function es(e){e=e|0;return ds(e,o[(ls()|0)+188>>2]|0)|0}function ts(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0;a=t&255;i=(n|0)!=0;e:do{if(i&(e&3|0)!=0){s=t&255;while(1){if((r[e>>0]|0)==s<<24>>24){c=6;break e}e=e+1|0;n=n+-1|0;i=(n|0)!=0;if(!(i&(e&3|0)!=0)){c=5;break}}}else c=5}while(0);if((c|0)==5)if(i)c=6;else c=16;e:do{if((c|0)==6){s=t&255;if((r[e>>0]|0)==s<<24>>24)if(!n){c=16;break}else break;i=q(a,16843009)|0;t:do{if(n>>>0>3)while(1){a=o[e>>2]^i;if((a&-2139062144^-2139062144)&a+-16843009|0)break t;e=e+4|0;n=n+-4|0;if(n>>>0<=3){c=11;break}}else c=11}while(0);if((c|0)==11)if(!n){c=16;break}while(1){if((r[e>>0]|0)==s<<24>>24)break e;n=n+-1|0;if(!n){c=16;break}else e=e+1|0}}}while(0);if((c|0)==16)e=0;return e|0}function ns(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var o=0,s=0;s=h;h=h+256|0;o=s;if((n|0)>(r|0)&(i&73728|0)==0){i=n-r|0;Ds(o|0,t<<24>>24|0,(i>>>0<256?i:256)|0)|0;if(i>>>0>255){t=n-r|0;do{Wo(e,o,256);i=i+-256|0}while(i>>>0>255);i=t&255}Wo(e,o,i)}h=s;return}function rs(e,t){e=e|0;t=t|0;if(!e)e=0;else e=cs(e,t,0)|0;return e|0}function is(e,t,n,i,a,c){e=e|0;t=+t;n=n|0;i=i|0;a=a|0;c=c|0;var f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0.0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0;M=h;h=h+560|0;l=M+32|0;A=M+536|0;P=M;C=P;d=M+540|0;o[A>>2]=0;x=d+12|0;os(t)|0;f=I;if((f|0)<0){t=-t;os(t)|0;O=1;R=38458;f=I}else{O=(a&2049|0)!=0&1;R=(a&2048|0)==0?(a&1|0)==0?38459:38464:38461}do{if(0==0&(f&2146435072|0)==2146435072){P=(c&32|0)!=0;f=O+3|0;ns(e,32,n,f,a&-65537);Wo(e,R,O);Wo(e,t!=t|0.0!=0.0?P?38485:38489:P?38477:38481,3);ns(e,32,n,f,a^8192)}else{y=+ss(t,A)*2.0;f=y!=0.0;if(f)o[A>>2]=(o[A>>2]|0)+-1;v=c|32;if((v|0)==97){m=c&32;b=(m|0)==0?R:R+9|0;g=O|2;f=12-i|0;do{if(!(i>>>0>11|(f|0)==0)){t=8.0;do{f=f+-1|0;t=t*16.0}while((f|0)!=0);if((r[b>>0]|0)==45){t=-(t+(-y-t));break}else{t=y+t-t;break}}else t=y}while(0);u=o[A>>2]|0;f=(u|0)<0?0-u|0:u;f=$o(f,((f|0)<0)<<31>>31,x)|0;if((f|0)==(x|0)){f=d+11|0;r[f>>0]=48}r[f+-1>>0]=(u>>31&2)+43;p=f+-2|0;r[p>>0]=c+15;u=(i|0)<1;l=(a&8|0)==0;d=P;do{O=~~t;f=d+1|0;r[d>>0]=m|s[35600+O>>0];t=(t-+(O|0))*16.0;if((f-C|0)==1?!(l&(u&t==0.0)):0){r[f>>0]=46;d=d+2|0}else d=f}while(t!=0.0);if((i|0)!=0?(-2-C+d|0)<(i|0):0){u=x;l=p;f=i+2+u-l|0}else{u=x;l=p;f=u-C-l+d|0}x=f+g|0;ns(e,32,n,x,a);Wo(e,b,g);ns(e,48,n,x,a^65536);C=d-C|0;Wo(e,P,C);P=u-l|0;ns(e,48,f-(C+P)|0,0,0);Wo(e,p,P);ns(e,32,n,x,a^8192);f=x;break}u=(i|0)<0?6:i;if(f){f=(o[A>>2]|0)+-28|0;o[A>>2]=f;t=y*268435456.0}else{t=y;f=o[A>>2]|0}T=(f|0)<0?l:l+288|0;l=T;do{k=~~t>>>0;o[l>>2]=k;l=l+4|0;t=(t-+(k>>>0))*1.0e9}while(t!=0.0);k=T;if((f|0)>0){m=T;while(1){p=(f|0)<29?f:29;f=l+-4|0;if(f>>>0>=m>>>0){d=0;do{_=Cs(o[f>>2]|0,0,p|0)|0;_=ks(_|0,I|0,d|0,0)|0;w=I;d=Rs(_|0,w|0,1e9,0)|0;E=Es(d|0,I|0,1e9,0)|0;E=Ss(_|0,w|0,E|0,I|0)|0;o[f>>2]=E;f=f+-4|0}while(f>>>0>=m>>>0);if(d){E=m+-4|0;o[E>>2]=d;d=E}else d=m}else d=m;e:do{if(l>>>0>d>>>0){f=l;while(1){l=f+-4|0;if(o[l>>2]|0){l=f;break e}if(l>>>0>d>>>0)f=l;else break}}}while(0);f=(o[A>>2]|0)-p|0;o[A>>2]=f;if((f|0)>0)m=d;else break}}else d=T;if((f|0)<0){i=((u+25|0)/9|0)+1|0;_=(v|0)==102;do{b=0-f|0;b=(b|0)<9?b:9;if(d>>>0>>0){p=(1<>>b;g=0;f=d;do{E=o[f>>2]|0;o[f>>2]=(E>>>b)+g;g=q(E&p,m)|0;f=f+4|0}while(f>>>0>>0);d=(o[d>>2]|0)==0?d+4|0:d;if(g){o[l>>2]=g;l=l+4|0}}else d=(o[d>>2]|0)==0?d+4|0:d;f=_?T:d;l=(l-f>>2|0)>(i|0)?f+(i<<2)|0:l;f=(o[A>>2]|0)+b|0;o[A>>2]=f}while((f|0)<0);_=d}else _=d;if(_>>>0>>0){f=(k-_>>2)*9|0;p=o[_>>2]|0;if(p>>>0>=10){d=10;do{d=d*10|0;f=f+1|0}while(p>>>0>=d>>>0)}}else f=0;w=(v|0)==103;E=(u|0)!=0;d=u-((v|0)==102?0:f)+((E&w)<<31>>31)|0;if((d|0)<(((l-k>>2)*9|0)+-9|0)){A=d+9216|0;d=(A|0)/9|0;i=T+4+(d+-1024<<2)|0;d=A-(d*9|0)|0;if((d|0)<8){p=10;while(1){p=p*10|0;if((d|0)<7)d=d+1|0;else break}}else p=10;g=o[i>>2]|0;d=(g>>>0)/(p>>>0)|0;b=g-(q(d,p)|0)|0;m=(i+4|0)==(l|0);if(!(m&(b|0)==0)){y=(d&1|0)==0?9007199254740992.0:9007199254740994.0;A=p>>>1;t=b>>>0>>0?.5:m&(b|0)==(A|0)?1.0:1.5;if(O){A=(r[R>>0]|0)==45;t=A?-t:t;y=A?-y:y}d=g-b|0;o[i>>2]=d;if(y+t!=y){A=d+p|0;o[i>>2]=A;if(A>>>0>999999999){p=i;f=_;while(1){d=p+-4|0;o[p>>2]=0;if(d>>>0>>0){f=f+-4|0;o[f>>2]=0}A=(o[d>>2]|0)+1|0;o[d>>2]=A;if(A>>>0>999999999)p=d;else{p=f;break}}}else{d=i;p=_}f=(k-p>>2)*9|0;g=o[p>>2]|0;if(g>>>0>=10){m=10;do{m=m*10|0;f=f+1|0}while(g>>>0>=m>>>0)}}else{d=i;p=_}}else{d=i;p=_}A=d+4|0;l=l>>>0>A>>>0?A:l}else p=_;i=0-f|0;e:do{if(l>>>0>p>>>0)while(1){d=l+-4|0;if(o[d>>2]|0){A=l;v=1;break e}if(d>>>0>p>>>0)l=d;else{A=d;v=0;break}}else{A=l;v=0}}while(0);do{if(w){u=u+((E^1)&1)|0;if((u|0)>(f|0)&(f|0)>-5){m=c+-1|0;u=u+-1-f|0}else{m=c+-2|0;u=u+-1|0}if(!(a&8)){if(v?(S=o[A+-4>>2]|0,(S|0)!=0):0)if(!((S>>>0)%10|0)){d=0;l=10;do{l=l*10|0;d=d+1|0}while(!((S>>>0)%(l>>>0)|0|0))}else d=0;else d=9;l=((A-k>>2)*9|0)+-9|0;if((m|32|0)==102){c=l-d|0;c=(c|0)>0?c:0;u=(u|0)<(c|0)?u:c;break}else{c=l+f-d|0;c=(c|0)>0?c:0;u=(u|0)<(c|0)?u:c;break}}}else m=c}while(0);_=(u|0)!=0;g=_?1:a>>>3&1;b=(m|32|0)==102;if(b){w=0;f=(f|0)>0?f:0}else{l=(f|0)<0?i:f;l=$o(l,((l|0)<0)<<31>>31,x)|0;d=x;if((d-l|0)<2)do{l=l+-1|0;r[l>>0]=48}while((d-l|0)<2);r[l+-1>>0]=(f>>31&2)+43;f=l+-2|0;r[f>>0]=m;w=f;f=d-f|0}f=O+1+u+g+f|0;ns(e,32,n,f,a);Wo(e,R,O);ns(e,48,n,f,a^65536);if(b){g=p>>>0>T>>>0?T:p;b=P+9|0;p=b;m=P+8|0;d=g;do{l=$o(o[d>>2]|0,0,b)|0;if((d|0)==(g|0)){if((l|0)==(b|0)){r[m>>0]=48;l=m}}else if(l>>>0>P>>>0){Ds(P|0,48,l-C|0)|0;do{l=l+-1|0}while(l>>>0>P>>>0)}Wo(e,l,p-l|0);d=d+4|0}while(d>>>0<=T>>>0);if(!((a&8|0)==0&(_^1)))Wo(e,38493,1);if(d>>>0>>0&(u|0)>0)while(1){l=$o(o[d>>2]|0,0,b)|0;if(l>>>0>P>>>0){Ds(P|0,48,l-C|0)|0;do{l=l+-1|0}while(l>>>0>P>>>0)}Wo(e,l,(u|0)<9?u:9);d=d+4|0;l=u+-9|0;if(!(d>>>0>>0&(u|0)>9)){u=l;break}else u=l}ns(e,48,u+9|0,9,0)}else{A=v?A:p+4|0;if(p>>>0>>0&(u|0)>-1){i=P+9|0;_=(a&8|0)==0;v=i;g=0-C|0;b=P+8|0;m=p;do{l=$o(o[m>>2]|0,0,i)|0;if((l|0)==(i|0)){r[b>>0]=48;l=b}do{if((m|0)==(p|0)){d=l+1|0;Wo(e,l,1);if(_&(u|0)<1){l=d;break}Wo(e,38493,1);l=d}else{if(l>>>0<=P>>>0)break;Ds(P|0,48,l+g|0)|0;do{l=l+-1|0}while(l>>>0>P>>>0)}}while(0);C=v-l|0;Wo(e,l,(u|0)>(C|0)?C:u);u=u-C|0;m=m+4|0}while(m>>>0>>0&(u|0)>-1)}ns(e,48,u+18|0,18,0);Wo(e,w,x-w|0)}ns(e,32,n,f,a^8192)}}while(0);h=M;return((f|0)<(n|0)?n:f)|0}function os(e){e=+e;var t=0;u[d>>3]=e;t=o[d>>2]|0;I=o[d+4>>2]|0;return t|0}function ss(e,t){e=+e;t=t|0;return+ +as(e,t)}function as(e,t){e=+e;t=t|0;var n=0,r=0,i=0;u[d>>3]=e;n=o[d>>2]|0;r=o[d+4>>2]|0;i=xs(n|0,r|0,52)|0;switch(i&2047){case 0:{if(e!=0.0){e=+as(e*18446744073709551616.0,t);n=(o[t>>2]|0)+-64|0}else n=0;o[t>>2]=n;break}case 2047:break;default:{o[t>>2]=(i&2047)+-1022;o[d>>2]=n;o[d+4>>2]=r&-2146435073|1071644672;e=+u[d>>3]}}return+e}function cs(e,t,n){e=e|0;t=t|0;n=n|0;do{if(e){if(t>>>0<128){r[e>>0]=t;e=1;break}if(!(o[o[(fs()|0)+188>>2]>>2]|0))if((t&-128|0)==57216){r[e>>0]=t;e=1;break}else{o[(Lo()|0)>>2]=84;e=-1;break}if(t>>>0<2048){r[e>>0]=t>>>6|192;r[e+1>>0]=t&63|128;e=2;break}if(t>>>0<55296|(t&-8192|0)==57344){r[e>>0]=t>>>12|224;r[e+1>>0]=t>>>6&63|128;r[e+2>>0]=t&63|128;e=3;break}if((t+-65536|0)>>>0<1048576){r[e>>0]=t>>>18|240;r[e+1>>0]=t>>>12&63|128;r[e+2>>0]=t>>>6&63|128;r[e+3>>0]=t&63|128;e=4;break}else{o[(Lo()|0)>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function fs(){return us()|0}function us(){return 37728}function ls(){return us()|0}function ds(e,t){e=e|0;t=t|0;var n=0,i=0;n=0;while(1){if((s[35616+n>>0]|0)==(e|0)){i=4;break}n=n+1|0;if((n|0)==87){e=87;i=5;break}}if((i|0)==4)if(!n)n=35712;else{e=n;i=5}if((i|0)==5){n=35712;do{do{i=n;n=n+1|0}while((r[i>>0]|0)!=0);e=e+-1|0}while((e|0)!=0)}return hs(n,o[t+20>>2]|0)|0}function hs(e,t){e=e|0;t=t|0;return ps(e,t)|0}function ps(e,t){e=e|0;t=t|0;if(!t)t=0;else t=ms(o[t>>2]|0,o[t+4>>2]|0,e)|0;return((t|0)==0?e:t)|0}function ms(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0;p=(o[e>>2]|0)+1794895138|0;a=gs(o[e+8>>2]|0,p)|0;i=gs(o[e+12>>2]|0,p)|0;s=gs(o[e+16>>2]|0,p)|0;e:do{if((a>>>0>>2>>>0?(h=t-(a<<2)|0,i>>>0>>0&s>>>0>>0):0)?((s|i)&3|0)==0:0){h=i>>>2;d=s>>>2;l=0;while(1){f=a>>>1;u=l+f|0;c=u<<1;s=c+h|0;i=gs(o[e+(s<<2)>>2]|0,p)|0;s=gs(o[e+(s+1<<2)>>2]|0,p)|0;if(!(s>>>0>>0&i>>>0<(t-s|0)>>>0)){i=0;break e}if(r[e+(s+i)>>0]|0){i=0;break e}i=Fo(n,e+s|0)|0;if(!i)break;i=(i|0)<0;if((a|0)==1){i=0;break e}l=i?l:u;a=i?f:a-f|0}i=c+d|0;s=gs(o[e+(i<<2)>>2]|0,p)|0;i=gs(o[e+(i+1<<2)>>2]|0,p)|0;if(i>>>0>>0&s>>>0<(t-i|0)>>>0)i=(r[e+(i+s)>>0]|0)==0?e+i|0:0;else i=0}else i=0}while(0);return i|0}function gs(e,t){e=e|0;t=t|0;var n=0;n=Ps(e|0)|0;return((t|0)==0?e:n)|0}function ys(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0;i=n+16|0;s=o[i>>2]|0;if(!s)if(!(bs(n)|0)){s=o[i>>2]|0;a=5}else i=0;else a=5;e:do{if((a|0)==5){f=n+20|0;c=o[f>>2]|0;i=c;if((s-c|0)>>>0>>0){i=Vs[o[n+36>>2]&1](n,e,t)|0;break}t:do{if((r[n+75>>0]|0)<0|(t|0)==0){a=0;s=e}else{c=t;while(1){s=c+-1|0;if((r[e+s>>0]|0)==10)break;if(!s){a=0;s=e;break t}else c=s}i=Vs[o[n+36>>2]&1](n,e,c)|0;if(i>>>0>>0)break e;a=c;s=e+c|0;t=t-c|0;i=o[f>>2]|0}}while(0);Ms(i|0,s|0,t|0)|0;o[f>>2]=(o[f>>2]|0)+t;i=a+t|0}}while(0);return i|0}function bs(e){e=e|0;var t=0,n=0;t=e+74|0;n=r[t>>0]|0;r[t>>0]=n+255|n;t=o[e>>2]|0;if(!(t&8)){o[e+8>>2]=0;o[e+4>>2]=0;n=o[e+44>>2]|0;o[e+28>>2]=n;o[e+20>>2]=n;o[e+16>>2]=n+(o[e+48>>2]|0);e=0}else{o[e>>2]=t|32;e=-1}return e|0}function _s(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0;r=e+20|0;i=o[r>>2]|0;e=(o[e+16>>2]|0)-i|0;e=e>>>0>n>>>0?n:e;Ms(i|0,t|0,e|0)|0;o[r>>2]=(o[r>>2]|0)+e;return n|0}function vs(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0;i=h;h=h+16|0;s=i;o[s>>2]=r;r=zo(e,t,n,s)|0;h=i;return r|0}function As(){}function ws(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,o=0;o=e&65535;i=t&65535;n=q(i,o)|0;r=e>>>16;e=(n>>>16)+(q(i,r)|0)|0;i=t>>>16;t=q(i,o)|0;return(I=(e>>>16)+(q(i,r)|0)+(((e&65535)+t|0)>>>16)|0,e+t<<16|n&65535|0)|0}function Es(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0;i=e;o=n;n=ws(i,o)|0;e=I;return(I=(q(t,o)|0)+(q(r,i)|0)+e|e&0,n|0|0)|0}function ks(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;n=e+n>>>0;return(I=t+r+(n>>>0>>0|0)>>>0,n|0)|0}function Ss(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;r=t-r-(n>>>0>e>>>0|0)>>>0;return(I=r,e-n>>>0|0)|0}function Is(e){e=e|0;return(e?31-(G(e^e-1)|0)|0:32)|0}function Ts(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0;l=e;f=t;u=f;a=n;h=r;c=h;if(!u){s=(i|0)!=0;if(!c){if(s){o[i>>2]=(l>>>0)%(a>>>0);o[i+4>>2]=0}h=0;i=(l>>>0)/(a>>>0)>>>0;return(I=h,i)|0}else{if(!s){h=0;i=0;return(I=h,i)|0}o[i>>2]=e|0;o[i+4>>2]=t&0;h=0;i=0;return(I=h,i)|0}}s=(c|0)==0;do{if(a){if(!s){s=(G(c|0)|0)-(G(u|0)|0)|0;if(s>>>0<=31){d=s+1|0;c=31-s|0;t=s-31>>31;a=d;e=l>>>(d>>>0)&t|u<>>(d>>>0)&t;s=0;c=l<>2]=e|0;o[i+4>>2]=f|t&0;h=0;i=0;return(I=h,i)|0}s=a-1|0;if(s&a|0){c=(G(a|0)|0)+33-(G(u|0)|0)|0;m=64-c|0;d=32-c|0;f=d>>31;p=c-32|0;t=p>>31;a=c;e=d-1>>31&u>>>(p>>>0)|(u<>>(c>>>0))&t;t=t&u>>>(c>>>0);s=l<>>(p>>>0))&f|l<>31;break}if(i|0){o[i>>2]=s&l;o[i+4>>2]=0}if((a|0)==1){p=f|t&0;m=e|0|0;return(I=p,m)|0}else{m=Is(a|0)|0;p=u>>>(m>>>0)|0;m=u<<32-m|l>>>(m>>>0)|0;return(I=p,m)|0}}else{if(s){if(i|0){o[i>>2]=(u>>>0)%(a>>>0);o[i+4>>2]=0}p=0;m=(u>>>0)/(a>>>0)>>>0;return(I=p,m)|0}if(!l){if(i|0){o[i>>2]=0;o[i+4>>2]=(u>>>0)%(c>>>0)}p=0;m=(u>>>0)/(c>>>0)>>>0;return(I=p,m)|0}s=c-1|0;if(!(s&c)){if(i|0){o[i>>2]=e|0;o[i+4>>2]=s&u|t&0}p=0;m=u>>>((Is(c|0)|0)>>>0);return(I=p,m)|0}s=(G(c|0)|0)-(G(u|0)|0)|0;if(s>>>0<=30){t=s+1|0;c=31-s|0;a=t;e=u<>>(t>>>0);t=u>>>(t>>>0);s=0;c=l<>2]=e|0;o[i+4>>2]=f|t&0;p=0;m=0;return(I=p,m)|0}}while(0);if(!a){u=c;f=0;c=0}else{d=n|0|0;l=h|r&0;u=ks(d|0,l|0,-1,-1)|0;n=I;f=c;c=0;do{r=f;f=s>>>31|f<<1;s=c|s<<1;r=e<<1|r>>>31|0;h=e>>>31|t<<1|0;Ss(u|0,n|0,r|0,h|0)|0;m=I;p=m>>31|((m|0)<0?-1:0)<<1;c=p&1;e=Ss(r|0,h|0,p&d|0,(((m|0)<0?-1:0)>>31|((m|0)<0?-1:0)<<1)&l|0)|0;t=I;a=a-1|0}while((a|0)!=0);u=f;f=0}a=0;if(i|0){o[i>>2]=e;o[i+4>>2]=t}p=(s|0)>>>31|(u|a)<<1|(a<<1|s>>>31)&0|f;m=(s<<1|0>>>31)&-2|c;return(I=p,m)|0}function Rs(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return Ts(e,t,n,r,0)|0}function Os(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){I=t>>n;return e>>>n|(t&(1<>n-32|0}function xs(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){I=t>>>n;return e>>>n|(t&(1<>>n-32|0}function Cs(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){I=t<>>32-n;return e<>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function Ms(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0;if((n|0)>=8192)return te(e|0,t|0,n|0)|0;a=e|0;s=e+n|0;if((e&3)==(t&3)){while(e&3){if(!n)return a|0;r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0;n=n-1|0}n=s&-4|0;i=n-64|0;while((e|0)<=(i|0)){o[e>>2]=o[t>>2];o[e+4>>2]=o[t+4>>2];o[e+8>>2]=o[t+8>>2];o[e+12>>2]=o[t+12>>2];o[e+16>>2]=o[t+16>>2];o[e+20>>2]=o[t+20>>2];o[e+24>>2]=o[t+24>>2];o[e+28>>2]=o[t+28>>2];o[e+32>>2]=o[t+32>>2];o[e+36>>2]=o[t+36>>2];o[e+40>>2]=o[t+40>>2];o[e+44>>2]=o[t+44>>2];o[e+48>>2]=o[t+48>>2];o[e+52>>2]=o[t+52>>2];o[e+56>>2]=o[t+56>>2];o[e+60>>2]=o[t+60>>2];e=e+64|0;t=t+64|0}while((e|0)<(n|0)){o[e>>2]=o[t>>2];e=e+4|0;t=t+4|0}}else{n=s-4|0;while((e|0)<(n|0)){r[e>>0]=r[t>>0]|0;r[e+1>>0]=r[t+1>>0]|0;r[e+2>>0]=r[t+2>>0]|0;r[e+3>>0]=r[t+3>>0]|0;e=e+4|0;t=t+4|0}}while((e|0)<(s|0)){r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0}return a|0}function Ds(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0;a=e+n|0;t=t&255;if((n|0)>=67){while(e&3){r[e>>0]=t;e=e+1|0}i=a&-4|0;s=i-64|0;c=t|t<<8|t<<16|t<<24;while((e|0)<=(s|0)){o[e>>2]=c;o[e+4>>2]=c;o[e+8>>2]=c;o[e+12>>2]=c;o[e+16>>2]=c;o[e+20>>2]=c;o[e+24>>2]=c;o[e+28>>2]=c;o[e+32>>2]=c;o[e+36>>2]=c;o[e+40>>2]=c;o[e+44>>2]=c;o[e+48>>2]=c;o[e+52>>2]=c;o[e+56>>2]=c;o[e+60>>2]=c;e=e+64|0}while((e|0)<(i|0)){o[e>>2]=c;e=e+4|0}}while((e|0)<(a|0)){r[e>>0]=t;e=e+1|0}return a-n|0}function Bs(e){e=e|0;var t=0,n=0;n=o[l>>2]|0;t=n+e|0;if((e|0)>0&(t|0)<(n|0)|(t|0)<0){Y()|0;ee(12);return-1}o[l>>2]=t;if((t|0)>(W()|0)?(Q()|0)==0:0){o[l>>2]=n;ee(12);return-1}return n|0}function Ns(e,t){e=e|0;t=t|0;return Gs[e&1](t|0)|0}function js(e,t,n){e=e|0;t=t|0;n=n|0;return Hs[e&3](t|0,n|0)|0}function Us(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return Vs[e&1](t|0,n|0,r|0)|0}function Ls(e,t,n,r,i,o,s,a,c,f){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;s=s|0;a=a|0;c=c|0;f=f|0;return Qs[e&3](t|0,n|0,r|0,i|0,o|0,s|0,a|0,c|0,f|0)|0}function Fs(e){e=e|0;H(0);return 0}function qs(e,t){e=e|0;t=t|0;H(1);return 0}function Ks(e,t,n){e=e|0;t=t|0;n=n|0;H(2);return 0}function zs(e,t,n,r,i,o,s,a,c){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;s=s|0;a=a|0;c=c|0;H(3);return 0}var Gs=[Fs,an];var Hs=[qs,cn,un,qs];var Vs=[Ks,_s];var Qs=[zs,fn,ln,zs];return{___muldi3:Es,___udivdi3:Rs,_bitshift64Ashr:Os,_bitshift64Lshr:xs,_bitshift64Shl:Cs,_free:Uo,_i64Add:ks,_i64Subtract:Ss,_llvm_bswap_i32:Ps,_malloc:jo,_memcpy:Ms,_memset:Ds,_olm_account:Nn,_olm_account_generate_one_time_keys:or,_olm_account_generate_one_time_keys_random_length:ir,_olm_account_identity_keys:Jn,_olm_account_identity_keys_length:Xn,_olm_account_last_error:xn,_olm_account_mark_keys_as_published:nr,_olm_account_max_number_of_one_time_keys:rr,_olm_account_one_time_keys:tr,_olm_account_one_time_keys_length:er,_olm_account_sign:$n,_olm_account_signature_length:Zn,_olm_account_size:Mn,_olm_clear_account:Ln,_olm_clear_inbound_group_session:Pi,_olm_clear_outbound_group_session:co,_olm_clear_pk_decryption:Ft,_olm_clear_pk_encryption:xt,_olm_clear_pk_signing:en,_olm_clear_sas:Xi,_olm_clear_session:Fn,_olm_clear_utility:qn,_olm_create_account:Yn,_olm_create_account_random_length:Wn,_olm_create_inbound_session:cr,_olm_create_inbound_session_from:fr,_olm_create_outbound_session:ar,_olm_create_outbound_session_random_length:sr,_olm_create_sas:Zi,_olm_create_sas_random_length:Ji,_olm_decrypt:wr,_olm_decrypt_max_plaintext_length:Ar,_olm_ed25519_verify:Sr,_olm_encrypt:vr,_olm_encrypt_message_length:_r,_olm_encrypt_message_type:yr,_olm_encrypt_random_length:br,_olm_error:On,_olm_export_inbound_group_session:Vi,_olm_export_inbound_group_session_length:Hi,_olm_get_library_version:Rn,_olm_group_decrypt:Fi,_olm_group_decrypt_max_plaintext_length:Li,_olm_group_encrypt:yo,_olm_group_encrypt_message_length:go,_olm_import_inbound_group_session:Bi,_olm_inbound_group_session:Ci,_olm_inbound_group_session_first_known_index:zi,_olm_inbound_group_session_id:Ki,_olm_inbound_group_session_id_length:qi,_olm_inbound_group_session_is_verified:Gi,_olm_inbound_group_session_last_error:Mi,_olm_inbound_group_session_size:xi,_olm_init_inbound_group_session:Di,_olm_init_outbound_group_session:mo,_olm_init_outbound_group_session_random_length:po,_olm_matches_inbound_session:pr,_olm_matches_inbound_session_from:mr,_olm_outbound_group_session:ao,_olm_outbound_group_session_id:_o,_olm_outbound_group_session_id_length:bo,_olm_outbound_group_session_key:wo,_olm_outbound_group_session_key_length:Ao,_olm_outbound_group_session_last_error:fo,_olm_outbound_group_session_message_index:vo,_olm_outbound_group_session_size:so,_olm_pickle_account:Gn,_olm_pickle_account_length:Kn,_olm_pickle_inbound_group_session:ji,_olm_pickle_inbound_group_session_length:Ni,_olm_pickle_outbound_group_session:lo,_olm_pickle_outbound_group_session_length:uo,_olm_pickle_pk_decryption:Vt,_olm_pickle_pk_decryption_length:Ht,_olm_pickle_session:Hn,_olm_pickle_session_length:zn,_olm_pk_ciphertext_length:Mt,_olm_pk_decrypt:Yt,_olm_pk_decryption:Lt,_olm_pk_decryption_last_error:jt,_olm_pk_decryption_size:Ut,_olm_pk_encrypt:Nt,_olm_pk_encrypt_random_length:Bt,_olm_pk_encryption:Ot,_olm_pk_encryption_last_error:Tt,_olm_pk_encryption_set_recipient_key:Ct,_olm_pk_encryption_size:Rt,_olm_pk_generate_key:Gt,_olm_pk_generate_key_random_length:Kt,_olm_pk_get_private_key:Xt,_olm_pk_key_from_private:zt,_olm_pk_key_length:Pt,_olm_pk_mac_length:Dt,_olm_pk_max_plaintext_length:Wt,_olm_pk_private_key_length:qt,_olm_pk_sign:sn,_olm_pk_signature_length:on,_olm_pk_signing:Zt,_olm_pk_signing_key_from_seed:rn,_olm_pk_signing_last_error:$t,_olm_pk_signing_public_key_length:nn,_olm_pk_signing_seed_length:tn,_olm_pk_signing_size:Jt,_olm_remove_one_time_keys:gr,_olm_sas:Yi,_olm_sas_calculate_mac:io,_olm_sas_calculate_mac_long_kdf:oo,_olm_sas_generate_bytes:no,_olm_sas_get_pubkey:eo,_olm_sas_last_error:Qi,_olm_sas_mac_length:ro,_olm_sas_pubkey_length:$i,_olm_sas_set_their_key:to,_olm_sas_size:Wi,_olm_session:jn,_olm_session_describe:hr,_olm_session_has_received_message:dr,_olm_session_id:lr,_olm_session_id_length:ur,_olm_session_last_error:Cn,_olm_session_size:Dn,_olm_sha256:kr,_olm_sha256_length:Er,_olm_unpickle_account:Vn,_olm_unpickle_inbound_group_session:Ui,_olm_unpickle_outbound_group_session:ho,_olm_unpickle_pk_decryption:Qt,_olm_unpickle_session:Qn,_olm_utility:Un,_olm_utility_last_error:Pn,_olm_utility_size:Bn,_sbrk:Bs,dynCall_ii:Ns,dynCall_iii:js,dynCall_iiii:Us,dynCall_iiiiiiiiii:Ls,establishStackSpace:se,getTempRet0:fe,runPostSets:As,setTempRet0:ce,setThrew:ae,stackAlloc:re,stackRestore:oe,stackSave:ie}}(l.f,l.g,D);l.___muldi3=Ee.___muldi3,l.___udivdi3=Ee.___udivdi3,l._bitshift64Ashr=Ee._bitshift64Ashr,l._bitshift64Lshr=Ee._bitshift64Lshr,l._bitshift64Shl=Ee._bitshift64Shl,l._free=Ee._free,l._i64Add=Ee._i64Add,l._i64Subtract=Ee._i64Subtract,l._llvm_bswap_i32=Ee._llvm_bswap_i32;var ke=l._malloc=Ee._malloc;l._memcpy=Ee._memcpy,l._memset=Ee._memset,l._olm_account=Ee._olm_account,l._olm_account_generate_one_time_keys=Ee._olm_account_generate_one_time_keys,l._olm_account_generate_one_time_keys_random_length=Ee._olm_account_generate_one_time_keys_random_length,l._olm_account_identity_keys=Ee._olm_account_identity_keys,l._olm_account_identity_keys_length=Ee._olm_account_identity_keys_length,l._olm_account_last_error=Ee._olm_account_last_error,l._olm_account_mark_keys_as_published=Ee._olm_account_mark_keys_as_published,l._olm_account_max_number_of_one_time_keys=Ee._olm_account_max_number_of_one_time_keys,l._olm_account_one_time_keys=Ee._olm_account_one_time_keys,l._olm_account_one_time_keys_length=Ee._olm_account_one_time_keys_length,l._olm_account_sign=Ee._olm_account_sign,l._olm_account_signature_length=Ee._olm_account_signature_length,l._olm_account_size=Ee._olm_account_size,l._olm_clear_account=Ee._olm_clear_account,l._olm_clear_inbound_group_session=Ee._olm_clear_inbound_group_session,l._olm_clear_outbound_group_session=Ee._olm_clear_outbound_group_session,l._olm_clear_pk_decryption=Ee._olm_clear_pk_decryption,l._olm_clear_pk_encryption=Ee._olm_clear_pk_encryption,l._olm_clear_pk_signing=Ee._olm_clear_pk_signing,l._olm_clear_sas=Ee._olm_clear_sas,l._olm_clear_session=Ee._olm_clear_session,l._olm_clear_utility=Ee._olm_clear_utility,l._olm_create_account=Ee._olm_create_account,l._olm_create_account_random_length=Ee._olm_create_account_random_length,l._olm_create_inbound_session=Ee._olm_create_inbound_session,l._olm_create_inbound_session_from=Ee._olm_create_inbound_session_from,l._olm_create_outbound_session=Ee._olm_create_outbound_session,l._olm_create_outbound_session_random_length=Ee._olm_create_outbound_session_random_length,l._olm_create_sas=Ee._olm_create_sas,l._olm_create_sas_random_length=Ee._olm_create_sas_random_length,l._olm_decrypt=Ee._olm_decrypt,l._olm_decrypt_max_plaintext_length=Ee._olm_decrypt_max_plaintext_length,l._olm_ed25519_verify=Ee._olm_ed25519_verify,l._olm_encrypt=Ee._olm_encrypt,l._olm_encrypt_message_length=Ee._olm_encrypt_message_length,l._olm_encrypt_message_type=Ee._olm_encrypt_message_type,l._olm_encrypt_random_length=Ee._olm_encrypt_random_length,l._olm_error=Ee._olm_error,l._olm_export_inbound_group_session=Ee._olm_export_inbound_group_session,l._olm_export_inbound_group_session_length=Ee._olm_export_inbound_group_session_length,l._olm_get_library_version=Ee._olm_get_library_version,l._olm_group_decrypt=Ee._olm_group_decrypt,l._olm_group_decrypt_max_plaintext_length=Ee._olm_group_decrypt_max_plaintext_length,l._olm_group_encrypt=Ee._olm_group_encrypt,l._olm_group_encrypt_message_length=Ee._olm_group_encrypt_message_length,l._olm_import_inbound_group_session=Ee._olm_import_inbound_group_session,l._olm_inbound_group_session=Ee._olm_inbound_group_session,l._olm_inbound_group_session_first_known_index=Ee._olm_inbound_group_session_first_known_index,l._olm_inbound_group_session_id=Ee._olm_inbound_group_session_id,l._olm_inbound_group_session_id_length=Ee._olm_inbound_group_session_id_length,l._olm_inbound_group_session_is_verified=Ee._olm_inbound_group_session_is_verified,l._olm_inbound_group_session_last_error=Ee._olm_inbound_group_session_last_error,l._olm_inbound_group_session_size=Ee._olm_inbound_group_session_size,l._olm_init_inbound_group_session=Ee._olm_init_inbound_group_session,l._olm_init_outbound_group_session=Ee._olm_init_outbound_group_session,l._olm_init_outbound_group_session_random_length=Ee._olm_init_outbound_group_session_random_length,l._olm_matches_inbound_session=Ee._olm_matches_inbound_session,l._olm_matches_inbound_session_from=Ee._olm_matches_inbound_session_from,l._olm_outbound_group_session=Ee._olm_outbound_group_session,l._olm_outbound_group_session_id=Ee._olm_outbound_group_session_id,l._olm_outbound_group_session_id_length=Ee._olm_outbound_group_session_id_length,l._olm_outbound_group_session_key=Ee._olm_outbound_group_session_key,l._olm_outbound_group_session_key_length=Ee._olm_outbound_group_session_key_length,l._olm_outbound_group_session_last_error=Ee._olm_outbound_group_session_last_error,l._olm_outbound_group_session_message_index=Ee._olm_outbound_group_session_message_index,l._olm_outbound_group_session_size=Ee._olm_outbound_group_session_size,l._olm_pickle_account=Ee._olm_pickle_account,l._olm_pickle_account_length=Ee._olm_pickle_account_length,l._olm_pickle_inbound_group_session=Ee._olm_pickle_inbound_group_session,l._olm_pickle_inbound_group_session_length=Ee._olm_pickle_inbound_group_session_length,l._olm_pickle_outbound_group_session=Ee._olm_pickle_outbound_group_session,l._olm_pickle_outbound_group_session_length=Ee._olm_pickle_outbound_group_session_length,l._olm_pickle_pk_decryption=Ee._olm_pickle_pk_decryption,l._olm_pickle_pk_decryption_length=Ee._olm_pickle_pk_decryption_length,l._olm_pickle_session=Ee._olm_pickle_session,l._olm_pickle_session_length=Ee._olm_pickle_session_length,l._olm_pk_ciphertext_length=Ee._olm_pk_ciphertext_length,l._olm_pk_decrypt=Ee._olm_pk_decrypt,l._olm_pk_decryption=Ee._olm_pk_decryption,l._olm_pk_decryption_last_error=Ee._olm_pk_decryption_last_error,l._olm_pk_decryption_size=Ee._olm_pk_decryption_size,l._olm_pk_encrypt=Ee._olm_pk_encrypt,l._olm_pk_encrypt_random_length=Ee._olm_pk_encrypt_random_length,l._olm_pk_encryption=Ee._olm_pk_encryption,l._olm_pk_encryption_last_error=Ee._olm_pk_encryption_last_error,l._olm_pk_encryption_set_recipient_key=Ee._olm_pk_encryption_set_recipient_key,l._olm_pk_encryption_size=Ee._olm_pk_encryption_size,l._olm_pk_generate_key=Ee._olm_pk_generate_key,l._olm_pk_generate_key_random_length=Ee._olm_pk_generate_key_random_length,l._olm_pk_get_private_key=Ee._olm_pk_get_private_key,l._olm_pk_key_from_private=Ee._olm_pk_key_from_private,l._olm_pk_key_length=Ee._olm_pk_key_length,l._olm_pk_mac_length=Ee._olm_pk_mac_length,l._olm_pk_max_plaintext_length=Ee._olm_pk_max_plaintext_length,l._olm_pk_private_key_length=Ee._olm_pk_private_key_length,l._olm_pk_sign=Ee._olm_pk_sign,l._olm_pk_signature_length=Ee._olm_pk_signature_length,l._olm_pk_signing=Ee._olm_pk_signing,l._olm_pk_signing_key_from_seed=Ee._olm_pk_signing_key_from_seed,l._olm_pk_signing_last_error=Ee._olm_pk_signing_last_error,l._olm_pk_signing_public_key_length=Ee._olm_pk_signing_public_key_length,l._olm_pk_signing_seed_length=Ee._olm_pk_signing_seed_length,l._olm_pk_signing_size=Ee._olm_pk_signing_size,l._olm_remove_one_time_keys=Ee._olm_remove_one_time_keys,l._olm_sas=Ee._olm_sas,l._olm_sas_calculate_mac=Ee._olm_sas_calculate_mac,l._olm_sas_calculate_mac_long_kdf=Ee._olm_sas_calculate_mac_long_kdf,l._olm_sas_generate_bytes=Ee._olm_sas_generate_bytes,l._olm_sas_get_pubkey=Ee._olm_sas_get_pubkey,l._olm_sas_last_error=Ee._olm_sas_last_error,l._olm_sas_mac_length=Ee._olm_sas_mac_length,l._olm_sas_pubkey_length=Ee._olm_sas_pubkey_length,l._olm_sas_set_their_key=Ee._olm_sas_set_their_key,l._olm_sas_size=Ee._olm_sas_size,l._olm_session=Ee._olm_session,l._olm_session_describe=Ee._olm_session_describe,l._olm_session_has_received_message=Ee._olm_session_has_received_message,l._olm_session_id=Ee._olm_session_id,l._olm_session_id_length=Ee._olm_session_id_length,l._olm_session_last_error=Ee._olm_session_last_error,l._olm_session_size=Ee._olm_session_size,l._olm_sha256=Ee._olm_sha256,l._olm_sha256_length=Ee._olm_sha256_length,l._olm_unpickle_account=Ee._olm_unpickle_account,l._olm_unpickle_inbound_group_session=Ee._olm_unpickle_inbound_group_session,l._olm_unpickle_outbound_group_session=Ee._olm_unpickle_outbound_group_session,l._olm_unpickle_pk_decryption=Ee._olm_unpickle_pk_decryption,l._olm_unpickle_session=Ee._olm_unpickle_session,l._olm_utility=Ee._olm_utility,l._olm_utility_last_error=Ee._olm_utility_last_error,l._olm_utility_size=Ee._olm_utility_size,l._sbrk=Ee._sbrk,l.establishStackSpace=Ee.establishStackSpace,l.getTempRet0=Ee.getTempRet0,l.runPostSets=Ee.runPostSets,l.setTempRet0=Ee.setTempRet0,l.setThrew=Ee.setThrew;var Se=l.stackAlloc=Ee.stackAlloc,Ie=l.stackRestore=Ee.stackRestore,Te=l.stackSave=Ee.stackSave;if(l.dynCall_ii=Ee.dynCall_ii,l.dynCall_iii=Ee.dynCall_iii,l.dynCall_iiii=Ee.dynCall_iiii,l.dynCall_iiiiiiiiii=Ee.dynCall_iiiiiiiiii,l.asm=Ee,l.ALLOC_STACK=1,me){if(String.prototype.startsWith?!me.startsWith(ge):0!==me.indexOf(ge)){var Re=me;me=l.locateFile?l.locateFile(Re,E):E+Re}if(_||v){var Oe=l.readBinary(me);N.set(Oe,8)}else{var xe=function(){l.readAsync(me,Ce,(function(){throw"could not load memory initializer "+me}))};de++,l.monitorRunDependencies&&l.monitorRunDependencies(de);var Ce=function(e){e.byteLength&&(e=new Uint8Array(e)),N.set(e,8),l.memoryInitializerRequest&&delete l.memoryInitializerRequest.response,de--,l.monitorRunDependencies&&l.monitorRunDependencies(de),0==de&&(null!==he&&(clearInterval(he),he=null),pe&&(e=pe,pe=null,e()))},Pe=we(me);if(Pe)Ce(Pe.buffer);else if(l.memoryInitializerRequest){var Me=function(){var e=l.memoryInitializerRequest,t=e.response;if(200!==e.status&&0!==e.status){if(!(t=we(l.memoryInitializerRequestURL)))return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+e.status+", retrying "+me),void xe();t=t.buffer}Ce(t)};l.memoryInitializerRequest.response?setTimeout(Me,0):l.memoryInitializerRequest.addEventListener("load",Me)}else xe()}}function De(){function e(){if(!l.calledRun&&(l.calledRun=!0,!O)){if(oe||(oe=!0,ee(ne)),ee(re),l.onRuntimeInitialized&&l.onRuntimeInitialized(),l.postRun)for("function"==typeof l.postRun&&(l.postRun=[l.postRun]);l.postRun.length;){var e=l.postRun.shift();ie.unshift(e)}ee(ie)}}if(!(0=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}return n}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,n){"use strict";var r=n(18);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,s){if(s!==r){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t3&&void 0!==arguments[3]?arguments[3]:{};return Object.assign({unified:e,emoji:e.split("-").map((function(e){return parseInt(e,16)})).map((function(e){return String.fromCodePoint(e)})).join(""),originalUnified:t[l.EMOJI_PROPERTY_UNIFIED],names:t[l.EMOJI_PROPERTY_NAME],activeSkinTone:n},r)},D=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Function.prototype;return function(t,n,r,i){var o=M(n,r,i);return P(o),e(t,o)}},B=n(8),N=(n(23),function(){var e=Object(a.useContext)(g),t=e.state,n=t.skinTonesSpread,r=t.activeSkinTone,i=e.dispatch,o=function(){i({type:_,spread:!n})},s=function(e){var t=e.target.value;i({type:v,skinTone:t})};return c.a.createElement("ul",{className:"skin-tones-list"},B.map((function(e,t){var i=e===r;return c.a.createElement("li",{key:e,className:"t".concat(e),style:{transform:"translateX(-".concat(n?20*t:0,"px) scale(").concat(i?"1.5":1,")"),zIndex:i?2:1}},c.a.createElement("input",{type:"radio",onChange:s,name:"skin-tone",value:e,id:"tone_".concat(e)}),c.a.createElement("label",{htmlFor:"tone_".concat(e),"data-name":"tones",onClick:o}))})))}),j=n(9),U=n.n(j),L=function(e){var t=Object(a.useContext)(g).state.emojiUrl;return e?"".concat(t,"/").concat(e,".png"):t},F=(n(25),function(e){var t=e.unified,n=e.dispatch,r=e.shouldLoad,i=void 0===r||r;return c.a.createElement("img",U()({className:"emoji-img",onError:function(){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Function.prototype;t({type:w,unified:e})}(t,n)}},i&&function(e){return{src:L(e)}}(t)))}),q=F;F.propTypes={unified:u.a.string,shouldLoad:u.a.bool,dispatch:u.a.func},n(27);var K=function(e){var t=e.closeVariations,n=Object(a.useContext)(g).state,r=n.variationMenu,i=n.activeSkinTone,o=n.onEmojiClick;return r?c.a.createElement("div",{className:"variations-wrapper"},c.a.createElement("ul",{className:"variation-list"},B.map((function(e){var n=r[l.EMOJI_PROPERTY_SKIN_VARIATIONS].find((function(t){return t.includes(e)}))||r[l.EMOJI_PROPERTY_UNIFIED];return c.a.createElement("li",{key:n},c.a.createElement("button",{onClick:function(e){return t(e),o(e,n,r,i)},onMouseDown:function(e){return e.stopPropagation()}},c.a.createElement(q,{unified:n})))})))):null},z=K;K.propTypes={closeVariations:u.a.func};var G=n(7),H=n.n(G),V=n(10),Q=(n(29),function(e){var t=e.emojiListRef,n=Object(a.useContext)(g),r=n.state,i=r.activeCategory,o=r.filter,s=n.dispatch,f=!1;return o&&o.length&&(f=!0),c.a.createElement("nav",{onClick:function(e){var n=e.target;if(!f){var r=n.getAttribute("data-name");if(t&&t.current&&r){s({type:y,activeCategory:r}),s({type:A,group:r});var i=t.current,o=i.querySelector("[".concat("data-name",'="').concat(r,'"]'));i.scrollTop=o.offsetTop}}},className:H()("emoji-categories",{inactive:f})},V.map((function(e){return c.a.createElement("button",{key:e,className:H()("icn-".concat(e.replace(" & ","_")),{active:i===e}),"data-name":e})})))}),W=Q;Q.propTypes={emojiListRef:u.a.shape({current:u.a.instanceOf(Element)})};var Y,X,J=n(11),Z=function(e){var t={groups:{},emojis:{}},n=function(n){e[n].reduce((function(e,t){var r=t[l.EMOJI_PROPERTY_UNIFIED];return t[l.EMOJI_PROPERTY_GROUP]=n,e.emojis[r]=t,e.groups[n]=e.groups[n]||[],e.groups[n].push(r),e}),t)};for(var r in e)n(r);return t}(J),$=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0,n=".content-wrapper",r=t&&t.current?t.current.closest("".concat(n)):document.querySelector(".emoji-picker-react ".concat(n));r.setAttribute("data-name",e)},ee=u.a.shape((X={},i()(X,l.EMOJI_PROPERTY_NAME,u.a.arrayOf(u.a.string)),i()(X,l.EMOJI_PROPERTY_UNIFIED,u.a.string),i()(X,l.EMOJI_PROPERTY_SKIN_VARIATIONS,u.a.arrayOf(u.a.string)),i()(X,l.EMOJI_PROPERTY_GROUP,u.a.string),X));function te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}n(40);var ne=["#aeeff0","#ffe0e0","#d6f8b8","#c6cfff","#f1f0d1"],re=null,ie=function(){return clearTimeout(re)},oe=function(e){var t,n,r=e.emoji,o=e.shouldLoad,s=e.hidden,a=e.activeSkinTone,f=e.openVariationMenu,u=e.variationMenuOpen,d=e.handleMouseEnter,h=e.handleMouseLeave,p=e.onEmojiClick,m=e.index,g=e.dispatch,y=r[l.EMOJI_PROPERTY_SKIN_VARIATIONS],b=function(e){for(var t=1;t=0}))),t||(t=r[l.EMOJI_PROPERTY_UNIFIED]),c.a.createElement("li",{style:b,className:H()("emoji",{"has-skin-variation":y&&f})},c.a.createElement("button",{onMouseDown:function(){y&&f&&(re=setTimeout((function(){f(r)}),500))},onMouseEnter:d,onMouseLeave:h,onMouseUp:ie,onClick:function(e){u||p(e,t,r,a)}},c.a.createElement(q,{unified:t,shouldLoad:o,dispatch:g})))},se=oe;oe.propTypes={emoji:ee,shouldLoad:u.a.bool,hidden:u.a.bool,activeSkinTone:u.a.string,openVariationMenu:u.a.func,variationMenuOpen:u.a.bool,handleMouseEnter:u.a.func,handleMouseLeave:u.a.func,onEmojiClick:u.a.func,index:u.a.number,dispatch:u.a.func};var ae=function(e){var t=e.unsetEmojiName,n=e.emojiListRef,r=Object(a.useContext)(g),i=r.state,o=i.recentlyUsed,s=i.onEmojiClick,f=i.filterResult,u=i.failedToLoad,d=void 0===u?{}:u,h=r.dispatch;return!o.length||f?null:c.a.createElement("ul",{className:"emoji-group","data-name":l.GROUP_NAME_RECENTLY_USED},o.map((function(e,r){var i=e[l.EMOJI_PROPERTY_UNIFIED],o=Z.emojis[i];return d[i]||!o?null:c.a.createElement(se,U()({key:r,emoji:o},e[l.EMOJI_PROPERTY_SKIN_VARIATIONS]&&{activeSkinTone:e[l.EMOJI_PROPERTY_SKIN_VARIATIONS]},{index:r,handleMouseLeave:t,onEmojiClick:s,handleMouseEnter:function(){return $(o[l.EMOJI_PROPERTY_NAME][0],n)},dispatch:h,shouldLoad:!0}))})))},ce=ae;function fe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}ae.propTypes={unsetEmojiName:u.a.func,emojiListRef:u.a.shape({current:u.a.instanceOf(Element)})},n(42);var ue=function(e){var t=e.emojiListRef,n=Object(a.useContext)(g).state.filterResult;(function(e){var t=Object(a.useContext)(g),n=t.state,r=n.filterResult,i=n.activeCategory,o=t.dispatch;Object(a.useEffect)((function(){void 0!==T.IntersectionObserver&&!Y&&e.current&&(Y=new IntersectionObserver((function(e){e.forEach((function(e){var t=e.target,n=t.getAttribute("data-name");if(0===e.intersectionRatio){if(n===i)o({type:y,activeCategory:null});else if(n===l.GROUP_NAME_RECENTLY_USED){var r=t.nextSibling;if(r){var s=r.getAttribute("data-name");o({type:y,activeCategory:s})}}}else i||(o({type:A,group:n}),o({type:y,activeCategory:n}))}))}),{root:e.current.parentElement})),Y.disconnect(),e&&e.current&&I()(e.current.querySelectorAll(".emoji-group")).forEach((function(e){Y.observe(e)}))}),[e.current,r])})(t),function(e,t){var n=Object(a.useRef)();Object(a.useEffect)((function(){t&&t.current&&(t.current.scrollTop=0),n.current=e}),[e]),n.current}(n,t);var r=function(){return $("",t)};return c.a.createElement("section",{className:"emoji-scroll-wrapper",ref:t},c.a.createElement(ce,{unsetEmojiName:r,emojiListRef:t}),V.map((function(e){var n=function(e,t){var n=t.unsetEmojiName,r=t.emojiListRef,i=Object(a.useContext)(g),o=i.state,s=o.activeSkinTone,f=o.filterResult,u=o.seenGroups,d=void 0===u?{}:u,h=o.onEmojiClick,p=o.variationMenu,m=o.failedToLoad,y=void 0===m?null:m,_=o.preload,v=i.dispatch,A=_||!(!d[e]&&!f&&"function"==typeof T.IntersectionObserver),w=!!p,E=function(e){return v({type:b,emoji:e})};return Object(a.useMemo)((function(){var t=f?Object.keys(f[e]||{}):Z.groups[e];return t.reduce((function(e,i,o){if(y&&y[i])return e;var a=Z.emojis[i],f=!t.length;return e.shown||f||(e.shown=!0),e.list.push(c.a.createElement(se,{emoji:a,dispatch:v,openVariationMenu:E,activeSkinTone:s,handleMouseLeave:n,variationMenuOpen:w,handleMouseEnter:function(){return $(a[l.EMOJI_PROPERTY_NAME][0],r)},hidden:f,shouldLoad:A,onEmojiClick:h,index:o,key:a[l.EMOJI_PROPERTY_UNIFIED]})),e}),{list:[],shown:!1})}),[s,f,e,A,w,y])}(e,{unsetEmojiName:r,emojiListRef:t}),o=n.list,s=function(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:100,i=n;return new Promise((function(n){var o=0;!function s(){for(var a=o;ao.value.length&&i.includes(o.value))t=[].concat(I()(n),[{value:i,terms:o.terms.filter((function(e){return e.includes(i)}))}]);else if(o&&i.length0;a--)if(i.includes(n[a-1].value)){s=a;break}n.length=s,t=I()(n)}else 0!==n.length&&i.includes(o.value)||(t=[{value:i,terms:he[i[0]].filter((function(e){return e.includes(i)}))}]);var c=t[t.length-1];c&&c.value?pe(c&&c.terms||[],(function(e,t){return de[t]?(de[t]||[]).reduce((function(e,t){var n=Z.emojis[t][l.EMOJI_PROPERTY_GROUP];return e[n]=e[n]||{},e[n][t]=!0,e}),e):e}),{}).then((function(e){r({type:E,filter:t,filterResult:e})})):r({type:E,filter:t,filterResult:null})}},ye=(n(44),function(){return c.a.createElement("input",{className:"emoji-search",onChange:ge(),autoFocus:!0})});n(46),n.d(t,"SKIN_TONE_NEUTRAL",(function(){return"neutral"})),n.d(t,"SKIN_TONE_LIGHT",(function(){return"1f3fb"})),n.d(t,"SKIN_TONE_MEDIUM_LIGHT",(function(){return"1f3fc"})),n.d(t,"SKIN_TONE_MEDIUM",(function(){return"1f3fe"})),n.d(t,"SKIN_TONE_MEDIUM_DARK",(function(){return"1f3ff"})),n.d(t,"SKIN_TONE_DARK",(function(){return"1f3fd"}));var be=function(e){var t=e.emojiUrl,n=void 0===t?"https://cdn.jsdelivr.net/gh/iamcal/emoji-data@master/img-apple-160":t,r=e.onEmojiClick,o=e.preload,f=void 0!==o&&o,u=e.skinTone,d=void 0===u?"neutral":u,h=Object(a.useRef)(null),p=Object(a.useReducer)(k,{activeSkinTone:d,emojiUrl:n,onEmojiClick:D(r),seenGroups:i()({},l.GROUP_NAME_PEOPLE,!0),recentlyUsed:C(),preload:f}),m=s()(p,2),y=m[0],v=m[1],A=function(e){var t=e.target;y.variationMenu&&v({type:b}),y.skinTonesSpread&&"tones"!==t.getAttribute("data-name")&&v({type:_})};return c.a.createElement(g.Provider,{value:{state:y,dispatch:v}},c.a.createElement("aside",{className:"emoji-picker-react",onScroll:A,onMouseDown:A},c.a.createElement(W,{emojiListRef:h}),c.a.createElement("div",{style:{position:"relative"}},c.a.createElement(ye,null),c.a.createElement(N,null)),c.a.createElement("div",{className:"content-wrapper","data-name":y.emojiName},c.a.createElement(z,{closeVariations:A}),c.a.createElement(le,{emojiListRef:h}))))};t.default=be,be.propTypes={emojiUrl:u.a.string,onEmojiClick:u.a.func,preload:u.a.bool,skinTone:u.a.string}}]))}).call(this,n(5))},function(e,t,n){"use strict";var r=n(26),i=n.n(r),o=n(27),s=n.n(o),a=n(54),c=n.n(a),f=n(55),u=n.n(f),l=n(7),d=n.n(l),h=n(56),p=n.n(h),m=n(2),g=n.n(m),y=n(0),b=n.n(y),_=(n(13),n(327)),v=n(157),A=n.n(v),w=n(22);function E(e,t,n){return e===t||(e.correspondingElement?e.correspondingElement.classList.contains(n):e.classList.contains(n))}var k,S,I=(void 0===k&&(k=0),function(){return++k}),T={},R={},O=["touchstart","touchmove"];function x(e,t){var n=null;return-1!==O.indexOf(t)&&S&&(n={passive:!e.props.preventDefault}),n}var C=function(e,t){var n,r,i=e.displayName||e.name||"Component";return r=n=function(n){var r,o;function s(e){var r;return(r=n.call(this,e)||this).__outsideClickHandler=function(e){if("function"!=typeof r.__clickOutsideHandlerProp){var t=r.getInstance();if("function"!=typeof t.props.handleClickOutside){if("function"!=typeof t.handleClickOutside)throw new Error("WrappedComponent: "+i+" lacks a handleClickOutside(event) function for processing outside click events.");t.handleClickOutside(e)}else t.props.handleClickOutside(e)}else r.__clickOutsideHandlerProp(e)},r.__getComponentNode=function(){var e=r.getInstance();return t&&"function"==typeof t.setClickOutsideRef?t.setClickOutsideRef()(e):"function"==typeof e.setClickOutsideRef?e.setClickOutsideRef():Object(w.findDOMNode)(e)},r.enableOnClickOutside=function(){if("undefined"!=typeof document&&!R[r._uid]){void 0===S&&(S=function(){if("undefined"!=typeof window&&"function"==typeof window.addEventListener){var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}}),n=function(){};return window.addEventListener("testPassiveEventSupport",n,t),window.removeEventListener("testPassiveEventSupport",n,t),e}}()),R[r._uid]=!0;var e=r.props.eventTypes;e.forEach||(e=[e]),T[r._uid]=function(e){var t;null!==r.componentNode&&(r.props.preventDefault&&e.preventDefault(),r.props.stopPropagation&&e.stopPropagation(),r.props.excludeScrollbar&&(t=e,document.documentElement.clientWidth<=t.clientX||document.documentElement.clientHeight<=t.clientY)||function(e,t,n){if(e===t)return!0;for(;e.parentNode;){if(E(e,t,n))return!0;e=e.parentNode}return e}(e.target,r.componentNode,r.props.outsideClickIgnoreClass)===document&&r.__outsideClickHandler(e))},e.forEach((function(e){document.addEventListener(e,T[r._uid],x(r,e))}))}},r.disableOnClickOutside=function(){delete R[r._uid];var e=T[r._uid];if(e&&"undefined"!=typeof document){var t=r.props.eventTypes;t.forEach||(t=[t]),t.forEach((function(t){return document.removeEventListener(t,e,x(r,t))})),delete T[r._uid]}},r.getRef=function(e){return r.instanceRef=e},r._uid=I(),r}o=n,(r=s).prototype=Object.create(o.prototype),r.prototype.constructor=r,r.__proto__=o;var a=s.prototype;return a.getInstance=function(){if(!e.prototype.isReactComponent)return this;var t=this.instanceRef;return t.getInstance?t.getInstance():t},a.componentDidMount=function(){if("undefined"!=typeof document&&document.createElement){var e=this.getInstance();if(t&&"function"==typeof t.handleClickOutside&&(this.__clickOutsideHandlerProp=t.handleClickOutside(e),"function"!=typeof this.__clickOutsideHandlerProp))throw new Error("WrappedComponent: "+i+" lacks a function for processing outside click events specified by the handleClickOutside config option.");this.componentNode=this.__getComponentNode(),this.props.disableOnClickOutside||this.enableOnClickOutside()}},a.componentDidUpdate=function(){this.componentNode=this.__getComponentNode()},a.componentWillUnmount=function(){this.disableOnClickOutside()},a.render=function(){var t=this.props,n=(t.excludeScrollbar,function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(t,["excludeScrollbar"]));return e.prototype.isReactComponent?n.ref=this.getRef:n.wrappedRef=this.getRef,n.disableOnClickOutside=this.disableOnClickOutside,n.enableOnClickOutside=this.enableOnClickOutside,Object(y.createElement)(e,n)},s}(y.Component),n.displayName="OnClickOutside("+i+")",n.defaultProps={eventTypes:["mousedown","touchstart"],excludeScrollbar:t&&t.excludeScrollbar||!1,outsideClickIgnoreClass:"ignore-react-onclickoutside",preventDefault:!1,stopPropagation:!1},n.getClass=function(){return e.getClass?e.getClass():e},r},P=function(){return b.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24",viewBox:"0 0 24 24",width:"24"},b.a.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),b.a.createElement("path",{id:"icon",fill:"#828282",d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z"}))},M=function(e){function t(e){var n;return i()(this,t),n=c()(this,u()(t).call(this,e)),g()(d()(n),"handleClickOutside",(function(e){n.props.closeEmojiSelector()})),n}return p()(t,e),s()(t,[{key:"render",value:function(){var e=this.props,t=e.onEmojiClick,n=e.emojiSelectorOpen,r=e.toggleEmojiSelector;return(b.a.createElement("div",{className:"emoji-button-container"},b.a.createElement("div",{className:"pos-relative"},b.a.createElement(_.a,{in:n,timeout:250},(function(e){return b.a.createElement("div",{className:"emoji-picker emoji-picker-".concat(e),"aria-hidden":!n},b.a.createElement(A.a,{onEmojiClick:t,emojiUrl:"https://cdn.jsdelivr.net/gh/iamcal/emoji-data@master/img-apple-64"}))})),b.a.createElement("button",{type:"button",id:"emoji-button",onClick:r,"aria-label":"Emoji picker"},b.a.createElement(P,null)))))}}]),t}(b.a.Component);t.a=C(M)},,function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}},function(e,t,n){"use strict"; /** @license React v16.12.0 * react.production.min.js * @@ -57,4 +57,4 @@ object-assign * content-type * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed - */var r=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,i=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,o=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,s=/\\([\u000b\u0020-\u00ff])/g,a=/([\\"])/g,c=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;function f(e){var t=String(e);if(o.test(t))return t;if(t.length>0&&!i.test(t))throw new TypeError("invalid parameter value");return'"'+t.replace(a,"\\$1")+'"'}function u(e){this.parameters=Object.create(null),this.type=e}t.format=function(e){if(!e||"object"!=typeof e)throw new TypeError("argument obj is required");var t=e.parameters,n=e.type;if(!n||!c.test(n))throw new TypeError("invalid type");var r=n;if(t&&"object"==typeof t)for(var i,s=Object.keys(t).sort(),a=0;an)break;t=s.shift(),t.key,i.push(t)}c();for(let n=0;n>1;t(e[i])>0?r=i:n=i+1}return n}}).call(this,n(5))},function(e,t,n){"use strict";function r(e){this.filter_json=e,this.types=e.types||null,this.not_types=e.not_types||[],this.rooms=e.rooms||null,this.not_rooms=e.not_rooms||[],this.senders=e.senders||null,this.not_senders=e.not_senders||[],this.contains_url=e.contains_url||null}Object.defineProperty(t,"__esModule",{value:!0}),t.FilterComponent=r,r.prototype.check=function(e){return this._checkFields(e.getRoomId(),e.getSender(),e.getType(),!!e.getContent()&&void 0!==e.getContent().url)},r.prototype._checkFields=function(e,t,n,r){const i={rooms:function(t){return e===t},senders:function(e){return t===e},types:function(e){return function(e,t){if(t.endsWith("*")){const n=t.slice(0,-1);return e.substr(0,n.length)===n}return e===t}(n,e)}},o=this;for(let e=0;e0)return!1;const r=o[t];if(r&&!r.map(n))return!1}const s=this.filter_json.contains_url;return void 0===s||s===r},r.prototype.filter=function(e){return e.filter(this.check,this)},r.prototype.limit=function(){return void 0!==this.filter_json.limit?this.filter_json.limit:10}},function(e,t,n){"use strict";(function(e){var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.SyncApi=m;var i=n(48),o=n(130),s=n(133),a=r(n(8)),c=n(76),f=n(25),u=n(75),l=n(4),d=n(79);function h(e,t){return"FILTER_SYNC_"+e+(t?"_"+t:"")}function p(...e){l.logger.log(...e)}function m(e,t){this.client=e,(t=t||{}).initialSyncLimit=void 0===t.initialSyncLimit?8:t.initialSyncLimit,t.resolveInvitesToProfiles=t.resolveInvitesToProfiles||!1,t.pollTimeout=t.pollTimeout||3e4,t.pendingEventOrdering=t.pendingEventOrdering||"chronological",t.canResetEntireTimeline||(t.canResetEntireTimeline=function(e){return!1}),this.opts=t,this._peekRoomId=null,this._currentSyncRequest=null,this._syncState=null,this._syncStateData=null,this._catchingUp=!1,this._running=!1,this._keepAliveTimer=null,this._connectionReturnedDefer=null,this._notifEvents=[],this._failedSyncCount=0,this._storeIsInvalid=!1,e.getNotifTimelineSet()&&e.reEmitter.reEmit(e.getNotifTimelineSet(),["Room.timeline","Room.timelineReset"])}function g(e,t){const n=new i.User(t);return e.reEmitter.reEmit(n,["User.avatarUrl","User.displayName","User.presence","User.currentlyActive","User.lastPresenceTs"]),n}m.prototype.createRoom=function(e){const t=this.client,{timelineSupport:n,unstableClientRelationAggregation:r}=t,i=new o.Room(e,t,t.getUserId(),{lazyLoadMembers:this.opts.lazyLoadMembers,pendingEventOrdering:this.opts.pendingEventOrdering,timelineSupport:n,unstableClientRelationAggregation:r});return t.reEmitter.reEmit(i,["Room.name","Room.timeline","Room.redaction","Room.redactionCancelled","Room.receipt","Room.tags","Room.timelineReset","Room.localEchoUpdated","Room.accountData","Room.myMembership","Room.replaceEvent"]),this._registerStateListeners(i),i},m.prototype.createGroup=function(e){const t=this.client,n=new s.Group(e);return t.reEmitter.reEmit(n,["Group.profile","Group.myMembership"]),t.store.storeGroup(n),n},m.prototype._registerStateListeners=function(e){const t=this.client;t.reEmitter.reEmit(e.currentState,["RoomState.events","RoomState.members","RoomState.newMember"]),e.currentState.on("RoomState.newMember",(function(e,n,r){r.user=t.getUser(r.userId),t.reEmitter.reEmit(r,["RoomMember.name","RoomMember.typing","RoomMember.powerLevel","RoomMember.membership"])}))},m.prototype._deregisterStateListeners=function(e){e.currentState.removeAllListeners("RoomState.events"),e.currentState.removeAllListeners("RoomState.members"),e.currentState.removeAllListeners("RoomState.newMember")},m.prototype.syncLeftRooms=function(){const e=this.client,t=this,n=new c.Filter(this.client.credentials.userId);n.setTimelineLimit(1),n.setIncludeLeaveRooms(!0);const r=this.opts.pollTimeout+8e4,i={timeout:0};return e.getOrCreateFilter(h(e.credentials.userId,"LEFT_ROOMS"),n).then((function(t){return i.filter=t,e._http.authedRequest(void 0,"GET","/sync",i,void 0,r)})).then((function(n){let r=[];n.rooms&&n.rooms.leave&&(r=t._mapSyncResponseToRoomArray(n.rooms.leave));const i=[];return r.forEach((function(n){const r=n.room;if(i.push(r),!n.isBrandNewRoom)return;n.timeline=n.timeline||{};const o=t._mapSyncEventsFormat(n.timeline,r),s=t._mapSyncEventsFormat(n.state,r);r.getLiveTimeline().setPaginationToken(n.timeline.prev_batch,f.EventTimeline.BACKWARDS),t._processRoomEvents(r,s,o),r.recalculate(),e.store.storeRoom(r),e.emit("Room",r),t._processEventsForNotifs(r,o)})),i}))},m.prototype.peek=function(e){const t=this,n=this.client;return this._peekRoomId=e,this.client.roomInitialSync(e,20).then((function(r){r.messages=r.messages||{},r.messages.chunk=r.messages.chunk||[],r.state=r.state||[];const i=t.createRoom(e),o=a.map(a.deepCopy(r.state),n.getEventMapper()),s=a.map(r.state,n.getEventMapper()),c=a.map(r.messages.chunk,n.getEventMapper());return r.presence&&a.isArray(r.presence)&&r.presence.map(n.getEventMapper()).forEach((function(e){let t=n.store.getUser(e.getContent().user_id);t?t.setPresenceEvent(e):(t=g(n,e.getContent().user_id),t.setPresenceEvent(e),n.store.storeUser(t)),n.emit("event",e)})),r.messages.start&&(i.oldState.paginationToken=r.messages.start),i.oldState.setStateEvents(o),i.currentState.setStateEvents(s),t._resolveInvites(i),i.recalculate(),i.addEventsToTimeline(c.reverse(),!0,i.getLiveTimeline(),r.messages.start),n.store.storeRoom(i),n.emit("Room",i),t._peekPoll(i),i}))},m.prototype.stopPeeking=function(){this._peekRoomId=null},m.prototype._peekPoll=function(e,t){if(this._peekRoomId!==e.roomId)return void p("Stopped peeking in room %s",e.roomId);const n=this;this.client._http.authedRequest(void 0,"GET","/events",{room_id:e.roomId,timeout:3e4,from:t},void 0,5e4).then((function(t){if(n._peekRoomId!==e.roomId)return void p("Stopped peeking in room %s",e.roomId);t.chunk.filter((function(e){return"m.presence"===e.type})).map(n.client.getEventMapper()).forEach((function(e){let t=n.client.store.getUser(e.getContent().user_id);t?t.setPresenceEvent(e):(t=g(n.client,e.getContent().user_id),t.setPresenceEvent(e),n.client.store.storeUser(t)),n.client.emit("event",e)}));const r=t.chunk.filter((function(t){return t.room_id===e.roomId})).map(n.client.getEventMapper());e.addLiveEvents(r),n._peekPoll(e,t.end)}),(function(r){l.logger.error("[%s] Peek poll failed: %s",e.roomId,r),setTimeout((function(){n._peekPoll(e,t)}),3e4)}))},m.prototype.getSyncState=function(){return this._syncState},m.prototype.getSyncStateData=function(){return this._syncStateData},m.prototype.recoverFromSyncStartupError=async function(e,t){await e;const n=this._startKeepAlives();this._updateSyncState("ERROR",{error:t}),await n},m.prototype._wasLazyLoadingToggled=async function(e){e=!!e;let t=!1;if(!await this.client.store.isNewlyCreated()){const n=await this.client.store.getClientOptions();return n&&(t=!!n.lazyLoadMembers),t!==e}return!1},m.prototype._shouldAbortSync=function(e){return"M_UNKNOWN_TOKEN"===e.errcode&&(l.logger.warn("Token no longer valid - assuming logout"),this.stop(),!0)},m.prototype.sync=function(){const t=this.client,n=this;this._running=!0,e.document&&(this._onOnlineBound=this._onOnline.bind(this),e.document.addEventListener("online",this._onOnlineBound,!1));let r=Promise.resolve(),i=null;const o=async()=>{if(p("Checking lazy load status..."),this.opts.lazyLoadMembers&&t.isGuest()&&(this.opts.lazyLoadMembers=!1),this.opts.lazyLoadMembers){if(p("Checking server lazy load support..."),await t.doesServerSupportLazyLoading())try{p("Creating and storing lazy load sync filter..."),this.opts.filter=await t.createFilter(c.Filter.LAZY_LOADING_SYNC_FILTER),p("Created and stored lazy load sync filter")}catch(e){throw l.logger.error("Creating and storing lazy load sync filter failed",e),e}else p("LL: lazy loading requested but not supported by server, so disabling"),this.opts.lazyLoadMembers=!1}if(p("Checking whether lazy loading has changed in store..."),await this._wasLazyLoadingToggled(this.opts.lazyLoadMembers)){this._storeIsInvalid=!0;const e=d.InvalidStoreError.TOGGLED_LAZY_LOADING,t=new d.InvalidStoreError(e,!!this.opts.lazyLoadMembers);return this._updateSyncState("ERROR",{error:t}),void l.logger.warn("InvalidStoreError: store is not usable: stopping sync.")}this.opts.lazyLoadMembers&&this.opts.crypto&&this.opts.crypto.enableLazyLoading();try{p("Storing client options..."),await this.client._storeClientOptions(),p("Stored client options")}catch(e){throw l.logger.error("Storing client options failed",e),e}!async function e(){let o,s;p("Getting filter..."),n.opts.filter?o=n.opts.filter:(o=new c.Filter(t.credentials.userId),o.setTimelineLimit(n.opts.initialSyncLimit));try{s=await t.getOrCreateFilter(h(t.credentials.userId),o)}catch(t){if(l.logger.error("Getting filter failed",t),n._shouldAbortSync(t))return;return p("Waiting for saved sync before retrying filter..."),await n.recoverFromSyncStartupError(r,t),void e()}t.resetNotifTimelineSet(),null===n._currentSyncRequest&&(p("Sending first sync request..."),n._currentSyncRequest=n._doSyncRequest({filterId:s},i));p("Waiting for saved sync before starting sync processing..."),await r,n._sync({filterId:s})}()};t.isGuest()?n._sync({}):(p("Getting saved sync token..."),r=t.store.getSavedSyncToken().then(e=>(p("Got saved sync token"),i=e,p("Getting saved sync..."),t.store.getSavedSync())).then(e=>{if(p(`Got reply from saved sync, exists? ${!!e}`),e)return n._syncFromCache(e)}).catch(e=>{l.logger.error("Getting saved sync failed",e)}),async function e(){try{p("Getting push rules...");const e=await t.getPushRules();p("Got push rules"),t.pushRules=e}catch(t){if(l.logger.error("Getting push rules failed",t),n._shouldAbortSync(t))return;return p("Waiting for saved sync before retrying push rules..."),await n.recoverFromSyncStartupError(r,t),void e()}o()}())},m.prototype.stop=function(){p("SyncApi.stop"),e.document&&(e.document.removeEventListener("online",this._onOnlineBound,!1),this._onOnlineBound=void 0),this._running=!1,this._currentSyncRequest&&this._currentSyncRequest.abort(),this._keepAliveTimer&&(clearTimeout(this._keepAliveTimer),this._keepAliveTimer=null)},m.prototype.retryImmediately=function(){return!!this._connectionReturnedDefer&&(this._startKeepAlives(0),!0)},m.prototype._syncFromCache=async function(e){p("sync(): not doing HTTP hit, instead returning stored /sync data");const t=e.nextBatch;this.client.store.setSyncToken(t);const n={oldSyncToken:null,nextSyncToken:t,catchingUp:!1},r={next_batch:t,rooms:e.roomsData,groups:e.groupsData,account_data:{events:e.accountData}};try{await this._processSyncResponse(n,r)}catch(e){l.logger.error("Error processing cached sync",e.stack||e)}this._storeIsInvalid||this._updateSyncState("PREPARED",n)},m.prototype._sync=async function(e){const t=this.client;if(!this._running)return p("Sync no longer running: exiting."),this._connectionReturnedDefer&&(this._connectionReturnedDefer.reject(),this._connectionReturnedDefer=null),void this._updateSyncState("STOPPED");const n=t.store.getSyncToken();let r;try{null===this._currentSyncRequest&&(this._currentSyncRequest=this._doSyncRequest(e,n)),r=await this._currentSyncRequest}catch(t){return void this._onSyncError(t,e)}finally{this._currentSyncRequest=null}t.store.setSyncToken(r.next_batch),this._failedSyncCount=0,await t.store.setSyncData(r);const i={oldSyncToken:n,nextSyncToken:r.next_batch,catchingUp:this._catchingUp};this.opts.crypto&&await this.opts.crypto.onSyncWillProcess(i);try{await this._processSyncResponse(i,r)}catch(e){l.logger.error("Caught /sync error",e.stack||e),this.client.emit("sync.unexpectedError",e)}i.catchingUp=this._catchingUp,e.hasSyncedBefore||(this._updateSyncState("PREPARED",i),e.hasSyncedBefore=!0),this.opts.crypto&&await this.opts.crypto.onSyncCompleted(i),this._updateSyncState("SYNCING",i),t.store.wantsSave()&&(this.opts.crypto&&await this.opts.crypto.saveDeviceList(0),t.store.save()),this._sync(e)},m.prototype._doSyncRequest=function(e,t){const n=this._getSyncParams(e,t);return this.client._http.authedRequest(void 0,"GET","/sync",n,void 0,n.timeout+8e4)},m.prototype._getSyncParams=function(e,t){let n=this.opts.pollTimeout;("SYNCING"!==this.getSyncState()||this._catchingUp)&&(this._catchingUp=!0,n=0);let r=e.filterId;this.client.isGuest()&&!r&&(r=this._getGuestFilter());const i={filter:r,timeout:n};return this.opts.disablePresence&&(i.set_presence="offline"),t?i.since=t:i._cacheBuster=Date.now(),"ERROR"!=this.getSyncState()&&"RECONNECTING"!=this.getSyncState()||(i.timeout=0),i},m.prototype._onSyncError=function(e,t){if(!this._running)return p("Sync no longer running: exiting"),this._connectionReturnedDefer&&(this._connectionReturnedDefer.reject(),this._connectionReturnedDefer=null),void this._updateSyncState("STOPPED");l.logger.error("/sync error %s",e),l.logger.error(e),this._shouldAbortSync(e)||(this._failedSyncCount++,l.logger.log("Number of consecutive failed sync requests:",this._failedSyncCount),p("Starting keep-alive"),this._startKeepAlives().then(e=>{e&&"ERROR"===this.getSyncState()&&this._updateSyncState("CATCHUP",{oldSyncToken:null,nextSyncToken:null,catchingUp:!0}),this._sync(t)}),this._currentSyncRequest=null,this._updateSyncState(this._failedSyncCount>=3?"ERROR":"RECONNECTING",{error:e}))},m.prototype._processSyncResponse=async function(e,t){const n=this.client,r=this;if(t.presence&&a.isArray(t.presence.events)&&t.presence.events.map(n.getEventMapper()).forEach((function(e){let t=n.store.getUser(e.getSender());t?t.setPresenceEvent(e):(t=g(n,e.getSender()),t.setPresenceEvent(e),n.store.storeUser(t)),n.emit("event",e)})),t.account_data&&a.isArray(t.account_data.events)){const e=t.account_data.events.map(n.getEventMapper());n.store.storeAccountDataEvents(e),e.forEach((function(e){if("m.push_rules"===e.getType()){const t=e.getContent();n.pushRules=u.PushProcessor.rewriteDefaultRules(t)}return n.emit("accountData",e),e}))}if(t.to_device&&a.isArray(t.to_device.events)&&t.to_device.events.length>0){const e=[];t.to_device.events.map(n.getEventMapper()).map(t=>{if("m.key.verification.cancel"===t.getType()){const n=t.getContent().transaction_id;n&&e.push(n)}return t}).forEach((function(t){const r=t.getContent();if("m.room.message"!=t.getType()||"m.bad.encrypted"!=r.msgtype){if("m.key.verification.start"===t.getType()||"m.key.verification.request"===t.getType()){const n=r.transaction_id;e.includes(n)&&t.flagCancelled()}n.emit("toDeviceEvent",t)}else l.logger.log("Ignoring undecryptable to-device event from "+t.getSender())}))}else this._catchingUp=!1;t.groups&&(t.groups.invite&&this._processGroupSyncEntry(t.groups.invite,"invite"),t.groups.join&&this._processGroupSyncEntry(t.groups.join,"join"),t.groups.leave&&this._processGroupSyncEntry(t.groups.leave,"leave"));let i=[],o=[],s=[];if(t.rooms&&(t.rooms.invite&&(i=this._mapSyncResponseToRoomArray(t.rooms.invite)),t.rooms.join&&(o=this._mapSyncResponseToRoomArray(t.rooms.join)),t.rooms.leave&&(s=this._mapSyncResponseToRoomArray(t.rooms.leave))),this._notifEvents=[],i.forEach((function(e){const t=e.room,i=r._mapSyncEventsFormat(e.invite_state,t);r._processRoomEvents(t,i),e.isBrandNewRoom&&(t.recalculate(),n.store.storeRoom(t),n.emit("Room",t)),i.forEach((function(e){n.emit("event",e)})),t.updateMyMembership("invite")})),await a.promiseMapSeries(o,(async function(t){const i=t.room,o=r._mapSyncEventsFormat(t.state,i),s=r._mapSyncEventsFormat(t.timeline,i),c=r._mapSyncEventsFormat(t.ephemeral),u=r._mapSyncEventsFormat(t.account_data);if(t.unread_notifications){i.setUnreadNotificationCount("total",t.unread_notifications.notification_count);const e=n.isRoomEncrypted(i.roomId);(!e||e&&i.getUnreadNotificationCount("highlight")<=0)&&i.setUnreadNotificationCount("highlight",t.unread_notifications.highlight_count)}if(t.timeline=t.timeline||{},t.isBrandNewRoom)i.getLiveTimeline().setPaginationToken(t.timeline.prev_batch,f.EventTimeline.BACKWARDS);else if(t.timeline.limited){let o=!0;for(let e=s.length-1;e>=0;e--){const t=s[e].getId();if(i.getTimelineForEvent(t)){p("Already have event "+t+" in limited sync - not resetting"),o=!1,s.splice(0,e);break}}o&&(r._deregisterStateListeners(i),i.resetLiveTimeline(t.timeline.prev_batch,r.opts.canResetEntireTimeline(i.roomId)?null:e.oldSyncToken),n.resetNotifTimelineSet(),r._registerStateListeners(i))}async function l(e){if(n.emit("event",e),e.isState()&&"m.room.encryption"==e.getType()&&r.opts.crypto&&await r.opts.crypto.onCryptoEvent(e),e.isState()&&"im.vector.user_status"===e.getType()){let t=n.store.getUser(e.getStateKey());t?t._unstable_updateStatusMessage(e):(t=g(n,e.getStateKey()),t._unstable_updateStatusMessage(e),n.store.storeUser(t))}}r._processRoomEvents(i,o,s),t.summary&&i.setSummary(t.summary),i.addEphemeralEvents(c),i.addAccountData(u),i.recalculate(),t.isBrandNewRoom&&(n.store.storeRoom(i),n.emit("Room",i)),r._processEventsForNotifs(i,s),await a.promiseMapSeries(o,l),await a.promiseMapSeries(s,l),c.forEach((function(e){n.emit("event",e)})),u.forEach((function(e){n.emit("event",e)})),i.updateMyMembership("join")})),s.forEach((function(e){const t=e.room,i=r._mapSyncEventsFormat(e.state,t),o=r._mapSyncEventsFormat(e.timeline,t),s=r._mapSyncEventsFormat(e.account_data);r._processRoomEvents(t,i,o),t.addAccountData(s),t.recalculate(),e.isBrandNewRoom&&(n.store.storeRoom(t),n.emit("Room",t)),r._processEventsForNotifs(t,o),i.forEach((function(e){n.emit("event",e)})),o.forEach((function(e){n.emit("event",e)})),s.forEach((function(e){n.emit("event",e)})),t.updateMyMembership("leave")})),e.oldSyncToken&&this._notifEvents.length&&(this._notifEvents.sort((function(e,t){return e.getTs()-t.getTs()})),this._notifEvents.forEach((function(e){n.getNotifTimelineSet().addLiveEvent(e)}))),t.device_lists&&this.opts.crypto&&await this.opts.crypto.handleDeviceListChanges(e,t.device_lists),this.opts.crypto&&t.device_one_time_keys_count){const e=t.device_one_time_keys_count.signed_curve25519||0;this.opts.crypto.updateOneTimeKeyCount(e)}},m.prototype._startKeepAlives=function(e){void 0===e&&(e=2e3+Math.floor(5e3*Math.random())),null!==this._keepAliveTimer&&clearTimeout(this._keepAliveTimer);const t=this;return e>0?t._keepAliveTimer=setTimeout(t._pokeKeepAlive.bind(t),e):t._pokeKeepAlive(),this._connectionReturnedDefer||(this._connectionReturnedDefer=a.defer()),this._connectionReturnedDefer.promise},m.prototype._pokeKeepAlive=function(e){void 0===e&&(e=!1);const t=this;function n(){clearTimeout(t._keepAliveTimer),t._connectionReturnedDefer&&(t._connectionReturnedDefer.resolve(e),t._connectionReturnedDefer=null)}this.client._http.request(void 0,"GET","/_matrix/client/versions",void 0,void 0,{prefix:"",localTimeoutMs:15e3}).then((function(){n()}),(function(r){400==r.httpStatus||404==r.httpStatus?t._keepAliveTimer=setTimeout(n,2e3):(e=!0,t._keepAliveTimer=setTimeout(t._pokeKeepAlive.bind(t,e),5e3+Math.floor(5e3*Math.random())),t._updateSyncState("ERROR",{error:r}))}))},m.prototype._processGroupSyncEntry=function(e,t){for(const n of Object.keys(e)){const r=e[n];let i=this.client.store.getGroup(n);const o=null===i;null===i&&(i=this.createGroup(n)),r.profile&&i.setProfile(r.profile.name,r.profile.avatar_url),r.inviter&&i.setInviter({userId:r.inviter}),i.setMyMembership(t),o&&this.client.emit("Group",i)}},m.prototype._mapSyncResponseToRoomArray=function(e){const t=this.client,n=this;return a.keys(e).map((function(r){const i=e[r];let o=t.store.getRoom(r),s=!1;return o||(o=n.createRoom(r),s=!0),i.room=o,i.isBrandNewRoom=s,i}))},m.prototype._mapSyncEventsFormat=function(e,t){if(!e||!a.isArray(e.events))return[];const n=this.client.getEventMapper();return e.events.map((function(e){return t&&(e.room_id=t.roomId),n(e)}))},m.prototype._resolveInvites=function(e){if(!e||!this.opts.resolveInvitesToProfiles)return;const t=this.client;e.getMembersWithMembership("invite").forEach((function(n){if(n._requestedProfileInfo)return;n._requestedProfileInfo=!0;const r=t.getUser(n.userId);let i;i=r?Promise.resolve({avatar_url:r.avatarUrl,displayname:r.displayName}):t.getProfileInfo(n.userId),i.then((function(t){const r=n.events.member;"invite"===r.getContent().membership&&(r.getContent().avatar_url=t.avatar_url,r.getContent().displayname=t.displayname,n.setMembershipEvent(r,e.currentState))}),(function(e){}))}))},m.prototype._processRoomEvents=function(e,t,n){const r=e.getLiveTimeline(),i=0==r.getEvents().length;if(i){for(const e of t)this.client.getPushActionsForEvent(e);r.initialiseState(t)}this._resolveInvites(e),e.recalculate(),i||(e.oldState.setStateEvents(t||[]),e.currentState.setStateEvents(t||[])),e.addLiveEvents(n||[])},m.prototype._processEventsForNotifs=function(e,t){if(this.client.getNotifTimelineSet())for(let e=0;e{e.isSending()?t===s.EventStatus.CANCELLED&&(e.removeListener("Event.status",this._onEventStatus),this._removeEvent(e)):e.removeListener("Event.status",this._onEventStatus)}),(0,i.default)(this,"_onBeforeRedaction",e=>{this._relations.has(e)&&(this._relations.delete(e),"m.annotation"===this.relationType?this._removeAnnotationFromAggregation(e):"m.replace"===this.relationType&&this._targetEvent&&this._targetEvent.makeReplaced(this.getLastReplacement()),e.removeListener("Event.beforeRedaction",this._onBeforeRedaction),this.emit("Relations.redaction",e))}),this.relationType=e,this.eventType=t,this._relations=new Set,this._annotationsByKey={},this._annotationsBySender={},this._sortedAnnotationsByKey=[],this._targetEvent=null}addEvent(e){if(this._relations.has(e))return;const t=e.getRelation();if(!t)return void console.error("Event must have relation info");const n=t.rel_type,r=e.getType();this.relationType===n&&this.eventType===r?(e.isSending()&&e.on("Event.status",this._onEventStatus),this._relations.add(e),"m.annotation"===this.relationType?this._addAnnotationToAggregation(e):"m.replace"===this.relationType&&this._targetEvent&&this._targetEvent.makeReplaced(this.getLastReplacement()),e.on("Event.beforeRedaction",this._onBeforeRedaction),this.emit("Relations.add",e)):console.error("Event relation info doesn't match this container")}_removeEvent(e){if(!this._relations.has(e))return;const t=e.getRelation();if(!t)return void console.error("Event must have relation info");const n=t.rel_type,r=e.getType();this.relationType===n&&this.eventType===r?(this._relations.delete(e),"m.annotation"===this.relationType?this._removeAnnotationFromAggregation(e):"m.replace"===this.relationType&&this._targetEvent&&this._targetEvent.makeReplaced(this.getLastReplacement()),this.emit("Relations.remove",e)):console.error("Event relation info doesn't match this container")}getRelations(){return[...this._relations]}_addAnnotationToAggregation(e){const{key:t}=e.getRelation();if(!t)return;let n=this._annotationsByKey[t];n||(n=this._annotationsByKey[t]=new Set,this._sortedAnnotationsByKey.push([t,n])),n.add(e),this._sortedAnnotationsByKey.sort((e,t)=>{const n=e[1];return t[1].size-n.size});const r=e.getSender();let i=this._annotationsBySender[r];i||(i=this._annotationsBySender[r]=new Set),i.add(e)}_removeAnnotationFromAggregation(e){const{key:t}=e.getRelation();if(!t)return;const n=this._annotationsByKey[t];n&&(n.delete(e),this._sortedAnnotationsByKey.sort((e,t)=>{const n=e[1];return t[1].size-n.size}));const r=e.getSender(),i=this._annotationsBySender[r];i&&i.delete(e)}getSortedAnnotationsByKey(){return"m.annotation"!==this.relationType?null:this._sortedAnnotationsByKey}getAnnotationsBySender(){return"m.annotation"!==this.relationType?null:this._annotationsBySender}getLastReplacement(){if("m.replace"!==this.relationType)return null;if(!this._targetEvent)return null;const e=this._targetEvent.getServerAggregatedRelation("m.replace"),t=e&&e.origin_server_ts;return this.getRelations().reduce((e,n)=>n.getSender()!==this._targetEvent.getSender()?e:t&&t>n.getTs()?e:e&&e.getTs()>n.getTs()?e:n,null)}setTargetEvent(e){if(!this._targetEvent&&(this._targetEvent=e,"m.replace"===this.relationType)){const e=this.getLastReplacement();e&&this._targetEvent.makeReplaced(e)}}}t.Relations=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RoomSummary=function(e,t){this.roomId=e,this.info=t}},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.SearchResult=s;var i=r(n(8)),o=n(282);function s(e,t){this.rank=e,this.context=t}s.fromJson=function(e,t){const n=e.context||{},r=n.events_before||[],a=n.events_after||[],c=new o.EventContext(t(e.result));return c.setPaginateToken(n.start,!0),c.addEvents(i.map(r,t),!0),c.addEvents(i.map(a,t),!1),c.setPaginateToken(n.end,!1),new s(e.rank,c)}},function(e,t,n){"use strict";function r(e){this._timeline=[e],this._ourEventIndex=0,this._paginateTokens={b:null,f:null},this._paginateRequests={b:null,f:null}}Object.defineProperty(t,"__esModule",{value:!0}),t.EventContext=r,r.prototype.getEvent=function(){return this._timeline[this._ourEventIndex]},r.prototype.getTimeline=function(){return this._timeline},r.prototype.getOurEventIndex=function(){return this._ourEventIndex},r.prototype.getPaginateToken=function(e){return this._paginateTokens[e?"b":"f"]},r.prototype.setPaginateToken=function(e,t){this._paginateTokens[t?"b":"f"]=e},r.prototype.addEvents=function(e,t){t?(this._timeline=e.concat(this._timeline),this._ourEventIndex+=e.length):this._timeline=this._timeline.concat(e)}},function(e,t,n){"use strict";function r(){this.fromToken=null}Object.defineProperty(t,"__esModule",{value:!0}),t.StubStore=r,r.prototype={isNewlyCreated:function(){return Promise.resolve(!0)},getSyncToken:function(){return this.fromToken},setSyncToken:function(e){this.fromToken=e},storeGroup:function(e){},getGroup:function(e){return null},getGroups:function(){return[]},storeRoom:function(e){},getRoom:function(e){return null},getRooms:function(){return[]},removeRoom:function(e){},getRoomSummaries:function(){return[]},storeUser:function(e){},getUser:function(e){return null},getUsers:function(){return[]},scrollback:function(e,t){return[]},storeEvents:function(e,t,n,r){},storeFilter:function(e){},getFilter:function(e,t){return null},getFilterIdByName:function(e){return null},setFilterIdByName:function(e,t){},storeAccountDataEvents:function(e){},getAccountData:function(e){},setSyncData:function(e){return Promise.resolve()},wantsSave:function(){return!1},save:function(){},startup:function(){return Promise.resolve()},getSavedSync:function(){return Promise.resolve(null)},getSavedSyncToken:function(){return Promise.resolve(null)},deleteAllData:function(){return Promise.resolve()},getOutOfBandMembers:function(){return Promise.resolve(null)},setOutOfBandMembers:function(){return Promise.resolve()},clearOutOfBandMembers:function(){return Promise.resolve()},getClientOptions:function(){return Promise.resolve()},storeClientOptions:function(){return Promise.resolve()}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RoomList=void 0;var r=n(36);t.RoomList=class{constructor(e){this._cryptoStore=e,this._roomEncryption={}}async init(){await this._cryptoStore.doTxn("readwrite",[r.IndexedDBCryptoStore.STORE_ROOMS],e=>{this._cryptoStore.getEndToEndRooms(e,e=>{this._roomEncryption=e})})}getRoomEncryption(e){return this._roomEncryption[e]||null}isRoomEncrypted(e){return Boolean(this.getRoomEncryption(e))}async setRoomEncryption(e,t){this._roomEncryption[e]=t,await this._cryptoStore.doTxn("readwrite",[r.IndexedDBCryptoStore.STORE_ROOMS],n=>{this._cryptoStore.storeEndToEndRoom(e,t,n)})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalStorageCryptoStore=void 0;var r=n(4),i=n(73);function o(e){return"crypto.sessions/"+e}function s(e){return"crypto.session.problems/"+e}function a(e,t){return"crypto.inboundgroupsessions/"+e+"/"+t}function c(e,t){return"crypto.inboundgroupsessions.withheld/"+e+"/"+t}function f(e){return"crypto.rooms/"+e}class u extends i.MemoryCryptoStore{constructor(e){super(),this.store=e}static exists(e){const t=e.length;for(let n=0;ne.time-t.time),d(this.store,r,i)}async getEndToEndSessionProblem(e,t){const n=s(e),r=l(this.store,n)||[];if(!r.length)return null;const i=r[r.length-1];for(const e of r)if(e.time>t)return Object.assign({},e,{fixed:i.fixed});return i.fixed?null:i}async filterOutNotifiedErrorDevices(e){const t=l(this.store,"crypto.notified_error_devices")||{},n=[];for(const r of e){const{userId:e,deviceInfo:i}=r;e in t?i.deviceId in t[e]||(n.push(r),t[e][i.deviceId]=!0):(n.push(r),t[e]={[i.deviceId]:!0})}return d(this.store,"crypto.notified_error_devices",t),n}getEndToEndInboundGroupSession(e,t,n,r){r(l(this.store,a(e,t)),l(this.store,c(e,t)))}getAllEndToEndInboundGroupSessions(e,t){for(let e=0;e{n.push({senderKey:t,sessionId:i,sessionData:e})}),e&&r.length>=e)break}return Promise.resolve(n)}countSessionsNeedingBackup(){const e=l(this.store,"crypto.sessionsneedingbackup")||{};return Promise.resolve(Object.keys(e).length)}unmarkSessionsNeedingBackup(e){const t=l(this.store,"crypto.sessionsneedingbackup")||{};for(const n of e)delete t[n.senderKey+"/"+n.sessionId];return d(this.store,"crypto.sessionsneedingbackup",t),Promise.resolve()}markSessionsNeedingBackup(e){const t=l(this.store,"crypto.sessionsneedingbackup")||{};for(const n of e)t[n.senderKey+"/"+n.sessionId]=!0;return d(this.store,"crypto.sessionsneedingbackup",t),Promise.resolve()}deleteAllData(){return this.store.removeItem("crypto.account"),Promise.resolve()}getAccount(e,t){t(l(this.store,"crypto.account"))}storeAccount(e,t){d(this.store,"crypto.account",t)}getCrossSigningKeys(e,t){t(l(this.store,"crypto.cross_signing_keys"))}storeCrossSigningKeys(e,t){d(this.store,"crypto.cross_signing_keys",t)}doTxn(e,t,n){return Promise.resolve(n(null))}}function l(e,t){try{return JSON.parse(e.getItem(t))}catch(e){r.logger.log("Error: Failed to get key %s: %s",t,e.stack||e),r.logger.log(e.stack)}return null}function d(e,t,n){e.setItem(t,JSON.stringify(n))}t.LocalStorageCryptoStore=u},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.upgradeDatabase=function(e,t){i.logger.log(`Upgrading IndexedDBCryptoStore from version ${t}`+" to 9"),t<1&&function(e){const t=e.createObjectStore("outgoingRoomKeyRequests",{keyPath:"requestId"});t.createIndex("session",["requestBody.room_id","requestBody.session_id"]),t.createIndex("state","state")}(e);t<2&&e.createObjectStore("account");if(t<3){e.createObjectStore("sessions",{keyPath:["deviceKey","sessionId"]}).createIndex("deviceKey","deviceKey")}t<4&&e.createObjectStore("inbound_group_sessions",{keyPath:["senderCurve25519Key","sessionId"]});t<5&&e.createObjectStore("device_data");t<6&&e.createObjectStore("rooms");t<7&&e.createObjectStore("sessions_needing_backup",{keyPath:["senderCurve25519Key","sessionId"]});t<8&&e.createObjectStore("inbound_group_sessions_withheld",{keyPath:["senderCurve25519Key","sessionId"]});if(t<9){e.createObjectStore("session_problems",{keyPath:["deviceKey","time"]}).createIndex("deviceKey","deviceKey"),e.createObjectStore("notified_error_devices",{keyPath:["userId","deviceId"]})}},t.Backend=t.VERSION=void 0;var i=n(4),o=r(n(8));t.VERSION=9;function s(e,t){e._mx_abortexception=t;try{e.abort()}catch(t){}}function a(e){return new Promise((t,n)=>{e.oncomplete=()=>{void 0!==e._mx_abortexception&&n(e._mx_abortexception),t()},e.onerror=t=>{void 0!==e._mx_abortexception?n(e._mx_abortexception):(i.logger.log("Error performing indexeddb txn",t),n(t.target.error))},e.onabort=t=>{void 0!==e._mx_abortexception?n(e._mx_abortexception):(i.logger.log("Error performing indexeddb txn",t),n(t.target.error))}})}t.Backend=class{constructor(e){this._db=e,e.onversionchange=t=>{i.logger.log(`versionchange for indexeddb ${this._dbName}: closing`),e.close()}}getOrAddOutgoingRoomKeyRequest(e){const t=e.requestBody;return new Promise((n,r)=>{const o=this._db.transaction("outgoingRoomKeyRequests","readwrite");o.onerror=r,this._getOutgoingRoomKeyRequest(o,t,r=>{if(r)return i.logger.log("already have key request outstanding for "+`${t.room_id} / ${t.session_id}: `+"not sending another"),void n(r);i.logger.log(`enqueueing key request for ${t.room_id} / `+t.session_id),o.oncomplete=()=>{n(e)},o.objectStore("outgoingRoomKeyRequests").add(e)})})}getOutgoingRoomKeyRequest(e){return new Promise((t,n)=>{const r=this._db.transaction("outgoingRoomKeyRequests","readonly");r.onerror=n,this._getOutgoingRoomKeyRequest(r,e,e=>{t(e)})})}_getOutgoingRoomKeyRequest(e,t,n){e.objectStore("outgoingRoomKeyRequests").index("session").openCursor([t.room_id,t.session_id]).onsuccess=e=>{const r=e.target.result;if(!r)return void n(null);const i=r.value;o.deepCompare(i.requestBody,t)?n(i):r.continue()}}getOutgoingRoomKeyRequestByState(e){if(0===e.length)return Promise.resolve(null);let t,n=0;const r=this._db.transaction("outgoingRoomKeyRequests","readonly"),i=r.objectStore("outgoingRoomKeyRequests"),o=e[n];return i.index("state").openCursor(o).onsuccess=function r(i){const o=i.target.result;if(o)return void(t=o.value);if(n++,n>=e.length)return;const s=e[n];i.target.source.openCursor(s).onsuccess=r},a(r).then(()=>t)}getOutgoingRoomKeyRequestsByTarget(e,t,n){let r=0;const i=[];const o=this._db.transaction("outgoingRoomKeyRequests","readonly"),s=o.objectStore("outgoingRoomKeyRequests"),c=n[r];return s.index("state").openCursor(c).onsuccess=function o(s){const a=s.target.result;if(a){const n=a.value;n.recipients.includes({userId:e,deviceId:t})&&i.push(n),a.continue()}else{if(r++,r>=n.length)return;const e=n[r];s.target.source.openCursor(e).onsuccess=o}},a(o).then(()=>i)}updateOutgoingRoomKeyRequest(e,t,n){let r=null;const o=this._db.transaction("outgoingRoomKeyRequests","readwrite");return o.objectStore("outgoingRoomKeyRequests").openCursor(e).onsuccess=function(e){const o=e.target.result;if(!o)return;const s=o.value;s.state==t?(Object.assign(s,n),o.update(s),r=s):i.logger.warn(`Cannot update room key request from ${t} `+`as it was already updated to ${s.state}`)},a(o).then(()=>r)}deleteOutgoingRoomKeyRequest(e,t){const n=this._db.transaction("outgoingRoomKeyRequests","readwrite");return n.objectStore("outgoingRoomKeyRequests").openCursor(e).onsuccess=e=>{const n=e.target.result;if(!n)return;const r=n.value;r.state==t?n.delete():i.logger.warn(`Cannot delete room key request in state ${r.state} `+`(expected ${t})`)},a(n)}getAccount(e,t){const n=e.objectStore("account").get("-");n.onsuccess=function(){try{t(n.result||null)}catch(t){s(e,t)}}}storeAccount(e,t){e.objectStore("account").put(t,"-")}getCrossSigningKeys(e,t){const n=e.objectStore("account").get("crossSigningKeys");n.onsuccess=function(){try{t(n.result||null)}catch(t){s(e,t)}}}storeCrossSigningKeys(e,t){e.objectStore("account").put(t,"crossSigningKeys")}countEndToEndSessions(e,t){const n=e.objectStore("sessions").count();n.onsuccess=function(){t(n.result)}}getEndToEndSessions(e,t,n){const r=t.objectStore("sessions").index("deviceKey").openCursor(e),i={};r.onsuccess=function(){const e=r.result;if(e)i[e.value.sessionId]={session:e.value.session,lastReceivedMessageTs:e.value.lastReceivedMessageTs},e.continue();else try{n(i)}catch(e){s(t,e)}}}getEndToEndSession(e,t,n,r){const i=n.objectStore("sessions").get([e,t]);i.onsuccess=function(){try{i.result?r({session:i.result.session,lastReceivedMessageTs:i.result.lastReceivedMessageTs}):r(null)}catch(e){s(n,e)}}}getAllEndToEndSessions(e,t){const n=e.objectStore("sessions").openCursor();n.onsuccess=function(){const r=n.result;if(r)t(r.value),r.continue();else try{t(null)}catch(t){s(e,t)}}}storeEndToEndSession(e,t,n,r){r.objectStore("sessions").put({deviceKey:e,sessionId:t,session:n.session,lastReceivedMessageTs:n.lastReceivedMessageTs})}async storeEndToEndSessionProblem(e,t,n){const r=this._db.transaction("session_problems","readwrite");return r.objectStore("session_problems").put({deviceKey:e,type:t,fixed:n,time:Date.now()}),a(r)}async getEndToEndSessionProblem(e,t){let n;const r=this._db.transaction("session_problems","readwrite"),i=r.objectStore("session_problems").index("deviceKey").getAll(e);return i.onsuccess=e=>{const r=i.result;if(!r.length)return void(n=null);r.sort((e,t)=>e.time-t.time);const o=r[r.length-1];for(const e of r)if(e.time>t)return void(n=Object.assign({},e,{fixed:o.fixed}));n=o.fixed?null:o},await a(r),n}async filterOutNotifiedErrorDevices(e){const t=this._db.transaction("notified_error_devices","readwrite").objectStore("notified_error_devices"),n=[];return await Promise.all(e.map(e=>new Promise(r=>{const{userId:i,deviceInfo:o}=e,s=t.get([i,o.deviceId]);s.onsuccess=function(){s.result||(t.put({userId:i,deviceId:o.deviceId}),n.push(e)),r()}}))),n}getEndToEndInboundGroupSession(e,t,n,r){let i=!1,o=!1;const a=n.objectStore("inbound_group_sessions").get([e,t]);a.onsuccess=function(){try{i=a.result?a.result.session:null,!1!==o&&r(i,o)}catch(e){s(n,e)}};const c=n.objectStore("inbound_group_sessions_withheld").get([e,t]);c.onsuccess=function(){try{o=c.result?c.result.session:null,!1!==i&&r(i,o)}catch(e){s(n,e)}}}getAllEndToEndInboundGroupSessions(e,t){const n=e.objectStore("inbound_group_sessions").openCursor();n.onsuccess=function(){const r=n.result;if(r){try{t({senderKey:r.value.senderCurve25519Key,sessionId:r.value.sessionId,sessionData:r.value.session})}catch(t){s(e,t)}r.continue()}else try{t(null)}catch(t){s(e,t)}}}addEndToEndInboundGroupSession(e,t,n,r){const o=r.objectStore("inbound_group_sessions").add({senderCurve25519Key:e,sessionId:t,session:n});o.onerror=n=>{"ConstraintError"===o.error.name?(n.stopPropagation(),n.preventDefault(),i.logger.log("Ignoring duplicate inbound group session: "+e+" / "+t)):s(r,new Error("Failed to add inbound group session: "+o.error))}}storeEndToEndInboundGroupSession(e,t,n,r){r.objectStore("inbound_group_sessions").put({senderCurve25519Key:e,sessionId:t,session:n})}storeEndToEndInboundGroupSessionWithheld(e,t,n,r){r.objectStore("inbound_group_sessions_withheld").put({senderCurve25519Key:e,sessionId:t,session:n})}getEndToEndDeviceData(e,t){const n=e.objectStore("device_data").get("-");n.onsuccess=function(){try{t(n.result||null)}catch(t){s(e,t)}}}storeEndToEndDeviceData(e,t){t.objectStore("device_data").put(e,"-")}storeEndToEndRoom(e,t,n){n.objectStore("rooms").put(t,e)}getEndToEndRooms(e,t){const n={},r=e.objectStore("rooms").openCursor();r.onsuccess=function(){const i=r.result;if(i)n[i.key]=i.value,i.continue();else try{t(n)}catch(t){s(e,t)}}}getSessionsNeedingBackup(e){return new Promise((t,n)=>{const r=[],i=this._db.transaction(["sessions_needing_backup","inbound_group_sessions"],"readonly");i.onerror=n,i.oncomplete=function(){t(r)};const o=i.objectStore("sessions_needing_backup"),s=i.objectStore("inbound_group_sessions"),a=o.openCursor();a.onsuccess=function(){const t=a.result;if(t){const n=s.get(t.key);n.onsuccess=function(){r.push({senderKey:n.result.senderCurve25519Key,sessionId:n.result.sessionId,sessionData:n.result.session})},(!e||r.length{const r=t.count();r.onerror=n,r.onsuccess=()=>e(r.result)})}unmarkSessionsNeedingBackup(e,t){t||(t=this._db.transaction("sessions_needing_backup","readwrite"));const n=t.objectStore("sessions_needing_backup");return Promise.all(e.map(e=>new Promise((t,r)=>{const i=n.delete([e.senderKey,e.sessionId]);i.onsuccess=t,i.onerror=r})))}markSessionsNeedingBackup(e,t){t||(t=this._db.transaction("sessions_needing_backup","readwrite"));const n=t.objectStore("sessions_needing_backup");return Promise.all(e.map(e=>new Promise((t,r)=>{const i=n.put({senderCurve25519Key:e.senderKey,sessionId:e.sessionId});i.onsuccess=t,i.onerror=r})))}doTxn(e,t,n){const r=this._db.transaction(t,e),i=a(r),o=n(r);return i.then(()=>o)}}},function(e,t,n){"use strict";(function(e){var r=n(6),i=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.isCryptoAvailable=function(){return Boolean(e.Olm)},t.Crypto=x,t.verificationMethods=void 0;var o=i(n(80)),s=n(9),a=n(78),c=n(4),f=r(n(8)),u=n(137),l=r(n(21)),d=n(290),h=n(51),p=r(n(138)),m=n(139),g=n(291),y=n(292),b=n(36),_=n(293),v=n(294),A=n(141),w=n(142),E=n(82),k=n(298),S=n(299),I=r(n(49));const T=h.DeviceInfo.DeviceVerification,R={[_.ScanQRCode.NAME]:_.ScanQRCode,[_.ShowQRCode.NAME]:_.ShowQRCode,[v.SAS.NAME]:v.SAS},O={QR_CODE_SCAN:_.ScanQRCode.NAME,QR_CODE_SHOW:_.ShowQRCode.NAME,SAS:v.SAS.NAME};t.verificationMethods=O;function x(e,t,n,r,i,o,s,c){if(this._onDeviceListUserCrossSigningUpdated=this._onDeviceListUserCrossSigningUpdated.bind(this),this._reEmitter=new a.ReEmitter(this),this._baseApis=e,this._sessionStore=t,this._userId=n,this._deviceId=r,this._clientStore=i,this._cryptoStore=o,this._roomList=s,this._verificationMethods=new Map,c)for(const e of c)"string"==typeof e?R[e]&&this._verificationMethods.set(e,R[e]):e.NAME&&this._verificationMethods.set(e.NAME,e);this.backupInfo=null,this.backupKey=null,this._checkedForBackup=!1,this._sendingBackups=!1,this._olmDevice=new u.OlmDevice(o),this._deviceList=new d.DeviceList(e,o,this._olmDevice),this._deviceList.on("userCrossSigningUpdated",this._onDeviceListUserCrossSigningUpdated),this._reEmitter.reEmit(this._deviceList,["crypto.devicesUpdated"]),this._lastOneTimeKeyCheck=null,this._oneTimeKeyCheckInProgress=!1,this._roomEncryptors={},this._roomDecryptors={},this._supportedAlgorithms=f.keys(p.DECRYPTION_CLASSES),this._deviceKeys={},this._globalBlacklistUnverifiedDevices=!1,this._globalErrorOnUnknownDevices=!0,this._outgoingRoomKeyRequestManager=new y.OutgoingRoomKeyRequestManager(e,this._deviceId,this._cryptoStore),this._receivedRoomKeyRequests=[],this._receivedRoomKeyRequestCancellations=[],this._processingRoomKeyRequests=!1,this._lazyLoadMembers=!1,this._roomDeviceTrackingState={},this._lastNewSessionForced={},this._toDeviceVerificationRequests=new Map,this._inRoomVerificationRequests=new Map;const l=this._baseApis._cryptoCallbacks||{};this._crossSigningInfo=new m.CrossSigningInfo(n,l),this._secretStorage=new g.SecretStorage(e,l,this._crossSigningInfo),!l.getCrossSigningKey&&l.getSecretStorageKey&&(l.getCrossSigningKey=async e=>m.CrossSigningInfo.getFromSecretStorage(e,this._secretStorage))}function C(e){if(e._oneTimeKeyCheckInProgress)return;const t=Date.now();if(null!==e._lastOneTimeKeyCheck&&t-e._lastOneTimeKeyCheck<6e4)return;e._lastOneTimeKeyCheck=t;const n=e._olmDevice.maxNumberOfOneTimeKeys(),r=Math.floor(n/2);function i(t){if(r<=t)return Promise.resolve();const n=Math.min(r-t,5);return e._olmDevice.generateOneTimeKeys(n).then(()=>async function(e){const t=await e._olmDevice.getOneTimeKeys(),n={},r=[];for(const i in t.curve25519)if(t.curve25519.hasOwnProperty(i)){const o={key:t.curve25519[i]};n["signed_curve25519:"+i]=o,r.push(e._signObject(o))}await Promise.all(r);const i=await e._baseApis.uploadKeysRequest({one_time_keys:n},{device_id:e._deviceId});return await e._olmDevice.markKeysAsPublished(),i}(e)).then(e=>{if(e.one_time_key_counts&&e.one_time_key_counts.signed_curve25519)return i(e.one_time_key_counts.signed_curve25519);throw new Error("response for uploading keys does not contain one_time_key_counts.signed_curve25519")})}e._oneTimeKeyCheckInProgress=!0,Promise.resolve().then(()=>void 0!==e._oneTimeKeyCount?Promise.resolve(e._oneTimeKeyCount):e._baseApis.uploadKeysRequest({},{device_id:e._deviceId}).then(e=>e.one_time_key_counts.signed_curve25519||0)).then(e=>i(e)).catch(e=>{c.logger.error("Error uploading one-time keys",e.stack||e)}).finally(()=>{e._oneTimeKeyCount=void 0,e._oneTimeKeyCheckInProgress=!1})}f.inherits(x,s.EventEmitter),x.prototype.init=async function(){c.logger.log("Crypto: initialising Olm..."),await e.Olm.init(),c.logger.log("Crypto: initialising Olm device..."),await this._olmDevice.init(),c.logger.log("Crypto: loading device list..."),await this._deviceList.load(),this._deviceKeys["ed25519:"+this._deviceId]=this._olmDevice.deviceEd25519Key,this._deviceKeys["curve25519:"+this._deviceId]=this._olmDevice.deviceCurve25519Key,c.logger.log("Crypto: fetching own devices...");let t=this._deviceList.getRawStoredDevicesForUser(this._userId);if(t||(t={}),!t[this._deviceId]){c.logger.log("Crypto: adding this device to the store...");const e={keys:this._deviceKeys,algorithms:this._supportedAlgorithms,verified:T.VERIFIED,known:!0};t[this._deviceId]=e,this._deviceList.storeDevicesForUser(this._userId,t),this._deviceList.saveIfDirty()}await this._cryptoStore.doTxn("readonly",[b.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this._cryptoStore.getCrossSigningKeys(e,e=>{e&&(c.logger.log("Loaded cross-signing public keys from crypto store"),this._crossSigningInfo.setKeys(e))})}),this._deviceList.startTrackingDeviceList(this._userId),c.logger.log("Crypto: checking for key backup..."),this._checkAndStartKeyBackup()},x.prototype.createRecoveryKeyFromPassphrase=async function(t){const n=new e.Olm.PkDecryption;try{const e={};if(t){const r=await(0,A.keyFromPassphrase)(t);e.passphrase={algorithm:"m.pbkdf2",iterations:r.iterations,salt:r.salt},e.pubkey=n.init_with_private_key(r.key)}else e.pubkey=n.generate_key();const r=n.get_private_key();return[e,(0,w.encodeRecoveryKey)(r),r]}finally{n&&n.free()}},x.prototype.bootstrapSecretStorage=async function({authUploadDeviceSigningKeys:e,createSecretStorageKey:t=(async()=>{}),keyBackupInfo:n}={}){c.logger.log("Bootstrapping Secure Secret Storage");let r={};const i=Object.assign({},this._baseApis._cryptoCallbacks);try{const o=await this._crossSigningInfo.isStoredInSecretStorage(this._secretStorage);if(this._crossSigningInfo.getId()&&o?c.logger.log("Cross signing keys are present in secret storage"):(c.logger.log("Cross-signing public and/or private keys not found, checking secret storage for private keys"),o?(c.logger.log("Cross-signing private keys found in secret storage"),await this.checkOwnCrossSigningTrust()):(c.logger.log("Cross-signing private keys not found in secret storage, creating new keys"),this._baseApis._cryptoCallbacks.saveCrossSigningKeys=e=>r=e,this._baseApis._cryptoCallbacks.getCrossSigningKey=e=>r[e],await this.resetCrossSigningKeys(m.CrossSigningLevel.MASTER,{authUploadDeviceSigningKeys:e}))),await this.hasSecretStorageKey())c.logger.log("Have secret storage key");else{let e;if(n){c.logger.log("Secret storage default key not found, using key backup key");const t={pubkey:n.auth_data.public_key};n.auth_data.private_key_salt&&n.auth_data.private_key_iterations&&(t.passphrase={algorithm:"m.pbkdf2",iterations:n.auth_data.private_key_iterations,salt:n.auth_data.private_key_salt}),e=await this.addSecretStorageKey(g.SECRET_STORAGE_ALGORITHM_V1,t),this._secretStorage.storePassthrough("m.megolm_backup.v1",e),(await this.checkKeyBackup(n)).trustInfo.usable?(console.log("Adding cross signing signature to key backup"),await this._crossSigningInfo.signObject(n.auth_data,"master"),await this._baseApis._http.authedRequest(void 0,"PUT","/room_keys/version/"+n.version,void 0,n,{prefix:I.PREFIX_UNSTABLE})):console.log("Key backup is NOT TRUSTED: NOT adding cross signing signature")}else{c.logger.log("Secret storage default key not found, creating new key");const n=await t();e=await this.addSecretStorageKey(g.SECRET_STORAGE_ALGORITHM_V1,n)}await this.setDefaultSecretStorageKeyId(e)}Object.keys(r).length&&(c.logger.log("Storing cross-signing private keys in secret storage"),await this._secretStorage.signKey(),i.saveCrossSigningKeys||await m.CrossSigningInfo.storeInSecretStorage(r,this._secretStorage))}finally{this._baseApis._cryptoCallbacks=i}c.logger.log("Secure Secret Storage ready")},x.prototype.addSecretStorageKey=function(e,t,n){return this._secretStorage.addKey(e,t,n)},x.prototype.hasSecretStorageKey=function(e){return this._secretStorage.hasKey(e)},x.prototype.storeSecret=function(e,t,n){return this._secretStorage.store(e,t,n)},x.prototype.getSecret=function(e){return this._secretStorage.get(e)},x.prototype.isSecretStored=function(e,t){return this._secretStorage.isStored(e,t)},x.prototype.requestSecret=function(e,t){return t||(t=Object.keys(this._deviceList.getRawStoredDevicesForUser(this._userId))),this._secretStorage.request(e,t)},x.prototype.getDefaultSecretStorageKeyId=function(){return this._secretStorage.getDefaultKeyId()},x.prototype.setDefaultSecretStorageKeyId=function(e){return this._secretStorage.setDefaultKeyId(e)},x.prototype.checkSecretStoragePrivateKey=function(t,n){let r=null;try{return r=new e.Olm.PkDecryption,r.init_with_private_key(t)===n}finally{r&&r.free()}},x.prototype.checkCrossSigningPrivateKey=function(t,n){let r=null;try{return r=new e.Olm.PkSigning,r.init_with_seed(t)===n}finally{r&&r.free()}},x.prototype.resetCrossSigningKeys=async function(e,{authUploadDeviceSigningKeys:t=(async e=>await e())}={}){c.logger.info(`Resetting cross-signing keys at level ${e}`);const n=Object.assign({},this._crossSigningInfo.keys);try{await this._crossSigningInfo.resetKeys(e),await this._signObject(this._crossSigningInfo.keys.master);const n={};for(const[e,t]of Object.entries(this._crossSigningInfo.keys))n[e+"_key"]=t;await t(async e=>{await this._baseApis.uploadDeviceSigningKeys(e,n)}),await this._cryptoStore.doTxn("readwrite",[b.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this._cryptoStore.storeCrossSigningKeys(e,this._crossSigningInfo.keys)})}catch(e){throw c.logger.error("Resetting cross-signing keys failed, revert to previous keys",e),this._crossSigningInfo.keys=n,e}this._baseApis.emit("crossSigning.keysChanged",{}),await this._afterCrossSigningLocalKeyChange(),c.logger.info("Cross-signing key reset complete")},x.prototype._afterCrossSigningLocalKeyChange=async function(){const e=this._deviceList.getStoredDevice(this._userId,this._deviceId),t=await this._crossSigningInfo.signDevice(this._userId,e);await this._baseApis.uploadKeySignatures({[this._userId]:{[this._deviceId]:t}});const n={};for(const[e,t]of Object.entries(this._deviceList._crossSigningInfo)){const r=await this._checkForDeviceVerificationUpgrade(e,m.CrossSigningInfo.fromStorage(t,e));r&&(n[e]=r)}const r=this._baseApis._cryptoCallbacks.shouldUpgradeDeviceVerifications;if(Object.keys(n).length>0&&r)try{const e=await r({users:n});if(e)for(const t of e)t in n&&await this._baseApis.setDeviceVerified(t,n[t].crossSigningInfo.getId())}catch(e){c.logger.log("shouldUpgradeDeviceVerifications threw an error: not upgrading",e)}},x.prototype._checkForDeviceVerificationUpgrade=async function(e,t){const n=this._crossSigningInfo.checkUserTrust(t);if(t.firstUse&&!n.verified){const n=this._deviceList.getRawStoredDevicesForUser(e),r=await this._checkForValidDeviceSignature(e,t.keys.master,n);if(r.length)return{devices:r.map(e=>h.DeviceInfo.fromStorage(n[e],e)),crossSigningInfo:t}}},x.prototype._checkForValidDeviceSignature=async function(e,t,n){const r=[];if(n&&t.signatures&&t.signatures[e])for(const i of Object.keys(t.signatures[e])){const[,o]=i.split(":",2);if(o in n&&n[o].verified===T.VERIFIED)try{await l.verifySignature(this._olmDevice,t,e,o,n[o].keys[i]),r.push(o)}catch(e){}}return r},x.prototype.getCrossSigningId=function(e){return this._crossSigningInfo.getId(e)},x.prototype.getStoredCrossSigningForUser=function(e){return this._deviceList.getStoredCrossSigningForUser(e)},x.prototype.checkUserTrust=function(e){const t=this._deviceList.getStoredCrossSigningForUser(e);return t?this._crossSigningInfo.checkUserTrust(t):new m.UserTrustLevel(!1,!1)},x.prototype.checkDeviceTrust=function(e,t){const n=this._deviceList.getStoredDevice(e,t),r=n&&n.isVerified(),i=this._deviceList.getStoredCrossSigningForUser(e);return n&&i?this._crossSigningInfo.checkDeviceTrust(i,n,r):new m.DeviceTrustLevel(!1,!1,r)},x.prototype._onDeviceListUserCrossSigningUpdated=async function(e){if(e===this._userId){const t=this._deviceList.getStoredCrossSigningForUser(e),n=t?t.getId():null,r=this._crossSigningInfo.getId(),i=r!==n;r&&n&&!i?await this.checkOwnCrossSigningTrust():this.emit("crossSigning.keysChanged",{})}else await this._checkDeviceVerifications(e),this.emit("userTrustStatusChanged",e,this.checkUserTrust(e))},x.prototype.checkOwnCrossSigningTrust=async function(){const e=this._userId,t=this._deviceList.getStoredCrossSigningForUser(e);if(!t)return void c.logger.error("Got cross-signing update event for user "+e+" but no new cross-signing information found!");const n=t.getId(),r=this._crossSigningInfo.getId()!==n;if(r){c.logger.info("Got new master public key",n);let e=null;try{if(e=(await this._crossSigningInfo.getCrossSigningKey("master",n))[1],!e)throw new Error("Cross-signing master private key not available")}finally{e&&e.free()}c.logger.info("Got matching private key from callback for new public master key")}const i=this._crossSigningInfo.getId("self_signing"),o=this._crossSigningInfo.getId("user_signing");this._crossSigningInfo.setKeys(t.keys),await this._cryptoStore.doTxn("readwrite",[b.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this._cryptoStore.storeCrossSigningKeys(e,this._crossSigningInfo.keys)});const s={};if(i!==t.getId("self_signing")){c.logger.info("Got new self-signing key",t.getId("self_signing"));const e=this._deviceList.getStoredDevice(this._userId,this._deviceId),n=await this._crossSigningInfo.signDevice(this._userId,e);s[this._deviceId]=n}o!==t.getId("user_signing")&&c.logger.info("Got new user-signing key",t.getId("user_signing")),r&&(await this._signObject(this._crossSigningInfo.keys.master),s[this._crossSigningInfo.getId()]=this._crossSigningInfo.keys.master),Object.keys(s).length&&await this._baseApis.uploadKeySignatures({[this._userId]:s}),this.emit("userTrustStatusChanged",e,this.checkUserTrust(e)),r&&(this._baseApis.emit("crossSigning.keysChanged",{}),await this._afterCrossSigningLocalKeyChange()),await this.checkKeyBackup()},x.prototype._checkDeviceVerifications=async function(e){if(this._crossSigningInfo.keys.user_signing){const t=this._deviceList.getStoredCrossSigningForUser(e);if(t){const n=await this._checkForDeviceVerificationUpgrade(e,t),r=this._baseApis._cryptoCallbacks.shouldUpgradeDeviceVerifications;if(n&&r){(await r({users:{[e]:n}})).includes(e)&&await this._baseApis.setDeviceVerified(e,t.getId())}}}},x.prototype._checkAndStartKeyBackup=async function(){if(c.logger.log("Checking key backup status..."),this._baseApis.isGuest())return c.logger.log("Skipping key backup check since user is guest"),this._checkedForBackup=!0,null;let e;try{e=await this._baseApis.getKeyBackupVersion()}catch(e){return c.logger.log("Error checking for active key backup",e),e.httpStatus/100==4&&(this._checkedForBackup=!0),null}this._checkedForBackup=!0;const t=await this.isKeyBackupTrusted(e);return t.usable&&!this.backupInfo?(c.logger.log("Found usable key backup v"+e.version+": enabling key backups"),this._baseApis.enableKeyBackup(e)):!t.usable&&this.backupInfo?(c.logger.log("No usable key backup: disabling key backup"),this._baseApis.disableKeyBackup()):t.usable||this.backupInfo?t.usable&&this.backupInfo&&(e.version!==this.backupInfo.version?(c.logger.log("On backup version "+this.backupInfo.version+" but found version "+e.version+": switching."),this._baseApis.disableKeyBackup(),this._baseApis.enableKeyBackup(e)):c.logger.log("Backup version "+e.version+" still current")):c.logger.log("No usable key backup: not enabling key backup"),{backupInfo:e,trustInfo:t}},x.prototype.setTrustedBackupPubKey=async function(e){this._sessionStore.setLocalTrustedBackupPubKey(e),await this.checkKeyBackup()},x.prototype.checkKeyBackup=async function(){return this._checkedForBackup=!1,this._checkAndStartKeyBackup()},x.prototype.isKeyBackupTrusted=async function(e){const t={usable:!1,trusted_locally:!1,sigs:[]};if(!(e&&e.algorithm&&e.auth_data&&e.auth_data.public_key&&e.auth_data.signatures))return c.logger.info("Key backup is absent or missing required data"),t;const n=this._sessionStore.getLocalTrustedBackupPubKey();e.auth_data.public_key===n&&(c.logger.info("Backup public key "+n+" is trusted locally"),t.trusted_locally=!0);const r=e.auth_data.signatures[this._userId]||[];for(const n of Object.keys(r)){const r=n.split(":");if("ed25519"!==r[0]){c.logger.log("Ignoring unknown signature type: "+r[0]);continue}const i={deviceId:r[1]},o=this._crossSigningInfo.getId();if(o===i.deviceId){i.crossSigningId=!0;try{await l.verifySignature(this._olmDevice,e.auth_data,this._userId,i.deviceId,o),i.valid=!0}catch(e){c.logger.warning("Bad signature from cross signing key "+o,e),i.valid=!1}t.sigs.push(i);continue}const s=this._deviceList.getStoredDevice(this._userId,i.deviceId);if(s){i.device=s,i.deviceTrust=await this.checkDeviceTrust(this._userId,i.deviceId);try{await l.verifySignature(this._olmDevice,e.auth_data,this._userId,s.deviceId,s.getFingerprint()),i.valid=!0}catch(t){c.logger.info("Bad signature from key ID "+n+" userID "+this._userId+" device ID "+s.deviceId+" fingerprint: "+s.getFingerprint(),e.auth_data,t),i.valid=!1}}else i.valid=null,c.logger.info("Ignoring signature from unknown key "+n);t.sigs.push(i)}return t.usable=t.sigs.some(e=>e.valid&&(e.device&&e.deviceTrust.isVerified()||e.crossSigningId)),t.usable|=t.trusted_locally,t},x.prototype.enableLazyLoading=function(){this._lazyLoadMembers=!0},x.prototype.registerEventHandlers=function(e){const t=this;e.on("RoomMember.membership",(function(e,n,r){try{t._onRoomMembership(e,n,r)}catch(e){c.logger.error("Error handling membership change:",e)}})),e.on("toDeviceEvent",(function(e){t._onToDeviceEvent(e)})),e.on("Room.timeline",(function(e){t._onTimelineEvent(e)})),e.on("Event.decrypted",(function(e){t._onTimelineEvent(e)}))},x.prototype.start=function(){this._outgoingRoomKeyRequestManager.start()},x.prototype.stop=function(){this._outgoingRoomKeyRequestManager.stop(),this._deviceList.stop()},x.getOlmVersion=function(){return u.OlmDevice.getOlmVersion()},x.prototype.getDeviceEd25519Key=function(){return this._olmDevice.deviceEd25519Key},x.prototype.setGlobalBlacklistUnverifiedDevices=function(e){this._globalBlacklistUnverifiedDevices=e},x.prototype.getGlobalBlacklistUnverifiedDevices=function(){return this._globalBlacklistUnverifiedDevices},x.prototype.setGlobalErrorOnUnknownDevices=function(e){this._globalErrorOnUnknownDevices=e},x.prototype.getGlobalErrorOnUnknownDevices=function(){return this._globalErrorOnUnknownDevices},x.prototype.uploadDeviceKeys=function(){const e=this,t=e._userId,n=e._deviceId,r={algorithms:e._supportedAlgorithms,device_id:n,keys:e._deviceKeys,user_id:t};return e._signObject(r).then(()=>e._baseApis.uploadKeysRequest({device_keys:r},{device_id:n}))},x.prototype.updateOneTimeKeyCount=function(e){if(!isFinite(e))throw new TypeError("Parameter for updateOneTimeKeyCount has to be a number");this._oneTimeKeyCount=e},x.prototype.downloadKeys=function(e,t){return this._deviceList.downloadKeys(e,t)},x.prototype.getStoredDevicesForUser=function(e){return this._deviceList.getStoredDevicesForUser(e)},x.prototype.getStoredDevice=function(e,t){return this._deviceList.getStoredDevice(e,t)},x.prototype.saveDeviceList=function(e){return this._deviceList.saveIfDirty(e)},x.prototype.setDeviceVerification=async function(e,t,n,r,i){void 0===n&&(n=null),void 0===r&&(r=null),void 0===i&&(i=null);const o=this._deviceList.getStoredCrossSigningForUser(e);if(o&&o.getId()===t){if(null!==r||null!==i)throw new Error("Cannot set blocked or known for a cross-signing key");if(!n)throw new Error("Cannot set a cross-signing key as unverified");const s=await this._crossSigningInfo.signUser(o);return s&&await this._baseApis.uploadKeySignatures({[e]:{[t]:s}}),s}const s=this._deviceList.getRawStoredDevicesForUser(e);if(!s||!s[t])throw new Error("Unknown device "+e+":"+t);const a=s[t];let c=a.verified;n?c=T.VERIFIED:null!==n&&c==T.VERIFIED&&(c=T.UNVERIFIED),r?c=T.BLOCKED:null!==r&&c==T.BLOCKED&&(c=T.UNVERIFIED);let f=a.known;if(null!==i&&(f=i),a.verified===c&&a.known===f||(a.verified=c,a.known=f,this._deviceList.storeDevicesForUser(e,s),this._deviceList.saveIfDirty()),n&&e===this._userId){const n=await this._crossSigningInfo.signDevice(e,h.DeviceInfo.fromStorage(a,t));n&&await this._baseApis.uploadKeySignatures({[e]:{[t]:n}})}const u=h.DeviceInfo.fromStorage(a,t);return this.emit("deviceVerificationChanged",e,t,u),u},x.prototype.requestVerificationDM=async function(e,t,n){const r=new k.InRoomChannel(this._baseApis,t,e),i=await this._requestVerificationWithChannel(e,n,r,this._inRoomVerificationRequests);return await i.waitForVerifier()},x.prototype.acceptVerificationDM=function(e,t){if(!k.InRoomChannel.validateEvent(e,this._baseApis))return;const n=e.getSender(),r=this._inRoomVerificationRequests.get(n);if(!r)return;const i=k.InRoomChannel.getTransactionId(e),o=r.get(i);return o?o.beginKeyVerification(t):void 0},x.prototype.requestVerification=async function(e,t,n){n||(n=Object.keys(this._deviceList.getRawStoredDevicesForUser(e)));const r=new S.ToDeviceChannel(this._baseApis,e,n),i=await this._requestVerificationWithChannel(e,t,r,this._toDeviceVerificationRequests);return await i.waitForVerifier()},x.prototype._requestVerificationWithChannel=async function(e,t,n,r){t||(t=[...this._verificationMethods.keys()]);const i=new E.VerificationRequest(n,this._verificationMethods,e,this._baseApis);await i.sendRequest();let o=r.get(e);return o||(o=new Map,r.set(e,o)),o.set(n.transactionId,i),i},x.prototype.beginKeyVerification=function(e,t,n,r=null){let i,o=this._toDeviceVerificationRequests.get(t);if(o||(o=new Map,this._toDeviceVerificationRequests.set(t,o)),r)i=o.get(r);else{r=S.ToDeviceChannel.makeTransactionId();const e=new S.ToDeviceChannel(this._baseApis,t,[n],r,n);i=new E.VerificationRequest(e,this._verificationMethods,t,this._baseApis),o.set(r,i)}if(!i)throw new Error(`No request found for user ${t} with transactionId ${r}`);return i.beginKeyVerification(e,{userId:t,deviceId:n})},x.prototype.getOlmSessionsForUser=async function(e){const t=this.getStoredDevicesForUser(e)||[],n={};for(let e=0;e0)return null;const r=this._deviceList.getDeviceByIdentityKey(n,t);if(null===r)return null;const i=e.getClaimedEd25519Key();return i?i!==r.getFingerprint()?(c.logger.warn("Event "+e.getId()+" claims ed25519 key "+i+"but sender device has key "+r.getFingerprint()),null):r:(c.logger.warn("Event "+e.getId()+" claims no ed25519 key: cannot verify sending device"),null)},x.prototype.forceDiscardSession=function(e){const t=this._roomEncryptors[e];if(void 0===t)throw new Error("Room not encrypted");if(void 0===t.forceDiscardSession)throw new Error("Room encryption algorithm doesn't support session discarding");t.forceDiscardSession()},x.prototype.setRoomEncryption=async function(e,t,n){if(!t.algorithm)return void c.logger.log("Ignoring setRoomEncryption with no algorithm");const r=this._roomList.getRoomEncryption(e);if(r&&JSON.stringify(r)!=JSON.stringify(t))return void c.logger.error("Ignoring m.room.encryption event which requests a change of config in "+e);if(this._roomEncryptors[e])return;let i=null;r||(i=this._roomList.setRoomEncryption(e,t));const o=p.ENCRYPTION_CLASSES[t.algorithm];if(!o)throw new Error("Unable to encrypt with "+t.algorithm);const s=new o({userId:this._userId,deviceId:this._deviceId,crypto:this,olmDevice:this._olmDevice,baseApis:this._baseApis,roomId:e,config:t});this._roomEncryptors[e]=s,i&&await i,this._lazyLoadMembers?c.logger.log("Enabling encryption in "+e):(c.logger.log("Enabling encryption in "+e+"; starting to track device lists for all users therein"),await this.trackRoomDevices(e),this.inhibitDeviceQuery||this._deviceList.refreshOutdatedDeviceLists())},x.prototype.trackRoomDevices=function(e){const t=async()=>{if(!this._roomEncryptors[e])return;const t=this._clientStore.getRoom(e);if(!t)throw new Error(`Unable to start tracking devices in unknown room ${e}`);c.logger.log(`Starting to track devices for room ${e} ...`),(await t.getEncryptionTargetMembers()).forEach(e=>{this._deviceList.startTrackingDeviceList(e.userId)})};let n=this._roomDeviceTrackingState[e];return n||(n=t(),this._roomDeviceTrackingState[e]=n),n},x.prototype.ensureOlmSessionsForUsers=function(e){const t={};for(let n=0;n{this._cryptoStore.getAllEndToEndInboundGroupSessions(t,t=>{if(null===t)return;const n=this._olmDevice.exportInboundGroupSession(t.senderKey,t.sessionId,t.sessionData);delete n.first_known_index,n.algorithm=l.MEGOLM_ALGORITHM,e.push(n)})}),e},x.prototype.importRoomKeys=function(e){return Promise.all(e.map(e=>{if(!e.room_id||!e.algorithm)return c.logger.warn("ignoring room key entry with missing fields",e),null;return this._getRoomDecryptor(e.room_id,e.algorithm).importRoomKey(e)}))},x.prototype.scheduleKeyBackupSend=async function(e=1e4){if(!this._sendingBackups){this._sendingBackups=!0;try{const t=Math.random()*e;await(0,f.sleep)(t);let n=0;for(;;){if(!this.backupKey)return;try{if(0===await this._backupPendingKeys(200))return;n=0}catch(e){if(n++,c.logger.log("Key backup request failed",e),e.data&&("M_NOT_FOUND"==e.data.errcode||"M_WRONG_ROOM_KEYS_VERSION"==e.data.errcode))throw await this.checkKeyBackup(),this.emit("crypto.keyBackupFailed",e.data.errcode),e}n&&await(0,f.sleep)(1e3*Math.pow(2,Math.min(n-1,4)))}}finally{this._sendingBackups=!1}}},x.prototype._backupPendingKeys=async function(e){const t=await this._cryptoStore.getSessionsNeedingBackup(e);if(!t.length)return 0;let n=await this._cryptoStore.countSessionsNeedingBackup();this.emit("crypto.keyBackupSessionsRemaining",n);const r={};for(const e of t){const t=e.sessionData.room_id;void 0===r[t]&&(r[t]={sessions:{}});const n=await this._olmDevice.exportInboundGroupSession(e.senderKey,e.sessionId,e.sessionData);n.algorithm=l.MEGOLM_ALGORITHM,delete n.session_id,delete n.room_id;const i=n.first_known_index;delete n.first_known_index;const o=this.backupKey.encrypt(JSON.stringify(n)),s=(n.forwarding_curve25519_key_chain||[]).length,a=this._deviceList.getDeviceByIdentityKey(l.MEGOLM_ALGORITHM,e.senderKey);r[t].sessions[e.sessionId]={first_message_index:i,forwarded_count:s,is_verified:!(!a||!a.isVerified()),session_data:o}}return await this._baseApis.sendKeyBackup(void 0,void 0,this.backupInfo.version,{rooms:r}),await this._cryptoStore.unmarkSessionsNeedingBackup(t),n=await this._cryptoStore.countSessionsNeedingBackup(),this.emit("crypto.keyBackupSessionsRemaining",n),t.length},x.prototype.backupGroupSession=async function(e,t,n,r,i,o,s){if(!this.backupInfo)throw new Error("Key backups are not enabled");await this._cryptoStore.markSessionsNeedingBackup([{senderKey:t,sessionId:r}]),this.scheduleKeyBackupSend()},x.prototype.scheduleAllGroupSessionsForBackup=async function(){await this.flagAllGroupSessionsForBackup(),this.scheduleKeyBackupSend(0)},x.prototype.flagAllGroupSessionsForBackup=async function(){await this._cryptoStore.doTxn("readwrite",[b.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,b.IndexedDBCryptoStore.STORE_BACKUP],e=>{this._cryptoStore.getAllEndToEndInboundGroupSessions(e,t=>{null!==t&&this._cryptoStore.markSessionsNeedingBackup([t],e)})});const e=await this._cryptoStore.countSessionsNeedingBackup();return this.emit("crypto.keyBackupSessionsRemaining",e),e},x.prototype.encryptEvent=async function(e,t){if(!t)throw new Error("Cannot send encrypted messages in unknown rooms");const n=e.getRoomId(),r=this._roomEncryptors[n];if(!r)throw new Error("Room was previously configured to use encryption, but is no longer. Perhaps the homeserver is hiding the configuration event.");this._roomDeviceTrackingState[n]||this.trackRoomDevices(n),await this._roomDeviceTrackingState[n];let i=e.getContent();const o=i["m.relates_to"];o&&(i=Object.assign({},i),delete i["m.relates_to"]);const s=await r.encryptMessage(t,e.getType(),i);o&&(s["m.relates_to"]=o),e.makeEncrypted("m.room.encrypted",s,this._olmDevice.deviceCurve25519Key,this._olmDevice.deviceEd25519Key)},x.prototype.decryptEvent=function(e){if(e.isRedacted())return Promise.resolve({clearEvent:{room_id:e.getRoomId(),type:"m.room.message",content:{}}});const t=e.getWireContent();return this._getRoomDecryptor(e.getRoomId(),t.algorithm).decryptEvent(e)},x.prototype.handleDeviceListChanges=async function(e,t){e.oldSyncToken&&await this._evalDeviceListChanges(t)},x.prototype.requestRoomKey=function(e,t,n=!1){return this._outgoingRoomKeyRequestManager.sendRoomKeyRequest(e,t,n).catch(e=>{c.logger.error("Error requesting key for event",e)})},x.prototype.cancelRoomKeyRequest=function(e){this._outgoingRoomKeyRequestManager.cancelRoomKeyRequest(e).catch(e=>{c.logger.warn("Error clearing pending room key requests",e)})},x.prototype.onCryptoEvent=async function(e){const t=e.getRoomId(),n=e.getContent();try{await this.setRoomEncryption(t,n,!0)}catch(e){c.logger.error("Error configuring encryption in room "+t+":",e)}},x.prototype.onSyncWillProcess=async function(e){e.oldSyncToken||(c.logger.log("Initial sync performed - resetting device tracking state"),this._deviceList.stopTrackingAllDeviceLists(),this._deviceList.startTrackingDeviceList(this._userId),this._roomDeviceTrackingState={})},x.prototype.onSyncCompleted=async function(e){const t=e.nextSyncToken;this._deviceList.setSyncToken(e.nextSyncToken),this._deviceList.saveIfDirty(),this._deviceList.lastKnownSyncToken=t,this._deviceList.startTrackingDeviceList(this._userId),this._deviceList.refreshOutdatedDeviceLists(),e.catchingUp||(C(this),this._processReceivedRoomKeyRequests())},x.prototype._evalDeviceListChanges=async function(e){if(e.changed&&Array.isArray(e.changed)&&e.changed.forEach(e=>{this._deviceList.invalidateUserDeviceList(e)}),e.left&&Array.isArray(e.left)&&e.left.length){const t=new Set(await this._getTrackedE2eUsers());e.left.forEach(e=>{t.has(e)||this._deviceList.stopTrackingDeviceList(e)})}},x.prototype._getTrackedE2eUsers=async function(){const e=[];for(const t of this._getTrackedE2eRooms()){const n=await t.getEncryptionTargetMembers();for(const t of n)e.push(t.userId)}return e},x.prototype._getTrackedE2eRooms=function(){return this._clientStore.getRooms().filter(e=>{if(!this._roomEncryptors[e.roomId])return!1;if(!this._roomDeviceTrackingState[e.roomId])return!1;const t=e.getMyMembership();return"join"===t||"invite"===t})},x.prototype._onToDeviceEvent=function(e){try{c.logger.log(`received to_device ${e.getType()} from: `+`${e.getSender()} id: ${e.getId()}`),"m.room_key"==e.getType()||"m.forwarded_room_key"==e.getType()?this._onRoomKeyEvent(e):"m.room_key_request"==e.getType()?this._onRoomKeyRequestEvent(e):"m.secret.request"===e.getType()?this._secretStorage._onRequestReceived(e):"m.secret.send"===e.getType()?this._secretStorage._onSecretReceived(e):"org.matrix.room_key.withheld"===e.getType()?this._onRoomKeyWithheldEvent(e):e.getContent().transaction_id?this._onKeyVerificationMessage(e):"m.bad.encrypted"===e.getContent().msgtype?this._onToDeviceBadEncrypted(e):e.isBeingDecrypted()&&e.once("Event.decrypted",e=>{this._onToDeviceEvent(e)})}catch(e){c.logger.error("Error handling toDeviceEvent:",e)}},x.prototype._onRoomKeyEvent=function(e){const t=e.getContent();t.room_id&&t.algorithm?(this._checkedForBackup||this._checkAndStartKeyBackup(),this._getRoomDecryptor(t.room_id,t.algorithm).onRoomKeyEvent(e)):c.logger.error("key event is missing fields")},x.prototype._onRoomKeyWithheldEvent=function(e){const t=e.getContent();if(!(("m.no_olm"===t.code||t.room_id&&t.session_id)&&t.algorithm&&t.sender_key))return void c.logger.error("key withheld event is missing fields");c.logger.info(`Got room key withheld event from ${e.getSender()} (${t.sender_key}) `+`for ${t.algorithm}/${t.room_id}/${t.session_id} `+`with reason ${t.code} (${t.reason})`);const n=this._getRoomDecryptor(t.room_id,t.algorithm);if(n.onRoomKeyWithheldEvent&&n.onRoomKeyWithheldEvent(e),!t.room_id){const e=this._getRoomDecryptors(t.algorithm);for(const n of e)n.retryDecryptionFromSender(t.sender_key)}},x.prototype._onKeyVerificationMessage=function(e){if(!S.ToDeviceChannel.validateEvent(e,this._baseApis))return;const t=S.ToDeviceChannel.getTransactionId(e);this._handleVerificationEvent(e,t,this._toDeviceVerificationRequests,e=>{if(!S.ToDeviceChannel.canCreateRequest(S.ToDeviceChannel.getEventType(e)))return;const t=e.getContent(),n=t&&t.from_device;if(!n)return;const r=e.getSender(),i=new S.ToDeviceChannel(this._baseApis,r,[n]);return new E.VerificationRequest(i,this._verificationMethods,r,this._baseApis)})},x.prototype._onTimelineEvent=function(e){if(!k.InRoomChannel.validateEvent(e,this._baseApis))return;const t=k.InRoomChannel.getTransactionId(e);this._handleVerificationEvent(e,t,this._inRoomVerificationRequests,e=>{if(!k.InRoomChannel.canCreateRequest(k.InRoomChannel.getEventType(e)))return;const t=e.getSender(),n=new k.InRoomChannel(this._baseApis,e.getRoomId(),t);return new E.VerificationRequest(n,this._verificationMethods,t,this._baseApis)})},x.prototype._handleVerificationEvent=async function(e,t,n,r){const i=e.getSender();let o=n.get(i),s=!1,a=o&&o.get(t);if(!a){if(a=r(e),!a)return;s=!0,o||(o=new Map,n.set(i,o)),o.set(t,a)}try{const t=!!a.verifier;await a.channel.handleEvent(e,a),!t&&a.verifier&&this._baseApis.emit("crypto.verification.start",a.verifier)}catch(t){console.error("error while handling verification event",e,t)}a.pending?s&&!a.initiatedByMe&&this._baseApis.emit("crypto.verification.request",a):(o.delete(t),0===o.size&&n.delete(i))},x.prototype._onToDeviceBadEncrypted=async function(e){const t=e.getWireContent(),n=e.getSender(),r=t.algorithm,i=t.sender_key,o=()=>{const e=this._getRoomDecryptors(l.MEGOLM_ALGORITHM);for(const t of e)t.retryDecryptionFromSender(i)};if(void 0===n||void 0===i||void 0===i)return;this._lastNewSessionForced[n]=this._lastNewSessionForced[n]||{};const s=this._lastNewSessionForced[n][i]||0;if(s+36e5>Date.now())return c.logger.debug("New session already forced with device "+n+":"+i+" at "+s+": not forcing another"),await this._olmDevice.recordSessionProblem(i,"wedged",!0),void o();const a=this._deviceList.getDeviceByIdentityKey(r,i);if(!a)return c.logger.info("Couldn't find device for identity key "+i+": not re-establishing session"),await this._olmDevice.recordSessionProblem(i,"wedged",!1),void o();const f={};f[n]=[a],await l.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,f,!0),this._lastNewSessionForced[n][i]=Date.now();const u={algorithm:l.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};await l.encryptMessageForDevice(u.ciphertext,this._userId,this._deviceId,this._olmDevice,n,a,{type:"m.dummy"}),await this._olmDevice.recordSessionProblem(i,"wedged",!0),o(),await this._baseApis.sendToDevice("m.room.encrypted",{[n]:{[a.deviceId]:u}});const d=await this._outgoingRoomKeyRequestManager.getOutgoingSentRoomKeyRequest(n,a.deviceId);for(const e of d)this.requestRoomKey(e.requestBody,e.recipients,!0)},x.prototype._onRoomMembership=function(e,t,n){const r=t.roomId,i=this._roomEncryptors[r];i&&(this._roomDeviceTrackingState[r]&&("join"==t.membership?(c.logger.log("Join event for "+t.userId+" in "+r),this._deviceList.startTrackingDeviceList(t.userId)):"invite"==t.membership&&this._clientStore.getRoom(r).shouldEncryptForInvitedMembers()&&(c.logger.log("Invite event for "+t.userId+" in "+r),this._deviceList.startTrackingDeviceList(t.userId))),i.onRoomMembership(e,t,n))},x.prototype._onRoomKeyRequestEvent=function(e){const t=e.getContent();if("request"===t.action){const t=new P(e);this._receivedRoomKeyRequests.push(t)}else if("request_cancellation"===t.action){const t=new M(e);this._receivedRoomKeyRequestCancellations.push(t)}},x.prototype._processReceivedRoomKeyRequests=async function(){if(!this._processingRoomKeyRequests){this._processingRoomKeyRequests=!0;try{const e=this._receivedRoomKeyRequests;this._receivedRoomKeyRequests=[];const t=this._receivedRoomKeyRequestCancellations;this._receivedRoomKeyRequestCancellations=[],await Promise.all(e.map(e=>this._processReceivedRoomKeyRequest(e))),await Promise.all(t.map(e=>this._processReceivedRoomKeyRequestCancellation(e)))}catch(e){c.logger.error(`Error processing room key requsts: ${e}`)}finally{this._processingRoomKeyRequests=!1}}},x.prototype._processReceivedRoomKeyRequest=async function(e){const t=e.userId,n=e.deviceId,r=e.requestBody,i=r.room_id,o=r.algorithm;if(c.logger.log(`m.room_key_request from ${t}:${n}`+` for ${i} / ${r.session_id} (id ${e.requestId})`),t!==this._userId){if(!this._roomEncryptors[i])return void c.logger.debug(`room key request for unencrypted room ${i}`);const e=this._roomEncryptors[i],o=this._deviceList.getStoredDevice(t,n);if(!o)return void c.logger.debug(`Ignoring keyshare for unknown device ${t}:${n}`);try{await e.reshareKeyWithDevice(r.sender_key,r.session_id,t,o)}catch(e){c.logger.warn("Failed to re-share keys for session "+r.session_id+" with device "+t+":"+o.deviceId,e)}return}if(!this._roomDecryptors[i])return void c.logger.log(`room key request for unencrypted room ${i}`);const s=this._roomDecryptors[i][o];if(!s)return void c.logger.log(`room key request for unknown alg ${o} in room ${i}`);if(!await s.hasKeysForKeyRequest(e))return void c.logger.log(`room key request for unknown session ${i} / `+r.session_id);e.share=()=>{s.shareKeysWithDevice(e)};const a=this._deviceList.getStoredDevice(t,n);if(a&&a.isVerified())return c.logger.log("device is already verified: sharing keys"),void e.share();this.emit("crypto.roomKeyRequest",e)},x.prototype._processReceivedRoomKeyRequestCancellation=async function(e){c.logger.log(`m.room_key_request cancellation for ${e.userId}:`+`${e.deviceId} (id ${e.requestId})`),this.emit("crypto.roomKeyRequestCancellation",e)},x.prototype._getRoomDecryptor=function(e,t){let n,r;if((e=e||null)&&(n=this._roomDecryptors[e],n||(this._roomDecryptors[e]=n={}),r=n[t],r))return r;const i=p.DECRYPTION_CLASSES[t];if(!i)throw new p.DecryptionError("UNKNOWN_ENCRYPTION_ALGORITHM",'Unknown encryption algorithm "'+t+'".');return r=new i({userId:this._userId,crypto:this,olmDevice:this._olmDevice,baseApis:this._baseApis,roomId:e}),n&&(n[t]=r),r},x.prototype._getRoomDecryptors=function(e){const t=[];for(const n of Object.values(this._roomDecryptors))e in n&&t.push(n[e]);return t},x.prototype._signObject=async function(e){const t=e.signatures||{},n=e.unsigned;delete e.signatures,delete e.unsigned,t[this._userId]=t[this._userId]||{},t[this._userId]["ed25519:"+this._deviceId]=await this._olmDevice.sign(o.default.stringify(e)),e.signatures=t,void 0!==n&&(e.unsigned=n)};class P{constructor(e){const t=e.getContent();this.userId=e.getSender(),this.deviceId=t.requesting_device_id,this.requestId=t.request_id,this.requestBody=t.body||{},this.share=()=>{throw new Error("don't know how to share keys for this request yet")}}}class M{constructor(e){const t=e.getContent();this.userId=e.getSender(),this.deviceId=t.requesting_device_id,this.requestId=t.request_id}}}).call(this,n(5))},function(e,t,n){"use strict";var r=n(6),i=n(4),o=r(n(8)),s=r(n(21)),a=n(51),c=n(81);const f=a.DeviceInfo.DeviceVerification;function u(e){(0,o.polyfillSuper)(this,c.EncryptionAlgorithm,e),this._sessionPrepared=!1,this._prepPromise=null}function l(e){(0,o.polyfillSuper)(this,c.DecryptionAlgorithm,e)}o.inherits(u,c.EncryptionAlgorithm),u.prototype._ensureSession=function(e){if(this._prepPromise)return this._prepPromise;if(this._sessionPrepared)return Promise.resolve();const t=this;return this._prepPromise=t._crypto.downloadKeys(e).then((function(n){return t._crypto.ensureOlmSessionsForUsers(e)})).then((function(){t._sessionPrepared=!0})).finally((function(){t._prepPromise=null})),this._prepPromise},u.prototype.encryptMessage=async function(e,t,n){const r=await e.getEncryptionTargetMembers(),i=o.map(r,(function(e){return e.userId})),a=this;await this._ensureSession(i);const c={room_id:e.roomId,type:t,content:n},u={algorithm:s.OLM_ALGORITHM,sender_key:a._olmDevice.deviceCurve25519Key,ciphertext:{}},l=[];for(let e=0;eu)},o.inherits(l,c.DecryptionAlgorithm),l.prototype.decryptEvent=async function(e){const t=e.getWireContent(),n=t.sender_key,r=t.ciphertext;if(!r)throw new c.DecryptionError("OLM_MISSING_CIPHERTEXT","Missing ciphertext");if(!(this._olmDevice.deviceCurve25519Key in r))throw new c.DecryptionError("OLM_NOT_INCLUDED_IN_RECIPIENTS","Not included in recipients");const i=r[this._olmDevice.deviceCurve25519Key];let o;try{o=await this._decryptMessage(n,i)}catch(e){throw new c.DecryptionError("OLM_BAD_ENCRYPTED_MESSAGE","Bad Encrypted Message",{sender:n,err:e})}const s=JSON.parse(o);if(s.recipient!=this._userId)throw new c.DecryptionError("OLM_BAD_RECIPIENT","Message was intented for "+s.recipient);if(s.recipient_keys.ed25519!=this._olmDevice.deviceEd25519Key)throw new c.DecryptionError("OLM_BAD_RECIPIENT_KEY","Message not intended for this device",{intended:s.recipient_keys.ed25519,our_key:this._olmDevice.deviceEd25519Key});if(s.sender!=e.getSender())throw new c.DecryptionError("OLM_FORWARDED_MESSAGE","Message forwarded from "+s.sender,{reported_sender:e.getSender()});if(s.room_id!==e.getRoomId())throw new c.DecryptionError("OLM_BAD_ROOM","Message intended for room "+s.room_id,{reported_room:e.room_id});return{clearEvent:s,senderCurve25519Key:n,claimedEd25519Key:(s.keys||{}).ed25519||null}},l.prototype._decryptMessage=async function(e,t){const n=await this._olmDevice.getSessionIdsForDevice(e),r={};for(let o=0;o=e||n>=t)&&(i.logger.log("Rotating megolm session after "+this.useCount+" messages, "+n+"ms"),!0)},f.prototype.markSharedWithDevice=function(e,t,n){this.sharedWithDevices[e]||(this.sharedWithDevices[e]={}),this.sharedWithDevices[e][t]=n},f.prototype.markNotifiedBlockedDevice=function(e,t){this.blockedDevicesNotified[e]||(this.blockedDevicesNotified[e]={}),this.blockedDevicesNotified[e][t]=!0},f.prototype.sharedWithTooManyDevices=function(e){for(const t in this.sharedWithDevices)if(this.sharedWithDevices.hasOwnProperty(t)){if(!e.hasOwnProperty(t))return i.logger.log("Starting new megolm session because we shared with "+t),!0;for(const n in this.sharedWithDevices[t])if(this.sharedWithDevices[t].hasOwnProperty(n)&&!e[t].hasOwnProperty(n))return i.logger.log("Starting new megolm session because we shared with "+t+":"+n),!0}},o.inherits(u,a.EncryptionAlgorithm),u.prototype._ensureOutboundSession=async function(e,t){const n=this;let r;function o(){return r}const s=this._setupPromise.then((async function(o){r=o,r&&r.needsRotation(n._sessionRotationPeriodMsgs,n._sessionRotationPeriodMs)&&(i.logger.log("Starting new megolm session because we need to rotate."),r=null),r&&r.sharedWithTooManyDevices(e)&&(r=null),r||(i.logger.log(`Starting new megolm session for room ${n._roomId}`),r=await n._prepareNewSession(),i.logger.log(`Started new megolm session ${r.sessionId} `+`for room ${n._roomId}`),n._outboundSessions[r.sessionId]=r);const s={};for(const t in e){if(!e.hasOwnProperty(t))continue;const i=e[t];for(const e in i){if(!i.hasOwnProperty(e))continue;const o=i[e];o.getIdentityKey()!=n._olmDevice.deviceCurve25519Key&&(r.sharedWithDevices[t]&&void 0!==r.sharedWithDevices[t][e]||(s[t]=s[t]||[],s[t].push(o)))}}const a=[];await n._shareKeyWithDevices(r,s,a);const f={};for(const e in t){if(!t.hasOwnProperty(e))continue;const n=t[e];for(const t in n)n.hasOwnProperty(t)&&(r.blockedDevicesNotified[e]&&void 0!==r.blockedDevicesNotified[e][t]||(f[e]=f[e]||[],f[e].push(n[t])))}const u=await n._olmDevice.filterOutNotifiedErrorDevices(a);for(const{userId:e,deviceInfo:t}of u)f[e]=f[e]||[],f[e].push({code:"m.no_olm",reason:c.WITHHELD_MESSAGES["m.no_olm"],deviceInfo:t});await n._notifyBlockedDevices(r,f)}));return this._setupPromise=s.then(o,o),s.then(o)},u.prototype._prepareNewSession=async function(){const e=this._olmDevice.createOutboundGroupSession(),t=this._olmDevice.getOutboundGroupSessionKey(e);return await this._olmDevice.addInboundGroupSession(this._roomId,this._olmDevice.deviceCurve25519Key,[],e,t.key,{ed25519:this._olmDevice.deviceEd25519Key}),this._crypto.backupInfo&&this._crypto.backupGroupSession(this._roomId,this._olmDevice.deviceCurve25519Key,[],e,t.key).catch(e=>{i.logger.log("Failed to back up megolm session",e)}),new f(e)},u.prototype._splitUserDeviceMap=function(e,t,n,r,o){const s=[];let a=0,c=0;for(const f of Object.keys(r)){const u=r[f],l=n[f];for(let n=0;n20&&(c=0,a++)}return s},u.prototype._splitBlockedDevices=function(e){let t=[];const n=[t];for(const r of Object.keys(e)){const i=e[r];for(const e of i)t.push({userId:r,blockedInfo:e});t.length>20&&(t=[],n.push(t))}return 0===t.length&&n.pop(),n},u.prototype._encryptAndSendKeysToDevices=function(e,t,n,r){const i={},o=[];for(let e=0;ethis._baseApis.sendToDevice("m.room.encrypted",i).then(()=>{for(const n of Object.keys(i))for(const r of Object.keys(i[n]))e.markSharedWithDevice(n,r,t)}))},u.prototype._sendBlockedNotificationsToDevices=async function(e,t,n){const r={};for(const e of t){const t=e.userId,i=e.blockedInfo,o=i.deviceInfo.deviceId,s=Object.assign({},n);s.code=i.code,s.reason=i.reason,"m.no_olm"===s.code&&(delete s.room_id,delete s.session_id),r[t]||(r[t]={}),r[t][o]=s}await this._baseApis.sendToDevice("org.matrix.room_key.withheld",r);for(const t of Object.keys(r))for(const n of Object.keys(r[t]))e.markNotifiedBlockedDevice(t,n)},u.prototype.reshareKeyWithDevice=async function(e,t,n,r){const o=this._outboundSessions[t];if(!o)return void i.logger.debug(`megolm session ${t} not found: not re-sharing keys`);if(void 0===o.sharedWithDevices[n])return void i.logger.debug(`megolm session ${t} never shared with user ${n}`);const a=o.sharedWithDevices[n][r.deviceId];if(void 0===a)return void i.logger.debug("megolm session ID "+t+" never shared with device "+n+":"+r.deviceId);const c=await this._olmDevice.getInboundGroupSessionKey(this._roomId,e,t,a);if(!c)return void i.logger.warn(`No inbound session key found for megolm ${t}: not re-sharing keys`);await s.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,{[n]:{[r.deviceId]:r}});const f={type:"m.forwarded_room_key",content:{algorithm:s.MEGOLM_ALGORITHM,room_id:this._roomId,session_id:t,session_key:c.key,chain_index:c.chain_index,sender_key:e,sender_claimed_ed25519_key:c.sender_claimed_ed25519_key,forwarding_curve25519_key_chain:c.forwarding_curve25519_key_chain}},u={algorithm:s.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};await s.encryptMessageForDevice(u.ciphertext,this._userId,this._deviceId,this._olmDevice,n,r,f),await this._baseApis.sendToDevice("m.room.encrypted",{[n]:{[r.deviceId]:u}}),i.logger.debug(`Re-shared key for megolm session ${t} `+`with ${n}:${r.deviceId}`)},u.prototype._shareKeyWithDevices=async function(e,t,n){const r=this._olmDevice.getOutboundGroupSessionKey(e.sessionId),o={type:"m.room_key",content:{algorithm:s.MEGOLM_ALGORITHM,room_id:this._roomId,session_id:e.sessionId,session_key:r.key,chain_index:r.chain_index}},a=await s.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,t),c=this._splitUserDeviceMap(e,r.chain_index,a,t,n);for(let t=0;tnull)},u.prototype._checkForUnknownDevices=function(e){const t={};if(Object.keys(e).forEach(n=>{Object.keys(e[n]).forEach(r=>{const i=e[n][r];i.isUnverified()&&!i.isKnown()&&(t[n]||(t[n]={}),t[n][r]=i)})}),Object.keys(t).length)throw new a.UnknownDeviceError("This room contains unknown devices which have not been verified. We strongly recommend you verify them before continuing.",t)},u.prototype._getDevicesInRoom=async function(e){const t=await e.getEncryptionTargetMembers(),n=o.map(t,(function(e){return e.userId}));let r=this._crypto.getGlobalBlacklistUnverifiedDevices();"boolean"==typeof e.getBlacklistUnverifiedDevices()&&(r=e.getBlacklistUnverifiedDevices());const i=await this._crypto.downloadKeys(n,!1),s={};for(const e in i){if(!i.hasOwnProperty(e))continue;const t=i[e];for(const n in t)if(t.hasOwnProperty(n)&&(t[n].isBlocked()||t[n].isUnverified()&&r)){s[e]||(s[e]={});const r=t[n].isBlocked()?{code:"m.blacklisted",reason:c.WITHHELD_MESSAGES["m.blacklisted"]}:{code:"m.unverified",reason:c.WITHHELD_MESSAGES["m.unverified"]};r.deviceInfo=t[n],s[e][n]=r,delete t[n]}}return[i,s]},o.inherits(l,a.DecryptionAlgorithm);const d={no_olm:"The sender was unable to establish a secure channel.",unknown:"The secure channel with the sender was corrupted."};l.prototype.decryptEvent=async function(e){const t=e.getWireContent();if(!t.sender_key||!t.session_id||!t.ciphertext)throw new a.DecryptionError("MEGOLM_MISSING_FIELDS","Missing fields in input");let n;this._addEventToPendingList(e);try{n=await this._olmDevice.decryptGroupMessage(e.getRoomId(),t.sender_key,t.session_id,t.ciphertext,e.getId(),e.getTs())}catch(n){if("DecryptionError"===n.name)throw n;let r="OLM_DECRYPT_GROUP_MESSAGE_ERROR";throw n&&"OLM.UNKNOWN_MESSAGE_INDEX"===n.message&&(this._requestKeysForEvent(e),r="OLM_UNKNOWN_MESSAGE_INDEX"),new a.DecryptionError(r,n?n.toString():"Unknown Error: Error is undefined",{session:t.sender_key+"|"+t.session_id})}if(null===n){this._requestKeysForEvent(e);const n=await this._olmDevice.sessionMayHaveProblems(t.sender_key,e.getTs()-12e4);if(n){let e=d[n.type]||d.unknown;throw n.fixed&&(e+=" Trying to create a new secure channel and re-requesting the keys."),new a.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",e,{session:t.sender_key+"|"+t.session_id})}throw new a.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID","The sender's device has not sent us the keys for this message.",{session:t.sender_key+"|"+t.session_id})}this._removeEventFromPendingList(e);const r=JSON.parse(n.result);if(r.room_id!==e.getRoomId())throw new a.DecryptionError("MEGOLM_BAD_ROOM","Message intended for room "+r.room_id);return{clearEvent:r,senderCurve25519Key:n.senderKey,claimedEd25519Key:n.keysClaimed.ed25519,forwardingCurve25519KeyChain:n.forwardingCurve25519KeyChain}},l.prototype._requestKeysForEvent=function(e){const t=e.getWireContent(),n=e.getKeyRequestRecipients(this._userId);this._crypto.requestRoomKey({room_id:e.getRoomId(),algorithm:t.algorithm,sender_key:t.sender_key,session_id:t.session_id},n)},l.prototype._addEventToPendingList=function(e){const t=e.getWireContent(),n=t.sender_key,r=t.session_id;this._pendingEvents[n]||(this._pendingEvents[n]=new Map);const i=this._pendingEvents[n];i.has(r)||i.set(r,new Set),i.get(r).add(e)},l.prototype._removeEventFromPendingList=function(e){const t=e.getWireContent(),n=t.sender_key,r=t.session_id,i=this._pendingEvents[n],o=i&&i.get(r);o&&(o.delete(e),0===o.size&&i.delete(n),0===i.size&&delete this._pendingEvents[n])},l.prototype.onRoomKeyEvent=function(e){const t=e.getContent(),n=t.session_id;let r,s=e.getSenderKey(),a=[],c=!1;if(t.room_id&&n&&t.session_key){if(s){if("m.forwarded_room_key"==e.getType()){if(c=!0,a=t.forwarding_curve25519_key_chain,o.isArray(a)||(a=[]),a=a.slice(),a.push(s),s=t.sender_key,!s)return void i.logger.error("forwarded_room_key event is missing sender_key field");const e=t.sender_claimed_ed25519_key;if(!e)return void i.logger.error("forwarded_room_key_event is missing sender_claimed_ed25519_key field");r={ed25519:e}}else r=e.getKeysClaimed();return i.logger.log(`Received and adding key for megolm session ${s}|${n}`),this._olmDevice.addInboundGroupSession(t.room_id,s,a,n,t.session_key,r,c).then(()=>{this._retryDecryption(s,n).then(e=>{e&&this._crypto.cancelRoomKeyRequest({algorithm:t.algorithm,room_id:t.room_id,session_id:t.session_id,sender_key:s})})}).then(()=>{this._crypto.backupInfo&&this._crypto.backupGroupSession(t.room_id,s,a,t.session_id,t.session_key,r,c).catch(e=>{i.logger.log("Failed to back up megolm session",e)})}).catch(e=>{i.logger.error(`Error handling m.room_key_event: ${e}`)})}i.logger.error("key event has no sender key (not encrypted?)")}else i.logger.error("key event is missing fields")},l.prototype.onRoomKeyWithheldEvent=async function(e){const t=e.getContent(),n=t.sender_key;if("m.no_olm"===t.code){const r=e.getSender();if(await this._olmDevice.getSessionIdForDevice(n))return await this._olmDevice.recordSessionProblem(n,"no_olm",!0),void this.retryDecryptionFromSender(n);const o=this._crypto._deviceList.getDeviceByIdentityKey(t.algorithm,n);if(!o)return i.logger.info("Couldn't find device for identity key "+n+": not establishing session"),await this._olmDevice.recordSessionProblem(n,"no_olm",!1),void this.retryDecryptionFromSender(n);await s.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,{[r]:[o]},!1);const a={algorithm:s.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};await s.encryptMessageForDevice(a.ciphertext,this._userId,this._deviceId,this._olmDevice,r,o,{type:"m.dummy"}),await this._olmDevice.recordSessionProblem(n,"no_olm",!0),this.retryDecryptionFromSender(n),await this._baseApis.sendToDevice("m.room.encrypted",{[r]:{[o.deviceId]:a}})}else await this._olmDevice.addInboundGroupSessionWithheld(t.room_id,n,t.session_id,t.code,t.reason)},l.prototype.hasKeysForKeyRequest=function(e){const t=e.requestBody;return this._olmDevice.hasInboundSessionKeys(t.room_id,t.sender_key,t.session_id)},l.prototype.shareKeysWithDevice=function(e){const t=e.userId,n=e.deviceId,r=this._crypto.getStoredDevice(t,n),o=e.requestBody;this.olmlib.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,{[t]:[r]}).then(e=>e[t][n].sessionId?(i.logger.log("sharing keys for session "+o.sender_key+"|"+o.session_id+" with device "+t+":"+n),this._buildKeyForwardingMessage(o.room_id,o.sender_key,o.session_id)):null).then(e=>{const i={algorithm:s.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};return this.olmlib.encryptMessageForDevice(i.ciphertext,this._userId,this._deviceId,this._olmDevice,t,r,e).then(()=>{const e={[t]:{[n]:i}};return this._baseApis.sendToDevice("m.room.encrypted",e)})})},l.prototype._buildKeyForwardingMessage=async function(e,t,n){const r=await this._olmDevice.getInboundGroupSessionKey(e,t,n);return{type:"m.forwarded_room_key",content:{algorithm:s.MEGOLM_ALGORITHM,room_id:e,sender_key:t,sender_claimed_ed25519_key:r.sender_claimed_ed25519_key,session_id:n,session_key:r.key,chain_index:r.chain_index,forwarding_curve25519_key_chain:r.forwarding_curve25519_key_chain}}},l.prototype.importRoomKey=function(e){return this._olmDevice.addInboundGroupSession(e.room_id,e.sender_key,e.forwarding_curve25519_key_chain,e.session_id,e.session_key,e.sender_claimed_keys,!0).then(()=>{this._crypto.backupInfo&&this._crypto.backupGroupSession(e.room_id,e.sender_key,e.forwarding_curve25519_key_chain,e.session_id,e.session_key,e.sender_claimed_keys,!0).catch(e=>{i.logger.log("Failed to back up megolm session",e)}),this._retryDecryption(e.sender_key,e.session_id)})},l.prototype._retryDecryption=async function(e,t){const n=this._pendingEvents[e];if(!n)return!0;const r=n.get(t);return!r||(r.delete(t),0===r.size&&this._pendingEvents[e],await Promise.all([...r].map(async e=>{try{await e.attemptDecryption(this._crypto)}catch(e){}})),!(this._pendingEvents[e]||{})[t])},l.prototype.retryDecryptionFromSender=async function(e){const t=this._pendingEvents[e];return i.logger.warn(t),!t||(delete this._pendingEvents[e],await Promise.all([...t].map(async([e,t])=>{await Promise.all([...t].map(async e=>{try{i.logger.warn(e.getId()),await e.attemptDecryption(this._crypto)}catch(e){}}))})),!this._pendingEvents[e])},(0,a.registerAlgorithm)(s.MEGOLM_ALGORITHM,u,l)},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.DeviceList=void 0;var i=n(9),o=n(4),s=n(51),a=n(139),c=r(n(21)),f=n(36),u=n(8);class l extends i.EventEmitter{constructor(e,t,n){super(),this._cryptoStore=t,this._devices={},this._crossSigningInfo={},this._userByIdentityKey={},this._deviceTrackingStatus={},this._syncToken=null,this._serialiser=new d(e,n,this),this._keyDownloadsInProgressByUser={},this._dirty=!1,this._savePromise=null,this._resolveSavePromise=null,this._savePromiseTime=null,this._saveTimer=null}async load(){await this._cryptoStore.doTxn("readonly",[f.IndexedDBCryptoStore.STORE_DEVICE_DATA],e=>{this._cryptoStore.getEndToEndDeviceData(e,e=>{this._devices=e?e.devices:{},this._crossSigningInfo=e&&e.crossSigningInfo||{},this._deviceTrackingStatus=e?e.trackingStatus:{},this._syncToken=e?e.syncToken:null,this._userByIdentityKey={};for(const e of Object.keys(this._devices)){const t=this._devices[e];for(const n of Object.keys(t)){const r=t[n].keys["curve25519:"+n];void 0!==r&&(this._userByIdentityKey[r]=e)}}})});for(const e of Object.keys(this._deviceTrackingStatus))2==this._deviceTrackingStatus[e]&&(this._deviceTrackingStatus[e]=1)}stop(){null!==this._saveTimer&&clearTimeout(this._saveTimer)}async saveIfDirty(e){if(!this._dirty)return Promise.resolve(!1);void 0===e&&(e=500);const t=Date.now+e;this._savePromiseTime&&t{this._resolveSavePromise=e}),this._savePromise=n),null===this._saveTimer){const n=this._resolveSavePromise;this._savePromiseTime=t,this._saveTimer=setTimeout(()=>{o.logger.log("Saving device tracking data at token "+this._syncToken),this._savePromiseTime=null,this._saveTimer=null,this._savePromise=null,this._resolveSavePromise=null,this._dirty=!1,this._cryptoStore.doTxn("readwrite",[f.IndexedDBCryptoStore.STORE_DEVICE_DATA],e=>{this._cryptoStore.storeEndToEndDeviceData({devices:this._devices,crossSigningInfo:this._crossSigningInfo,trackingStatus:this._deviceTrackingStatus,syncToken:this._syncToken},e)}).then(()=>{n()})},e)}return n}getSyncToken(){return this._syncToken}setSyncToken(e){this._syncToken=e}downloadKeys(e,t){const n=[],r=[];if(e.forEach(e=>{const i=this._deviceTrackingStatus[e];this._keyDownloadsInProgressByUser[e]?(o.logger.log("downloadKeys: already have a download in progress for "+`${e}: awaiting its result`),r.push(this._keyDownloadsInProgressByUser[e])):(t||3!=i)&&n.push(e)}),0!=n.length){o.logger.log("downloadKeys: downloading for",n);const e=this._doKeyDownload(n);r.push(e)}return 0===r.length&&o.logger.log("downloadKeys: already have all necessary keys"),Promise.all(r).then(()=>this._getDevicesFromStore(e))}_getDevicesFromStore(e){const t={},n=this;return e.map((function(e){t[e]={},(n.getStoredDevicesForUser(e)||[]).map((function(n){t[e][n.deviceId]=n}))})),t}getStoredDevicesForUser(e){const t=this._devices[e];if(!t)return null;const n=[];for(const e in t)t.hasOwnProperty(e)&&n.push(s.DeviceInfo.fromStorage(t[e],e));return n}getRawStoredDevicesForUser(e){return this._devices[e]}getStoredCrossSigningForUser(e){return this._crossSigningInfo[e]?a.CrossSigningInfo.fromStorage(this._crossSigningInfo[e],e):null}storeCrossSigningForUser(e,t){this._crossSigningInfo[e]=t,this._dirty=!0}getStoredDevice(e,t){const n=this._devices[e];if(n&&n[t])return s.DeviceInfo.fromStorage(n[t],t)}getDeviceByIdentityKey(e,t){const n=this._userByIdentityKey[t];if(!n)return null;if(e!==c.OLM_ALGORITHM&&e!==c.MEGOLM_ALGORITHM)return null;const r=this._devices[n];if(!r)return null;for(const e in r){if(!r.hasOwnProperty(e))continue;const n=r[e];for(const r in n.keys){if(!n.keys.hasOwnProperty(r))continue;if(0!==r.indexOf("curve25519:"))continue;if(n.keys[r]==t)return s.DeviceInfo.fromStorage(n,e)}}return null}storeDevicesForUser(e,t){if(void 0!==this._devices[e])for(const[t,n]of Object.entries(this._devices[e])){const e=n.keys["curve25519:"+t];delete this._userByIdentityKey[e]}this._devices[e]=t;for(const[n,r]of Object.entries(t)){const t=r.keys["curve25519:"+n];this._userByIdentityKey[t]=e}this._dirty=!0}startTrackingDeviceList(e){if("string"!=typeof e)throw new Error("userId must be a string; was "+e);this._deviceTrackingStatus[e]||(o.logger.log("Now tracking device list for "+e),this._deviceTrackingStatus[e]=1,this._dirty=!0)}stopTrackingDeviceList(e){this._deviceTrackingStatus[e]&&(o.logger.log("No longer tracking device list for "+e),this._deviceTrackingStatus[e]=0,this._dirty=!0)}stopTrackingAllDeviceLists(){for(const e of Object.keys(this._deviceTrackingStatus))this._deviceTrackingStatus[e]=0;this._dirty=!0}invalidateUserDeviceList(e){this._deviceTrackingStatus[e]&&(o.logger.log("Marking device list outdated for",e),this._deviceTrackingStatus[e]=1,this._dirty=!0)}refreshOutdatedDeviceLists(){this.saveIfDirty();const e=[];for(const t of Object.keys(this._deviceTrackingStatus)){1==this._deviceTrackingStatus[t]&&e.push(t)}return this._doKeyDownload(e)}_setRawStoredDevicesForUser(e,t){if(void 0!==this._devices[e])for(const[t,n]of Object.entries(this._devices[e])){const e=n.keys["curve25519:"+t];delete this._userByIdentityKey[e]}this._devices[e]=t;for(const[n,r]of Object.entries(t)){const t=r.keys["curve25519:"+n];this._userByIdentityKey[t]=e}}setRawStoredCrossSigningForUser(e,t){this._crossSigningInfo[e]=t}_doKeyDownload(e){if(0===e.length)return Promise.resolve();const t=this._serialiser.updateDevicesForUsers(e,this._syncToken).then(()=>{n(!0)},t=>{throw o.logger.error("Error downloading keys for "+e+":",t),n(!1),t});e.forEach(e=>{this._keyDownloadsInProgressByUser[e]=t,1==this._deviceTrackingStatus[e]&&(this._deviceTrackingStatus[e]=2)});const n=n=>{e.forEach(e=>{if(this._dirty=!0,this._keyDownloadsInProgressByUser[e]!==t)return void o.logger.log("Another update in the queue for",e,"- not marking up-to-date");delete this._keyDownloadsInProgressByUser[e],2==this._deviceTrackingStatus[e]&&(n?(this._deviceTrackingStatus[e]=3,o.logger.log("Device list for",e,"now up to date")):this._deviceTrackingStatus[e]=1)}),this.saveIfDirty(),this.emit("crypto.devicesUpdated",e)};return t}}t.DeviceList=l;class d{constructor(e,t,n){this._baseApis=e,this._olmDevice=t,this._deviceList=n,this._downloadInProgress=!1,this._keyDownloadsQueuedByUser={},this._queuedQueryDeferred=null,this._syncToken=null}updateDevicesForUsers(e,t){return e.forEach(e=>{this._keyDownloadsQueuedByUser[e]=!0}),this._queuedQueryDeferred||(this._queuedQueryDeferred=(0,u.defer)()),this._syncToken=t,this._downloadInProgress?(o.logger.log("Queued key download for",e),this._queuedQueryDeferred.promise):this._doQueuedQueries()}_doQueuedQueries(){if(this._downloadInProgress)throw new Error("DeviceListUpdateSerialiser._doQueuedQueries called with request active");const e=Object.keys(this._keyDownloadsQueuedByUser);this._keyDownloadsQueuedByUser={};const t=this._queuedQueryDeferred;this._queuedQueryDeferred=null,o.logger.log("Starting key download for",e),this._downloadInProgress=!0;const n={};return this._syncToken&&(n.token=this._syncToken),this._baseApis.downloadKeysForUsers(e,n).then(t=>{const n=t.device_keys||{},r=t.master_keys||{},i=t.self_signing_keys||{},o=t.user_signing_keys||{};let s=Promise.resolve();for(const t of e)s=s.then((0,u.sleep)(5)).then(()=>this._processQueryResponseForUser(t,n[t],{master:r[t],self_signing:i[t],user_signing:o[t]}));return s}).then(()=>{o.logger.log("Completed key download for "+e),this._downloadInProgress=!1,t.resolve(),this._queuedQueryDeferred&&this._doQueuedQueries()},n=>{o.logger.warn("Error downloading keys for "+e+":",n),this._downloadInProgress=!1,t.reject(n)}),t.promise}async _processQueryResponseForUser(e,t,n,r){o.logger.log("got device keys for "+e+":",t),o.logger.log("got cross-signing keys for "+e+":",n);{const n={},r=this._deviceList.getRawStoredDevicesForUser(e);r&&Object.keys(r).forEach(e=>{const t=s.DeviceInfo.fromStorage(r[e],e);n[e]=t}),await async function(e,t,n,r){let i=!1;for(const e in n)n.hasOwnProperty(e)&&(e in r||(o.logger.log("Device "+t+":"+e+" has been removed"),delete n[e],i=!0));for(const s in r){if(!r.hasOwnProperty(s))continue;const a=r[s];a.user_id===t?a.device_id===s?await h(e,n,a)&&(i=!0):o.logger.warn("Mismatched device_id "+a.device_id+" in keys from "+t+":"+s):o.logger.warn("Mismatched user_id "+a.user_id+" in keys from "+t+":"+s)}return i}(this._olmDevice,e,n,t||{});const i={};Object.keys(n).forEach(e=>{i[e]=n[e].toStorage()}),this._deviceList._setRawStoredDevicesForUser(e,i)}if(n&&(n.master||n.self_signing||n.user_signing)){const t=this._deviceList.getStoredCrossSigningForUser(e)||new a.CrossSigningInfo(e);t.setKeys(n),this._deviceList.setRawStoredCrossSigningForUser(e,t.toStorage()),this._deviceList.emit("userCrossSigningUpdated",e)}}}async function h(e,t,n){if(!n.keys)return!1;const r=n.device_id,i=n.user_id,a="ed25519:"+r,f=n.keys[a];if(!f)return o.logger.warn("Device "+i+":"+r+" has no ed25519 key"),!1;const u=n.unsigned||{},l=n.signatures||{};try{await c.verifySignature(e,n,i,r,f)}catch(e){return o.logger.warn("Unable to verify signature on device "+i+":"+r+":"+e),!1}let d;if(r in t){if(d=t[r],d.getFingerprint()!=f)return o.logger.warn("Ed25519 key for device "+i+":"+r+" has changed"),!1}else t[r]=d=new s.DeviceInfo(r);return d.keys=n.keys||{},d.algorithms=n.algorithms||[],d.unsigned=u,d.signatures=l,!0}},function(e,t,n){"use strict";(function(e){var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.SecretStorage=t.SECRET_STORAGE_ALGORITHM_V1=void 0;var i=n(9),o=n(4),s=r(n(21)),a=n(52);const c="m.secret_storage.v1.curve25519-aes-sha2";t.SECRET_STORAGE_ALGORITHM_V1=c;class f extends i.EventEmitter{constructor(e,t,n){super(),this._baseApis=e,this._cryptoCallbacks=t,this._crossSigningInfo=n,this._requests={},this._incomingRequests={}}async getDefaultKeyId(){const e=await this._baseApis.getAccountDataFromServer("m.secret_storage.default_key");return e?e.key:null}setDefaultKeyId(e){return new Promise(t=>{const n=r=>{"m.secret_storage.default_key"===r.getType()&&r.getContent().key===e&&(this._baseApis.removeListener("accountData",n),t())};this._baseApis.on("accountData",n),this._baseApis.setAccountData("m.secret_storage.default_key",{key:e})})}async addKey(t,n,r){const i={algorithm:t};switch(n||(n={}),n.name&&(i.name=n.name),t){case c:{const t=new e.Olm.PkDecryption;try{const{passphrase:e,pubkey:r}=n;e&&r?(i.passphrase=e,i.pubkey=r):i.pubkey=r||t.generate_key()}finally{t.free()}break}default:throw new Error(`Unknown key algorithm ${n.algorithm}`)}if(!r)do{r=(0,a.randomString)(32)}while(await this._baseApis.getAccountDataFromServer(`m.secret_storage.key.${r}`));return await this._crossSigningInfo.signObject(i,"master"),await this._baseApis.setAccountData(`m.secret_storage.key.${r}`,i),r}async signKey(e){if(e||(e=await this.getDefaultKeyId()),!e)throw new Error("signKey requires a key ID");const t=await this._baseApis.getAccountDataFromServer(`m.secret_storage.key.${e}`);if(!t)throw new Error(`Key ${e} does not exist in account data`);await this._crossSigningInfo.signObject(t,"master"),await this._baseApis.setAccountData(`m.secret_storage.key.${e}`,t)}async hasKey(e){return e||(e=await this.getDefaultKeyId()),!!e&&!!this._baseApis.getAccountDataFromServer("m.secret_storage.key."+e)}async store(t,n,r){const i={};if(!r){const e=await this.getDefaultKeyId();if(!e)throw new Error("No keys specified and no default key present");r=[e]}if(0===r.length)throw new Error("Zero keys given to encrypt with!");for(const t of r){const r=await this._baseApis.getAccountDataFromServer("m.secret_storage.key."+t);if(!r)throw new Error("Unknown key: "+t);switch((0,s.pkVerify)(r,this._crossSigningInfo.getId("master"),this._crossSigningInfo.userId),r.algorithm){case c:{const o=new e.Olm.PkEncryption;try{o.set_recipient_key(r.pubkey),i[t]=o.encrypt(n)}finally{o.free()}break}default:o.logger.warn("unknown algorithm for secret storage key "+t+": "+r.algorithm)}}await this._baseApis.setAccountData(t,{encrypted:i})}storePassthrough(e,t){return this._baseApis.setAccountData(e,{[t]:{passthrough:!0}})}async get(e){const t=await this._baseApis.getAccountDataFromServer(e);if(!t)return;if(!t.encrypted)throw new Error("Content is not encrypted!");const n={};for(const e of Object.keys(t.encrypted)){const r=await this._baseApis.getAccountDataFromServer("m.secret_storage.key."+e),i=t.encrypted[e];switch(r.algorithm){case c:r.pubkey&&i.ciphertext&&i.mac&&i.ephemeral&&(n[e]=r)}}let r,i;try{[r,i]=await this._getSecretStorageKey(n);const e=t.encrypted[r];if(e.passthrough)return i.get_private_key();switch(n[r].algorithm){case c:return i.decrypt(e.ephemeral,e.mac,e.ciphertext)}}finally{i&&i.free()}}async isStored(e,t){const n=await this._baseApis.getAccountDataFromServer(e);if(!n||!n.encrypted)return!1;void 0===t&&(t=!0);for(const e of Object.keys(n.encrypted)){const r=await this._baseApis.getAccountDataFromServer("m.secret_storage.key."+e);if(!r)return!1;const i=n.encrypted[e];switch(t&&(0,s.pkVerify)(r,this._crossSigningInfo.getId("master"),this._crossSigningInfo.userId),r.algorithm){case c:if(r.pubkey&&i.ciphertext&&i.mac&&i.ephemeral)return!0}}return!1}request(e,t){const n=this._baseApis.makeTxnId(),r=this._requests[n]={devices:t},i=new Promise((e,t)=>{r.resolve=e,r.reject=t}),o={name:e,action:"request",requesting_device_id:this._baseApis.deviceId,request_id:n},s={};for(const e of t)s[e]=o;return this._baseApis.sendToDevice("m.secret.request",{[this._baseApis.getUserId()]:s}),{request_id:n,promise:i,cancel:e=>{const i={action:"request_cancellation",requesting_device_id:this._baseApis.deviceId,request_id:n},o={};for(const e of t)o[e]=i;this._baseApis.sendToDevice("m.secret.request",{[this._baseApis.getUserId()]:o}),r.reject(new Error(e||"Cancelled"))}}}async _onRequestReceived(e){const t=e.getSender(),n=e.getContent();if(t!==this._baseApis.getUserId()||!(n.name&&n.action&&n.requesting_device_id&&n.request_id))return;const r=n.requesting_device_id;if("request_cancellation"===n.action)this._incomingRequests[r]&&this._incomingRequests[r][n.request_id]&&(o.logger.info("received request cancellation for secret ("+t+", "+r+", "+n.request_id+")"),this.baseApis.emit("crypto.secrets.requestCancelled",{user_id:t,device_id:r,request_id:n.request_id}));else if("request"===n.action){if(r===this._baseApis.deviceId)return;if(o.logger.info("received request for secret ("+t+", "+r+", "+n.request_id+")"),!this._cryptoCallbacks.onSecretRequested)return;const e=await this._cryptoCallbacks.onSecretRequested({user_id:t,device_id:r,request_id:n.request_id,name:n.name,device_trust:this._baseApis.checkDeviceTrust(t,r)});if(e){const i={type:"m.secret.send",content:{request_id:n.request_id,secret:e}},o={algorithm:s.OLM_ALGORITHM,sender_key:this._baseApis._crypto._olmDevice.deviceCurve25519Key,ciphertext:{}};await s.ensureOlmSessionsForDevices(this._baseApis._crypto._olmDevice,this._baseApis,{[t]:[await this._baseApis.getStoredDevice(t,r)]}),await s.encryptMessageForDevice(o.ciphertext,this._baseApis.getUserId(),this._baseApis.deviceId,this._baseApis._crypto._olmDevice,t,this._baseApis._crypto.getStoredDevice(t,r),i);const a={[t]:{[r]:o}};this._baseApis.sendToDevice("m.room.encrypted",a)}}}_onSecretReceived(e){if(e.getSender()!==this._baseApis.getUserId())return;const t=e.getContent();o.logger.log("got secret share for request ",t.request_id);const n=this._requests[t.request_id];if(n){const r=this._baseApis._crypto._deviceList.getDeviceByIdentityKey(s.OLM_ALGORITHM,e.getSenderKey());if(!r)return void o.logger.log("secret share from unknown device with key",e.getSenderKey());if(!n.devices.includes(r.deviceId))return void o.logger.log("unsolicited secret share from device",r.deviceId);n.resolve(t.secret)}}async _getSecretStorageKey(t){if(!this._cryptoCallbacks.getSecretStorageKey)throw new Error("No getSecretStorageKey callback supplied");const n=await this._cryptoCallbacks.getSecretStorageKey({keys:t});if(!n)throw new Error("getSecretStorageKey callback returned falsey");if(n.length<2)throw new Error("getSecretStorageKey callback returned invalid data");const[r,i]=n;if(!t[r])throw new Error("App returned unknown key from getSecretStorageKey!");switch(t[r].algorithm){case c:{const n=new e.Olm.PkDecryption;let o;try{o=n.init_with_private_key(i)}catch(e){throw n.free(),new Error("getSecretStorageKey callback returned invalid key")}if(o!==t[r].pubkey)throw n.free(),new Error("getSecretStorageKey callback returned incorrect key");return[r,n]}default:throw new Error("Unknown key type: "+t[r].algorithm)}}}t.SecretStorage=f}).call(this,n(5))},function(e,t,n){"use strict";(function(e){var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.OutgoingRoomKeyRequestManager=void 0;var i=n(4),o=r(n(8));const s=0,a=1,c=2,f=3;function u(e){return e.room_id+" / "+e.session_id}function l(e){return"["+o.map(e,e=>`${e.userId}:${e.deviceId}`).join(",")+"]"}t.OutgoingRoomKeyRequestManager=class{constructor(e,t,n){this._baseApis=e,this._deviceId=t,this._cryptoStore=n,this._sendOutgoingRoomKeyRequestsTimer=null,this._sendOutgoingRoomKeyRequestsRunning=!1,this._clientRunning=!1}start(){this._clientRunning=!0,this._startTimer()}stop(){i.logger.log("stopping OutgoingRoomKeyRequestManager"),this._clientRunning=!1}async sendRoomKeyRequest(e,t,n=!1){const r=await this._cryptoStore.getOutgoingRoomKeyRequest(e);if(r)switch(r.state){case f:case s:return;case c:{const e=n?f:a;await this._cryptoStore.updateOutgoingRoomKeyRequest(r.requestId,c,{state:e,cancellationTxnId:this._baseApis.makeTxnId()});break}case a:if(n){const o=f,s=await this._cryptoStore.updateOutgoingRoomKeyRequest(r.requestId,a,{state:o,cancellationTxnId:this._baseApis.makeTxnId(),requestTxnId:this._baseApis.makeTxnId()});if(!s)return await this.sendRoomKeyRequest(e,t,n);try{await this._sendOutgoingRoomKeyRequestCancellation(s,!0)}catch(e){i.logger.error("Error sending room key request cancellation; will retry later.",e)}}break;default:throw new Error("unhandled state: "+r.state)}else await this._cryptoStore.getOrAddOutgoingRoomKeyRequest({requestBody:e,recipients:t,requestId:this._baseApis.makeTxnId(),state:s});this._startTimer()}cancelRoomKeyRequest(e){return this._cryptoStore.getOutgoingRoomKeyRequest(e).then(t=>{if(t)switch(t.state){case c:case f:return;case s:return i.logger.log("deleting unnecessary room key request for "+u(e)),this._cryptoStore.deleteOutgoingRoomKeyRequest(t.requestId,s);case a:return this._cryptoStore.updateOutgoingRoomKeyRequest(t.requestId,a,{state:c,cancellationTxnId:this._baseApis.makeTxnId()}).then(t=>{t?this._sendOutgoingRoomKeyRequestCancellation(t).catch(e=>{i.logger.error("Error sending room key request cancellation; will retry later.",e),this._startTimer()}):i.logger.log("Tried to cancel room key request for "+u(e)+" but it was already cancelled in another tab")});default:throw new Error("unhandled state: "+t.state)}})}getOutgoingSentRoomKeyRequest(e,t){return this._cryptoStore.getOutgoingRoomKeyRequestsByTarget(e,t,[a])}_startTimer(){if(this._sendOutgoingRoomKeyRequestsTimer)return;this._sendOutgoingRoomKeyRequestsTimer=e.setTimeout(()=>{if(this._sendOutgoingRoomKeyRequestsRunning)throw new Error("RoomKeyRequestSend already in progress!");this._sendOutgoingRoomKeyRequestsRunning=!0,this._sendOutgoingRoomKeyRequests().finally(()=>{this._sendOutgoingRoomKeyRequestsRunning=!1}).catch(e=>{i.logger.warn(`error in OutgoingRoomKeyRequestManager: ${e}`)})},500)}_sendOutgoingRoomKeyRequests(){return this._clientRunning?(i.logger.log("Looking for queued outgoing room key requests"),this._cryptoStore.getOutgoingRoomKeyRequestByState([c,f,s]).then(e=>{if(!e)return i.logger.log("No more outgoing room key requests"),void(this._sendOutgoingRoomKeyRequestsTimer=null);let t;switch(e.state){case s:t=this._sendOutgoingRoomKeyRequest(e);break;case c:t=this._sendOutgoingRoomKeyRequestCancellation(e);break;case f:t=this._sendOutgoingRoomKeyRequestCancellation(e,!0)}return t.then(()=>this._sendOutgoingRoomKeyRequests()).catch(e=>{i.logger.error("Error sending room key request; will retry later.",e),this._sendOutgoingRoomKeyRequestsTimer=null,this._startTimer()})})):(this._sendOutgoingRoomKeyRequestsTimer=null,Promise.resolve())}_sendOutgoingRoomKeyRequest(e){i.logger.log(`Requesting keys for ${u(e.requestBody)}`+` from ${l(e.recipients)}`+`(id ${e.requestId})`);const t={action:"request",requesting_device_id:this._deviceId,request_id:e.requestId,body:e.requestBody};return this._sendMessageToDevices(t,e.recipients,e.requestTxnId||e.requestId).then(()=>this._cryptoStore.updateOutgoingRoomKeyRequest(e.requestId,s,{state:a}))}_sendOutgoingRoomKeyRequestCancellation(e,t){i.logger.log("Sending cancellation for key request for "+`${u(e.requestBody)} to `+`${l(e.recipients)} `+`(cancellation id ${e.cancellationTxnId})`);const n={action:"request_cancellation",requesting_device_id:this._deviceId,request_id:e.requestId};return this._sendMessageToDevices(n,e.recipients,e.cancellationTxnId).then(()=>t?this._cryptoStore.updateOutgoingRoomKeyRequest(e.requestId,f,{state:s}):this._cryptoStore.deleteOutgoingRoomKeyRequest(e.requestId,c))}_sendMessageToDevices(e,t,n){const r={};for(const n of t)r[n.userId]||(r[n.userId]={}),r[n.userId][n.deviceId]=e;return this._baseApis.sendToDevice("m.room_key_request",r,n)}}}).call(this,n(5))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ScanQRCode=t.ShowQRCode=void 0;var r=n(140),i=n(37);const o=/^(?:https?:\/\/)?(?:www\.)?matrix\.to\/#\/([#@!+][^?]+)\?(.+)$/,s=/^key_([^:]+:.+)$/,a=(0,i.errorFactory)("m.qr_code.invalid","Invalid QR code");class c extends r.VerificationBase{_doVerification(){if(!this._done){const e="https://matrix.to/#/"+this._baseApis.getUserId()+"?device="+encodeURIComponent(this._baseApis.deviceId)+"&action=verify&key_ed25519%3A"+encodeURIComponent(this._baseApis.deviceId)+"="+encodeURIComponent(this._baseApis.getDeviceEd25519Key());this.emit("show_qr_code",{url:e})}}}t.ShowQRCode=c,c.NAME="m.qr_code.show.v1";class f extends r.VerificationBase{static factory(...e){return new f(...e)}async _doVerification(){const e=(await new Promise((e,t)=>{this.emit("scan",{done:e,cancel:()=>t((0,i.newUserCancelledError)())})})).match(o);let t;const n={};if(!e)throw a();const r=e[1],c=e[2].split("&").map(e=>e.split("=",2).map(decodeURIComponent));let f;for(const[e,r]of c)if("device"===e)t=r;else if("action"===e)f=r;else{const t=e.match(s);t&&(n[t[1]]=r)}if(!t||"verify"!==f||0===Object.keys(n).length)throw a();if(this.userId){if(this.userId!==r)throw(0,i.newUserMismatchError)({expected:this.userId,actual:r})}else await new Promise((e,t)=>{this.emit("confirm_user_id",{userId:r,confirm:e,cancel:()=>t((0,i.newUserMismatchError)())})});await this._verifyKeys(r,n,(e,t,n)=>{if(t.keys[e]!==n)throw(0,i.newKeyMismatchError)()})}}t.ScanQRCode=f,f.NAME="m.qr_code.scan.v1"},function(e,t,n){"use strict";(function(e){var r=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.SAS=void 0;var i=n(140),o=r(n(80)),s=n(37);const a=["m.key.verification.accept","m.key.verification.key","m.key.verification.mac"];let c;const f=(0,s.errorFactory)("m.mismatched_sas","Mismatched short authentication string"),u=(0,s.errorFactory)("m.mismatched_commitment","Mismatched commitment");const l=[["🐶","dog"],["🐱","cat"],["🦁","lion"],["🐎","horse"],["🦄","unicorn"],["🐷","pig"],["🐘","elephant"],["🐰","rabbit"],["🐼","panda"],["🐓","rooster"],["🐧","penguin"],["🐢","turtle"],["🐟","fish"],["🐙","octopus"],["🦋","butterfly"],["🌷","flower"],["🌳","tree"],["🌵","cactus"],["🍄","mushroom"],["🌏","globe"],["🌙","moon"],["☁️","cloud"],["🔥","fire"],["🍌","banana"],["🍎","apple"],["🍓","strawberry"],["🌽","corn"],["🍕","pizza"],["🎂","cake"],["❤️","heart"],["🙂","smiley"],["🤖","robot"],["🎩","hat"],["👓","glasses"],["🔧","spanner"],["🎅","santa"],["👍","thumbs up"],["☂️","umbrella"],["⌛","hourglass"],["⏰","clock"],["🎁","gift"],["💡","light bulb"],["📕","book"],["✏️","pencil"],["📎","paperclip"],["✂️","scissors"],["🔒","lock"],["🔑","key"],["🔨","hammer"],["☎️","telephone"],["🏁","flag"],["🚂","train"],["🚲","bicycle"],["✈️","aeroplane"],["🚀","rocket"],["🏆","trophy"],["⚽","ball"],["🎸","guitar"],["🎺","trumpet"],["🔔","bell"],["⚓️","anchor"],["🎧","headphones"],["📁","folder"],["📌","pin"]];const d={decimal:function(e){return[1e3+(e[0]<<5|e[1]>>3),1e3+((7&e[1])<<10|e[2]<<2|e[3]>>6),1e3+((63&e[3])<<7|e[4]>>1)]},emoji:function(e){return[e[0]>>2,(3&e[0])<<4|e[1]>>4,(15&e[1])<<2|e[2]>>6,63&e[2],e[3]>>2,(3&e[3])<<4|e[4]>>4,(15&e[4])<<2|e[5]>>6].map(e=>l[e])}};function h(e,t){const n={};for(const r of t)r in d&&(n[r]=d[r](e));return n}const p={"hkdf-hmac-sha256":"calculate_mac","hmac-sha256":"calculate_mac_long_kdf"},m=["curve25519"],g=["sha256"],y=["hkdf-hmac-sha256","hmac-sha256"],b=Object.keys(d),_=new Set(m),v=new Set(g),A=new Set(y),w=new Set(b);function E(e,t){return e instanceof Array?e.filter(e=>t.has(e)):[]}class k extends i.VerificationBase{static get NAME(){return"m.sas.v1"}get events(){return a}async _doVerification(){return await e.Olm.init(),c=c||new e.Olm.Utility,await this._baseApis.downloadKeys([this.userId]),this.startEvent?await this._doRespondVerification():await this._doSendVerification()}async _doSendVerification(){const t="m.key.verification.start",n=this._channel.completeContent(t,{method:k.NAME,from_device:this._baseApis.deviceId,key_agreement_protocols:m,hashes:g,message_authentication_codes:y,short_authentication_string:b});this._channel.sendCompleted(t,n);let r=await this._waitForEvent("m.key.verification.accept"),i=r.getContent();const a=E(i.short_authentication_string,w);if(!(_.has(i.key_agreement_protocol)&&v.has(i.hash)&&A.has(i.message_authentication_code)&&a.length))throw(0,s.newUnknownMethodError)();if("string"!=typeof i.commitment)throw(0,s.newInvalidMessageError)();const l=i.message_authentication_code,d=i.commitment,p=new e.Olm.SAS;try{this._send("m.key.verification.key",{key:p.get_pubkey()}),r=await this._waitForEvent("m.key.verification.key"),i=r.getContent();const e=i.key+o.default.stringify(n);if(c.sha256(e)!==d)throw u();p.set_their_key(i.key);const t="MATRIX_KEY_VERIFICATION_SAS"+this._baseApis.getUserId()+this._baseApis.deviceId+this.userId+this.deviceId+this._channel.transactionId,m=p.generate_bytes(t,6),g=new Promise((e,t)=>{this.emit("show_sas",{sas:h(m,a),confirm:()=>{this._sendMAC(p,l),e()},cancel:()=>t((0,s.newUserCancelledError)()),mismatch:()=>t(f())})});[r]=await Promise.all([this._waitForEvent("m.key.verification.mac").then(e=>(this._expectedEvent="m.key.verification.done",e)),g]),i=r.getContent(),await this._checkMAC(p,i,l)}finally{p.free()}}async _doRespondVerification(){let t=this._channel.completedContentFromEvent(this.startEvent);const n=E(m,new Set(t.key_agreement_protocols))[0],r=E(g,new Set(t.hashes))[0],i=E(y,new Set(t.message_authentication_codes))[0],a=E(t.short_authentication_string,w);if(void 0===n||void 0===r||void 0===i||!a.length)throw(0,s.newUnknownMethodError)();const u=new e.Olm.SAS;try{const e=u.get_pubkey()+o.default.stringify(t);this._send("m.key.verification.accept",{key_agreement_protocol:n,hash:r,message_authentication_code:i,short_authentication_string:a,commitment:c.sha256(e)});let l=await this._waitForEvent("m.key.verification.key");t=l.getContent(),u.set_their_key(t.key),this._send("m.key.verification.key",{key:u.get_pubkey()});const d="MATRIX_KEY_VERIFICATION_SAS"+this.userId+this.deviceId+this._baseApis.getUserId()+this._baseApis.deviceId+this._channel.transactionId,p=u.generate_bytes(d,6),m=new Promise((e,t)=>{this.emit("show_sas",{sas:h(p,a),confirm:()=>{this._sendMAC(u,i),e()},cancel:()=>t((0,s.newUserCancelledError)()),mismatch:()=>t(f())})});[l]=await Promise.all([this._waitForEvent("m.key.verification.mac").then(e=>(this._expectedEvent="m.key.verification.done",e)),m]),t=l.getContent(),await this._checkMAC(u,t,i)}finally{u.free()}}_sendMAC(e,t){const n={},r=[],i="MATRIX_KEY_VERIFICATION_MAC"+this._baseApis.getUserId()+this._baseApis.deviceId+this.userId+this.deviceId+this._channel.transactionId,o=`ed25519:${this._baseApis.deviceId}`;n[o]=e[p[t]](this._baseApis.getDeviceEd25519Key(),i+o),r.push(o);const s=this._baseApis.getCrossSigningId();if(s){const o=`ed25519:${s}`;n[o]=e[p[t]](s,i+o),r.push(o)}const a=e[p[t]](r.sort().join(","),i+"KEY_IDS");this._send("m.key.verification.mac",{mac:n,keys:a})}async _checkMAC(e,t,n){const r="MATRIX_KEY_VERIFICATION_MAC"+this.userId+this.deviceId+this._baseApis.getUserId()+this._baseApis.deviceId+this._channel.transactionId;if(t.keys!==e[p[n]](Object.keys(t.mac).sort().join(","),r+"KEY_IDS"))throw(0,s.newKeyMismatchError)();await this._verifyKeys(this.userId,t.mac,(t,i,o)=>{if(o!==e[p[n]](i.keys[t],r+t))throw(0,s.newKeyMismatchError)()})}}t.SAS=k}).call(this,n(5))},function(e,t,n){var r=n(296);e.exports=r("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},function(e,t,n){"use strict";var r=n(3).Buffer;e.exports=function(e){if(e.length>=255)throw new TypeError("Alphabet too long");var t=new Uint8Array(256);t.fill(255);for(var n=0;n>>0,u=new Uint8Array(f);e[n];){var l=t[e.charCodeAt(n)];if(255===l)return;for(var d=0,h=f-1;(0!==l||d>>0,u[h]=l%256>>>0,l=l/256>>>0;if(0!==l)throw new Error("Non-zero carry");o=d,n++}if(" "!==e[n]){for(var p=f-o;p!==f&&0===u[p];)p++;var m=r.allocUnsafe(i+(f-p));m.fill(0,0,i);for(var g=i;p!==f;)m[g++]=u[p++];return m}}}return{encode:function(t){if(!r.isBuffer(t))throw new TypeError("Expected Buffer");if(0===t.length)return"";for(var n=0,i=0,o=0,c=t.length;o!==c&&0===t[o];)o++,n++;for(var u=(c-o)*f+1>>>0,l=new Uint8Array(u);o!==c;){for(var d=t[o],h=0,p=u-1;(0!==d||h>>0,l[p]=d%s>>>0,d=d/s>>>0;if(0!==d)throw new Error("Non-zero carry");i=h,o++}for(var m=u-i;m!==u&&0===l[m];)m++;for(var g=a.repeat(n);me!==this._deviceId);if(e.length){const t=this.completeContent({code:"m.accepted",reason:"Verification request accepted by another device"});await this._sendToDevices(o.CANCEL_TYPE,t,e)}}}completedContentFromEvent(e){return e.getContent()}completeContent(e,t){return t=Object.assign({},t),this.transactionId&&(t.transaction_id=this.transactionId),e!==o.REQUEST_TYPE&&e!==o.START_TYPE||(t.from_device=this._client.getDeviceId()),e===o.REQUEST_TYPE&&(t.timestamp=Date.now()),t}send(e,t={}){e!==o.REQUEST_TYPE&&e!==o.START_TYPE||this.transactionId||(this.transactionId=a.makeTransactionId());const n=this.completeContent(e,t);return this.sendCompleted(e,n)}sendCompleted(e,t){return e===o.REQUEST_TYPE?this._sendToDevices(e,t,this._devices):this._sendToDevices(e,t,[this._deviceId])}_sendToDevices(e,t,n){if(n.length){const r={};for(const e of n)r[e]=t;return this._client.sendToDevice(e,{[this._userId]:r})}return Promise.resolve()}static makeTransactionId(){return(0,r.randomString)(32)}}t.ToDeviceChannel=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AutoDiscovery=void 0;var r=n(4),i=n(74);class o{static get ERROR_INVALID(){return"Invalid homeserver discovery response"}static get ERROR_GENERIC_FAILURE(){return"Failed to get autodiscovery configuration from server"}static get ERROR_INVALID_HS_BASE_URL(){return"Invalid base_url for m.homeserver"}static get ERROR_INVALID_HOMESERVER(){return"Homeserver URL does not appear to be a valid Matrix homeserver"}static get ERROR_INVALID_IS_BASE_URL(){return"Invalid base_url for m.identity_server"}static get ERROR_INVALID_IDENTITY_SERVER(){return"Identity server URL does not appear to be a valid identity server"}static get ERROR_INVALID_IS(){return"Invalid identity server discovery response"}static get ERROR_MISSING_WELLKNOWN(){return"No .well-known JSON file found"}static get ERROR_INVALID_JSON(){return"Invalid JSON"}static get ALL_ERRORS(){return[o.ERROR_INVALID,o.ERROR_GENERIC_FAILURE,o.ERROR_INVALID_HS_BASE_URL,o.ERROR_INVALID_HOMESERVER,o.ERROR_INVALID_IS_BASE_URL,o.ERROR_INVALID_IDENTITY_SERVER,o.ERROR_INVALID_IS,o.ERROR_MISSING_WELLKNOWN,o.ERROR_INVALID_JSON]}static get FAIL_ERROR(){return"FAIL_ERROR"}static get FAIL_PROMPT(){return"FAIL_PROMPT"}static get PROMPT(){return"PROMPT"}static get SUCCESS(){return"SUCCESS"}static async fromDiscoveryConfig(e){const t={"m.homeserver":{state:o.FAIL_ERROR,error:o.ERROR_INVALID,base_url:null},"m.identity_server":{state:o.PROMPT,error:null,base_url:null}};if(!e||!e["m.homeserver"])return r.logger.error("No m.homeserver key in config"),t["m.homeserver"].state=o.FAIL_PROMPT,t["m.homeserver"].error=o.ERROR_INVALID,Promise.resolve(t);if(!e["m.homeserver"].base_url)return r.logger.error("No m.homeserver base_url in config"),t["m.homeserver"].state=o.FAIL_PROMPT,t["m.homeserver"].error=o.ERROR_INVALID_HS_BASE_URL,Promise.resolve(t);const n=this._sanitizeWellKnownUrl(e["m.homeserver"].base_url);if(!n)return r.logger.error("Invalid base_url for m.homeserver"),t["m.homeserver"].error=o.ERROR_INVALID_HS_BASE_URL,Promise.resolve(t);const i=await this._fetchWellKnownObject(`${n}/_matrix/client/versions`);if(!i||!i.raw.versions)return r.logger.error("Invalid /versions response"),t["m.homeserver"].error=o.ERROR_INVALID_HOMESERVER,t["m.homeserver"].base_url=n,Promise.resolve(t);t["m.homeserver"]={state:o.SUCCESS,error:null,base_url:n};let s="";if(e["m.identity_server"]){const n={"m.homeserver":t["m.homeserver"],"m.identity_server":{state:o.FAIL_PROMPT,error:o.ERROR_INVALID_IS,base_url:null}};if(s=this._sanitizeWellKnownUrl(e["m.identity_server"].base_url),!s)return r.logger.error("Invalid base_url for m.identity_server"),n["m.identity_server"].error=o.ERROR_INVALID_IS_BASE_URL,Promise.resolve(n);const i=await this._fetchWellKnownObject(`${s}/_matrix/identity/api/v1`);if(!i||!i.raw||"SUCCESS"!==i.action)return r.logger.error("Invalid /api/v1 response"),n["m.identity_server"].error=o.ERROR_INVALID_IDENTITY_SERVER,n["m.identity_server"].base_url=s,Promise.resolve(n)}return s&&s.length>0&&(t["m.identity_server"]={state:o.SUCCESS,error:null,base_url:s}),Object.keys(e).map(n=>{if("m.homeserver"===n||"m.identity_server"===n){const r=["error","state","base_url"];for(const i of Object.keys(e[n]))r.includes(i)||(t[n][i]=e[n][i])}else t[n]=e[n]}),Promise.resolve(t)}static async findClientConfig(e){if(!e||"string"!=typeof e||0===e.length)throw new Error("'domain' must be a string of non-zero length");const t={"m.homeserver":{state:o.FAIL_ERROR,error:o.ERROR_INVALID,base_url:null},"m.identity_server":{state:o.PROMPT,error:null,base_url:null}},n=await this._fetchWellKnownObject(`https://${e}/.well-known/matrix/client`);return n&&"SUCCESS"===n.action?o.fromDiscoveryConfig(n.raw):(r.logger.error("No response or error when parsing .well-known"),n.reason&&r.logger.error(n.reason),"IGNORE"===n.action?t["m.homeserver"]={state:o.PROMPT,error:null,base_url:null}:(t["m.homeserver"].state=o.FAIL_PROMPT,t["m.homeserver"].error=o.ERROR_INVALID),Promise.resolve(t))}static async getRawClientConfig(e){if(!e||"string"!=typeof e||0===e.length)throw new Error("'domain' must be a string of non-zero length");const t=await this._fetchWellKnownObject(`https://${e}/.well-known/matrix/client`);return t&&t.raw||{}}static _sanitizeWellKnownUrl(e){if(!e)return!1;try{let t=null;try{t=i.URL?new i.URL(e):new URL(e)}catch(n){t=new URL(e)}if(!t||!t.hostname)return!1;if("http:"!==t.protocol&&"https:"!==t.protocol)return!1;const n=t.port?`:${t.port}`:"",r=t.pathname?t.pathname:"";let o=`${t.protocol}//${t.hostname}${n}${r}`;return o.endsWith("/")&&(o=o.substring(0,o.length-1)),o}catch(e){return r.logger.error(e),!1}}static async _fetchWellKnownObject(e){return new Promise((function(t,r){const i=n(127).getRequest();if(!i)throw new Error("No request library available");i({method:"GET",uri:e,timeout:5e3},(e,n,r)=>{if(e||n.statusCode<200||n.statusCode>=300){let r="FAIL_PROMPT",i=(e?e.message:null)||"General failure";return 404===n.statusCode&&(r="IGNORE",i=o.ERROR_MISSING_WELLKNOWN),void t({raw:{},action:r,reason:i,error:e})}try{t({raw:JSON.parse(r),action:"SUCCESS"})}catch(e){let n=o.ERROR_INVALID;"SyntaxError"===e.name&&(n=o.ERROR_INVALID_JSON),t({raw:{},action:"FAIL_PROMPT",reason:n,error:e})}})}))}}t.AutoDiscovery=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TimelineWindow=o,t.TimelineIndex=s;var r=n(25);n(4);const i=function(){};function o(e,t,n){n=n||{},this._client=e,this._timelineSet=t,this._start=null,this._end=null,this._eventCount=0,this._windowLimit=n.windowLimit||1e3}function s(e,t){this.timeline=e,this.index=t}o.prototype.load=function(e,t){const n=this;t=t||20;const r=function(r){let i;const o=r.getEvents();if(e){for(let t=0;tt.minIndex())return!0}else if(t.index0&&this.unpaginate(t,e!=r.EventTimeline.BACKWARDS),Promise.resolve(!0)}if(!n||0===o)return Promise.resolve(!1);if(!s.timeline.getPaginationToken(e))return i("TimelineWindow: no token"),Promise.resolve(!1);i("TimelineWindow: starting request");const c=this,f=this._client.paginateEventTimeline(s.timeline,{backwards:e==r.EventTimeline.BACKWARDS,limit:t}).finally((function(){s.pendingPaginate=null})).then((function(n){return i("TimelineWindow: request completed with result "+n),!!n&&c.paginate(e,t,!0,o-1)}));return s.pendingPaginate=f,f},o.prototype.unpaginate=function(e,t){const n=t?this._start:this._end;if(e>this._eventCount||e<0)throw new Error("Attemting to unpaginate "+e+" events, but only have "+this._eventCount+" in the timeline");for(;e>0;){const r=t?n.advance(e):n.retreat(e);if(r<=0)throw new Error("Unable to unpaginate any further, but still have "+this._eventCount+" events");e-=r,this._eventCount-=r,i("TimelineWindow.unpaginate: dropped "+r+" (now "+this._eventCount+")")}},o.prototype.getEvents=function(){if(!this._start)return[];const e=[];let t=this._start.timeline;for(;;){const n=t.getEvents();let i=0,o=n.length;t===this._start.timeline&&(i=this._start.index+t.getBaseIndex()),t===this._end.timeline&&(o=this._end.index+t.getBaseIndex());for(let t=i;t0)return this.index+=t,t;const n=this.timeline.getNeighbouringTimeline(e<0?r.EventTimeline.BACKWARDS:r.EventTimeline.FORWARDS);return n?(this.timeline=n,this.index=e<0?this.maxIndex():this.minIndex(),i("paginate: switched to new neighbour"),this.advance(e)):0},s.prototype.retreat=function(e){return-1*this.advance(-1*e)}},function(e,t,n){"use strict";var r=n(6),i=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.InteractiveAuth=c;var o=i(n(74)),s=r(n(8)),a=n(4);function c(e){this._matrixClient=e.matrixClient,this._data=e.authData||{},this._requestCallback=e.doRequest,this._busyChangedCallback=e.busyChanged,this._stateUpdatedCallback=e.stateUpdated||e.startAuthStage,this._resolveFunc=null,this._rejectFunc=null,this._inputs=e.inputs||{},this._requestEmailTokenCallback=e.requestEmailToken,e.sessionId&&(this._data.session=e.sessionId),this._clientSecret=e.clientSecret||this._matrixClient.generateClientSecret(),this._emailSid=e.emailSid,void 0===this._emailSid&&(this._emailSid=null),this._requestingEmailToken=!1,this._chosenFlow=null,this._currentStage=null,this._submitPromise=null}c.prototype={attemptAuth:function(){return new Promise((e,t)=>{this._resolveFunc=e,this._rejectFunc=t,this._data.flows?this._startNextAuthStage():(this._busyChangedCallback&&this._busyChangedCallback(!0),this._doRequest(this._data).finally(()=>{this._busyChangedCallback&&this._busyChangedCallback(!1)}))})},poll:async function(){if(!this._data.session)return;if(this._submitPromise)return;let e={};if("m.login.email.identity"==this._currentStage&&this._emailSid){const t={sid:this._emailSid,client_secret:this._clientSecret};if(await this._matrixClient.doesServerRequireIdServerParam()){const e=o.default.parse(this._matrixClient.getIdentityServerUrl());t.id_server=e.host}e={type:"m.login.email.identity",threepid_creds:t}}this.submitAuthDict(e,!0)},getSessionId:function(){return this._data?this._data.session:void 0},getClientSecret:function(){return this._clientSecret},getStageParams:function(e){let t={};return this._data&&this._data.params&&(t=this._data.params),t[e]},getChosenFlow(){return this._chosenFlow},submitAuthDict:async function(e,t){if(!this._resolveFunc)throw new Error("submitAuthDict() called before attemptAuth()");for(!t&&this._busyChangedCallback&&this._busyChangedCallback(!0);this._submitPromise;)try{await this._submitPromise}catch(e){}const n={session:this._data.session};s.extend(n,e);try{this._submitPromise=this._doRequest(n,t),await this._submitPromise}finally{this._submitPromise=null,!t&&this._busyChangedCallback&&this._busyChangedCallback(!1)}},getEmailSid:function(){return this._emailSid},setEmailSid:function(e){this._emailSid=e},_doRequest:async function(e,t){try{const n=await this._requestCallback(e,t);this._resolveFunc(n)}catch(e){const n=e.data?e.data.flows:null,r=Boolean(this._data.flows)||Boolean(n);if(401===e.httpStatus&&e.data&&r||(t?a.logger.log("Background poll request failed doing UI auth: ignoring",e):this._rejectFunc(e)),e.data.flows||e.data.completed||e.data.session||(e.data.flows=this._data.flows,e.data.completed=this._data.completed,e.data.session=this._data.session),this._data=e.data,this._startNextAuthStage(),!this._emailSid&&!this._requestingEmailToken&&this._chosenFlow.stages.includes("m.login.email.identity")){this._requestingEmailToken=!0;try{const e=await this._requestEmailTokenCallback(this._inputs.emailAddress,this._clientSecret,1,this._data.session);this._emailSid=e.sid}catch(e){this._rejectFunc(e)}finally{this._requestingEmailToken=!1}}}},_startNextAuthStage:function(){const e=this._chooseStage();if(!e)throw new Error("No incomplete flows from the server");if(this._currentStage=e,"m.login.dummy"===e)return void this.submitAuthDict({type:"m.login.dummy"});if(this._data.errcode||this._data.error)return void this._stateUpdatedCallback(e,{errcode:this._data.errcode||"",error:this._data.error||""});const t={};"m.login.email.identity"==e&&(t.emailSid=this._emailSid),this._stateUpdatedCallback(e,t)},_chooseStage:function(){null===this._chosenFlow&&(this._chosenFlow=this._chooseFlow()),a.logger.log("Active flow => %s",JSON.stringify(this._chosenFlow));const e=this._firstUncompletedStage(this._chosenFlow);return a.logger.log("Next stage: %s",e),e},_chooseFlow:function(){const e=this._data.flows||[],t=Boolean(this._inputs.emailAddress)||Boolean(this._emailSid),n=Boolean(this._inputs.phoneCountry)&&Boolean(this._inputs.phoneNumber);for(const r of e){let e=!1,i=!1;for(const t of r.stages)"m.login.email.identity"===t?e=!0:"m.login.msisdn"==t&&(i=!0);if(e==t&&i==n)return r}const r=new Error("No appropriate authentication flow found");throw r.name="NoAuthFlowFoundError",r.required_stages=[],t&&r.required_stages.push("m.login.email.identity"),n&&r.required_stages.push("m.login.msisdn"),r.available_flows=e,r},_firstUncompletedStage:function(e){const t=(this._data||{}).completed||[];for(let n=0;n(l.logger.log("IndexedDBStore.startup: loading presence events"),this.backend.getUserPresenceEvents())).then(e=>{l.logger.log("IndexedDBStore.startup: processing presence events"),e.forEach(([e,t])=>{const n=new f.User(e);t&&n.setPresenceEvent(new u.MatrixEvent(t)),this._userModifiedMap[n.userId]=n.getLastModifiedTime(),this.storeUser(n)})}))},d.prototype.getSavedSync=h((function(){return this.backend.getSavedSync()}),"getSavedSync"),d.prototype.isNewlyCreated=h((function(){return this.backend.isNewlyCreated()}),"isNewlyCreated"),d.prototype.getSavedSyncToken=h((function(){return this.backend.getNextBatchToken()}),"getSavedSyncToken"),d.prototype.deleteAllData=h((function(){return i.MemoryStore.prototype.deleteAllData.call(this),this.backend.clearDatabase().then(()=>{l.logger.log("Deleted indexeddb data.")},e=>{throw l.logger.error(`Failed to delete indexeddb data: ${e}`),e})})),d.prototype.wantsSave=function(){return Date.now()-this._syncTs>3e5},d.prototype.save=function(e){return e||this.wantsSave()?this._reallySave():Promise.resolve()},d.prototype._reallySave=h((function(){this._syncTs=Date.now();const e=[];for(const t of this.getUsers())this._userModifiedMap[t.userId]!==t.getLastModifiedTime()&&t.events.presence&&(e.push([t.userId,t.events.presence.event]),this._userModifiedMap[t.userId]=t.getLastModifiedTime());return this.backend.syncToDatabase(e)})),d.prototype.setSyncData=h((function(e){return this.backend.setSyncData(e)}),"setSyncData"),d.prototype.getOutOfBandMembers=h((function(e){return this.backend.getOutOfBandMembers(e)}),"getOutOfBandMembers"),d.prototype.setOutOfBandMembers=h((function(e,t){return i.MemoryStore.prototype.setOutOfBandMembers.call(this,e,t),this.backend.setOutOfBandMembers(e,t)}),"setOutOfBandMembers"),d.prototype.clearOutOfBandMembers=h((function(e){return i.MemoryStore.prototype.clearOutOfBandMembers.call(this),this.backend.clearOutOfBandMembers(e)}),"clearOutOfBandMembers"),d.prototype.getClientOptions=h((function(){return this.backend.getClientOptions()}),"getClientOptions"),d.prototype.storeClientOptions=h((function(e){return i.MemoryStore.prototype.storeClientOptions.call(this,e),this.backend.storeClientOptions(e)}),"storeClientOptions")}).call(this,n(5))},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.LocalIndexedDBStoreBackend=d;var i=n(143),o=r(n(8)),s=r(n(136)),a=n(4);function c(e,t,n){const r=e.openCursor(t);return new Promise((e,t)=>{const i=[];r.onerror=e=>{t(new Error("Query failed: "+e.target.errorCode))},r.onsuccess=t=>{const r=t.target.result;r?(i.push(n(r)),r.continue()):e(i)}})}function f(e){return new Promise((t,n)=>{e.oncomplete=function(e){t(e)},e.onerror=function(e){n(e.target.error)}})}function u(e){return new Promise((t,n)=>{e.onsuccess=function(e){t(e)},e.onerror=function(e){n(e.target.error)}})}function l(e){return u(e).then(e=>e.target.result)}function d(e,t){this.indexedDB=e,this._dbName="matrix-js-sdk:"+(t||"default"),this.db=null,this._disconnected=!0,this._syncAccumulator=new i.SyncAccumulator,this._isNewlyCreated=!1}d.exists=function(e,t){return t="matrix-js-sdk:"+(t||"default"),s.exists(e,t)},d.prototype={connect:function(){if(!this._disconnected)return a.logger.log("LocalIndexedDBStoreBackend.connect: already connected or connecting"),Promise.resolve();this._disconnected=!1,a.logger.log("LocalIndexedDBStoreBackend.connect: connecting...");const e=this.indexedDB.open(this._dbName,3);return e.onupgradeneeded=e=>{const t=e.target.result,n=e.oldVersion;a.logger.log(`LocalIndexedDBStoreBackend.connect: upgrading from ${n}`),n<1&&(this._isNewlyCreated=!0,function(e){e.createObjectStore("users",{keyPath:["userId"]}),e.createObjectStore("accountData",{keyPath:["type"]}),e.createObjectStore("sync",{keyPath:["clobber"]})}(t)),n<2&&function(e){e.createObjectStore("oob_membership_events",{keyPath:["room_id","state_key"]}).createIndex("room","room_id")}(t),n<3&&function(e){e.createObjectStore("client_options",{keyPath:["clobber"]})}(t)},e.onblocked=()=>{a.logger.log("can't yet open LocalIndexedDBStoreBackend because it is open elsewhere")},a.logger.log("LocalIndexedDBStoreBackend.connect: awaiting connection..."),u(e).then(e=>(a.logger.log("LocalIndexedDBStoreBackend.connect: connected"),this.db=e.target.result,this.db.onversionchange=()=>{this.db.close()},this._init()))},isNewlyCreated:function(){return Promise.resolve(this._isNewlyCreated)},_init:function(){return Promise.all([this._loadAccountData(),this._loadSyncData()]).then(([e,t])=>{a.logger.log("LocalIndexedDBStoreBackend: loaded initial data"),this._syncAccumulator.accumulate({next_batch:t.nextBatch,rooms:t.roomsData,groups:t.groupsData,account_data:{events:e}})})},getOutOfBandMembers:function(e){return new Promise((t,n)=>{const r=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),i=IDBKeyRange.only(e),o=r.openCursor(i),s=[];let a=!1;o.onsuccess=e=>{const n=e.target.result;if(!n)return s.length||a?t(s):t(null);const r=n.value;r.oob_written?a=!0:s.push(r),n.continue()},o.onerror=e=>{n(e)}}).then(t=>(a.logger.log(`LL: got ${t&&t.length}`+` membershipEvents from storage for room ${e} ...`),t))},setOutOfBandMembers:async function(e,t){a.logger.log(`LL: backend about to store ${t.length}`+` members for ${e}`);const n=this.db.transaction(["oob_membership_events"],"readwrite"),r=n.objectStore("oob_membership_events");t.forEach(e=>{r.put(e)});const i={room_id:e,oob_written:!0,state_key:0};r.put(i),await f(n),a.logger.log(`LL: backend done storing for ${e}!`)},clearOutOfBandMembers:async function(e){const t=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),n=IDBKeyRange.only(e),r=l(t.openKeyCursor(n,"next")).then(e=>e&&e.primaryKey[1]),i=l(t.openKeyCursor(n,"prev")).then(e=>e&&e.primaryKey[1]),[o,s]=await Promise.all([r,i]),c=this.db.transaction(["oob_membership_events"],"readwrite").objectStore("oob_membership_events"),f=IDBKeyRange.bound([e,o],[e,s]);var u;a.logger.log("LL: Deleting all users + marker in storage for "+`room ${e}, with key range:`,[e,o],[e,s]),await(u=c.delete(f),new Promise((e,t)=>{u.onsuccess=()=>e(u),u.onerror=e=>t(e)}))},clearDatabase:function(){return new Promise((e,t)=>{a.logger.log(`Removing indexeddb instance: ${this._dbName}`);const n=this.indexedDB.deleteDatabase(this._dbName);n.onblocked=()=>{a.logger.log(`can't yet delete indexeddb ${this._dbName}`+" because it is open elsewhere")},n.onerror=t=>{a.logger.warn(`unable to delete js-sdk store indexeddb: ${t.target.error}`),e()},n.onsuccess=()=>{a.logger.log(`Removed indexeddb instance: ${this._dbName}`),e()}})},getSavedSync:function(e){void 0===e&&(e=!0);const t=this._syncAccumulator.getJSON();return t.nextBatch?e?Promise.resolve(o.deepCopy(t)):Promise.resolve(t):Promise.resolve(null)},getNextBatchToken:function(){return Promise.resolve(this._syncAccumulator.getNextBatchToken())},setSyncData:function(e){return Promise.resolve().then(()=>{this._syncAccumulator.accumulate(e)})},syncToDatabase:function(e){const t=this._syncAccumulator.getJSON();return Promise.all([this._persistUserPresenceEvents(e),this._persistAccountData(t.accountData),this._persistSyncData(t.nextBatch,t.roomsData,t.groupsData)])},_persistSyncData:function(e,t,n){return a.logger.log("Persisting sync data up to ",e),o.promiseTry(()=>{const r=this.db.transaction(["sync"],"readwrite");return r.objectStore("sync").put({clobber:"-",nextBatch:e,roomsData:t,groupsData:n}),f(r)})},_persistAccountData:function(e){return o.promiseTry(()=>{const t=this.db.transaction(["accountData"],"readwrite"),n=t.objectStore("accountData");for(let t=0;t{const t=this.db.transaction(["users"],"readwrite"),n=t.objectStore("users");for(const t of e)n.put({userId:t[0],event:t[1]});return f(t)})},getUserPresenceEvents:function(){return o.promiseTry(()=>c(this.db.transaction(["users"],"readonly").objectStore("users"),void 0,e=>[e.value.userId,e.value.event]))},_loadAccountData:function(){return a.logger.log("LocalIndexedDBStoreBackend: loading account data..."),o.promiseTry(()=>c(this.db.transaction(["accountData"],"readonly").objectStore("accountData"),void 0,e=>e.value).then(e=>(a.logger.log("LocalIndexedDBStoreBackend: loaded account data"),e)))},_loadSyncData:function(){return a.logger.log("LocalIndexedDBStoreBackend: loading sync data..."),o.promiseTry(()=>c(this.db.transaction(["sync"],"readonly").objectStore("sync"),void 0,e=>e.value).then(e=>(a.logger.log("LocalIndexedDBStoreBackend: loaded sync data"),e.length>1&&a.logger.warn("loadSyncData: More than 1 sync row found."),e.length>0?e[0]:{})))},getClientOptions:function(){return Promise.resolve().then(()=>c(this.db.transaction(["client_options"],"readonly").objectStore("client_options"),void 0,e=>{if(e.value&&e.value&&e.value.options)return e.value.options}).then(e=>e[0]))},storeClientOptions:async function(e){const t=this.db.transaction(["client_options"],"readwrite");t.objectStore("client_options").put({clobber:"-",options:e}),await f(t)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RemoteIndexedDBStoreBackend=o;var r=n(4),i=n(8);function o(e,t,n){this._workerScript=e,this._dbName=t,this._workerApi=n,this._worker=null,this._nextSeq=0,this._inFlight={},this._startPromise=null}o.prototype={connect:function(){return this._ensureStarted().then(()=>this._doCmd("connect"))},clearDatabase:function(){return this._ensureStarted().then(()=>this._doCmd("clearDatabase"))},isNewlyCreated:function(){return this._doCmd("isNewlyCreated")},getSavedSync:function(){return this._doCmd("getSavedSync")},getNextBatchToken:function(){return this._doCmd("getNextBatchToken")},setSyncData:function(e){return this._doCmd("setSyncData",[e])},syncToDatabase:function(e){return this._doCmd("syncToDatabase",[e])},getOutOfBandMembers:function(e){return this._doCmd("getOutOfBandMembers",[e])},setOutOfBandMembers:function(e,t){return this._doCmd("setOutOfBandMembers",[e,t])},clearOutOfBandMembers:function(e){return this._doCmd("clearOutOfBandMembers",[e])},getClientOptions:function(){return this._doCmd("getClientOptions")},storeClientOptions:function(e){return this._doCmd("storeClientOptions",[e])},getUserPresenceEvents:function(){return this._doCmd("getUserPresenceEvents")},_ensureStarted:function(){return null===this._startPromise&&(this._worker=new this._workerApi(this._workerScript),this._worker.onmessage=this._onWorkerMessage.bind(this),this._startPromise=this._doCmd("_setupWorker",[this._dbName]).then(()=>{r.logger.log("IndexedDB worker is ready")})),this._startPromise},_doCmd:function(e,t){return Promise.resolve().then(()=>{const n=this._nextSeq++,r=(0,i.defer)();return this._inFlight[n]=r,this._worker.postMessage({command:e,seq:n,args:t}),r.promise})},_onWorkerMessage:function(e){const t=e.data;if("cmd_success"==t.command||"cmd_fail"==t.command){if(void 0===t.seq)return void r.logger.error("Got reply from worker with no seq");const e=this._inFlight[t.seq];if(void 0===e)return void r.logger.error("Got reply for unknown seq "+t.seq);if(delete this._inFlight[t.seq],"cmd_success"==t.command)e.resolve(t.result);else{const n=new Error(t.error.message);n.name=t.error.name,e.reject(n)}}else r.logger.warn("Unrecognised message from worker: "+t)}}},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.WebStorageSessionStore=s;var i=r(n(8));n(4);const o="session.e2e.";function s(e){if(this.store=e,!(i.isFunction(e.getItem)&&i.isFunction(e.setItem)&&i.isFunction(e.removeItem)&&i.isFunction(e.key)&&"number"==typeof e.length))throw new Error("Supplied webStore does not meet the WebStorage API interface")}s.prototype={removeEndToEndAccount:function(){this.store.removeItem(a)},getEndToEndAccount:function(){return this.store.getItem(a)},getAllEndToEndDevices:function(){const e=l(""),t={};for(let n=0;n>18&63,o=c>>12&63,s=c>>6&63,a=63&c,h[l++]=f.charAt(i)+f.charAt(o)+f.charAt(s)+f.charAt(a)}while(u299)&&r.error){for(var i in e=new Error("CouchDB error: "+(r.error.reason||r.error.error)),r)e[i]=r[i];return n(e,t,r)}return n(e,t,r)}))},t})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){"use strict";var r=n(309),i=n(310),o=n(144);e.exports={formats:o,parse:i,stringify:r}},function(e,t,n){"use strict";var r=n(83),i=n(144),o=Object.prototype.hasOwnProperty,s={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},a=Array.isArray,c=Array.prototype.push,f=function(e,t){c.apply(e,a(t)?t:[t])},u=Date.prototype.toISOString,l=i.default,d={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:r.encode,encodeValuesOnly:!1,format:l,formatter:i.formatters[l],indices:!1,serializeDate:function(e){return u.call(e)},skipNulls:!1,strictNullHandling:!1},h=function e(t,n,i,o,s,c,u,l,h,p,m,g,y){var b,_=t;if("function"==typeof u?_=u(n,_):_ instanceof Date?_=p(_):"comma"===i&&a(_)&&(_=_.join(",")),null===_){if(o)return c&&!g?c(n,d.encoder,y,"key"):n;_=""}if("string"==typeof(b=_)||"number"==typeof b||"boolean"==typeof b||"symbol"==typeof b||"bigint"==typeof b||r.isBuffer(_))return c?[m(g?n:c(n,d.encoder,y,"key"))+"="+m(c(_,d.encoder,y,"value"))]:[m(n)+"="+m(String(_))];var v,A=[];if(void 0===_)return A;if(a(u))v=u;else{var w=Object.keys(_);v=l?w.sort(l):w}for(var E=0;E0?b+y:""}},function(e,t,n){"use strict";var r=n(83),i=Object.prototype.hasOwnProperty,o=Array.isArray,s={allowDots:!1,allowPrototypes:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:r.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},a=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},c=function(e,t,n){if(e){var r=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,s=n.depth>0&&/(\[[^[\]]*])/.exec(r),a=s?r.slice(0,s.index):r,c=[];if(a){if(!n.plainObjects&&i.call(Object.prototype,a)&&!n.allowPrototypes)return;c.push(a)}for(var f=0;n.depth>0&&null!==(s=o.exec(r))&&f=0;--i){var o,s=e[i];if("[]"===s&&n.parseArrays)o=[].concat(r);else{o=n.plainObjects?Object.create(null):{};var a="["===s.charAt(0)&&"]"===s.charAt(s.length-1)?s.slice(1,-1):s,c=parseInt(a,10);n.parseArrays||""!==a?!isNaN(c)&&s!==a&&String(c)===a&&c>=0&&n.parseArrays&&c<=n.arrayLimit?(o=[])[c]=r:o[a]=r:o={0:r}}r=o}return r}(c,t,n)}};e.exports=function(e,t){var n=function(e){if(!e)return s;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new Error("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?s.charset:e.charset;return{allowDots:void 0===e.allowDots?s.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:s.allowPrototypes,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:s.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:s.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:s.comma,decoder:"function"==typeof e.decoder?e.decoder:s.decoder,delimiter:"string"==typeof e.delimiter||r.isRegExp(e.delimiter)?e.delimiter:s.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:s.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:s.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:s.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:s.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:s.strictNullHandling}}(t);if(""===e||null==e)return n.plainObjects?Object.create(null):{};for(var f="string"==typeof e?function(e,t){var n,c={},f=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,u=t.parameterLimit===1/0?void 0:t.parameterLimit,l=f.split(t.delimiter,u),d=-1,h=t.charset;if(t.charsetSentinel)for(n=0;n-1&&(m=m.split(",")),g.indexOf("[]=")>-1&&(m=o(m)?[m]:m),i.call(c,p)?c[p]=r.combine(c[p],m):c[p]=m}return c}(e,n):e,u=n.plainObjects?Object.create(null):{},l=Object.keys(f),d=0;d>>((3&t)<<3)&255;return i}}},function(e,t,n){var r=n(314),i=n(315);e.exports=r("v5",80,i)},function(e,t,n){var r=n(145);e.exports=function(e,t,n){var i=function(e,i,o,s){var a=o&&s||0;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=new Array(e.length),n=0;n>>32-t}e.exports=function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var o=unescape(encodeURIComponent(e));e=new Array(o.length);for(var s=0;s>>0;y=g,g=m,m=i(p,30)>>>0,p=h,h=_}n[0]=n[0]+h>>>0,n[1]=n[1]+p>>>0,n[2]=n[2]+m>>>0,n[3]=n[3]+g>>>0,n[4]=n[4]+y>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}},function(e,t,n){"use strict";t.__esModule=!0;var r,i=n(0),o=(r=i)&&r.__esModule?r:{default:r},s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(317));function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var f=s.options,u=f.Options;function l(e,t){for(var n=s.tokenize(e),r=[],i=0,a=0;a2&&void 0!==arguments[2]?arguments[2]:0;if(0===o.default.Children.count(t.props.children))return t;var i=[];o.default.Children.forEach(t.props.children,(function(t){"string"==typeof t?(r+=1,i.push.apply(i,l(t,n))):o.default.isValidElement(t)?"string"==typeof t.type&&f.contains(n.ignoreTags,t.type.toUpperCase())?i.push(t):i.push(e(t,n,++r)):i.push(t)}));var s={key:"linkified-element-"+r};for(var a in t.props)s[a]=t.props[a];return o.default.cloneElement(t,s,i)}(o.default.createElement(r,e),n,0)},t}(o.default.Component);t.default=d},function(e,t,n){"use strict";t.__esModule=!0,t.tokenize=t.test=t.scanner=t.parser=t.options=t.inherits=t.find=void 0;var r=n(53),i=a(n(318)),o=a(n(319)),s=a(n(320));function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var c=function(e){return s.run(o.run(e))};t.find=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=c(e),r=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:null,n=c(e);return 1===n.length&&n[0].isLink&&(!t||n[0].type===t)},t.tokenize=c},function(e,t,n){"use strict";t.__esModule=!0;var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i={defaultProtocol:"http",events:null,format:s,formatHref:s,nl2br:!1,tagName:"a",target:function(e,t){return"url"===t?"_blank":null},validate:!0,ignoreTags:[],attributes:null,className:"linkified"};function o(e){e=e||{},this.defaultProtocol=e.hasOwnProperty("defaultProtocol")?e.defaultProtocol:i.defaultProtocol,this.events=e.hasOwnProperty("events")?e.events:i.events,this.format=e.hasOwnProperty("format")?e.format:i.format,this.formatHref=e.hasOwnProperty("formatHref")?e.formatHref:i.formatHref,this.nl2br=e.hasOwnProperty("nl2br")?e.nl2br:i.nl2br,this.tagName=e.hasOwnProperty("tagName")?e.tagName:i.tagName,this.target=e.hasOwnProperty("target")?e.target:i.target,this.validate=e.hasOwnProperty("validate")?e.validate:i.validate,this.ignoreTags=[],this.attributes=e.attributes||e.linkAttributes||i.attributes,this.className=e.hasOwnProperty("className")?e.className:e.linkClass||i.className;for(var t=e.hasOwnProperty("ignoreTags")?e.ignoreTags:i.ignoreTags,n=0;n",l(i.CLOSEANGLEBRACKET)).on(")",l(i.CLOSEPAREN)).on("&",l(i.AMPERSAND)).on([",",";","!",'"',"'"],l(i.PUNCTUATION)),d.on("\n",l(i.NL)).on(f,g),g.on(f,g);for(var y=0;y=0&&f++,a++,i++;if(!(f<0)){i-=f,a-=f;var u=c.emit();r.push(new u(e.substr(i-a,a)))}}return r},t.start=P},function(e,t,n){"use strict";t.__esModule=!0,t.start=t.run=t.TOKENS=t.State=void 0;var r=n(146),i=n(321),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(i),s=n(84);var a=function(e){return new r.TokenState(e)},c=a(),f=a(),u=a(),l=a(),d=a(),h=a(),p=a(),m=a(i.URL),g=a(),y=a(i.URL),b=a(i.URL),_=a(),v=a(),A=a(),w=a(),E=a(),k=a(i.URL),S=a(i.URL),I=a(i.URL),T=a(i.URL),R=a(),O=a(),x=a(),C=a(),P=a(),M=a(),D=a(i.EMAIL),B=a(),N=a(i.EMAIL),j=a(i.MAILTOEMAIL),U=a(),L=a(),F=a(),q=a(),K=a(i.NL);c.on(s.NL,K).on(s.PROTOCOL,f).on(s.MAILTO,u).on(s.SLASH,l),f.on(s.SLASH,l),l.on(s.SLASH,d),c.on(s.TLD,h).on(s.DOMAIN,h).on(s.LOCALHOST,m).on(s.NUM,h),d.on(s.TLD,b).on(s.DOMAIN,b).on(s.NUM,b).on(s.LOCALHOST,b),h.on(s.DOT,p),P.on(s.DOT,M),p.on(s.TLD,m).on(s.DOMAIN,h).on(s.NUM,h).on(s.LOCALHOST,h),M.on(s.TLD,D).on(s.DOMAIN,P).on(s.NUM,P).on(s.LOCALHOST,P),m.on(s.DOT,p),D.on(s.DOT,M),m.on(s.COLON,g).on(s.SLASH,b),g.on(s.NUM,y),y.on(s.SLASH,b),D.on(s.COLON,B),B.on(s.NUM,N);var z=[s.DOMAIN,s.AT,s.LOCALHOST,s.NUM,s.PLUS,s.POUND,s.PROTOCOL,s.SLASH,s.TLD,s.UNDERSCORE,s.SYM,s.AMPERSAND],G=[s.COLON,s.DOT,s.QUERY,s.PUNCTUATION,s.CLOSEBRACE,s.CLOSEBRACKET,s.CLOSEANGLEBRACKET,s.CLOSEPAREN,s.OPENBRACE,s.OPENBRACKET,s.OPENANGLEBRACKET,s.OPENPAREN];b.on(s.OPENBRACE,v).on(s.OPENBRACKET,A).on(s.OPENANGLEBRACKET,w).on(s.OPENPAREN,E),_.on(s.OPENBRACE,v).on(s.OPENBRACKET,A).on(s.OPENANGLEBRACKET,w).on(s.OPENPAREN,E),v.on(s.CLOSEBRACE,b),A.on(s.CLOSEBRACKET,b),w.on(s.CLOSEANGLEBRACKET,b),E.on(s.CLOSEPAREN,b),k.on(s.CLOSEBRACE,b),S.on(s.CLOSEBRACKET,b),I.on(s.CLOSEANGLEBRACKET,b),T.on(s.CLOSEPAREN,b),R.on(s.CLOSEBRACE,b),O.on(s.CLOSEBRACKET,b),x.on(s.CLOSEANGLEBRACKET,b),C.on(s.CLOSEPAREN,b),v.on(z,k),A.on(z,S),w.on(z,I),E.on(z,T),v.on(G,R),A.on(G,O),w.on(G,x),E.on(G,C),k.on(z,k),S.on(z,S),I.on(z,I),T.on(z,T),k.on(G,k),S.on(G,S),I.on(G,I),T.on(G,T),R.on(z,k),O.on(z,S),x.on(z,I),C.on(z,T),R.on(G,R),O.on(G,O),x.on(G,x),C.on(G,C),b.on(z,b),_.on(z,b),b.on(G,_),_.on(G,_),u.on(s.TLD,j).on(s.DOMAIN,j).on(s.NUM,j).on(s.LOCALHOST,j),j.on(z,j).on(G,U),U.on(z,j).on(G,U);var H=[s.DOMAIN,s.NUM,s.PLUS,s.POUND,s.QUERY,s.UNDERSCORE,s.SYM,s.AMPERSAND,s.TLD];h.on(H,L).on(s.AT,F),m.on(H,L).on(s.AT,F),p.on(H,L),L.on(H,L).on(s.AT,F).on(s.DOT,q),q.on(H,L),F.on(s.TLD,P).on(s.DOMAIN,P).on(s.LOCALHOST,D);t.State=r.TokenState,t.TOKENS=o,t.run=function(e){for(var t=e.length,n=0,r=[],o=[];n=0&&d++,n++,u++;if(d<0)for(var h=n-u;h0&&(r.push(new i.TEXT(o)),o=[]),n-=d,u-=d;var p=l.emit();r.push(new p(e.slice(n-u,n)))}}return o.length>0&&r.push(new i.TEXT(o)),r},t.start=c},function(e,t,n){"use strict";t.__esModule=!0,t.URL=t.TEXT=t.NL=t.EMAIL=t.MAILTOEMAIL=t.Base=void 0;var r=n(147),i=n(53),o=n(84);function s(e){return e instanceof o.DOMAIN||e instanceof o.TLD}var a=(0,r.createTokenClass)();a.prototype={type:"token",isLink:!1,toString:function(){for(var e=[],t=0;t0&&void 0!==arguments[0]?arguments[0]:"http";return{type:this.type,value:this.toString(),href:this.toHref(e)}}};var c=(0,i.inherits)(a,(0,r.createTokenClass)(),{type:"email",isLink:!0}),f=(0,i.inherits)(a,(0,r.createTokenClass)(),{type:"email",isLink:!0,toHref:function(){return"mailto:"+this.toString()}}),u=(0,i.inherits)(a,(0,r.createTokenClass)(),{type:"text"}),l=(0,i.inherits)(a,(0,r.createTokenClass)(),{type:"nl"}),d=(0,i.inherits)(a,(0,r.createTokenClass)(),{type:"url",isLink:!0,toHref:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"http",t=!1,n=!1,r=this.v,i=[],a=0;r[a]instanceof o.PROTOCOL;)t=!0,i.push(r[a].toString().toLowerCase()),a++;for(;r[a]instanceof o.SLASH;)n=!0,i.push(r[a].toString()),a++;for(;s(r[a]);)i.push(r[a].toString().toLowerCase()),a++;for(;a>>0|(l-a|0)>>>0>2e3){l=-1;h=d;return l|0}a=c;s=a+36|0;do{o[a>>2]=o[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(s|0));t=c+4|0;if((o[c>>2]|0)>>>0>>0)do{Et(t,32,38078,1,t);l=(o[c>>2]|0)+1|0;o[c>>2]=l}while(l>>>0<(o[u>>2]|0)>>>0);l=f+4|0;Et(t,32,38077,1,l);o[f>>2]=o[c>>2];u=o[e+4>>2]|0;l=Qs[o[(o[u>>2]|0)+16>>2]&3](u,l,32,o[n+8>>2]|0,o[n+12>>2]|0,o[n+24>>2]|0,o[n+28>>2]|0,r,i)|0;Hr(c,36);h=d;return l|0}function Rn(e,t,n){e=e|0;t=t|0;n=n|0;if(e|0)r[e>>0]=3;if(t|0)r[t>>0]=1;if(!n)return;r[n>>0]=3;return}function On(){return-1}function xn(e){e=e|0;return Si(o[e+7368>>2]|0)|0}function Cn(e){e=e|0;return Si(o[e+3216>>2]|0)|0}function Pn(e){e=e|0;return Si(o[e>>2]|0)|0}function Mn(){return 7372}function Dn(){return 3320}function Bn(){return 4}function Nn(e){e=e|0;Hr(e,7372);Ir(e);return e|0}function jn(e){e=e|0;Hr(e,3320);Je(e);return e|0}function Un(e){e=e|0;Hr(e,4);dn(e);return e|0}function Ln(e){e=e|0;Hr(e,7372);Ir(e);return 7372}function Fn(e){e=e|0;Hr(e,3320);Je(e);return 3320}function qn(e){e=e|0;Hr(e,4);dn(e);return 4}function Kn(e){e=e|0;return Ii(qr(e)|0)|0}function zn(e){e=e|0;return Ii(lt(e)|0)|0}function Gn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=qr(e)|0;if((Ii(s)|0)>>>0>i>>>0){o[e+7368>>2]=2;s=-1;return s|0}else{Kr(Ti(r,s)|0,e)|0;s=Ri(t,n,r,s)|0;return s|0}return 0}function Hn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=lt(e)|0;if((Ii(s)|0)>>>0>i>>>0){o[e+3216>>2]=2;s=-1;return s|0}else{dt(Ti(r,s)|0,e)|0;s=Ri(t,n,r,s)|0;return s|0}return 0}function Vn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=e+7368|0;t=Oi(t,n,r,i,s)|0;if((t|0)==-1){s=-1;return s|0}n=r+t|0;if((n|0)==(zr(r,n+1|0,e)|0)){s=i;return s|0}if(o[s>>2]|0){s=-1;return s|0}o[s>>2]=10;s=-1;return s|0}function Qn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=e+3216|0;t=Oi(t,n,r,i,s)|0;if((t|0)==-1){s=-1;return s|0}n=r+t|0;if((n|0)==(ht(r,n+1|0,e)|0)){s=i;return s|0}if(o[s>>2]|0){s=-1;return s|0}o[s>>2]=10;s=-1;return s|0}function Wn(e){e=e|0;return Or(e)|0}function Yn(e,t,n){e=e|0;t=t|0;n=n|0;e=xr(e,t,n)|0;Hr(t,n);return e|0}function Xn(e){e=e|0;return Cr(e)|0}function Jn(e,t,n){e=e|0;t=t|0;n=n|0;return Pr(e,t,n)|0}function Zn(e){e=e|0;return ue(Mr(e)|0)|0}function $n(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;s=Mr(e)|0;if((ue(s)|0)>>>0>i>>>0){o[e+7368>>2]=2;s=-1;return s|0}else{a=0-s|0;Dr(e,t,n,r+(ue(s)|0)+a|0,s)|0;i=ue(s)|0;le(r+i+a|0,s,r)|0;s=i;return s|0}return 0}function er(e){e=e|0;return Br(e)|0}function tr(e,t,n){e=e|0;t=t|0;n=n|0;return Nr(e,t,n)|0}function nr(e){e=e|0;return jr(e)|0}function rr(e){e=e|0;return Ur(e)|0}function ir(e,t){e=e|0;t=t|0;return Lr(e,t)|0}function or(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;t=Fr(e,t,n,r)|0;Hr(n,r);return t|0}function sr(e){e=e|0;return Ze(e)|0}function ar(e,t,n,r,i,s,a,c){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;c=c|0;var f=0,u=0,l=0;l=h;h=h+64|0;f=l+32|0;u=l;if((de(r)|0)==32?(de(s)|0)==32:0){he(n,r,f)|0;he(i,s,u)|0;u=$e(e,t,f,u,a,c)|0;Hr(a,c);h=l;return u|0}o[e+3216>>2]=7;u=-1;h=l;return u|0}function cr(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=de(r)|0;if((i|0)==-1){o[e+3216>>2]=7;i=-1;return i|0}else{he(n,r,n)|0;i=et(e,t,0,n,i)|0;return i|0}return 0}function fr(e,t,n,r,i,s){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;var a=0,c=0;c=h;h=h+32|0;a=c;if((de(r)|0)!=32){o[e+3216>>2]=7;a=-1;h=c;return a|0}he(n,r,a)|0;n=de(s)|0;if((n|0)==-1){o[e+3216>>2]=7;n=-1}else{he(i,s,i)|0;n=et(e,t,a,i,n)|0}a=n;h=c;return a|0}function ur(e){e=e|0;return ue(tt(e)|0)|0}function lr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=tt(e)|0;if((ue(r)|0)>>>0>n>>>0){o[e+3216>>2]=2;r=-1;return r|0}n=0-r|0;if((nt(e,t+(ue(r)|0)+n|0,r)|0)==-1){r=-1;return r|0}e=ue(r)|0;le(t+e+n|0,r,t)|0;r=e;return r|0}function dr(e){e=e|0;return s[e+3220>>0]|0|0}function hr(e,t,n){e=e|0;t=t|0;n=n|0;ut(e,t,n);return}function pr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=de(n)|0;if((r|0)==-1){o[e+3216>>2]=7;r=-1;return r|0}else{he(t,n,t)|0;r=(rt(e,0,t,r)|0)&1;return r|0}return 0}function mr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;a=h;h=h+32|0;s=a;if((de(n)|0)!=32){o[e+3216>>2]=7;s=-1;h=a;return s|0}he(t,n,s)|0;t=de(i)|0;if((t|0)==-1){o[e+3216>>2]=7;t=-1}else{he(r,i,r)|0;t=(rt(e,s,r,t)|0)&1}s=t;h=a;return s|0}function gr(e,t){e=e|0;t=t|0;t=Rr(e,t+3285|0)|0;if((t|0)!=-1)return t|0;o[e+7368>>2]=6;return t|0}function yr(e){e=e|0;return it(e)|0}function br(e){e=e|0;return st(e)|0}function _r(e,t){e=e|0;t=t|0;return ue(ot(e,t)|0)|0}function vr(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0;c=ot(e,n)|0;if((ue(c)|0)>>>0>a>>>0){o[e+3216>>2]=2;c=-1;return c|0}a=0-c|0;n=at(e,t,n,r,i,s+(ue(c)|0)+a|0,c)|0;Hr(r,i);if((n|0)==-1){c=-1;return c|0}i=ue(c)|0;le(s+i+a|0,c,s)|0;c=i;return c|0}function Ar(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=de(r)|0;if((i|0)==-1){o[e+3216>>2]=7;i=-1;return i|0}else{he(n,r,n)|0;i=ct(e,t,n,i)|0;return i|0}return 0}function wr(e,t,n,r,i,s){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;var a=0;a=de(r)|0;if((a|0)==-1){o[e+3216>>2]=7;a=-1;return a|0}else{he(n,r,n)|0;a=ft(e,t,n,a,i,s)|0;return a|0}return 0}function Er(e){e=e|0;return ue(hn(e)|0)|0}function kr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=hn(e)|0;if((ue(s)|0)>>>0>i>>>0){o[e>>2]=2;s=-1;return s|0}i=0-s|0;if((pn(e,t,n,r+(ue(s)|0)+i|0,s)|0)==-1){s=-1;return s|0}n=ue(s)|0;le(r+n+i|0,s,r)|0;s=n;return s|0}function Sr(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;f=h;h=h+32|0;c=f;if((de(n)|0)!=32){o[e>>2]=7;c=-1;h=f;return c|0}he(t,n,c)|0;t=de(a)|0;if((t|0)==-1){o[e>>2]=7;t=-1}else{he(s,a,s)|0;t=mn(e,c,r,i,s,t)|0}c=t;h=f;return c|0}function Ir(e){e=e|0;o[e+160>>2]=e+164;o[e+7364>>2]=0;o[e+7368>>2]=0;return}function Tr(e,t){e=e|0;t=t|0;var n=0;n=e+164|0;e=o[e+160>>2]|0;if((n|0)==(e|0)){t=0;return t|0}while(1){if(Vr(n+5|0,t,32)|0){e=5;break}n=n+72|0;if((n|0)==(e|0)){n=0;e=5;break}}if((e|0)==5)return n|0;return 0}function Rr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0;n=e+164|0;s=e+160|0;if((n|0)==(o[s>>2]|0)){s=-1;return s|0}while(1){if(Vr(n+5|0,t,32)|0)break;e=n+72|0;if((e|0)==(o[s>>2]|0)){e=-1;r=8;break}else n=e}if((r|0)==8)return e|0;e=o[n>>2]|0;i=(o[s>>2]|0)+-72|0;o[s>>2]=i;if((i|0)==(n|0)){s=e;return s|0}do{t=n;n=n+72|0;r=n;i=t+72|0;do{o[t>>2]=o[r>>2];t=t+4|0;r=r+4|0}while((t|0)<(i|0))}while((n|0)!=(o[s>>2]|0));return e|0}function Or(e){e=e|0;return 64}function xr(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<64){o[e+7368>>2]=1;n=-1;return n|0}else{gt(t,e);pt(t+32|0,e+96|0);n=0;return n|0}return 0}function Cr(e){e=e|0;e=ue(32)|0;return e+30+(ue(32)|0)|0}function Pr(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0;a=ue(32)|0;if((a+30+(ue(32)|0)|0)>>>0>n>>>0){o[e+7368>>2]=2;t=-1;return t|0}else{r[t>>0]=123;i=t+1|0;s=38079;a=i+13|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));r[t+14>>0]=34;n=le(e+96|0,32,t+15|0)|0;r[n>>0]=34;r[n+1>>0]=44;i=n+2|0;s=38093;a=i+10|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));r[n+12>>0]=34;e=le(e,32,n+13|0)|0;r[e>>0]=34;r[e+1>>0]=125;t=e+2-t|0;return t|0}return 0}function Mr(e){e=e|0;return 64}function Dr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if(i>>>0<64){o[e+7368>>2]=2;i=-1;return i|0}else{yt(e,t,n,r);i=64;return i|0}return 0}function Br(e){e=e|0;var t=0,n=0,i=0;n=e+164|0;i=o[e+160>>2]|0;if((n|0)!=(i|0)){t=1;e=0;do{if(!(r[n+4>>0]|0)){t=ue(4)|0;e=e+6+t+(ue(32)|0)|0;t=0}n=n+72|0}while((n|0)!=(i|0));if(!t){i=e;n=16;i=n+i|0;return i|0}}else e=0;i=e;n=17;i=n+i|0;return i|0}function Nr(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0;p=h;h=h+16|0;l=p;u=e+164|0;f=e+160|0;c=o[f>>2]|0;if((u|0)!=(c|0)){s=1;a=u;i=0;do{if(!(r[a+4>>0]|0)){s=ue(4)|0;i=i+6+s+(ue(32)|0)|0;s=0}a=a+72|0}while((a|0)!=(c|0));if(s)d=4;else s=16}else{i=0;d=4}if((d|0)==4)s=17;if((s+i|0)>>>0>n>>>0){o[e+7368>>2]=2;d=-1;h=p;return d|0}r[t>>0]=123;i=t+1|0;s=38079;a=i+13|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));i=t+14|0;c=o[f>>2]|0;if((u|0)!=(c|0)){a=u;s=123;do{if(!(r[a+4>>0]|0)){r[i>>0]=s;r[i+1>>0]=34;Ne(l,o[a>>2]|0)|0;i=le(l,4,i+2|0)|0;r[i>>0]=34;r[i+1>>0]=58;r[i+2>>0]=34;i=le(a+5|0,32,i+3|0)|0;r[i>>0]=34;i=i+1|0;s=44}a=a+72|0}while((a|0)!=(c|0));if(s<<24>>24!=44)d=16}else{s=123;d=16}if((d|0)==16){r[i>>0]=s;i=i+1|0}r[i>>0]=125;r[i+1>>0]=125;d=i+2-t|0;h=p;return d|0}function jr(e){e=e|0;var t=0,n=0,i=0;t=e+164|0;i=o[e+160>>2]|0;if((t|0)==(i|0)){i=0;return i|0}e=0;do{n=t+4|0;if(!(r[n>>0]|0)){r[n>>0]=1;e=e+1|0}t=t+72|0}while((t|0)!=(i|0));return e|0}function Ur(e){e=e|0;return 100}function Lr(e,t){e=e|0;t=t|0;return t<<5|0}function Fr(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0;if(t<<5>>>0>i>>>0){o[e+7368>>2]=1;p=-1;return p|0}if(!t){p=0;return p|0}h=e+164|0;p=e+160|0;u=e+7364|0;l=e+7364|0;d=e+168|0;f=e+169|0;c=0;while(1){i=o[p>>2]|0;if((i|0)==(u|0))i=u;else{i=i+72|0;o[p>>2]=i}i=i+-72|0;if((i|0)!=(h|0))do{e=i;i=i+-72|0;s=i;a=e+72|0;do{o[e>>2]=o[s>>2];e=e+4|0;s=s+4|0}while((e|0)<(a|0))}while((i|0)!=(h|0));a=(o[l>>2]|0)+1|0;o[l>>2]=a;o[h>>2]=a;r[d>>0]=0;pt(n,f);c=c+1|0;if((c|0)==(t|0))break;else n=n+32|0}return t|0}function qr(e){e=e|0;var t=0,n=0,r=0,i=0;r=Me(e)|0;i=Te(e+96|0)|0;t=e+164|0;n=o[e+160>>2]|0;if((t|0)==(n|0)){n=4;r=r+8|0;i=r+i|0;i=i+n|0;return i|0}e=4;do{e=e+5+(Te(t+5|0)|0)|0;t=t+72|0}while((t|0)!=(n|0));r=r+8|0;i=r+i|0;i=i+e|0;return i|0}function Kr(e,t){e=e|0;t=t|0;var n=0,i=0;e=Re(De(be(e,2)|0,t)|0,t+96|0)|0;i=t+160|0;n=t+164|0;e=be(e,((o[i>>2]|0)-n|0)/72|0)|0;i=o[i>>2]|0;if((n|0)==(i|0)){i=e;t=t+7364|0;t=o[t>>2]|0;t=be(i,t)|0;return t|0}do{e=be(e,o[n>>2]|0)|0;e=Re(ve(e,(r[n+4>>0]|0)!=0)|0,n+5|0)|0;n=n+72|0}while((n|0)!=(i|0));t=t+7364|0;t=o[t>>2]|0;t=be(e,t)|0;return t|0}function zr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0;f=h;h=h+16|0;c=f+4|0;a=f;e=_e(e,t,a)|0;switch(o[a>>2]|0){case 2:{e=_e(Oe(Be(e,t,n)|0,t,n+96|0)|0,t,c)|0;a=o[c>>2]|0;o[c>>2]=a+-1;if(!((e|0)==(t|0)|(a|0)==0)){i=n+160|0;s=n+7364|0;a=n+7292|0;do{r=o[i>>2]|0;if((r|0)==(s|0))r=a;else o[i>>2]=r+72;e=Oe(Ae(_e(e,t,r)|0,t,r+4|0)|0,t,r+5|0)|0;r=o[c>>2]|0;o[c>>2]=r+-1}while(!((e|0)==(t|0)|(r|0)==0))}n=_e(e,t,n+7364|0)|0;h=f;return n|0}case 1:{o[n+7368>>2]=13;n=t;h=f;return n|0}default:{o[n+7368>>2]=9;n=t;h=f;return n|0}}return 0}function Gr(e,t){e=e|0;t=t|0;var n=0;n=e+t|0;if(!t)return;do{r[e>>0]=0;e=e+1|0}while((e|0)!=(n|0));return}function Hr(e,t){e=e|0;t=t|0;var n=0;n=e+t|0;if(!t)return;do{r[e>>0]=0;e=e+1|0}while((e|0)!=(n|0));return}function Vr(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0;o=h;h=h+16|0;i=o;r[i>>0]=0;if(n|0)while(1){n=n+-1|0;r[i>>0]=r[i>>0]|r[t>>0]^r[e>>0];if(!n)break;else{t=t+1|0;e=e+1|0}}h=o;return(r[i>>0]|0)==0|0}function Qr(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0;E=s[t>>0]|0;g=Cs(s[t+1>>0]|0|0,0,8)|0;T=I;O=Cs(s[t+2>>0]|0|0,0,16)|0;T=T|I;l=Cs(s[t+3>>0]|0|0,0,24)|0;T=T|I;R=r[t+6>>0]|0;f=s[t+4>>0]|0;k=Cs(s[t+5>>0]|0|0,0,8)|0;u=I;R=Cs(R&255|0,0,16)|0;u=Cs(k|f|R|0,u|I|0,6)|0;R=I;f=r[t+9>>0]|0;k=s[t+7>>0]|0;a=Cs(s[t+8>>0]|0|0,0,8)|0;v=I;f=Cs(f&255|0,0,16)|0;v=Cs(a|k|f|0,v|I|0,5)|0;f=I;k=r[t+12>>0]|0;a=s[t+10>>0]|0;b=Cs(s[t+11>>0]|0|0,0,8)|0;S=I;k=Cs(k&255|0,0,16)|0;S=Cs(b|a|k|0,S|I|0,3)|0;k=I;a=r[t+15>>0]|0;b=s[t+13>>0]|0;p=Cs(s[t+14>>0]|0|0,0,8)|0;c=I;a=Cs(a&255|0,0,16)|0;c=Cs(p|b|a|0,c|I|0,2)|0;a=I;b=s[t+16>>0]|0;p=Cs(s[t+17>>0]|0|0,0,8)|0;A=I;n=Cs(s[t+18>>0]|0|0,0,16)|0;A=A|I;w=Cs(s[t+19>>0]|0|0,0,24)|0;w=p|b|n|w;A=A|I;n=r[t+22>>0]|0;b=s[t+20>>0]|0;p=Cs(s[t+21>>0]|0|0,0,8)|0;i=I;n=Cs(n&255|0,0,16)|0;i=Cs(p|b|n|0,i|I|0,7)|0;n=I;b=r[t+25>>0]|0;p=s[t+23>>0]|0;x=Cs(s[t+24>>0]|0|0,0,8)|0;_=I;b=Cs(b&255|0,0,16)|0;_=Cs(x|p|b|0,_|I|0,5)|0;b=I;p=r[t+28>>0]|0;x=s[t+26>>0]|0;m=Cs(s[t+27>>0]|0|0,0,8)|0;h=I;p=Cs(p&255|0,0,16)|0;h=Cs(m|x|p|0,h|I|0,4)|0;p=I;x=r[t+31>>0]|0;m=s[t+29>>0]|0;d=Cs(s[t+30>>0]|0|0,0,8)|0;y=I;t=Cs(x&255|0,0,16)|0;y=Cs(d|m|t|0,y|I|0,2)|0;y=y&33554428;t=ks(y|0,0,16777216,0)|0;m=xs(t|0,I|0,25)|0;m=Ss(0,0,m|0,I|0)|0;T=ks(m&19|0,0,g|E|O|l|0,T|0)|0;l=I;O=ks(u|0,R|0,16777216,0)|0;E=xs(O|0,I|0,25)|0;E=ks(v|0,f|0,E|0,I|0)|0;f=I;O=Ss(u|0,R|0,O&-33554432|0,0)|0;R=I;u=ks(S|0,k|0,16777216,0)|0;v=xs(u|0,I|0,25)|0;v=ks(c|0,a|0,v|0,I|0)|0;a=I;c=ks(w|0,A|0,16777216,0)|0;g=xs(c|0,I|0,25)|0;g=ks(i|0,n|0,g|0,I|0)|0;n=I;i=ks(_|0,b|0,16777216,0)|0;m=xs(i|0,I|0,25)|0;m=ks(h|0,p|0,m|0,I|0)|0;p=I;h=ks(T|0,l|0,33554432,0)|0;d=xs(h|0,I|0,26)|0;d=ks(O|0,R|0,d|0,I|0)|0;h=Ss(T|0,l|0,h&-67108864|0,0)|0;l=ks(E|0,f|0,33554432,0)|0;T=xs(l|0,I|0,26)|0;k=ks(T|0,I|0,S|0,k|0)|0;u=Ss(k|0,I|0,u&-33554432|0,0)|0;l=Ss(E|0,f|0,l&-67108864|0,0)|0;f=ks(v|0,a|0,33554432,0)|0;E=xs(f|0,I|0,26)|0;A=ks(E|0,I|0,w|0,A|0)|0;c=Ss(A|0,I|0,c&-33554432|0,0)|0;f=Ss(v|0,a|0,f&-67108864|0,0)|0;a=ks(g|0,n|0,33554432,0)|0;v=xs(a|0,I|0,26)|0;b=ks(v|0,I|0,_|0,b|0)|0;i=Ss(b|0,I|0,i&-33554432|0,0)|0;a=Ss(g|0,n|0,a&-67108864|0,0)|0;n=ks(m|0,p|0,33554432,0)|0;g=xs(n|0,I|0,26)|0;g=ks(y|0,0,g|0,I|0)|0;t=Ss(g|0,I|0,t&33554432|0,0)|0;n=Ss(m|0,p|0,n&-67108864|0,0)|0;o[e>>2]=h;o[e+4>>2]=d;o[e+8>>2]=l;o[e+12>>2]=u;o[e+16>>2]=f;o[e+20>>2]=c;o[e+24>>2]=a;o[e+28>>2]=i;o[e+32>>2]=n;o[e+36>>2]=t;return}function Wr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,o=0,s=0;s=h;h=h+192|0;n=s+144|0;r=s+96|0;i=s+48|0;o=s;Yr(n,t);Yr(r,n);Yr(r,r);Xr(r,t,r);Xr(n,n,r);Yr(i,n);Xr(r,r,i);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);t=1;do{Yr(o,o);t=t+1|0}while((t|0)!=100);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(r,r);Yr(r,r);Yr(r,r);Yr(r,r);Yr(r,r);Xr(e,r,n);h=s;return}function Yr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0;tt=o[t>>2]|0;Ae=o[t+4>>2]|0;u=o[t+8>>2]|0;de=o[t+12>>2]|0;s=o[t+16>>2]|0;rt=o[t+20>>2]|0;a=o[t+24>>2]|0;p=o[t+28>>2]|0;q=o[t+32>>2]|0;O=o[t+36>>2]|0;y=tt<<1;n=Ae<<1;Ye=u<<1;c=de<<1;pe=s<<1;i=rt<<1;d=a<<1;r=p<<1;Ue=rt*38|0;be=a*19|0;Ee=p*38|0;ie=q*19|0;st=O*38|0;nt=((tt|0)<0)<<31>>31;nt=Es(tt|0,nt|0,tt|0,nt|0)|0;tt=I;b=((y|0)<0)<<31>>31;ve=((Ae|0)<0)<<31>>31;Ne=Es(y|0,b|0,Ae|0,ve|0)|0;Be=I;f=((u|0)<0)<<31>>31;We=Es(u|0,f|0,y|0,b|0)|0;Qe=I;he=((de|0)<0)<<31>>31;Ve=Es(de|0,he|0,y|0,b|0)|0;He=I;J=((s|0)<0)<<31>>31;Fe=Es(s|0,J|0,y|0,b|0)|0;Le=I;it=((rt|0)<0)<<31>>31;Ie=Es(rt|0,it|0,y|0,b|0)|0;Se=I;we=((a|0)<0)<<31>>31;ae=Es(a|0,we|0,y|0,b|0)|0;se=I;R=((p|0)<0)<<31>>31;G=Es(p|0,R|0,y|0,b|0)|0;z=I;K=((q|0)<0)<<31>>31;P=Es(q|0,K|0,y|0,b|0)|0;C=I;x=((O|0)<0)<<31>>31;b=Es(O|0,x|0,y|0,b|0)|0;y=I;l=((n|0)<0)<<31>>31;ve=Es(n|0,l|0,Ae|0,ve|0)|0;Ae=I;ne=Es(n|0,l|0,u|0,f|0)|0;re=I;g=((c|0)<0)<<31>>31;Ge=Es(c|0,g|0,n|0,l|0)|0;ze=I;xe=Es(s|0,J|0,n|0,l|0)|0;Oe=I;m=((i|0)<0)<<31>>31;fe=Es(i|0,m|0,n|0,l|0)|0;ce=I;V=Es(a|0,we|0,n|0,l|0)|0;H=I;t=((r|0)<0)<<31>>31;D=Es(r|0,t|0,n|0,l|0)|0;M=I;v=Es(q|0,K|0,n|0,l|0)|0;_=I;ot=((st|0)<0)<<31>>31;l=Es(st|0,ot|0,n|0,l|0)|0;n=I;Ke=Es(u|0,f|0,u|0,f|0)|0;qe=I;Xe=((Ye|0)<0)<<31>>31;Re=Es(Ye|0,Xe|0,de|0,he|0)|0;Te=I;le=Es(s|0,J|0,Ye|0,Xe|0)|0;ue=I;X=Es(rt|0,it|0,Ye|0,Xe|0)|0;Y=I;F=Es(a|0,we|0,Ye|0,Xe|0)|0;L=I;w=Es(p|0,R|0,Ye|0,Xe|0)|0;A=I;oe=((ie|0)<0)<<31>>31;Xe=Es(ie|0,oe|0,Ye|0,Xe|0)|0;Ye=I;f=Es(st|0,ot|0,u|0,f|0)|0;u=I;he=Es(c|0,g|0,de|0,he|0)|0;de=I;W=Es(c|0,g|0,s|0,J|0)|0;Q=I;N=Es(i|0,m|0,c|0,g|0)|0;B=I;T=Es(a|0,we|0,c|0,g|0)|0;S=I;ke=((Ee|0)<0)<<31>>31;Ze=Es(Ee|0,ke|0,c|0,g|0)|0;Je=I;Pe=Es(ie|0,oe|0,c|0,g|0)|0;Ce=I;g=Es(st|0,ot|0,c|0,g|0)|0;c=I;U=Es(s|0,J|0,s|0,J|0)|0;j=I;me=((pe|0)<0)<<31>>31;k=Es(pe|0,me|0,rt|0,it|0)|0;E=I;_e=((be|0)<0)<<31>>31;et=Es(be|0,_e|0,pe|0,me|0)|0;$e=I;De=Es(Ee|0,ke|0,s|0,J|0)|0;Me=I;me=Es(ie|0,oe|0,pe|0,me|0)|0;pe=I;J=Es(st|0,ot|0,s|0,J|0)|0;s=I;it=Es(Ue|0,((Ue|0)<0)<<31>>31|0,rt|0,it|0)|0;rt=I;Ue=Es(be|0,_e|0,i|0,m|0)|0;je=I;ye=Es(Ee|0,ke|0,i|0,m|0)|0;ge=I;$=Es(ie|0,oe|0,i|0,m|0)|0;Z=I;m=Es(st|0,ot|0,i|0,m|0)|0;i=I;_e=Es(be|0,_e|0,a|0,we|0)|0;be=I;te=Es(Ee|0,ke|0,a|0,we|0)|0;ee=I;d=Es(ie|0,oe|0,d|0,((d|0)<0)<<31>>31|0)|0;h=I;we=Es(st|0,ot|0,a|0,we|0)|0;a=I;R=Es(Ee|0,ke|0,p|0,R|0)|0;p=I;ke=Es(ie|0,oe|0,r|0,t|0)|0;Ee=I;t=Es(st|0,ot|0,r|0,t|0)|0;r=I;oe=Es(ie|0,oe|0,q|0,K|0)|0;ie=I;K=Es(st|0,ot|0,q|0,K|0)|0;q=I;x=Es(st|0,ot|0,O|0,x|0)|0;O=I;tt=ks(it|0,rt|0,nt|0,tt|0)|0;$e=ks(tt|0,I|0,et|0,$e|0)|0;Je=ks($e|0,I|0,Ze|0,Je|0)|0;Ye=ks(Je|0,I|0,Xe|0,Ye|0)|0;n=ks(Ye|0,I|0,l|0,n|0)|0;l=I;Ae=ks(We|0,Qe|0,ve|0,Ae|0)|0;ve=I;re=ks(Ve|0,He|0,ne|0,re|0)|0;ne=I;qe=ks(Ge|0,ze|0,Ke|0,qe|0)|0;Le=ks(qe|0,I|0,Fe|0,Le|0)|0;p=ks(Le|0,I|0,R|0,p|0)|0;h=ks(p|0,I|0,d|0,h|0)|0;i=ks(h|0,I|0,m|0,i|0)|0;m=I;h=ks(n|0,l|0,33554432,0)|0;d=I;p=Os(h|0,d|0,26)|0;R=I;Be=ks(Ue|0,je|0,Ne|0,Be|0)|0;Me=ks(Be|0,I|0,De|0,Me|0)|0;Ce=ks(Me|0,I|0,Pe|0,Ce|0)|0;u=ks(Ce|0,I|0,f|0,u|0)|0;R=ks(u|0,I|0,p|0,R|0)|0;p=I;d=Ss(n|0,l|0,h&-67108864|0,d|0)|0;h=I;l=ks(i|0,m|0,33554432,0)|0;n=I;u=Os(l|0,n|0,26)|0;f=I;Te=ks(xe|0,Oe|0,Re|0,Te|0)|0;Se=ks(Te|0,I|0,Ie|0,Se|0)|0;Ee=ks(Se|0,I|0,ke|0,Ee|0)|0;a=ks(Ee|0,I|0,we|0,a|0)|0;f=ks(a|0,I|0,u|0,f|0)|0;u=I;n=Ss(i|0,m|0,l&-67108864|0,n|0)|0;l=I;m=ks(R|0,p|0,16777216,0)|0;i=Os(m|0,I|0,25)|0;a=I;be=ks(Ae|0,ve|0,_e|0,be|0)|0;ge=ks(be|0,I|0,ye|0,ge|0)|0;pe=ks(ge|0,I|0,me|0,pe|0)|0;c=ks(pe|0,I|0,g|0,c|0)|0;a=ks(c|0,I|0,i|0,a|0)|0;i=I;m=Ss(R|0,p|0,m&-33554432|0,0)|0;p=I;R=ks(f|0,u|0,16777216,0)|0;c=Os(R|0,I|0,25)|0;g=I;ue=ks(he|0,de|0,le|0,ue|0)|0;ce=ks(ue|0,I|0,fe|0,ce|0)|0;se=ks(ce|0,I|0,ae|0,se|0)|0;ie=ks(se|0,I|0,oe|0,ie|0)|0;r=ks(ie|0,I|0,t|0,r|0)|0;g=ks(r|0,I|0,c|0,g|0)|0;c=I;R=Ss(f|0,u|0,R&-33554432|0,0)|0;u=I;f=ks(a|0,i|0,33554432,0)|0;r=Os(f|0,I|0,26)|0;t=I;ee=ks(re|0,ne|0,te|0,ee|0)|0;Z=ks(ee|0,I|0,$|0,Z|0)|0;s=ks(Z|0,I|0,J|0,s|0)|0;t=ks(s|0,I|0,r|0,t|0)|0;r=I;f=Ss(a|0,i|0,f&-67108864|0,0)|0;i=ks(g|0,c|0,33554432,0)|0;a=Os(i|0,I|0,26)|0;s=I;Q=ks(X|0,Y|0,W|0,Q|0)|0;H=ks(Q|0,I|0,V|0,H|0)|0;z=ks(H|0,I|0,G|0,z|0)|0;q=ks(z|0,I|0,K|0,q|0)|0;s=ks(q|0,I|0,a|0,s|0)|0;a=I;i=Ss(g|0,c|0,i&-67108864|0,0)|0;c=ks(t|0,r|0,16777216,0)|0;g=Os(c|0,I|0,25)|0;l=ks(g|0,I|0,n|0,l|0)|0;n=I;c=Ss(t|0,r|0,c&-33554432|0,0)|0;r=ks(s|0,a|0,16777216,0)|0;t=Os(r|0,I|0,25)|0;g=I;j=ks(F|0,L|0,U|0,j|0)|0;B=ks(j|0,I|0,N|0,B|0)|0;M=ks(B|0,I|0,D|0,M|0)|0;C=ks(M|0,I|0,P|0,C|0)|0;O=ks(C|0,I|0,x|0,O|0)|0;g=ks(O|0,I|0,t|0,g|0)|0;t=I;r=Ss(s|0,a|0,r&-33554432|0,0)|0;a=ks(l|0,n|0,33554432,0)|0;s=xs(a|0,I|0,26)|0;s=ks(R|0,u|0,s|0,I|0)|0;a=Ss(l|0,n|0,a&-67108864|0,0)|0;n=ks(g|0,t|0,33554432,0)|0;l=Os(n|0,I|0,26)|0;u=I;E=ks(T|0,S|0,k|0,E|0)|0;A=ks(E|0,I|0,w|0,A|0)|0;_=ks(A|0,I|0,v|0,_|0)|0;y=ks(_|0,I|0,b|0,y|0)|0;u=ks(y|0,I|0,l|0,u|0)|0;l=I;n=Ss(g|0,t|0,n&-67108864|0,0)|0;t=ks(u|0,l|0,16777216,0)|0;g=Os(t|0,I|0,25)|0;g=Es(g|0,I|0,19,0)|0;h=ks(g|0,I|0,d|0,h|0)|0;d=I;t=Ss(u|0,l|0,t&-33554432|0,0)|0;l=ks(h|0,d|0,33554432,0)|0;u=xs(l|0,I|0,26)|0;u=ks(m|0,p|0,u|0,I|0)|0;l=Ss(h|0,d|0,l&-67108864|0,0)|0;o[e>>2]=l;o[e+4>>2]=u;o[e+8>>2]=f;o[e+12>>2]=c;o[e+16>>2]=a;o[e+20>>2]=s;o[e+24>>2]=i;o[e+28>>2]=r;o[e+32>>2]=n;o[e+36>>2]=t;return}function Xr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0,at=0,ct=0,ft=0,ut=0,lt=0,dt=0,ht=0,pt=0,mt=0,gt=0,yt=0,bt=0,_t=0,vt=0,At=0,wt=0,Et=0,kt=0,St=0,It=0,Tt=0,Rt=0,Ot=0,xt=0,Ct=0,Pt=0,Mt=0,Dt=0,Bt=0,Nt=0,jt=0,Ut=0,Lt=0,Ft=0,qt=0,Kt=0,zt=0,Gt=0,Ht=0,Vt=0,Qt=0,Wt=0,Yt=0,Xt=0,Jt=0,Zt=0,$t=0,en=0,tn=0,nn=0,rn=0,on=0,sn=0,an=0,cn=0,fn=0,un=0,ln=0,dn=0,hn=0,pn=0,mn=0,gn=0,yn=0,bn=0,_n=0,vn=0,An=0,wn=0,En=0,kn=0,Sn=0,In=0,Tn=0,Rn=0,On=0,xn=0,Cn=0,Pn=0,Mn=0,Dn=0,Bn=0,Nn=0,jn=0,Un=0,Ln=0,Fn=0,qn=0,Kn=0,zn=0,Gn=0,Hn=0;y=o[t>>2]|0;_=o[t+4>>2]|0;u=o[t+8>>2]|0;Ht=o[t+12>>2]|0;s=o[t+16>>2]|0;Ie=o[t+20>>2]|0;a=o[t+24>>2]|0;Tt=o[t+28>>2]|0;oe=o[t+32>>2]|0;ae=o[t+36>>2]|0;D=o[n>>2]|0;N=o[n+4>>2]|0;P=o[n+8>>2]|0;x=o[n+12>>2]|0;R=o[n+16>>2]|0;S=o[n+20>>2]|0;E=o[n+24>>2]|0;A=o[n+28>>2]|0;f=o[n+32>>2]|0;v=o[n+36>>2]|0;qn=N*19|0;rn=P*19|0;bt=x*19|0;De=R*19|0;un=S*19|0;Ct=E*19|0;Ve=A*19|0;Hn=f*19|0;zn=v*19|0;t=_<<1;c=Ht<<1;i=Ie<<1;r=Tt<<1;L=ae<<1;b=((y|0)<0)<<31>>31;B=((D|0)<0)<<31>>31;Ln=Es(D|0,B|0,y|0,b|0)|0;Un=I;j=((N|0)<0)<<31>>31;En=Es(N|0,j|0,y|0,b|0)|0;wn=I;M=((P|0)<0)<<31>>31;At=Es(P|0,M|0,y|0,b|0)|0;vt=I;C=((x|0)<0)<<31>>31;je=Es(x|0,C|0,y|0,b|0)|0;Ne=I;O=((R|0)<0)<<31>>31;hn=Es(R|0,O|0,y|0,b|0)|0;dn=I;T=((S|0)<0)<<31>>31;Dt=Es(S|0,T|0,y|0,b|0)|0;Mt=I;k=((E|0)<0)<<31>>31;Ye=Es(E|0,k|0,y|0,b|0)|0;We=I;w=((A|0)<0)<<31>>31;ue=Es(A|0,w|0,y|0,b|0)|0;fe=I;Kn=((f|0)<0)<<31>>31;K=Es(f|0,Kn|0,y|0,b|0)|0;q=I;b=Es(v|0,((v|0)<0)<<31>>31|0,y|0,b|0)|0;y=I;v=((_|0)<0)<<31>>31;sn=Es(D|0,B|0,_|0,v|0)|0;an=I;l=((t|0)<0)<<31>>31;St=Es(N|0,j|0,t|0,l|0)|0;kt=I;Le=Es(P|0,M|0,_|0,v|0)|0;Ue=I;mn=Es(x|0,C|0,t|0,l|0)|0;pn=I;Nt=Es(R|0,O|0,_|0,v|0)|0;Bt=I;Je=Es(S|0,T|0,t|0,l|0)|0;Xe=I;de=Es(E|0,k|0,_|0,v|0)|0;le=I;G=Es(A|0,w|0,t|0,l|0)|0;z=I;v=Es(f|0,Kn|0,_|0,v|0)|0;_=I;Kn=((zn|0)<0)<<31>>31;l=Es(zn|0,Kn|0,t|0,l|0)|0;t=I;f=((u|0)<0)<<31>>31;Et=Es(D|0,B|0,u|0,f|0)|0;wt=I;ze=Es(N|0,j|0,u|0,f|0)|0;Ke=I;yn=Es(P|0,M|0,u|0,f|0)|0;gn=I;Ut=Es(x|0,C|0,u|0,f|0)|0;jt=I;$e=Es(R|0,O|0,u|0,f|0)|0;Ze=I;pe=Es(S|0,T|0,u|0,f|0)|0;he=I;V=Es(E|0,k|0,u|0,f|0)|0;H=I;w=Es(A|0,w|0,u|0,f|0)|0;A=I;Gn=((Hn|0)<0)<<31>>31;Sn=Es(Hn|0,Gn|0,u|0,f|0)|0;kn=I;f=Es(zn|0,Kn|0,u|0,f|0)|0;u=I;Vt=((Ht|0)<0)<<31>>31;qe=Es(D|0,B|0,Ht|0,Vt|0)|0;Fe=I;g=((c|0)<0)<<31>>31;An=Es(N|0,j|0,c|0,g|0)|0;vn=I;Ft=Es(P|0,M|0,Ht|0,Vt|0)|0;Lt=I;tt=Es(x|0,C|0,c|0,g|0)|0;et=I;ge=Es(R|0,O|0,Ht|0,Vt|0)|0;me=I;W=Es(S|0,T|0,c|0,g|0)|0;Q=I;k=Es(E|0,k|0,Ht|0,Vt|0)|0;E=I;Qe=((Ve|0)<0)<<31>>31;Tn=Es(Ve|0,Qe|0,c|0,g|0)|0;In=I;Vt=Es(Hn|0,Gn|0,Ht|0,Vt|0)|0;Ht=I;g=Es(zn|0,Kn|0,c|0,g|0)|0;c=I;Se=((s|0)<0)<<31>>31;_n=Es(D|0,B|0,s|0,Se|0)|0;bn=I;Gt=Es(N|0,j|0,s|0,Se|0)|0;zt=I;rt=Es(P|0,M|0,s|0,Se|0)|0;nt=I;be=Es(x|0,C|0,s|0,Se|0)|0;ye=I;X=Es(R|0,O|0,s|0,Se|0)|0;Y=I;T=Es(S|0,T|0,s|0,Se|0)|0;S=I;Pt=((Ct|0)<0)<<31>>31;On=Es(Ct|0,Pt|0,s|0,Se|0)|0;Rn=I;Wt=Es(Ve|0,Qe|0,s|0,Se|0)|0;Qt=I;ft=Es(Hn|0,Gn|0,s|0,Se|0)|0;ct=I;Se=Es(zn|0,Kn|0,s|0,Se|0)|0;s=I;Te=((Ie|0)<0)<<31>>31;Kt=Es(D|0,B|0,Ie|0,Te|0)|0;qt=I;m=((i|0)<0)<<31>>31;at=Es(N|0,j|0,i|0,m|0)|0;st=I;ve=Es(P|0,M|0,Ie|0,Te|0)|0;_e=I;Z=Es(x|0,C|0,i|0,m|0)|0;J=I;O=Es(R|0,O|0,Ie|0,Te|0)|0;R=I;ln=((un|0)<0)<<31>>31;Cn=Es(un|0,ln|0,i|0,m|0)|0;xn=I;Xt=Es(Ct|0,Pt|0,Ie|0,Te|0)|0;Yt=I;lt=Es(Ve|0,Qe|0,i|0,m|0)|0;ut=I;Te=Es(Hn|0,Gn|0,Ie|0,Te|0)|0;Ie=I;m=Es(zn|0,Kn|0,i|0,m|0)|0;i=I;It=((a|0)<0)<<31>>31;ot=Es(D|0,B|0,a|0,It|0)|0;it=I;ke=Es(N|0,j|0,a|0,It|0)|0;Ee=I;ee=Es(P|0,M|0,a|0,It|0)|0;$=I;C=Es(x|0,C|0,a|0,It|0)|0;x=I;Be=((De|0)<0)<<31>>31;Mn=Es(De|0,Be|0,a|0,It|0)|0;Pn=I;Zt=Es(un|0,ln|0,a|0,It|0)|0;Jt=I;ht=Es(Ct|0,Pt|0,a|0,It|0)|0;dt=I;Oe=Es(Ve|0,Qe|0,a|0,It|0)|0;Re=I;d=Es(Hn|0,Gn|0,a|0,It|0)|0;h=I;It=Es(zn|0,Kn|0,a|0,It|0)|0;a=I;Rt=((Tt|0)<0)<<31>>31;we=Es(D|0,B|0,Tt|0,Rt|0)|0;Ae=I;n=((r|0)<0)<<31>>31;ie=Es(N|0,j|0,r|0,n|0)|0;re=I;M=Es(P|0,M|0,Tt|0,Rt|0)|0;P=I;_t=((bt|0)<0)<<31>>31;Bn=Es(bt|0,_t|0,r|0,n|0)|0;Dn=I;en=Es(De|0,Be|0,Tt|0,Rt|0)|0;$t=I;mt=Es(un|0,ln|0,r|0,n|0)|0;pt=I;Ce=Es(Ct|0,Pt|0,Tt|0,Rt|0)|0;xe=I;U=Es(Ve|0,Qe|0,r|0,n|0)|0;p=I;Rt=Es(Hn|0,Gn|0,Tt|0,Rt|0)|0;Tt=I;n=Es(zn|0,Kn|0,r|0,n|0)|0;r=I;se=((oe|0)<0)<<31>>31;ne=Es(D|0,B|0,oe|0,se|0)|0;te=I;j=Es(N|0,j|0,oe|0,se|0)|0;N=I;on=((rn|0)<0)<<31>>31;jn=Es(rn|0,on|0,oe|0,se|0)|0;Nn=I;nn=Es(bt|0,_t|0,oe|0,se|0)|0;tn=I;yt=Es(De|0,Be|0,oe|0,se|0)|0;gt=I;Me=Es(un|0,ln|0,oe|0,se|0)|0;Pe=I;fn=Es(Ct|0,Pt|0,oe|0,se|0)|0;cn=I;xt=Es(Ve|0,Qe|0,oe|0,se|0)|0;Ot=I;He=Es(Hn|0,Gn|0,oe|0,se|0)|0;Ge=I;se=Es(zn|0,Kn|0,oe|0,se|0)|0;oe=I;ce=((ae|0)<0)<<31>>31;B=Es(D|0,B|0,ae|0,ce|0)|0;D=I;F=((L|0)<0)<<31>>31;qn=Es(qn|0,((qn|0)<0)<<31>>31|0,L|0,F|0)|0;Fn=I;on=Es(rn|0,on|0,ae|0,ce|0)|0;rn=I;_t=Es(bt|0,_t|0,L|0,F|0)|0;bt=I;Be=Es(De|0,Be|0,ae|0,ce|0)|0;De=I;ln=Es(un|0,ln|0,L|0,F|0)|0;un=I;Pt=Es(Ct|0,Pt|0,ae|0,ce|0)|0;Ct=I;Qe=Es(Ve|0,Qe|0,L|0,F|0)|0;Ve=I;ce=Es(Hn|0,Gn|0,ae|0,ce|0)|0;ae=I;F=Es(zn|0,Kn|0,L|0,F|0)|0;L=I;Un=ks(qn|0,Fn|0,Ln|0,Un|0)|0;Nn=ks(Un|0,I|0,jn|0,Nn|0)|0;Dn=ks(Nn|0,I|0,Bn|0,Dn|0)|0;Pn=ks(Dn|0,I|0,Mn|0,Pn|0)|0;xn=ks(Pn|0,I|0,Cn|0,xn|0)|0;Rn=ks(xn|0,I|0,On|0,Rn|0)|0;In=ks(Rn|0,I|0,Tn|0,In|0)|0;kn=ks(In|0,I|0,Sn|0,kn|0)|0;t=ks(kn|0,I|0,l|0,t|0)|0;l=I;an=ks(En|0,wn|0,sn|0,an|0)|0;sn=I;bn=ks(An|0,vn|0,_n|0,bn|0)|0;gn=ks(bn|0,I|0,yn|0,gn|0)|0;pn=ks(gn|0,I|0,mn|0,pn|0)|0;dn=ks(pn|0,I|0,hn|0,dn|0)|0;un=ks(dn|0,I|0,ln|0,un|0)|0;cn=ks(un|0,I|0,fn|0,cn|0)|0;p=ks(cn|0,I|0,U|0,p|0)|0;h=ks(p|0,I|0,d|0,h|0)|0;i=ks(h|0,I|0,m|0,i|0)|0;m=I;h=ks(t|0,l|0,33554432,0)|0;d=I;p=Os(h|0,d|0,26)|0;U=I;rn=ks(an|0,sn|0,on|0,rn|0)|0;tn=ks(rn|0,I|0,nn|0,tn|0)|0;$t=ks(tn|0,I|0,en|0,$t|0)|0;Jt=ks($t|0,I|0,Zt|0,Jt|0)|0;Yt=ks(Jt|0,I|0,Xt|0,Yt|0)|0;Qt=ks(Yt|0,I|0,Wt|0,Qt|0)|0;Ht=ks(Qt|0,I|0,Vt|0,Ht|0)|0;u=ks(Ht|0,I|0,f|0,u|0)|0;U=ks(u|0,I|0,p|0,U|0)|0;p=I;d=Ss(t|0,l|0,h&-67108864|0,d|0)|0;h=I;l=ks(i|0,m|0,33554432,0)|0;t=I;u=Os(l|0,t|0,26)|0;f=I;qt=ks(Gt|0,zt|0,Kt|0,qt|0)|0;Lt=ks(qt|0,I|0,Ft|0,Lt|0)|0;jt=ks(Lt|0,I|0,Ut|0,jt|0)|0;Bt=ks(jt|0,I|0,Nt|0,Bt|0)|0;Mt=ks(Bt|0,I|0,Dt|0,Mt|0)|0;Ct=ks(Mt|0,I|0,Pt|0,Ct|0)|0;Ot=ks(Ct|0,I|0,xt|0,Ot|0)|0;Tt=ks(Ot|0,I|0,Rt|0,Tt|0)|0;a=ks(Tt|0,I|0,It|0,a|0)|0;f=ks(a|0,I|0,u|0,f|0)|0;u=I;t=Ss(i|0,m|0,l&-67108864|0,t|0)|0;l=I;m=ks(U|0,p|0,16777216,0)|0;i=Os(m|0,I|0,25)|0;a=I;wt=ks(St|0,kt|0,Et|0,wt|0)|0;vt=ks(wt|0,I|0,At|0,vt|0)|0;bt=ks(vt|0,I|0,_t|0,bt|0)|0;gt=ks(bt|0,I|0,yt|0,gt|0)|0;pt=ks(gt|0,I|0,mt|0,pt|0)|0;dt=ks(pt|0,I|0,ht|0,dt|0)|0;ut=ks(dt|0,I|0,lt|0,ut|0)|0;ct=ks(ut|0,I|0,ft|0,ct|0)|0;c=ks(ct|0,I|0,g|0,c|0)|0;a=ks(c|0,I|0,i|0,a|0)|0;i=I;m=Ss(U|0,p|0,m&-33554432|0,0)|0;p=I;U=ks(f|0,u|0,16777216,0)|0;c=Os(U|0,I|0,25)|0;g=I;it=ks(at|0,st|0,ot|0,it|0)|0;nt=ks(it|0,I|0,rt|0,nt|0)|0;et=ks(nt|0,I|0,tt|0,et|0)|0;Ze=ks(et|0,I|0,$e|0,Ze|0)|0;Xe=ks(Ze|0,I|0,Je|0,Xe|0)|0;We=ks(Xe|0,I|0,Ye|0,We|0)|0;Ve=ks(We|0,I|0,Qe|0,Ve|0)|0;Ge=ks(Ve|0,I|0,He|0,Ge|0)|0;r=ks(Ge|0,I|0,n|0,r|0)|0;g=ks(r|0,I|0,c|0,g|0)|0;c=I;U=Ss(f|0,u|0,U&-33554432|0,0)|0;u=I;f=ks(a|0,i|0,33554432,0)|0;r=Os(f|0,I|0,26)|0;n=I;Fe=ks(ze|0,Ke|0,qe|0,Fe|0)|0;Ue=ks(Fe|0,I|0,Le|0,Ue|0)|0;Ne=ks(Ue|0,I|0,je|0,Ne|0)|0;De=ks(Ne|0,I|0,Be|0,De|0)|0;Pe=ks(De|0,I|0,Me|0,Pe|0)|0;xe=ks(Pe|0,I|0,Ce|0,xe|0)|0;Re=ks(xe|0,I|0,Oe|0,Re|0)|0;Ie=ks(Re|0,I|0,Te|0,Ie|0)|0;s=ks(Ie|0,I|0,Se|0,s|0)|0;n=ks(s|0,I|0,r|0,n|0)|0;r=I;f=Ss(a|0,i|0,f&-67108864|0,0)|0;i=ks(g|0,c|0,33554432,0)|0;a=Os(i|0,I|0,26)|0;s=I;Ae=ks(ke|0,Ee|0,we|0,Ae|0)|0;_e=ks(Ae|0,I|0,ve|0,_e|0)|0;ye=ks(_e|0,I|0,be|0,ye|0)|0;me=ks(ye|0,I|0,ge|0,me|0)|0;he=ks(me|0,I|0,pe|0,he|0)|0;le=ks(he|0,I|0,de|0,le|0)|0;fe=ks(le|0,I|0,ue|0,fe|0)|0;ae=ks(fe|0,I|0,ce|0,ae|0)|0;oe=ks(ae|0,I|0,se|0,oe|0)|0;s=ks(oe|0,I|0,a|0,s|0)|0;a=I;i=Ss(g|0,c|0,i&-67108864|0,0)|0;c=ks(n|0,r|0,16777216,0)|0;g=Os(c|0,I|0,25)|0;l=ks(g|0,I|0,t|0,l|0)|0;t=I;c=Ss(n|0,r|0,c&-33554432|0,0)|0;r=ks(s|0,a|0,16777216,0)|0;n=Os(r|0,I|0,25)|0;g=I;te=ks(ie|0,re|0,ne|0,te|0)|0;$=ks(te|0,I|0,ee|0,$|0)|0;J=ks($|0,I|0,Z|0,J|0)|0;Y=ks(J|0,I|0,X|0,Y|0)|0;Q=ks(Y|0,I|0,W|0,Q|0)|0;H=ks(Q|0,I|0,V|0,H|0)|0;z=ks(H|0,I|0,G|0,z|0)|0;q=ks(z|0,I|0,K|0,q|0)|0;L=ks(q|0,I|0,F|0,L|0)|0;g=ks(L|0,I|0,n|0,g|0)|0;n=I;r=Ss(s|0,a|0,r&-33554432|0,0)|0;a=ks(l|0,t|0,33554432,0)|0;s=xs(a|0,I|0,26)|0;s=ks(U|0,u|0,s|0,I|0)|0;a=Ss(l|0,t|0,a&-67108864|0,0)|0;t=ks(g|0,n|0,33554432,0)|0;l=Os(t|0,I|0,26)|0;u=I;D=ks(j|0,N|0,B|0,D|0)|0;P=ks(D|0,I|0,M|0,P|0)|0;x=ks(P|0,I|0,C|0,x|0)|0;R=ks(x|0,I|0,O|0,R|0)|0;S=ks(R|0,I|0,T|0,S|0)|0;E=ks(S|0,I|0,k|0,E|0)|0;A=ks(E|0,I|0,w|0,A|0)|0;_=ks(A|0,I|0,v|0,_|0)|0;y=ks(_|0,I|0,b|0,y|0)|0;u=ks(y|0,I|0,l|0,u|0)|0;l=I;t=Ss(g|0,n|0,t&-67108864|0,0)|0;n=ks(u|0,l|0,16777216,0)|0;g=Os(n|0,I|0,25)|0;g=Es(g|0,I|0,19,0)|0;h=ks(g|0,I|0,d|0,h|0)|0;d=I;n=Ss(u|0,l|0,n&-33554432|0,0)|0;l=ks(h|0,d|0,33554432,0)|0;u=xs(l|0,I|0,26)|0;u=ks(m|0,p|0,u|0,I|0)|0;l=Ss(h|0,d|0,l&-67108864|0,0)|0;o[e>>2]=l;o[e+4>>2]=u;o[e+8>>2]=f;o[e+12>>2]=c;o[e+16>>2]=a;o[e+20>>2]=s;o[e+24>>2]=i;o[e+28>>2]=r;o[e+32>>2]=t;o[e+36>>2]=n;return}function Jr(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0;_=o[t>>2]|0;b=o[t+4>>2]|0;g=o[t+8>>2]|0;p=o[t+12>>2]|0;d=o[t+16>>2]|0;l=o[t+20>>2]|0;u=o[t+24>>2]|0;c=o[t+28>>2]|0;s=o[t+32>>2]|0;n=o[t+36>>2]|0;_=(((((((((((((n*19|0)+16777216>>25)+_>>26)+b>>25)+g>>26)+p>>25)+d>>26)+l>>25)+u>>26)+c>>25)+s>>26)+n>>25)*19|0)+_|0;b=(_>>26)+b|0;g=(b>>25)+g|0;y=b&33554431;p=(g>>26)+p|0;m=g&67108863;d=(p>>25)+d|0;h=p&33554431;l=(d>>26)+l|0;u=(l>>25)+u|0;c=(u>>26)+c|0;f=u&67108863;s=(c>>25)+s|0;a=c&33554431;n=(s>>26)+n|0;i=s&67108863;t=n&33554431;r[e>>0]=_;r[e+1>>0]=_>>>8;r[e+2>>0]=_>>>16;r[e+3>>0]=y<<2|_>>>24&3;r[e+4>>0]=b>>>6;r[e+5>>0]=b>>>14;r[e+6>>0]=m<<3|y>>>22;r[e+7>>0]=g>>>5;r[e+8>>0]=g>>>13;r[e+9>>0]=h<<5|m>>>21;r[e+10>>0]=p>>>3;r[e+11>>0]=p>>>11;r[e+12>>0]=d<<6|h>>>19;r[e+13>>0]=d>>>2;r[e+14>>0]=d>>>10;r[e+15>>0]=d>>>18;r[e+16>>0]=l;r[e+17>>0]=l>>>8;r[e+18>>0]=l>>>16;r[e+19>>0]=f<<1|l>>>24&1;r[e+20>>0]=u>>>7;r[e+21>>0]=u>>>15;r[e+22>>0]=a<<3|f>>>23;r[e+23>>0]=c>>>5;r[e+24>>0]=c>>>13;r[e+25>>0]=i<<4|a>>>21;r[e+26>>0]=s>>>4;r[e+27>>0]=s>>>12;r[e+28>>0]=t<<6|i>>>20;r[e+29>>0]=n>>>2;r[e+30>>0]=n>>>10;r[e+31>>0]=t>>>18;return}function Zr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,o=0,s=0;s=h;h=h+144|0;r=s+96|0;i=s+48|0;o=s;Yr(r,t);Yr(i,r);Yr(i,i);Xr(i,t,i);Xr(r,r,i);Yr(r,r);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);n=1;do{Yr(o,o);n=n+1|0}while((n|0)!=100);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(r,r);Yr(r,r);Xr(e,r,t);h=s;return}function $r(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0;tt=o[t>>2]|0;je=o[t+4>>2]|0;_=o[t+8>>2]|0;re=o[t+12>>2]|0;v=o[t+16>>2]|0;rt=o[t+20>>2]|0;f=o[t+24>>2]|0;me=o[t+28>>2]|0;s=o[t+32>>2]|0;g=o[t+36>>2]|0;u=tt<<1;y=je<<1;Ye=_<<1;w=re<<1;Ce=v<<1;m=rt<<1;pe=f<<1;A=me<<1;We=rt*38|0;Be=f*19|0;oe=me*38|0;Y=s*19|0;st=g*38|0;nt=((tt|0)<0)<<31>>31;nt=Es(tt|0,nt|0,tt|0,nt|0)|0;tt=I;l=((u|0)<0)<<31>>31;Ue=((je|0)<0)<<31>>31;Ve=Es(u|0,l|0,je|0,Ue|0)|0;He=I;p=((_|0)<0)<<31>>31;Fe=Es(_|0,p|0,u|0,l|0)|0;Le=I;ie=((re|0)<0)<<31>>31;xe=Es(re|0,ie|0,u|0,l|0)|0;Oe=I;r=((v|0)<0)<<31>>31;be=Es(v|0,r|0,u|0,l|0)|0;ye=I;it=((rt|0)<0)<<31>>31;ce=Es(rt|0,it|0,u|0,l|0)|0;ae=I;b=((f|0)<0)<<31>>31;Z=Es(f|0,b|0,u|0,l|0)|0;J=I;ge=((me|0)<0)<<31>>31;K=Es(me|0,ge|0,u|0,l|0)|0;q=I;a=((s|0)<0)<<31>>31;P=Es(s|0,a|0,u|0,l|0)|0;C=I;t=((g|0)<0)<<31>>31;l=Es(g|0,t|0,u|0,l|0)|0;u=I;n=((y|0)<0)<<31>>31;Ue=Es(y|0,n|0,je|0,Ue|0)|0;je=I;Re=Es(y|0,n|0,_|0,p|0)|0;Te=I;i=((w|0)<0)<<31>>31;we=Es(w|0,i|0,y|0,n|0)|0;Ae=I;de=Es(v|0,r|0,y|0,n|0)|0;le=I;E=((m|0)<0)<<31>>31;ee=Es(m|0,E|0,y|0,n|0)|0;$=I;G=Es(f|0,b|0,y|0,n|0)|0;z=I;c=((A|0)<0)<<31>>31;D=Es(A|0,c|0,y|0,n|0)|0;M=I;d=Es(s|0,a|0,y|0,n|0)|0;h=I;ot=((st|0)<0)<<31>>31;n=Es(st|0,ot|0,y|0,n|0)|0;y=I;ve=Es(_|0,p|0,_|0,p|0)|0;_e=I;Xe=((Ye|0)<0)<<31>>31;ue=Es(Ye|0,Xe|0,re|0,ie|0)|0;fe=I;ne=Es(v|0,r|0,Ye|0,Xe|0)|0;te=I;W=Es(rt|0,it|0,Ye|0,Xe|0)|0;Q=I;F=Es(f|0,b|0,Ye|0,Xe|0)|0;L=I;S=Es(me|0,ge|0,Ye|0,Xe|0)|0;k=I;X=((Y|0)<0)<<31>>31;Xe=Es(Y|0,X|0,Ye|0,Xe|0)|0;Ye=I;p=Es(st|0,ot|0,_|0,p|0)|0;_=I;ie=Es(w|0,i|0,re|0,ie|0)|0;re=I;V=Es(w|0,i|0,v|0,r|0)|0;H=I;N=Es(m|0,E|0,w|0,i|0)|0;B=I;x=Es(f|0,b|0,w|0,i|0)|0;O=I;se=((oe|0)<0)<<31>>31;Ze=Es(oe|0,se|0,w|0,i|0)|0;Je=I;Ke=Es(Y|0,X|0,w|0,i|0)|0;qe=I;i=Es(st|0,ot|0,w|0,i|0)|0;w=I;U=Es(v|0,r|0,v|0,r|0)|0;j=I;Pe=((Ce|0)<0)<<31>>31;R=Es(Ce|0,Pe|0,rt|0,it|0)|0;T=I;Ne=((Be|0)<0)<<31>>31;et=Es(Be|0,Ne|0,Ce|0,Pe|0)|0;$e=I;Ge=Es(oe|0,se|0,v|0,r|0)|0;ze=I;Pe=Es(Y|0,X|0,Ce|0,Pe|0)|0;Ce=I;r=Es(st|0,ot|0,v|0,r|0)|0;v=I;it=Es(We|0,((We|0)<0)<<31>>31|0,rt|0,it|0)|0;rt=I;We=Es(Be|0,Ne|0,m|0,E|0)|0;Qe=I;De=Es(oe|0,se|0,m|0,E|0)|0;Me=I;ke=Es(Y|0,X|0,m|0,E|0)|0;Ee=I;E=Es(st|0,ot|0,m|0,E|0)|0;m=I;Ne=Es(Be|0,Ne|0,f|0,b|0)|0;Be=I;Ie=Es(oe|0,se|0,f|0,b|0)|0;Se=I;pe=Es(Y|0,X|0,pe|0,((pe|0)<0)<<31>>31|0)|0;he=I;b=Es(st|0,ot|0,f|0,b|0)|0;f=I;ge=Es(oe|0,se|0,me|0,ge|0)|0;me=I;se=Es(Y|0,X|0,A|0,c|0)|0;oe=I;c=Es(st|0,ot|0,A|0,c|0)|0;A=I;X=Es(Y|0,X|0,s|0,a|0)|0;Y=I;a=Es(st|0,ot|0,s|0,a|0)|0;s=I;t=Es(st|0,ot|0,g|0,t|0)|0;g=I;tt=ks(it|0,rt|0,nt|0,tt|0)|0;$e=ks(tt|0,I|0,et|0,$e|0)|0;Je=ks($e|0,I|0,Ze|0,Je|0)|0;Ye=ks(Je|0,I|0,Xe|0,Ye|0)|0;y=ks(Ye|0,I|0,n|0,y|0)|0;n=I;He=ks(We|0,Qe|0,Ve|0,He|0)|0;ze=ks(He|0,I|0,Ge|0,ze|0)|0;qe=ks(ze|0,I|0,Ke|0,qe|0)|0;_=ks(qe|0,I|0,p|0,_|0)|0;p=I;je=ks(Fe|0,Le|0,Ue|0,je|0)|0;Be=ks(je|0,I|0,Ne|0,Be|0)|0;Me=ks(Be|0,I|0,De|0,Me|0)|0;Ce=ks(Me|0,I|0,Pe|0,Ce|0)|0;w=ks(Ce|0,I|0,i|0,w|0)|0;i=I;Te=ks(xe|0,Oe|0,Re|0,Te|0)|0;Se=ks(Te|0,I|0,Ie|0,Se|0)|0;Ee=ks(Se|0,I|0,ke|0,Ee|0)|0;v=ks(Ee|0,I|0,r|0,v|0)|0;r=I;_e=ks(we|0,Ae|0,ve|0,_e|0)|0;ye=ks(_e|0,I|0,be|0,ye|0)|0;me=ks(ye|0,I|0,ge|0,me|0)|0;he=ks(me|0,I|0,pe|0,he|0)|0;m=ks(he|0,I|0,E|0,m|0)|0;E=I;fe=ks(de|0,le|0,ue|0,fe|0)|0;ae=ks(fe|0,I|0,ce|0,ae|0)|0;oe=ks(ae|0,I|0,se|0,oe|0)|0;f=ks(oe|0,I|0,b|0,f|0)|0;b=I;te=ks(ie|0,re|0,ne|0,te|0)|0;$=ks(te|0,I|0,ee|0,$|0)|0;J=ks($|0,I|0,Z|0,J|0)|0;Y=ks(J|0,I|0,X|0,Y|0)|0;A=ks(Y|0,I|0,c|0,A|0)|0;c=I;H=ks(W|0,Q|0,V|0,H|0)|0;z=ks(H|0,I|0,G|0,z|0)|0;q=ks(z|0,I|0,K|0,q|0)|0;s=ks(q|0,I|0,a|0,s|0)|0;a=I;j=ks(F|0,L|0,U|0,j|0)|0;B=ks(j|0,I|0,N|0,B|0)|0;M=ks(B|0,I|0,D|0,M|0)|0;C=ks(M|0,I|0,P|0,C|0)|0;g=ks(C|0,I|0,t|0,g|0)|0;t=I;T=ks(x|0,O|0,R|0,T|0)|0;k=ks(T|0,I|0,S|0,k|0)|0;h=ks(k|0,I|0,d|0,h|0)|0;u=ks(h|0,I|0,l|0,u|0)|0;l=I;n=Cs(y|0,n|0,1)|0;y=I;p=Cs(_|0,p|0,1)|0;_=I;i=Cs(w|0,i|0,1)|0;w=I;r=Cs(v|0,r|0,1)|0;v=I;E=Cs(m|0,E|0,1)|0;m=I;b=Cs(f|0,b|0,1)|0;f=I;c=Cs(A|0,c|0,1)|0;A=I;a=Cs(s|0,a|0,1)|0;s=I;t=Cs(g|0,t|0,1)|0;g=I;l=Cs(u|0,l|0,1)|0;u=I;h=ks(n|0,y|0,33554432,0)|0;d=I;k=Os(h|0,d|0,26)|0;_=ks(k|0,I|0,p|0,_|0)|0;p=I;d=Ss(n|0,y|0,h&-67108864|0,d|0)|0;h=I;y=ks(E|0,m|0,33554432,0)|0;n=I;k=Os(y|0,n|0,26)|0;f=ks(k|0,I|0,b|0,f|0)|0;b=I;n=Ss(E|0,m|0,y&-67108864|0,n|0)|0;y=I;m=ks(_|0,p|0,16777216,0)|0;E=Os(m|0,I|0,25)|0;w=ks(E|0,I|0,i|0,w|0)|0;i=I;m=Ss(_|0,p|0,m&-33554432|0,0)|0;p=I;_=ks(f|0,b|0,16777216,0)|0;E=Os(_|0,I|0,25)|0;A=ks(E|0,I|0,c|0,A|0)|0;c=I;_=Ss(f|0,b|0,_&-33554432|0,0)|0;b=I;f=ks(w|0,i|0,33554432,0)|0;E=Os(f|0,I|0,26)|0;v=ks(E|0,I|0,r|0,v|0)|0;r=I;f=Ss(w|0,i|0,f&-67108864|0,0)|0;i=ks(A|0,c|0,33554432,0)|0;w=Os(i|0,I|0,26)|0;s=ks(w|0,I|0,a|0,s|0)|0;a=I;i=Ss(A|0,c|0,i&-67108864|0,0)|0;c=ks(v|0,r|0,16777216,0)|0;A=Os(c|0,I|0,25)|0;y=ks(A|0,I|0,n|0,y|0)|0;n=I;c=Ss(v|0,r|0,c&-33554432|0,0)|0;r=ks(s|0,a|0,16777216,0)|0;v=Os(r|0,I|0,25)|0;g=ks(v|0,I|0,t|0,g|0)|0;t=I;r=Ss(s|0,a|0,r&-33554432|0,0)|0;a=ks(y|0,n|0,33554432,0)|0;s=xs(a|0,I|0,26)|0;s=ks(_|0,b|0,s|0,I|0)|0;a=Ss(y|0,n|0,a&-67108864|0,0)|0;n=ks(g|0,t|0,33554432,0)|0;y=Os(n|0,I|0,26)|0;u=ks(y|0,I|0,l|0,u|0)|0;l=I;n=Ss(g|0,t|0,n&-67108864|0,0)|0;t=ks(u|0,l|0,16777216,0)|0;g=Os(t|0,I|0,25)|0;g=Es(g|0,I|0,19,0)|0;h=ks(g|0,I|0,d|0,h|0)|0;d=I;t=Ss(u|0,l|0,t&-33554432|0,0)|0;l=ks(h|0,d|0,33554432,0)|0;u=xs(l|0,I|0,26)|0;u=ks(m|0,p|0,u|0,I|0)|0;l=Ss(h|0,d|0,l&-67108864|0,0)|0;o[e>>2]=l;o[e+4>>2]=u;o[e+8>>2]=f;o[e+12>>2]=c;o[e+16>>2]=a;o[e+20>>2]=s;o[e+24>>2]=i;o[e+28>>2]=r;o[e+32>>2]=n;o[e+36>>2]=t;return}function ei(e){e=e|0;var t=0,n=0,i=0,o=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0;de=e+1|0;fe=e+2|0;K=r[fe>>0]|0;we=s[e>>0]|0;P=Cs(s[de>>0]|0|0,0,8)|0;_e=I;K=K&255;ve=Cs(K|0,0,16)|0;ce=e+3|0;A=Cs(s[ce>>0]|0|0,0,8)|0;te=I;ie=e+4|0;Z=Cs(s[ie>>0]|0|0,0,16)|0;te=te|I;re=e+5|0;q=s[re>>0]|0;$=Cs(q|0,0,24)|0;te=xs(A|K|Z|$|0,te|I|0,5)|0;$=e+6|0;Z=e+7|0;K=r[Z>>0]|0;A=Cs(s[$>>0]|0|0,0,8)|0;Re=I;K=K&255;J=Cs(K|0,0,16)|0;Re=xs(A|q|J|0,Re|I|0,2)|0;J=e+8|0;q=Cs(s[J>>0]|0|0,0,8)|0;A=I;Q=e+9|0;Te=Cs(s[Q>>0]|0|0,0,16)|0;A=A|I;V=e+10|0;Ve=s[V>>0]|0;H=Cs(Ve|0,0,24)|0;A=xs(q|K|Te|H|0,A|I|0,7)|0;H=e+11|0;Te=Cs(s[H>>0]|0|0,0,8)|0;K=I;q=e+12|0;B=Cs(s[q>>0]|0|0,0,16)|0;K=K|I;F=e+13|0;w=s[F>>0]|0;N=Cs(w|0,0,24)|0;K=xs(Te|Ve|B|N|0,K|I|0,4)|0;N=e+14|0;B=e+15|0;Ve=r[B>>0]|0;Te=Cs(s[N>>0]|0|0,0,8)|0;ye=I;Ve=Ve&255;D=Cs(Ve|0,0,16)|0;ye=xs(Te|w|D|0,ye|I|0,1)|0;D=e+16|0;w=Cs(s[D>>0]|0|0,0,8)|0;Te=I;x=e+17|0;k=Cs(s[x>>0]|0|0,0,16)|0;Te=Te|I;O=e+18|0;E=s[O>>0]|0;R=Cs(E|0,0,24)|0;Te=xs(w|Ve|k|R|0,Te|I|0,6)|0;R=e+19|0;k=e+20|0;Ve=r[k>>0]|0;w=Cs(s[R>>0]|0|0,0,8)|0;Qe=I;Ve=Cs(Ve&255|0,0,16)|0;Qe=xs(w|E|Ve|0,Qe|I|0,3)|0;Ve=I;E=e+21|0;w=e+22|0;_=e+23|0;n=r[_>>0]|0;et=s[E>>0]|0;tt=Cs(s[w>>0]|0|0,0,8)|0;Ze=I;n=n&255;$e=Cs(n|0,0,16)|0;b=e+24|0;Ue=Cs(s[b>>0]|0|0,0,8)|0;ze=I;p=e+25|0;c=Cs(s[p>>0]|0|0,0,16)|0;ze=ze|I;h=e+26|0;pe=s[h>>0]|0;f=Cs(pe|0,0,24)|0;ze=xs(Ue|n|c|f|0,ze|I|0,5)|0;f=e+27|0;c=e+28|0;n=r[c>>0]|0;Ue=Cs(s[f>>0]|0|0,0,8)|0;Je=I;n=n&255;a=Cs(n|0,0,16)|0;Je=xs(Ue|pe|a|0,Je|I|0,2)|0;a=e+29|0;pe=Cs(s[a>>0]|0|0,0,8)|0;Ue=I;o=e+30|0;ot=Cs(s[o>>0]|0|0,0,16)|0;Ue=Ue|I;t=e+31|0;ne=s[t>>0]|0;u=Cs(ne|0,0,24)|0;Ue=xs(pe|n|ot|u|0,Ue|I|0,7)|0;u=Cs(s[e+32>>0]|0|0,0,8)|0;ot=I;n=Cs(s[e+33>>0]|0|0,0,16)|0;ot=ot|I;pe=s[e+34>>0]|0;g=Cs(pe|0,0,24)|0;ot=xs(u|ne|n|g|0,ot|I|0,4)|0;g=r[e+36>>0]|0;n=Cs(s[e+35>>0]|0|0,0,8)|0;ne=I;g=g&255;u=Cs(g|0,0,16)|0;ne=xs(n|pe|u|0,ne|I|0,1)|0;u=Cs(s[e+37>>0]|0|0,0,8)|0;pe=I;n=Cs(s[e+38>>0]|0|0,0,16)|0;pe=pe|I;Fe=s[e+39>>0]|0;ee=Cs(Fe|0,0,24)|0;pe=xs(u|g|n|ee|0,pe|I|0,6)|0;ee=r[e+41>>0]|0;n=Cs(s[e+40>>0]|0|0,0,8)|0;g=I;ee=Cs(ee&255|0,0,16)|0;g=xs(n|Fe|ee|0,g|I|0,3)|0;ee=I;Fe=r[e+44>>0]|0;n=s[e+42>>0]|0;u=Cs(s[e+43>>0]|0|0,0,8)|0;j=I;Fe=Fe&255;y=Cs(Fe|0,0,16)|0;S=Cs(s[e+45>>0]|0|0,0,8)|0;oe=I;Ce=Cs(s[e+46>>0]|0|0,0,16)|0;oe=oe|I;st=s[e+47>>0]|0;U=Cs(st|0,0,24)|0;oe=xs(S|Fe|Ce|U|0,oe|I|0,5)|0;U=r[e+49>>0]|0;Ce=Cs(s[e+48>>0]|0|0,0,8)|0;Fe=I;U=U&255;S=Cs(U|0,0,16)|0;Fe=xs(Ce|st|S|0,Fe|I|0,2)|0;Fe=Fe&2097151;S=Cs(s[e+50>>0]|0|0,0,8)|0;st=I;Ce=Cs(s[e+51>>0]|0|0,0,16)|0;st=st|I;ue=s[e+52>>0]|0;L=Cs(ue|0,0,24)|0;st=xs(S|U|Ce|L|0,st|I|0,7)|0;st=st&2097151;L=Cs(s[e+53>>0]|0|0,0,8)|0;Ce=I;U=Cs(s[e+54>>0]|0|0,0,16)|0;Ce=Ce|I;S=s[e+55>>0]|0;W=Cs(S|0,0,24)|0;Ce=xs(L|ue|U|W|0,Ce|I|0,4)|0;Ce=Ce&2097151;W=r[e+57>>0]|0;U=Cs(s[e+56>>0]|0|0,0,8)|0;ue=I;W=W&255;L=Cs(W|0,0,16)|0;ue=xs(U|S|L|0,ue|I|0,1)|0;ue=ue&2097151;L=Cs(s[e+58>>0]|0|0,0,8)|0;S=I;U=Cs(s[e+59>>0]|0|0,0,16)|0;S=S|I;he=s[e+60>>0]|0;ge=Cs(he|0,0,24)|0;S=xs(L|W|U|ge|0,S|I|0,6)|0;S=S&2097151;ge=Cs(s[e+61>>0]|0|0,0,8)|0;U=I;W=Cs(s[e+62>>0]|0|0,0,16)|0;U=U|I;L=Cs(s[e+63>>0]|0|0,0,24)|0;U=xs(ge|he|W|L|0,U|I|0,3)|0;L=I;W=Es(U|0,L|0,666643,0)|0;he=I;ge=Es(U|0,L|0,470296,0)|0;ae=I;v=Es(U|0,L|0,654183,0)|0;C=I;Ae=Es(U|0,L|0,-997805,-1)|0;Ie=I;d=Es(U|0,L|0,136657,0)|0;Se=I;L=Es(U|0,L|0,-683901,-1)|0;j=ks(L|0,I|0,u|n|y&2031616|0,j|0)|0;y=I;n=Es(S|0,0,666643,0)|0;u=I;L=Es(S|0,0,470296,0)|0;U=I;Ye=Es(S|0,0,654183,0)|0;M=I;Y=Es(S|0,0,-997805,-1)|0;z=I;ke=Es(S|0,0,136657,0)|0;me=I;S=Es(S|0,0,-683901,-1)|0;G=I;Oe=Es(ue|0,0,666643,0)|0;Ee=I;se=Es(ue|0,0,470296,0)|0;Le=I;Me=Es(ue|0,0,654183,0)|0;Pe=I;nt=Es(ue|0,0,-997805,-1)|0;We=I;l=Es(ue|0,0,136657,0)|0;m=I;ue=Es(ue|0,0,-683901,-1)|0;pe=ks(ue|0,I|0,pe&2097151|0,0)|0;me=ks(pe|0,I|0,ke|0,me|0)|0;Ie=ks(me|0,I|0,Ae|0,Ie|0)|0;Ae=I;me=Es(Ce|0,0,666643,0)|0;ke=I;pe=Es(Ce|0,0,470296,0)|0;ue=I;be=Es(Ce|0,0,654183,0)|0;X=I;Be=Es(Ce|0,0,-997805,-1)|0;De=I;it=Es(Ce|0,0,136657,0)|0;rt=I;Ce=Es(Ce|0,0,-683901,-1)|0;xe=I;i=Es(st|0,0,666643,0)|0;T=I;Ge=Es(st|0,0,470296,0)|0;He=I;Ke=Es(st|0,0,654183,0)|0;qe=I;Xe=Es(st|0,0,-997805,-1)|0;le=I;je=Es(st|0,0,136657,0)|0;Ne=I;st=Es(st|0,0,-683901,-1)|0;ot=ks(st|0,I|0,ot&2097151|0,0)|0;rt=ks(ot|0,I|0,it|0,rt|0)|0;We=ks(rt|0,I|0,nt|0,We|0)|0;M=ks(We|0,I|0,Ye|0,M|0)|0;ae=ks(M|0,I|0,ge|0,ae|0)|0;ge=I;M=Es(Fe|0,0,666643,0)|0;Te=ks(M|0,I|0,Te&2097151|0,0)|0;M=I;Ye=Es(Fe|0,0,470296,0)|0;We=I;nt=Es(Fe|0,0,654183,0)|0;Ze=ks(nt|0,I|0,tt|et|$e&2031616|0,Ze|0)|0;He=ks(Ze|0,I|0,Ge|0,He|0)|0;ke=ks(He|0,I|0,me|0,ke|0)|0;me=I;He=Es(Fe|0,0,-997805,-1)|0;Ge=I;Ze=Es(Fe|0,0,136657,0)|0;Je=ks(Ze|0,I|0,Je&2097151|0,0)|0;le=ks(Je|0,I|0,Xe|0,le|0)|0;X=ks(le|0,I|0,be|0,X|0)|0;Le=ks(X|0,I|0,se|0,Le|0)|0;u=ks(Le|0,I|0,n|0,u|0)|0;n=I;Fe=Es(Fe|0,0,-683901,-1)|0;Le=I;se=ks(Te|0,M|0,1048576,0)|0;X=I;be=xs(se|0,X|0,21)|0;le=I;Ve=ks(Ye|0,We|0,Qe|0,Ve|0)|0;le=ks(Ve|0,I|0,be|0,le|0)|0;T=ks(le|0,I|0,i|0,T|0)|0;i=I;X=Ss(Te|0,M|0,se&-2097152|0,X&2047|0)|0;se=I;M=ks(ke|0,me|0,1048576,0)|0;Te=I;le=xs(M|0,Te|0,21)|0;be=I;ze=ks(He|0,Ge|0,ze&2097151|0,0)|0;qe=ks(ze|0,I|0,Ke|0,qe|0)|0;ue=ks(qe|0,I|0,pe|0,ue|0)|0;Ee=ks(ue|0,I|0,Oe|0,Ee|0)|0;be=ks(Ee|0,I|0,le|0,be|0)|0;le=I;Ee=ks(u|0,n|0,1048576,0)|0;Oe=I;ue=Os(Ee|0,Oe|0,21)|0;pe=I;Ue=ks(Fe|0,Le|0,Ue&2097151|0,0)|0;Ne=ks(Ue|0,I|0,je|0,Ne|0)|0;De=ks(Ne|0,I|0,Be|0,De|0)|0;Pe=ks(De|0,I|0,Me|0,Pe|0)|0;U=ks(Pe|0,I|0,L|0,U|0)|0;he=ks(U|0,I|0,W|0,he|0)|0;pe=ks(he|0,I|0,ue|0,pe|0)|0;ue=I;he=ks(ae|0,ge|0,1048576,0)|0;W=I;U=Os(he|0,W|0,21)|0;L=I;ne=ks(Ce|0,xe|0,ne&2097151|0,0)|0;m=ks(ne|0,I|0,l|0,m|0)|0;z=ks(m|0,I|0,Y|0,z|0)|0;C=ks(z|0,I|0,v|0,C|0)|0;L=ks(C|0,I|0,U|0,L|0)|0;U=I;W=Ss(ae|0,ge|0,he&-2097152|0,W|0)|0;he=I;ge=ks(Ie|0,Ae|0,1048576,0)|0;ae=I;C=Os(ge|0,ae|0,21)|0;v=I;ee=ks(S|0,G|0,g|0,ee|0)|0;Se=ks(ee|0,I|0,d|0,Se|0)|0;v=ks(Se|0,I|0,C|0,v|0)|0;C=I;ae=Ss(Ie|0,Ae|0,ge&-2097152|0,ae|0)|0;ge=I;Ae=ks(j|0,y|0,1048576,0)|0;Ie=I;Se=Os(Ae|0,Ie|0,21)|0;oe=ks(Se|0,I|0,oe&2097151|0,0)|0;Se=I;Ie=Ss(j|0,y|0,Ae&-2097152|0,Ie|0)|0;Ae=I;y=ks(T|0,i|0,1048576,0)|0;j=I;d=xs(y|0,j|0,21)|0;ee=I;j=Ss(T|0,i|0,y&-2097152|0,j|0)|0;y=I;i=ks(be|0,le|0,1048576,0)|0;T=I;g=Os(i|0,T|0,21)|0;G=I;T=Ss(be|0,le|0,i&-2097152|0,T|0)|0;i=I;le=ks(pe|0,ue|0,1048576,0)|0;be=I;S=Os(le|0,be|0,21)|0;he=ks(S|0,I|0,W|0,he|0)|0;W=I;be=Ss(pe|0,ue|0,le&-2097152|0,be|0)|0;le=I;ue=ks(L|0,U|0,1048576,0)|0;pe=I;S=Os(ue|0,pe|0,21)|0;ge=ks(S|0,I|0,ae|0,ge|0)|0;ae=I;pe=Ss(L|0,U|0,ue&-2097152|0,pe|0)|0;ue=I;U=ks(v|0,C|0,1048576,0)|0;L=I;S=Os(U|0,L|0,21)|0;Ae=ks(S|0,I|0,Ie|0,Ae|0)|0;Ie=I;L=Ss(v|0,C|0,U&-2097152|0,L|0)|0;U=I;C=Es(oe|0,Se|0,666643,0)|0;ye=ks(C|0,I|0,ye&2097151|0,0)|0;C=I;v=Es(oe|0,Se|0,470296,0)|0;v=ks(X|0,se|0,v|0,I|0)|0;se=I;X=Es(oe|0,Se|0,654183,0)|0;X=ks(j|0,y|0,X|0,I|0)|0;y=I;j=Es(oe|0,Se|0,-997805,-1)|0;S=I;z=Es(oe|0,Se|0,136657,0)|0;z=ks(T|0,i|0,z|0,I|0)|0;i=I;Se=Es(oe|0,Se|0,-683901,-1)|0;oe=I;G=ks(u|0,n|0,g|0,G|0)|0;Oe=Ss(G|0,I|0,Ee&-2097152|0,Oe|0)|0;oe=ks(Oe|0,I|0,Se|0,oe|0)|0;Se=I;Oe=Es(Ae|0,Ie|0,666643,0)|0;K=ks(Oe|0,I|0,K&2097151|0,0)|0;Oe=I;Ee=Es(Ae|0,Ie|0,470296,0)|0;Ee=ks(ye|0,C|0,Ee|0,I|0)|0;C=I;ye=Es(Ae|0,Ie|0,654183,0)|0;ye=ks(v|0,se|0,ye|0,I|0)|0;se=I;v=Es(Ae|0,Ie|0,-997805,-1)|0;v=ks(X|0,y|0,v|0,I|0)|0;y=I;X=Es(Ae|0,Ie|0,136657,0)|0;G=I;Ie=Es(Ae|0,Ie|0,-683901,-1)|0;Ie=ks(z|0,i|0,Ie|0,I|0)|0;i=I;z=Es(L|0,U|0,666643,0)|0;A=ks(z|0,I|0,A&2097151|0,0)|0;z=I;Ae=Es(L|0,U|0,470296,0)|0;Ae=ks(K|0,Oe|0,Ae|0,I|0)|0;Oe=I;K=Es(L|0,U|0,654183,0)|0;K=ks(Ee|0,C|0,K|0,I|0)|0;C=I;Ee=Es(L|0,U|0,-997805,-1)|0;Ee=ks(ye|0,se|0,Ee|0,I|0)|0;se=I;ye=Es(L|0,U|0,136657,0)|0;ye=ks(v|0,y|0,ye|0,I|0)|0;y=I;U=Es(L|0,U|0,-683901,-1)|0;L=I;ee=ks(ke|0,me|0,d|0,ee|0)|0;Te=Ss(ee|0,I|0,M&-2097152|0,Te|0)|0;S=ks(Te|0,I|0,j|0,S|0)|0;G=ks(S|0,I|0,X|0,G|0)|0;L=ks(G|0,I|0,U|0,L|0)|0;U=I;G=Es(ge|0,ae|0,666643,0)|0;X=I;S=Es(ge|0,ae|0,470296,0)|0;j=I;Te=Es(ge|0,ae|0,654183,0)|0;M=I;ee=Es(ge|0,ae|0,-997805,-1)|0;d=I;me=Es(ge|0,ae|0,136657,0)|0;me=ks(Ee|0,se|0,me|0,I|0)|0;se=I;ae=Es(ge|0,ae|0,-683901,-1)|0;ae=ks(ye|0,y|0,ae|0,I|0)|0;y=I;ye=Es(pe|0,ue|0,666643,0)|0;ge=I;Ee=Es(pe|0,ue|0,470296,0)|0;ke=I;v=Es(pe|0,ue|0,654183,0)|0;g=I;n=Es(pe|0,ue|0,-997805,-1)|0;u=I;T=Es(pe|0,ue|0,136657,0)|0;Y=I;ue=Es(pe|0,ue|0,-683901,-1)|0;ue=ks(me|0,se|0,ue|0,I|0)|0;se=I;me=Es(he|0,W|0,666643,0)|0;_e=ks(me|0,I|0,P|we|ve&2031616|0,_e|0)|0;ve=I;we=Es(he|0,W|0,470296,0)|0;P=I;me=Es(he|0,W|0,654183,0)|0;Re=ks(me|0,I|0,Re&2097151|0,0)|0;X=ks(Re|0,I|0,G|0,X|0)|0;ke=ks(X|0,I|0,Ee|0,ke|0)|0;Ee=I;X=Es(he|0,W|0,-997805,-1)|0;G=I;Re=Es(he|0,W|0,136657,0)|0;Re=ks(Ae|0,Oe|0,Re|0,I|0)|0;M=ks(Re|0,I|0,Te|0,M|0)|0;u=ks(M|0,I|0,n|0,u|0)|0;n=I;W=Es(he|0,W|0,-683901,-1)|0;he=I;M=ks(_e|0,ve|0,1048576,0)|0;Te=I;Re=Os(M|0,Te|0,21)|0;Oe=I;te=ks(we|0,P|0,te&2097151|0,0)|0;ge=ks(te|0,I|0,ye|0,ge|0)|0;Oe=ks(ge|0,I|0,Re|0,Oe|0)|0;Re=I;Te=Ss(_e|0,ve|0,M&-2097152|0,Te|0)|0;M=I;ve=ks(ke|0,Ee|0,1048576,0)|0;_e=I;ge=Os(ve|0,_e|0,21)|0;ye=I;G=ks(A|0,z|0,X|0,G|0)|0;j=ks(G|0,I|0,S|0,j|0)|0;g=ks(j|0,I|0,v|0,g|0)|0;ye=ks(g|0,I|0,ge|0,ye|0)|0;ge=I;g=ks(u|0,n|0,1048576,0)|0;v=I;j=Os(g|0,v|0,21)|0;S=I;he=ks(K|0,C|0,W|0,he|0)|0;d=ks(he|0,I|0,ee|0,d|0)|0;Y=ks(d|0,I|0,T|0,Y|0)|0;S=ks(Y|0,I|0,j|0,S|0)|0;j=I;Y=ks(ue|0,se|0,1048576,0)|0;T=I;d=Os(Y|0,T|0,21)|0;d=ks(ae|0,y|0,d|0,I|0)|0;y=I;T=Ss(ue|0,se|0,Y&-2097152|0,T|0)|0;Y=I;se=ks(L|0,U|0,1048576,0)|0;ue=I;ae=Os(se|0,ue|0,21)|0;ae=ks(Ie|0,i|0,ae|0,I|0)|0;i=I;ue=Ss(L|0,U|0,se&-2097152|0,ue|0)|0;se=I;U=ks(oe|0,Se|0,1048576,0)|0;L=I;Ie=Os(U|0,L|0,21)|0;Ie=ks(be|0,le|0,Ie|0,I|0)|0;le=I;L=Ss(oe|0,Se|0,U&-2097152|0,L|0)|0;U=I;Se=ks(Oe|0,Re|0,1048576,0)|0;oe=I;be=Os(Se|0,oe|0,21)|0;ee=I;he=ks(ye|0,ge|0,1048576,0)|0;W=I;C=Os(he|0,W|0,21)|0;K=I;G=ks(S|0,j|0,1048576,0)|0;X=I;z=Os(G|0,X|0,21)|0;z=ks(T|0,Y|0,z|0,I|0)|0;Y=I;T=ks(d|0,y|0,1048576,0)|0;A=I;te=Os(T|0,A|0,21)|0;te=ks(ue|0,se|0,te|0,I|0)|0;se=I;A=Ss(d|0,y|0,T&-2097152|0,A|0)|0;T=I;y=ks(ae|0,i|0,1048576,0)|0;d=I;ue=Os(y|0,d|0,21)|0;ue=ks(L|0,U|0,ue|0,I|0)|0;U=I;d=Ss(ae|0,i|0,y&-2097152|0,d|0)|0;y=I;i=ks(Ie|0,le|0,1048576,0)|0;ae=I;L=Os(i|0,ae|0,21)|0;P=I;ae=Ss(Ie|0,le|0,i&-2097152|0,ae|0)|0;i=I;le=Es(L|0,P|0,666643,0)|0;le=ks(Te|0,M|0,le|0,I|0)|0;M=I;Te=Es(L|0,P|0,470296,0)|0;Ie=I;we=Es(L|0,P|0,654183,0)|0;Ae=I;me=Es(L|0,P|0,-997805,-1)|0;pe=I;m=Es(L|0,P|0,136657,0)|0;l=I;P=Es(L|0,P|0,-683901,-1)|0;L=I;M=Os(le|0,M|0,21)|0;ne=I;Ie=ks(Oe|0,Re|0,Te|0,Ie|0)|0;oe=Ss(Ie|0,I|0,Se&-2097152|0,oe|0)|0;ne=ks(oe|0,I|0,M|0,ne|0)|0;M=Os(ne|0,I|0,21)|0;oe=I;Ae=ks(ke|0,Ee|0,we|0,Ae|0)|0;_e=Ss(Ae|0,I|0,ve&-2097152|0,_e|0)|0;ee=ks(_e|0,I|0,be|0,ee|0)|0;oe=ks(ee|0,I|0,M|0,oe|0)|0;M=Os(oe|0,I|0,21)|0;ee=I;pe=ks(ye|0,ge|0,me|0,pe|0)|0;W=Ss(pe|0,I|0,he&-2097152|0,W|0)|0;ee=ks(W|0,I|0,M|0,ee|0)|0;M=Os(ee|0,I|0,21)|0;W=I;l=ks(u|0,n|0,m|0,l|0)|0;v=Ss(l|0,I|0,g&-2097152|0,v|0)|0;K=ks(v|0,I|0,C|0,K|0)|0;W=ks(K|0,I|0,M|0,W|0)|0;M=Os(W|0,I|0,21)|0;K=I;L=ks(S|0,j|0,P|0,L|0)|0;X=Ss(L|0,I|0,G&-2097152|0,X|0)|0;K=ks(X|0,I|0,M|0,K|0)|0;M=Os(K|0,I|0,21)|0;M=ks(z|0,Y|0,M|0,I|0)|0;Y=Os(M|0,I|0,21)|0;T=ks(Y|0,I|0,A|0,T|0)|0;A=Os(T|0,I|0,21)|0;A=ks(te|0,se|0,A|0,I|0)|0;se=Os(A|0,I|0,21)|0;y=ks(se|0,I|0,d|0,y|0)|0;d=Os(y|0,I|0,21)|0;d=ks(ue|0,U|0,d|0,I|0)|0;U=Os(d|0,I|0,21)|0;i=ks(U|0,I|0,ae|0,i|0)|0;ae=Os(i|0,I|0,21)|0;U=I;ue=Es(ae|0,U|0,666643,0)|0;le=ks(ue|0,I|0,le&2097151|0,0)|0;ue=I;se=Es(ae|0,U|0,470296,0)|0;ne=ks(se|0,I|0,ne&2097151|0,0)|0;se=I;te=Es(ae|0,U|0,654183,0)|0;oe=ks(te|0,I|0,oe&2097151|0,0)|0;te=I;Y=Es(ae|0,U|0,-997805,-1)|0;ee=ks(Y|0,I|0,ee&2097151|0,0)|0;Y=I;z=Es(ae|0,U|0,136657,0)|0;W=ks(z|0,I|0,W&2097151|0,0)|0;z=I;U=Es(ae|0,U|0,-683901,-1)|0;K=ks(U|0,I|0,K&2097151|0,0)|0;U=I;ae=Os(le|0,ue|0,21)|0;ae=ks(ne|0,se|0,ae|0,I|0)|0;se=I;ne=Os(ae|0,se|0,21)|0;ne=ks(oe|0,te|0,ne|0,I|0)|0;te=I;oe=ae&2097151;X=Os(ne|0,te|0,21)|0;X=ks(ee|0,Y|0,X|0,I|0)|0;Y=I;ee=ne&2097151;G=Os(X|0,Y|0,21)|0;G=ks(W|0,z|0,G|0,I|0)|0;z=I;W=X&2097151;L=Os(G|0,z|0,21)|0;L=ks(K|0,U|0,L|0,I|0)|0;U=I;K=G&2097151;P=Os(L|0,U|0,21)|0;M=ks(P|0,I|0,M&2097151|0,0)|0;P=I;j=L&2097151;S=Os(M|0,P|0,21)|0;T=ks(S|0,I|0,T&2097151|0,0)|0;S=I;C=M&2097151;v=Os(T|0,S|0,21)|0;A=ks(v|0,I|0,A&2097151|0,0)|0;v=I;g=Os(A|0,v|0,21)|0;y=ks(g|0,I|0,y&2097151|0,0)|0;g=I;l=Os(y|0,g|0,21)|0;d=ks(l|0,I|0,d&2097151|0,0)|0;l=I;m=y&2097151;n=Os(d|0,l|0,21)|0;i=ks(n|0,I|0,i&2097151|0,0)|0;n=I;u=d&2097151;r[e>>0]=le;e=xs(le|0,ue|0,8)|0;r[de>>0]=e;e=xs(le|0,ue|0,16)|0;ue=Cs(oe|0,0,5)|0;r[fe>>0]=ue|e&31;e=xs(ae|0,se|0,3)|0;r[ce>>0]=e;e=xs(ae|0,se|0,11)|0;r[ie>>0]=e;e=xs(oe|0,0,19)|0;oe=I;ie=Cs(ee|0,0,2)|0;r[re>>0]=ie|e;e=xs(ne|0,te|0,6)|0;r[$>>0]=e;e=xs(ee|0,0,14)|0;ee=I;$=Cs(W|0,0,7)|0;r[Z>>0]=$|e;e=xs(X|0,Y|0,1)|0;r[J>>0]=e;e=xs(X|0,Y|0,9)|0;r[Q>>0]=e;e=xs(W|0,0,17)|0;W=I;Q=Cs(K|0,0,4)|0;r[V>>0]=Q|e;e=xs(G|0,z|0,4)|0;r[H>>0]=e;e=xs(G|0,z|0,12)|0;r[q>>0]=e;e=xs(K|0,0,20)|0;K=I;q=Cs(j|0,0,1)|0;r[F>>0]=q|e;e=xs(L|0,U|0,7)|0;r[N>>0]=e;e=xs(j|0,0,15)|0;j=I;N=Cs(C|0,0,6)|0;r[B>>0]=N|e;e=xs(M|0,P|0,2)|0;r[D>>0]=e;e=xs(M|0,P|0,10)|0;r[x>>0]=e;e=xs(C|0,0,18)|0;C=I;x=Cs(T|0,S|0,3)|0;r[O>>0]=x|e;e=xs(T|0,S|0,5)|0;r[R>>0]=e;e=xs(T|0,S|0,13)|0;r[k>>0]=e;r[E>>0]=A;e=xs(A|0,v|0,8)|0;r[w>>0]=e;e=xs(A|0,v|0,16)|0;v=Cs(m|0,0,5)|0;r[_>>0]=v|e&31;e=xs(y|0,g|0,3)|0;r[b>>0]=e;e=xs(y|0,g|0,11)|0;r[p>>0]=e;e=xs(m|0,0,19)|0;m=I;p=Cs(u|0,0,2)|0;r[h>>0]=p|e;e=xs(d|0,l|0,6)|0;r[f>>0]=e;e=xs(u|0,0,14)|0;u=I;f=Cs(i|0,n|0,7)|0;r[c>>0]=f|e;e=xs(i|0,n|0,1)|0;r[a>>0]=e;e=xs(i|0,n|0,9)|0;r[o>>0]=e;e=Os(i|0,n|0,17)|0;r[t>>0]=e;return}function ti(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var o=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0,at=0,ct=0,ft=0,ut=0,lt=0,dt=0,ht=0,pt=0,mt=0,gt=0,yt=0,bt=0,_t=0,vt=0,At=0,wt=0,Et=0,kt=0,St=0,It=0,Tt=0,Rt=0,Ot=0,xt=0,Ct=0,Pt=0,Mt=0,Dt=0,Bt=0,Nt=0,jt=0,Ut=0,Lt=0,Ft=0,qt=0,Kt=0,zt=0,Gt=0,Ht=0,Vt=0,Qt=0,Wt=0,Yt=0,Xt=0,Jt=0,Zt=0,$t=0,en=0,tn=0,nn=0,rn=0,on=0,sn=0,an=0,cn=0,fn=0,un=0,ln=0,dn=0,hn=0,pn=0,mn=0,gn=0,yn=0,bn=0,_n=0,vn=0,An=0,wn=0;ot=r[t+2>>0]|0;pe=s[t>>0]|0;pt=Cs(s[t+1>>0]|0|0,0,8)|0;Ue=I;ot=ot&255;Le=Cs(ot|0,0,16)|0;Le=pt|pe|Le&2031616;pe=Cs(s[t+3>>0]|0|0,0,8)|0;pt=I;$e=Cs(s[t+4>>0]|0|0,0,16)|0;pt=pt|I;ht=s[t+5>>0]|0;L=Cs(ht|0,0,24)|0;pt=xs(pe|ot|$e|L|0,pt|I|0,5)|0;pt=pt&2097151;L=r[t+7>>0]|0;$e=Cs(s[t+6>>0]|0|0,0,8)|0;ot=I;L=L&255;pe=Cs(L|0,0,16)|0;ot=xs($e|ht|pe|0,ot|I|0,2)|0;ot=ot&2097151;pe=Cs(s[t+8>>0]|0|0,0,8)|0;ht=I;$e=Cs(s[t+9>>0]|0|0,0,16)|0;ht=ht|I;G=s[t+10>>0]|0;B=Cs(G|0,0,24)|0;ht=xs(pe|L|$e|B|0,ht|I|0,7)|0;ht=ht&2097151;B=Cs(s[t+11>>0]|0|0,0,8)|0;$e=I;L=Cs(s[t+12>>0]|0|0,0,16)|0;$e=$e|I;pe=s[t+13>>0]|0;m=Cs(pe|0,0,24)|0;$e=xs(B|G|L|m|0,$e|I|0,4)|0;$e=$e&2097151;m=r[t+15>>0]|0;L=Cs(s[t+14>>0]|0|0,0,8)|0;G=I;m=m&255;B=Cs(m|0,0,16)|0;G=xs(L|pe|B|0,G|I|0,1)|0;G=G&2097151;B=Cs(s[t+16>>0]|0|0,0,8)|0;pe=I;L=Cs(s[t+17>>0]|0|0,0,16)|0;pe=pe|I;N=s[t+18>>0]|0;l=Cs(N|0,0,24)|0;pe=xs(B|m|L|l|0,pe|I|0,6)|0;pe=pe&2097151;l=r[t+20>>0]|0;L=Cs(s[t+19>>0]|0|0,0,8)|0;m=I;l=Cs(l&255|0,0,16)|0;m=xs(L|N|l|0,m|I|0,3)|0;l=I;N=r[t+23>>0]|0;L=s[t+21>>0]|0;B=Cs(s[t+22>>0]|0|0,0,8)|0;z=I;N=N&255;x=Cs(N|0,0,16)|0;x=B|L|x&2031616;L=Cs(s[t+24>>0]|0|0,0,8)|0;B=I;Je=Cs(s[t+25>>0]|0|0,0,16)|0;B=B|I;ge=s[t+26>>0]|0;E=Cs(ge|0,0,24)|0;B=xs(L|N|Je|E|0,B|I|0,5)|0;B=B&2097151;E=r[t+28>>0]|0;Je=Cs(s[t+27>>0]|0|0,0,8)|0;N=I;E=E&255;L=Cs(E|0,0,16)|0;N=xs(Je|ge|L|0,N|I|0,2)|0;N=N&2097151;L=Cs(s[t+29>>0]|0|0,0,8)|0;ge=I;Je=Cs(s[t+30>>0]|0|0,0,16)|0;ge=ge|I;ye=Cs(s[t+31>>0]|0|0,0,24)|0;ge=xs(L|E|Je|ye|0,ge|I|0,7)|0;ye=I;Je=r[n+2>>0]|0;E=s[n>>0]|0;L=Cs(s[n+1>>0]|0|0,0,8)|0;Et=I;Je=Je&255;wt=Cs(Je|0,0,16)|0;wt=L|E|wt&2031616;E=Cs(s[n+3>>0]|0|0,0,8)|0;L=I;u=Cs(s[n+4>>0]|0|0,0,16)|0;L=L|I;b=s[n+5>>0]|0;bn=Cs(b|0,0,24)|0;L=xs(E|Je|u|bn|0,L|I|0,5)|0;L=L&2097151;bn=r[n+7>>0]|0;u=Cs(s[n+6>>0]|0|0,0,8)|0;Je=I;bn=bn&255;E=Cs(bn|0,0,16)|0;Je=xs(u|b|E|0,Je|I|0,2)|0;Je=Je&2097151;E=Cs(s[n+8>>0]|0|0,0,8)|0;b=I;u=Cs(s[n+9>>0]|0|0,0,16)|0;b=b|I;d=s[n+10>>0]|0;w=Cs(d|0,0,24)|0;b=xs(E|bn|u|w|0,b|I|0,7)|0;b=b&2097151;w=Cs(s[n+11>>0]|0|0,0,8)|0;u=I;bn=Cs(s[n+12>>0]|0|0,0,16)|0;u=u|I;E=s[n+13>>0]|0;wn=Cs(E|0,0,24)|0;u=xs(w|d|bn|wn|0,u|I|0,4)|0;u=u&2097151;wn=r[n+15>>0]|0;bn=Cs(s[n+14>>0]|0|0,0,8)|0;d=I;wn=wn&255;w=Cs(wn|0,0,16)|0;d=xs(bn|E|w|0,d|I|0,1)|0;d=d&2097151;w=Cs(s[n+16>>0]|0|0,0,8)|0;E=I;bn=Cs(s[n+17>>0]|0|0,0,16)|0;E=E|I;vt=s[n+18>>0]|0;Z=Cs(vt|0,0,24)|0;E=xs(w|wn|bn|Z|0,E|I|0,6)|0;E=E&2097151;Z=r[n+20>>0]|0;bn=Cs(s[n+19>>0]|0|0,0,8)|0;wn=I;Z=Cs(Z&255|0,0,16)|0;wn=xs(bn|vt|Z|0,wn|I|0,3)|0;Z=I;vt=r[n+23>>0]|0;bn=s[n+21>>0]|0;w=Cs(s[n+22>>0]|0|0,0,8)|0;ke=I;vt=vt&255;Se=Cs(vt|0,0,16)|0;Se=w|bn|Se&2031616;bn=Cs(s[n+24>>0]|0|0,0,8)|0;w=I;Me=Cs(s[n+25>>0]|0|0,0,16)|0;w=w|I;Q=s[n+26>>0]|0;_n=Cs(Q|0,0,24)|0;w=xs(bn|vt|Me|_n|0,w|I|0,5)|0;w=w&2097151;_n=r[n+28>>0]|0;Me=Cs(s[n+27>>0]|0|0,0,8)|0;vt=I;_n=_n&255;bn=Cs(_n|0,0,16)|0;vt=xs(Me|Q|bn|0,vt|I|0,2)|0;vt=vt&2097151;bn=Cs(s[n+29>>0]|0|0,0,8)|0;Q=I;Me=Cs(s[n+30>>0]|0|0,0,16)|0;Q=Q|I;V=Cs(s[n+31>>0]|0|0,0,24)|0;Q=xs(bn|_n|Me|V|0,Q|I|0,7)|0;V=I;Me=r[i+2>>0]|0;_n=s[i>>0]|0;bn=Cs(s[i+1>>0]|0|0,0,8)|0;Oe=I;Me=Me&255;vn=Cs(Me|0,0,16)|0;Ge=Cs(s[i+3>>0]|0|0,0,8)|0;_e=I;Te=Cs(s[i+4>>0]|0|0,0,16)|0;_e=_e|I;Ee=s[i+5>>0]|0;g=Cs(Ee|0,0,24)|0;_e=xs(Ge|Me|Te|g|0,_e|I|0,5)|0;g=r[i+7>>0]|0;Te=Cs(s[i+6>>0]|0|0,0,8)|0;Me=I;g=g&255;Ge=Cs(g|0,0,16)|0;Me=xs(Te|Ee|Ge|0,Me|I|0,2)|0;Ge=Cs(s[i+8>>0]|0|0,0,8)|0;Ee=I;Te=Cs(s[i+9>>0]|0|0,0,16)|0;Ee=Ee|I;De=s[i+10>>0]|0;ve=Cs(De|0,0,24)|0;Ee=xs(Ge|g|Te|ve|0,Ee|I|0,7)|0;ve=Cs(s[i+11>>0]|0|0,0,8)|0;Te=I;g=Cs(s[i+12>>0]|0|0,0,16)|0;Te=Te|I;Ge=s[i+13>>0]|0;le=Cs(Ge|0,0,24)|0;Te=xs(ve|De|g|le|0,Te|I|0,4)|0;le=r[i+15>>0]|0;g=Cs(s[i+14>>0]|0|0,0,8)|0;De=I;le=le&255;ve=Cs(le|0,0,16)|0;De=xs(g|Ge|ve|0,De|I|0,1)|0;ve=Cs(s[i+16>>0]|0|0,0,8)|0;Ge=I;g=Cs(s[i+17>>0]|0|0,0,16)|0;Ge=Ge|I;te=s[i+18>>0]|0;ue=Cs(te|0,0,24)|0;Ge=xs(ve|le|g|ue|0,Ge|I|0,6)|0;ue=r[i+20>>0]|0;g=Cs(s[i+19>>0]|0|0,0,8)|0;le=I;ue=Cs(ue&255|0,0,16)|0;le=xs(g|te|ue|0,le|I|0,3)|0;ue=I;te=r[i+23>>0]|0;g=s[i+21>>0]|0;ve=Cs(s[i+22>>0]|0|0,0,8)|0;X=I;te=te&255;J=Cs(te|0,0,16)|0;O=Cs(s[i+24>>0]|0|0,0,8)|0;Ae=I;Re=Cs(s[i+25>>0]|0|0,0,16)|0;Ae=Ae|I;rt=s[i+26>>0]|0;j=Cs(rt|0,0,24)|0;Ae=xs(O|te|Re|j|0,Ae|I|0,5)|0;j=r[i+28>>0]|0;Re=Cs(s[i+27>>0]|0|0,0,8)|0;te=I;j=j&255;O=Cs(j|0,0,16)|0;te=xs(Re|rt|O|0,te|I|0,2)|0;O=Cs(s[i+29>>0]|0|0,0,8)|0;rt=I;Re=Cs(s[i+30>>0]|0|0,0,16)|0;rt=rt|I;ft=Cs(s[i+31>>0]|0|0,0,24)|0;rt=xs(O|j|Re|ft|0,rt|I|0,7)|0;ft=I;Re=Es(wt|0,Et|0,Le|0,Ue|0)|0;Re=ks(bn|_n|vn&2031616|0,Oe|0,Re|0,I|0)|0;Oe=I;vn=Es(L|0,0,Le|0,Ue|0)|0;_n=I;bn=Es(wt|0,Et|0,pt|0,0)|0;j=I;O=Es(Je|0,0,Le|0,Ue|0)|0;Pe=I;re=Es(L|0,0,pt|0,0)|0;hn=I;we=Es(wt|0,Et|0,ot|0,0)|0;we=ks(re|0,hn|0,we|0,I|0)|0;Pe=ks(we|0,I|0,O|0,Pe|0)|0;Me=ks(Pe|0,I|0,Me&2097151|0,0)|0;Pe=I;O=Es(b|0,0,Le|0,Ue|0)|0;we=I;hn=Es(Je|0,0,pt|0,0)|0;re=I;yn=Es(L|0,0,ot|0,0)|0;gn=I;mn=Es(wt|0,Et|0,ht|0,0)|0;pn=I;H=Es(u|0,0,Le|0,Ue|0)|0;Ie=I;rn=Es(b|0,0,pt|0,0)|0;Be=I;sn=Es(Je|0,0,ot|0,0)|0;R=I;an=Es(L|0,0,ht|0,0)|0;cn=I;on=Es(wt|0,Et|0,$e|0,0)|0;on=ks(an|0,cn|0,on|0,I|0)|0;R=ks(on|0,I|0,sn|0,R|0)|0;Be=ks(R|0,I|0,rn|0,Be|0)|0;Ie=ks(Be|0,I|0,H|0,Ie|0)|0;Te=ks(Ie|0,I|0,Te&2097151|0,0)|0;Ie=I;H=Es(d|0,0,Le|0,Ue|0)|0;Be=I;rn=Es(u|0,0,pt|0,0)|0;R=I;sn=Es(b|0,0,ot|0,0)|0;on=I;cn=Es(Je|0,0,ht|0,0)|0;an=I;dn=Es(L|0,0,$e|0,0)|0;ln=I;un=Es(wt|0,Et|0,G|0,0)|0;fn=I;T=Es(E|0,0,Le|0,Ue|0)|0;He=I;Gt=Es(d|0,0,pt|0,0)|0;o=I;Vt=Es(u|0,0,ot|0,0)|0;zt=I;Wt=Es(b|0,0,ht|0,0)|0;Ht=I;Xt=Es(Je|0,0,$e|0,0)|0;Qt=I;Jt=Es(L|0,0,G|0,0)|0;Zt=I;Yt=Es(wt|0,Et|0,pe|0,0)|0;Yt=ks(Jt|0,Zt|0,Yt|0,I|0)|0;Qt=ks(Yt|0,I|0,Xt|0,Qt|0)|0;Ht=ks(Qt|0,I|0,Wt|0,Ht|0)|0;zt=ks(Ht|0,I|0,Vt|0,zt|0)|0;o=ks(zt|0,I|0,Gt|0,o|0)|0;He=ks(o|0,I|0,T|0,He|0)|0;Ge=ks(He|0,I|0,Ge&2097151|0,0)|0;He=I;T=Es(wn|0,Z|0,Le|0,Ue|0)|0;o=I;Gt=Es(E|0,0,pt|0,0)|0;zt=I;Vt=Es(d|0,0,ot|0,0)|0;Ht=I;Wt=Es(u|0,0,ht|0,0)|0;Qt=I;Xt=Es(b|0,0,$e|0,0)|0;Yt=I;Zt=Es(Je|0,0,G|0,0)|0;Jt=I;nn=Es(L|0,0,pe|0,0)|0;tn=I;en=Es(wt|0,Et|0,m|0,l|0)|0;$t=I;ee=Es(Se|0,ke|0,Le|0,Ue|0)|0;It=I;Tt=Es(wn|0,Z|0,pt|0,0)|0;Rt=I;Ot=Es(E|0,0,ot|0,0)|0;xt=I;Ct=Es(d|0,0,ht|0,0)|0;Pt=I;Mt=Es(u|0,0,$e|0,0)|0;Dt=I;Bt=Es(b|0,0,G|0,0)|0;Nt=I;jt=Es(Je|0,0,pe|0,0)|0;Ut=I;Ft=Es(L|0,0,m|0,l|0)|0;qt=I;Kt=Es(wt|0,Et|0,x|0,z|0)|0;Kt=ks(Ft|0,qt|0,Kt|0,I|0)|0;Ut=ks(Kt|0,I|0,jt|0,Ut|0)|0;Nt=ks(Ut|0,I|0,Bt|0,Nt|0)|0;Dt=ks(Nt|0,I|0,Mt|0,Dt|0)|0;Pt=ks(Dt|0,I|0,Ct|0,Pt|0)|0;xt=ks(Pt|0,I|0,Ot|0,xt|0)|0;Rt=ks(xt|0,I|0,Tt|0,Rt|0)|0;It=ks(Rt|0,I|0,ee|0,It|0)|0;X=ks(It|0,I|0,ve|g|J&2031616|0,X|0)|0;J=I;g=Es(w|0,0,Le|0,Ue|0)|0;ve=I;It=Es(Se|0,ke|0,pt|0,0)|0;ee=I;Rt=Es(wn|0,Z|0,ot|0,0)|0;Tt=I;xt=Es(E|0,0,ht|0,0)|0;Ot=I;Pt=Es(d|0,0,$e|0,0)|0;Ct=I;Dt=Es(u|0,0,G|0,0)|0;Mt=I;Nt=Es(b|0,0,pe|0,0)|0;Bt=I;Ut=Es(Je|0,0,m|0,l|0)|0;jt=I;Kt=Es(L|0,0,x|0,z|0)|0;qt=I;Ft=Es(wt|0,Et|0,B|0,0)|0;Lt=I;et=Es(vt|0,0,Le|0,Ue|0)|0;ne=I;je=Es(w|0,0,pt|0,0)|0;tt=I;gt=Es(Se|0,ke|0,ot|0,0)|0;Ne=I;f=Es(wn|0,Z|0,ht|0,0)|0;yt=I;Ke=Es(E|0,0,$e|0,0)|0;v=I;st=Es(d|0,0,G|0,0)|0;ze=I;i=Es(u|0,0,pe|0,0)|0;at=I;We=Es(b|0,0,m|0,l|0)|0;t=I;he=Es(Je|0,0,x|0,z|0)|0;Ye=I;kt=Es(L|0,0,B|0,0)|0;St=I;be=Es(wt|0,Et|0,N|0,0)|0;be=ks(kt|0,St|0,be|0,I|0)|0;Ye=ks(be|0,I|0,he|0,Ye|0)|0;t=ks(Ye|0,I|0,We|0,t|0)|0;at=ks(t|0,I|0,i|0,at|0)|0;ze=ks(at|0,I|0,st|0,ze|0)|0;v=ks(ze|0,I|0,Ke|0,v|0)|0;yt=ks(v|0,I|0,f|0,yt|0)|0;Ne=ks(yt|0,I|0,gt|0,Ne|0)|0;tt=ks(Ne|0,I|0,je|0,tt|0)|0;ne=ks(tt|0,I|0,et|0,ne|0)|0;te=ks(ne|0,I|0,te&2097151|0,0)|0;ne=I;Ue=Es(Q|0,V|0,Le|0,Ue|0)|0;Le=I;et=Es(vt|0,0,pt|0,0)|0;tt=I;je=Es(w|0,0,ot|0,0)|0;Ne=I;gt=Es(Se|0,ke|0,ht|0,0)|0;yt=I;f=Es(wn|0,Z|0,$e|0,0)|0;v=I;Ke=Es(E|0,0,G|0,0)|0;ze=I;st=Es(d|0,0,pe|0,0)|0;at=I;i=Es(u|0,0,m|0,l|0)|0;t=I;We=Es(b|0,0,x|0,z|0)|0;Ye=I;he=Es(Je|0,0,B|0,0)|0;be=I;St=Es(L|0,0,N|0,0)|0;kt=I;Et=Es(wt|0,Et|0,ge|0,ye|0)|0;wt=I;pt=Es(Q|0,V|0,pt|0,0)|0;mt=I;P=Es(vt|0,0,ot|0,0)|0;it=I;fe=Es(w|0,0,ht|0,0)|0;n=I;bt=Es(Se|0,ke|0,$e|0,0)|0;Fe=I;k=Es(wn|0,Z|0,G|0,0)|0;_t=I;ie=Es(E|0,0,pe|0,0)|0;F=I;qe=Es(d|0,0,m|0,l|0)|0;oe=I;W=Es(u|0,0,x|0,z|0)|0;ce=I;U=Es(b|0,0,B|0,0)|0;Y=I;dt=Es(Je|0,0,N|0,0)|0;Xe=I;L=Es(L|0,0,ge|0,ye|0)|0;L=ks(dt|0,Xe|0,L|0,I|0)|0;Y=ks(L|0,I|0,U|0,Y|0)|0;ce=ks(Y|0,I|0,W|0,ce|0)|0;oe=ks(ce|0,I|0,qe|0,oe|0)|0;F=ks(oe|0,I|0,ie|0,F|0)|0;_t=ks(F|0,I|0,k|0,_t|0)|0;Fe=ks(_t|0,I|0,bt|0,Fe|0)|0;n=ks(Fe|0,I|0,fe|0,n|0)|0;it=ks(n|0,I|0,P|0,it|0)|0;mt=ks(it|0,I|0,pt|0,mt|0)|0;pt=I;ot=Es(Q|0,V|0,ot|0,0)|0;it=I;P=Es(vt|0,0,ht|0,0)|0;n=I;fe=Es(w|0,0,$e|0,0)|0;Fe=I;bt=Es(Se|0,ke|0,G|0,0)|0;_t=I;k=Es(wn|0,Z|0,pe|0,0)|0;F=I;ie=Es(E|0,0,m|0,l|0)|0;oe=I;qe=Es(d|0,0,x|0,z|0)|0;ce=I;W=Es(u|0,0,B|0,0)|0;Y=I;U=Es(b|0,0,N|0,0)|0;L=I;Je=Es(Je|0,0,ge|0,ye|0)|0;Xe=I;ht=Es(Q|0,V|0,ht|0,0)|0;dt=I;ut=Es(vt|0,0,$e|0,0)|0;Ze=I;K=Es(w|0,0,G|0,0)|0;lt=I;$=Es(Se|0,ke|0,pe|0,0)|0;q=I;ae=Es(wn|0,Z|0,m|0,l|0)|0;C=I;A=Es(E|0,0,x|0,z|0)|0;se=I;h=Es(d|0,0,B|0,0)|0;c=I;At=Es(u|0,0,N|0,0)|0;a=I;b=Es(b|0,0,ge|0,ye|0)|0;b=ks(At|0,a|0,b|0,I|0)|0;c=ks(b|0,I|0,h|0,c|0)|0;se=ks(c|0,I|0,A|0,se|0)|0;C=ks(se|0,I|0,ae|0,C|0)|0;q=ks(C|0,I|0,$|0,q|0)|0;lt=ks(q|0,I|0,K|0,lt|0)|0;Ze=ks(lt|0,I|0,ut|0,Ze|0)|0;dt=ks(Ze|0,I|0,ht|0,dt|0)|0;ht=I;$e=Es(Q|0,V|0,$e|0,0)|0;Ze=I;ut=Es(vt|0,0,G|0,0)|0;lt=I;K=Es(w|0,0,pe|0,0)|0;q=I;$=Es(Se|0,ke|0,m|0,l|0)|0;C=I;ae=Es(wn|0,Z|0,x|0,z|0)|0;se=I;A=Es(E|0,0,B|0,0)|0;c=I;h=Es(d|0,0,N|0,0)|0;b=I;u=Es(u|0,0,ge|0,ye|0)|0;a=I;G=Es(Q|0,V|0,G|0,0)|0;At=I;_=Es(vt|0,0,pe|0,0)|0;me=I;M=Es(w|0,0,m|0,l|0)|0;p=I;Qe=Es(Se|0,ke|0,x|0,z|0)|0;D=I;y=Es(wn|0,Z|0,B|0,0)|0;Ve=I;Ce=Es(E|0,0,N|0,0)|0;S=I;d=Es(d|0,0,ge|0,ye|0)|0;d=ks(Ce|0,S|0,d|0,I|0)|0;Ve=ks(d|0,I|0,y|0,Ve|0)|0;D=ks(Ve|0,I|0,Qe|0,D|0)|0;p=ks(D|0,I|0,M|0,p|0)|0;me=ks(p|0,I|0,_|0,me|0)|0;At=ks(me|0,I|0,G|0,At|0)|0;G=I;pe=Es(Q|0,V|0,pe|0,0)|0;me=I;_=Es(vt|0,0,m|0,l|0)|0;p=I;M=Es(w|0,0,x|0,z|0)|0;D=I;Qe=Es(Se|0,ke|0,B|0,0)|0;Ve=I;y=Es(wn|0,Z|0,N|0,0)|0;d=I;E=Es(E|0,0,ge|0,ye|0)|0;S=I;l=Es(Q|0,V|0,m|0,l|0)|0;m=I;Ce=Es(vt|0,0,x|0,z|0)|0;xe=I;ct=Es(w|0,0,B|0,0)|0;nt=I;de=Es(Se|0,ke|0,N|0,0)|0;An=I;Z=Es(wn|0,Z|0,ge|0,ye|0)|0;Z=ks(de|0,An|0,Z|0,I|0)|0;nt=ks(Z|0,I|0,ct|0,nt|0)|0;xe=ks(nt|0,I|0,Ce|0,xe|0)|0;m=ks(xe|0,I|0,l|0,m|0)|0;l=I;z=Es(Q|0,V|0,x|0,z|0)|0;x=I;xe=Es(vt|0,0,B|0,0)|0;Ce=I;nt=Es(w|0,0,N|0,0)|0;ct=I;ke=Es(Se|0,ke|0,ge|0,ye|0)|0;Se=I;B=Es(Q|0,V|0,B|0,0)|0;Z=I;An=Es(vt|0,0,N|0,0)|0;de=I;w=Es(w|0,0,ge|0,ye|0)|0;w=ks(An|0,de|0,w|0,I|0)|0;Z=ks(w|0,I|0,B|0,Z|0)|0;B=I;N=Es(Q|0,V|0,N|0,0)|0;w=I;vt=Es(vt|0,0,ge|0,ye|0)|0;vt=ks(N|0,w|0,vt|0,I|0)|0;w=I;ye=Es(Q|0,V|0,ge|0,ye|0)|0;ge=I;V=ks(Re|0,Oe|0,1048576,0)|0;Q=I;N=xs(V|0,Q|0,21)|0;de=I;j=ks(vn|0,_n|0,bn|0,j|0)|0;de=ks(j|0,I|0,N|0,de|0)|0;_e=ks(de|0,I|0,_e&2097151|0,0)|0;de=I;Q=Ss(Re|0,Oe|0,V&-2097152|0,Q&4095|0)|0;V=I;Oe=ks(Me|0,Pe|0,1048576,0)|0;Re=I;N=xs(Oe|0,Re|0,21)|0;j=I;pn=ks(yn|0,gn|0,mn|0,pn|0)|0;re=ks(pn|0,I|0,hn|0,re|0)|0;we=ks(re|0,I|0,O|0,we|0)|0;Ee=ks(we|0,I|0,Ee&2097151|0,0)|0;j=ks(Ee|0,I|0,N|0,j|0)|0;N=I;Ee=ks(Te|0,Ie|0,1048576,0)|0;we=I;O=Os(Ee|0,we|0,21)|0;re=I;fn=ks(dn|0,ln|0,un|0,fn|0)|0;an=ks(fn|0,I|0,cn|0,an|0)|0;on=ks(an|0,I|0,sn|0,on|0)|0;R=ks(on|0,I|0,rn|0,R|0)|0;Be=ks(R|0,I|0,H|0,Be|0)|0;De=ks(Be|0,I|0,De&2097151|0,0)|0;re=ks(De|0,I|0,O|0,re|0)|0;O=I;De=ks(Ge|0,He|0,1048576,0)|0;Be=I;H=Os(De|0,Be|0,21)|0;R=I;$t=ks(nn|0,tn|0,en|0,$t|0)|0;Jt=ks($t|0,I|0,Zt|0,Jt|0)|0;Yt=ks(Jt|0,I|0,Xt|0,Yt|0)|0;Qt=ks(Yt|0,I|0,Wt|0,Qt|0)|0;Ht=ks(Qt|0,I|0,Vt|0,Ht|0)|0;zt=ks(Ht|0,I|0,Gt|0,zt|0)|0;o=ks(zt|0,I|0,T|0,o|0)|0;ue=ks(o|0,I|0,le|0,ue|0)|0;R=ks(ue|0,I|0,H|0,R|0)|0;H=I;ue=ks(X|0,J|0,1048576,0)|0;le=I;o=Os(ue|0,le|0,21)|0;T=I;Lt=ks(Kt|0,qt|0,Ft|0,Lt|0)|0;jt=ks(Lt|0,I|0,Ut|0,jt|0)|0;Bt=ks(jt|0,I|0,Nt|0,Bt|0)|0;Mt=ks(Bt|0,I|0,Dt|0,Mt|0)|0;Ct=ks(Mt|0,I|0,Pt|0,Ct|0)|0;Ot=ks(Ct|0,I|0,xt|0,Ot|0)|0;Tt=ks(Ot|0,I|0,Rt|0,Tt|0)|0;ee=ks(Tt|0,I|0,It|0,ee|0)|0;ve=ks(ee|0,I|0,g|0,ve|0)|0;Ae=ks(ve|0,I|0,Ae&2097151|0,0)|0;T=ks(Ae|0,I|0,o|0,T|0)|0;o=I;Ae=ks(te|0,ne|0,1048576,0)|0;ve=I;g=Os(Ae|0,ve|0,21)|0;ee=I;wt=ks(St|0,kt|0,Et|0,wt|0)|0;be=ks(wt|0,I|0,he|0,be|0)|0;Ye=ks(be|0,I|0,We|0,Ye|0)|0;t=ks(Ye|0,I|0,i|0,t|0)|0;at=ks(t|0,I|0,st|0,at|0)|0;ze=ks(at|0,I|0,Ke|0,ze|0)|0;v=ks(ze|0,I|0,f|0,v|0)|0;yt=ks(v|0,I|0,gt|0,yt|0)|0;Ne=ks(yt|0,I|0,je|0,Ne|0)|0;tt=ks(Ne|0,I|0,et|0,tt|0)|0;Le=ks(tt|0,I|0,Ue|0,Le|0)|0;ft=ks(Le|0,I|0,rt|0,ft|0)|0;ee=ks(ft|0,I|0,g|0,ee|0)|0;g=I;ft=ks(mt|0,pt|0,1048576,0)|0;rt=I;Le=Os(ft|0,rt|0,21)|0;Ue=I;Xe=ks(U|0,L|0,Je|0,Xe|0)|0;Y=ks(Xe|0,I|0,W|0,Y|0)|0;ce=ks(Y|0,I|0,qe|0,ce|0)|0;oe=ks(ce|0,I|0,ie|0,oe|0)|0;F=ks(oe|0,I|0,k|0,F|0)|0;_t=ks(F|0,I|0,bt|0,_t|0)|0;Fe=ks(_t|0,I|0,fe|0,Fe|0)|0;n=ks(Fe|0,I|0,P|0,n|0)|0;it=ks(n|0,I|0,ot|0,it|0)|0;Ue=ks(it|0,I|0,Le|0,Ue|0)|0;Le=I;it=ks(dt|0,ht|0,1048576,0)|0;ot=I;n=Os(it|0,ot|0,21)|0;P=I;a=ks(h|0,b|0,u|0,a|0)|0;c=ks(a|0,I|0,A|0,c|0)|0;se=ks(c|0,I|0,ae|0,se|0)|0;C=ks(se|0,I|0,$|0,C|0)|0;q=ks(C|0,I|0,K|0,q|0)|0;lt=ks(q|0,I|0,ut|0,lt|0)|0;Ze=ks(lt|0,I|0,$e|0,Ze|0)|0;P=ks(Ze|0,I|0,n|0,P|0)|0;n=I;Ze=ks(At|0,G|0,1048576,0)|0;$e=I;lt=Os(Ze|0,$e|0,21)|0;ut=I;S=ks(y|0,d|0,E|0,S|0)|0;Ve=ks(S|0,I|0,Qe|0,Ve|0)|0;D=ks(Ve|0,I|0,M|0,D|0)|0;p=ks(D|0,I|0,_|0,p|0)|0;me=ks(p|0,I|0,pe|0,me|0)|0;ut=ks(me|0,I|0,lt|0,ut|0)|0;lt=I;me=ks(m|0,l|0,1048576,0)|0;pe=I;p=Os(me|0,pe|0,21)|0;_=I;Se=ks(nt|0,ct|0,ke|0,Se|0)|0;Ce=ks(Se|0,I|0,xe|0,Ce|0)|0;x=ks(Ce|0,I|0,z|0,x|0)|0;_=ks(x|0,I|0,p|0,_|0)|0;p=I;pe=Ss(m|0,l|0,me&-2097152|0,pe|0)|0;me=I;l=ks(Z|0,B|0,1048576,0)|0;m=I;x=xs(l|0,m|0,21)|0;x=ks(vt|0,w|0,x|0,I|0)|0;w=I;m=Ss(Z|0,B|0,l&-2097152|0,m&2147483647|0)|0;l=I;B=ks(ye|0,ge|0,1048576,0)|0;Z=I;vt=xs(B|0,Z|0,21)|0;z=I;Z=Ss(ye|0,ge|0,B&-2097152|0,Z&2147483647|0)|0;B=I;ge=ks(_e|0,de|0,1048576,0)|0;ye=I;Ce=xs(ge|0,ye|0,21)|0;xe=I;ye=Ss(_e|0,de|0,ge&-2097152|0,ye|0)|0;ge=I;de=ks(j|0,N|0,1048576,0)|0;_e=I;Se=Os(de|0,_e|0,21)|0;ke=I;_e=Ss(j|0,N|0,de&-2097152|0,_e|0)|0;de=I;N=ks(re|0,O|0,1048576,0)|0;j=I;ct=Os(N|0,j|0,21)|0;nt=I;D=ks(R|0,H|0,1048576,0)|0;M=I;Ve=Os(D|0,M|0,21)|0;Qe=I;S=ks(T|0,o|0,1048576,0)|0;E=I;d=Os(S|0,E|0,21)|0;y=I;q=ks(ee|0,g|0,1048576,0)|0;K=I;C=Os(q|0,K|0,21)|0;$=I;se=ks(Ue|0,Le|0,1048576,0)|0;ae=I;c=Os(se|0,ae|0,21)|0;A=I;a=ks(P|0,n|0,1048576,0)|0;u=I;b=Os(a|0,u|0,21)|0;h=I;Fe=ks(ut|0,lt|0,1048576,0)|0;fe=I;_t=Os(Fe|0,fe|0,21)|0;me=ks(_t|0,I|0,pe|0,me|0)|0;pe=I;fe=Ss(ut|0,lt|0,Fe&-2097152|0,fe|0)|0;Fe=I;lt=ks(_|0,p|0,1048576,0)|0;ut=I;_t=Os(lt|0,ut|0,21)|0;l=ks(_t|0,I|0,m|0,l|0)|0;m=I;ut=Ss(_|0,p|0,lt&-2097152|0,ut|0)|0;lt=I;p=ks(x|0,w|0,1048576,0)|0;_=I;_t=xs(p|0,_|0,21)|0;B=ks(_t|0,I|0,Z|0,B|0)|0;Z=I;_=Ss(x|0,w|0,p&-2097152|0,_&2147483647|0)|0;p=I;w=Es(vt|0,z|0,666643,0)|0;x=I;_t=Es(vt|0,z|0,470296,0)|0;bt=I;F=Es(vt|0,z|0,654183,0)|0;k=I;oe=Es(vt|0,z|0,-997805,-1)|0;ie=I;ce=Es(vt|0,z|0,136657,0)|0;qe=I;z=Es(vt|0,z|0,-683901,-1)|0;z=ks(At|0,G|0,z|0,I|0)|0;$e=Ss(z|0,I|0,Ze&-2097152|0,$e|0)|0;h=ks($e|0,I|0,b|0,h|0)|0;b=I;$e=Es(B|0,Z|0,666643,0)|0;Ze=I;z=Es(B|0,Z|0,470296,0)|0;G=I;At=Es(B|0,Z|0,654183,0)|0;vt=I;Y=Es(B|0,Z|0,-997805,-1)|0;W=I;Xe=Es(B|0,Z|0,136657,0)|0;Je=I;Z=Es(B|0,Z|0,-683901,-1)|0;B=I;L=Es(_|0,p|0,666643,0)|0;U=I;tt=Es(_|0,p|0,470296,0)|0;et=I;Ne=Es(_|0,p|0,654183,0)|0;je=I;yt=Es(_|0,p|0,-997805,-1)|0;gt=I;v=Es(_|0,p|0,136657,0)|0;f=I;p=Es(_|0,p|0,-683901,-1)|0;_=I;ie=ks(dt|0,ht|0,oe|0,ie|0)|0;Je=ks(ie|0,I|0,Xe|0,Je|0)|0;_=ks(Je|0,I|0,p|0,_|0)|0;ot=Ss(_|0,I|0,it&-2097152|0,ot|0)|0;A=ks(ot|0,I|0,c|0,A|0)|0;c=I;ot=Es(l|0,m|0,666643,0)|0;it=I;_=Es(l|0,m|0,470296,0)|0;p=I;Je=Es(l|0,m|0,654183,0)|0;Xe=I;ie=Es(l|0,m|0,-997805,-1)|0;oe=I;ht=Es(l|0,m|0,136657,0)|0;dt=I;m=Es(l|0,m|0,-683901,-1)|0;l=I;ze=Es(ut|0,lt|0,666643,0)|0;Ke=I;at=Es(ut|0,lt|0,470296,0)|0;st=I;t=Es(ut|0,lt|0,654183,0)|0;i=I;Ye=Es(ut|0,lt|0,-997805,-1)|0;We=I;be=Es(ut|0,lt|0,136657,0)|0;he=I;lt=Es(ut|0,lt|0,-683901,-1)|0;ut=I;bt=ks(At|0,vt|0,_t|0,bt|0)|0;gt=ks(bt|0,I|0,yt|0,gt|0)|0;pt=ks(gt|0,I|0,mt|0,pt|0)|0;dt=ks(pt|0,I|0,ht|0,dt|0)|0;ut=ks(dt|0,I|0,lt|0,ut|0)|0;rt=Ss(ut|0,I|0,ft&-2097152|0,rt|0)|0;$=ks(rt|0,I|0,C|0,$|0)|0;C=I;rt=Es(me|0,pe|0,666643,0)|0;rt=ks(ct|0,nt|0,rt|0,I|0)|0;He=ks(rt|0,I|0,Ge|0,He|0)|0;Be=Ss(He|0,I|0,De&-2097152|0,Be|0)|0;De=I;He=Es(me|0,pe|0,470296,0)|0;Ge=I;rt=Es(me|0,pe|0,654183,0)|0;nt=I;it=ks(at|0,st|0,ot|0,it|0)|0;nt=ks(it|0,I|0,rt|0,nt|0)|0;Qe=ks(nt|0,I|0,Ve|0,Qe|0)|0;J=ks(Qe|0,I|0,X|0,J|0)|0;le=Ss(J|0,I|0,ue&-2097152|0,le|0)|0;ue=I;J=Es(me|0,pe|0,-997805,-1)|0;X=I;Qe=Es(me|0,pe|0,136657,0)|0;Ve=I;Ze=ks(tt|0,et|0,$e|0,Ze|0)|0;Xe=ks(Ze|0,I|0,Je|0,Xe|0)|0;We=ks(Xe|0,I|0,Ye|0,We|0)|0;Ve=ks(We|0,I|0,Qe|0,Ve|0)|0;y=ks(Ve|0,I|0,d|0,y|0)|0;ne=ks(y|0,I|0,te|0,ne|0)|0;ve=Ss(ne|0,I|0,Ae&-2097152|0,ve|0)|0;Ae=I;pe=Es(me|0,pe|0,-683901,-1)|0;me=I;ne=ks(Be|0,De|0,1048576,0)|0;te=I;y=Os(ne|0,te|0,21)|0;d=I;Ke=ks(He|0,Ge|0,ze|0,Ke|0)|0;H=ks(Ke|0,I|0,R|0,H|0)|0;M=Ss(H|0,I|0,D&-2097152|0,M|0)|0;d=ks(M|0,I|0,y|0,d|0)|0;y=I;M=ks(le|0,ue|0,1048576,0)|0;D=I;H=Os(M|0,D|0,21)|0;R=I;U=ks(_|0,p|0,L|0,U|0)|0;i=ks(U|0,I|0,t|0,i|0)|0;X=ks(i|0,I|0,J|0,X|0)|0;o=ks(X|0,I|0,T|0,o|0)|0;E=Ss(o|0,I|0,S&-2097152|0,E|0)|0;R=ks(E|0,I|0,H|0,R|0)|0;H=I;E=ks(ve|0,Ae|0,1048576,0)|0;S=I;o=Os(E|0,S|0,21)|0;T=I;x=ks(z|0,G|0,w|0,x|0)|0;je=ks(x|0,I|0,Ne|0,je|0)|0;oe=ks(je|0,I|0,ie|0,oe|0)|0;he=ks(oe|0,I|0,be|0,he|0)|0;me=ks(he|0,I|0,pe|0,me|0)|0;g=ks(me|0,I|0,ee|0,g|0)|0;K=Ss(g|0,I|0,q&-2097152|0,K|0)|0;T=ks(K|0,I|0,o|0,T|0)|0;o=I;K=ks($|0,C|0,1048576,0)|0;q=I;g=Os(K|0,q|0,21)|0;ee=I;k=ks(Y|0,W|0,F|0,k|0)|0;f=ks(k|0,I|0,v|0,f|0)|0;l=ks(f|0,I|0,m|0,l|0)|0;Le=ks(l|0,I|0,Ue|0,Le|0)|0;ae=Ss(Le|0,I|0,se&-2097152|0,ae|0)|0;ee=ks(ae|0,I|0,g|0,ee|0)|0;g=I;q=Ss($|0,C|0,K&-2097152|0,q|0)|0;K=I;C=ks(A|0,c|0,1048576,0)|0;$=I;ae=Os(C|0,$|0,21)|0;se=I;qe=ks(Z|0,B|0,ce|0,qe|0)|0;n=ks(qe|0,I|0,P|0,n|0)|0;u=Ss(n|0,I|0,a&-2097152|0,u|0)|0;se=ks(u|0,I|0,ae|0,se|0)|0;ae=I;$=Ss(A|0,c|0,C&-2097152|0,$|0)|0;C=I;c=ks(h|0,b|0,1048576,0)|0;A=I;u=Os(c|0,A|0,21)|0;Fe=ks(u|0,I|0,fe|0,Fe|0)|0;fe=I;A=Ss(h|0,b|0,c&-2097152|0,A|0)|0;c=I;b=ks(d|0,y|0,1048576,0)|0;h=I;u=Os(b|0,h|0,21)|0;a=I;n=ks(R|0,H|0,1048576,0)|0;P=I;qe=Os(n|0,P|0,21)|0;ce=I;B=ks(T|0,o|0,1048576,0)|0;Z=I;Le=Os(B|0,Z|0,21)|0;K=ks(Le|0,I|0,q|0,K|0)|0;q=I;Z=Ss(T|0,o|0,B&-2097152|0,Z|0)|0;B=I;o=ks(ee|0,g|0,1048576,0)|0;T=I;Le=Os(o|0,T|0,21)|0;C=ks(Le|0,I|0,$|0,C|0)|0;$=I;T=Ss(ee|0,g|0,o&-2097152|0,T|0)|0;o=I;g=ks(se|0,ae|0,1048576,0)|0;ee=I;Le=Os(g|0,ee|0,21)|0;c=ks(Le|0,I|0,A|0,c|0)|0;A=I;ee=Ss(se|0,ae|0,g&-2097152|0,ee|0)|0;g=I;ae=Es(Fe|0,fe|0,666643,0)|0;se=I;Le=Es(Fe|0,fe|0,470296,0)|0;Ue=I;l=Es(Fe|0,fe|0,654183,0)|0;m=I;f=Es(Fe|0,fe|0,-997805,-1)|0;v=I;k=Es(Fe|0,fe|0,136657,0)|0;F=I;fe=Es(Fe|0,fe|0,-683901,-1)|0;fe=ks(qe|0,ce|0,fe|0,I|0)|0;Ae=ks(fe|0,I|0,ve|0,Ae|0)|0;S=Ss(Ae|0,I|0,E&-2097152|0,S|0)|0;E=I;Ae=Es(c|0,A|0,666643,0)|0;ve=I;fe=Es(c|0,A|0,470296,0)|0;ce=I;qe=Es(c|0,A|0,654183,0)|0;Fe=I;W=Es(c|0,A|0,-997805,-1)|0;Y=I;me=Es(c|0,A|0,136657,0)|0;pe=I;A=Es(c|0,A|0,-683901,-1)|0;c=I;he=Es(ee|0,g|0,666643,0)|0;he=ks(_e|0,de|0,he|0,I|0)|0;de=I;_e=Es(ee|0,g|0,470296,0)|0;be=I;oe=Es(ee|0,g|0,654183,0)|0;ie=I;je=Es(ee|0,g|0,-997805,-1)|0;Ne=I;x=Es(ee|0,g|0,136657,0)|0;w=I;g=Es(ee|0,g|0,-683901,-1)|0;ee=I;v=ks(me|0,pe|0,f|0,v|0)|0;ee=ks(v|0,I|0,g|0,ee|0)|0;a=ks(ee|0,I|0,u|0,a|0)|0;ue=ks(a|0,I|0,le|0,ue|0)|0;D=Ss(ue|0,I|0,M&-2097152|0,D|0)|0;M=I;ue=Es(C|0,$|0,666643,0)|0;le=I;a=Es(C|0,$|0,470296,0)|0;u=I;ee=Es(C|0,$|0,654183,0)|0;g=I;v=Es(C|0,$|0,-997805,-1)|0;f=I;pe=Es(C|0,$|0,136657,0)|0;me=I;$=Es(C|0,$|0,-683901,-1)|0;C=I;G=Es(T|0,o|0,666643,0)|0;z=I;X=Es(T|0,o|0,470296,0)|0;J=I;i=Es(T|0,o|0,654183,0)|0;t=I;U=Es(T|0,o|0,-997805,-1)|0;L=I;p=Es(T|0,o|0,136657,0)|0;_=I;o=Es(T|0,o|0,-683901,-1)|0;T=I;Ue=ks(qe|0,Fe|0,Le|0,Ue|0)|0;Ne=ks(Ue|0,I|0,je|0,Ne|0)|0;De=ks(Ne|0,I|0,Be|0,De|0)|0;te=Ss(De|0,I|0,ne&-2097152|0,te|0)|0;me=ks(te|0,I|0,pe|0,me|0)|0;T=ks(me|0,I|0,o|0,T|0)|0;o=I;me=Es(K|0,q|0,666643,0)|0;V=ks(me|0,I|0,Q|0,V|0)|0;Q=I;me=Es(K|0,q|0,470296,0)|0;pe=I;te=Es(K|0,q|0,654183,0)|0;ne=I;xe=ks(Me|0,Pe|0,Ce|0,xe|0)|0;Re=Ss(xe|0,I|0,Oe&-2097152|0,Re|0)|0;ne=ks(Re|0,I|0,te|0,ne|0)|0;le=ks(ne|0,I|0,ue|0,le|0)|0;J=ks(le|0,I|0,X|0,J|0)|0;X=I;le=Es(K|0,q|0,-997805,-1)|0;ue=I;ne=Es(K|0,q|0,136657,0)|0;te=I;ke=ks(Te|0,Ie|0,Se|0,ke|0)|0;we=Ss(ke|0,I|0,Ee&-2097152|0,we|0)|0;ve=ks(we|0,I|0,Ae|0,ve|0)|0;be=ks(ve|0,I|0,_e|0,be|0)|0;te=ks(be|0,I|0,ne|0,te|0)|0;g=ks(te|0,I|0,ee|0,g|0)|0;L=ks(g|0,I|0,U|0,L|0)|0;U=I;q=Es(K|0,q|0,-683901,-1)|0;K=I;g=ks(V|0,Q|0,1048576,0)|0;ee=I;te=Os(g|0,ee|0,21)|0;ne=I;pe=ks(ye|0,ge|0,me|0,pe|0)|0;z=ks(pe|0,I|0,G|0,z|0)|0;ne=ks(z|0,I|0,te|0,ne|0)|0;te=I;ee=Ss(V|0,Q|0,g&-2097152|0,ee|0)|0;g=I;Q=ks(J|0,X|0,1048576,0)|0;V=I;z=Os(Q|0,V|0,21)|0;G=I;ue=ks(he|0,de|0,le|0,ue|0)|0;u=ks(ue|0,I|0,a|0,u|0)|0;t=ks(u|0,I|0,i|0,t|0)|0;G=ks(t|0,I|0,z|0,G|0)|0;z=I;t=ks(L|0,U|0,1048576,0)|0;i=I;u=Os(t|0,i|0,21)|0;a=I;se=ks(fe|0,ce|0,ae|0,se|0)|0;ie=ks(se|0,I|0,oe|0,ie|0)|0;O=ks(ie|0,I|0,re|0,O|0)|0;j=Ss(O|0,I|0,N&-2097152|0,j|0)|0;K=ks(j|0,I|0,q|0,K|0)|0;f=ks(K|0,I|0,v|0,f|0)|0;_=ks(f|0,I|0,p|0,_|0)|0;a=ks(_|0,I|0,u|0,a|0)|0;u=I;_=ks(T|0,o|0,1048576,0)|0;p=I;f=Os(_|0,p|0,21)|0;v=I;m=ks(W|0,Y|0,l|0,m|0)|0;w=ks(m|0,I|0,x|0,w|0)|0;y=ks(w|0,I|0,d|0,y|0)|0;h=Ss(y|0,I|0,b&-2097152|0,h|0)|0;C=ks(h|0,I|0,$|0,C|0)|0;v=ks(C|0,I|0,f|0,v|0)|0;f=I;p=Ss(T|0,o|0,_&-2097152|0,p|0)|0;_=I;o=ks(D|0,M|0,1048576,0)|0;T=I;C=Os(o|0,T|0,21)|0;$=I;F=ks(A|0,c|0,k|0,F|0)|0;H=ks(F|0,I|0,R|0,H|0)|0;$=ks(H|0,I|0,C|0,$|0)|0;P=Ss($|0,I|0,n&-2097152|0,P|0)|0;n=I;T=Ss(D|0,M|0,o&-2097152|0,T|0)|0;o=I;M=ks(S|0,E|0,1048576,0)|0;D=I;$=Os(M|0,D|0,21)|0;$=ks(Z|0,B|0,$|0,I|0)|0;B=I;Z=ks(ne|0,te|0,1048576,0)|0;C=I;H=Os(Z|0,C|0,21)|0;R=I;F=ks(G|0,z|0,1048576,0)|0;k=I;c=Os(F|0,k|0,21)|0;A=I;h=ks(a|0,u|0,1048576,0)|0;b=I;y=Os(h|0,b|0,21)|0;y=ks(p|0,_|0,y|0,I|0)|0;_=I;p=ks(v|0,f|0,1048576,0)|0;d=I;w=Os(p|0,d|0,21)|0;w=ks(T|0,o|0,w|0,I|0)|0;o=I;d=Ss(v|0,f|0,p&-2097152|0,d|0)|0;p=I;f=ks(P|0,n|0,1048576,0)|0;v=I;T=Os(f|0,v|0,21)|0;x=I;v=Ss(P|0,n|0,f&-2097152|0,v|0)|0;f=I;n=ks($|0,B|0,1048576,0)|0;P=I;m=Os(n|0,P|0,21)|0;l=I;P=Ss($|0,B|0,n&-2097152|0,P|0)|0;n=I;B=Es(m|0,l|0,666643,0)|0;B=ks(ee|0,g|0,B|0,I|0)|0;g=I;ee=Es(m|0,l|0,470296,0)|0;$=I;Y=Es(m|0,l|0,654183,0)|0;W=I;K=Es(m|0,l|0,-997805,-1)|0;q=I;j=Es(m|0,l|0,136657,0)|0;N=I;l=Es(m|0,l|0,-683901,-1)|0;m=I;g=Os(B|0,g|0,21)|0;O=I;$=ks(ne|0,te|0,ee|0,$|0)|0;C=Ss($|0,I|0,Z&-2097152|0,C|0)|0;O=ks(C|0,I|0,g|0,O|0)|0;g=Os(O|0,I|0,21)|0;C=I;W=ks(J|0,X|0,Y|0,W|0)|0;V=Ss(W|0,I|0,Q&-2097152|0,V|0)|0;R=ks(V|0,I|0,H|0,R|0)|0;C=ks(R|0,I|0,g|0,C|0)|0;g=Os(C|0,I|0,21)|0;R=I;q=ks(G|0,z|0,K|0,q|0)|0;k=Ss(q|0,I|0,F&-2097152|0,k|0)|0;R=ks(k|0,I|0,g|0,R|0)|0;g=Os(R|0,I|0,21)|0;k=I;N=ks(L|0,U|0,j|0,N|0)|0;i=Ss(N|0,I|0,t&-2097152|0,i|0)|0;A=ks(i|0,I|0,c|0,A|0)|0;k=ks(A|0,I|0,g|0,k|0)|0;g=Os(k|0,I|0,21)|0;A=I;m=ks(a|0,u|0,l|0,m|0)|0;b=Ss(m|0,I|0,h&-2097152|0,b|0)|0;A=ks(b|0,I|0,g|0,A|0)|0;g=Os(A|0,I|0,21)|0;g=ks(y|0,_|0,g|0,I|0)|0;_=Os(g|0,I|0,21)|0;p=ks(_|0,I|0,d|0,p|0)|0;d=Os(p|0,I|0,21)|0;d=ks(w|0,o|0,d|0,I|0)|0;o=Os(d|0,I|0,21)|0;f=ks(o|0,I|0,v|0,f|0)|0;v=Os(f|0,I|0,21)|0;o=I;x=ks(S|0,E|0,T|0,x|0)|0;D=Ss(x|0,I|0,M&-2097152|0,D|0)|0;o=ks(D|0,I|0,v|0,o|0)|0;v=Os(o|0,I|0,21)|0;n=ks(v|0,I|0,P|0,n|0)|0;P=Os(n|0,I|0,21)|0;v=I;D=Es(P|0,v|0,666643,0)|0;B=ks(D|0,I|0,B&2097151|0,0)|0;D=I;M=Es(P|0,v|0,470296,0)|0;O=ks(M|0,I|0,O&2097151|0,0)|0;M=I;x=Es(P|0,v|0,654183,0)|0;C=ks(x|0,I|0,C&2097151|0,0)|0;x=I;T=Es(P|0,v|0,-997805,-1)|0;R=ks(T|0,I|0,R&2097151|0,0)|0;T=I;E=Es(P|0,v|0,136657,0)|0;k=ks(E|0,I|0,k&2097151|0,0)|0;E=I;v=Es(P|0,v|0,-683901,-1)|0;A=ks(v|0,I|0,A&2097151|0,0)|0;v=I;P=Os(B|0,D|0,21)|0;P=ks(O|0,M|0,P|0,I|0)|0;M=I;O=Os(P|0,M|0,21)|0;O=ks(C|0,x|0,O|0,I|0)|0;x=I;C=P&2097151;S=Os(O|0,x|0,21)|0;S=ks(R|0,T|0,S|0,I|0)|0;T=I;R=O&2097151;w=Os(S|0,T|0,21)|0;w=ks(k|0,E|0,w|0,I|0)|0;E=I;k=S&2097151;_=Os(w|0,E|0,21)|0;_=ks(A|0,v|0,_|0,I|0)|0;v=I;A=w&2097151;y=Os(_|0,v|0,21)|0;g=ks(y|0,I|0,g&2097151|0,0)|0;y=I;b=_&2097151;h=Os(g|0,y|0,21)|0;p=ks(h|0,I|0,p&2097151|0,0)|0;h=I;m=g&2097151;l=Os(p|0,h|0,21)|0;d=ks(l|0,I|0,d&2097151|0,0)|0;l=I;u=Os(d|0,l|0,21)|0;f=ks(u|0,I|0,f&2097151|0,0)|0;u=I;a=Os(f|0,u|0,21)|0;o=ks(a|0,I|0,o&2097151|0,0)|0;a=I;c=f&2097151;i=Os(o|0,a|0,21)|0;n=ks(i|0,I|0,n&2097151|0,0)|0;i=I;t=o&2097151;r[e>>0]=B;N=xs(B|0,D|0,8)|0;r[e+1>>0]=N;D=xs(B|0,D|0,16)|0;B=Cs(C|0,0,5)|0;r[e+2>>0]=B|D&31;D=xs(P|0,M|0,3)|0;r[e+3>>0]=D;M=xs(P|0,M|0,11)|0;r[e+4>>0]=M;C=xs(C|0,0,19)|0;M=I;P=Cs(R|0,0,2)|0;r[e+5>>0]=P|C;x=xs(O|0,x|0,6)|0;r[e+6>>0]=x;R=xs(R|0,0,14)|0;x=I;O=Cs(k|0,0,7)|0;r[e+7>>0]=O|R;R=xs(S|0,T|0,1)|0;r[e+8>>0]=R;T=xs(S|0,T|0,9)|0;r[e+9>>0]=T;k=xs(k|0,0,17)|0;T=I;S=Cs(A|0,0,4)|0;r[e+10>>0]=S|k;k=xs(w|0,E|0,4)|0;r[e+11>>0]=k;E=xs(w|0,E|0,12)|0;r[e+12>>0]=E;A=xs(A|0,0,20)|0;E=I;w=Cs(b|0,0,1)|0;r[e+13>>0]=w|A;v=xs(_|0,v|0,7)|0;r[e+14>>0]=v;b=xs(b|0,0,15)|0;v=I;_=Cs(m|0,0,6)|0;r[e+15>>0]=_|b;b=xs(g|0,y|0,2)|0;r[e+16>>0]=b;y=xs(g|0,y|0,10)|0;r[e+17>>0]=y;m=xs(m|0,0,18)|0;y=I;g=Cs(p|0,h|0,3)|0;r[e+18>>0]=g|m;m=xs(p|0,h|0,5)|0;r[e+19>>0]=m;h=xs(p|0,h|0,13)|0;r[e+20>>0]=h;r[e+21>>0]=d;h=xs(d|0,l|0,8)|0;r[e+22>>0]=h;l=xs(d|0,l|0,16)|0;d=Cs(c|0,0,5)|0;r[e+23>>0]=d|l&31;l=xs(f|0,u|0,3)|0;r[e+24>>0]=l;u=xs(f|0,u|0,11)|0;r[e+25>>0]=u;c=xs(c|0,0,19)|0;u=I;f=Cs(t|0,0,2)|0;r[e+26>>0]=f|c;a=xs(o|0,a|0,6)|0;r[e+27>>0]=a;t=xs(t|0,0,14)|0;a=I;o=Cs(n|0,i|0,7)|0;r[e+28>>0]=o|t;t=xs(n|0,i|0,1)|0;r[e+29>>0]=t;t=xs(n|0,i|0,9)|0;r[e+30>>0]=t;i=Os(n|0,i|0,17)|0;r[e+31>>0]=i;return}function ni(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;u=t+44|0;h=t+48|0;g=t+52|0;_=t+56|0;w=t+60|0;S=t+64|0;R=t+68|0;C=t+72|0;O=t+76|0;G=t+4|0;K=t+8|0;i=t+12|0;d=t+16|0;p=t+20|0;A=t+24|0;E=t+28|0;x=t+32|0;q=t+36|0;se=(o[G>>2]|0)+(o[u>>2]|0)|0;oe=(o[K>>2]|0)+(o[h>>2]|0)|0;ie=(o[i>>2]|0)+(o[g>>2]|0)|0;re=(o[d>>2]|0)+(o[_>>2]|0)|0;ne=(o[p>>2]|0)+(o[w>>2]|0)|0;te=(o[A>>2]|0)+(o[S>>2]|0)|0;ee=(o[E>>2]|0)+(o[R>>2]|0)|0;$=(o[x>>2]|0)+(o[C>>2]|0)|0;X=(o[q>>2]|0)+(o[O>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[u>>2]|0)-(o[G>>2]|0)|0;K=(o[h>>2]|0)-(o[K>>2]|0)|0;i=(o[g>>2]|0)-(o[i>>2]|0)|0;d=(o[_>>2]|0)-(o[d>>2]|0)|0;p=(o[w>>2]|0)-(o[p>>2]|0)|0;A=(o[S>>2]|0)-(o[A>>2]|0)|0;E=(o[R>>2]|0)-(o[E>>2]|0)|0;x=(o[C>>2]|0)-(o[x>>2]|0)|0;q=(o[O>>2]|0)-(o[q>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=K;K=e+52|0;o[K>>2]=i;i=e+56|0;o[i>>2]=d;d=e+60|0;o[d>>2]=p;p=e+64|0;o[p>>2]=A;A=e+68|0;o[A>>2]=E;E=e+72|0;o[E>>2]=x;x=e+76|0;o[x>>2]=q;q=e+80|0;Xr(q,e,n);Xr(X,X,n+40|0);O=e+120|0;Xr(O,n+120|0,t+120|0);Xr(e,t+80|0,n+80|0);C=o[e>>2]<<1;R=o[ae>>2]<<1;S=o[se>>2]<<1;w=o[oe>>2]<<1;_=o[ie>>2]<<1;g=o[re>>2]<<1;h=o[ne>>2]<<1;u=o[te>>2]<<1;a=o[ee>>2]<<1;r=o[$>>2]<<1;J=o[q>>2]|0;F=e+84|0;W=o[F>>2]|0;L=e+88|0;H=o[L>>2]|0;U=e+92|0;t=o[U>>2]|0;j=e+96|0;s=o[j>>2]|0;N=e+100|0;c=o[N>>2]|0;B=e+104|0;m=o[B>>2]|0;D=e+108|0;y=o[D>>2]|0;M=e+112|0;k=o[M>>2]|0;P=e+116|0;I=o[P>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[K>>2]|0;n=o[i>>2]|0;f=o[d>>2]|0;l=o[p>>2]|0;b=o[A>>2]|0;v=o[E>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=t-z;o[ie>>2]=s-n;o[re>>2]=c-f;o[ne>>2]=m-l;o[te>>2]=y-b;o[ee>>2]=k-v;o[$>>2]=I-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[K>>2]=z+t;o[i>>2]=n+s;o[d>>2]=f+c;o[p>>2]=l+m;o[A>>2]=b+y;o[E>>2]=v+k;o[x>>2]=T+I;x=o[O>>2]|0;I=e+124|0;T=o[I>>2]|0;E=e+128|0;k=o[E>>2]|0;v=e+132|0;A=o[v>>2]|0;y=e+136|0;b=o[y>>2]|0;p=e+140|0;m=o[p>>2]|0;l=e+144|0;d=o[l>>2]|0;c=e+148|0;f=o[c>>2]|0;i=e+152|0;s=o[i>>2]|0;n=e+156|0;t=o[n>>2]|0;o[q>>2]=x+C;o[F>>2]=T+R;o[L>>2]=k+S;o[U>>2]=A+w;o[j>>2]=b+_;o[N>>2]=m+g;o[B>>2]=d+h;o[D>>2]=f+u;o[M>>2]=s+a;o[P>>2]=t+r;o[O>>2]=C-x;o[I>>2]=R-T;o[E>>2]=S-k;o[v>>2]=w-A;o[y>>2]=_-b;o[p>>2]=g-m;o[l>>2]=h-d;o[c>>2]=u-f;o[i>>2]=a-s;o[n>>2]=r-t;return}function ri(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0;v=h;h=h+2400|0;d=v+2272|0;m=v+1536|0;g=v+1280|0;y=v;b=v+2112|0;_=v+1952|0;l=v+1792|0;ii(m,t);ii(g,i);oi(y,n);w=o[n+4>>2]|0;A=o[n+8>>2]|0;u=o[n+12>>2]|0;t=o[n+16>>2]|0;f=o[n+20>>2]|0;c=o[n+24>>2]|0;a=o[n+28>>2]|0;s=o[n+32>>2]|0;i=o[n+36>>2]|0;o[d>>2]=o[n>>2];o[d+4>>2]=w;o[d+8>>2]=A;o[d+12>>2]=u;o[d+16>>2]=t;o[d+20>>2]=f;o[d+24>>2]=c;o[d+28>>2]=a;o[d+32>>2]=s;o[d+36>>2]=i;i=o[n+44>>2]|0;s=o[n+48>>2]|0;a=o[n+52>>2]|0;c=o[n+56>>2]|0;f=o[n+60>>2]|0;t=o[n+64>>2]|0;u=o[n+68>>2]|0;A=o[n+72>>2]|0;w=o[n+76>>2]|0;o[d+40>>2]=o[n+40>>2];o[d+44>>2]=i;o[d+48>>2]=s;o[d+52>>2]=a;o[d+56>>2]=c;o[d+60>>2]=f;o[d+64>>2]=t;o[d+68>>2]=u;o[d+72>>2]=A;o[d+76>>2]=w;w=o[n+84>>2]|0;A=o[n+88>>2]|0;u=o[n+92>>2]|0;t=o[n+96>>2]|0;f=o[n+100>>2]|0;c=o[n+104>>2]|0;a=o[n+108>>2]|0;s=o[n+112>>2]|0;i=o[n+116>>2]|0;o[d+80>>2]=o[n+80>>2];o[d+84>>2]=w;o[d+88>>2]=A;o[d+92>>2]=u;o[d+96>>2]=t;o[d+100>>2]=f;o[d+104>>2]=c;o[d+108>>2]=a;o[d+112>>2]=s;o[d+116>>2]=i;si(b,d);d=b+120|0;Xr(l,b,d);i=b+40|0;s=b+80|0;Xr(l+40|0,i,s);Xr(l+80|0,s,d);Xr(l+120|0,b,i);ni(b,l,y);Xr(_,b,d);a=_+40|0;Xr(a,i,s);c=_+80|0;Xr(c,s,d);f=_+120|0;Xr(f,b,i);t=y+160|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+320|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+480|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+640|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+800|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+960|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);oi(y+1120|0,_);t=e;n=t+40|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));u=e+40|0;o[u>>2]=1;t=e+44|0;n=t+36|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));l=e+80|0;o[l>>2]=1;t=e+84|0;n=t+36|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));t=255;while(1){if(r[m+t>>0]|0)break;if(r[g+t>>0]|0)break;if(!t){p=16;break}else t=t+-1|0}if((p|0)==16){h=v;return}if((t|0)<=-1){h=v;return}while(1){si(b,e);n=r[m+t>>0]|0;if(n<<24>>24<=0){if(n<<24>>24<0){Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);ai(b,_,y+((((n<<24>>24)/-2|0)<<24>>24)*160|0)|0)}}else{Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);ni(b,_,y+(((n&255)>>>1&255)*160|0)|0)}n=r[g+t>>0]|0;if(n<<24>>24<=0){if(n<<24>>24<0){Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);fi(b,_,240+((((n<<24>>24)/-2|0)<<24>>24)*120|0)|0)}}else{Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);ci(b,_,240+(((n&255)>>>1&255)*120|0)|0)}Xr(e,b,d);Xr(u,i,s);Xr(l,s,d);if((t|0)>0)t=t+-1|0;else break}h=v;return}function ii(e,t){e=e|0;t=t|0;var n=0,i=0,o=0,a=0,c=0,f=0,u=0,l=0,d=0;n=0;do{r[e+n>>0]=(s[t+(n>>>3)>>0]|0)>>>(n&7)&1;n=n+1|0}while((n|0)!=256);u=0;do{f=e+u|0;n=r[f>>0]|0;c=u;u=u+1|0;e:do{if(n<<24>>24!=0&u>>>0<256){o=e+u|0;t=r[o>>0]|0;t:do{if(t<<24>>24){i=n<<24>>24;n=t<<24>>24<<1;t=n+i|0;if((t|0)<16){r[f>>0]=t;r[o>>0]=0;break}n=i-n|0;if((n|0)<=-16)break e;r[f>>0]=n;n=u;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+2|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<2;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+3|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<3;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+4|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<4;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+5|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<5;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+6|0;if(n>>>0<256?(l=e+n|0,d=r[l>>0]|0,d<<24>>24):0){t=r[f>>0]|0;i=d<<24>>24<<6;o=i+t|0;if((o|0)<16){r[f>>0]=o;r[l>>0]=0;break}t=t-i|0;if((t|0)>-16){r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break e}r[t>>0]=1}}}}}}}}while(0)}while((u|0)!=256);return}function oi(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0;d=t+40|0;A=t+44|0;v=t+48|0;_=t+52|0;b=t+56|0;y=t+60|0;g=t+64|0;m=t+68|0;p=t+72|0;h=t+76|0;n=t+4|0;r=t+8|0;i=t+12|0;s=t+16|0;a=t+20|0;c=t+24|0;f=t+28|0;u=t+32|0;l=t+36|0;x=(o[n>>2]|0)+(o[A>>2]|0)|0;O=(o[r>>2]|0)+(o[v>>2]|0)|0;R=(o[i>>2]|0)+(o[_>>2]|0)|0;T=(o[s>>2]|0)+(o[b>>2]|0)|0;I=(o[a>>2]|0)+(o[y>>2]|0)|0;S=(o[c>>2]|0)+(o[g>>2]|0)|0;k=(o[f>>2]|0)+(o[m>>2]|0)|0;E=(o[u>>2]|0)+(o[p>>2]|0)|0;w=(o[l>>2]|0)+(o[h>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[d>>2]|0);o[e+4>>2]=x;o[e+8>>2]=O;o[e+12>>2]=R;o[e+16>>2]=T;o[e+20>>2]=I;o[e+24>>2]=S;o[e+28>>2]=k;o[e+32>>2]=E;o[e+36>>2]=w;n=(o[A>>2]|0)-(o[n>>2]|0)|0;r=(o[v>>2]|0)-(o[r>>2]|0)|0;i=(o[_>>2]|0)-(o[i>>2]|0)|0;s=(o[b>>2]|0)-(o[s>>2]|0)|0;a=(o[y>>2]|0)-(o[a>>2]|0)|0;c=(o[g>>2]|0)-(o[c>>2]|0)|0;f=(o[m>>2]|0)-(o[f>>2]|0)|0;u=(o[p>>2]|0)-(o[u>>2]|0)|0;l=(o[h>>2]|0)-(o[l>>2]|0)|0;o[e+40>>2]=(o[d>>2]|0)-(o[t>>2]|0);o[e+44>>2]=n;o[e+48>>2]=r;o[e+52>>2]=i;o[e+56>>2]=s;o[e+60>>2]=a;o[e+64>>2]=c;o[e+68>>2]=f;o[e+72>>2]=u;o[e+76>>2]=l;l=o[t+84>>2]|0;u=o[t+88>>2]|0;f=o[t+92>>2]|0;c=o[t+96>>2]|0;a=o[t+100>>2]|0;s=o[t+104>>2]|0;i=o[t+108>>2]|0;r=o[t+112>>2]|0;n=o[t+116>>2]|0;o[e+80>>2]=o[t+80>>2];o[e+84>>2]=l;o[e+88>>2]=u;o[e+92>>2]=f;o[e+96>>2]=c;o[e+100>>2]=a;o[e+104>>2]=s;o[e+108>>2]=i;o[e+112>>2]=r;o[e+116>>2]=n;Xr(e+120|0,t+120|0,1200);return}function si(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0;n=h;h=h+48|0;D=n;Yr(e,t);G=e+80|0;fe=t+40|0;Yr(G,fe);A=e+120|0;$r(A,t+80|0);ue=e+40|0;ce=(o[t+44>>2]|0)+(o[t+4>>2]|0)|0;ae=(o[t+48>>2]|0)+(o[t+8>>2]|0)|0;se=(o[t+52>>2]|0)+(o[t+12>>2]|0)|0;oe=(o[t+56>>2]|0)+(o[t+16>>2]|0)|0;ie=(o[t+60>>2]|0)+(o[t+20>>2]|0)|0;re=(o[t+64>>2]|0)+(o[t+24>>2]|0)|0;ne=(o[t+68>>2]|0)+(o[t+28>>2]|0)|0;te=(o[t+72>>2]|0)+(o[t+32>>2]|0)|0;ee=(o[t+76>>2]|0)+(o[t+36>>2]|0)|0;o[ue>>2]=(o[fe>>2]|0)+(o[t>>2]|0);fe=e+44|0;o[fe>>2]=ce;ce=e+48|0;o[ce>>2]=ae;ae=e+52|0;o[ae>>2]=se;se=e+56|0;o[se>>2]=oe;oe=e+60|0;o[oe>>2]=ie;ie=e+64|0;o[ie>>2]=re;re=e+68|0;o[re>>2]=ne;ne=e+72|0;o[ne>>2]=te;te=e+76|0;o[te>>2]=ee;Yr(D,ue);ee=o[G>>2]|0;z=e+84|0;$=o[z>>2]|0;K=e+88|0;Z=o[K>>2]|0;q=e+92|0;J=o[q>>2]|0;F=e+96|0;X=o[F>>2]|0;L=e+100|0;Y=o[L>>2]|0;U=e+104|0;W=o[U>>2]|0;j=e+108|0;Q=o[j>>2]|0;N=e+112|0;V=o[N>>2]|0;B=e+116|0;H=o[B>>2]|0;w=o[e>>2]|0;C=e+4|0;v=o[C>>2]|0;O=e+8|0;b=o[O>>2]|0;T=e+12|0;g=o[T>>2]|0;S=e+16|0;p=o[S>>2]|0;t=e+20|0;l=o[t>>2]|0;s=e+24|0;f=o[s>>2]|0;u=e+28|0;a=o[u>>2]|0;m=e+32|0;i=o[m>>2]|0;_=e+36|0;E=o[_>>2]|0;M=w+ee|0;P=v+$|0;x=b+Z|0;R=g+J|0;I=p+X|0;k=l+Y|0;r=f+W|0;c=a+Q|0;d=i+V|0;y=E+H|0;o[ue>>2]=M;o[fe>>2]=P;o[ce>>2]=x;o[ae>>2]=R;o[se>>2]=I;o[oe>>2]=k;o[ie>>2]=r;o[re>>2]=c;o[ne>>2]=d;o[te>>2]=y;w=ee-w|0;v=$-v|0;b=Z-b|0;g=J-g|0;p=X-p|0;l=Y-l|0;f=W-f|0;a=Q-a|0;i=V-i|0;E=H-E|0;o[G>>2]=w;o[z>>2]=v;o[K>>2]=b;o[q>>2]=g;o[F>>2]=p;o[L>>2]=l;o[U>>2]=f;o[j>>2]=a;o[N>>2]=i;o[B>>2]=E;P=(o[D+4>>2]|0)-P|0;x=(o[D+8>>2]|0)-x|0;R=(o[D+12>>2]|0)-R|0;I=(o[D+16>>2]|0)-I|0;k=(o[D+20>>2]|0)-k|0;r=(o[D+24>>2]|0)-r|0;c=(o[D+28>>2]|0)-c|0;d=(o[D+32>>2]|0)-d|0;y=(o[D+36>>2]|0)-y|0;o[e>>2]=(o[D>>2]|0)-M;o[C>>2]=P;o[O>>2]=x;o[T>>2]=R;o[S>>2]=I;o[t>>2]=k;o[s>>2]=r;o[u>>2]=c;o[m>>2]=d;o[_>>2]=y;_=e+124|0;y=e+128|0;m=e+132|0;d=e+136|0;u=e+140|0;c=e+144|0;s=e+148|0;r=e+152|0;t=e+156|0;v=(o[_>>2]|0)-v|0;b=(o[y>>2]|0)-b|0;g=(o[m>>2]|0)-g|0;p=(o[d>>2]|0)-p|0;l=(o[u>>2]|0)-l|0;f=(o[c>>2]|0)-f|0;a=(o[s>>2]|0)-a|0;i=(o[r>>2]|0)-i|0;e=(o[t>>2]|0)-E|0;o[A>>2]=(o[A>>2]|0)-w;o[_>>2]=v;o[y>>2]=b;o[m>>2]=g;o[d>>2]=p;o[u>>2]=l;o[c>>2]=f;o[s>>2]=a;o[r>>2]=i;o[t>>2]=e;h=n;return}function ai(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;c=t+44|0;l=t+48|0;p=t+52|0;y=t+56|0;v=t+60|0;E=t+64|0;I=t+68|0;O=t+72|0;R=t+76|0;G=t+4|0;q=t+8|0;r=t+12|0;d=t+16|0;h=t+20|0;A=t+24|0;w=t+28|0;x=t+32|0;F=t+36|0;se=(o[G>>2]|0)+(o[c>>2]|0)|0;oe=(o[q>>2]|0)+(o[l>>2]|0)|0;ie=(o[r>>2]|0)+(o[p>>2]|0)|0;re=(o[d>>2]|0)+(o[y>>2]|0)|0;ne=(o[h>>2]|0)+(o[v>>2]|0)|0;te=(o[A>>2]|0)+(o[E>>2]|0)|0;ee=(o[w>>2]|0)+(o[I>>2]|0)|0;$=(o[x>>2]|0)+(o[O>>2]|0)|0;X=(o[F>>2]|0)+(o[R>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[c>>2]|0)-(o[G>>2]|0)|0;q=(o[l>>2]|0)-(o[q>>2]|0)|0;r=(o[p>>2]|0)-(o[r>>2]|0)|0;d=(o[y>>2]|0)-(o[d>>2]|0)|0;h=(o[v>>2]|0)-(o[h>>2]|0)|0;A=(o[E>>2]|0)-(o[A>>2]|0)|0;w=(o[I>>2]|0)-(o[w>>2]|0)|0;x=(o[O>>2]|0)-(o[x>>2]|0)|0;F=(o[R>>2]|0)-(o[F>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=q;q=e+52|0;o[q>>2]=r;r=e+56|0;o[r>>2]=d;d=e+60|0;o[d>>2]=h;h=e+64|0;o[h>>2]=A;A=e+68|0;o[A>>2]=w;w=e+72|0;o[w>>2]=x;x=e+76|0;o[x>>2]=F;F=e+80|0;Xr(F,e,n+40|0);Xr(X,X,n);R=e+120|0;Xr(R,n+120|0,t+120|0);Xr(e,t+80|0,n+80|0);O=o[e>>2]<<1;I=o[ae>>2]<<1;E=o[se>>2]<<1;v=o[oe>>2]<<1;y=o[ie>>2]<<1;p=o[re>>2]<<1;l=o[ne>>2]<<1;c=o[te>>2]<<1;i=o[ee>>2]<<1;t=o[$>>2]<<1;J=o[F>>2]|0;L=e+84|0;W=o[L>>2]|0;U=e+88|0;H=o[U>>2]|0;j=e+92|0;K=o[j>>2]|0;N=e+96|0;s=o[N>>2]|0;B=e+100|0;a=o[B>>2]|0;D=e+104|0;m=o[D>>2]|0;M=e+108|0;g=o[M>>2]|0;P=e+112|0;k=o[P>>2]|0;C=e+116|0;S=o[C>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[q>>2]|0;n=o[r>>2]|0;f=o[d>>2]|0;u=o[h>>2]|0;b=o[A>>2]|0;_=o[w>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=K-z;o[ie>>2]=s-n;o[re>>2]=a-f;o[ne>>2]=m-u;o[te>>2]=g-b;o[ee>>2]=k-_;o[$>>2]=S-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[q>>2]=z+K;o[r>>2]=n+s;o[d>>2]=f+a;o[h>>2]=u+m;o[A>>2]=b+g;o[w>>2]=_+k;o[x>>2]=T+S;x=o[R>>2]|0;S=e+124|0;T=o[S>>2]|0;w=e+128|0;k=o[w>>2]|0;_=e+132|0;A=o[_>>2]|0;g=e+136|0;b=o[g>>2]|0;h=e+140|0;m=o[h>>2]|0;u=e+144|0;d=o[u>>2]|0;a=e+148|0;f=o[a>>2]|0;r=e+152|0;s=o[r>>2]|0;n=e+156|0;e=o[n>>2]|0;o[F>>2]=O-x;o[L>>2]=I-T;o[U>>2]=E-k;o[j>>2]=v-A;o[N>>2]=y-b;o[B>>2]=p-m;o[D>>2]=l-d;o[M>>2]=c-f;o[P>>2]=i-s;o[C>>2]=t-e;o[R>>2]=x+O;o[S>>2]=T+I;o[w>>2]=k+E;o[_>>2]=A+v;o[g>>2]=b+y;o[h>>2]=m+p;o[u>>2]=d+l;o[a>>2]=f+c;o[r>>2]=s+i;o[n>>2]=e+t;return}function ci(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;u=t+44|0;h=t+48|0;g=t+52|0;_=t+56|0;w=t+60|0;S=t+64|0;R=t+68|0;C=t+72|0;O=t+76|0;G=t+4|0;K=t+8|0;i=t+12|0;d=t+16|0;p=t+20|0;A=t+24|0;E=t+28|0;x=t+32|0;q=t+36|0;se=(o[G>>2]|0)+(o[u>>2]|0)|0;oe=(o[K>>2]|0)+(o[h>>2]|0)|0;ie=(o[i>>2]|0)+(o[g>>2]|0)|0;re=(o[d>>2]|0)+(o[_>>2]|0)|0;ne=(o[p>>2]|0)+(o[w>>2]|0)|0;te=(o[A>>2]|0)+(o[S>>2]|0)|0;ee=(o[E>>2]|0)+(o[R>>2]|0)|0;$=(o[x>>2]|0)+(o[C>>2]|0)|0;X=(o[q>>2]|0)+(o[O>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[u>>2]|0)-(o[G>>2]|0)|0;K=(o[h>>2]|0)-(o[K>>2]|0)|0;i=(o[g>>2]|0)-(o[i>>2]|0)|0;d=(o[_>>2]|0)-(o[d>>2]|0)|0;p=(o[w>>2]|0)-(o[p>>2]|0)|0;A=(o[S>>2]|0)-(o[A>>2]|0)|0;E=(o[R>>2]|0)-(o[E>>2]|0)|0;x=(o[C>>2]|0)-(o[x>>2]|0)|0;q=(o[O>>2]|0)-(o[q>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=K;K=e+52|0;o[K>>2]=i;i=e+56|0;o[i>>2]=d;d=e+60|0;o[d>>2]=p;p=e+64|0;o[p>>2]=A;A=e+68|0;o[A>>2]=E;E=e+72|0;o[E>>2]=x;x=e+76|0;o[x>>2]=q;q=e+80|0;Xr(q,e,n);Xr(X,X,n+40|0);O=e+120|0;Xr(O,n+80|0,t+120|0);C=o[t+80>>2]<<1;R=o[t+84>>2]<<1;S=o[t+88>>2]<<1;w=o[t+92>>2]<<1;_=o[t+96>>2]<<1;g=o[t+100>>2]<<1;h=o[t+104>>2]<<1;u=o[t+108>>2]<<1;a=o[t+112>>2]<<1;r=o[t+116>>2]<<1;J=o[q>>2]|0;F=e+84|0;W=o[F>>2]|0;L=e+88|0;H=o[L>>2]|0;U=e+92|0;t=o[U>>2]|0;j=e+96|0;s=o[j>>2]|0;N=e+100|0;c=o[N>>2]|0;B=e+104|0;m=o[B>>2]|0;D=e+108|0;y=o[D>>2]|0;M=e+112|0;k=o[M>>2]|0;P=e+116|0;I=o[P>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[K>>2]|0;n=o[i>>2]|0;f=o[d>>2]|0;l=o[p>>2]|0;b=o[A>>2]|0;v=o[E>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=t-z;o[ie>>2]=s-n;o[re>>2]=c-f;o[ne>>2]=m-l;o[te>>2]=y-b;o[ee>>2]=k-v;o[$>>2]=I-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[K>>2]=z+t;o[i>>2]=n+s;o[d>>2]=f+c;o[p>>2]=l+m;o[A>>2]=b+y;o[E>>2]=v+k;o[x>>2]=T+I;x=o[O>>2]|0;I=e+124|0;T=o[I>>2]|0;E=e+128|0;k=o[E>>2]|0;v=e+132|0;A=o[v>>2]|0;y=e+136|0;b=o[y>>2]|0;p=e+140|0;m=o[p>>2]|0;l=e+144|0;d=o[l>>2]|0;c=e+148|0;f=o[c>>2]|0;i=e+152|0;s=o[i>>2]|0;n=e+156|0;t=o[n>>2]|0;o[q>>2]=x+C;o[F>>2]=T+R;o[L>>2]=k+S;o[U>>2]=A+w;o[j>>2]=b+_;o[N>>2]=m+g;o[B>>2]=d+h;o[D>>2]=f+u;o[M>>2]=s+a;o[P>>2]=t+r;o[O>>2]=C-x;o[I>>2]=R-T;o[E>>2]=S-k;o[v>>2]=w-A;o[y>>2]=_-b;o[p>>2]=g-m;o[l>>2]=h-d;o[c>>2]=u-f;o[i>>2]=a-s;o[n>>2]=r-t;return}function fi(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;c=t+44|0;l=t+48|0;p=t+52|0;y=t+56|0;v=t+60|0;E=t+64|0;I=t+68|0;O=t+72|0;R=t+76|0;G=t+4|0;q=t+8|0;r=t+12|0;d=t+16|0;h=t+20|0;A=t+24|0;w=t+28|0;x=t+32|0;F=t+36|0;se=(o[G>>2]|0)+(o[c>>2]|0)|0;oe=(o[q>>2]|0)+(o[l>>2]|0)|0;ie=(o[r>>2]|0)+(o[p>>2]|0)|0;re=(o[d>>2]|0)+(o[y>>2]|0)|0;ne=(o[h>>2]|0)+(o[v>>2]|0)|0;te=(o[A>>2]|0)+(o[E>>2]|0)|0;ee=(o[w>>2]|0)+(o[I>>2]|0)|0;$=(o[x>>2]|0)+(o[O>>2]|0)|0;X=(o[F>>2]|0)+(o[R>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[c>>2]|0)-(o[G>>2]|0)|0;q=(o[l>>2]|0)-(o[q>>2]|0)|0;r=(o[p>>2]|0)-(o[r>>2]|0)|0;d=(o[y>>2]|0)-(o[d>>2]|0)|0;h=(o[v>>2]|0)-(o[h>>2]|0)|0;A=(o[E>>2]|0)-(o[A>>2]|0)|0;w=(o[I>>2]|0)-(o[w>>2]|0)|0;x=(o[O>>2]|0)-(o[x>>2]|0)|0;F=(o[R>>2]|0)-(o[F>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=q;q=e+52|0;o[q>>2]=r;r=e+56|0;o[r>>2]=d;d=e+60|0;o[d>>2]=h;h=e+64|0;o[h>>2]=A;A=e+68|0;o[A>>2]=w;w=e+72|0;o[w>>2]=x;x=e+76|0;o[x>>2]=F;F=e+80|0;Xr(F,e,n+40|0);Xr(X,X,n);R=e+120|0;Xr(R,n+80|0,t+120|0);O=o[t+80>>2]<<1;I=o[t+84>>2]<<1;E=o[t+88>>2]<<1;v=o[t+92>>2]<<1;y=o[t+96>>2]<<1;p=o[t+100>>2]<<1;l=o[t+104>>2]<<1;c=o[t+108>>2]<<1;i=o[t+112>>2]<<1;t=o[t+116>>2]<<1;J=o[F>>2]|0;L=e+84|0;W=o[L>>2]|0;U=e+88|0;H=o[U>>2]|0;j=e+92|0;K=o[j>>2]|0;N=e+96|0;s=o[N>>2]|0;B=e+100|0;a=o[B>>2]|0;D=e+104|0;m=o[D>>2]|0;M=e+108|0;g=o[M>>2]|0;P=e+112|0;k=o[P>>2]|0;C=e+116|0;S=o[C>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[q>>2]|0;n=o[r>>2]|0;f=o[d>>2]|0;u=o[h>>2]|0;b=o[A>>2]|0;_=o[w>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=K-z;o[ie>>2]=s-n;o[re>>2]=a-f;o[ne>>2]=m-u;o[te>>2]=g-b;o[ee>>2]=k-_;o[$>>2]=S-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[q>>2]=z+K;o[r>>2]=n+s;o[d>>2]=f+a;o[h>>2]=u+m;o[A>>2]=b+g;o[w>>2]=_+k;o[x>>2]=T+S;x=o[R>>2]|0;S=e+124|0;T=o[S>>2]|0;w=e+128|0;k=o[w>>2]|0;_=e+132|0;A=o[_>>2]|0;g=e+136|0;b=o[g>>2]|0;h=e+140|0;m=o[h>>2]|0;u=e+144|0;d=o[u>>2]|0;a=e+148|0;f=o[a>>2]|0;r=e+152|0;s=o[r>>2]|0;n=e+156|0;e=o[n>>2]|0;o[F>>2]=O-x;o[L>>2]=I-T;o[U>>2]=E-k;o[j>>2]=v-A;o[N>>2]=y-b;o[B>>2]=p-m;o[D>>2]=l-d;o[M>>2]=c-f;o[P>>2]=i-s;o[C>>2]=t-e;o[R>>2]=x+O;o[S>>2]=T+I;o[w>>2]=k+E;o[_>>2]=A+v;o[g>>2]=b+y;o[h>>2]=m+p;o[u>>2]=d+l;o[a>>2]=f+c;o[r>>2]=s+i;o[n>>2]=e+t;return}function ui(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0;me=h;h=h+272|0;ue=me+240|0;le=me+192|0;c=me+144|0;f=me+96|0;de=me+48|0;he=me;pe=e+40|0;Qr(pe,t);u=e+80|0;o[u>>2]=1;a=e+84|0;n=a;i=n+36|0;do{o[n>>2]=0;n=n+4|0}while((n|0)<(i|0));Yr(le,pe);Xr(c,le,1248);te=le+4|0;ne=le+8|0;re=le+12|0;ie=le+16|0;oe=le+20|0;se=le+24|0;ae=le+28|0;ce=le+32|0;fe=le+36|0;x=o[u>>2]|0;O=o[a>>2]|0;T=o[e+88>>2]|0;S=o[e+92>>2]|0;E=o[e+96>>2]|0;A=o[e+100>>2]|0;i=o[e+104>>2]|0;ee=o[e+108>>2]|0;Z=o[e+112>>2]|0;X=o[e+116>>2]|0;_=(o[le>>2]|0)-x|0;v=(o[te>>2]|0)-O|0;u=(o[ne>>2]|0)-T|0;l=(o[re>>2]|0)-S|0;d=(o[ie>>2]|0)-E|0;p=(o[oe>>2]|0)-A|0;m=(o[se>>2]|0)-i|0;g=(o[ae>>2]|0)-ee|0;y=(o[ce>>2]|0)-Z|0;b=(o[fe>>2]|0)-X|0;o[le>>2]=_;o[te>>2]=v;o[ne>>2]=u;o[re>>2]=l;o[ie>>2]=d;o[oe>>2]=p;o[se>>2]=m;o[ae>>2]=g;o[ce>>2]=y;o[fe>>2]=b;R=c+4|0;I=c+8|0;k=c+12|0;w=c+16|0;a=c+20|0;n=c+24|0;$=c+28|0;J=c+32|0;Y=c+36|0;O=(o[R>>2]|0)+O|0;T=(o[I>>2]|0)+T|0;S=(o[k>>2]|0)+S|0;E=(o[w>>2]|0)+E|0;A=(o[a>>2]|0)+A|0;i=(o[n>>2]|0)+i|0;ee=(o[$>>2]|0)+ee|0;Z=(o[J>>2]|0)+Z|0;X=(o[Y>>2]|0)+X|0;o[c>>2]=(o[c>>2]|0)+x;o[R>>2]=O;o[I>>2]=T;o[k>>2]=S;o[w>>2]=E;o[a>>2]=A;o[n>>2]=i;o[$>>2]=ee;o[J>>2]=Z;o[Y>>2]=X;Yr(f,c);Xr(f,f,c);Yr(e,f);Xr(e,e,c);Xr(e,e,le);Zr(e,e);Xr(e,e,f);Xr(e,e,le);Yr(de,e);Xr(de,de,c);Y=de+4|0;X=de+8|0;J=de+12|0;Z=de+16|0;$=de+20|0;ee=de+24|0;n=de+28|0;i=de+32|0;a=de+36|0;f=(o[Y>>2]|0)-v|0;u=(o[X>>2]|0)-u|0;l=(o[J>>2]|0)-l|0;d=(o[Z>>2]|0)-d|0;p=(o[$>>2]|0)-p|0;m=(o[ee>>2]|0)-m|0;g=(o[n>>2]|0)-g|0;y=(o[i>>2]|0)-y|0;b=(o[a>>2]|0)-b|0;o[he>>2]=(o[de>>2]|0)-_;c=he+4|0;o[c>>2]=f;f=he+8|0;o[f>>2]=u;u=he+12|0;o[u>>2]=l;l=he+16|0;o[l>>2]=d;d=he+20|0;o[d>>2]=p;p=he+24|0;o[p>>2]=m;m=he+28|0;o[m>>2]=g;g=he+32|0;o[g>>2]=y;y=he+36|0;o[y>>2]=b;Jr(ue,he);b=ue+1|0;_=ue+2|0;v=ue+3|0;A=ue+4|0;w=ue+5|0;E=ue+6|0;k=ue+7|0;S=ue+8|0;I=ue+9|0;T=ue+10|0;R=ue+11|0;O=ue+12|0;x=ue+13|0;C=ue+14|0;P=ue+15|0;M=ue+16|0;D=ue+17|0;B=ue+18|0;N=ue+19|0;j=ue+20|0;U=ue+21|0;L=ue+22|0;F=ue+23|0;q=ue+24|0;K=ue+25|0;z=ue+26|0;G=ue+27|0;H=ue+28|0;V=ue+29|0;Q=ue+30|0;W=ue+31|0;do{if((r[b>>0]|r[ue>>0]|r[_>>0]|r[v>>0]|r[A>>0]|r[w>>0]|r[E>>0]|r[k>>0]|r[S>>0]|r[I>>0]|r[T>>0]|r[R>>0]|r[O>>0]|r[x>>0]|r[C>>0]|r[P>>0]|r[M>>0]|r[D>>0]|r[B>>0]|r[N>>0]|r[j>>0]|r[U>>0]|r[L>>0]|r[F>>0]|r[q>>0]|r[K>>0]|r[z>>0]|r[G>>0]|r[H>>0]|r[V>>0]|r[Q>>0]|r[W>>0])<<24>>24){te=(o[te>>2]|0)+(o[Y>>2]|0)|0;ne=(o[ne>>2]|0)+(o[X>>2]|0)|0;re=(o[re>>2]|0)+(o[J>>2]|0)|0;ie=(o[ie>>2]|0)+(o[Z>>2]|0)|0;oe=(o[oe>>2]|0)+(o[$>>2]|0)|0;se=(o[se>>2]|0)+(o[ee>>2]|0)|0;ae=(o[ae>>2]|0)+(o[n>>2]|0)|0;ce=(o[ce>>2]|0)+(o[i>>2]|0)|0;fe=(o[fe>>2]|0)+(o[a>>2]|0)|0;o[he>>2]=(o[le>>2]|0)+(o[de>>2]|0);o[c>>2]=te;o[f>>2]=ne;o[u>>2]=re;o[l>>2]=ie;o[d>>2]=oe;o[p>>2]=se;o[m>>2]=ae;o[g>>2]=ce;o[y>>2]=fe;Jr(ue,he);if(!((r[b>>0]|r[ue>>0]|r[_>>0]|r[v>>0]|r[A>>0]|r[w>>0]|r[E>>0]|r[k>>0]|r[S>>0]|r[I>>0]|r[T>>0]|r[R>>0]|r[O>>0]|r[x>>0]|r[C>>0]|r[P>>0]|r[M>>0]|r[D>>0]|r[B>>0]|r[N>>0]|r[j>>0]|r[U>>0]|r[L>>0]|r[F>>0]|r[q>>0]|r[K>>0]|r[z>>0]|r[G>>0]|r[H>>0]|r[V>>0]|r[Q>>0]|r[W>>0])<<24>>24)){Xr(e,e,1296);break}else{pe=-1;h=me;return pe|0}}}while(0);Jr(ue,e);if(((s[t+31>>0]|0)>>>7|0)==(r[ue>>0]&1|0)){Z=e+4|0;ee=e+8|0;ne=e+12|0;ie=e+16|0;se=e+20|0;ce=e+24|0;t=e+28|0;le=e+32|0;he=e+36|0;J=0-(o[Z>>2]|0)|0;$=0-(o[ee>>2]|0)|0;te=0-(o[ne>>2]|0)|0;re=0-(o[ie>>2]|0)|0;oe=0-(o[se>>2]|0)|0;ae=0-(o[ce>>2]|0)|0;fe=0-(o[t>>2]|0)|0;ue=0-(o[le>>2]|0)|0;de=0-(o[he>>2]|0)|0;o[e>>2]=0-(o[e>>2]|0);o[Z>>2]=J;o[ee>>2]=$;o[ne>>2]=te;o[ie>>2]=re;o[se>>2]=oe;o[ce>>2]=ae;o[t>>2]=fe;o[le>>2]=ue;o[he>>2]=de}Xr(e+120|0,e,pe);pe=0;h=me;return pe|0}function li(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0;_=h;h=h+592|0;p=_+464|0;g=_;y=_+304|0;m=_+184|0;b=_+64|0;i=r[t>>0]|0;r[g>>0]=i&15;r[g+1>>0]=(i&255)>>>4;i=r[t+1>>0]|0;r[g+2>>0]=i&15;r[g+3>>0]=(i&255)>>>4;i=r[t+2>>0]|0;r[g+4>>0]=i&15;r[g+5>>0]=(i&255)>>>4;i=r[t+3>>0]|0;r[g+6>>0]=i&15;r[g+7>>0]=(i&255)>>>4;i=r[t+4>>0]|0;r[g+8>>0]=i&15;r[g+9>>0]=(i&255)>>>4;i=r[t+5>>0]|0;r[g+10>>0]=i&15;r[g+11>>0]=(i&255)>>>4;i=r[t+6>>0]|0;r[g+12>>0]=i&15;r[g+13>>0]=(i&255)>>>4;i=r[t+7>>0]|0;r[g+14>>0]=i&15;r[g+15>>0]=(i&255)>>>4;i=r[t+8>>0]|0;r[g+16>>0]=i&15;r[g+17>>0]=(i&255)>>>4;i=r[t+9>>0]|0;r[g+18>>0]=i&15;r[g+19>>0]=(i&255)>>>4;i=r[t+10>>0]|0;r[g+20>>0]=i&15;r[g+21>>0]=(i&255)>>>4;i=r[t+11>>0]|0;r[g+22>>0]=i&15;r[g+23>>0]=(i&255)>>>4;i=r[t+12>>0]|0;r[g+24>>0]=i&15;r[g+25>>0]=(i&255)>>>4;i=r[t+13>>0]|0;r[g+26>>0]=i&15;r[g+27>>0]=(i&255)>>>4;i=r[t+14>>0]|0;r[g+28>>0]=i&15;r[g+29>>0]=(i&255)>>>4;i=r[t+15>>0]|0;r[g+30>>0]=i&15;r[g+31>>0]=(i&255)>>>4;i=r[t+16>>0]|0;r[g+32>>0]=i&15;r[g+33>>0]=(i&255)>>>4;i=r[t+17>>0]|0;r[g+34>>0]=i&15;r[g+35>>0]=(i&255)>>>4;i=r[t+18>>0]|0;r[g+36>>0]=i&15;r[g+37>>0]=(i&255)>>>4;i=r[t+19>>0]|0;r[g+38>>0]=i&15;r[g+39>>0]=(i&255)>>>4;i=r[t+20>>0]|0;r[g+40>>0]=i&15;r[g+41>>0]=(i&255)>>>4;i=r[t+21>>0]|0;r[g+42>>0]=i&15;r[g+43>>0]=(i&255)>>>4;i=r[t+22>>0]|0;r[g+44>>0]=i&15;r[g+45>>0]=(i&255)>>>4;i=r[t+23>>0]|0;r[g+46>>0]=i&15;r[g+47>>0]=(i&255)>>>4;i=r[t+24>>0]|0;r[g+48>>0]=i&15;r[g+49>>0]=(i&255)>>>4;i=r[t+25>>0]|0;r[g+50>>0]=i&15;r[g+51>>0]=(i&255)>>>4;i=r[t+26>>0]|0;r[g+52>>0]=i&15;r[g+53>>0]=(i&255)>>>4;i=r[t+27>>0]|0;r[g+54>>0]=i&15;r[g+55>>0]=(i&255)>>>4;i=r[t+28>>0]|0;r[g+56>>0]=i&15;r[g+57>>0]=(i&255)>>>4;i=r[t+29>>0]|0;r[g+58>>0]=i&15;r[g+59>>0]=(i&255)>>>4;i=r[t+30>>0]|0;r[g+60>>0]=i&15;r[g+61>>0]=(i&255)>>>4;t=r[t+31>>0]|0;r[g+62>>0]=t&15;i=g+63|0;r[i>>0]=(t&255)>>>4;t=0;n=0;do{d=g+n|0;l=t+(s[d>>0]|0)|0;t=(l<<24)+134217728>>28;r[d>>0]=l-(t<<4);n=n+1|0}while((n|0)!=63);r[i>>0]=t+(s[i>>0]|0);t=e;n=t+40|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));l=e+40|0;o[l>>2]=1;f=e+44|0;t=f;n=t+36|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));d=e+80|0;o[d>>2]=1;u=e+84|0;t=u;n=t+76|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));n=y+120|0;i=y+40|0;a=y+80|0;c=e+120|0;t=1;do{di(b,t>>>1,r[g+t>>0]|0);ci(y,e,b);Xr(e,y,n);Xr(l,i,a);Xr(d,a,n);Xr(c,y,i);t=t+2|0}while(t>>>0<64);T=o[e+4>>2]|0;S=o[e+8>>2]|0;k=o[e+12>>2]|0;E=o[e+16>>2]|0;w=o[e+20>>2]|0;A=o[e+24>>2]|0;v=o[e+28>>2]|0;t=o[e+32>>2]|0;I=o[e+36>>2]|0;o[p>>2]=o[e>>2];o[p+4>>2]=T;o[p+8>>2]=S;o[p+12>>2]=k;o[p+16>>2]=E;o[p+20>>2]=w;o[p+24>>2]=A;o[p+28>>2]=v;o[p+32>>2]=t;o[p+36>>2]=I;I=o[f>>2]|0;t=o[e+48>>2]|0;f=o[e+52>>2]|0;v=o[e+56>>2]|0;A=o[e+60>>2]|0;w=o[e+64>>2]|0;E=o[e+68>>2]|0;k=o[e+72>>2]|0;S=o[e+76>>2]|0;o[p+40>>2]=o[l>>2];o[p+44>>2]=I;o[p+48>>2]=t;o[p+52>>2]=f;o[p+56>>2]=v;o[p+60>>2]=A;o[p+64>>2]=w;o[p+68>>2]=E;o[p+72>>2]=k;o[p+76>>2]=S;S=o[u>>2]|0;k=o[e+88>>2]|0;E=o[e+92>>2]|0;w=o[e+96>>2]|0;A=o[e+100>>2]|0;v=o[e+104>>2]|0;f=o[e+108>>2]|0;u=o[e+112>>2]|0;t=o[e+116>>2]|0;o[p+80>>2]=o[d>>2];o[p+84>>2]=S;o[p+88>>2]=k;o[p+92>>2]=E;o[p+96>>2]=w;o[p+100>>2]=A;o[p+104>>2]=v;o[p+108>>2]=f;o[p+112>>2]=u;o[p+116>>2]=t;si(y,p);Xr(m,y,n);p=m+40|0;Xr(p,i,a);t=m+80|0;Xr(t,a,n);si(y,m);Xr(m,y,n);Xr(p,i,a);Xr(t,a,n);si(y,m);Xr(m,y,n);Xr(p,i,a);Xr(t,a,n);si(y,m);Xr(e,y,n);Xr(l,i,a);Xr(d,a,n);Xr(c,y,i);t=0;do{di(b,t>>>1,r[g+t>>0]|0);ci(y,e,b);Xr(e,y,n);Xr(l,i,a);Xr(d,a,n);Xr(c,y,i);t=t+2|0}while(t>>>0<64);h=_;return}function di(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0;r=n<<24>>24;b=0-((n&255)>>>7&255)|0;n=r-((b&r)<<1)&255;o[e>>2]=1;r=e+4|0;_=r;v=_+36|0;do{o[_>>2]=0;_=_+4|0}while((_|0)<(v|0));i=e+40|0;o[i>>2]=1;s=e+44|0;a=e+80|0;c=ks((n^1)&255|0,0,-1,-1)|0;c=xs(c|0,I|0,63)|0;f=1344+(t*960|0)|0;u=e+8|0;l=e+12|0;d=e+16|0;h=e+20|0;p=e+24|0;m=e+28|0;g=e+32|0;y=e+36|0;_=s;v=_+76|0;do{o[_>>2]=0;_=_+4|0}while((_|0)<(v|0));ve=0-c|0;ye=o[1344+(t*960|0)+4>>2]&ve;ge=o[1344+(t*960|0)+8>>2]&ve;me=o[1344+(t*960|0)+12>>2]&ve;pe=o[1344+(t*960|0)+16>>2]&ve;he=o[1344+(t*960|0)+20>>2]&ve;de=o[1344+(t*960|0)+24>>2]&ve;le=o[1344+(t*960|0)+28>>2]&ve;ue=o[1344+(t*960|0)+32>>2]&ve;fe=o[1344+(t*960|0)+36>>2]&ve;be=(o[f>>2]^1)&ve^1;o[e>>2]=be;o[r>>2]=ye;o[u>>2]=ge;o[l>>2]=me;o[d>>2]=pe;o[h>>2]=he;o[p>>2]=de;o[m>>2]=le;o[g>>2]=ue;o[y>>2]=fe;ne=e+48|0;$=e+52|0;X=e+56|0;Q=e+60|0;G=e+64|0;q=e+68|0;U=e+72|0;B=e+76|0;oe=o[1344+(t*960|0)+44>>2]&ve;re=o[1344+(t*960|0)+48>>2]&ve;ee=o[1344+(t*960|0)+52>>2]&ve;J=o[1344+(t*960|0)+56>>2]&ve;W=o[1344+(t*960|0)+60>>2]&ve;H=o[1344+(t*960|0)+64>>2]&ve;K=o[1344+(t*960|0)+68>>2]&ve;L=o[1344+(t*960|0)+72>>2]&ve;N=o[1344+(t*960|0)+76>>2]&ve;ae=(o[1344+(t*960|0)+40>>2]^1)&ve^1;o[i>>2]=ae;o[s>>2]=oe;o[ne>>2]=re;o[$>>2]=ee;o[X>>2]=J;o[Q>>2]=W;o[G>>2]=H;o[q>>2]=K;o[U>>2]=L;o[B>>2]=N;D=o[a>>2]|0;P=e+84|0;M=o[P>>2]|0;x=e+88|0;C=o[x>>2]|0;R=e+92|0;O=o[R>>2]|0;S=e+96|0;T=o[S>>2]|0;E=e+100|0;k=o[E>>2]|0;A=e+104|0;w=o[A>>2]|0;c=e+108|0;Z=o[c>>2]|0;_=e+112|0;f=o[_>>2]|0;v=e+116|0;se=o[v>>2]|0;ie=(o[1344+(t*960|0)+84>>2]^M)&ve;te=(o[1344+(t*960|0)+88>>2]^C)&ve;Y=(o[1344+(t*960|0)+92>>2]^O)&ve;V=(o[1344+(t*960|0)+96>>2]^T)&ve;z=(o[1344+(t*960|0)+100>>2]^k)&ve;F=(o[1344+(t*960|0)+104>>2]^w)&ve;j=(o[1344+(t*960|0)+108>>2]^Z)&ve;ce=(o[1344+(t*960|0)+112>>2]^f)&ve;_e=(o[1344+(t*960|0)+116>>2]^se)&ve;D=(o[1344+(t*960|0)+80>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^2)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+124>>2]^ye)&_e;j=(o[1344+(t*960|0)+128>>2]^ge)&_e;F=(o[1344+(t*960|0)+132>>2]^me)&_e;z=(o[1344+(t*960|0)+136>>2]^pe)&_e;V=(o[1344+(t*960|0)+140>>2]^he)&_e;Y=(o[1344+(t*960|0)+144>>2]^de)&_e;te=(o[1344+(t*960|0)+148>>2]^le)&_e;ie=(o[1344+(t*960|0)+152>>2]^ue)&_e;ve=(o[1344+(t*960|0)+156>>2]^fe)&_e;be=(o[1344+(t*960|0)+120>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=te^le;o[m>>2]=le;ue=ie^ue;o[g>>2]=ue;fe=ve^fe;o[y>>2]=fe;ve=(o[1344+(t*960|0)+164>>2]^oe)&_e;ie=(o[1344+(t*960|0)+168>>2]^re)&_e;te=(o[1344+(t*960|0)+172>>2]^ee)&_e;Y=(o[1344+(t*960|0)+176>>2]^J)&_e;V=(o[1344+(t*960|0)+180>>2]^W)&_e;z=(o[1344+(t*960|0)+184>>2]^H)&_e;F=(o[1344+(t*960|0)+188>>2]^K)&_e;j=(o[1344+(t*960|0)+192>>2]^L)&_e;ce=(o[1344+(t*960|0)+196>>2]^N)&_e;ae=(o[1344+(t*960|0)+160>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ve^oe;o[s>>2]=oe;re=ie^re;o[ne>>2]=re;ee=te^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+204>>2]^M)&_e;j=(o[1344+(t*960|0)+208>>2]^C)&_e;F=(o[1344+(t*960|0)+212>>2]^O)&_e;z=(o[1344+(t*960|0)+216>>2]^T)&_e;V=(o[1344+(t*960|0)+220>>2]^k)&_e;Y=(o[1344+(t*960|0)+224>>2]^w)&_e;te=(o[1344+(t*960|0)+228>>2]^Z)&_e;ie=(o[1344+(t*960|0)+232>>2]^f)&_e;ve=(o[1344+(t*960|0)+236>>2]^se)&_e;D=(o[1344+(t*960|0)+200>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;Z=te^Z;o[c>>2]=Z;f=ie^f;o[_>>2]=f;se=ve^se;o[v>>2]=se;ve=ks((n^3)&255|0,0,-1,-1)|0;ve=xs(ve|0,I|0,63)|0;ve=0-ve|0;ie=(o[1344+(t*960|0)+244>>2]^ye)&ve;te=(o[1344+(t*960|0)+248>>2]^ge)&ve;Y=(o[1344+(t*960|0)+252>>2]^me)&ve;V=(o[1344+(t*960|0)+256>>2]^pe)&ve;z=(o[1344+(t*960|0)+260>>2]^he)&ve;F=(o[1344+(t*960|0)+264>>2]^de)&ve;j=(o[1344+(t*960|0)+268>>2]^le)&ve;ce=(o[1344+(t*960|0)+272>>2]^ue)&ve;_e=(o[1344+(t*960|0)+276>>2]^fe)&ve;be=(o[1344+(t*960|0)+240>>2]^be)&ve^be;o[e>>2]=be;ye=ie^ye;o[r>>2]=ye;ge=te^ge;o[u>>2]=ge;me=Y^me;o[l>>2]=me;pe=V^pe;o[d>>2]=pe;he=z^he;o[h>>2]=he;de=F^de;o[p>>2]=de;le=j^le;o[m>>2]=le;ue=ce^ue;o[g>>2]=ue;fe=_e^fe;o[y>>2]=fe;_e=(o[1344+(t*960|0)+284>>2]^oe)&ve;ce=(o[1344+(t*960|0)+288>>2]^re)&ve;j=(o[1344+(t*960|0)+292>>2]^ee)&ve;F=(o[1344+(t*960|0)+296>>2]^J)&ve;z=(o[1344+(t*960|0)+300>>2]^W)&ve;V=(o[1344+(t*960|0)+304>>2]^H)&ve;Y=(o[1344+(t*960|0)+308>>2]^K)&ve;te=(o[1344+(t*960|0)+312>>2]^L)&ve;ie=(o[1344+(t*960|0)+316>>2]^N)&ve;ae=(o[1344+(t*960|0)+280>>2]^ae)&ve^ae;o[i>>2]=ae;oe=_e^oe;o[s>>2]=oe;re=ce^re;o[ne>>2]=re;ee=j^ee;o[$>>2]=ee;J=F^J;o[X>>2]=J;W=z^W;o[Q>>2]=W;H=V^H;o[G>>2]=H;K=Y^K;o[q>>2]=K;L=te^L;o[U>>2]=L;N=ie^N;o[B>>2]=N;ie=(o[1344+(t*960|0)+324>>2]^M)&ve;te=(o[1344+(t*960|0)+328>>2]^C)&ve;Y=(o[1344+(t*960|0)+332>>2]^O)&ve;V=(o[1344+(t*960|0)+336>>2]^T)&ve;z=(o[1344+(t*960|0)+340>>2]^k)&ve;F=(o[1344+(t*960|0)+344>>2]^w)&ve;j=(o[1344+(t*960|0)+348>>2]^Z)&ve;ce=(o[1344+(t*960|0)+352>>2]^f)&ve;_e=(o[1344+(t*960|0)+356>>2]^se)&ve;D=(o[1344+(t*960|0)+320>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^4)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+364>>2]^ye)&_e;j=(o[1344+(t*960|0)+368>>2]^ge)&_e;F=(o[1344+(t*960|0)+372>>2]^me)&_e;z=(o[1344+(t*960|0)+376>>2]^pe)&_e;V=(o[1344+(t*960|0)+380>>2]^he)&_e;Y=(o[1344+(t*960|0)+384>>2]^de)&_e;te=(o[1344+(t*960|0)+388>>2]^le)&_e;ie=(o[1344+(t*960|0)+392>>2]^ue)&_e;ve=(o[1344+(t*960|0)+396>>2]^fe)&_e;be=(o[1344+(t*960|0)+360>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=te^le;o[m>>2]=le;ue=ie^ue;o[g>>2]=ue;fe=ve^fe;o[y>>2]=fe;ve=(o[1344+(t*960|0)+404>>2]^oe)&_e;ie=(o[1344+(t*960|0)+408>>2]^re)&_e;te=(o[1344+(t*960|0)+412>>2]^ee)&_e;Y=(o[1344+(t*960|0)+416>>2]^J)&_e;V=(o[1344+(t*960|0)+420>>2]^W)&_e;z=(o[1344+(t*960|0)+424>>2]^H)&_e;F=(o[1344+(t*960|0)+428>>2]^K)&_e;j=(o[1344+(t*960|0)+432>>2]^L)&_e;ce=(o[1344+(t*960|0)+436>>2]^N)&_e;ae=(o[1344+(t*960|0)+400>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ve^oe;o[s>>2]=oe;re=ie^re;o[ne>>2]=re;ee=te^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+444>>2]^M)&_e;j=(o[1344+(t*960|0)+448>>2]^C)&_e;F=(o[1344+(t*960|0)+452>>2]^O)&_e;z=(o[1344+(t*960|0)+456>>2]^T)&_e;V=(o[1344+(t*960|0)+460>>2]^k)&_e;Y=(o[1344+(t*960|0)+464>>2]^w)&_e;te=(o[1344+(t*960|0)+468>>2]^Z)&_e;ie=(o[1344+(t*960|0)+472>>2]^f)&_e;ve=(o[1344+(t*960|0)+476>>2]^se)&_e;D=(o[1344+(t*960|0)+440>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;Z=te^Z;o[c>>2]=Z;f=ie^f;o[_>>2]=f;se=ve^se;o[v>>2]=se;ve=ks((n^5)&255|0,0,-1,-1)|0;ve=xs(ve|0,I|0,63)|0;ve=0-ve|0;ie=(o[1344+(t*960|0)+484>>2]^ye)&ve;te=(o[1344+(t*960|0)+488>>2]^ge)&ve;Y=(o[1344+(t*960|0)+492>>2]^me)&ve;V=(o[1344+(t*960|0)+496>>2]^pe)&ve;z=(o[1344+(t*960|0)+500>>2]^he)&ve;F=(o[1344+(t*960|0)+504>>2]^de)&ve;j=(o[1344+(t*960|0)+508>>2]^le)&ve;ce=(o[1344+(t*960|0)+512>>2]^ue)&ve;_e=(o[1344+(t*960|0)+516>>2]^fe)&ve;be=(o[1344+(t*960|0)+480>>2]^be)&ve^be;o[e>>2]=be;ye=ie^ye;o[r>>2]=ye;ge=te^ge;o[u>>2]=ge;me=Y^me;o[l>>2]=me;pe=V^pe;o[d>>2]=pe;he=z^he;o[h>>2]=he;de=F^de;o[p>>2]=de;le=j^le;o[m>>2]=le;ue=ce^ue;o[g>>2]=ue;fe=_e^fe;o[y>>2]=fe;_e=(o[1344+(t*960|0)+524>>2]^oe)&ve;ce=(o[1344+(t*960|0)+528>>2]^re)&ve;j=(o[1344+(t*960|0)+532>>2]^ee)&ve;F=(o[1344+(t*960|0)+536>>2]^J)&ve;z=(o[1344+(t*960|0)+540>>2]^W)&ve;V=(o[1344+(t*960|0)+544>>2]^H)&ve;Y=(o[1344+(t*960|0)+548>>2]^K)&ve;te=(o[1344+(t*960|0)+552>>2]^L)&ve;ie=(o[1344+(t*960|0)+556>>2]^N)&ve;ae=(o[1344+(t*960|0)+520>>2]^ae)&ve^ae;o[i>>2]=ae;oe=_e^oe;o[s>>2]=oe;re=ce^re;o[ne>>2]=re;ee=j^ee;o[$>>2]=ee;J=F^J;o[X>>2]=J;W=z^W;o[Q>>2]=W;H=V^H;o[G>>2]=H;K=Y^K;o[q>>2]=K;L=te^L;o[U>>2]=L;N=ie^N;o[B>>2]=N;ie=(o[1344+(t*960|0)+564>>2]^M)&ve;te=(o[1344+(t*960|0)+568>>2]^C)&ve;Y=(o[1344+(t*960|0)+572>>2]^O)&ve;V=(o[1344+(t*960|0)+576>>2]^T)&ve;z=(o[1344+(t*960|0)+580>>2]^k)&ve;F=(o[1344+(t*960|0)+584>>2]^w)&ve;j=(o[1344+(t*960|0)+588>>2]^Z)&ve;ce=(o[1344+(t*960|0)+592>>2]^f)&ve;_e=(o[1344+(t*960|0)+596>>2]^se)&ve;D=(o[1344+(t*960|0)+560>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^6)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+604>>2]^ye)&_e;j=(o[1344+(t*960|0)+608>>2]^ge)&_e;F=(o[1344+(t*960|0)+612>>2]^me)&_e;z=(o[1344+(t*960|0)+616>>2]^pe)&_e;V=(o[1344+(t*960|0)+620>>2]^he)&_e;Y=(o[1344+(t*960|0)+624>>2]^de)&_e;te=(o[1344+(t*960|0)+628>>2]^le)&_e;ie=(o[1344+(t*960|0)+632>>2]^ue)&_e;ve=(o[1344+(t*960|0)+636>>2]^fe)&_e;be=(o[1344+(t*960|0)+600>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=te^le;o[m>>2]=le;ue=ie^ue;o[g>>2]=ue;fe=ve^fe;o[y>>2]=fe;ve=(o[1344+(t*960|0)+644>>2]^oe)&_e;ie=(o[1344+(t*960|0)+648>>2]^re)&_e;te=(o[1344+(t*960|0)+652>>2]^ee)&_e;Y=(o[1344+(t*960|0)+656>>2]^J)&_e;V=(o[1344+(t*960|0)+660>>2]^W)&_e;z=(o[1344+(t*960|0)+664>>2]^H)&_e;F=(o[1344+(t*960|0)+668>>2]^K)&_e;j=(o[1344+(t*960|0)+672>>2]^L)&_e;ce=(o[1344+(t*960|0)+676>>2]^N)&_e;ae=(o[1344+(t*960|0)+640>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ve^oe;o[s>>2]=oe;re=ie^re;o[ne>>2]=re;ee=te^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+684>>2]^M)&_e;j=(o[1344+(t*960|0)+688>>2]^C)&_e;F=(o[1344+(t*960|0)+692>>2]^O)&_e;z=(o[1344+(t*960|0)+696>>2]^T)&_e;V=(o[1344+(t*960|0)+700>>2]^k)&_e;Y=(o[1344+(t*960|0)+704>>2]^w)&_e;te=(o[1344+(t*960|0)+708>>2]^Z)&_e;ie=(o[1344+(t*960|0)+712>>2]^f)&_e;ve=(o[1344+(t*960|0)+716>>2]^se)&_e;D=(o[1344+(t*960|0)+680>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;Z=te^Z;o[c>>2]=Z;f=ie^f;o[_>>2]=f;se=ve^se;o[v>>2]=se;ve=ks((n^7)&255|0,0,-1,-1)|0;ve=xs(ve|0,I|0,63)|0;ve=0-ve|0;ie=(o[1344+(t*960|0)+724>>2]^ye)&ve;te=(o[1344+(t*960|0)+728>>2]^ge)&ve;Y=(o[1344+(t*960|0)+732>>2]^me)&ve;V=(o[1344+(t*960|0)+736>>2]^pe)&ve;z=(o[1344+(t*960|0)+740>>2]^he)&ve;F=(o[1344+(t*960|0)+744>>2]^de)&ve;j=(o[1344+(t*960|0)+748>>2]^le)&ve;ce=(o[1344+(t*960|0)+752>>2]^ue)&ve;_e=(o[1344+(t*960|0)+756>>2]^fe)&ve;be=(o[1344+(t*960|0)+720>>2]^be)&ve^be;o[e>>2]=be;ye=ie^ye;o[r>>2]=ye;ge=te^ge;o[u>>2]=ge;me=Y^me;o[l>>2]=me;pe=V^pe;o[d>>2]=pe;he=z^he;o[h>>2]=he;de=F^de;o[p>>2]=de;le=j^le;o[m>>2]=le;ue=ce^ue;o[g>>2]=ue;fe=_e^fe;o[y>>2]=fe;_e=(o[1344+(t*960|0)+764>>2]^oe)&ve;ce=(o[1344+(t*960|0)+768>>2]^re)&ve;j=(o[1344+(t*960|0)+772>>2]^ee)&ve;F=(o[1344+(t*960|0)+776>>2]^J)&ve;z=(o[1344+(t*960|0)+780>>2]^W)&ve;V=(o[1344+(t*960|0)+784>>2]^H)&ve;Y=(o[1344+(t*960|0)+788>>2]^K)&ve;te=(o[1344+(t*960|0)+792>>2]^L)&ve;ie=(o[1344+(t*960|0)+796>>2]^N)&ve;ae=(o[1344+(t*960|0)+760>>2]^ae)&ve^ae;o[i>>2]=ae;oe=_e^oe;o[s>>2]=oe;re=ce^re;o[ne>>2]=re;ee=j^ee;o[$>>2]=ee;J=F^J;o[X>>2]=J;W=z^W;o[Q>>2]=W;H=V^H;o[G>>2]=H;K=Y^K;o[q>>2]=K;L=te^L;o[U>>2]=L;N=ie^N;o[B>>2]=N;ie=(o[1344+(t*960|0)+804>>2]^M)&ve;te=(o[1344+(t*960|0)+808>>2]^C)&ve;Y=(o[1344+(t*960|0)+812>>2]^O)&ve;V=(o[1344+(t*960|0)+816>>2]^T)&ve;z=(o[1344+(t*960|0)+820>>2]^k)&ve;F=(o[1344+(t*960|0)+824>>2]^w)&ve;j=(o[1344+(t*960|0)+828>>2]^Z)&ve;ce=(o[1344+(t*960|0)+832>>2]^f)&ve;_e=(o[1344+(t*960|0)+836>>2]^se)&ve;D=(o[1344+(t*960|0)+800>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^8)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+844>>2]^ye)&_e;j=(o[1344+(t*960|0)+848>>2]^ge)&_e;F=(o[1344+(t*960|0)+852>>2]^me)&_e;z=(o[1344+(t*960|0)+856>>2]^pe)&_e;V=(o[1344+(t*960|0)+860>>2]^he)&_e;Y=(o[1344+(t*960|0)+864>>2]^de)&_e;n=(o[1344+(t*960|0)+868>>2]^le)&_e;te=(o[1344+(t*960|0)+872>>2]^ue)&_e;ie=(o[1344+(t*960|0)+876>>2]^fe)&_e;be=(o[1344+(t*960|0)+840>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=n^le;o[m>>2]=le;ue=te^ue;o[g>>2]=ue;fe=ie^fe;o[y>>2]=fe;ie=(o[1344+(t*960|0)+884>>2]^oe)&_e;te=(o[1344+(t*960|0)+888>>2]^re)&_e;n=(o[1344+(t*960|0)+892>>2]^ee)&_e;Y=(o[1344+(t*960|0)+896>>2]^J)&_e;V=(o[1344+(t*960|0)+900>>2]^W)&_e;z=(o[1344+(t*960|0)+904>>2]^H)&_e;F=(o[1344+(t*960|0)+908>>2]^K)&_e;j=(o[1344+(t*960|0)+912>>2]^L)&_e;ce=(o[1344+(t*960|0)+916>>2]^N)&_e;ae=(o[1344+(t*960|0)+880>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ie^oe;o[s>>2]=oe;re=te^re;o[ne>>2]=re;ee=n^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+924>>2]^M)&_e;j=(o[1344+(t*960|0)+928>>2]^C)&_e;F=(o[1344+(t*960|0)+932>>2]^O)&_e;z=(o[1344+(t*960|0)+936>>2]^T)&_e;V=(o[1344+(t*960|0)+940>>2]^k)&_e;Y=(o[1344+(t*960|0)+944>>2]^w)&_e;n=(o[1344+(t*960|0)+948>>2]^Z)&_e;te=(o[1344+(t*960|0)+952>>2]^f)&_e;ie=(o[1344+(t*960|0)+956>>2]^se)&_e;D=(o[1344+(t*960|0)+920>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;n=n^Z;o[c>>2]=n;f=te^f;o[_>>2]=f;t=ie^se;o[v>>2]=t;se=o[r>>2]|0;ie=o[u>>2]|0;te=o[l>>2]|0;Z=o[d>>2]|0;Y=o[h>>2]|0;V=o[p>>2]|0;z=o[m>>2]|0;F=o[g>>2]|0;j=o[y>>2]|0;ce=(ae^be)&b;o[e>>2]=ce^be;o[r>>2]=(oe^ye)&b^ye;o[u>>2]=(re^ge)&b^ge;o[l>>2]=(ee^me)&b^me;o[d>>2]=(J^pe)&b^pe;o[h>>2]=(W^he)&b^he;o[p>>2]=(H^de)&b^de;o[m>>2]=(K^le)&b^le;o[g>>2]=(L^ue)&b^ue;o[y>>2]=(N^fe)&b^fe;o[i>>2]=ce^ae;o[s>>2]=(se^oe)&b^oe;o[ne>>2]=(ie^re)&b^re;o[$>>2]=(te^ee)&b^ee;o[X>>2]=(Z^J)&b^J;o[Q>>2]=(Y^W)&b^W;o[G>>2]=(V^H)&b^H;o[q>>2]=(z^K)&b^K;o[U>>2]=(F^L)&b^L;o[B>>2]=(j^N)&b^N;o[a>>2]=(D^0-D)&b^D;o[P>>2]=(M^0-M)&b^M;o[x>>2]=(C^0-C)&b^C;o[R>>2]=(O^0-O)&b^O;o[S>>2]=(T^0-T)&b^T;o[E>>2]=(k^0-k)&b^k;o[A>>2]=(w^0-w)&b^w;o[c>>2]=(n^0-n)&b^n;o[_>>2]=(f^0-f)&b^f;o[v>>2]=(t^0-t)&b^t;return}function hi(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0,c=0,f=0;i=h;h=h+336|0;o=i+144|0;c=i+96|0;s=i+48|0;a=i;f=i+176|0;pi(n,32,t)|0;r[t>>0]=r[t>>0]&-8;n=t+31|0;r[n>>0]=r[n>>0]&63|64;li(f,t);Wr(c,f+80|0);Xr(s,f,c);Xr(a,f+40|0,c);Jr(e,a);Jr(o,s);n=e+31|0;r[n>>0]=r[n>>0]^r[o>>0]<<7&255;h=i;return}function pi(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0;l=h;h=h+208|0;c=l;f=c+72|0;o[f>>2]=0;u=c;o[u>>2]=0;o[u+4>>2]=0;u=c+8|0;o[u>>2]=-205731576;o[u+4>>2]=1779033703;u=c+16|0;o[u>>2]=-2067093701;o[u+4>>2]=-1150833019;u=c+24|0;o[u>>2]=-23791573;o[u+4>>2]=1013904242;u=c+32|0;o[u>>2]=1595750129;o[u+4>>2]=-1521486534;u=c+40|0;o[u>>2]=-1377402159;o[u+4>>2]=1359893119;u=c+48|0;o[u>>2]=725511199;o[u+4>>2]=-1694144372;u=c+56|0;o[u>>2]=-79577749;o[u+4>>2]=528734635;u=c+64|0;o[u>>2]=327033209;o[u+4>>2]=1541459225;if(!e){u=1;h=l;return u|0}e:do{if(t|0){u=c+76|0;s=0;while(1){if(!((s|0)==0&t>>>0>127)){a=128-s|0;a=t>>>0>>0?t:a;if(a|0){i=0;do{r[i+s+(c+76)>>0]=r[e+i>>0]|0;i=i+1|0}while(i>>>0>>0)}s=s+a|0;o[f>>2]=s;e=e+a|0;t=t-a|0;if((s|0)==128){mi(c,u);s=c;s=ks(o[s>>2]|0,o[s+4>>2]|0,1024,0)|0;a=c;o[a>>2]=s;o[a+4>>2]=I;o[f>>2]=0}}else{mi(c,e);s=c;s=ks(o[s>>2]|0,o[s+4>>2]|0,1024,0)|0;a=c;o[a>>2]=s;o[a+4>>2]=I;t=t+-128|0;e=e+128|0}if(!t)break e;s=o[f>>2]|0}}}while(0);u=gi(c,n)|0;h=l;return u|0}function mi(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0;E=h;h=h+704|0;a=E+640|0;A=E;w=e+8|0;n=a;r=w;i=n+64|0;do{o[n>>2]=o[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(i|0));n=0;do{b=t+(n<<3)|0;d=Cs(s[b>>0]|0|0,0,56)|0;_=I;l=Cs(s[b+1>>0]|0|0,0,48)|0;_=I|_;p=Cs(s[b+2>>0]|0|0,0,40)|0;_=_|I|(s[b+3>>0]|0);m=Cs(s[b+4>>0]|0|0,0,24)|0;_=_|I;g=Cs(s[b+5>>0]|0|0,0,16)|0;_=_|I;y=Cs(s[b+6>>0]|0|0,0,8)|0;v=A+(n<<3)|0;o[v>>2]=l|d|p|m|g|y|(s[b+7>>0]|0);o[v+4>>2]=_|I;n=n+1|0}while((n|0)!=16);i=A;n=16;r=o[i>>2]|0;i=o[i+4>>2]|0;do{u=A+(n+-2<<3)|0;k=o[u>>2]|0;u=o[u+4>>2]|0;l=xs(k|0,u|0,19)|0;p=I;d=Cs(k|0,u|0,45)|0;p=p|I;c=xs(k|0,u|0,61)|0;t=I;f=Cs(k|0,u|0,3)|0;t=t|I;u=xs(k|0,u|0,6)|0;p=t^I^p;t=A+(n+-7<<3)|0;k=o[t>>2]|0;t=o[t+4>>2]|0;b=A+(n+-15<<3)|0;T=r;r=o[b>>2]|0;S=i;i=o[b+4>>2]|0;b=xs(r|0,i|0,1)|0;_=I;v=Cs(r|0,i|0,63)|0;_=_|I;m=xs(r|0,i|0,8)|0;R=I;g=Cs(r|0,i|0,56)|0;R=R|I;y=xs(r|0,i|0,7)|0;_=R^I^_;t=ks(T|0,S|0,k|0,t|0)|0;p=ks(t|0,I|0,(c|f)^u^(l|d)|0,p|0)|0;_=ks(p|0,I|0,(m|g)^y^(b|v)|0,_|0)|0;v=A+(n<<3)|0;o[v>>2]=_;o[v+4>>2]=I;n=n+1|0}while((n|0)!=80);l=a+56|0;i=a+32|0;c=a+48|0;f=a+40|0;p=a;g=a+8|0;b=a+16|0;v=a+24|0;n=0;r=o[i>>2]|0;i=o[i+4>>2]|0;t=o[c>>2]|0;a=o[f>>2]|0;c=o[c+4>>2]|0;f=o[f+4>>2]|0;u=o[l>>2]|0;l=o[l+4>>2]|0;d=o[p>>2]|0;p=o[p+4>>2]|0;m=o[g>>2]|0;g=o[g+4>>2]|0;y=o[b>>2]|0;b=o[b+4>>2]|0;_=o[v>>2]|0;v=o[v+4>>2]|0;do{S=xs(r|0,i|0,14)|0;Q=I;T=Cs(r|0,i|0,50)|0;Q=Q|I;Y=xs(r|0,i|0,18)|0;K=I;L=Cs(r|0,i|0,46)|0;K=Q^(K|I);Q=xs(r|0,i|0,41)|0;V=I;B=Cs(r|0,i|0,23)|0;V=K^(V|I);K=32064+(n<<3)|0;C=A+(n<<3)|0;N=o[C>>2]|0;C=o[C+4>>2]|0;K=ks(o[K>>2]|0,o[K+4>>2]|0,u|0,l|0)|0;V=ks(K|0,I|0,(S|T)^(Y|L)^(Q|B)|0,V|0)|0;C=ks(V|0,I|0,N|0,C|0)|0;C=ks(C|0,I|0,(a^t)&r^t|0,(f^c)&i^c|0)|0;N=I;V=xs(d|0,p|0,28)|0;B=I;Q=Cs(d|0,p|0,36)|0;B=B|I;L=xs(d|0,p|0,34)|0;Y=I;T=Cs(d|0,p|0,30)|0;Y=B^(Y|I);B=xs(d|0,p|0,39)|0;S=I;K=Cs(d|0,p|0,25)|0;S=Y^(S|I);Y=ks(_|0,v|0,C|0,N|0)|0;F=I;N=ks((m|d)&y|m&d|0,(g|p)&b|g&p|0,C|0,N|0)|0;S=ks(N|0,I|0,(V|Q)^(L|T)^(B|K)|0,S|0)|0;K=I;B=xs(Y|0,F|0,14)|0;T=I;L=Cs(Y|0,F|0,50)|0;T=T|I;Q=xs(Y|0,F|0,18)|0;V=I;N=Cs(Y|0,F|0,46)|0;V=T^(V|I);T=xs(Y|0,F|0,41)|0;C=I;R=Cs(Y|0,F|0,23)|0;C=V^(C|I);V=n|1;H=32064+(V<<3)|0;M=o[H>>2]|0;H=o[H+4>>2]|0;V=A+(V<<3)|0;j=o[V>>2]|0;V=o[V+4>>2]|0;P=ks(Y&(a^r)^a|0,F&(f^i)^f|0,t|0,c|0)|0;H=ks(P|0,I|0,M|0,H|0)|0;V=ks(H|0,I|0,j|0,V|0)|0;C=ks(V|0,I|0,(B|L)^(Q|N)^(T|R)|0,C|0)|0;R=I;T=xs(S|0,K|0,28)|0;N=I;Q=Cs(S|0,K|0,36)|0;N=N|I;L=xs(S|0,K|0,34)|0;B=I;V=Cs(S|0,K|0,30)|0;B=N^(B|I);N=xs(S|0,K|0,39)|0;j=I;H=Cs(S|0,K|0,25)|0;j=ks((T|Q)^(L|V)^(N|H)|0,B^(j|I)|0,(S|d)&m|S&d|0,(K|p)&g|K&p|0)|0;B=I;H=ks(C|0,R|0,y|0,b|0)|0;N=I;R=ks(j|0,B|0,C|0,R|0)|0;C=I;B=xs(H|0,N|0,14)|0;j=I;V=Cs(H|0,N|0,50)|0;j=j|I;L=xs(H|0,N|0,18)|0;Q=I;T=Cs(H|0,N|0,46)|0;Q=j^(Q|I);j=xs(H|0,N|0,41)|0;M=I;P=Cs(H|0,N|0,23)|0;M=Q^(M|I);Q=n|2;q=32064+(Q<<3)|0;Q=A+(Q<<3)|0;D=o[Q>>2]|0;Q=o[Q+4>>2]|0;q=ks(o[q>>2]|0,o[q+4>>2]|0,a|0,f|0)|0;Q=ks(q|0,I|0,D|0,Q|0)|0;Q=ks(Q|0,I|0,H&(Y^r)^r|0,N&(F^i)^i|0)|0;M=ks(Q|0,I|0,(B|V)^(L|T)^(j|P)|0,M|0)|0;P=I;j=xs(R|0,C|0,28)|0;T=I;L=Cs(R|0,C|0,36)|0;T=T|I;V=xs(R|0,C|0,34)|0;B=I;Q=Cs(R|0,C|0,30)|0;B=T^(B|I);T=xs(R|0,C|0,39)|0;D=I;q=Cs(R|0,C|0,25)|0;D=ks((j|L)^(V|Q)^(T|q)|0,B^(D|I)|0,(R|S)&d|R&S|0,(C|K)&p|C&K|0)|0;B=I;q=ks(M|0,P|0,m|0,g|0)|0;T=I;P=ks(D|0,B|0,M|0,P|0)|0;M=I;B=xs(q|0,T|0,14)|0;D=I;Q=Cs(q|0,T|0,50)|0;D=D|I;V=xs(q|0,T|0,18)|0;L=I;j=Cs(q|0,T|0,46)|0;L=D^(L|I);D=xs(q|0,T|0,41)|0;O=I;x=Cs(q|0,T|0,23)|0;O=L^(O|I);L=n|3;U=32064+(L<<3)|0;L=A+(L<<3)|0;W=o[L>>2]|0;L=o[L+4>>2]|0;U=ks(o[U>>2]|0,o[U+4>>2]|0,r|0,i|0)|0;L=ks(U|0,I|0,W|0,L|0)|0;L=ks(L|0,I|0,q&(H^Y)^Y|0,T&(N^F)^F|0)|0;O=ks(L|0,I|0,(B|Q)^(V|j)^(D|x)|0,O|0)|0;x=I;D=xs(P|0,M|0,28)|0;j=I;V=Cs(P|0,M|0,36)|0;j=j|I;Q=xs(P|0,M|0,34)|0;B=I;L=Cs(P|0,M|0,30)|0;B=j^(B|I);j=xs(P|0,M|0,39)|0;W=I;U=Cs(P|0,M|0,25)|0;W=ks((D|V)^(Q|L)^(j|U)|0,B^(W|I)|0,(P|R)&S|P&R|0,(M|C)&K|M&C|0)|0;B=I;U=ks(O|0,x|0,d|0,p|0)|0;j=I;x=ks(W|0,B|0,O|0,x|0)|0;O=I;B=xs(U|0,j|0,14)|0;W=I;L=Cs(U|0,j|0,50)|0;W=W|I;Q=xs(U|0,j|0,18)|0;V=I;D=Cs(U|0,j|0,46)|0;V=W^(V|I);W=xs(U|0,j|0,41)|0;G=I;k=Cs(U|0,j|0,23)|0;G=V^(G|I);V=n|4;X=32064+(V<<3)|0;V=A+(V<<3)|0;z=o[V>>2]|0;V=o[V+4>>2]|0;F=ks(o[X>>2]|0,o[X+4>>2]|0,Y|0,F|0)|0;V=ks(F|0,I|0,z|0,V|0)|0;V=ks(V|0,I|0,U&(q^H)^H|0,j&(T^N)^N|0)|0;G=ks(V|0,I|0,(B|L)^(Q|D)^(W|k)|0,G|0)|0;k=I;W=xs(x|0,O|0,28)|0;D=I;Q=Cs(x|0,O|0,36)|0;D=D|I;L=xs(x|0,O|0,34)|0;B=I;V=Cs(x|0,O|0,30)|0;B=D^(B|I);D=xs(x|0,O|0,39)|0;z=I;F=Cs(x|0,O|0,25)|0;z=ks((W|Q)^(L|V)^(D|F)|0,B^(z|I)|0,(x|P)&R|x&P|0,(O|M)&C|O&M|0)|0;B=I;u=ks(G|0,k|0,S|0,K|0)|0;l=I;_=ks(z|0,B|0,G|0,k|0)|0;v=I;k=xs(u|0,l|0,14)|0;G=I;B=Cs(u|0,l|0,50)|0;G=G|I;z=xs(u|0,l|0,18)|0;K=I;S=Cs(u|0,l|0,46)|0;K=G^(K|I);G=xs(u|0,l|0,41)|0;F=I;D=Cs(u|0,l|0,23)|0;F=K^(F|I);K=n|5;V=32064+(K<<3)|0;K=A+(K<<3)|0;L=o[K>>2]|0;K=o[K+4>>2]|0;N=ks(o[V>>2]|0,o[V+4>>2]|0,H|0,N|0)|0;K=ks(N|0,I|0,L|0,K|0)|0;K=ks(K|0,I|0,u&(U^q)^q|0,l&(j^T)^T|0)|0;F=ks(K|0,I|0,(k|B)^(z|S)^(G|D)|0,F|0)|0;D=I;G=xs(_|0,v|0,28)|0;S=I;z=Cs(_|0,v|0,36)|0;S=S|I;B=xs(_|0,v|0,34)|0;k=I;K=Cs(_|0,v|0,30)|0;k=S^(k|I);S=xs(_|0,v|0,39)|0;L=I;N=Cs(_|0,v|0,25)|0;L=ks((G|z)^(B|K)^(S|N)|0,k^(L|I)|0,(_|x)&P|_&x|0,(v|O)&M|v&O|0)|0;k=I;t=ks(F|0,D|0,R|0,C|0)|0;c=I;y=ks(L|0,k|0,F|0,D|0)|0;b=I;D=xs(t|0,c|0,14)|0;F=I;k=Cs(t|0,c|0,50)|0;F=F|I;L=xs(t|0,c|0,18)|0;C=I;R=Cs(t|0,c|0,46)|0;C=F^(C|I);F=xs(t|0,c|0,41)|0;N=I;S=Cs(t|0,c|0,23)|0;N=C^(N|I);C=n|6;K=32064+(C<<3)|0;C=A+(C<<3)|0;B=o[C>>2]|0;C=o[C+4>>2]|0;T=ks(o[K>>2]|0,o[K+4>>2]|0,q|0,T|0)|0;C=ks(T|0,I|0,B|0,C|0)|0;C=ks(C|0,I|0,t&(u^U)^U|0,c&(l^j)^j|0)|0;N=ks(C|0,I|0,(D|k)^(L|R)^(F|S)|0,N|0)|0;S=I;F=xs(y|0,b|0,28)|0;R=I;L=Cs(y|0,b|0,36)|0;R=R|I;k=xs(y|0,b|0,34)|0;D=I;C=Cs(y|0,b|0,30)|0;D=R^(D|I);R=xs(y|0,b|0,39)|0;B=I;T=Cs(y|0,b|0,25)|0;B=ks((F|L)^(k|C)^(R|T)|0,D^(B|I)|0,(y|_)&x|y&_|0,(b|v)&O|b&v|0)|0;D=I;a=ks(N|0,S|0,P|0,M|0)|0;f=I;m=ks(B|0,D|0,N|0,S|0)|0;g=I;S=xs(a|0,f|0,14)|0;N=I;D=Cs(a|0,f|0,50)|0;N=N|I;B=xs(a|0,f|0,18)|0;M=I;P=Cs(a|0,f|0,46)|0;M=N^(M|I);N=xs(a|0,f|0,41)|0;T=I;R=Cs(a|0,f|0,23)|0;T=M^(T|I);M=n|7;C=32064+(M<<3)|0;M=A+(M<<3)|0;k=o[M>>2]|0;M=o[M+4>>2]|0;C=ks(U|0,j|0,o[C>>2]|0,o[C+4>>2]|0)|0;M=ks(C|0,I|0,k|0,M|0)|0;M=ks(M|0,I|0,a&(t^u)^u|0,f&(c^l)^l|0)|0;T=ks(M|0,I|0,(S|D)^(B|P)^(N|R)|0,T|0)|0;R=I;N=xs(m|0,g|0,28)|0;P=I;B=Cs(m|0,g|0,36)|0;P=P|I;D=xs(m|0,g|0,34)|0;S=I;M=Cs(m|0,g|0,30)|0;S=P^(S|I);P=xs(m|0,g|0,39)|0;k=I;C=Cs(m|0,g|0,25)|0;k=ks((N|B)^(D|M)^(P|C)|0,S^(k|I)|0,(m|y)&_|m&y|0,(g|b)&v|g&b|0)|0;S=I;r=ks(T|0,R|0,x|0,O|0)|0;i=I;d=ks(k|0,S|0,T|0,R|0)|0;p=I;n=n+8|0}while(n>>>0<80);Y=w;Y=ks(d|0,p|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;X=w;o[X>>2]=Y;o[X+4>>2]=I;X=e+16|0;Y=X;Y=ks(m|0,g|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+24|0;Y=X;Y=ks(y|0,b|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+32|0;Y=X;Y=ks(_|0,v|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+40|0;Y=X;Y=ks(r|0,i|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+48|0;Y=X;Y=ks(a|0,f|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+56|0;Y=X;Y=ks(t|0,c|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+64|0;Y=X;Y=ks(u|0,l|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;h=E;return}function gi(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,a=0;if((e|0)==0|(t|0)==0){s=1;return s|0}s=e+72|0;n=o[s>>2]|0;if(n>>>0>127){s=1;return s|0}a=Cs(n|0,0,3)|0;i=e;a=ks(o[i>>2]|0,o[i+4>>2]|0,a|0,I|0)|0;i=e;o[i>>2]=a;o[i+4>>2]=I;i=e+76|0;o[s>>2]=n+1;r[e+76+n>>0]=-128;n=o[s>>2]|0;if(n>>>0>112){if(n>>>0<128)do{o[s>>2]=n+1;r[e+76+n>>0]=0;n=o[s>>2]|0}while(n>>>0<128);mi(e,i);o[s>>2]=0;n=0}do{o[s>>2]=n+1;r[e+76+n>>0]=0;n=o[s>>2]|0}while(n>>>0<120);s=e;a=o[s>>2]|0;s=o[s+4>>2]|0;n=xs(a|0,s|0,56)|0;r[e+196>>0]=n;n=xs(a|0,s|0,48)|0;r[e+197>>0]=n;n=xs(a|0,s|0,40)|0;r[e+198>>0]=n;r[e+199>>0]=s;n=xs(a|0,s|0,24)|0;r[e+200>>0]=n;n=xs(a|0,s|0,16)|0;r[e+201>>0]=n;s=xs(a|0,s|0,8)|0;r[e+202>>0]=s;r[e+203>>0]=a;mi(e,i);a=e+8|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+1>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+2>>0]=s;r[t+3>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+4>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+5>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+6>>0]=s;r[t+7>>0]=o[a>>2];a=e+16|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+8>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+9>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+10>>0]=s;r[t+11>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+12>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+13>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+14>>0]=s;r[t+15>>0]=o[a>>2];a=e+24|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+16>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+17>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+18>>0]=s;r[t+19>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+20>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+21>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+22>>0]=s;r[t+23>>0]=o[a>>2];a=e+32|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+24>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+25>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+26>>0]=s;r[t+27>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+28>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+29>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+30>>0]=s;r[t+31>>0]=o[a>>2];a=e+40|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+32>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+33>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+34>>0]=s;r[t+35>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+36>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+37>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+38>>0]=s;r[t+39>>0]=o[a>>2];a=e+48|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+40>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+41>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+42>>0]=s;r[t+43>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+44>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+45>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+46>>0]=s;r[t+47>>0]=o[a>>2];a=e+56|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+48>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+49>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+50>>0]=s;r[t+51>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+52>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+53>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+54>>0]=s;r[t+55>>0]=o[a>>2];a=e+64|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+56>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+57>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+58>>0]=s;r[t+59>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+60>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+61>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+62>>0]=s;r[t+63>>0]=o[a>>2];a=0;return a|0}function yi(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0;k=h;h=h+768|0;y=k+240|0;b=k+192|0;_=k+144|0;A=k+96|0;w=k+32|0;E=k;d=k+272|0;p=k+600|0;m=k+480|0;if((s[e+63>>0]|0)>31){E=0;h=k;return E|0}if(ui(p,i)|0){E=0;h=k;return E|0}g=d+72|0;o[g>>2]=0;v=d;o[v>>2]=0;o[v+4>>2]=0;v=d+8|0;o[v>>2]=-205731576;o[v+4>>2]=1779033703;v=d+16|0;o[v>>2]=-2067093701;o[v+4>>2]=-1150833019;v=d+24|0;o[v>>2]=-23791573;o[v+4>>2]=1013904242;v=d+32|0;o[v>>2]=1595750129;o[v+4>>2]=-1521486534;v=d+40|0;o[v>>2]=-1377402159;o[v+4>>2]=1359893119;v=d+48|0;o[v>>2]=725511199;o[v+4>>2]=-1694144372;v=d+56|0;o[v>>2]=-79577749;o[v+4>>2]=528734635;v=d+64|0;o[v>>2]=327033209;o[v+4>>2]=1541459225;v=d+76|0;r[d+76>>0]=r[e>>0]|0;r[d+77>>0]=r[e+1>>0]|0;r[d+78>>0]=r[e+2>>0]|0;r[d+79>>0]=r[e+3>>0]|0;r[d+80>>0]=r[e+4>>0]|0;r[d+81>>0]=r[e+5>>0]|0;r[d+82>>0]=r[e+6>>0]|0;r[d+83>>0]=r[e+7>>0]|0;r[d+84>>0]=r[e+8>>0]|0;r[d+85>>0]=r[e+9>>0]|0;r[d+86>>0]=r[e+10>>0]|0;r[d+87>>0]=r[e+11>>0]|0;r[d+88>>0]=r[e+12>>0]|0;r[d+89>>0]=r[e+13>>0]|0;r[d+90>>0]=r[e+14>>0]|0;r[d+91>>0]=r[e+15>>0]|0;r[d+92>>0]=r[e+16>>0]|0;r[d+93>>0]=r[e+17>>0]|0;r[d+94>>0]=r[e+18>>0]|0;r[d+95>>0]=r[e+19>>0]|0;r[d+96>>0]=r[e+20>>0]|0;r[d+97>>0]=r[e+21>>0]|0;r[d+98>>0]=r[e+22>>0]|0;r[d+99>>0]=r[e+23>>0]|0;r[d+100>>0]=r[e+24>>0]|0;r[d+101>>0]=r[e+25>>0]|0;r[d+102>>0]=r[e+26>>0]|0;r[d+103>>0]=r[e+27>>0]|0;r[d+104>>0]=r[e+28>>0]|0;r[d+105>>0]=r[e+29>>0]|0;r[d+106>>0]=r[e+30>>0]|0;r[d+107>>0]=r[e+31>>0]|0;o[g>>2]=32;e:do{if(i|0?(f=o[g>>2]|0,f>>>0<=128):0){a=32;while(1){if(!((f|0)==0&a>>>0>127)){l=128-f|0;l=a>>>0>>0?a:l;if(l|0){u=0;do{r[u+f+(d+76)>>0]=r[i+u>>0]|0;u=u+1|0}while(u>>>0>>0)}u=f+l|0;o[g>>2]=u;i=i+l|0;a=a-l|0;if((u|0)==128){mi(d,v);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;o[g>>2]=0}}else{mi(d,i);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;a=a+-128|0;i=i+128|0}if(!a)break e;f=o[g>>2]|0}}}while(0);e:do{if(t|0?(c=o[g>>2]|0,!((n|0)==0|c>>>0>128)):0)while(1){if(!((c|0)==0&n>>>0>127)){i=128-c|0;i=n>>>0>>0?n:i;if(i|0){a=0;do{r[a+c+(d+76)>>0]=r[t+a>>0]|0;a=a+1|0}while(a>>>0>>0)}l=c+i|0;o[g>>2]=l;t=t+i|0;n=n-i|0;if((l|0)==128){mi(d,v);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;o[g>>2]=0}}else{mi(d,t);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;n=n+-128|0;t=t+128|0}if(!n)break e;c=o[g>>2]|0}}while(0);gi(d,w)|0;ei(w);ri(m,w,p,e+32|0);Wr(b,m+80|0);Xr(_,m,b);Xr(A,m+40|0,b);Jr(E,A);Jr(y,_);A=E+31|0;w=r[A>>0]^r[y>>0]<<7&255;r[A>>0]=w;E=(r[e+1>>0]^r[E+1>>0]|r[e>>0]^r[E>>0]|r[e+2>>0]^r[E+2>>0]|r[e+3>>0]^r[E+3>>0]|r[e+4>>0]^r[E+4>>0]|r[e+5>>0]^r[E+5>>0]|r[e+6>>0]^r[E+6>>0]|r[e+7>>0]^r[E+7>>0]|r[e+8>>0]^r[E+8>>0]|r[e+9>>0]^r[E+9>>0]|r[e+10>>0]^r[E+10>>0]|r[e+11>>0]^r[E+11>>0]|r[e+12>>0]^r[E+12>>0]|r[e+13>>0]^r[E+13>>0]|r[e+14>>0]^r[E+14>>0]|r[e+15>>0]^r[E+15>>0]|r[e+16>>0]^r[E+16>>0]|r[e+17>>0]^r[E+17>>0]|r[e+18>>0]^r[E+18>>0]|r[e+19>>0]^r[E+19>>0]|r[e+20>>0]^r[E+20>>0]|r[e+21>>0]^r[E+21>>0]|r[e+22>>0]^r[E+22>>0]|r[e+23>>0]^r[E+23>>0]|r[e+24>>0]^r[E+24>>0]|r[e+25>>0]^r[E+25>>0]|r[e+26>>0]^r[E+26>>0]|r[e+27>>0]^r[E+27>>0]|r[e+28>>0]^r[E+28>>0]|r[e+29>>0]^r[E+29>>0]|r[e+30>>0]^r[E+30>>0]|r[e+31>>0]^w)<<24>>24==0&1;h=k;return E|0}function bi(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0;D=h;h=h+672|0;w=D+272|0;k=D+224|0;S=D+176|0;T=D+128|0;M=D+304|0;O=D+64|0;x=D;p=D+512|0;C=M+72|0;o[C>>2]=0;m=M;o[m>>2]=0;o[m+4>>2]=0;m=M+8|0;g=m;o[g>>2]=-205731576;o[g+4>>2]=1779033703;g=M+16|0;y=g;o[y>>2]=-2067093701;o[y+4>>2]=-1150833019;y=M+24|0;b=y;o[b>>2]=-23791573;o[b+4>>2]=1013904242;b=M+32|0;_=b;o[_>>2]=1595750129;o[_+4>>2]=-1521486534;_=M+40|0;v=_;o[v>>2]=-1377402159;o[v+4>>2]=1359893119;v=M+48|0;A=v;o[A>>2]=725511199;o[A+4>>2]=-1694144372;A=M+56|0;E=A;o[E>>2]=-79577749;o[E+4>>2]=528734635;E=M+64|0;P=E;o[P>>2]=327033209;o[P+4>>2]=1541459225;P=M+76|0;r[M+76>>0]=r[s+32>>0]|0;r[M+77>>0]=r[s+33>>0]|0;r[M+78>>0]=r[s+34>>0]|0;r[M+79>>0]=r[s+35>>0]|0;r[M+80>>0]=r[s+36>>0]|0;r[M+81>>0]=r[s+37>>0]|0;r[M+82>>0]=r[s+38>>0]|0;r[M+83>>0]=r[s+39>>0]|0;r[M+84>>0]=r[s+40>>0]|0;r[M+85>>0]=r[s+41>>0]|0;r[M+86>>0]=r[s+42>>0]|0;r[M+87>>0]=r[s+43>>0]|0;r[M+88>>0]=r[s+44>>0]|0;r[M+89>>0]=r[s+45>>0]|0;r[M+90>>0]=r[s+46>>0]|0;r[M+91>>0]=r[s+47>>0]|0;r[M+92>>0]=r[s+48>>0]|0;r[M+93>>0]=r[s+49>>0]|0;r[M+94>>0]=r[s+50>>0]|0;r[M+95>>0]=r[s+51>>0]|0;r[M+96>>0]=r[s+52>>0]|0;r[M+97>>0]=r[s+53>>0]|0;r[M+98>>0]=r[s+54>>0]|0;r[M+99>>0]=r[s+55>>0]|0;r[M+100>>0]=r[s+56>>0]|0;r[M+101>>0]=r[s+57>>0]|0;r[M+102>>0]=r[s+58>>0]|0;r[M+103>>0]=r[s+59>>0]|0;r[M+104>>0]=r[s+60>>0]|0;r[M+105>>0]=r[s+61>>0]|0;r[M+106>>0]=r[s+62>>0]|0;r[M+107>>0]=r[s+63>>0]|0;o[C>>2]=32;R=(t|0)==0;e:do{if(!R?(u=o[C>>2]|0,!((n|0)==0|u>>>0>128)):0){a=n;c=t;while(1){if(!((u|0)==0&a>>>0>127)){d=128-u|0;d=a>>>0>>0?a:d;if(d|0){l=0;do{r[l+u+(M+76)>>0]=r[c+l>>0]|0;l=l+1|0}while(l>>>0>>0)}l=u+d|0;o[C>>2]=l;c=c+d|0;a=a-d|0;if((l|0)==128){mi(M,P);l=M;l=ks(o[l>>2]|0,o[l+4>>2]|0,1024,0)|0;d=M;o[d>>2]=l;o[d+4>>2]=I;o[C>>2]=0}}else{mi(M,c);l=M;l=ks(o[l>>2]|0,o[l+4>>2]|0,1024,0)|0;d=M;o[d>>2]=l;o[d+4>>2]=I;a=a+-128|0;c=c+128|0}if(!a)break e;u=o[C>>2]|0}}}while(0);gi(M,x)|0;ei(x);li(p,x);Wr(k,p+80|0);Xr(S,p,k);Xr(T,p+40|0,k);Jr(e,T);Jr(w,S);T=e+31|0;r[T>>0]=r[T>>0]^r[w>>0]<<7&255;o[C>>2]=0;T=M;o[T>>2]=0;o[T+4>>2]=0;T=m;o[T>>2]=-205731576;o[T+4>>2]=1779033703;T=g;o[T>>2]=-2067093701;o[T+4>>2]=-1150833019;T=y;o[T>>2]=-23791573;o[T+4>>2]=1013904242;T=b;o[T>>2]=1595750129;o[T+4>>2]=-1521486534;T=_;o[T>>2]=-1377402159;o[T+4>>2]=1359893119;T=v;o[T>>2]=725511199;o[T+4>>2]=-1694144372;T=A;o[T>>2]=-79577749;o[T+4>>2]=528734635;T=E;o[T>>2]=327033209;o[T+4>>2]=1541459225;if(e|0){r[M+76>>0]=r[e>>0]|0;r[M+77>>0]=r[e+1>>0]|0;r[M+78>>0]=r[e+2>>0]|0;r[M+79>>0]=r[e+3>>0]|0;r[M+80>>0]=r[e+4>>0]|0;r[M+81>>0]=r[e+5>>0]|0;r[M+82>>0]=r[e+6>>0]|0;r[M+83>>0]=r[e+7>>0]|0;r[M+84>>0]=r[e+8>>0]|0;r[M+85>>0]=r[e+9>>0]|0;r[M+86>>0]=r[e+10>>0]|0;r[M+87>>0]=r[e+11>>0]|0;r[M+88>>0]=r[e+12>>0]|0;r[M+89>>0]=r[e+13>>0]|0;r[M+90>>0]=r[e+14>>0]|0;r[M+91>>0]=r[e+15>>0]|0;r[M+92>>0]=r[e+16>>0]|0;r[M+93>>0]=r[e+17>>0]|0;r[M+94>>0]=r[e+18>>0]|0;r[M+95>>0]=r[e+19>>0]|0;r[M+96>>0]=r[e+20>>0]|0;r[M+97>>0]=r[e+21>>0]|0;r[M+98>>0]=r[e+22>>0]|0;r[M+99>>0]=r[e+23>>0]|0;r[M+100>>0]=r[e+24>>0]|0;r[M+101>>0]=r[e+25>>0]|0;r[M+102>>0]=r[e+26>>0]|0;r[M+103>>0]=r[e+27>>0]|0;r[M+104>>0]=r[e+28>>0]|0;r[M+105>>0]=r[e+29>>0]|0;r[M+106>>0]=r[e+30>>0]|0;r[M+107>>0]=r[e+31>>0]|0;o[C>>2]=32}e:do{if(i|0?(f=o[C>>2]|0,f>>>0<=128):0){a=32;while(1){if(!((f|0)==0&a>>>0>127)){u=128-f|0;u=a>>>0>>0?a:u;if(u|0){c=0;do{r[c+f+(M+76)>>0]=r[i+c>>0]|0;c=c+1|0}while(c>>>0>>0)}T=f+u|0;o[C>>2]=T;i=i+u|0;a=a-u|0;if((T|0)==128){mi(M,P);S=M;S=ks(o[S>>2]|0,o[S+4>>2]|0,1024,0)|0;T=M;o[T>>2]=S;o[T+4>>2]=I;o[C>>2]=0}}else{mi(M,i);S=M;S=ks(o[S>>2]|0,o[S+4>>2]|0,1024,0)|0;T=M;o[T>>2]=S;o[T+4>>2]=I;a=a+-128|0;i=i+128|0}if(!a)break e;f=o[C>>2]|0}}}while(0);if(R){gi(M,O)|0;ei(O);M=e+32|0;ti(M,O,s,x);h=D;return}a=o[C>>2]|0;if((n|0)==0|a>>>0>128){gi(M,O)|0;ei(O);M=e+32|0;ti(M,O,s,x);h=D;return}i=a;while(1){if(!((i|0)==0&n>>>0>127)){c=128-i|0;c=n>>>0>>0?n:c;if(c|0){a=0;do{r[a+i+(M+76)>>0]=r[t+a>>0]|0;a=a+1|0}while(a>>>0>>0)}R=i+c|0;o[C>>2]=R;t=t+c|0;n=n-c|0;if((R|0)==128){mi(M,P);T=M;T=ks(o[T>>2]|0,o[T+4>>2]|0,1024,0)|0;R=M;o[R>>2]=T;o[R+4>>2]=I;o[C>>2]=0}}else{mi(M,t);T=M;T=ks(o[T>>2]|0,o[T+4>>2]|0,1024,0)|0;R=M;o[R>>2]=T;o[R+4>>2]=I;n=n+-128|0;t=t+128|0}if(!n)break;i=o[C>>2]|0}gi(M,O)|0;ei(O);M=e+32|0;ti(M,O,s,x);h=D;return}function _i(e,t,n){e=e|0;t=t|0;n=n|0;o[e+128>>2]=n;n=t;t=e+128|0;do{r[e>>0]=r[n>>0]|0;e=e+1|0;n=n+1|0}while((e|0)<(t|0));return}function vi(e){e=e|0;return 132}function Ai(e,t){e=e|0;t=t|0;t=Fe(t,e,128)|0;return Ne(t,o[e+128>>2]|0)|0}function wi(e,t,n){e=e|0;t=t|0;n=n|0;return je(qe(t,n,e,128)|0,n,e+128|0)|0}function Ei(e){e=e|0;var t=0,n=0,r=0,i=0;r=e+128|0;i=(o[r>>2]|0)+1|0;o[r>>2]=i;if(i&16777215){n=0;r=16777215;while(1){t=n+1|0;r=r>>>8;if(n>>>0>2|(r&i|0)==0)break;else n=t}if(n>>>0>2)return}else t=0;r=e+(t<<5)|0;n=3;while(1){Et(r,32,38116+n|0,1,e+(n<<5)|0);if((n|0)>(t|0))n=n+-1|0;else break}return}function ki(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0;s=e+128|0;n=o[s>>2]|0;r=(t>>>24)-(n>>>24)|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=3}break}case 1:{i=5;break}default:{n=r&255;i=3}}if((i|0)==3){do{Et(e,32,38116,1,e);n=n+-1|0}while(n>>>0>1);i=5}if((i|0)==5){Et(e,32,38119,1,e+96|0);Et(e,32,38118,1,e+64|0);Et(e,32,38117,1,e+32|0);Et(e,32,38116,1,e);n=t&-16777216;o[s>>2]=n}r=(t>>>16)-(n>>>16)|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=8}break}case 1:{i=10;break}default:{n=r&255;i=8}}if((i|0)==8){r=e+32|0;do{Et(r,32,38117,1,r);n=n+-1|0}while(n>>>0>1);i=10}if((i|0)==10){n=e+32|0;Et(n,32,38119,1,e+96|0);Et(n,32,38118,1,e+64|0);Et(n,32,38117,1,e+32|0);n=t&-65536;o[s>>2]=n}r=(t>>>8)-(n>>>8)|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=13}break}case 1:{i=15;break}default:{n=r&255;i=13}}if((i|0)==13){r=e+64|0;do{Et(r,32,38118,1,r);n=n+-1|0}while(n>>>0>1);i=15}if((i|0)==15){n=e+64|0;Et(n,32,38119,1,e+96|0);Et(n,32,38118,1,e+64|0);n=t&-256;o[s>>2]=n}r=t-n|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=18}else return;break}case 1:break;default:{n=r&255;i=18}}if((i|0)==18){r=e+96|0;do{Et(r,32,38119,1,r);n=n+-1|0}while(n>>>0>1)}Et(e+96|0,32,38119,1,e+96|0);o[s>>2]=t;return}function Si(e){e=e|0;if(e>>>0>=16){e=38120;return e|0}e=o[32704+(e<<2)>>2]|0;return e|0}function Ii(e){e=e|0;e=Hs[o[37564>>2]&3](37592,e)|0;return pe((Gs[o[9390]&1](37592)|0)+e|0)|0}function Ti(e,t){e=e|0;t=t|0;t=Hs[o[37564>>2]&3](37592,t)|0;t=(Gs[o[9390]&1](37592)|0)+t|0;return e+(pe(t)|0)+(0-t)|0}function Ri(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,c=0;c=Hs[o[37564>>2]&3](37592,r)|0;s=(Gs[o[9390]&1](37592)|0)+c|0;i=pe(s)|0;a=n+i+(0-s)|0;Qs[o[37568>>2]&3](37592,e,t,a,r,a,c,a,s)|0;me(a,s,n)|0;return i|0}function Oi(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=ge(r)|0;if((s|0)==-1){if(!i){i=-1;return i|0}o[i>>2]=7;i=-1;return i|0}else{ye(n,r,n)|0;r=s-(Gs[o[9390]&1](37592)|0)|0;e=Qs[o[37576>>2]&3](37592,e,t,n,s,n,r,n,r)|0;if(!((i|0)!=0&(e|0)==-1)){i=e;return i|0}o[i>>2]=8;i=-1;return i|0}return 0}function xi(){return 304}function Ci(e){e=e|0;Gr(e,304);return e|0}function Pi(e){e=e|0;Gr(e,304);return 304}function Mi(e){e=e|0;return Si(o[e+300>>2]|0)|0}function Di(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,c=0,f=0;f=h;h=h+240|0;c=f;switch(ge(n)|0){case-1:{o[e+300>>2]=7;c=-1;h=f;return c|0}case 229:{ye(t,n,c)|0;do{if((r[c>>0]|0)==2){t=((s[c+1>>0]<<8|s[c+2>>0])<<8|s[c+3>>0])<<8|s[c+4>>0];n=c+5|0;_i(e,n,t);_i(e+132|0,n,t);t=e+264|0;n=t;i=c+133|0;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));if(!(bt(t,c,165,c+165|0)|0)){o[e+300>>2]=14;t=-1;break}else{o[e+296>>2]=1;t=0;break}}else{o[e+300>>2]=11;t=-1}}while(0);Gr(c,229);c=t;h=f;return c|0}default:{o[e+300>>2]=11;c=-1;h=f;return c|0}}return 0}function Bi(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0;a=h;h=h+176|0;i=a;switch(ge(n)|0){case-1:{o[e+300>>2]=7;i=-1;h=a;return i|0}case 165:{ye(t,n,i)|0;if((r[i>>0]|0)==1){t=((s[i+1>>0]<<8|s[i+2>>0])<<8|s[i+3>>0])<<8|s[i+4>>0];n=i+5|0;_i(e,n,t);_i(e+132|0,n,t);e=e+264|0;t=i+133|0;n=e+32|0;do{r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0}while((e|0)<(n|0));e=0}else{o[e+300>>2]=11;e=-1}Gr(i,165);i=e;h=a;return i|0}default:{o[e+300>>2]=11;i=-1;h=a;return i|0}}return 0}function Ni(e){e=e|0;var t=0,n=0;n=vi(e)|0;t=vi(e+132|0)|0;return Ii(n+5+t+(xe(e+264|0)|0)|0)|0}function ji(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0;f=vi(e)|0;a=e+132|0;s=vi(a)|0;c=e+264|0;s=f+5+s+(xe(c)|0)|0;if((Ii(s)|0)>>>0>i>>>0){o[e+300>>2]=2;f=-1;return f|0}else{f=Ce(Ai(a,Ai(e,Ne(Ti(r,s)|0,2)|0)|0)|0,c)|0;Ue(f,o[e+296>>2]|0)|0;f=Ri(t,n,r,s)|0;return f|0}return 0}function Ui(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0;f=h;h=h+16|0;a=f;c=e+300|0;t=Oi(t,n,r,i,c)|0;if((t|0)==-1){c=-1;h=f;return c|0}s=r+t|0;t=je(r,s,a)|0;if(((o[a>>2]|0)+-1|0)>>>0>1){o[c>>2]=9;c=-1;h=f;return c|0}t=Pe(wi(e+132|0,wi(e,t,s)|0,s)|0,s,e+264|0)|0;n=e+296|0;if((o[a>>2]|0)==1)o[n>>2]=1;else t=Le(t,s,n)|0;if((s|0)==(t|0)){c=i;h=f;return c|0}o[c>>2]=10;c=-1;h=f;return c|0}function Li(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0;s=h;h=h+32|0;i=s;n=ye(t,n,t)|0;if((n|0)==-1){o[e+300>>2]=7;i=-1;h=s;return i|0}Xe(t,n,Gs[o[o[9395]>>2]&1](37580)|0,64,i);do{if((r[i>>0]|0)==3)if(!(o[i+12>>2]|0)){o[e+300>>2]=4;n=-1;break}else{n=Hs[o[(o[9395]|0)+12>>2]&3](37580,o[i+16>>2]|0)|0;break}else{o[e+300>>2]=3;n=-1}}while(0);i=n;h=s;return i|0}function Fi(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var c=0,f=0,u=0,l=0,d=0,p=0;p=h;h=h+160|0;u=p+132|0;d=p;n=ye(t,n,t)|0;if((n|0)==-1){o[e+300>>2]=7;d=-1;h=p;return d|0}Xe(t,n,Gs[o[o[9395]>>2]&1](37580)|0,64,u);e:do{if((r[u>>0]|0)==3){if(o[u+8>>2]|0?(l=u+12|0,o[l>>2]|0):0){if(a|0)o[a>>2]=o[u+4>>2];c=n+-64|0;if(!(bt(e+264|0,t,c,t+c|0)|0)){o[e+300>>2]=14;n=-1;break}f=u+16|0;if((Hs[o[(o[9395]|0)+12>>2]&3](37580,o[f>>2]|0)|0)>>>0>s>>>0){o[e+300>>2]=2;n=-1;break}n=o[u+4>>2]|0;a=e+132|0;do{if((n-(o[e+260>>2]|0)|0)<=-1)if((n-(o[e+128>>2]|0)|0)<0){o[e+300>>2]=12;n=-1;break e}else{Ms(d|0,e|0,132)|0;ki(d,n);break}else{ki(a,n);Ms(d|0,a|0,132)|0}}while(0);n=Qs[o[(o[9395]|0)+16>>2]&3](37580,d,128,t,c,o[l>>2]|0,o[f>>2]|0,i,s)|0;Gr(d,132);if((n|0)==-1){o[e+300>>2]=5;n=-1;break}else{o[e+296>>2]=1;break}}o[e+300>>2]=4;n=-1}else{o[e+300>>2]=3;n=-1}}while(0);d=n;h=p;return d|0}function qi(e){e=e|0;return pe(32)|0}function Ki(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e+300>>2]=2;n=-1;return n|0}else{n=me(e+264|0,32,t)|0;return n|0}return 0}function zi(e){e=e|0;return o[e+128>>2]|0}function Gi(e){e=e|0;return o[e+296>>2]|0}function Hi(e){e=e|0;return pe(165)|0}function Vi(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0;u=h;h=h+144|0;f=u;s=pe(165)|0;if(s>>>0>n>>>0){o[e+300>>2]=2;t=-1;h=u;return t|0}n=e+132|0;do{if((i-(o[e+260>>2]|0)|0)>-1){ki(n,i);Ms(f|0,n|0,132)|0}else{if((i-(o[e+128>>2]|0)|0)>=0){Ms(f|0,e|0,132)|0;ki(f,i);break}o[e+300>>2]=12;t=-1;h=u;return t|0}}while(0);c=t+s+-165|0;r[c>>0]=1;a=c+1|0;r[a>>0]=i>>>24;a=a+1|0;r[a>>0]=i>>>16;a=a+1|0;r[a>>0]=i>>>8;r[a+1>>0]=i;a=t+(s+-161)|0;s=t+(s+-160)|0;n=f;i=s+128|0;do{r[s>>0]=r[n>>0]|0;s=s+1|0;n=n+1|0}while((s|0)<(i|0));s=a+129|0;n=e+264|0;i=s+32|0;do{r[s>>0]=r[n>>0]|0;s=s+1|0;n=n+1|0}while((s|0)<(i|0));t=me(c,165,t)|0;h=u;return t|0}function Qi(e){e=e|0;return Si(o[e>>2]|0)|0}function Wi(){return 100}function Yi(e){e=e|0;Gr(e,100);return e|0}function Xi(e){e=e|0;Gr(e,100);return 100}function Ji(e){e=e|0;return 32}function Zi(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<32){o[e>>2]=1;n=-1;return n|0}else{pt(t,e+4|0);n=0;return n|0}return 0}function $i(e){e=e|0;return pe(32)|0}function eo(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e>>2]=2;n=-1;return n|0}else{me(e+4|0,32,t)|0;n=0;return n|0}return 0}function to(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e>>2]=15;n=-1;return n|0}else{ye(t,n,t)|0;mt(e+4|0,t,e+68|0);n=0;return n|0}return 0}function no(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;It(e+68|0,32,0,0,t,n,r,i);return 0}function ro(e){e=e|0;return pe(32)|0}function io(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;f=h;h=h+32|0;c=f;if((pe(32)|0)>>>0>a>>>0){o[e>>2]=2;c=-1;h=f;return c|0}else{It(e+68|0,32,0,0,r,i,c,32);Et(c,32,t,n,s);me(s,32,s)|0;c=0;h=f;return c|0}return 0}function oo(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;f=h;h=h+256|0;c=f;if((pe(32)|0)>>>0>a>>>0){o[e>>2]=2;c=-1;h=f;return c|0}else{It(e+68|0,32,0,0,r,i,c,256);Et(c,256,t,n,s);me(s,32,s)|0;c=0;h=f;return c|0}return 0}function so(){return 232}function ao(e){e=e|0;Gr(e,232);return e|0}function co(e){e=e|0;Gr(e,232);return 232}function fo(e){e=e|0;return Si(o[e+228>>2]|0)|0}function uo(e){e=e|0;var t=0;t=(vi(e)|0)+4|0;return Ii(t+(Me(e+132|0)|0)|0)|0}function lo(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;a=(vi(e)|0)+4|0;s=e+132|0;a=a+(Me(s)|0)|0;if((Ii(a)|0)>>>0>i>>>0){o[e+228>>2]=2;a=-1;return a|0}else{De(Ai(e,Ne(Ti(r,a)|0,1)|0)|0,s)|0;a=Ri(t,n,r,a)|0;return a|0}return 0}function ho(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0;c=h;h=h+16|0;s=c;a=e+228|0;t=Oi(t,n,r,i,a)|0;do{if((t|0)!=-1){n=r+t|0;t=je(r,n,s)|0;if((o[s>>2]|0)!=1){o[a>>2]=9;i=-1;break}if((n|0)!=(Be(wi(e,t,n)|0,n,e+132|0)|0)){o[a>>2]=10;i=-1}}else i=-1}while(0);h=c;return i|0}function po(e){e=e|0;return 160}function mo(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<160){o[e+228>>2]=1;n=-1;return n|0}else{_i(e,t,0);gt(t+128|0,e+132|0);Gr(t,n);n=0;return n|0}return 0}function go(e,t){e=e|0;t=t|0;var n=0;n=Hs[o[(o[9395]|0)+4>>2]&3](37580,t)|0;t=Gs[o[o[9395]>>2]&1](37580)|0;return pe(We(o[e+128>>2]|0,n,t,64)|0)|0}function yo(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0;u=h;h=h+16|0;f=u;a=Hs[o[(o[9395]|0)+4>>2]&3](37580,n)|0;c=Gs[o[o[9395]>>2]&1](37580)|0;s=e+128|0;c=We(o[s>>2]|0,a,c,64)|0;if((pe(c)|0)>>>0>i>>>0){o[e+228>>2]=2;f=-1;h=u;return f|0}a=r+(pe(c)|0)+(0-c)|0;l=Hs[o[(o[9395]|0)+4>>2]&3](37580,n)|0;i=Gs[o[o[9395]>>2]&1](37580)|0;i=(Ye(3,o[s>>2]|0,l,a,f)|0)+i|0;if((Qs[o[(o[9395]|0)+8>>2]&3](37580,e,128,t,n,o[f>>2]|0,l,a,i)|0)==-1){l=-1;h=u;return l|0}else{Ei(e);yt(e+132|0,a,i,a+i|0);l=me(a,c,r)|0;h=u;return l|0}return 0}function bo(e){e=e|0;return pe(32)|0}function _o(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e+228>>2]=2;n=-1;return n|0}else{n=me(e+132|0,32,t)|0;return n|0}return 0}function vo(e){e=e|0;return o[e+128>>2]|0}function Ao(e){e=e|0;return pe(229)|0}function wo(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0;i=pe(229)|0;if(i>>>0>n>>>0){o[e+228>>2]=2;t=-1;return t|0}else{c=t+i+-229|0;r[c>>0]=2;s=o[e+128>>2]|0;f=c+1|0;r[f>>0]=s>>>24;f=f+1|0;r[f>>0]=s>>>16;f=f+1|0;r[f>>0]=s>>>8;r[f+1>>0]=s;f=t+(i+-225)|0;i=t+(i+-224)|0;s=e;a=i+128|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));n=e+132|0;i=f+129|0;s=n;a=i+32|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));f=f+161|0;yt(n,c,f-c|0,f);t=me(c,229,t)|0;return t|0}return 0}function Eo(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0;O=h;h=h+256|0;R=O;o[R>>2]=(s[t+1>>0]|0)<<16|(s[t>>0]|0)<<24|(s[t+2>>0]|0)<<8|(s[t+3>>0]|0);o[R+4>>2]=(s[t+5>>0]|0)<<16|(s[t+4>>0]|0)<<24|(s[t+6>>0]|0)<<8|(s[t+7>>0]|0);o[R+8>>2]=(s[t+9>>0]|0)<<16|(s[t+8>>0]|0)<<24|(s[t+10>>0]|0)<<8|(s[t+11>>0]|0);o[R+12>>2]=(s[t+13>>0]|0)<<16|(s[t+12>>0]|0)<<24|(s[t+14>>0]|0)<<8|(s[t+15>>0]|0);o[R+16>>2]=(s[t+17>>0]|0)<<16|(s[t+16>>0]|0)<<24|(s[t+18>>0]|0)<<8|(s[t+19>>0]|0);o[R+20>>2]=(s[t+21>>0]|0)<<16|(s[t+20>>0]|0)<<24|(s[t+22>>0]|0)<<8|(s[t+23>>0]|0);o[R+24>>2]=(s[t+25>>0]|0)<<16|(s[t+24>>0]|0)<<24|(s[t+26>>0]|0)<<8|(s[t+27>>0]|0);o[R+28>>2]=(s[t+29>>0]|0)<<16|(s[t+28>>0]|0)<<24|(s[t+30>>0]|0)<<8|(s[t+31>>0]|0);o[R+32>>2]=(s[t+33>>0]|0)<<16|(s[t+32>>0]|0)<<24|(s[t+34>>0]|0)<<8|(s[t+35>>0]|0);o[R+36>>2]=(s[t+37>>0]|0)<<16|(s[t+36>>0]|0)<<24|(s[t+38>>0]|0)<<8|(s[t+39>>0]|0);o[R+40>>2]=(s[t+41>>0]|0)<<16|(s[t+40>>0]|0)<<24|(s[t+42>>0]|0)<<8|(s[t+43>>0]|0);o[R+44>>2]=(s[t+45>>0]|0)<<16|(s[t+44>>0]|0)<<24|(s[t+46>>0]|0)<<8|(s[t+47>>0]|0);o[R+48>>2]=(s[t+49>>0]|0)<<16|(s[t+48>>0]|0)<<24|(s[t+50>>0]|0)<<8|(s[t+51>>0]|0);o[R+52>>2]=(s[t+53>>0]|0)<<16|(s[t+52>>0]|0)<<24|(s[t+54>>0]|0)<<8|(s[t+55>>0]|0);o[R+56>>2]=(s[t+57>>0]|0)<<16|(s[t+56>>0]|0)<<24|(s[t+58>>0]|0)<<8|(s[t+59>>0]|0);o[R+60>>2]=(s[t+61>>0]|0)<<16|(s[t+60>>0]|0)<<24|(s[t+62>>0]|0)<<8|(s[t+63>>0]|0);t=16;n=o[R>>2]|0;do{T=o[R+(t+-2<<2)>>2]|0;I=n;n=o[R+(t+-15<<2)>>2]|0;o[R+(t<<2)>>2]=I+(o[R+(t+-7<<2)>>2]|0)+((T>>>19|T<<13)^T>>>10^(T>>>17|T<<15))+((n>>>18|n<<14)^n>>>3^(n>>>7|n<<25));t=t+1|0}while((t|0)!=64);p=e+80|0;m=o[p>>2]|0;g=e+84|0;y=o[g>>2]|0;b=e+88|0;_=o[b>>2]|0;v=e+92|0;A=o[v>>2]|0;w=e+96|0;E=o[w>>2]|0;k=e+100|0;S=o[k>>2]|0;I=e+104|0;T=o[I>>2]|0;l=e+108|0;d=o[l>>2]|0;e=y;t=d;r=T;i=S;a=E;n=A;c=_;f=m;u=0;while(1){x=((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+t+(r&~a^i&a)+(o[32768+(u<<2)>>2]|0)+(o[R+(u<<2)>>2]|0)|0;t=x+n|0;n=((f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10))+(f&(e^c)^e&c)+x|0;u=u+1|0;if((u|0)==64)break;else{D=c;M=a;P=i;C=r;x=f;a=t;f=n;c=e;n=D;i=M;r=P;t=C;e=x}}o[p>>2]=n+m;o[g>>2]=f+y;o[b>>2]=e+_;o[v>>2]=c+A;o[w>>2]=t+E;o[k>>2]=a+S;o[I>>2]=i+T;o[l>>2]=r+d;h=O;return}function ko(e){e=e|0;var t=0;o[e+64>>2]=0;t=e+72|0;o[t>>2]=0;o[t+4>>2]=0;o[e+80>>2]=1779033703;o[e+84>>2]=-1150833019;o[e+88>>2]=1013904242;o[e+92>>2]=-1521486534;o[e+96>>2]=1359893119;o[e+100>>2]=-1694144372;o[e+104>>2]=528734635;o[e+108>>2]=1541459225;return}function So(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0;if(!n)return;a=e+64|0;c=e+72|0;s=0;i=o[a>>2]|0;do{r[e+i>>0]=r[t+s>>0]|0;i=(o[a>>2]|0)+1|0;o[a>>2]=i;if((i|0)==64){Eo(e,e);f=c;f=ks(o[f>>2]|0,o[f+4>>2]|0,512,0)|0;i=c;o[i>>2]=f;o[i+4>>2]=I;o[a>>2]=0;i=0}s=s+1|0}while((s|0)!=(n|0));return}function Io(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0;s=e+64|0;n=o[s>>2]|0;i=n+1|0;r[e+n>>0]=-128;if(n>>>0<56){if(i>>>0<56)Ds(e+i|0,0,55-n|0)|0}else{if(i>>>0<64)Ds(e+i|0,0,63-n|0)|0;Eo(e,e);n=e;i=n+56|0;do{o[n>>2]=0;n=n+4|0}while((n|0)<(i|0))}f=e+72|0;u=f;u=ks(o[u>>2]|0,o[u+4>>2]|0,o[s>>2]<<3|0,0)|0;l=I;o[f>>2]=u;o[f+4>>2]=l;r[e+63>>0]=u;f=xs(u|0,l|0,8)|0;r[e+62>>0]=f;f=xs(u|0,l|0,16)|0;r[e+61>>0]=f;f=xs(u|0,l|0,24)|0;r[e+60>>0]=f;r[e+59>>0]=l;f=xs(u|0,l|0,40)|0;r[e+58>>0]=f;f=xs(u|0,l|0,48)|0;r[e+57>>0]=f;l=xs(u|0,l|0,56)|0;r[e+56>>0]=l;Eo(e,e);l=e+80|0;u=e+84|0;f=e+88|0;c=e+92|0;a=e+96|0;n=e+100|0;i=e+104|0;s=e+108|0;r[t>>0]=(o[l>>2]|0)>>>24;r[t+4>>0]=(o[u>>2]|0)>>>24;r[t+8>>0]=(o[f>>2]|0)>>>24;r[t+12>>0]=(o[c>>2]|0)>>>24;r[t+16>>0]=(o[a>>2]|0)>>>24;r[t+20>>0]=(o[n>>2]|0)>>>24;r[t+24>>0]=(o[i>>2]|0)>>>24;r[t+28>>0]=(o[s>>2]|0)>>>24;r[t+1>>0]=(o[l>>2]|0)>>>16;r[t+5>>0]=(o[u>>2]|0)>>>16;r[t+9>>0]=(o[f>>2]|0)>>>16;r[t+13>>0]=(o[c>>2]|0)>>>16;r[t+17>>0]=(o[a>>2]|0)>>>16;r[t+21>>0]=(o[n>>2]|0)>>>16;r[t+25>>0]=(o[i>>2]|0)>>>16;r[t+29>>0]=(o[s>>2]|0)>>>16;r[t+2>>0]=(o[l>>2]|0)>>>8;r[t+6>>0]=(o[u>>2]|0)>>>8;r[t+10>>0]=(o[f>>2]|0)>>>8;r[t+14>>0]=(o[c>>2]|0)>>>8;r[t+18>>0]=(o[a>>2]|0)>>>8;r[t+22>>0]=(o[n>>2]|0)>>>8;r[t+26>>0]=(o[i>>2]|0)>>>8;r[t+30>>0]=(o[s>>2]|0)>>>8;r[t+3>>0]=o[l>>2];r[t+7>>0]=o[u>>2];r[t+11>>0]=o[f>>2];r[t+15>>0]=o[c>>2];r[t+19>>0]=o[a>>2];r[t+23>>0]=o[n>>2];r[t+27>>0]=o[i>>2];r[t+31>>0]=o[s>>2];return}function To(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0;L=h;h=h+16|0;M=L;U=M+4|0;E=M+8|0;k=M+12|0;v=r[e+4>>0]|0;S=M+1|0;f=r[e+5>>0]|0;I=M+5|0;m=r[e+6>>0]|0;T=M+9|0;l=r[e+7>>0]|0;R=M+13|0;b=r[e+8>>0]|0;O=M+2|0;d=r[e+9>>0]|0;x=M+6|0;w=r[e+10>>0]|0;C=M+10|0;u=r[e+11>>0]|0;P=M+14|0;a=r[e+12>>0]|0;D=M+3|0;q=r[e+13>>0]|0;B=M+7|0;g=r[e+14>>0]|0;N=M+11|0;p=r[e+15>>0]|0;j=M+15|0;_=o[n>>2]|0;y=_>>>24^(s[e>>0]|0);A=_>>>16^(s[e+1>>0]|0);c=_>>>8^(s[e+2>>0]|0);_=_^(s[e+3>>0]|0);r[k>>0]=_;F=o[n+4>>2]|0;v=F>>>24^v&255;f=F>>>16^f&255;m=F>>>8^m&255;l=F^l&255;F=o[n+8>>2]|0;b=F>>>24^b&255;d=F>>>16^d&255;w=F>>>8^w&255;u=F^u&255;F=o[n+12>>2]|0;a=F>>>24^a&255;e=F>>>16^q&255;g=F>>>8^g&255;p=F^p&255;r[M>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[S>>0]=r[(v&15)+(33024+(v>>>4<<4))>>0]|0;r[O>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;r[D>>0]=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;r[U>>0]=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=e;r[B>>0]=A;r[E>>0]=w;r[C>>0]=c;r[T>>0]=g;r[N>>0]=m;r[k>>0]=p;r[j>>0]=u;r[P>>0]=l;r[R>>0]=_;Ro(M);_=o[n+16>>2]|0;l=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);p=_>>>8^(s[E>>0]|0);r[E>>0]=p;_=_^(s[k>>0]|0);r[k>>0]=_;m=o[n+20>>2]|0;g=m>>>24^(s[S>>0]|0);c=m>>>16^(s[I>>0]|0);w=m>>>8^(s[T>>0]|0);m=m^(s[R>>0]|0);r[R>>0]=m;A=o[n+24>>2]|0;e=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);f=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);a=o[n+28>>2]|0;b=a>>>24^(s[D>>0]|0);v=a>>>16^(s[B>>0]|0);y=a>>>8^(s[N>>0]|0);a=a^(s[j>>0]|0);r[M>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;r[S>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;r[O>>0]=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;r[D>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;r[U>>0]=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=v;r[B>>0]=u;r[E>>0]=f;r[C>>0]=p;r[T>>0]=y;r[N>>0]=w;r[k>>0]=a;r[j>>0]=A;r[P>>0]=m;r[R>>0]=_;Ro(M);_=o[n+32>>2]|0;m=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);a=_>>>8^(s[E>>0]|0);r[E>>0]=a;_=_^(s[k>>0]|0);r[k>>0]=_;w=o[n+36>>2]|0;y=w>>>24^(s[S>>0]|0);p=w>>>16^(s[I>>0]|0);f=w>>>8^(s[T>>0]|0);w=w^(s[R>>0]|0);r[R>>0]=w;u=o[n+40>>2]|0;v=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);c=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);b=o[n+44>>2]|0;e=b>>>24^(s[D>>0]|0);g=b>>>16^(s[B>>0]|0);l=b>>>8^(s[N>>0]|0);b=b^(s[j>>0]|0);r[M>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;r[S>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[O>>0]=r[(v&15)+(33024+(v>>>4<<4))>>0]|0;r[D>>0]=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;r[U>>0]=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=g;r[B>>0]=A;r[E>>0]=c;r[C>>0]=a;r[T>>0]=l;r[N>>0]=f;r[k>>0]=b;r[j>>0]=u;r[P>>0]=w;r[R>>0]=_;Ro(M);_=o[n+48>>2]|0;w=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);b=_>>>8^(s[E>>0]|0);r[E>>0]=b;_=_^(s[k>>0]|0);r[k>>0]=_;f=o[n+52>>2]|0;l=f>>>24^(s[S>>0]|0);a=f>>>16^(s[I>>0]|0);c=f>>>8^(s[T>>0]|0);f=f^(s[R>>0]|0);r[R>>0]=f;A=o[n+56>>2]|0;g=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);p=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);e=o[n+60>>2]|0;v=e>>>24^(s[D>>0]|0);y=e>>>16^(s[B>>0]|0);m=e>>>8^(s[N>>0]|0);e=e^(s[j>>0]|0);r[M>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;r[S>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;r[O>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;r[D>>0]=r[(v&15)+(33024+(v>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;r[U>>0]=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=y;r[B>>0]=u;r[E>>0]=p;r[C>>0]=b;r[T>>0]=m;r[N>>0]=c;r[k>>0]=e;r[j>>0]=A;r[P>>0]=f;r[R>>0]=_;Ro(M);_=o[n+64>>2]|0;f=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);e=_>>>8^(s[E>>0]|0);r[E>>0]=e;_=_^(s[k>>0]|0);r[k>>0]=_;c=o[n+68>>2]|0;m=c>>>24^(s[S>>0]|0);b=c>>>16^(s[I>>0]|0);p=c>>>8^(s[T>>0]|0);c=c^(s[R>>0]|0);r[R>>0]=c;u=o[n+72>>2]|0;y=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);a=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);v=o[n+76>>2]|0;g=v>>>24^(s[D>>0]|0);l=v>>>16^(s[B>>0]|0);w=v>>>8^(s[N>>0]|0);v=v^(s[j>>0]|0);r[M>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[S>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;r[O>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[D>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;r[U>>0]=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=l;r[B>>0]=A;r[E>>0]=a;r[C>>0]=e;r[T>>0]=w;r[N>>0]=p;r[k>>0]=v;r[j>>0]=u;r[P>>0]=c;r[R>>0]=_;Ro(M);_=o[n+80>>2]|0;c=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);v=_>>>8^(s[E>>0]|0);r[E>>0]=v;_=_^(s[k>>0]|0);r[k>>0]=_;p=o[n+84>>2]|0;w=p>>>24^(s[S>>0]|0);e=p>>>16^(s[I>>0]|0);a=p>>>8^(s[T>>0]|0);p=p^(s[R>>0]|0);r[R>>0]=p;A=o[n+88>>2]|0;l=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);b=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);g=o[n+92>>2]|0;y=g>>>24^(s[D>>0]|0);m=g>>>16^(s[B>>0]|0);f=g>>>8^(s[N>>0]|0);g=g^(s[j>>0]|0);r[M>>0]=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[S>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;r[O>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;r[D>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;r[U>>0]=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=m;r[B>>0]=u;r[E>>0]=b;r[C>>0]=v;r[T>>0]=f;r[N>>0]=a;r[k>>0]=g;r[j>>0]=A;r[P>>0]=p;r[R>>0]=_;Ro(M);_=o[n+96>>2]|0;p=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);g=_>>>8^(s[E>>0]|0);r[E>>0]=g;_=_^(s[k>>0]|0);r[k>>0]=_;a=o[n+100>>2]|0;f=a>>>24^(s[S>>0]|0);v=a>>>16^(s[I>>0]|0);b=a>>>8^(s[T>>0]|0);a=a^(s[R>>0]|0);r[R>>0]=a;u=o[n+104>>2]|0;m=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);e=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);y=o[n+108>>2]|0;l=y>>>24^(s[D>>0]|0);w=y>>>16^(s[B>>0]|0);c=y>>>8^(s[N>>0]|0);y=y^(s[j>>0]|0);r[M>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;r[S>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[O>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;r[D>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;r[U>>0]=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=w;r[B>>0]=A;r[E>>0]=e;r[C>>0]=g;r[T>>0]=c;r[N>>0]=b;r[k>>0]=y;r[j>>0]=u;r[P>>0]=a;r[R>>0]=_;Ro(M);_=o[n+112>>2]|0;a=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);y=_>>>8^(s[E>>0]|0);r[E>>0]=y;_=_^(s[k>>0]|0);r[k>>0]=_;b=o[n+116>>2]|0;c=b>>>24^(s[S>>0]|0);g=b>>>16^(s[I>>0]|0);e=b>>>8^(s[T>>0]|0);b=b^(s[R>>0]|0);r[R>>0]=b;A=o[n+120>>2]|0;w=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);v=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);l=o[n+124>>2]|0;m=l>>>24^(s[D>>0]|0);f=l>>>16^(s[B>>0]|0);p=l>>>8^(s[N>>0]|0);l=l^(s[j>>0]|0);r[M>>0]=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;r[S>>0]=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[O>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;r[D>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;r[U>>0]=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=f;r[B>>0]=u;r[E>>0]=v;r[C>>0]=y;r[T>>0]=p;r[N>>0]=e;r[k>>0]=l;r[j>>0]=A;r[P>>0]=b;r[R>>0]=_;Ro(M);_=o[n+128>>2]|0;b=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);l=_>>>8^(s[E>>0]|0);r[E>>0]=l;_=_^(s[k>>0]|0);r[k>>0]=_;e=o[n+132>>2]|0;p=e>>>24^(s[S>>0]|0);y=e>>>16^(s[I>>0]|0);v=e>>>8^(s[T>>0]|0);e=e^(s[R>>0]|0);r[R>>0]=e;u=o[n+136>>2]|0;f=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);g=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);m=o[n+140>>2]|0;w=m>>>24^(s[D>>0]|0);c=m>>>16^(s[B>>0]|0);a=m>>>8^(s[N>>0]|0);m=m^(s[j>>0]|0);r[M>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;r[S>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;r[O>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;r[U>>0]=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=c;r[B>>0]=A;r[E>>0]=g;r[C>>0]=l;r[T>>0]=a;r[N>>0]=v;r[k>>0]=m;r[j>>0]=u;r[P>>0]=e;r[R>>0]=_;Ro(M);_=o[n+144>>2]|0;e=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);m=_>>>8^(s[E>>0]|0);r[E>>0]=m;_=_^(s[k>>0]|0);r[k>>0]=_;v=o[n+148>>2]|0;a=v>>>24^(s[S>>0]|0);l=v>>>16^(s[I>>0]|0);g=v>>>8^(s[T>>0]|0);v=v^(s[R>>0]|0);r[R>>0]=v;A=o[n+152>>2]|0;c=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);y=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);w=o[n+156>>2]|0;f=w>>>24^(s[D>>0]|0);p=w>>>16^(s[B>>0]|0);b=w>>>8^(s[N>>0]|0);w=w^(s[j>>0]|0);e=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;r[M>>0]=e;a=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;r[S>>0]=a;c=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[O>>0]=c;f=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=f;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;r[U>>0]=l;r[I>>0]=d;r[x>>0]=p;r[B>>0]=u;r[E>>0]=y;r[C>>0]=m;r[T>>0]=b;r[N>>0]=g;r[k>>0]=w;r[j>>0]=A;r[P>>0]=v;r[R>>0]=_;if((i|0)==128){K=b;z=d;G=41;H=w;w=y;V=l;q=e;e=40;F=A;b=g;y=u;g=f;d=43;i=p;l=c;p=42;f=n+(e<<2)|0;f=o[f>>2]|0;A=f>>>24;c=f>>>16;u=f>>>8;q=q&255;q=A^q;q=q&255;r[M>>0]=q;A=V&255;A=c^A;A=A&255;r[U>>0]=A;w=w&255;w=u^w;w=w&255;r[E>>0]=w;E=H&255;E=f^E;E=E&255;r[k>>0]=E;U=n+(G<<2)|0;U=o[U>>2]|0;f=U>>>24;u=U>>>16;M=U>>>8;k=a&255;k=f^k;k=k&255;r[S>>0]=k;S=z&255;S=u^S;S=S&255;r[I>>0]=S;I=K&255;I=M^I;I=I&255;r[T>>0]=I;T=_&255;T=U^T;T=T&255;r[R>>0]=T;U=n+(p<<2)|0;U=o[U>>2]|0;p=U>>>24;_=U>>>16;M=U>>>8;R=l&255;R=p^R;R=R&255;r[O>>0]=R;i=i&255;i=_^i;i=i&255;r[x>>0]=i;x=m&255;x=M^x;x=x&255;r[C>>0]=x;C=v&255;C=U^C;C=C&255;r[P>>0]=C;P=n+(d<<2)|0;P=o[P>>2]|0;n=P>>>24;U=P>>>16;O=P>>>8;M=g&255;M=n^M;M=M&255;r[D>>0]=M;D=y&255;D=U^D;D=D&255;r[B>>0]=D;U=b&255;U=O^U;U=U&255;r[N>>0]=U;F=F&255;F=P^F;F=F&255;r[j>>0]=F;r[t>>0]=q;q=t+1|0;r[q>>0]=A;q=t+2|0;r[q>>0]=w;q=t+3|0;r[q>>0]=E;q=t+4|0;r[q>>0]=k;q=t+5|0;r[q>>0]=S;q=t+6|0;r[q>>0]=I;q=t+7|0;r[q>>0]=T;q=t+8|0;r[q>>0]=R;q=t+9|0;r[q>>0]=i;q=t+10|0;r[q>>0]=x;q=t+11|0;r[q>>0]=C;q=t+12|0;r[q>>0]=M;q=t+13|0;r[q>>0]=D;q=t+14|0;r[q>>0]=U;q=t+15|0;r[q>>0]=F;h=L;return}Ro(M);_=o[n+160>>2]|0;b=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);l=_>>>8^(s[E>>0]|0);r[E>>0]=l;_=_^(s[k>>0]|0);r[k>>0]=_;e=o[n+164>>2]|0;p=e>>>24^(s[S>>0]|0);y=e>>>16^(s[I>>0]|0);v=e>>>8^(s[T>>0]|0);e=e^(s[R>>0]|0);r[R>>0]=e;u=o[n+168>>2]|0;f=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);g=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);m=o[n+172>>2]|0;w=m>>>24^(s[D>>0]|0);c=m>>>16^(s[B>>0]|0);a=m>>>8^(s[N>>0]|0);m=m^(s[j>>0]|0);r[M>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;r[S>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;r[O>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;r[U>>0]=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=c;r[B>>0]=A;r[E>>0]=g;r[C>>0]=l;r[T>>0]=a;r[N>>0]=v;r[k>>0]=m;r[j>>0]=u;r[P>>0]=e;r[R>>0]=_;Ro(M);_=o[n+176>>2]|0;e=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);m=_>>>8^(s[E>>0]|0);r[E>>0]=m;_=_^(s[k>>0]|0);r[k>>0]=_;v=o[n+180>>2]|0;a=v>>>24^(s[S>>0]|0);l=v>>>16^(s[I>>0]|0);g=v>>>8^(s[T>>0]|0);v=v^(s[R>>0]|0);r[R>>0]=v;A=o[n+184>>2]|0;c=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);y=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);w=o[n+188>>2]|0;f=w>>>24^(s[D>>0]|0);p=w>>>16^(s[B>>0]|0);b=w>>>8^(s[N>>0]|0);w=w^(s[j>>0]|0);e=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;r[M>>0]=e;a=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;r[S>>0]=a;c=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[O>>0]=c;f=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=f;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;r[U>>0]=l;r[I>>0]=d;r[x>>0]=p;r[B>>0]=u;r[E>>0]=y;r[C>>0]=m;r[T>>0]=b;r[N>>0]=g;r[k>>0]=w;r[j>>0]=A;r[P>>0]=v;r[R>>0]=_;if((i|0)==192){Q=b;W=49;Y=w;w=y;V=e;e=48;H=A;G=g;z=u;K=f;b=51;q=v;F=m;y=p;g=c;v=50;i=_;m=n+(e<<2)|0;m=o[m>>2]|0;A=m>>>24;p=m>>>16;_=m>>>8;V=V&255;V=A^V;V=V&255;r[M>>0]=V;A=l&255;A=p^A;A=A&255;r[U>>0]=A;w=w&255;w=_^w;w=w&255;r[E>>0]=w;E=Y&255;E=m^E;E=E&255;r[k>>0]=E;U=n+(W<<2)|0;U=o[U>>2]|0;m=U>>>24;_=U>>>16;M=U>>>8;k=a&255;k=m^k;k=k&255;r[S>>0]=k;S=d&255;S=_^S;S=S&255;r[I>>0]=S;I=Q&255;I=M^I;I=I&255;r[T>>0]=I;i=i&255;i=U^i;i=i&255;r[R>>0]=i;R=n+(v<<2)|0;R=o[R>>2]|0;U=R>>>24;v=R>>>16;T=R>>>8;M=g&255;M=U^M;M=M&255;r[O>>0]=M;U=y&255;U=v^U;U=U&255;r[x>>0]=U;F=F&255;F=T^F;F=F&255;r[C>>0]=F;q=q&255;q=R^q;q=q&255;r[P>>0]=q;P=n+(b<<2)|0;P=o[P>>2]|0;O=P>>>24;x=P>>>16;C=P>>>8;K=K&255;K=O^K;K=K&255;r[D>>0]=K;z=z&255;z=x^z;z=z&255;r[B>>0]=z;G=G&255;G=C^G;G=G&255;r[N>>0]=G;H=H&255;H=P^H;H=H&255;r[j>>0]=H;r[t>>0]=V;V=t+1|0;r[V>>0]=A;V=t+2|0;r[V>>0]=w;V=t+3|0;r[V>>0]=E;V=t+4|0;r[V>>0]=k;V=t+5|0;r[V>>0]=S;V=t+6|0;r[V>>0]=I;V=t+7|0;r[V>>0]=i;V=t+8|0;r[V>>0]=M;V=t+9|0;r[V>>0]=U;V=t+10|0;r[V>>0]=F;V=t+11|0;r[V>>0]=q;V=t+12|0;r[V>>0]=K;V=t+13|0;r[V>>0]=z;V=t+14|0;r[V>>0]=G;V=t+15|0;r[V>>0]=H;h=L;return}Ro(M);F=o[n+192>>2]|0;y=F>>>24^(s[M>>0]|0);W=F>>>16^(s[U>>0]|0);A=F>>>8^(s[E>>0]|0);r[E>>0]=A;F=F^(s[k>>0]|0);r[k>>0]=F;Y=o[n+196>>2]|0;K=Y>>>24^(s[S>>0]|0);w=Y>>>16^(s[I>>0]|0);G=Y>>>8^(s[T>>0]|0);Y=Y^(s[R>>0]|0);r[R>>0]=Y;V=o[n+200>>2]|0;H=V>>>24^(s[O>>0]|0);g=V>>>16^(s[x>>0]|0);Q=V>>>8^(s[C>>0]|0);V=V^(s[P>>0]|0);z=o[n+204>>2]|0;p=z>>>24^(s[D>>0]|0);q=z>>>16^(s[B>>0]|0);i=z>>>8^(s[N>>0]|0);z=z^(s[j>>0]|0);r[M>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[S>>0]=r[(K&15)+(33024+(K>>>4<<4))>>0]|0;r[O>>0]=r[(H&15)+(33024+(H>>>4<<4))>>0]|0;r[D>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;W=r[(W&15)+(33024+((W>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;q=r[(q&15)+(33024+((q>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;G=r[(G&15)+(33024+((G>>>4&15)<<4))>>0]|0;Q=r[(Q&15)+(33024+((Q>>>4&15)<<4))>>0]|0;i=r[(i&15)+(33024+((i>>>4&15)<<4))>>0]|0;F=r[(F&15)+(33024+((F>>>4&15)<<4))>>0]|0;Y=r[(Y&15)+(33024+((Y>>>4&15)<<4))>>0]|0;V=r[(V&15)+(33024+((V>>>4&15)<<4))>>0]|0;z=r[(z&15)+(33024+((z>>>4&15)<<4))>>0]|0;r[U>>0]=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;r[I>>0]=g;r[x>>0]=q;r[B>>0]=W;r[E>>0]=Q;r[C>>0]=A;r[T>>0]=i;r[N>>0]=G;r[k>>0]=z;r[j>>0]=V;r[P>>0]=Y;r[R>>0]=F;Ro(M);F=o[n+208>>2]|0;Y=F>>>24^(s[M>>0]|0);V=F>>>16^(s[U>>0]|0);z=F>>>8^(s[E>>0]|0);r[E>>0]=z;F=F^(s[k>>0]|0);r[k>>0]=F;G=o[n+212>>2]|0;i=G>>>24^(s[S>>0]|0);A=G>>>16^(s[I>>0]|0);Q=G>>>8^(s[T>>0]|0);G=G^(s[R>>0]|0);r[R>>0]=G;W=o[n+216>>2]|0;q=W>>>24^(s[O>>0]|0);g=W>>>16^(s[x>>0]|0);w=W>>>8^(s[C>>0]|0);W=W^(s[P>>0]|0);p=o[n+220>>2]|0;H=p>>>24^(s[D>>0]|0);K=p>>>16^(s[B>>0]|0);y=p>>>8^(s[N>>0]|0);p=p^(s[j>>0]|0);Y=r[(Y&15)+(33024+(Y>>>4<<4))>>0]|0;i=r[(i&15)+(33024+(i>>>4<<4))>>0]|0;r[S>>0]=i;q=r[(q&15)+(33024+(q>>>4<<4))>>0]|0;r[O>>0]=q;H=r[(H&15)+(33024+(H>>>4<<4))>>0]|0;r[D>>0]=H;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;b=57;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;m=56;W=r[(W&15)+(33024+((W>>>4&15)<<4))>>0]|0;Q=r[(Q&15)+(33024+((Q>>>4&15)<<4))>>0]|0;V=r[(V&15)+(33024+((V>>>4&15)<<4))>>0]|0;v=59;G=r[(G&15)+(33024+((G>>>4&15)<<4))>>0]|0;z=r[(z&15)+(33024+((z>>>4&15)<<4))>>0]|0;K=r[(K&15)+(33024+((K>>>4&15)<<4))>>0]|0;_=58;F=r[(F&15)+(33024+((F>>>4&15)<<4))>>0]|0;m=n+(m<<2)|0;m=o[m>>2]|0;u=m>>>24;l=m>>>16;d=m>>>8;Y=Y&255;Y=u^Y;Y=Y&255;r[M>>0]=Y;A=A&255;A=l^A;A=A&255;r[U>>0]=A;w=w&255;w=d^w;w=w&255;r[E>>0]=w;E=p&255;E=m^E;E=E&255;r[k>>0]=E;k=n+(b<<2)|0;k=o[k>>2]|0;M=k>>>24;U=k>>>16;b=k>>>8;i=i&255;i=M^i;i=i&255;r[S>>0]=i;M=g&255;M=U^M;M=M&255;r[I>>0]=M;U=y&255;U=b^U;U=U&255;r[T>>0]=U;F=F&255;F=k^F;F=F&255;r[R>>0]=F;R=n+(_<<2)|0;R=o[R>>2]|0;S=R>>>24;I=R>>>16;T=R>>>8;q=q&255;q=S^q;q=q&255;r[O>>0]=q;K=K&255;K=I^K;K=K&255;r[x>>0]=K;z=z&255;z=T^z;z=z&255;r[C>>0]=z;G=G&255;G=R^G;G=G&255;r[P>>0]=G;P=n+(v<<2)|0;P=o[P>>2]|0;O=P>>>24;x=P>>>16;C=P>>>8;H=H&255;H=O^H;H=H&255;r[D>>0]=H;V=V&255;V=x^V;V=V&255;r[B>>0]=V;Q=Q&255;Q=C^Q;Q=Q&255;r[N>>0]=Q;W=W&255;W=P^W;W=W&255;r[j>>0]=W;r[t>>0]=Y;Y=t+1|0;r[Y>>0]=A;Y=t+2|0;r[Y>>0]=w;Y=t+3|0;r[Y>>0]=E;Y=t+4|0;r[Y>>0]=i;Y=t+5|0;r[Y>>0]=M;Y=t+6|0;r[Y>>0]=U;Y=t+7|0;r[Y>>0]=F;Y=t+8|0;r[Y>>0]=q;Y=t+9|0;r[Y>>0]=K;Y=t+10|0;r[Y>>0]=z;Y=t+11|0;r[Y>>0]=G;Y=t+12|0;r[Y>>0]=H;Y=t+13|0;r[Y>>0]=V;Y=t+14|0;r[Y>>0]=Q;Y=t+15|0;r[Y>>0]=W;h=L;return}function Ro(e){e=e|0;var t=0,n=0,i=0,o=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0;h=r[e>>0]|0;l=e+4|0;i=r[l>>0]|0;o=e+8|0;s=r[o>>0]|0;a=e+12|0;n=r[a>>0]|0;f=h&255;c=i&255;t=s&255;d=n&255;r[e>>0]=n^s^r[33280+(f*6|0)>>0]^r[33280+(c*6|0)+1>>0];r[l>>0]=r[33280+(c*6|0)>>0]^h^n^r[33280+(t*6|0)+1>>0];r[o>>0]=r[33280+(d*6|0)+1>>0]^(r[33280+(t*6|0)>>0]^(i^h));r[a>>0]=s^i^r[33280+(f*6|0)+1>>0]^r[33280+(d*6|0)>>0];a=e+1|0;d=r[a>>0]|0;f=e+5|0;i=r[f>>0]|0;s=e+9|0;o=r[s>>0]|0;h=e+13|0;t=r[h>>0]|0;l=d&255;n=i&255;c=o&255;u=t&255;r[a>>0]=t^o^r[33280+(l*6|0)>>0]^r[33280+(n*6|0)+1>>0];r[f>>0]=r[33280+(n*6|0)>>0]^d^t^r[33280+(c*6|0)+1>>0];r[s>>0]=r[33280+(u*6|0)+1>>0]^(r[33280+(c*6|0)>>0]^(i^d));r[h>>0]=o^i^r[33280+(l*6|0)+1>>0]^r[33280+(u*6|0)>>0];h=e+2|0;u=r[h>>0]|0;l=e+6|0;i=r[l>>0]|0;o=e+10|0;s=r[o>>0]|0;d=e+14|0;c=r[d>>0]|0;f=u&255;t=i&255;n=s&255;a=c&255;r[h>>0]=c^s^r[33280+(f*6|0)>>0]^r[33280+(t*6|0)+1>>0];r[l>>0]=r[33280+(t*6|0)>>0]^u^c^r[33280+(n*6|0)+1>>0];r[o>>0]=r[33280+(a*6|0)+1>>0]^(r[33280+(n*6|0)>>0]^(i^u));r[d>>0]=s^i^r[33280+(f*6|0)+1>>0]^r[33280+(a*6|0)>>0];d=e+3|0;a=r[d>>0]|0;f=e+7|0;i=r[f>>0]|0;s=e+11|0;o=r[s>>0]|0;e=e+15|0;u=r[e>>0]|0;n=a&255;l=i&255;c=o&255;t=u&255;r[d>>0]=u^o^r[33280+(n*6|0)>>0]^r[33280+(l*6|0)+1>>0];r[f>>0]=r[33280+(l*6|0)>>0]^a^u^r[33280+(c*6|0)+1>>0];r[s>>0]=r[33280+(t*6|0)+1>>0]^(r[33280+(c*6|0)>>0]^(i^a));r[e>>0]=o^i^r[33280+(n*6|0)+1>>0]^r[33280+(t*6|0)>>0];return}function Oo(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,a=0;switch(n|0){case 128:{i=4;a=44;break}case 192:{i=6;a=52;break}case 256:{i=8;a=60;break}default:return}n=0;do{r=n<<2;o[t+(n<<2)>>2]=(s[e+(r|1)>>0]|0)<<16|(s[e+r>>0]|0)<<24|(s[e+(r|2)>>0]|0)<<8|(s[e+(r|3)>>0]|0);n=n+1|0}while(n>>>0>>0);if(i>>>0<=6){r=i;do{e=r+-1|0;n=o[t+(e<<2)>>2]|0;if(!((r>>>0)%(i>>>0)|0))n=((s[(n&15)+(33024+((n>>>4&15)<<4))>>0]|0)<<8|(s[(n>>>24&15)+(33024+(n>>>28<<4))>>0]|0)|(s[(n>>>8&15)+(33024+((n>>>12&15)<<4))>>0]|0)<<16|(s[(n>>>16&15)+(33024+((n>>>20&15)<<4))>>0]|0)<<24)^o[34816+(((e|0)/(i|0)|0)<<2)>>2];o[t+(r<<2)>>2]=o[t+(r-i<<2)>>2]^n;r=r+1|0}while((r|0)!=(a|0));return}r=i;do{e=r+-1|0;n=o[t+(e<<2)>>2]|0;switch(((r>>>0)%(i>>>0)|0)&15){case 0:{n=((s[(n&15)+(33024+((n>>>4&15)<<4))>>0]|0)<<8|(s[(n>>>24&15)+(33024+(n>>>28<<4))>>0]|0)|(s[(n>>>8&15)+(33024+((n>>>12&15)<<4))>>0]|0)<<16|(s[(n>>>16&15)+(33024+((n>>>20&15)<<4))>>0]|0)<<24)^o[34816+(((e|0)/(i|0)|0)<<2)>>2];break}case 4:{n=(s[(n>>>8&15)+(33024+((n>>>12&15)<<4))>>0]|0)<<8|(s[(n&15)+(33024+((n>>>4&15)<<4))>>0]|0)|(s[(n>>>16&15)+(33024+((n>>>20&15)<<4))>>0]|0)<<16|(s[(n>>>24&15)+(33024+(n>>>28<<4))>>0]|0)<<24;break}default:{}}o[t+(r<<2)>>2]=o[t+(r-i<<2)>>2]^n;r=r+1|0}while((r|0)!=(a|0));return}function xo(e){e=e|0;var t=0,n=0,i=0,o=0,a=0,c=0,f=0,u=0;f=e+4|0;i=e+8|0;n=e+12|0;t=s[e>>0]|0;a=s[f>>0]|0;u=s[i>>0]|0;o=s[n>>0]|0;r[e>>0]=r[33280+(o*6|0)+2>>0]^(r[33280+(u*6|0)+4>>0]^(r[33280+(a*6|0)+3>>0]^r[33280+(t*6|0)+5>>0]));r[f>>0]=r[33280+(o*6|0)+4>>0]^(r[33280+(u*6|0)+3>>0]^(r[33280+(a*6|0)+5>>0]^r[33280+(t*6|0)+2>>0]));r[i>>0]=r[33280+(o*6|0)+3>>0]^(r[33280+(u*6|0)+5>>0]^(r[33280+(a*6|0)+2>>0]^r[33280+(t*6|0)+4>>0]));r[n>>0]=r[33280+(o*6|0)+5>>0]^(r[33280+(u*6|0)+2>>0]^(r[33280+(a*6|0)+4>>0]^r[33280+(t*6|0)+3>>0]));n=e+1|0;t=e+5|0;a=e+9|0;u=e+13|0;o=s[n>>0]|0;i=s[t>>0]|0;f=s[a>>0]|0;c=s[u>>0]|0;r[n>>0]=r[33280+(c*6|0)+2>>0]^(r[33280+(f*6|0)+4>>0]^(r[33280+(i*6|0)+3>>0]^r[33280+(o*6|0)+5>>0]));r[t>>0]=r[33280+(c*6|0)+4>>0]^(r[33280+(f*6|0)+3>>0]^(r[33280+(i*6|0)+5>>0]^r[33280+(o*6|0)+2>>0]));r[a>>0]=r[33280+(c*6|0)+3>>0]^(r[33280+(f*6|0)+5>>0]^(r[33280+(i*6|0)+2>>0]^r[33280+(o*6|0)+4>>0]));r[u>>0]=r[33280+(c*6|0)+5>>0]^(r[33280+(f*6|0)+2>>0]^(r[33280+(i*6|0)+4>>0]^r[33280+(o*6|0)+3>>0]));u=e+2|0;o=e+6|0;i=e+10|0;f=e+14|0;c=s[u>>0]|0;a=s[o>>0]|0;t=s[i>>0]|0;n=s[f>>0]|0;r[u>>0]=r[33280+(n*6|0)+2>>0]^(r[33280+(t*6|0)+4>>0]^(r[33280+(a*6|0)+3>>0]^r[33280+(c*6|0)+5>>0]));r[o>>0]=r[33280+(n*6|0)+4>>0]^(r[33280+(t*6|0)+3>>0]^(r[33280+(a*6|0)+5>>0]^r[33280+(c*6|0)+2>>0]));r[i>>0]=r[33280+(n*6|0)+3>>0]^(r[33280+(t*6|0)+5>>0]^(r[33280+(a*6|0)+2>>0]^r[33280+(c*6|0)+4>>0]));r[f>>0]=r[33280+(n*6|0)+5>>0]^(r[33280+(t*6|0)+2>>0]^(r[33280+(a*6|0)+4>>0]^r[33280+(c*6|0)+3>>0]));f=e+3|0;c=e+7|0;a=e+11|0;e=e+15|0;t=s[f>>0]|0;n=s[c>>0]|0;i=s[a>>0]|0;o=s[e>>0]|0;r[f>>0]=r[33280+(o*6|0)+2>>0]^(r[33280+(i*6|0)+4>>0]^(r[33280+(n*6|0)+3>>0]^r[33280+(t*6|0)+5>>0]));r[c>>0]=r[33280+(o*6|0)+4>>0]^(r[33280+(i*6|0)+3>>0]^(r[33280+(n*6|0)+5>>0]^r[33280+(t*6|0)+2>>0]));r[a>>0]=r[33280+(o*6|0)+3>>0]^(r[33280+(i*6|0)+5>>0]^(r[33280+(n*6|0)+2>>0]^r[33280+(t*6|0)+4>>0]));r[e>>0]=r[33280+(o*6|0)+5>>0]^(r[33280+(i*6|0)+2>>0]^(r[33280+(n*6|0)+4>>0]^r[33280+(t*6|0)+3>>0]));return}function Co(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0;L=h;h=h+16|0;D=L;A=r[e>>0]|0;r[D>>0]=A;w=r[e+1>>0]|0;U=D+4|0;r[U>>0]=w;a=r[e+2>>0]|0;k=D+8|0;r[k>>0]=a;c=r[e+3>>0]|0;S=D+12|0;r[S>>0]=c;f=r[e+4>>0]|0;I=D+1|0;r[I>>0]=f;u=r[e+5>>0]|0;T=D+5|0;r[T>>0]=u;l=r[e+6>>0]|0;R=D+9|0;r[R>>0]=l;d=r[e+7>>0]|0;O=D+13|0;r[O>>0]=d;p=r[e+8>>0]|0;x=D+2|0;r[x>>0]=p;m=r[e+9>>0]|0;C=D+6|0;r[C>>0]=m;g=r[e+10>>0]|0;P=D+10|0;r[P>>0]=g;y=r[e+11>>0]|0;M=D+14|0;r[M>>0]=y;b=r[e+12>>0]|0;B=D+3|0;r[B>>0]=b;_=r[e+13>>0]|0;N=D+7|0;r[N>>0]=_;v=r[e+14>>0]|0;j=D+11|0;r[j>>0]=v;e=r[e+15>>0]|0;E=D+15|0;r[E>>0]=e;if((i|0)>128){if((i|0)>192){F=o[n+224>>2]|0;H=F>>>24^A&255;G=F>>>16^w&255;K=F>>>8^a&255;A=F^c&255;F=o[n+228>>2]|0;w=F>>>24^f&255;z=F>>>16^u&255;q=F>>>8^l&255;F=F^d&255;c=o[n+232>>2]|0;a=c>>>24^p&255;p=c>>>16^m&255;i=c>>>8^g&255;c=c^y&255;f=o[n+236>>2]|0;g=f>>>24^b&255;u=f>>>16^_&255;m=f>>>8^v&255;f=f^e&255;_=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[I>>0]=w;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;r[x>>0]=a;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[B>>0]=g;u=r[(u&15)+(34880+((u>>>4&15)<<4))>>0]|0;l=r[(G&15)+(34880+((G>>>4&15)<<4))>>0]|0;d=r[(z&15)+(34880+((z>>>4&15)<<4))>>0]|0;r[C>>0]=d;y=r[(p&15)+(34880+((p>>>4&15)<<4))>>0]|0;r[N>>0]=y;i=r[(i&15)+(34880+((i>>>4&15)<<4))>>0]|0;m=r[(m&15)+(34880+((m>>>4&15)<<4))>>0]|0;v=r[(K&15)+(34880+((K>>>4&15)<<4))>>0]|0;p=r[(q&15)+(34880+((q>>>4&15)<<4))>>0]|0;r[j>>0]=p;e=r[(F&15)+(34880+((F>>>4&15)<<4))>>0]|0;c=r[(c&15)+(34880+((c>>>4&15)<<4))>>0]|0;f=r[(f&15)+(34880+((f>>>4&15)<<4))>>0]|0;A=r[(A&15)+(34880+((A>>>4&15)<<4))>>0]|0;b=o[n+208>>2]|0;r[D>>0]=b>>>24^_&255;r[U>>0]=b>>>16^u&255;r[k>>0]=b>>>8^i&255;r[S>>0]=b^e&255;e=o[n+212>>2]|0;r[I>>0]=e>>>24^w&255;r[T>>0]=e>>>16^l&255;r[R>>0]=e>>>8^m&255;r[O>>0]=e^c&255;c=o[n+216>>2]|0;r[x>>0]=c>>>24^a&255;r[C>>0]=c>>>16^d&255;r[P>>0]=c>>>8^v&255;r[M>>0]=c^f&255;f=o[n+220>>2]|0;r[B>>0]=f>>>24^g&255;r[N>>0]=f>>>16^y&255;r[j>>0]=f>>>8^p&255;r[E>>0]=f^A&255;xo(D);A=r[N>>0]|0;f=r[C>>0]|0;p=r[T>>0]|0;y=r[U>>0]|0;g=r[j>>0]|0;c=r[R>>0]|0;v=r[P>>0]|0;d=r[k>>0]|0;a=r[E>>0]|0;e=r[S>>0]|0;m=r[O>>0]|0;l=r[M>>0]|0;w=s[D>>0]|0;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[D>>0]=w;b=s[I>>0]|0;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[I>>0]=b;i=s[x>>0]|0;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;r[x>>0]=i;u=s[B>>0]|0;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;r[B>>0]=u;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;p=p&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[C>>0]=p;f=f&255;f=r[(f&15)+(34880+(f>>>4<<4))>>0]|0;r[N>>0]=f;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;d=d&255;d=r[(d&15)+(34880+(d>>>4<<4))>>0]|0;c=c&255;c=r[(c&15)+(34880+(c>>>4<<4))>>0]|0;r[j>>0]=c;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;l=l&255;l=r[(l&15)+(34880+(l>>>4<<4))>>0]|0;a=a&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;e=e&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;_=o[n+192>>2]|0;r[D>>0]=_>>>24^w&255;r[U>>0]=_>>>16^A&255;r[k>>0]=_>>>8^v&255;r[S>>0]=_^m&255;m=o[n+196>>2]|0;r[I>>0]=m>>>24^b&255;r[T>>0]=m>>>16^y&255;r[R>>0]=m>>>8^g&255;r[O>>0]=m^l&255;l=o[n+200>>2]|0;r[x>>0]=l>>>24^i&255;r[C>>0]=l>>>16^p&255;r[P>>0]=l>>>8^d&255;r[M>>0]=l^a&255;a=o[n+204>>2]|0;r[B>>0]=a>>>24^u&255;r[N>>0]=a>>>16^f&255;r[j>>0]=a>>>8^c&255;r[E>>0]=a^e&255;xo(D);e=r[D>>0]|0;a=r[I>>0]|0;c=r[x>>0]|0;f=r[B>>0]|0;u=r[N>>0]|0;l=r[U>>0]|0;d=r[T>>0]|0;p=r[C>>0]|0;i=r[P>>0]|0;m=r[j>>0]|0;g=r[k>>0]|0;y=r[R>>0]|0;b=r[O>>0]|0;_=r[M>>0]|0;v=r[E>>0]|0;A=r[S>>0]|0}else{G=o[n+192>>2]|0;V=(G>>>24^A&255)&255;r[D>>0]=V;F=(G>>>16^w&255)&255;r[U>>0]=F;K=(G>>>8^a&255)&255;r[k>>0]=K;A=(G^c&255)&255;r[S>>0]=A;G=o[n+196>>2]|0;a=(G>>>24^f&255)&255;r[I>>0]=a;q=(G>>>16^u&255)&255;r[T>>0]=q;z=(G>>>8^l&255)&255;r[R>>0]=z;G=(G^d&255)&255;r[O>>0]=G;H=o[n+200>>2]|0;c=(H>>>24^p&255)&255;r[x>>0]=c;p=(H>>>16^m&255)&255;r[C>>0]=p;i=(H>>>8^g&255)&255;r[P>>0]=i;H=(H^y&255)&255;r[M>>0]=H;l=o[n+204>>2]|0;f=(l>>>24^b&255)&255;r[B>>0]=f;u=(l>>>16^_&255)&255;r[N>>0]=u;m=(l>>>8^v&255)&255;r[j>>0]=m;v=(l^e&255)&255;r[E>>0]=v;e=V;l=F;d=q;g=K;y=z;b=G;_=H}H=e&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;V=a&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[I>>0]=V;e=c&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;r[x>>0]=e;a=f&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;r[B>>0]=a;u=u&255;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;l=l&255;l=r[(l&15)+(34880+(l>>>4<<4))>>0]|0;d=d&255;d=r[(d&15)+(34880+(d>>>4<<4))>>0]|0;r[C>>0]=d;c=p&255;c=r[(c&15)+(34880+(c>>>4<<4))>>0]|0;r[N>>0]=c;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;p=y&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[j>>0]=p;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;y=_&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;f=v&255;f=r[(f&15)+(34880+(f>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;v=o[n+176>>2]|0;r[D>>0]=v>>>24^H&255;r[U>>0]=v>>>16^u&255;r[k>>0]=v>>>8^i&255;r[S>>0]=v^b&255;v=o[n+180>>2]|0;r[I>>0]=v>>>24^V&255;r[T>>0]=v>>>16^l&255;r[R>>0]=v>>>8^m&255;r[O>>0]=v^y&255;y=o[n+184>>2]|0;r[x>>0]=y>>>24^e&255;r[C>>0]=y>>>16^d&255;r[P>>0]=y>>>8^g&255;r[M>>0]=y^f&255;f=o[n+188>>2]|0;r[B>>0]=f>>>24^a&255;r[N>>0]=f>>>16^c&255;r[j>>0]=f>>>8^p&255;r[E>>0]=f^A&255;xo(D);A=r[N>>0]|0;f=r[C>>0]|0;p=r[T>>0]|0;y=r[U>>0]|0;g=r[j>>0]|0;c=r[R>>0]|0;v=r[P>>0]|0;d=r[k>>0]|0;a=r[E>>0]|0;e=r[S>>0]|0;m=r[O>>0]|0;l=r[M>>0]|0;V=s[D>>0]|0;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[D>>0]=V;b=s[I>>0]|0;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[I>>0]=b;i=s[x>>0]|0;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;r[x>>0]=i;u=s[B>>0]|0;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;r[B>>0]=u;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;p=p&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[C>>0]=p;f=f&255;f=r[(f&15)+(34880+(f>>>4<<4))>>0]|0;r[N>>0]=f;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;d=d&255;d=r[(d&15)+(34880+(d>>>4<<4))>>0]|0;c=c&255;c=r[(c&15)+(34880+(c>>>4<<4))>>0]|0;r[j>>0]=c;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;l=l&255;l=r[(l&15)+(34880+(l>>>4<<4))>>0]|0;a=a&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;e=e&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;_=o[n+160>>2]|0;r[D>>0]=_>>>24^V&255;r[U>>0]=_>>>16^A&255;r[k>>0]=_>>>8^v&255;r[S>>0]=_^m&255;m=o[n+164>>2]|0;r[I>>0]=m>>>24^b&255;r[T>>0]=m>>>16^y&255;r[R>>0]=m>>>8^g&255;r[O>>0]=m^l&255;l=o[n+168>>2]|0;r[x>>0]=l>>>24^i&255;r[C>>0]=l>>>16^p&255;r[P>>0]=l>>>8^d&255;r[M>>0]=l^a&255;a=o[n+172>>2]|0;r[B>>0]=a>>>24^u&255;r[N>>0]=a>>>16^f&255;r[j>>0]=a>>>8^c&255;r[E>>0]=a^e&255;xo(D);e=r[D>>0]|0;a=r[I>>0]|0;c=r[x>>0]|0;f=r[B>>0]|0;u=r[N>>0]|0;l=r[U>>0]|0;d=r[T>>0]|0;p=r[C>>0]|0;i=r[P>>0]|0;m=r[j>>0]|0;g=r[k>>0]|0;y=r[R>>0]|0;b=r[O>>0]|0;_=r[M>>0]|0;v=r[E>>0]|0;A=r[S>>0]|0}else{H=o[n+160>>2]|0;F=(H>>>24^A&255)&255;r[D>>0]=F;q=(H>>>16^w&255)&255;r[U>>0]=q;z=(H>>>8^a&255)&255;r[k>>0]=z;A=(H^c&255)&255;r[S>>0]=A;H=o[n+164>>2]|0;a=(H>>>24^f&255)&255;r[I>>0]=a;K=(H>>>16^u&255)&255;r[T>>0]=K;G=(H>>>8^l&255)&255;r[R>>0]=G;H=(H^d&255)&255;r[O>>0]=H;V=o[n+168>>2]|0;c=(V>>>24^p&255)&255;r[x>>0]=c;p=(V>>>16^m&255)&255;r[C>>0]=p;i=(V>>>8^g&255)&255;r[P>>0]=i;V=(V^y&255)&255;r[M>>0]=V;l=o[n+172>>2]|0;f=(l>>>24^b&255)&255;r[B>>0]=f;u=(l>>>16^_&255)&255;r[N>>0]=u;m=(l>>>8^v&255)&255;r[j>>0]=m;v=(l^e&255)&255;r[E>>0]=v;e=F;l=q;d=K;g=z;y=G;b=H;_=V}e=e&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;a=a&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;r[I>>0]=a;w=c&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[x>>0]=w;V=f&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[B>>0]=V;u=u&255;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;K=l&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;H=d&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;r[C>>0]=H;G=p&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[N>>0]=G;p=i&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;F=g&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;q=y&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[j>>0]=q;i=b&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;b=_&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;z=v&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;_=A&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;A=o[n+144>>2]|0;r[D>>0]=A>>>24^e&255;r[U>>0]=A>>>16^u&255;r[k>>0]=A>>>8^p&255;r[S>>0]=A^i&255;A=o[n+148>>2]|0;r[I>>0]=A>>>24^a&255;r[T>>0]=A>>>16^K&255;r[R>>0]=A>>>8^m&255;r[O>>0]=A^b&255;A=o[n+152>>2]|0;r[x>>0]=A>>>24^w&255;r[C>>0]=A>>>16^H&255;r[P>>0]=A>>>8^F&255;r[M>>0]=A^z&255;z=o[n+156>>2]|0;r[B>>0]=z>>>24^V&255;r[N>>0]=z>>>16^G&255;r[j>>0]=z>>>8^q&255;r[E>>0]=z^_&255;xo(D);_=r[N>>0]|0;z=r[C>>0]|0;q=r[T>>0]|0;G=r[U>>0]|0;A=r[j>>0]|0;b=r[R>>0]|0;V=r[P>>0]|0;F=r[k>>0]|0;m=r[E>>0]|0;H=r[S>>0]|0;i=r[O>>0]|0;w=r[M>>0]|0;g=s[D>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[D>>0]=g;p=s[I>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[I>>0]=p;K=s[x>>0]|0;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[x>>0]=K;v=s[B>>0]|0;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;r[B>>0]=v;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[C>>0]=q;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[N>>0]=z;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[j>>0]=b;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;y=o[n+128>>2]|0;r[D>>0]=y>>>24^g&255;r[U>>0]=y>>>16^_&255;r[k>>0]=y>>>8^V&255;r[S>>0]=y^i&255;i=o[n+132>>2]|0;r[I>>0]=i>>>24^p&255;r[T>>0]=i>>>16^G&255;r[R>>0]=i>>>8^A&255;r[O>>0]=i^w&255;w=o[n+136>>2]|0;r[x>>0]=w>>>24^K&255;r[C>>0]=w>>>16^q&255;r[P>>0]=w>>>8^F&255;r[M>>0]=w^m&255;m=o[n+140>>2]|0;r[B>>0]=m>>>24^v&255;r[N>>0]=m>>>16^z&255;r[j>>0]=m>>>8^b&255;r[E>>0]=m^H&255;xo(D);H=r[N>>0]|0;m=r[C>>0]|0;b=r[T>>0]|0;z=r[U>>0]|0;v=r[j>>0]|0;w=r[R>>0]|0;F=r[P>>0]|0;q=r[k>>0]|0;K=r[E>>0]|0;i=r[S>>0]|0;A=r[O>>0]|0;G=r[M>>0]|0;p=s[D>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[D>>0]=p;y=s[I>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[I>>0]=y;V=s[x>>0]|0;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[x>>0]=V;_=s[B>>0]|0;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;r[B>>0]=_;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[C>>0]=b;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[N>>0]=m;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[j>>0]=w;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;g=o[n+112>>2]|0;r[D>>0]=g>>>24^p&255;r[U>>0]=g>>>16^H&255;r[k>>0]=g>>>8^F&255;r[S>>0]=g^A&255;A=o[n+116>>2]|0;r[I>>0]=A>>>24^y&255;r[T>>0]=A>>>16^z&255;r[R>>0]=A>>>8^v&255;r[O>>0]=A^G&255;G=o[n+120>>2]|0;r[x>>0]=G>>>24^V&255;r[C>>0]=G>>>16^b&255;r[P>>0]=G>>>8^q&255;r[M>>0]=G^K&255;K=o[n+124>>2]|0;r[B>>0]=K>>>24^_&255;r[N>>0]=K>>>16^m&255;r[j>>0]=K>>>8^w&255;r[E>>0]=K^i&255;xo(D);i=r[N>>0]|0;K=r[C>>0]|0;w=r[T>>0]|0;m=r[U>>0]|0;_=r[j>>0]|0;G=r[R>>0]|0;q=r[P>>0]|0;b=r[k>>0]|0;V=r[E>>0]|0;A=r[S>>0]|0;v=r[O>>0]|0;z=r[M>>0]|0;y=s[D>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[D>>0]=y;g=s[I>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[I>>0]=g;F=s[x>>0]|0;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[x>>0]=F;H=s[B>>0]|0;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;r[B>>0]=H;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[C>>0]=w;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[N>>0]=K;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[j>>0]=G;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;p=o[n+96>>2]|0;r[D>>0]=p>>>24^y&255;r[U>>0]=p>>>16^i&255;r[k>>0]=p>>>8^q&255;r[S>>0]=p^v&255;v=o[n+100>>2]|0;r[I>>0]=v>>>24^g&255;r[T>>0]=v>>>16^m&255;r[R>>0]=v>>>8^_&255;r[O>>0]=v^z&255;z=o[n+104>>2]|0;r[x>>0]=z>>>24^F&255;r[C>>0]=z>>>16^w&255;r[P>>0]=z>>>8^b&255;r[M>>0]=z^V&255;V=o[n+108>>2]|0;r[B>>0]=V>>>24^H&255;r[N>>0]=V>>>16^K&255;r[j>>0]=V>>>8^G&255;r[E>>0]=V^A&255;xo(D);A=r[N>>0]|0;V=r[C>>0]|0;G=r[T>>0]|0;K=r[U>>0]|0;H=r[j>>0]|0;z=r[R>>0]|0;b=r[P>>0]|0;w=r[k>>0]|0;F=r[E>>0]|0;v=r[S>>0]|0;_=r[O>>0]|0;m=r[M>>0]|0;g=s[D>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[D>>0]=g;p=s[I>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[I>>0]=p;q=s[x>>0]|0;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[x>>0]=q;i=s[B>>0]|0;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;r[B>>0]=i;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[C>>0]=G;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[N>>0]=V;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[j>>0]=z;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;y=o[n+80>>2]|0;r[D>>0]=y>>>24^g&255;r[U>>0]=y>>>16^A&255;r[k>>0]=y>>>8^b&255;r[S>>0]=y^_&255;_=o[n+84>>2]|0;r[I>>0]=_>>>24^p&255;r[T>>0]=_>>>16^K&255;r[R>>0]=_>>>8^H&255;r[O>>0]=_^m&255;m=o[n+88>>2]|0;r[x>>0]=m>>>24^q&255;r[C>>0]=m>>>16^G&255;r[P>>0]=m>>>8^w&255;r[M>>0]=m^F&255;F=o[n+92>>2]|0;r[B>>0]=F>>>24^i&255;r[N>>0]=F>>>16^V&255;r[j>>0]=F>>>8^z&255;r[E>>0]=F^v&255;xo(D);v=r[N>>0]|0;F=r[C>>0]|0;z=r[T>>0]|0;V=r[U>>0]|0;i=r[j>>0]|0;m=r[R>>0]|0;w=r[P>>0]|0;G=r[k>>0]|0;q=r[E>>0]|0;_=r[S>>0]|0;H=r[O>>0]|0;K=r[M>>0]|0;p=s[D>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[D>>0]=p;y=s[I>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[I>>0]=y;b=s[x>>0]|0;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[x>>0]=b;A=s[B>>0]|0;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;r[B>>0]=A;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[C>>0]=z;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[N>>0]=F;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[j>>0]=m;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;g=o[n+64>>2]|0;r[D>>0]=g>>>24^p&255;r[U>>0]=g>>>16^v&255;r[k>>0]=g>>>8^w&255;r[S>>0]=g^H&255;H=o[n+68>>2]|0;r[I>>0]=H>>>24^y&255;r[T>>0]=H>>>16^V&255;r[R>>0]=H>>>8^i&255;r[O>>0]=H^K&255;K=o[n+72>>2]|0;r[x>>0]=K>>>24^b&255;r[C>>0]=K>>>16^z&255;r[P>>0]=K>>>8^G&255;r[M>>0]=K^q&255;q=o[n+76>>2]|0;r[B>>0]=q>>>24^A&255;r[N>>0]=q>>>16^F&255;r[j>>0]=q>>>8^m&255;r[E>>0]=q^_&255;xo(D);_=r[N>>0]|0;q=r[C>>0]|0;m=r[T>>0]|0;F=r[U>>0]|0;A=r[j>>0]|0;K=r[R>>0]|0;G=r[P>>0]|0;z=r[k>>0]|0;b=r[E>>0]|0;H=r[S>>0]|0;i=r[O>>0]|0;V=r[M>>0]|0;y=s[D>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[D>>0]=y;g=s[I>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[I>>0]=g;w=s[x>>0]|0;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[x>>0]=w;v=s[B>>0]|0;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;r[B>>0]=v;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[C>>0]=m;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[N>>0]=q;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[j>>0]=K;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;p=o[n+48>>2]|0;r[D>>0]=p>>>24^y&255;r[U>>0]=p>>>16^_&255;r[k>>0]=p>>>8^G&255;r[S>>0]=p^i&255;i=o[n+52>>2]|0;r[I>>0]=i>>>24^g&255;r[T>>0]=i>>>16^F&255;r[R>>0]=i>>>8^A&255;r[O>>0]=i^V&255;V=o[n+56>>2]|0;r[x>>0]=V>>>24^w&255;r[C>>0]=V>>>16^m&255;r[P>>0]=V>>>8^z&255;r[M>>0]=V^b&255;b=o[n+60>>2]|0;r[B>>0]=b>>>24^v&255;r[N>>0]=b>>>16^q&255;r[j>>0]=b>>>8^K&255;r[E>>0]=b^H&255;xo(D);H=r[N>>0]|0;b=r[C>>0]|0;K=r[T>>0]|0;q=r[U>>0]|0;v=r[j>>0]|0;V=r[R>>0]|0;z=r[P>>0]|0;m=r[k>>0]|0;w=r[E>>0]|0;i=r[S>>0]|0;A=r[O>>0]|0;F=r[M>>0]|0;g=s[D>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[D>>0]=g;p=s[I>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[I>>0]=p;G=s[x>>0]|0;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[x>>0]=G;_=s[B>>0]|0;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;r[B>>0]=_;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[C>>0]=K;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[N>>0]=b;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[j>>0]=V;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;y=o[n+32>>2]|0;r[D>>0]=y>>>24^g&255;r[U>>0]=y>>>16^H&255;r[k>>0]=y>>>8^z&255;r[S>>0]=y^A&255;A=o[n+36>>2]|0;r[I>>0]=A>>>24^p&255;r[T>>0]=A>>>16^q&255;r[R>>0]=A>>>8^v&255;r[O>>0]=A^F&255;F=o[n+40>>2]|0;r[x>>0]=F>>>24^G&255;r[C>>0]=F>>>16^K&255;r[P>>0]=F>>>8^m&255;r[M>>0]=F^w&255;w=o[n+44>>2]|0;r[B>>0]=w>>>24^_&255;r[N>>0]=w>>>16^b&255;r[j>>0]=w>>>8^V&255;r[E>>0]=w^i&255;xo(D);i=r[N>>0]|0;w=r[C>>0]|0;V=r[T>>0]|0;b=r[U>>0]|0;_=r[j>>0]|0;F=r[R>>0]|0;m=r[P>>0]|0;K=r[k>>0]|0;G=r[E>>0]|0;A=r[S>>0]|0;v=r[O>>0]|0;q=r[M>>0]|0;p=s[D>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[D>>0]=p;y=s[I>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[I>>0]=y;z=s[x>>0]|0;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[x>>0]=z;H=s[B>>0]|0;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;r[B>>0]=H;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[C>>0]=V;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[N>>0]=w;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[j>>0]=F;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;g=o[n+16>>2]|0;r[D>>0]=g>>>24^p&255;r[U>>0]=g>>>16^i&255;r[k>>0]=g>>>8^m&255;r[S>>0]=g^v&255;v=o[n+20>>2]|0;r[I>>0]=v>>>24^y&255;r[T>>0]=v>>>16^b&255;r[R>>0]=v>>>8^_&255;r[O>>0]=v^q&255;q=o[n+24>>2]|0;r[x>>0]=q>>>24^z&255;r[C>>0]=q>>>16^V&255;r[P>>0]=q>>>8^K&255;r[M>>0]=q^G&255;G=o[n+28>>2]|0;r[B>>0]=G>>>24^H&255;r[N>>0]=G>>>16^w&255;r[j>>0]=G>>>8^F&255;r[E>>0]=G^A&255;xo(D);A=r[N>>0]|0;G=r[C>>0]|0;F=r[T>>0]|0;w=r[U>>0]|0;T=r[j>>0]|0;H=r[R>>0]|0;P=r[P>>0]|0;q=r[k>>0]|0;K=r[E>>0]|0;V=r[S>>0]|0;C=r[O>>0]|0;N=r[M>>0]|0;R=s[D>>0]|0;R=r[(R&15)+(34880+(R>>>4<<4))>>0]|0;r[D>>0]=R;M=s[I>>0]|0;M=r[(M&15)+(34880+(M>>>4<<4))>>0]|0;r[I>>0]=M;U=s[x>>0]|0;U=r[(U&15)+(34880+(U>>>4<<4))>>0]|0;r[x>>0]=U;z=s[B>>0]|0;O=A&255;D=w&255;F=F&255;G=G&255;x=P&255;B=T&255;q=q&255;H=H&255;C=C&255;N=N&255;K=K&255;V=V&255;T=o[n>>2]|0;O=(T>>>16^(s[(O&15)+(34880+(O>>>4<<4))>>0]|0))&255;x=(T>>>8^(s[(x&15)+(34880+(x>>>4<<4))>>0]|0))&255;C=(T^(s[(C&15)+(34880+(C>>>4<<4))>>0]|0))&255;P=o[n+4>>2]|0;D=(P>>>16^(s[(D&15)+(34880+(D>>>4<<4))>>0]|0))&255;B=(P>>>8^(s[(B&15)+(34880+(B>>>4<<4))>>0]|0))&255;N=(P^(s[(N&15)+(34880+(N>>>4<<4))>>0]|0))&255;j=o[n+8>>2]|0;F=(j>>>16^(s[(F&15)+(34880+(F>>>4<<4))>>0]|0))&255;q=(j>>>8^(s[(q&15)+(34880+(q>>>4<<4))>>0]|0))&255;K=(j^(s[(K&15)+(34880+(K>>>4<<4))>>0]|0))&255;n=o[n+12>>2]|0;z=(n>>>24^(s[(z&15)+(34880+(z>>>4<<4))>>0]|0))&255;G=(n>>>16^(s[(G&15)+(34880+(G>>>4<<4))>>0]|0))&255;H=(n>>>8^(s[(H&15)+(34880+(H>>>4<<4))>>0]|0))&255;V=(n^(s[(V&15)+(34880+(V>>>4<<4))>>0]|0))&255;r[t>>0]=T>>>24^R&255;r[t+1>>0]=O;r[t+2>>0]=x;r[t+3>>0]=C;r[t+4>>0]=P>>>24^M&255;r[t+5>>0]=D;r[t+6>>0]=B;r[t+7>>0]=N;r[t+8>>0]=j>>>24^U&255;r[t+9>>0]=F;r[t+10>>0]=q;r[t+11>>0]=K;r[t+12>>0]=z;r[t+13>>0]=G;r[t+14>>0]=H;r[t+15>>0]=V;h=L;return}function Po(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0,at=0,ct=0,ft=0,ut=0,lt=0,dt=0,ht=0,pt=0,mt=0,gt=0,yt=0,bt=0,_t=0,vt=0,At=0,wt=0,Et=0,kt=0,St=0,It=0,Tt=0,Rt=0,Ot=0,xt=0,Ct=0,Pt=0,Mt=0,Dt=0,Bt=0,Nt=0,jt=0,Ut=0,Lt=0,Ft=0,qt=0;Pt=h;h=h+2768|0;bt=Pt+2608|0;_t=Pt+2448|0;xt=Pt+2288|0;vt=Pt+2128|0;At=Pt+1968|0;wt=Pt+1808|0;Ct=Pt+1648|0;Et=Pt+1488|0;kt=Pt+1328|0;St=Pt+1168|0;f=Pt+1008|0;c=Pt+848|0;a=Pt+688|0;i=Pt+528|0;It=Pt+368|0;at=Pt+288|0;Tt=Pt+208|0;Rt=Pt+112|0;Ot=Pt+32|0;ct=Pt;st=ct;ot=st+32|0;do{r[st>>0]=r[t>>0]|0;st=st+1|0;t=t+1|0}while((st|0)<(ot|0));r[ct>>0]=r[ct>>0]&-8;st=ct+31|0;r[st>>0]=r[st>>0]&63|64;st=s[n>>0]|0;pt=Cs(s[n+1>>0]|0|0,0,8)|0;ht=I;gt=Cs(s[n+2>>0]|0|0,0,16)|0;ht=ht|I;mt=s[n+3>>0]|0;ot=Cs(mt|0,0,24)|0;yt=at;o[yt>>2]=pt|st|gt|ot&50331648;o[yt+4>>2]=ht;yt=Cs(s[n+4>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+5>>0]|0|0,0,16)|0;ht=ht|I;gt=s[n+6>>0]|0;st=Cs(gt|0,0,24)|0;ht=xs(yt|mt|ot|st|0,ht|I|0,2)|0;st=at+8|0;o[st>>2]=ht&33554431;o[st+4>>2]=0;st=Cs(s[n+7>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+8>>0]|0|0,0,16)|0;ht=ht|I;mt=s[n+9>>0]|0;yt=Cs(mt|0,0,24)|0;ht=xs(st|gt|ot|yt|0,ht|I|0,3)|0;yt=at+16|0;o[yt>>2]=ht&67108863;o[yt+4>>2]=0;yt=Cs(s[n+10>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+11>>0]|0|0,0,16)|0;ht=ht|I;gt=s[n+12>>0]|0;st=Cs(gt|0,0,24)|0;ht=xs(yt|mt|ot|st|0,ht|I|0,5)|0;st=at+24|0;o[st>>2]=ht&33554431;o[st+4>>2]=0;st=Cs(s[n+13>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+14>>0]|0|0,0,16)|0;ht=ht|I;mt=Cs(s[n+15>>0]|0|0,0,24)|0;ht=xs(st|gt|ot|mt|0,ht|I|0,6)|0;mt=at+32|0;o[mt>>2]=ht&67108863;o[mt+4>>2]=0;mt=s[n+16>>0]|0;ht=Cs(s[n+17>>0]|0|0,0,8)|0;ot=I;gt=Cs(s[n+18>>0]|0|0,0,16)|0;ot=ot|I;st=s[n+19>>0]|0;yt=Cs(st|0,0,24)|0;pt=at+40|0;o[pt>>2]=ht|mt|gt|yt&16777216;o[pt+4>>2]=ot;pt=Cs(s[n+20>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+21>>0]|0|0,0,16)|0;ot=ot|I;gt=s[n+22>>0]|0;mt=Cs(gt|0,0,24)|0;ot=xs(pt|st|yt|mt|0,ot|I|0,1)|0;mt=at+48|0;o[mt>>2]=ot&67108863;o[mt+4>>2]=0;mt=Cs(s[n+23>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+24>>0]|0|0,0,16)|0;ot=ot|I;st=s[n+25>>0]|0;pt=Cs(st|0,0,24)|0;ot=xs(mt|gt|yt|pt|0,ot|I|0,3)|0;pt=at+56|0;o[pt>>2]=ot&33554431;o[pt+4>>2]=0;pt=Cs(s[n+26>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+27>>0]|0|0,0,16)|0;ot=ot|I;gt=s[n+28>>0]|0;mt=Cs(gt|0,0,24)|0;ot=xs(pt|st|yt|mt|0,ot|I|0,4)|0;mt=at+64|0;o[mt>>2]=ot&67108863;o[mt+4>>2]=0;mt=Cs(s[n+29>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+30>>0]|0|0,0,16)|0;ot=ot|I;st=Cs(s[n+31>>0]|0|0,0,24)|0;ot=xs(mt|gt|yt|st|0,ot|I|0,6)|0;st=at+72|0;o[st>>2]=ot&33554431;o[st+4>>2]=0;Ds(Et|0,0,152)|0;st=Et;o[st>>2]=1;o[st+4>>2]=0;Ds(kt|0,0,152)|0;st=kt;o[st>>2]=1;o[st+4>>2]=0;Ds(St|0,0,152)|0;Ds(f|0,0,152)|0;Ds(c|0,0,152)|0;st=c;o[st>>2]=1;o[st+4>>2]=0;Ds(a|0,0,152)|0;Ds(i|0,0,152)|0;st=i;o[st>>2]=1;o[st+4>>2]=0;st=Ct+80|0;ot=st+72|0;do{o[st>>2]=0;st=st+4|0}while((st|0)<(ot|0));st=Ct;t=at;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));oe=xt+144|0;se=xt+64|0;ae=xt+136|0;ce=xt+56|0;fe=xt+128|0;ue=xt+48|0;le=xt+120|0;de=xt+40|0;he=xt+112|0;pe=xt+32|0;me=xt+104|0;ge=xt+24|0;ye=xt+96|0;be=xt+16|0;_e=xt+88|0;ve=xt+8|0;Ae=xt+80|0;we=vt+144|0;Ee=vt+64|0;ke=vt+136|0;Se=vt+56|0;Ie=vt+128|0;Te=vt+48|0;Re=vt+120|0;Oe=vt+40|0;xe=vt+112|0;Ce=vt+32|0;Pe=vt+104|0;Me=vt+24|0;De=vt+96|0;Be=vt+16|0;Ne=vt+88|0;je=vt+8|0;Ue=vt+80|0;ie=xt+72|0;Le=vt+72|0;Fe=bt+8|0;qe=_t+8|0;Ke=bt+16|0;ze=_t+16|0;Ge=bt+24|0;He=_t+24|0;Ve=bt+32|0;Qe=_t+32|0;We=bt+40|0;Ye=_t+40|0;Xe=bt+48|0;Je=_t+48|0;Ze=bt+56|0;$e=_t+56|0;et=bt+64|0;tt=_t+64|0;nt=bt+72|0;rt=_t+72|0;ft=It+80|0;ut=It+8|0;lt=It+16|0;dt=It+24|0;ht=It+32|0;pt=It+40|0;mt=It+48|0;gt=It+56|0;yt=It+64|0;it=It+72|0;d=Ct;re=0;t=f;n=Et;f=St;u=kt;while(1){l=r[ct+(31-re)>>0]|0;$=0;ee=i;te=a;ne=c;J=t;c=n;i=f;a=u;Z=d;while(1){Y=l&255;X=Y>>>7;Mo(a,Z,X,0);Mo(i,c,X,0);E=a;u=o[E>>2]|0;E=o[E+4>>2]|0;V=a+8|0;G=V;P=o[G>>2]|0;G=o[G+4>>2]|0;Nt=a+16|0;T=Nt;S=o[T>>2]|0;T=o[T+4>>2]|0;R=a+24|0;Mt=R;Q=o[Mt>>2]|0;Mt=o[Mt+4>>2]|0;_=a+32|0;v=_;jt=o[v>>2]|0;v=o[v+4>>2]|0;y=a+40|0;l=y;O=o[l>>2]|0;l=o[l+4>>2]|0;z=a+48|0;ot=z;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;B=a+56|0;x=B;F=o[x>>2]|0;x=o[x+4>>2]|0;Ut=a+64|0;A=Ut;U=o[A>>2]|0;A=o[A+4>>2]|0;g=a+72|0;Dt=g;Bt=o[Dt>>2]|0;Dt=o[Dt+4>>2]|0;k=i;j=o[k>>2]|0;k=o[k+4>>2]|0;b=ks(j|0,k|0,u|0,E|0)|0;p=a;o[p>>2]=b;o[p+4>>2]=I;p=i+8|0;b=p;H=o[b>>2]|0;b=o[b+4>>2]|0;D=ks(H|0,b|0,P|0,G|0)|0;o[V>>2]=D;o[V+4>>2]=I;V=i+16|0;D=V;L=o[D>>2]|0;D=o[D+4>>2]|0;f=ks(L|0,D|0,S|0,T|0)|0;o[Nt>>2]=f;o[Nt+4>>2]=I;Nt=i+24|0;f=Nt;n=o[f>>2]|0;f=o[f+4>>2]|0;Ft=ks(n|0,f|0,Q|0,Mt|0)|0;o[R>>2]=Ft;o[R+4>>2]=I;R=i+32|0;Ft=R;m=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;N=ks(m|0,Ft|0,jt|0,v|0)|0;o[_>>2]=N;o[_+4>>2]=I;_=i+40|0;N=_;q=o[N>>2]|0;N=o[N+4>>2]|0;w=ks(q|0,N|0,O|0,l|0)|0;o[y>>2]=w;o[y+4>>2]=I;y=i+48|0;w=y;M=o[w>>2]|0;w=o[w+4>>2]|0;d=ks(M|0,w|0,W|0,ot|0)|0;o[z>>2]=d;o[z+4>>2]=I;z=i+56|0;d=z;C=o[d>>2]|0;d=o[d+4>>2]|0;st=ks(C|0,d|0,F|0,x|0)|0;o[B>>2]=st;o[B+4>>2]=I;B=i+64|0;st=B;t=o[st>>2]|0;st=o[st+4>>2]|0;Lt=ks(t|0,st|0,U|0,A|0)|0;o[Ut>>2]=Lt;o[Ut+4>>2]=I;Ut=i+72|0;Lt=Ut;K=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;qt=ks(K|0,Lt|0,Bt|0,Dt|0)|0;o[g>>2]=qt;o[g+4>>2]=I;k=Ss(u|0,E|0,j|0,k|0)|0;j=i;o[j>>2]=k;o[j+4>>2]=I;b=Ss(P|0,G|0,H|0,b|0)|0;o[p>>2]=b;o[p+4>>2]=I;D=Ss(S|0,T|0,L|0,D|0)|0;o[V>>2]=D;o[V+4>>2]=I;f=Ss(Q|0,Mt|0,n|0,f|0)|0;o[Nt>>2]=f;o[Nt+4>>2]=I;Ft=Ss(jt|0,v|0,m|0,Ft|0)|0;o[R>>2]=Ft;o[R+4>>2]=I;N=Ss(O|0,l|0,q|0,N|0)|0;o[_>>2]=N;o[_+4>>2]=I;w=Ss(W|0,ot|0,M|0,w|0)|0;o[y>>2]=w;o[y+4>>2]=I;d=Ss(F|0,x|0,C|0,d|0)|0;o[z>>2]=d;o[z+4>>2]=I;st=Ss(U|0,A|0,t|0,st|0)|0;o[B>>2]=st;o[B+4>>2]=I;Lt=Ss(Bt|0,Dt|0,K|0,Lt|0)|0;o[Ut>>2]=Lt;o[Ut+4>>2]=I;Ut=Z;Lt=o[Ut>>2]|0;Ut=o[Ut+4>>2]|0;K=Z+8|0;Dt=K;Bt=o[Dt>>2]|0;Dt=o[Dt+4>>2]|0;B=Z+16|0;st=B;t=o[st>>2]|0;st=o[st+4>>2]|0;A=Z+24|0;U=A;z=o[U>>2]|0;U=o[U+4>>2]|0;d=Z+32|0;C=d;x=o[C>>2]|0;C=o[C+4>>2]|0;F=Z+40|0;y=F;w=o[y>>2]|0;y=o[y+4>>2]|0;M=Z+48|0;ot=M;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;_=Z+56|0;N=_;q=o[N>>2]|0;N=o[N+4>>2]|0;l=Z+64|0;O=l;R=o[O>>2]|0;O=o[O+4>>2]|0;Ft=Z+72|0;m=Ft;v=o[m>>2]|0;m=o[m+4>>2]|0;jt=c;Nt=o[jt>>2]|0;jt=o[jt+4>>2]|0;f=ks(Nt|0,jt|0,Lt|0,Ut|0)|0;n=Z;o[n>>2]=f;o[n+4>>2]=I;n=c+8|0;f=n;Mt=o[f>>2]|0;f=o[f+4>>2]|0;Q=ks(Mt|0,f|0,Bt|0,Dt|0)|0;o[K>>2]=Q;o[K+4>>2]=I;K=c+16|0;Q=K;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;D=ks(V|0,Q|0,t|0,st|0)|0;o[B>>2]=D;o[B+4>>2]=I;B=c+24|0;D=B;L=o[D>>2]|0;D=o[D+4>>2]|0;T=ks(L|0,D|0,z|0,U|0)|0;o[A>>2]=T;o[A+4>>2]=I;A=c+32|0;T=A;S=o[T>>2]|0;T=o[T+4>>2]|0;p=ks(S|0,T|0,x|0,C|0)|0;o[d>>2]=p;o[d+4>>2]=I;d=c+40|0;p=d;b=o[p>>2]|0;p=o[p+4>>2]|0;H=ks(b|0,p|0,w|0,y|0)|0;o[F>>2]=H;o[F+4>>2]=I;F=c+48|0;H=F;G=o[H>>2]|0;H=o[H+4>>2]|0;P=ks(G|0,H|0,W|0,ot|0)|0;o[M>>2]=P;o[M+4>>2]=I;M=c+56|0;P=M;j=o[P>>2]|0;P=o[P+4>>2]|0;k=ks(j|0,P|0,q|0,N|0)|0;o[_>>2]=k;o[_+4>>2]=I;_=c+64|0;k=_;E=o[k>>2]|0;k=o[k+4>>2]|0;u=ks(E|0,k|0,R|0,O|0)|0;o[l>>2]=u;o[l+4>>2]=I;l=c+72|0;u=l;g=o[u>>2]|0;u=o[u+4>>2]|0;qt=ks(g|0,u|0,v|0,m|0)|0;o[Ft>>2]=qt;o[Ft+4>>2]=I;jt=Ss(Lt|0,Ut|0,Nt|0,jt|0)|0;Nt=c;o[Nt>>2]=jt;o[Nt+4>>2]=I;f=Ss(Bt|0,Dt|0,Mt|0,f|0)|0;o[n>>2]=f;o[n+4>>2]=I;Q=Ss(t|0,st|0,V|0,Q|0)|0;o[K>>2]=Q;o[K+4>>2]=I;D=Ss(z|0,U|0,L|0,D|0)|0;o[B>>2]=D;o[B+4>>2]=I;T=Ss(x|0,C|0,S|0,T|0)|0;o[A>>2]=T;o[A+4>>2]=I;p=Ss(w|0,y|0,b|0,p|0)|0;o[d>>2]=p;o[d+4>>2]=I;H=Ss(W|0,ot|0,G|0,H|0)|0;o[F>>2]=H;o[F+4>>2]=I;P=Ss(q|0,N|0,j|0,P|0)|0;o[M>>2]=P;o[M+4>>2]=I;k=Ss(R|0,O|0,E|0,k|0)|0;o[_>>2]=k;o[_+4>>2]=I;u=Ss(v|0,m|0,g|0,u|0)|0;o[l>>2]=u;o[l+4>>2]=I;Do(xt,Z,i);Do(vt,a,c);l=oe;u=o[l>>2]|0;l=o[l+4>>2]|0;g=se;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=se;o[v>>2]=_;o[v+4>>2]=I;v=ae;_=o[v>>2]|0;v=o[v+4>>2]|0;l=ce;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=ce;o[g>>2]=m;o[g+4>>2]=I;g=fe;m=o[g>>2]|0;g=o[g+4>>2]|0;v=ue;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=ue;o[l>>2]=u;o[l+4>>2]=I;l=le;u=o[l>>2]|0;l=o[l+4>>2]|0;g=de;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=de;o[v>>2]=_;o[v+4>>2]=I;v=he;_=o[v>>2]|0;v=o[v+4>>2]|0;l=pe;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=pe;o[g>>2]=m;o[g+4>>2]=I;g=me;m=o[g>>2]|0;g=o[g+4>>2]|0;v=ge;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=ge;o[l>>2]=u;o[l+4>>2]=I;l=ye;u=o[l>>2]|0;l=o[l+4>>2]|0;g=be;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=be;o[v>>2]=_;o[v+4>>2]=I;v=_e;_=o[v>>2]|0;v=o[v+4>>2]|0;l=ve;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=ve;o[g>>2]=m;o[g+4>>2]=I;g=Ae;m=o[g>>2]|0;g=o[g+4>>2]|0;v=xt;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=xt;o[l>>2]=u;o[l+4>>2]=I;Bo(xt);l=we;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Ee;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=Ee;o[v>>2]=_;o[v+4>>2]=I;v=ke;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Se;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=Se;o[g>>2]=m;o[g+4>>2]=I;g=Ie;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Te;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=Te;o[l>>2]=u;o[l+4>>2]=I;l=Re;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Oe;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=Oe;o[v>>2]=_;o[v+4>>2]=I;v=xe;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Ce;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=Ce;o[g>>2]=m;o[g+4>>2]=I;g=Pe;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Me;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=Me;o[l>>2]=u;o[l+4>>2]=I;l=De;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Be;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=Be;o[v>>2]=_;o[v+4>>2]=I;v=Ne;_=o[v>>2]|0;v=o[v+4>>2]|0;l=je;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=je;o[g>>2]=m;o[g+4>>2]=I;g=Ue;m=o[g>>2]|0;g=o[g+4>>2]|0;v=vt;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=vt;o[l>>2]=u;o[l+4>>2]=I;Bo(vt);l=xt;u=o[l>>2]|0;l=o[l+4>>2]|0;g=ve;m=o[g>>2]|0;g=o[g+4>>2]|0;v=be;_=o[v>>2]|0;v=o[v+4>>2]|0;k=ge;E=o[k>>2]|0;k=o[k+4>>2]|0;O=pe;R=o[O>>2]|0;O=o[O+4>>2]|0;M=de;P=o[M>>2]|0;M=o[M+4>>2]|0;j=ue;N=o[j>>2]|0;j=o[j+4>>2]|0;q=ce;F=o[q>>2]|0;q=o[q+4>>2]|0;H=se;G=o[H>>2]|0;H=o[H+4>>2]|0;ot=ie;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;d=vt;p=o[d>>2]|0;d=o[d+4>>2]|0;b=ks(p|0,d|0,u|0,l|0)|0;y=xt;o[y>>2]=b;o[y+4>>2]=I;y=je;b=o[y>>2]|0;y=o[y+4>>2]|0;w=ks(b|0,y|0,m|0,g|0)|0;A=ve;o[A>>2]=w;o[A+4>>2]=I;A=Be;w=o[A>>2]|0;A=o[A+4>>2]|0;T=ks(w|0,A|0,_|0,v|0)|0;S=be;o[S>>2]=T;o[S+4>>2]=I;S=Me;T=o[S>>2]|0;S=o[S+4>>2]|0;C=ks(T|0,S|0,E|0,k|0)|0;x=ge;o[x>>2]=C;o[x+4>>2]=I;x=Ce;C=o[x>>2]|0;x=o[x+4>>2]|0;B=ks(C|0,x|0,R|0,O|0)|0;D=pe;o[D>>2]=B;o[D+4>>2]=I;D=Oe;B=o[D>>2]|0;D=o[D+4>>2]|0;L=ks(B|0,D|0,P|0,M|0)|0;U=de;o[U>>2]=L;o[U+4>>2]=I;U=Te;L=o[U>>2]|0;U=o[U+4>>2]|0;z=ks(L|0,U|0,N|0,j|0)|0;K=ue;o[K>>2]=z;o[K+4>>2]=I;K=Se;z=o[K>>2]|0;K=o[K+4>>2]|0;Q=ks(z|0,K|0,F|0,q|0)|0;V=ce;o[V>>2]=Q;o[V+4>>2]=I;V=Ee;Q=o[V>>2]|0;V=o[V+4>>2]|0;st=ks(Q|0,V|0,G|0,H|0)|0;t=se;o[t>>2]=st;o[t+4>>2]=I;t=Le;st=o[t>>2]|0;t=o[t+4>>2]|0;n=ks(st|0,t|0,W|0,ot|0)|0;f=ie;o[f>>2]=n;o[f+4>>2]=I;d=Ss(u|0,l|0,p|0,d|0)|0;p=vt;o[p>>2]=d;o[p+4>>2]=I;y=Ss(m|0,g|0,b|0,y|0)|0;b=je;o[b>>2]=y;o[b+4>>2]=I;A=Ss(_|0,v|0,w|0,A|0)|0;w=Be;o[w>>2]=A;o[w+4>>2]=I;S=Ss(E|0,k|0,T|0,S|0)|0;T=Me;o[T>>2]=S;o[T+4>>2]=I;x=Ss(R|0,O|0,C|0,x|0)|0;C=Ce;o[C>>2]=x;o[C+4>>2]=I;D=Ss(P|0,M|0,B|0,D|0)|0;B=Oe;o[B>>2]=D;o[B+4>>2]=I;U=Ss(N|0,j|0,L|0,U|0)|0;L=Te;o[L>>2]=U;o[L+4>>2]=I;K=Ss(F|0,q|0,z|0,K|0)|0;z=Se;o[z>>2]=K;o[z+4>>2]=I;V=Ss(G|0,H|0,Q|0,V|0)|0;Q=Ee;o[Q>>2]=V;o[Q+4>>2]=I;t=Ss(W|0,ot|0,st|0,t|0)|0;st=Le;o[st>>2]=t;o[st+4>>2]=I;No(wt,xt);No(At,vt);Do(vt,At,at);st=we;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Ee;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Es(t|0,st|0,18,0)|0;V=I;st=ks(W|0,ot|0,t|0,st|0)|0;V=ks(st|0,I|0,Q|0,V|0)|0;Q=Ee;o[Q>>2]=V;o[Q+4>>2]=I;Q=ke;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Se;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(V|0,Q|0,18,0)|0;W=I;Q=ks(t|0,st|0,V|0,Q|0)|0;W=ks(Q|0,I|0,ot|0,W|0)|0;ot=Se;o[ot>>2]=W;o[ot+4>>2]=I;ot=Ie;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Te;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Es(W|0,ot|0,18,0)|0;t=I;ot=ks(V|0,Q|0,W|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=Te;o[st>>2]=t;o[st+4>>2]=I;st=Re;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Oe;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Es(t|0,st|0,18,0)|0;V=I;st=ks(W|0,ot|0,t|0,st|0)|0;V=ks(st|0,I|0,Q|0,V|0)|0;Q=Oe;o[Q>>2]=V;o[Q+4>>2]=I;Q=xe;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Ce;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(V|0,Q|0,18,0)|0;W=I;Q=ks(t|0,st|0,V|0,Q|0)|0;W=ks(Q|0,I|0,ot|0,W|0)|0;ot=Ce;o[ot>>2]=W;o[ot+4>>2]=I;ot=Pe;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Me;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Es(W|0,ot|0,18,0)|0;t=I;ot=ks(V|0,Q|0,W|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=Me;o[st>>2]=t;o[st+4>>2]=I;st=De;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Be;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Es(t|0,st|0,18,0)|0;V=I;st=ks(W|0,ot|0,t|0,st|0)|0;V=ks(st|0,I|0,Q|0,V|0)|0;Q=Be;o[Q>>2]=V;o[Q+4>>2]=I;Q=Ne;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=je;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(V|0,Q|0,18,0)|0;W=I;Q=ks(t|0,st|0,V|0,Q|0)|0;W=ks(Q|0,I|0,ot|0,W|0)|0;ot=je;o[ot>>2]=W;o[ot+4>>2]=I;ot=Ue;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=vt;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Es(W|0,ot|0,18,0)|0;t=I;ot=ks(V|0,Q|0,W|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=vt;o[st>>2]=t;o[st+4>>2]=I;Bo(vt);st=J;t=wt;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));st=ne;t=vt;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(bt,a);No(_t,i);Do(te,bt,_t);f=te+144|0;p=o[f>>2]|0;f=o[f+4>>2]|0;d=te+64|0;l=d;u=o[l>>2]|0;l=o[l+4>>2]|0;t=Es(p|0,f|0,18,0)|0;n=I;f=ks(u|0,l|0,p|0,f|0)|0;n=ks(f|0,I|0,t|0,n|0)|0;o[d>>2]=n;o[d+4>>2]=I;d=te+136|0;n=o[d>>2]|0;d=o[d+4>>2]|0;t=te+56|0;f=t;p=o[f>>2]|0;f=o[f+4>>2]|0;l=Es(n|0,d|0,18,0)|0;u=I;d=ks(p|0,f|0,n|0,d|0)|0;u=ks(d|0,I|0,l|0,u|0)|0;o[t>>2]=u;o[t+4>>2]=I;t=te+128|0;u=o[t>>2]|0;t=o[t+4>>2]|0;l=te+48|0;d=l;n=o[d>>2]|0;d=o[d+4>>2]|0;f=Es(u|0,t|0,18,0)|0;p=I;t=ks(n|0,d|0,u|0,t|0)|0;p=ks(t|0,I|0,f|0,p|0)|0;o[l>>2]=p;o[l+4>>2]=I;l=te+120|0;p=o[l>>2]|0;l=o[l+4>>2]|0;f=te+40|0;t=f;u=o[t>>2]|0;t=o[t+4>>2]|0;d=Es(p|0,l|0,18,0)|0;n=I;l=ks(u|0,t|0,p|0,l|0)|0;n=ks(l|0,I|0,d|0,n|0)|0;o[f>>2]=n;o[f+4>>2]=I;f=te+112|0;n=o[f>>2]|0;f=o[f+4>>2]|0;d=te+32|0;l=d;p=o[l>>2]|0;l=o[l+4>>2]|0;t=Es(n|0,f|0,18,0)|0;u=I;f=ks(p|0,l|0,n|0,f|0)|0;u=ks(f|0,I|0,t|0,u|0)|0;o[d>>2]=u;o[d+4>>2]=I;d=te+104|0;u=o[d>>2]|0;d=o[d+4>>2]|0;t=te+24|0;f=t;n=o[f>>2]|0;f=o[f+4>>2]|0;l=Es(u|0,d|0,18,0)|0;p=I;d=ks(n|0,f|0,u|0,d|0)|0;p=ks(d|0,I|0,l|0,p|0)|0;o[t>>2]=p;o[t+4>>2]=I;t=te+96|0;p=o[t>>2]|0;t=o[t+4>>2]|0;l=te+16|0;d=l;u=o[d>>2]|0;d=o[d+4>>2]|0;f=Es(p|0,t|0,18,0)|0;n=I;t=ks(u|0,d|0,p|0,t|0)|0;n=ks(t|0,I|0,f|0,n|0)|0;o[l>>2]=n;o[l+4>>2]=I;l=te+88|0;n=o[l>>2]|0;l=o[l+4>>2]|0;f=te+8|0;t=f;p=o[t>>2]|0;t=o[t+4>>2]|0;d=Es(n|0,l|0,18,0)|0;u=I;l=ks(p|0,t|0,n|0,l|0)|0;u=ks(l|0,I|0,d|0,u|0)|0;o[f>>2]=u;o[f+4>>2]=I;f=te+80|0;u=o[f>>2]|0;f=o[f+4>>2]|0;d=te;l=o[d>>2]|0;d=o[d+4>>2]|0;n=Es(u|0,f|0,18,0)|0;t=I;f=ks(l|0,d|0,u|0,f|0)|0;t=ks(f|0,I|0,n|0,t|0)|0;n=te;o[n>>2]=t;o[n+4>>2]=I;Bo(te);n=bt;t=o[n>>2]|0;n=o[n+4>>2]|0;f=_t;f=Ss(t|0,n|0,o[f>>2]|0,o[f+4>>2]|0)|0;u=I;d=_t;o[d>>2]=f;o[d+4>>2]=u;d=Fe;l=o[d>>2]|0;d=o[d+4>>2]|0;p=qe;p=Ss(l|0,d|0,o[p>>2]|0,o[p+4>>2]|0)|0;m=I;y=qe;o[y>>2]=p;o[y+4>>2]=m;y=Ke;g=o[y>>2]|0;y=o[y+4>>2]|0;b=ze;b=Ss(g|0,y|0,o[b>>2]|0,o[b+4>>2]|0)|0;_=I;A=ze;o[A>>2]=b;o[A+4>>2]=_;A=Ge;v=o[A>>2]|0;A=o[A+4>>2]|0;w=He;w=Ss(v|0,A|0,o[w>>2]|0,o[w+4>>2]|0)|0;E=I;S=He;o[S>>2]=w;o[S+4>>2]=E;S=Ve;k=o[S>>2]|0;S=o[S+4>>2]|0;T=Qe;T=Ss(k|0,S|0,o[T>>2]|0,o[T+4>>2]|0)|0;R=I;x=Qe;o[x>>2]=T;o[x+4>>2]=R;x=We;O=o[x>>2]|0;x=o[x+4>>2]|0;C=Ye;C=Ss(O|0,x|0,o[C>>2]|0,o[C+4>>2]|0)|0;P=I;D=Ye;o[D>>2]=C;o[D+4>>2]=P;D=Xe;M=o[D>>2]|0;D=o[D+4>>2]|0;B=Je;B=Ss(M|0,D|0,o[B>>2]|0,o[B+4>>2]|0)|0;N=I;U=Je;o[U>>2]=B;o[U+4>>2]=N;U=Ze;j=o[U>>2]|0;U=o[U+4>>2]|0;L=$e;L=Ss(j|0,U|0,o[L>>2]|0,o[L+4>>2]|0)|0;F=I;K=$e;o[K>>2]=L;o[K+4>>2]=F;K=et;q=o[K>>2]|0;K=o[K+4>>2]|0;z=tt;z=Ss(q|0,K|0,o[z>>2]|0,o[z+4>>2]|0)|0;G=I;V=tt;o[V>>2]=z;o[V+4>>2]=G;V=nt;H=o[V>>2]|0;V=o[V+4>>2]|0;Q=rt;Q=Ss(H|0,V|0,o[Q>>2]|0,o[Q+4>>2]|0)|0;W=I;st=rt;o[st>>2]=Q;o[st+4>>2]=W;st=ft;ot=st+72|0;do{o[st>>2]=0;st=st+4|0}while((st|0)<(ot|0));Lt=Es(f|0,u|0,121665,0)|0;Bt=It;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(p|0,m|0,121665,0)|0;Lt=ut;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(b|0,_|0,121665,0)|0;Bt=lt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(w|0,E|0,121665,0)|0;Lt=dt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(T|0,R|0,121665,0)|0;Bt=ht;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(C|0,P|0,121665,0)|0;Lt=pt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(B|0,N|0,121665,0)|0;Bt=mt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(L|0,F|0,121665,0)|0;Lt=gt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(z|0,G|0,121665,0)|0;Bt=yt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(Q|0,W|0,121665,0)|0;Lt=it;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Bo(It);Lt=It;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,t|0,n|0)|0;Bt=It;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=ut;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,l|0,d|0)|0;Lt=ut;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=lt;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,g|0,y|0)|0;Bt=lt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=dt;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,v|0,A|0)|0;Lt=dt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=ht;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,k|0,S|0)|0;Bt=ht;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=pt;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,O|0,x|0)|0;Lt=pt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=mt;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,M|0,D|0)|0;Bt=mt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=gt;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,j|0,U|0)|0;Lt=gt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=yt;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,q|0,K|0)|0;Bt=yt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=it;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,H|0,V|0)|0;Lt=it;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Do(ee,_t,It);Lt=ee+144|0;Bt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;jt=ee+64|0;Nt=jt;Ut=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Ft=Es(Bt|0,Lt|0,18,0)|0;qt=I;Lt=ks(Ut|0,Nt|0,Bt|0,Lt|0)|0;qt=ks(Lt|0,I|0,Ft|0,qt|0)|0;o[jt>>2]=qt;o[jt+4>>2]=I;jt=ee+136|0;qt=o[jt>>2]|0;jt=o[jt+4>>2]|0;Ft=ee+56|0;Lt=Ft;Bt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;Nt=Es(qt|0,jt|0,18,0)|0;Ut=I;jt=ks(Bt|0,Lt|0,qt|0,jt|0)|0;Ut=ks(jt|0,I|0,Nt|0,Ut|0)|0;o[Ft>>2]=Ut;o[Ft+4>>2]=I;Ft=ee+128|0;Ut=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;Nt=ee+48|0;jt=Nt;qt=o[jt>>2]|0;jt=o[jt+4>>2]|0;Lt=Es(Ut|0,Ft|0,18,0)|0;Bt=I;Ft=ks(qt|0,jt|0,Ut|0,Ft|0)|0;Bt=ks(Ft|0,I|0,Lt|0,Bt|0)|0;o[Nt>>2]=Bt;o[Nt+4>>2]=I;Nt=ee+120|0;Bt=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Lt=ee+40|0;Ft=Lt;Ut=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;jt=Es(Bt|0,Nt|0,18,0)|0;qt=I;Nt=ks(Ut|0,Ft|0,Bt|0,Nt|0)|0;qt=ks(Nt|0,I|0,jt|0,qt|0)|0;o[Lt>>2]=qt;o[Lt+4>>2]=I;Lt=ee+112|0;qt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;jt=ee+32|0;Nt=jt;Bt=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Ft=Es(qt|0,Lt|0,18,0)|0;Ut=I;Lt=ks(Bt|0,Nt|0,qt|0,Lt|0)|0;Ut=ks(Lt|0,I|0,Ft|0,Ut|0)|0;o[jt>>2]=Ut;o[jt+4>>2]=I;jt=ee+104|0;Ut=o[jt>>2]|0;jt=o[jt+4>>2]|0;Ft=ee+24|0;Lt=Ft;qt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;Nt=Es(Ut|0,jt|0,18,0)|0;Bt=I;jt=ks(qt|0,Lt|0,Ut|0,jt|0)|0;Bt=ks(jt|0,I|0,Nt|0,Bt|0)|0;o[Ft>>2]=Bt;o[Ft+4>>2]=I;Ft=ee+96|0;Bt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;Nt=ee+16|0;jt=Nt;Ut=o[jt>>2]|0;jt=o[jt+4>>2]|0;Lt=Es(Bt|0,Ft|0,18,0)|0;qt=I;Ft=ks(Ut|0,jt|0,Bt|0,Ft|0)|0;qt=ks(Ft|0,I|0,Lt|0,qt|0)|0;o[Nt>>2]=qt;o[Nt+4>>2]=I;Nt=ee+88|0;qt=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Lt=ee+8|0;Ft=Lt;Bt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;jt=Es(qt|0,Nt|0,18,0)|0;Ut=I;Nt=ks(Bt|0,Ft|0,qt|0,Nt|0)|0;Ut=ks(Nt|0,I|0,jt|0,Ut|0)|0;o[Lt>>2]=Ut;o[Lt+4>>2]=I;Lt=ee+80|0;Ut=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;jt=ee;Nt=o[jt>>2]|0;jt=o[jt+4>>2]|0;qt=Es(Ut|0,Lt|0,18,0)|0;Ft=I;Lt=ks(Nt|0,jt|0,Ut|0,Lt|0)|0;Ft=ks(Lt|0,I|0,qt|0,Ft|0)|0;qt=ee;o[qt>>2]=Ft;o[qt+4>>2]=I;Bo(ee);Mo(te,J,X,0);Mo(ee,ne,X,0);$=$+1|0;if(($|0)==8)break;else{Ut=Z;Lt=c;Ft=a;qt=i;l=Y<<1&255;Z=J;a=te;i=ee;c=ne;J=Ut;ne=Lt;te=Ft;ee=qt}}re=re+1|0;if((re|0)==32)break;else{d=J;t=Z;n=ne;f=ee;u=te}}st=Tt;t=te;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));st=Rt;t=ee;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(bt,Rt);No(St,bt);No(kt,St);Do(It,kt,Rt);n=It+144|0;u=n;f=o[u>>2]|0;u=o[u+4>>2]|0;c=yt;a=o[c>>2]|0;c=o[c+4>>2]|0;i=Es(f|0,u|0,18,0)|0;l=I;u=ks(a|0,c|0,f|0,u|0)|0;l=ks(u|0,I|0,i|0,l|0)|0;i=yt;o[i>>2]=l;o[i+4>>2]=I;i=It+136|0;l=i;u=o[l>>2]|0;l=o[l+4>>2]|0;f=gt;c=o[f>>2]|0;f=o[f+4>>2]|0;a=Es(u|0,l|0,18,0)|0;d=I;l=ks(c|0,f|0,u|0,l|0)|0;d=ks(l|0,I|0,a|0,d|0)|0;a=gt;o[a>>2]=d;o[a+4>>2]=I;a=It+128|0;d=a;l=o[d>>2]|0;d=o[d+4>>2]|0;u=mt;f=o[u>>2]|0;u=o[u+4>>2]|0;c=Es(l|0,d|0,18,0)|0;ot=I;d=ks(f|0,u|0,l|0,d|0)|0;ot=ks(d|0,I|0,c|0,ot|0)|0;c=mt;o[c>>2]=ot;o[c+4>>2]=I;c=It+120|0;ot=c;d=o[ot>>2]|0;ot=o[ot+4>>2]|0;l=pt;u=o[l>>2]|0;l=o[l+4>>2]|0;f=Es(d|0,ot|0,18,0)|0;t=I;ot=ks(u|0,l|0,d|0,ot|0)|0;t=ks(ot|0,I|0,f|0,t|0)|0;f=pt;o[f>>2]=t;o[f+4>>2]=I;f=It+112|0;t=f;ot=o[t>>2]|0;t=o[t+4>>2]|0;d=ht;l=o[d>>2]|0;d=o[d+4>>2]|0;u=Es(ot|0,t|0,18,0)|0;st=I;t=ks(l|0,d|0,ot|0,t|0)|0;st=ks(t|0,I|0,u|0,st|0)|0;u=ht;o[u>>2]=st;o[u+4>>2]=I;u=It+104|0;st=u;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=dt;d=o[ot>>2]|0;ot=o[ot+4>>2]|0;l=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(d|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,l|0,Lt|0)|0;l=dt;o[l>>2]=Lt;o[l+4>>2]=I;l=It+96|0;Lt=l;st=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;t=lt;ot=o[t>>2]|0;t=o[t+4>>2]|0;d=Es(st|0,Lt|0,18,0)|0;Ft=I;Lt=ks(ot|0,t|0,st|0,Lt|0)|0;Ft=ks(Lt|0,I|0,d|0,Ft|0)|0;d=lt;o[d>>2]=Ft;o[d+4>>2]=I;d=It+88|0;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=_t;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));Do(It,_t,bt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=xt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,xt);Do(It,kt,_t);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=vt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,vt);No(St,kt);No(kt,St);No(St,kt);No(kt,St);Do(It,kt,vt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=At;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,At);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,At);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=wt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,wt);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,wt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=kt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);Do(It,kt,At);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Ct;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,Ct);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,Ct);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Et;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,Et);No(kt,St);t=2;do{No(St,kt);No(kt,St);t=t+2|0}while(t>>>0<100);Do(It,kt,Et);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=St;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,Ct);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=kt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,xt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Ot;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));Do(It,Tt,Ot);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Rt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));Ct=o[Rt>>2]|0;At=Ct>>31&Ct;Mt=(At>>26)+(o[Rt+8>>2]|0)|0;qt=Mt>>31&Mt;Dt=(qt>>25)+(o[Rt+16>>2]|0)|0;Ft=Dt>>31&Dt;vt=(Ft>>26)+(o[Rt+24>>2]|0)|0;Bt=vt>>31&vt;Nt=(Bt>>25)+(o[Rt+32>>2]|0)|0;Tt=Nt>>31&Nt;jt=(Tt>>26)+(o[Rt+40>>2]|0)|0;It=jt>>31&jt;Ut=(It>>25)+(o[Rt+48>>2]|0)|0;St=Ut>>31&Ut;Lt=(St>>26)+(o[Rt+56>>2]|0)|0;kt=Lt>>31≪Ot=(kt>>25)+(o[Rt+64>>2]|0)|0;wt=Ot>>31&Ot;xt=(wt>>26)+(o[Rt+72>>2]|0)|0;Et=xt>>31&xt;At=((Et>>25)*19|0)+(Ct-(At&-67108864))|0;Ct=At>>31&At;qt=(Ct>>26)+(Mt-(qt&-33554432))|0;Mt=qt>>31&qt;Ft=(Mt>>25)+(Dt-(Ft&-67108864))|0;Dt=Ft>>31&Ft;Rt=(Dt>>26)+(vt-(Bt&-33554432))|0;Bt=Rt>>31&Rt;Tt=(Bt>>25)+(Nt-(Tt&-67108864))|0;Nt=Tt>>31&Tt;It=(Nt>>26)+(jt-(It&-33554432))|0;jt=It>>31&It;St=(jt>>25)+(Ut-(St&-67108864))|0;Ut=St>>31&St;kt=(Ut>>26)+(Lt-(kt&-33554432))|0;Lt=kt>>31&kt;wt=(Lt>>25)+(Ot-(wt&-67108864))|0;Ot=wt>>31&wt;Et=(Ot>>26)+(xt-(Et&-33554432))|0;xt=Et>>31&Et;Ct=((xt>>25)*19|0)+(At-(Ct&-67108864))|0;At=Ct>>31&Ct;Ct=Ct-(At&-67108864)|0;Mt=(Ct>>26)+((At>>26)+(qt-(Mt&-33554432)))|0;Dt=(Mt>>25)+(Ft-(Dt&-67108864))|0;Bt=(Dt>>26)+(Rt-(Bt&-33554432))|0;Nt=(Bt>>25)+(Tt-(Nt&-67108864))|0;jt=(Nt>>26)+(It-(jt&-33554432))|0;Ut=(jt>>25)+(St-(Ut&-67108864))|0;Lt=(Ut>>26)+(kt-(Lt&-33554432))|0;Ot=(Lt>>25)+(wt-(Ot&-67108864))|0;xt=(Ot>>26)+(Et-(xt&-33554432))|0;Ct=((xt>>25)*19|0)+(Ct&67108863)|0;Mt=(Ct>>26)+(Mt&33554431)|0;Dt=(Mt>>25)+(Dt&67108863)|0;Bt=(Dt>>26)+(Bt&33554431)|0;Nt=(Bt>>25)+(Nt&67108863)|0;jt=(Nt>>26)+(jt&33554431)|0;Ut=(jt>>25)+(Ut&67108863)|0;Lt=(Ut>>26)+(Lt&33554431)|0;Ot=(Lt>>25)+(Ot&67108863)|0;xt=(Ot>>26)+(xt&33554431)|0;Ct=((xt>>25)*19|0)+(Ct&67108863)|0;Et=Mt<<16&(Mt|-33554432);Et=Et<<8&Et;Et=Et<<4&Et;Et=Et<<2&Et;wt=Dt<<16&(Dt|-67108864);wt=wt<<8&wt;wt=wt<<4&wt;wt=wt<<2&wt;kt=Bt<<16&(Bt|-33554432);kt=kt<<8&kt;kt=kt<<4&kt;kt=kt<<2&kt;St=Nt<<16&(Nt|-67108864);St=St<<8&St;St=St<<4&St;St=St<<2&St;It=jt<<16&(jt|-33554432);It=It<<8&It;It=It<<4&It;It=It<<2&It;Tt=Ut<<16&(Ut|-67108864);Tt=Tt<<8&Tt;Tt=Tt<<4&Tt;Tt=Tt<<2&Tt;Rt=Lt<<16&(Lt|-33554432);Rt=Rt<<8&Rt;Rt=Rt<<4&Rt;Rt=Rt<<2&Rt;Ft=Ot<<16&(Ot|-67108864);Ft=Ft<<8&Ft;Ft=Ft<<4&Ft;Ft=Ft<<2&Ft;qt=xt<<16&(xt|-33554432);qt=qt<<8&qt;qt=qt<<4&qt;qt=qt<<2&qt;qt=(wt<<1&wt&(Et<<1&Et)&(kt<<1&kt)&(St<<1&St)&(It<<1&It))>>31&~(Ct+-67108845>>31)&(Tt<<1&Tt)>>31&(Rt<<1&Rt)>>31&(Ft<<1&Ft)>>31&(qt<<1&qt)>>31;Ct=Ct-(qt&67108845)|0;Ft=qt&67108863;qt=qt&33554431;Mt=(Mt&33554431)-qt|0;Dt=(Dt&67108863)-Ft|0;Bt=(Bt&33554431)-qt|0;Nt=(Nt&67108863)-Ft|0;jt=(jt&33554431)-qt|0;Ut=(Ut&67108863)-Ft|0;Lt=(Lt&33554431)-qt|0;Ft=(Ot&67108863)-Ft|0;qt=(xt&33554431)-qt|0;r[e>>0]=Ct;r[e+1>>0]=Ct>>>8;r[e+2>>0]=Ct>>>16;r[e+3>>0]=Ct>>>24|Mt<<2;r[e+4>>0]=Mt>>>6;r[e+5>>0]=Mt>>>14;r[e+6>>0]=Dt<<3|Mt>>>22;r[e+7>>0]=Dt>>>5;r[e+8>>0]=Dt>>>13;r[e+9>>0]=Bt<<5|Dt>>>21;r[e+10>>0]=Bt>>>3;r[e+11>>0]=Bt>>>11;r[e+12>>0]=Nt<<6|Bt>>>19;r[e+13>>0]=Nt>>>2;r[e+14>>0]=Nt>>>10;r[e+15>>0]=Nt>>>18;r[e+16>>0]=jt;r[e+17>>0]=jt>>>8;r[e+18>>0]=jt>>>16;r[e+19>>0]=jt>>>24|Ut<<1;r[e+20>>0]=Ut>>>7;r[e+21>>0]=Ut>>>15;r[e+22>>0]=Lt<<3|Ut>>>23;r[e+23>>0]=Lt>>>5;r[e+24>>0]=Lt>>>13;r[e+25>>0]=Ft<<4|Lt>>>21;r[e+26>>0]=Ft>>>4;r[e+27>>0]=Ft>>>12;r[e+28>>0]=qt<<6|Ft>>>20;r[e+29>>0]=qt>>>2;r[e+30>>0]=qt>>>10;r[e+31>>0]=qt>>>18;h=Pt;return 0}function Mo(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,c=0;n=0-n|0;a=e;i=o[a>>2]|0;s=t;s=(o[s>>2]^i)&n;i=s^i;a=e;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;s=s^o[t>>2];a=t;o[a>>2]=s;o[a+4>>2]=((s|0)<0)<<31>>31;a=e+8|0;s=a;i=o[s>>2]|0;r=t+8|0;c=r;c=(o[c>>2]^i)&n;i=c^i;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;c=c^o[r>>2];o[r>>2]=c;o[r+4>>2]=((c|0)<0)<<31>>31;r=e+16|0;c=r;a=o[c>>2]|0;i=t+16|0;s=i;s=(o[s>>2]^a)&n;a=s^a;o[r>>2]=a;o[r+4>>2]=((a|0)<0)<<31>>31;s=s^o[i>>2];o[i>>2]=s;o[i+4>>2]=((s|0)<0)<<31>>31;i=e+24|0;s=i;r=o[s>>2]|0;a=t+24|0;c=a;c=(o[c>>2]^r)&n;r=c^r;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;c=c^o[a>>2];o[a>>2]=c;o[a+4>>2]=((c|0)<0)<<31>>31;a=e+32|0;c=a;i=o[c>>2]|0;r=t+32|0;s=r;s=(o[s>>2]^i)&n;i=s^i;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;s=s^o[r>>2];o[r>>2]=s;o[r+4>>2]=((s|0)<0)<<31>>31;r=e+40|0;s=r;a=o[s>>2]|0;i=t+40|0;c=i;c=(o[c>>2]^a)&n;a=c^a;o[r>>2]=a;o[r+4>>2]=((a|0)<0)<<31>>31;c=c^o[i>>2];o[i>>2]=c;o[i+4>>2]=((c|0)<0)<<31>>31;i=e+48|0;c=i;r=o[c>>2]|0;a=t+48|0;s=a;s=(o[s>>2]^r)&n;r=s^r;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;s=s^o[a>>2];o[a>>2]=s;o[a+4>>2]=((s|0)<0)<<31>>31;a=e+56|0;s=a;i=o[s>>2]|0;r=t+56|0;c=r;c=(o[c>>2]^i)&n;i=c^i;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;c=c^o[r>>2];o[r>>2]=c;o[r+4>>2]=((c|0)<0)<<31>>31;r=e+64|0;c=r;a=o[c>>2]|0;i=t+64|0;s=i;s=(o[s>>2]^a)&n;a=s^a;o[r>>2]=a;o[r+4>>2]=((a|0)<0)<<31>>31;s=s^o[i>>2];o[i>>2]=s;o[i+4>>2]=((s|0)<0)<<31>>31;i=e+72|0;s=i;e=o[s>>2]|0;r=t+72|0;t=r;n=(o[t>>2]^e)&n;e=n^e;t=i;o[t>>2]=e;o[t+4>>2]=((e|0)<0)<<31>>31;n=n^o[r>>2];o[r>>2]=n;o[r+4>>2]=((n|0)<0)<<31>>31;return}function Do(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0;a=Os(0,o[t>>2]|0,32)|0;h=I;w=Os(0,o[n>>2]|0,32)|0;h=Es(w|0,I|0,a|0,h|0)|0;a=e;o[a>>2]=h;o[a+4>>2]=I;a=Os(0,o[t>>2]|0,32)|0;h=I;w=n+8|0;b=Os(0,o[w>>2]|0,32)|0;h=Es(b|0,I|0,a|0,h|0)|0;a=I;b=t+8|0;y=Os(0,o[b>>2]|0,32)|0;m=I;A=Os(0,o[n>>2]|0,32)|0;m=Es(A|0,I|0,y|0,m|0)|0;a=ks(m|0,I|0,h|0,a|0)|0;h=e+8|0;o[h>>2]=a;o[h+4>>2]=I;h=Os(0,o[b>>2]|0,31)|0;a=I;m=Os(0,o[w>>2]|0,32)|0;a=Es(m|0,I|0,h|0,a|0)|0;h=I;m=Os(0,o[t>>2]|0,32)|0;y=I;A=n+16|0;l=Os(0,o[A>>2]|0,32)|0;y=Es(l|0,I|0,m|0,y|0)|0;h=ks(y|0,I|0,a|0,h|0)|0;a=I;y=t+16|0;m=Os(0,o[y>>2]|0,32)|0;l=I;v=Os(0,o[n>>2]|0,32)|0;l=Es(v|0,I|0,m|0,l|0)|0;l=ks(h|0,a|0,l|0,I|0)|0;a=e+16|0;o[a>>2]=l;o[a+4>>2]=I;a=Os(0,o[b>>2]|0,32)|0;l=I;h=Os(0,o[A>>2]|0,32)|0;l=Es(h|0,I|0,a|0,l|0)|0;a=I;h=Os(0,o[y>>2]|0,32)|0;m=I;v=Os(0,o[w>>2]|0,32)|0;m=Es(v|0,I|0,h|0,m|0)|0;a=ks(m|0,I|0,l|0,a|0)|0;l=I;m=Os(0,o[t>>2]|0,32)|0;h=I;v=n+24|0;s=Os(0,o[v>>2]|0,32)|0;h=Es(s|0,I|0,m|0,h|0)|0;h=ks(a|0,l|0,h|0,I|0)|0;l=I;a=t+24|0;m=Os(0,o[a>>2]|0,32)|0;s=I;f=Os(0,o[n>>2]|0,32)|0;s=Es(f|0,I|0,m|0,s|0)|0;s=ks(h|0,l|0,s|0,I|0)|0;l=e+24|0;o[l>>2]=s;o[l+4>>2]=I;l=Os(0,o[y>>2]|0,32)|0;s=I;h=Os(0,o[A>>2]|0,32)|0;s=Es(h|0,I|0,l|0,s|0)|0;l=I;h=Os(0,o[b>>2]|0,32)|0;m=I;f=Os(0,o[v>>2]|0,32)|0;m=Es(f|0,I|0,h|0,m|0)|0;h=I;f=Os(0,o[a>>2]|0,32)|0;g=I;p=Os(0,o[w>>2]|0,32)|0;g=Es(p|0,I|0,f|0,g|0)|0;h=ks(g|0,I|0,m|0,h|0)|0;h=Cs(h|0,I|0,1)|0;l=ks(h|0,I|0,s|0,l|0)|0;s=I;h=Os(0,o[t>>2]|0,32)|0;m=I;g=n+32|0;f=Os(0,o[g>>2]|0,32)|0;m=Es(f|0,I|0,h|0,m|0)|0;m=ks(l|0,s|0,m|0,I|0)|0;s=I;l=t+32|0;h=Os(0,o[l>>2]|0,32)|0;f=I;p=Os(0,o[n>>2]|0,32)|0;f=Es(p|0,I|0,h|0,f|0)|0;f=ks(m|0,s|0,f|0,I|0)|0;s=e+32|0;o[s>>2]=f;o[s+4>>2]=I;s=Os(0,o[y>>2]|0,32)|0;f=I;m=Os(0,o[v>>2]|0,32)|0;f=Es(m|0,I|0,s|0,f|0)|0;s=I;m=Os(0,o[a>>2]|0,32)|0;h=I;p=Os(0,o[A>>2]|0,32)|0;h=Es(p|0,I|0,m|0,h|0)|0;s=ks(h|0,I|0,f|0,s|0)|0;f=I;h=Os(0,o[b>>2]|0,32)|0;m=I;p=Os(0,o[g>>2]|0,32)|0;m=Es(p|0,I|0,h|0,m|0)|0;m=ks(s|0,f|0,m|0,I|0)|0;f=I;s=Os(0,o[l>>2]|0,32)|0;h=I;p=Os(0,o[w>>2]|0,32)|0;h=Es(p|0,I|0,s|0,h|0)|0;h=ks(m|0,f|0,h|0,I|0)|0;f=I;m=Os(0,o[t>>2]|0,32)|0;s=I;p=n+40|0;_=Os(0,o[p>>2]|0,32)|0;s=Es(_|0,I|0,m|0,s|0)|0;s=ks(h|0,f|0,s|0,I|0)|0;f=I;h=t+40|0;m=Os(0,o[h>>2]|0,32)|0;_=I;u=Os(0,o[n>>2]|0,32)|0;_=Es(u|0,I|0,m|0,_|0)|0;_=ks(s|0,f|0,_|0,I|0)|0;f=e+40|0;o[f>>2]=_;o[f+4>>2]=I;f=Os(0,o[a>>2]|0,32)|0;_=I;s=Os(0,o[v>>2]|0,32)|0;_=Es(s|0,I|0,f|0,_|0)|0;f=I;s=Os(0,o[b>>2]|0,32)|0;m=I;u=Os(0,o[p>>2]|0,32)|0;m=Es(u|0,I|0,s|0,m|0)|0;f=ks(m|0,I|0,_|0,f|0)|0;_=I;m=Os(0,o[h>>2]|0,32)|0;s=I;u=Os(0,o[w>>2]|0,32)|0;s=Es(u|0,I|0,m|0,s|0)|0;s=ks(f|0,_|0,s|0,I|0)|0;s=Cs(s|0,I|0,1)|0;_=I;f=Os(0,o[y>>2]|0,32)|0;m=I;u=Os(0,o[g>>2]|0,32)|0;m=Es(u|0,I|0,f|0,m|0)|0;m=ks(s|0,_|0,m|0,I|0)|0;_=I;s=Os(0,o[l>>2]|0,32)|0;f=I;u=Os(0,o[A>>2]|0,32)|0;f=Es(u|0,I|0,s|0,f|0)|0;f=ks(m|0,_|0,f|0,I|0)|0;_=I;m=Os(0,o[t>>2]|0,32)|0;s=I;u=n+48|0;E=Os(0,o[u>>2]|0,32)|0;s=Es(E|0,I|0,m|0,s|0)|0;s=ks(f|0,_|0,s|0,I|0)|0;_=I;f=t+48|0;m=Os(0,o[f>>2]|0,32)|0;E=I;d=Os(0,o[n>>2]|0,32)|0;E=Es(d|0,I|0,m|0,E|0)|0;E=ks(s|0,_|0,E|0,I|0)|0;_=e+48|0;o[_>>2]=E;o[_+4>>2]=I;_=Os(0,o[a>>2]|0,32)|0;E=I;s=Os(0,o[g>>2]|0,32)|0;E=Es(s|0,I|0,_|0,E|0)|0;_=I;s=Os(0,o[l>>2]|0,32)|0;m=I;d=Os(0,o[v>>2]|0,32)|0;m=Es(d|0,I|0,s|0,m|0)|0;_=ks(m|0,I|0,E|0,_|0)|0;E=I;m=Os(0,o[y>>2]|0,32)|0;s=I;d=Os(0,o[p>>2]|0,32)|0;s=Es(d|0,I|0,m|0,s|0)|0;s=ks(_|0,E|0,s|0,I|0)|0;E=I;_=Os(0,o[h>>2]|0,32)|0;m=I;d=Os(0,o[A>>2]|0,32)|0;m=Es(d|0,I|0,_|0,m|0)|0;m=ks(s|0,E|0,m|0,I|0)|0;E=I;s=Os(0,o[b>>2]|0,32)|0;_=I;d=Os(0,o[u>>2]|0,32)|0;_=Es(d|0,I|0,s|0,_|0)|0;_=ks(m|0,E|0,_|0,I|0)|0;E=I;m=Os(0,o[f>>2]|0,32)|0;s=I;d=Os(0,o[w>>2]|0,32)|0;s=Es(d|0,I|0,m|0,s|0)|0;s=ks(_|0,E|0,s|0,I|0)|0;E=I;_=Os(0,o[t>>2]|0,32)|0;m=I;d=n+56|0;k=Os(0,o[d>>2]|0,32)|0;m=Es(k|0,I|0,_|0,m|0)|0;m=ks(s|0,E|0,m|0,I|0)|0;E=I;s=t+56|0;_=Os(0,o[s>>2]|0,32)|0;k=I;c=Os(0,o[n>>2]|0,32)|0;k=Es(c|0,I|0,_|0,k|0)|0;k=ks(m|0,E|0,k|0,I|0)|0;E=e+56|0;o[E>>2]=k;o[E+4>>2]=I;E=Os(0,o[l>>2]|0,32)|0;k=I;m=Os(0,o[g>>2]|0,32)|0;k=Es(m|0,I|0,E|0,k|0)|0;E=I;m=Os(0,o[a>>2]|0,32)|0;_=I;c=Os(0,o[p>>2]|0,32)|0;_=Es(c|0,I|0,m|0,_|0)|0;m=I;c=Os(0,o[h>>2]|0,32)|0;i=I;r=Os(0,o[v>>2]|0,32)|0;i=Es(r|0,I|0,c|0,i|0)|0;m=ks(i|0,I|0,_|0,m|0)|0;_=I;i=Os(0,o[b>>2]|0,32)|0;c=I;r=Os(0,o[d>>2]|0,32)|0;c=Es(r|0,I|0,i|0,c|0)|0;c=ks(m|0,_|0,c|0,I|0)|0;_=I;m=Os(0,o[s>>2]|0,32)|0;i=I;r=Os(0,o[w>>2]|0,32)|0;i=Es(r|0,I|0,m|0,i|0)|0;i=ks(c|0,_|0,i|0,I|0)|0;i=Cs(i|0,I|0,1)|0;E=ks(i|0,I|0,k|0,E|0)|0;k=I;i=Os(0,o[y>>2]|0,32)|0;_=I;c=Os(0,o[u>>2]|0,32)|0;_=Es(c|0,I|0,i|0,_|0)|0;_=ks(E|0,k|0,_|0,I|0)|0;k=I;E=Os(0,o[f>>2]|0,32)|0;i=I;c=Os(0,o[A>>2]|0,32)|0;i=Es(c|0,I|0,E|0,i|0)|0;i=ks(_|0,k|0,i|0,I|0)|0;k=I;_=Os(0,o[t>>2]|0,32)|0;E=I;c=n+64|0;m=Os(0,o[c>>2]|0,32)|0;E=Es(m|0,I|0,_|0,E|0)|0;E=ks(i|0,k|0,E|0,I|0)|0;k=I;i=t+64|0;_=Os(0,o[i>>2]|0,32)|0;m=I;r=Os(0,o[n>>2]|0,32)|0;m=Es(r|0,I|0,_|0,m|0)|0;m=ks(E|0,k|0,m|0,I|0)|0;k=e+64|0;o[k>>2]=m;o[k+4>>2]=I;k=Os(0,o[l>>2]|0,32)|0;m=I;E=Os(0,o[p>>2]|0,32)|0;m=Es(E|0,I|0,k|0,m|0)|0;k=I;E=Os(0,o[h>>2]|0,32)|0;_=I;r=Os(0,o[g>>2]|0,32)|0;_=Es(r|0,I|0,E|0,_|0)|0;k=ks(_|0,I|0,m|0,k|0)|0;m=I;_=Os(0,o[a>>2]|0,32)|0;E=I;r=Os(0,o[u>>2]|0,32)|0;E=Es(r|0,I|0,_|0,E|0)|0;E=ks(k|0,m|0,E|0,I|0)|0;m=I;k=Os(0,o[f>>2]|0,32)|0;_=I;r=Os(0,o[v>>2]|0,32)|0;_=Es(r|0,I|0,k|0,_|0)|0;_=ks(E|0,m|0,_|0,I|0)|0;m=I;E=Os(0,o[y>>2]|0,32)|0;k=I;r=Os(0,o[d>>2]|0,32)|0;k=Es(r|0,I|0,E|0,k|0)|0;k=ks(_|0,m|0,k|0,I|0)|0;m=I;_=Os(0,o[s>>2]|0,32)|0;E=I;r=Os(0,o[A>>2]|0,32)|0;E=Es(r|0,I|0,_|0,E|0)|0;E=ks(k|0,m|0,E|0,I|0)|0;m=I;k=Os(0,o[b>>2]|0,32)|0;_=I;r=Os(0,o[c>>2]|0,32)|0;_=Es(r|0,I|0,k|0,_|0)|0;_=ks(E|0,m|0,_|0,I|0)|0;m=I;E=Os(0,o[i>>2]|0,32)|0;k=I;r=Os(0,o[w>>2]|0,32)|0;k=Es(r|0,I|0,E|0,k|0)|0;k=ks(_|0,m|0,k|0,I|0)|0;m=I;_=Os(0,o[t>>2]|0,32)|0;E=I;r=n+72|0;S=Os(0,o[r>>2]|0,32)|0;E=Es(S|0,I|0,_|0,E|0)|0;E=ks(k|0,m|0,E|0,I|0)|0;m=I;t=t+72|0;k=Os(0,o[t>>2]|0,32)|0;_=I;n=Os(0,o[n>>2]|0,32)|0;_=Es(n|0,I|0,k|0,_|0)|0;_=ks(E|0,m|0,_|0,I|0)|0;n=e+72|0;o[n>>2]=_;o[n+4>>2]=I;n=Os(0,o[h>>2]|0,32)|0;_=I;m=Os(0,o[p>>2]|0,32)|0;_=Es(m|0,I|0,n|0,_|0)|0;n=I;m=Os(0,o[a>>2]|0,32)|0;E=I;k=Os(0,o[d>>2]|0,32)|0;E=Es(k|0,I|0,m|0,E|0)|0;n=ks(E|0,I|0,_|0,n|0)|0;_=I;E=Os(0,o[s>>2]|0,32)|0;m=I;k=Os(0,o[v>>2]|0,32)|0;m=Es(k|0,I|0,E|0,m|0)|0;m=ks(n|0,_|0,m|0,I|0)|0;_=I;n=Os(0,o[b>>2]|0,32)|0;b=I;E=Os(0,o[r>>2]|0,32)|0;b=Es(E|0,I|0,n|0,b|0)|0;b=ks(m|0,_|0,b|0,I|0)|0;_=I;m=Os(0,o[t>>2]|0,32)|0;n=I;w=Os(0,o[w>>2]|0,32)|0;n=Es(w|0,I|0,m|0,n|0)|0;n=ks(b|0,_|0,n|0,I|0)|0;n=Cs(n|0,I|0,1)|0;_=I;b=Os(0,o[l>>2]|0,32)|0;m=I;w=Os(0,o[u>>2]|0,32)|0;m=Es(w|0,I|0,b|0,m|0)|0;m=ks(n|0,_|0,m|0,I|0)|0;_=I;n=Os(0,o[f>>2]|0,32)|0;b=I;w=Os(0,o[g>>2]|0,32)|0;b=Es(w|0,I|0,n|0,b|0)|0;b=ks(m|0,_|0,b|0,I|0)|0;_=I;m=Os(0,o[y>>2]|0,32)|0;n=I;w=Os(0,o[c>>2]|0,32)|0;n=Es(w|0,I|0,m|0,n|0)|0;n=ks(b|0,_|0,n|0,I|0)|0;_=I;b=Os(0,o[i>>2]|0,32)|0;m=I;w=Os(0,o[A>>2]|0,32)|0;m=Es(w|0,I|0,b|0,m|0)|0;m=ks(n|0,_|0,m|0,I|0)|0;_=e+80|0;o[_>>2]=m;o[_+4>>2]=I;_=Os(0,o[h>>2]|0,32)|0;m=I;n=Os(0,o[u>>2]|0,32)|0;m=Es(n|0,I|0,_|0,m|0)|0;_=I;n=Os(0,o[f>>2]|0,32)|0;b=I;w=Os(0,o[p>>2]|0,32)|0;b=Es(w|0,I|0,n|0,b|0)|0;_=ks(b|0,I|0,m|0,_|0)|0;m=I;b=Os(0,o[l>>2]|0,32)|0;n=I;w=Os(0,o[d>>2]|0,32)|0;n=Es(w|0,I|0,b|0,n|0)|0;n=ks(_|0,m|0,n|0,I|0)|0;m=I;_=Os(0,o[s>>2]|0,32)|0;b=I;w=Os(0,o[g>>2]|0,32)|0;b=Es(w|0,I|0,_|0,b|0)|0;b=ks(n|0,m|0,b|0,I|0)|0;m=I;n=Os(0,o[a>>2]|0,32)|0;_=I;w=Os(0,o[c>>2]|0,32)|0;_=Es(w|0,I|0,n|0,_|0)|0;_=ks(b|0,m|0,_|0,I|0)|0;m=I;b=Os(0,o[i>>2]|0,32)|0;n=I;w=Os(0,o[v>>2]|0,32)|0;n=Es(w|0,I|0,b|0,n|0)|0;n=ks(_|0,m|0,n|0,I|0)|0;m=I;y=Os(0,o[y>>2]|0,32)|0;_=I;b=Os(0,o[r>>2]|0,32)|0;_=Es(b|0,I|0,y|0,_|0)|0;_=ks(n|0,m|0,_|0,I|0)|0;m=I;n=Os(0,o[t>>2]|0,32)|0;y=I;A=Os(0,o[A>>2]|0,32)|0;y=Es(A|0,I|0,n|0,y|0)|0;y=ks(_|0,m|0,y|0,I|0)|0;m=e+88|0;o[m>>2]=y;o[m+4>>2]=I;m=Os(0,o[f>>2]|0,32)|0;y=I;_=Os(0,o[u>>2]|0,32)|0;y=Es(_|0,I|0,m|0,y|0)|0;m=I;_=Os(0,o[h>>2]|0,32)|0;n=I;A=Os(0,o[d>>2]|0,32)|0;n=Es(A|0,I|0,_|0,n|0)|0;_=I;A=Os(0,o[s>>2]|0,32)|0;b=I;w=Os(0,o[p>>2]|0,32)|0;b=Es(w|0,I|0,A|0,b|0)|0;_=ks(b|0,I|0,n|0,_|0)|0;n=I;a=Os(0,o[a>>2]|0,32)|0;b=I;A=Os(0,o[r>>2]|0,32)|0;b=Es(A|0,I|0,a|0,b|0)|0;b=ks(_|0,n|0,b|0,I|0)|0;n=I;_=Os(0,o[t>>2]|0,32)|0;a=I;v=Os(0,o[v>>2]|0,32)|0;a=Es(v|0,I|0,_|0,a|0)|0;a=ks(b|0,n|0,a|0,I|0)|0;a=Cs(a|0,I|0,1)|0;m=ks(a|0,I|0,y|0,m|0)|0;y=I;a=Os(0,o[l>>2]|0,32)|0;n=I;b=Os(0,o[c>>2]|0,32)|0;n=Es(b|0,I|0,a|0,n|0)|0;n=ks(m|0,y|0,n|0,I|0)|0;y=I;m=Os(0,o[i>>2]|0,32)|0;a=I;b=Os(0,o[g>>2]|0,32)|0;a=Es(b|0,I|0,m|0,a|0)|0;a=ks(n|0,y|0,a|0,I|0)|0;y=e+96|0;o[y>>2]=a;o[y+4>>2]=I;y=Os(0,o[f>>2]|0,32)|0;a=I;n=Os(0,o[d>>2]|0,32)|0;a=Es(n|0,I|0,y|0,a|0)|0;y=I;n=Os(0,o[s>>2]|0,32)|0;m=I;b=Os(0,o[u>>2]|0,32)|0;m=Es(b|0,I|0,n|0,m|0)|0;y=ks(m|0,I|0,a|0,y|0)|0;a=I;m=Os(0,o[h>>2]|0,32)|0;n=I;b=Os(0,o[c>>2]|0,32)|0;n=Es(b|0,I|0,m|0,n|0)|0;n=ks(y|0,a|0,n|0,I|0)|0;a=I;y=Os(0,o[i>>2]|0,32)|0;m=I;b=Os(0,o[p>>2]|0,32)|0;m=Es(b|0,I|0,y|0,m|0)|0;m=ks(n|0,a|0,m|0,I|0)|0;a=I;l=Os(0,o[l>>2]|0,32)|0;n=I;y=Os(0,o[r>>2]|0,32)|0;n=Es(y|0,I|0,l|0,n|0)|0;n=ks(m|0,a|0,n|0,I|0)|0;a=I;m=Os(0,o[t>>2]|0,32)|0;l=I;g=Os(0,o[g>>2]|0,32)|0;l=Es(g|0,I|0,m|0,l|0)|0;l=ks(n|0,a|0,l|0,I|0)|0;a=e+104|0;o[a>>2]=l;o[a+4>>2]=I;a=Os(0,o[s>>2]|0,32)|0;l=I;n=Os(0,o[d>>2]|0,32)|0;l=Es(n|0,I|0,a|0,l|0)|0;a=I;n=Os(0,o[h>>2]|0,32)|0;h=I;m=Os(0,o[r>>2]|0,32)|0;h=Es(m|0,I|0,n|0,h|0)|0;a=ks(h|0,I|0,l|0,a|0)|0;l=I;h=Os(0,o[t>>2]|0,32)|0;n=I;p=Os(0,o[p>>2]|0,32)|0;n=Es(p|0,I|0,h|0,n|0)|0;n=ks(a|0,l|0,n|0,I|0)|0;n=Cs(n|0,I|0,1)|0;l=I;a=Os(0,o[f>>2]|0,32)|0;h=I;p=Os(0,o[c>>2]|0,32)|0;h=Es(p|0,I|0,a|0,h|0)|0;h=ks(n|0,l|0,h|0,I|0)|0;l=I;n=Os(0,o[i>>2]|0,32)|0;a=I;p=Os(0,o[u>>2]|0,32)|0;a=Es(p|0,I|0,n|0,a|0)|0;a=ks(h|0,l|0,a|0,I|0)|0;l=e+112|0;o[l>>2]=a;o[l+4>>2]=I;l=Os(0,o[s>>2]|0,32)|0;a=I;h=Os(0,o[c>>2]|0,32)|0;a=Es(h|0,I|0,l|0,a|0)|0;l=I;h=Os(0,o[i>>2]|0,32)|0;n=I;p=Os(0,o[d>>2]|0,32)|0;n=Es(p|0,I|0,h|0,n|0)|0;l=ks(n|0,I|0,a|0,l|0)|0;a=I;n=Os(0,o[f>>2]|0,32)|0;f=I;h=Os(0,o[r>>2]|0,32)|0;f=Es(h|0,I|0,n|0,f|0)|0;f=ks(l|0,a|0,f|0,I|0)|0;a=I;l=Os(0,o[t>>2]|0,32)|0;n=I;u=Os(0,o[u>>2]|0,32)|0;n=Es(u|0,I|0,l|0,n|0)|0;n=ks(f|0,a|0,n|0,I|0)|0;a=e+120|0;o[a>>2]=n;o[a+4>>2]=I;a=Os(0,o[i>>2]|0,32)|0;n=I;f=Os(0,o[c>>2]|0,32)|0;n=Es(f|0,I|0,a|0,n|0)|0;a=I;s=Os(0,o[s>>2]|0,32)|0;f=I;l=Os(0,o[r>>2]|0,32)|0;f=Es(l|0,I|0,s|0,f|0)|0;s=I;l=Os(0,o[t>>2]|0,32)|0;u=I;d=Os(0,o[d>>2]|0,32)|0;u=Es(d|0,I|0,l|0,u|0)|0;s=ks(u|0,I|0,f|0,s|0)|0;s=Cs(s|0,I|0,1)|0;a=ks(s|0,I|0,n|0,a|0)|0;n=e+128|0;o[n>>2]=a;o[n+4>>2]=I;i=Os(0,o[i>>2]|0,32)|0;n=I;a=Os(0,o[r>>2]|0,32)|0;n=Es(a|0,I|0,i|0,n|0)|0;i=I;a=Os(0,o[t>>2]|0,32)|0;s=I;c=Os(0,o[c>>2]|0,32)|0;s=Es(c|0,I|0,a|0,s|0)|0;i=ks(s|0,I|0,n|0,i|0)|0;n=e+136|0;o[n>>2]=i;o[n+4>>2]=I;n=Os(0,o[t>>2]|0,31)|0;t=I;r=Os(0,o[r>>2]|0,32)|0;t=Es(r|0,I|0,n|0,t|0)|0;n=e+144|0;o[n>>2]=t;o[n+4>>2]=I;return}function Bo(e){e=e|0;var t=0,n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0;t=e+80|0;s=t;o[s>>2]=0;o[s+4>>2]=0;s=e;f=o[s>>2]|0;s=o[s+4>>2]|0;n=ks(f|0,s|0,s>>31>>>6|0,0)|0;a=I;i=Os(n|0,a|0,26)|0;u=I;a=Ss(f|0,s|0,n&-67108864|0,a|0)|0;n=e;o[n>>2]=a;o[n+4>>2]=I;n=e+8|0;a=n;a=ks(i|0,u|0,o[a>>2]|0,o[a+4>>2]|0)|0;u=I;i=ks(a|0,u|0,u>>31>>>7|0,0)|0;s=I;f=Os(i|0,s|0,25)|0;r=I;s=Ss(a|0,u|0,i&-33554432|0,s|0)|0;i=n;o[i>>2]=s;o[i+4>>2]=I;i=e+16|0;s=i;s=ks(f|0,r|0,o[s>>2]|0,o[s+4>>2]|0)|0;r=I;f=ks(s|0,r|0,r>>31>>>6|0,0)|0;u=I;a=Os(f|0,u|0,26)|0;c=I;u=Ss(s|0,r|0,f&-67108864|0,u|0)|0;o[i>>2]=u;o[i+4>>2]=I;i=e+24|0;u=i;u=ks(a|0,c|0,o[u>>2]|0,o[u+4>>2]|0)|0;c=I;a=ks(u|0,c|0,c>>31>>>7|0,0)|0;f=I;r=Os(a|0,f|0,25)|0;s=I;f=Ss(u|0,c|0,a&-33554432|0,f|0)|0;o[i>>2]=f;o[i+4>>2]=I;i=e+32|0;f=i;f=ks(r|0,s|0,o[f>>2]|0,o[f+4>>2]|0)|0;s=I;r=ks(f|0,s|0,s>>31>>>6|0,0)|0;a=I;c=Os(r|0,a|0,26)|0;u=I;a=Ss(f|0,s|0,r&-67108864|0,a|0)|0;o[i>>2]=a;o[i+4>>2]=I;i=e+40|0;a=i;a=ks(c|0,u|0,o[a>>2]|0,o[a+4>>2]|0)|0;u=I;c=ks(a|0,u|0,u>>31>>>7|0,0)|0;r=I;s=Os(c|0,r|0,25)|0;f=I;r=Ss(a|0,u|0,c&-33554432|0,r|0)|0;o[i>>2]=r;o[i+4>>2]=I;i=e+48|0;r=i;r=ks(s|0,f|0,o[r>>2]|0,o[r+4>>2]|0)|0;f=I;s=ks(r|0,f|0,f>>31>>>6|0,0)|0;c=I;u=Os(s|0,c|0,26)|0;a=I;c=Ss(r|0,f|0,s&-67108864|0,c|0)|0;o[i>>2]=c;o[i+4>>2]=I;i=e+56|0;c=i;c=ks(u|0,a|0,o[c>>2]|0,o[c+4>>2]|0)|0;a=I;u=ks(c|0,a|0,a>>31>>>7|0,0)|0;s=I;f=Os(u|0,s|0,25)|0;r=I;s=Ss(c|0,a|0,u&-33554432|0,s|0)|0;o[i>>2]=s;o[i+4>>2]=I;i=e+64|0;s=i;s=ks(f|0,r|0,o[s>>2]|0,o[s+4>>2]|0)|0;r=I;f=ks(s|0,r|0,r>>31>>>6|0,0)|0;u=I;a=Os(f|0,u|0,26)|0;c=I;u=Ss(s|0,r|0,f&-67108864|0,u|0)|0;o[i>>2]=u;o[i+4>>2]=I;i=e+72|0;u=i;u=ks(a|0,c|0,o[u>>2]|0,o[u+4>>2]|0)|0;c=I;a=ks(u|0,c|0,c>>31>>>7|0,0)|0;f=I;r=Os(a|0,f|0,25)|0;s=I;f=Ss(u|0,c|0,a&-33554432|0,f|0)|0;o[i>>2]=f;o[i+4>>2]=I;i=t;i=ks(r|0,s|0,o[i>>2]|0,o[i+4>>2]|0)|0;s=I;r=e;f=o[r>>2]|0;r=o[r+4>>2]|0;a=Es(i|0,s|0,18,0)|0;c=I;s=ks(f|0,r|0,i|0,s|0)|0;c=ks(s|0,I|0,a|0,c|0)|0;a=I;o[t>>2]=0;o[t+4>>2]=0;t=ks(c|0,a|0,a>>31>>>6|0,0)|0;s=I;i=Os(t|0,s|0,26)|0;r=I;s=Ss(c|0,a|0,t&-67108864|0,s|0)|0;t=e;o[t>>2]=s;o[t+4>>2]=I;t=n;t=ks(i|0,r|0,o[t>>2]|0,o[t+4>>2]|0)|0;e=n;o[e>>2]=t;o[e+4>>2]=I;return}function No(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0;r=h;h=h+160|0;n=r;q=o[t>>2]|0;y=Os(0,q|0,32)|0;c=I;a=Es(y|0,c|0,y|0,c|0)|0;s=I;B=n;o[B>>2]=a;o[B+4>>2]=s;q=Os(0,q|0,31)|0;B=I;H=o[t+8>>2]|0;E=Os(0,H|0,32)|0;d=I;m=Es(E|0,d|0,q|0,B|0)|0;p=I;u=n+8|0;A=u;o[A>>2]=m;o[A+4>>2]=p;A=Es(E|0,d|0,E|0,d|0)|0;w=I;g=Os(0,o[t+16>>2]|0,32)|0;l=I;b=Es(g|0,l|0,y|0,c|0)|0;w=ks(b|0,I|0,A|0,w|0)|0;w=Cs(w|0,I|0,1)|0;A=I;b=n+16|0;T=b;o[T>>2]=w;o[T+4>>2]=A;T=Es(g|0,l|0,E|0,d|0)|0;R=I;ce=Os(0,o[t+24>>2]|0,32)|0;ae=I;v=Es(ce|0,ae|0,y|0,c|0)|0;R=ks(v|0,I|0,T|0,R|0)|0;R=Cs(R|0,I|0,1)|0;T=I;v=n+24|0;D=v;o[D>>2]=R;o[D+4>>2]=T;D=Es(g|0,l|0,g|0,l|0)|0;C=I;O=Os(0,H|0,30)|0;O=Es(ce|0,ae|0,O|0,I|0)|0;C=ks(O|0,I|0,D|0,C|0)|0;D=I;O=Os(0,o[t+32>>2]|0,32)|0;_=I;B=Es(O|0,_|0,q|0,B|0)|0;B=ks(C|0,D|0,B|0,I|0)|0;D=I;C=n+32|0;q=C;o[q>>2]=B;o[q+4>>2]=D;q=Es(ce|0,ae|0,g|0,l|0)|0;U=I;P=Es(O|0,_|0,E|0,d|0)|0;U=ks(P|0,I|0,q|0,U|0)|0;q=I;P=o[t+40>>2]|0;j=Os(0,P|0,32)|0;M=I;K=Es(j|0,M|0,y|0,c|0)|0;K=ks(U|0,q|0,K|0,I|0)|0;K=Cs(K|0,I|0,1)|0;q=I;U=n+40|0;$=U;o[$>>2]=K;o[$+4>>2]=q;$=Es(ce|0,ae|0,ce|0,ae|0)|0;te=I;z=Es(O|0,_|0,g|0,l|0)|0;te=ks(z|0,I|0,$|0,te|0)|0;$=I;z=Os(0,o[t+48>>2]|0,32)|0;G=I;W=Es(z|0,G|0,y|0,c|0)|0;Y=I;H=Os(0,H|0,31)|0;H=Es(j|0,M|0,H|0,I|0)|0;H=ks(te|0,$|0,H|0,I|0)|0;Y=ks(H|0,I|0,W|0,Y|0)|0;Y=Cs(Y|0,I|0,1)|0;W=I;H=n+48|0;$=H;o[$>>2]=Y;o[$+4>>2]=W;$=Es(O|0,_|0,ce|0,ae|0)|0;te=I;Q=Es(j|0,M|0,g|0,l|0)|0;te=ks(Q|0,I|0,$|0,te|0)|0;$=I;Q=Es(z|0,G|0,E|0,d|0)|0;Q=ks(te|0,$|0,Q|0,I|0)|0;$=I;te=o[t+56>>2]|0;L=Os(0,te|0,32)|0;F=I;ee=Es(L|0,F|0,y|0,c|0)|0;ee=ks(Q|0,$|0,ee|0,I|0)|0;ee=Cs(ee|0,I|0,1)|0;$=I;Q=n+56|0;V=Q;o[V>>2]=ee;o[V+4>>2]=$;V=Es(O|0,_|0,O|0,_|0)|0;Z=I;i=Es(z|0,G|0,g|0,l|0)|0;oe=I;ne=o[t+64>>2]|0;J=Os(0,ne|0,32)|0;X=I;ie=Es(J|0,X|0,y|0,c|0)|0;oe=ks(ie|0,I|0,i|0,oe|0)|0;i=I;ie=Es(L|0,F|0,E|0,d|0)|0;re=I;f=Es(j|0,M|0,ce|0,ae|0)|0;f=ks(ie|0,re|0,f|0,I|0)|0;f=Cs(f|0,I|0,1)|0;f=ks(oe|0,i|0,f|0,I|0)|0;f=Cs(f|0,I|0,1)|0;Z=ks(f|0,I|0,V|0,Z|0)|0;V=I;f=Es(j|0,M|0,O|0,_|0)|0;i=I;oe=Es(z|0,G|0,ce|0,ae|0)|0;i=ks(oe|0,I|0,f|0,i|0)|0;f=I;oe=Es(L|0,F|0,g|0,l|0)|0;oe=ks(i|0,f|0,oe|0,I|0)|0;f=I;i=Es(J|0,X|0,E|0,d|0)|0;i=ks(oe|0,f|0,i|0,I|0)|0;f=I;oe=o[t+72>>2]|0;re=Os(0,oe|0,32)|0;ie=I;c=Es(re|0,ie|0,y|0,c|0)|0;c=ks(i|0,f|0,c|0,I|0)|0;c=Cs(c|0,I|0,1)|0;t=n+72|0;o[t>>2]=c;o[t+4>>2]=I;t=Es(j|0,M|0,j|0,M|0)|0;c=I;f=Es(z|0,G|0,O|0,_|0)|0;c=ks(f|0,I|0,t|0,c|0)|0;t=I;f=Es(J|0,X|0,g|0,l|0)|0;f=ks(c|0,t|0,f|0,I|0)|0;t=I;c=Es(L|0,F|0,ce|0,ae|0)|0;i=I;d=Es(re|0,ie|0,E|0,d|0)|0;i=ks(d|0,I|0,c|0,i|0)|0;i=Cs(i|0,I|0,1)|0;i=ks(f|0,t|0,i|0,I|0)|0;t=I;f=Cs(i|0,t|0,1)|0;c=I;d=n+80|0;o[d>>2]=f;o[d+4>>2]=c;d=Es(z|0,G|0,j|0,M|0)|0;E=I;y=Es(L|0,F|0,O|0,_|0)|0;E=ks(y|0,I|0,d|0,E|0)|0;d=I;y=Es(J|0,X|0,ce|0,ae|0)|0;y=ks(E|0,d|0,y|0,I|0)|0;d=I;l=Es(re|0,ie|0,g|0,l|0)|0;l=ks(y|0,d|0,l|0,I|0)|0;d=I;y=Cs(l|0,d|0,1)|0;g=I;E=n+88|0;o[E>>2]=y;o[E+4>>2]=g;E=Es(z|0,G|0,z|0,G|0)|0;k=I;x=Es(J|0,X|0,O|0,_|0)|0;S=I;se=Es(L|0,F|0,j|0,M|0)|0;N=I;ae=Es(re|0,ie|0,ce|0,ae|0)|0;N=ks(ae|0,I|0,se|0,N|0)|0;N=Cs(N|0,I|0,1)|0;S=ks(N|0,I|0,x|0,S|0)|0;S=Cs(S|0,I|0,1)|0;k=ks(S|0,I|0,E|0,k|0)|0;E=I;S=n+96|0;o[S>>2]=k;o[S+4>>2]=E;S=Es(L|0,F|0,z|0,G|0)|0;x=I;M=Es(J|0,X|0,j|0,M|0)|0;x=ks(M|0,I|0,S|0,x|0)|0;S=I;_=Es(re|0,ie|0,O|0,_|0)|0;_=ks(x|0,S|0,_|0,I|0)|0;S=I;x=Cs(_|0,S|0,1)|0;O=I;M=n+104|0;o[M>>2]=x;o[M+4>>2]=O;M=Es(L|0,F|0,L|0,F|0)|0;j=I;N=Es(J|0,X|0,z|0,G|0)|0;j=ks(N|0,I|0,M|0,j|0)|0;M=I;P=Os(0,P|0,31)|0;P=Es(re|0,ie|0,P|0,I|0)|0;P=ks(j|0,M|0,P|0,I|0)|0;M=I;j=Cs(P|0,M|0,1)|0;N=I;se=n+112|0;o[se>>2]=j;o[se+4>>2]=N;F=Es(J|0,X|0,L|0,F|0)|0;L=I;G=Es(re|0,ie|0,z|0,G|0)|0;L=ks(G|0,I|0,F|0,L|0)|0;F=I;G=Cs(L|0,F|0,1)|0;z=I;se=n+120|0;o[se>>2]=G;o[se+4>>2]=z;X=Es(J|0,X|0,J|0,X|0)|0;J=I;te=Os(0,te|0,30)|0;te=Es(re|0,ie|0,te|0,I|0)|0;J=ks(te|0,I|0,X|0,J|0)|0;X=I;te=n+128|0;o[te>>2]=J;o[te+4>>2]=X;ne=Os(0,ne|0,31)|0;ne=Es(re|0,ie|0,ne|0,I|0)|0;te=I;se=n+136|0;o[se>>2]=ne;o[se+4>>2]=te;oe=Os(0,oe|0,31)|0;ie=Es(oe|0,I|0,re|0,ie|0)|0;re=I;oe=n+144|0;o[oe>>2]=ie;o[oe+4>>2]=re;re=Es(ie|0,re|0,19,0)|0;V=ks(re|0,I|0,Z|0,V|0)|0;Z=n+64|0;o[Z>>2]=V;o[Z+4>>2]=I;Z=Es(ne|0,te|0,18,0)|0;V=I;$=ks(ne|0,te|0,ee|0,$|0)|0;V=ks($|0,I|0,Z|0,V|0)|0;o[Q>>2]=V;o[Q+4>>2]=I;Q=Es(J|0,X|0,18,0)|0;V=I;W=ks(J|0,X|0,Y|0,W|0)|0;V=ks(W|0,I|0,Q|0,V|0)|0;o[H>>2]=V;o[H+4>>2]=I;F=Es(L|0,F|0,36,0)|0;L=I;q=ks(G|0,z|0,K|0,q|0)|0;L=ks(q|0,I|0,F|0,L|0)|0;o[U>>2]=L;o[U+4>>2]=I;M=Es(P|0,M|0,36,0)|0;P=I;D=ks(j|0,N|0,B|0,D|0)|0;P=ks(D|0,I|0,M|0,P|0)|0;o[C>>2]=P;o[C+4>>2]=I;S=Es(_|0,S|0,36,0)|0;_=I;T=ks(x|0,O|0,R|0,T|0)|0;_=ks(T|0,I|0,S|0,_|0)|0;o[v>>2]=_;o[v+4>>2]=I;v=Es(k|0,E|0,18,0)|0;_=I;A=ks(k|0,E|0,w|0,A|0)|0;_=ks(A|0,I|0,v|0,_|0)|0;o[b>>2]=_;o[b+4>>2]=I;d=Es(l|0,d|0,36,0)|0;l=I;p=ks(y|0,g|0,m|0,p|0)|0;l=ks(p|0,I|0,d|0,l|0)|0;o[u>>2]=l;o[u+4>>2]=I;t=Es(i|0,t|0,36,0)|0;i=I;s=ks(f|0,c|0,a|0,s|0)|0;i=ks(s|0,I|0,t|0,i|0)|0;t=n;o[t>>2]=i;o[t+4>>2]=I;Bo(n);t=n;n=e+80|0;do{o[e>>2]=o[t>>2];e=e+4|0;t=t+4|0}while((e|0)<(n|0));h=r;return}function jo(e){e=e|0;var t=0,n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0;E=h;h=h+16|0;p=E;do{if(e>>>0<245){u=e>>>0<11?16:e+11&-8;e=u>>>3;d=o[9632]|0;n=d>>>e;if(n&3|0){t=(n&1^1)+e|0;e=38568+(t<<1<<2)|0;n=e+8|0;r=o[n>>2]|0;i=r+8|0;s=o[i>>2]|0;if((s|0)==(e|0))o[9632]=d&~(1<>2]=e;o[n>>2]=s}w=t<<3;o[r+4>>2]=w|3;w=r+w+4|0;o[w>>2]=o[w>>2]|1;w=i;h=E;return w|0}l=o[9634]|0;if(u>>>0>l>>>0){if(n|0){t=2<>>12&16;t=t>>>c;n=t>>>5&8;t=t>>>n;s=t>>>2&4;t=t>>>s;e=t>>>1&2;t=t>>>e;r=t>>>1&1;r=(n|c|s|e|r)+(t>>>r)|0;t=38568+(r<<1<<2)|0;e=t+8|0;s=o[e>>2]|0;c=s+8|0;n=o[c>>2]|0;if((n|0)==(t|0)){e=d&~(1<>2]=t;o[e>>2]=n;e=d}w=r<<3;a=w-u|0;o[s+4>>2]=u|3;i=s+u|0;o[i+4>>2]=a|1;o[s+w>>2]=a;if(l|0){r=o[9637]|0;t=l>>>3;n=38568+(t<<1<<2)|0;t=1<>2]|0}o[e>>2]=r;o[t+12>>2]=r;o[r+8>>2]=t;o[r+12>>2]=n}o[9634]=a;o[9637]=i;w=c;h=E;return w|0}s=o[9633]|0;if(s){n=(s&0-s)+-1|0;i=n>>>12&16;n=n>>>i;r=n>>>5&8;n=n>>>r;a=n>>>2&4;n=n>>>a;c=n>>>1&2;n=n>>>c;f=n>>>1&1;f=o[38832+((r|i|a|c|f)+(n>>>f)<<2)>>2]|0;n=f;c=f;f=(o[f+4>>2]&-8)-u|0;while(1){e=o[n+16>>2]|0;if(!e){e=o[n+20>>2]|0;if(!e)break}a=(o[e+4>>2]&-8)-u|0;i=a>>>0>>0;n=e;c=i?e:c;f=i?a:f}a=c+u|0;if(a>>>0>c>>>0){i=o[c+24>>2]|0;t=o[c+12>>2]|0;do{if((t|0)==(c|0)){e=c+20|0;t=o[e>>2]|0;if(!t){e=c+16|0;t=o[e>>2]|0;if(!t){n=0;break}}while(1){r=t+20|0;n=o[r>>2]|0;if(!n){r=t+16|0;n=o[r>>2]|0;if(!n)break;else{t=n;e=r}}else{t=n;e=r}}o[e>>2]=0;n=t}else{n=o[c+8>>2]|0;o[n+12>>2]=t;o[t+8>>2]=n;n=t}}while(0);do{if(i|0){t=o[c+28>>2]|0;e=38832+(t<<2)|0;if((c|0)==(o[e>>2]|0)){o[e>>2]=n;if(!n){o[9633]=s&~(1<>2]|0)==(c|0)?w:i+20|0)>>2]=n;if(!n)break}o[n+24>>2]=i;t=o[c+16>>2]|0;if(t|0){o[n+16>>2]=t;o[t+24>>2]=n}t=o[c+20>>2]|0;if(t|0){o[n+20>>2]=t;o[t+24>>2]=n}}}while(0);if(f>>>0<16){w=f+u|0;o[c+4>>2]=w|3;w=c+w+4|0;o[w>>2]=o[w>>2]|1}else{o[c+4>>2]=u|3;o[a+4>>2]=f|1;o[a+f>>2]=f;if(l|0){r=o[9637]|0;t=l>>>3;n=38568+(t<<1<<2)|0;t=1<>2]|0}o[e>>2]=r;o[t+12>>2]=r;o[r+8>>2]=t;o[r+12>>2]=n}o[9634]=f;o[9637]=a}w=c+8|0;h=E;return w|0}else d=u}else d=u}else d=u}else if(e>>>0<=4294967231){e=e+11|0;u=e&-8;r=o[9633]|0;if(r){i=0-u|0;e=e>>>8;if(e)if(u>>>0>16777215)f=31;else{d=(e+1048320|0)>>>16&8;y=e<>>16&4;y=y<>>16&2;f=14-(c|d|f)+(y<>>15)|0;f=u>>>(f+7|0)&1|f<<1}else f=0;n=o[38832+(f<<2)>>2]|0;e:do{if(!n){n=0;e=0;y=61}else{e=0;c=u<<((f|0)==31?0:25-(f>>>1)|0);s=0;while(1){a=(o[n+4>>2]&-8)-u|0;if(a>>>0>>0)if(!a){e=n;i=0;y=65;break e}else{e=n;i=a}y=o[n+20>>2]|0;n=o[n+16+(c>>>31<<2)>>2]|0;s=(y|0)==0|(y|0)==(n|0)?s:y;if(!n){n=s;y=61;break}else c=c<<1}}}while(0);if((y|0)==61){if((n|0)==0&(e|0)==0){e=2<>>12&16;d=d>>>a;s=d>>>5&8;d=d>>>s;c=d>>>2&4;d=d>>>c;f=d>>>1&2;d=d>>>f;n=d>>>1&1;e=0;n=o[38832+((s|a|c|f|n)+(d>>>n)<<2)>>2]|0}if(!n){c=e;a=i}else y=65}if((y|0)==65){s=n;while(1){d=(o[s+4>>2]&-8)-u|0;n=d>>>0>>0;i=n?d:i;e=n?s:e;n=o[s+16>>2]|0;if(!n)n=o[s+20>>2]|0;if(!n){c=e;a=i;break}else s=n}}if(((c|0)!=0?a>>>0<((o[9634]|0)-u|0)>>>0:0)?(l=c+u|0,l>>>0>c>>>0):0){s=o[c+24>>2]|0;t=o[c+12>>2]|0;do{if((t|0)==(c|0)){e=c+20|0;t=o[e>>2]|0;if(!t){e=c+16|0;t=o[e>>2]|0;if(!t){t=0;break}}while(1){i=t+20|0;n=o[i>>2]|0;if(!n){i=t+16|0;n=o[i>>2]|0;if(!n)break;else{t=n;e=i}}else{t=n;e=i}}o[e>>2]=0}else{w=o[c+8>>2]|0;o[w+12>>2]=t;o[t+8>>2]=w}}while(0);do{if(s){e=o[c+28>>2]|0;n=38832+(e<<2)|0;if((c|0)==(o[n>>2]|0)){o[n>>2]=t;if(!t){r=r&~(1<>2]|0)==(c|0)?w:s+20|0)>>2]=t;if(!t)break}o[t+24>>2]=s;e=o[c+16>>2]|0;if(e|0){o[t+16>>2]=e;o[e+24>>2]=t}e=o[c+20>>2]|0;if(e){o[t+20>>2]=e;o[e+24>>2]=t}}}while(0);e:do{if(a>>>0<16){w=a+u|0;o[c+4>>2]=w|3;w=c+w+4|0;o[w>>2]=o[w>>2]|1}else{o[c+4>>2]=u|3;o[l+4>>2]=a|1;o[l+a>>2]=a;t=a>>>3;if(a>>>0<256){n=38568+(t<<1<<2)|0;e=o[9632]|0;t=1<>2]|0}o[e>>2]=l;o[t+12>>2]=l;o[l+8>>2]=t;o[l+12>>2]=n;break}t=a>>>8;if(t)if(a>>>0>16777215)n=31;else{A=(t+1048320|0)>>>16&8;w=t<>>16&4;w=w<>>16&2;n=14-(v|A|n)+(w<>>15)|0;n=a>>>(n+7|0)&1|n<<1}else n=0;t=38832+(n<<2)|0;o[l+28>>2]=n;e=l+16|0;o[e+4>>2]=0;o[e>>2]=0;e=1<>2]=l;o[l+24>>2]=t;o[l+12>>2]=l;o[l+8>>2]=l;break}t=o[t>>2]|0;t:do{if((o[t+4>>2]&-8|0)!=(a|0)){r=a<<((n|0)==31?0:25-(n>>>1)|0);while(1){n=t+16+(r>>>31<<2)|0;e=o[n>>2]|0;if(!e)break;if((o[e+4>>2]&-8|0)==(a|0)){t=e;break t}else{r=r<<1;t=e}}o[n>>2]=l;o[l+24>>2]=t;o[l+12>>2]=l;o[l+8>>2]=l;break e}}while(0);A=t+8|0;w=o[A>>2]|0;o[w+12>>2]=l;o[A>>2]=l;o[l+8>>2]=w;o[l+12>>2]=t;o[l+24>>2]=0}}while(0);w=c+8|0;h=E;return w|0}else d=u}else d=u}else d=-1}while(0);n=o[9634]|0;if(n>>>0>=d>>>0){t=n-d|0;e=o[9637]|0;if(t>>>0>15){w=e+d|0;o[9637]=w;o[9634]=t;o[w+4>>2]=t|1;o[e+n>>2]=t;o[e+4>>2]=d|3}else{o[9634]=0;o[9637]=0;o[e+4>>2]=n|3;w=e+n+4|0;o[w>>2]=o[w>>2]|1}w=e+8|0;h=E;return w|0}a=o[9635]|0;if(a>>>0>d>>>0){v=a-d|0;o[9635]=v;w=o[9638]|0;A=w+d|0;o[9638]=A;o[A+4>>2]=v|1;o[w+4>>2]=d|3;w=w+8|0;h=E;return w|0}if(!(o[9750]|0)){o[9752]=4096;o[9751]=4096;o[9753]=-1;o[9754]=-1;o[9755]=0;o[9743]=0;o[9750]=p&-16^1431655768;e=4096}else e=o[9752]|0;c=d+48|0;f=d+47|0;s=e+f|0;i=0-e|0;u=s&i;if(u>>>0<=d>>>0){w=0;h=E;return w|0}e=o[9742]|0;if(e|0?(l=o[9740]|0,p=l+u|0,p>>>0<=l>>>0|p>>>0>e>>>0):0){w=0;h=E;return w|0}e:do{if(!(o[9743]&4)){n=o[9638]|0;t:do{if(n){r=38976;while(1){p=o[r>>2]|0;if(p>>>0<=n>>>0?(p+(o[r+4>>2]|0)|0)>>>0>n>>>0:0)break;e=o[r+8>>2]|0;if(!e){y=128;break t}else r=e}t=s-a&i;if(t>>>0<2147483647){e=Bs(t|0)|0;if((e|0)==((o[r>>2]|0)+(o[r+4>>2]|0)|0)){if((e|0)!=(-1|0)){a=t;s=e;y=145;break e}}else{r=e;y=136}}else t=0}else y=128}while(0);do{if((y|0)==128){n=Bs(0)|0;if((n|0)!=(-1|0)?(t=n,m=o[9751]|0,g=m+-1|0,t=((g&t|0)==0?0:(g+t&0-m)-t|0)+u|0,m=o[9740]|0,g=t+m|0,t>>>0>d>>>0&t>>>0<2147483647):0){p=o[9742]|0;if(p|0?g>>>0<=m>>>0|g>>>0>p>>>0:0){t=0;break}e=Bs(t|0)|0;if((e|0)==(n|0)){a=t;s=n;y=145;break e}else{r=e;y=136}}else t=0}}while(0);do{if((y|0)==136){n=0-t|0;if(!(c>>>0>t>>>0&(t>>>0<2147483647&(r|0)!=(-1|0))))if((r|0)==(-1|0)){t=0;break}else{a=t;s=r;y=145;break e}e=o[9752]|0;e=f-t+e&0-e;if(e>>>0>=2147483647){a=t;s=r;y=145;break e}if((Bs(e|0)|0)==(-1|0)){Bs(n|0)|0;t=0;break}else{a=e+t|0;s=r;y=145;break e}}}while(0);o[9743]=o[9743]|4;y=143}else{t=0;y=143}}while(0);if(((y|0)==143?u>>>0<2147483647:0)?(v=Bs(u|0)|0,g=Bs(0)|0,b=g-v|0,_=b>>>0>(d+40|0)>>>0,!((v|0)==(-1|0)|_^1|v>>>0>>0&((v|0)!=(-1|0)&(g|0)!=(-1|0))^1)):0){a=_?b:t;s=v;y=145}if((y|0)==145){t=(o[9740]|0)+a|0;o[9740]=t;if(t>>>0>(o[9741]|0)>>>0)o[9741]=t;f=o[9638]|0;e:do{if(f){t=38976;while(1){e=o[t>>2]|0;n=o[t+4>>2]|0;if((s|0)==(e+n|0)){y=154;break}r=o[t+8>>2]|0;if(!r)break;else t=r}if(((y|0)==154?(A=t+4|0,(o[t+12>>2]&8|0)==0):0)?s>>>0>f>>>0&e>>>0<=f>>>0:0){o[A>>2]=n+a;w=(o[9635]|0)+a|0;v=f+8|0;v=(v&7|0)==0?0:0-v&7;A=f+v|0;v=w-v|0;o[9638]=A;o[9635]=v;o[A+4>>2]=v|1;o[f+w+4>>2]=40;o[9639]=o[9754];break}if(s>>>0<(o[9636]|0)>>>0)o[9636]=s;n=s+a|0;t=38976;while(1){if((o[t>>2]|0)==(n|0)){y=162;break}e=o[t+8>>2]|0;if(!e)break;else t=e}if((y|0)==162?(o[t+12>>2]&8|0)==0:0){o[t>>2]=s;l=t+4|0;o[l>>2]=(o[l>>2]|0)+a;l=s+8|0;l=s+((l&7|0)==0?0:0-l&7)|0;t=n+8|0;t=n+((t&7|0)==0?0:0-t&7)|0;u=l+d|0;c=t-l-d|0;o[l+4>>2]=d|3;t:do{if((f|0)==(t|0)){w=(o[9635]|0)+c|0;o[9635]=w;o[9638]=u;o[u+4>>2]=w|1}else{if((o[9637]|0)==(t|0)){w=(o[9634]|0)+c|0;o[9634]=w;o[9637]=u;o[u+4>>2]=w|1;o[u+w>>2]=w;break}e=o[t+4>>2]|0;if((e&3|0)==1){a=e&-8;r=e>>>3;n:do{if(e>>>0<256){e=o[t+8>>2]|0;n=o[t+12>>2]|0;if((n|0)==(e|0)){o[9632]=o[9632]&~(1<>2]=n;o[n+8>>2]=e;break}}else{s=o[t+24>>2]|0;e=o[t+12>>2]|0;do{if((e|0)==(t|0)){n=t+16|0;r=n+4|0;e=o[r>>2]|0;if(!e){e=o[n>>2]|0;if(!e){e=0;break}}else n=r;while(1){i=e+20|0;r=o[i>>2]|0;if(!r){i=e+16|0;r=o[i>>2]|0;if(!r)break;else{e=r;n=i}}else{e=r;n=i}}o[n>>2]=0}else{w=o[t+8>>2]|0;o[w+12>>2]=e;o[e+8>>2]=w}}while(0);if(!s)break;n=o[t+28>>2]|0;r=38832+(n<<2)|0;do{if((o[r>>2]|0)!=(t|0)){w=s+16|0;o[((o[w>>2]|0)==(t|0)?w:s+20|0)>>2]=e;if(!e)break n}else{o[r>>2]=e;if(e|0)break;o[9633]=o[9633]&~(1<>2]=s;n=t+16|0;r=o[n>>2]|0;if(r|0){o[e+16>>2]=r;o[r+24>>2]=e}n=o[n+4>>2]|0;if(!n)break;o[e+20>>2]=n;o[n+24>>2]=e}}while(0);t=t+a|0;i=a+c|0}else i=c;t=t+4|0;o[t>>2]=o[t>>2]&-2;o[u+4>>2]=i|1;o[u+i>>2]=i;t=i>>>3;if(i>>>0<256){n=38568+(t<<1<<2)|0;e=o[9632]|0;t=1<>2]|0}o[e>>2]=u;o[t+12>>2]=u;o[u+8>>2]=t;o[u+12>>2]=n;break}t=i>>>8;do{if(!t)r=0;else{if(i>>>0>16777215){r=31;break}A=(t+1048320|0)>>>16&8;w=t<>>16&4;w=w<>>16&2;r=14-(v|A|r)+(w<>>15)|0;r=i>>>(r+7|0)&1|r<<1}}while(0);t=38832+(r<<2)|0;o[u+28>>2]=r;e=u+16|0;o[e+4>>2]=0;o[e>>2]=0;e=o[9633]|0;n=1<>2]=u;o[u+24>>2]=t;o[u+12>>2]=u;o[u+8>>2]=u;break}t=o[t>>2]|0;n:do{if((o[t+4>>2]&-8|0)!=(i|0)){r=i<<((r|0)==31?0:25-(r>>>1)|0);while(1){n=t+16+(r>>>31<<2)|0;e=o[n>>2]|0;if(!e)break;if((o[e+4>>2]&-8|0)==(i|0)){t=e;break n}else{r=r<<1;t=e}}o[n>>2]=u;o[u+24>>2]=t;o[u+12>>2]=u;o[u+8>>2]=u;break t}}while(0);A=t+8|0;w=o[A>>2]|0;o[w+12>>2]=u;o[A>>2]=u;o[u+8>>2]=w;o[u+12>>2]=t;o[u+24>>2]=0}}while(0);w=l+8|0;h=E;return w|0}t=38976;while(1){e=o[t>>2]|0;if(e>>>0<=f>>>0?(w=e+(o[t+4>>2]|0)|0,w>>>0>f>>>0):0)break;t=o[t+8>>2]|0}i=w+-47|0;e=i+8|0;e=i+((e&7|0)==0?0:0-e&7)|0;i=f+16|0;e=e>>>0>>0?f:e;t=e+8|0;n=a+-40|0;v=s+8|0;v=(v&7|0)==0?0:0-v&7;A=s+v|0;v=n-v|0;o[9638]=A;o[9635]=v;o[A+4>>2]=v|1;o[s+n+4>>2]=40;o[9639]=o[9754];n=e+4|0;o[n>>2]=27;o[t>>2]=o[9744];o[t+4>>2]=o[9745];o[t+8>>2]=o[9746];o[t+12>>2]=o[9747];o[9744]=s;o[9745]=a;o[9747]=0;o[9746]=t;t=e+24|0;do{A=t;t=t+4|0;o[t>>2]=7}while((A+8|0)>>>0>>0);if((e|0)!=(f|0)){s=e-f|0;o[n>>2]=o[n>>2]&-2;o[f+4>>2]=s|1;o[e>>2]=s;t=s>>>3;if(s>>>0<256){n=38568+(t<<1<<2)|0;e=o[9632]|0;t=1<>2]|0}o[e>>2]=f;o[t+12>>2]=f;o[f+8>>2]=t;o[f+12>>2]=n;break}t=s>>>8;if(t)if(s>>>0>16777215)r=31;else{A=(t+1048320|0)>>>16&8;w=t<>>16&4;w=w<>>16&2;r=14-(v|A|r)+(w<>>15)|0;r=s>>>(r+7|0)&1|r<<1}else r=0;n=38832+(r<<2)|0;o[f+28>>2]=r;o[f+20>>2]=0;o[i>>2]=0;t=o[9633]|0;e=1<>2]=f;o[f+24>>2]=n;o[f+12>>2]=f;o[f+8>>2]=f;break}t=o[n>>2]|0;t:do{if((o[t+4>>2]&-8|0)!=(s|0)){r=s<<((r|0)==31?0:25-(r>>>1)|0);while(1){n=t+16+(r>>>31<<2)|0;e=o[n>>2]|0;if(!e)break;if((o[e+4>>2]&-8|0)==(s|0)){t=e;break t}else{r=r<<1;t=e}}o[n>>2]=f;o[f+24>>2]=t;o[f+12>>2]=f;o[f+8>>2]=f;break e}}while(0);A=t+8|0;w=o[A>>2]|0;o[w+12>>2]=f;o[A>>2]=f;o[f+8>>2]=w;o[f+12>>2]=t;o[f+24>>2]=0}}else{w=o[9636]|0;if((w|0)==0|s>>>0>>0)o[9636]=s;o[9744]=s;o[9745]=a;o[9747]=0;o[9641]=o[9750];o[9640]=-1;o[9645]=38568;o[9644]=38568;o[9647]=38576;o[9646]=38576;o[9649]=38584;o[9648]=38584;o[9651]=38592;o[9650]=38592;o[9653]=38600;o[9652]=38600;o[9655]=38608;o[9654]=38608;o[9657]=38616;o[9656]=38616;o[9659]=38624;o[9658]=38624;o[9661]=38632;o[9660]=38632;o[9663]=38640;o[9662]=38640;o[9665]=38648;o[9664]=38648;o[9667]=38656;o[9666]=38656;o[9669]=38664;o[9668]=38664;o[9671]=38672;o[9670]=38672;o[9673]=38680;o[9672]=38680;o[9675]=38688;o[9674]=38688;o[9677]=38696;o[9676]=38696;o[9679]=38704;o[9678]=38704;o[9681]=38712;o[9680]=38712;o[9683]=38720;o[9682]=38720;o[9685]=38728;o[9684]=38728;o[9687]=38736;o[9686]=38736;o[9689]=38744;o[9688]=38744;o[9691]=38752;o[9690]=38752;o[9693]=38760;o[9692]=38760;o[9695]=38768;o[9694]=38768;o[9697]=38776;o[9696]=38776;o[9699]=38784;o[9698]=38784;o[9701]=38792;o[9700]=38792;o[9703]=38800;o[9702]=38800;o[9705]=38808;o[9704]=38808;o[9707]=38816;o[9706]=38816;w=a+-40|0;v=s+8|0;v=(v&7|0)==0?0:0-v&7;A=s+v|0;v=w-v|0;o[9638]=A;o[9635]=v;o[A+4>>2]=v|1;o[s+w+4>>2]=40;o[9639]=o[9754]}}while(0);t=o[9635]|0;if(t>>>0>d>>>0){v=t-d|0;o[9635]=v;w=o[9638]|0;A=w+d|0;o[9638]=A;o[A+4>>2]=v|1;o[w+4>>2]=d|3;w=w+8|0;h=E;return w|0}}o[(Lo()|0)>>2]=12;w=0;h=E;return w|0}function Uo(e){e=e|0;var t=0,n=0,r=0,i=0,s=0,a=0,c=0,f=0;if(!e)return;n=e+-8|0;i=o[9636]|0;e=o[e+-4>>2]|0;t=e&-8;f=n+t|0;do{if(!(e&1)){r=o[n>>2]|0;if(!(e&3))return;a=n+(0-r)|0;s=r+t|0;if(a>>>0>>0)return;if((o[9637]|0)==(a|0)){e=f+4|0;t=o[e>>2]|0;if((t&3|0)!=3){c=a;t=s;break}o[9634]=s;o[e>>2]=t&-2;o[a+4>>2]=s|1;o[a+s>>2]=s;return}n=r>>>3;if(r>>>0<256){e=o[a+8>>2]|0;t=o[a+12>>2]|0;if((t|0)==(e|0)){o[9632]=o[9632]&~(1<>2]=t;o[t+8>>2]=e;c=a;t=s;break}}i=o[a+24>>2]|0;e=o[a+12>>2]|0;do{if((e|0)==(a|0)){t=a+16|0;n=t+4|0;e=o[n>>2]|0;if(!e){e=o[t>>2]|0;if(!e){e=0;break}}else t=n;while(1){r=e+20|0;n=o[r>>2]|0;if(!n){r=e+16|0;n=o[r>>2]|0;if(!n)break;else{e=n;t=r}}else{e=n;t=r}}o[t>>2]=0}else{c=o[a+8>>2]|0;o[c+12>>2]=e;o[e+8>>2]=c}}while(0);if(i){t=o[a+28>>2]|0;n=38832+(t<<2)|0;if((o[n>>2]|0)==(a|0)){o[n>>2]=e;if(!e){o[9633]=o[9633]&~(1<>2]|0)==(a|0)?c:i+20|0)>>2]=e;if(!e){c=a;t=s;break}}o[e+24>>2]=i;t=a+16|0;n=o[t>>2]|0;if(n|0){o[e+16>>2]=n;o[n+24>>2]=e}t=o[t+4>>2]|0;if(t){o[e+20>>2]=t;o[t+24>>2]=e;c=a;t=s}else{c=a;t=s}}else{c=a;t=s}}else{c=n;a=n}}while(0);if(a>>>0>=f>>>0)return;e=f+4|0;r=o[e>>2]|0;if(!(r&1))return;if(!(r&2)){if((o[9638]|0)==(f|0)){f=(o[9635]|0)+t|0;o[9635]=f;o[9638]=c;o[c+4>>2]=f|1;if((c|0)!=(o[9637]|0))return;o[9637]=0;o[9634]=0;return}if((o[9637]|0)==(f|0)){f=(o[9634]|0)+t|0;o[9634]=f;o[9637]=a;o[c+4>>2]=f|1;o[a+f>>2]=f;return}i=(r&-8)+t|0;n=r>>>3;do{if(r>>>0<256){t=o[f+8>>2]|0;e=o[f+12>>2]|0;if((e|0)==(t|0)){o[9632]=o[9632]&~(1<>2]=e;o[e+8>>2]=t;break}}else{s=o[f+24>>2]|0;e=o[f+12>>2]|0;do{if((e|0)==(f|0)){t=f+16|0;n=t+4|0;e=o[n>>2]|0;if(!e){e=o[t>>2]|0;if(!e){n=0;break}}else t=n;while(1){r=e+20|0;n=o[r>>2]|0;if(!n){r=e+16|0;n=o[r>>2]|0;if(!n)break;else{e=n;t=r}}else{e=n;t=r}}o[t>>2]=0;n=e}else{n=o[f+8>>2]|0;o[n+12>>2]=e;o[e+8>>2]=n;n=e}}while(0);if(s|0){e=o[f+28>>2]|0;t=38832+(e<<2)|0;if((o[t>>2]|0)==(f|0)){o[t>>2]=n;if(!n){o[9633]=o[9633]&~(1<>2]|0)==(f|0)?r:s+20|0)>>2]=n;if(!n)break}o[n+24>>2]=s;e=f+16|0;t=o[e>>2]|0;if(t|0){o[n+16>>2]=t;o[t+24>>2]=n}e=o[e+4>>2]|0;if(e|0){o[n+20>>2]=e;o[e+24>>2]=n}}}}while(0);o[c+4>>2]=i|1;o[a+i>>2]=i;if((c|0)==(o[9637]|0)){o[9634]=i;return}}else{o[e>>2]=r&-2;o[c+4>>2]=t|1;o[a+t>>2]=t;i=t}e=i>>>3;if(i>>>0<256){n=38568+(e<<1<<2)|0;t=o[9632]|0;e=1<>2]|0}o[t>>2]=c;o[e+12>>2]=c;o[c+8>>2]=e;o[c+12>>2]=n;return}e=i>>>8;if(e)if(i>>>0>16777215)r=31;else{a=(e+1048320|0)>>>16&8;f=e<>>16&4;f=f<>>16&2;r=14-(s|a|r)+(f<>>15)|0;r=i>>>(r+7|0)&1|r<<1}else r=0;e=38832+(r<<2)|0;o[c+28>>2]=r;o[c+20>>2]=0;o[c+16>>2]=0;t=o[9633]|0;n=1<>2]=c;o[c+24>>2]=e;o[c+12>>2]=c;o[c+8>>2]=c}else{e=o[e>>2]|0;t:do{if((o[e+4>>2]&-8|0)!=(i|0)){r=i<<((r|0)==31?0:25-(r>>>1)|0);while(1){n=e+16+(r>>>31<<2)|0;t=o[n>>2]|0;if(!t)break;if((o[t+4>>2]&-8|0)==(i|0)){e=t;break t}else{r=r<<1;e=t}}o[n>>2]=c;o[c+24>>2]=e;o[c+12>>2]=c;o[c+8>>2]=c;break e}}while(0);a=e+8|0;f=o[a>>2]|0;o[f+12>>2]=c;o[a>>2]=c;o[c+8>>2]=f;o[c+12>>2]=e;o[c+24>>2]=0}}while(0);f=(o[9640]|0)+-1|0;o[9640]=f;if(f|0)return;e=38984;while(1){e=o[e>>2]|0;if(!e)break;else e=e+8|0}o[9640]=-1;return}function Lo(){return 39088}function Fo(e,t){e=e|0;t=t|0;var n=0,i=0;n=r[e>>0]|0;i=r[t>>0]|0;if(n<<24>>24==0?1:n<<24>>24!=i<<24>>24)e=i;else{do{e=e+1|0;t=t+1|0;n=r[e>>0]|0;i=r[t>>0]|0}while(!(n<<24>>24==0?1:n<<24>>24!=i<<24>>24));e=i}return(n&255)-(e&255)|0}function qo(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0;e:do{if(!n)e=0;else{while(1){i=r[e>>0]|0;o=r[t>>0]|0;if(i<<24>>24!=o<<24>>24)break;n=n+-1|0;if(!n){e=0;break e}else{e=e+1|0;t=t+1|0}}e=(i&255)-(o&255)|0}}while(0);return e|0}function Ko(e){e=e|0;return(e+-48|0)>>>0<10|0}function zo(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0;d=h;h=h+128|0;s=d+124|0;l=d;a=l;c=37604;f=a+124|0;do{o[a>>2]=o[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(f|0));if((t+-1|0)>>>0>2147483646)if(!t){e=s;t=1;u=4}else{o[(Lo()|0)>>2]=75;t=-1}else u=4;if((u|0)==4){u=-2-e|0;u=t>>>0>u>>>0?u:t;o[l+48>>2]=u;s=l+20|0;o[s>>2]=e;o[l+44>>2]=e;t=e+u|0;e=l+16|0;o[e>>2]=t;o[l+28>>2]=t;t=Go(l,n,i)|0;if(u){l=o[s>>2]|0;r[l+(((l|0)==(o[e>>2]|0))<<31>>31)>>0]=0}}h=d;return t|0}function Go(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0;b=h;h=h+224|0;d=b+208|0;m=b+160|0;g=b+80|0;y=b;i=m;s=i+40|0;do{o[i>>2]=0;i=i+4|0}while((i|0)<(s|0));o[d>>2]=o[n>>2];if((Ho(0,t,d,g,m)|0)<0)n=-1;else{if((o[e+76>>2]|0)>-1)p=Vo(e)|0;else p=0;n=o[e>>2]|0;l=n&32;if((r[e+74>>0]|0)<1)o[e>>2]=n&-33;i=e+48|0;if(!(o[i>>2]|0)){s=e+44|0;a=o[s>>2]|0;o[s>>2]=y;c=e+28|0;o[c>>2]=y;f=e+20|0;o[f>>2]=y;o[i>>2]=80;u=e+16|0;o[u>>2]=y+80;n=Ho(e,t,d,g,m)|0;if(a){Vs[o[e+36>>2]&1](e,0,0)|0;n=(o[f>>2]|0)==0?-1:n;o[s>>2]=a;o[i>>2]=0;o[u>>2]=0;o[c>>2]=0;o[f>>2]=0}}else n=Ho(e,t,d,g,m)|0;i=o[e>>2]|0;o[e>>2]=i|l;if(p|0)Qo(e);n=(i&32|0)==0?n:-1}h=b;return n|0}function Ho(e,t,n,s,a){e=e|0;t=t|0;n=n|0;s=s|0;a=a|0;var c=0,f=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0;D=h;h=h+64|0;O=D+56|0;x=D+40|0;S=D;P=D+48|0;M=D+60|0;o[O>>2]=t;w=(e|0)!=0;E=S+40|0;k=E;S=S+39|0;T=P+4|0;c=0;t=0;l=0;e:while(1){do{do{if((t|0)>-1)if((c|0)>(2147483647-t|0)){o[(Lo()|0)>>2]=75;t=-1;break}else{t=c+t|0;break}}while(0);b=o[O>>2]|0;c=r[b>>0]|0;if(!(c<<24>>24)){A=94;break e}f=b;t:while(1){switch(c<<24>>24){case 37:{A=10;break t}case 0:{c=f;break t}default:{}}v=f+1|0;o[O>>2]=v;c=r[v>>0]|0;f=v}t:do{if((A|0)==10){A=0;c=f;do{if((r[f+1>>0]|0)!=37)break t;c=c+1|0;f=f+2|0;o[O>>2]=f}while((r[f>>0]|0)==37)}}while(0);c=c-b|0;if(w)Wo(e,b,c)}while((c|0)!=0);v=(Ko(r[(o[O>>2]|0)+1>>0]|0)|0)==0;f=o[O>>2]|0;if(!v?(r[f+2>>0]|0)==36:0){g=(r[f+1>>0]|0)+-48|0;p=1;c=3}else{g=-1;p=l;c=1}c=f+c|0;o[O>>2]=c;f=r[c>>0]|0;l=(f<<24>>24)+-32|0;if(l>>>0>31|(1<>2]=c;f=r[c>>0]|0;l=(f<<24>>24)+-32|0}while(!(l>>>0>31|(1<>24==42){if((Ko(r[c+1>>0]|0)|0)!=0?(C=o[O>>2]|0,(r[C+2>>0]|0)==36):0){c=C+1|0;o[a+((r[c>>0]|0)+-48<<2)>>2]=10;c=o[s+((r[c>>0]|0)+-48<<3)>>2]|0;l=1;f=C+3|0}else{if(p|0){t=-1;break}if(w){v=(o[n>>2]|0)+(4-1)&~(4-1);c=o[v>>2]|0;o[n>>2]=v+4}else c=0;l=0;f=(o[O>>2]|0)+1|0}o[O>>2]=f;v=(c|0)<0;_=v?0-c|0:c;d=v?d|8192:d;v=l}else{c=Yo(O)|0;if((c|0)<0){t=-1;break}_=c;v=p;f=o[O>>2]|0}do{if((r[f>>0]|0)==46){c=f+1|0;if((r[c>>0]|0)!=42){o[O>>2]=c;c=Yo(O)|0;f=o[O>>2]|0;break}if(Ko(r[f+2>>0]|0)|0?(R=o[O>>2]|0,(r[R+3>>0]|0)==36):0){c=R+2|0;o[a+((r[c>>0]|0)+-48<<2)>>2]=10;c=o[s+((r[c>>0]|0)+-48<<3)>>2]|0;f=R+4|0;o[O>>2]=f;break}if(v|0){t=-1;break e}if(w){y=(o[n>>2]|0)+(4-1)&~(4-1);c=o[y>>2]|0;o[n>>2]=y+4}else c=0;f=(o[O>>2]|0)+2|0;o[O>>2]=f}else c=-1}while(0);y=0;while(1){if(((r[f>>0]|0)+-65|0)>>>0>57){t=-1;break e}l=f;f=f+1|0;o[O>>2]=f;l=r[(r[l>>0]|0)+-65+(35136+(y*58|0))>>0]|0;p=l&255;if((p+-1|0)>>>0>=8)break;else y=p}if(!(l<<24>>24)){t=-1;break}m=(g|0)>-1;do{if(l<<24>>24==19)if(m){t=-1;break e}else A=54;else{if(m){o[a+(g<<2)>>2]=p;m=s+(g<<3)|0;g=o[m+4>>2]|0;A=x;o[A>>2]=o[m>>2];o[A+4>>2]=g;A=54;break}if(!w){t=0;break e}Xo(x,p,n);f=o[O>>2]|0;A=55}}while(0);if((A|0)==54){A=0;if(w)A=55;else c=0}t:do{if((A|0)==55){A=0;f=r[f+-1>>0]|0;f=(y|0)!=0&(f&15|0)==3?f&-33:f;l=d&-65537;g=(d&8192|0)==0?d:l;n:do{switch(f|0){case 110:switch((y&255)<<24>>24){case 0:{o[o[x>>2]>>2]=t;c=0;break t}case 1:{o[o[x>>2]>>2]=t;c=0;break t}case 2:{c=o[x>>2]|0;o[c>>2]=t;o[c+4>>2]=((t|0)<0)<<31>>31;c=0;break t}case 3:{i[o[x>>2]>>1]=t;c=0;break t}case 4:{r[o[x>>2]>>0]=t;c=0;break t}case 6:{o[o[x>>2]>>2]=t;c=0;break t}case 7:{c=o[x>>2]|0;o[c>>2]=t;o[c+4>>2]=((t|0)<0)<<31>>31;c=0;break t}default:{c=0;break t}}case 112:{f=120;c=c>>>0>8?c:8;l=g|8;A=67;break}case 88:case 120:{l=g;A=67;break}case 111:{l=x;f=o[l>>2]|0;l=o[l+4>>2]|0;m=Zo(f,l,E)|0;A=k-m|0;d=0;p=38441;c=(g&8|0)==0|(c|0)>(A|0)?c:A+1|0;A=73;break}case 105:case 100:{l=x;f=o[l>>2]|0;l=o[l+4>>2]|0;if((l|0)<0){f=Ss(0,0,f|0,l|0)|0;l=I;d=x;o[d>>2]=f;o[d+4>>2]=l;d=1;p=38441;A=72;break n}else{d=(g&2049|0)!=0&1;p=(g&2048|0)==0?(g&1|0)==0?38441:38443:38442;A=72;break n}}case 117:{l=x;d=0;p=38441;f=o[l>>2]|0;l=o[l+4>>2]|0;A=72;break}case 99:{r[S>>0]=o[x>>2];y=S;d=0;p=38441;m=1;c=k;break}case 109:{f=es(o[(Lo()|0)>>2]|0)|0;A=77;break}case 115:{f=o[x>>2]|0;f=(f|0)==0?38451:f;A=77;break}case 67:{o[P>>2]=o[x>>2];o[T>>2]=0;o[x>>2]=P;p=-1;A=81;break}case 83:{if(!c){ns(e,32,_,0,g);c=0;A=91}else{p=c;A=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{c=is(e,+u[x>>3],_,c,g,f)|0;break t}default:{y=b;d=0;p=38441;m=c;l=g;c=k}}}while(0);n:do{if((A|0)==67){b=x;y=o[b>>2]|0;b=o[b+4>>2]|0;m=Jo(y,b,E,f&32)|0;p=(l&8|0)==0|(y|0)==0&(b|0)==0;d=p?0:2;p=p?38441:38441+(f>>>4)|0;g=l;f=y;l=b;A=73}else if((A|0)==72){m=$o(f,l,E)|0;A=73}else if((A|0)==77){A=0;b=ts(f,0,c)|0;g=(b|0)==0;y=f;d=0;p=38441;m=g?c:b-f|0;c=g?f+c|0:b}else if((A|0)==81){A=0;d=o[x>>2]|0;c=0;while(1){f=o[d>>2]|0;if(!f)break;f=rs(M,f)|0;l=(f|0)<0;if(l|f>>>0>(p-c|0)>>>0){A=85;break}c=f+c|0;if(p>>>0>c>>>0)d=d+4|0;else break}if((A|0)==85){A=0;if(l){t=-1;break e}}ns(e,32,_,c,g);if(!c){c=0;A=91}else{l=o[x>>2]|0;d=0;while(1){f=o[l>>2]|0;if(!f){A=91;break n}f=rs(M,f)|0;d=f+d|0;if((d|0)>(c|0)){A=91;break n}Wo(e,M,f);if(d>>>0>=c>>>0){A=91;break}else l=l+4|0}}}}while(0);if((A|0)==73){A=0;l=(f|0)!=0|(l|0)!=0;b=(c|0)!=0|l;l=k-m+((l^1)&1)|0;y=b?m:E;m=b?(c|0)>(l|0)?c:l:0;l=(c|0)>-1?g&-65537:g;c=k}else if((A|0)==91){A=0;ns(e,32,_,c,g^8192);c=(_|0)>(c|0)?_:c;break}g=c-y|0;m=(m|0)<(g|0)?g:m;b=m+d|0;c=(_|0)<(b|0)?b:_;ns(e,32,c,b,l);Wo(e,p,d);ns(e,48,c,b,l^65536);ns(e,48,m,g,0);Wo(e,y,g);ns(e,32,c,b,l^8192)}}while(0);l=v}e:do{if((A|0)==94)if(!e)if(!l)t=0;else{t=1;while(1){c=o[a+(t<<2)>>2]|0;if(!c)break;Xo(s+(t<<3)|0,c,n);t=t+1|0;if(t>>>0>=10){t=1;break e}}while(1){if(o[a+(t<<2)>>2]|0){t=-1;break e}t=t+1|0;if(t>>>0>=10){t=1;break}}}}while(0);h=D;return t|0}function Vo(e){e=e|0;return 0}function Qo(e){e=e|0;return}function Wo(e,t,n){e=e|0;t=t|0;n=n|0;if(!(o[e>>2]&32))ys(t,n,e)|0;return}function Yo(e){e=e|0;var t=0,n=0;if(!(Ko(r[o[e>>2]>>0]|0)|0))t=0;else{t=0;do{n=o[e>>2]|0;t=(t*10|0)+-48+(r[n>>0]|0)|0;n=n+1|0;o[e>>2]=n}while((Ko(r[n>>0]|0)|0)!=0)}return t|0}function Xo(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0.0;e:do{if(t>>>0<=20)do{switch(t|0){case 9:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;o[e>>2]=t;break e}case 10:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;r=e;o[r>>2]=t;o[r+4>>2]=((t|0)<0)<<31>>31;break e}case 11:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;r=e;o[r>>2]=t;o[r+4>>2]=0;break e}case 12:{r=(o[n>>2]|0)+(8-1)&~(8-1);t=r;i=o[t>>2]|0;t=o[t+4>>2]|0;o[n>>2]=r+8;r=e;o[r>>2]=i;o[r+4>>2]=t;break e}case 13:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;r=(r&65535)<<16>>16;i=e;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;break e}case 14:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;i=e;o[i>>2]=r&65535;o[i+4>>2]=0;break e}case 15:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;r=(r&255)<<24>>24;i=e;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;break e}case 16:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;i=e;o[i>>2]=r&255;o[i+4>>2]=0;break e}case 17:{i=(o[n>>2]|0)+(8-1)&~(8-1);s=+u[i>>3];o[n>>2]=i+8;u[e>>3]=s;break e}case 18:{i=(o[n>>2]|0)+(8-1)&~(8-1);s=+u[i>>3];o[n>>2]=i+8;u[e>>3]=s;break e}default:break e}}while(0)}while(0);return}function Jo(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;if(!((e|0)==0&(t|0)==0))do{n=n+-1|0;r[n>>0]=s[35600+(e&15)>>0]|0|i;e=xs(e|0,t|0,4)|0;t=I}while(!((e|0)==0&(t|0)==0));return n|0}function Zo(e,t,n){e=e|0;t=t|0;n=n|0;if(!((e|0)==0&(t|0)==0))do{n=n+-1|0;r[n>>0]=e&7|48;e=xs(e|0,t|0,3)|0;t=I}while(!((e|0)==0&(t|0)==0));return n|0}function $o(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0;if(t>>>0>0|(t|0)==0&e>>>0>4294967295){do{i=e;e=Rs(e|0,t|0,10,0)|0;o=t;t=I;s=Es(e|0,t|0,10,0)|0;s=Ss(i|0,o|0,s|0,I|0)|0;n=n+-1|0;r[n>>0]=s&255|48}while(o>>>0>9|(o|0)==9&i>>>0>4294967295);t=e}else t=e;if(t)do{s=t;t=(t>>>0)/10|0;n=n+-1|0;r[n>>0]=s-(t*10|0)|48}while(s>>>0>=10);return n|0}function es(e){e=e|0;return ds(e,o[(ls()|0)+188>>2]|0)|0}function ts(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0;a=t&255;i=(n|0)!=0;e:do{if(i&(e&3|0)!=0){s=t&255;while(1){if((r[e>>0]|0)==s<<24>>24){c=6;break e}e=e+1|0;n=n+-1|0;i=(n|0)!=0;if(!(i&(e&3|0)!=0)){c=5;break}}}else c=5}while(0);if((c|0)==5)if(i)c=6;else c=16;e:do{if((c|0)==6){s=t&255;if((r[e>>0]|0)==s<<24>>24)if(!n){c=16;break}else break;i=q(a,16843009)|0;t:do{if(n>>>0>3)while(1){a=o[e>>2]^i;if((a&-2139062144^-2139062144)&a+-16843009|0)break t;e=e+4|0;n=n+-4|0;if(n>>>0<=3){c=11;break}}else c=11}while(0);if((c|0)==11)if(!n){c=16;break}while(1){if((r[e>>0]|0)==s<<24>>24)break e;n=n+-1|0;if(!n){c=16;break}else e=e+1|0}}}while(0);if((c|0)==16)e=0;return e|0}function ns(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var o=0,s=0;s=h;h=h+256|0;o=s;if((n|0)>(r|0)&(i&73728|0)==0){i=n-r|0;Ds(o|0,t<<24>>24|0,(i>>>0<256?i:256)|0)|0;if(i>>>0>255){t=n-r|0;do{Wo(e,o,256);i=i+-256|0}while(i>>>0>255);i=t&255}Wo(e,o,i)}h=s;return}function rs(e,t){e=e|0;t=t|0;if(!e)e=0;else e=cs(e,t,0)|0;return e|0}function is(e,t,n,i,a,c){e=e|0;t=+t;n=n|0;i=i|0;a=a|0;c=c|0;var f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0.0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0;M=h;h=h+560|0;l=M+32|0;A=M+536|0;P=M;C=P;d=M+540|0;o[A>>2]=0;x=d+12|0;os(t)|0;f=I;if((f|0)<0){t=-t;os(t)|0;O=1;R=38458;f=I}else{O=(a&2049|0)!=0&1;R=(a&2048|0)==0?(a&1|0)==0?38459:38464:38461}do{if(0==0&(f&2146435072|0)==2146435072){P=(c&32|0)!=0;f=O+3|0;ns(e,32,n,f,a&-65537);Wo(e,R,O);Wo(e,t!=t|0.0!=0.0?P?38485:38489:P?38477:38481,3);ns(e,32,n,f,a^8192)}else{y=+ss(t,A)*2.0;f=y!=0.0;if(f)o[A>>2]=(o[A>>2]|0)+-1;v=c|32;if((v|0)==97){m=c&32;b=(m|0)==0?R:R+9|0;g=O|2;f=12-i|0;do{if(!(i>>>0>11|(f|0)==0)){t=8.0;do{f=f+-1|0;t=t*16.0}while((f|0)!=0);if((r[b>>0]|0)==45){t=-(t+(-y-t));break}else{t=y+t-t;break}}else t=y}while(0);u=o[A>>2]|0;f=(u|0)<0?0-u|0:u;f=$o(f,((f|0)<0)<<31>>31,x)|0;if((f|0)==(x|0)){f=d+11|0;r[f>>0]=48}r[f+-1>>0]=(u>>31&2)+43;p=f+-2|0;r[p>>0]=c+15;u=(i|0)<1;l=(a&8|0)==0;d=P;do{O=~~t;f=d+1|0;r[d>>0]=m|s[35600+O>>0];t=(t-+(O|0))*16.0;if((f-C|0)==1?!(l&(u&t==0.0)):0){r[f>>0]=46;d=d+2|0}else d=f}while(t!=0.0);if((i|0)!=0?(-2-C+d|0)<(i|0):0){u=x;l=p;f=i+2+u-l|0}else{u=x;l=p;f=u-C-l+d|0}x=f+g|0;ns(e,32,n,x,a);Wo(e,b,g);ns(e,48,n,x,a^65536);C=d-C|0;Wo(e,P,C);P=u-l|0;ns(e,48,f-(C+P)|0,0,0);Wo(e,p,P);ns(e,32,n,x,a^8192);f=x;break}u=(i|0)<0?6:i;if(f){f=(o[A>>2]|0)+-28|0;o[A>>2]=f;t=y*268435456.0}else{t=y;f=o[A>>2]|0}T=(f|0)<0?l:l+288|0;l=T;do{k=~~t>>>0;o[l>>2]=k;l=l+4|0;t=(t-+(k>>>0))*1.0e9}while(t!=0.0);k=T;if((f|0)>0){m=T;while(1){p=(f|0)<29?f:29;f=l+-4|0;if(f>>>0>=m>>>0){d=0;do{_=Cs(o[f>>2]|0,0,p|0)|0;_=ks(_|0,I|0,d|0,0)|0;w=I;d=Rs(_|0,w|0,1e9,0)|0;E=Es(d|0,I|0,1e9,0)|0;E=Ss(_|0,w|0,E|0,I|0)|0;o[f>>2]=E;f=f+-4|0}while(f>>>0>=m>>>0);if(d){E=m+-4|0;o[E>>2]=d;d=E}else d=m}else d=m;e:do{if(l>>>0>d>>>0){f=l;while(1){l=f+-4|0;if(o[l>>2]|0){l=f;break e}if(l>>>0>d>>>0)f=l;else break}}}while(0);f=(o[A>>2]|0)-p|0;o[A>>2]=f;if((f|0)>0)m=d;else break}}else d=T;if((f|0)<0){i=((u+25|0)/9|0)+1|0;_=(v|0)==102;do{b=0-f|0;b=(b|0)<9?b:9;if(d>>>0>>0){p=(1<>>b;g=0;f=d;do{E=o[f>>2]|0;o[f>>2]=(E>>>b)+g;g=q(E&p,m)|0;f=f+4|0}while(f>>>0>>0);d=(o[d>>2]|0)==0?d+4|0:d;if(g){o[l>>2]=g;l=l+4|0}}else d=(o[d>>2]|0)==0?d+4|0:d;f=_?T:d;l=(l-f>>2|0)>(i|0)?f+(i<<2)|0:l;f=(o[A>>2]|0)+b|0;o[A>>2]=f}while((f|0)<0);_=d}else _=d;if(_>>>0>>0){f=(k-_>>2)*9|0;p=o[_>>2]|0;if(p>>>0>=10){d=10;do{d=d*10|0;f=f+1|0}while(p>>>0>=d>>>0)}}else f=0;w=(v|0)==103;E=(u|0)!=0;d=u-((v|0)==102?0:f)+((E&w)<<31>>31)|0;if((d|0)<(((l-k>>2)*9|0)+-9|0)){A=d+9216|0;d=(A|0)/9|0;i=T+4+(d+-1024<<2)|0;d=A-(d*9|0)|0;if((d|0)<8){p=10;while(1){p=p*10|0;if((d|0)<7)d=d+1|0;else break}}else p=10;g=o[i>>2]|0;d=(g>>>0)/(p>>>0)|0;b=g-(q(d,p)|0)|0;m=(i+4|0)==(l|0);if(!(m&(b|0)==0)){y=(d&1|0)==0?9007199254740992.0:9007199254740994.0;A=p>>>1;t=b>>>0>>0?.5:m&(b|0)==(A|0)?1.0:1.5;if(O){A=(r[R>>0]|0)==45;t=A?-t:t;y=A?-y:y}d=g-b|0;o[i>>2]=d;if(y+t!=y){A=d+p|0;o[i>>2]=A;if(A>>>0>999999999){p=i;f=_;while(1){d=p+-4|0;o[p>>2]=0;if(d>>>0>>0){f=f+-4|0;o[f>>2]=0}A=(o[d>>2]|0)+1|0;o[d>>2]=A;if(A>>>0>999999999)p=d;else{p=f;break}}}else{d=i;p=_}f=(k-p>>2)*9|0;g=o[p>>2]|0;if(g>>>0>=10){m=10;do{m=m*10|0;f=f+1|0}while(g>>>0>=m>>>0)}}else{d=i;p=_}}else{d=i;p=_}A=d+4|0;l=l>>>0>A>>>0?A:l}else p=_;i=0-f|0;e:do{if(l>>>0>p>>>0)while(1){d=l+-4|0;if(o[d>>2]|0){A=l;v=1;break e}if(d>>>0>p>>>0)l=d;else{A=d;v=0;break}}else{A=l;v=0}}while(0);do{if(w){u=u+((E^1)&1)|0;if((u|0)>(f|0)&(f|0)>-5){m=c+-1|0;u=u+-1-f|0}else{m=c+-2|0;u=u+-1|0}if(!(a&8)){if(v?(S=o[A+-4>>2]|0,(S|0)!=0):0)if(!((S>>>0)%10|0)){d=0;l=10;do{l=l*10|0;d=d+1|0}while(!((S>>>0)%(l>>>0)|0|0))}else d=0;else d=9;l=((A-k>>2)*9|0)+-9|0;if((m|32|0)==102){c=l-d|0;c=(c|0)>0?c:0;u=(u|0)<(c|0)?u:c;break}else{c=l+f-d|0;c=(c|0)>0?c:0;u=(u|0)<(c|0)?u:c;break}}}else m=c}while(0);_=(u|0)!=0;g=_?1:a>>>3&1;b=(m|32|0)==102;if(b){w=0;f=(f|0)>0?f:0}else{l=(f|0)<0?i:f;l=$o(l,((l|0)<0)<<31>>31,x)|0;d=x;if((d-l|0)<2)do{l=l+-1|0;r[l>>0]=48}while((d-l|0)<2);r[l+-1>>0]=(f>>31&2)+43;f=l+-2|0;r[f>>0]=m;w=f;f=d-f|0}f=O+1+u+g+f|0;ns(e,32,n,f,a);Wo(e,R,O);ns(e,48,n,f,a^65536);if(b){g=p>>>0>T>>>0?T:p;b=P+9|0;p=b;m=P+8|0;d=g;do{l=$o(o[d>>2]|0,0,b)|0;if((d|0)==(g|0)){if((l|0)==(b|0)){r[m>>0]=48;l=m}}else if(l>>>0>P>>>0){Ds(P|0,48,l-C|0)|0;do{l=l+-1|0}while(l>>>0>P>>>0)}Wo(e,l,p-l|0);d=d+4|0}while(d>>>0<=T>>>0);if(!((a&8|0)==0&(_^1)))Wo(e,38493,1);if(d>>>0>>0&(u|0)>0)while(1){l=$o(o[d>>2]|0,0,b)|0;if(l>>>0>P>>>0){Ds(P|0,48,l-C|0)|0;do{l=l+-1|0}while(l>>>0>P>>>0)}Wo(e,l,(u|0)<9?u:9);d=d+4|0;l=u+-9|0;if(!(d>>>0>>0&(u|0)>9)){u=l;break}else u=l}ns(e,48,u+9|0,9,0)}else{A=v?A:p+4|0;if(p>>>0>>0&(u|0)>-1){i=P+9|0;_=(a&8|0)==0;v=i;g=0-C|0;b=P+8|0;m=p;do{l=$o(o[m>>2]|0,0,i)|0;if((l|0)==(i|0)){r[b>>0]=48;l=b}do{if((m|0)==(p|0)){d=l+1|0;Wo(e,l,1);if(_&(u|0)<1){l=d;break}Wo(e,38493,1);l=d}else{if(l>>>0<=P>>>0)break;Ds(P|0,48,l+g|0)|0;do{l=l+-1|0}while(l>>>0>P>>>0)}}while(0);C=v-l|0;Wo(e,l,(u|0)>(C|0)?C:u);u=u-C|0;m=m+4|0}while(m>>>0>>0&(u|0)>-1)}ns(e,48,u+18|0,18,0);Wo(e,w,x-w|0)}ns(e,32,n,f,a^8192)}}while(0);h=M;return((f|0)<(n|0)?n:f)|0}function os(e){e=+e;var t=0;u[d>>3]=e;t=o[d>>2]|0;I=o[d+4>>2]|0;return t|0}function ss(e,t){e=+e;t=t|0;return+ +as(e,t)}function as(e,t){e=+e;t=t|0;var n=0,r=0,i=0;u[d>>3]=e;n=o[d>>2]|0;r=o[d+4>>2]|0;i=xs(n|0,r|0,52)|0;switch(i&2047){case 0:{if(e!=0.0){e=+as(e*18446744073709551616.0,t);n=(o[t>>2]|0)+-64|0}else n=0;o[t>>2]=n;break}case 2047:break;default:{o[t>>2]=(i&2047)+-1022;o[d>>2]=n;o[d+4>>2]=r&-2146435073|1071644672;e=+u[d>>3]}}return+e}function cs(e,t,n){e=e|0;t=t|0;n=n|0;do{if(e){if(t>>>0<128){r[e>>0]=t;e=1;break}if(!(o[o[(fs()|0)+188>>2]>>2]|0))if((t&-128|0)==57216){r[e>>0]=t;e=1;break}else{o[(Lo()|0)>>2]=84;e=-1;break}if(t>>>0<2048){r[e>>0]=t>>>6|192;r[e+1>>0]=t&63|128;e=2;break}if(t>>>0<55296|(t&-8192|0)==57344){r[e>>0]=t>>>12|224;r[e+1>>0]=t>>>6&63|128;r[e+2>>0]=t&63|128;e=3;break}if((t+-65536|0)>>>0<1048576){r[e>>0]=t>>>18|240;r[e+1>>0]=t>>>12&63|128;r[e+2>>0]=t>>>6&63|128;r[e+3>>0]=t&63|128;e=4;break}else{o[(Lo()|0)>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function fs(){return us()|0}function us(){return 37728}function ls(){return us()|0}function ds(e,t){e=e|0;t=t|0;var n=0,i=0;n=0;while(1){if((s[35616+n>>0]|0)==(e|0)){i=4;break}n=n+1|0;if((n|0)==87){e=87;i=5;break}}if((i|0)==4)if(!n)n=35712;else{e=n;i=5}if((i|0)==5){n=35712;do{do{i=n;n=n+1|0}while((r[i>>0]|0)!=0);e=e+-1|0}while((e|0)!=0)}return hs(n,o[t+20>>2]|0)|0}function hs(e,t){e=e|0;t=t|0;return ps(e,t)|0}function ps(e,t){e=e|0;t=t|0;if(!t)t=0;else t=ms(o[t>>2]|0,o[t+4>>2]|0,e)|0;return((t|0)==0?e:t)|0}function ms(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0;p=(o[e>>2]|0)+1794895138|0;a=gs(o[e+8>>2]|0,p)|0;i=gs(o[e+12>>2]|0,p)|0;s=gs(o[e+16>>2]|0,p)|0;e:do{if((a>>>0>>2>>>0?(h=t-(a<<2)|0,i>>>0>>0&s>>>0>>0):0)?((s|i)&3|0)==0:0){h=i>>>2;d=s>>>2;l=0;while(1){f=a>>>1;u=l+f|0;c=u<<1;s=c+h|0;i=gs(o[e+(s<<2)>>2]|0,p)|0;s=gs(o[e+(s+1<<2)>>2]|0,p)|0;if(!(s>>>0>>0&i>>>0<(t-s|0)>>>0)){i=0;break e}if(r[e+(s+i)>>0]|0){i=0;break e}i=Fo(n,e+s|0)|0;if(!i)break;i=(i|0)<0;if((a|0)==1){i=0;break e}l=i?l:u;a=i?f:a-f|0}i=c+d|0;s=gs(o[e+(i<<2)>>2]|0,p)|0;i=gs(o[e+(i+1<<2)>>2]|0,p)|0;if(i>>>0>>0&s>>>0<(t-i|0)>>>0)i=(r[e+(i+s)>>0]|0)==0?e+i|0:0;else i=0}else i=0}while(0);return i|0}function gs(e,t){e=e|0;t=t|0;var n=0;n=Ps(e|0)|0;return((t|0)==0?e:n)|0}function ys(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0;i=n+16|0;s=o[i>>2]|0;if(!s)if(!(bs(n)|0)){s=o[i>>2]|0;a=5}else i=0;else a=5;e:do{if((a|0)==5){f=n+20|0;c=o[f>>2]|0;i=c;if((s-c|0)>>>0>>0){i=Vs[o[n+36>>2]&1](n,e,t)|0;break}t:do{if((r[n+75>>0]|0)<0|(t|0)==0){a=0;s=e}else{c=t;while(1){s=c+-1|0;if((r[e+s>>0]|0)==10)break;if(!s){a=0;s=e;break t}else c=s}i=Vs[o[n+36>>2]&1](n,e,c)|0;if(i>>>0>>0)break e;a=c;s=e+c|0;t=t-c|0;i=o[f>>2]|0}}while(0);Ms(i|0,s|0,t|0)|0;o[f>>2]=(o[f>>2]|0)+t;i=a+t|0}}while(0);return i|0}function bs(e){e=e|0;var t=0,n=0;t=e+74|0;n=r[t>>0]|0;r[t>>0]=n+255|n;t=o[e>>2]|0;if(!(t&8)){o[e+8>>2]=0;o[e+4>>2]=0;n=o[e+44>>2]|0;o[e+28>>2]=n;o[e+20>>2]=n;o[e+16>>2]=n+(o[e+48>>2]|0);e=0}else{o[e>>2]=t|32;e=-1}return e|0}function _s(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0;r=e+20|0;i=o[r>>2]|0;e=(o[e+16>>2]|0)-i|0;e=e>>>0>n>>>0?n:e;Ms(i|0,t|0,e|0)|0;o[r>>2]=(o[r>>2]|0)+e;return n|0}function vs(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0;i=h;h=h+16|0;s=i;o[s>>2]=r;r=zo(e,t,n,s)|0;h=i;return r|0}function As(){}function ws(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,o=0;o=e&65535;i=t&65535;n=q(i,o)|0;r=e>>>16;e=(n>>>16)+(q(i,r)|0)|0;i=t>>>16;t=q(i,o)|0;return(I=(e>>>16)+(q(i,r)|0)+(((e&65535)+t|0)>>>16)|0,e+t<<16|n&65535|0)|0}function Es(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0;i=e;o=n;n=ws(i,o)|0;e=I;return(I=(q(t,o)|0)+(q(r,i)|0)+e|e&0,n|0|0)|0}function ks(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;n=e+n>>>0;return(I=t+r+(n>>>0>>0|0)>>>0,n|0)|0}function Ss(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;r=t-r-(n>>>0>e>>>0|0)>>>0;return(I=r,e-n>>>0|0)|0}function Is(e){e=e|0;return(e?31-(G(e^e-1)|0)|0:32)|0}function Ts(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0;l=e;f=t;u=f;a=n;h=r;c=h;if(!u){s=(i|0)!=0;if(!c){if(s){o[i>>2]=(l>>>0)%(a>>>0);o[i+4>>2]=0}h=0;i=(l>>>0)/(a>>>0)>>>0;return(I=h,i)|0}else{if(!s){h=0;i=0;return(I=h,i)|0}o[i>>2]=e|0;o[i+4>>2]=t&0;h=0;i=0;return(I=h,i)|0}}s=(c|0)==0;do{if(a){if(!s){s=(G(c|0)|0)-(G(u|0)|0)|0;if(s>>>0<=31){d=s+1|0;c=31-s|0;t=s-31>>31;a=d;e=l>>>(d>>>0)&t|u<>>(d>>>0)&t;s=0;c=l<>2]=e|0;o[i+4>>2]=f|t&0;h=0;i=0;return(I=h,i)|0}s=a-1|0;if(s&a|0){c=(G(a|0)|0)+33-(G(u|0)|0)|0;m=64-c|0;d=32-c|0;f=d>>31;p=c-32|0;t=p>>31;a=c;e=d-1>>31&u>>>(p>>>0)|(u<>>(c>>>0))&t;t=t&u>>>(c>>>0);s=l<>>(p>>>0))&f|l<>31;break}if(i|0){o[i>>2]=s&l;o[i+4>>2]=0}if((a|0)==1){p=f|t&0;m=e|0|0;return(I=p,m)|0}else{m=Is(a|0)|0;p=u>>>(m>>>0)|0;m=u<<32-m|l>>>(m>>>0)|0;return(I=p,m)|0}}else{if(s){if(i|0){o[i>>2]=(u>>>0)%(a>>>0);o[i+4>>2]=0}p=0;m=(u>>>0)/(a>>>0)>>>0;return(I=p,m)|0}if(!l){if(i|0){o[i>>2]=0;o[i+4>>2]=(u>>>0)%(c>>>0)}p=0;m=(u>>>0)/(c>>>0)>>>0;return(I=p,m)|0}s=c-1|0;if(!(s&c)){if(i|0){o[i>>2]=e|0;o[i+4>>2]=s&u|t&0}p=0;m=u>>>((Is(c|0)|0)>>>0);return(I=p,m)|0}s=(G(c|0)|0)-(G(u|0)|0)|0;if(s>>>0<=30){t=s+1|0;c=31-s|0;a=t;e=u<>>(t>>>0);t=u>>>(t>>>0);s=0;c=l<>2]=e|0;o[i+4>>2]=f|t&0;p=0;m=0;return(I=p,m)|0}}while(0);if(!a){u=c;f=0;c=0}else{d=n|0|0;l=h|r&0;u=ks(d|0,l|0,-1,-1)|0;n=I;f=c;c=0;do{r=f;f=s>>>31|f<<1;s=c|s<<1;r=e<<1|r>>>31|0;h=e>>>31|t<<1|0;Ss(u|0,n|0,r|0,h|0)|0;m=I;p=m>>31|((m|0)<0?-1:0)<<1;c=p&1;e=Ss(r|0,h|0,p&d|0,(((m|0)<0?-1:0)>>31|((m|0)<0?-1:0)<<1)&l|0)|0;t=I;a=a-1|0}while((a|0)!=0);u=f;f=0}a=0;if(i|0){o[i>>2]=e;o[i+4>>2]=t}p=(s|0)>>>31|(u|a)<<1|(a<<1|s>>>31)&0|f;m=(s<<1|0>>>31)&-2|c;return(I=p,m)|0}function Rs(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return Ts(e,t,n,r,0)|0}function Os(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){I=t>>n;return e>>>n|(t&(1<>n-32|0}function xs(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){I=t>>>n;return e>>>n|(t&(1<>>n-32|0}function Cs(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){I=t<>>32-n;return e<>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function Ms(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0;if((n|0)>=8192)return te(e|0,t|0,n|0)|0;a=e|0;s=e+n|0;if((e&3)==(t&3)){while(e&3){if(!n)return a|0;r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0;n=n-1|0}n=s&-4|0;i=n-64|0;while((e|0)<=(i|0)){o[e>>2]=o[t>>2];o[e+4>>2]=o[t+4>>2];o[e+8>>2]=o[t+8>>2];o[e+12>>2]=o[t+12>>2];o[e+16>>2]=o[t+16>>2];o[e+20>>2]=o[t+20>>2];o[e+24>>2]=o[t+24>>2];o[e+28>>2]=o[t+28>>2];o[e+32>>2]=o[t+32>>2];o[e+36>>2]=o[t+36>>2];o[e+40>>2]=o[t+40>>2];o[e+44>>2]=o[t+44>>2];o[e+48>>2]=o[t+48>>2];o[e+52>>2]=o[t+52>>2];o[e+56>>2]=o[t+56>>2];o[e+60>>2]=o[t+60>>2];e=e+64|0;t=t+64|0}while((e|0)<(n|0)){o[e>>2]=o[t>>2];e=e+4|0;t=t+4|0}}else{n=s-4|0;while((e|0)<(n|0)){r[e>>0]=r[t>>0]|0;r[e+1>>0]=r[t+1>>0]|0;r[e+2>>0]=r[t+2>>0]|0;r[e+3>>0]=r[t+3>>0]|0;e=e+4|0;t=t+4|0}}while((e|0)<(s|0)){r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0}return a|0}function Ds(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0;a=e+n|0;t=t&255;if((n|0)>=67){while(e&3){r[e>>0]=t;e=e+1|0}i=a&-4|0;s=i-64|0;c=t|t<<8|t<<16|t<<24;while((e|0)<=(s|0)){o[e>>2]=c;o[e+4>>2]=c;o[e+8>>2]=c;o[e+12>>2]=c;o[e+16>>2]=c;o[e+20>>2]=c;o[e+24>>2]=c;o[e+28>>2]=c;o[e+32>>2]=c;o[e+36>>2]=c;o[e+40>>2]=c;o[e+44>>2]=c;o[e+48>>2]=c;o[e+52>>2]=c;o[e+56>>2]=c;o[e+60>>2]=c;e=e+64|0}while((e|0)<(i|0)){o[e>>2]=c;e=e+4|0}}while((e|0)<(a|0)){r[e>>0]=t;e=e+1|0}return a-n|0}function Bs(e){e=e|0;var t=0,n=0;n=o[l>>2]|0;t=n+e|0;if((e|0)>0&(t|0)<(n|0)|(t|0)<0){Y()|0;ee(12);return-1}o[l>>2]=t;if((t|0)>(W()|0)?(Q()|0)==0:0){o[l>>2]=n;ee(12);return-1}return n|0}function Ns(e,t){e=e|0;t=t|0;return Gs[e&1](t|0)|0}function js(e,t,n){e=e|0;t=t|0;n=n|0;return Hs[e&3](t|0,n|0)|0}function Us(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return Vs[e&1](t|0,n|0,r|0)|0}function Ls(e,t,n,r,i,o,s,a,c,f){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;s=s|0;a=a|0;c=c|0;f=f|0;return Qs[e&3](t|0,n|0,r|0,i|0,o|0,s|0,a|0,c|0,f|0)|0}function Fs(e){e=e|0;H(0);return 0}function qs(e,t){e=e|0;t=t|0;H(1);return 0}function Ks(e,t,n){e=e|0;t=t|0;n=n|0;H(2);return 0}function zs(e,t,n,r,i,o,s,a,c){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;s=s|0;a=a|0;c=c|0;H(3);return 0}var Gs=[Fs,an];var Hs=[qs,cn,un,qs];var Vs=[Ks,_s];var Qs=[zs,fn,ln,zs];return{___muldi3:Es,___udivdi3:Rs,_bitshift64Ashr:Os,_bitshift64Lshr:xs,_bitshift64Shl:Cs,_free:Uo,_i64Add:ks,_i64Subtract:Ss,_llvm_bswap_i32:Ps,_malloc:jo,_memcpy:Ms,_memset:Ds,_olm_account:Nn,_olm_account_generate_one_time_keys:or,_olm_account_generate_one_time_keys_random_length:ir,_olm_account_identity_keys:Jn,_olm_account_identity_keys_length:Xn,_olm_account_last_error:xn,_olm_account_mark_keys_as_published:nr,_olm_account_max_number_of_one_time_keys:rr,_olm_account_one_time_keys:tr,_olm_account_one_time_keys_length:er,_olm_account_sign:$n,_olm_account_signature_length:Zn,_olm_account_size:Mn,_olm_clear_account:Ln,_olm_clear_inbound_group_session:Pi,_olm_clear_outbound_group_session:co,_olm_clear_pk_decryption:Ft,_olm_clear_pk_encryption:xt,_olm_clear_pk_signing:en,_olm_clear_sas:Xi,_olm_clear_session:Fn,_olm_clear_utility:qn,_olm_create_account:Yn,_olm_create_account_random_length:Wn,_olm_create_inbound_session:cr,_olm_create_inbound_session_from:fr,_olm_create_outbound_session:ar,_olm_create_outbound_session_random_length:sr,_olm_create_sas:Zi,_olm_create_sas_random_length:Ji,_olm_decrypt:wr,_olm_decrypt_max_plaintext_length:Ar,_olm_ed25519_verify:Sr,_olm_encrypt:vr,_olm_encrypt_message_length:_r,_olm_encrypt_message_type:yr,_olm_encrypt_random_length:br,_olm_error:On,_olm_export_inbound_group_session:Vi,_olm_export_inbound_group_session_length:Hi,_olm_get_library_version:Rn,_olm_group_decrypt:Fi,_olm_group_decrypt_max_plaintext_length:Li,_olm_group_encrypt:yo,_olm_group_encrypt_message_length:go,_olm_import_inbound_group_session:Bi,_olm_inbound_group_session:Ci,_olm_inbound_group_session_first_known_index:zi,_olm_inbound_group_session_id:Ki,_olm_inbound_group_session_id_length:qi,_olm_inbound_group_session_is_verified:Gi,_olm_inbound_group_session_last_error:Mi,_olm_inbound_group_session_size:xi,_olm_init_inbound_group_session:Di,_olm_init_outbound_group_session:mo,_olm_init_outbound_group_session_random_length:po,_olm_matches_inbound_session:pr,_olm_matches_inbound_session_from:mr,_olm_outbound_group_session:ao,_olm_outbound_group_session_id:_o,_olm_outbound_group_session_id_length:bo,_olm_outbound_group_session_key:wo,_olm_outbound_group_session_key_length:Ao,_olm_outbound_group_session_last_error:fo,_olm_outbound_group_session_message_index:vo,_olm_outbound_group_session_size:so,_olm_pickle_account:Gn,_olm_pickle_account_length:Kn,_olm_pickle_inbound_group_session:ji,_olm_pickle_inbound_group_session_length:Ni,_olm_pickle_outbound_group_session:lo,_olm_pickle_outbound_group_session_length:uo,_olm_pickle_pk_decryption:Vt,_olm_pickle_pk_decryption_length:Ht,_olm_pickle_session:Hn,_olm_pickle_session_length:zn,_olm_pk_ciphertext_length:Mt,_olm_pk_decrypt:Yt,_olm_pk_decryption:Lt,_olm_pk_decryption_last_error:jt,_olm_pk_decryption_size:Ut,_olm_pk_encrypt:Nt,_olm_pk_encrypt_random_length:Bt,_olm_pk_encryption:Ot,_olm_pk_encryption_last_error:Tt,_olm_pk_encryption_set_recipient_key:Ct,_olm_pk_encryption_size:Rt,_olm_pk_generate_key:Gt,_olm_pk_generate_key_random_length:Kt,_olm_pk_get_private_key:Xt,_olm_pk_key_from_private:zt,_olm_pk_key_length:Pt,_olm_pk_mac_length:Dt,_olm_pk_max_plaintext_length:Wt,_olm_pk_private_key_length:qt,_olm_pk_sign:sn,_olm_pk_signature_length:on,_olm_pk_signing:Zt,_olm_pk_signing_key_from_seed:rn,_olm_pk_signing_last_error:$t,_olm_pk_signing_public_key_length:nn,_olm_pk_signing_seed_length:tn,_olm_pk_signing_size:Jt,_olm_remove_one_time_keys:gr,_olm_sas:Yi,_olm_sas_calculate_mac:io,_olm_sas_calculate_mac_long_kdf:oo,_olm_sas_generate_bytes:no,_olm_sas_get_pubkey:eo,_olm_sas_last_error:Qi,_olm_sas_mac_length:ro,_olm_sas_pubkey_length:$i,_olm_sas_set_their_key:to,_olm_sas_size:Wi,_olm_session:jn,_olm_session_describe:hr,_olm_session_has_received_message:dr,_olm_session_id:lr,_olm_session_id_length:ur,_olm_session_last_error:Cn,_olm_session_size:Dn,_olm_sha256:kr,_olm_sha256_length:Er,_olm_unpickle_account:Vn,_olm_unpickle_inbound_group_session:Ui,_olm_unpickle_outbound_group_session:ho,_olm_unpickle_pk_decryption:Qt,_olm_unpickle_session:Qn,_olm_utility:Un,_olm_utility_last_error:Pn,_olm_utility_size:Bn,_sbrk:Bs,dynCall_ii:Ns,dynCall_iii:js,dynCall_iiii:Us,dynCall_iiiiiiiiii:Ls,establishStackSpace:se,getTempRet0:fe,runPostSets:As,setTempRet0:ce,setThrew:ae,stackAlloc:re,stackRestore:oe,stackSave:ie}}(l.f,l.g,D);l.___muldi3=Ee.___muldi3,l.___udivdi3=Ee.___udivdi3,l._bitshift64Ashr=Ee._bitshift64Ashr,l._bitshift64Lshr=Ee._bitshift64Lshr,l._bitshift64Shl=Ee._bitshift64Shl,l._free=Ee._free,l._i64Add=Ee._i64Add,l._i64Subtract=Ee._i64Subtract,l._llvm_bswap_i32=Ee._llvm_bswap_i32;var ke=l._malloc=Ee._malloc;l._memcpy=Ee._memcpy,l._memset=Ee._memset,l._olm_account=Ee._olm_account,l._olm_account_generate_one_time_keys=Ee._olm_account_generate_one_time_keys,l._olm_account_generate_one_time_keys_random_length=Ee._olm_account_generate_one_time_keys_random_length,l._olm_account_identity_keys=Ee._olm_account_identity_keys,l._olm_account_identity_keys_length=Ee._olm_account_identity_keys_length,l._olm_account_last_error=Ee._olm_account_last_error,l._olm_account_mark_keys_as_published=Ee._olm_account_mark_keys_as_published,l._olm_account_max_number_of_one_time_keys=Ee._olm_account_max_number_of_one_time_keys,l._olm_account_one_time_keys=Ee._olm_account_one_time_keys,l._olm_account_one_time_keys_length=Ee._olm_account_one_time_keys_length,l._olm_account_sign=Ee._olm_account_sign,l._olm_account_signature_length=Ee._olm_account_signature_length,l._olm_account_size=Ee._olm_account_size,l._olm_clear_account=Ee._olm_clear_account,l._olm_clear_inbound_group_session=Ee._olm_clear_inbound_group_session,l._olm_clear_outbound_group_session=Ee._olm_clear_outbound_group_session,l._olm_clear_pk_decryption=Ee._olm_clear_pk_decryption,l._olm_clear_pk_encryption=Ee._olm_clear_pk_encryption,l._olm_clear_pk_signing=Ee._olm_clear_pk_signing,l._olm_clear_sas=Ee._olm_clear_sas,l._olm_clear_session=Ee._olm_clear_session,l._olm_clear_utility=Ee._olm_clear_utility,l._olm_create_account=Ee._olm_create_account,l._olm_create_account_random_length=Ee._olm_create_account_random_length,l._olm_create_inbound_session=Ee._olm_create_inbound_session,l._olm_create_inbound_session_from=Ee._olm_create_inbound_session_from,l._olm_create_outbound_session=Ee._olm_create_outbound_session,l._olm_create_outbound_session_random_length=Ee._olm_create_outbound_session_random_length,l._olm_create_sas=Ee._olm_create_sas,l._olm_create_sas_random_length=Ee._olm_create_sas_random_length,l._olm_decrypt=Ee._olm_decrypt,l._olm_decrypt_max_plaintext_length=Ee._olm_decrypt_max_plaintext_length,l._olm_ed25519_verify=Ee._olm_ed25519_verify,l._olm_encrypt=Ee._olm_encrypt,l._olm_encrypt_message_length=Ee._olm_encrypt_message_length,l._olm_encrypt_message_type=Ee._olm_encrypt_message_type,l._olm_encrypt_random_length=Ee._olm_encrypt_random_length,l._olm_error=Ee._olm_error,l._olm_export_inbound_group_session=Ee._olm_export_inbound_group_session,l._olm_export_inbound_group_session_length=Ee._olm_export_inbound_group_session_length,l._olm_get_library_version=Ee._olm_get_library_version,l._olm_group_decrypt=Ee._olm_group_decrypt,l._olm_group_decrypt_max_plaintext_length=Ee._olm_group_decrypt_max_plaintext_length,l._olm_group_encrypt=Ee._olm_group_encrypt,l._olm_group_encrypt_message_length=Ee._olm_group_encrypt_message_length,l._olm_import_inbound_group_session=Ee._olm_import_inbound_group_session,l._olm_inbound_group_session=Ee._olm_inbound_group_session,l._olm_inbound_group_session_first_known_index=Ee._olm_inbound_group_session_first_known_index,l._olm_inbound_group_session_id=Ee._olm_inbound_group_session_id,l._olm_inbound_group_session_id_length=Ee._olm_inbound_group_session_id_length,l._olm_inbound_group_session_is_verified=Ee._olm_inbound_group_session_is_verified,l._olm_inbound_group_session_last_error=Ee._olm_inbound_group_session_last_error,l._olm_inbound_group_session_size=Ee._olm_inbound_group_session_size,l._olm_init_inbound_group_session=Ee._olm_init_inbound_group_session,l._olm_init_outbound_group_session=Ee._olm_init_outbound_group_session,l._olm_init_outbound_group_session_random_length=Ee._olm_init_outbound_group_session_random_length,l._olm_matches_inbound_session=Ee._olm_matches_inbound_session,l._olm_matches_inbound_session_from=Ee._olm_matches_inbound_session_from,l._olm_outbound_group_session=Ee._olm_outbound_group_session,l._olm_outbound_group_session_id=Ee._olm_outbound_group_session_id,l._olm_outbound_group_session_id_length=Ee._olm_outbound_group_session_id_length,l._olm_outbound_group_session_key=Ee._olm_outbound_group_session_key,l._olm_outbound_group_session_key_length=Ee._olm_outbound_group_session_key_length,l._olm_outbound_group_session_last_error=Ee._olm_outbound_group_session_last_error,l._olm_outbound_group_session_message_index=Ee._olm_outbound_group_session_message_index,l._olm_outbound_group_session_size=Ee._olm_outbound_group_session_size,l._olm_pickle_account=Ee._olm_pickle_account,l._olm_pickle_account_length=Ee._olm_pickle_account_length,l._olm_pickle_inbound_group_session=Ee._olm_pickle_inbound_group_session,l._olm_pickle_inbound_group_session_length=Ee._olm_pickle_inbound_group_session_length,l._olm_pickle_outbound_group_session=Ee._olm_pickle_outbound_group_session,l._olm_pickle_outbound_group_session_length=Ee._olm_pickle_outbound_group_session_length,l._olm_pickle_pk_decryption=Ee._olm_pickle_pk_decryption,l._olm_pickle_pk_decryption_length=Ee._olm_pickle_pk_decryption_length,l._olm_pickle_session=Ee._olm_pickle_session,l._olm_pickle_session_length=Ee._olm_pickle_session_length,l._olm_pk_ciphertext_length=Ee._olm_pk_ciphertext_length,l._olm_pk_decrypt=Ee._olm_pk_decrypt,l._olm_pk_decryption=Ee._olm_pk_decryption,l._olm_pk_decryption_last_error=Ee._olm_pk_decryption_last_error,l._olm_pk_decryption_size=Ee._olm_pk_decryption_size,l._olm_pk_encrypt=Ee._olm_pk_encrypt,l._olm_pk_encrypt_random_length=Ee._olm_pk_encrypt_random_length,l._olm_pk_encryption=Ee._olm_pk_encryption,l._olm_pk_encryption_last_error=Ee._olm_pk_encryption_last_error,l._olm_pk_encryption_set_recipient_key=Ee._olm_pk_encryption_set_recipient_key,l._olm_pk_encryption_size=Ee._olm_pk_encryption_size,l._olm_pk_generate_key=Ee._olm_pk_generate_key,l._olm_pk_generate_key_random_length=Ee._olm_pk_generate_key_random_length,l._olm_pk_get_private_key=Ee._olm_pk_get_private_key,l._olm_pk_key_from_private=Ee._olm_pk_key_from_private,l._olm_pk_key_length=Ee._olm_pk_key_length,l._olm_pk_mac_length=Ee._olm_pk_mac_length,l._olm_pk_max_plaintext_length=Ee._olm_pk_max_plaintext_length,l._olm_pk_private_key_length=Ee._olm_pk_private_key_length,l._olm_pk_sign=Ee._olm_pk_sign,l._olm_pk_signature_length=Ee._olm_pk_signature_length,l._olm_pk_signing=Ee._olm_pk_signing,l._olm_pk_signing_key_from_seed=Ee._olm_pk_signing_key_from_seed,l._olm_pk_signing_last_error=Ee._olm_pk_signing_last_error,l._olm_pk_signing_public_key_length=Ee._olm_pk_signing_public_key_length,l._olm_pk_signing_seed_length=Ee._olm_pk_signing_seed_length,l._olm_pk_signing_size=Ee._olm_pk_signing_size,l._olm_remove_one_time_keys=Ee._olm_remove_one_time_keys,l._olm_sas=Ee._olm_sas,l._olm_sas_calculate_mac=Ee._olm_sas_calculate_mac,l._olm_sas_calculate_mac_long_kdf=Ee._olm_sas_calculate_mac_long_kdf,l._olm_sas_generate_bytes=Ee._olm_sas_generate_bytes,l._olm_sas_get_pubkey=Ee._olm_sas_get_pubkey,l._olm_sas_last_error=Ee._olm_sas_last_error,l._olm_sas_mac_length=Ee._olm_sas_mac_length,l._olm_sas_pubkey_length=Ee._olm_sas_pubkey_length,l._olm_sas_set_their_key=Ee._olm_sas_set_their_key,l._olm_sas_size=Ee._olm_sas_size,l._olm_session=Ee._olm_session,l._olm_session_describe=Ee._olm_session_describe,l._olm_session_has_received_message=Ee._olm_session_has_received_message,l._olm_session_id=Ee._olm_session_id,l._olm_session_id_length=Ee._olm_session_id_length,l._olm_session_last_error=Ee._olm_session_last_error,l._olm_session_size=Ee._olm_session_size,l._olm_sha256=Ee._olm_sha256,l._olm_sha256_length=Ee._olm_sha256_length,l._olm_unpickle_account=Ee._olm_unpickle_account,l._olm_unpickle_inbound_group_session=Ee._olm_unpickle_inbound_group_session,l._olm_unpickle_outbound_group_session=Ee._olm_unpickle_outbound_group_session,l._olm_unpickle_pk_decryption=Ee._olm_unpickle_pk_decryption,l._olm_unpickle_session=Ee._olm_unpickle_session,l._olm_utility=Ee._olm_utility,l._olm_utility_last_error=Ee._olm_utility_last_error,l._olm_utility_size=Ee._olm_utility_size,l._sbrk=Ee._sbrk,l.establishStackSpace=Ee.establishStackSpace,l.getTempRet0=Ee.getTempRet0,l.runPostSets=Ee.runPostSets,l.setTempRet0=Ee.setTempRet0,l.setThrew=Ee.setThrew;var Se=l.stackAlloc=Ee.stackAlloc,Ie=l.stackRestore=Ee.stackRestore,Te=l.stackSave=Ee.stackSave;if(l.dynCall_ii=Ee.dynCall_ii,l.dynCall_iii=Ee.dynCall_iii,l.dynCall_iiii=Ee.dynCall_iiii,l.dynCall_iiiiiiiiii=Ee.dynCall_iiiiiiiiii,l.asm=Ee,l.ALLOC_STACK=1,me){if(String.prototype.startsWith?!me.startsWith(ge):0!==me.indexOf(ge)){var Re=me;me=l.locateFile?l.locateFile(Re,E):E+Re}if(_||v){var Oe=l.readBinary(me);N.set(Oe,8)}else{var xe=function(){l.readAsync(me,Ce,(function(){throw"could not load memory initializer "+me}))};de++,l.monitorRunDependencies&&l.monitorRunDependencies(de);var Ce=function(e){e.byteLength&&(e=new Uint8Array(e)),N.set(e,8),l.memoryInitializerRequest&&delete l.memoryInitializerRequest.response,de--,l.monitorRunDependencies&&l.monitorRunDependencies(de),0==de&&(null!==he&&(clearInterval(he),he=null),pe&&(e=pe,pe=null,e()))},Pe=we(me);if(Pe)Ce(Pe.buffer);else if(l.memoryInitializerRequest){var Me=function(){var e=l.memoryInitializerRequest,t=e.response;if(200!==e.status&&0!==e.status){if(!(t=we(l.memoryInitializerRequestURL)))return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+e.status+", retrying "+me),void xe();t=t.buffer}Ce(t)};l.memoryInitializerRequest.response?setTimeout(Me,0):l.memoryInitializerRequest.addEventListener("load",Me)}else xe()}}function De(){function e(){if(!l.calledRun&&(l.calledRun=!0,!O)){if(oe||(oe=!0,ee(ne)),ee(re),l.onRuntimeInitialized&&l.onRuntimeInitialized(),l.postRun)for("function"==typeof l.postRun&&(l.postRun=[l.postRun]);l.postRun.length;){var e=l.postRun.shift();ie.unshift(e)}ee(ie)}}if(!(0=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}return n}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,n){"use strict";var r=n(18);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,s){if(s!==r){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t3&&void 0!==arguments[3]?arguments[3]:{};return Object.assign({unified:e,emoji:e.split("-").map((function(e){return parseInt(e,16)})).map((function(e){return String.fromCodePoint(e)})).join(""),originalUnified:t[l.EMOJI_PROPERTY_UNIFIED],names:t[l.EMOJI_PROPERTY_NAME],activeSkinTone:n},r)},D=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Function.prototype;return function(t,n,r,i){var o=M(n,r,i);return P(o),e(t,o)}},B=n(8),N=(n(23),function(){var e=Object(a.useContext)(g),t=e.state,n=t.skinTonesSpread,r=t.activeSkinTone,i=e.dispatch,o=function(){i({type:_,spread:!n})},s=function(e){var t=e.target.value;i({type:v,skinTone:t})};return c.a.createElement("ul",{className:"skin-tones-list"},B.map((function(e,t){var i=e===r;return c.a.createElement("li",{key:e,className:"t".concat(e),style:{transform:"translateX(-".concat(n?20*t:0,"px) scale(").concat(i?"1.5":1,")"),zIndex:i?2:1}},c.a.createElement("input",{type:"radio",onChange:s,name:"skin-tone",value:e,id:"tone_".concat(e)}),c.a.createElement("label",{htmlFor:"tone_".concat(e),"data-name":"tones",onClick:o}))})))}),j=n(9),U=n.n(j),L=function(e){var t=Object(a.useContext)(g).state.emojiUrl;return e?"".concat(t,"/").concat(e,".png"):t},F=(n(25),function(e){var t=e.unified,n=e.dispatch,r=e.shouldLoad,i=void 0===r||r;return c.a.createElement("img",U()({className:"emoji-img",onError:function(){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Function.prototype;t({type:w,unified:e})}(t,n)}},i&&function(e){return{src:L(e)}}(t)))}),q=F;F.propTypes={unified:u.a.string,shouldLoad:u.a.bool,dispatch:u.a.func},n(27);var K=function(e){var t=e.closeVariations,n=Object(a.useContext)(g).state,r=n.variationMenu,i=n.activeSkinTone,o=n.onEmojiClick;return r?c.a.createElement("div",{className:"variations-wrapper"},c.a.createElement("ul",{className:"variation-list"},B.map((function(e){var n=r[l.EMOJI_PROPERTY_SKIN_VARIATIONS].find((function(t){return t.includes(e)}))||r[l.EMOJI_PROPERTY_UNIFIED];return c.a.createElement("li",{key:n},c.a.createElement("button",{onClick:function(e){return t(e),o(e,n,r,i)},onMouseDown:function(e){return e.stopPropagation()}},c.a.createElement(q,{unified:n})))})))):null},z=K;K.propTypes={closeVariations:u.a.func};var G=n(7),H=n.n(G),V=n(10),Q=(n(29),function(e){var t=e.emojiListRef,n=Object(a.useContext)(g),r=n.state,i=r.activeCategory,o=r.filter,s=n.dispatch,f=!1;return o&&o.length&&(f=!0),c.a.createElement("nav",{onClick:function(e){var n=e.target;if(!f){var r=n.getAttribute("data-name");if(t&&t.current&&r){s({type:y,activeCategory:r}),s({type:A,group:r});var i=t.current,o=i.querySelector("[".concat("data-name",'="').concat(r,'"]'));i.scrollTop=o.offsetTop}}},className:H()("emoji-categories",{inactive:f})},V.map((function(e){return c.a.createElement("button",{key:e,className:H()("icn-".concat(e.replace(" & ","_")),{active:i===e}),"data-name":e})})))}),W=Q;Q.propTypes={emojiListRef:u.a.shape({current:u.a.instanceOf(Element)})};var Y,X,J=n(11),Z=function(e){var t={groups:{},emojis:{}},n=function(n){e[n].reduce((function(e,t){var r=t[l.EMOJI_PROPERTY_UNIFIED];return t[l.EMOJI_PROPERTY_GROUP]=n,e.emojis[r]=t,e.groups[n]=e.groups[n]||[],e.groups[n].push(r),e}),t)};for(var r in e)n(r);return t}(J),$=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0,n=".content-wrapper",r=t&&t.current?t.current.closest("".concat(n)):document.querySelector(".emoji-picker-react ".concat(n));r.setAttribute("data-name",e)},ee=u.a.shape((X={},i()(X,l.EMOJI_PROPERTY_NAME,u.a.arrayOf(u.a.string)),i()(X,l.EMOJI_PROPERTY_UNIFIED,u.a.string),i()(X,l.EMOJI_PROPERTY_SKIN_VARIATIONS,u.a.arrayOf(u.a.string)),i()(X,l.EMOJI_PROPERTY_GROUP,u.a.string),X));function te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}n(40);var ne=["#aeeff0","#ffe0e0","#d6f8b8","#c6cfff","#f1f0d1"],re=null,ie=function(){return clearTimeout(re)},oe=function(e){var t,n,r=e.emoji,o=e.shouldLoad,s=e.hidden,a=e.activeSkinTone,f=e.openVariationMenu,u=e.variationMenuOpen,d=e.handleMouseEnter,h=e.handleMouseLeave,p=e.onEmojiClick,m=e.index,g=e.dispatch,y=r[l.EMOJI_PROPERTY_SKIN_VARIATIONS],b=function(e){for(var t=1;t=0}))),t||(t=r[l.EMOJI_PROPERTY_UNIFIED]),c.a.createElement("li",{style:b,className:H()("emoji",{"has-skin-variation":y&&f})},c.a.createElement("button",{onMouseDown:function(){y&&f&&(re=setTimeout((function(){f(r)}),500))},onMouseEnter:d,onMouseLeave:h,onMouseUp:ie,onClick:function(e){u||p(e,t,r,a)}},c.a.createElement(q,{unified:t,shouldLoad:o,dispatch:g})))},se=oe;oe.propTypes={emoji:ee,shouldLoad:u.a.bool,hidden:u.a.bool,activeSkinTone:u.a.string,openVariationMenu:u.a.func,variationMenuOpen:u.a.bool,handleMouseEnter:u.a.func,handleMouseLeave:u.a.func,onEmojiClick:u.a.func,index:u.a.number,dispatch:u.a.func};var ae=function(e){var t=e.unsetEmojiName,n=e.emojiListRef,r=Object(a.useContext)(g),i=r.state,o=i.recentlyUsed,s=i.onEmojiClick,f=i.filterResult,u=i.failedToLoad,d=void 0===u?{}:u,h=r.dispatch;return!o.length||f?null:c.a.createElement("ul",{className:"emoji-group","data-name":l.GROUP_NAME_RECENTLY_USED},o.map((function(e,r){var i=e[l.EMOJI_PROPERTY_UNIFIED],o=Z.emojis[i];return d[i]||!o?null:c.a.createElement(se,U()({key:r,emoji:o},e[l.EMOJI_PROPERTY_SKIN_VARIATIONS]&&{activeSkinTone:e[l.EMOJI_PROPERTY_SKIN_VARIATIONS]},{index:r,handleMouseLeave:t,onEmojiClick:s,handleMouseEnter:function(){return $(o[l.EMOJI_PROPERTY_NAME][0],n)},dispatch:h,shouldLoad:!0}))})))},ce=ae;function fe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}ae.propTypes={unsetEmojiName:u.a.func,emojiListRef:u.a.shape({current:u.a.instanceOf(Element)})},n(42);var ue=function(e){var t=e.emojiListRef,n=Object(a.useContext)(g).state.filterResult;(function(e){var t=Object(a.useContext)(g),n=t.state,r=n.filterResult,i=n.activeCategory,o=t.dispatch;Object(a.useEffect)((function(){void 0!==T.IntersectionObserver&&!Y&&e.current&&(Y=new IntersectionObserver((function(e){e.forEach((function(e){var t=e.target,n=t.getAttribute("data-name");if(0===e.intersectionRatio){if(n===i)o({type:y,activeCategory:null});else if(n===l.GROUP_NAME_RECENTLY_USED){var r=t.nextSibling;if(r){var s=r.getAttribute("data-name");o({type:y,activeCategory:s})}}}else i||(o({type:A,group:n}),o({type:y,activeCategory:n}))}))}),{root:e.current.parentElement})),Y.disconnect(),e&&e.current&&I()(e.current.querySelectorAll(".emoji-group")).forEach((function(e){Y.observe(e)}))}),[e.current,r])})(t),function(e,t){var n=Object(a.useRef)();Object(a.useEffect)((function(){t&&t.current&&(t.current.scrollTop=0),n.current=e}),[e]),n.current}(n,t);var r=function(){return $("",t)};return c.a.createElement("section",{className:"emoji-scroll-wrapper",ref:t},c.a.createElement(ce,{unsetEmojiName:r,emojiListRef:t}),V.map((function(e){var n=function(e,t){var n=t.unsetEmojiName,r=t.emojiListRef,i=Object(a.useContext)(g),o=i.state,s=o.activeSkinTone,f=o.filterResult,u=o.seenGroups,d=void 0===u?{}:u,h=o.onEmojiClick,p=o.variationMenu,m=o.failedToLoad,y=void 0===m?null:m,_=o.preload,v=i.dispatch,A=_||!(!d[e]&&!f&&"function"==typeof T.IntersectionObserver),w=!!p,E=function(e){return v({type:b,emoji:e})};return Object(a.useMemo)((function(){var t=f?Object.keys(f[e]||{}):Z.groups[e];return t.reduce((function(e,i,o){if(y&&y[i])return e;var a=Z.emojis[i],f=!t.length;return e.shown||f||(e.shown=!0),e.list.push(c.a.createElement(se,{emoji:a,dispatch:v,openVariationMenu:E,activeSkinTone:s,handleMouseLeave:n,variationMenuOpen:w,handleMouseEnter:function(){return $(a[l.EMOJI_PROPERTY_NAME][0],r)},hidden:f,shouldLoad:A,onEmojiClick:h,index:o,key:a[l.EMOJI_PROPERTY_UNIFIED]})),e}),{list:[],shown:!1})}),[s,f,e,A,w,y])}(e,{unsetEmojiName:r,emojiListRef:t}),o=n.list,s=function(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:100,i=n;return new Promise((function(n){var o=0;!function s(){for(var a=o;ao.value.length&&i.includes(o.value))t=[].concat(I()(n),[{value:i,terms:o.terms.filter((function(e){return e.includes(i)}))}]);else if(o&&i.length0;a--)if(i.includes(n[a-1].value)){s=a;break}n.length=s,t=I()(n)}else 0!==n.length&&i.includes(o.value)||(t=[{value:i,terms:he[i[0]].filter((function(e){return e.includes(i)}))}]);var c=t[t.length-1];c&&c.value?pe(c&&c.terms||[],(function(e,t){return de[t]?(de[t]||[]).reduce((function(e,t){var n=Z.emojis[t][l.EMOJI_PROPERTY_GROUP];return e[n]=e[n]||{},e[n][t]=!0,e}),e):e}),{}).then((function(e){r({type:E,filter:t,filterResult:e})})):r({type:E,filter:t,filterResult:null})}},ye=(n(44),function(){return c.a.createElement("input",{className:"emoji-search",onChange:ge(),autoFocus:!0})});n(46),n.d(t,"SKIN_TONE_NEUTRAL",(function(){return"neutral"})),n.d(t,"SKIN_TONE_LIGHT",(function(){return"1f3fb"})),n.d(t,"SKIN_TONE_MEDIUM_LIGHT",(function(){return"1f3fc"})),n.d(t,"SKIN_TONE_MEDIUM",(function(){return"1f3fe"})),n.d(t,"SKIN_TONE_MEDIUM_DARK",(function(){return"1f3ff"})),n.d(t,"SKIN_TONE_DARK",(function(){return"1f3fd"}));var be=function(e){var t=e.emojiUrl,n=void 0===t?"https://cdn.jsdelivr.net/gh/iamcal/emoji-data@master/img-apple-160":t,r=e.onEmojiClick,o=e.preload,f=void 0!==o&&o,u=e.skinTone,d=void 0===u?"neutral":u,h=Object(a.useRef)(null),p=Object(a.useReducer)(k,{activeSkinTone:d,emojiUrl:n,onEmojiClick:D(r),seenGroups:i()({},l.GROUP_NAME_PEOPLE,!0),recentlyUsed:C(),preload:f}),m=s()(p,2),y=m[0],v=m[1],A=function(e){var t=e.target;y.variationMenu&&v({type:b}),y.skinTonesSpread&&"tones"!==t.getAttribute("data-name")&&v({type:_})};return c.a.createElement(g.Provider,{value:{state:y,dispatch:v}},c.a.createElement("aside",{className:"emoji-picker-react",onScroll:A,onMouseDown:A},c.a.createElement(W,{emojiListRef:h}),c.a.createElement("div",{style:{position:"relative"}},c.a.createElement(ye,null),c.a.createElement(N,null)),c.a.createElement("div",{className:"content-wrapper","data-name":y.emojiName},c.a.createElement(z,{closeVariations:A}),c.a.createElement(le,{emojiListRef:h}))))};t.default=be,be.propTypes={emojiUrl:u.a.string,onEmojiClick:u.a.func,preload:u.a.bool,skinTone:u.a.string}}]))}).call(this,n(5))},function(e,t,n){"use strict";var r=n(26),i=n.n(r),o=n(27),s=n.n(o),a=n(54),c=n.n(a),f=n(55),u=n.n(f),l=n(7),d=n.n(l),h=n(56),p=n.n(h),m=n(2),g=n.n(m),y=n(0),b=n.n(y),_=(n(13),n(327)),v=n(157),A=n.n(v),w=n(22);function E(e,t,n){return e===t||(e.correspondingElement?e.correspondingElement.classList.contains(n):e.classList.contains(n))}var k,S,I=(void 0===k&&(k=0),function(){return++k}),T={},R={},O=["touchstart","touchmove"];function x(e,t){var n=null;return-1!==O.indexOf(t)&&S&&(n={passive:!e.props.preventDefault}),n}var C=function(e,t){var n,r,i=e.displayName||e.name||"Component";return r=n=function(n){var r,o;function s(e){var r;return(r=n.call(this,e)||this).__outsideClickHandler=function(e){if("function"!=typeof r.__clickOutsideHandlerProp){var t=r.getInstance();if("function"!=typeof t.props.handleClickOutside){if("function"!=typeof t.handleClickOutside)throw new Error("WrappedComponent: "+i+" lacks a handleClickOutside(event) function for processing outside click events.");t.handleClickOutside(e)}else t.props.handleClickOutside(e)}else r.__clickOutsideHandlerProp(e)},r.__getComponentNode=function(){var e=r.getInstance();return t&&"function"==typeof t.setClickOutsideRef?t.setClickOutsideRef()(e):"function"==typeof e.setClickOutsideRef?e.setClickOutsideRef():Object(w.findDOMNode)(e)},r.enableOnClickOutside=function(){if("undefined"!=typeof document&&!R[r._uid]){void 0===S&&(S=function(){if("undefined"!=typeof window&&"function"==typeof window.addEventListener){var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}}),n=function(){};return window.addEventListener("testPassiveEventSupport",n,t),window.removeEventListener("testPassiveEventSupport",n,t),e}}()),R[r._uid]=!0;var e=r.props.eventTypes;e.forEach||(e=[e]),T[r._uid]=function(e){var t;null!==r.componentNode&&(r.props.preventDefault&&e.preventDefault(),r.props.stopPropagation&&e.stopPropagation(),r.props.excludeScrollbar&&(t=e,document.documentElement.clientWidth<=t.clientX||document.documentElement.clientHeight<=t.clientY)||function(e,t,n){if(e===t)return!0;for(;e.parentNode;){if(E(e,t,n))return!0;e=e.parentNode}return e}(e.target,r.componentNode,r.props.outsideClickIgnoreClass)===document&&r.__outsideClickHandler(e))},e.forEach((function(e){document.addEventListener(e,T[r._uid],x(r,e))}))}},r.disableOnClickOutside=function(){delete R[r._uid];var e=T[r._uid];if(e&&"undefined"!=typeof document){var t=r.props.eventTypes;t.forEach||(t=[t]),t.forEach((function(t){return document.removeEventListener(t,e,x(r,t))})),delete T[r._uid]}},r.getRef=function(e){return r.instanceRef=e},r._uid=I(),r}o=n,(r=s).prototype=Object.create(o.prototype),r.prototype.constructor=r,r.__proto__=o;var a=s.prototype;return a.getInstance=function(){if(!e.prototype.isReactComponent)return this;var t=this.instanceRef;return t.getInstance?t.getInstance():t},a.componentDidMount=function(){if("undefined"!=typeof document&&document.createElement){var e=this.getInstance();if(t&&"function"==typeof t.handleClickOutside&&(this.__clickOutsideHandlerProp=t.handleClickOutside(e),"function"!=typeof this.__clickOutsideHandlerProp))throw new Error("WrappedComponent: "+i+" lacks a function for processing outside click events specified by the handleClickOutside config option.");this.componentNode=this.__getComponentNode(),this.props.disableOnClickOutside||this.enableOnClickOutside()}},a.componentDidUpdate=function(){this.componentNode=this.__getComponentNode()},a.componentWillUnmount=function(){this.disableOnClickOutside()},a.render=function(){var t=this.props,n=(t.excludeScrollbar,function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(t,["excludeScrollbar"]));return e.prototype.isReactComponent?n.ref=this.getRef:n.wrappedRef=this.getRef,n.disableOnClickOutside=this.disableOnClickOutside,n.enableOnClickOutside=this.enableOnClickOutside,Object(y.createElement)(e,n)},s}(y.Component),n.displayName="OnClickOutside("+i+")",n.defaultProps={eventTypes:["mousedown","touchstart"],excludeScrollbar:t&&t.excludeScrollbar||!1,outsideClickIgnoreClass:"ignore-react-onclickoutside",preventDefault:!1,stopPropagation:!1},n.getClass=function(){return e.getClass?e.getClass():e},r},P=function(){return b.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24",viewBox:"0 0 24 24",width:"24"},b.a.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),b.a.createElement("path",{id:"icon",fill:"#828282",d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z"}))},M=function(e){function t(e){var n;return i()(this,t),n=c()(this,u()(t).call(this,e)),g()(d()(n),"handleClickOutside",(function(e){n.props.closeEmojiSelector()})),n}return p()(t,e),s()(t,[{key:"render",value:function(){var e=this.props,t=e.onEmojiClick,n=e.emojiSelectorOpen,r=e.toggleEmojiSelector;return(b.a.createElement("div",{className:"emoji-button-container"},b.a.createElement("div",{className:"pos-relative"},b.a.createElement(_.a,{in:n,timeout:250},(function(e){return b.a.createElement("div",{className:"emoji-picker emoji-picker-".concat(e),"aria-hidden":!n},b.a.createElement(A.a,{onEmojiClick:t,emojiUrl:"https://cdn.jsdelivr.net/gh/iamcal/emoji-data@master/img-apple-64"}))})),b.a.createElement("button",{type:"button",id:"emoji-button",onClick:r,"aria-label":"Emoji picker"},b.a.createElement(P,null)))))}}]),t}(b.a.Component);t.a=C(M)},function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return g}));var r=n(150),i=n.n(r),o=n(26),s=n.n(o),a=n(27),c=n.n(a),f=n(2),u=n.n(f),l=n(0),d=n.n(l),h=n(22),p=n.n(h),m=n(151),g=(n(325),function(){function e(){s()(this,e)}return c()(e,null,[{key:"mount",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.parentElement,r=void 0===n?null:n,o=i()(t,["parentElement"]),s=d.a.createElement(m.a,o);function a(){if(e.el)throw new Error("EmbeddableChatbox is already mounted, unmount first");var t=document.createElement("div");t.setAttribute("class","cleanslate"),r?document.querySelector(r).appendChild(t):document.body.appendChild(t),p.a.render(s,t),e.el=t}"complete"===document.readyState?a():window.addEventListener("load",(function(){a()}))}},{key:"unmount",value:function(){if(!e.el)throw new Error("EmbeddableChatbox is not mounted, mount first");p.a.unmountComponentAtNode(e.el),e.el.parentNode.removeChild(e.el),e.el=null}}]),e}());u()(g,"el",void 0)},,function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}},function(e,t,n){"use strict"; +*/var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function s(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,c=s(e),f=1;f-1?r:o.nextTick;b.WritableState=y;var f=Object.create(n(30));f.inherits=n(1);var u={deprecate:n(186)},l=n(90),d=n(59).Buffer,h=i.Uint8Array||function(){};var p,m=n(91);function g(){}function y(e,t){a=a||n(20),e=e||{};var r=t instanceof a;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,f=e.writableHighWaterMark,u=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(f||0===f)?f:u,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var l=!1===e.decodeStrings;this.decodeStrings=!l,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,i){--t.pendingcb,n?(o.nextTick(i,r),o.nextTick(k,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(i(r),e._writableState.errorEmitted=!0,e.emit("error",r),k(e,t))}(e,n,r,t,i);else{var s=w(n);s||n.corked||n.bufferProcessing||!n.bufferedRequest||A(e,n),r?c(v,e,n,s,i):v(e,n,s,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function b(e){if(a=a||n(20),!(p.call(b,this)||this instanceof a))return new b(e);this._writableState=new y(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),l.call(this)}function _(e,t,n,r,i,o,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function v(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),k(e,t)}function A(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,i=new Array(r),o=t.corkedRequestsFree;o.entry=n;for(var a=0,c=!0;n;)i[a]=n,n.isBuf||(c=!1),n=n.next,a+=1;i.allBuffers=c,_(e,t,!0,t.length,i,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;n;){var f=n.chunk,u=n.encoding,l=n.callback;if(_(e,t,!1,t.objectMode?1:f.length,f,u,l),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function w(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function E(e,t){e._final((function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),k(e,t)}))}function k(e,t){var n=w(t);return n&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,o.nextTick(E,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}f.inherits(b,l),y.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(y.prototype,"buffer",{get:u.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(b,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===b&&(e&&e._writableState instanceof y)}})):p=function(e){return e instanceof this},b.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},b.prototype.write=function(e,t,n){var r,i=this._writableState,s=!1,a=!i.objectMode&&(r=e,d.isBuffer(r)||r instanceof h);return a&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof n&&(n=g),i.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),o.nextTick(t,n)}(this,n):(a||function(e,t,n,r){var i=!0,s=!1;return null===n?s=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),o.nextTick(r,s),i=!1),i}(this,i,e,n))&&(i.pendingcb++,s=function(e,t,n,r,i,o){if(!n){var s=function(e,t,n){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,n));return t}(t,r,i);r!==s&&(n=!0,i="buffer",r=s)}var a=t.objectMode?1:r.length;t.length+=a;var c=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(b.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),b.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},b.prototype._writev=null,b.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,k(e,t),n&&(t.finished?o.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,r,n)},Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),b.prototype.destroy=m.destroy,b.prototype._undestroy=m.undestroy,b.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,n(12),n(184).setImmediate,n(5))},function(e,t,n){"use strict";var r=n(3).Buffer,i=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(r.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=c,this.end=f,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=u,this.end=l,t=3;break;default:return this.write=d,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function s(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function c(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function f(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function u(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function l(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0)return i>0&&(e.lastNeed=i-1),i;if(--r=0)return i>0&&(e.lastNeed=i-2),i;if(--r=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,n){"use strict";var r=n(1),i=n(94),o=n(3).Buffer,s=new Array(16);function a(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function c(e,t){return e<>>32-t}function f(e,t,n,r,i,o,s){return c(e+(t&n|~t&r)+i+o|0,s)+t|0}function u(e,t,n,r,i,o,s){return c(e+(t&r|n&~r)+i+o|0,s)+t|0}function l(e,t,n,r,i,o,s){return c(e+(t^n^r)+i+o|0,s)+t|0}function d(e,t,n,r,i,o,s){return c(e+(n^(t|~r))+i+o|0,s)+t|0}r(a,i),a.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var n=this._a,r=this._b,i=this._c,o=this._d;n=f(n,r,i,o,e[0],3614090360,7),o=f(o,n,r,i,e[1],3905402710,12),i=f(i,o,n,r,e[2],606105819,17),r=f(r,i,o,n,e[3],3250441966,22),n=f(n,r,i,o,e[4],4118548399,7),o=f(o,n,r,i,e[5],1200080426,12),i=f(i,o,n,r,e[6],2821735955,17),r=f(r,i,o,n,e[7],4249261313,22),n=f(n,r,i,o,e[8],1770035416,7),o=f(o,n,r,i,e[9],2336552879,12),i=f(i,o,n,r,e[10],4294925233,17),r=f(r,i,o,n,e[11],2304563134,22),n=f(n,r,i,o,e[12],1804603682,7),o=f(o,n,r,i,e[13],4254626195,12),i=f(i,o,n,r,e[14],2792965006,17),n=u(n,r=f(r,i,o,n,e[15],1236535329,22),i,o,e[1],4129170786,5),o=u(o,n,r,i,e[6],3225465664,9),i=u(i,o,n,r,e[11],643717713,14),r=u(r,i,o,n,e[0],3921069994,20),n=u(n,r,i,o,e[5],3593408605,5),o=u(o,n,r,i,e[10],38016083,9),i=u(i,o,n,r,e[15],3634488961,14),r=u(r,i,o,n,e[4],3889429448,20),n=u(n,r,i,o,e[9],568446438,5),o=u(o,n,r,i,e[14],3275163606,9),i=u(i,o,n,r,e[3],4107603335,14),r=u(r,i,o,n,e[8],1163531501,20),n=u(n,r,i,o,e[13],2850285829,5),o=u(o,n,r,i,e[2],4243563512,9),i=u(i,o,n,r,e[7],1735328473,14),n=l(n,r=u(r,i,o,n,e[12],2368359562,20),i,o,e[5],4294588738,4),o=l(o,n,r,i,e[8],2272392833,11),i=l(i,o,n,r,e[11],1839030562,16),r=l(r,i,o,n,e[14],4259657740,23),n=l(n,r,i,o,e[1],2763975236,4),o=l(o,n,r,i,e[4],1272893353,11),i=l(i,o,n,r,e[7],4139469664,16),r=l(r,i,o,n,e[10],3200236656,23),n=l(n,r,i,o,e[13],681279174,4),o=l(o,n,r,i,e[0],3936430074,11),i=l(i,o,n,r,e[3],3572445317,16),r=l(r,i,o,n,e[6],76029189,23),n=l(n,r,i,o,e[9],3654602809,4),o=l(o,n,r,i,e[12],3873151461,11),i=l(i,o,n,r,e[15],530742520,16),n=d(n,r=l(r,i,o,n,e[2],3299628645,23),i,o,e[0],4096336452,6),o=d(o,n,r,i,e[7],1126891415,10),i=d(i,o,n,r,e[14],2878612391,15),r=d(r,i,o,n,e[5],4237533241,21),n=d(n,r,i,o,e[12],1700485571,6),o=d(o,n,r,i,e[3],2399980690,10),i=d(i,o,n,r,e[10],4293915773,15),r=d(r,i,o,n,e[1],2240044497,21),n=d(n,r,i,o,e[8],1873313359,6),o=d(o,n,r,i,e[15],4264355552,10),i=d(i,o,n,r,e[6],2734768916,15),r=d(r,i,o,n,e[13],1309151649,21),n=d(n,r,i,o,e[4],4149444226,6),o=d(o,n,r,i,e[11],3174756917,10),i=d(i,o,n,r,e[2],718787259,15),r=d(r,i,o,n,e[9],3951481745,21),this._a=this._a+n|0,this._b=this._b+r|0,this._c=this._c+i|0,this._d=this._d+o|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=o.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=a},function(e,t,n){"use strict";var r=n(10).Buffer,i=n(1),o=n(94),s=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],c=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],f=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],u=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],l=[0,1518500249,1859775393,2400959708,2840853838],d=[1352829926,1548603684,1836072691,2053994217,0];function h(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(e,t){return e<>>32-t}function m(e,t,n,r,i,o,s,a){return p(e+(t^n^r)+o+s|0,a)+i|0}function g(e,t,n,r,i,o,s,a){return p(e+(t&n|~t&r)+o+s|0,a)+i|0}function y(e,t,n,r,i,o,s,a){return p(e+((t|~n)^r)+o+s|0,a)+i|0}function b(e,t,n,r,i,o,s,a){return p(e+(t&r|n&~r)+o+s|0,a)+i|0}function _(e,t,n,r,i,o,s,a){return p(e+(t^(n|~r))+o+s|0,a)+i|0}i(h,o),h.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var n=0|this._a,r=0|this._b,i=0|this._c,o=0|this._d,h=0|this._e,v=0|this._a,A=0|this._b,w=0|this._c,E=0|this._d,k=0|this._e,S=0;S<80;S+=1){var I,T;S<16?(I=m(n,r,i,o,h,e[a[S]],l[0],f[S]),T=_(v,A,w,E,k,e[c[S]],d[0],u[S])):S<32?(I=g(n,r,i,o,h,e[a[S]],l[1],f[S]),T=b(v,A,w,E,k,e[c[S]],d[1],u[S])):S<48?(I=y(n,r,i,o,h,e[a[S]],l[2],f[S]),T=y(v,A,w,E,k,e[c[S]],d[2],u[S])):S<64?(I=b(n,r,i,o,h,e[a[S]],l[3],f[S]),T=g(v,A,w,E,k,e[c[S]],d[3],u[S])):(I=_(n,r,i,o,h,e[a[S]],l[4],f[S]),T=m(v,A,w,E,k,e[c[S]],d[4],u[S])),n=h,h=o,o=p(i,10),i=r,r=I,v=k,k=E,E=p(w,10),w=A,A=T}var R=this._b+i+E|0;this._b=this._c+o+k|0,this._c=this._d+h+v|0,this._d=this._e+n+A|0,this._e=this._a+r+w|0,this._a=R},h.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=r.alloc?r.alloc(20):new r(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=h},function(e,t,n){(t=e.exports=function(e){e=e.toLowerCase();var n=t[e];if(!n)throw new Error(e+" is not supported (we accept pull requests)");return new n}).sha=n(199),t.sha1=n(200),t.sha224=n(201),t.sha256=n(95),t.sha384=n(202),t.sha512=n(96)},function(e,t,n){"use strict";var r=n(14);function i(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}e.exports=i,i.prototype._init=function(){},i.prototype.update=function(e){return 0===e.length?[]:"decrypt"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},i.prototype._buffer=function(e,t){for(var n=Math.min(this.buffer.length-this.bufferOff,e.length-t),r=0;r0;r--)t+=this._buffer(e,t),n+=this._flushBuffer(i,n);return t+=this._buffer(e,t),i},i.prototype.final=function(e){var t,n;return e&&(t=this.update(e)),n="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(n):n},i.prototype._pad=function(e,t){if(0===t)return!1;for(;t=0||!n.umod(e.prime1)||!n.umod(e.prime2);)n=new r(i(t));return n}e.exports=o,o.getr=s}).call(this,n(10).Buffer)},function(e,t,n){"use strict";var r=t;r.version=n(228).version,r.utils=n(15),r.rand=n(68),r.curve=n(115),r.curves=n(71),r.ec=n(239),r.eddsa=n(243)},function(e,t,n){"use strict";var r,i=t,o=n(72),s=n(115),a=n(15).assert;function c(e){"short"===e.type?this.curve=new s.short(e):"edwards"===e.type?this.curve=new s.edwards(e):this.curve=new s.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function f(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var n=new c(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:n}),n}})}i.PresetCurve=c,f("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),f("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),f("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),f("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),f("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),f("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),f("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=n(238)}catch(e){r=void 0}f("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})},function(e,t,n){var r=t;r.utils=n(17),r.common=n(33),r.sha=n(232),r.ripemd=n(236),r.hmac=n(237),r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.MemoryCryptoStore=void 0;var i=n(4),o=r(n(8));t.MemoryCryptoStore=class{constructor(){this._outgoingRoomKeyRequests=[],this._account=null,this._crossSigningKeys=null,this._sessions={},this._sessionProblems={},this._notifiedErrorDevices={},this._inboundGroupSessions={},this._inboundGroupSessionsWithheld={},this._deviceData=null,this._rooms={},this._sessionsNeedingBackup={}}deleteAllData(){return Promise.resolve()}getOrAddOutgoingRoomKeyRequest(e){const t=e.requestBody;return o.promiseTry(()=>{const n=this._getOutgoingRoomKeyRequest(t);return n?(i.logger.log("already have key request outstanding for "+`${t.room_id} / ${t.session_id}: `+"not sending another"),n):(i.logger.log(`enqueueing key request for ${t.room_id} / `+t.session_id),this._outgoingRoomKeyRequests.push(e),e)})}getOutgoingRoomKeyRequest(e){return Promise.resolve(this._getOutgoingRoomKeyRequest(e))}_getOutgoingRoomKeyRequest(e){for(const t of this._outgoingRoomKeyRequests)if(o.deepCompare(t.requestBody,e))return t;return null}getOutgoingRoomKeyRequestByState(e){for(const t of this._outgoingRoomKeyRequests)for(const n of e)if(t.state===n)return Promise.resolve(t);return Promise.resolve(null)}getOutgoingRoomKeyRequestsByTarget(e,t,n){const r=[];for(const i of this._outgoingRoomKeyRequests)for(const o of n)i.state===o&&i.recipients.includes({userId:e,deviceId:t})&&r.push(i);return Promise.resolve(r)}updateOutgoingRoomKeyRequest(e,t,n){for(const r of this._outgoingRoomKeyRequests)if(r.requestId===e)return r.state!=t?(i.logger.warn(`Cannot update room key request from ${t} `+`as it was already updated to ${r.state}`),Promise.resolve(null)):(Object.assign(r,n),Promise.resolve(r));return Promise.resolve(null)}deleteOutgoingRoomKeyRequest(e,t){for(let n=0;ne.time-t.time)}async getEndToEndSessionProblem(e,t){const n=this._sessionProblems[e]||[];if(!n.length)return null;const r=n[n.length-1];for(const e of n)if(e.time>t)return Object.assign({},e,{fixed:r.fixed});return r.fixed?null:r}async filterOutNotifiedErrorDevices(e){const t=this._notifiedErrorDevices,n=[];for(const r of e){const{userId:e,deviceInfo:i}=r;e in t?i.deviceId in t[e]||(n.push(r),t[e][i.deviceId]=!0):(n.push(r),t[e]={[i.deviceId]:!0})}return n}getEndToEndInboundGroupSession(e,t,n,r){const i=e+"/"+t;r(this._inboundGroupSessions[i]||null,this._inboundGroupSessionsWithheld[i]||null)}getAllEndToEndInboundGroupSessions(e,t){for(const e of Object.keys(this._inboundGroupSessions))t({senderKey:e.substr(0,43),sessionId:e.substr(44),sessionData:this._inboundGroupSessions[e]});t(null)}addEndToEndInboundGroupSession(e,t,n,r){const i=e+"/"+t;void 0===this._inboundGroupSessions[i]&&(this._inboundGroupSessions[i]=n)}storeEndToEndInboundGroupSession(e,t,n,r){this._inboundGroupSessions[e+"/"+t]=n}storeEndToEndInboundGroupSessionWithheld(e,t,n,r){const i=e+"/"+t;this._inboundGroupSessionsWithheld[i]=n}getEndToEndDeviceData(e,t){t(this._deviceData)}storeEndToEndDeviceData(e,t){this._deviceData=e}storeEndToEndRoom(e,t,n){this._rooms[e]=t}getEndToEndRooms(e,t){t(this._rooms)}getSessionsNeedingBackup(e){const t=[];for(const n in this._sessionsNeedingBackup)if(this._inboundGroupSessions[n]&&(t.push({senderKey:n.substr(0,43),sessionId:n.substr(44),sessionData:this._inboundGroupSessions[n]}),e&&n.length>=e))break;return Promise.resolve(t)}countSessionsNeedingBackup(){return Promise.resolve(Object.keys(this._sessionsNeedingBackup).length)}unmarkSessionsNeedingBackup(e){for(const t of e){const e=t.senderKey+"/"+t.sessionId;delete this._sessionsNeedingBackup[e]}return Promise.resolve()}markSessionsNeedingBackup(e){for(const t of e){const e=t.senderKey+"/"+t.sessionId;this._sessionsNeedingBackup[e]=!0}return Promise.resolve()}doTxn(e,t,n){return Promise.resolve(n(null))}}},function(e,t,n){"use strict";var r=n(270),i=n(271);function o(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=_,t.resolve=function(e,t){return _(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?_(e,!1,!0).resolveObject(t):t},t.format=function(e){i.isString(e)&&(e=_(e));return e instanceof o?e.format():o.prototype.format.call(e)},t.Url=o;var s=/^([a-z0-9.+-]+:)/i,a=/:[0-9]*$/,c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,f=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),u=["'"].concat(f),l=["%","/","?",";","#"].concat(u),d=["/","?","#"],h=/^[+a-z0-9A-Z_-]{0,63}$/,p=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,m={javascript:!0,"javascript:":!0},g={javascript:!0,"javascript:":!0},y={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},b=n(272);function _(e,t,n){if(e&&i.isObject(e)&&e instanceof o)return e;var r=new o;return r.parse(e,t,n),r}o.prototype.parse=function(e,t,n){if(!i.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var o=e.indexOf("?"),a=-1!==o&&o127?M+="x":M+=P[D];if(!M.match(h)){var N=x.slice(0,T),j=x.slice(T+1),U=P.match(p);U&&(N.push(U[1]),j.unshift(U[2])),j.length&&(_="/"+j.join(".")+_),this.hostname=N.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),O||(this.hostname=r.toASCII(this.hostname));var L=this.port?":"+this.port:"",F=this.hostname||"";this.host=F+L,this.href+=this.host,O&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==_[0]&&(_="/"+_))}if(!m[w])for(T=0,C=u.length;T0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift());return n.search=e.search,n.query=e.query,i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!E.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var S=E.slice(-1)[0],I=(n.host||e.host||E.length>1)&&("."===S||".."===S)||""===S,T=0,R=E.length;R>=0;R--)"."===(S=E[R])?E.splice(R,1):".."===S?(E.splice(R,1),T++):T&&(E.splice(R,1),T--);if(!A&&!w)for(;T--;T)E.unshift("..");!A||""===E[0]||E[0]&&"/"===E[0].charAt(0)||E.unshift(""),I&&"/"!==E.join("/").substr(-1)&&E.push("");var O,x=""===E[0]||E[0]&&"/"===E[0].charAt(0);k&&(n.hostname=n.host=x?"":E.length?E.shift():"",(O=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift()));return(A=A||n.host&&E.length)&&!x&&E.unshift(""),E.length?n.pathname=E.join("/"):(n.pathname=null,n.path=null),i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var e=this.host,t=a.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PushProcessor=s;var r=n(8);const i=["override","content","room","sender","underride"],o=[{rule_id:".m.rule.tombstone",default:!0,enabled:!0,conditions:[{kind:"event_match",key:"type",pattern:"m.room.tombstone"},{kind:"event_match",key:"state_key",pattern:""}],actions:["notify",{set_tweak:"highlight",value:!0}]},{rule_id:".m.rule.reaction",default:!0,enabled:!0,conditions:[{kind:"event_match",key:"type",pattern:"m.reaction"}],actions:["dont_notify"]}];function s(e){const t={},n=(e,t,n)=>{for(let r=0;r]*)([0-9]*)$/);if(!o)return!1;const s=o[1],a=parseInt(o[2]);if(isNaN(a))return!1;switch(s){case"":case"==":return i==a;case"<":return i":return i>a;case"<=":return i<=a;case">=":return i>=a;default:return!1}},l=function(t,n){let i=n.getContent();if(n.isEncrypted()&&n.getClearContent()&&(i=n.getClearContent()),!i||!i.body||"string"!=typeof i.body)return!1;const o=e.getRoom(n.getRoomId());if(!(o&&o.currentState&&o.currentState.members&&o.currentState.getMember(e.credentials.userId)))return!1;const s=o.currentState.getMember(e.credentials.userId).name,a=new RegExp("(^|\\W)"+(0,r.escapeRegExp)(s)+"(\\W|$)","i");return i.body.search(a)>-1},d=function(e,t){return!1},h=function(e,t){if(!e.key)return!1;const n=m(e.key,t);if("string"!=typeof n)return!1;if(e.value)return e.value===n;let r;return r="content.body"==e.key?p("(^|\\W)",e.pattern,"(\\W|$)"):p("^",e.pattern,"$"),!!n.match(r)},p=function(e,n,i){return t[n]?t[n]:(t[n]=new RegExp(e+(0,r.globToRegexp)(n)+i,"i"),t[n])},m=function(e,t){const n=e.split(".");let i;const o=n[0];for("content"===o?(i=t.getContent(),n.shift()):"type"===o?(i=t.getType(),n.shift()):i=t.event;n.length>0;){const e=n.shift();if((0,r.isNullOrUndefined)(i[e]))return null;i=i[e]}return i},g=function(t,r){const i=function(t,r){if(!r||!r.device)return null;if(t.getSender()==e.credentials.userId)return null;const i=Object.keys(r.device);for(let e=0;et.rule_id===e.rule_id)){const t=e.rule_id;console.warn(`Adding default global override for ${t}`),n.push(e)}}return t}(e.pushRules);return g(t,n)},this.getPushRuleById=function(t){for(const n of["device","global"])if(void 0!==e.pushRules[n])for(const r of i)if(void 0!==e.pushRules[n][r])for(const i of e.pushRules[n][r])if(i.rule_id===t)return i;return null}}s.actionListToActionsObject=function(e){const t={notify:!1,tweaks:{}};for(let n=0;n{const t=o.find(t=>t.rule_id===e.rule_id);return t?(e.default=t.default,e.conditions=t.conditions,e.actions=t.actions,e):e}),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Filter=o;var r=n(278);function i(e,t,n){const r=t.split(".");let i=e;for(let e=0;et!==e)}if(r)return t+" ("+e+")";return t}(this.userId,e.getDirectionalContent().displayname,t),this.rawDisplayName=e.getDirectionalContent().displayname||this.userId,n!==this.membership&&(this._updateModifiedTime(),this.emit("RoomMember.membership",e,this,n)),r!==this.name&&(this._updateModifiedTime(),this.emit("RoomMember.name",e,this,r))},a.prototype.setPowerLevelEvent=function(e){if("m.room.power_levels"!==e.getType())return;const t=e.getDirectionalContent();let n=t.users_default||0;s.forEach(s.values(t.users),(function(e){n=Math.max(n,e)}));const r=this.powerLevel,i=this.powerLevelNorm;t.users&&void 0!==t.users[this.userId]?this.powerLevel=t.users[this.userId]:void 0!==t.users_default?this.powerLevel=t.users_default:this.powerLevel=0,this.powerLevelNorm=0,n>0&&(this.powerLevelNorm=100*this.powerLevel/n),r===this.powerLevel&&i===this.powerLevelNorm||(this._updateModifiedTime(),this.emit("RoomMember.powerLevel",e,this))},a.prototype.setTypingEvent=function(e){if("m.typing"!==e.getType())return;const t=this.typing;this.typing=!1;const n=e.getContent().user_ids;s.isArray(n)&&(-1!==n.indexOf(this.userId)&&(this.typing=!0),t!==this.typing&&(this._updateModifiedTime(),this.emit("RoomMember.typing",e,this)))},a.prototype._updateModifiedTime=function(){this._modified=Date.now()},a.prototype.getLastModifiedTime=function(){return this._modified},a.prototype.isKicked=function(){return"leave"===this.membership&&this.events.member.getSender()!==this.events.member.getStateKey()},a.prototype.getDMInviter=function(){if(this.events.member){const e=this.events.member;let t=e.getContent(),n=e.getSender();if("join"===t.membership&&(t=e.getPrevContent(),n=e.getUnsigned().prev_sender),"invite"===t.membership&&t.is_direct)return n}},a.prototype.getAvatarUrl=function(e,t,n,r,i,s){void 0===i&&(i=!0);const a=this.getMxcAvatarUrl();if(!a&&!i)return null;const c=(0,o.getHttpUriForMxc)(e,a,t,n,r,s);return c||(i?(0,o.getIdenticonUri)(e,this.userId,t,n):null)},a.prototype.getMxcAvatarUrl=function(){return this.events.member?this.events.member.getDirectionalContent().avatar_url:this.user?this.user.avatarUrl:null}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReEmitter=void 0;t.ReEmitter=class{constructor(e){this.target=e,this.boundHandlers={}}_handleEvent(e,...t){this.target.emit(e,...t)}reEmit(e,t){const n=(t,...n)=>{t(...n,e)};for(const r of t){void 0===this.boundHandlers[r]&&(this.boundHandlers[r]=this._handleEvent.bind(this,r));const t=n.bind(this,this.boundHandlers[r]);e.on(r,t)}}}},function(e,t,n){"use strict";function r(e,t){const n=`Store is invalid because ${e}, `+"please stop the client, delete all data and start the client again",r=Reflect.construct(Error,[n]);return Reflect.setPrototypeOf(r,Reflect.getPrototypeOf(this)),r.reason=e,r.value=t,r}function i(e){const t=`Crypto store is invalid because ${e}, `+"please stop the client, delete all data and start the client again",n=Reflect.construct(Error,[t]);return Reflect.setPrototypeOf(n,Reflect.getPrototypeOf(this)),n.reason=e,n.name="InvalidCryptoStoreError",n}Object.defineProperty(t,"__esModule",{value:!0}),t.InvalidStoreError=r,t.InvalidCryptoStoreError=i,r.TOGGLED_LAZY_LOADING="TOGGLED_LAZY_LOADING",r.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Reflect.setPrototypeOf(r,Error),i.TOO_NEW="TOO_NEW",i.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Reflect.setPrototypeOf(i,Error)},function(e,t,n){"use strict";for(var r=/[\\\"\x00-\x1F]/g,i={},o=0;o<32;++o)i[String.fromCharCode(o)]="\\U"+("0000"+o.toString(16)).slice(-4).toUpperCase();function s(e){return r.lastIndex=0,e.replace(r,(function(e){return i[e]}))}function a(e){switch(typeof e){case"string":return'"'+s(e)+'"';case"number":return isFinite(e)?e:"null";case"boolean":return e;case"object":return null===e?"null":Array.isArray(e)?function(e){for(var t="[",n="",r=0;re+": "+t[e]).join(", "));return n+="]",n}(this,n)}}t.DecryptionError=o;class s extends Error{constructor(e,t){super(e),this.name="UnknownDeviceError",this.devices=t}}t.UnknownDeviceError=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VerificationRequest=t.PHASE_DONE=t.PHASE_CANCELLED=t.PHASE_STARTED=t.PHASE_REQUESTED=t.PHASE_UNSENT=t.DONE_TYPE=t.CANCEL_TYPE=t.START_TYPE=t.REQUEST_TYPE=t.EVENT_PREFIX=void 0;var r=n(4),i=n(298),o=n(9),s=n(37);const a="m.key.verification.";t.EVENT_PREFIX=a;const c=a+"request";t.REQUEST_TYPE=c;const f=a+"start";t.START_TYPE=f;const u=a+"cancel";t.CANCEL_TYPE=u;t.DONE_TYPE="m.key.verification.done";t.PHASE_UNSENT=1;t.PHASE_REQUESTED=2;t.PHASE_STARTED=4;t.PHASE_CANCELLED=5;t.PHASE_DONE=6;class l extends o.EventEmitter{constructor(e,t,n,r){super(),this.channel=e,this._verificationMethods=t,this._client=r,this._commonMethods=[],this._setPhase(1,!1),this._requestEvent=null,this._otherUserId=n,this._initiatedByMe=null,this._startTimestamp=null}static validateEvent(e,t,n,i){const o=t.getContent();if(!e.startsWith(a))return!1;if(e===c&&!Array.isArray(o.methods))return!1;if(!(e!==c&&e!==f||"string"==typeof o.from_device&&0!==o.from_device.length))return!1;if(Number.isFinite(n)){const e=Date.now()-n;if(e>597e3||e<-3e5)return r.logger.log("received verification that is too old or from the future"),!1}return!0}get methods(){return this._commonMethods}get timeout(){const e=Date.now()-this._startTimestamp;return Math.max(0,6e5-e)}get event(){return this._requestEvent}get phase(){return this._phase}get verifier(){return this._verifier}get pending(){return 1!==this._phase&&6!==this._phase&&5!==this._phase}get initiatedByMe(){return this._initiatedByMe}get requestingUserId(){return this.initiatedByMe?this._client.getUserId():this._otherUserId}get receivingUserId(){return this.initiatedByMe?this._otherUserId:this._client.getUserId()}beginKeyVerification(e,t=null){if(!this._verifier&&this._hasValidPreStartPhase()){if(this._commonMethods.length&&!this._commonMethods.includes(e))throw(0,s.newUnknownMethodError)();if(this._verifier=this._createVerifier(e,null,t),!this._verifier)throw(0,s.newUnknownMethodError)()}return this._verifier}async sendRequest(){if(1===this._phase){this._initiatedByMe=!0,this._setPhase(2,!1);const e=[...this._verificationMethods.keys()];await this.channel.send(c,{methods:e}),this.emit("change")}}async cancel({reason:e="User declined",code:t="m.user"}={}){if(5!==this._phase){if(this._verifier)return this._verifier.cancel((0,s.errorFactory)(t,e));this._setPhase(5,!1),await this.channel.send(u,{code:t,reason:e}),this.emit("change")}}waitForVerifier(){return this.verifier?Promise.resolve(this.verifier):new Promise(e=>{const t=()=>{this.verifier&&(this.off("change",t),e(this.verifier))};this.on("change",t)})}_setPhase(e,t=!0){this._phase=e,t&&this.emit("change")}async handleEvent(e,t,n){const r=t.getContent();e!==c&&e!==f||null===this._startTimestamp&&(this._startTimestamp=n),e===c?await this._handleRequest(r,t):e===f&&await this._handleStart(r,t),this._verifier&&(e===u||this._verifier.events&&this._verifier.events.includes(e))&&this._verifier.handleEvent(t),e===u?this._handleCancel():"m.key.verification.done"===e&&this._handleDone()}async _handleRequest(e,t){if(1===this._phase){const n=e.methods;this._commonMethods=n.filter(e=>this._verificationMethods.has(e)),this._requestEvent=t,this._initiatedByMe=this._wasSentByMe(t),this._setPhase(2)}else 2!==this._phase&&(r.logger.warn("Ignoring flagged verification request from "+t.getSender()),await this.cancel((0,s.errorFromEvent)((0,s.newUnexpectedMessageError)())))}_hasValidPreStartPhase(){return 2===this._phase||this.channel.constructor.canCreateRequest(f)&&1===this._phase}async _handleStart(e,t){if(this._hasValidPreStartPhase()){const{method:n}=e;this._verificationMethods.has(n)?(1===this.phase&&(this._initiatedByMe=this._wasSentByMe(t)),this._verifier=this._createVerifier(n,t),this._setPhase(4)):await this.cancel((0,s.errorFromEvent)((0,s.newUnknownMethodError)()))}}handleVerifierSend(e,t){e===u?this._handleCancel():e===f&&(1!==this._phase&&2!==this._phase||(this._initiatedByMe=1===this.phase,this._setPhase(4)))}_handleCancel(){5!==this._phase&&this._setPhase(5)}_handleDone(){4===this._phase&&this._setPhase(6)}_createVerifier(e,t=null,n=null){const r=t&&this._wasSentByMe(t),{userId:o,deviceId:s}=this._getVerifierTarget(t,n),a=this._verificationMethods.get(e);if(a)return new a(new i.RequestCallbackChannel(this,this.channel),this._client,o,s,r?null:t);console.warn("could not find verifier constructor for method",e)}_getVerifierTarget(e,t){if(t)return t;{let t;if(e&&!this._wasSentByMe(e))t=e;else{if(!this._requestEvent||this._wasSentByMe(this._requestEvent))throw new Error("can't determine who the verifier should be targeted at. No .request or .start event and no targetDevice");t=this._requestEvent}const n=t.getSender(),r=t.getContent();return{userId:n,deviceId:r&&r.from_device}}}_wasSentByMe(e){if(e.getSender()!==this._client.getUserId())return!1;const t=e.getContent();return!(!t||t.from_device!==this._client.getDeviceId())}}t.VerificationRequest=l},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,i=Array.isArray,o=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),s=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r1;){var t=e.pop(),n=t.obj[t.prop];if(i(n)){for(var r=[],o=0;o=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122?i+=r.charAt(s):a<128?i+=o[a]:a<2048?i+=o[192|a>>6]+o[128|63&a]:a<55296||a>=57344?i+=o[224|a>>12]+o[128|a>>6&63]+o[128|63&a]:(s+=1,a=65536+((1023&a)<<10|1023&r.charCodeAt(s)),i+=o[240|a>>18]+o[128|a>>12&63]+o[128|a>>6&63]+o[128|63&a])}return i},isBuffer:function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},merge:function e(t,n,o){if(!n)return t;if("object"!=typeof n){if(i(t))t.push(n);else{if(!t||"object"!=typeof t)return[t,n];(o&&(o.plainObjects||o.allowPrototypes)||!r.call(Object.prototype,n))&&(t[n]=!0)}return t}if(!t||"object"!=typeof t)return[t].concat(n);var a=t;return i(t)&&!i(n)&&(a=s(t,o)),i(t)&&i(n)?(n.forEach((function(n,i){if(r.call(t,i)){var s=t[i];s&&"object"==typeof s&&n&&"object"==typeof n?t[i]=e(s,n,o):t.push(n)}else t[i]=n})),t):Object.keys(n).reduce((function(t,i){var s=n[i];return r.call(t,i)?t[i]=e(t[i],s,o):t[i]=s,t}),a)}}},function(e,t,n){"use strict";t.__esModule=!0,t.AMPERSAND=t.CLOSEPAREN=t.CLOSEANGLEBRACKET=t.CLOSEBRACKET=t.CLOSEBRACE=t.OPENPAREN=t.OPENANGLEBRACKET=t.OPENBRACKET=t.OPENBRACE=t.WS=t.TLD=t.SYM=t.UNDERSCORE=t.SLASH=t.MAILTO=t.PROTOCOL=t.QUERY=t.POUND=t.PLUS=t.NUM=t.NL=t.LOCALHOST=t.PUNCTUATION=t.DOT=t.COLON=t.AT=t.DOMAIN=t.Base=void 0;var r=n(147),i=n(53),o=(0,r.createTokenClass)();function s(e){var t=e?{v:e}:{};return(0,i.inherits)(o,(0,r.createTokenClass)(),t)}o.prototype={toString:function(){return this.v+""}};var a=s(),c=s("@"),f=s(":"),u=s("."),l=s(),d=s(),h=s("\n"),p=s(),m=s("+"),g=s("#"),y=s(),b=s("mailto:"),_=s("?"),v=s("/"),A=s("_"),w=s(),E=s(),k=s(),S=s("{"),I=s("["),T=s("<"),R=s("("),O=s("}"),x=s("]"),C=s(">"),P=s(")"),M=s("&");t.Base=o,t.DOMAIN=a,t.AT=c,t.COLON=f,t.DOT=u,t.PUNCTUATION=l,t.LOCALHOST=d,t.NL=h,t.NUM=p,t.PLUS=m,t.POUND=g,t.QUERY=_,t.PROTOCOL=y,t.MAILTO=b,t.SLASH=v,t.UNDERSCORE=A,t.SYM=w,t.TLD=E,t.WS=k,t.OPENBRACE=S,t.OPENBRACKET=I,t.OPENANGLEBRACKET=T,t.OPENPAREN=R,t.CLOSEBRACE=O,t.CLOSEBRACKET=x,t.CLOSEANGLEBRACKET=C,t.CLOSEPAREN=P,t.AMPERSAND=M},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=(n(13),n(155)),s=n.n(o);t.a=function(e){var t=e.message,n=e.userId,r=e.botId,o=e.client,a=function(){switch(t.sender){case"from-me":case n:return"from-me";case r:return"from-bot";default:return"from-support"}};if(e.placeholder)return i.a.createElement("div",{className:"message from-me placeholder"},i.a.createElement("div",{className:"text"},t.content.body));if("m.file"===t.content.msgtype){var c=o.mxcUrlToHttp(t.content.url);return(i.a.createElement("div",{className:"message ".concat(a())},i.a.createElement("div",{className:"text"},i.a.createElement("a",{href:c,target:"_blank",rel:"noopener noreferrer"},t.content.body))))}if(t.content.formatted_body)return i.a.createElement("div",{className:"message ".concat(a())},i.a.createElement("div",{className:"text",dangerouslySetInnerHTML:{__html:t.content.formatted_body}}));return i.a.createElement("div",{className:"message ".concat(a())},i.a.createElement("div",{className:"text"},i.a.createElement(s.a,{options:{linkAttributes:{rel:"noreferrer noopener"}}},t.content.body)))}},function(e,t,n){"use strict";var r=n(0),i=n.n(r);n(13);t.a=function(e){var t=e.handleToggleOpen,n=e.handleExitChat,r=e.opened;return(i.a.createElement("div",{className:"widget-header"},i.a.createElement("button",{type:"button",className:"widget-header-minimize",onClick:t,onKeyPress:t,"aria-label":"Minimize the chat window",title:"Minimize the chat window"},i.a.createElement("span",{className:"btn-icon arrow ".concat(r?"opened":"closed")},"⌃"),i.a.createElement("span",null,"".concat(r?"Hide":"Show"," the chat"))),i.a.createElement("button",{type:"button",className:"widget-header-close",onClick:n,onKeyPress:n,"aria-label":"Exit the chat",title:"Exit the chat"},i.a.createElement("span",{className:"btn-icon"},"×"))))}},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){"use strict";(function(t,r){var i=n(43);e.exports=_;var o,s=n(88);_.ReadableState=b;n(9).EventEmitter;var a=function(e,t){return e.listeners(t).length},c=n(90),f=n(59).Buffer,u=t.Uint8Array||function(){};var l=Object.create(n(30));l.inherits=n(1);var d=n(181),h=void 0;h=d&&d.debuglog?d.debuglog("stream"):function(){};var p,m=n(182),g=n(91);l.inherits(_,c);var y=["error","close","destroy","pause","resume"];function b(e,t){e=e||{};var r=t instanceof(o=o||n(20));this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,s=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=n(61).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function _(e){if(o=o||n(20),!(this instanceof _))return new _(e);this._readableState=new b(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),c.call(this)}function v(e,t,n,r,i){var o,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,E(e)}(e,s)):(i||(o=function(e,t){var n;r=t,f.isBuffer(r)||r instanceof u||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var r;return n}(s,t)),o?e.emit("error",o):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===f.prototype||(t=function(e){return f.from(e)}(t)),r?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):A(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?A(e,s,t,!1):S(e,s)):A(e,s,t,!1))):r||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function E(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(h("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(k,e):k(e))}function k(e){h("emit readable"),e.emit("readable"),O(e)}function S(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(I,e,t))}function I(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;eo.length?o.length:e;if(s===o.length?i+=o:i+=o.slice(0,e),0===(e-=s)){s===o.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(s));break}++r}return t.length-=r,i}(e,t):function(e,t){var n=f.allocUnsafe(e),r=t.head,i=1;r.data.copy(n),e-=r.data.length;for(;r=r.next;){var o=r.data,s=e>o.length?o.length:e;if(o.copy(n,n.length-e,0,s),0===(e-=s)){s===o.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(s));break}++i}return t.length-=i,n}(e,t);return r}(e,t.buffer,t.decoder),n);var n}function C(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(P,t,e))}function P(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function M(e,t){for(var n=0,r=e.length;n=t.highWaterMark||t.ended))return h("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?C(this):E(this),null;if(0===(e=w(e,t))&&t.ended)return 0===t.length&&C(this),null;var r,i=t.needReadable;return h("need readable",i),(0===t.length||t.length-e0?x(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&C(this)),null!==r&&this.emit("data",r),r},_.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},_.prototype.pipe=function(e,t){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=e;break;case 1:o.pipes=[o.pipes,e];break;default:o.pipes.push(e)}o.pipesCount+=1,h("pipe count=%d opts=%j",o.pipesCount,t);var c=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?u:_;function f(t,r){h("onunpipe"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,h("cleanup"),e.removeListener("close",y),e.removeListener("finish",b),e.removeListener("drain",l),e.removeListener("error",g),e.removeListener("unpipe",f),n.removeListener("end",u),n.removeListener("end",_),n.removeListener("data",m),d=!0,!o.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}function u(){h("onend"),e.end()}o.endEmitted?i.nextTick(c):n.once("end",c),e.on("unpipe",f);var l=function(e){return function(){var t=e._readableState;h("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,O(e))}}(n);e.on("drain",l);var d=!1;var p=!1;function m(t){h("ondata"),p=!1,!1!==e.write(t)||p||((1===o.pipesCount&&o.pipes===e||o.pipesCount>1&&-1!==M(o.pipes,e))&&!d&&(h("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,p=!0),n.pause())}function g(t){h("onerror",t),_(),e.removeListener("error",g),0===a(e,"error")&&e.emit("error",t)}function y(){e.removeListener("finish",b),_()}function b(){h("onfinish"),e.removeListener("close",y),_()}function _(){h("unpipe"),n.unpipe(e)}return n.on("data",m),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",g),e.once("close",y),e.once("finish",b),e.emit("pipe",n),o.flowing||(h("pipe resume"),n.resume()),e},_.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o=this._blockSize;){for(var o=this._blockOffset;o0;++s)this._length[s]+=a,(a=this._length[s]/4294967296|0)>0&&(this._length[s]-=4294967296*a);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var n=0;n<4;++n)this._length[n]=0;return t},o.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=o},function(e,t,n){var r=n(1),i=n(24),o=n(3).Buffer,s=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],a=new Array(64);function c(){this.init(),this._w=a,i.call(this,64,56)}function f(e,t,n){return n^e&(t^n)}function u(e,t,n){return e&t|n&(e|t)}function l(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function d(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function h(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}r(c,i),c.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},c.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,c=0|this._e,p=0|this._f,m=0|this._g,g=0|this._h,y=0;y<16;++y)n[y]=e.readInt32BE(4*y);for(;y<64;++y)n[y]=0|(((t=n[y-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+n[y-7]+h(n[y-15])+n[y-16];for(var b=0;b<64;++b){var _=g+d(c)+f(c,p,m)+s[b]+n[b]|0,v=l(r)+u(r,i,o)|0;g=m,m=p,p=c,c=a+_|0,a=o,o=i,i=r,r=_+v|0}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=c+this._e|0,this._f=p+this._f|0,this._g=m+this._g|0,this._h=g+this._h|0},c.prototype._hash=function(){var e=o.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=c},function(e,t,n){var r=n(1),i=n(24),o=n(3).Buffer,s=[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],a=new Array(160);function c(){this.init(),this._w=a,i.call(this,128,112)}function f(e,t,n){return n^e&(t^n)}function u(e,t,n){return e&t|n&(e|t)}function l(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function d(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function h(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function m(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function g(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function y(e,t){return e>>>0>>0?1:0}r(c,i),c.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},c.prototype._update=function(e){for(var t=this._w,n=0|this._ah,r=0|this._bh,i=0|this._ch,o=0|this._dh,a=0|this._eh,c=0|this._fh,b=0|this._gh,_=0|this._hh,v=0|this._al,A=0|this._bl,w=0|this._cl,E=0|this._dl,k=0|this._el,S=0|this._fl,I=0|this._gl,T=0|this._hl,R=0;R<32;R+=2)t[R]=e.readInt32BE(4*R),t[R+1]=e.readInt32BE(4*R+4);for(;R<160;R+=2){var O=t[R-30],x=t[R-30+1],C=h(O,x),P=p(x,O),M=m(O=t[R-4],x=t[R-4+1]),D=g(x,O),B=t[R-14],N=t[R-14+1],j=t[R-32],U=t[R-32+1],L=P+N|0,F=C+B+y(L,P)|0;F=(F=F+M+y(L=L+D|0,D)|0)+j+y(L=L+U|0,U)|0,t[R]=F,t[R+1]=L}for(var q=0;q<160;q+=2){F=t[q],L=t[q+1];var K=u(n,r,i),z=u(v,A,w),G=l(n,v),H=l(v,n),V=d(a,k),Q=d(k,a),W=s[q],Y=s[q+1],X=f(a,c,b),J=f(k,S,I),Z=T+Q|0,$=_+V+y(Z,T)|0;$=($=($=$+X+y(Z=Z+J|0,J)|0)+W+y(Z=Z+Y|0,Y)|0)+F+y(Z=Z+L|0,L)|0;var ee=H+z|0,te=G+K+y(ee,H)|0;_=b,T=I,b=c,I=S,c=a,S=k,a=o+$+y(k=E+Z|0,E)|0,o=i,E=w,i=r,w=A,r=n,A=v,n=$+te+y(v=Z+ee|0,Z)|0}this._al=this._al+v|0,this._bl=this._bl+A|0,this._cl=this._cl+w|0,this._dl=this._dl+E|0,this._el=this._el+k|0,this._fl=this._fl+S|0,this._gl=this._gl+I|0,this._hl=this._hl+T|0,this._ah=this._ah+n+y(this._al,v)|0,this._bh=this._bh+r+y(this._bl,A)|0,this._ch=this._ch+i+y(this._cl,w)|0,this._dh=this._dh+o+y(this._dl,E)|0,this._eh=this._eh+a+y(this._el,k)|0,this._fh=this._fh+c+y(this._fl,S)|0,this._gh=this._gh+b+y(this._gl,I)|0,this._hh=this._hh+_+y(this._hl,T)|0},c.prototype._hash=function(){var e=o.allocUnsafe(64);function t(t,n,r){e.writeInt32BE(t,r),e.writeInt32BE(n,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=c},function(e,t,n){"use strict";var r=n(1),i=n(203),o=n(18),s=n(3).Buffer,a=n(98),c=n(63),f=n(64),u=s.alloc(128);function l(e,t){o.call(this,"digest"),"string"==typeof t&&(t=s.from(t));var n="sha512"===e||"sha384"===e?128:64;(this._alg=e,this._key=t,t.length>n)?t=("rmd160"===e?new c:f(e)).update(t).digest():t.lengthn||o!=o)throw new TypeError("Bad key length")}}).call(this,n(10).Buffer)},function(e,t,n){(function(t){var n;t.browser?n="utf-8":n=parseInt(t.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary";e.exports=n}).call(this,n(12))},function(e,t,n){var r=n(98),i=n(63),o=n(64),s=n(101),a=n(102),c=n(3).Buffer,f=c.alloc(128),u={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function l(e,t,n){var s=function(e){function t(t){return o(e).update(t).digest()}return"rmd160"===e||"ripemd160"===e?function(e){return(new i).update(e).digest()}:"md5"===e?r:t}(e),a="sha512"===e||"sha384"===e?128:64;t.length>a?t=s(t):t.length>>0},t.writeUInt32BE=function(e,t,n){e[0+n]=t>>>24,e[1+n]=t>>>16&255,e[2+n]=t>>>8&255,e[3+n]=255&t},t.ip=function(e,t,n,r){for(var i=0,o=0,s=6;s>=0;s-=2){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>>a+s&1}for(s=6;s>=0;s-=2){for(a=1;a<=25;a+=8)o<<=1,o|=t>>>a+s&1;for(a=1;a<=25;a+=8)o<<=1,o|=e>>>a+s&1}n[r+0]=i>>>0,n[r+1]=o>>>0},t.rip=function(e,t,n,r){for(var i=0,o=0,s=0;s<4;s++)for(var a=24;a>=0;a-=8)i<<=1,i|=t>>>a+s&1,i<<=1,i|=e>>>a+s&1;for(s=4;s<8;s++)for(a=24;a>=0;a-=8)o<<=1,o|=t>>>a+s&1,o<<=1,o|=e>>>a+s&1;n[r+0]=i>>>0,n[r+1]=o>>>0},t.pc1=function(e,t,n,r){for(var i=0,o=0,s=7;s>=5;s--){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>a+s&1}for(a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(s=1;s<=3;s++){for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1;for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1}for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1;n[r+0]=i>>>0,n[r+1]=o>>>0},t.r28shl=function(e,t){return e<>>28-t};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function(e,t,n,i){for(var o=0,s=0,a=r.length>>>1,c=0;c>>r[c]&1;for(c=a;c>>r[c]&1;n[i+0]=o>>>0,n[i+1]=s>>>0},t.expand=function(e,t,n){var r=0,i=0;r=(1&e)<<5|e>>>27;for(var o=23;o>=15;o-=4)r<<=6,r|=e>>>o&63;for(o=11;o>=3;o-=4)i|=e>>>o&63,i<<=6;i|=(31&e)<<1|e>>>31,t[n+0]=r>>>0,t[n+1]=i>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function(e,t){for(var n=0,r=0;r<4;r++){n<<=4,n|=i[64*r+(e>>>18-6*r&63)]}for(r=0;r<4;r++){n<<=4,n|=i[256+64*r+(t>>>18-6*r&63)]}return n>>>0};var o=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function(e){for(var t=0,n=0;n>>o[n]&1;return t>>>0},t.padSplit=function(e,t,n){for(var r=e.toString(2);r.length>>1];n=o.r28shl(n,a),i=o.r28shl(i,a),o.pc2(n,i,e.keys,s)}},c.prototype._update=function(e,t,n,r){var i=this._desState,s=o.readUInt32BE(e,t),a=o.readUInt32BE(e,t+4);o.ip(s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],"encrypt"===this.type?this._encrypt(i,s,a,i.tmp,0):this._decrypt(i,s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],o.writeUInt32BE(n,s,r),o.writeUInt32BE(n,a,r+4)},c.prototype._pad=function(e,t){for(var n=e.length-t,r=t;r>>0,s=d}o.rip(a,s,r,i)},c.prototype._decrypt=function(e,t,n,r,i){for(var s=n,a=t,c=e.keys.length-2;c>=0;c-=2){var f=e.keys[c],u=e.keys[c+1];o.expand(s,e.tmp,0),f^=e.tmp[0],u^=e.tmp[1];var l=o.substitute(f,u),d=s;s=(a^o.permute(l))>>>0,a=d}o.rip(s,a,r,i)}},function(e,t,n){var r=n(32),i=n(3).Buffer,o=n(107);function s(e){var t=e._cipher.encryptBlockRaw(e._prev);return o(e._prev),t}t.encrypt=function(e,t){var n=Math.ceil(t.length/16),o=e._cache.length;e._cache=i.concat([e._cache,i.allocUnsafe(16*n)]);for(var a=0;ae;)n.ishrn(1);if(n.isEven()&&n.iadd(a),n.testn(1)||n.iadd(c),t.cmp(c)){if(!t.cmp(f))for(;n.mod(u).cmp(l);)n.iadd(h)}else for(;n.mod(o).cmp(d);)n.iadd(h);if(g(p=n.shrn(1))&&g(n)&&y(p)&&y(n)&&s.test(p)&&s.test(n))return n}}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){var r=n(11),i=n(68);function o(e){this.rand=e||new i.Rand}e.exports=o,o.create=function(e){return new o(e)},o.prototype._randbelow=function(e){var t=e.bitLength(),n=Math.ceil(t/8);do{var i=new r(this.rand.generate(n))}while(i.cmp(e)>=0);return i},o.prototype._randrange=function(e,t){var n=t.sub(e);return e.add(this._randbelow(n))},o.prototype.test=function(e,t,n){var i=e.bitLength(),o=r.mont(e),s=new r(1).toRed(o);t||(t=Math.max(1,i/48|0));for(var a=e.subn(1),c=0;!a.testn(c);c++);for(var f=e.shrn(c),u=a.toRed(o);t>0;t--){var l=this._randrange(new r(2),a);n&&n(l);var d=l.toRed(o).redPow(f);if(0!==d.cmp(s)&&0!==d.cmp(u)){for(var h=1;h0;t--){var u=this._randrange(new r(2),s),l=e.gcd(u);if(0!==l.cmpn(1))return l;var d=u.toRed(i).redPow(c);if(0!==d.cmp(o)&&0!==d.cmp(f)){for(var h=1;h>8,s=255&i;o?n.push(o,s):n.push(s)}return n},r.zero2=i,r.toHex=o,r.encode=function(e,t){return"hex"===t?o(e):e}},function(e,t,n){"use strict";var r=t;r.base=n(46),r.short=n(229),r.mont=n(230),r.edwards=n(231)},function(e,t,n){"use strict";var r=n(17).rotr32;function i(e,t,n){return e&t^~e&n}function o(e,t,n){return e&t^e&n^t&n}function s(e,t,n){return e^t^n}t.ft_1=function(e,t,n,r){return 0===e?i(t,n,r):1===e||3===e?s(t,n,r):2===e?o(t,n,r):void 0},t.ch32=i,t.maj32=o,t.p32=s,t.s0_256=function(e){return r(e,2)^r(e,13)^r(e,22)},t.s1_256=function(e){return r(e,6)^r(e,11)^r(e,25)},t.g0_256=function(e){return r(e,7)^r(e,18)^e>>>3},t.g1_256=function(e){return r(e,17)^r(e,19)^e>>>10}},function(e,t,n){"use strict";var r=n(17),i=n(33),o=n(116),s=n(14),a=r.sum32,c=r.sum32_4,f=r.sum32_5,u=o.ch32,l=o.maj32,d=o.s0_256,h=o.s1_256,p=o.g0_256,m=o.g1_256,g=i.BlockHash,y=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function b(){if(!(this instanceof b))return new b;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=y,this.W=new Array(64)}r.inherits(b,g),e.exports=b,b.blockSize=512,b.outSize=256,b.hmacStrength=192,b.padLength=64,b.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r>6],i=0==(32&n);if(31==(31&n)){var o=n;for(n=0;128==(128&o);){if(o=e.readUInt8(t),e.isError(o))return o;n<<=7,n|=127&o}}else n&=31;return{cls:r,primitive:i,tag:n,tagStr:a.tag[n]}}function l(e,t,n){var r=e.readUInt8(n);if(e.isError(r))return r;if(!t&&128===r)return null;if(0==(128&r))return r;var i=127&r;if(i>4)return e.error("length octect is too long");r=0;for(var o=0;o=31)return r.error("Multi-octet tag encoding unsupported");t||(i|=32);return i|=a.tagClassByName[n||"universal"]<<6}(e,t,n,this.reporter);if(r.length<128)return(o=new i(2))[0]=s,o[1]=r.length,this._createEncoderBuffer([o,r]);for(var c=1,f=r.length;f>=256;f>>=8)c++;(o=new i(2+c))[0]=s,o[1]=128|c;f=1+c;for(var u=r.length;u>0;f--,u>>=8)o[f]=255&u;return this._createEncoderBuffer([o,r])},f.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){for(var n=new i(2*e.length),r=0;r=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}var o=0;for(r=0;r=128;s>>=7)o++}var a=new i(o),c=a.length-1;for(r=e.length-1;r>=0;r--){s=e[r];for(a[c--]=127&s;(s>>=7)>0;)a[c--]=128|127&s}return this._createEncoderBuffer(a)},f.prototype._encodeTime=function(e,t){var n,r=new Date(e);return"gentime"===t?n=[u(r.getFullYear()),u(r.getUTCMonth()+1),u(r.getUTCDate()),u(r.getUTCHours()),u(r.getUTCMinutes()),u(r.getUTCSeconds()),"Z"].join(""):"utctime"===t?n=[u(r.getFullYear()%100),u(r.getUTCMonth()+1),u(r.getUTCDate()),u(r.getUTCHours()),u(r.getUTCMinutes()),u(r.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(n,"octstr")},f.prototype._encodeNull=function(){return this._createEncoderBuffer("")},f.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!i.isBuffer(e)){var n=e.toArray();!e.sign&&128&n[0]&&n.unshift(0),e=new i(n)}if(i.isBuffer(e)){var r=e.length;0===e.length&&r++;var o=new i(r);return e.copy(o),0===e.length&&(o[0]=0),this._createEncoderBuffer(o)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);r=1;for(var s=e;s>=256;s>>=8)r++;for(s=(o=new Array(r)).length-1;s>=0;s--)o[s]=255&e,e>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(new i(o))},f.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},f.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},f.prototype._skipDefault=function(e,t,n){var r,i=this._baseState;if(null===i.default)return!1;var o=e.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,t,n).join()),o.length!==i.defaultBuffer.length)return!1;for(r=0;r(0,o.default)(n(135)));let P;t.ContentHelpers=C;let M=()=>new s.MemoryCryptoStore}).call(this,n(5))},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.MemoryStore=s;var i=n(48),o=r(n(8));function s(e){e=e||{},this.rooms={},this.groups={},this.users={},this.syncToken=null,this.filters={},this.accountData={},this.localStorage=e.localStorage,this._oobMembers={},this._clientOptions={}}s.prototype={getSyncToken:function(){return this.syncToken},isNewlyCreated:function(){return Promise.resolve(!0)},setSyncToken:function(e){this.syncToken=e},storeGroup:function(e){this.groups[e.groupId]=e},getGroup:function(e){return this.groups[e]||null},getGroups:function(){return o.values(this.groups)},storeRoom:function(e){this.rooms[e.roomId]=e,e.currentState.on("RoomState.members",this._onRoomMember.bind(this));const t=this;e.currentState.getMembers().forEach((function(n){t._onRoomMember(null,e.currentState,n)}))},_onRoomMember:function(e,t,n){if("invite"===n.membership)return;const r=this.users[n.userId]||new i.User(n.userId);n.name&&(r.setDisplayName(n.name),n.events.member&&r.setRawDisplayName(n.events.member.getDirectionalContent().displayname)),n.events.member&&n.events.member.getContent().avatar_url&&r.setAvatarUrl(n.events.member.getContent().avatar_url),this.users[r.userId]=r},getRoom:function(e){return this.rooms[e]||null},getRooms:function(){return o.values(this.rooms)},removeRoom:function(e){this.rooms[e]&&this.rooms[e].removeListener("RoomState.members",this._onRoomMember),delete this.rooms[e]},getRoomSummaries:function(){return o.map(o.values(this.rooms),(function(e){return e.summary}))},storeUser:function(e){this.users[e.userId]=e},getUser:function(e){return this.users[e]||null},getUsers:function(){return o.values(this.users)},scrollback:function(e,t){return[]},storeEvents:function(e,t,n,r){},storeFilter:function(e){e&&(this.filters[e.userId]||(this.filters[e.userId]={}),this.filters[e.userId][e.filterId]=e)},getFilter:function(e,t){return this.filters[e]&&this.filters[e][t]?this.filters[e][t]:null},getFilterIdByName:function(e){if(!this.localStorage)return null;try{return this.localStorage.getItem("mxjssdk_memory_filter_"+e)}catch(e){}return null},setFilterIdByName:function(e,t){if(this.localStorage)try{this.localStorage.setItem("mxjssdk_memory_filter_"+e,t)}catch(e){}},storeAccountDataEvents:function(e){const t=this;e.forEach((function(e){t.accountData[e.getType()]=e}))},getAccountData:function(e){return this.accountData[e]},setSyncData:function(e){return Promise.resolve()},wantsSave:function(){return!1},save:function(e){},startup:function(){return Promise.resolve()},getSavedSync:function(){return Promise.resolve(null)},getSavedSyncToken:function(){return Promise.resolve(null)},deleteAllData:function(){return this.rooms={},this.users={},this.syncToken=null,this.filters={},this.accountData={},Promise.resolve()},getOutOfBandMembers:function(e){return Promise.resolve(this._oobMembers[e]||null)},setOutOfBandMembers:function(e,t){return this._oobMembers[e]=t,Promise.resolve()},clearOutOfBandMembers:function(){return this._oobMembers={},Promise.resolve()},getClientOptions:function(){return Promise.resolve(this._clientOptions)},storeClientOptions:function(e){return this._clientOptions=Object.assign({},e),Promise.resolve()}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SERVICE_TYPES=void 0;const r=Object.freeze({IS:"SERVICE_TYPE_IS",IM:"SERVICE_TYPE_IM"});t.SERVICE_TYPES=r},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.Room=g;var i=n(9),o=n(131),s=n(25),a=n(50),c=r(n(8)),f=n(19),u=n(77),l=n(281),d=n(4),h=n(78);const p=["1","2","3","4","5"];function m(e,t,n){const r={content:{},type:"m.receipt",room_id:t.getRoomId()};return r.content[t.getId()]={},r.content[t.getId()][n]={},r.content[t.getId()][n][e]={ts:t.getTs()},new f.MatrixEvent(r)}function g(e,t,n,r){if((r=r||{}).pendingEventOrdering=r.pendingEventOrdering||"chronological",this.reEmitter=new h.ReEmitter(this),-1===["chronological","detached"].indexOf(r.pendingEventOrdering))throw new Error("opts.pendingEventOrdering MUST be either 'chronological' or 'detached'. Got: '"+r.pendingEventOrdering+"'");this.myUserId=n,this.roomId=e,this.name=e,this.tags={},this.accountData={},this.summary=null,this.storageToken=r.storageToken,this._opts=r,this._txnToEvent={},this._receipts={},this._receiptCacheByEventId={},this._realReceipts={},this._notificationCounts={},this._timelineSets=[new o.EventTimelineSet(this,r)],this.reEmitter.reEmit(this.getUnfilteredTimelineSet(),["Room.timeline","Room.timelineReset"]),this._fixUpLegacyTimelineFields(),this._filteredTimelineSets={},"detached"==this._opts.pendingEventOrdering&&(this._pendingEventList=[]),this._blacklistUnverifiedDevices=null,this._selfMembership=null,this._summaryHeroes=null,this._client=t,this._opts.lazyLoadMembers?this._membersPromise=null:this._membersPromise=Promise.resolve()}c.inherits(g,i.EventEmitter),g.prototype.getVersion=function(){const e=this.currentState.getStateEvents("m.room.create","");if(!e)return d.logger.warn("Room "+this.room_id+" does not have an m.room.create event"),"1";const t=e.getContent().room_version;return void 0===t?"1":t},g.prototype.shouldUpgradeToVersion=function(){return p.includes(this.getVersion())?null:"5"},g.prototype.getRecommendedVersion=async function(){let e=(await this._client.getCapabilities())["m.room_versions"];if(!e){e={default:"5",available:{}};for(const t of p)e.available[t]="stable"}let t=this._checkVersionAgainstCapability(e);if(t.urgent&&t.needsUpgrade){if(d.logger.warn("Refreshing room version capability because the server looks to be supporting a newer room version we don't know about."),e=(await this._client.getCapabilities(!0))["m.room_versions"],!e)return d.logger.warn("No room version capability - assuming upgrade required."),t;t=this._checkVersionAgainstCapability(e)}return t},g.prototype._checkVersionAgainstCapability=function(e){const t=this.getVersion();d.logger.log(`[${this.roomId}] Current version: ${t}`),d.logger.log(`[${this.roomId}] Version capability: `,e);const n={version:t,needsUpgrade:!1,urgent:!1};return t===e.default?n:Object.keys(e.available).filter(t=>"stable"===e.available[t]).includes(t)?n:(n.version=e.default,n.needsUpgrade=!0,n.urgent=!!this.getVersion().match(/^[0-9]+[0-9.]*$/g),n.urgent?d.logger.warn(`URGENT upgrade required on ${this.roomId}`):d.logger.warn(`Non-urgent upgrade required on ${this.roomId}`),n)},g.prototype.userMayUpgradeRoom=function(e){return this.currentState.maySendStateEvent("m.room.tombstone",e)},g.prototype.getPendingEvents=function(){if("detached"!==this._opts.pendingEventOrdering)throw new Error("Cannot call getPendingEvents with pendingEventOrdering == "+this._opts.pendingEventOrdering);return this._pendingEventList},g.prototype.hasPendingEvent=function(e){if("detached"!==this._opts.pendingEventOrdering)throw new Error("Cannot call hasPendingEvent with pendingEventOrdering == "+this._opts.pendingEventOrdering);return this._pendingEventList.some(t=>t.getId()===e)},g.prototype.getLiveTimeline=function(){return this.getUnfilteredTimelineSet().getLiveTimeline()},g.prototype.getLastActiveTimestamp=function(){const e=this.getLiveTimeline().getEvents();if(e.length){return e[e.length-1].getTs()}return Number.MIN_SAFE_INTEGER},g.prototype.getMyMembership=function(){return this._selfMembership},g.prototype.getDMInviter=function(){if(this.myUserId){const e=this.getMember(this.myUserId);if(e)return e.getDMInviter()}if("invite"===this._selfMembership){if(2==this.getInvitedAndJoinedMemberCount()&&this._summaryHeroes.length)return this._summaryHeroes[0]}},g.prototype.guessDMUserId=function(){const e=this.getMember(this.myUserId);if(e){const t=e.getDMInviter();if(t)return t}if(Array.isArray(this._summaryHeroes)&&this._summaryHeroes.length)return this._summaryHeroes[0];const t=this.currentState.getMembers().find(e=>e.userId!==this.myUserId);return t?t.userId:this.myUserId},g.prototype.getAvatarFallbackMember=function(){if(this.getInvitedAndJoinedMemberCount()>2)return;const e=Array.isArray(this._summaryHeroes)&&this._summaryHeroes.length;if(e){const e=this._summaryHeroes.map(e=>this.getMember(e)).find(e=>!!e);if(e)return e}const t=this.currentState.getMembers();if(t.length<=2){const e=t.find(e=>e.userId!==this.myUserId);if(e)return e}if(e){const e=this._summaryHeroes.map(e=>this._client.getUser(e)).find(e=>!!e);if(e){const t=new u.RoomMember(this.roomId,e.userId);return t.user=e,t}}},g.prototype.updateMyMembership=function(e){const t=this._selfMembership;this._selfMembership=e,t!==e&&("leave"===e&&this._cleanupAfterLeaving(),this.emit("Room.myMembership",this,e,t))},g.prototype._loadMembersFromServer=async function(){const e=this._client.store.getSyncToken(),t=c.encodeParams({not_membership:"leave",at:e}),n=c.encodeUri("/rooms/$roomId/members?"+t,{$roomId:this.roomId}),r=this._client._http;return(await r.authedRequest(void 0,"GET",n)).chunk},g.prototype._loadMembers=async function(){let e=!1,t=await this._client.store.getOutOfBandMembers(this.roomId);return null===t&&(e=!0,t=await this._loadMembersFromServer(),d.logger.log(`LL: got ${t.length} `+`members from server for room ${this.roomId}`)),{memberEvents:t.map(this._client.getEventMapper()),fromServer:e}},g.prototype.loadMembersIfNeeded=function(){if(this._membersPromise)return this._membersPromise;this.currentState.markOutOfBandMembersStarted();const e=this._loadMembers().then(e=>(this.currentState.setOutOfBandMembers(e.memberEvents),this._client.isCryptoEnabled()&&this._client.isRoomEncrypted(this.roomId)&&this._client._crypto.trackRoomDevices(this.roomId),e.fromServer)).catch(e=>{throw this._membersPromise=null,this.currentState.markOutOfBandMembersFailed(),e});return e.then(e=>{if(e){const e=this.currentState.getMembers().filter(e=>e.isOutOfBand()).map(e=>e.events.member.event);return d.logger.log(`LL: telling store to write ${e.length}`+` members for room ${this.roomId}`),this._client.store.setOutOfBandMembers(this.roomId,e).catch(e=>{d.logger.log("LL: storing OOB room members failed, oh well",e)})}}).catch(e=>{d.logger.error(e)}),this._membersPromise=e,this._membersPromise},g.prototype.clearLoadedMembersIfNeeded=async function(){this._opts.lazyLoadMembers&&this._membersPromise&&(await this.loadMembersIfNeeded(),await this._client.store.clearOutOfBandMembers(this.roomId),this.currentState.clearOutOfBandMembers(),this._membersPromise=null)},g.prototype._cleanupAfterLeaving=function(){this.clearLoadedMembersIfNeeded().catch(e=>{d.logger.error("error after clearing loaded members from "+`room ${this.roomId} after leaving`),d.logger.log(e)})},g.prototype.resetLiveTimeline=function(e,t){for(let n=0;ne.isUnverified()))return!0}return!1},g.prototype.getTimelineSets=function(){return this._timelineSets},g.prototype.getUnfilteredTimelineSet=function(){return this._timelineSets[0]},g.prototype.getTimelineForEvent=function(e){return this.getUnfilteredTimelineSet().getTimelineForEvent(e)},g.prototype.addTimeline=function(){return this.getUnfilteredTimelineSet().addTimeline()},g.prototype.findEventById=function(e){return this.getUnfilteredTimelineSet().findEventById(e)},g.prototype.getUnreadNotificationCount=function(e){return e=e||"total",this._notificationCounts[e]},g.prototype.setUnreadNotificationCount=function(e,t){this._notificationCounts[e]=t},g.prototype.setSummary=function(e){const t=e["m.heroes"],n=e["m.joined_member_count"],r=e["m.invited_member_count"];Number.isInteger(n)&&this.currentState.setJoinedMemberCount(n),Number.isInteger(r)&&this.currentState.setInvitedMemberCount(r),Array.isArray(t)&&(this._summaryHeroes=t.filter(e=>e!==this.myUserId))},g.prototype.setBlacklistUnverifiedDevices=function(e){this._blacklistUnverifiedDevices=e},g.prototype.getBlacklistUnverifiedDevices=function(){return this._blacklistUnverifiedDevices},g.prototype.getAvatarUrl=function(e,t,n,r,i){const o=this.currentState.getStateEvents("m.room.avatar","");if(void 0===i&&(i=!0),!o&&!i)return null;const s=o?o.getContent().url:null;return s?(0,a.getHttpUriForMxc)(e,s,t,n,r):i?(0,a.getIdenticonUri)(e,this.roomId,t,n):null},g.prototype.getAliases=function(){const e=[],t=this.currentState.getStateEvents("m.room.aliases");if(t)for(let n=0;n"string"==typeof e&&("#"===e[0]&&!!e.endsWith(`:${r.getStateKey()}`)));Array.prototype.push.apply(e,t)}}return e},g.prototype.getCanonicalAlias=function(){const e=this.currentState.getStateEvents("m.room.canonical_alias","");return e?e.getContent().alias:null},g.prototype.addEventsToTimeline=function(e,t,n,r){n.getTimelineSet().addEventsToTimeline(e,t,n,r)},g.prototype.getMember=function(e){return this.currentState.getMember(e)},g.prototype.getJoinedMembers=function(){return this.getMembersWithMembership("join")},g.prototype.getJoinedMemberCount=function(){return this.currentState.getJoinedMemberCount()},g.prototype.getInvitedMemberCount=function(){return this.currentState.getInvitedMemberCount()},g.prototype.getInvitedAndJoinedMemberCount=function(){return this.getInvitedMemberCount()+this.getJoinedMemberCount()},g.prototype.getMembersWithMembership=function(e){return c.filter(this.currentState.getMembers(),(function(t){return t.membership===e}))},g.prototype.getEncryptionTargetMembers=async function(){await this.loadMembersIfNeeded();let e=this.getMembersWithMembership("join");return this.shouldEncryptForInvitedMembers()&&(e=e.concat(this.getMembersWithMembership("invite"))),e},g.prototype.shouldEncryptForInvitedMembers=function(){const e=this.currentState.getStateEvents("m.room.history_visibility","");return e&&e.getContent()&&"joined"!==e.getContent().history_visibility},g.prototype.getDefaultRoomName=function(e){return b(this,e,!0)},g.prototype.hasMembershipState=function(e,t){const n=this.getMember(e);return!!n&&n.membership===t},g.prototype.getOrCreateFilteredTimelineSet=function(e){if(this._filteredTimelineSets[e.filterId])return this._filteredTimelineSets[e.filterId];const t=Object.assign({filter:e},this._opts),n=new o.EventTimelineSet(this,t);this.reEmitter.reEmit(n,["Room.timeline","Room.timelineReset"]),this._filteredTimelineSets[e.filterId]=n,this._timelineSets.push(n);const r=this.getLiveTimeline();r.getEvents().forEach((function(e){n.addLiveEvent(e)}));let i=r;for(;i.getNeighbouringTimeline(s.EventTimeline.BACKWARDS);)i=i.getNeighbouringTimeline(s.EventTimeline.BACKWARDS);return n.getLiveTimeline().setPaginationToken(i.getPaginationToken(s.EventTimeline.BACKWARDS),s.EventTimeline.BACKWARDS),n},g.prototype.removeFilteredTimelineSet=function(e){const t=this._filteredTimelineSets[e.filterId];delete this._filteredTimelineSets[e.filterId];const n=this._timelineSets.indexOf(t);n>-1&&this._timelineSets.splice(n,1)},g.prototype._addLiveEvent=function(e,t){if(e.isRedaction()){const t=e.event.redacts,n=this.getUnfilteredTimelineSet().findEventById(t);if(n){if(n.makeRedacted(e),n.getStateKey()){this.currentState.getStateEvents(n.getType(),n.getStateKey()).getId()===n.getId()&&this.currentState.setStateEvents([n])}this.emit("Room.redaction",e,this)}}if(e.getUnsigned().transaction_id){const t=this._txnToEvent[e.getUnsigned().transaction_id];if(t)return void this._handleRemoteEcho(e,t)}for(let n=0;ne.status===f.EventStatus.NOT_SENT)&&(d.logger.warn("Setting event as NOT_SENT due to messages in the same state"),e.setStatus(f.EventStatus.NOT_SENT)),this._pendingEventList.push(e),e.isRelation()&&this._aggregateNonLiveRelation(e),e.isRedaction()){const t=e.event.redacts;let n=this._pendingEventList&&this._pendingEventList.find(e=>e.getId()===t);n||(n=this.getUnfilteredTimelineSet().findEventById(t)),n&&(n.markLocallyRedacted(e),this.emit("Room.redaction",e,this))}}else for(let t=0;t{const n=e.getMember(t);return n?n.name:t});else{let n=e.currentState.getMembers().filter(e=>e.userId!==t&&("invite"===e.membership||"join"===e.membership));n.sort((e,t)=>e.userId.localeCompare(t.userId)),n=n.slice(0,5),o=n.map(e=>e.name)}if(i)return _(o,i);if("join"==e.getMyMembership()){const t=e.currentState.getStateEvents("m.room.third_party_invite");if(t&&t.length){return`Inviting ${_(t.map(e=>e.getContent().display_name))}`}}let s=o;return s.length||(s=e.currentState.getMembers().filter(e=>e.userId!==t&&"invite"!==e.membership&&"join"!==e.membership).map(e=>e.name)),s.length?`Empty room (was ${_(s)})`:"Empty room"}function _(e,t=e.length+1){const n=t-1;if(e.length){if(1===e.length&&n<=1)return e[0];if(2===e.length&&n<=2)return`${e[0]} and ${e[1]}`;return n>1?`${e[0]} and ${n} others`:`${e[0]} and 1 other`}return"Empty room"}y[f.EventStatus.ENCRYPTING]=[f.EventStatus.SENDING,f.EventStatus.NOT_SENT],y[f.EventStatus.SENDING]=[f.EventStatus.ENCRYPTING,f.EventStatus.QUEUED,f.EventStatus.NOT_SENT,f.EventStatus.SENT],y[f.EventStatus.QUEUED]=[f.EventStatus.SENDING,f.EventStatus.CANCELLED],y[f.EventStatus.SENT]=[],y[f.EventStatus.NOT_SENT]=[f.EventStatus.SENDING,f.EventStatus.QUEUED,f.EventStatus.CANCELLED],y[f.EventStatus.CANCELLED]=[],g.prototype.updatePendingEvent=function(e,t,n){if(d.logger.log(`setting pendingEvent status to ${t} in ${e.getRoomId()}`),t==f.EventStatus.SENT&&!n)throw new Error("updatePendingEvent called with status=SENT, but no new event id");if(t==f.EventStatus.SENT){if(this.getUnfilteredTimelineSet().eventIdToTimeline(n))return}const r=e.status,i=e.getId();if(!r)throw new Error("updatePendingEventStatus called on an event which is not a local echo.");const o=y[r];if(!o||o.indexOf(t)<0)throw new Error("Invalid EventStatus transition "+r+"->"+t);if(e.setStatus(t),t==f.EventStatus.SENT){e.replaceLocalEventId(n);for(let e=0;ee.getId()===i);if(-1!==e){const[t]=this._pendingEventList.splice(e,1);t.isRedaction()&&this._revertRedactionLocalEcho(t)}}this.removeEvent(i)}this.emit("Room.localEchoUpdated",e,this,i,r)},g.prototype._revertRedactionLocalEcho=function(e){const t=e.event.redacts;if(!t)return;const n=this.getUnfilteredTimelineSet().findEventById(t);n&&(n.unmarkLocallyRedacted(),this.emit("Room.redactionCancelled",e,this),n.isRelation()&&this._aggregateNonLiveRelation(n))},g.prototype.addLiveEvents=function(e,t){let n;if(t&&-1===["replace","ignore"].indexOf(t))throw new Error("duplicateStrategy MUST be either 'replace' or 'ignore'");for(n=0;n=0;--e){const r=this.timeline[e];if(r.getId()===t)return!1;if(r.getId()===n)return!0}return!1},g.prototype.getReceiptsForEvent=function(e){return this._receiptCacheByEventId[e.getId()]||[]},g.prototype.addReceipt=function(e,t){void 0===t&&(t=!1),t||this._addReceiptsToStructure(e,this._realReceipts),this._addReceiptsToStructure(e,this._receipts),this._receiptCacheByEventId=this._buildReceiptCache(this._receipts),this.emit("Room.receipt",e,this)},g.prototype._addReceiptsToStructure=function(e,t){const n=this;c.keys(e.getContent()).forEach((function(r){c.keys(e.getContent()[r]).forEach((function(i){c.keys(e.getContent()[r][i]).forEach((function(o){const s=e.getContent()[r][i][o];t[i]||(t[i]={});const a=t[i][o];if(a){const e=n.getUnfilteredTimelineSet().compareEventOrdering(a.eventId,r);if(null!==e&&e>=0)return}else t[i][o]={};t[i][o]={eventId:r,data:s}}))}))}))},g.prototype._buildReceiptCache=function(e){const t={};return c.keys(e).forEach((function(n){c.keys(e[n]).forEach((function(r){const i=e[n][r];t[i.eventId]||(t[i.eventId]=[]),t[i.eventId].push({userId:r,type:n,data:i.data})}))})),t},g.prototype._addLocalEchoReceipt=function(e,t,n){this.addReceipt(m(e,t,n),!0)},g.prototype.addTags=function(e){this.tags=e.getContent().tags||{},this.emit("Room.tags",e,this)},g.prototype.addAccountData=function(e){for(let t=0;t{this.aggregateRelations(e)});const t=e.getRelation();if(!t)return;const n=t.event_id,r=t.rel_type,i=e.getType();let o=this._relations[n];o||(o=this._relations[n]={});let a=o[r];a||(a=o[r]={});let c,u=a[i],l=!1;u||(u=a[i]=new f.Relations(r,i,this.room),l=!0,c=this.findEventById(n),c&&u.setTargetEvent(c)),u.addEvent(e),l&&c&&c.emit("Event.relationsCreated",r,i)}},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.RoomState=c;var i=n(9),o=n(77),s=n(4),a=r(n(8));function c(e,t){this.roomId=e,this.members={},this.events={},this.paginationToken=null,this._sentinels={},this._updateModifiedTime(),this._displayNameToUserIds={},this._userIdsToDisplayNames={},this._tokenToInvite={},this._joinedMemberCount=null,this._summaryJoinedMemberCount=null,this._invitedMemberCount=null,this._summaryInvitedMemberCount=null,t||(t={status:1}),this._oobMemberFlags=t}function f(e,t,n){const r=e._userIdsToDisplayNames[t];if(delete e._userIdsToDisplayNames[t],r){const n=a.removeHiddenChars(r),i=e._displayNameToUserIds[n];if(i){const r=i.filter(e=>e!==t);e._displayNameToUserIds[n]=r}}e._userIdsToDisplayNames[t]=n;const i=n&&a.removeHiddenChars(n);i&&(e._displayNameToUserIds[i]||(e._displayNameToUserIds[i]=[]),e._displayNameToUserIds[i].push(t))}a.inherits(c,i.EventEmitter),c.prototype.getJoinedMemberCount=function(){return null!==this._summaryJoinedMemberCount?this._summaryJoinedMemberCount:(null===this._joinedMemberCount&&(this._joinedMemberCount=this.getMembers().reduce((e,t)=>"join"===t.membership?e+1:e,0)),this._joinedMemberCount)},c.prototype.setJoinedMemberCount=function(e){this._summaryJoinedMemberCount=e},c.prototype.getInvitedMemberCount=function(){return null!==this._summaryInvitedMemberCount?this._summaryInvitedMemberCount:(null===this._invitedMemberCount&&(this._invitedMemberCount=this.getMembers().reduce((e,t)=>"invite"===t.membership?e+1:e,0)),this._invitedMemberCount)},c.prototype.setInvitedMemberCount=function(e){this._summaryInvitedMemberCount=e},c.prototype.getMembers=function(){return a.values(this.members)},c.prototype.getMembersExcept=function(e){return a.values(this.members).filter(t=>!e.includes(t.userId))},c.prototype.getMember=function(e){return this.members[e]||null},c.prototype.getSentinelMember=function(e){if(!e)return null;let t=this._sentinels[e];if(void 0===t){t=new o.RoomMember(this.roomId,e);const n=this.members[e];n&&t.setMembershipEvent(n.events.member,this),this._sentinels[e]=t}return t},c.prototype.getStateEvents=function(e,t){if(!this.events[e])return void 0===t?[]:null;if(void 0===t)return a.values(this.events[e]);const n=this.events[e][t];return n||null},c.prototype.clone=function(){const e=new c(this.roomId,this._oobMemberFlags),t=this._oobMemberFlags.status;return this._oobMemberFlags.status=1,Object.values(this.events).forEach(t=>{const n=Object.values(t);e.setStateEvents(n)}),this._oobMemberFlags.status=t,null!==this._summaryInvitedMemberCount&&e.setInvitedMemberCount(this.getInvitedMemberCount()),null!==this._summaryJoinedMemberCount&&e.setJoinedMemberCount(this.getJoinedMemberCount()),3==this._oobMemberFlags.status&&this.getMembers().forEach(t=>{if(t.isOutOfBand()){e.getMember(t.userId).markOutOfBand()}}),e},c.prototype.setUnknownStateEvents=function(e){const t=e.filter(e=>void 0===this.events[e.getType()]||void 0===this.events[e.getType()][e.getStateKey()]);this.setStateEvents(t)},c.prototype.setStateEvents=function(e){const t=this;this._updateModifiedTime(),a.forEach(e,(function(e){e.getRoomId()===t.roomId&&e.isState()&&(t._setStateEvent(e),"m.room.member"===e.getType()&&(f(t,e.getStateKey(),e.getContent().displayname),function(e,t){if(!t.getContent().third_party_invite)return;const n=(t.getContent().third_party_invite.signed||{}).token;if(!n)return;if(!e.getStateEvents("m.room.third_party_invite",n))return;e._tokenToInvite[n]=t}(t,e)),t.emit("RoomState.events",e,t))})),a.forEach(e,(function(e){if(e.getRoomId()===t.roomId&&e.isState())if("m.room.member"===e.getType()){const n=e.getStateKey();"leave"!==e.getContent().membership&&"ban"!==e.getContent().membership||(e.getContent().avatar_url=e.getContent().avatar_url||e.getPrevContent().avatar_url,e.getContent().displayname=e.getContent().displayname||e.getPrevContent().displayname);const r=t._getOrCreateMember(n,e);r.setMembershipEvent(e,t),t._updateMember(r),t.emit("RoomState.members",e,t,r)}else if("m.room.power_levels"===e.getType()){const n=a.values(t.members);a.forEach(n,(function(n){n.setPowerLevelEvent(e),t.emit("RoomState.members",e,t,n)})),t._sentinels={}}}))},c.prototype._getOrCreateMember=function(e,t){let n=this.members[e];return n||(n=new o.RoomMember(this.roomId,e),this.members[e]=n,this.emit("RoomState.newMember",t,this,n)),n},c.prototype._setStateEvent=function(e){void 0===this.events[e.getType()]&&(this.events[e.getType()]={}),this.events[e.getType()][e.getStateKey()]=e},c.prototype._updateMember=function(e){const t=this.getStateEvents("m.room.power_levels","");t&&e.setPowerLevelEvent(t),delete this._sentinels[e.userId],this.members[e.userId]=e,this._joinedMemberCount=null,this._invitedMemberCount=null},c.prototype.needsOutOfBandMembers=function(){return 1===this._oobMemberFlags.status},c.prototype.markOutOfBandMembersStarted=function(){1===this._oobMemberFlags.status&&(this._oobMemberFlags.status=2)},c.prototype.markOutOfBandMembersFailed=function(){2===this._oobMemberFlags.status&&(this._oobMemberFlags.status=1)},c.prototype.clearOutOfBandMembers=function(){let e=0;Object.keys(this.members).forEach(t=>{this.members[t].isOutOfBand()&&(++e,delete this.members[t])}),s.logger.log(`LL: RoomState removed ${e} members...`),this._oobMemberFlags.status=1},c.prototype.setOutOfBandMembers=function(e){s.logger.log(`LL: RoomState about to set ${e.length} OOB members ...`),2===this._oobMemberFlags.status&&(s.logger.log("LL: RoomState put in OOB_STATUS_FINISHED state ..."),this._oobMemberFlags.status=3,e.forEach(e=>this._setOutOfBandMember(e)))},c.prototype._setOutOfBandMember=function(e){if("m.room.member"!==e.getType())return;const t=e.getStateKey(),n=this.getMember(t);if(n&&!n.isOutOfBand())return;const r=this._getOrCreateMember(t,e);r.setMembershipEvent(e,this),r.markOutOfBand(),f(this,r.userId,r.name),this._setStateEvent(e),this._updateMember(r),this.emit("RoomState.members",e,this,r)},c.prototype.setTypingEvent=function(e){a.forEach(a.values(this.members),(function(t){t.setTypingEvent(e)}))},c.prototype.getInviteForThreePidToken=function(e){return this._tokenToInvite[e]||null},c.prototype._updateModifiedTime=function(){this._modified=Date.now()},c.prototype.getLastModifiedTime=function(){return this._modified},c.prototype.getUserIdsWithDisplayName=function(e){return this._displayNameToUserIds[a.removeHiddenChars(e)]||[]},c.prototype.maySendRedactionForEvent=function(e,t){const n=this.getMember(t);if(!n||"leave"===n.membership)return!1;if(e.status||e.isRedacted())return!1;const r=this.maySendEvent("m.room.redaction",t);return e.getSender()===t?r:this._hasSufficientPowerLevelFor("redact",n.powerLevel)},c.prototype._hasSufficientPowerLevelFor=function(e,t){const n=this.getStateEvents("m.room.power_levels","");let r={};n&&(r=n.getContent());let i=50;return a.isNumber(r[e])&&(i=r[e]),t>=i},c.prototype.maySendMessage=function(e){return this._maySendEventOfType("m.room.message",e,!1)},c.prototype.maySendEvent=function(e,t){return this._maySendEventOfType(e,t,!1)},c.prototype.mayClientSendStateEvent=function(e,t){return!t.isGuest()&&this.maySendStateEvent(e,t.credentials.userId)},c.prototype.maySendStateEvent=function(e,t){return this._maySendEventOfType(e,t,!0)},c.prototype._maySendEventOfType=function(e,t,n){const r=this.getStateEvents("m.room.power_levels","");let i,o={},s=0,a=0,c=0;if(r){i=r.getContent(),o=i.events||{},s=Number.isFinite(i.state_default)?i.state_default:50;const e=i.users&&i.users[t];Number.isFinite(e)?c=e:Number.isFinite(i.users_default)&&(c=i.users_default),Number.isFinite(i.events_default)&&(a=i.events_default)}let f=n?s:a;return Number.isFinite(o[e])&&(f=o[e]),c>=f},c.prototype.mayTriggerNotifOfType=function(e,t){const n=this.getMember(t);if(!n)return!1;const r=this.getStateEvents("m.room.power_levels","");let i=50;return r&&r.getContent()&&r.getContent().notifications&&a.isNumber(r.getContent().notifications[e])&&(i=r.getContent().notifications[e]),n.powerLevel>=i}},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.Group=s;var i=r(n(8)),o=n(9);function s(e){this.groupId=e,this.name=null,this.avatarUrl=null,this.myMembership=null,this.inviter=null}i.inherits(s,o.EventEmitter),s.prototype.setProfile=function(e,t){this.name===e&&this.avatarUrl===t||(this.name=e||this.groupId,this.avatarUrl=t,this.emit("Group.profile",this))},s.prototype.setMyMembership=function(e){this.myMembership!==e&&(this.myMembership=e,this.emit("Group.myMembership",this))},s.prototype.setInviter=function(e){this.inviter=e}},function(e,t,n){"use strict";(function(e){var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.MatrixCall=a,t.setAudioOutput=function(e){T=e},t.setAudioInput=function(e){R=e},t.setVideoInput=function(e){O=e},t.createNewMatrixCall=function(t,n,r){const o=e.window,s=e.document;if(!o||!s)return null;const c={};c.isOpenWebRTC=function(){const e=s.getElementById("script");if(!e||!e.length)return!1;for(let t=0;t-1)return!0;return!1};const f=o.navigator.getUserMedia||o.navigator.webkitGetUserMedia||o.navigator.mozGetUserMedia;f&&(c.getUserMedia=function(){return f.apply(o.navigator,arguments)});try{c.RtcPeerConnection=o.RTCPeerConnection||o.webkitRTCPeerConnection||o.mozRTCPeerConnection,c.RtcSessionDescription=o.RTCSessionDescription||o.webkitRTCSessionDescription||o.mozRTCSessionDescription,c.RtcIceCandidate=o.RTCIceCandidate||o.webkitRTCIceCandidate||o.mozRTCIceCandidate,c.vendor=null,o.mozRTCPeerConnection?c.vendor="mozilla":o.webkitRTCPeerConnection?c.vendor="webkit":o.RTCPeerConnection&&(c.vendor="generic")}catch(e){return i.logger.error("Failed to set up WebRTC object: possible browser interference?"),i.logger.error(e),null}if(!(c.RtcIceCandidate&&c.RtcSessionDescription&&c.RtcPeerConnection&&c.getUserMedia))return null;const u=!!r&&r.forceTURN;return new a({webRtc:c,client:t,URL:o.URL,roomId:n,turnServers:t.getTurnServers(),forceTURN:t._forceTURN||u})};var i=n(4),o=n(9),s=r(n(8));function a(e){this.roomId=e.roomId,this.client=e.client,this.webRtc=e.webRtc,this.forceTURN=e.forceTURN,this.URL=e.URL,this.turnServers=e.turnServers||[],0===this.turnServers.length&&this.client.isFallbackICEServerAllowed()&&this.turnServers.push({urls:[a.FALLBACK_ICE_SERVER]}),s.forEach(this.turnServers,(function(e){s.checkObjectHasKeys(e,["urls"])})),this.callId="c"+(new Date).getTime()+Math.random(),this.state="fledgling",this.didConnect=!1,this.candidateSendQueue=[],this.candidateSendTries=0,this.mediaPromises=Object.create(null),this.screenSharingStream=null,this._answerContent=null}a.CALL_TIMEOUT_MS=6e4,a.FALLBACK_ICE_SERVER="stun:turn.matrix.org",a.ERR_LOCAL_OFFER_FAILED="local_offer_failed",a.ERR_NO_USER_MEDIA="no_user_media",a.ERR_UNKNOWN_DEVICES="unknown_devices",a.ERR_SEND_INVITE="send_invite",a.ERR_SEND_ANSWER="send_answer",s.inherits(a,o.EventEmitter),a.prototype.placeVoiceCall=function(){_("placeVoiceCall"),y(this),A(this,k("voice")),this.type="voice"},a.prototype.placeVideoCall=function(e,t){_("placeVideoCall"),y(this),this.localVideoElement=t,this.remoteVideoElement=e,A(this,k("video")),this.type="video",m(this)},a.prototype.placeScreenSharingCall=function(e,t){_("placeScreenSharingCall"),y(this);const n=E(this);if(!n)return;this.localVideoElement=t,this.remoteVideoElement=e;const r=this;this.webRtc.getUserMedia(n,(function(e){r.screenSharingStream=e,_("Got screen stream, requesting audio stream...");const t=k("voice");A(r,t)}),(function(e){r.emit("error",b(a.ERR_NO_USER_MEDIA,"Failed to get screen-sharing stream: "+e))})),this.type="video",m(this)},a.prototype.playElement=function(e,t){i.logger.log("queuing play on "+t+" and element "+e),this.mediaPromises[t]?this.mediaPromises[t]=this.mediaPromises[t].then((function(){return i.logger.log("previous promise completed for "+t),e.play()}),(function(){return i.logger.log("previous promise failed for "+t),e.play()})):this.mediaPromises[t]=e.play()},a.prototype.pauseElement=function(e,t){i.logger.log("queuing pause on "+t+" and element "+e),this.mediaPromises[t]?this.mediaPromises[t]=this.mediaPromises[t].then((function(){return i.logger.log("previous promise completed for "+t),e.pause()}),(function(){return i.logger.log("previous promise failed for "+t),e.pause()})):this.mediaPromises[t]=e.pause()},a.prototype.assignElement=function(e,t,n){i.logger.log("queuing assign on "+n+" element "+e+" for "+t),this.mediaPromises[n]?this.mediaPromises[n]=this.mediaPromises[n].then((function(){i.logger.log("previous promise completed for "+n),e.srcObject=t}),(function(){i.logger.log("previous promise failed for "+n),e.srcObject=t})):e.srcObject=t},a.prototype.getLocalVideoElement=function(){return this.localVideoElement},a.prototype.getRemoteVideoElement=function(){return this.remoteVideoElement},a.prototype.getRemoteAudioElement=function(){return this.remoteAudioElement},a.prototype.setLocalVideoElement=function(e){if(this.localVideoElement=e,e&&this.localAVStream&&"video"===this.type){e.autoplay=!0,this.assignElement(e,this.localAVStream,"localVideo"),e.muted=!0;const t=this;setTimeout((function(){const e=t.getLocalVideoElement();e.play&&t.playElement(e,"localVideo")}),0)}},a.prototype.setRemoteVideoElement=function(e){this.remoteVideoElement=e,m(this)},a.prototype.setRemoteAudioElement=function(e){this.remoteVideoElement.muted=!0,this.remoteAudioElement=e,this.remoteAudioElement.muted=!1,g(this)},a.prototype._initWithInvite=function(e){this.msg=e.getContent(),this.peerConn=w(this);const t=this;this.peerConn&&this.peerConn.setRemoteDescription(new this.webRtc.RtcSessionDescription(this.msg.offer),S(t,t._onSetRemoteDescriptionSuccess),S(t,t._onSetRemoteDescriptionError)),u(this,"ringing"),this.direction="inbound",this.msg.offer&&this.msg.offer.sdp&&this.msg.offer.sdp.indexOf("m=video")>-1?this.type="video":this.type="voice",e.getAge()&&setTimeout((function(){"ringing"==t.state&&(_("Call invite has expired. Hanging up."),t.hangupParty="remote",u(t,"ended"),p(t),"closed"!=t.peerConn.signalingState&&t.peerConn.close(),t.emit("hangup",t))}),this.msg.lifetime-e.getAge())},a.prototype._initWithHangup=function(e){this.msg=e.getContent(),u(this,"ended")},a.prototype.answer=function(){_("Answering call %s of type %s",this.callId,this.type);const e=this;e._answerContent?e._sendAnswer():this.localAVStream||this.waitForLocalAVStream?this.localAVStream?this._maybeGotUserMediaForAnswer(this.localAVStream):this.waitForLocalAVStream&&u(this,"wait_local_media"):(this.webRtc.getUserMedia(k(this.type),S(e,e._maybeGotUserMediaForAnswer),S(e,e._maybeGotUserMediaForAnswer)),u(this,"wait_local_media"))},a.prototype._replacedBy=function(e){_(this.callId+" being replaced by "+e.callId),"wait_local_media"==this.state?(_("Telling new call to wait for local media"),e.waitForLocalAVStream=!0):"create_offer"==this.state?(_("Handing local stream to new call"),e._maybeGotUserMediaForAnswer(this.localAVStream),delete this.localAVStream):"invite_sent"==this.state&&(_("Handing local stream to new call"),e._maybeGotUserMediaForAnswer(this.localAVStream),delete this.localAVStream),e.localVideoElement=this.localVideoElement,e.remoteVideoElement=this.remoteVideoElement,e.remoteAudioElement=this.remoteAudioElement,this.successor=e,this.emit("replaced",e),this.hangup(!0)},a.prototype.hangup=function(e,t){if("ended"==this.state)return;_("Ending call "+this.callId),h(this,"local",e,!t);const n={version:0,call_id:this.callId,reason:e};l(this,"m.call.hangup",n)},a.prototype.setLocalVideoMuted=function(e){this.localAVStream&&c(this.localAVStream.getVideoTracks(),!e)},a.prototype.isLocalVideoMuted=function(){return!!this.localAVStream&&!f(this.localAVStream.getVideoTracks())},a.prototype.setMicrophoneMuted=function(e){this.localAVStream&&c(this.localAVStream.getAudioTracks(),!e)},a.prototype.isMicrophoneMuted=function(){return!!this.localAVStream&&!f(this.localAVStream.getAudioTracks())},a.prototype._maybeGotUserMediaForInvite=function(e){if(this.successor)return void this.successor._maybeGotUserMediaForAnswer(e);if("ended"==this.state)return;_("_maybeGotUserMediaForInvite -> "+this.type);const t=this,n=e,r={mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:"video"===t.type}};if(e instanceof MediaStream){const n=this.getLocalVideoElement();n&&"video"==this.type&&(n.autoplay=!0,this.screenSharingStream?(_("Setting screen sharing stream to the local video element"),this.assignElement(n,this.screenSharingStream,"localVideo")):this.assignElement(n,e,"localVideo"),n.muted=!0,setTimeout((function(){const e=t.getLocalVideoElement();e.play&&t.playElement(e,"localVideo")}),0)),this.screenSharingStream&&(this.screenSharingStream.addTrack(e.getAudioTracks()[0]),e=this.screenSharingStream),this.localAVStream=e,c(e.getAudioTracks(),!0),this.peerConn=w(this),this.peerConn.addStream(e)}else{if("PermissionDeniedError"!==n.name)return _("Failed to getUserMedia: "+n.name),void this._getUserMediaFailed(n);_("User denied access to camera/microphone. Or possibly you are using an insecure domain. Receiving only."),this.peerConn=w(this)}this.peerConn.createOffer(S(t,t._gotLocalOffer),S(t,t._getLocalOfferFailed),r),u(t,"create_offer")},a.prototype._sendAnswer=function(e){l(this,"m.call.answer",this._answerContent).then(()=>{u(this,"connecting"),v(this)}).catch(e=>{u(this,"ringing"),this.client.cancelPendingEvent(e.event);let t=a.ERR_SEND_ANSWER,n="Failed to send answer";throw"UnknownDeviceError"==e.name&&(t=a.ERR_UNKNOWN_DEVICES,n="Unknown devices present in the room"),this.emit("error",b(t,n)),e})},a.prototype._maybeGotUserMediaForAnswer=function(e){const t=this;if("ended"==t.state)return;const n=e;if(e instanceof MediaStream){const n=t.getLocalVideoElement();n&&"video"==t.type&&(n.autoplay=!0,this.assignElement(n,e,"localVideo"),n.muted=!0,setTimeout((function(){const e=t.getLocalVideoElement();e.play&&t.playElement(e,"localVideo")}),0)),t.localAVStream=e,c(e.getAudioTracks(),!0),t.peerConn.addStream(e)}else{if("PermissionDeniedError"!==n.name)return _("Failed to getUserMedia: "+n.name),void this._getUserMediaFailed(n);_("User denied access to camera/microphone. Or possibly you are using an insecure domain. Receiving only.")}const r={mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:"video"===t.type}};t.peerConn.createAnswer((function(e){_("Created answer: ",e),t.peerConn.setLocalDescription(e,(function(){t._answerContent={version:0,call_id:t.callId,answer:{sdp:t.peerConn.localDescription.sdp,type:t.peerConn.localDescription.type}},t._sendAnswer()}),(function(){_("Error setting local description!")}),r)}),(function(e){_("Failed to create answer: "+e)})),u(t,"create_answer")},a.prototype._gotLocalIceCandidate=function(e){if(e.candidate){if(_("Got local ICE "+e.candidate.sdpMid+" candidate: "+e.candidate.candidate),"ended"==this.state)return;const t={candidate:e.candidate.candidate,sdpMid:e.candidate.sdpMid,sdpMLineIndex:e.candidate.sdpMLineIndex};d(this,t)}},a.prototype._gotRemoteIceCandidate=function(e){"ended"!=this.state&&(_("Got remote ICE "+e.sdpMid+" candidate: "+e.candidate),this.peerConn.addIceCandidate(new this.webRtc.RtcIceCandidate(e),(function(){}),(function(e){})))},a.prototype._receivedAnswer=function(e){if("ended"==this.state)return;this.peerConn.setRemoteDescription(new this.webRtc.RtcSessionDescription(e.answer),S(this,this._onSetRemoteDescriptionSuccess),S(this,this._onSetRemoteDescriptionError)),u(this,"connecting")},a.prototype._gotLocalOffer=function(e){const t=this;_("Created offer: ",e),"ended"!=t.state?t.peerConn.setLocalDescription(e,(function(){const e={version:0,call_id:t.callId,offer:{sdp:t.peerConn.localDescription.sdp,type:t.peerConn.localDescription.type},lifetime:a.CALL_TIMEOUT_MS};l(t,"m.call.invite",e).then(()=>{u(t,"invite_sent"),setTimeout((function(){"invite_sent"==t.state&&t.hangup("invite_timeout")}),a.CALL_TIMEOUT_MS)}).catch(e=>{let n=a.ERR_SEND_INVITE,r="Failed to send invite";throw"UnknownDeviceError"==e.name&&(n=a.ERR_UNKNOWN_DEVICES,r="Unknown devices present in the room"),t.client.cancelPendingEvent(e.event),h(t,"local",n,!1),t.emit("error",b(n,r)),e})}),(function(){_("Error setting local description!")})):_("Ignoring newly created offer on call ID "+t.callId+" because the call has ended")},a.prototype._getLocalOfferFailed=function(e){this.emit("error",b(a.ERR_LOCAL_OFFER_FAILED,"Failed to start audio for call!"))},a.prototype._getUserMediaFailed=function(e){h(this,"local","user_media_failed",!1),this.emit("error",b(a.ERR_NO_USER_MEDIA,"Couldn't start capturing media! Is your microphone set up and does this app have permission?"))},a.prototype._onIceConnectionStateChanged=function(){"ended"!=this.state&&(_("Ice connection state changed to: "+this.peerConn.iceConnectionState),"completed"==this.peerConn.iceConnectionState||"connected"==this.peerConn.iceConnectionState?(u(this,"connected"),this.didConnect=!0):"failed"==this.peerConn.iceConnectionState&&this.hangup("ice_failed"))},a.prototype._onSignallingStateChanged=function(){_("call "+this.callId+": Signalling state changed to: "+this.peerConn.signalingState)},a.prototype._onSetRemoteDescriptionSuccess=function(){_("Set remote description")},a.prototype._onSetRemoteDescriptionError=function(e){_("Failed to set remote description"+e)},a.prototype._onAddStream=function(e){_("Stream id "+e.stream.id+" added");const t=e.stream;t.getVideoTracks().length>0?(this.type="video",this.remoteAVStream=t,this.remoteAStream=t):(this.type="voice",this.remoteAStream=t);const n=this;I(t,(function(e){_("Track id "+e.id+" added"),e.onstarted=S(n,n._onRemoteStreamTrackStarted)})),void 0!==e.stream.oninactive?e.stream.oninactive=S(n,n._onRemoteStreamEnded):e.stream.onended=S(n,n._onRemoteStreamEnded),e.stream.onstarted=S(n,n._onRemoteStreamStarted),"video"===this.type?(m(this),g(this)):g(this)},a.prototype._onRemoteStreamStarted=function(e){u(this,"connected")},a.prototype._onRemoteStreamEnded=function(e){_("Remote stream ended"),this.hangupParty="remote",u(this,"ended"),p(this),"closed"!=this.peerConn.signalingState&&this.peerConn.close(),this.emit("hangup",this)},a.prototype._onRemoteStreamTrackStarted=function(e){u(this,"connected")},a.prototype._onHangupReceived=function(e){_("Hangup received"),h(this,"remote",e.reason,!0)},a.prototype._onAnsweredElsewhere=function(e){_("Answered elsewhere"),h(this,"remote","answered_elsewhere",!0)};const c=function(e,t){for(let n=0;n5)return _("Failed to send candidates on attempt %s. Giving up for now.",e.candidateSendTries),void(e.candidateSendTries=0);const r=500*Math.pow(2,e.candidateSendTries);++e.candidateSendTries,_("Failed to send candidates. Retrying in "+r+"ms"),setTimeout((function(){v(e)}),r)}))},A=function(e,t){e.client.callList[e.callId]=e,e.webRtc.getUserMedia(t,S(e,e._maybeGotUserMediaForInvite),S(e,e._maybeGotUserMediaForInvite)),u(e,"wait_local_media"),e.direction="outbound",e.config=t},w=function(e){const t=new e.webRtc.RtcPeerConnection({iceTransportPolicy:e.forceTURN?"relay":void 0,iceServers:e.turnServers});return t.oniceconnectionstatechange=S(e,e._onIceConnectionStateChanged),t.onsignalingstatechange=S(e,e._onSignallingStateChanged),t.onicecandidate=S(e,e._gotLocalIceCandidate),t.onaddstream=S(e,e._onAddStream),t},E=function(t){const n=e.screen;if(n)return{video:{mediaSource:"screen",mandatory:{chromeMediaSource:"screen",chromeMediaSourceId:""+Date.now(),maxWidth:n.width,maxHeight:n.height,minFrameRate:1,maxFrameRate:10}}};t.emit("error",b(a.ERR_NO_USER_MEDIA,"Couldn't determine screen sharing constaints."))},k=function(t){const n=!!e.window.navigator.webkitGetUserMedia;switch(t){case"voice":return{audio:{deviceId:R?{ideal:R}:void 0},video:!1};case"video":return{audio:{deviceId:R?{ideal:R}:void 0},video:{deviceId:O?{ideal:O}:void 0,width:n?{exact:640}:{ideal:640},height:n?{exact:360}:{ideal:360}}}}},S=function(e,t){return function(){return t.apply(e,arguments)}},I=function(e,t){!function(e,t){const n=e.getVideoTracks();for(let e=0;e{let i=!0;const o=e.open(t);o.onupgradeneeded=()=>{i=!1},o.onblocked=()=>r(),o.onsuccess=()=>{o.result.close(),i||e.deleteDatabase(t),n(i)},o.onerror=e=>r(e.target.error)})}},function(e,t,n){"use strict";(function(e){var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.OlmDevice=c,t.WITHHELD_MESSAGES=void 0;var i=n(4),o=n(36),s=r(n(138));function a(e){if(void 0===e)throw new Error("payloadString undefined");if(e.length>49152)throw new Error("Message too long ("+e.length+" bytes). The maximum for an encrypted message is 49152 bytes.")}function c(e){this._cryptoStore=e,this._pickleKey="DEFAULT_KEY",this.deviceCurve25519Key=null,this.deviceEd25519Key=null,this._maxOneTimeKeys=null,this._outboundGroupSessionStore={},this._inboundGroupSessionMessageIndexes={},this._sessionsInProgress={}}c.prototype.init=async function(){let t;const n=new e.Olm.Account;try{await async function(e,t,n){await e.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT],r=>{e.getAccount(r,i=>{null!==i?n.unpickle(t,i):(n.create(),i=n.pickle(t),e.storeAccount(r,i))})})}(this._cryptoStore,this._pickleKey,n),t=JSON.parse(n.identity_keys()),this._maxOneTimeKeys=n.max_number_of_one_time_keys()}finally{n.free()}this.deviceCurve25519Key=t.curve25519,this.deviceEd25519Key=t.ed25519},c.getOlmVersion=function(){return e.Olm.get_library_version()},c.prototype._getAccount=function(t,n){this._cryptoStore.getAccount(t,t=>{const r=new e.Olm.Account;try{r.unpickle(this._pickleKey,t),n(r)}finally{r.free()}})},c.prototype._storeAccount=function(e,t){this._cryptoStore.storeAccount(e,t.pickle(this._pickleKey))},c.prototype._getSession=function(e,t,n,r){this._cryptoStore.getEndToEndSession(e,t,n,e=>{this._unpickleSession(e,r)})},c.prototype._unpickleSession=function(t,n){const r=new e.Olm.Session;try{r.unpickle(this._pickleKey,t.session),n(Object.assign({},t,{session:r}))}finally{r.free()}},c.prototype._saveSession=function(e,t,n){const r=t.session.session_id(),i=Object.assign(t,{session:t.session.pickle(this._pickleKey)});this._cryptoStore.storeEndToEndSession(e,r,i,n)},c.prototype._getUtility=function(t){const n=new e.Olm.Utility;try{return t(n)}finally{n.free()}},c.prototype.sign=async function(e){let t;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_ACCOUNT],n=>{this._getAccount(n,n=>{t=n.sign(e)})}),t},c.prototype.getOneTimeKeys=async function(){let e;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_ACCOUNT],t=>{this._getAccount(t,t=>{e=JSON.parse(t.one_time_keys())})}),e},c.prototype.maxNumberOfOneTimeKeys=function(){return this._maxOneTimeKeys},c.prototype.markKeysAsPublished=async function(){await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this._getAccount(e,t=>{t.mark_keys_as_published(),this._storeAccount(e,t)})})},c.prototype.generateOneTimeKeys=function(e){return this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT],t=>{this._getAccount(t,n=>{n.generate_one_time_keys(e),this._storeAccount(t,n)})})},c.prototype.createOutboundSession=async function(t,n){let r;return await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT,o.IndexedDBCryptoStore.STORE_SESSIONS],i=>{this._getAccount(i,o=>{const s=new e.Olm.Session;try{s.create_outbound(o,t,n),r=s.session_id(),this._storeAccount(i,o);const e={session:s,lastReceivedMessageTs:Date.now()};this._saveSession(t,e,i)}finally{s.free()}})}),r},c.prototype.createInboundSession=async function(t,n,r){if(0!==n)throw new Error("Need messageType == 0 to create inbound session");let i;return await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT,o.IndexedDBCryptoStore.STORE_SESSIONS],o=>{this._getAccount(o,s=>{const a=new e.Olm.Session;try{a.create_inbound_from(s,t,r),s.remove_one_time_keys(a),this._storeAccount(o,s);const e=a.decrypt(n,r),c={session:a,lastReceivedMessageTs:Date.now()};this._saveSession(t,c,o),i={payload:e,session_id:a.session_id()}}finally{a.free()}})}),i},c.prototype.getSessionIdsForDevice=async function(e){if(this._sessionsInProgress[e]){i.logger.log("waiting for olm session to be created");try{await this._sessionsInProgress[e]}catch(e){}}let t;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_SESSIONS],n=>{this._cryptoStore.getEndToEndSessions(e,n,e=>{t=Object.keys(e)})}),t},c.prototype.getSessionIdForDevice=async function(e,t){const n=await this.getSessionInfoForDevice(e,t);if(0===n.length)return null;let r=0;for(let e=1;es||i===s&&t.sessionId{this._cryptoStore.getEndToEndSessions(e,t,e=>{const t=Object.keys(e).sort();for(const r of t)this._unpickleSession(e[r],e=>{n.push({lastReceivedMessageTs:e.lastReceivedMessageTs,hasReceivedMessage:e.session.has_received_message(),sessionId:r})})})}),n},c.prototype.encryptMessage=async function(e,t,n){let r;return a(n),await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_SESSIONS],o=>{this._getSession(e,t,o,s=>{const a=s.session.describe();i.logger.log("encryptMessage: Olm Session ID "+t+" to "+e+": "+a),r=s.session.encrypt(n),this._saveSession(e,s,o)})}),r},c.prototype.decryptMessage=async function(e,t,n,r){let s;return await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_SESSIONS],o=>{this._getSession(e,t,o,a=>{const c=a.session.describe();i.logger.log("decryptMessage: Olm Session ID "+t+" from "+e+": "+c),s=a.session.decrypt(n,r),a.lastReceivedMessageTs=Date.now(),this._saveSession(e,a,o)})}),s},c.prototype.matchesSession=async function(e,t,n,r){if(0!==n)return!1;let i;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_SESSIONS],n=>{this._getSession(e,t,n,e=>{i=e.session.matches_inbound(r)})}),i},c.prototype.recordSessionProblem=async function(e,t,n){await this._cryptoStore.storeEndToEndSessionProblem(e,t,n)},c.prototype.sessionMayHaveProblems=async function(e,t){return await this._cryptoStore.getEndToEndSessionProblem(e,t)},c.prototype.filterOutNotifiedErrorDevices=async function(e){return await this._cryptoStore.filterOutNotifiedErrorDevices(e)},c.prototype._saveOutboundGroupSession=function(e){const t=e.pickle(this._pickleKey);this._outboundGroupSessionStore[e.session_id()]=t},c.prototype._getOutboundGroupSession=function(t,n){const r=this._outboundGroupSessionStore[t];if(void 0===r)throw new Error("Unknown outbound group session "+t);const i=new e.Olm.OutboundGroupSession;try{return i.unpickle(this._pickleKey,r),n(i)}finally{i.free()}},c.prototype.createOutboundGroupSession=function(){const t=new e.Olm.OutboundGroupSession;try{return t.create(),this._saveOutboundGroupSession(t),t.session_id()}finally{t.free()}},c.prototype.encryptGroupMessage=function(e,t){const n=this;return i.logger.log(`encrypting msg with megolm session ${e}`),a(t),this._getOutboundGroupSession(e,(function(e){const r=e.encrypt(t);return n._saveOutboundGroupSession(e),r}))},c.prototype.getOutboundGroupSessionKey=function(e){return this._getOutboundGroupSession(e,(function(e){return{chain_index:e.message_index(),key:e.session_key()}}))},c.prototype._unpickleInboundGroupSession=function(t,n){const r=new e.Olm.InboundGroupSession;try{return r.unpickle(this._pickleKey,t.session),n(r)}finally{r.free()}},c.prototype._getInboundGroupSession=function(e,t,n,r,i){this._cryptoStore.getEndToEndInboundGroupSession(t,n,r,(t,n)=>{if(null!==t){if(null!==e&&e!==t.room_id)throw new Error("Mismatched room_id for inbound group session (expected "+t.room_id+", was "+e+")");this._unpickleInboundGroupSession(t,e=>{i(e,t,n)})}else i(null,null,n)})},c.prototype.addInboundGroupSession=async function(t,n,r,s,a,c,f){await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._getInboundGroupSession(t,n,s,o,(u,l)=>{const d=new e.Olm.InboundGroupSession;try{if(f?d.import_session(a):d.create(a),s!=d.session_id())throw new Error("Mismatched group session ID from senderKey: "+n);if(u&&(i.logger.log("Update for megolm session "+n+"/"+s),u.first_known_index()<=d.first_known_index()))return void i.logger.log(`Keeping existing megolm session ${s}`);const e={room_id:t,session:d.pickle(this._pickleKey),keysClaimed:c,forwardingCurve25519KeyChain:r};this._cryptoStore.storeEndToEndInboundGroupSession(n,s,e,o)}finally{d.free()}})})},c.prototype.addInboundGroupSessionWithheld=async function(e,t,n,r,i){await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._cryptoStore.storeEndToEndInboundGroupSessionWithheld(t,n,{room_id:e,code:r,reason:i},o)})};const f={"m.unverified":"The sender has disabled encrypting to unverified devices.","m.blacklisted":"The sender has blocked you.","m.unauthorised":"You are not authorised to read the message.","m.no_olm":"Unable to establish a secure channel."};function u(e){return e.code&&e.code in f?f[e.code]:e.reason?e.reason:"decryption key withheld"}t.WITHHELD_MESSAGES=f,c.prototype.decryptGroupMessage=async function(e,t,n,r,i,a){let c,f;if(await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._getInboundGroupSession(e,t,n,o,(e,l,d)=>{if(null===e)return d&&(f=new s.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",u(d),{session:t+"|"+n})),void(c=null);let h;try{h=e.decrypt(r)}catch(e){return void(f=e&&"OLM.UNKNOWN_MESSAGE_INDEX"===e.message&&d?new s.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",u(d),{session:t+"|"+n}):e)}let p=h.plaintext;if(void 0===p)p=h;else{const e=t+"|"+n+"|"+h.message_index;if(e in this._inboundGroupSessionMessageIndexes){const t=this._inboundGroupSessionMessageIndexes[e];if(t.id!==i||t.timestamp!==a)return void(f=new Error("Duplicate message index, possible replay attack: "+e))}this._inboundGroupSessionMessageIndexes[e]={id:i,timestamp:a}}l.session=e.pickle(this._pickleKey),this._cryptoStore.storeEndToEndInboundGroupSession(t,n,l,o),c={result:p,keysClaimed:l.keysClaimed||{},senderKey:t,forwardingCurve25519KeyChain:l.forwardingCurve25519KeyChain||[]}})}),f)throw f;return c},c.prototype.hasInboundSessionKeys=async function(e,t,n){let r;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._cryptoStore.getEndToEndInboundGroupSession(t,n,o,o=>{null!==o?e!==o.room_id?(i.logger.warn(`requested keys for inbound group session ${t}|`+`${n}, with incorrect room_id `+`(expected ${o.room_id}, `+`was ${e})`),r=!1):r=!0:r=!1})}),r},c.prototype.getInboundGroupSessionKey=async function(e,t,n,r){let i;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._getInboundGroupSession(e,t,n,o,(e,t)=>{if(null===e)return void(i=null);void 0===r&&(r=e.first_known_index());const n=e.export_session(r),o=(t.keysClaimed||{}).ed25519||null;i={chain_index:r,key:n,forwarding_curve25519_key_chain:t.forwardingCurve25519KeyChain||[],sender_claimed_ed25519_key:o}})}),i},c.prototype.exportInboundGroupSession=function(e,t,n){return this._unpickleInboundGroupSession(n,r=>{const i=r.first_known_index();return{sender_key:e,sender_claimed_keys:n.keysClaimed,room_id:n.room_id,session_id:t,session_key:r.export_session(i),forwarding_curve25519_key_chain:r.forwardingCurve25519KeyChain||[],first_known_index:r.first_known_index()}})},c.prototype.verifySignature=function(e,t,n){this._getUtility((function(r){r.ed25519_verify(e,t,n)}))}}).call(this,n(5))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(289),n(290);var r=n(81);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}})}))},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.DeviceTrustLevel=t.UserTrustLevel=t.CrossSigningLevel=t.CrossSigningInfo=void 0;var r=n(21),i=n(9),o=n(4);function s(e){return Object.values(e.keys)[0]}class a extends i.EventEmitter{constructor(e,t){super(),Object.defineProperty(this,"userId",{enumerable:!0,value:e}),this._callbacks=t||{},this.keys={},this.firstUse=!0}async getCrossSigningKey(t,n){if(!this._callbacks.getCrossSigningKey)throw new Error("No getCrossSigningKey callback supplied");void 0===n&&(n=this.getId(t));const r=await this._callbacks.getCrossSigningKey(t,n);if(!r)throw new Error("getCrossSigningKey callback for "+t+" returned falsey");const i=new e.Olm.PkSigning,o=i.init_with_seed(r);if(o!==n)throw i.free(),new Error("Key type "+t+" from getCrossSigningKey callback did not match");return[o,i]}static fromStorage(e,t){const n=new a(t);for(const t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}toStorage(){return{keys:this.keys,firstUse:this.firstUse}}async isStoredInSecretStorage(e){let t=!0;for(const n of["master","self_signing","user_signing"])t&=await e.isStored(`m.cross_signing.${n}`,!1);return t}static async storeInSecretStorage(e,t){for(const n of Object.keys(e)){const i=(0,r.encodeBase64)(e[n]);await t.store(`m.cross_signing.${n}`,i)}}static async getFromSecretStorage(e,t){const n=await t.get(`m.cross_signing.${e}`);return(0,r.decodeBase64)(n)}getId(e){if(e=e||"master",!this.keys[e])return null;return s(this.keys[e])}async resetKeys(t){if(!this._callbacks.saveCrossSigningKeys)throw new Error("No saveCrossSigningKeys callback supplied");if(void 0===t||t&c.MASTER||!this.keys.master)t=c.MASTER|c.USER_SIGNING|c.SELF_SIGNING;else if(0===t)return;const n={},i={};let o,s;try{if(t&c.MASTER?(o=new e.Olm.PkSigning,n.master=o.generate_seed(),s=o.init_with_seed(n.master),i.master={user_id:this.userId,usage:["master"],keys:{["ed25519:"+s]:s}}):[s,o]=await this.getCrossSigningKey("master"),t&c.SELF_SIGNING){const t=new e.Olm.PkSigning;try{n.self_signing=t.generate_seed();const e=t.init_with_seed(n.self_signing);i.self_signing={user_id:this.userId,usage:["self_signing"],keys:{["ed25519:"+e]:e}},(0,r.pkSign)(i.self_signing,o,this.userId,s)}finally{t.free()}}if(t&c.USER_SIGNING){const t=new e.Olm.PkSigning;try{n.user_signing=t.generate_seed();const e=t.init_with_seed(n.user_signing);i.user_signing={user_id:this.userId,usage:["user_signing"],keys:{["ed25519:"+e]:e}},(0,r.pkSign)(i.user_signing,o,this.userId,s)}finally{t.free()}}Object.assign(this.keys,i),this._callbacks.saveCrossSigningKeys(n)}finally{o&&o.free()}}setKeys(e){const t={};if(e.master){if(e.master.user_id!==this.userId){const t="Mismatched user ID "+e.master.user_id+" in master key from "+this.userId;throw o.logger.error(t),new Error(t)}this.keys.master?s(e.master)!==this.getId()&&(this.firstUse=!1):this.firstUse=!0,t.master=e.master}else{if(!this.keys.master)throw new Error("Tried to set cross-signing keys without a master key");t.master=this.keys.master}const n=s(t.master);if(e.user_signing){if(e.user_signing.user_id!==this.userId){const t="Mismatched user ID "+e.master.user_id+" in user_signing key from "+this.userId;throw o.logger.error(t),new Error(t)}try{(0,r.pkVerify)(e.user_signing,n,this.userId)}catch(e){throw o.logger.error("invalid signature on user-signing key"),e}}if(e.self_signing){if(e.self_signing.user_id!==this.userId){const t="Mismatched user ID "+e.master.user_id+" in self_signing key from "+this.userId;throw o.logger.error(t),new Error(t)}try{(0,r.pkVerify)(e.self_signing,n,this.userId)}catch(e){throw o.logger.error("invalid signature on self-signing key"),e}}e.master&&(this.keys.master=e.master,this.keys.self_signing=null,this.keys.user_signing=null),e.self_signing&&(this.keys.self_signing=e.self_signing),e.user_signing&&(this.keys.user_signing=e.user_signing)}async signObject(e,t){if(!this.keys[t])throw new Error("Attempted to sign with "+t+" key but no such key present");const[n,i]=await this.getCrossSigningKey(t);try{return(0,r.pkSign)(e,i,this.userId,n),e}finally{i.free()}}async signUser(e){if(this.keys.user_signing)return this.signObject(e.keys.master,"user_signing")}async signDevice(e,t){if(e!==this.userId)throw new Error(`Trying to sign ${e}'s device; can only sign our own device`);if(this.keys.self_signing)return this.signObject({algorithms:t.algorithms,keys:t.keys,device_id:t.deviceId,user_id:e},"self_signing")}checkUserTrust(e){if(this.userId===e.userId&&this.getId()&&this.getId()===e.getId()&&this.getId("self_signing")&&this.getId("self_signing")===e.getId("self_signing"))return new f(!0,this.firstUse);if(!this.keys.user_signing)return new f(!1,e.firstUse);let t;const n=e.keys.master,i=this.getId("user_signing");try{(0,r.pkVerify)(n,i,this.userId),t=!0}catch(e){t=!1}return new f(t,e.firstUse)}checkDeviceTrust(e,t,n){const i=this.checkUserTrust(e),o=e.keys.self_signing;if(!o)return new u(!1,!1,n);const a=function(e,t){return{algorithms:e.algorithms,keys:e.keys,device_id:e.deviceId,user_id:t,signatures:e.signatures}}(t,e.userId);try{return(0,r.pkVerify)(o,e.getId(),e.userId),(0,r.pkVerify)(a,s(o),e.userId),u.fromUserTrustLevel(i,n)}catch(e){return new u(!1,!1,n)}}}t.CrossSigningInfo=a;const c={MASTER:4,USER_SIGNING:2,SELF_SIGNING:1};t.CrossSigningLevel=c;class f{constructor(e,t){this._crossSigningVerified=e,this._tofu=t}isVerified(){return this.isCrossSigningVerified()}isCrossSigningVerified(){return this._crossSigningVerified}isTofu(){return this._tofu}}t.UserTrustLevel=f;class u{constructor(e,t,n){this._crossSigningVerified=e,this._tofu=t,this._localVerified=n}static fromUserTrustLevel(e,t){return new u(e._crossSigningVerified,e._tofu,t)}isVerified(){return this.isCrossSigningVerified()||this.isLocallyVerified()}isCrossSigningVerified(){return this._crossSigningVerified}isLocallyVerified(){return this._localVerified}isTofu(){return this._tofu}}t.DeviceTrustLevel=u}).call(this,n(5))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VerificationBase=void 0;var r=n(19),i=n(9),o=n(4),s=n(51),a=n(37);const c=new Error("Verification timed out");class f extends i.EventEmitter{constructor(e,t,n,r,i,o){super(),this._channel=e,this._baseApis=t,this.userId=n,this.deviceId=r,this.startEvent=i,this.request=o,this.cancelled=!1,this._done=!1,this._promise=null,this._transactionTimeoutTimer=null,this._resetTimer()}_resetTimer(){o.logger.info("Refreshing/starting the verification transaction timeout timer"),null!==this._transactionTimeoutTimer&&clearTimeout(this._transactionTimeoutTimer),this._transactionTimeoutTimer=setTimeout(()=>{this._done||this.cancelled||(o.logger.info("Triggering verification timeout"),this.cancel(c))},6e5)}_endTimer(){null!==this._transactionTimeoutTimer&&(clearTimeout(this._transactionTimeoutTimer),this._transactionTimeoutTimer=null)}_send(e,t){return this._channel.send(e,t)}_waitForEvent(e){return this._done?Promise.reject(new Error("Verification is already done")):(this._expectedEvent=e,new Promise((e,t)=>{this._resolveEvent=e,this._rejectEvent=t}))}handleEvent(e){if(!this._done)if(e.getType()===this._expectedEvent)"m.key.verification.done"!==this._expectedEvent&&(this._expectedEvent=void 0,this._rejectEvent=void 0,this._resetTimer(),this._resolveEvent(e));else if("m.key.verification.cancel"===e.getType()){const e=this._reject;this._reject=void 0,e(new Error("Other side cancelled verification"))}else{const t=new Error("Unexpected message: expecting "+this._expectedEvent+" but got "+e.getType());if(this._expectedEvent=void 0,this._rejectEvent){const e=this._rejectEvent;this._rejectEvent=void 0,e(t)}this.cancel(t)}}done(){this._endTimer(),this._done||(this._channel.needsDoneMessage&&this._send("m.key.verification.done",{}),this._resolve())}cancel(e){if(this._endTimer(),!this._done){if(this.cancelled=!0,this.userId&&this.deviceId)if(e===c){const e=(0,a.newTimeoutError)();this._send(e.getType(),e.getContent())}else if(e instanceof r.MatrixEvent){if(e.getSender()!==this.userId){const t=e.getContent();"m.key.verification.cancel"===e.getType()?(t.code=t.code||"m.unknown",t.reason=t.reason||t.body||"Unknown reason",this._send("m.key.verification.cancel",t)):this._send("m.key.verification.cancel",{code:"m.unknown",reason:t.body||"Unknown reason"})}}else this._send("m.key.verification.cancel",{code:"m.unknown",reason:e.toString()});null!==this._promise?this._reject&&this._reject(e):this._promise=Promise.reject(e),this.emit("cancel",e)}}verify(){return this._promise?this._promise:(this._promise=new Promise((e,t)=>{this._resolve=(...t)=>{this._done=!0,this._endTimer(),e(...t)},this._reject=(...e)=>{this._done=!0,this._endTimer(),t(...e)}}),this._doVerification&&!this._started&&(this._started=!0,this._resetTimer(),Promise.resolve(this._doVerification()).then(this.done.bind(this),this.cancel.bind(this))),this._promise)}async _verifyKeys(e,t,n){const r=[];for(const[i,a]of Object.entries(t)){const t=i.split(":",2)[1],c=await this._baseApis.getStoredDevice(e,t);if(c)await n(i,c,a),r.push(t);else{const c=this._baseApis._crypto._deviceList.getStoredCrossSigningForUser(e);c&&c.getId()===t?(await n(i,s.DeviceInfo.fromStorage({keys:{[i]:t}},t),a),r.push(t)):o.logger.warn(`verification: Could not find device ${t} to verify`)}}if(!r.length)throw new Error("No devices could be verified");for(const t of r)await this._baseApis.setDeviceVerified(e,t)}}t.VerificationBase=f},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.keyFromAuthData=async function(t,n){if(!e.Olm)throw new Error("Olm is not available");if(!t.private_key_salt||!t.private_key_iterations)throw new Error("Salt and/or iterations not found: this backup cannot be restored with a passphrase");return await i(n,t.private_key_salt,t.private_key_iterations)},t.keyFromPassphrase=async function(t){if(!e.Olm)throw new Error("Olm is not available");const n=(0,r.randomString)(32);return{key:await i(t,n,5e5),salt:n,iterations:5e5}},t.deriveKey=i;var r=n(52);async function i(t,n,r){const i=e.crypto.subtle,o=e.TextEncoder;if(!i||!o)throw new Error("Password-based backup is not avaiable on this platform");const s=await i.importKey("raw",(new o).encode(t),{name:"PBKDF2"},!1,["deriveBits"]),a=await i.deriveBits({name:"PBKDF2",salt:(new o).encode(n),iterations:r,hash:"SHA-512"},s,8*e.Olm.PRIVATE_KEY_LENGTH);return new Uint8Array(a)}}).call(this,n(5))},function(e,t,n){"use strict";(function(e,r){var i=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.encodeRecoveryKey=function(t){const n=new e(s.length+t.length+1);n.set(s,0),n.set(t,s.length);let r=0;for(let e=0;e{this.accountData[e.type]=e})}_accumulateRooms(e){e.rooms&&(e.rooms.invite&&Object.keys(e.rooms.invite).forEach(t=>{this._accumulateRoom(t,"invite",e.rooms.invite[t])}),e.rooms.join&&Object.keys(e.rooms.join).forEach(t=>{this._accumulateRoom(t,"join",e.rooms.join[t])}),e.rooms.leave&&Object.keys(e.rooms.leave).forEach(t=>{this._accumulateRoom(t,"leave",e.rooms.leave[t])}))}_accumulateRoom(e,t,n){switch(t){case"invite":this._accumulateInviteState(e,n);break;case"join":this.inviteRooms[e]&&delete this.inviteRooms[e],this._accumulateJoinState(e,n);break;case"leave":this.inviteRooms[e]?delete this.inviteRooms[e]:delete this.joinRooms[e];break;default:r.logger.error("Unknown cateogory: ",t)}}_accumulateInviteState(e,t){if(!t.invite_state||!t.invite_state.events)return;if(!this.inviteRooms[e])return void(this.inviteRooms[e]={invite_state:t.invite_state});const n=this.inviteRooms[e];t.invite_state.events.forEach(e=>{let t=!1;for(let r=0;r{n._accountData[e.type]=e}),t.unread_notifications&&(n._unreadNotifications=t.unread_notifications),t.summary){const e="m.heroes",r="m.invited_member_count",i="m.joined_member_count",o=n._summary,s=t.summary;o[e]=s[e]||o[e],o[i]=s[i]||o[i],o[r]=s[r]||o[r]}if(t.ephemeral&&t.ephemeral.events&&t.ephemeral.events.forEach(e=>{"m.receipt"===e.type&&e.content&&Object.keys(e.content).forEach(t=>{e.content[t]["m.read"]&&Object.keys(e.content[t]["m.read"]).forEach(r=>{n._readReceipts[r]={data:e.content[t]["m.read"][r],eventId:t}})})}),t.timeline&&t.timeline.limited&&(n._timeline=[]),t.state&&t.state.events&&t.state.events.forEach(e=>{o(n._currentState,e)}),t.timeline&&t.timeline.events&&t.timeline.events.forEach((e,r)=>{o(n._currentState,e),n._timeline.push({event:e,token:0===r?t.timeline.prev_batch:null})}),n._timeline.length>this.opts.maxTimelineEntries){for(let e=n._timeline.length-this.opts.maxTimelineEntries;e{this._accumulateGroup(t,"invite",e.groups.invite[t])}),e.groups.join&&Object.keys(e.groups.join).forEach(t=>{this._accumulateGroup(t,"join",e.groups.join[t])}),e.groups.leave&&Object.keys(e.groups.leave).forEach(t=>{this._accumulateGroup(t,"leave",e.groups.leave[t])}))}_accumulateGroup(e,t,n){for(const t of["invite","join","leave"])delete this.groups[t][e];this.groups[t][e]=n}getJSON(){const e={join:{},invite:{},leave:{}};Object.keys(this.inviteRooms).forEach(t=>{e.invite[t]=this.inviteRooms[t]}),Object.keys(this.joinRooms).forEach(t=>{const n=this.joinRooms[t],r={ephemeral:{events:[]},account_data:{events:[]},state:{events:[]},timeline:{events:[],prev_batch:null},unread_notifications:n._unreadNotifications,summary:n._summary};Object.keys(n._accountData).forEach(e=>{r.account_data.events.push(n._accountData[e])});const s={type:"m.receipt",room_id:t,content:{}};Object.keys(n._readReceipts).forEach(e=>{const t=n._readReceipts[e];s.content[t.eventId]||(s.content[t.eventId]={"m.read":{}}),s.content[t.eventId]["m.read"][e]=t.data}),Object.keys(s.content).length>0&&r.ephemeral.events.push(s),n._timeline.forEach(e=>{if(!r.timeline.prev_batch){if(!e.token)return;r.timeline.prev_batch=e.token}r.timeline.events.push(e.event)});const a=Object.create(null);for(let e=r.timeline.events.length-1;e>=0;e--){const t=r.timeline.events[e];if(null===t.state_key||void 0===t.state_key)continue;const n=(0,i.deepCopy)(t);n.unsigned&&(n.unsigned.prev_content&&(n.content=n.unsigned.prev_content),n.unsigned.prev_sender&&(n.sender=n.unsigned.prev_sender)),o(a,n)}Object.keys(n._currentState).forEach(e=>{Object.keys(n._currentState[e]).forEach(t=>{let i=n._currentState[e][t];a[e]&&a[e][t]&&(i=a[e][t]),r.state.events.push(i)})}),e.join[t]=r});const t=[];return Object.keys(this.accountData).forEach(e=>{t.push(this.accountData[e])}),{nextBatch:this.nextBatch,roomsData:e,groupsData:this.groups,accountData:t}}getNextBatchToken(){return this.nextBatch}}},function(e,t,n){"use strict";var r=String.prototype.replace,i=/%20/g,o=n(83),s={RFC1738:"RFC1738",RFC3986:"RFC3986"};e.exports=o.assign({default:s.RFC3986,formatters:{RFC1738:function(e){return r.call(e,i,"+")},RFC3986:function(e){return String(e)}}},s)},function(e,t){for(var n=[],r=0;r<256;++r)n[r]=(r+256).toString(16).substr(1);e.exports=function(e,t){var r=t||0,i=n;return[i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]]].join("")}},function(e,t,n){"use strict";t.__esModule=!0,t.stateify=t.TokenState=t.CharacterState=void 0;var r=n(53);var i=function(e){this.j=[],this.T=e||null};i.prototype={defaultTransition:!1,on:function(e,t){if(e instanceof Array){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null,n=this.next(new e(""));return n===this.defaultTransition?(n=new this.constructor(t),this.on(e,n)):t&&(n.T=t),n},test:function(e,t){return e instanceof t}});t.CharacterState=o,t.TokenState=s,t.stateify=function(e,t,n,r){for(var i=0,s=e.length,a=t,c=[],f=void 0;i=s)return[];for(;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},function(e,t,n){"use strict";(function(e){var r=n(28),i=n.n(r),o=n(26),s=n.n(o),a=n(27),c=n.n(a),f=n(54),u=n.n(f),l=n(55),d=n.n(l),h=n(7),p=n.n(h),m=n(56),g=n.n(m),y=n(2),b=n.n(y),_=n(0),v=n.n(_),A=n(13),w=n.n(A),E=n(327),k=(n(40),n(152)),S=n(38),I=(n(41),n(153)),T=n(154),R=n(39),O=n(29),x=n(85),C=n(156),P=n(86),M=n(158);n(323);function D(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}e.Olm=T;var B={algorithm:"m.megolm.v1.aes-sha2"},N=function(t){function n(t){var r;return s()(this,n),r=u()(this,d()(n).call(this,t)),b()(p()(r),"detectMobile",(function(){var e=!1;/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)&&(e=!0),screen.width<767&&(e=!0),r.setState({isMobile:e})})),b()(p()(r),"detectSlowConnection",(function(){var e=!1,t=navigator.connection||navigator.mozConnection||navigator.webkitConnection;if(void 0!==t||null===t){var n=t.effectiveType;e=["slow-2g","2g"].includes(n)}r.setState({isSlowConnection:e})})),b()(p()(r),"handleToggleOpen",(function(){r.setState((function(e){var t=e.showDock;return e.opened||(t=!1),{showDock:t,opened:!e.opened}}))})),b()(p()(r),"toggleEmojiSelector",(function(e){e.preventDefault(),r.setState({emojiSelectorOpen:!r.state.emojiSelectorOpen})})),b()(p()(r),"closeEmojiSelector",(function(){r.setState({emojiSelectorOpen:!1})})),b()(p()(r),"handleWidgetExit",(function(){r.setState({showDock:!0})})),b()(p()(r),"handleWidgetEnter",(function(){r.state.awaitingAgreement?r.termsUrl.current.focus():r.chatboxInput.current.focus()})),b()(p()(r),"handleExitChat",(function(){r.state.client?r.exitChat():r.setState(r.initialState)})),b()(p()(r),"exitChat",(async function(){if(!r.state.client)return null;await r.state.client.leave(r.state.roomId);var e={type:"m.login.password",user:r.state.userId,identifier:{type:"m.id.user",user:r.state.userId},password:r.state.password};await r.state.client.deactivateAccount(e,!0),await r.state.client.stopClient(),await r.state.client.clearStores(),r.state.localStorage.clear(),r.setState(r.initialState)})),b()(p()(r),"createLocalStorage",(async function(t,n){var r=e.localStorage;if(null==r){var i="matrix-chat-".concat(t,"-").concat(n),o=S.resolve(S.join(k.homedir(),".local-storage",i));r=new I.LocalStorage(o)}return r})),b()(p()(r),"createClientWithAccount",(async function(){var e=R.createClient(r.props.matrixServerUrl);try{await e.registerRequest({})}catch(c){var t=Object(O.uuid)(),n=Object(O.uuid)(),i=c.data.session,o=await e.registerRequest({auth:{session:i,type:"m.login.dummy"},inhibit_login:!1,password:n,username:t,x_show_msisdn:!0}),s=await r.createLocalStorage(o.device_id,i);r.setState({accessToken:o.access_token,userId:o.user_id,username:t,password:n,localStorage:s,sessionId:i,deviceId:o.device_id});var a={baseUrl:r.props.matrixServerUrl,accessToken:o.access_token,userId:o.user_id,deviceId:o.device_id,sessionStore:new R.WebStorageSessionStore(s)};return R.createClient(a)}})),b()(p()(r),"initializeChat",(async function(){r.setState({ready:!1});var e=await r.createClientWithAccount();r.setState({client:e}),e.setDisplayName(r.props.anonymousDisplayName),r.setMatrixListeners(e);try{await e.initCrypto()}catch(e){return r.initializeUnencryptedChat()}await e.startClient(),await r.createRoom(e)})),b()(p()(r),"initializeUnencryptedChat",(async function(){r.state.client&&(r.state.client.leave(r.state.roomId),r.state.client.stopClient(),r.state.client.clearStores(),r.state.localStorage.clear()),r.setState({ready:!1,facilitatorInvited:!1,decryptionErrors:{},roomId:null,typingStatus:null,client:null,isCryptoEnabled:!1}),r.displayBotMessage({body:"Restarting chat without encryption."});var e,t={baseUrl:r.props.matrixServerUrl,accessToken:r.state.accessToken,userId:r.state.userId,deviceId:r.state.deviceId};e=R.createClient(t),r.setState({client:e});try{r.setMatrixListeners(e),e.setDisplayName(r.props.anonymousDisplayName),await r.createRoom(e),await e.startClient(),r.displayBotMessage({body:"Messages in this chat are not encrypted."})}catch(e){console.log("error",e),r.handleInitError(e)}})),b()(p()(r),"handleInitError",(function(e){console.log("error",e),r.displayBotMessage({body:r.props.chatUnavailableMessage}),r.setState({ready:!0})})),b()(p()(r),"handleDecryptionError",(async function(e,t){if(r.state.client){var n=await r.state.client.isCryptoEnabled(),i=r.state.client.isRoomEncrypted(r.state.roomId);if(!n||!i)return r.initializeUnencryptedChat()}var o=e.getId();r.displayFakeMessage({body:"** Unable to decrypt message **"},e.getSender(),o),r.setState({decryptionErrors:b()({},o,!0)})})),b()(p()(r),"verifyAllRoomDevices",(async function(e,t){if(t&&e&&r.state.isCryptoEnabled){var n=(await t.getEncryptionTargetMembers()).map((function(e){return e.userId})),i=await e.downloadKeys(n);for(var o in i)for(var s in i[o])await e.setDeviceVerified(o,s)}})),b()(p()(r),"createRoom",(async function(e){var t=new Date,n=t.toLocaleDateString(),i=t.toLocaleTimeString(),o={room_alias_name:"private-support-chat-".concat(Object(O.uuid)()),invite:[r.props.botId],visibility:"private",name:"".concat(i,", ").concat(n," - ").concat(r.props.roomName)},s=await e.isCryptoEnabled();s&&(o.initial_state=[{type:"m.room.encryption",state_key:"",content:B}]);var a=(await e.createRoom(o)).room_id;e.setPowerLevel(a,r.props.botId,100),r.setState({roomId:a,isCryptoEnabled:s})})),b()(p()(r),"sendMessage",(async function(e){if(r.state.client&&r.state.roomId)try{await r.state.client.sendTextMessage(r.state.roomId,e)}catch(t){switch(t.name){case"UnknownDeviceError":Object.keys(t.devices).forEach((function(e){Object.keys(t.devices[e]).map((async function(t){await r.state.client.setDeviceKnown(e,t,!0)}))})),r.sendMessage(e);break;default:r.displayBotMessage({body:"Your message was not sent."}),console.log("Error sending message",t)}}})),b()(p()(r),"displayFakeMessage",(function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Object(O.uuid)(),o=i()(r.state.messages),s={id:n,type:"m.room.message",sender:t,roomId:r.state.roomId,content:e};o.push(s),r.setState({messages:o})})),b()(p()(r),"displayBotMessage",(function(e,t){var n=i()(r.state.messages),o={id:Object(O.uuid)(),type:"m.room.message",sender:r.props.botId,roomId:t||r.state.roomId,content:e};n.push(o),r.setState({messages:n})})),b()(p()(r),"handleMessageEvent",(function(e){var t={id:e.getId(),type:e.getType(),sender:e.getSender(),roomId:e.getRoomId(),content:e.getContent()};if(!(t.content.showToUser&&t.content.showToUser!==r.state.userId||t.content.body.startsWith("!bot")&&t.sender!==r.state.userId)){var n=i()(r.state.messagesInFlight),o=n.findIndex((function(e){return e===t.content.body}));o>-1&&(n.splice(o,1),r.setState({messagesInFlight:n}));var s=i()(r.state.messages),a=function(e){for(var t=1;t-1?s.splice(c,1,t):s.push(t),r.setState({messages:s,decryptionErrors:a})}})),b()(p()(r),"handleKeyDown",(function(e){switch(e.keyCode){case 27:r.state.emojiSelectorOpen?r.closeEmojiSelector():r.state.opened&&r.handleToggleOpen()}})),b()(p()(r),"setMatrixListeners",(function(e){e.on("Room.timeline",(function(t,n){var i=t.getType(),o=t.getContent(),s=t.getSender();if("m.room.encryption"===i&&(r.displayBotMessage({body:"Messages in this chat are secured with end-to-end encryption."},n.room_id),r.verifyAllRoomDevices(e,n)),"m.room.message"===i&&!r.state.isCryptoEnabled){if(t.isEncrypted())return;r.handleMessageEvent(t)}"m.room.member"===i&&"invite"===o.membership&&s===r.props.botId&&r.setState({facilitatorInvited:!0}),"m.room.member"===i&&"join"===o.membership&&s!==r.props.botId&&s!==r.state.userId&&(r.verifyAllRoomDevices(e,n),r.setState({facilitatorId:s,ready:!0}),window.clearInterval(r.state.timeoutId))})),e.on("Event.decrypted",(function(e,t){if(t)return r.handleDecryptionError(e,t);if("m.room.message"===e.getType()){var n=e.getContent();if("m.notice"===n.msgtype&&"Chat is offline"===n.body)return r.setState({ready:!0}),window.clearInterval(r.state.timeoutId);r.handleMessageEvent(e)}})),e.on("RoomMember.typing",(function(e,t){t.typing&&t.roomId===r.state.roomId?r.setState({typingStatus:"".concat(t.name," is typing...")}):r.setState({typingStatus:null})}))})),b()(p()(r),"handleInputChange",(function(e){r.setState({inputValue:e.target.value})})),b()(p()(r),"handleAcceptTerms",(function(){r.setState({awaitingAgreement:!1}),r.startWaitTimeForFacilitator();try{r.initializeChat()}catch(e){r.handleInitError(e)}})),b()(p()(r),"startWaitTimeForFacilitator",(function(){var e=window.setInterval((function(){r.state.facilitatorId||r.displayBotMessage({body:r.props.waitMessage})}),12e4);r.setState({timeoutId:e})})),b()(p()(r),"handleRejectTerms",(function(){r.exitChat(),r.displayBotMessage({body:r.props.exitMessage})})),b()(p()(r),"handleSubmit",(function(e){e.preventDefault();var t=r.state.inputValue;if(!Boolean(t))return null;if(r.state.isCryptoEnabled&&(!r.state.client.isRoomEncrypted(r.state.roomId)||!r.state.client.isCryptoEnabled()))return null;if(r.state.client&&r.state.roomId){var n=i()(r.state.messagesInFlight);n.push(t),r.setState({inputValue:"",messagesInFlight:n},(function(){return r.sendMessage(t)})),r.chatboxInput.current.focus()}})),b()(p()(r),"onEmojiClick",(function(e,t){e.preventDefault();var n=t.emoji;r.setState({inputValue:r.state.inputValue.concat(n),emojiSelectorOpen:!1},r.chatboxInput.current.focus())})),r.initialState={opened:!1,showDock:!0,client:null,ready:!0,accessToken:null,userId:null,password:null,localStorage:null,messages:[],inputValue:"",errors:[],roomId:null,typingStatus:null,awaitingAgreement:!0,emojiSelectorOpen:!1,facilitatorInvited:!1,isMobile:!0,isSlowConnection:!0,decryptionErrors:{},messagesInFlight:[]},r.state=r.initialState,r.chatboxInput=v.a.createRef(),r.messageWindow=v.a.createRef(),r.termsUrl=v.a.createRef(),r}return g()(n,t),c()(n,[{key:"componentDidUpdate",value:function(e,t){t.messages.length!==this.state.messages.length&&this.messageWindow.current.scrollTo&&this.messageWindow.current.scrollTo(0,this.messageWindow.current.scrollHeight),!t.facilitatorInvited&&this.state.facilitatorInvited&&this.displayBotMessage({body:this.props.confirmationMessage}),!t.opened&&this.state.opened&&this.detectMobile()}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown,!1),window.addEventListener("beforeunload",this.exitChat)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown,!1),window.removeEventListener("beforeunload",this.exitChat),this.exitChat()}},{key:"render",value:function(){var e=this,t=this.state,n=t.ready,r=t.messages,i=t.messagesInFlight,o=t.inputValue,s=t.userId,a=t.roomId,c=t.typingStatus,f=t.opened,u=t.showDock,l=t.emojiSelectorOpen,d=t.isMobile,h=t.decryptionErrors;return v.a.createElement("div",{className:"docked-widget",role:"complementary"},v.a.createElement(E.a,{in:f,timeout:250,onExited:this.handleWidgetExit,onEntered:this.handleWidgetEnter},(function(t){return v.a.createElement("div",{className:"widget widget-".concat(t),"aria-hidden":!f},v.a.createElement("div",{id:"safesupport-chatbox","aria-haspopup":"dialog"},v.a.createElement(P.a,{handleToggleOpen:e.handleToggleOpen,opened:f,handleExitChat:e.handleExitChat}),v.a.createElement("div",{className:"message-window",ref:e.messageWindow},v.a.createElement("div",{className:"messages"},v.a.createElement("div",{className:"message from-bot"},v.a.createElement("div",{className:"text"},e.props.introMessage)),v.a.createElement("div",{className:"message from-bot"},v.a.createElement("div",{className:"text"},"Please read the full ",v.a.createElement("a",{href:e.props.termsUrl,ref:e.termsUrl,target:"_blank",rel:"noopener noreferrer"},"terms and conditions"),". By using this chat, you agree to these terms.")),v.a.createElement("div",{className:"message from-bot"},v.a.createElement("div",{className:"text"},e.props.agreementMessage)),v.a.createElement("div",{className:"message from-bot"},v.a.createElement("div",{className:"text buttons"},"👉",v.a.createElement("button",{className:"btn",id:"accept",onClick:e.handleAcceptTerms},"YES"),v.a.createElement("button",{className:"btn",id:"reject",onClick:e.handleRejectTerms},"NO"))),r.map((function(t,n){return v.a.createElement(x.a,{key:t.id,message:t,userId:s,botId:e.props.botId,client:e.state.client})})),i.map((function(e,t){return v.a.createElement(x.a,{key:"message-inflight-".concat(t),message:{content:{body:e}},placeholder:!0})})),c&&v.a.createElement("div",{className:"notices"},v.a.createElement("div",{role:"status"},c)),Boolean(Object.keys(h).length)&&v.a.createElement("div",{className:"message from-bot"},v.a.createElement("div",{className:"text buttons"},"Restart chat without encryption?",v.a.createElement("button",{className:"btn",id:"accept",onClick:e.initializeUnencryptedChat},"RESTART"))),!n&&v.a.createElement("div",{className:"loader"},"loading..."))),v.a.createElement("div",{className:"input-window"},v.a.createElement("form",{onSubmit:e.handleSubmit},v.a.createElement("div",{className:"message-input-container"},v.a.createElement("input",{id:"message-input",type:"text",onChange:e.handleInputChange,value:o,"aria-label":"Send a message...",placeholder:"Send a message...",autoFocus:!0,ref:e.chatboxInput}),"entered"===t&&!d&&v.a.createElement(M.a,{onEmojiClick:e.onEmojiClick,emojiSelectorOpen:l,toggleEmojiSelector:e.toggleEmojiSelector,closeEmojiSelector:e.closeEmojiSelector})),v.a.createElement("input",{type:"submit",value:"Send",id:"submit",onClick:e.handleSubmit})))))})),u&&!a&&v.a.createElement(C.a,{handleToggleOpen:this.handleToggleOpen}),u&&a&&v.a.createElement(P.a,{handleToggleOpen:this.handleToggleOpen,opened:f,handleExitChat:this.handleExitChat}))}}]),n}(v.a.Component);N.propTypes={matrixServerUrl:w.a.string.isRequired,botId:w.a.string.isRequired,termsUrl:w.a.string,introMessage:w.a.string,roomName:w.a.string,agreementMessage:w.a.string,confirmationMessage:w.a.string,exitMessage:w.a.string,chatUnavailableMessage:w.a.string,anonymousDisplayName:w.a.string,waitMessage:w.a.string},N.defaultProps={matrixServerUrl:"https://matrix.rhok.space/",botId:"@help-bot:rhok.space",termsUrl:"https://tosdr.org/",roomName:"Support Chat",introMessage:"This chat application does not collect any of your personal data or any data from your use of this service.",agreementMessage:"Do you want to continue?",confirmationMessage:"Waiting for a facilitator to join the chat...",exitMessage:"The chat is closed. You may close this window.",anonymousDisplayName:"Anonymous",chatUnavailableMessage:"The chat service is not available right now. Please try again later.",waitMessage:"Please be patient, our online facilitators are currently responding to other support requests."},t.a=N}).call(this,n(5))},function(e,t){t.endianness=function(){return"LE"},t.hostname=function(){return"undefined"!=typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"}},function(e,t,n){(function(e){(function(){var r,i,o,s,a,c,f,u,l,d,h,p,m,g=function(e,t){for(var n in t)y.call(t,n)&&(e[n]=t[n]);function r(){this.constructor=e}return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},y={}.hasOwnProperty;p=n(38),h=n(41),d=n(9),m=n(174).sync,c=function(e){var t,n,r,i,o;for(o=[],t=0,n=(i=h.readdirSync(e)).length;tthis.quota)throw new s;if(m(c,y,"utf8"),i||((l=new o(n,this._keys.push(e)-1)).size=b,this._metaKeyMap[e]=l,this.length+=1,this._bytesInUse+=b),u)return r=new a(e,g,t,this._eventUrl),this.emit("storage",r)},r.prototype.getItem=function(e){var t,n;return e=f(e),(n=this._metaKeyMap[e])?(t=p.join(this._location,n.key),h.readFileSync(t,"utf8")):null},r.prototype._getStat=function(e){var t;e=f(e),t=p.join(this._location,encodeURIComponent(e));try{return h.statSync(t)}catch(e){return null}},r.prototype.removeItem=function(e){var t,n,r,i,o,s,c,l;if(e=f(e),s=this._metaKeyMap[e]){for(i in c=null,(r=d.EventEmitter.listenerCount(this,"storage"))&&(c=this.getItem(e)),delete this._metaKeyMap[e],this.length-=1,this._bytesInUse-=s.size,n=p.join(this._location,s.key),this._keys.splice(s.index,1),l=this._metaKeyMap)l[i],(o=this._metaKeyMap[i]).index>s.index&&(o.index-=1);if(u(n),r)return t=new a(e,c,null,this._eventUrl),this.emit("storage",t)}},r.prototype.key=function(e){var t;return"---.EMPTY_STRING.---"===(t=this._keys[e])?"":t},r.prototype.clear=function(){var e;if(c(this._location),this._metaKeyMap=l(),this._keys=[],this.length=0,this._bytesInUse=0,d.EventEmitter.listenerCount(this,"storage"))return e=new a(null,null,null,this._eventUrl),this.emit("storage",e)},r.prototype._getBytesInUse=function(){return this._bytesInUse},r.prototype._deleteLocation=function(){return delete n[this._location],u(this._location),this._metaKeyMap={},this._keys=[],this.length=0,this._bytesInUse=0},r}(d.EventEmitter)),t.LocalStorage=i,t.JSONStorage=r,t.QUOTA_EXCEEDED_ERR=s}).call(this)}).call(this,n(12))},function(e,t,n){(function(t,r,i,o){var s,a,c,f,u={},l=(c="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(f){var l,d;if(f=f||{},l||(l=void 0!==f?f:{}),"undefined"!=typeof window)d=function(e){window.crypto.getRandomValues(e)};else{if(!e.exports)throw Error("Cannot find global to attach library to");var h=n(198);d=function(e){var t=h.randomBytes(e.length);e.set(t)},r=t.process}if("undefined"!=typeof OLM_OPTIONS)for(var p in OLM_OPTIONS)OLM_OPTIONS.hasOwnProperty(p)&&(l[p]=OLM_OPTIONS[p]);l.onRuntimeInitialized=function(){We=l._olm_error(),u.PRIVATE_KEY_LENGTH=l._olm_pk_private_key_length(),s&&s()},l.onAbort=function(e){a&&a(e)};var m,g={};for(m in l)l.hasOwnProperty(m)&&(g[m]=l[m]);l.arguments=[],l.thisProgram="./this.program",l.quit=function(e,t){throw t},l.preRun=[],l.postRun=[];var y=!1,b=!1,_=!1,v=!1;y="object"==typeof window,b="function"==typeof importScripts,_="object"==typeof r&&!y&&!b,v=!y&&!_&&!b;var A,w,E="";_?(E=i+"/",l.read=function(e,t){var r=we(e);return r||(A||(A=n(41)),w||(w=n(38)),e=w.normalize(e),r=A.readFileSync(e)),t?r:r.toString()},l.readBinary=function(e){return(e=l.read(e,!0)).buffer||(e=new Uint8Array(e)),x(e.buffer),e},1>2];return e=t+e+15&-16,U[V>>2]=e,(e=e>=$)&&(J(),e=!0),e?(U[V>>2]=t,0):t}function R(e){var t;return t||(t=16),Math.ceil(e/t)*t}g=void 0;var O=!1;function x(e,t){e||Be("Assertion failed: "+t)}function C(e){var t="i8";switch("*"===t.charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":B[e>>0]=0;break;case"i16":j[e>>1]=0;break;case"i32":U[e>>2]=0;break;case"i64":tempI64=[0,(tempDouble=0,1<=+ce(tempDouble)?0>>0:~~+fe((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],U[e>>2]=tempI64[0],U[e+4>>2]=tempI64[1];break;case"float":L[e>>2]=0;break;case"double":F[e>>3]=0;break;default:Be("invalid type for setValue: "+t)}}function P(e,t){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return B[e>>0];case"i16":return j[e>>1];case"i32":case"i64":return U[e>>2];case"float":return L[e>>2];case"double":return F[e>>3];default:Be("invalid type for getValue: "+t)}return null}function M(e){var t,n=l.ALLOC_STACK;if("number"==typeof e)var r=!0,i=e;else r=!1,i=e.length;if(t=4==n?o:["function"==typeof ke?ke:I,Se,I,T][void 0===n?2:n](Math.max(i,1)),r){var o=t;for(x(0==(3&t)),e=t+(-4&i);o>2]=0;for(e=t+i;o>0]=0;return t}return e.subarray||e.slice?N.set(e,t):N.set(new Uint8Array(e),t),t}var D,B,N,j,U,L,F,q,K,z,G,H,V,Q="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function W(e){for(var t=N,n=e;t[n];)++n;if(16r?n+=String.fromCharCode(r):(r-=65536,n+=String.fromCharCode(55296|r>>10,56320|1023&r))}}else n+=String.fromCharCode(r)}}function Y(e,t,n,r){if(!(0=s&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o)),127>=s){if(n>=r)break;t[n++]=s}else{if(2047>=s){if(n+1>=r)break;t[n++]=192|s>>6}else{if(65535>=s){if(n+2>=r)break;t[n++]=224|s>>12}else{if(2097151>=s){if(n+3>=r)break;t[n++]=240|s>>18}else{if(67108863>=s){if(n+4>=r)break;t[n++]=248|s>>24}else{if(n+5>=r)break;t[n++]=252|s>>30,t[n++]=128|s>>24&63}t[n++]=128|s>>18&63}t[n++]=128|s>>12&63}t[n++]=128|s>>6&63}t[n++]=128|63&s}}return t[n]=0,n-i}function X(e){for(var t=0,n=0;n=r&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++n)),127>=r?++t:t=2047>=r?t+2:65535>=r?t+3:2097151>=r?t+4:67108863>=r?t+5:t+6}return t}function J(){Be("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+$+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le"),q=K=z=G=H=V=0;var Z=l.TOTAL_STACK||5242880,$=l.TOTAL_MEMORY||16777216;function ee(e){for(;0>0]=e.charCodeAt(n)}var ce=Math.abs,fe=Math.ceil,ue=Math.floor,le=Math.min,de=0,he=null,pe=null;l.preloadedImages={},l.preloadedAudios={};var me=null,ge="data:application/octet-stream;base64,";q=39112,ne.push(),me="data:application/octet-stream;base64,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dmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAAAAAAXZQAAAgAAABmlAAACwAAALiSAABUlAAACAAAALiSAAC0mAAAAAAAAAEAAAABAAAAAQAAAAIAAAACAAAAuJIAANiUAAALAAAAuJIAACKWAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPTE1fS0VZUwBPTE1fUk9PVABPTE1fUkFUQ0hFVABzZW5kZXIgY2hhaW4gaW5kZXg6ICVkIAByZWNlaXZlciBjaGFpbiBpbmRpY2VzOgAgc2tpcHBlZCBtZXNzYWdlIGtleXM6ACAlZAABAiJjdXJ2ZTI1NTE5IjoAImVkMjU1MTkiOgBNRUdPTE1fS0VZUwAAAQIDVU5LTk9XTl9FUlJPUgBTVUNDRVNTAE5PVF9FTk9VR0hfUkFORE9NAE9VVFBVVF9CVUZGRVJfVE9PX1NNQUxMAEJBRF9NRVNTQUdFX1ZFUlNJT04AQkFEX01FU1NBR0VfRk9STUFUAEJBRF9NRVNTQUdFX01BQwBCQURfTUVTU0FHRV9LRVlfSUQASU5WQUxJRF9CQVNFNjQAQkFEX0FDQ09VTlRfS0VZAFVOS05PV05fUElDS0xFX1ZFUlNJT04AQ09SUlVQVEVEX1BJQ0tMRQBCQURfU0VTU0lPTl9LRVkAVU5LTk9XTl9NRVNTQUdFX0lOREVYAEJBRF9MRUdBQ1lfQUNDT1VOVF9QSUNLTEUAQkFEX1NJR05BVFVSRQBPTE1fSU5QVVRfQlVGRkVSX1RPT19TTUFMTABQaWNrbGUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAC4=";var ye=q;q+=16,V=I(4),K=z=R(q),H=R(G=K+Z),U[V>>2]=H;var be=!1;function _e(e){var t=Array(X(e)+1);return e=Y(e,t,0,t.length),t.length=e,t}function ve(e){for(var t=[],n=0;n>4,i=(15&i)<<4|o>>2;var a=(3&o)<<6|s;t+=String.fromCharCode(r),64!==o&&(t+=String.fromCharCode(i)),64!==s&&(t+=String.fromCharCode(a))}while(n>2]=e),e},_emscripten_memcpy_big:function(e,t,n){return N.set(N.subarray(t,t+n),e),e},DYNAMICTOP_PTR:V,tempDoublePtr:ye,STACKTOP:z,STACK_MAX:G};var Ee=function(e,t,n){"use asm";var r=new e.Int8Array(n);var i=new e.Int16Array(n);var o=new e.Int32Array(n);var s=new e.Uint8Array(n);var a=new e.Uint16Array(n);var c=new e.Uint32Array(n);var f=new e.Float32Array(n);var u=new e.Float64Array(n);var l=t.DYNAMICTOP_PTR|0;var d=t.tempDoublePtr|0;var h=t.STACKTOP|0;var p=t.STACK_MAX|0;var m=0;var g=0;var y=0;var b=0;var _=e.NaN,v=e.Infinity;var A=0,w=0,E=0,k=0,S=0.0;var I=0;var T=e.Math.floor;var R=e.Math.abs;var O=e.Math.sqrt;var x=e.Math.pow;var C=e.Math.cos;var P=e.Math.sin;var M=e.Math.tan;var D=e.Math.acos;var B=e.Math.asin;var N=e.Math.atan;var j=e.Math.atan2;var U=e.Math.exp;var L=e.Math.log;var F=e.Math.ceil;var q=e.Math.imul;var K=e.Math.min;var z=e.Math.max;var G=e.Math.clz32;var H=t.abort;var V=t.assert;var Q=t.enlargeMemory;var W=t.getTotalMemory;var Y=t.abortOnCannotGrowMemory;var X=t.invoke_ii;var J=t.invoke_iii;var Z=t.invoke_iiii;var $=t.invoke_iiiiiiiiii;var ee=t.___setErrNo;var te=t._emscripten_memcpy_big;var ne=0.0;function re(e){e=e|0;var t=0;t=h;h=h+e|0;h=h+15&-16;return t|0}function ie(){return h|0}function oe(e){e=e|0;h=e}function se(e,t){e=e|0;t=t|0;h=e;p=t}function ae(e,t){e=e|0;t=t|0;if(!m){m=e;g=t}}function ce(e){e=e|0;I=e}function fe(){return I|0}function ue(e){e=e|0;var t=0;t=e+2|0;e=(t>>>0)/3|0;return(e<<2|t-(e*3|0))+-2|0}function le(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,a=0,c=0,f=0;a=t-((t>>>0)%3|0)|0;o=e+a|0;if(!a){a=n;o=e}else{i=e;do{a=s[i>>0]|0;c=a<<8|(s[i+1>>0]|0);f=s[i+2>>0]|0;i=i+3|0;r[n+3>>0]=r[16+(f&63)>>0]|0;r[n+2>>0]=r[16+((c<<8|f)>>>6&63)>>0]|0;r[n+1>>0]=r[16+(c>>>4&63)>>0]|0;r[n>>0]=r[16+(a>>>2)>>0]|0;n=n+4|0}while((i|0)!=(o|0));a=n}n=e+t-o|0;if(!n){f=a;return f|0}i=s[o>>0]|0;if((n|0)==2){n=s[o+1>>0]|0;r[a+2>>0]=r[16+(n<<2&60)>>0]|0;n=(i<<8|n)>>>4;i=3}else{n=i<<4;i=2}r[a+1>>0]=r[16+(n&63)>>0]|0;r[a>>0]=r[16+(n>>>6)>>0]|0;f=a+i|0;return f|0}function de(e){e=e|0;var t=0;t=e+2|0;return((e&3|0)==1?-1:(t&3)+-2+((t>>>2)*3|0)|0)|0}function he(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,a=0,c=0,f=0,u=0,l=0;f=t&-4;a=e+f|0;if(!f)c=e;else{c=(((f+-4|0)>>>2)*3|0)+3|0;i=n;o=e;while(1){u=(s[80+(r[o>>0]&127)>>0]|0)<<6|(s[80+(r[o+1>>0]&127)>>0]|0);l=u<<6|(s[80+(r[o+2>>0]&127)>>0]|0);r[i+2>>0]=l<<6|(s[80+(r[o+3>>0]&127)>>0]|0);o=o+4|0;r[i+1>>0]=l>>>2;r[i>>0]=u>>>4;if((o|0)==(a|0))break;else i=i+3|0}n=n+c|0;c=e+f|0}i=e+t|0;o=i-c|0;if(!o)return i|0;a=(s[80+(r[c>>0]&127)>>0]|0)<<6|(s[80+(r[c+1>>0]&127)>>0]|0);if((o|0)==3)r[n+1>>0]=(a<<6|(s[80+(r[c+2>>0]&127)>>0]|0))>>>2;r[n>>0]=a>>>4;return i|0}function pe(e){e=e|0;var t=0;t=e+2|0;e=(t>>>0)/3|0;return(e<<2|t-(e*3|0))+-2|0}function me(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,a=0,c=0,f=0,u=0;c=t-((t>>>0)%3|0)|0;a=e+c|0;if(!c){c=n;a=e}else{i=n;o=e;do{c=s[o>>0]|0;f=c<<8|(s[o+1>>0]|0);u=s[o+2>>0]|0;o=o+3|0;r[i+3>>0]=r[16+(u&63)>>0]|0;r[i+2>>0]=r[16+((f<<8|u)>>>6&63)>>0]|0;r[i+1>>0]=r[16+(f>>>4&63)>>0]|0;r[i>>0]=r[16+(c>>>2)>>0]|0;i=i+4|0}while((o|0)!=(a|0));c=i}i=e+t-a|0;if(!i){f=c;u=n;u=f-u|0;return u|0}o=s[a>>0]|0;if((i|0)==2){i=s[a+1>>0]|0;r[c+2>>0]=r[16+(i<<2&60)>>0]|0;i=(o<<8|i)>>>4;o=3}else{i=o<<4;o=2}r[c+1>>0]=r[16+(i&63)>>0]|0;r[c>>0]=r[16+(i>>>6)>>0]|0;f=c+o|0;u=n;u=f-u|0;return u|0}function ge(e){e=e|0;var t=0;t=e+2|0;return((e&3|0)==1?-1:(t&3)+-2+((t>>>2)*3|0)|0)|0}function ye(e,t,n){e=e|0;t=t|0;n=n|0;he(e,t,n)|0;n=t+2|0;return((t&3|0)==1?-1:(n&3)+-2+((n>>>2)*3|0)|0)|0}function be(e,t){e=e|0;t=t|0;r[e+3>>0]=t;r[e+2>>0]=t>>>8;r[e+1>>0]=t>>>16;r[e>>0]=t>>>24;return e+4|0}function _e(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;o[n>>2]=0;r=e+4|0;if(r>>>0>t>>>0){r=t;return r|0}o[n>>2]=0;t=(s[e>>0]|0)<<8;o[n>>2]=t;t=(t|(s[e+1>>0]|0))<<8;o[n>>2]=t;t=(t|(s[e+2>>0]|0))<<8;o[n>>2]=t;o[n>>2]=t|(s[e+3>>0]|0);return r|0}function ve(e,t){e=e|0;t=t|0;r[e>>0]=t&1;return e+1|0}function Ae(e,t,n){e=e|0;t=t|0;n=n|0;if((e|0)==(t|0)){n=e;return n|0}r[n>>0]=(r[e>>0]|0)!=0&1;n=e+1|0;return n|0}function we(e,t,n){e=e|0;t=t|0;n=n|0;Ms(e|0,t|0,n|0)|0;return e+n|0}function Ee(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=e+r|0;if(i>>>0>t>>>0){i=t;return i|0}Ms(n|0,e|0,r|0)|0;return i|0}function ke(e){e=e|0;return 32}function Se(e,t){e=e|0;t=t|0;var n=0,i=0;i=e;n=i+32|0;do{r[i>>0]=r[t>>0]|0;i=i+1|0;t=t+1|0}while((i|0)<(n|0));return e+32|0}function Ie(e,t,n){e=e|0;t=t|0;n=n|0;var i=0;i=e+32|0;if(i>>>0>t>>>0){i=t;return i|0}t=e;e=n+32|0;do{r[n>>0]=r[t>>0]|0;n=n+1|0;t=t+1|0}while((n|0)<(e|0));return i|0}function Te(e){e=e|0;return 64}function Re(e,t){e=e|0;t=t|0;var n=0,i=0,o=0;n=e;i=t;o=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));n=e+32|0;i=t+32|0;o=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));return e+64|0}function Oe(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0;i=e+32|0;if(i>>>0>t>>>0)i=t;else{a=n;s=a+32|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0))}o=i+32|0;if(o>>>0>t>>>0){a=t;return a|0}a=n+32|0;e=i;s=a+32|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0));a=o;return a|0}function xe(e){e=e|0;return 32}function Ce(e,t){e=e|0;t=t|0;var n=0,i=0;i=e;n=i+32|0;do{r[i>>0]=r[t>>0]|0;i=i+1|0;t=t+1|0}while((i|0)<(n|0));return e+32|0}function Pe(e,t,n){e=e|0;t=t|0;n=n|0;var i=0;i=e+32|0;if(i>>>0>t>>>0){i=t;return i|0}t=e;e=n+32|0;do{r[n>>0]=r[t>>0]|0;n=n+1|0;t=t+1|0}while((n|0)<(e|0));return i|0}function Me(e){e=e|0;return 96}function De(e,t){e=e|0;t=t|0;var n=0,i=0,o=0;n=e;i=t;o=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));n=e+32|0;i=t+32|0;o=n+64|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));return e+96|0}function Be(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0;i=e+32|0;if(i>>>0>t>>>0)i=t;else{a=n;s=a+32|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0))}o=i+64|0;if(o>>>0>t>>>0){a=t;return a|0}a=n+32|0;e=i;s=a+64|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0));a=o;return a|0}function Ne(e,t){e=e|0;t=t|0;r[e+3>>0]=t;r[e+2>>0]=t>>>8;r[e+1>>0]=t>>>16;r[e>>0]=t>>>24;return e+4|0}function je(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;o[n>>2]=0;r=e+4|0;if(r>>>0>t>>>0){r=t;return r|0}o[n>>2]=0;t=(s[e>>0]|0)<<8;o[n>>2]=t;t=(t|(s[e+1>>0]|0))<<8;o[n>>2]=t;t=(t|(s[e+2>>0]|0))<<8;o[n>>2]=t;o[n>>2]=t|(s[e+3>>0]|0);return r|0}function Ue(e,t){e=e|0;t=t|0;r[e>>0]=(t|0)!=0&1;return e+1|0}function Le(e,t,n){e=e|0;t=t|0;n=n|0;if((e|0)==(t|0)){n=e;return n|0}r[n>>0]=(r[e>>0]|0)!=0&1;n=e+1|0;return n|0}function Fe(e,t,n){e=e|0;t=t|0;n=n|0;Ms(e|0,t|0,n|0)|0;return e+n|0}function qe(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=e+r|0;if(i>>>0>t>>>0){i=t;return i|0}Ms(n|0,e|0,r|0)|0;return i|0}function Ke(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0,s=0;if(t>>>0>127){o=t;i=1;while(1){i=i+1|0;if(o>>>0>16383)o=o>>>7;else{s=i;break}}}else s=1;if(e>>>0>127){i=1;while(1){i=i+1|0;if(e>>>0>16383)e=e>>>7;else{o=i;break}}}else o=1;if(n>>>0>127){e=n;i=1;while(1){i=i+1|0;if(e>>>0>16383)e=e>>>7;else break}}else i=1;return t+4+n+r+s+o+i|0}function ze(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;r[a>>0]=t;t=a+2|0;r[a+1>>0]=10;if(i>>>0>127){c=t;f=i;while(1){t=c+1|0;r[c>>0]=f|128;a=f>>>7;if(f>>>0>16383){c=t;f=a}else break}}else a=i;f=t+1|0;r[t>>0]=a;o[e>>2]=f;i=f+i|0;t=i+1|0;r[i>>0]=16;if(n>>>0>127)while(1){a=t+1|0;r[t>>0]=n|128;c=n>>>7;if(n>>>0>16383){t=a;n=c}else{n=c;break}}else a=t;r[a>>0]=n;c=e+4|0;t=a+2|0;r[a+1>>0]=34;if(s>>>0<=127){f=s;i=t;f=f&255;e=i+1|0;r[i>>0]=f;o[c>>2]=e;return}a=t;while(1){t=a+1|0;r[a>>0]=s|128;n=s>>>7;if(s>>>0>16383){a=t;s=n}else break}i=n&255;e=t+1|0;r[t>>0]=i;o[c>>2]=e;return}function Ge(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0;s=n-i|0;f=t+s|0;o[e+8>>2]=t;o[e+12>>2]=n;l=e+1|0;r[l>>0]=0;d=e+16|0;h=e+20|0;p=e+24|0;u=e+28|0;o[d>>2]=0;o[d+4>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;if(n>>>0>>0|(s|0)==0)return;r[e>>0]=r[t>>0]|0;if((s|0)==1)return;a=e+4|0;c=f;s=t+1|0;e:while(1){if((r[s>>0]|0)==10){t=s+1|0;if((t|0)!=(f|0)){e=t;while(1){i=e;e=e+1|0;if((r[i>>0]|0)>-1)break;if((e|0)==(f|0)){e=f;break}}if((e|0)!=(t|0)){n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(t|0));if(n>>>0>(c-e|0)>>>0){s=58;break}}else{n=0;e=t}}else{n=0;e=f}o[d>>2]=e;o[h>>2]=n;e=e+n|0}else e=s;if((e|0)==(f|0)){s=58;break}if((r[e>>0]|0)==16){t=e+1|0;if((t|0)!=(f|0)){e=t;while(1){i=e;e=e+1|0;if((r[i>>0]|0)>-1)break;if((e|0)==(f|0)){e=f;break}}if((e|0)==(t|0)){n=0;e=t}else{n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(t|0))}}else{n=0;e=f}o[a>>2]=n;r[l>>0]=1}if((e|0)==(f|0)){s=58;break}if((r[e>>0]|0)==34){t=e+1|0;if((t|0)!=(f|0)){e=t;while(1){i=e;e=e+1|0;if((r[i>>0]|0)>-1)break;if((e|0)==(f|0)){e=f;break}}if((e|0)!=(t|0)){n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(t|0));if(n>>>0>(c-e|0)>>>0){s=58;break}}else{n=0;e=t}}else{n=0;e=f}o[p>>2]=e;o[u>>2]=n;e=e+n|0}t:do{if(!((s|0)!=(e|0)|(e|0)==(f|0))){n=r[s>>0]|0;switch(n&7){case 0:{s=s+1|0;e=(s|0)==(f|0);if(n<<24>>24<=-1)while(1){if(e){s=58;break e}n=s+1|0;e=(n|0)==(f|0);if((r[s>>0]|0)>-1){s=n;break}else s=n}if(e)break t;while(1){t=s;s=s+1|0;if((r[t>>0]|0)>-1)break t;if((s|0)==(f|0)){s=58;break e}}}case 2:break;default:{s=58;break e}}s=s+1|0;e=(s|0)==(f|0);if(n<<24>>24<=-1)while(1){if(e){s=58;break e}n=s+1|0;e=(n|0)==(f|0);if((r[s>>0]|0)>-1){s=n;break}else s=n}if(!e){e=s;while(1){t=e;e=e+1|0;if((r[t>>0]|0)>-1)break;if((e|0)==(f|0)){e=f;break}}if((e|0)!=(s|0)){n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(s|0));if(n>>>0>(c-e|0)>>>0){s=58;break e}else s=e+n|0}}}else s=e}while(0);if((s|0)==(f|0)){s=58;break}}if((s|0)==58)return}function He(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0,s=0,a=0,c=0;if(e>>>0>127){o=e;i=1;while(1){i=i+1|0;if(o>>>0>16383)o=o>>>7;else break}}else i=1;if(t>>>0>127){s=t;o=1;while(1){o=o+1|0;if(s>>>0>16383)s=s>>>7;else break}}else o=1;if(n>>>0>127){a=n;s=1;while(1){s=s+1|0;if(a>>>0>16383)a=a>>>7;else{c=s;break}}}else c=1;if(r>>>0>127){a=r;s=1;while(1){s=s+1|0;if(a>>>0>16383)a=a>>>7;else break}}else s=1;return e+5+t+n+r+i+o+c+s|0}function Ve(e,t,n,i,s,a,c){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;var f=0,u=0,l=0;r[c>>0]=t;l=e+8|0;t=c+2|0;r[c+1>>0]=10;if(s>>>0>127){f=t;u=s;while(1){t=f+1|0;r[f>>0]=u|128;c=u>>>7;if(u>>>0>16383){f=t;u=c}else break}}else c=s;u=t+1|0;r[t>>0]=c;o[l>>2]=u;s=u+s|0;l=e+4|0;t=s+1|0;r[s>>0]=18;if(i>>>0>127){f=i;while(1){u=t+1|0;r[t>>0]=f|128;c=f>>>7;if(f>>>0>16383){t=u;f=c}else{t=u;break}}}else c=i;s=t+1|0;r[t>>0]=c;o[l>>2]=s;i=s+i|0;t=i+1|0;r[i>>0]=26;if(n>>>0>127){f=n;while(1){u=t+1|0;r[t>>0]=f|128;c=f>>>7;if(f>>>0>16383){t=u;f=c}else{t=u;break}}}else c=n;u=t+1|0;r[t>>0]=c;o[e>>2]=u;n=u+n|0;u=e+12|0;t=n+1|0;r[n>>0]=34;if(a>>>0<=127){i=a;e=t;i=i&255;n=e+1|0;r[e>>0]=i;o[u>>2]=n;return}f=t;while(1){t=f+1|0;r[f>>0]=a|128;c=a>>>7;if(a>>>0>16383){f=t;a=c}else break}e=c&255;n=t+1|0;r[t>>0]=e;o[u>>2]=n;return}function Qe(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0;u=t+n|0;l=e+20|0;d=e+24|0;h=e+4|0;p=e+8|0;m=e+12|0;g=e+16|0;c=e+28|0;f=e+32|0;o[h>>2]=0;o[h+4>>2]=0;o[h+8>>2]=0;o[h+12>>2]=0;o[h+16>>2]=0;o[h+20>>2]=0;o[h+24>>2]=0;o[h+28>>2]=0;if(!n)return;r[e>>0]=r[t>>0]|0;if((n|0)==1)return;a=u;e=t+1|0;e:while(1){if((r[e>>0]|0)==10){s=e+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[l>>2]=n;o[d>>2]=t;n=n+t|0}else n=e;if((n|0)==(u|0)){e=70;break}if((r[n>>0]|0)==18){s=n+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[m>>2]=n;o[g>>2]=t;n=n+t|0}if((n|0)==(u|0)){e=70;break}if((r[n>>0]|0)==26){s=n+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[h>>2]=n;o[p>>2]=t;n=n+t|0}if((n|0)==(u|0)){e=70;break}if((r[n>>0]|0)==34){s=n+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[c>>2]=n;o[f>>2]=t;n=n+t|0}t:do{if(!((e|0)!=(n|0)|(n|0)==(u|0))){t=r[e>>0]|0;switch(t&7){case 0:{e=e+1|0;n=(e|0)==(u|0);if(t<<24>>24<=-1)while(1){if(n){e=70;break e}t=e+1|0;n=(t|0)==(u|0);if((r[e>>0]|0)>-1){e=t;break}else e=t}if(n)break t;while(1){s=e;e=e+1|0;if((r[s>>0]|0)>-1)break t;if((e|0)==(u|0)){e=70;break e}}}case 2:break;default:{e=70;break e}}e=e+1|0;n=(e|0)==(u|0);if(t<<24>>24<=-1)while(1){if(n){e=70;break e}t=e+1|0;n=(t|0)==(u|0);if((r[e>>0]|0)>-1){e=t;break}else e=t}if(!n){n=e;while(1){s=n;n=n+1|0;if((r[s>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(e|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(e|0));if(t>>>0>(a-n|0)>>>0){e=70;break e}else e=n+t|0}}}else e=n}while(0);if((e|0)==(u|0)){e=70;break}}if((e|0)==70)return}function We(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0;if(e>>>0>127){i=1;while(1){i=i+1|0;if(e>>>0>16383)e=e>>>7;else break}}else i=1;if(t>>>0>127){o=t;e=1;while(1){e=e+1|0;if(o>>>0>16383)o=o>>>7;else break}}else e=1;return t+3+n+r+i+e|0}function Ye(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0;r[i>>0]=e;a=i+2|0;r[i+1>>0]=8;if(t>>>0>127){c=a;while(1){a=c+1|0;r[c>>0]=t|128;e=t>>>7;if(t>>>0>16383){c=a;t=e}else break}}else e=t;r[a>>0]=e;e=a+2|0;r[a+1>>0]=18;if(n>>>0>127){t=n;while(1){c=e+1|0;r[e>>0]=t|128;a=t>>>7;if(t>>>0>16383){e=c;t=a}else{e=c;break}}}else a=n;c=e+1|0;r[e>>0]=a;o[s>>2]=c;return c+n-i|0}function Xe(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,h=0;f=i+n|0;n=t-f|0;u=e+n|0;l=s+4|0;o[l>>2]=0;d=s+12|0;o[d>>2]=0;h=s+16|0;o[h>>2]=0;if(f>>>0>t>>>0|(n|0)==0)return;r[s>>0]=r[e>>0]|0;e:do{if((n|0)==1)n=0;else{f=u;n=0;i=e+1|0;do{if((r[i>>0]|0)==8){a=i+1|0;if((a|0)!=(u|0)){n=a;while(1){c=n;n=n+1|0;if((r[c>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)==(a|0)){t=0;n=a}else{t=0;e=n;do{e=e+-1|0;t=t<<7|r[e>>0]&127}while((e|0)!=(a|0))}}else{t=0;n=u}o[l>>2]=t;t=n;n=1}else t=i;if((t|0)==(u|0))break e;if((r[t>>0]|0)==18){c=t+1|0;if((c|0)!=(u|0)){t=c;while(1){a=t;t=t+1|0;if((r[a>>0]|0)>-1)break;if((t|0)==(u|0)){t=u;break}}if((t|0)!=(c|0)){e=0;a=t;do{a=a+-1|0;e=e<<7|r[a>>0]&127}while((a|0)!=(c|0));if(e>>>0>(f-t|0)>>>0)break e}else{e=0;t=c}}else{e=0;t=u}o[d>>2]=t;o[h>>2]=e;t=t+e|0}t:do{if(!((i|0)!=(t|0)|(t|0)==(u|0))){e=r[i>>0]|0;switch(e&7){case 0:{i=i+1|0;t=(i|0)==(u|0);if(e<<24>>24<=-1)while(1){if(t)break e;e=i+1|0;t=(e|0)==(u|0);if((r[i>>0]|0)>-1){i=e;break}else i=e}if(t)break t;while(1){c=i;i=i+1|0;if((r[c>>0]|0)>-1)break t;if((i|0)==(u|0))break e}}case 2:break;default:break e}i=i+1|0;t=(i|0)==(u|0);if(e<<24>>24<=-1)while(1){if(t)break e;e=i+1|0;t=(e|0)==(u|0);if((r[i>>0]|0)>-1){i=e;break}else i=e}if(!t){t=i;while(1){c=t;t=t+1|0;if((r[c>>0]|0)>-1)break;if((t|0)==(u|0)){t=u;break}}if((t|0)!=(i|0)){e=0;a=t;do{a=a+-1|0;e=e<<7|r[a>>0]&127}while((a|0)!=(i|0));if(e>>>0>(f-t|0)>>>0)break e;else i=t+e|0}}}else i=t}while(0)}while((i|0)!=(u|0))}}while(0);o[s+8>>2]=n&255;return}function Je(e){e=e|0;gn(e,37520,37536);o[e+3216>>2]=0;r[e+3220>>0]=0;return}function Ze(e){e=e|0;return 64}function $e(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var c=0,f=0,u=0,l=0,d=0;d=h;h=h+224|0;f=d+160|0;u=d+96|0;l=d;if(a>>>0<64){o[e+3216>>2]=1;l=-1;h=d;return l|0}else{pt(s,f);pt(s+32|0,u);t=t+96|0;r[e+3220>>0]=0;s=e+3221|0;a=t;c=s+32|0;do{r[s>>0]=r[a>>0]|0;s=s+1|0;a=a+1|0}while((s|0)<(c|0));s=e+3253|0;a=f;c=s+32|0;do{r[s>>0]=r[a>>0]|0;s=s+1|0;a=a+1|0}while((s|0)<(c|0));s=e+3285|0;a=i;c=s+32|0;do{r[s>>0]=r[a>>0]|0;s=s+1|0;a=a+1|0}while((s|0)<(c|0));mt(t,i,l);mt(f,n,l+32|0);mt(f,i,l+64|0);bn(e,l,96,u);Hr(f,64);Hr(u,64);Hr(l,96);l=0;h=d;return l|0}return 0}function et(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0;b=h;h=h+208|0;p=b+128|0;m=b+96|0;g=b+168|0;y=b;Qe(p,i,s);c=(n|0)!=0;i=o[p+4>>2]|0;a=(i|0)!=0;s=c|a;if(i)s=s&(o[p+8>>2]|0)==32;l=o[p+28>>2]|0;u=o[p+12>>2]|0;d=o[p+20>>2]|0;if(!(s&(l|0)!=0&(u|0)!=0&(o[p+16>>2]|0)==32&(d|0)!=0&(o[p+24>>2]|0)==32)){o[e+3216>>2]=4;y=-1;h=b;return y|0}if(c&a?qo(n,i,32)|0:0){o[e+3216>>2]=6;y=-1;h=b;return y|0}f=e+3221|0;n=f;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));c=e+3253|0;n=c;i=u;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));s=e+3285|0;n=s;i=d;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));p=o[p+32>>2]|0;i=o[e+4>>2]|0;Ge(m,l,p,Gs[o[o[i>>2]>>2]&1](i)|0);i=o[m+16>>2]|0;if((i|0)!=0?(o[m+20>>2]|0)==32:0){n=g;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));i=Tr(t,s)|0;if(!i){o[e+3216>>2]=6;i=-1}else{i=i+5|0;mt(i,f,y);mt(t+96|0,c,y+32|0);mt(i,c,y+64|0);yn(e,y,96,g);Hr(y,96);i=0}}else{o[e+3216>>2]=4;i=-1}y=i;h=b;return y|0}function tt(e){e=e|0;return 32}function nt(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0;c=h;h=h+96|0;a=c;if(n>>>0<32){o[e+3216>>2]=2;a=-1;h=c;return a|0}else{n=a;i=e+3221|0;s=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(s|0));n=a+32|0;i=e+3253|0;s=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(s|0));n=a+64|0;i=e+3285|0;s=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(s|0));wt(a,96,t);a=32;h=c;return a|0}return 0}function rt(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,c=0,f=0,u=0;u=h;h=h+48|0;f=u;Qe(f,n,r);c=(t|0)!=0;a=o[f+4>>2]|0;n=c|(a|0)!=0;r=(a|0)==0;if(!r)n=n&(o[f+8>>2]|0)==32;i=o[f+12>>2]|0;s=o[f+20>>2]|0;if(!(n&(o[f+28>>2]|0)!=0&(i|0)!=0&(o[f+16>>2]|0)==32&(s|0)!=0&(o[f+24>>2]|0)==32)){t=0;h=u;return t|0}if(r)n=1;else n=(qo(a,e+3221|0,32)|0)==0;if(c){if(!n){t=0;h=u;return t|0}if(qo(t,e+3221|0,32)|0){t=0;h=u;return t|0}}else if(!n){t=0;h=u;return t|0}if(qo(i,e+3253|0,32)|0){t=0;h=u;return t|0}t=(qo(s,e+3285|0,32)|0)==0;h=u;return t|0}function it(e){e=e|0;return s[e+3220>>0]|0|0}function ot(e,t){e=e|0;t=t|0;t=wn(e,t)|0;if(r[e+3220>>0]|0){e=t;return e|0}e=He(32,32,32,t)|0;return e|0}function st(e){e=e|0;return En(e)|0}function at(e,t,n,i,s,a,c){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;var f=0,u=0,l=0,d=0,p=0;p=h;h=h+16|0;d=p;f=wn(e,n)|0;u=e+3220|0;if(!(r[u>>0]|0))f=He(32,32,32,f)|0;if(f>>>0>c>>>0){o[e+3216>>2]=2;e=-1;h=p;return e|0}l=wn(e,n)|0;if(!(r[u>>0]|0)){Ve(d,3,32,32,32,l,a);a=o[d+8>>2]|0;f=e+3285|0;c=a+32|0;do{r[a>>0]=r[f>>0]|0;a=a+1|0;f=f+1|0}while((a|0)<(c|0));a=o[d>>2]|0;f=e+3221|0;c=a+32|0;do{r[a>>0]=r[f>>0]|0;a=a+1|0;f=f+1|0}while((a|0)<(c|0));a=o[d+4>>2]|0;f=e+3253|0;c=a+32|0;do{r[a>>0]=r[f>>0]|0;a=a+1|0;f=f+1|0}while((a|0)<(c|0));a=o[d+12>>2]|0}a=kn(e,t,n,i,s,a,l)|0;if((a|0)!=-1){e=a;h=p;return e|0}s=e+8|0;o[e+3216>>2]=o[s>>2];o[s>>2]=0;e=-1;h=p;return e|0}function ct(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0;s=h;h=h+48|0;i=s;do{if((t|0)!=1){Qe(i,n,r);n=o[i+28>>2]|0;if(n|0){r=o[i+32>>2]|0;break}o[e+3216>>2]=4;e=-1;h=s;return e|0}}while(0);n=Sn(e,n,r)|0;if((n|0)!=-1){e=n;h=s;return e|0}i=e+8|0;o[e+3216>>2]=o[i>>2];o[i>>2]=0;e=-1;h=s;return e|0}function ft(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;f=h;h=h+48|0;c=f;do{if((t|0)!=1){Qe(c,n,i);n=o[c+28>>2]|0;if(n|0){i=o[c+32>>2]|0;break}o[e+3216>>2]=4;e=-1;h=f;return e|0}}while(0);n=In(e,n,i,s,a)|0;if((n|0)==-1){a=e+8|0;o[e+3216>>2]=o[a>>2];o[a>>2]=0;e=-1;h=f;return e|0}else{r[e+3220>>0]=1;e=n;h=f;return e|0}return 0}function ut(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0;m=h;h=h+48|0;p=m+32|0;u=m+24|0;l=m+16|0;i=m;if(!n){h=m;return}r[t>>0]=0;f=t;o[i>>2]=o[e+112>>2];i=vs(t,n,38002,i)|0;i=(i|0)>0?t+i|0:t;d=f+n|0;a=vs(i,d-i|0,38026,m+8|0)|0;i=(a|0)>0?i+a|0:i;a=e+148|0;c=e+152|0;t=f-i+n|0;if((o[a>>2]|0)!=(c|0)){s=0;do{o[u>>2]=o[e+152+(s*68|0)+32>>2];t=vs(i,t,38073,u)|0;i=(t|0)>0?i+t|0:i;s=s+1|0;t=f-i+n|0}while(s>>>0<(((o[a>>2]|0)-c|0)/68|0)>>>0)}t=vs(i,t,38050,l)|0;a=e+492|0;c=e+496|0;if((o[a>>2]|0)==(c|0)){h=m;return}s=0;t=(t|0)>-1?i+t|0:i;while(1){o[p>>2]=o[e+496+(s*68|0)+32>>2];i=vs(t,d-t|0,38073,p)|0;s=s+1|0;if(s>>>0>=(((o[a>>2]|0)-c|0)/68|0)>>>0)break;else t=(i|0)>0?t+i|0:t}h=m;return}function lt(e){e=e|0;var t=0;t=(ke(e+3221|0)|0)+5|0;t=t+(ke(e+3253|0)|0)|0;t=t+(ke(e+3285|0)|0)|0;return t+(_n(e)|0)|0}function dt(e,t){e=e|0;t=t|0;e=be(e,1)|0;return vn(Se(Se(Se(ve(e,(r[t+3220>>0]|0)!=0)|0,t+3221|0)|0,t+3253|0)|0,t+3285|0)|0,t)|0}function ht(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0;s=h;h=h+16|0;r=s;i=_e(e,t,r)|0;e=o[r>>2]|0;e:do{if((e|0)<1){switch(e|0){case-2147483647:break;default:{r=3;break e}}e=1;r=4}else switch(e|0){case 1:{e=0;r=4;break}default:r=3}}while(0);if((r|0)==3){o[n+3216>>2]=9;n=t;h=s;return n|0}else if((r|0)==4){n=An(Ie(Ie(Ie(Ae(i,t,n+3220|0)|0,t,n+3221|0)|0,t,n+3253|0)|0,t,n+3285|0)|0,t,n,e)|0;h=s;return n|0}return 0}function pt(e,t){e=e|0;t=t|0;var n=0,i=0,o=0;i=t+32|0;o=i;n=o+32|0;do{r[o>>0]=r[e>>0]|0;o=o+1|0;e=e+1|0}while((o|0)<(n|0));Po(t,i,208)|0;return}function mt(e,t,n){e=e|0;t=t|0;n=n|0;Po(n,e+32|0,t)|0;return}function gt(e,t){e=e|0;t=t|0;hi(t,t+32|0,e);return}function yt(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;bi(r,t,n,e,e+32|0);return}function bt(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return(yi(r,t,n,e)|0)!=0|0}function _t(e){e=e|0;return e+16-(e&15)|0}function vt(e,t,n,i,o){e=e|0;t=t|0;n=n|0;i=i|0;o=o|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0;C=h;h=h+256|0;O=C+16|0;x=C;Oo(e,O,256);T=x;k=T+16|0;do{r[T>>0]=r[t>>0]|0;T=T+1|0;t=t+1|0}while((T|0)<(k|0));if(i>>>0>15){A=x+1|0;w=x+2|0;a=x+3|0;c=x+4|0;f=x+5|0;u=x+6|0;l=x+7|0;d=x+8|0;p=x+9|0;m=x+10|0;g=x+11|0;y=x+12|0;b=x+13|0;_=x+14|0;v=x+15|0;S=i+-16|0;I=S&-16;R=I+16|0;E=o+R|0;e=i;i=n;while(1){r[x>>0]=r[x>>0]^r[i>>0];r[A>>0]=r[A>>0]^r[i+1>>0];r[w>>0]=r[w>>0]^r[i+2>>0];r[a>>0]=r[a>>0]^r[i+3>>0];r[c>>0]=r[c>>0]^r[i+4>>0];r[f>>0]=r[f>>0]^r[i+5>>0];r[u>>0]=r[u>>0]^r[i+6>>0];r[l>>0]=r[l>>0]^r[i+7>>0];r[d>>0]=r[d>>0]^r[i+8>>0];r[p>>0]=r[p>>0]^r[i+9>>0];r[m>>0]=r[m>>0]^r[i+10>>0];r[g>>0]=r[g>>0]^r[i+11>>0];r[y>>0]=r[y>>0]^r[i+12>>0];r[b>>0]=r[b>>0]^r[i+13>>0];r[_>>0]=r[_>>0]^r[i+14>>0];r[v>>0]=r[v>>0]^r[i+15>>0];To(x,o,O,256);T=x;t=o;k=T+16|0;do{r[T>>0]=r[t>>0]|0;T=T+1|0;t=t+1|0}while((T|0)<(k|0));e=e+-16|0;if(e>>>0<=15)break;else{o=o+16|0;i=i+16|0}}o=E;t=S-I|0;n=n+R|0}else t=i;if(t){e=0;do{R=x+e|0;r[R>>0]=r[R>>0]^r[n+e>>0];e=e+1|0}while((e|0)!=(t|0));if(t>>>0<16)n=t;else{To(x,o,O,256);Hr(O,240);Hr(x,16);h=C;return}}else n=0;e=16-t|0;do{R=x+n|0;r[R>>0]=e^(s[R>>0]|0);n=n+1|0}while((n|0)!=16);To(x,o,O,256);Hr(O,240);Hr(x,16);h=C;return}function At(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0;O=h;h=h+272|0;I=O+32|0;T=O+16|0;R=O;Oo(e,I,256);S=T;k=S+16|0;do{r[S>>0]=r[t>>0]|0;S=S+1|0;t=t+1|0}while((S|0)<(k|0));if(!i){Hr(I,240);Hr(T,16);Hr(R,16);R=i+-1|0;R=s+R|0;R=r[R>>0]|0;R=R&255;T=R>>>0>i>>>0;R=i-R|0;R=T?-1:R;h=O;return R|0}E=T+1|0;a=T+2|0;c=T+3|0;f=T+4|0;u=T+5|0;l=T+6|0;d=T+7|0;p=T+8|0;m=T+9|0;g=T+10|0;y=T+11|0;b=T+12|0;_=T+13|0;v=T+14|0;A=T+15|0;e=0;do{w=n+e|0;S=R;t=w;k=S+16|0;do{r[S>>0]=r[t>>0]|0;S=S+1|0;t=t+1|0}while((S|0)<(k|0));S=s+e|0;Co(w,S,I,256);r[S>>0]=r[S>>0]^r[T>>0];k=S+1|0;r[k>>0]=r[k>>0]^r[E>>0];k=S+2|0;r[k>>0]=r[k>>0]^r[a>>0];k=S+3|0;r[k>>0]=r[k>>0]^r[c>>0];k=S+4|0;r[k>>0]=r[k>>0]^r[f>>0];k=S+5|0;r[k>>0]=r[k>>0]^r[u>>0];k=S+6|0;r[k>>0]=r[k>>0]^r[l>>0];k=S+7|0;r[k>>0]=r[k>>0]^r[d>>0];k=S+8|0;r[k>>0]=r[k>>0]^r[p>>0];k=S+9|0;r[k>>0]=r[k>>0]^r[m>>0];k=S+10|0;r[k>>0]=r[k>>0]^r[g>>0];k=S+11|0;r[k>>0]=r[k>>0]^r[y>>0];k=S+12|0;r[k>>0]=r[k>>0]^r[b>>0];k=S+13|0;r[k>>0]=r[k>>0]^r[_>>0];k=S+14|0;r[k>>0]=r[k>>0]^r[v>>0];S=S+15|0;r[S>>0]=r[S>>0]^r[A>>0];o[T>>2]=o[R>>2];o[T+4>>2]=o[R+4>>2];o[T+8>>2]=o[R+8>>2];o[T+12>>2]=o[R+12>>2];e=e+16|0}while(e>>>0>>0);Hr(I,240);Hr(T,16);Hr(R,16);R=i+-1|0;R=s+R|0;R=r[R>>0]|0;R=R&255;T=R>>>0>i>>>0;R=i-R|0;R=T?-1:R;h=O;return R|0}function wt(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0;r=h;h=h+112|0;i=r;ko(i);So(i,e,t);Io(i,n);Hr(i,112);h=r;return}function Et(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0;u=h;h=h+288|0;s=u+176|0;a=u;c=u+64|0;f=a;l=f+64|0;do{o[f>>2]=0;f=f+4|0}while((f|0)<(l|0));if(t>>>0>64){ko(s);So(s,e,t);Io(s,a)}else Ms(a|0,e|0,t|0)|0;kt(c,a);So(c,n,r);St(c,a,i);Hr(a,64);Hr(c,112);h=u;return}function kt(e,t){e=e|0;t=t|0;var n=0,i=0,o=0,s=0;s=h;h=h+64|0;i=s;o=i;n=o+64|0;do{r[o>>0]=r[t>>0]|0;o=o+1|0;t=t+1|0}while((o|0)<(n|0));r[i>>0]=r[i>>0]^54;o=i+1|0;r[o>>0]=r[o>>0]^54;o=i+2|0;r[o>>0]=r[o>>0]^54;o=i+3|0;r[o>>0]=r[o>>0]^54;o=i+4|0;r[o>>0]=r[o>>0]^54;o=i+5|0;r[o>>0]=r[o>>0]^54;o=i+6|0;r[o>>0]=r[o>>0]^54;o=i+7|0;r[o>>0]=r[o>>0]^54;o=i+8|0;r[o>>0]=r[o>>0]^54;o=i+9|0;r[o>>0]=r[o>>0]^54;o=i+10|0;r[o>>0]=r[o>>0]^54;o=i+11|0;r[o>>0]=r[o>>0]^54;o=i+12|0;r[o>>0]=r[o>>0]^54;o=i+13|0;r[o>>0]=r[o>>0]^54;o=i+14|0;r[o>>0]=r[o>>0]^54;o=i+15|0;r[o>>0]=r[o>>0]^54;o=i+16|0;r[o>>0]=r[o>>0]^54;o=i+17|0;r[o>>0]=r[o>>0]^54;o=i+18|0;r[o>>0]=r[o>>0]^54;o=i+19|0;r[o>>0]=r[o>>0]^54;o=i+20|0;r[o>>0]=r[o>>0]^54;o=i+21|0;r[o>>0]=r[o>>0]^54;o=i+22|0;r[o>>0]=r[o>>0]^54;o=i+23|0;r[o>>0]=r[o>>0]^54;o=i+24|0;r[o>>0]=r[o>>0]^54;o=i+25|0;r[o>>0]=r[o>>0]^54;o=i+26|0;r[o>>0]=r[o>>0]^54;o=i+27|0;r[o>>0]=r[o>>0]^54;o=i+28|0;r[o>>0]=r[o>>0]^54;o=i+29|0;r[o>>0]=r[o>>0]^54;o=i+30|0;r[o>>0]=r[o>>0]^54;o=i+31|0;r[o>>0]=r[o>>0]^54;o=i+32|0;r[o>>0]=r[o>>0]^54;o=i+33|0;r[o>>0]=r[o>>0]^54;o=i+34|0;r[o>>0]=r[o>>0]^54;o=i+35|0;r[o>>0]=r[o>>0]^54;o=i+36|0;r[o>>0]=r[o>>0]^54;o=i+37|0;r[o>>0]=r[o>>0]^54;o=i+38|0;r[o>>0]=r[o>>0]^54;o=i+39|0;r[o>>0]=r[o>>0]^54;o=i+40|0;r[o>>0]=r[o>>0]^54;o=i+41|0;r[o>>0]=r[o>>0]^54;o=i+42|0;r[o>>0]=r[o>>0]^54;o=i+43|0;r[o>>0]=r[o>>0]^54;o=i+44|0;r[o>>0]=r[o>>0]^54;o=i+45|0;r[o>>0]=r[o>>0]^54;o=i+46|0;r[o>>0]=r[o>>0]^54;o=i+47|0;r[o>>0]=r[o>>0]^54;o=i+48|0;r[o>>0]=r[o>>0]^54;o=i+49|0;r[o>>0]=r[o>>0]^54;o=i+50|0;r[o>>0]=r[o>>0]^54;o=i+51|0;r[o>>0]=r[o>>0]^54;o=i+52|0;r[o>>0]=r[o>>0]^54;o=i+53|0;r[o>>0]=r[o>>0]^54;o=i+54|0;r[o>>0]=r[o>>0]^54;o=i+55|0;r[o>>0]=r[o>>0]^54;o=i+56|0;r[o>>0]=r[o>>0]^54;o=i+57|0;r[o>>0]=r[o>>0]^54;o=i+58|0;r[o>>0]=r[o>>0]^54;o=i+59|0;r[o>>0]=r[o>>0]^54;o=i+60|0;r[o>>0]=r[o>>0]^54;o=i+61|0;r[o>>0]=r[o>>0]^54;o=i+62|0;r[o>>0]=r[o>>0]^54;o=i+63|0;r[o>>0]=r[o>>0]^54;ko(e);So(e,i,64);Hr(i,64);h=s;return}function St(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0,c=0;c=h;h=h+208|0;o=c;s=c+96|0;a=o;i=a+64|0;do{r[a>>0]=r[t>>0]|0;a=a+1|0;t=t+1|0}while((a|0)<(i|0));r[o>>0]=r[o>>0]^92;a=o+1|0;r[a>>0]=r[a>>0]^92;a=o+2|0;r[a>>0]=r[a>>0]^92;a=o+3|0;r[a>>0]=r[a>>0]^92;a=o+4|0;r[a>>0]=r[a>>0]^92;a=o+5|0;r[a>>0]=r[a>>0]^92;a=o+6|0;r[a>>0]=r[a>>0]^92;a=o+7|0;r[a>>0]=r[a>>0]^92;a=o+8|0;r[a>>0]=r[a>>0]^92;a=o+9|0;r[a>>0]=r[a>>0]^92;a=o+10|0;r[a>>0]=r[a>>0]^92;a=o+11|0;r[a>>0]=r[a>>0]^92;a=o+12|0;r[a>>0]=r[a>>0]^92;a=o+13|0;r[a>>0]=r[a>>0]^92;a=o+14|0;r[a>>0]=r[a>>0]^92;a=o+15|0;r[a>>0]=r[a>>0]^92;a=o+16|0;r[a>>0]=r[a>>0]^92;a=o+17|0;r[a>>0]=r[a>>0]^92;a=o+18|0;r[a>>0]=r[a>>0]^92;a=o+19|0;r[a>>0]=r[a>>0]^92;a=o+20|0;r[a>>0]=r[a>>0]^92;a=o+21|0;r[a>>0]=r[a>>0]^92;a=o+22|0;r[a>>0]=r[a>>0]^92;a=o+23|0;r[a>>0]=r[a>>0]^92;a=o+24|0;r[a>>0]=r[a>>0]^92;a=o+25|0;r[a>>0]=r[a>>0]^92;a=o+26|0;r[a>>0]=r[a>>0]^92;a=o+27|0;r[a>>0]=r[a>>0]^92;a=o+28|0;r[a>>0]=r[a>>0]^92;a=o+29|0;r[a>>0]=r[a>>0]^92;a=o+30|0;r[a>>0]=r[a>>0]^92;a=o+31|0;r[a>>0]=r[a>>0]^92;a=o+32|0;r[a>>0]=r[a>>0]^92;a=o+33|0;r[a>>0]=r[a>>0]^92;a=o+34|0;r[a>>0]=r[a>>0]^92;a=o+35|0;r[a>>0]=r[a>>0]^92;a=o+36|0;r[a>>0]=r[a>>0]^92;a=o+37|0;r[a>>0]=r[a>>0]^92;a=o+38|0;r[a>>0]=r[a>>0]^92;a=o+39|0;r[a>>0]=r[a>>0]^92;a=o+40|0;r[a>>0]=r[a>>0]^92;a=o+41|0;r[a>>0]=r[a>>0]^92;a=o+42|0;r[a>>0]=r[a>>0]^92;a=o+43|0;r[a>>0]=r[a>>0]^92;a=o+44|0;r[a>>0]=r[a>>0]^92;a=o+45|0;r[a>>0]=r[a>>0]^92;a=o+46|0;r[a>>0]=r[a>>0]^92;a=o+47|0;r[a>>0]=r[a>>0]^92;a=o+48|0;r[a>>0]=r[a>>0]^92;a=o+49|0;r[a>>0]=r[a>>0]^92;a=o+50|0;r[a>>0]=r[a>>0]^92;a=o+51|0;r[a>>0]=r[a>>0]^92;a=o+52|0;r[a>>0]=r[a>>0]^92;a=o+53|0;r[a>>0]=r[a>>0]^92;a=o+54|0;r[a>>0]=r[a>>0]^92;a=o+55|0;r[a>>0]=r[a>>0]^92;a=o+56|0;r[a>>0]=r[a>>0]^92;a=o+57|0;r[a>>0]=r[a>>0]^92;a=o+58|0;r[a>>0]=r[a>>0]^92;a=o+59|0;r[a>>0]=r[a>>0]^92;a=o+60|0;r[a>>0]=r[a>>0]^92;a=o+61|0;r[a>>0]=r[a>>0]^92;a=o+62|0;r[a>>0]=r[a>>0]^92;a=o+63|0;r[a>>0]=r[a>>0]^92;Io(e,o+64|0);ko(s);So(s,o,96);Io(s,n);Hr(s,112);Hr(o,96);h=c;return}function It(e,t,n,i,s,a,c,f){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;f=f|0;var u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0;_=h;h=h+336|0;l=_+208|0;b=_+96|0;m=_+32|0;g=_;y=_+320|0;r[y>>0]=1;d=(n|0)==0;u=d?32:i;i=d?38496:n;d=m;p=d+64|0;do{o[d>>2]=0;d=d+4|0}while((d|0)<(p|0));if(u>>>0>64){ko(l);So(l,i,u);Io(l,m)}else Ms(m|0,i|0,u|0)|0;kt(b,m);So(b,e,t);St(b,m,g);p=m+32|0;o[p>>2]=0;o[p+4>>2]=0;o[p+8>>2]=0;o[p+12>>2]=0;o[p+16>>2]=0;o[p+20>>2]=0;o[p+24>>2]=0;o[p+28>>2]=0;o[m>>2]=o[g>>2];o[m+4>>2]=o[g+4>>2];o[m+8>>2]=o[g+8>>2];o[m+12>>2]=o[g+12>>2];o[m+16>>2]=o[g+16>>2];o[m+20>>2]=o[g+20>>2];o[m+24>>2]=o[g+24>>2];o[m+28>>2]=o[g+28>>2];kt(b,m);So(b,s,a);So(b,y,1);St(b,m,g);if(f>>>0<=32){a=f;Ms(c|0,g|0,a|0)|0;Hr(b,112);Hr(m,64);Hr(g,32);h=_;return}e=f+-33&-32;t=e+32|0;l=f+-32|0;u=c;i=f;while(1){d=u;n=g;p=d+32|0;do{r[d>>0]=r[n>>0]|0;d=d+1|0;n=n+1|0}while((d|0)<(p|0));i=i+-32|0;r[y>>0]=(r[y>>0]|0)+1<<24>>24;kt(b,m);So(b,g,32);So(b,s,a);So(b,y,1);St(b,m,g);if(i>>>0<=32)break;else u=u+32|0}a=l-e|0;c=c+t|0;Ms(c|0,g|0,a|0)|0;Hr(b,112);Hr(m,64);Hr(g,32);h=_;return}function Tt(e){e=e|0;return Si(o[e>>2]|0)|0}function Rt(){return 36}function Ot(e){e=e|0;Hr(e,36);return e|0}function xt(e){e=e|0;var t=0;Hr(e,36);t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));return 36}function Ct(e,t,n){e=e|0;t=t|0;n=n|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=15;n=-1;return n|0}else{he(t,ue(32)|0,e+4|0)|0;n=0;return n|0}return 0}function Pt(){return ue(32)|0}function Mt(e,t){e=e|0;t=t|0;return ue(Hs[o[37564>>2]&3](37548,t)|0)|0}function Dt(e){e=e|0;return ue(Gs[o[9390]&1](37548)|0)|0}function Bt(e){e=e|0;return 32}function Nt(e,t,n,r,i,s,a,c,f,u,l){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;c=c|0;f=f|0;u=u|0;l=l|0;var d=0,p=0,m=0,g=0;g=h;h=h+112|0;d=g+40|0;p=g;m=g+32|0;if(((ue(Hs[o[37564>>2]&3](37548,n)|0)|0)>>>0<=i>>>0?(Gs[o[9390]&1](37548)|0)>>>0<=a>>>0:0)?(ue(32)|0)>>>0<=f>>>0:0){if(l>>>0<32){o[e>>2]=1;s=-1;h=g;return s|0}pt(u,d);le(d,32,c)|0;mt(d,e+4|0,p);d=Hs[o[37564>>2]&3](37548,n)|0;l=r+i+(0-d)|0;e=Qs[o[37568>>2]&3](37548,p,32,t,n,l,d,m,8)|0;if((e|0)!=-1){le(m,8,s)|0;le(l,d,r)|0}s=e;h=g;return s|0}o[e>>2]=2;s=-1;h=g;return s|0}function jt(e){e=e|0;return Si(o[e>>2]|0)|0}function Ut(){return 68}function Lt(e){e=e|0;Hr(e,68);return e|0}function Ft(e){e=e|0;var t=0;Hr(e,68);t=e+68|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));return 68}function qt(){return 32}function Kt(){return 32}function zt(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=2;i=-1;return i|0}if(i>>>0<32){o[e>>2]=15;i=-1;return i|0}else{i=e+4|0;pt(r,i);le(i,32,t)|0;i=0;return i|0}return 0}function Gt(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=2;i=-1;return i|0}if(i>>>0<32){o[e>>2]=15;i=-1;return i|0}else{i=e+4|0;pt(r,i);le(i,32,t)|0;i=0;return i|0}return 0}function Ht(e){e=e|0;return Ii((Te(e+4|0)|0)+4|0)|0}function Vt(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;s=e+4|0;a=(Te(s)|0)+4|0;if((Ii(a)|0)>>>0>i>>>0){o[e>>2]=2;a=-1;return a|0}else{Re(be(Ti(r,a)|0,1)|0,s)|0;a=Ri(t,n,r,a)|0;return a|0}return 0}function Qt(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0,f=0,u=0,l=0;l=h;h=h+16|0;f=l;u=(s|0)!=0;if(u?(ue(32)|0)>>>0>a>>>0:0){o[e>>2]=2;i=-1}else c=4;do{if((c|0)==4){t=Oi(t,n,r,i,e)|0;if((t|0)!=-1){a=r+t|0;t=a+1|0;n=_e(r,t,f)|0;if((o[f>>2]|0)==1)t=Oe(n,t,e+4|0)|0;else o[e>>2]=9;if((a|0)==(t|0)){if(!u)break;le(e+4|0,32,s)|0;break}else{if(o[e>>2]|0){i=-1;break}o[e>>2]=10;i=-1;break}}else i=-1}}while(0);h=l;return i|0}function Wt(e,t){e=e|0;t=t|0;e=o[9393]|0;t=de(t)|0;return Hs[e&3](37548,t)|0}function Yt(e,t,n,r,i,s,a,c,f){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;c=c|0;f=f|0;var u=0,l=0,d=0,p=0,m=0;d=h;h=h+80|0;l=d+40|0;i=d;u=d+32|0;m=o[9393]|0;p=de(a)|0;if((Hs[m&3](37548,p)|0)>>>0>f>>>0){o[e>>2]=2;m=-1;h=d;return m|0}he(t,n,l)|0;mt(e+4|0,l,i);he(r,ue(8)|0,u)|0;m=de(a)|0;he(s,a,s)|0;i=Qs[o[37576>>2]&3](37548,i,32,u,8,s,m,c,f)|0;if((i|0)==-1){o[e>>2]=5;i=-1}m=i;h=d;return m|0}function Xt(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<32){o[e>>2]=2;e=-1;return e|0}else{n=e+36|0;e=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(e|0));e=32;return e|0}return 0}function Jt(){return 100}function Zt(e){e=e|0;Hr(e,100);return e|0}function $t(e){e=e|0;return Si(o[e>>2]|0)|0}function en(e){e=e|0;var t=0;Hr(e,100);t=e+100|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));return 100}function tn(){return 32}function nn(){return ue(32)|0}function rn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=2;i=-1;return i|0}if(i>>>0<32){o[e>>2]=15;i=-1;return i|0}else{i=e+4|0;gt(r,i);le(i,32,t)|0;i=0;return i|0}return 0}function on(){return ue(64)|0}function sn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(64)|0)>>>0>i>>>0){o[e>>2]=2;i=-1;return i|0}else{i=r+(ue(64)|0)+-64|0;yt(e+4|0,t,n,i);le(i,64,r)|0;i=ue(64)|0;return i|0}return 0}function an(e){e=e|0;return 8}function cn(e,t){e=e|0;t=t|0;return _t(t)|0}function fn(e,t,n,i,s,a,c,f,u){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;f=f|0;u=u|0;var l=0,d=0,p=0,m=0;m=h;h=h+192|0;p=m+32|0;l=m+112|0;d=m;if(u>>>0<8|(_t(s)|0)>>>0>c>>>0){p=-1;h=m;return p|0}It(t,n,0,0,o[e+4>>2]|0,o[e+8>>2]|0,p,80);t=l;n=p;c=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(c|0));e=l+32|0;t=e;n=p+32|0;c=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(c|0));t=l+64|0;n=p+64|0;c=t+16|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(c|0));Hr(p,80);vt(l,l+64|0,i,s,a);Et(e,32,f,u+-8|0,d);a=d;s=o[a>>2]|0;a=o[a+4>>2]|0;p=f+u+-8|0;f=p;r[f>>0]=s;r[f+1>>0]=s>>8;r[f+2>>0]=s>>16;r[f+3>>0]=s>>24;p=p+4|0;r[p>>0]=a;r[p+1>>0]=a>>8;r[p+2>>0]=a>>16;r[p+3>>0]=a>>24;Hr(l,80);p=u;h=m;return p|0}function un(e,t){e=e|0;t=t|0;return t|0}function ln(e,t,n,i,s,a,c,f,u){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;f=f|0;u=u|0;var l=0,d=0,p=0,m=0;m=h;h=h+192|0;p=m+32|0;l=m+112|0;d=m;if(s>>>0<8|c>>>0>u>>>0){p=-1;h=m;return p|0}It(t,n,0,0,o[e+4>>2]|0,o[e+8>>2]|0,p,80);t=l;n=p;u=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(u|0));e=l+32|0;t=e;n=p+32|0;u=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(u|0));t=l+64|0;n=p+64|0;u=t+16|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(u|0));Hr(p,80);Et(e,32,i,s+-8|0,d);if(Vr(i+s+-8|0,d,8)|0){e=At(l,l+64|0,a,c,f)|0;Hr(l,80)}else{Hr(l,80);e=-1}p=e;h=m;return p|0}function dn(e){e=e|0;o[e>>2]=0;return}function hn(e){e=e|0;return 32}function pn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if(i>>>0<32){o[e>>2]=2;i=-1;return i|0}else{wt(t,n,r);i=32;return i|0}return 0}function mn(e,t,n,r,i,s){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;if(s>>>0>=64?bt(t,n,r,i)|0:0){s=0;return s|0}o[e>>2]=5;s=-1;return s|0}function gn(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;o[e+8>>2]=0;o[e+44>>2]=e+48;o[e+148>>2]=e+152;o[e+492>>2]=e+496;return}function yn(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0;l=h;h=h+64|0;u=l;f=o[e>>2]|0;It(t,n,0,0,o[f>>2]|0,o[f+4>>2]|0,u,64);f=e+152|0;t=e+148|0;n=o[t>>2]|0;if((n|0)==(e+492|0)){c=(n|0)==(f|0)?e+84|0:f;t=n}else{a=n+68|0;o[t>>2]=a;c=f;t=a}t=t+-68|0;if((t|0)!=(c|0))do{n=t;t=t+-68|0;s=t;a=n+68|0;do{o[n>>2]=o[s>>2];n=n+4|0;s=s+4|0}while((n|0)<(a|0))}while((t|0)!=(c|0));o[e+184>>2]=0;n=e+12|0;s=u;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=e+188|0;s=u+32|0;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=f;s=i;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));Hr(u,64);h=l;return}function bn(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0;l=h;h=h+64|0;u=l;f=o[e>>2]|0;It(t,n,0,0,o[f>>2]|0,o[f+4>>2]|0,u,64);f=e+48|0;t=e+44|0;n=o[t>>2]|0;if((n|0)==(e+148|0)){c=(n|0)==(f|0)?e+-52|0:f;t=n}else{a=n+100|0;o[t>>2]=a;c=f;t=a}t=t+-100|0;if((t|0)!=(c|0))do{n=t;t=t+-100|0;s=t;a=n+100|0;do{o[n>>2]=o[s>>2];n=n+4|0;s=s+4|0}while((n|0)<(a|0))}while((t|0)!=(c|0));o[e+112>>2]=0;n=e+12|0;s=u;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=e+116|0;s=u+32|0;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=f;s=i;a=n+64|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));Hr(u,64);h=l;return}function _n(e){e=e|0;var t=0,n=0,r=0,i=0;t=e+48|0;r=o[e+44>>2]|0;if((t|0)==(r|0))i=36;else{n=4;do{n=n+36+(Te(t)|0)|0;t=t+100|0}while((t|0)!=(r|0));i=n+32|0}t=e+152|0;r=o[e+148>>2]|0;if((t|0)==(r|0))t=4;else{n=t;t=4;do{t=t+36+(ke(n)|0)|0;n=n+68|0}while((n|0)!=(r|0))}i=i+t|0;t=e+496|0;r=o[e+492>>2]|0;if((t|0)==(r|0)){e=4;e=i+e|0;return e|0}n=t;t=4;do{t=t+36+(ke(n)|0)|0;n=n+68|0}while((n|0)!=(r|0));e=i+t|0;return e|0}function vn(e,t){e=e|0;t=t|0;var n=0,r=0;e=we(e,t+12|0,32)|0;r=t+44|0;n=t+48|0;e=be(e,((o[r>>2]|0)-n|0)/100|0)|0;r=o[r>>2]|0;if((n|0)!=(r|0))do{e=we(Re(e,n)|0,n+68|0,32)|0;e=be(e,o[n+64>>2]|0)|0;n=n+100|0}while((n|0)!=(r|0));r=t+148|0;n=t+152|0;e=be(e,((o[r>>2]|0)-n|0)/68|0)|0;r=o[r>>2]|0;if((n|0)!=(r|0))do{e=we(Se(e,n)|0,n+36|0,32)|0;e=be(e,o[n+32>>2]|0)|0;n=n+68|0}while((n|0)!=(r|0));r=t+492|0;n=t+496|0;e=be(e,((o[r>>2]|0)-n|0)/68|0)|0;r=o[r>>2]|0;if((n|0)==(r|0)){t=e;return t|0}do{e=we(Se(e,n)|0,n+36|0,32)|0;e=be(e,o[n+32>>2]|0)|0;n=n+68|0}while((n|0)!=(r|0));return e|0}function An(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,c=0,f=0,u=0;u=h;h=h+16|0;f=u;e=_e(Ee(e,t,n+12|0,32)|0,t,f)|0;c=o[f>>2]|0;o[f>>2]=c+-1;if(!((e|0)==(t|0)|(c|0)==0)){s=n+44|0;a=n+148|0;c=n+48|0;do{i=o[s>>2]|0;if((i|0)==(a|0))i=c;else o[s>>2]=i+100;e=_e(Ee(Oe(e,t,i)|0,t,i+68|0,32)|0,t,i+64|0)|0;i=o[f>>2]|0;o[f>>2]=i+-1}while(!((e|0)==(t|0)|(i|0)==0))}e=_e(e,t,f)|0;c=o[f>>2]|0;o[f>>2]=c+-1;if(!((e|0)==(t|0)|(c|0)==0)){s=n+148|0;a=n+492|0;c=n+424|0;do{i=o[s>>2]|0;if((i|0)==(a|0))i=c;else o[s>>2]=i+68;e=_e(Ee(Ie(e,t,i)|0,t,i+36|0,32)|0,t,i+32|0)|0;i=o[f>>2]|0;o[f>>2]=i+-1}while(!((e|0)==(t|0)|(i|0)==0))}e=_e(e,t,f)|0;c=o[f>>2]|0;o[f>>2]=c+-1;if(!((e|0)==(t|0)|(c|0)==0)){a=n+492|0;c=n+3216|0;s=n+3148|0;do{i=o[a>>2]|0;if((i|0)==(c|0))i=s;else o[a>>2]=i+68;e=_e(Ee(Ie(e,t,i)|0,t,i+36|0,32)|0,t,i+32|0)|0;n=o[f>>2]|0;o[f>>2]=n+-1}while(!((e|0)==(t|0)|(n|0)==0))}if(!r){f=e;h=u;return f|0}f=_e(e,t,f)|0;h=u;return f|0}function wn(e,t){e=e|0;t=t|0;var n=0,r=0;if((o[e+44>>2]|0)==(e+48|0))n=0;else n=o[e+112>>2]|0;r=e+4|0;e=o[r>>2]|0;e=Hs[o[(o[e>>2]|0)+4>>2]&3](e,t)|0;t=o[r>>2]|0;return Ke(n,32,e,Gs[o[o[t>>2]>>2]&1](t)|0)|0}function En(e){e=e|0;return((o[e+44>>2]|0)==(e+48|0)?32:0)|0}function kn(e,t,n,i,s,a,c){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;c=c|0;var f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0;y=h;h=h+112|0;m=y+64|0;g=y;u=e+44|0;d=e+48|0;if((o[u>>2]|0)==(d|0))f=0;else f=o[e+112>>2]|0;p=e+4|0;b=o[p>>2]|0;b=Hs[o[(o[b>>2]|0)+4>>2]&3](b,n)|0;l=o[p>>2]|0;l=Ke(f,32,b,Gs[o[o[l>>2]>>2]&1](l)|0)|0;f=(o[u>>2]|0)==(d|0);if((f?32:0)>>>0>s>>>0){o[e+8>>2]=1;b=-1;h=y;return b|0}if(l>>>0>c>>>0){o[e+8>>2]=2;b=-1;h=y;return b|0}if(f){o[u>>2]=e+148;pt(i,d);c=o[e>>2]|0;mt(d,e+152|0,m);i=e+12|0;It(m,32,i,32,o[c+8>>2]|0,o[c+12>>2]|0,g,64);c=g;u=i+32|0;do{r[i>>0]=r[c>>0]|0;i=i+1|0;c=c+1|0}while((i|0)<(u|0));f=e+116|0;i=f;c=g+32|0;u=i+32|0;do{r[i>>0]=r[c>>0]|0;i=i+1|0;c=c+1|0}while((i|0)<(u|0));i=e+112|0;o[i>>2]=0;Hr(g,64);Hr(m,32)}else{i=e+112|0;f=e+116|0}s=m+4|0;Et(f,32,38077,1,s);o[m>>2]=o[i>>2];Et(f,32,38078,1,f);o[i>>2]=(o[i>>2]|0)+1;f=o[p>>2]|0;f=Hs[o[(o[f>>2]|0)+4>>2]&3](f,n)|0;ze(g,3,o[m>>2]|0,32,f,a);i=o[g>>2]|0;c=d;u=i+32|0;do{r[i>>0]=r[c>>0]|0;i=i+1|0;c=c+1|0}while((i|0)<(u|0));b=o[p>>2]|0;Qs[o[(o[b>>2]|0)+8>>2]&3](b,s,32,t,n,o[g+4>>2]|0,f,a,l)|0;Hr(m,36);b=l;h=y;return b|0}function Sn(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0;s=h;h=h+32|0;r=s;i=e+4|0;a=o[i>>2]|0;Ge(r,t,n,Gs[o[o[a>>2]>>2]&1](a)|0);if(!(o[r+24>>2]|0)){o[e+8>>2]=4;a=-1;h=s;return a|0}else{a=o[i>>2]|0;a=Hs[o[(o[a>>2]|0)+12>>2]&3](a,o[r+28>>2]|0)|0;h=s;return a|0}return 0}function In(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0;T=h;h=h+240|0;E=T+96|0;k=T+32|0;l=T;d=T+160|0;S=T+128|0;g=e+4|0;A=o[g>>2]|0;Ge(S,t,n,Gs[o[o[A>>2]>>2]&1](A)|0);if((r[S>>0]|0)!=3){o[e+8>>2]=3;I=-1;h=T;return I|0}if((r[S+1>>0]|0?(w=S+16|0,o[w>>2]|0):0)?(b=S+24|0,o[b>>2]|0):0){A=o[g>>2]|0;m=S+28|0;if((Hs[o[(o[A>>2]|0)+12>>2]&3](A,o[m>>2]|0)|0)>>>0>s>>>0){o[e+8>>2]=2;I=-1;h=T;return I|0}if((o[S+20>>2]|0)!=32){o[e+8>>2]=4;I=-1;h=T;return I|0}c=e+152|0;A=e+148|0;n=o[A>>2]|0;e:do{if((c|0)!=(n|0)){f=o[w>>2]|0;u=0;t=c;do{p=(qo(t,f,32)|0)==0;u=p?t:u;t=t+68|0}while(!(p|(t|0)==(n|0)));if(u){t=u+32|0;d=S+4|0;n=o[d>>2]|0;if((o[t>>2]|0)>>>0<=n>>>0){v=u;I=Tn(e,t,S,i,s)|0;y=1;_=31;break}t=e+496|0;p=e+492|0;f=o[p>>2]|0;if((t|0)!=(f|0)){u=S+8|0;l=S+12|0;while(1){if(((n|0)==(o[t+32>>2]|0)?(qo(t,o[w>>2]|0,32)|0)==0:0)?(a=o[g>>2]|0,a=Qs[o[(o[a>>2]|0)+16>>2]&3](a,t+36|0,32,o[u>>2]|0,o[l>>2]|0,o[b>>2]|0,o[m>>2]|0,i,s)|0,(a|0)!=-1):0)break;t=t+68|0;if((t|0)==(f|0))break e;n=o[d>>2]|0}Hr(t,68);I=(o[p>>2]|0)+-68|0;o[p>>2]=I;if((I|0)==(t|0)){I=a;h=T;return I|0}do{g=t;t=t+68|0;y=t;b=g+68|0;do{o[g>>2]=o[y>>2];g=g+4|0;y=y+4|0}while((g|0)<(b|0))}while((t|0)!=(o[p>>2]|0));h=T;return a|0}}else _=15}else _=15}while(0);if((_|0)==15){a=e+48|0;if((o[e+44>>2]|0)!=(a|0)?(o[S+4>>2]|0)>>>0<=2e3:0){g=d;y=o[w>>2]|0;b=g+32|0;do{r[g>>0]=r[y>>0]|0;g=g+1|0;y=y+1|0}while((g|0)<(b|0));v=o[e>>2]|0;I=d+32|0;mt(a,d,E);It(E,32,e+12|0,32,o[v+8>>2]|0,o[v+12>>2]|0,k,64);o[l>>2]=o[k>>2];o[l+4>>2]=o[k+4>>2];o[l+8>>2]=o[k+8>>2];o[l+12>>2]=o[k+12>>2];o[l+16>>2]=o[k+16>>2];o[l+20>>2]=o[k+20>>2];o[l+24>>2]=o[k+24>>2];o[l+28>>2]=o[k+28>>2];v=k+32|0;a=d+36|0;o[a>>2]=o[v>>2];o[a+4>>2]=o[v+4>>2];o[a+8>>2]=o[v+8>>2];o[a+12>>2]=o[v+12>>2];o[a+16>>2]=o[v+16>>2];o[a+20>>2]=o[v+20>>2];o[a+24>>2]=o[v+24>>2];o[a+28>>2]=o[v+28>>2];o[I>>2]=0;Hr(k,64);Hr(E,32);a=Tn(e,I,S,i,s)|0;Hr(l,32);Hr(d,68)}else a=-1;v=0;I=a;y=0;_=31}if((_|0)==31?(I|0)!=-1:0){if(!y){a=o[A>>2]|0;if((a|0)==(e+492|0))c=(a|0)==(c|0)?e+84|0:c;else{a=a+68|0;o[A>>2]=a}a=a+-68|0;if((a|0)!=(c|0))do{g=a;a=a+-68|0;y=a;b=g+68|0;do{o[g>>2]=o[y>>2];g=g+4|0;y=y+4|0}while((g|0)<(b|0))}while((a|0)!=(c|0));g=c;y=o[w>>2]|0;b=g+32|0;do{r[g>>0]=r[y>>0]|0;g=g+1|0;y=y+1|0}while((g|0)<(b|0));a=e+48|0;y=o[e>>2]|0;mt(a,c,E);g=e+12|0;It(E,32,g,32,o[y+8>>2]|0,o[y+12>>2]|0,k,64);y=k;b=g+32|0;do{r[g>>0]=r[y>>0]|0;g=g+1|0;y=y+1|0}while((g|0)<(b|0));g=c+36|0;y=k+32|0;b=g+32|0;do{r[g>>0]=r[y>>0]|0;g=g+1|0;y=y+1|0}while((g|0)<(b|0));n=c+32|0;o[n>>2]=0;Hr(k,64);Hr(E,32);Hr(a,100);t=e+44|0;k=(o[t>>2]|0)+-100|0;o[t>>2]=k;if((k|0)==(a|0))m=c;else{do{g=a;a=a+100|0;y=a;b=g+100|0;do{o[g>>2]=o[y>>2];g=g+4|0;y=y+4|0}while((g|0)<(b|0))}while((a|0)!=(o[t>>2]|0));m=c}}else{m=v;n=v+32|0}f=S+4|0;if((o[n>>2]|0)>>>0<(o[f>>2]|0)>>>0){u=e+496|0;l=e+492|0;d=e+3216|0;a=m+36|0;p=e+532|0;c=e+528|0;do{t=o[l>>2]|0;if((t|0)==(d|0))t=d;else{t=t+68|0;o[l>>2]=t}t=t+-68|0;if((t|0)!=(u|0))do{g=t;t=t+-68|0;y=t;b=g+68|0;do{o[g>>2]=o[y>>2];g=g+4|0;y=y+4|0}while((g|0)<(b|0))}while((t|0)!=(u|0));Et(a,32,38077,1,p);o[c>>2]=o[n>>2];g=u;y=m;b=g+32|0;do{r[g>>0]=r[y>>0]|0;g=g+1|0;y=y+1|0}while((g|0)<(b|0));Et(a,32,38078,1,a);e=(o[n>>2]|0)+1|0;o[n>>2]=e}while(e>>>0<(o[f>>2]|0)>>>0)}else a=m+36|0;Et(a,32,38078,1,a);o[n>>2]=(o[n>>2]|0)+1;h=T;return I|0}o[e+8>>2]=5;I=-1;h=T;return I|0}o[e+8>>2]=4;I=-1;h=T;return I|0}function Tn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0;d=h;h=h+80|0;c=d+36|0;f=d;u=n+4|0;l=o[u>>2]|0;a=o[t>>2]|0;if(l>>>0>>0|(l-a|0)>>>0>2e3){l=-1;h=d;return l|0}a=c;s=a+36|0;do{o[a>>2]=o[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(s|0));t=c+4|0;if((o[c>>2]|0)>>>0>>0)do{Et(t,32,38078,1,t);l=(o[c>>2]|0)+1|0;o[c>>2]=l}while(l>>>0<(o[u>>2]|0)>>>0);l=f+4|0;Et(t,32,38077,1,l);o[f>>2]=o[c>>2];u=o[e+4>>2]|0;l=Qs[o[(o[u>>2]|0)+16>>2]&3](u,l,32,o[n+8>>2]|0,o[n+12>>2]|0,o[n+24>>2]|0,o[n+28>>2]|0,r,i)|0;Hr(c,36);h=d;return l|0}function Rn(e,t,n){e=e|0;t=t|0;n=n|0;if(e|0)r[e>>0]=3;if(t|0)r[t>>0]=1;if(!n)return;r[n>>0]=3;return}function On(){return-1}function xn(e){e=e|0;return Si(o[e+7368>>2]|0)|0}function Cn(e){e=e|0;return Si(o[e+3216>>2]|0)|0}function Pn(e){e=e|0;return Si(o[e>>2]|0)|0}function Mn(){return 7372}function Dn(){return 3320}function Bn(){return 4}function Nn(e){e=e|0;Hr(e,7372);Ir(e);return e|0}function jn(e){e=e|0;Hr(e,3320);Je(e);return e|0}function Un(e){e=e|0;Hr(e,4);dn(e);return e|0}function Ln(e){e=e|0;Hr(e,7372);Ir(e);return 7372}function Fn(e){e=e|0;Hr(e,3320);Je(e);return 3320}function qn(e){e=e|0;Hr(e,4);dn(e);return 4}function Kn(e){e=e|0;return Ii(qr(e)|0)|0}function zn(e){e=e|0;return Ii(lt(e)|0)|0}function Gn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=qr(e)|0;if((Ii(s)|0)>>>0>i>>>0){o[e+7368>>2]=2;s=-1;return s|0}else{Kr(Ti(r,s)|0,e)|0;s=Ri(t,n,r,s)|0;return s|0}return 0}function Hn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=lt(e)|0;if((Ii(s)|0)>>>0>i>>>0){o[e+3216>>2]=2;s=-1;return s|0}else{dt(Ti(r,s)|0,e)|0;s=Ri(t,n,r,s)|0;return s|0}return 0}function Vn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=e+7368|0;t=Oi(t,n,r,i,s)|0;if((t|0)==-1){s=-1;return s|0}n=r+t|0;if((n|0)==(zr(r,n+1|0,e)|0)){s=i;return s|0}if(o[s>>2]|0){s=-1;return s|0}o[s>>2]=10;s=-1;return s|0}function Qn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=e+3216|0;t=Oi(t,n,r,i,s)|0;if((t|0)==-1){s=-1;return s|0}n=r+t|0;if((n|0)==(ht(r,n+1|0,e)|0)){s=i;return s|0}if(o[s>>2]|0){s=-1;return s|0}o[s>>2]=10;s=-1;return s|0}function Wn(e){e=e|0;return Or(e)|0}function Yn(e,t,n){e=e|0;t=t|0;n=n|0;e=xr(e,t,n)|0;Hr(t,n);return e|0}function Xn(e){e=e|0;return Cr(e)|0}function Jn(e,t,n){e=e|0;t=t|0;n=n|0;return Pr(e,t,n)|0}function Zn(e){e=e|0;return ue(Mr(e)|0)|0}function $n(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;s=Mr(e)|0;if((ue(s)|0)>>>0>i>>>0){o[e+7368>>2]=2;s=-1;return s|0}else{a=0-s|0;Dr(e,t,n,r+(ue(s)|0)+a|0,s)|0;i=ue(s)|0;le(r+i+a|0,s,r)|0;s=i;return s|0}return 0}function er(e){e=e|0;return Br(e)|0}function tr(e,t,n){e=e|0;t=t|0;n=n|0;return Nr(e,t,n)|0}function nr(e){e=e|0;return jr(e)|0}function rr(e){e=e|0;return Ur(e)|0}function ir(e,t){e=e|0;t=t|0;return Lr(e,t)|0}function or(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;t=Fr(e,t,n,r)|0;Hr(n,r);return t|0}function sr(e){e=e|0;return Ze(e)|0}function ar(e,t,n,r,i,s,a,c){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;c=c|0;var f=0,u=0,l=0;l=h;h=h+64|0;f=l+32|0;u=l;if((de(r)|0)==32?(de(s)|0)==32:0){he(n,r,f)|0;he(i,s,u)|0;u=$e(e,t,f,u,a,c)|0;Hr(a,c);h=l;return u|0}o[e+3216>>2]=7;u=-1;h=l;return u|0}function cr(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=de(r)|0;if((i|0)==-1){o[e+3216>>2]=7;i=-1;return i|0}else{he(n,r,n)|0;i=et(e,t,0,n,i)|0;return i|0}return 0}function fr(e,t,n,r,i,s){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;var a=0,c=0;c=h;h=h+32|0;a=c;if((de(r)|0)!=32){o[e+3216>>2]=7;a=-1;h=c;return a|0}he(n,r,a)|0;n=de(s)|0;if((n|0)==-1){o[e+3216>>2]=7;n=-1}else{he(i,s,i)|0;n=et(e,t,a,i,n)|0}a=n;h=c;return a|0}function ur(e){e=e|0;return ue(tt(e)|0)|0}function lr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=tt(e)|0;if((ue(r)|0)>>>0>n>>>0){o[e+3216>>2]=2;r=-1;return r|0}n=0-r|0;if((nt(e,t+(ue(r)|0)+n|0,r)|0)==-1){r=-1;return r|0}e=ue(r)|0;le(t+e+n|0,r,t)|0;r=e;return r|0}function dr(e){e=e|0;return s[e+3220>>0]|0|0}function hr(e,t,n){e=e|0;t=t|0;n=n|0;ut(e,t,n);return}function pr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=de(n)|0;if((r|0)==-1){o[e+3216>>2]=7;r=-1;return r|0}else{he(t,n,t)|0;r=(rt(e,0,t,r)|0)&1;return r|0}return 0}function mr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;a=h;h=h+32|0;s=a;if((de(n)|0)!=32){o[e+3216>>2]=7;s=-1;h=a;return s|0}he(t,n,s)|0;t=de(i)|0;if((t|0)==-1){o[e+3216>>2]=7;t=-1}else{he(r,i,r)|0;t=(rt(e,s,r,t)|0)&1}s=t;h=a;return s|0}function gr(e,t){e=e|0;t=t|0;t=Rr(e,t+3285|0)|0;if((t|0)!=-1)return t|0;o[e+7368>>2]=6;return t|0}function yr(e){e=e|0;return it(e)|0}function br(e){e=e|0;return st(e)|0}function _r(e,t){e=e|0;t=t|0;return ue(ot(e,t)|0)|0}function vr(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0;c=ot(e,n)|0;if((ue(c)|0)>>>0>a>>>0){o[e+3216>>2]=2;c=-1;return c|0}a=0-c|0;n=at(e,t,n,r,i,s+(ue(c)|0)+a|0,c)|0;Hr(r,i);if((n|0)==-1){c=-1;return c|0}i=ue(c)|0;le(s+i+a|0,c,s)|0;c=i;return c|0}function Ar(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=de(r)|0;if((i|0)==-1){o[e+3216>>2]=7;i=-1;return i|0}else{he(n,r,n)|0;i=ct(e,t,n,i)|0;return i|0}return 0}function wr(e,t,n,r,i,s){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;var a=0;a=de(r)|0;if((a|0)==-1){o[e+3216>>2]=7;a=-1;return a|0}else{he(n,r,n)|0;a=ft(e,t,n,a,i,s)|0;return a|0}return 0}function Er(e){e=e|0;return ue(hn(e)|0)|0}function kr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=hn(e)|0;if((ue(s)|0)>>>0>i>>>0){o[e>>2]=2;s=-1;return s|0}i=0-s|0;if((pn(e,t,n,r+(ue(s)|0)+i|0,s)|0)==-1){s=-1;return s|0}n=ue(s)|0;le(r+n+i|0,s,r)|0;s=n;return s|0}function Sr(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;f=h;h=h+32|0;c=f;if((de(n)|0)!=32){o[e>>2]=7;c=-1;h=f;return c|0}he(t,n,c)|0;t=de(a)|0;if((t|0)==-1){o[e>>2]=7;t=-1}else{he(s,a,s)|0;t=mn(e,c,r,i,s,t)|0}c=t;h=f;return c|0}function Ir(e){e=e|0;o[e+160>>2]=e+164;o[e+7364>>2]=0;o[e+7368>>2]=0;return}function Tr(e,t){e=e|0;t=t|0;var n=0;n=e+164|0;e=o[e+160>>2]|0;if((n|0)==(e|0)){t=0;return t|0}while(1){if(Vr(n+5|0,t,32)|0){e=5;break}n=n+72|0;if((n|0)==(e|0)){n=0;e=5;break}}if((e|0)==5)return n|0;return 0}function Rr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0;n=e+164|0;s=e+160|0;if((n|0)==(o[s>>2]|0)){s=-1;return s|0}while(1){if(Vr(n+5|0,t,32)|0)break;e=n+72|0;if((e|0)==(o[s>>2]|0)){e=-1;r=8;break}else n=e}if((r|0)==8)return e|0;e=o[n>>2]|0;i=(o[s>>2]|0)+-72|0;o[s>>2]=i;if((i|0)==(n|0)){s=e;return s|0}do{t=n;n=n+72|0;r=n;i=t+72|0;do{o[t>>2]=o[r>>2];t=t+4|0;r=r+4|0}while((t|0)<(i|0))}while((n|0)!=(o[s>>2]|0));return e|0}function Or(e){e=e|0;return 64}function xr(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<64){o[e+7368>>2]=1;n=-1;return n|0}else{gt(t,e);pt(t+32|0,e+96|0);n=0;return n|0}return 0}function Cr(e){e=e|0;e=ue(32)|0;return e+30+(ue(32)|0)|0}function Pr(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0;a=ue(32)|0;if((a+30+(ue(32)|0)|0)>>>0>n>>>0){o[e+7368>>2]=2;t=-1;return t|0}else{r[t>>0]=123;i=t+1|0;s=38079;a=i+13|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));r[t+14>>0]=34;n=le(e+96|0,32,t+15|0)|0;r[n>>0]=34;r[n+1>>0]=44;i=n+2|0;s=38093;a=i+10|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));r[n+12>>0]=34;e=le(e,32,n+13|0)|0;r[e>>0]=34;r[e+1>>0]=125;t=e+2-t|0;return t|0}return 0}function Mr(e){e=e|0;return 64}function Dr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if(i>>>0<64){o[e+7368>>2]=2;i=-1;return i|0}else{yt(e,t,n,r);i=64;return i|0}return 0}function Br(e){e=e|0;var t=0,n=0,i=0;n=e+164|0;i=o[e+160>>2]|0;if((n|0)!=(i|0)){t=1;e=0;do{if(!(r[n+4>>0]|0)){t=ue(4)|0;e=e+6+t+(ue(32)|0)|0;t=0}n=n+72|0}while((n|0)!=(i|0));if(!t){i=e;n=16;i=n+i|0;return i|0}}else e=0;i=e;n=17;i=n+i|0;return i|0}function Nr(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0;p=h;h=h+16|0;l=p;u=e+164|0;f=e+160|0;c=o[f>>2]|0;if((u|0)!=(c|0)){s=1;a=u;i=0;do{if(!(r[a+4>>0]|0)){s=ue(4)|0;i=i+6+s+(ue(32)|0)|0;s=0}a=a+72|0}while((a|0)!=(c|0));if(s)d=4;else s=16}else{i=0;d=4}if((d|0)==4)s=17;if((s+i|0)>>>0>n>>>0){o[e+7368>>2]=2;d=-1;h=p;return d|0}r[t>>0]=123;i=t+1|0;s=38079;a=i+13|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));i=t+14|0;c=o[f>>2]|0;if((u|0)!=(c|0)){a=u;s=123;do{if(!(r[a+4>>0]|0)){r[i>>0]=s;r[i+1>>0]=34;Ne(l,o[a>>2]|0)|0;i=le(l,4,i+2|0)|0;r[i>>0]=34;r[i+1>>0]=58;r[i+2>>0]=34;i=le(a+5|0,32,i+3|0)|0;r[i>>0]=34;i=i+1|0;s=44}a=a+72|0}while((a|0)!=(c|0));if(s<<24>>24!=44)d=16}else{s=123;d=16}if((d|0)==16){r[i>>0]=s;i=i+1|0}r[i>>0]=125;r[i+1>>0]=125;d=i+2-t|0;h=p;return d|0}function jr(e){e=e|0;var t=0,n=0,i=0;t=e+164|0;i=o[e+160>>2]|0;if((t|0)==(i|0)){i=0;return i|0}e=0;do{n=t+4|0;if(!(r[n>>0]|0)){r[n>>0]=1;e=e+1|0}t=t+72|0}while((t|0)!=(i|0));return e|0}function Ur(e){e=e|0;return 100}function Lr(e,t){e=e|0;t=t|0;return t<<5|0}function Fr(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0;if(t<<5>>>0>i>>>0){o[e+7368>>2]=1;p=-1;return p|0}if(!t){p=0;return p|0}h=e+164|0;p=e+160|0;u=e+7364|0;l=e+7364|0;d=e+168|0;f=e+169|0;c=0;while(1){i=o[p>>2]|0;if((i|0)==(u|0))i=u;else{i=i+72|0;o[p>>2]=i}i=i+-72|0;if((i|0)!=(h|0))do{e=i;i=i+-72|0;s=i;a=e+72|0;do{o[e>>2]=o[s>>2];e=e+4|0;s=s+4|0}while((e|0)<(a|0))}while((i|0)!=(h|0));a=(o[l>>2]|0)+1|0;o[l>>2]=a;o[h>>2]=a;r[d>>0]=0;pt(n,f);c=c+1|0;if((c|0)==(t|0))break;else n=n+32|0}return t|0}function qr(e){e=e|0;var t=0,n=0,r=0,i=0;r=Me(e)|0;i=Te(e+96|0)|0;t=e+164|0;n=o[e+160>>2]|0;if((t|0)==(n|0)){n=4;r=r+8|0;i=r+i|0;i=i+n|0;return i|0}e=4;do{e=e+5+(Te(t+5|0)|0)|0;t=t+72|0}while((t|0)!=(n|0));r=r+8|0;i=r+i|0;i=i+e|0;return i|0}function Kr(e,t){e=e|0;t=t|0;var n=0,i=0;e=Re(De(be(e,2)|0,t)|0,t+96|0)|0;i=t+160|0;n=t+164|0;e=be(e,((o[i>>2]|0)-n|0)/72|0)|0;i=o[i>>2]|0;if((n|0)==(i|0)){i=e;t=t+7364|0;t=o[t>>2]|0;t=be(i,t)|0;return t|0}do{e=be(e,o[n>>2]|0)|0;e=Re(ve(e,(r[n+4>>0]|0)!=0)|0,n+5|0)|0;n=n+72|0}while((n|0)!=(i|0));t=t+7364|0;t=o[t>>2]|0;t=be(e,t)|0;return t|0}function zr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0;f=h;h=h+16|0;c=f+4|0;a=f;e=_e(e,t,a)|0;switch(o[a>>2]|0){case 2:{e=_e(Oe(Be(e,t,n)|0,t,n+96|0)|0,t,c)|0;a=o[c>>2]|0;o[c>>2]=a+-1;if(!((e|0)==(t|0)|(a|0)==0)){i=n+160|0;s=n+7364|0;a=n+7292|0;do{r=o[i>>2]|0;if((r|0)==(s|0))r=a;else o[i>>2]=r+72;e=Oe(Ae(_e(e,t,r)|0,t,r+4|0)|0,t,r+5|0)|0;r=o[c>>2]|0;o[c>>2]=r+-1}while(!((e|0)==(t|0)|(r|0)==0))}n=_e(e,t,n+7364|0)|0;h=f;return n|0}case 1:{o[n+7368>>2]=13;n=t;h=f;return n|0}default:{o[n+7368>>2]=9;n=t;h=f;return n|0}}return 0}function Gr(e,t){e=e|0;t=t|0;var n=0;n=e+t|0;if(!t)return;do{r[e>>0]=0;e=e+1|0}while((e|0)!=(n|0));return}function Hr(e,t){e=e|0;t=t|0;var n=0;n=e+t|0;if(!t)return;do{r[e>>0]=0;e=e+1|0}while((e|0)!=(n|0));return}function Vr(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0;o=h;h=h+16|0;i=o;r[i>>0]=0;if(n|0)while(1){n=n+-1|0;r[i>>0]=r[i>>0]|r[t>>0]^r[e>>0];if(!n)break;else{t=t+1|0;e=e+1|0}}h=o;return(r[i>>0]|0)==0|0}function Qr(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0;E=s[t>>0]|0;g=Cs(s[t+1>>0]|0|0,0,8)|0;T=I;O=Cs(s[t+2>>0]|0|0,0,16)|0;T=T|I;l=Cs(s[t+3>>0]|0|0,0,24)|0;T=T|I;R=r[t+6>>0]|0;f=s[t+4>>0]|0;k=Cs(s[t+5>>0]|0|0,0,8)|0;u=I;R=Cs(R&255|0,0,16)|0;u=Cs(k|f|R|0,u|I|0,6)|0;R=I;f=r[t+9>>0]|0;k=s[t+7>>0]|0;a=Cs(s[t+8>>0]|0|0,0,8)|0;v=I;f=Cs(f&255|0,0,16)|0;v=Cs(a|k|f|0,v|I|0,5)|0;f=I;k=r[t+12>>0]|0;a=s[t+10>>0]|0;b=Cs(s[t+11>>0]|0|0,0,8)|0;S=I;k=Cs(k&255|0,0,16)|0;S=Cs(b|a|k|0,S|I|0,3)|0;k=I;a=r[t+15>>0]|0;b=s[t+13>>0]|0;p=Cs(s[t+14>>0]|0|0,0,8)|0;c=I;a=Cs(a&255|0,0,16)|0;c=Cs(p|b|a|0,c|I|0,2)|0;a=I;b=s[t+16>>0]|0;p=Cs(s[t+17>>0]|0|0,0,8)|0;A=I;n=Cs(s[t+18>>0]|0|0,0,16)|0;A=A|I;w=Cs(s[t+19>>0]|0|0,0,24)|0;w=p|b|n|w;A=A|I;n=r[t+22>>0]|0;b=s[t+20>>0]|0;p=Cs(s[t+21>>0]|0|0,0,8)|0;i=I;n=Cs(n&255|0,0,16)|0;i=Cs(p|b|n|0,i|I|0,7)|0;n=I;b=r[t+25>>0]|0;p=s[t+23>>0]|0;x=Cs(s[t+24>>0]|0|0,0,8)|0;_=I;b=Cs(b&255|0,0,16)|0;_=Cs(x|p|b|0,_|I|0,5)|0;b=I;p=r[t+28>>0]|0;x=s[t+26>>0]|0;m=Cs(s[t+27>>0]|0|0,0,8)|0;h=I;p=Cs(p&255|0,0,16)|0;h=Cs(m|x|p|0,h|I|0,4)|0;p=I;x=r[t+31>>0]|0;m=s[t+29>>0]|0;d=Cs(s[t+30>>0]|0|0,0,8)|0;y=I;t=Cs(x&255|0,0,16)|0;y=Cs(d|m|t|0,y|I|0,2)|0;y=y&33554428;t=ks(y|0,0,16777216,0)|0;m=xs(t|0,I|0,25)|0;m=Ss(0,0,m|0,I|0)|0;T=ks(m&19|0,0,g|E|O|l|0,T|0)|0;l=I;O=ks(u|0,R|0,16777216,0)|0;E=xs(O|0,I|0,25)|0;E=ks(v|0,f|0,E|0,I|0)|0;f=I;O=Ss(u|0,R|0,O&-33554432|0,0)|0;R=I;u=ks(S|0,k|0,16777216,0)|0;v=xs(u|0,I|0,25)|0;v=ks(c|0,a|0,v|0,I|0)|0;a=I;c=ks(w|0,A|0,16777216,0)|0;g=xs(c|0,I|0,25)|0;g=ks(i|0,n|0,g|0,I|0)|0;n=I;i=ks(_|0,b|0,16777216,0)|0;m=xs(i|0,I|0,25)|0;m=ks(h|0,p|0,m|0,I|0)|0;p=I;h=ks(T|0,l|0,33554432,0)|0;d=xs(h|0,I|0,26)|0;d=ks(O|0,R|0,d|0,I|0)|0;h=Ss(T|0,l|0,h&-67108864|0,0)|0;l=ks(E|0,f|0,33554432,0)|0;T=xs(l|0,I|0,26)|0;k=ks(T|0,I|0,S|0,k|0)|0;u=Ss(k|0,I|0,u&-33554432|0,0)|0;l=Ss(E|0,f|0,l&-67108864|0,0)|0;f=ks(v|0,a|0,33554432,0)|0;E=xs(f|0,I|0,26)|0;A=ks(E|0,I|0,w|0,A|0)|0;c=Ss(A|0,I|0,c&-33554432|0,0)|0;f=Ss(v|0,a|0,f&-67108864|0,0)|0;a=ks(g|0,n|0,33554432,0)|0;v=xs(a|0,I|0,26)|0;b=ks(v|0,I|0,_|0,b|0)|0;i=Ss(b|0,I|0,i&-33554432|0,0)|0;a=Ss(g|0,n|0,a&-67108864|0,0)|0;n=ks(m|0,p|0,33554432,0)|0;g=xs(n|0,I|0,26)|0;g=ks(y|0,0,g|0,I|0)|0;t=Ss(g|0,I|0,t&33554432|0,0)|0;n=Ss(m|0,p|0,n&-67108864|0,0)|0;o[e>>2]=h;o[e+4>>2]=d;o[e+8>>2]=l;o[e+12>>2]=u;o[e+16>>2]=f;o[e+20>>2]=c;o[e+24>>2]=a;o[e+28>>2]=i;o[e+32>>2]=n;o[e+36>>2]=t;return}function Wr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,o=0,s=0;s=h;h=h+192|0;n=s+144|0;r=s+96|0;i=s+48|0;o=s;Yr(n,t);Yr(r,n);Yr(r,r);Xr(r,t,r);Xr(n,n,r);Yr(i,n);Xr(r,r,i);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);t=1;do{Yr(o,o);t=t+1|0}while((t|0)!=100);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(r,r);Yr(r,r);Yr(r,r);Yr(r,r);Yr(r,r);Xr(e,r,n);h=s;return}function Yr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0;tt=o[t>>2]|0;Ae=o[t+4>>2]|0;u=o[t+8>>2]|0;de=o[t+12>>2]|0;s=o[t+16>>2]|0;rt=o[t+20>>2]|0;a=o[t+24>>2]|0;p=o[t+28>>2]|0;q=o[t+32>>2]|0;O=o[t+36>>2]|0;y=tt<<1;n=Ae<<1;Ye=u<<1;c=de<<1;pe=s<<1;i=rt<<1;d=a<<1;r=p<<1;Ue=rt*38|0;be=a*19|0;Ee=p*38|0;ie=q*19|0;st=O*38|0;nt=((tt|0)<0)<<31>>31;nt=Es(tt|0,nt|0,tt|0,nt|0)|0;tt=I;b=((y|0)<0)<<31>>31;ve=((Ae|0)<0)<<31>>31;Ne=Es(y|0,b|0,Ae|0,ve|0)|0;Be=I;f=((u|0)<0)<<31>>31;We=Es(u|0,f|0,y|0,b|0)|0;Qe=I;he=((de|0)<0)<<31>>31;Ve=Es(de|0,he|0,y|0,b|0)|0;He=I;J=((s|0)<0)<<31>>31;Fe=Es(s|0,J|0,y|0,b|0)|0;Le=I;it=((rt|0)<0)<<31>>31;Ie=Es(rt|0,it|0,y|0,b|0)|0;Se=I;we=((a|0)<0)<<31>>31;ae=Es(a|0,we|0,y|0,b|0)|0;se=I;R=((p|0)<0)<<31>>31;G=Es(p|0,R|0,y|0,b|0)|0;z=I;K=((q|0)<0)<<31>>31;P=Es(q|0,K|0,y|0,b|0)|0;C=I;x=((O|0)<0)<<31>>31;b=Es(O|0,x|0,y|0,b|0)|0;y=I;l=((n|0)<0)<<31>>31;ve=Es(n|0,l|0,Ae|0,ve|0)|0;Ae=I;ne=Es(n|0,l|0,u|0,f|0)|0;re=I;g=((c|0)<0)<<31>>31;Ge=Es(c|0,g|0,n|0,l|0)|0;ze=I;xe=Es(s|0,J|0,n|0,l|0)|0;Oe=I;m=((i|0)<0)<<31>>31;fe=Es(i|0,m|0,n|0,l|0)|0;ce=I;V=Es(a|0,we|0,n|0,l|0)|0;H=I;t=((r|0)<0)<<31>>31;D=Es(r|0,t|0,n|0,l|0)|0;M=I;v=Es(q|0,K|0,n|0,l|0)|0;_=I;ot=((st|0)<0)<<31>>31;l=Es(st|0,ot|0,n|0,l|0)|0;n=I;Ke=Es(u|0,f|0,u|0,f|0)|0;qe=I;Xe=((Ye|0)<0)<<31>>31;Re=Es(Ye|0,Xe|0,de|0,he|0)|0;Te=I;le=Es(s|0,J|0,Ye|0,Xe|0)|0;ue=I;X=Es(rt|0,it|0,Ye|0,Xe|0)|0;Y=I;F=Es(a|0,we|0,Ye|0,Xe|0)|0;L=I;w=Es(p|0,R|0,Ye|0,Xe|0)|0;A=I;oe=((ie|0)<0)<<31>>31;Xe=Es(ie|0,oe|0,Ye|0,Xe|0)|0;Ye=I;f=Es(st|0,ot|0,u|0,f|0)|0;u=I;he=Es(c|0,g|0,de|0,he|0)|0;de=I;W=Es(c|0,g|0,s|0,J|0)|0;Q=I;N=Es(i|0,m|0,c|0,g|0)|0;B=I;T=Es(a|0,we|0,c|0,g|0)|0;S=I;ke=((Ee|0)<0)<<31>>31;Ze=Es(Ee|0,ke|0,c|0,g|0)|0;Je=I;Pe=Es(ie|0,oe|0,c|0,g|0)|0;Ce=I;g=Es(st|0,ot|0,c|0,g|0)|0;c=I;U=Es(s|0,J|0,s|0,J|0)|0;j=I;me=((pe|0)<0)<<31>>31;k=Es(pe|0,me|0,rt|0,it|0)|0;E=I;_e=((be|0)<0)<<31>>31;et=Es(be|0,_e|0,pe|0,me|0)|0;$e=I;De=Es(Ee|0,ke|0,s|0,J|0)|0;Me=I;me=Es(ie|0,oe|0,pe|0,me|0)|0;pe=I;J=Es(st|0,ot|0,s|0,J|0)|0;s=I;it=Es(Ue|0,((Ue|0)<0)<<31>>31|0,rt|0,it|0)|0;rt=I;Ue=Es(be|0,_e|0,i|0,m|0)|0;je=I;ye=Es(Ee|0,ke|0,i|0,m|0)|0;ge=I;$=Es(ie|0,oe|0,i|0,m|0)|0;Z=I;m=Es(st|0,ot|0,i|0,m|0)|0;i=I;_e=Es(be|0,_e|0,a|0,we|0)|0;be=I;te=Es(Ee|0,ke|0,a|0,we|0)|0;ee=I;d=Es(ie|0,oe|0,d|0,((d|0)<0)<<31>>31|0)|0;h=I;we=Es(st|0,ot|0,a|0,we|0)|0;a=I;R=Es(Ee|0,ke|0,p|0,R|0)|0;p=I;ke=Es(ie|0,oe|0,r|0,t|0)|0;Ee=I;t=Es(st|0,ot|0,r|0,t|0)|0;r=I;oe=Es(ie|0,oe|0,q|0,K|0)|0;ie=I;K=Es(st|0,ot|0,q|0,K|0)|0;q=I;x=Es(st|0,ot|0,O|0,x|0)|0;O=I;tt=ks(it|0,rt|0,nt|0,tt|0)|0;$e=ks(tt|0,I|0,et|0,$e|0)|0;Je=ks($e|0,I|0,Ze|0,Je|0)|0;Ye=ks(Je|0,I|0,Xe|0,Ye|0)|0;n=ks(Ye|0,I|0,l|0,n|0)|0;l=I;Ae=ks(We|0,Qe|0,ve|0,Ae|0)|0;ve=I;re=ks(Ve|0,He|0,ne|0,re|0)|0;ne=I;qe=ks(Ge|0,ze|0,Ke|0,qe|0)|0;Le=ks(qe|0,I|0,Fe|0,Le|0)|0;p=ks(Le|0,I|0,R|0,p|0)|0;h=ks(p|0,I|0,d|0,h|0)|0;i=ks(h|0,I|0,m|0,i|0)|0;m=I;h=ks(n|0,l|0,33554432,0)|0;d=I;p=Os(h|0,d|0,26)|0;R=I;Be=ks(Ue|0,je|0,Ne|0,Be|0)|0;Me=ks(Be|0,I|0,De|0,Me|0)|0;Ce=ks(Me|0,I|0,Pe|0,Ce|0)|0;u=ks(Ce|0,I|0,f|0,u|0)|0;R=ks(u|0,I|0,p|0,R|0)|0;p=I;d=Ss(n|0,l|0,h&-67108864|0,d|0)|0;h=I;l=ks(i|0,m|0,33554432,0)|0;n=I;u=Os(l|0,n|0,26)|0;f=I;Te=ks(xe|0,Oe|0,Re|0,Te|0)|0;Se=ks(Te|0,I|0,Ie|0,Se|0)|0;Ee=ks(Se|0,I|0,ke|0,Ee|0)|0;a=ks(Ee|0,I|0,we|0,a|0)|0;f=ks(a|0,I|0,u|0,f|0)|0;u=I;n=Ss(i|0,m|0,l&-67108864|0,n|0)|0;l=I;m=ks(R|0,p|0,16777216,0)|0;i=Os(m|0,I|0,25)|0;a=I;be=ks(Ae|0,ve|0,_e|0,be|0)|0;ge=ks(be|0,I|0,ye|0,ge|0)|0;pe=ks(ge|0,I|0,me|0,pe|0)|0;c=ks(pe|0,I|0,g|0,c|0)|0;a=ks(c|0,I|0,i|0,a|0)|0;i=I;m=Ss(R|0,p|0,m&-33554432|0,0)|0;p=I;R=ks(f|0,u|0,16777216,0)|0;c=Os(R|0,I|0,25)|0;g=I;ue=ks(he|0,de|0,le|0,ue|0)|0;ce=ks(ue|0,I|0,fe|0,ce|0)|0;se=ks(ce|0,I|0,ae|0,se|0)|0;ie=ks(se|0,I|0,oe|0,ie|0)|0;r=ks(ie|0,I|0,t|0,r|0)|0;g=ks(r|0,I|0,c|0,g|0)|0;c=I;R=Ss(f|0,u|0,R&-33554432|0,0)|0;u=I;f=ks(a|0,i|0,33554432,0)|0;r=Os(f|0,I|0,26)|0;t=I;ee=ks(re|0,ne|0,te|0,ee|0)|0;Z=ks(ee|0,I|0,$|0,Z|0)|0;s=ks(Z|0,I|0,J|0,s|0)|0;t=ks(s|0,I|0,r|0,t|0)|0;r=I;f=Ss(a|0,i|0,f&-67108864|0,0)|0;i=ks(g|0,c|0,33554432,0)|0;a=Os(i|0,I|0,26)|0;s=I;Q=ks(X|0,Y|0,W|0,Q|0)|0;H=ks(Q|0,I|0,V|0,H|0)|0;z=ks(H|0,I|0,G|0,z|0)|0;q=ks(z|0,I|0,K|0,q|0)|0;s=ks(q|0,I|0,a|0,s|0)|0;a=I;i=Ss(g|0,c|0,i&-67108864|0,0)|0;c=ks(t|0,r|0,16777216,0)|0;g=Os(c|0,I|0,25)|0;l=ks(g|0,I|0,n|0,l|0)|0;n=I;c=Ss(t|0,r|0,c&-33554432|0,0)|0;r=ks(s|0,a|0,16777216,0)|0;t=Os(r|0,I|0,25)|0;g=I;j=ks(F|0,L|0,U|0,j|0)|0;B=ks(j|0,I|0,N|0,B|0)|0;M=ks(B|0,I|0,D|0,M|0)|0;C=ks(M|0,I|0,P|0,C|0)|0;O=ks(C|0,I|0,x|0,O|0)|0;g=ks(O|0,I|0,t|0,g|0)|0;t=I;r=Ss(s|0,a|0,r&-33554432|0,0)|0;a=ks(l|0,n|0,33554432,0)|0;s=xs(a|0,I|0,26)|0;s=ks(R|0,u|0,s|0,I|0)|0;a=Ss(l|0,n|0,a&-67108864|0,0)|0;n=ks(g|0,t|0,33554432,0)|0;l=Os(n|0,I|0,26)|0;u=I;E=ks(T|0,S|0,k|0,E|0)|0;A=ks(E|0,I|0,w|0,A|0)|0;_=ks(A|0,I|0,v|0,_|0)|0;y=ks(_|0,I|0,b|0,y|0)|0;u=ks(y|0,I|0,l|0,u|0)|0;l=I;n=Ss(g|0,t|0,n&-67108864|0,0)|0;t=ks(u|0,l|0,16777216,0)|0;g=Os(t|0,I|0,25)|0;g=Es(g|0,I|0,19,0)|0;h=ks(g|0,I|0,d|0,h|0)|0;d=I;t=Ss(u|0,l|0,t&-33554432|0,0)|0;l=ks(h|0,d|0,33554432,0)|0;u=xs(l|0,I|0,26)|0;u=ks(m|0,p|0,u|0,I|0)|0;l=Ss(h|0,d|0,l&-67108864|0,0)|0;o[e>>2]=l;o[e+4>>2]=u;o[e+8>>2]=f;o[e+12>>2]=c;o[e+16>>2]=a;o[e+20>>2]=s;o[e+24>>2]=i;o[e+28>>2]=r;o[e+32>>2]=n;o[e+36>>2]=t;return}function Xr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0,at=0,ct=0,ft=0,ut=0,lt=0,dt=0,ht=0,pt=0,mt=0,gt=0,yt=0,bt=0,_t=0,vt=0,At=0,wt=0,Et=0,kt=0,St=0,It=0,Tt=0,Rt=0,Ot=0,xt=0,Ct=0,Pt=0,Mt=0,Dt=0,Bt=0,Nt=0,jt=0,Ut=0,Lt=0,Ft=0,qt=0,Kt=0,zt=0,Gt=0,Ht=0,Vt=0,Qt=0,Wt=0,Yt=0,Xt=0,Jt=0,Zt=0,$t=0,en=0,tn=0,nn=0,rn=0,on=0,sn=0,an=0,cn=0,fn=0,un=0,ln=0,dn=0,hn=0,pn=0,mn=0,gn=0,yn=0,bn=0,_n=0,vn=0,An=0,wn=0,En=0,kn=0,Sn=0,In=0,Tn=0,Rn=0,On=0,xn=0,Cn=0,Pn=0,Mn=0,Dn=0,Bn=0,Nn=0,jn=0,Un=0,Ln=0,Fn=0,qn=0,Kn=0,zn=0,Gn=0,Hn=0;y=o[t>>2]|0;_=o[t+4>>2]|0;u=o[t+8>>2]|0;Ht=o[t+12>>2]|0;s=o[t+16>>2]|0;Ie=o[t+20>>2]|0;a=o[t+24>>2]|0;Tt=o[t+28>>2]|0;oe=o[t+32>>2]|0;ae=o[t+36>>2]|0;D=o[n>>2]|0;N=o[n+4>>2]|0;P=o[n+8>>2]|0;x=o[n+12>>2]|0;R=o[n+16>>2]|0;S=o[n+20>>2]|0;E=o[n+24>>2]|0;A=o[n+28>>2]|0;f=o[n+32>>2]|0;v=o[n+36>>2]|0;qn=N*19|0;rn=P*19|0;bt=x*19|0;De=R*19|0;un=S*19|0;Ct=E*19|0;Ve=A*19|0;Hn=f*19|0;zn=v*19|0;t=_<<1;c=Ht<<1;i=Ie<<1;r=Tt<<1;L=ae<<1;b=((y|0)<0)<<31>>31;B=((D|0)<0)<<31>>31;Ln=Es(D|0,B|0,y|0,b|0)|0;Un=I;j=((N|0)<0)<<31>>31;En=Es(N|0,j|0,y|0,b|0)|0;wn=I;M=((P|0)<0)<<31>>31;At=Es(P|0,M|0,y|0,b|0)|0;vt=I;C=((x|0)<0)<<31>>31;je=Es(x|0,C|0,y|0,b|0)|0;Ne=I;O=((R|0)<0)<<31>>31;hn=Es(R|0,O|0,y|0,b|0)|0;dn=I;T=((S|0)<0)<<31>>31;Dt=Es(S|0,T|0,y|0,b|0)|0;Mt=I;k=((E|0)<0)<<31>>31;Ye=Es(E|0,k|0,y|0,b|0)|0;We=I;w=((A|0)<0)<<31>>31;ue=Es(A|0,w|0,y|0,b|0)|0;fe=I;Kn=((f|0)<0)<<31>>31;K=Es(f|0,Kn|0,y|0,b|0)|0;q=I;b=Es(v|0,((v|0)<0)<<31>>31|0,y|0,b|0)|0;y=I;v=((_|0)<0)<<31>>31;sn=Es(D|0,B|0,_|0,v|0)|0;an=I;l=((t|0)<0)<<31>>31;St=Es(N|0,j|0,t|0,l|0)|0;kt=I;Le=Es(P|0,M|0,_|0,v|0)|0;Ue=I;mn=Es(x|0,C|0,t|0,l|0)|0;pn=I;Nt=Es(R|0,O|0,_|0,v|0)|0;Bt=I;Je=Es(S|0,T|0,t|0,l|0)|0;Xe=I;de=Es(E|0,k|0,_|0,v|0)|0;le=I;G=Es(A|0,w|0,t|0,l|0)|0;z=I;v=Es(f|0,Kn|0,_|0,v|0)|0;_=I;Kn=((zn|0)<0)<<31>>31;l=Es(zn|0,Kn|0,t|0,l|0)|0;t=I;f=((u|0)<0)<<31>>31;Et=Es(D|0,B|0,u|0,f|0)|0;wt=I;ze=Es(N|0,j|0,u|0,f|0)|0;Ke=I;yn=Es(P|0,M|0,u|0,f|0)|0;gn=I;Ut=Es(x|0,C|0,u|0,f|0)|0;jt=I;$e=Es(R|0,O|0,u|0,f|0)|0;Ze=I;pe=Es(S|0,T|0,u|0,f|0)|0;he=I;V=Es(E|0,k|0,u|0,f|0)|0;H=I;w=Es(A|0,w|0,u|0,f|0)|0;A=I;Gn=((Hn|0)<0)<<31>>31;Sn=Es(Hn|0,Gn|0,u|0,f|0)|0;kn=I;f=Es(zn|0,Kn|0,u|0,f|0)|0;u=I;Vt=((Ht|0)<0)<<31>>31;qe=Es(D|0,B|0,Ht|0,Vt|0)|0;Fe=I;g=((c|0)<0)<<31>>31;An=Es(N|0,j|0,c|0,g|0)|0;vn=I;Ft=Es(P|0,M|0,Ht|0,Vt|0)|0;Lt=I;tt=Es(x|0,C|0,c|0,g|0)|0;et=I;ge=Es(R|0,O|0,Ht|0,Vt|0)|0;me=I;W=Es(S|0,T|0,c|0,g|0)|0;Q=I;k=Es(E|0,k|0,Ht|0,Vt|0)|0;E=I;Qe=((Ve|0)<0)<<31>>31;Tn=Es(Ve|0,Qe|0,c|0,g|0)|0;In=I;Vt=Es(Hn|0,Gn|0,Ht|0,Vt|0)|0;Ht=I;g=Es(zn|0,Kn|0,c|0,g|0)|0;c=I;Se=((s|0)<0)<<31>>31;_n=Es(D|0,B|0,s|0,Se|0)|0;bn=I;Gt=Es(N|0,j|0,s|0,Se|0)|0;zt=I;rt=Es(P|0,M|0,s|0,Se|0)|0;nt=I;be=Es(x|0,C|0,s|0,Se|0)|0;ye=I;X=Es(R|0,O|0,s|0,Se|0)|0;Y=I;T=Es(S|0,T|0,s|0,Se|0)|0;S=I;Pt=((Ct|0)<0)<<31>>31;On=Es(Ct|0,Pt|0,s|0,Se|0)|0;Rn=I;Wt=Es(Ve|0,Qe|0,s|0,Se|0)|0;Qt=I;ft=Es(Hn|0,Gn|0,s|0,Se|0)|0;ct=I;Se=Es(zn|0,Kn|0,s|0,Se|0)|0;s=I;Te=((Ie|0)<0)<<31>>31;Kt=Es(D|0,B|0,Ie|0,Te|0)|0;qt=I;m=((i|0)<0)<<31>>31;at=Es(N|0,j|0,i|0,m|0)|0;st=I;ve=Es(P|0,M|0,Ie|0,Te|0)|0;_e=I;Z=Es(x|0,C|0,i|0,m|0)|0;J=I;O=Es(R|0,O|0,Ie|0,Te|0)|0;R=I;ln=((un|0)<0)<<31>>31;Cn=Es(un|0,ln|0,i|0,m|0)|0;xn=I;Xt=Es(Ct|0,Pt|0,Ie|0,Te|0)|0;Yt=I;lt=Es(Ve|0,Qe|0,i|0,m|0)|0;ut=I;Te=Es(Hn|0,Gn|0,Ie|0,Te|0)|0;Ie=I;m=Es(zn|0,Kn|0,i|0,m|0)|0;i=I;It=((a|0)<0)<<31>>31;ot=Es(D|0,B|0,a|0,It|0)|0;it=I;ke=Es(N|0,j|0,a|0,It|0)|0;Ee=I;ee=Es(P|0,M|0,a|0,It|0)|0;$=I;C=Es(x|0,C|0,a|0,It|0)|0;x=I;Be=((De|0)<0)<<31>>31;Mn=Es(De|0,Be|0,a|0,It|0)|0;Pn=I;Zt=Es(un|0,ln|0,a|0,It|0)|0;Jt=I;ht=Es(Ct|0,Pt|0,a|0,It|0)|0;dt=I;Oe=Es(Ve|0,Qe|0,a|0,It|0)|0;Re=I;d=Es(Hn|0,Gn|0,a|0,It|0)|0;h=I;It=Es(zn|0,Kn|0,a|0,It|0)|0;a=I;Rt=((Tt|0)<0)<<31>>31;we=Es(D|0,B|0,Tt|0,Rt|0)|0;Ae=I;n=((r|0)<0)<<31>>31;ie=Es(N|0,j|0,r|0,n|0)|0;re=I;M=Es(P|0,M|0,Tt|0,Rt|0)|0;P=I;_t=((bt|0)<0)<<31>>31;Bn=Es(bt|0,_t|0,r|0,n|0)|0;Dn=I;en=Es(De|0,Be|0,Tt|0,Rt|0)|0;$t=I;mt=Es(un|0,ln|0,r|0,n|0)|0;pt=I;Ce=Es(Ct|0,Pt|0,Tt|0,Rt|0)|0;xe=I;U=Es(Ve|0,Qe|0,r|0,n|0)|0;p=I;Rt=Es(Hn|0,Gn|0,Tt|0,Rt|0)|0;Tt=I;n=Es(zn|0,Kn|0,r|0,n|0)|0;r=I;se=((oe|0)<0)<<31>>31;ne=Es(D|0,B|0,oe|0,se|0)|0;te=I;j=Es(N|0,j|0,oe|0,se|0)|0;N=I;on=((rn|0)<0)<<31>>31;jn=Es(rn|0,on|0,oe|0,se|0)|0;Nn=I;nn=Es(bt|0,_t|0,oe|0,se|0)|0;tn=I;yt=Es(De|0,Be|0,oe|0,se|0)|0;gt=I;Me=Es(un|0,ln|0,oe|0,se|0)|0;Pe=I;fn=Es(Ct|0,Pt|0,oe|0,se|0)|0;cn=I;xt=Es(Ve|0,Qe|0,oe|0,se|0)|0;Ot=I;He=Es(Hn|0,Gn|0,oe|0,se|0)|0;Ge=I;se=Es(zn|0,Kn|0,oe|0,se|0)|0;oe=I;ce=((ae|0)<0)<<31>>31;B=Es(D|0,B|0,ae|0,ce|0)|0;D=I;F=((L|0)<0)<<31>>31;qn=Es(qn|0,((qn|0)<0)<<31>>31|0,L|0,F|0)|0;Fn=I;on=Es(rn|0,on|0,ae|0,ce|0)|0;rn=I;_t=Es(bt|0,_t|0,L|0,F|0)|0;bt=I;Be=Es(De|0,Be|0,ae|0,ce|0)|0;De=I;ln=Es(un|0,ln|0,L|0,F|0)|0;un=I;Pt=Es(Ct|0,Pt|0,ae|0,ce|0)|0;Ct=I;Qe=Es(Ve|0,Qe|0,L|0,F|0)|0;Ve=I;ce=Es(Hn|0,Gn|0,ae|0,ce|0)|0;ae=I;F=Es(zn|0,Kn|0,L|0,F|0)|0;L=I;Un=ks(qn|0,Fn|0,Ln|0,Un|0)|0;Nn=ks(Un|0,I|0,jn|0,Nn|0)|0;Dn=ks(Nn|0,I|0,Bn|0,Dn|0)|0;Pn=ks(Dn|0,I|0,Mn|0,Pn|0)|0;xn=ks(Pn|0,I|0,Cn|0,xn|0)|0;Rn=ks(xn|0,I|0,On|0,Rn|0)|0;In=ks(Rn|0,I|0,Tn|0,In|0)|0;kn=ks(In|0,I|0,Sn|0,kn|0)|0;t=ks(kn|0,I|0,l|0,t|0)|0;l=I;an=ks(En|0,wn|0,sn|0,an|0)|0;sn=I;bn=ks(An|0,vn|0,_n|0,bn|0)|0;gn=ks(bn|0,I|0,yn|0,gn|0)|0;pn=ks(gn|0,I|0,mn|0,pn|0)|0;dn=ks(pn|0,I|0,hn|0,dn|0)|0;un=ks(dn|0,I|0,ln|0,un|0)|0;cn=ks(un|0,I|0,fn|0,cn|0)|0;p=ks(cn|0,I|0,U|0,p|0)|0;h=ks(p|0,I|0,d|0,h|0)|0;i=ks(h|0,I|0,m|0,i|0)|0;m=I;h=ks(t|0,l|0,33554432,0)|0;d=I;p=Os(h|0,d|0,26)|0;U=I;rn=ks(an|0,sn|0,on|0,rn|0)|0;tn=ks(rn|0,I|0,nn|0,tn|0)|0;$t=ks(tn|0,I|0,en|0,$t|0)|0;Jt=ks($t|0,I|0,Zt|0,Jt|0)|0;Yt=ks(Jt|0,I|0,Xt|0,Yt|0)|0;Qt=ks(Yt|0,I|0,Wt|0,Qt|0)|0;Ht=ks(Qt|0,I|0,Vt|0,Ht|0)|0;u=ks(Ht|0,I|0,f|0,u|0)|0;U=ks(u|0,I|0,p|0,U|0)|0;p=I;d=Ss(t|0,l|0,h&-67108864|0,d|0)|0;h=I;l=ks(i|0,m|0,33554432,0)|0;t=I;u=Os(l|0,t|0,26)|0;f=I;qt=ks(Gt|0,zt|0,Kt|0,qt|0)|0;Lt=ks(qt|0,I|0,Ft|0,Lt|0)|0;jt=ks(Lt|0,I|0,Ut|0,jt|0)|0;Bt=ks(jt|0,I|0,Nt|0,Bt|0)|0;Mt=ks(Bt|0,I|0,Dt|0,Mt|0)|0;Ct=ks(Mt|0,I|0,Pt|0,Ct|0)|0;Ot=ks(Ct|0,I|0,xt|0,Ot|0)|0;Tt=ks(Ot|0,I|0,Rt|0,Tt|0)|0;a=ks(Tt|0,I|0,It|0,a|0)|0;f=ks(a|0,I|0,u|0,f|0)|0;u=I;t=Ss(i|0,m|0,l&-67108864|0,t|0)|0;l=I;m=ks(U|0,p|0,16777216,0)|0;i=Os(m|0,I|0,25)|0;a=I;wt=ks(St|0,kt|0,Et|0,wt|0)|0;vt=ks(wt|0,I|0,At|0,vt|0)|0;bt=ks(vt|0,I|0,_t|0,bt|0)|0;gt=ks(bt|0,I|0,yt|0,gt|0)|0;pt=ks(gt|0,I|0,mt|0,pt|0)|0;dt=ks(pt|0,I|0,ht|0,dt|0)|0;ut=ks(dt|0,I|0,lt|0,ut|0)|0;ct=ks(ut|0,I|0,ft|0,ct|0)|0;c=ks(ct|0,I|0,g|0,c|0)|0;a=ks(c|0,I|0,i|0,a|0)|0;i=I;m=Ss(U|0,p|0,m&-33554432|0,0)|0;p=I;U=ks(f|0,u|0,16777216,0)|0;c=Os(U|0,I|0,25)|0;g=I;it=ks(at|0,st|0,ot|0,it|0)|0;nt=ks(it|0,I|0,rt|0,nt|0)|0;et=ks(nt|0,I|0,tt|0,et|0)|0;Ze=ks(et|0,I|0,$e|0,Ze|0)|0;Xe=ks(Ze|0,I|0,Je|0,Xe|0)|0;We=ks(Xe|0,I|0,Ye|0,We|0)|0;Ve=ks(We|0,I|0,Qe|0,Ve|0)|0;Ge=ks(Ve|0,I|0,He|0,Ge|0)|0;r=ks(Ge|0,I|0,n|0,r|0)|0;g=ks(r|0,I|0,c|0,g|0)|0;c=I;U=Ss(f|0,u|0,U&-33554432|0,0)|0;u=I;f=ks(a|0,i|0,33554432,0)|0;r=Os(f|0,I|0,26)|0;n=I;Fe=ks(ze|0,Ke|0,qe|0,Fe|0)|0;Ue=ks(Fe|0,I|0,Le|0,Ue|0)|0;Ne=ks(Ue|0,I|0,je|0,Ne|0)|0;De=ks(Ne|0,I|0,Be|0,De|0)|0;Pe=ks(De|0,I|0,Me|0,Pe|0)|0;xe=ks(Pe|0,I|0,Ce|0,xe|0)|0;Re=ks(xe|0,I|0,Oe|0,Re|0)|0;Ie=ks(Re|0,I|0,Te|0,Ie|0)|0;s=ks(Ie|0,I|0,Se|0,s|0)|0;n=ks(s|0,I|0,r|0,n|0)|0;r=I;f=Ss(a|0,i|0,f&-67108864|0,0)|0;i=ks(g|0,c|0,33554432,0)|0;a=Os(i|0,I|0,26)|0;s=I;Ae=ks(ke|0,Ee|0,we|0,Ae|0)|0;_e=ks(Ae|0,I|0,ve|0,_e|0)|0;ye=ks(_e|0,I|0,be|0,ye|0)|0;me=ks(ye|0,I|0,ge|0,me|0)|0;he=ks(me|0,I|0,pe|0,he|0)|0;le=ks(he|0,I|0,de|0,le|0)|0;fe=ks(le|0,I|0,ue|0,fe|0)|0;ae=ks(fe|0,I|0,ce|0,ae|0)|0;oe=ks(ae|0,I|0,se|0,oe|0)|0;s=ks(oe|0,I|0,a|0,s|0)|0;a=I;i=Ss(g|0,c|0,i&-67108864|0,0)|0;c=ks(n|0,r|0,16777216,0)|0;g=Os(c|0,I|0,25)|0;l=ks(g|0,I|0,t|0,l|0)|0;t=I;c=Ss(n|0,r|0,c&-33554432|0,0)|0;r=ks(s|0,a|0,16777216,0)|0;n=Os(r|0,I|0,25)|0;g=I;te=ks(ie|0,re|0,ne|0,te|0)|0;$=ks(te|0,I|0,ee|0,$|0)|0;J=ks($|0,I|0,Z|0,J|0)|0;Y=ks(J|0,I|0,X|0,Y|0)|0;Q=ks(Y|0,I|0,W|0,Q|0)|0;H=ks(Q|0,I|0,V|0,H|0)|0;z=ks(H|0,I|0,G|0,z|0)|0;q=ks(z|0,I|0,K|0,q|0)|0;L=ks(q|0,I|0,F|0,L|0)|0;g=ks(L|0,I|0,n|0,g|0)|0;n=I;r=Ss(s|0,a|0,r&-33554432|0,0)|0;a=ks(l|0,t|0,33554432,0)|0;s=xs(a|0,I|0,26)|0;s=ks(U|0,u|0,s|0,I|0)|0;a=Ss(l|0,t|0,a&-67108864|0,0)|0;t=ks(g|0,n|0,33554432,0)|0;l=Os(t|0,I|0,26)|0;u=I;D=ks(j|0,N|0,B|0,D|0)|0;P=ks(D|0,I|0,M|0,P|0)|0;x=ks(P|0,I|0,C|0,x|0)|0;R=ks(x|0,I|0,O|0,R|0)|0;S=ks(R|0,I|0,T|0,S|0)|0;E=ks(S|0,I|0,k|0,E|0)|0;A=ks(E|0,I|0,w|0,A|0)|0;_=ks(A|0,I|0,v|0,_|0)|0;y=ks(_|0,I|0,b|0,y|0)|0;u=ks(y|0,I|0,l|0,u|0)|0;l=I;t=Ss(g|0,n|0,t&-67108864|0,0)|0;n=ks(u|0,l|0,16777216,0)|0;g=Os(n|0,I|0,25)|0;g=Es(g|0,I|0,19,0)|0;h=ks(g|0,I|0,d|0,h|0)|0;d=I;n=Ss(u|0,l|0,n&-33554432|0,0)|0;l=ks(h|0,d|0,33554432,0)|0;u=xs(l|0,I|0,26)|0;u=ks(m|0,p|0,u|0,I|0)|0;l=Ss(h|0,d|0,l&-67108864|0,0)|0;o[e>>2]=l;o[e+4>>2]=u;o[e+8>>2]=f;o[e+12>>2]=c;o[e+16>>2]=a;o[e+20>>2]=s;o[e+24>>2]=i;o[e+28>>2]=r;o[e+32>>2]=t;o[e+36>>2]=n;return}function Jr(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0;_=o[t>>2]|0;b=o[t+4>>2]|0;g=o[t+8>>2]|0;p=o[t+12>>2]|0;d=o[t+16>>2]|0;l=o[t+20>>2]|0;u=o[t+24>>2]|0;c=o[t+28>>2]|0;s=o[t+32>>2]|0;n=o[t+36>>2]|0;_=(((((((((((((n*19|0)+16777216>>25)+_>>26)+b>>25)+g>>26)+p>>25)+d>>26)+l>>25)+u>>26)+c>>25)+s>>26)+n>>25)*19|0)+_|0;b=(_>>26)+b|0;g=(b>>25)+g|0;y=b&33554431;p=(g>>26)+p|0;m=g&67108863;d=(p>>25)+d|0;h=p&33554431;l=(d>>26)+l|0;u=(l>>25)+u|0;c=(u>>26)+c|0;f=u&67108863;s=(c>>25)+s|0;a=c&33554431;n=(s>>26)+n|0;i=s&67108863;t=n&33554431;r[e>>0]=_;r[e+1>>0]=_>>>8;r[e+2>>0]=_>>>16;r[e+3>>0]=y<<2|_>>>24&3;r[e+4>>0]=b>>>6;r[e+5>>0]=b>>>14;r[e+6>>0]=m<<3|y>>>22;r[e+7>>0]=g>>>5;r[e+8>>0]=g>>>13;r[e+9>>0]=h<<5|m>>>21;r[e+10>>0]=p>>>3;r[e+11>>0]=p>>>11;r[e+12>>0]=d<<6|h>>>19;r[e+13>>0]=d>>>2;r[e+14>>0]=d>>>10;r[e+15>>0]=d>>>18;r[e+16>>0]=l;r[e+17>>0]=l>>>8;r[e+18>>0]=l>>>16;r[e+19>>0]=f<<1|l>>>24&1;r[e+20>>0]=u>>>7;r[e+21>>0]=u>>>15;r[e+22>>0]=a<<3|f>>>23;r[e+23>>0]=c>>>5;r[e+24>>0]=c>>>13;r[e+25>>0]=i<<4|a>>>21;r[e+26>>0]=s>>>4;r[e+27>>0]=s>>>12;r[e+28>>0]=t<<6|i>>>20;r[e+29>>0]=n>>>2;r[e+30>>0]=n>>>10;r[e+31>>0]=t>>>18;return}function Zr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,o=0,s=0;s=h;h=h+144|0;r=s+96|0;i=s+48|0;o=s;Yr(r,t);Yr(i,r);Yr(i,i);Xr(i,t,i);Xr(r,r,i);Yr(r,r);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);n=1;do{Yr(o,o);n=n+1|0}while((n|0)!=100);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(r,r);Yr(r,r);Xr(e,r,t);h=s;return}function $r(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0;tt=o[t>>2]|0;je=o[t+4>>2]|0;_=o[t+8>>2]|0;re=o[t+12>>2]|0;v=o[t+16>>2]|0;rt=o[t+20>>2]|0;f=o[t+24>>2]|0;me=o[t+28>>2]|0;s=o[t+32>>2]|0;g=o[t+36>>2]|0;u=tt<<1;y=je<<1;Ye=_<<1;w=re<<1;Ce=v<<1;m=rt<<1;pe=f<<1;A=me<<1;We=rt*38|0;Be=f*19|0;oe=me*38|0;Y=s*19|0;st=g*38|0;nt=((tt|0)<0)<<31>>31;nt=Es(tt|0,nt|0,tt|0,nt|0)|0;tt=I;l=((u|0)<0)<<31>>31;Ue=((je|0)<0)<<31>>31;Ve=Es(u|0,l|0,je|0,Ue|0)|0;He=I;p=((_|0)<0)<<31>>31;Fe=Es(_|0,p|0,u|0,l|0)|0;Le=I;ie=((re|0)<0)<<31>>31;xe=Es(re|0,ie|0,u|0,l|0)|0;Oe=I;r=((v|0)<0)<<31>>31;be=Es(v|0,r|0,u|0,l|0)|0;ye=I;it=((rt|0)<0)<<31>>31;ce=Es(rt|0,it|0,u|0,l|0)|0;ae=I;b=((f|0)<0)<<31>>31;Z=Es(f|0,b|0,u|0,l|0)|0;J=I;ge=((me|0)<0)<<31>>31;K=Es(me|0,ge|0,u|0,l|0)|0;q=I;a=((s|0)<0)<<31>>31;P=Es(s|0,a|0,u|0,l|0)|0;C=I;t=((g|0)<0)<<31>>31;l=Es(g|0,t|0,u|0,l|0)|0;u=I;n=((y|0)<0)<<31>>31;Ue=Es(y|0,n|0,je|0,Ue|0)|0;je=I;Re=Es(y|0,n|0,_|0,p|0)|0;Te=I;i=((w|0)<0)<<31>>31;we=Es(w|0,i|0,y|0,n|0)|0;Ae=I;de=Es(v|0,r|0,y|0,n|0)|0;le=I;E=((m|0)<0)<<31>>31;ee=Es(m|0,E|0,y|0,n|0)|0;$=I;G=Es(f|0,b|0,y|0,n|0)|0;z=I;c=((A|0)<0)<<31>>31;D=Es(A|0,c|0,y|0,n|0)|0;M=I;d=Es(s|0,a|0,y|0,n|0)|0;h=I;ot=((st|0)<0)<<31>>31;n=Es(st|0,ot|0,y|0,n|0)|0;y=I;ve=Es(_|0,p|0,_|0,p|0)|0;_e=I;Xe=((Ye|0)<0)<<31>>31;ue=Es(Ye|0,Xe|0,re|0,ie|0)|0;fe=I;ne=Es(v|0,r|0,Ye|0,Xe|0)|0;te=I;W=Es(rt|0,it|0,Ye|0,Xe|0)|0;Q=I;F=Es(f|0,b|0,Ye|0,Xe|0)|0;L=I;S=Es(me|0,ge|0,Ye|0,Xe|0)|0;k=I;X=((Y|0)<0)<<31>>31;Xe=Es(Y|0,X|0,Ye|0,Xe|0)|0;Ye=I;p=Es(st|0,ot|0,_|0,p|0)|0;_=I;ie=Es(w|0,i|0,re|0,ie|0)|0;re=I;V=Es(w|0,i|0,v|0,r|0)|0;H=I;N=Es(m|0,E|0,w|0,i|0)|0;B=I;x=Es(f|0,b|0,w|0,i|0)|0;O=I;se=((oe|0)<0)<<31>>31;Ze=Es(oe|0,se|0,w|0,i|0)|0;Je=I;Ke=Es(Y|0,X|0,w|0,i|0)|0;qe=I;i=Es(st|0,ot|0,w|0,i|0)|0;w=I;U=Es(v|0,r|0,v|0,r|0)|0;j=I;Pe=((Ce|0)<0)<<31>>31;R=Es(Ce|0,Pe|0,rt|0,it|0)|0;T=I;Ne=((Be|0)<0)<<31>>31;et=Es(Be|0,Ne|0,Ce|0,Pe|0)|0;$e=I;Ge=Es(oe|0,se|0,v|0,r|0)|0;ze=I;Pe=Es(Y|0,X|0,Ce|0,Pe|0)|0;Ce=I;r=Es(st|0,ot|0,v|0,r|0)|0;v=I;it=Es(We|0,((We|0)<0)<<31>>31|0,rt|0,it|0)|0;rt=I;We=Es(Be|0,Ne|0,m|0,E|0)|0;Qe=I;De=Es(oe|0,se|0,m|0,E|0)|0;Me=I;ke=Es(Y|0,X|0,m|0,E|0)|0;Ee=I;E=Es(st|0,ot|0,m|0,E|0)|0;m=I;Ne=Es(Be|0,Ne|0,f|0,b|0)|0;Be=I;Ie=Es(oe|0,se|0,f|0,b|0)|0;Se=I;pe=Es(Y|0,X|0,pe|0,((pe|0)<0)<<31>>31|0)|0;he=I;b=Es(st|0,ot|0,f|0,b|0)|0;f=I;ge=Es(oe|0,se|0,me|0,ge|0)|0;me=I;se=Es(Y|0,X|0,A|0,c|0)|0;oe=I;c=Es(st|0,ot|0,A|0,c|0)|0;A=I;X=Es(Y|0,X|0,s|0,a|0)|0;Y=I;a=Es(st|0,ot|0,s|0,a|0)|0;s=I;t=Es(st|0,ot|0,g|0,t|0)|0;g=I;tt=ks(it|0,rt|0,nt|0,tt|0)|0;$e=ks(tt|0,I|0,et|0,$e|0)|0;Je=ks($e|0,I|0,Ze|0,Je|0)|0;Ye=ks(Je|0,I|0,Xe|0,Ye|0)|0;y=ks(Ye|0,I|0,n|0,y|0)|0;n=I;He=ks(We|0,Qe|0,Ve|0,He|0)|0;ze=ks(He|0,I|0,Ge|0,ze|0)|0;qe=ks(ze|0,I|0,Ke|0,qe|0)|0;_=ks(qe|0,I|0,p|0,_|0)|0;p=I;je=ks(Fe|0,Le|0,Ue|0,je|0)|0;Be=ks(je|0,I|0,Ne|0,Be|0)|0;Me=ks(Be|0,I|0,De|0,Me|0)|0;Ce=ks(Me|0,I|0,Pe|0,Ce|0)|0;w=ks(Ce|0,I|0,i|0,w|0)|0;i=I;Te=ks(xe|0,Oe|0,Re|0,Te|0)|0;Se=ks(Te|0,I|0,Ie|0,Se|0)|0;Ee=ks(Se|0,I|0,ke|0,Ee|0)|0;v=ks(Ee|0,I|0,r|0,v|0)|0;r=I;_e=ks(we|0,Ae|0,ve|0,_e|0)|0;ye=ks(_e|0,I|0,be|0,ye|0)|0;me=ks(ye|0,I|0,ge|0,me|0)|0;he=ks(me|0,I|0,pe|0,he|0)|0;m=ks(he|0,I|0,E|0,m|0)|0;E=I;fe=ks(de|0,le|0,ue|0,fe|0)|0;ae=ks(fe|0,I|0,ce|0,ae|0)|0;oe=ks(ae|0,I|0,se|0,oe|0)|0;f=ks(oe|0,I|0,b|0,f|0)|0;b=I;te=ks(ie|0,re|0,ne|0,te|0)|0;$=ks(te|0,I|0,ee|0,$|0)|0;J=ks($|0,I|0,Z|0,J|0)|0;Y=ks(J|0,I|0,X|0,Y|0)|0;A=ks(Y|0,I|0,c|0,A|0)|0;c=I;H=ks(W|0,Q|0,V|0,H|0)|0;z=ks(H|0,I|0,G|0,z|0)|0;q=ks(z|0,I|0,K|0,q|0)|0;s=ks(q|0,I|0,a|0,s|0)|0;a=I;j=ks(F|0,L|0,U|0,j|0)|0;B=ks(j|0,I|0,N|0,B|0)|0;M=ks(B|0,I|0,D|0,M|0)|0;C=ks(M|0,I|0,P|0,C|0)|0;g=ks(C|0,I|0,t|0,g|0)|0;t=I;T=ks(x|0,O|0,R|0,T|0)|0;k=ks(T|0,I|0,S|0,k|0)|0;h=ks(k|0,I|0,d|0,h|0)|0;u=ks(h|0,I|0,l|0,u|0)|0;l=I;n=Cs(y|0,n|0,1)|0;y=I;p=Cs(_|0,p|0,1)|0;_=I;i=Cs(w|0,i|0,1)|0;w=I;r=Cs(v|0,r|0,1)|0;v=I;E=Cs(m|0,E|0,1)|0;m=I;b=Cs(f|0,b|0,1)|0;f=I;c=Cs(A|0,c|0,1)|0;A=I;a=Cs(s|0,a|0,1)|0;s=I;t=Cs(g|0,t|0,1)|0;g=I;l=Cs(u|0,l|0,1)|0;u=I;h=ks(n|0,y|0,33554432,0)|0;d=I;k=Os(h|0,d|0,26)|0;_=ks(k|0,I|0,p|0,_|0)|0;p=I;d=Ss(n|0,y|0,h&-67108864|0,d|0)|0;h=I;y=ks(E|0,m|0,33554432,0)|0;n=I;k=Os(y|0,n|0,26)|0;f=ks(k|0,I|0,b|0,f|0)|0;b=I;n=Ss(E|0,m|0,y&-67108864|0,n|0)|0;y=I;m=ks(_|0,p|0,16777216,0)|0;E=Os(m|0,I|0,25)|0;w=ks(E|0,I|0,i|0,w|0)|0;i=I;m=Ss(_|0,p|0,m&-33554432|0,0)|0;p=I;_=ks(f|0,b|0,16777216,0)|0;E=Os(_|0,I|0,25)|0;A=ks(E|0,I|0,c|0,A|0)|0;c=I;_=Ss(f|0,b|0,_&-33554432|0,0)|0;b=I;f=ks(w|0,i|0,33554432,0)|0;E=Os(f|0,I|0,26)|0;v=ks(E|0,I|0,r|0,v|0)|0;r=I;f=Ss(w|0,i|0,f&-67108864|0,0)|0;i=ks(A|0,c|0,33554432,0)|0;w=Os(i|0,I|0,26)|0;s=ks(w|0,I|0,a|0,s|0)|0;a=I;i=Ss(A|0,c|0,i&-67108864|0,0)|0;c=ks(v|0,r|0,16777216,0)|0;A=Os(c|0,I|0,25)|0;y=ks(A|0,I|0,n|0,y|0)|0;n=I;c=Ss(v|0,r|0,c&-33554432|0,0)|0;r=ks(s|0,a|0,16777216,0)|0;v=Os(r|0,I|0,25)|0;g=ks(v|0,I|0,t|0,g|0)|0;t=I;r=Ss(s|0,a|0,r&-33554432|0,0)|0;a=ks(y|0,n|0,33554432,0)|0;s=xs(a|0,I|0,26)|0;s=ks(_|0,b|0,s|0,I|0)|0;a=Ss(y|0,n|0,a&-67108864|0,0)|0;n=ks(g|0,t|0,33554432,0)|0;y=Os(n|0,I|0,26)|0;u=ks(y|0,I|0,l|0,u|0)|0;l=I;n=Ss(g|0,t|0,n&-67108864|0,0)|0;t=ks(u|0,l|0,16777216,0)|0;g=Os(t|0,I|0,25)|0;g=Es(g|0,I|0,19,0)|0;h=ks(g|0,I|0,d|0,h|0)|0;d=I;t=Ss(u|0,l|0,t&-33554432|0,0)|0;l=ks(h|0,d|0,33554432,0)|0;u=xs(l|0,I|0,26)|0;u=ks(m|0,p|0,u|0,I|0)|0;l=Ss(h|0,d|0,l&-67108864|0,0)|0;o[e>>2]=l;o[e+4>>2]=u;o[e+8>>2]=f;o[e+12>>2]=c;o[e+16>>2]=a;o[e+20>>2]=s;o[e+24>>2]=i;o[e+28>>2]=r;o[e+32>>2]=n;o[e+36>>2]=t;return}function ei(e){e=e|0;var t=0,n=0,i=0,o=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0;de=e+1|0;fe=e+2|0;K=r[fe>>0]|0;we=s[e>>0]|0;P=Cs(s[de>>0]|0|0,0,8)|0;_e=I;K=K&255;ve=Cs(K|0,0,16)|0;ce=e+3|0;A=Cs(s[ce>>0]|0|0,0,8)|0;te=I;ie=e+4|0;Z=Cs(s[ie>>0]|0|0,0,16)|0;te=te|I;re=e+5|0;q=s[re>>0]|0;$=Cs(q|0,0,24)|0;te=xs(A|K|Z|$|0,te|I|0,5)|0;$=e+6|0;Z=e+7|0;K=r[Z>>0]|0;A=Cs(s[$>>0]|0|0,0,8)|0;Re=I;K=K&255;J=Cs(K|0,0,16)|0;Re=xs(A|q|J|0,Re|I|0,2)|0;J=e+8|0;q=Cs(s[J>>0]|0|0,0,8)|0;A=I;Q=e+9|0;Te=Cs(s[Q>>0]|0|0,0,16)|0;A=A|I;V=e+10|0;Ve=s[V>>0]|0;H=Cs(Ve|0,0,24)|0;A=xs(q|K|Te|H|0,A|I|0,7)|0;H=e+11|0;Te=Cs(s[H>>0]|0|0,0,8)|0;K=I;q=e+12|0;B=Cs(s[q>>0]|0|0,0,16)|0;K=K|I;F=e+13|0;w=s[F>>0]|0;N=Cs(w|0,0,24)|0;K=xs(Te|Ve|B|N|0,K|I|0,4)|0;N=e+14|0;B=e+15|0;Ve=r[B>>0]|0;Te=Cs(s[N>>0]|0|0,0,8)|0;ye=I;Ve=Ve&255;D=Cs(Ve|0,0,16)|0;ye=xs(Te|w|D|0,ye|I|0,1)|0;D=e+16|0;w=Cs(s[D>>0]|0|0,0,8)|0;Te=I;x=e+17|0;k=Cs(s[x>>0]|0|0,0,16)|0;Te=Te|I;O=e+18|0;E=s[O>>0]|0;R=Cs(E|0,0,24)|0;Te=xs(w|Ve|k|R|0,Te|I|0,6)|0;R=e+19|0;k=e+20|0;Ve=r[k>>0]|0;w=Cs(s[R>>0]|0|0,0,8)|0;Qe=I;Ve=Cs(Ve&255|0,0,16)|0;Qe=xs(w|E|Ve|0,Qe|I|0,3)|0;Ve=I;E=e+21|0;w=e+22|0;_=e+23|0;n=r[_>>0]|0;et=s[E>>0]|0;tt=Cs(s[w>>0]|0|0,0,8)|0;Ze=I;n=n&255;$e=Cs(n|0,0,16)|0;b=e+24|0;Ue=Cs(s[b>>0]|0|0,0,8)|0;ze=I;p=e+25|0;c=Cs(s[p>>0]|0|0,0,16)|0;ze=ze|I;h=e+26|0;pe=s[h>>0]|0;f=Cs(pe|0,0,24)|0;ze=xs(Ue|n|c|f|0,ze|I|0,5)|0;f=e+27|0;c=e+28|0;n=r[c>>0]|0;Ue=Cs(s[f>>0]|0|0,0,8)|0;Je=I;n=n&255;a=Cs(n|0,0,16)|0;Je=xs(Ue|pe|a|0,Je|I|0,2)|0;a=e+29|0;pe=Cs(s[a>>0]|0|0,0,8)|0;Ue=I;o=e+30|0;ot=Cs(s[o>>0]|0|0,0,16)|0;Ue=Ue|I;t=e+31|0;ne=s[t>>0]|0;u=Cs(ne|0,0,24)|0;Ue=xs(pe|n|ot|u|0,Ue|I|0,7)|0;u=Cs(s[e+32>>0]|0|0,0,8)|0;ot=I;n=Cs(s[e+33>>0]|0|0,0,16)|0;ot=ot|I;pe=s[e+34>>0]|0;g=Cs(pe|0,0,24)|0;ot=xs(u|ne|n|g|0,ot|I|0,4)|0;g=r[e+36>>0]|0;n=Cs(s[e+35>>0]|0|0,0,8)|0;ne=I;g=g&255;u=Cs(g|0,0,16)|0;ne=xs(n|pe|u|0,ne|I|0,1)|0;u=Cs(s[e+37>>0]|0|0,0,8)|0;pe=I;n=Cs(s[e+38>>0]|0|0,0,16)|0;pe=pe|I;Fe=s[e+39>>0]|0;ee=Cs(Fe|0,0,24)|0;pe=xs(u|g|n|ee|0,pe|I|0,6)|0;ee=r[e+41>>0]|0;n=Cs(s[e+40>>0]|0|0,0,8)|0;g=I;ee=Cs(ee&255|0,0,16)|0;g=xs(n|Fe|ee|0,g|I|0,3)|0;ee=I;Fe=r[e+44>>0]|0;n=s[e+42>>0]|0;u=Cs(s[e+43>>0]|0|0,0,8)|0;j=I;Fe=Fe&255;y=Cs(Fe|0,0,16)|0;S=Cs(s[e+45>>0]|0|0,0,8)|0;oe=I;Ce=Cs(s[e+46>>0]|0|0,0,16)|0;oe=oe|I;st=s[e+47>>0]|0;U=Cs(st|0,0,24)|0;oe=xs(S|Fe|Ce|U|0,oe|I|0,5)|0;U=r[e+49>>0]|0;Ce=Cs(s[e+48>>0]|0|0,0,8)|0;Fe=I;U=U&255;S=Cs(U|0,0,16)|0;Fe=xs(Ce|st|S|0,Fe|I|0,2)|0;Fe=Fe&2097151;S=Cs(s[e+50>>0]|0|0,0,8)|0;st=I;Ce=Cs(s[e+51>>0]|0|0,0,16)|0;st=st|I;ue=s[e+52>>0]|0;L=Cs(ue|0,0,24)|0;st=xs(S|U|Ce|L|0,st|I|0,7)|0;st=st&2097151;L=Cs(s[e+53>>0]|0|0,0,8)|0;Ce=I;U=Cs(s[e+54>>0]|0|0,0,16)|0;Ce=Ce|I;S=s[e+55>>0]|0;W=Cs(S|0,0,24)|0;Ce=xs(L|ue|U|W|0,Ce|I|0,4)|0;Ce=Ce&2097151;W=r[e+57>>0]|0;U=Cs(s[e+56>>0]|0|0,0,8)|0;ue=I;W=W&255;L=Cs(W|0,0,16)|0;ue=xs(U|S|L|0,ue|I|0,1)|0;ue=ue&2097151;L=Cs(s[e+58>>0]|0|0,0,8)|0;S=I;U=Cs(s[e+59>>0]|0|0,0,16)|0;S=S|I;he=s[e+60>>0]|0;ge=Cs(he|0,0,24)|0;S=xs(L|W|U|ge|0,S|I|0,6)|0;S=S&2097151;ge=Cs(s[e+61>>0]|0|0,0,8)|0;U=I;W=Cs(s[e+62>>0]|0|0,0,16)|0;U=U|I;L=Cs(s[e+63>>0]|0|0,0,24)|0;U=xs(ge|he|W|L|0,U|I|0,3)|0;L=I;W=Es(U|0,L|0,666643,0)|0;he=I;ge=Es(U|0,L|0,470296,0)|0;ae=I;v=Es(U|0,L|0,654183,0)|0;C=I;Ae=Es(U|0,L|0,-997805,-1)|0;Ie=I;d=Es(U|0,L|0,136657,0)|0;Se=I;L=Es(U|0,L|0,-683901,-1)|0;j=ks(L|0,I|0,u|n|y&2031616|0,j|0)|0;y=I;n=Es(S|0,0,666643,0)|0;u=I;L=Es(S|0,0,470296,0)|0;U=I;Ye=Es(S|0,0,654183,0)|0;M=I;Y=Es(S|0,0,-997805,-1)|0;z=I;ke=Es(S|0,0,136657,0)|0;me=I;S=Es(S|0,0,-683901,-1)|0;G=I;Oe=Es(ue|0,0,666643,0)|0;Ee=I;se=Es(ue|0,0,470296,0)|0;Le=I;Me=Es(ue|0,0,654183,0)|0;Pe=I;nt=Es(ue|0,0,-997805,-1)|0;We=I;l=Es(ue|0,0,136657,0)|0;m=I;ue=Es(ue|0,0,-683901,-1)|0;pe=ks(ue|0,I|0,pe&2097151|0,0)|0;me=ks(pe|0,I|0,ke|0,me|0)|0;Ie=ks(me|0,I|0,Ae|0,Ie|0)|0;Ae=I;me=Es(Ce|0,0,666643,0)|0;ke=I;pe=Es(Ce|0,0,470296,0)|0;ue=I;be=Es(Ce|0,0,654183,0)|0;X=I;Be=Es(Ce|0,0,-997805,-1)|0;De=I;it=Es(Ce|0,0,136657,0)|0;rt=I;Ce=Es(Ce|0,0,-683901,-1)|0;xe=I;i=Es(st|0,0,666643,0)|0;T=I;Ge=Es(st|0,0,470296,0)|0;He=I;Ke=Es(st|0,0,654183,0)|0;qe=I;Xe=Es(st|0,0,-997805,-1)|0;le=I;je=Es(st|0,0,136657,0)|0;Ne=I;st=Es(st|0,0,-683901,-1)|0;ot=ks(st|0,I|0,ot&2097151|0,0)|0;rt=ks(ot|0,I|0,it|0,rt|0)|0;We=ks(rt|0,I|0,nt|0,We|0)|0;M=ks(We|0,I|0,Ye|0,M|0)|0;ae=ks(M|0,I|0,ge|0,ae|0)|0;ge=I;M=Es(Fe|0,0,666643,0)|0;Te=ks(M|0,I|0,Te&2097151|0,0)|0;M=I;Ye=Es(Fe|0,0,470296,0)|0;We=I;nt=Es(Fe|0,0,654183,0)|0;Ze=ks(nt|0,I|0,tt|et|$e&2031616|0,Ze|0)|0;He=ks(Ze|0,I|0,Ge|0,He|0)|0;ke=ks(He|0,I|0,me|0,ke|0)|0;me=I;He=Es(Fe|0,0,-997805,-1)|0;Ge=I;Ze=Es(Fe|0,0,136657,0)|0;Je=ks(Ze|0,I|0,Je&2097151|0,0)|0;le=ks(Je|0,I|0,Xe|0,le|0)|0;X=ks(le|0,I|0,be|0,X|0)|0;Le=ks(X|0,I|0,se|0,Le|0)|0;u=ks(Le|0,I|0,n|0,u|0)|0;n=I;Fe=Es(Fe|0,0,-683901,-1)|0;Le=I;se=ks(Te|0,M|0,1048576,0)|0;X=I;be=xs(se|0,X|0,21)|0;le=I;Ve=ks(Ye|0,We|0,Qe|0,Ve|0)|0;le=ks(Ve|0,I|0,be|0,le|0)|0;T=ks(le|0,I|0,i|0,T|0)|0;i=I;X=Ss(Te|0,M|0,se&-2097152|0,X&2047|0)|0;se=I;M=ks(ke|0,me|0,1048576,0)|0;Te=I;le=xs(M|0,Te|0,21)|0;be=I;ze=ks(He|0,Ge|0,ze&2097151|0,0)|0;qe=ks(ze|0,I|0,Ke|0,qe|0)|0;ue=ks(qe|0,I|0,pe|0,ue|0)|0;Ee=ks(ue|0,I|0,Oe|0,Ee|0)|0;be=ks(Ee|0,I|0,le|0,be|0)|0;le=I;Ee=ks(u|0,n|0,1048576,0)|0;Oe=I;ue=Os(Ee|0,Oe|0,21)|0;pe=I;Ue=ks(Fe|0,Le|0,Ue&2097151|0,0)|0;Ne=ks(Ue|0,I|0,je|0,Ne|0)|0;De=ks(Ne|0,I|0,Be|0,De|0)|0;Pe=ks(De|0,I|0,Me|0,Pe|0)|0;U=ks(Pe|0,I|0,L|0,U|0)|0;he=ks(U|0,I|0,W|0,he|0)|0;pe=ks(he|0,I|0,ue|0,pe|0)|0;ue=I;he=ks(ae|0,ge|0,1048576,0)|0;W=I;U=Os(he|0,W|0,21)|0;L=I;ne=ks(Ce|0,xe|0,ne&2097151|0,0)|0;m=ks(ne|0,I|0,l|0,m|0)|0;z=ks(m|0,I|0,Y|0,z|0)|0;C=ks(z|0,I|0,v|0,C|0)|0;L=ks(C|0,I|0,U|0,L|0)|0;U=I;W=Ss(ae|0,ge|0,he&-2097152|0,W|0)|0;he=I;ge=ks(Ie|0,Ae|0,1048576,0)|0;ae=I;C=Os(ge|0,ae|0,21)|0;v=I;ee=ks(S|0,G|0,g|0,ee|0)|0;Se=ks(ee|0,I|0,d|0,Se|0)|0;v=ks(Se|0,I|0,C|0,v|0)|0;C=I;ae=Ss(Ie|0,Ae|0,ge&-2097152|0,ae|0)|0;ge=I;Ae=ks(j|0,y|0,1048576,0)|0;Ie=I;Se=Os(Ae|0,Ie|0,21)|0;oe=ks(Se|0,I|0,oe&2097151|0,0)|0;Se=I;Ie=Ss(j|0,y|0,Ae&-2097152|0,Ie|0)|0;Ae=I;y=ks(T|0,i|0,1048576,0)|0;j=I;d=xs(y|0,j|0,21)|0;ee=I;j=Ss(T|0,i|0,y&-2097152|0,j|0)|0;y=I;i=ks(be|0,le|0,1048576,0)|0;T=I;g=Os(i|0,T|0,21)|0;G=I;T=Ss(be|0,le|0,i&-2097152|0,T|0)|0;i=I;le=ks(pe|0,ue|0,1048576,0)|0;be=I;S=Os(le|0,be|0,21)|0;he=ks(S|0,I|0,W|0,he|0)|0;W=I;be=Ss(pe|0,ue|0,le&-2097152|0,be|0)|0;le=I;ue=ks(L|0,U|0,1048576,0)|0;pe=I;S=Os(ue|0,pe|0,21)|0;ge=ks(S|0,I|0,ae|0,ge|0)|0;ae=I;pe=Ss(L|0,U|0,ue&-2097152|0,pe|0)|0;ue=I;U=ks(v|0,C|0,1048576,0)|0;L=I;S=Os(U|0,L|0,21)|0;Ae=ks(S|0,I|0,Ie|0,Ae|0)|0;Ie=I;L=Ss(v|0,C|0,U&-2097152|0,L|0)|0;U=I;C=Es(oe|0,Se|0,666643,0)|0;ye=ks(C|0,I|0,ye&2097151|0,0)|0;C=I;v=Es(oe|0,Se|0,470296,0)|0;v=ks(X|0,se|0,v|0,I|0)|0;se=I;X=Es(oe|0,Se|0,654183,0)|0;X=ks(j|0,y|0,X|0,I|0)|0;y=I;j=Es(oe|0,Se|0,-997805,-1)|0;S=I;z=Es(oe|0,Se|0,136657,0)|0;z=ks(T|0,i|0,z|0,I|0)|0;i=I;Se=Es(oe|0,Se|0,-683901,-1)|0;oe=I;G=ks(u|0,n|0,g|0,G|0)|0;Oe=Ss(G|0,I|0,Ee&-2097152|0,Oe|0)|0;oe=ks(Oe|0,I|0,Se|0,oe|0)|0;Se=I;Oe=Es(Ae|0,Ie|0,666643,0)|0;K=ks(Oe|0,I|0,K&2097151|0,0)|0;Oe=I;Ee=Es(Ae|0,Ie|0,470296,0)|0;Ee=ks(ye|0,C|0,Ee|0,I|0)|0;C=I;ye=Es(Ae|0,Ie|0,654183,0)|0;ye=ks(v|0,se|0,ye|0,I|0)|0;se=I;v=Es(Ae|0,Ie|0,-997805,-1)|0;v=ks(X|0,y|0,v|0,I|0)|0;y=I;X=Es(Ae|0,Ie|0,136657,0)|0;G=I;Ie=Es(Ae|0,Ie|0,-683901,-1)|0;Ie=ks(z|0,i|0,Ie|0,I|0)|0;i=I;z=Es(L|0,U|0,666643,0)|0;A=ks(z|0,I|0,A&2097151|0,0)|0;z=I;Ae=Es(L|0,U|0,470296,0)|0;Ae=ks(K|0,Oe|0,Ae|0,I|0)|0;Oe=I;K=Es(L|0,U|0,654183,0)|0;K=ks(Ee|0,C|0,K|0,I|0)|0;C=I;Ee=Es(L|0,U|0,-997805,-1)|0;Ee=ks(ye|0,se|0,Ee|0,I|0)|0;se=I;ye=Es(L|0,U|0,136657,0)|0;ye=ks(v|0,y|0,ye|0,I|0)|0;y=I;U=Es(L|0,U|0,-683901,-1)|0;L=I;ee=ks(ke|0,me|0,d|0,ee|0)|0;Te=Ss(ee|0,I|0,M&-2097152|0,Te|0)|0;S=ks(Te|0,I|0,j|0,S|0)|0;G=ks(S|0,I|0,X|0,G|0)|0;L=ks(G|0,I|0,U|0,L|0)|0;U=I;G=Es(ge|0,ae|0,666643,0)|0;X=I;S=Es(ge|0,ae|0,470296,0)|0;j=I;Te=Es(ge|0,ae|0,654183,0)|0;M=I;ee=Es(ge|0,ae|0,-997805,-1)|0;d=I;me=Es(ge|0,ae|0,136657,0)|0;me=ks(Ee|0,se|0,me|0,I|0)|0;se=I;ae=Es(ge|0,ae|0,-683901,-1)|0;ae=ks(ye|0,y|0,ae|0,I|0)|0;y=I;ye=Es(pe|0,ue|0,666643,0)|0;ge=I;Ee=Es(pe|0,ue|0,470296,0)|0;ke=I;v=Es(pe|0,ue|0,654183,0)|0;g=I;n=Es(pe|0,ue|0,-997805,-1)|0;u=I;T=Es(pe|0,ue|0,136657,0)|0;Y=I;ue=Es(pe|0,ue|0,-683901,-1)|0;ue=ks(me|0,se|0,ue|0,I|0)|0;se=I;me=Es(he|0,W|0,666643,0)|0;_e=ks(me|0,I|0,P|we|ve&2031616|0,_e|0)|0;ve=I;we=Es(he|0,W|0,470296,0)|0;P=I;me=Es(he|0,W|0,654183,0)|0;Re=ks(me|0,I|0,Re&2097151|0,0)|0;X=ks(Re|0,I|0,G|0,X|0)|0;ke=ks(X|0,I|0,Ee|0,ke|0)|0;Ee=I;X=Es(he|0,W|0,-997805,-1)|0;G=I;Re=Es(he|0,W|0,136657,0)|0;Re=ks(Ae|0,Oe|0,Re|0,I|0)|0;M=ks(Re|0,I|0,Te|0,M|0)|0;u=ks(M|0,I|0,n|0,u|0)|0;n=I;W=Es(he|0,W|0,-683901,-1)|0;he=I;M=ks(_e|0,ve|0,1048576,0)|0;Te=I;Re=Os(M|0,Te|0,21)|0;Oe=I;te=ks(we|0,P|0,te&2097151|0,0)|0;ge=ks(te|0,I|0,ye|0,ge|0)|0;Oe=ks(ge|0,I|0,Re|0,Oe|0)|0;Re=I;Te=Ss(_e|0,ve|0,M&-2097152|0,Te|0)|0;M=I;ve=ks(ke|0,Ee|0,1048576,0)|0;_e=I;ge=Os(ve|0,_e|0,21)|0;ye=I;G=ks(A|0,z|0,X|0,G|0)|0;j=ks(G|0,I|0,S|0,j|0)|0;g=ks(j|0,I|0,v|0,g|0)|0;ye=ks(g|0,I|0,ge|0,ye|0)|0;ge=I;g=ks(u|0,n|0,1048576,0)|0;v=I;j=Os(g|0,v|0,21)|0;S=I;he=ks(K|0,C|0,W|0,he|0)|0;d=ks(he|0,I|0,ee|0,d|0)|0;Y=ks(d|0,I|0,T|0,Y|0)|0;S=ks(Y|0,I|0,j|0,S|0)|0;j=I;Y=ks(ue|0,se|0,1048576,0)|0;T=I;d=Os(Y|0,T|0,21)|0;d=ks(ae|0,y|0,d|0,I|0)|0;y=I;T=Ss(ue|0,se|0,Y&-2097152|0,T|0)|0;Y=I;se=ks(L|0,U|0,1048576,0)|0;ue=I;ae=Os(se|0,ue|0,21)|0;ae=ks(Ie|0,i|0,ae|0,I|0)|0;i=I;ue=Ss(L|0,U|0,se&-2097152|0,ue|0)|0;se=I;U=ks(oe|0,Se|0,1048576,0)|0;L=I;Ie=Os(U|0,L|0,21)|0;Ie=ks(be|0,le|0,Ie|0,I|0)|0;le=I;L=Ss(oe|0,Se|0,U&-2097152|0,L|0)|0;U=I;Se=ks(Oe|0,Re|0,1048576,0)|0;oe=I;be=Os(Se|0,oe|0,21)|0;ee=I;he=ks(ye|0,ge|0,1048576,0)|0;W=I;C=Os(he|0,W|0,21)|0;K=I;G=ks(S|0,j|0,1048576,0)|0;X=I;z=Os(G|0,X|0,21)|0;z=ks(T|0,Y|0,z|0,I|0)|0;Y=I;T=ks(d|0,y|0,1048576,0)|0;A=I;te=Os(T|0,A|0,21)|0;te=ks(ue|0,se|0,te|0,I|0)|0;se=I;A=Ss(d|0,y|0,T&-2097152|0,A|0)|0;T=I;y=ks(ae|0,i|0,1048576,0)|0;d=I;ue=Os(y|0,d|0,21)|0;ue=ks(L|0,U|0,ue|0,I|0)|0;U=I;d=Ss(ae|0,i|0,y&-2097152|0,d|0)|0;y=I;i=ks(Ie|0,le|0,1048576,0)|0;ae=I;L=Os(i|0,ae|0,21)|0;P=I;ae=Ss(Ie|0,le|0,i&-2097152|0,ae|0)|0;i=I;le=Es(L|0,P|0,666643,0)|0;le=ks(Te|0,M|0,le|0,I|0)|0;M=I;Te=Es(L|0,P|0,470296,0)|0;Ie=I;we=Es(L|0,P|0,654183,0)|0;Ae=I;me=Es(L|0,P|0,-997805,-1)|0;pe=I;m=Es(L|0,P|0,136657,0)|0;l=I;P=Es(L|0,P|0,-683901,-1)|0;L=I;M=Os(le|0,M|0,21)|0;ne=I;Ie=ks(Oe|0,Re|0,Te|0,Ie|0)|0;oe=Ss(Ie|0,I|0,Se&-2097152|0,oe|0)|0;ne=ks(oe|0,I|0,M|0,ne|0)|0;M=Os(ne|0,I|0,21)|0;oe=I;Ae=ks(ke|0,Ee|0,we|0,Ae|0)|0;_e=Ss(Ae|0,I|0,ve&-2097152|0,_e|0)|0;ee=ks(_e|0,I|0,be|0,ee|0)|0;oe=ks(ee|0,I|0,M|0,oe|0)|0;M=Os(oe|0,I|0,21)|0;ee=I;pe=ks(ye|0,ge|0,me|0,pe|0)|0;W=Ss(pe|0,I|0,he&-2097152|0,W|0)|0;ee=ks(W|0,I|0,M|0,ee|0)|0;M=Os(ee|0,I|0,21)|0;W=I;l=ks(u|0,n|0,m|0,l|0)|0;v=Ss(l|0,I|0,g&-2097152|0,v|0)|0;K=ks(v|0,I|0,C|0,K|0)|0;W=ks(K|0,I|0,M|0,W|0)|0;M=Os(W|0,I|0,21)|0;K=I;L=ks(S|0,j|0,P|0,L|0)|0;X=Ss(L|0,I|0,G&-2097152|0,X|0)|0;K=ks(X|0,I|0,M|0,K|0)|0;M=Os(K|0,I|0,21)|0;M=ks(z|0,Y|0,M|0,I|0)|0;Y=Os(M|0,I|0,21)|0;T=ks(Y|0,I|0,A|0,T|0)|0;A=Os(T|0,I|0,21)|0;A=ks(te|0,se|0,A|0,I|0)|0;se=Os(A|0,I|0,21)|0;y=ks(se|0,I|0,d|0,y|0)|0;d=Os(y|0,I|0,21)|0;d=ks(ue|0,U|0,d|0,I|0)|0;U=Os(d|0,I|0,21)|0;i=ks(U|0,I|0,ae|0,i|0)|0;ae=Os(i|0,I|0,21)|0;U=I;ue=Es(ae|0,U|0,666643,0)|0;le=ks(ue|0,I|0,le&2097151|0,0)|0;ue=I;se=Es(ae|0,U|0,470296,0)|0;ne=ks(se|0,I|0,ne&2097151|0,0)|0;se=I;te=Es(ae|0,U|0,654183,0)|0;oe=ks(te|0,I|0,oe&2097151|0,0)|0;te=I;Y=Es(ae|0,U|0,-997805,-1)|0;ee=ks(Y|0,I|0,ee&2097151|0,0)|0;Y=I;z=Es(ae|0,U|0,136657,0)|0;W=ks(z|0,I|0,W&2097151|0,0)|0;z=I;U=Es(ae|0,U|0,-683901,-1)|0;K=ks(U|0,I|0,K&2097151|0,0)|0;U=I;ae=Os(le|0,ue|0,21)|0;ae=ks(ne|0,se|0,ae|0,I|0)|0;se=I;ne=Os(ae|0,se|0,21)|0;ne=ks(oe|0,te|0,ne|0,I|0)|0;te=I;oe=ae&2097151;X=Os(ne|0,te|0,21)|0;X=ks(ee|0,Y|0,X|0,I|0)|0;Y=I;ee=ne&2097151;G=Os(X|0,Y|0,21)|0;G=ks(W|0,z|0,G|0,I|0)|0;z=I;W=X&2097151;L=Os(G|0,z|0,21)|0;L=ks(K|0,U|0,L|0,I|0)|0;U=I;K=G&2097151;P=Os(L|0,U|0,21)|0;M=ks(P|0,I|0,M&2097151|0,0)|0;P=I;j=L&2097151;S=Os(M|0,P|0,21)|0;T=ks(S|0,I|0,T&2097151|0,0)|0;S=I;C=M&2097151;v=Os(T|0,S|0,21)|0;A=ks(v|0,I|0,A&2097151|0,0)|0;v=I;g=Os(A|0,v|0,21)|0;y=ks(g|0,I|0,y&2097151|0,0)|0;g=I;l=Os(y|0,g|0,21)|0;d=ks(l|0,I|0,d&2097151|0,0)|0;l=I;m=y&2097151;n=Os(d|0,l|0,21)|0;i=ks(n|0,I|0,i&2097151|0,0)|0;n=I;u=d&2097151;r[e>>0]=le;e=xs(le|0,ue|0,8)|0;r[de>>0]=e;e=xs(le|0,ue|0,16)|0;ue=Cs(oe|0,0,5)|0;r[fe>>0]=ue|e&31;e=xs(ae|0,se|0,3)|0;r[ce>>0]=e;e=xs(ae|0,se|0,11)|0;r[ie>>0]=e;e=xs(oe|0,0,19)|0;oe=I;ie=Cs(ee|0,0,2)|0;r[re>>0]=ie|e;e=xs(ne|0,te|0,6)|0;r[$>>0]=e;e=xs(ee|0,0,14)|0;ee=I;$=Cs(W|0,0,7)|0;r[Z>>0]=$|e;e=xs(X|0,Y|0,1)|0;r[J>>0]=e;e=xs(X|0,Y|0,9)|0;r[Q>>0]=e;e=xs(W|0,0,17)|0;W=I;Q=Cs(K|0,0,4)|0;r[V>>0]=Q|e;e=xs(G|0,z|0,4)|0;r[H>>0]=e;e=xs(G|0,z|0,12)|0;r[q>>0]=e;e=xs(K|0,0,20)|0;K=I;q=Cs(j|0,0,1)|0;r[F>>0]=q|e;e=xs(L|0,U|0,7)|0;r[N>>0]=e;e=xs(j|0,0,15)|0;j=I;N=Cs(C|0,0,6)|0;r[B>>0]=N|e;e=xs(M|0,P|0,2)|0;r[D>>0]=e;e=xs(M|0,P|0,10)|0;r[x>>0]=e;e=xs(C|0,0,18)|0;C=I;x=Cs(T|0,S|0,3)|0;r[O>>0]=x|e;e=xs(T|0,S|0,5)|0;r[R>>0]=e;e=xs(T|0,S|0,13)|0;r[k>>0]=e;r[E>>0]=A;e=xs(A|0,v|0,8)|0;r[w>>0]=e;e=xs(A|0,v|0,16)|0;v=Cs(m|0,0,5)|0;r[_>>0]=v|e&31;e=xs(y|0,g|0,3)|0;r[b>>0]=e;e=xs(y|0,g|0,11)|0;r[p>>0]=e;e=xs(m|0,0,19)|0;m=I;p=Cs(u|0,0,2)|0;r[h>>0]=p|e;e=xs(d|0,l|0,6)|0;r[f>>0]=e;e=xs(u|0,0,14)|0;u=I;f=Cs(i|0,n|0,7)|0;r[c>>0]=f|e;e=xs(i|0,n|0,1)|0;r[a>>0]=e;e=xs(i|0,n|0,9)|0;r[o>>0]=e;e=Os(i|0,n|0,17)|0;r[t>>0]=e;return}function ti(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var o=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0,at=0,ct=0,ft=0,ut=0,lt=0,dt=0,ht=0,pt=0,mt=0,gt=0,yt=0,bt=0,_t=0,vt=0,At=0,wt=0,Et=0,kt=0,St=0,It=0,Tt=0,Rt=0,Ot=0,xt=0,Ct=0,Pt=0,Mt=0,Dt=0,Bt=0,Nt=0,jt=0,Ut=0,Lt=0,Ft=0,qt=0,Kt=0,zt=0,Gt=0,Ht=0,Vt=0,Qt=0,Wt=0,Yt=0,Xt=0,Jt=0,Zt=0,$t=0,en=0,tn=0,nn=0,rn=0,on=0,sn=0,an=0,cn=0,fn=0,un=0,ln=0,dn=0,hn=0,pn=0,mn=0,gn=0,yn=0,bn=0,_n=0,vn=0,An=0,wn=0;ot=r[t+2>>0]|0;pe=s[t>>0]|0;pt=Cs(s[t+1>>0]|0|0,0,8)|0;Ue=I;ot=ot&255;Le=Cs(ot|0,0,16)|0;Le=pt|pe|Le&2031616;pe=Cs(s[t+3>>0]|0|0,0,8)|0;pt=I;$e=Cs(s[t+4>>0]|0|0,0,16)|0;pt=pt|I;ht=s[t+5>>0]|0;L=Cs(ht|0,0,24)|0;pt=xs(pe|ot|$e|L|0,pt|I|0,5)|0;pt=pt&2097151;L=r[t+7>>0]|0;$e=Cs(s[t+6>>0]|0|0,0,8)|0;ot=I;L=L&255;pe=Cs(L|0,0,16)|0;ot=xs($e|ht|pe|0,ot|I|0,2)|0;ot=ot&2097151;pe=Cs(s[t+8>>0]|0|0,0,8)|0;ht=I;$e=Cs(s[t+9>>0]|0|0,0,16)|0;ht=ht|I;G=s[t+10>>0]|0;B=Cs(G|0,0,24)|0;ht=xs(pe|L|$e|B|0,ht|I|0,7)|0;ht=ht&2097151;B=Cs(s[t+11>>0]|0|0,0,8)|0;$e=I;L=Cs(s[t+12>>0]|0|0,0,16)|0;$e=$e|I;pe=s[t+13>>0]|0;m=Cs(pe|0,0,24)|0;$e=xs(B|G|L|m|0,$e|I|0,4)|0;$e=$e&2097151;m=r[t+15>>0]|0;L=Cs(s[t+14>>0]|0|0,0,8)|0;G=I;m=m&255;B=Cs(m|0,0,16)|0;G=xs(L|pe|B|0,G|I|0,1)|0;G=G&2097151;B=Cs(s[t+16>>0]|0|0,0,8)|0;pe=I;L=Cs(s[t+17>>0]|0|0,0,16)|0;pe=pe|I;N=s[t+18>>0]|0;l=Cs(N|0,0,24)|0;pe=xs(B|m|L|l|0,pe|I|0,6)|0;pe=pe&2097151;l=r[t+20>>0]|0;L=Cs(s[t+19>>0]|0|0,0,8)|0;m=I;l=Cs(l&255|0,0,16)|0;m=xs(L|N|l|0,m|I|0,3)|0;l=I;N=r[t+23>>0]|0;L=s[t+21>>0]|0;B=Cs(s[t+22>>0]|0|0,0,8)|0;z=I;N=N&255;x=Cs(N|0,0,16)|0;x=B|L|x&2031616;L=Cs(s[t+24>>0]|0|0,0,8)|0;B=I;Je=Cs(s[t+25>>0]|0|0,0,16)|0;B=B|I;ge=s[t+26>>0]|0;E=Cs(ge|0,0,24)|0;B=xs(L|N|Je|E|0,B|I|0,5)|0;B=B&2097151;E=r[t+28>>0]|0;Je=Cs(s[t+27>>0]|0|0,0,8)|0;N=I;E=E&255;L=Cs(E|0,0,16)|0;N=xs(Je|ge|L|0,N|I|0,2)|0;N=N&2097151;L=Cs(s[t+29>>0]|0|0,0,8)|0;ge=I;Je=Cs(s[t+30>>0]|0|0,0,16)|0;ge=ge|I;ye=Cs(s[t+31>>0]|0|0,0,24)|0;ge=xs(L|E|Je|ye|0,ge|I|0,7)|0;ye=I;Je=r[n+2>>0]|0;E=s[n>>0]|0;L=Cs(s[n+1>>0]|0|0,0,8)|0;Et=I;Je=Je&255;wt=Cs(Je|0,0,16)|0;wt=L|E|wt&2031616;E=Cs(s[n+3>>0]|0|0,0,8)|0;L=I;u=Cs(s[n+4>>0]|0|0,0,16)|0;L=L|I;b=s[n+5>>0]|0;bn=Cs(b|0,0,24)|0;L=xs(E|Je|u|bn|0,L|I|0,5)|0;L=L&2097151;bn=r[n+7>>0]|0;u=Cs(s[n+6>>0]|0|0,0,8)|0;Je=I;bn=bn&255;E=Cs(bn|0,0,16)|0;Je=xs(u|b|E|0,Je|I|0,2)|0;Je=Je&2097151;E=Cs(s[n+8>>0]|0|0,0,8)|0;b=I;u=Cs(s[n+9>>0]|0|0,0,16)|0;b=b|I;d=s[n+10>>0]|0;w=Cs(d|0,0,24)|0;b=xs(E|bn|u|w|0,b|I|0,7)|0;b=b&2097151;w=Cs(s[n+11>>0]|0|0,0,8)|0;u=I;bn=Cs(s[n+12>>0]|0|0,0,16)|0;u=u|I;E=s[n+13>>0]|0;wn=Cs(E|0,0,24)|0;u=xs(w|d|bn|wn|0,u|I|0,4)|0;u=u&2097151;wn=r[n+15>>0]|0;bn=Cs(s[n+14>>0]|0|0,0,8)|0;d=I;wn=wn&255;w=Cs(wn|0,0,16)|0;d=xs(bn|E|w|0,d|I|0,1)|0;d=d&2097151;w=Cs(s[n+16>>0]|0|0,0,8)|0;E=I;bn=Cs(s[n+17>>0]|0|0,0,16)|0;E=E|I;vt=s[n+18>>0]|0;Z=Cs(vt|0,0,24)|0;E=xs(w|wn|bn|Z|0,E|I|0,6)|0;E=E&2097151;Z=r[n+20>>0]|0;bn=Cs(s[n+19>>0]|0|0,0,8)|0;wn=I;Z=Cs(Z&255|0,0,16)|0;wn=xs(bn|vt|Z|0,wn|I|0,3)|0;Z=I;vt=r[n+23>>0]|0;bn=s[n+21>>0]|0;w=Cs(s[n+22>>0]|0|0,0,8)|0;ke=I;vt=vt&255;Se=Cs(vt|0,0,16)|0;Se=w|bn|Se&2031616;bn=Cs(s[n+24>>0]|0|0,0,8)|0;w=I;Me=Cs(s[n+25>>0]|0|0,0,16)|0;w=w|I;Q=s[n+26>>0]|0;_n=Cs(Q|0,0,24)|0;w=xs(bn|vt|Me|_n|0,w|I|0,5)|0;w=w&2097151;_n=r[n+28>>0]|0;Me=Cs(s[n+27>>0]|0|0,0,8)|0;vt=I;_n=_n&255;bn=Cs(_n|0,0,16)|0;vt=xs(Me|Q|bn|0,vt|I|0,2)|0;vt=vt&2097151;bn=Cs(s[n+29>>0]|0|0,0,8)|0;Q=I;Me=Cs(s[n+30>>0]|0|0,0,16)|0;Q=Q|I;V=Cs(s[n+31>>0]|0|0,0,24)|0;Q=xs(bn|_n|Me|V|0,Q|I|0,7)|0;V=I;Me=r[i+2>>0]|0;_n=s[i>>0]|0;bn=Cs(s[i+1>>0]|0|0,0,8)|0;Oe=I;Me=Me&255;vn=Cs(Me|0,0,16)|0;Ge=Cs(s[i+3>>0]|0|0,0,8)|0;_e=I;Te=Cs(s[i+4>>0]|0|0,0,16)|0;_e=_e|I;Ee=s[i+5>>0]|0;g=Cs(Ee|0,0,24)|0;_e=xs(Ge|Me|Te|g|0,_e|I|0,5)|0;g=r[i+7>>0]|0;Te=Cs(s[i+6>>0]|0|0,0,8)|0;Me=I;g=g&255;Ge=Cs(g|0,0,16)|0;Me=xs(Te|Ee|Ge|0,Me|I|0,2)|0;Ge=Cs(s[i+8>>0]|0|0,0,8)|0;Ee=I;Te=Cs(s[i+9>>0]|0|0,0,16)|0;Ee=Ee|I;De=s[i+10>>0]|0;ve=Cs(De|0,0,24)|0;Ee=xs(Ge|g|Te|ve|0,Ee|I|0,7)|0;ve=Cs(s[i+11>>0]|0|0,0,8)|0;Te=I;g=Cs(s[i+12>>0]|0|0,0,16)|0;Te=Te|I;Ge=s[i+13>>0]|0;le=Cs(Ge|0,0,24)|0;Te=xs(ve|De|g|le|0,Te|I|0,4)|0;le=r[i+15>>0]|0;g=Cs(s[i+14>>0]|0|0,0,8)|0;De=I;le=le&255;ve=Cs(le|0,0,16)|0;De=xs(g|Ge|ve|0,De|I|0,1)|0;ve=Cs(s[i+16>>0]|0|0,0,8)|0;Ge=I;g=Cs(s[i+17>>0]|0|0,0,16)|0;Ge=Ge|I;te=s[i+18>>0]|0;ue=Cs(te|0,0,24)|0;Ge=xs(ve|le|g|ue|0,Ge|I|0,6)|0;ue=r[i+20>>0]|0;g=Cs(s[i+19>>0]|0|0,0,8)|0;le=I;ue=Cs(ue&255|0,0,16)|0;le=xs(g|te|ue|0,le|I|0,3)|0;ue=I;te=r[i+23>>0]|0;g=s[i+21>>0]|0;ve=Cs(s[i+22>>0]|0|0,0,8)|0;X=I;te=te&255;J=Cs(te|0,0,16)|0;O=Cs(s[i+24>>0]|0|0,0,8)|0;Ae=I;Re=Cs(s[i+25>>0]|0|0,0,16)|0;Ae=Ae|I;rt=s[i+26>>0]|0;j=Cs(rt|0,0,24)|0;Ae=xs(O|te|Re|j|0,Ae|I|0,5)|0;j=r[i+28>>0]|0;Re=Cs(s[i+27>>0]|0|0,0,8)|0;te=I;j=j&255;O=Cs(j|0,0,16)|0;te=xs(Re|rt|O|0,te|I|0,2)|0;O=Cs(s[i+29>>0]|0|0,0,8)|0;rt=I;Re=Cs(s[i+30>>0]|0|0,0,16)|0;rt=rt|I;ft=Cs(s[i+31>>0]|0|0,0,24)|0;rt=xs(O|j|Re|ft|0,rt|I|0,7)|0;ft=I;Re=Es(wt|0,Et|0,Le|0,Ue|0)|0;Re=ks(bn|_n|vn&2031616|0,Oe|0,Re|0,I|0)|0;Oe=I;vn=Es(L|0,0,Le|0,Ue|0)|0;_n=I;bn=Es(wt|0,Et|0,pt|0,0)|0;j=I;O=Es(Je|0,0,Le|0,Ue|0)|0;Pe=I;re=Es(L|0,0,pt|0,0)|0;hn=I;we=Es(wt|0,Et|0,ot|0,0)|0;we=ks(re|0,hn|0,we|0,I|0)|0;Pe=ks(we|0,I|0,O|0,Pe|0)|0;Me=ks(Pe|0,I|0,Me&2097151|0,0)|0;Pe=I;O=Es(b|0,0,Le|0,Ue|0)|0;we=I;hn=Es(Je|0,0,pt|0,0)|0;re=I;yn=Es(L|0,0,ot|0,0)|0;gn=I;mn=Es(wt|0,Et|0,ht|0,0)|0;pn=I;H=Es(u|0,0,Le|0,Ue|0)|0;Ie=I;rn=Es(b|0,0,pt|0,0)|0;Be=I;sn=Es(Je|0,0,ot|0,0)|0;R=I;an=Es(L|0,0,ht|0,0)|0;cn=I;on=Es(wt|0,Et|0,$e|0,0)|0;on=ks(an|0,cn|0,on|0,I|0)|0;R=ks(on|0,I|0,sn|0,R|0)|0;Be=ks(R|0,I|0,rn|0,Be|0)|0;Ie=ks(Be|0,I|0,H|0,Ie|0)|0;Te=ks(Ie|0,I|0,Te&2097151|0,0)|0;Ie=I;H=Es(d|0,0,Le|0,Ue|0)|0;Be=I;rn=Es(u|0,0,pt|0,0)|0;R=I;sn=Es(b|0,0,ot|0,0)|0;on=I;cn=Es(Je|0,0,ht|0,0)|0;an=I;dn=Es(L|0,0,$e|0,0)|0;ln=I;un=Es(wt|0,Et|0,G|0,0)|0;fn=I;T=Es(E|0,0,Le|0,Ue|0)|0;He=I;Gt=Es(d|0,0,pt|0,0)|0;o=I;Vt=Es(u|0,0,ot|0,0)|0;zt=I;Wt=Es(b|0,0,ht|0,0)|0;Ht=I;Xt=Es(Je|0,0,$e|0,0)|0;Qt=I;Jt=Es(L|0,0,G|0,0)|0;Zt=I;Yt=Es(wt|0,Et|0,pe|0,0)|0;Yt=ks(Jt|0,Zt|0,Yt|0,I|0)|0;Qt=ks(Yt|0,I|0,Xt|0,Qt|0)|0;Ht=ks(Qt|0,I|0,Wt|0,Ht|0)|0;zt=ks(Ht|0,I|0,Vt|0,zt|0)|0;o=ks(zt|0,I|0,Gt|0,o|0)|0;He=ks(o|0,I|0,T|0,He|0)|0;Ge=ks(He|0,I|0,Ge&2097151|0,0)|0;He=I;T=Es(wn|0,Z|0,Le|0,Ue|0)|0;o=I;Gt=Es(E|0,0,pt|0,0)|0;zt=I;Vt=Es(d|0,0,ot|0,0)|0;Ht=I;Wt=Es(u|0,0,ht|0,0)|0;Qt=I;Xt=Es(b|0,0,$e|0,0)|0;Yt=I;Zt=Es(Je|0,0,G|0,0)|0;Jt=I;nn=Es(L|0,0,pe|0,0)|0;tn=I;en=Es(wt|0,Et|0,m|0,l|0)|0;$t=I;ee=Es(Se|0,ke|0,Le|0,Ue|0)|0;It=I;Tt=Es(wn|0,Z|0,pt|0,0)|0;Rt=I;Ot=Es(E|0,0,ot|0,0)|0;xt=I;Ct=Es(d|0,0,ht|0,0)|0;Pt=I;Mt=Es(u|0,0,$e|0,0)|0;Dt=I;Bt=Es(b|0,0,G|0,0)|0;Nt=I;jt=Es(Je|0,0,pe|0,0)|0;Ut=I;Ft=Es(L|0,0,m|0,l|0)|0;qt=I;Kt=Es(wt|0,Et|0,x|0,z|0)|0;Kt=ks(Ft|0,qt|0,Kt|0,I|0)|0;Ut=ks(Kt|0,I|0,jt|0,Ut|0)|0;Nt=ks(Ut|0,I|0,Bt|0,Nt|0)|0;Dt=ks(Nt|0,I|0,Mt|0,Dt|0)|0;Pt=ks(Dt|0,I|0,Ct|0,Pt|0)|0;xt=ks(Pt|0,I|0,Ot|0,xt|0)|0;Rt=ks(xt|0,I|0,Tt|0,Rt|0)|0;It=ks(Rt|0,I|0,ee|0,It|0)|0;X=ks(It|0,I|0,ve|g|J&2031616|0,X|0)|0;J=I;g=Es(w|0,0,Le|0,Ue|0)|0;ve=I;It=Es(Se|0,ke|0,pt|0,0)|0;ee=I;Rt=Es(wn|0,Z|0,ot|0,0)|0;Tt=I;xt=Es(E|0,0,ht|0,0)|0;Ot=I;Pt=Es(d|0,0,$e|0,0)|0;Ct=I;Dt=Es(u|0,0,G|0,0)|0;Mt=I;Nt=Es(b|0,0,pe|0,0)|0;Bt=I;Ut=Es(Je|0,0,m|0,l|0)|0;jt=I;Kt=Es(L|0,0,x|0,z|0)|0;qt=I;Ft=Es(wt|0,Et|0,B|0,0)|0;Lt=I;et=Es(vt|0,0,Le|0,Ue|0)|0;ne=I;je=Es(w|0,0,pt|0,0)|0;tt=I;gt=Es(Se|0,ke|0,ot|0,0)|0;Ne=I;f=Es(wn|0,Z|0,ht|0,0)|0;yt=I;Ke=Es(E|0,0,$e|0,0)|0;v=I;st=Es(d|0,0,G|0,0)|0;ze=I;i=Es(u|0,0,pe|0,0)|0;at=I;We=Es(b|0,0,m|0,l|0)|0;t=I;he=Es(Je|0,0,x|0,z|0)|0;Ye=I;kt=Es(L|0,0,B|0,0)|0;St=I;be=Es(wt|0,Et|0,N|0,0)|0;be=ks(kt|0,St|0,be|0,I|0)|0;Ye=ks(be|0,I|0,he|0,Ye|0)|0;t=ks(Ye|0,I|0,We|0,t|0)|0;at=ks(t|0,I|0,i|0,at|0)|0;ze=ks(at|0,I|0,st|0,ze|0)|0;v=ks(ze|0,I|0,Ke|0,v|0)|0;yt=ks(v|0,I|0,f|0,yt|0)|0;Ne=ks(yt|0,I|0,gt|0,Ne|0)|0;tt=ks(Ne|0,I|0,je|0,tt|0)|0;ne=ks(tt|0,I|0,et|0,ne|0)|0;te=ks(ne|0,I|0,te&2097151|0,0)|0;ne=I;Ue=Es(Q|0,V|0,Le|0,Ue|0)|0;Le=I;et=Es(vt|0,0,pt|0,0)|0;tt=I;je=Es(w|0,0,ot|0,0)|0;Ne=I;gt=Es(Se|0,ke|0,ht|0,0)|0;yt=I;f=Es(wn|0,Z|0,$e|0,0)|0;v=I;Ke=Es(E|0,0,G|0,0)|0;ze=I;st=Es(d|0,0,pe|0,0)|0;at=I;i=Es(u|0,0,m|0,l|0)|0;t=I;We=Es(b|0,0,x|0,z|0)|0;Ye=I;he=Es(Je|0,0,B|0,0)|0;be=I;St=Es(L|0,0,N|0,0)|0;kt=I;Et=Es(wt|0,Et|0,ge|0,ye|0)|0;wt=I;pt=Es(Q|0,V|0,pt|0,0)|0;mt=I;P=Es(vt|0,0,ot|0,0)|0;it=I;fe=Es(w|0,0,ht|0,0)|0;n=I;bt=Es(Se|0,ke|0,$e|0,0)|0;Fe=I;k=Es(wn|0,Z|0,G|0,0)|0;_t=I;ie=Es(E|0,0,pe|0,0)|0;F=I;qe=Es(d|0,0,m|0,l|0)|0;oe=I;W=Es(u|0,0,x|0,z|0)|0;ce=I;U=Es(b|0,0,B|0,0)|0;Y=I;dt=Es(Je|0,0,N|0,0)|0;Xe=I;L=Es(L|0,0,ge|0,ye|0)|0;L=ks(dt|0,Xe|0,L|0,I|0)|0;Y=ks(L|0,I|0,U|0,Y|0)|0;ce=ks(Y|0,I|0,W|0,ce|0)|0;oe=ks(ce|0,I|0,qe|0,oe|0)|0;F=ks(oe|0,I|0,ie|0,F|0)|0;_t=ks(F|0,I|0,k|0,_t|0)|0;Fe=ks(_t|0,I|0,bt|0,Fe|0)|0;n=ks(Fe|0,I|0,fe|0,n|0)|0;it=ks(n|0,I|0,P|0,it|0)|0;mt=ks(it|0,I|0,pt|0,mt|0)|0;pt=I;ot=Es(Q|0,V|0,ot|0,0)|0;it=I;P=Es(vt|0,0,ht|0,0)|0;n=I;fe=Es(w|0,0,$e|0,0)|0;Fe=I;bt=Es(Se|0,ke|0,G|0,0)|0;_t=I;k=Es(wn|0,Z|0,pe|0,0)|0;F=I;ie=Es(E|0,0,m|0,l|0)|0;oe=I;qe=Es(d|0,0,x|0,z|0)|0;ce=I;W=Es(u|0,0,B|0,0)|0;Y=I;U=Es(b|0,0,N|0,0)|0;L=I;Je=Es(Je|0,0,ge|0,ye|0)|0;Xe=I;ht=Es(Q|0,V|0,ht|0,0)|0;dt=I;ut=Es(vt|0,0,$e|0,0)|0;Ze=I;K=Es(w|0,0,G|0,0)|0;lt=I;$=Es(Se|0,ke|0,pe|0,0)|0;q=I;ae=Es(wn|0,Z|0,m|0,l|0)|0;C=I;A=Es(E|0,0,x|0,z|0)|0;se=I;h=Es(d|0,0,B|0,0)|0;c=I;At=Es(u|0,0,N|0,0)|0;a=I;b=Es(b|0,0,ge|0,ye|0)|0;b=ks(At|0,a|0,b|0,I|0)|0;c=ks(b|0,I|0,h|0,c|0)|0;se=ks(c|0,I|0,A|0,se|0)|0;C=ks(se|0,I|0,ae|0,C|0)|0;q=ks(C|0,I|0,$|0,q|0)|0;lt=ks(q|0,I|0,K|0,lt|0)|0;Ze=ks(lt|0,I|0,ut|0,Ze|0)|0;dt=ks(Ze|0,I|0,ht|0,dt|0)|0;ht=I;$e=Es(Q|0,V|0,$e|0,0)|0;Ze=I;ut=Es(vt|0,0,G|0,0)|0;lt=I;K=Es(w|0,0,pe|0,0)|0;q=I;$=Es(Se|0,ke|0,m|0,l|0)|0;C=I;ae=Es(wn|0,Z|0,x|0,z|0)|0;se=I;A=Es(E|0,0,B|0,0)|0;c=I;h=Es(d|0,0,N|0,0)|0;b=I;u=Es(u|0,0,ge|0,ye|0)|0;a=I;G=Es(Q|0,V|0,G|0,0)|0;At=I;_=Es(vt|0,0,pe|0,0)|0;me=I;M=Es(w|0,0,m|0,l|0)|0;p=I;Qe=Es(Se|0,ke|0,x|0,z|0)|0;D=I;y=Es(wn|0,Z|0,B|0,0)|0;Ve=I;Ce=Es(E|0,0,N|0,0)|0;S=I;d=Es(d|0,0,ge|0,ye|0)|0;d=ks(Ce|0,S|0,d|0,I|0)|0;Ve=ks(d|0,I|0,y|0,Ve|0)|0;D=ks(Ve|0,I|0,Qe|0,D|0)|0;p=ks(D|0,I|0,M|0,p|0)|0;me=ks(p|0,I|0,_|0,me|0)|0;At=ks(me|0,I|0,G|0,At|0)|0;G=I;pe=Es(Q|0,V|0,pe|0,0)|0;me=I;_=Es(vt|0,0,m|0,l|0)|0;p=I;M=Es(w|0,0,x|0,z|0)|0;D=I;Qe=Es(Se|0,ke|0,B|0,0)|0;Ve=I;y=Es(wn|0,Z|0,N|0,0)|0;d=I;E=Es(E|0,0,ge|0,ye|0)|0;S=I;l=Es(Q|0,V|0,m|0,l|0)|0;m=I;Ce=Es(vt|0,0,x|0,z|0)|0;xe=I;ct=Es(w|0,0,B|0,0)|0;nt=I;de=Es(Se|0,ke|0,N|0,0)|0;An=I;Z=Es(wn|0,Z|0,ge|0,ye|0)|0;Z=ks(de|0,An|0,Z|0,I|0)|0;nt=ks(Z|0,I|0,ct|0,nt|0)|0;xe=ks(nt|0,I|0,Ce|0,xe|0)|0;m=ks(xe|0,I|0,l|0,m|0)|0;l=I;z=Es(Q|0,V|0,x|0,z|0)|0;x=I;xe=Es(vt|0,0,B|0,0)|0;Ce=I;nt=Es(w|0,0,N|0,0)|0;ct=I;ke=Es(Se|0,ke|0,ge|0,ye|0)|0;Se=I;B=Es(Q|0,V|0,B|0,0)|0;Z=I;An=Es(vt|0,0,N|0,0)|0;de=I;w=Es(w|0,0,ge|0,ye|0)|0;w=ks(An|0,de|0,w|0,I|0)|0;Z=ks(w|0,I|0,B|0,Z|0)|0;B=I;N=Es(Q|0,V|0,N|0,0)|0;w=I;vt=Es(vt|0,0,ge|0,ye|0)|0;vt=ks(N|0,w|0,vt|0,I|0)|0;w=I;ye=Es(Q|0,V|0,ge|0,ye|0)|0;ge=I;V=ks(Re|0,Oe|0,1048576,0)|0;Q=I;N=xs(V|0,Q|0,21)|0;de=I;j=ks(vn|0,_n|0,bn|0,j|0)|0;de=ks(j|0,I|0,N|0,de|0)|0;_e=ks(de|0,I|0,_e&2097151|0,0)|0;de=I;Q=Ss(Re|0,Oe|0,V&-2097152|0,Q&4095|0)|0;V=I;Oe=ks(Me|0,Pe|0,1048576,0)|0;Re=I;N=xs(Oe|0,Re|0,21)|0;j=I;pn=ks(yn|0,gn|0,mn|0,pn|0)|0;re=ks(pn|0,I|0,hn|0,re|0)|0;we=ks(re|0,I|0,O|0,we|0)|0;Ee=ks(we|0,I|0,Ee&2097151|0,0)|0;j=ks(Ee|0,I|0,N|0,j|0)|0;N=I;Ee=ks(Te|0,Ie|0,1048576,0)|0;we=I;O=Os(Ee|0,we|0,21)|0;re=I;fn=ks(dn|0,ln|0,un|0,fn|0)|0;an=ks(fn|0,I|0,cn|0,an|0)|0;on=ks(an|0,I|0,sn|0,on|0)|0;R=ks(on|0,I|0,rn|0,R|0)|0;Be=ks(R|0,I|0,H|0,Be|0)|0;De=ks(Be|0,I|0,De&2097151|0,0)|0;re=ks(De|0,I|0,O|0,re|0)|0;O=I;De=ks(Ge|0,He|0,1048576,0)|0;Be=I;H=Os(De|0,Be|0,21)|0;R=I;$t=ks(nn|0,tn|0,en|0,$t|0)|0;Jt=ks($t|0,I|0,Zt|0,Jt|0)|0;Yt=ks(Jt|0,I|0,Xt|0,Yt|0)|0;Qt=ks(Yt|0,I|0,Wt|0,Qt|0)|0;Ht=ks(Qt|0,I|0,Vt|0,Ht|0)|0;zt=ks(Ht|0,I|0,Gt|0,zt|0)|0;o=ks(zt|0,I|0,T|0,o|0)|0;ue=ks(o|0,I|0,le|0,ue|0)|0;R=ks(ue|0,I|0,H|0,R|0)|0;H=I;ue=ks(X|0,J|0,1048576,0)|0;le=I;o=Os(ue|0,le|0,21)|0;T=I;Lt=ks(Kt|0,qt|0,Ft|0,Lt|0)|0;jt=ks(Lt|0,I|0,Ut|0,jt|0)|0;Bt=ks(jt|0,I|0,Nt|0,Bt|0)|0;Mt=ks(Bt|0,I|0,Dt|0,Mt|0)|0;Ct=ks(Mt|0,I|0,Pt|0,Ct|0)|0;Ot=ks(Ct|0,I|0,xt|0,Ot|0)|0;Tt=ks(Ot|0,I|0,Rt|0,Tt|0)|0;ee=ks(Tt|0,I|0,It|0,ee|0)|0;ve=ks(ee|0,I|0,g|0,ve|0)|0;Ae=ks(ve|0,I|0,Ae&2097151|0,0)|0;T=ks(Ae|0,I|0,o|0,T|0)|0;o=I;Ae=ks(te|0,ne|0,1048576,0)|0;ve=I;g=Os(Ae|0,ve|0,21)|0;ee=I;wt=ks(St|0,kt|0,Et|0,wt|0)|0;be=ks(wt|0,I|0,he|0,be|0)|0;Ye=ks(be|0,I|0,We|0,Ye|0)|0;t=ks(Ye|0,I|0,i|0,t|0)|0;at=ks(t|0,I|0,st|0,at|0)|0;ze=ks(at|0,I|0,Ke|0,ze|0)|0;v=ks(ze|0,I|0,f|0,v|0)|0;yt=ks(v|0,I|0,gt|0,yt|0)|0;Ne=ks(yt|0,I|0,je|0,Ne|0)|0;tt=ks(Ne|0,I|0,et|0,tt|0)|0;Le=ks(tt|0,I|0,Ue|0,Le|0)|0;ft=ks(Le|0,I|0,rt|0,ft|0)|0;ee=ks(ft|0,I|0,g|0,ee|0)|0;g=I;ft=ks(mt|0,pt|0,1048576,0)|0;rt=I;Le=Os(ft|0,rt|0,21)|0;Ue=I;Xe=ks(U|0,L|0,Je|0,Xe|0)|0;Y=ks(Xe|0,I|0,W|0,Y|0)|0;ce=ks(Y|0,I|0,qe|0,ce|0)|0;oe=ks(ce|0,I|0,ie|0,oe|0)|0;F=ks(oe|0,I|0,k|0,F|0)|0;_t=ks(F|0,I|0,bt|0,_t|0)|0;Fe=ks(_t|0,I|0,fe|0,Fe|0)|0;n=ks(Fe|0,I|0,P|0,n|0)|0;it=ks(n|0,I|0,ot|0,it|0)|0;Ue=ks(it|0,I|0,Le|0,Ue|0)|0;Le=I;it=ks(dt|0,ht|0,1048576,0)|0;ot=I;n=Os(it|0,ot|0,21)|0;P=I;a=ks(h|0,b|0,u|0,a|0)|0;c=ks(a|0,I|0,A|0,c|0)|0;se=ks(c|0,I|0,ae|0,se|0)|0;C=ks(se|0,I|0,$|0,C|0)|0;q=ks(C|0,I|0,K|0,q|0)|0;lt=ks(q|0,I|0,ut|0,lt|0)|0;Ze=ks(lt|0,I|0,$e|0,Ze|0)|0;P=ks(Ze|0,I|0,n|0,P|0)|0;n=I;Ze=ks(At|0,G|0,1048576,0)|0;$e=I;lt=Os(Ze|0,$e|0,21)|0;ut=I;S=ks(y|0,d|0,E|0,S|0)|0;Ve=ks(S|0,I|0,Qe|0,Ve|0)|0;D=ks(Ve|0,I|0,M|0,D|0)|0;p=ks(D|0,I|0,_|0,p|0)|0;me=ks(p|0,I|0,pe|0,me|0)|0;ut=ks(me|0,I|0,lt|0,ut|0)|0;lt=I;me=ks(m|0,l|0,1048576,0)|0;pe=I;p=Os(me|0,pe|0,21)|0;_=I;Se=ks(nt|0,ct|0,ke|0,Se|0)|0;Ce=ks(Se|0,I|0,xe|0,Ce|0)|0;x=ks(Ce|0,I|0,z|0,x|0)|0;_=ks(x|0,I|0,p|0,_|0)|0;p=I;pe=Ss(m|0,l|0,me&-2097152|0,pe|0)|0;me=I;l=ks(Z|0,B|0,1048576,0)|0;m=I;x=xs(l|0,m|0,21)|0;x=ks(vt|0,w|0,x|0,I|0)|0;w=I;m=Ss(Z|0,B|0,l&-2097152|0,m&2147483647|0)|0;l=I;B=ks(ye|0,ge|0,1048576,0)|0;Z=I;vt=xs(B|0,Z|0,21)|0;z=I;Z=Ss(ye|0,ge|0,B&-2097152|0,Z&2147483647|0)|0;B=I;ge=ks(_e|0,de|0,1048576,0)|0;ye=I;Ce=xs(ge|0,ye|0,21)|0;xe=I;ye=Ss(_e|0,de|0,ge&-2097152|0,ye|0)|0;ge=I;de=ks(j|0,N|0,1048576,0)|0;_e=I;Se=Os(de|0,_e|0,21)|0;ke=I;_e=Ss(j|0,N|0,de&-2097152|0,_e|0)|0;de=I;N=ks(re|0,O|0,1048576,0)|0;j=I;ct=Os(N|0,j|0,21)|0;nt=I;D=ks(R|0,H|0,1048576,0)|0;M=I;Ve=Os(D|0,M|0,21)|0;Qe=I;S=ks(T|0,o|0,1048576,0)|0;E=I;d=Os(S|0,E|0,21)|0;y=I;q=ks(ee|0,g|0,1048576,0)|0;K=I;C=Os(q|0,K|0,21)|0;$=I;se=ks(Ue|0,Le|0,1048576,0)|0;ae=I;c=Os(se|0,ae|0,21)|0;A=I;a=ks(P|0,n|0,1048576,0)|0;u=I;b=Os(a|0,u|0,21)|0;h=I;Fe=ks(ut|0,lt|0,1048576,0)|0;fe=I;_t=Os(Fe|0,fe|0,21)|0;me=ks(_t|0,I|0,pe|0,me|0)|0;pe=I;fe=Ss(ut|0,lt|0,Fe&-2097152|0,fe|0)|0;Fe=I;lt=ks(_|0,p|0,1048576,0)|0;ut=I;_t=Os(lt|0,ut|0,21)|0;l=ks(_t|0,I|0,m|0,l|0)|0;m=I;ut=Ss(_|0,p|0,lt&-2097152|0,ut|0)|0;lt=I;p=ks(x|0,w|0,1048576,0)|0;_=I;_t=xs(p|0,_|0,21)|0;B=ks(_t|0,I|0,Z|0,B|0)|0;Z=I;_=Ss(x|0,w|0,p&-2097152|0,_&2147483647|0)|0;p=I;w=Es(vt|0,z|0,666643,0)|0;x=I;_t=Es(vt|0,z|0,470296,0)|0;bt=I;F=Es(vt|0,z|0,654183,0)|0;k=I;oe=Es(vt|0,z|0,-997805,-1)|0;ie=I;ce=Es(vt|0,z|0,136657,0)|0;qe=I;z=Es(vt|0,z|0,-683901,-1)|0;z=ks(At|0,G|0,z|0,I|0)|0;$e=Ss(z|0,I|0,Ze&-2097152|0,$e|0)|0;h=ks($e|0,I|0,b|0,h|0)|0;b=I;$e=Es(B|0,Z|0,666643,0)|0;Ze=I;z=Es(B|0,Z|0,470296,0)|0;G=I;At=Es(B|0,Z|0,654183,0)|0;vt=I;Y=Es(B|0,Z|0,-997805,-1)|0;W=I;Xe=Es(B|0,Z|0,136657,0)|0;Je=I;Z=Es(B|0,Z|0,-683901,-1)|0;B=I;L=Es(_|0,p|0,666643,0)|0;U=I;tt=Es(_|0,p|0,470296,0)|0;et=I;Ne=Es(_|0,p|0,654183,0)|0;je=I;yt=Es(_|0,p|0,-997805,-1)|0;gt=I;v=Es(_|0,p|0,136657,0)|0;f=I;p=Es(_|0,p|0,-683901,-1)|0;_=I;ie=ks(dt|0,ht|0,oe|0,ie|0)|0;Je=ks(ie|0,I|0,Xe|0,Je|0)|0;_=ks(Je|0,I|0,p|0,_|0)|0;ot=Ss(_|0,I|0,it&-2097152|0,ot|0)|0;A=ks(ot|0,I|0,c|0,A|0)|0;c=I;ot=Es(l|0,m|0,666643,0)|0;it=I;_=Es(l|0,m|0,470296,0)|0;p=I;Je=Es(l|0,m|0,654183,0)|0;Xe=I;ie=Es(l|0,m|0,-997805,-1)|0;oe=I;ht=Es(l|0,m|0,136657,0)|0;dt=I;m=Es(l|0,m|0,-683901,-1)|0;l=I;ze=Es(ut|0,lt|0,666643,0)|0;Ke=I;at=Es(ut|0,lt|0,470296,0)|0;st=I;t=Es(ut|0,lt|0,654183,0)|0;i=I;Ye=Es(ut|0,lt|0,-997805,-1)|0;We=I;be=Es(ut|0,lt|0,136657,0)|0;he=I;lt=Es(ut|0,lt|0,-683901,-1)|0;ut=I;bt=ks(At|0,vt|0,_t|0,bt|0)|0;gt=ks(bt|0,I|0,yt|0,gt|0)|0;pt=ks(gt|0,I|0,mt|0,pt|0)|0;dt=ks(pt|0,I|0,ht|0,dt|0)|0;ut=ks(dt|0,I|0,lt|0,ut|0)|0;rt=Ss(ut|0,I|0,ft&-2097152|0,rt|0)|0;$=ks(rt|0,I|0,C|0,$|0)|0;C=I;rt=Es(me|0,pe|0,666643,0)|0;rt=ks(ct|0,nt|0,rt|0,I|0)|0;He=ks(rt|0,I|0,Ge|0,He|0)|0;Be=Ss(He|0,I|0,De&-2097152|0,Be|0)|0;De=I;He=Es(me|0,pe|0,470296,0)|0;Ge=I;rt=Es(me|0,pe|0,654183,0)|0;nt=I;it=ks(at|0,st|0,ot|0,it|0)|0;nt=ks(it|0,I|0,rt|0,nt|0)|0;Qe=ks(nt|0,I|0,Ve|0,Qe|0)|0;J=ks(Qe|0,I|0,X|0,J|0)|0;le=Ss(J|0,I|0,ue&-2097152|0,le|0)|0;ue=I;J=Es(me|0,pe|0,-997805,-1)|0;X=I;Qe=Es(me|0,pe|0,136657,0)|0;Ve=I;Ze=ks(tt|0,et|0,$e|0,Ze|0)|0;Xe=ks(Ze|0,I|0,Je|0,Xe|0)|0;We=ks(Xe|0,I|0,Ye|0,We|0)|0;Ve=ks(We|0,I|0,Qe|0,Ve|0)|0;y=ks(Ve|0,I|0,d|0,y|0)|0;ne=ks(y|0,I|0,te|0,ne|0)|0;ve=Ss(ne|0,I|0,Ae&-2097152|0,ve|0)|0;Ae=I;pe=Es(me|0,pe|0,-683901,-1)|0;me=I;ne=ks(Be|0,De|0,1048576,0)|0;te=I;y=Os(ne|0,te|0,21)|0;d=I;Ke=ks(He|0,Ge|0,ze|0,Ke|0)|0;H=ks(Ke|0,I|0,R|0,H|0)|0;M=Ss(H|0,I|0,D&-2097152|0,M|0)|0;d=ks(M|0,I|0,y|0,d|0)|0;y=I;M=ks(le|0,ue|0,1048576,0)|0;D=I;H=Os(M|0,D|0,21)|0;R=I;U=ks(_|0,p|0,L|0,U|0)|0;i=ks(U|0,I|0,t|0,i|0)|0;X=ks(i|0,I|0,J|0,X|0)|0;o=ks(X|0,I|0,T|0,o|0)|0;E=Ss(o|0,I|0,S&-2097152|0,E|0)|0;R=ks(E|0,I|0,H|0,R|0)|0;H=I;E=ks(ve|0,Ae|0,1048576,0)|0;S=I;o=Os(E|0,S|0,21)|0;T=I;x=ks(z|0,G|0,w|0,x|0)|0;je=ks(x|0,I|0,Ne|0,je|0)|0;oe=ks(je|0,I|0,ie|0,oe|0)|0;he=ks(oe|0,I|0,be|0,he|0)|0;me=ks(he|0,I|0,pe|0,me|0)|0;g=ks(me|0,I|0,ee|0,g|0)|0;K=Ss(g|0,I|0,q&-2097152|0,K|0)|0;T=ks(K|0,I|0,o|0,T|0)|0;o=I;K=ks($|0,C|0,1048576,0)|0;q=I;g=Os(K|0,q|0,21)|0;ee=I;k=ks(Y|0,W|0,F|0,k|0)|0;f=ks(k|0,I|0,v|0,f|0)|0;l=ks(f|0,I|0,m|0,l|0)|0;Le=ks(l|0,I|0,Ue|0,Le|0)|0;ae=Ss(Le|0,I|0,se&-2097152|0,ae|0)|0;ee=ks(ae|0,I|0,g|0,ee|0)|0;g=I;q=Ss($|0,C|0,K&-2097152|0,q|0)|0;K=I;C=ks(A|0,c|0,1048576,0)|0;$=I;ae=Os(C|0,$|0,21)|0;se=I;qe=ks(Z|0,B|0,ce|0,qe|0)|0;n=ks(qe|0,I|0,P|0,n|0)|0;u=Ss(n|0,I|0,a&-2097152|0,u|0)|0;se=ks(u|0,I|0,ae|0,se|0)|0;ae=I;$=Ss(A|0,c|0,C&-2097152|0,$|0)|0;C=I;c=ks(h|0,b|0,1048576,0)|0;A=I;u=Os(c|0,A|0,21)|0;Fe=ks(u|0,I|0,fe|0,Fe|0)|0;fe=I;A=Ss(h|0,b|0,c&-2097152|0,A|0)|0;c=I;b=ks(d|0,y|0,1048576,0)|0;h=I;u=Os(b|0,h|0,21)|0;a=I;n=ks(R|0,H|0,1048576,0)|0;P=I;qe=Os(n|0,P|0,21)|0;ce=I;B=ks(T|0,o|0,1048576,0)|0;Z=I;Le=Os(B|0,Z|0,21)|0;K=ks(Le|0,I|0,q|0,K|0)|0;q=I;Z=Ss(T|0,o|0,B&-2097152|0,Z|0)|0;B=I;o=ks(ee|0,g|0,1048576,0)|0;T=I;Le=Os(o|0,T|0,21)|0;C=ks(Le|0,I|0,$|0,C|0)|0;$=I;T=Ss(ee|0,g|0,o&-2097152|0,T|0)|0;o=I;g=ks(se|0,ae|0,1048576,0)|0;ee=I;Le=Os(g|0,ee|0,21)|0;c=ks(Le|0,I|0,A|0,c|0)|0;A=I;ee=Ss(se|0,ae|0,g&-2097152|0,ee|0)|0;g=I;ae=Es(Fe|0,fe|0,666643,0)|0;se=I;Le=Es(Fe|0,fe|0,470296,0)|0;Ue=I;l=Es(Fe|0,fe|0,654183,0)|0;m=I;f=Es(Fe|0,fe|0,-997805,-1)|0;v=I;k=Es(Fe|0,fe|0,136657,0)|0;F=I;fe=Es(Fe|0,fe|0,-683901,-1)|0;fe=ks(qe|0,ce|0,fe|0,I|0)|0;Ae=ks(fe|0,I|0,ve|0,Ae|0)|0;S=Ss(Ae|0,I|0,E&-2097152|0,S|0)|0;E=I;Ae=Es(c|0,A|0,666643,0)|0;ve=I;fe=Es(c|0,A|0,470296,0)|0;ce=I;qe=Es(c|0,A|0,654183,0)|0;Fe=I;W=Es(c|0,A|0,-997805,-1)|0;Y=I;me=Es(c|0,A|0,136657,0)|0;pe=I;A=Es(c|0,A|0,-683901,-1)|0;c=I;he=Es(ee|0,g|0,666643,0)|0;he=ks(_e|0,de|0,he|0,I|0)|0;de=I;_e=Es(ee|0,g|0,470296,0)|0;be=I;oe=Es(ee|0,g|0,654183,0)|0;ie=I;je=Es(ee|0,g|0,-997805,-1)|0;Ne=I;x=Es(ee|0,g|0,136657,0)|0;w=I;g=Es(ee|0,g|0,-683901,-1)|0;ee=I;v=ks(me|0,pe|0,f|0,v|0)|0;ee=ks(v|0,I|0,g|0,ee|0)|0;a=ks(ee|0,I|0,u|0,a|0)|0;ue=ks(a|0,I|0,le|0,ue|0)|0;D=Ss(ue|0,I|0,M&-2097152|0,D|0)|0;M=I;ue=Es(C|0,$|0,666643,0)|0;le=I;a=Es(C|0,$|0,470296,0)|0;u=I;ee=Es(C|0,$|0,654183,0)|0;g=I;v=Es(C|0,$|0,-997805,-1)|0;f=I;pe=Es(C|0,$|0,136657,0)|0;me=I;$=Es(C|0,$|0,-683901,-1)|0;C=I;G=Es(T|0,o|0,666643,0)|0;z=I;X=Es(T|0,o|0,470296,0)|0;J=I;i=Es(T|0,o|0,654183,0)|0;t=I;U=Es(T|0,o|0,-997805,-1)|0;L=I;p=Es(T|0,o|0,136657,0)|0;_=I;o=Es(T|0,o|0,-683901,-1)|0;T=I;Ue=ks(qe|0,Fe|0,Le|0,Ue|0)|0;Ne=ks(Ue|0,I|0,je|0,Ne|0)|0;De=ks(Ne|0,I|0,Be|0,De|0)|0;te=Ss(De|0,I|0,ne&-2097152|0,te|0)|0;me=ks(te|0,I|0,pe|0,me|0)|0;T=ks(me|0,I|0,o|0,T|0)|0;o=I;me=Es(K|0,q|0,666643,0)|0;V=ks(me|0,I|0,Q|0,V|0)|0;Q=I;me=Es(K|0,q|0,470296,0)|0;pe=I;te=Es(K|0,q|0,654183,0)|0;ne=I;xe=ks(Me|0,Pe|0,Ce|0,xe|0)|0;Re=Ss(xe|0,I|0,Oe&-2097152|0,Re|0)|0;ne=ks(Re|0,I|0,te|0,ne|0)|0;le=ks(ne|0,I|0,ue|0,le|0)|0;J=ks(le|0,I|0,X|0,J|0)|0;X=I;le=Es(K|0,q|0,-997805,-1)|0;ue=I;ne=Es(K|0,q|0,136657,0)|0;te=I;ke=ks(Te|0,Ie|0,Se|0,ke|0)|0;we=Ss(ke|0,I|0,Ee&-2097152|0,we|0)|0;ve=ks(we|0,I|0,Ae|0,ve|0)|0;be=ks(ve|0,I|0,_e|0,be|0)|0;te=ks(be|0,I|0,ne|0,te|0)|0;g=ks(te|0,I|0,ee|0,g|0)|0;L=ks(g|0,I|0,U|0,L|0)|0;U=I;q=Es(K|0,q|0,-683901,-1)|0;K=I;g=ks(V|0,Q|0,1048576,0)|0;ee=I;te=Os(g|0,ee|0,21)|0;ne=I;pe=ks(ye|0,ge|0,me|0,pe|0)|0;z=ks(pe|0,I|0,G|0,z|0)|0;ne=ks(z|0,I|0,te|0,ne|0)|0;te=I;ee=Ss(V|0,Q|0,g&-2097152|0,ee|0)|0;g=I;Q=ks(J|0,X|0,1048576,0)|0;V=I;z=Os(Q|0,V|0,21)|0;G=I;ue=ks(he|0,de|0,le|0,ue|0)|0;u=ks(ue|0,I|0,a|0,u|0)|0;t=ks(u|0,I|0,i|0,t|0)|0;G=ks(t|0,I|0,z|0,G|0)|0;z=I;t=ks(L|0,U|0,1048576,0)|0;i=I;u=Os(t|0,i|0,21)|0;a=I;se=ks(fe|0,ce|0,ae|0,se|0)|0;ie=ks(se|0,I|0,oe|0,ie|0)|0;O=ks(ie|0,I|0,re|0,O|0)|0;j=Ss(O|0,I|0,N&-2097152|0,j|0)|0;K=ks(j|0,I|0,q|0,K|0)|0;f=ks(K|0,I|0,v|0,f|0)|0;_=ks(f|0,I|0,p|0,_|0)|0;a=ks(_|0,I|0,u|0,a|0)|0;u=I;_=ks(T|0,o|0,1048576,0)|0;p=I;f=Os(_|0,p|0,21)|0;v=I;m=ks(W|0,Y|0,l|0,m|0)|0;w=ks(m|0,I|0,x|0,w|0)|0;y=ks(w|0,I|0,d|0,y|0)|0;h=Ss(y|0,I|0,b&-2097152|0,h|0)|0;C=ks(h|0,I|0,$|0,C|0)|0;v=ks(C|0,I|0,f|0,v|0)|0;f=I;p=Ss(T|0,o|0,_&-2097152|0,p|0)|0;_=I;o=ks(D|0,M|0,1048576,0)|0;T=I;C=Os(o|0,T|0,21)|0;$=I;F=ks(A|0,c|0,k|0,F|0)|0;H=ks(F|0,I|0,R|0,H|0)|0;$=ks(H|0,I|0,C|0,$|0)|0;P=Ss($|0,I|0,n&-2097152|0,P|0)|0;n=I;T=Ss(D|0,M|0,o&-2097152|0,T|0)|0;o=I;M=ks(S|0,E|0,1048576,0)|0;D=I;$=Os(M|0,D|0,21)|0;$=ks(Z|0,B|0,$|0,I|0)|0;B=I;Z=ks(ne|0,te|0,1048576,0)|0;C=I;H=Os(Z|0,C|0,21)|0;R=I;F=ks(G|0,z|0,1048576,0)|0;k=I;c=Os(F|0,k|0,21)|0;A=I;h=ks(a|0,u|0,1048576,0)|0;b=I;y=Os(h|0,b|0,21)|0;y=ks(p|0,_|0,y|0,I|0)|0;_=I;p=ks(v|0,f|0,1048576,0)|0;d=I;w=Os(p|0,d|0,21)|0;w=ks(T|0,o|0,w|0,I|0)|0;o=I;d=Ss(v|0,f|0,p&-2097152|0,d|0)|0;p=I;f=ks(P|0,n|0,1048576,0)|0;v=I;T=Os(f|0,v|0,21)|0;x=I;v=Ss(P|0,n|0,f&-2097152|0,v|0)|0;f=I;n=ks($|0,B|0,1048576,0)|0;P=I;m=Os(n|0,P|0,21)|0;l=I;P=Ss($|0,B|0,n&-2097152|0,P|0)|0;n=I;B=Es(m|0,l|0,666643,0)|0;B=ks(ee|0,g|0,B|0,I|0)|0;g=I;ee=Es(m|0,l|0,470296,0)|0;$=I;Y=Es(m|0,l|0,654183,0)|0;W=I;K=Es(m|0,l|0,-997805,-1)|0;q=I;j=Es(m|0,l|0,136657,0)|0;N=I;l=Es(m|0,l|0,-683901,-1)|0;m=I;g=Os(B|0,g|0,21)|0;O=I;$=ks(ne|0,te|0,ee|0,$|0)|0;C=Ss($|0,I|0,Z&-2097152|0,C|0)|0;O=ks(C|0,I|0,g|0,O|0)|0;g=Os(O|0,I|0,21)|0;C=I;W=ks(J|0,X|0,Y|0,W|0)|0;V=Ss(W|0,I|0,Q&-2097152|0,V|0)|0;R=ks(V|0,I|0,H|0,R|0)|0;C=ks(R|0,I|0,g|0,C|0)|0;g=Os(C|0,I|0,21)|0;R=I;q=ks(G|0,z|0,K|0,q|0)|0;k=Ss(q|0,I|0,F&-2097152|0,k|0)|0;R=ks(k|0,I|0,g|0,R|0)|0;g=Os(R|0,I|0,21)|0;k=I;N=ks(L|0,U|0,j|0,N|0)|0;i=Ss(N|0,I|0,t&-2097152|0,i|0)|0;A=ks(i|0,I|0,c|0,A|0)|0;k=ks(A|0,I|0,g|0,k|0)|0;g=Os(k|0,I|0,21)|0;A=I;m=ks(a|0,u|0,l|0,m|0)|0;b=Ss(m|0,I|0,h&-2097152|0,b|0)|0;A=ks(b|0,I|0,g|0,A|0)|0;g=Os(A|0,I|0,21)|0;g=ks(y|0,_|0,g|0,I|0)|0;_=Os(g|0,I|0,21)|0;p=ks(_|0,I|0,d|0,p|0)|0;d=Os(p|0,I|0,21)|0;d=ks(w|0,o|0,d|0,I|0)|0;o=Os(d|0,I|0,21)|0;f=ks(o|0,I|0,v|0,f|0)|0;v=Os(f|0,I|0,21)|0;o=I;x=ks(S|0,E|0,T|0,x|0)|0;D=Ss(x|0,I|0,M&-2097152|0,D|0)|0;o=ks(D|0,I|0,v|0,o|0)|0;v=Os(o|0,I|0,21)|0;n=ks(v|0,I|0,P|0,n|0)|0;P=Os(n|0,I|0,21)|0;v=I;D=Es(P|0,v|0,666643,0)|0;B=ks(D|0,I|0,B&2097151|0,0)|0;D=I;M=Es(P|0,v|0,470296,0)|0;O=ks(M|0,I|0,O&2097151|0,0)|0;M=I;x=Es(P|0,v|0,654183,0)|0;C=ks(x|0,I|0,C&2097151|0,0)|0;x=I;T=Es(P|0,v|0,-997805,-1)|0;R=ks(T|0,I|0,R&2097151|0,0)|0;T=I;E=Es(P|0,v|0,136657,0)|0;k=ks(E|0,I|0,k&2097151|0,0)|0;E=I;v=Es(P|0,v|0,-683901,-1)|0;A=ks(v|0,I|0,A&2097151|0,0)|0;v=I;P=Os(B|0,D|0,21)|0;P=ks(O|0,M|0,P|0,I|0)|0;M=I;O=Os(P|0,M|0,21)|0;O=ks(C|0,x|0,O|0,I|0)|0;x=I;C=P&2097151;S=Os(O|0,x|0,21)|0;S=ks(R|0,T|0,S|0,I|0)|0;T=I;R=O&2097151;w=Os(S|0,T|0,21)|0;w=ks(k|0,E|0,w|0,I|0)|0;E=I;k=S&2097151;_=Os(w|0,E|0,21)|0;_=ks(A|0,v|0,_|0,I|0)|0;v=I;A=w&2097151;y=Os(_|0,v|0,21)|0;g=ks(y|0,I|0,g&2097151|0,0)|0;y=I;b=_&2097151;h=Os(g|0,y|0,21)|0;p=ks(h|0,I|0,p&2097151|0,0)|0;h=I;m=g&2097151;l=Os(p|0,h|0,21)|0;d=ks(l|0,I|0,d&2097151|0,0)|0;l=I;u=Os(d|0,l|0,21)|0;f=ks(u|0,I|0,f&2097151|0,0)|0;u=I;a=Os(f|0,u|0,21)|0;o=ks(a|0,I|0,o&2097151|0,0)|0;a=I;c=f&2097151;i=Os(o|0,a|0,21)|0;n=ks(i|0,I|0,n&2097151|0,0)|0;i=I;t=o&2097151;r[e>>0]=B;N=xs(B|0,D|0,8)|0;r[e+1>>0]=N;D=xs(B|0,D|0,16)|0;B=Cs(C|0,0,5)|0;r[e+2>>0]=B|D&31;D=xs(P|0,M|0,3)|0;r[e+3>>0]=D;M=xs(P|0,M|0,11)|0;r[e+4>>0]=M;C=xs(C|0,0,19)|0;M=I;P=Cs(R|0,0,2)|0;r[e+5>>0]=P|C;x=xs(O|0,x|0,6)|0;r[e+6>>0]=x;R=xs(R|0,0,14)|0;x=I;O=Cs(k|0,0,7)|0;r[e+7>>0]=O|R;R=xs(S|0,T|0,1)|0;r[e+8>>0]=R;T=xs(S|0,T|0,9)|0;r[e+9>>0]=T;k=xs(k|0,0,17)|0;T=I;S=Cs(A|0,0,4)|0;r[e+10>>0]=S|k;k=xs(w|0,E|0,4)|0;r[e+11>>0]=k;E=xs(w|0,E|0,12)|0;r[e+12>>0]=E;A=xs(A|0,0,20)|0;E=I;w=Cs(b|0,0,1)|0;r[e+13>>0]=w|A;v=xs(_|0,v|0,7)|0;r[e+14>>0]=v;b=xs(b|0,0,15)|0;v=I;_=Cs(m|0,0,6)|0;r[e+15>>0]=_|b;b=xs(g|0,y|0,2)|0;r[e+16>>0]=b;y=xs(g|0,y|0,10)|0;r[e+17>>0]=y;m=xs(m|0,0,18)|0;y=I;g=Cs(p|0,h|0,3)|0;r[e+18>>0]=g|m;m=xs(p|0,h|0,5)|0;r[e+19>>0]=m;h=xs(p|0,h|0,13)|0;r[e+20>>0]=h;r[e+21>>0]=d;h=xs(d|0,l|0,8)|0;r[e+22>>0]=h;l=xs(d|0,l|0,16)|0;d=Cs(c|0,0,5)|0;r[e+23>>0]=d|l&31;l=xs(f|0,u|0,3)|0;r[e+24>>0]=l;u=xs(f|0,u|0,11)|0;r[e+25>>0]=u;c=xs(c|0,0,19)|0;u=I;f=Cs(t|0,0,2)|0;r[e+26>>0]=f|c;a=xs(o|0,a|0,6)|0;r[e+27>>0]=a;t=xs(t|0,0,14)|0;a=I;o=Cs(n|0,i|0,7)|0;r[e+28>>0]=o|t;t=xs(n|0,i|0,1)|0;r[e+29>>0]=t;t=xs(n|0,i|0,9)|0;r[e+30>>0]=t;i=Os(n|0,i|0,17)|0;r[e+31>>0]=i;return}function ni(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;u=t+44|0;h=t+48|0;g=t+52|0;_=t+56|0;w=t+60|0;S=t+64|0;R=t+68|0;C=t+72|0;O=t+76|0;G=t+4|0;K=t+8|0;i=t+12|0;d=t+16|0;p=t+20|0;A=t+24|0;E=t+28|0;x=t+32|0;q=t+36|0;se=(o[G>>2]|0)+(o[u>>2]|0)|0;oe=(o[K>>2]|0)+(o[h>>2]|0)|0;ie=(o[i>>2]|0)+(o[g>>2]|0)|0;re=(o[d>>2]|0)+(o[_>>2]|0)|0;ne=(o[p>>2]|0)+(o[w>>2]|0)|0;te=(o[A>>2]|0)+(o[S>>2]|0)|0;ee=(o[E>>2]|0)+(o[R>>2]|0)|0;$=(o[x>>2]|0)+(o[C>>2]|0)|0;X=(o[q>>2]|0)+(o[O>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[u>>2]|0)-(o[G>>2]|0)|0;K=(o[h>>2]|0)-(o[K>>2]|0)|0;i=(o[g>>2]|0)-(o[i>>2]|0)|0;d=(o[_>>2]|0)-(o[d>>2]|0)|0;p=(o[w>>2]|0)-(o[p>>2]|0)|0;A=(o[S>>2]|0)-(o[A>>2]|0)|0;E=(o[R>>2]|0)-(o[E>>2]|0)|0;x=(o[C>>2]|0)-(o[x>>2]|0)|0;q=(o[O>>2]|0)-(o[q>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=K;K=e+52|0;o[K>>2]=i;i=e+56|0;o[i>>2]=d;d=e+60|0;o[d>>2]=p;p=e+64|0;o[p>>2]=A;A=e+68|0;o[A>>2]=E;E=e+72|0;o[E>>2]=x;x=e+76|0;o[x>>2]=q;q=e+80|0;Xr(q,e,n);Xr(X,X,n+40|0);O=e+120|0;Xr(O,n+120|0,t+120|0);Xr(e,t+80|0,n+80|0);C=o[e>>2]<<1;R=o[ae>>2]<<1;S=o[se>>2]<<1;w=o[oe>>2]<<1;_=o[ie>>2]<<1;g=o[re>>2]<<1;h=o[ne>>2]<<1;u=o[te>>2]<<1;a=o[ee>>2]<<1;r=o[$>>2]<<1;J=o[q>>2]|0;F=e+84|0;W=o[F>>2]|0;L=e+88|0;H=o[L>>2]|0;U=e+92|0;t=o[U>>2]|0;j=e+96|0;s=o[j>>2]|0;N=e+100|0;c=o[N>>2]|0;B=e+104|0;m=o[B>>2]|0;D=e+108|0;y=o[D>>2]|0;M=e+112|0;k=o[M>>2]|0;P=e+116|0;I=o[P>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[K>>2]|0;n=o[i>>2]|0;f=o[d>>2]|0;l=o[p>>2]|0;b=o[A>>2]|0;v=o[E>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=t-z;o[ie>>2]=s-n;o[re>>2]=c-f;o[ne>>2]=m-l;o[te>>2]=y-b;o[ee>>2]=k-v;o[$>>2]=I-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[K>>2]=z+t;o[i>>2]=n+s;o[d>>2]=f+c;o[p>>2]=l+m;o[A>>2]=b+y;o[E>>2]=v+k;o[x>>2]=T+I;x=o[O>>2]|0;I=e+124|0;T=o[I>>2]|0;E=e+128|0;k=o[E>>2]|0;v=e+132|0;A=o[v>>2]|0;y=e+136|0;b=o[y>>2]|0;p=e+140|0;m=o[p>>2]|0;l=e+144|0;d=o[l>>2]|0;c=e+148|0;f=o[c>>2]|0;i=e+152|0;s=o[i>>2]|0;n=e+156|0;t=o[n>>2]|0;o[q>>2]=x+C;o[F>>2]=T+R;o[L>>2]=k+S;o[U>>2]=A+w;o[j>>2]=b+_;o[N>>2]=m+g;o[B>>2]=d+h;o[D>>2]=f+u;o[M>>2]=s+a;o[P>>2]=t+r;o[O>>2]=C-x;o[I>>2]=R-T;o[E>>2]=S-k;o[v>>2]=w-A;o[y>>2]=_-b;o[p>>2]=g-m;o[l>>2]=h-d;o[c>>2]=u-f;o[i>>2]=a-s;o[n>>2]=r-t;return}function ri(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0;v=h;h=h+2400|0;d=v+2272|0;m=v+1536|0;g=v+1280|0;y=v;b=v+2112|0;_=v+1952|0;l=v+1792|0;ii(m,t);ii(g,i);oi(y,n);w=o[n+4>>2]|0;A=o[n+8>>2]|0;u=o[n+12>>2]|0;t=o[n+16>>2]|0;f=o[n+20>>2]|0;c=o[n+24>>2]|0;a=o[n+28>>2]|0;s=o[n+32>>2]|0;i=o[n+36>>2]|0;o[d>>2]=o[n>>2];o[d+4>>2]=w;o[d+8>>2]=A;o[d+12>>2]=u;o[d+16>>2]=t;o[d+20>>2]=f;o[d+24>>2]=c;o[d+28>>2]=a;o[d+32>>2]=s;o[d+36>>2]=i;i=o[n+44>>2]|0;s=o[n+48>>2]|0;a=o[n+52>>2]|0;c=o[n+56>>2]|0;f=o[n+60>>2]|0;t=o[n+64>>2]|0;u=o[n+68>>2]|0;A=o[n+72>>2]|0;w=o[n+76>>2]|0;o[d+40>>2]=o[n+40>>2];o[d+44>>2]=i;o[d+48>>2]=s;o[d+52>>2]=a;o[d+56>>2]=c;o[d+60>>2]=f;o[d+64>>2]=t;o[d+68>>2]=u;o[d+72>>2]=A;o[d+76>>2]=w;w=o[n+84>>2]|0;A=o[n+88>>2]|0;u=o[n+92>>2]|0;t=o[n+96>>2]|0;f=o[n+100>>2]|0;c=o[n+104>>2]|0;a=o[n+108>>2]|0;s=o[n+112>>2]|0;i=o[n+116>>2]|0;o[d+80>>2]=o[n+80>>2];o[d+84>>2]=w;o[d+88>>2]=A;o[d+92>>2]=u;o[d+96>>2]=t;o[d+100>>2]=f;o[d+104>>2]=c;o[d+108>>2]=a;o[d+112>>2]=s;o[d+116>>2]=i;si(b,d);d=b+120|0;Xr(l,b,d);i=b+40|0;s=b+80|0;Xr(l+40|0,i,s);Xr(l+80|0,s,d);Xr(l+120|0,b,i);ni(b,l,y);Xr(_,b,d);a=_+40|0;Xr(a,i,s);c=_+80|0;Xr(c,s,d);f=_+120|0;Xr(f,b,i);t=y+160|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+320|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+480|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+640|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+800|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);t=y+960|0;oi(t,_);ni(b,l,t);Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);oi(y+1120|0,_);t=e;n=t+40|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));u=e+40|0;o[u>>2]=1;t=e+44|0;n=t+36|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));l=e+80|0;o[l>>2]=1;t=e+84|0;n=t+36|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));t=255;while(1){if(r[m+t>>0]|0)break;if(r[g+t>>0]|0)break;if(!t){p=16;break}else t=t+-1|0}if((p|0)==16){h=v;return}if((t|0)<=-1){h=v;return}while(1){si(b,e);n=r[m+t>>0]|0;if(n<<24>>24<=0){if(n<<24>>24<0){Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);ai(b,_,y+((((n<<24>>24)/-2|0)<<24>>24)*160|0)|0)}}else{Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);ni(b,_,y+(((n&255)>>>1&255)*160|0)|0)}n=r[g+t>>0]|0;if(n<<24>>24<=0){if(n<<24>>24<0){Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);fi(b,_,240+((((n<<24>>24)/-2|0)<<24>>24)*120|0)|0)}}else{Xr(_,b,d);Xr(a,i,s);Xr(c,s,d);Xr(f,b,i);ci(b,_,240+(((n&255)>>>1&255)*120|0)|0)}Xr(e,b,d);Xr(u,i,s);Xr(l,s,d);if((t|0)>0)t=t+-1|0;else break}h=v;return}function ii(e,t){e=e|0;t=t|0;var n=0,i=0,o=0,a=0,c=0,f=0,u=0,l=0,d=0;n=0;do{r[e+n>>0]=(s[t+(n>>>3)>>0]|0)>>>(n&7)&1;n=n+1|0}while((n|0)!=256);u=0;do{f=e+u|0;n=r[f>>0]|0;c=u;u=u+1|0;e:do{if(n<<24>>24!=0&u>>>0<256){o=e+u|0;t=r[o>>0]|0;t:do{if(t<<24>>24){i=n<<24>>24;n=t<<24>>24<<1;t=n+i|0;if((t|0)<16){r[f>>0]=t;r[o>>0]=0;break}n=i-n|0;if((n|0)<=-16)break e;r[f>>0]=n;n=u;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+2|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<2;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+3|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<3;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+4|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<4;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+5|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[f>>0]|0;t=t<<24>>24<<5;i=t+a|0;if((i|0)<16){r[f>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=c+6|0;if(n>>>0<256?(l=e+n|0,d=r[l>>0]|0,d<<24>>24):0){t=r[f>>0]|0;i=d<<24>>24<<6;o=i+t|0;if((o|0)<16){r[f>>0]=o;r[l>>0]=0;break}t=t-i|0;if((t|0)>-16){r[f>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break e}r[t>>0]=1}}}}}}}}while(0)}while((u|0)!=256);return}function oi(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0;d=t+40|0;A=t+44|0;v=t+48|0;_=t+52|0;b=t+56|0;y=t+60|0;g=t+64|0;m=t+68|0;p=t+72|0;h=t+76|0;n=t+4|0;r=t+8|0;i=t+12|0;s=t+16|0;a=t+20|0;c=t+24|0;f=t+28|0;u=t+32|0;l=t+36|0;x=(o[n>>2]|0)+(o[A>>2]|0)|0;O=(o[r>>2]|0)+(o[v>>2]|0)|0;R=(o[i>>2]|0)+(o[_>>2]|0)|0;T=(o[s>>2]|0)+(o[b>>2]|0)|0;I=(o[a>>2]|0)+(o[y>>2]|0)|0;S=(o[c>>2]|0)+(o[g>>2]|0)|0;k=(o[f>>2]|0)+(o[m>>2]|0)|0;E=(o[u>>2]|0)+(o[p>>2]|0)|0;w=(o[l>>2]|0)+(o[h>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[d>>2]|0);o[e+4>>2]=x;o[e+8>>2]=O;o[e+12>>2]=R;o[e+16>>2]=T;o[e+20>>2]=I;o[e+24>>2]=S;o[e+28>>2]=k;o[e+32>>2]=E;o[e+36>>2]=w;n=(o[A>>2]|0)-(o[n>>2]|0)|0;r=(o[v>>2]|0)-(o[r>>2]|0)|0;i=(o[_>>2]|0)-(o[i>>2]|0)|0;s=(o[b>>2]|0)-(o[s>>2]|0)|0;a=(o[y>>2]|0)-(o[a>>2]|0)|0;c=(o[g>>2]|0)-(o[c>>2]|0)|0;f=(o[m>>2]|0)-(o[f>>2]|0)|0;u=(o[p>>2]|0)-(o[u>>2]|0)|0;l=(o[h>>2]|0)-(o[l>>2]|0)|0;o[e+40>>2]=(o[d>>2]|0)-(o[t>>2]|0);o[e+44>>2]=n;o[e+48>>2]=r;o[e+52>>2]=i;o[e+56>>2]=s;o[e+60>>2]=a;o[e+64>>2]=c;o[e+68>>2]=f;o[e+72>>2]=u;o[e+76>>2]=l;l=o[t+84>>2]|0;u=o[t+88>>2]|0;f=o[t+92>>2]|0;c=o[t+96>>2]|0;a=o[t+100>>2]|0;s=o[t+104>>2]|0;i=o[t+108>>2]|0;r=o[t+112>>2]|0;n=o[t+116>>2]|0;o[e+80>>2]=o[t+80>>2];o[e+84>>2]=l;o[e+88>>2]=u;o[e+92>>2]=f;o[e+96>>2]=c;o[e+100>>2]=a;o[e+104>>2]=s;o[e+108>>2]=i;o[e+112>>2]=r;o[e+116>>2]=n;Xr(e+120|0,t+120|0,1200);return}function si(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0;n=h;h=h+48|0;D=n;Yr(e,t);G=e+80|0;fe=t+40|0;Yr(G,fe);A=e+120|0;$r(A,t+80|0);ue=e+40|0;ce=(o[t+44>>2]|0)+(o[t+4>>2]|0)|0;ae=(o[t+48>>2]|0)+(o[t+8>>2]|0)|0;se=(o[t+52>>2]|0)+(o[t+12>>2]|0)|0;oe=(o[t+56>>2]|0)+(o[t+16>>2]|0)|0;ie=(o[t+60>>2]|0)+(o[t+20>>2]|0)|0;re=(o[t+64>>2]|0)+(o[t+24>>2]|0)|0;ne=(o[t+68>>2]|0)+(o[t+28>>2]|0)|0;te=(o[t+72>>2]|0)+(o[t+32>>2]|0)|0;ee=(o[t+76>>2]|0)+(o[t+36>>2]|0)|0;o[ue>>2]=(o[fe>>2]|0)+(o[t>>2]|0);fe=e+44|0;o[fe>>2]=ce;ce=e+48|0;o[ce>>2]=ae;ae=e+52|0;o[ae>>2]=se;se=e+56|0;o[se>>2]=oe;oe=e+60|0;o[oe>>2]=ie;ie=e+64|0;o[ie>>2]=re;re=e+68|0;o[re>>2]=ne;ne=e+72|0;o[ne>>2]=te;te=e+76|0;o[te>>2]=ee;Yr(D,ue);ee=o[G>>2]|0;z=e+84|0;$=o[z>>2]|0;K=e+88|0;Z=o[K>>2]|0;q=e+92|0;J=o[q>>2]|0;F=e+96|0;X=o[F>>2]|0;L=e+100|0;Y=o[L>>2]|0;U=e+104|0;W=o[U>>2]|0;j=e+108|0;Q=o[j>>2]|0;N=e+112|0;V=o[N>>2]|0;B=e+116|0;H=o[B>>2]|0;w=o[e>>2]|0;C=e+4|0;v=o[C>>2]|0;O=e+8|0;b=o[O>>2]|0;T=e+12|0;g=o[T>>2]|0;S=e+16|0;p=o[S>>2]|0;t=e+20|0;l=o[t>>2]|0;s=e+24|0;f=o[s>>2]|0;u=e+28|0;a=o[u>>2]|0;m=e+32|0;i=o[m>>2]|0;_=e+36|0;E=o[_>>2]|0;M=w+ee|0;P=v+$|0;x=b+Z|0;R=g+J|0;I=p+X|0;k=l+Y|0;r=f+W|0;c=a+Q|0;d=i+V|0;y=E+H|0;o[ue>>2]=M;o[fe>>2]=P;o[ce>>2]=x;o[ae>>2]=R;o[se>>2]=I;o[oe>>2]=k;o[ie>>2]=r;o[re>>2]=c;o[ne>>2]=d;o[te>>2]=y;w=ee-w|0;v=$-v|0;b=Z-b|0;g=J-g|0;p=X-p|0;l=Y-l|0;f=W-f|0;a=Q-a|0;i=V-i|0;E=H-E|0;o[G>>2]=w;o[z>>2]=v;o[K>>2]=b;o[q>>2]=g;o[F>>2]=p;o[L>>2]=l;o[U>>2]=f;o[j>>2]=a;o[N>>2]=i;o[B>>2]=E;P=(o[D+4>>2]|0)-P|0;x=(o[D+8>>2]|0)-x|0;R=(o[D+12>>2]|0)-R|0;I=(o[D+16>>2]|0)-I|0;k=(o[D+20>>2]|0)-k|0;r=(o[D+24>>2]|0)-r|0;c=(o[D+28>>2]|0)-c|0;d=(o[D+32>>2]|0)-d|0;y=(o[D+36>>2]|0)-y|0;o[e>>2]=(o[D>>2]|0)-M;o[C>>2]=P;o[O>>2]=x;o[T>>2]=R;o[S>>2]=I;o[t>>2]=k;o[s>>2]=r;o[u>>2]=c;o[m>>2]=d;o[_>>2]=y;_=e+124|0;y=e+128|0;m=e+132|0;d=e+136|0;u=e+140|0;c=e+144|0;s=e+148|0;r=e+152|0;t=e+156|0;v=(o[_>>2]|0)-v|0;b=(o[y>>2]|0)-b|0;g=(o[m>>2]|0)-g|0;p=(o[d>>2]|0)-p|0;l=(o[u>>2]|0)-l|0;f=(o[c>>2]|0)-f|0;a=(o[s>>2]|0)-a|0;i=(o[r>>2]|0)-i|0;e=(o[t>>2]|0)-E|0;o[A>>2]=(o[A>>2]|0)-w;o[_>>2]=v;o[y>>2]=b;o[m>>2]=g;o[d>>2]=p;o[u>>2]=l;o[c>>2]=f;o[s>>2]=a;o[r>>2]=i;o[t>>2]=e;h=n;return}function ai(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;c=t+44|0;l=t+48|0;p=t+52|0;y=t+56|0;v=t+60|0;E=t+64|0;I=t+68|0;O=t+72|0;R=t+76|0;G=t+4|0;q=t+8|0;r=t+12|0;d=t+16|0;h=t+20|0;A=t+24|0;w=t+28|0;x=t+32|0;F=t+36|0;se=(o[G>>2]|0)+(o[c>>2]|0)|0;oe=(o[q>>2]|0)+(o[l>>2]|0)|0;ie=(o[r>>2]|0)+(o[p>>2]|0)|0;re=(o[d>>2]|0)+(o[y>>2]|0)|0;ne=(o[h>>2]|0)+(o[v>>2]|0)|0;te=(o[A>>2]|0)+(o[E>>2]|0)|0;ee=(o[w>>2]|0)+(o[I>>2]|0)|0;$=(o[x>>2]|0)+(o[O>>2]|0)|0;X=(o[F>>2]|0)+(o[R>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[c>>2]|0)-(o[G>>2]|0)|0;q=(o[l>>2]|0)-(o[q>>2]|0)|0;r=(o[p>>2]|0)-(o[r>>2]|0)|0;d=(o[y>>2]|0)-(o[d>>2]|0)|0;h=(o[v>>2]|0)-(o[h>>2]|0)|0;A=(o[E>>2]|0)-(o[A>>2]|0)|0;w=(o[I>>2]|0)-(o[w>>2]|0)|0;x=(o[O>>2]|0)-(o[x>>2]|0)|0;F=(o[R>>2]|0)-(o[F>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=q;q=e+52|0;o[q>>2]=r;r=e+56|0;o[r>>2]=d;d=e+60|0;o[d>>2]=h;h=e+64|0;o[h>>2]=A;A=e+68|0;o[A>>2]=w;w=e+72|0;o[w>>2]=x;x=e+76|0;o[x>>2]=F;F=e+80|0;Xr(F,e,n+40|0);Xr(X,X,n);R=e+120|0;Xr(R,n+120|0,t+120|0);Xr(e,t+80|0,n+80|0);O=o[e>>2]<<1;I=o[ae>>2]<<1;E=o[se>>2]<<1;v=o[oe>>2]<<1;y=o[ie>>2]<<1;p=o[re>>2]<<1;l=o[ne>>2]<<1;c=o[te>>2]<<1;i=o[ee>>2]<<1;t=o[$>>2]<<1;J=o[F>>2]|0;L=e+84|0;W=o[L>>2]|0;U=e+88|0;H=o[U>>2]|0;j=e+92|0;K=o[j>>2]|0;N=e+96|0;s=o[N>>2]|0;B=e+100|0;a=o[B>>2]|0;D=e+104|0;m=o[D>>2]|0;M=e+108|0;g=o[M>>2]|0;P=e+112|0;k=o[P>>2]|0;C=e+116|0;S=o[C>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[q>>2]|0;n=o[r>>2]|0;f=o[d>>2]|0;u=o[h>>2]|0;b=o[A>>2]|0;_=o[w>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=K-z;o[ie>>2]=s-n;o[re>>2]=a-f;o[ne>>2]=m-u;o[te>>2]=g-b;o[ee>>2]=k-_;o[$>>2]=S-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[q>>2]=z+K;o[r>>2]=n+s;o[d>>2]=f+a;o[h>>2]=u+m;o[A>>2]=b+g;o[w>>2]=_+k;o[x>>2]=T+S;x=o[R>>2]|0;S=e+124|0;T=o[S>>2]|0;w=e+128|0;k=o[w>>2]|0;_=e+132|0;A=o[_>>2]|0;g=e+136|0;b=o[g>>2]|0;h=e+140|0;m=o[h>>2]|0;u=e+144|0;d=o[u>>2]|0;a=e+148|0;f=o[a>>2]|0;r=e+152|0;s=o[r>>2]|0;n=e+156|0;e=o[n>>2]|0;o[F>>2]=O-x;o[L>>2]=I-T;o[U>>2]=E-k;o[j>>2]=v-A;o[N>>2]=y-b;o[B>>2]=p-m;o[D>>2]=l-d;o[M>>2]=c-f;o[P>>2]=i-s;o[C>>2]=t-e;o[R>>2]=x+O;o[S>>2]=T+I;o[w>>2]=k+E;o[_>>2]=A+v;o[g>>2]=b+y;o[h>>2]=m+p;o[u>>2]=d+l;o[a>>2]=f+c;o[r>>2]=s+i;o[n>>2]=e+t;return}function ci(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;u=t+44|0;h=t+48|0;g=t+52|0;_=t+56|0;w=t+60|0;S=t+64|0;R=t+68|0;C=t+72|0;O=t+76|0;G=t+4|0;K=t+8|0;i=t+12|0;d=t+16|0;p=t+20|0;A=t+24|0;E=t+28|0;x=t+32|0;q=t+36|0;se=(o[G>>2]|0)+(o[u>>2]|0)|0;oe=(o[K>>2]|0)+(o[h>>2]|0)|0;ie=(o[i>>2]|0)+(o[g>>2]|0)|0;re=(o[d>>2]|0)+(o[_>>2]|0)|0;ne=(o[p>>2]|0)+(o[w>>2]|0)|0;te=(o[A>>2]|0)+(o[S>>2]|0)|0;ee=(o[E>>2]|0)+(o[R>>2]|0)|0;$=(o[x>>2]|0)+(o[C>>2]|0)|0;X=(o[q>>2]|0)+(o[O>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[u>>2]|0)-(o[G>>2]|0)|0;K=(o[h>>2]|0)-(o[K>>2]|0)|0;i=(o[g>>2]|0)-(o[i>>2]|0)|0;d=(o[_>>2]|0)-(o[d>>2]|0)|0;p=(o[w>>2]|0)-(o[p>>2]|0)|0;A=(o[S>>2]|0)-(o[A>>2]|0)|0;E=(o[R>>2]|0)-(o[E>>2]|0)|0;x=(o[C>>2]|0)-(o[x>>2]|0)|0;q=(o[O>>2]|0)-(o[q>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=K;K=e+52|0;o[K>>2]=i;i=e+56|0;o[i>>2]=d;d=e+60|0;o[d>>2]=p;p=e+64|0;o[p>>2]=A;A=e+68|0;o[A>>2]=E;E=e+72|0;o[E>>2]=x;x=e+76|0;o[x>>2]=q;q=e+80|0;Xr(q,e,n);Xr(X,X,n+40|0);O=e+120|0;Xr(O,n+80|0,t+120|0);C=o[t+80>>2]<<1;R=o[t+84>>2]<<1;S=o[t+88>>2]<<1;w=o[t+92>>2]<<1;_=o[t+96>>2]<<1;g=o[t+100>>2]<<1;h=o[t+104>>2]<<1;u=o[t+108>>2]<<1;a=o[t+112>>2]<<1;r=o[t+116>>2]<<1;J=o[q>>2]|0;F=e+84|0;W=o[F>>2]|0;L=e+88|0;H=o[L>>2]|0;U=e+92|0;t=o[U>>2]|0;j=e+96|0;s=o[j>>2]|0;N=e+100|0;c=o[N>>2]|0;B=e+104|0;m=o[B>>2]|0;D=e+108|0;y=o[D>>2]|0;M=e+112|0;k=o[M>>2]|0;P=e+116|0;I=o[P>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[K>>2]|0;n=o[i>>2]|0;f=o[d>>2]|0;l=o[p>>2]|0;b=o[A>>2]|0;v=o[E>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=t-z;o[ie>>2]=s-n;o[re>>2]=c-f;o[ne>>2]=m-l;o[te>>2]=y-b;o[ee>>2]=k-v;o[$>>2]=I-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[K>>2]=z+t;o[i>>2]=n+s;o[d>>2]=f+c;o[p>>2]=l+m;o[A>>2]=b+y;o[E>>2]=v+k;o[x>>2]=T+I;x=o[O>>2]|0;I=e+124|0;T=o[I>>2]|0;E=e+128|0;k=o[E>>2]|0;v=e+132|0;A=o[v>>2]|0;y=e+136|0;b=o[y>>2]|0;p=e+140|0;m=o[p>>2]|0;l=e+144|0;d=o[l>>2]|0;c=e+148|0;f=o[c>>2]|0;i=e+152|0;s=o[i>>2]|0;n=e+156|0;t=o[n>>2]|0;o[q>>2]=x+C;o[F>>2]=T+R;o[L>>2]=k+S;o[U>>2]=A+w;o[j>>2]=b+_;o[N>>2]=m+g;o[B>>2]=d+h;o[D>>2]=f+u;o[M>>2]=s+a;o[P>>2]=t+r;o[O>>2]=C-x;o[I>>2]=R-T;o[E>>2]=S-k;o[v>>2]=w-A;o[y>>2]=_-b;o[p>>2]=g-m;o[l>>2]=h-d;o[c>>2]=u-f;o[i>>2]=a-s;o[n>>2]=r-t;return}function fi(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;c=t+44|0;l=t+48|0;p=t+52|0;y=t+56|0;v=t+60|0;E=t+64|0;I=t+68|0;O=t+72|0;R=t+76|0;G=t+4|0;q=t+8|0;r=t+12|0;d=t+16|0;h=t+20|0;A=t+24|0;w=t+28|0;x=t+32|0;F=t+36|0;se=(o[G>>2]|0)+(o[c>>2]|0)|0;oe=(o[q>>2]|0)+(o[l>>2]|0)|0;ie=(o[r>>2]|0)+(o[p>>2]|0)|0;re=(o[d>>2]|0)+(o[y>>2]|0)|0;ne=(o[h>>2]|0)+(o[v>>2]|0)|0;te=(o[A>>2]|0)+(o[E>>2]|0)|0;ee=(o[w>>2]|0)+(o[I>>2]|0)|0;$=(o[x>>2]|0)+(o[O>>2]|0)|0;X=(o[F>>2]|0)+(o[R>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;G=(o[c>>2]|0)-(o[G>>2]|0)|0;q=(o[l>>2]|0)-(o[q>>2]|0)|0;r=(o[p>>2]|0)-(o[r>>2]|0)|0;d=(o[y>>2]|0)-(o[d>>2]|0)|0;h=(o[v>>2]|0)-(o[h>>2]|0)|0;A=(o[E>>2]|0)-(o[A>>2]|0)|0;w=(o[I>>2]|0)-(o[w>>2]|0)|0;x=(o[O>>2]|0)-(o[x>>2]|0)|0;F=(o[R>>2]|0)-(o[F>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=G;G=e+48|0;o[G>>2]=q;q=e+52|0;o[q>>2]=r;r=e+56|0;o[r>>2]=d;d=e+60|0;o[d>>2]=h;h=e+64|0;o[h>>2]=A;A=e+68|0;o[A>>2]=w;w=e+72|0;o[w>>2]=x;x=e+76|0;o[x>>2]=F;F=e+80|0;Xr(F,e,n+40|0);Xr(X,X,n);R=e+120|0;Xr(R,n+80|0,t+120|0);O=o[t+80>>2]<<1;I=o[t+84>>2]<<1;E=o[t+88>>2]<<1;v=o[t+92>>2]<<1;y=o[t+96>>2]<<1;p=o[t+100>>2]<<1;l=o[t+104>>2]<<1;c=o[t+108>>2]<<1;i=o[t+112>>2]<<1;t=o[t+116>>2]<<1;J=o[F>>2]|0;L=e+84|0;W=o[L>>2]|0;U=e+88|0;H=o[U>>2]|0;j=e+92|0;K=o[j>>2]|0;N=e+96|0;s=o[N>>2]|0;B=e+100|0;a=o[B>>2]|0;D=e+104|0;m=o[D>>2]|0;M=e+108|0;g=o[M>>2]|0;P=e+112|0;k=o[P>>2]|0;C=e+116|0;S=o[C>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[G>>2]|0;z=o[q>>2]|0;n=o[r>>2]|0;f=o[d>>2]|0;u=o[h>>2]|0;b=o[A>>2]|0;_=o[w>>2]|0;T=o[x>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=K-z;o[ie>>2]=s-n;o[re>>2]=a-f;o[ne>>2]=m-u;o[te>>2]=g-b;o[ee>>2]=k-_;o[$>>2]=S-T;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[G>>2]=V+H;o[q>>2]=z+K;o[r>>2]=n+s;o[d>>2]=f+a;o[h>>2]=u+m;o[A>>2]=b+g;o[w>>2]=_+k;o[x>>2]=T+S;x=o[R>>2]|0;S=e+124|0;T=o[S>>2]|0;w=e+128|0;k=o[w>>2]|0;_=e+132|0;A=o[_>>2]|0;g=e+136|0;b=o[g>>2]|0;h=e+140|0;m=o[h>>2]|0;u=e+144|0;d=o[u>>2]|0;a=e+148|0;f=o[a>>2]|0;r=e+152|0;s=o[r>>2]|0;n=e+156|0;e=o[n>>2]|0;o[F>>2]=O-x;o[L>>2]=I-T;o[U>>2]=E-k;o[j>>2]=v-A;o[N>>2]=y-b;o[B>>2]=p-m;o[D>>2]=l-d;o[M>>2]=c-f;o[P>>2]=i-s;o[C>>2]=t-e;o[R>>2]=x+O;o[S>>2]=T+I;o[w>>2]=k+E;o[_>>2]=A+v;o[g>>2]=b+y;o[h>>2]=m+p;o[u>>2]=d+l;o[a>>2]=f+c;o[r>>2]=s+i;o[n>>2]=e+t;return}function ui(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0;me=h;h=h+272|0;ue=me+240|0;le=me+192|0;c=me+144|0;f=me+96|0;de=me+48|0;he=me;pe=e+40|0;Qr(pe,t);u=e+80|0;o[u>>2]=1;a=e+84|0;n=a;i=n+36|0;do{o[n>>2]=0;n=n+4|0}while((n|0)<(i|0));Yr(le,pe);Xr(c,le,1248);te=le+4|0;ne=le+8|0;re=le+12|0;ie=le+16|0;oe=le+20|0;se=le+24|0;ae=le+28|0;ce=le+32|0;fe=le+36|0;x=o[u>>2]|0;O=o[a>>2]|0;T=o[e+88>>2]|0;S=o[e+92>>2]|0;E=o[e+96>>2]|0;A=o[e+100>>2]|0;i=o[e+104>>2]|0;ee=o[e+108>>2]|0;Z=o[e+112>>2]|0;X=o[e+116>>2]|0;_=(o[le>>2]|0)-x|0;v=(o[te>>2]|0)-O|0;u=(o[ne>>2]|0)-T|0;l=(o[re>>2]|0)-S|0;d=(o[ie>>2]|0)-E|0;p=(o[oe>>2]|0)-A|0;m=(o[se>>2]|0)-i|0;g=(o[ae>>2]|0)-ee|0;y=(o[ce>>2]|0)-Z|0;b=(o[fe>>2]|0)-X|0;o[le>>2]=_;o[te>>2]=v;o[ne>>2]=u;o[re>>2]=l;o[ie>>2]=d;o[oe>>2]=p;o[se>>2]=m;o[ae>>2]=g;o[ce>>2]=y;o[fe>>2]=b;R=c+4|0;I=c+8|0;k=c+12|0;w=c+16|0;a=c+20|0;n=c+24|0;$=c+28|0;J=c+32|0;Y=c+36|0;O=(o[R>>2]|0)+O|0;T=(o[I>>2]|0)+T|0;S=(o[k>>2]|0)+S|0;E=(o[w>>2]|0)+E|0;A=(o[a>>2]|0)+A|0;i=(o[n>>2]|0)+i|0;ee=(o[$>>2]|0)+ee|0;Z=(o[J>>2]|0)+Z|0;X=(o[Y>>2]|0)+X|0;o[c>>2]=(o[c>>2]|0)+x;o[R>>2]=O;o[I>>2]=T;o[k>>2]=S;o[w>>2]=E;o[a>>2]=A;o[n>>2]=i;o[$>>2]=ee;o[J>>2]=Z;o[Y>>2]=X;Yr(f,c);Xr(f,f,c);Yr(e,f);Xr(e,e,c);Xr(e,e,le);Zr(e,e);Xr(e,e,f);Xr(e,e,le);Yr(de,e);Xr(de,de,c);Y=de+4|0;X=de+8|0;J=de+12|0;Z=de+16|0;$=de+20|0;ee=de+24|0;n=de+28|0;i=de+32|0;a=de+36|0;f=(o[Y>>2]|0)-v|0;u=(o[X>>2]|0)-u|0;l=(o[J>>2]|0)-l|0;d=(o[Z>>2]|0)-d|0;p=(o[$>>2]|0)-p|0;m=(o[ee>>2]|0)-m|0;g=(o[n>>2]|0)-g|0;y=(o[i>>2]|0)-y|0;b=(o[a>>2]|0)-b|0;o[he>>2]=(o[de>>2]|0)-_;c=he+4|0;o[c>>2]=f;f=he+8|0;o[f>>2]=u;u=he+12|0;o[u>>2]=l;l=he+16|0;o[l>>2]=d;d=he+20|0;o[d>>2]=p;p=he+24|0;o[p>>2]=m;m=he+28|0;o[m>>2]=g;g=he+32|0;o[g>>2]=y;y=he+36|0;o[y>>2]=b;Jr(ue,he);b=ue+1|0;_=ue+2|0;v=ue+3|0;A=ue+4|0;w=ue+5|0;E=ue+6|0;k=ue+7|0;S=ue+8|0;I=ue+9|0;T=ue+10|0;R=ue+11|0;O=ue+12|0;x=ue+13|0;C=ue+14|0;P=ue+15|0;M=ue+16|0;D=ue+17|0;B=ue+18|0;N=ue+19|0;j=ue+20|0;U=ue+21|0;L=ue+22|0;F=ue+23|0;q=ue+24|0;K=ue+25|0;z=ue+26|0;G=ue+27|0;H=ue+28|0;V=ue+29|0;Q=ue+30|0;W=ue+31|0;do{if((r[b>>0]|r[ue>>0]|r[_>>0]|r[v>>0]|r[A>>0]|r[w>>0]|r[E>>0]|r[k>>0]|r[S>>0]|r[I>>0]|r[T>>0]|r[R>>0]|r[O>>0]|r[x>>0]|r[C>>0]|r[P>>0]|r[M>>0]|r[D>>0]|r[B>>0]|r[N>>0]|r[j>>0]|r[U>>0]|r[L>>0]|r[F>>0]|r[q>>0]|r[K>>0]|r[z>>0]|r[G>>0]|r[H>>0]|r[V>>0]|r[Q>>0]|r[W>>0])<<24>>24){te=(o[te>>2]|0)+(o[Y>>2]|0)|0;ne=(o[ne>>2]|0)+(o[X>>2]|0)|0;re=(o[re>>2]|0)+(o[J>>2]|0)|0;ie=(o[ie>>2]|0)+(o[Z>>2]|0)|0;oe=(o[oe>>2]|0)+(o[$>>2]|0)|0;se=(o[se>>2]|0)+(o[ee>>2]|0)|0;ae=(o[ae>>2]|0)+(o[n>>2]|0)|0;ce=(o[ce>>2]|0)+(o[i>>2]|0)|0;fe=(o[fe>>2]|0)+(o[a>>2]|0)|0;o[he>>2]=(o[le>>2]|0)+(o[de>>2]|0);o[c>>2]=te;o[f>>2]=ne;o[u>>2]=re;o[l>>2]=ie;o[d>>2]=oe;o[p>>2]=se;o[m>>2]=ae;o[g>>2]=ce;o[y>>2]=fe;Jr(ue,he);if(!((r[b>>0]|r[ue>>0]|r[_>>0]|r[v>>0]|r[A>>0]|r[w>>0]|r[E>>0]|r[k>>0]|r[S>>0]|r[I>>0]|r[T>>0]|r[R>>0]|r[O>>0]|r[x>>0]|r[C>>0]|r[P>>0]|r[M>>0]|r[D>>0]|r[B>>0]|r[N>>0]|r[j>>0]|r[U>>0]|r[L>>0]|r[F>>0]|r[q>>0]|r[K>>0]|r[z>>0]|r[G>>0]|r[H>>0]|r[V>>0]|r[Q>>0]|r[W>>0])<<24>>24)){Xr(e,e,1296);break}else{pe=-1;h=me;return pe|0}}}while(0);Jr(ue,e);if(((s[t+31>>0]|0)>>>7|0)==(r[ue>>0]&1|0)){Z=e+4|0;ee=e+8|0;ne=e+12|0;ie=e+16|0;se=e+20|0;ce=e+24|0;t=e+28|0;le=e+32|0;he=e+36|0;J=0-(o[Z>>2]|0)|0;$=0-(o[ee>>2]|0)|0;te=0-(o[ne>>2]|0)|0;re=0-(o[ie>>2]|0)|0;oe=0-(o[se>>2]|0)|0;ae=0-(o[ce>>2]|0)|0;fe=0-(o[t>>2]|0)|0;ue=0-(o[le>>2]|0)|0;de=0-(o[he>>2]|0)|0;o[e>>2]=0-(o[e>>2]|0);o[Z>>2]=J;o[ee>>2]=$;o[ne>>2]=te;o[ie>>2]=re;o[se>>2]=oe;o[ce>>2]=ae;o[t>>2]=fe;o[le>>2]=ue;o[he>>2]=de}Xr(e+120|0,e,pe);pe=0;h=me;return pe|0}function li(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0;_=h;h=h+592|0;p=_+464|0;g=_;y=_+304|0;m=_+184|0;b=_+64|0;i=r[t>>0]|0;r[g>>0]=i&15;r[g+1>>0]=(i&255)>>>4;i=r[t+1>>0]|0;r[g+2>>0]=i&15;r[g+3>>0]=(i&255)>>>4;i=r[t+2>>0]|0;r[g+4>>0]=i&15;r[g+5>>0]=(i&255)>>>4;i=r[t+3>>0]|0;r[g+6>>0]=i&15;r[g+7>>0]=(i&255)>>>4;i=r[t+4>>0]|0;r[g+8>>0]=i&15;r[g+9>>0]=(i&255)>>>4;i=r[t+5>>0]|0;r[g+10>>0]=i&15;r[g+11>>0]=(i&255)>>>4;i=r[t+6>>0]|0;r[g+12>>0]=i&15;r[g+13>>0]=(i&255)>>>4;i=r[t+7>>0]|0;r[g+14>>0]=i&15;r[g+15>>0]=(i&255)>>>4;i=r[t+8>>0]|0;r[g+16>>0]=i&15;r[g+17>>0]=(i&255)>>>4;i=r[t+9>>0]|0;r[g+18>>0]=i&15;r[g+19>>0]=(i&255)>>>4;i=r[t+10>>0]|0;r[g+20>>0]=i&15;r[g+21>>0]=(i&255)>>>4;i=r[t+11>>0]|0;r[g+22>>0]=i&15;r[g+23>>0]=(i&255)>>>4;i=r[t+12>>0]|0;r[g+24>>0]=i&15;r[g+25>>0]=(i&255)>>>4;i=r[t+13>>0]|0;r[g+26>>0]=i&15;r[g+27>>0]=(i&255)>>>4;i=r[t+14>>0]|0;r[g+28>>0]=i&15;r[g+29>>0]=(i&255)>>>4;i=r[t+15>>0]|0;r[g+30>>0]=i&15;r[g+31>>0]=(i&255)>>>4;i=r[t+16>>0]|0;r[g+32>>0]=i&15;r[g+33>>0]=(i&255)>>>4;i=r[t+17>>0]|0;r[g+34>>0]=i&15;r[g+35>>0]=(i&255)>>>4;i=r[t+18>>0]|0;r[g+36>>0]=i&15;r[g+37>>0]=(i&255)>>>4;i=r[t+19>>0]|0;r[g+38>>0]=i&15;r[g+39>>0]=(i&255)>>>4;i=r[t+20>>0]|0;r[g+40>>0]=i&15;r[g+41>>0]=(i&255)>>>4;i=r[t+21>>0]|0;r[g+42>>0]=i&15;r[g+43>>0]=(i&255)>>>4;i=r[t+22>>0]|0;r[g+44>>0]=i&15;r[g+45>>0]=(i&255)>>>4;i=r[t+23>>0]|0;r[g+46>>0]=i&15;r[g+47>>0]=(i&255)>>>4;i=r[t+24>>0]|0;r[g+48>>0]=i&15;r[g+49>>0]=(i&255)>>>4;i=r[t+25>>0]|0;r[g+50>>0]=i&15;r[g+51>>0]=(i&255)>>>4;i=r[t+26>>0]|0;r[g+52>>0]=i&15;r[g+53>>0]=(i&255)>>>4;i=r[t+27>>0]|0;r[g+54>>0]=i&15;r[g+55>>0]=(i&255)>>>4;i=r[t+28>>0]|0;r[g+56>>0]=i&15;r[g+57>>0]=(i&255)>>>4;i=r[t+29>>0]|0;r[g+58>>0]=i&15;r[g+59>>0]=(i&255)>>>4;i=r[t+30>>0]|0;r[g+60>>0]=i&15;r[g+61>>0]=(i&255)>>>4;t=r[t+31>>0]|0;r[g+62>>0]=t&15;i=g+63|0;r[i>>0]=(t&255)>>>4;t=0;n=0;do{d=g+n|0;l=t+(s[d>>0]|0)|0;t=(l<<24)+134217728>>28;r[d>>0]=l-(t<<4);n=n+1|0}while((n|0)!=63);r[i>>0]=t+(s[i>>0]|0);t=e;n=t+40|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));l=e+40|0;o[l>>2]=1;f=e+44|0;t=f;n=t+36|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));d=e+80|0;o[d>>2]=1;u=e+84|0;t=u;n=t+76|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));n=y+120|0;i=y+40|0;a=y+80|0;c=e+120|0;t=1;do{di(b,t>>>1,r[g+t>>0]|0);ci(y,e,b);Xr(e,y,n);Xr(l,i,a);Xr(d,a,n);Xr(c,y,i);t=t+2|0}while(t>>>0<64);T=o[e+4>>2]|0;S=o[e+8>>2]|0;k=o[e+12>>2]|0;E=o[e+16>>2]|0;w=o[e+20>>2]|0;A=o[e+24>>2]|0;v=o[e+28>>2]|0;t=o[e+32>>2]|0;I=o[e+36>>2]|0;o[p>>2]=o[e>>2];o[p+4>>2]=T;o[p+8>>2]=S;o[p+12>>2]=k;o[p+16>>2]=E;o[p+20>>2]=w;o[p+24>>2]=A;o[p+28>>2]=v;o[p+32>>2]=t;o[p+36>>2]=I;I=o[f>>2]|0;t=o[e+48>>2]|0;f=o[e+52>>2]|0;v=o[e+56>>2]|0;A=o[e+60>>2]|0;w=o[e+64>>2]|0;E=o[e+68>>2]|0;k=o[e+72>>2]|0;S=o[e+76>>2]|0;o[p+40>>2]=o[l>>2];o[p+44>>2]=I;o[p+48>>2]=t;o[p+52>>2]=f;o[p+56>>2]=v;o[p+60>>2]=A;o[p+64>>2]=w;o[p+68>>2]=E;o[p+72>>2]=k;o[p+76>>2]=S;S=o[u>>2]|0;k=o[e+88>>2]|0;E=o[e+92>>2]|0;w=o[e+96>>2]|0;A=o[e+100>>2]|0;v=o[e+104>>2]|0;f=o[e+108>>2]|0;u=o[e+112>>2]|0;t=o[e+116>>2]|0;o[p+80>>2]=o[d>>2];o[p+84>>2]=S;o[p+88>>2]=k;o[p+92>>2]=E;o[p+96>>2]=w;o[p+100>>2]=A;o[p+104>>2]=v;o[p+108>>2]=f;o[p+112>>2]=u;o[p+116>>2]=t;si(y,p);Xr(m,y,n);p=m+40|0;Xr(p,i,a);t=m+80|0;Xr(t,a,n);si(y,m);Xr(m,y,n);Xr(p,i,a);Xr(t,a,n);si(y,m);Xr(m,y,n);Xr(p,i,a);Xr(t,a,n);si(y,m);Xr(e,y,n);Xr(l,i,a);Xr(d,a,n);Xr(c,y,i);t=0;do{di(b,t>>>1,r[g+t>>0]|0);ci(y,e,b);Xr(e,y,n);Xr(l,i,a);Xr(d,a,n);Xr(c,y,i);t=t+2|0}while(t>>>0<64);h=_;return}function di(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0;r=n<<24>>24;b=0-((n&255)>>>7&255)|0;n=r-((b&r)<<1)&255;o[e>>2]=1;r=e+4|0;_=r;v=_+36|0;do{o[_>>2]=0;_=_+4|0}while((_|0)<(v|0));i=e+40|0;o[i>>2]=1;s=e+44|0;a=e+80|0;c=ks((n^1)&255|0,0,-1,-1)|0;c=xs(c|0,I|0,63)|0;f=1344+(t*960|0)|0;u=e+8|0;l=e+12|0;d=e+16|0;h=e+20|0;p=e+24|0;m=e+28|0;g=e+32|0;y=e+36|0;_=s;v=_+76|0;do{o[_>>2]=0;_=_+4|0}while((_|0)<(v|0));ve=0-c|0;ye=o[1344+(t*960|0)+4>>2]&ve;ge=o[1344+(t*960|0)+8>>2]&ve;me=o[1344+(t*960|0)+12>>2]&ve;pe=o[1344+(t*960|0)+16>>2]&ve;he=o[1344+(t*960|0)+20>>2]&ve;de=o[1344+(t*960|0)+24>>2]&ve;le=o[1344+(t*960|0)+28>>2]&ve;ue=o[1344+(t*960|0)+32>>2]&ve;fe=o[1344+(t*960|0)+36>>2]&ve;be=(o[f>>2]^1)&ve^1;o[e>>2]=be;o[r>>2]=ye;o[u>>2]=ge;o[l>>2]=me;o[d>>2]=pe;o[h>>2]=he;o[p>>2]=de;o[m>>2]=le;o[g>>2]=ue;o[y>>2]=fe;ne=e+48|0;$=e+52|0;X=e+56|0;Q=e+60|0;G=e+64|0;q=e+68|0;U=e+72|0;B=e+76|0;oe=o[1344+(t*960|0)+44>>2]&ve;re=o[1344+(t*960|0)+48>>2]&ve;ee=o[1344+(t*960|0)+52>>2]&ve;J=o[1344+(t*960|0)+56>>2]&ve;W=o[1344+(t*960|0)+60>>2]&ve;H=o[1344+(t*960|0)+64>>2]&ve;K=o[1344+(t*960|0)+68>>2]&ve;L=o[1344+(t*960|0)+72>>2]&ve;N=o[1344+(t*960|0)+76>>2]&ve;ae=(o[1344+(t*960|0)+40>>2]^1)&ve^1;o[i>>2]=ae;o[s>>2]=oe;o[ne>>2]=re;o[$>>2]=ee;o[X>>2]=J;o[Q>>2]=W;o[G>>2]=H;o[q>>2]=K;o[U>>2]=L;o[B>>2]=N;D=o[a>>2]|0;P=e+84|0;M=o[P>>2]|0;x=e+88|0;C=o[x>>2]|0;R=e+92|0;O=o[R>>2]|0;S=e+96|0;T=o[S>>2]|0;E=e+100|0;k=o[E>>2]|0;A=e+104|0;w=o[A>>2]|0;c=e+108|0;Z=o[c>>2]|0;_=e+112|0;f=o[_>>2]|0;v=e+116|0;se=o[v>>2]|0;ie=(o[1344+(t*960|0)+84>>2]^M)&ve;te=(o[1344+(t*960|0)+88>>2]^C)&ve;Y=(o[1344+(t*960|0)+92>>2]^O)&ve;V=(o[1344+(t*960|0)+96>>2]^T)&ve;z=(o[1344+(t*960|0)+100>>2]^k)&ve;F=(o[1344+(t*960|0)+104>>2]^w)&ve;j=(o[1344+(t*960|0)+108>>2]^Z)&ve;ce=(o[1344+(t*960|0)+112>>2]^f)&ve;_e=(o[1344+(t*960|0)+116>>2]^se)&ve;D=(o[1344+(t*960|0)+80>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^2)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+124>>2]^ye)&_e;j=(o[1344+(t*960|0)+128>>2]^ge)&_e;F=(o[1344+(t*960|0)+132>>2]^me)&_e;z=(o[1344+(t*960|0)+136>>2]^pe)&_e;V=(o[1344+(t*960|0)+140>>2]^he)&_e;Y=(o[1344+(t*960|0)+144>>2]^de)&_e;te=(o[1344+(t*960|0)+148>>2]^le)&_e;ie=(o[1344+(t*960|0)+152>>2]^ue)&_e;ve=(o[1344+(t*960|0)+156>>2]^fe)&_e;be=(o[1344+(t*960|0)+120>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=te^le;o[m>>2]=le;ue=ie^ue;o[g>>2]=ue;fe=ve^fe;o[y>>2]=fe;ve=(o[1344+(t*960|0)+164>>2]^oe)&_e;ie=(o[1344+(t*960|0)+168>>2]^re)&_e;te=(o[1344+(t*960|0)+172>>2]^ee)&_e;Y=(o[1344+(t*960|0)+176>>2]^J)&_e;V=(o[1344+(t*960|0)+180>>2]^W)&_e;z=(o[1344+(t*960|0)+184>>2]^H)&_e;F=(o[1344+(t*960|0)+188>>2]^K)&_e;j=(o[1344+(t*960|0)+192>>2]^L)&_e;ce=(o[1344+(t*960|0)+196>>2]^N)&_e;ae=(o[1344+(t*960|0)+160>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ve^oe;o[s>>2]=oe;re=ie^re;o[ne>>2]=re;ee=te^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+204>>2]^M)&_e;j=(o[1344+(t*960|0)+208>>2]^C)&_e;F=(o[1344+(t*960|0)+212>>2]^O)&_e;z=(o[1344+(t*960|0)+216>>2]^T)&_e;V=(o[1344+(t*960|0)+220>>2]^k)&_e;Y=(o[1344+(t*960|0)+224>>2]^w)&_e;te=(o[1344+(t*960|0)+228>>2]^Z)&_e;ie=(o[1344+(t*960|0)+232>>2]^f)&_e;ve=(o[1344+(t*960|0)+236>>2]^se)&_e;D=(o[1344+(t*960|0)+200>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;Z=te^Z;o[c>>2]=Z;f=ie^f;o[_>>2]=f;se=ve^se;o[v>>2]=se;ve=ks((n^3)&255|0,0,-1,-1)|0;ve=xs(ve|0,I|0,63)|0;ve=0-ve|0;ie=(o[1344+(t*960|0)+244>>2]^ye)&ve;te=(o[1344+(t*960|0)+248>>2]^ge)&ve;Y=(o[1344+(t*960|0)+252>>2]^me)&ve;V=(o[1344+(t*960|0)+256>>2]^pe)&ve;z=(o[1344+(t*960|0)+260>>2]^he)&ve;F=(o[1344+(t*960|0)+264>>2]^de)&ve;j=(o[1344+(t*960|0)+268>>2]^le)&ve;ce=(o[1344+(t*960|0)+272>>2]^ue)&ve;_e=(o[1344+(t*960|0)+276>>2]^fe)&ve;be=(o[1344+(t*960|0)+240>>2]^be)&ve^be;o[e>>2]=be;ye=ie^ye;o[r>>2]=ye;ge=te^ge;o[u>>2]=ge;me=Y^me;o[l>>2]=me;pe=V^pe;o[d>>2]=pe;he=z^he;o[h>>2]=he;de=F^de;o[p>>2]=de;le=j^le;o[m>>2]=le;ue=ce^ue;o[g>>2]=ue;fe=_e^fe;o[y>>2]=fe;_e=(o[1344+(t*960|0)+284>>2]^oe)&ve;ce=(o[1344+(t*960|0)+288>>2]^re)&ve;j=(o[1344+(t*960|0)+292>>2]^ee)&ve;F=(o[1344+(t*960|0)+296>>2]^J)&ve;z=(o[1344+(t*960|0)+300>>2]^W)&ve;V=(o[1344+(t*960|0)+304>>2]^H)&ve;Y=(o[1344+(t*960|0)+308>>2]^K)&ve;te=(o[1344+(t*960|0)+312>>2]^L)&ve;ie=(o[1344+(t*960|0)+316>>2]^N)&ve;ae=(o[1344+(t*960|0)+280>>2]^ae)&ve^ae;o[i>>2]=ae;oe=_e^oe;o[s>>2]=oe;re=ce^re;o[ne>>2]=re;ee=j^ee;o[$>>2]=ee;J=F^J;o[X>>2]=J;W=z^W;o[Q>>2]=W;H=V^H;o[G>>2]=H;K=Y^K;o[q>>2]=K;L=te^L;o[U>>2]=L;N=ie^N;o[B>>2]=N;ie=(o[1344+(t*960|0)+324>>2]^M)&ve;te=(o[1344+(t*960|0)+328>>2]^C)&ve;Y=(o[1344+(t*960|0)+332>>2]^O)&ve;V=(o[1344+(t*960|0)+336>>2]^T)&ve;z=(o[1344+(t*960|0)+340>>2]^k)&ve;F=(o[1344+(t*960|0)+344>>2]^w)&ve;j=(o[1344+(t*960|0)+348>>2]^Z)&ve;ce=(o[1344+(t*960|0)+352>>2]^f)&ve;_e=(o[1344+(t*960|0)+356>>2]^se)&ve;D=(o[1344+(t*960|0)+320>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^4)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+364>>2]^ye)&_e;j=(o[1344+(t*960|0)+368>>2]^ge)&_e;F=(o[1344+(t*960|0)+372>>2]^me)&_e;z=(o[1344+(t*960|0)+376>>2]^pe)&_e;V=(o[1344+(t*960|0)+380>>2]^he)&_e;Y=(o[1344+(t*960|0)+384>>2]^de)&_e;te=(o[1344+(t*960|0)+388>>2]^le)&_e;ie=(o[1344+(t*960|0)+392>>2]^ue)&_e;ve=(o[1344+(t*960|0)+396>>2]^fe)&_e;be=(o[1344+(t*960|0)+360>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=te^le;o[m>>2]=le;ue=ie^ue;o[g>>2]=ue;fe=ve^fe;o[y>>2]=fe;ve=(o[1344+(t*960|0)+404>>2]^oe)&_e;ie=(o[1344+(t*960|0)+408>>2]^re)&_e;te=(o[1344+(t*960|0)+412>>2]^ee)&_e;Y=(o[1344+(t*960|0)+416>>2]^J)&_e;V=(o[1344+(t*960|0)+420>>2]^W)&_e;z=(o[1344+(t*960|0)+424>>2]^H)&_e;F=(o[1344+(t*960|0)+428>>2]^K)&_e;j=(o[1344+(t*960|0)+432>>2]^L)&_e;ce=(o[1344+(t*960|0)+436>>2]^N)&_e;ae=(o[1344+(t*960|0)+400>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ve^oe;o[s>>2]=oe;re=ie^re;o[ne>>2]=re;ee=te^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+444>>2]^M)&_e;j=(o[1344+(t*960|0)+448>>2]^C)&_e;F=(o[1344+(t*960|0)+452>>2]^O)&_e;z=(o[1344+(t*960|0)+456>>2]^T)&_e;V=(o[1344+(t*960|0)+460>>2]^k)&_e;Y=(o[1344+(t*960|0)+464>>2]^w)&_e;te=(o[1344+(t*960|0)+468>>2]^Z)&_e;ie=(o[1344+(t*960|0)+472>>2]^f)&_e;ve=(o[1344+(t*960|0)+476>>2]^se)&_e;D=(o[1344+(t*960|0)+440>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;Z=te^Z;o[c>>2]=Z;f=ie^f;o[_>>2]=f;se=ve^se;o[v>>2]=se;ve=ks((n^5)&255|0,0,-1,-1)|0;ve=xs(ve|0,I|0,63)|0;ve=0-ve|0;ie=(o[1344+(t*960|0)+484>>2]^ye)&ve;te=(o[1344+(t*960|0)+488>>2]^ge)&ve;Y=(o[1344+(t*960|0)+492>>2]^me)&ve;V=(o[1344+(t*960|0)+496>>2]^pe)&ve;z=(o[1344+(t*960|0)+500>>2]^he)&ve;F=(o[1344+(t*960|0)+504>>2]^de)&ve;j=(o[1344+(t*960|0)+508>>2]^le)&ve;ce=(o[1344+(t*960|0)+512>>2]^ue)&ve;_e=(o[1344+(t*960|0)+516>>2]^fe)&ve;be=(o[1344+(t*960|0)+480>>2]^be)&ve^be;o[e>>2]=be;ye=ie^ye;o[r>>2]=ye;ge=te^ge;o[u>>2]=ge;me=Y^me;o[l>>2]=me;pe=V^pe;o[d>>2]=pe;he=z^he;o[h>>2]=he;de=F^de;o[p>>2]=de;le=j^le;o[m>>2]=le;ue=ce^ue;o[g>>2]=ue;fe=_e^fe;o[y>>2]=fe;_e=(o[1344+(t*960|0)+524>>2]^oe)&ve;ce=(o[1344+(t*960|0)+528>>2]^re)&ve;j=(o[1344+(t*960|0)+532>>2]^ee)&ve;F=(o[1344+(t*960|0)+536>>2]^J)&ve;z=(o[1344+(t*960|0)+540>>2]^W)&ve;V=(o[1344+(t*960|0)+544>>2]^H)&ve;Y=(o[1344+(t*960|0)+548>>2]^K)&ve;te=(o[1344+(t*960|0)+552>>2]^L)&ve;ie=(o[1344+(t*960|0)+556>>2]^N)&ve;ae=(o[1344+(t*960|0)+520>>2]^ae)&ve^ae;o[i>>2]=ae;oe=_e^oe;o[s>>2]=oe;re=ce^re;o[ne>>2]=re;ee=j^ee;o[$>>2]=ee;J=F^J;o[X>>2]=J;W=z^W;o[Q>>2]=W;H=V^H;o[G>>2]=H;K=Y^K;o[q>>2]=K;L=te^L;o[U>>2]=L;N=ie^N;o[B>>2]=N;ie=(o[1344+(t*960|0)+564>>2]^M)&ve;te=(o[1344+(t*960|0)+568>>2]^C)&ve;Y=(o[1344+(t*960|0)+572>>2]^O)&ve;V=(o[1344+(t*960|0)+576>>2]^T)&ve;z=(o[1344+(t*960|0)+580>>2]^k)&ve;F=(o[1344+(t*960|0)+584>>2]^w)&ve;j=(o[1344+(t*960|0)+588>>2]^Z)&ve;ce=(o[1344+(t*960|0)+592>>2]^f)&ve;_e=(o[1344+(t*960|0)+596>>2]^se)&ve;D=(o[1344+(t*960|0)+560>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^6)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+604>>2]^ye)&_e;j=(o[1344+(t*960|0)+608>>2]^ge)&_e;F=(o[1344+(t*960|0)+612>>2]^me)&_e;z=(o[1344+(t*960|0)+616>>2]^pe)&_e;V=(o[1344+(t*960|0)+620>>2]^he)&_e;Y=(o[1344+(t*960|0)+624>>2]^de)&_e;te=(o[1344+(t*960|0)+628>>2]^le)&_e;ie=(o[1344+(t*960|0)+632>>2]^ue)&_e;ve=(o[1344+(t*960|0)+636>>2]^fe)&_e;be=(o[1344+(t*960|0)+600>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=te^le;o[m>>2]=le;ue=ie^ue;o[g>>2]=ue;fe=ve^fe;o[y>>2]=fe;ve=(o[1344+(t*960|0)+644>>2]^oe)&_e;ie=(o[1344+(t*960|0)+648>>2]^re)&_e;te=(o[1344+(t*960|0)+652>>2]^ee)&_e;Y=(o[1344+(t*960|0)+656>>2]^J)&_e;V=(o[1344+(t*960|0)+660>>2]^W)&_e;z=(o[1344+(t*960|0)+664>>2]^H)&_e;F=(o[1344+(t*960|0)+668>>2]^K)&_e;j=(o[1344+(t*960|0)+672>>2]^L)&_e;ce=(o[1344+(t*960|0)+676>>2]^N)&_e;ae=(o[1344+(t*960|0)+640>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ve^oe;o[s>>2]=oe;re=ie^re;o[ne>>2]=re;ee=te^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+684>>2]^M)&_e;j=(o[1344+(t*960|0)+688>>2]^C)&_e;F=(o[1344+(t*960|0)+692>>2]^O)&_e;z=(o[1344+(t*960|0)+696>>2]^T)&_e;V=(o[1344+(t*960|0)+700>>2]^k)&_e;Y=(o[1344+(t*960|0)+704>>2]^w)&_e;te=(o[1344+(t*960|0)+708>>2]^Z)&_e;ie=(o[1344+(t*960|0)+712>>2]^f)&_e;ve=(o[1344+(t*960|0)+716>>2]^se)&_e;D=(o[1344+(t*960|0)+680>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;Z=te^Z;o[c>>2]=Z;f=ie^f;o[_>>2]=f;se=ve^se;o[v>>2]=se;ve=ks((n^7)&255|0,0,-1,-1)|0;ve=xs(ve|0,I|0,63)|0;ve=0-ve|0;ie=(o[1344+(t*960|0)+724>>2]^ye)&ve;te=(o[1344+(t*960|0)+728>>2]^ge)&ve;Y=(o[1344+(t*960|0)+732>>2]^me)&ve;V=(o[1344+(t*960|0)+736>>2]^pe)&ve;z=(o[1344+(t*960|0)+740>>2]^he)&ve;F=(o[1344+(t*960|0)+744>>2]^de)&ve;j=(o[1344+(t*960|0)+748>>2]^le)&ve;ce=(o[1344+(t*960|0)+752>>2]^ue)&ve;_e=(o[1344+(t*960|0)+756>>2]^fe)&ve;be=(o[1344+(t*960|0)+720>>2]^be)&ve^be;o[e>>2]=be;ye=ie^ye;o[r>>2]=ye;ge=te^ge;o[u>>2]=ge;me=Y^me;o[l>>2]=me;pe=V^pe;o[d>>2]=pe;he=z^he;o[h>>2]=he;de=F^de;o[p>>2]=de;le=j^le;o[m>>2]=le;ue=ce^ue;o[g>>2]=ue;fe=_e^fe;o[y>>2]=fe;_e=(o[1344+(t*960|0)+764>>2]^oe)&ve;ce=(o[1344+(t*960|0)+768>>2]^re)&ve;j=(o[1344+(t*960|0)+772>>2]^ee)&ve;F=(o[1344+(t*960|0)+776>>2]^J)&ve;z=(o[1344+(t*960|0)+780>>2]^W)&ve;V=(o[1344+(t*960|0)+784>>2]^H)&ve;Y=(o[1344+(t*960|0)+788>>2]^K)&ve;te=(o[1344+(t*960|0)+792>>2]^L)&ve;ie=(o[1344+(t*960|0)+796>>2]^N)&ve;ae=(o[1344+(t*960|0)+760>>2]^ae)&ve^ae;o[i>>2]=ae;oe=_e^oe;o[s>>2]=oe;re=ce^re;o[ne>>2]=re;ee=j^ee;o[$>>2]=ee;J=F^J;o[X>>2]=J;W=z^W;o[Q>>2]=W;H=V^H;o[G>>2]=H;K=Y^K;o[q>>2]=K;L=te^L;o[U>>2]=L;N=ie^N;o[B>>2]=N;ie=(o[1344+(t*960|0)+804>>2]^M)&ve;te=(o[1344+(t*960|0)+808>>2]^C)&ve;Y=(o[1344+(t*960|0)+812>>2]^O)&ve;V=(o[1344+(t*960|0)+816>>2]^T)&ve;z=(o[1344+(t*960|0)+820>>2]^k)&ve;F=(o[1344+(t*960|0)+824>>2]^w)&ve;j=(o[1344+(t*960|0)+828>>2]^Z)&ve;ce=(o[1344+(t*960|0)+832>>2]^f)&ve;_e=(o[1344+(t*960|0)+836>>2]^se)&ve;D=(o[1344+(t*960|0)+800>>2]^D)&ve^D;o[a>>2]=D;M=ie^M;o[P>>2]=M;C=te^C;o[x>>2]=C;O=Y^O;o[R>>2]=O;T=V^T;o[S>>2]=T;k=z^k;o[E>>2]=k;w=F^w;o[A>>2]=w;Z=j^Z;o[c>>2]=Z;f=ce^f;o[_>>2]=f;se=_e^se;o[v>>2]=se;_e=ks((n^8)&255|0,0,-1,-1)|0;_e=xs(_e|0,I|0,63)|0;_e=0-_e|0;ce=(o[1344+(t*960|0)+844>>2]^ye)&_e;j=(o[1344+(t*960|0)+848>>2]^ge)&_e;F=(o[1344+(t*960|0)+852>>2]^me)&_e;z=(o[1344+(t*960|0)+856>>2]^pe)&_e;V=(o[1344+(t*960|0)+860>>2]^he)&_e;Y=(o[1344+(t*960|0)+864>>2]^de)&_e;n=(o[1344+(t*960|0)+868>>2]^le)&_e;te=(o[1344+(t*960|0)+872>>2]^ue)&_e;ie=(o[1344+(t*960|0)+876>>2]^fe)&_e;be=(o[1344+(t*960|0)+840>>2]^be)&_e^be;o[e>>2]=be;ye=ce^ye;o[r>>2]=ye;ge=j^ge;o[u>>2]=ge;me=F^me;o[l>>2]=me;pe=z^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=n^le;o[m>>2]=le;ue=te^ue;o[g>>2]=ue;fe=ie^fe;o[y>>2]=fe;ie=(o[1344+(t*960|0)+884>>2]^oe)&_e;te=(o[1344+(t*960|0)+888>>2]^re)&_e;n=(o[1344+(t*960|0)+892>>2]^ee)&_e;Y=(o[1344+(t*960|0)+896>>2]^J)&_e;V=(o[1344+(t*960|0)+900>>2]^W)&_e;z=(o[1344+(t*960|0)+904>>2]^H)&_e;F=(o[1344+(t*960|0)+908>>2]^K)&_e;j=(o[1344+(t*960|0)+912>>2]^L)&_e;ce=(o[1344+(t*960|0)+916>>2]^N)&_e;ae=(o[1344+(t*960|0)+880>>2]^ae)&_e^ae;o[i>>2]=ae;oe=ie^oe;o[s>>2]=oe;re=te^re;o[ne>>2]=re;ee=n^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=z^H;o[G>>2]=H;K=F^K;o[q>>2]=K;L=j^L;o[U>>2]=L;N=ce^N;o[B>>2]=N;ce=(o[1344+(t*960|0)+924>>2]^M)&_e;j=(o[1344+(t*960|0)+928>>2]^C)&_e;F=(o[1344+(t*960|0)+932>>2]^O)&_e;z=(o[1344+(t*960|0)+936>>2]^T)&_e;V=(o[1344+(t*960|0)+940>>2]^k)&_e;Y=(o[1344+(t*960|0)+944>>2]^w)&_e;n=(o[1344+(t*960|0)+948>>2]^Z)&_e;te=(o[1344+(t*960|0)+952>>2]^f)&_e;ie=(o[1344+(t*960|0)+956>>2]^se)&_e;D=(o[1344+(t*960|0)+920>>2]^D)&_e^D;o[a>>2]=D;M=ce^M;o[P>>2]=M;C=j^C;o[x>>2]=C;O=F^O;o[R>>2]=O;T=z^T;o[S>>2]=T;k=V^k;o[E>>2]=k;w=Y^w;o[A>>2]=w;n=n^Z;o[c>>2]=n;f=te^f;o[_>>2]=f;t=ie^se;o[v>>2]=t;se=o[r>>2]|0;ie=o[u>>2]|0;te=o[l>>2]|0;Z=o[d>>2]|0;Y=o[h>>2]|0;V=o[p>>2]|0;z=o[m>>2]|0;F=o[g>>2]|0;j=o[y>>2]|0;ce=(ae^be)&b;o[e>>2]=ce^be;o[r>>2]=(oe^ye)&b^ye;o[u>>2]=(re^ge)&b^ge;o[l>>2]=(ee^me)&b^me;o[d>>2]=(J^pe)&b^pe;o[h>>2]=(W^he)&b^he;o[p>>2]=(H^de)&b^de;o[m>>2]=(K^le)&b^le;o[g>>2]=(L^ue)&b^ue;o[y>>2]=(N^fe)&b^fe;o[i>>2]=ce^ae;o[s>>2]=(se^oe)&b^oe;o[ne>>2]=(ie^re)&b^re;o[$>>2]=(te^ee)&b^ee;o[X>>2]=(Z^J)&b^J;o[Q>>2]=(Y^W)&b^W;o[G>>2]=(V^H)&b^H;o[q>>2]=(z^K)&b^K;o[U>>2]=(F^L)&b^L;o[B>>2]=(j^N)&b^N;o[a>>2]=(D^0-D)&b^D;o[P>>2]=(M^0-M)&b^M;o[x>>2]=(C^0-C)&b^C;o[R>>2]=(O^0-O)&b^O;o[S>>2]=(T^0-T)&b^T;o[E>>2]=(k^0-k)&b^k;o[A>>2]=(w^0-w)&b^w;o[c>>2]=(n^0-n)&b^n;o[_>>2]=(f^0-f)&b^f;o[v>>2]=(t^0-t)&b^t;return}function hi(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0,c=0,f=0;i=h;h=h+336|0;o=i+144|0;c=i+96|0;s=i+48|0;a=i;f=i+176|0;pi(n,32,t)|0;r[t>>0]=r[t>>0]&-8;n=t+31|0;r[n>>0]=r[n>>0]&63|64;li(f,t);Wr(c,f+80|0);Xr(s,f,c);Xr(a,f+40|0,c);Jr(e,a);Jr(o,s);n=e+31|0;r[n>>0]=r[n>>0]^r[o>>0]<<7&255;h=i;return}function pi(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0;l=h;h=h+208|0;c=l;f=c+72|0;o[f>>2]=0;u=c;o[u>>2]=0;o[u+4>>2]=0;u=c+8|0;o[u>>2]=-205731576;o[u+4>>2]=1779033703;u=c+16|0;o[u>>2]=-2067093701;o[u+4>>2]=-1150833019;u=c+24|0;o[u>>2]=-23791573;o[u+4>>2]=1013904242;u=c+32|0;o[u>>2]=1595750129;o[u+4>>2]=-1521486534;u=c+40|0;o[u>>2]=-1377402159;o[u+4>>2]=1359893119;u=c+48|0;o[u>>2]=725511199;o[u+4>>2]=-1694144372;u=c+56|0;o[u>>2]=-79577749;o[u+4>>2]=528734635;u=c+64|0;o[u>>2]=327033209;o[u+4>>2]=1541459225;if(!e){u=1;h=l;return u|0}e:do{if(t|0){u=c+76|0;s=0;while(1){if(!((s|0)==0&t>>>0>127)){a=128-s|0;a=t>>>0>>0?t:a;if(a|0){i=0;do{r[i+s+(c+76)>>0]=r[e+i>>0]|0;i=i+1|0}while(i>>>0>>0)}s=s+a|0;o[f>>2]=s;e=e+a|0;t=t-a|0;if((s|0)==128){mi(c,u);s=c;s=ks(o[s>>2]|0,o[s+4>>2]|0,1024,0)|0;a=c;o[a>>2]=s;o[a+4>>2]=I;o[f>>2]=0}}else{mi(c,e);s=c;s=ks(o[s>>2]|0,o[s+4>>2]|0,1024,0)|0;a=c;o[a>>2]=s;o[a+4>>2]=I;t=t+-128|0;e=e+128|0}if(!t)break e;s=o[f>>2]|0}}}while(0);u=gi(c,n)|0;h=l;return u|0}function mi(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0;E=h;h=h+704|0;a=E+640|0;A=E;w=e+8|0;n=a;r=w;i=n+64|0;do{o[n>>2]=o[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(i|0));n=0;do{b=t+(n<<3)|0;d=Cs(s[b>>0]|0|0,0,56)|0;_=I;l=Cs(s[b+1>>0]|0|0,0,48)|0;_=I|_;p=Cs(s[b+2>>0]|0|0,0,40)|0;_=_|I|(s[b+3>>0]|0);m=Cs(s[b+4>>0]|0|0,0,24)|0;_=_|I;g=Cs(s[b+5>>0]|0|0,0,16)|0;_=_|I;y=Cs(s[b+6>>0]|0|0,0,8)|0;v=A+(n<<3)|0;o[v>>2]=l|d|p|m|g|y|(s[b+7>>0]|0);o[v+4>>2]=_|I;n=n+1|0}while((n|0)!=16);i=A;n=16;r=o[i>>2]|0;i=o[i+4>>2]|0;do{u=A+(n+-2<<3)|0;k=o[u>>2]|0;u=o[u+4>>2]|0;l=xs(k|0,u|0,19)|0;p=I;d=Cs(k|0,u|0,45)|0;p=p|I;c=xs(k|0,u|0,61)|0;t=I;f=Cs(k|0,u|0,3)|0;t=t|I;u=xs(k|0,u|0,6)|0;p=t^I^p;t=A+(n+-7<<3)|0;k=o[t>>2]|0;t=o[t+4>>2]|0;b=A+(n+-15<<3)|0;T=r;r=o[b>>2]|0;S=i;i=o[b+4>>2]|0;b=xs(r|0,i|0,1)|0;_=I;v=Cs(r|0,i|0,63)|0;_=_|I;m=xs(r|0,i|0,8)|0;R=I;g=Cs(r|0,i|0,56)|0;R=R|I;y=xs(r|0,i|0,7)|0;_=R^I^_;t=ks(T|0,S|0,k|0,t|0)|0;p=ks(t|0,I|0,(c|f)^u^(l|d)|0,p|0)|0;_=ks(p|0,I|0,(m|g)^y^(b|v)|0,_|0)|0;v=A+(n<<3)|0;o[v>>2]=_;o[v+4>>2]=I;n=n+1|0}while((n|0)!=80);l=a+56|0;i=a+32|0;c=a+48|0;f=a+40|0;p=a;g=a+8|0;b=a+16|0;v=a+24|0;n=0;r=o[i>>2]|0;i=o[i+4>>2]|0;t=o[c>>2]|0;a=o[f>>2]|0;c=o[c+4>>2]|0;f=o[f+4>>2]|0;u=o[l>>2]|0;l=o[l+4>>2]|0;d=o[p>>2]|0;p=o[p+4>>2]|0;m=o[g>>2]|0;g=o[g+4>>2]|0;y=o[b>>2]|0;b=o[b+4>>2]|0;_=o[v>>2]|0;v=o[v+4>>2]|0;do{S=xs(r|0,i|0,14)|0;Q=I;T=Cs(r|0,i|0,50)|0;Q=Q|I;Y=xs(r|0,i|0,18)|0;K=I;L=Cs(r|0,i|0,46)|0;K=Q^(K|I);Q=xs(r|0,i|0,41)|0;V=I;B=Cs(r|0,i|0,23)|0;V=K^(V|I);K=32064+(n<<3)|0;C=A+(n<<3)|0;N=o[C>>2]|0;C=o[C+4>>2]|0;K=ks(o[K>>2]|0,o[K+4>>2]|0,u|0,l|0)|0;V=ks(K|0,I|0,(S|T)^(Y|L)^(Q|B)|0,V|0)|0;C=ks(V|0,I|0,N|0,C|0)|0;C=ks(C|0,I|0,(a^t)&r^t|0,(f^c)&i^c|0)|0;N=I;V=xs(d|0,p|0,28)|0;B=I;Q=Cs(d|0,p|0,36)|0;B=B|I;L=xs(d|0,p|0,34)|0;Y=I;T=Cs(d|0,p|0,30)|0;Y=B^(Y|I);B=xs(d|0,p|0,39)|0;S=I;K=Cs(d|0,p|0,25)|0;S=Y^(S|I);Y=ks(_|0,v|0,C|0,N|0)|0;F=I;N=ks((m|d)&y|m&d|0,(g|p)&b|g&p|0,C|0,N|0)|0;S=ks(N|0,I|0,(V|Q)^(L|T)^(B|K)|0,S|0)|0;K=I;B=xs(Y|0,F|0,14)|0;T=I;L=Cs(Y|0,F|0,50)|0;T=T|I;Q=xs(Y|0,F|0,18)|0;V=I;N=Cs(Y|0,F|0,46)|0;V=T^(V|I);T=xs(Y|0,F|0,41)|0;C=I;R=Cs(Y|0,F|0,23)|0;C=V^(C|I);V=n|1;H=32064+(V<<3)|0;M=o[H>>2]|0;H=o[H+4>>2]|0;V=A+(V<<3)|0;j=o[V>>2]|0;V=o[V+4>>2]|0;P=ks(Y&(a^r)^a|0,F&(f^i)^f|0,t|0,c|0)|0;H=ks(P|0,I|0,M|0,H|0)|0;V=ks(H|0,I|0,j|0,V|0)|0;C=ks(V|0,I|0,(B|L)^(Q|N)^(T|R)|0,C|0)|0;R=I;T=xs(S|0,K|0,28)|0;N=I;Q=Cs(S|0,K|0,36)|0;N=N|I;L=xs(S|0,K|0,34)|0;B=I;V=Cs(S|0,K|0,30)|0;B=N^(B|I);N=xs(S|0,K|0,39)|0;j=I;H=Cs(S|0,K|0,25)|0;j=ks((T|Q)^(L|V)^(N|H)|0,B^(j|I)|0,(S|d)&m|S&d|0,(K|p)&g|K&p|0)|0;B=I;H=ks(C|0,R|0,y|0,b|0)|0;N=I;R=ks(j|0,B|0,C|0,R|0)|0;C=I;B=xs(H|0,N|0,14)|0;j=I;V=Cs(H|0,N|0,50)|0;j=j|I;L=xs(H|0,N|0,18)|0;Q=I;T=Cs(H|0,N|0,46)|0;Q=j^(Q|I);j=xs(H|0,N|0,41)|0;M=I;P=Cs(H|0,N|0,23)|0;M=Q^(M|I);Q=n|2;q=32064+(Q<<3)|0;Q=A+(Q<<3)|0;D=o[Q>>2]|0;Q=o[Q+4>>2]|0;q=ks(o[q>>2]|0,o[q+4>>2]|0,a|0,f|0)|0;Q=ks(q|0,I|0,D|0,Q|0)|0;Q=ks(Q|0,I|0,H&(Y^r)^r|0,N&(F^i)^i|0)|0;M=ks(Q|0,I|0,(B|V)^(L|T)^(j|P)|0,M|0)|0;P=I;j=xs(R|0,C|0,28)|0;T=I;L=Cs(R|0,C|0,36)|0;T=T|I;V=xs(R|0,C|0,34)|0;B=I;Q=Cs(R|0,C|0,30)|0;B=T^(B|I);T=xs(R|0,C|0,39)|0;D=I;q=Cs(R|0,C|0,25)|0;D=ks((j|L)^(V|Q)^(T|q)|0,B^(D|I)|0,(R|S)&d|R&S|0,(C|K)&p|C&K|0)|0;B=I;q=ks(M|0,P|0,m|0,g|0)|0;T=I;P=ks(D|0,B|0,M|0,P|0)|0;M=I;B=xs(q|0,T|0,14)|0;D=I;Q=Cs(q|0,T|0,50)|0;D=D|I;V=xs(q|0,T|0,18)|0;L=I;j=Cs(q|0,T|0,46)|0;L=D^(L|I);D=xs(q|0,T|0,41)|0;O=I;x=Cs(q|0,T|0,23)|0;O=L^(O|I);L=n|3;U=32064+(L<<3)|0;L=A+(L<<3)|0;W=o[L>>2]|0;L=o[L+4>>2]|0;U=ks(o[U>>2]|0,o[U+4>>2]|0,r|0,i|0)|0;L=ks(U|0,I|0,W|0,L|0)|0;L=ks(L|0,I|0,q&(H^Y)^Y|0,T&(N^F)^F|0)|0;O=ks(L|0,I|0,(B|Q)^(V|j)^(D|x)|0,O|0)|0;x=I;D=xs(P|0,M|0,28)|0;j=I;V=Cs(P|0,M|0,36)|0;j=j|I;Q=xs(P|0,M|0,34)|0;B=I;L=Cs(P|0,M|0,30)|0;B=j^(B|I);j=xs(P|0,M|0,39)|0;W=I;U=Cs(P|0,M|0,25)|0;W=ks((D|V)^(Q|L)^(j|U)|0,B^(W|I)|0,(P|R)&S|P&R|0,(M|C)&K|M&C|0)|0;B=I;U=ks(O|0,x|0,d|0,p|0)|0;j=I;x=ks(W|0,B|0,O|0,x|0)|0;O=I;B=xs(U|0,j|0,14)|0;W=I;L=Cs(U|0,j|0,50)|0;W=W|I;Q=xs(U|0,j|0,18)|0;V=I;D=Cs(U|0,j|0,46)|0;V=W^(V|I);W=xs(U|0,j|0,41)|0;G=I;k=Cs(U|0,j|0,23)|0;G=V^(G|I);V=n|4;X=32064+(V<<3)|0;V=A+(V<<3)|0;z=o[V>>2]|0;V=o[V+4>>2]|0;F=ks(o[X>>2]|0,o[X+4>>2]|0,Y|0,F|0)|0;V=ks(F|0,I|0,z|0,V|0)|0;V=ks(V|0,I|0,U&(q^H)^H|0,j&(T^N)^N|0)|0;G=ks(V|0,I|0,(B|L)^(Q|D)^(W|k)|0,G|0)|0;k=I;W=xs(x|0,O|0,28)|0;D=I;Q=Cs(x|0,O|0,36)|0;D=D|I;L=xs(x|0,O|0,34)|0;B=I;V=Cs(x|0,O|0,30)|0;B=D^(B|I);D=xs(x|0,O|0,39)|0;z=I;F=Cs(x|0,O|0,25)|0;z=ks((W|Q)^(L|V)^(D|F)|0,B^(z|I)|0,(x|P)&R|x&P|0,(O|M)&C|O&M|0)|0;B=I;u=ks(G|0,k|0,S|0,K|0)|0;l=I;_=ks(z|0,B|0,G|0,k|0)|0;v=I;k=xs(u|0,l|0,14)|0;G=I;B=Cs(u|0,l|0,50)|0;G=G|I;z=xs(u|0,l|0,18)|0;K=I;S=Cs(u|0,l|0,46)|0;K=G^(K|I);G=xs(u|0,l|0,41)|0;F=I;D=Cs(u|0,l|0,23)|0;F=K^(F|I);K=n|5;V=32064+(K<<3)|0;K=A+(K<<3)|0;L=o[K>>2]|0;K=o[K+4>>2]|0;N=ks(o[V>>2]|0,o[V+4>>2]|0,H|0,N|0)|0;K=ks(N|0,I|0,L|0,K|0)|0;K=ks(K|0,I|0,u&(U^q)^q|0,l&(j^T)^T|0)|0;F=ks(K|0,I|0,(k|B)^(z|S)^(G|D)|0,F|0)|0;D=I;G=xs(_|0,v|0,28)|0;S=I;z=Cs(_|0,v|0,36)|0;S=S|I;B=xs(_|0,v|0,34)|0;k=I;K=Cs(_|0,v|0,30)|0;k=S^(k|I);S=xs(_|0,v|0,39)|0;L=I;N=Cs(_|0,v|0,25)|0;L=ks((G|z)^(B|K)^(S|N)|0,k^(L|I)|0,(_|x)&P|_&x|0,(v|O)&M|v&O|0)|0;k=I;t=ks(F|0,D|0,R|0,C|0)|0;c=I;y=ks(L|0,k|0,F|0,D|0)|0;b=I;D=xs(t|0,c|0,14)|0;F=I;k=Cs(t|0,c|0,50)|0;F=F|I;L=xs(t|0,c|0,18)|0;C=I;R=Cs(t|0,c|0,46)|0;C=F^(C|I);F=xs(t|0,c|0,41)|0;N=I;S=Cs(t|0,c|0,23)|0;N=C^(N|I);C=n|6;K=32064+(C<<3)|0;C=A+(C<<3)|0;B=o[C>>2]|0;C=o[C+4>>2]|0;T=ks(o[K>>2]|0,o[K+4>>2]|0,q|0,T|0)|0;C=ks(T|0,I|0,B|0,C|0)|0;C=ks(C|0,I|0,t&(u^U)^U|0,c&(l^j)^j|0)|0;N=ks(C|0,I|0,(D|k)^(L|R)^(F|S)|0,N|0)|0;S=I;F=xs(y|0,b|0,28)|0;R=I;L=Cs(y|0,b|0,36)|0;R=R|I;k=xs(y|0,b|0,34)|0;D=I;C=Cs(y|0,b|0,30)|0;D=R^(D|I);R=xs(y|0,b|0,39)|0;B=I;T=Cs(y|0,b|0,25)|0;B=ks((F|L)^(k|C)^(R|T)|0,D^(B|I)|0,(y|_)&x|y&_|0,(b|v)&O|b&v|0)|0;D=I;a=ks(N|0,S|0,P|0,M|0)|0;f=I;m=ks(B|0,D|0,N|0,S|0)|0;g=I;S=xs(a|0,f|0,14)|0;N=I;D=Cs(a|0,f|0,50)|0;N=N|I;B=xs(a|0,f|0,18)|0;M=I;P=Cs(a|0,f|0,46)|0;M=N^(M|I);N=xs(a|0,f|0,41)|0;T=I;R=Cs(a|0,f|0,23)|0;T=M^(T|I);M=n|7;C=32064+(M<<3)|0;M=A+(M<<3)|0;k=o[M>>2]|0;M=o[M+4>>2]|0;C=ks(U|0,j|0,o[C>>2]|0,o[C+4>>2]|0)|0;M=ks(C|0,I|0,k|0,M|0)|0;M=ks(M|0,I|0,a&(t^u)^u|0,f&(c^l)^l|0)|0;T=ks(M|0,I|0,(S|D)^(B|P)^(N|R)|0,T|0)|0;R=I;N=xs(m|0,g|0,28)|0;P=I;B=Cs(m|0,g|0,36)|0;P=P|I;D=xs(m|0,g|0,34)|0;S=I;M=Cs(m|0,g|0,30)|0;S=P^(S|I);P=xs(m|0,g|0,39)|0;k=I;C=Cs(m|0,g|0,25)|0;k=ks((N|B)^(D|M)^(P|C)|0,S^(k|I)|0,(m|y)&_|m&y|0,(g|b)&v|g&b|0)|0;S=I;r=ks(T|0,R|0,x|0,O|0)|0;i=I;d=ks(k|0,S|0,T|0,R|0)|0;p=I;n=n+8|0}while(n>>>0<80);Y=w;Y=ks(d|0,p|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;X=w;o[X>>2]=Y;o[X+4>>2]=I;X=e+16|0;Y=X;Y=ks(m|0,g|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+24|0;Y=X;Y=ks(y|0,b|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+32|0;Y=X;Y=ks(_|0,v|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+40|0;Y=X;Y=ks(r|0,i|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+48|0;Y=X;Y=ks(a|0,f|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+56|0;Y=X;Y=ks(t|0,c|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+64|0;Y=X;Y=ks(u|0,l|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;h=E;return}function gi(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,a=0;if((e|0)==0|(t|0)==0){s=1;return s|0}s=e+72|0;n=o[s>>2]|0;if(n>>>0>127){s=1;return s|0}a=Cs(n|0,0,3)|0;i=e;a=ks(o[i>>2]|0,o[i+4>>2]|0,a|0,I|0)|0;i=e;o[i>>2]=a;o[i+4>>2]=I;i=e+76|0;o[s>>2]=n+1;r[e+76+n>>0]=-128;n=o[s>>2]|0;if(n>>>0>112){if(n>>>0<128)do{o[s>>2]=n+1;r[e+76+n>>0]=0;n=o[s>>2]|0}while(n>>>0<128);mi(e,i);o[s>>2]=0;n=0}do{o[s>>2]=n+1;r[e+76+n>>0]=0;n=o[s>>2]|0}while(n>>>0<120);s=e;a=o[s>>2]|0;s=o[s+4>>2]|0;n=xs(a|0,s|0,56)|0;r[e+196>>0]=n;n=xs(a|0,s|0,48)|0;r[e+197>>0]=n;n=xs(a|0,s|0,40)|0;r[e+198>>0]=n;r[e+199>>0]=s;n=xs(a|0,s|0,24)|0;r[e+200>>0]=n;n=xs(a|0,s|0,16)|0;r[e+201>>0]=n;s=xs(a|0,s|0,8)|0;r[e+202>>0]=s;r[e+203>>0]=a;mi(e,i);a=e+8|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+1>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+2>>0]=s;r[t+3>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+4>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+5>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+6>>0]=s;r[t+7>>0]=o[a>>2];a=e+16|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+8>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+9>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+10>>0]=s;r[t+11>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+12>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+13>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+14>>0]=s;r[t+15>>0]=o[a>>2];a=e+24|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+16>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+17>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+18>>0]=s;r[t+19>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+20>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+21>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+22>>0]=s;r[t+23>>0]=o[a>>2];a=e+32|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+24>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+25>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+26>>0]=s;r[t+27>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+28>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+29>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+30>>0]=s;r[t+31>>0]=o[a>>2];a=e+40|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+32>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+33>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+34>>0]=s;r[t+35>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+36>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+37>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+38>>0]=s;r[t+39>>0]=o[a>>2];a=e+48|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+40>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+41>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+42>>0]=s;r[t+43>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+44>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+45>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+46>>0]=s;r[t+47>>0]=o[a>>2];a=e+56|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+48>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+49>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+50>>0]=s;r[t+51>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+52>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+53>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+54>>0]=s;r[t+55>>0]=o[a>>2];a=e+64|0;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+56>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+57>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+58>>0]=s;r[t+59>>0]=o[a+4>>2];s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+60>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+61>>0]=s;s=a;s=xs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+62>>0]=s;r[t+63>>0]=o[a>>2];a=0;return a|0}function yi(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0;k=h;h=h+768|0;y=k+240|0;b=k+192|0;_=k+144|0;A=k+96|0;w=k+32|0;E=k;d=k+272|0;p=k+600|0;m=k+480|0;if((s[e+63>>0]|0)>31){E=0;h=k;return E|0}if(ui(p,i)|0){E=0;h=k;return E|0}g=d+72|0;o[g>>2]=0;v=d;o[v>>2]=0;o[v+4>>2]=0;v=d+8|0;o[v>>2]=-205731576;o[v+4>>2]=1779033703;v=d+16|0;o[v>>2]=-2067093701;o[v+4>>2]=-1150833019;v=d+24|0;o[v>>2]=-23791573;o[v+4>>2]=1013904242;v=d+32|0;o[v>>2]=1595750129;o[v+4>>2]=-1521486534;v=d+40|0;o[v>>2]=-1377402159;o[v+4>>2]=1359893119;v=d+48|0;o[v>>2]=725511199;o[v+4>>2]=-1694144372;v=d+56|0;o[v>>2]=-79577749;o[v+4>>2]=528734635;v=d+64|0;o[v>>2]=327033209;o[v+4>>2]=1541459225;v=d+76|0;r[d+76>>0]=r[e>>0]|0;r[d+77>>0]=r[e+1>>0]|0;r[d+78>>0]=r[e+2>>0]|0;r[d+79>>0]=r[e+3>>0]|0;r[d+80>>0]=r[e+4>>0]|0;r[d+81>>0]=r[e+5>>0]|0;r[d+82>>0]=r[e+6>>0]|0;r[d+83>>0]=r[e+7>>0]|0;r[d+84>>0]=r[e+8>>0]|0;r[d+85>>0]=r[e+9>>0]|0;r[d+86>>0]=r[e+10>>0]|0;r[d+87>>0]=r[e+11>>0]|0;r[d+88>>0]=r[e+12>>0]|0;r[d+89>>0]=r[e+13>>0]|0;r[d+90>>0]=r[e+14>>0]|0;r[d+91>>0]=r[e+15>>0]|0;r[d+92>>0]=r[e+16>>0]|0;r[d+93>>0]=r[e+17>>0]|0;r[d+94>>0]=r[e+18>>0]|0;r[d+95>>0]=r[e+19>>0]|0;r[d+96>>0]=r[e+20>>0]|0;r[d+97>>0]=r[e+21>>0]|0;r[d+98>>0]=r[e+22>>0]|0;r[d+99>>0]=r[e+23>>0]|0;r[d+100>>0]=r[e+24>>0]|0;r[d+101>>0]=r[e+25>>0]|0;r[d+102>>0]=r[e+26>>0]|0;r[d+103>>0]=r[e+27>>0]|0;r[d+104>>0]=r[e+28>>0]|0;r[d+105>>0]=r[e+29>>0]|0;r[d+106>>0]=r[e+30>>0]|0;r[d+107>>0]=r[e+31>>0]|0;o[g>>2]=32;e:do{if(i|0?(f=o[g>>2]|0,f>>>0<=128):0){a=32;while(1){if(!((f|0)==0&a>>>0>127)){l=128-f|0;l=a>>>0>>0?a:l;if(l|0){u=0;do{r[u+f+(d+76)>>0]=r[i+u>>0]|0;u=u+1|0}while(u>>>0>>0)}u=f+l|0;o[g>>2]=u;i=i+l|0;a=a-l|0;if((u|0)==128){mi(d,v);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;o[g>>2]=0}}else{mi(d,i);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;a=a+-128|0;i=i+128|0}if(!a)break e;f=o[g>>2]|0}}}while(0);e:do{if(t|0?(c=o[g>>2]|0,!((n|0)==0|c>>>0>128)):0)while(1){if(!((c|0)==0&n>>>0>127)){i=128-c|0;i=n>>>0>>0?n:i;if(i|0){a=0;do{r[a+c+(d+76)>>0]=r[t+a>>0]|0;a=a+1|0}while(a>>>0>>0)}l=c+i|0;o[g>>2]=l;t=t+i|0;n=n-i|0;if((l|0)==128){mi(d,v);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;o[g>>2]=0}}else{mi(d,t);u=d;u=ks(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;n=n+-128|0;t=t+128|0}if(!n)break e;c=o[g>>2]|0}}while(0);gi(d,w)|0;ei(w);ri(m,w,p,e+32|0);Wr(b,m+80|0);Xr(_,m,b);Xr(A,m+40|0,b);Jr(E,A);Jr(y,_);A=E+31|0;w=r[A>>0]^r[y>>0]<<7&255;r[A>>0]=w;E=(r[e+1>>0]^r[E+1>>0]|r[e>>0]^r[E>>0]|r[e+2>>0]^r[E+2>>0]|r[e+3>>0]^r[E+3>>0]|r[e+4>>0]^r[E+4>>0]|r[e+5>>0]^r[E+5>>0]|r[e+6>>0]^r[E+6>>0]|r[e+7>>0]^r[E+7>>0]|r[e+8>>0]^r[E+8>>0]|r[e+9>>0]^r[E+9>>0]|r[e+10>>0]^r[E+10>>0]|r[e+11>>0]^r[E+11>>0]|r[e+12>>0]^r[E+12>>0]|r[e+13>>0]^r[E+13>>0]|r[e+14>>0]^r[E+14>>0]|r[e+15>>0]^r[E+15>>0]|r[e+16>>0]^r[E+16>>0]|r[e+17>>0]^r[E+17>>0]|r[e+18>>0]^r[E+18>>0]|r[e+19>>0]^r[E+19>>0]|r[e+20>>0]^r[E+20>>0]|r[e+21>>0]^r[E+21>>0]|r[e+22>>0]^r[E+22>>0]|r[e+23>>0]^r[E+23>>0]|r[e+24>>0]^r[E+24>>0]|r[e+25>>0]^r[E+25>>0]|r[e+26>>0]^r[E+26>>0]|r[e+27>>0]^r[E+27>>0]|r[e+28>>0]^r[E+28>>0]|r[e+29>>0]^r[E+29>>0]|r[e+30>>0]^r[E+30>>0]|r[e+31>>0]^w)<<24>>24==0&1;h=k;return E|0}function bi(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0;D=h;h=h+672|0;w=D+272|0;k=D+224|0;S=D+176|0;T=D+128|0;M=D+304|0;O=D+64|0;x=D;p=D+512|0;C=M+72|0;o[C>>2]=0;m=M;o[m>>2]=0;o[m+4>>2]=0;m=M+8|0;g=m;o[g>>2]=-205731576;o[g+4>>2]=1779033703;g=M+16|0;y=g;o[y>>2]=-2067093701;o[y+4>>2]=-1150833019;y=M+24|0;b=y;o[b>>2]=-23791573;o[b+4>>2]=1013904242;b=M+32|0;_=b;o[_>>2]=1595750129;o[_+4>>2]=-1521486534;_=M+40|0;v=_;o[v>>2]=-1377402159;o[v+4>>2]=1359893119;v=M+48|0;A=v;o[A>>2]=725511199;o[A+4>>2]=-1694144372;A=M+56|0;E=A;o[E>>2]=-79577749;o[E+4>>2]=528734635;E=M+64|0;P=E;o[P>>2]=327033209;o[P+4>>2]=1541459225;P=M+76|0;r[M+76>>0]=r[s+32>>0]|0;r[M+77>>0]=r[s+33>>0]|0;r[M+78>>0]=r[s+34>>0]|0;r[M+79>>0]=r[s+35>>0]|0;r[M+80>>0]=r[s+36>>0]|0;r[M+81>>0]=r[s+37>>0]|0;r[M+82>>0]=r[s+38>>0]|0;r[M+83>>0]=r[s+39>>0]|0;r[M+84>>0]=r[s+40>>0]|0;r[M+85>>0]=r[s+41>>0]|0;r[M+86>>0]=r[s+42>>0]|0;r[M+87>>0]=r[s+43>>0]|0;r[M+88>>0]=r[s+44>>0]|0;r[M+89>>0]=r[s+45>>0]|0;r[M+90>>0]=r[s+46>>0]|0;r[M+91>>0]=r[s+47>>0]|0;r[M+92>>0]=r[s+48>>0]|0;r[M+93>>0]=r[s+49>>0]|0;r[M+94>>0]=r[s+50>>0]|0;r[M+95>>0]=r[s+51>>0]|0;r[M+96>>0]=r[s+52>>0]|0;r[M+97>>0]=r[s+53>>0]|0;r[M+98>>0]=r[s+54>>0]|0;r[M+99>>0]=r[s+55>>0]|0;r[M+100>>0]=r[s+56>>0]|0;r[M+101>>0]=r[s+57>>0]|0;r[M+102>>0]=r[s+58>>0]|0;r[M+103>>0]=r[s+59>>0]|0;r[M+104>>0]=r[s+60>>0]|0;r[M+105>>0]=r[s+61>>0]|0;r[M+106>>0]=r[s+62>>0]|0;r[M+107>>0]=r[s+63>>0]|0;o[C>>2]=32;R=(t|0)==0;e:do{if(!R?(u=o[C>>2]|0,!((n|0)==0|u>>>0>128)):0){a=n;c=t;while(1){if(!((u|0)==0&a>>>0>127)){d=128-u|0;d=a>>>0>>0?a:d;if(d|0){l=0;do{r[l+u+(M+76)>>0]=r[c+l>>0]|0;l=l+1|0}while(l>>>0>>0)}l=u+d|0;o[C>>2]=l;c=c+d|0;a=a-d|0;if((l|0)==128){mi(M,P);l=M;l=ks(o[l>>2]|0,o[l+4>>2]|0,1024,0)|0;d=M;o[d>>2]=l;o[d+4>>2]=I;o[C>>2]=0}}else{mi(M,c);l=M;l=ks(o[l>>2]|0,o[l+4>>2]|0,1024,0)|0;d=M;o[d>>2]=l;o[d+4>>2]=I;a=a+-128|0;c=c+128|0}if(!a)break e;u=o[C>>2]|0}}}while(0);gi(M,x)|0;ei(x);li(p,x);Wr(k,p+80|0);Xr(S,p,k);Xr(T,p+40|0,k);Jr(e,T);Jr(w,S);T=e+31|0;r[T>>0]=r[T>>0]^r[w>>0]<<7&255;o[C>>2]=0;T=M;o[T>>2]=0;o[T+4>>2]=0;T=m;o[T>>2]=-205731576;o[T+4>>2]=1779033703;T=g;o[T>>2]=-2067093701;o[T+4>>2]=-1150833019;T=y;o[T>>2]=-23791573;o[T+4>>2]=1013904242;T=b;o[T>>2]=1595750129;o[T+4>>2]=-1521486534;T=_;o[T>>2]=-1377402159;o[T+4>>2]=1359893119;T=v;o[T>>2]=725511199;o[T+4>>2]=-1694144372;T=A;o[T>>2]=-79577749;o[T+4>>2]=528734635;T=E;o[T>>2]=327033209;o[T+4>>2]=1541459225;if(e|0){r[M+76>>0]=r[e>>0]|0;r[M+77>>0]=r[e+1>>0]|0;r[M+78>>0]=r[e+2>>0]|0;r[M+79>>0]=r[e+3>>0]|0;r[M+80>>0]=r[e+4>>0]|0;r[M+81>>0]=r[e+5>>0]|0;r[M+82>>0]=r[e+6>>0]|0;r[M+83>>0]=r[e+7>>0]|0;r[M+84>>0]=r[e+8>>0]|0;r[M+85>>0]=r[e+9>>0]|0;r[M+86>>0]=r[e+10>>0]|0;r[M+87>>0]=r[e+11>>0]|0;r[M+88>>0]=r[e+12>>0]|0;r[M+89>>0]=r[e+13>>0]|0;r[M+90>>0]=r[e+14>>0]|0;r[M+91>>0]=r[e+15>>0]|0;r[M+92>>0]=r[e+16>>0]|0;r[M+93>>0]=r[e+17>>0]|0;r[M+94>>0]=r[e+18>>0]|0;r[M+95>>0]=r[e+19>>0]|0;r[M+96>>0]=r[e+20>>0]|0;r[M+97>>0]=r[e+21>>0]|0;r[M+98>>0]=r[e+22>>0]|0;r[M+99>>0]=r[e+23>>0]|0;r[M+100>>0]=r[e+24>>0]|0;r[M+101>>0]=r[e+25>>0]|0;r[M+102>>0]=r[e+26>>0]|0;r[M+103>>0]=r[e+27>>0]|0;r[M+104>>0]=r[e+28>>0]|0;r[M+105>>0]=r[e+29>>0]|0;r[M+106>>0]=r[e+30>>0]|0;r[M+107>>0]=r[e+31>>0]|0;o[C>>2]=32}e:do{if(i|0?(f=o[C>>2]|0,f>>>0<=128):0){a=32;while(1){if(!((f|0)==0&a>>>0>127)){u=128-f|0;u=a>>>0>>0?a:u;if(u|0){c=0;do{r[c+f+(M+76)>>0]=r[i+c>>0]|0;c=c+1|0}while(c>>>0>>0)}T=f+u|0;o[C>>2]=T;i=i+u|0;a=a-u|0;if((T|0)==128){mi(M,P);S=M;S=ks(o[S>>2]|0,o[S+4>>2]|0,1024,0)|0;T=M;o[T>>2]=S;o[T+4>>2]=I;o[C>>2]=0}}else{mi(M,i);S=M;S=ks(o[S>>2]|0,o[S+4>>2]|0,1024,0)|0;T=M;o[T>>2]=S;o[T+4>>2]=I;a=a+-128|0;i=i+128|0}if(!a)break e;f=o[C>>2]|0}}}while(0);if(R){gi(M,O)|0;ei(O);M=e+32|0;ti(M,O,s,x);h=D;return}a=o[C>>2]|0;if((n|0)==0|a>>>0>128){gi(M,O)|0;ei(O);M=e+32|0;ti(M,O,s,x);h=D;return}i=a;while(1){if(!((i|0)==0&n>>>0>127)){c=128-i|0;c=n>>>0>>0?n:c;if(c|0){a=0;do{r[a+i+(M+76)>>0]=r[t+a>>0]|0;a=a+1|0}while(a>>>0>>0)}R=i+c|0;o[C>>2]=R;t=t+c|0;n=n-c|0;if((R|0)==128){mi(M,P);T=M;T=ks(o[T>>2]|0,o[T+4>>2]|0,1024,0)|0;R=M;o[R>>2]=T;o[R+4>>2]=I;o[C>>2]=0}}else{mi(M,t);T=M;T=ks(o[T>>2]|0,o[T+4>>2]|0,1024,0)|0;R=M;o[R>>2]=T;o[R+4>>2]=I;n=n+-128|0;t=t+128|0}if(!n)break;i=o[C>>2]|0}gi(M,O)|0;ei(O);M=e+32|0;ti(M,O,s,x);h=D;return}function _i(e,t,n){e=e|0;t=t|0;n=n|0;o[e+128>>2]=n;n=t;t=e+128|0;do{r[e>>0]=r[n>>0]|0;e=e+1|0;n=n+1|0}while((e|0)<(t|0));return}function vi(e){e=e|0;return 132}function Ai(e,t){e=e|0;t=t|0;t=Fe(t,e,128)|0;return Ne(t,o[e+128>>2]|0)|0}function wi(e,t,n){e=e|0;t=t|0;n=n|0;return je(qe(t,n,e,128)|0,n,e+128|0)|0}function Ei(e){e=e|0;var t=0,n=0,r=0,i=0;r=e+128|0;i=(o[r>>2]|0)+1|0;o[r>>2]=i;if(i&16777215){n=0;r=16777215;while(1){t=n+1|0;r=r>>>8;if(n>>>0>2|(r&i|0)==0)break;else n=t}if(n>>>0>2)return}else t=0;r=e+(t<<5)|0;n=3;while(1){Et(r,32,38116+n|0,1,e+(n<<5)|0);if((n|0)>(t|0))n=n+-1|0;else break}return}function ki(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0;s=e+128|0;n=o[s>>2]|0;r=(t>>>24)-(n>>>24)|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=3}break}case 1:{i=5;break}default:{n=r&255;i=3}}if((i|0)==3){do{Et(e,32,38116,1,e);n=n+-1|0}while(n>>>0>1);i=5}if((i|0)==5){Et(e,32,38119,1,e+96|0);Et(e,32,38118,1,e+64|0);Et(e,32,38117,1,e+32|0);Et(e,32,38116,1,e);n=t&-16777216;o[s>>2]=n}r=(t>>>16)-(n>>>16)|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=8}break}case 1:{i=10;break}default:{n=r&255;i=8}}if((i|0)==8){r=e+32|0;do{Et(r,32,38117,1,r);n=n+-1|0}while(n>>>0>1);i=10}if((i|0)==10){n=e+32|0;Et(n,32,38119,1,e+96|0);Et(n,32,38118,1,e+64|0);Et(n,32,38117,1,e+32|0);n=t&-65536;o[s>>2]=n}r=(t>>>8)-(n>>>8)|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=13}break}case 1:{i=15;break}default:{n=r&255;i=13}}if((i|0)==13){r=e+64|0;do{Et(r,32,38118,1,r);n=n+-1|0}while(n>>>0>1);i=15}if((i|0)==15){n=e+64|0;Et(n,32,38119,1,e+96|0);Et(n,32,38118,1,e+64|0);n=t&-256;o[s>>2]=n}r=t-n|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=18}else return;break}case 1:break;default:{n=r&255;i=18}}if((i|0)==18){r=e+96|0;do{Et(r,32,38119,1,r);n=n+-1|0}while(n>>>0>1)}Et(e+96|0,32,38119,1,e+96|0);o[s>>2]=t;return}function Si(e){e=e|0;if(e>>>0>=16){e=38120;return e|0}e=o[32704+(e<<2)>>2]|0;return e|0}function Ii(e){e=e|0;e=Hs[o[37564>>2]&3](37592,e)|0;return pe((Gs[o[9390]&1](37592)|0)+e|0)|0}function Ti(e,t){e=e|0;t=t|0;t=Hs[o[37564>>2]&3](37592,t)|0;t=(Gs[o[9390]&1](37592)|0)+t|0;return e+(pe(t)|0)+(0-t)|0}function Ri(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,c=0;c=Hs[o[37564>>2]&3](37592,r)|0;s=(Gs[o[9390]&1](37592)|0)+c|0;i=pe(s)|0;a=n+i+(0-s)|0;Qs[o[37568>>2]&3](37592,e,t,a,r,a,c,a,s)|0;me(a,s,n)|0;return i|0}function Oi(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=ge(r)|0;if((s|0)==-1){if(!i){i=-1;return i|0}o[i>>2]=7;i=-1;return i|0}else{ye(n,r,n)|0;r=s-(Gs[o[9390]&1](37592)|0)|0;e=Qs[o[37576>>2]&3](37592,e,t,n,s,n,r,n,r)|0;if(!((i|0)!=0&(e|0)==-1)){i=e;return i|0}o[i>>2]=8;i=-1;return i|0}return 0}function xi(){return 304}function Ci(e){e=e|0;Gr(e,304);return e|0}function Pi(e){e=e|0;Gr(e,304);return 304}function Mi(e){e=e|0;return Si(o[e+300>>2]|0)|0}function Di(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,c=0,f=0;f=h;h=h+240|0;c=f;switch(ge(n)|0){case-1:{o[e+300>>2]=7;c=-1;h=f;return c|0}case 229:{ye(t,n,c)|0;do{if((r[c>>0]|0)==2){t=((s[c+1>>0]<<8|s[c+2>>0])<<8|s[c+3>>0])<<8|s[c+4>>0];n=c+5|0;_i(e,n,t);_i(e+132|0,n,t);t=e+264|0;n=t;i=c+133|0;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));if(!(bt(t,c,165,c+165|0)|0)){o[e+300>>2]=14;t=-1;break}else{o[e+296>>2]=1;t=0;break}}else{o[e+300>>2]=11;t=-1}}while(0);Gr(c,229);c=t;h=f;return c|0}default:{o[e+300>>2]=11;c=-1;h=f;return c|0}}return 0}function Bi(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0;a=h;h=h+176|0;i=a;switch(ge(n)|0){case-1:{o[e+300>>2]=7;i=-1;h=a;return i|0}case 165:{ye(t,n,i)|0;if((r[i>>0]|0)==1){t=((s[i+1>>0]<<8|s[i+2>>0])<<8|s[i+3>>0])<<8|s[i+4>>0];n=i+5|0;_i(e,n,t);_i(e+132|0,n,t);e=e+264|0;t=i+133|0;n=e+32|0;do{r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0}while((e|0)<(n|0));e=0}else{o[e+300>>2]=11;e=-1}Gr(i,165);i=e;h=a;return i|0}default:{o[e+300>>2]=11;i=-1;h=a;return i|0}}return 0}function Ni(e){e=e|0;var t=0,n=0;n=vi(e)|0;t=vi(e+132|0)|0;return Ii(n+5+t+(xe(e+264|0)|0)|0)|0}function ji(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0;f=vi(e)|0;a=e+132|0;s=vi(a)|0;c=e+264|0;s=f+5+s+(xe(c)|0)|0;if((Ii(s)|0)>>>0>i>>>0){o[e+300>>2]=2;f=-1;return f|0}else{f=Ce(Ai(a,Ai(e,Ne(Ti(r,s)|0,2)|0)|0)|0,c)|0;Ue(f,o[e+296>>2]|0)|0;f=Ri(t,n,r,s)|0;return f|0}return 0}function Ui(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0;f=h;h=h+16|0;a=f;c=e+300|0;t=Oi(t,n,r,i,c)|0;if((t|0)==-1){c=-1;h=f;return c|0}s=r+t|0;t=je(r,s,a)|0;if(((o[a>>2]|0)+-1|0)>>>0>1){o[c>>2]=9;c=-1;h=f;return c|0}t=Pe(wi(e+132|0,wi(e,t,s)|0,s)|0,s,e+264|0)|0;n=e+296|0;if((o[a>>2]|0)==1)o[n>>2]=1;else t=Le(t,s,n)|0;if((s|0)==(t|0)){c=i;h=f;return c|0}o[c>>2]=10;c=-1;h=f;return c|0}function Li(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0;s=h;h=h+32|0;i=s;n=ye(t,n,t)|0;if((n|0)==-1){o[e+300>>2]=7;i=-1;h=s;return i|0}Xe(t,n,Gs[o[o[9395]>>2]&1](37580)|0,64,i);do{if((r[i>>0]|0)==3)if(!(o[i+12>>2]|0)){o[e+300>>2]=4;n=-1;break}else{n=Hs[o[(o[9395]|0)+12>>2]&3](37580,o[i+16>>2]|0)|0;break}else{o[e+300>>2]=3;n=-1}}while(0);i=n;h=s;return i|0}function Fi(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var c=0,f=0,u=0,l=0,d=0,p=0;p=h;h=h+160|0;u=p+132|0;d=p;n=ye(t,n,t)|0;if((n|0)==-1){o[e+300>>2]=7;d=-1;h=p;return d|0}Xe(t,n,Gs[o[o[9395]>>2]&1](37580)|0,64,u);e:do{if((r[u>>0]|0)==3){if(o[u+8>>2]|0?(l=u+12|0,o[l>>2]|0):0){if(a|0)o[a>>2]=o[u+4>>2];c=n+-64|0;if(!(bt(e+264|0,t,c,t+c|0)|0)){o[e+300>>2]=14;n=-1;break}f=u+16|0;if((Hs[o[(o[9395]|0)+12>>2]&3](37580,o[f>>2]|0)|0)>>>0>s>>>0){o[e+300>>2]=2;n=-1;break}n=o[u+4>>2]|0;a=e+132|0;do{if((n-(o[e+260>>2]|0)|0)<=-1)if((n-(o[e+128>>2]|0)|0)<0){o[e+300>>2]=12;n=-1;break e}else{Ms(d|0,e|0,132)|0;ki(d,n);break}else{ki(a,n);Ms(d|0,a|0,132)|0}}while(0);n=Qs[o[(o[9395]|0)+16>>2]&3](37580,d,128,t,c,o[l>>2]|0,o[f>>2]|0,i,s)|0;Gr(d,132);if((n|0)==-1){o[e+300>>2]=5;n=-1;break}else{o[e+296>>2]=1;break}}o[e+300>>2]=4;n=-1}else{o[e+300>>2]=3;n=-1}}while(0);d=n;h=p;return d|0}function qi(e){e=e|0;return pe(32)|0}function Ki(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e+300>>2]=2;n=-1;return n|0}else{n=me(e+264|0,32,t)|0;return n|0}return 0}function zi(e){e=e|0;return o[e+128>>2]|0}function Gi(e){e=e|0;return o[e+296>>2]|0}function Hi(e){e=e|0;return pe(165)|0}function Vi(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0;u=h;h=h+144|0;f=u;s=pe(165)|0;if(s>>>0>n>>>0){o[e+300>>2]=2;t=-1;h=u;return t|0}n=e+132|0;do{if((i-(o[e+260>>2]|0)|0)>-1){ki(n,i);Ms(f|0,n|0,132)|0}else{if((i-(o[e+128>>2]|0)|0)>=0){Ms(f|0,e|0,132)|0;ki(f,i);break}o[e+300>>2]=12;t=-1;h=u;return t|0}}while(0);c=t+s+-165|0;r[c>>0]=1;a=c+1|0;r[a>>0]=i>>>24;a=a+1|0;r[a>>0]=i>>>16;a=a+1|0;r[a>>0]=i>>>8;r[a+1>>0]=i;a=t+(s+-161)|0;s=t+(s+-160)|0;n=f;i=s+128|0;do{r[s>>0]=r[n>>0]|0;s=s+1|0;n=n+1|0}while((s|0)<(i|0));s=a+129|0;n=e+264|0;i=s+32|0;do{r[s>>0]=r[n>>0]|0;s=s+1|0;n=n+1|0}while((s|0)<(i|0));t=me(c,165,t)|0;h=u;return t|0}function Qi(e){e=e|0;return Si(o[e>>2]|0)|0}function Wi(){return 100}function Yi(e){e=e|0;Gr(e,100);return e|0}function Xi(e){e=e|0;Gr(e,100);return 100}function Ji(e){e=e|0;return 32}function Zi(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<32){o[e>>2]=1;n=-1;return n|0}else{pt(t,e+4|0);n=0;return n|0}return 0}function $i(e){e=e|0;return pe(32)|0}function eo(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e>>2]=2;n=-1;return n|0}else{me(e+4|0,32,t)|0;n=0;return n|0}return 0}function to(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e>>2]=15;n=-1;return n|0}else{ye(t,n,t)|0;mt(e+4|0,t,e+68|0);n=0;return n|0}return 0}function no(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;It(e+68|0,32,0,0,t,n,r,i);return 0}function ro(e){e=e|0;return pe(32)|0}function io(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;f=h;h=h+32|0;c=f;if((pe(32)|0)>>>0>a>>>0){o[e>>2]=2;c=-1;h=f;return c|0}else{It(e+68|0,32,0,0,r,i,c,32);Et(c,32,t,n,s);me(s,32,s)|0;c=0;h=f;return c|0}return 0}function oo(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var c=0,f=0;f=h;h=h+256|0;c=f;if((pe(32)|0)>>>0>a>>>0){o[e>>2]=2;c=-1;h=f;return c|0}else{It(e+68|0,32,0,0,r,i,c,256);Et(c,256,t,n,s);me(s,32,s)|0;c=0;h=f;return c|0}return 0}function so(){return 232}function ao(e){e=e|0;Gr(e,232);return e|0}function co(e){e=e|0;Gr(e,232);return 232}function fo(e){e=e|0;return Si(o[e+228>>2]|0)|0}function uo(e){e=e|0;var t=0;t=(vi(e)|0)+4|0;return Ii(t+(Me(e+132|0)|0)|0)|0}function lo(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;a=(vi(e)|0)+4|0;s=e+132|0;a=a+(Me(s)|0)|0;if((Ii(a)|0)>>>0>i>>>0){o[e+228>>2]=2;a=-1;return a|0}else{De(Ai(e,Ne(Ti(r,a)|0,1)|0)|0,s)|0;a=Ri(t,n,r,a)|0;return a|0}return 0}function ho(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0;c=h;h=h+16|0;s=c;a=e+228|0;t=Oi(t,n,r,i,a)|0;do{if((t|0)!=-1){n=r+t|0;t=je(r,n,s)|0;if((o[s>>2]|0)!=1){o[a>>2]=9;i=-1;break}if((n|0)!=(Be(wi(e,t,n)|0,n,e+132|0)|0)){o[a>>2]=10;i=-1}}else i=-1}while(0);h=c;return i|0}function po(e){e=e|0;return 160}function mo(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<160){o[e+228>>2]=1;n=-1;return n|0}else{_i(e,t,0);gt(t+128|0,e+132|0);Gr(t,n);n=0;return n|0}return 0}function go(e,t){e=e|0;t=t|0;var n=0;n=Hs[o[(o[9395]|0)+4>>2]&3](37580,t)|0;t=Gs[o[o[9395]>>2]&1](37580)|0;return pe(We(o[e+128>>2]|0,n,t,64)|0)|0}function yo(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0;u=h;h=h+16|0;f=u;a=Hs[o[(o[9395]|0)+4>>2]&3](37580,n)|0;c=Gs[o[o[9395]>>2]&1](37580)|0;s=e+128|0;c=We(o[s>>2]|0,a,c,64)|0;if((pe(c)|0)>>>0>i>>>0){o[e+228>>2]=2;f=-1;h=u;return f|0}a=r+(pe(c)|0)+(0-c)|0;l=Hs[o[(o[9395]|0)+4>>2]&3](37580,n)|0;i=Gs[o[o[9395]>>2]&1](37580)|0;i=(Ye(3,o[s>>2]|0,l,a,f)|0)+i|0;if((Qs[o[(o[9395]|0)+8>>2]&3](37580,e,128,t,n,o[f>>2]|0,l,a,i)|0)==-1){l=-1;h=u;return l|0}else{Ei(e);yt(e+132|0,a,i,a+i|0);l=me(a,c,r)|0;h=u;return l|0}return 0}function bo(e){e=e|0;return pe(32)|0}function _o(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e+228>>2]=2;n=-1;return n|0}else{n=me(e+132|0,32,t)|0;return n|0}return 0}function vo(e){e=e|0;return o[e+128>>2]|0}function Ao(e){e=e|0;return pe(229)|0}function wo(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0;i=pe(229)|0;if(i>>>0>n>>>0){o[e+228>>2]=2;t=-1;return t|0}else{c=t+i+-229|0;r[c>>0]=2;s=o[e+128>>2]|0;f=c+1|0;r[f>>0]=s>>>24;f=f+1|0;r[f>>0]=s>>>16;f=f+1|0;r[f>>0]=s>>>8;r[f+1>>0]=s;f=t+(i+-225)|0;i=t+(i+-224)|0;s=e;a=i+128|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));n=e+132|0;i=f+129|0;s=n;a=i+32|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));f=f+161|0;yt(n,c,f-c|0,f);t=me(c,229,t)|0;return t|0}return 0}function Eo(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0;O=h;h=h+256|0;R=O;o[R>>2]=(s[t+1>>0]|0)<<16|(s[t>>0]|0)<<24|(s[t+2>>0]|0)<<8|(s[t+3>>0]|0);o[R+4>>2]=(s[t+5>>0]|0)<<16|(s[t+4>>0]|0)<<24|(s[t+6>>0]|0)<<8|(s[t+7>>0]|0);o[R+8>>2]=(s[t+9>>0]|0)<<16|(s[t+8>>0]|0)<<24|(s[t+10>>0]|0)<<8|(s[t+11>>0]|0);o[R+12>>2]=(s[t+13>>0]|0)<<16|(s[t+12>>0]|0)<<24|(s[t+14>>0]|0)<<8|(s[t+15>>0]|0);o[R+16>>2]=(s[t+17>>0]|0)<<16|(s[t+16>>0]|0)<<24|(s[t+18>>0]|0)<<8|(s[t+19>>0]|0);o[R+20>>2]=(s[t+21>>0]|0)<<16|(s[t+20>>0]|0)<<24|(s[t+22>>0]|0)<<8|(s[t+23>>0]|0);o[R+24>>2]=(s[t+25>>0]|0)<<16|(s[t+24>>0]|0)<<24|(s[t+26>>0]|0)<<8|(s[t+27>>0]|0);o[R+28>>2]=(s[t+29>>0]|0)<<16|(s[t+28>>0]|0)<<24|(s[t+30>>0]|0)<<8|(s[t+31>>0]|0);o[R+32>>2]=(s[t+33>>0]|0)<<16|(s[t+32>>0]|0)<<24|(s[t+34>>0]|0)<<8|(s[t+35>>0]|0);o[R+36>>2]=(s[t+37>>0]|0)<<16|(s[t+36>>0]|0)<<24|(s[t+38>>0]|0)<<8|(s[t+39>>0]|0);o[R+40>>2]=(s[t+41>>0]|0)<<16|(s[t+40>>0]|0)<<24|(s[t+42>>0]|0)<<8|(s[t+43>>0]|0);o[R+44>>2]=(s[t+45>>0]|0)<<16|(s[t+44>>0]|0)<<24|(s[t+46>>0]|0)<<8|(s[t+47>>0]|0);o[R+48>>2]=(s[t+49>>0]|0)<<16|(s[t+48>>0]|0)<<24|(s[t+50>>0]|0)<<8|(s[t+51>>0]|0);o[R+52>>2]=(s[t+53>>0]|0)<<16|(s[t+52>>0]|0)<<24|(s[t+54>>0]|0)<<8|(s[t+55>>0]|0);o[R+56>>2]=(s[t+57>>0]|0)<<16|(s[t+56>>0]|0)<<24|(s[t+58>>0]|0)<<8|(s[t+59>>0]|0);o[R+60>>2]=(s[t+61>>0]|0)<<16|(s[t+60>>0]|0)<<24|(s[t+62>>0]|0)<<8|(s[t+63>>0]|0);t=16;n=o[R>>2]|0;do{T=o[R+(t+-2<<2)>>2]|0;I=n;n=o[R+(t+-15<<2)>>2]|0;o[R+(t<<2)>>2]=I+(o[R+(t+-7<<2)>>2]|0)+((T>>>19|T<<13)^T>>>10^(T>>>17|T<<15))+((n>>>18|n<<14)^n>>>3^(n>>>7|n<<25));t=t+1|0}while((t|0)!=64);p=e+80|0;m=o[p>>2]|0;g=e+84|0;y=o[g>>2]|0;b=e+88|0;_=o[b>>2]|0;v=e+92|0;A=o[v>>2]|0;w=e+96|0;E=o[w>>2]|0;k=e+100|0;S=o[k>>2]|0;I=e+104|0;T=o[I>>2]|0;l=e+108|0;d=o[l>>2]|0;e=y;t=d;r=T;i=S;a=E;n=A;c=_;f=m;u=0;while(1){x=((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+t+(r&~a^i&a)+(o[32768+(u<<2)>>2]|0)+(o[R+(u<<2)>>2]|0)|0;t=x+n|0;n=((f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10))+(f&(e^c)^e&c)+x|0;u=u+1|0;if((u|0)==64)break;else{D=c;M=a;P=i;C=r;x=f;a=t;f=n;c=e;n=D;i=M;r=P;t=C;e=x}}o[p>>2]=n+m;o[g>>2]=f+y;o[b>>2]=e+_;o[v>>2]=c+A;o[w>>2]=t+E;o[k>>2]=a+S;o[I>>2]=i+T;o[l>>2]=r+d;h=O;return}function ko(e){e=e|0;var t=0;o[e+64>>2]=0;t=e+72|0;o[t>>2]=0;o[t+4>>2]=0;o[e+80>>2]=1779033703;o[e+84>>2]=-1150833019;o[e+88>>2]=1013904242;o[e+92>>2]=-1521486534;o[e+96>>2]=1359893119;o[e+100>>2]=-1694144372;o[e+104>>2]=528734635;o[e+108>>2]=1541459225;return}function So(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0;if(!n)return;a=e+64|0;c=e+72|0;s=0;i=o[a>>2]|0;do{r[e+i>>0]=r[t+s>>0]|0;i=(o[a>>2]|0)+1|0;o[a>>2]=i;if((i|0)==64){Eo(e,e);f=c;f=ks(o[f>>2]|0,o[f+4>>2]|0,512,0)|0;i=c;o[i>>2]=f;o[i+4>>2]=I;o[a>>2]=0;i=0}s=s+1|0}while((s|0)!=(n|0));return}function Io(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0;s=e+64|0;n=o[s>>2]|0;i=n+1|0;r[e+n>>0]=-128;if(n>>>0<56){if(i>>>0<56)Ds(e+i|0,0,55-n|0)|0}else{if(i>>>0<64)Ds(e+i|0,0,63-n|0)|0;Eo(e,e);n=e;i=n+56|0;do{o[n>>2]=0;n=n+4|0}while((n|0)<(i|0))}f=e+72|0;u=f;u=ks(o[u>>2]|0,o[u+4>>2]|0,o[s>>2]<<3|0,0)|0;l=I;o[f>>2]=u;o[f+4>>2]=l;r[e+63>>0]=u;f=xs(u|0,l|0,8)|0;r[e+62>>0]=f;f=xs(u|0,l|0,16)|0;r[e+61>>0]=f;f=xs(u|0,l|0,24)|0;r[e+60>>0]=f;r[e+59>>0]=l;f=xs(u|0,l|0,40)|0;r[e+58>>0]=f;f=xs(u|0,l|0,48)|0;r[e+57>>0]=f;l=xs(u|0,l|0,56)|0;r[e+56>>0]=l;Eo(e,e);l=e+80|0;u=e+84|0;f=e+88|0;c=e+92|0;a=e+96|0;n=e+100|0;i=e+104|0;s=e+108|0;r[t>>0]=(o[l>>2]|0)>>>24;r[t+4>>0]=(o[u>>2]|0)>>>24;r[t+8>>0]=(o[f>>2]|0)>>>24;r[t+12>>0]=(o[c>>2]|0)>>>24;r[t+16>>0]=(o[a>>2]|0)>>>24;r[t+20>>0]=(o[n>>2]|0)>>>24;r[t+24>>0]=(o[i>>2]|0)>>>24;r[t+28>>0]=(o[s>>2]|0)>>>24;r[t+1>>0]=(o[l>>2]|0)>>>16;r[t+5>>0]=(o[u>>2]|0)>>>16;r[t+9>>0]=(o[f>>2]|0)>>>16;r[t+13>>0]=(o[c>>2]|0)>>>16;r[t+17>>0]=(o[a>>2]|0)>>>16;r[t+21>>0]=(o[n>>2]|0)>>>16;r[t+25>>0]=(o[i>>2]|0)>>>16;r[t+29>>0]=(o[s>>2]|0)>>>16;r[t+2>>0]=(o[l>>2]|0)>>>8;r[t+6>>0]=(o[u>>2]|0)>>>8;r[t+10>>0]=(o[f>>2]|0)>>>8;r[t+14>>0]=(o[c>>2]|0)>>>8;r[t+18>>0]=(o[a>>2]|0)>>>8;r[t+22>>0]=(o[n>>2]|0)>>>8;r[t+26>>0]=(o[i>>2]|0)>>>8;r[t+30>>0]=(o[s>>2]|0)>>>8;r[t+3>>0]=o[l>>2];r[t+7>>0]=o[u>>2];r[t+11>>0]=o[f>>2];r[t+15>>0]=o[c>>2];r[t+19>>0]=o[a>>2];r[t+23>>0]=o[n>>2];r[t+27>>0]=o[i>>2];r[t+31>>0]=o[s>>2];return}function To(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0;L=h;h=h+16|0;M=L;U=M+4|0;E=M+8|0;k=M+12|0;v=r[e+4>>0]|0;S=M+1|0;f=r[e+5>>0]|0;I=M+5|0;m=r[e+6>>0]|0;T=M+9|0;l=r[e+7>>0]|0;R=M+13|0;b=r[e+8>>0]|0;O=M+2|0;d=r[e+9>>0]|0;x=M+6|0;w=r[e+10>>0]|0;C=M+10|0;u=r[e+11>>0]|0;P=M+14|0;a=r[e+12>>0]|0;D=M+3|0;q=r[e+13>>0]|0;B=M+7|0;g=r[e+14>>0]|0;N=M+11|0;p=r[e+15>>0]|0;j=M+15|0;_=o[n>>2]|0;y=_>>>24^(s[e>>0]|0);A=_>>>16^(s[e+1>>0]|0);c=_>>>8^(s[e+2>>0]|0);_=_^(s[e+3>>0]|0);r[k>>0]=_;F=o[n+4>>2]|0;v=F>>>24^v&255;f=F>>>16^f&255;m=F>>>8^m&255;l=F^l&255;F=o[n+8>>2]|0;b=F>>>24^b&255;d=F>>>16^d&255;w=F>>>8^w&255;u=F^u&255;F=o[n+12>>2]|0;a=F>>>24^a&255;e=F>>>16^q&255;g=F>>>8^g&255;p=F^p&255;r[M>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[S>>0]=r[(v&15)+(33024+(v>>>4<<4))>>0]|0;r[O>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;r[D>>0]=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;r[U>>0]=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=e;r[B>>0]=A;r[E>>0]=w;r[C>>0]=c;r[T>>0]=g;r[N>>0]=m;r[k>>0]=p;r[j>>0]=u;r[P>>0]=l;r[R>>0]=_;Ro(M);_=o[n+16>>2]|0;l=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);p=_>>>8^(s[E>>0]|0);r[E>>0]=p;_=_^(s[k>>0]|0);r[k>>0]=_;m=o[n+20>>2]|0;g=m>>>24^(s[S>>0]|0);c=m>>>16^(s[I>>0]|0);w=m>>>8^(s[T>>0]|0);m=m^(s[R>>0]|0);r[R>>0]=m;A=o[n+24>>2]|0;e=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);f=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);a=o[n+28>>2]|0;b=a>>>24^(s[D>>0]|0);v=a>>>16^(s[B>>0]|0);y=a>>>8^(s[N>>0]|0);a=a^(s[j>>0]|0);r[M>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;r[S>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;r[O>>0]=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;r[D>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;r[U>>0]=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=v;r[B>>0]=u;r[E>>0]=f;r[C>>0]=p;r[T>>0]=y;r[N>>0]=w;r[k>>0]=a;r[j>>0]=A;r[P>>0]=m;r[R>>0]=_;Ro(M);_=o[n+32>>2]|0;m=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);a=_>>>8^(s[E>>0]|0);r[E>>0]=a;_=_^(s[k>>0]|0);r[k>>0]=_;w=o[n+36>>2]|0;y=w>>>24^(s[S>>0]|0);p=w>>>16^(s[I>>0]|0);f=w>>>8^(s[T>>0]|0);w=w^(s[R>>0]|0);r[R>>0]=w;u=o[n+40>>2]|0;v=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);c=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);b=o[n+44>>2]|0;e=b>>>24^(s[D>>0]|0);g=b>>>16^(s[B>>0]|0);l=b>>>8^(s[N>>0]|0);b=b^(s[j>>0]|0);r[M>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;r[S>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[O>>0]=r[(v&15)+(33024+(v>>>4<<4))>>0]|0;r[D>>0]=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;r[U>>0]=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=g;r[B>>0]=A;r[E>>0]=c;r[C>>0]=a;r[T>>0]=l;r[N>>0]=f;r[k>>0]=b;r[j>>0]=u;r[P>>0]=w;r[R>>0]=_;Ro(M);_=o[n+48>>2]|0;w=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);b=_>>>8^(s[E>>0]|0);r[E>>0]=b;_=_^(s[k>>0]|0);r[k>>0]=_;f=o[n+52>>2]|0;l=f>>>24^(s[S>>0]|0);a=f>>>16^(s[I>>0]|0);c=f>>>8^(s[T>>0]|0);f=f^(s[R>>0]|0);r[R>>0]=f;A=o[n+56>>2]|0;g=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);p=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);e=o[n+60>>2]|0;v=e>>>24^(s[D>>0]|0);y=e>>>16^(s[B>>0]|0);m=e>>>8^(s[N>>0]|0);e=e^(s[j>>0]|0);r[M>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;r[S>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;r[O>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;r[D>>0]=r[(v&15)+(33024+(v>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;r[U>>0]=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=y;r[B>>0]=u;r[E>>0]=p;r[C>>0]=b;r[T>>0]=m;r[N>>0]=c;r[k>>0]=e;r[j>>0]=A;r[P>>0]=f;r[R>>0]=_;Ro(M);_=o[n+64>>2]|0;f=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);e=_>>>8^(s[E>>0]|0);r[E>>0]=e;_=_^(s[k>>0]|0);r[k>>0]=_;c=o[n+68>>2]|0;m=c>>>24^(s[S>>0]|0);b=c>>>16^(s[I>>0]|0);p=c>>>8^(s[T>>0]|0);c=c^(s[R>>0]|0);r[R>>0]=c;u=o[n+72>>2]|0;y=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);a=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);v=o[n+76>>2]|0;g=v>>>24^(s[D>>0]|0);l=v>>>16^(s[B>>0]|0);w=v>>>8^(s[N>>0]|0);v=v^(s[j>>0]|0);r[M>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[S>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;r[O>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[D>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;r[U>>0]=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=l;r[B>>0]=A;r[E>>0]=a;r[C>>0]=e;r[T>>0]=w;r[N>>0]=p;r[k>>0]=v;r[j>>0]=u;r[P>>0]=c;r[R>>0]=_;Ro(M);_=o[n+80>>2]|0;c=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);v=_>>>8^(s[E>>0]|0);r[E>>0]=v;_=_^(s[k>>0]|0);r[k>>0]=_;p=o[n+84>>2]|0;w=p>>>24^(s[S>>0]|0);e=p>>>16^(s[I>>0]|0);a=p>>>8^(s[T>>0]|0);p=p^(s[R>>0]|0);r[R>>0]=p;A=o[n+88>>2]|0;l=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);b=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);g=o[n+92>>2]|0;y=g>>>24^(s[D>>0]|0);m=g>>>16^(s[B>>0]|0);f=g>>>8^(s[N>>0]|0);g=g^(s[j>>0]|0);r[M>>0]=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[S>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;r[O>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;r[D>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;r[U>>0]=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=m;r[B>>0]=u;r[E>>0]=b;r[C>>0]=v;r[T>>0]=f;r[N>>0]=a;r[k>>0]=g;r[j>>0]=A;r[P>>0]=p;r[R>>0]=_;Ro(M);_=o[n+96>>2]|0;p=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);g=_>>>8^(s[E>>0]|0);r[E>>0]=g;_=_^(s[k>>0]|0);r[k>>0]=_;a=o[n+100>>2]|0;f=a>>>24^(s[S>>0]|0);v=a>>>16^(s[I>>0]|0);b=a>>>8^(s[T>>0]|0);a=a^(s[R>>0]|0);r[R>>0]=a;u=o[n+104>>2]|0;m=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);e=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);y=o[n+108>>2]|0;l=y>>>24^(s[D>>0]|0);w=y>>>16^(s[B>>0]|0);c=y>>>8^(s[N>>0]|0);y=y^(s[j>>0]|0);r[M>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;r[S>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[O>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;r[D>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;r[U>>0]=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=w;r[B>>0]=A;r[E>>0]=e;r[C>>0]=g;r[T>>0]=c;r[N>>0]=b;r[k>>0]=y;r[j>>0]=u;r[P>>0]=a;r[R>>0]=_;Ro(M);_=o[n+112>>2]|0;a=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);y=_>>>8^(s[E>>0]|0);r[E>>0]=y;_=_^(s[k>>0]|0);r[k>>0]=_;b=o[n+116>>2]|0;c=b>>>24^(s[S>>0]|0);g=b>>>16^(s[I>>0]|0);e=b>>>8^(s[T>>0]|0);b=b^(s[R>>0]|0);r[R>>0]=b;A=o[n+120>>2]|0;w=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);v=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);l=o[n+124>>2]|0;m=l>>>24^(s[D>>0]|0);f=l>>>16^(s[B>>0]|0);p=l>>>8^(s[N>>0]|0);l=l^(s[j>>0]|0);r[M>>0]=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;r[S>>0]=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[O>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;r[D>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;r[U>>0]=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=f;r[B>>0]=u;r[E>>0]=v;r[C>>0]=y;r[T>>0]=p;r[N>>0]=e;r[k>>0]=l;r[j>>0]=A;r[P>>0]=b;r[R>>0]=_;Ro(M);_=o[n+128>>2]|0;b=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);l=_>>>8^(s[E>>0]|0);r[E>>0]=l;_=_^(s[k>>0]|0);r[k>>0]=_;e=o[n+132>>2]|0;p=e>>>24^(s[S>>0]|0);y=e>>>16^(s[I>>0]|0);v=e>>>8^(s[T>>0]|0);e=e^(s[R>>0]|0);r[R>>0]=e;u=o[n+136>>2]|0;f=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);g=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);m=o[n+140>>2]|0;w=m>>>24^(s[D>>0]|0);c=m>>>16^(s[B>>0]|0);a=m>>>8^(s[N>>0]|0);m=m^(s[j>>0]|0);r[M>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;r[S>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;r[O>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;r[U>>0]=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=c;r[B>>0]=A;r[E>>0]=g;r[C>>0]=l;r[T>>0]=a;r[N>>0]=v;r[k>>0]=m;r[j>>0]=u;r[P>>0]=e;r[R>>0]=_;Ro(M);_=o[n+144>>2]|0;e=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);m=_>>>8^(s[E>>0]|0);r[E>>0]=m;_=_^(s[k>>0]|0);r[k>>0]=_;v=o[n+148>>2]|0;a=v>>>24^(s[S>>0]|0);l=v>>>16^(s[I>>0]|0);g=v>>>8^(s[T>>0]|0);v=v^(s[R>>0]|0);r[R>>0]=v;A=o[n+152>>2]|0;c=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);y=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);w=o[n+156>>2]|0;f=w>>>24^(s[D>>0]|0);p=w>>>16^(s[B>>0]|0);b=w>>>8^(s[N>>0]|0);w=w^(s[j>>0]|0);e=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;r[M>>0]=e;a=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;r[S>>0]=a;c=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[O>>0]=c;f=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=f;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;r[U>>0]=l;r[I>>0]=d;r[x>>0]=p;r[B>>0]=u;r[E>>0]=y;r[C>>0]=m;r[T>>0]=b;r[N>>0]=g;r[k>>0]=w;r[j>>0]=A;r[P>>0]=v;r[R>>0]=_;if((i|0)==128){K=b;z=d;G=41;H=w;w=y;V=l;q=e;e=40;F=A;b=g;y=u;g=f;d=43;i=p;l=c;p=42;f=n+(e<<2)|0;f=o[f>>2]|0;A=f>>>24;c=f>>>16;u=f>>>8;q=q&255;q=A^q;q=q&255;r[M>>0]=q;A=V&255;A=c^A;A=A&255;r[U>>0]=A;w=w&255;w=u^w;w=w&255;r[E>>0]=w;E=H&255;E=f^E;E=E&255;r[k>>0]=E;U=n+(G<<2)|0;U=o[U>>2]|0;f=U>>>24;u=U>>>16;M=U>>>8;k=a&255;k=f^k;k=k&255;r[S>>0]=k;S=z&255;S=u^S;S=S&255;r[I>>0]=S;I=K&255;I=M^I;I=I&255;r[T>>0]=I;T=_&255;T=U^T;T=T&255;r[R>>0]=T;U=n+(p<<2)|0;U=o[U>>2]|0;p=U>>>24;_=U>>>16;M=U>>>8;R=l&255;R=p^R;R=R&255;r[O>>0]=R;i=i&255;i=_^i;i=i&255;r[x>>0]=i;x=m&255;x=M^x;x=x&255;r[C>>0]=x;C=v&255;C=U^C;C=C&255;r[P>>0]=C;P=n+(d<<2)|0;P=o[P>>2]|0;n=P>>>24;U=P>>>16;O=P>>>8;M=g&255;M=n^M;M=M&255;r[D>>0]=M;D=y&255;D=U^D;D=D&255;r[B>>0]=D;U=b&255;U=O^U;U=U&255;r[N>>0]=U;F=F&255;F=P^F;F=F&255;r[j>>0]=F;r[t>>0]=q;q=t+1|0;r[q>>0]=A;q=t+2|0;r[q>>0]=w;q=t+3|0;r[q>>0]=E;q=t+4|0;r[q>>0]=k;q=t+5|0;r[q>>0]=S;q=t+6|0;r[q>>0]=I;q=t+7|0;r[q>>0]=T;q=t+8|0;r[q>>0]=R;q=t+9|0;r[q>>0]=i;q=t+10|0;r[q>>0]=x;q=t+11|0;r[q>>0]=C;q=t+12|0;r[q>>0]=M;q=t+13|0;r[q>>0]=D;q=t+14|0;r[q>>0]=U;q=t+15|0;r[q>>0]=F;h=L;return}Ro(M);_=o[n+160>>2]|0;b=_>>>24^(s[M>>0]|0);A=_>>>16^(s[U>>0]|0);l=_>>>8^(s[E>>0]|0);r[E>>0]=l;_=_^(s[k>>0]|0);r[k>>0]=_;e=o[n+164>>2]|0;p=e>>>24^(s[S>>0]|0);y=e>>>16^(s[I>>0]|0);v=e>>>8^(s[T>>0]|0);e=e^(s[R>>0]|0);r[R>>0]=e;u=o[n+168>>2]|0;f=u>>>24^(s[O>>0]|0);d=u>>>16^(s[x>>0]|0);g=u>>>8^(s[C>>0]|0);u=u^(s[P>>0]|0);m=o[n+172>>2]|0;w=m>>>24^(s[D>>0]|0);c=m>>>16^(s[B>>0]|0);a=m>>>8^(s[N>>0]|0);m=m^(s[j>>0]|0);r[M>>0]=r[(b&15)+(33024+(b>>>4<<4))>>0]|0;r[S>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;r[O>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;r[U>>0]=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[x>>0]=c;r[B>>0]=A;r[E>>0]=g;r[C>>0]=l;r[T>>0]=a;r[N>>0]=v;r[k>>0]=m;r[j>>0]=u;r[P>>0]=e;r[R>>0]=_;Ro(M);_=o[n+176>>2]|0;e=_>>>24^(s[M>>0]|0);u=_>>>16^(s[U>>0]|0);m=_>>>8^(s[E>>0]|0);r[E>>0]=m;_=_^(s[k>>0]|0);r[k>>0]=_;v=o[n+180>>2]|0;a=v>>>24^(s[S>>0]|0);l=v>>>16^(s[I>>0]|0);g=v>>>8^(s[T>>0]|0);v=v^(s[R>>0]|0);r[R>>0]=v;A=o[n+184>>2]|0;c=A>>>24^(s[O>>0]|0);d=A>>>16^(s[x>>0]|0);y=A>>>8^(s[C>>0]|0);A=A^(s[P>>0]|0);w=o[n+188>>2]|0;f=w>>>24^(s[D>>0]|0);p=w>>>16^(s[B>>0]|0);b=w>>>8^(s[N>>0]|0);w=w^(s[j>>0]|0);e=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;r[M>>0]=e;a=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;r[S>>0]=a;c=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[O>>0]=c;f=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[D>>0]=f;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;r[U>>0]=l;r[I>>0]=d;r[x>>0]=p;r[B>>0]=u;r[E>>0]=y;r[C>>0]=m;r[T>>0]=b;r[N>>0]=g;r[k>>0]=w;r[j>>0]=A;r[P>>0]=v;r[R>>0]=_;if((i|0)==192){Q=b;W=49;Y=w;w=y;V=e;e=48;H=A;G=g;z=u;K=f;b=51;q=v;F=m;y=p;g=c;v=50;i=_;m=n+(e<<2)|0;m=o[m>>2]|0;A=m>>>24;p=m>>>16;_=m>>>8;V=V&255;V=A^V;V=V&255;r[M>>0]=V;A=l&255;A=p^A;A=A&255;r[U>>0]=A;w=w&255;w=_^w;w=w&255;r[E>>0]=w;E=Y&255;E=m^E;E=E&255;r[k>>0]=E;U=n+(W<<2)|0;U=o[U>>2]|0;m=U>>>24;_=U>>>16;M=U>>>8;k=a&255;k=m^k;k=k&255;r[S>>0]=k;S=d&255;S=_^S;S=S&255;r[I>>0]=S;I=Q&255;I=M^I;I=I&255;r[T>>0]=I;i=i&255;i=U^i;i=i&255;r[R>>0]=i;R=n+(v<<2)|0;R=o[R>>2]|0;U=R>>>24;v=R>>>16;T=R>>>8;M=g&255;M=U^M;M=M&255;r[O>>0]=M;U=y&255;U=v^U;U=U&255;r[x>>0]=U;F=F&255;F=T^F;F=F&255;r[C>>0]=F;q=q&255;q=R^q;q=q&255;r[P>>0]=q;P=n+(b<<2)|0;P=o[P>>2]|0;O=P>>>24;x=P>>>16;C=P>>>8;K=K&255;K=O^K;K=K&255;r[D>>0]=K;z=z&255;z=x^z;z=z&255;r[B>>0]=z;G=G&255;G=C^G;G=G&255;r[N>>0]=G;H=H&255;H=P^H;H=H&255;r[j>>0]=H;r[t>>0]=V;V=t+1|0;r[V>>0]=A;V=t+2|0;r[V>>0]=w;V=t+3|0;r[V>>0]=E;V=t+4|0;r[V>>0]=k;V=t+5|0;r[V>>0]=S;V=t+6|0;r[V>>0]=I;V=t+7|0;r[V>>0]=i;V=t+8|0;r[V>>0]=M;V=t+9|0;r[V>>0]=U;V=t+10|0;r[V>>0]=F;V=t+11|0;r[V>>0]=q;V=t+12|0;r[V>>0]=K;V=t+13|0;r[V>>0]=z;V=t+14|0;r[V>>0]=G;V=t+15|0;r[V>>0]=H;h=L;return}Ro(M);F=o[n+192>>2]|0;y=F>>>24^(s[M>>0]|0);W=F>>>16^(s[U>>0]|0);A=F>>>8^(s[E>>0]|0);r[E>>0]=A;F=F^(s[k>>0]|0);r[k>>0]=F;Y=o[n+196>>2]|0;K=Y>>>24^(s[S>>0]|0);w=Y>>>16^(s[I>>0]|0);G=Y>>>8^(s[T>>0]|0);Y=Y^(s[R>>0]|0);r[R>>0]=Y;V=o[n+200>>2]|0;H=V>>>24^(s[O>>0]|0);g=V>>>16^(s[x>>0]|0);Q=V>>>8^(s[C>>0]|0);V=V^(s[P>>0]|0);z=o[n+204>>2]|0;p=z>>>24^(s[D>>0]|0);q=z>>>16^(s[B>>0]|0);i=z>>>8^(s[N>>0]|0);z=z^(s[j>>0]|0);r[M>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[S>>0]=r[(K&15)+(33024+(K>>>4<<4))>>0]|0;r[O>>0]=r[(H&15)+(33024+(H>>>4<<4))>>0]|0;r[D>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;W=r[(W&15)+(33024+((W>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;q=r[(q&15)+(33024+((q>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;G=r[(G&15)+(33024+((G>>>4&15)<<4))>>0]|0;Q=r[(Q&15)+(33024+((Q>>>4&15)<<4))>>0]|0;i=r[(i&15)+(33024+((i>>>4&15)<<4))>>0]|0;F=r[(F&15)+(33024+((F>>>4&15)<<4))>>0]|0;Y=r[(Y&15)+(33024+((Y>>>4&15)<<4))>>0]|0;V=r[(V&15)+(33024+((V>>>4&15)<<4))>>0]|0;z=r[(z&15)+(33024+((z>>>4&15)<<4))>>0]|0;r[U>>0]=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;r[I>>0]=g;r[x>>0]=q;r[B>>0]=W;r[E>>0]=Q;r[C>>0]=A;r[T>>0]=i;r[N>>0]=G;r[k>>0]=z;r[j>>0]=V;r[P>>0]=Y;r[R>>0]=F;Ro(M);F=o[n+208>>2]|0;Y=F>>>24^(s[M>>0]|0);V=F>>>16^(s[U>>0]|0);z=F>>>8^(s[E>>0]|0);r[E>>0]=z;F=F^(s[k>>0]|0);r[k>>0]=F;G=o[n+212>>2]|0;i=G>>>24^(s[S>>0]|0);A=G>>>16^(s[I>>0]|0);Q=G>>>8^(s[T>>0]|0);G=G^(s[R>>0]|0);r[R>>0]=G;W=o[n+216>>2]|0;q=W>>>24^(s[O>>0]|0);g=W>>>16^(s[x>>0]|0);w=W>>>8^(s[C>>0]|0);W=W^(s[P>>0]|0);p=o[n+220>>2]|0;H=p>>>24^(s[D>>0]|0);K=p>>>16^(s[B>>0]|0);y=p>>>8^(s[N>>0]|0);p=p^(s[j>>0]|0);Y=r[(Y&15)+(33024+(Y>>>4<<4))>>0]|0;i=r[(i&15)+(33024+(i>>>4<<4))>>0]|0;r[S>>0]=i;q=r[(q&15)+(33024+(q>>>4<<4))>>0]|0;r[O>>0]=q;H=r[(H&15)+(33024+(H>>>4<<4))>>0]|0;r[D>>0]=H;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;b=57;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;m=56;W=r[(W&15)+(33024+((W>>>4&15)<<4))>>0]|0;Q=r[(Q&15)+(33024+((Q>>>4&15)<<4))>>0]|0;V=r[(V&15)+(33024+((V>>>4&15)<<4))>>0]|0;v=59;G=r[(G&15)+(33024+((G>>>4&15)<<4))>>0]|0;z=r[(z&15)+(33024+((z>>>4&15)<<4))>>0]|0;K=r[(K&15)+(33024+((K>>>4&15)<<4))>>0]|0;_=58;F=r[(F&15)+(33024+((F>>>4&15)<<4))>>0]|0;m=n+(m<<2)|0;m=o[m>>2]|0;u=m>>>24;l=m>>>16;d=m>>>8;Y=Y&255;Y=u^Y;Y=Y&255;r[M>>0]=Y;A=A&255;A=l^A;A=A&255;r[U>>0]=A;w=w&255;w=d^w;w=w&255;r[E>>0]=w;E=p&255;E=m^E;E=E&255;r[k>>0]=E;k=n+(b<<2)|0;k=o[k>>2]|0;M=k>>>24;U=k>>>16;b=k>>>8;i=i&255;i=M^i;i=i&255;r[S>>0]=i;M=g&255;M=U^M;M=M&255;r[I>>0]=M;U=y&255;U=b^U;U=U&255;r[T>>0]=U;F=F&255;F=k^F;F=F&255;r[R>>0]=F;R=n+(_<<2)|0;R=o[R>>2]|0;S=R>>>24;I=R>>>16;T=R>>>8;q=q&255;q=S^q;q=q&255;r[O>>0]=q;K=K&255;K=I^K;K=K&255;r[x>>0]=K;z=z&255;z=T^z;z=z&255;r[C>>0]=z;G=G&255;G=R^G;G=G&255;r[P>>0]=G;P=n+(v<<2)|0;P=o[P>>2]|0;O=P>>>24;x=P>>>16;C=P>>>8;H=H&255;H=O^H;H=H&255;r[D>>0]=H;V=V&255;V=x^V;V=V&255;r[B>>0]=V;Q=Q&255;Q=C^Q;Q=Q&255;r[N>>0]=Q;W=W&255;W=P^W;W=W&255;r[j>>0]=W;r[t>>0]=Y;Y=t+1|0;r[Y>>0]=A;Y=t+2|0;r[Y>>0]=w;Y=t+3|0;r[Y>>0]=E;Y=t+4|0;r[Y>>0]=i;Y=t+5|0;r[Y>>0]=M;Y=t+6|0;r[Y>>0]=U;Y=t+7|0;r[Y>>0]=F;Y=t+8|0;r[Y>>0]=q;Y=t+9|0;r[Y>>0]=K;Y=t+10|0;r[Y>>0]=z;Y=t+11|0;r[Y>>0]=G;Y=t+12|0;r[Y>>0]=H;Y=t+13|0;r[Y>>0]=V;Y=t+14|0;r[Y>>0]=Q;Y=t+15|0;r[Y>>0]=W;h=L;return}function Ro(e){e=e|0;var t=0,n=0,i=0,o=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0;h=r[e>>0]|0;l=e+4|0;i=r[l>>0]|0;o=e+8|0;s=r[o>>0]|0;a=e+12|0;n=r[a>>0]|0;f=h&255;c=i&255;t=s&255;d=n&255;r[e>>0]=n^s^r[33280+(f*6|0)>>0]^r[33280+(c*6|0)+1>>0];r[l>>0]=r[33280+(c*6|0)>>0]^h^n^r[33280+(t*6|0)+1>>0];r[o>>0]=r[33280+(d*6|0)+1>>0]^(r[33280+(t*6|0)>>0]^(i^h));r[a>>0]=s^i^r[33280+(f*6|0)+1>>0]^r[33280+(d*6|0)>>0];a=e+1|0;d=r[a>>0]|0;f=e+5|0;i=r[f>>0]|0;s=e+9|0;o=r[s>>0]|0;h=e+13|0;t=r[h>>0]|0;l=d&255;n=i&255;c=o&255;u=t&255;r[a>>0]=t^o^r[33280+(l*6|0)>>0]^r[33280+(n*6|0)+1>>0];r[f>>0]=r[33280+(n*6|0)>>0]^d^t^r[33280+(c*6|0)+1>>0];r[s>>0]=r[33280+(u*6|0)+1>>0]^(r[33280+(c*6|0)>>0]^(i^d));r[h>>0]=o^i^r[33280+(l*6|0)+1>>0]^r[33280+(u*6|0)>>0];h=e+2|0;u=r[h>>0]|0;l=e+6|0;i=r[l>>0]|0;o=e+10|0;s=r[o>>0]|0;d=e+14|0;c=r[d>>0]|0;f=u&255;t=i&255;n=s&255;a=c&255;r[h>>0]=c^s^r[33280+(f*6|0)>>0]^r[33280+(t*6|0)+1>>0];r[l>>0]=r[33280+(t*6|0)>>0]^u^c^r[33280+(n*6|0)+1>>0];r[o>>0]=r[33280+(a*6|0)+1>>0]^(r[33280+(n*6|0)>>0]^(i^u));r[d>>0]=s^i^r[33280+(f*6|0)+1>>0]^r[33280+(a*6|0)>>0];d=e+3|0;a=r[d>>0]|0;f=e+7|0;i=r[f>>0]|0;s=e+11|0;o=r[s>>0]|0;e=e+15|0;u=r[e>>0]|0;n=a&255;l=i&255;c=o&255;t=u&255;r[d>>0]=u^o^r[33280+(n*6|0)>>0]^r[33280+(l*6|0)+1>>0];r[f>>0]=r[33280+(l*6|0)>>0]^a^u^r[33280+(c*6|0)+1>>0];r[s>>0]=r[33280+(t*6|0)+1>>0]^(r[33280+(c*6|0)>>0]^(i^a));r[e>>0]=o^i^r[33280+(n*6|0)+1>>0]^r[33280+(t*6|0)>>0];return}function Oo(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,a=0;switch(n|0){case 128:{i=4;a=44;break}case 192:{i=6;a=52;break}case 256:{i=8;a=60;break}default:return}n=0;do{r=n<<2;o[t+(n<<2)>>2]=(s[e+(r|1)>>0]|0)<<16|(s[e+r>>0]|0)<<24|(s[e+(r|2)>>0]|0)<<8|(s[e+(r|3)>>0]|0);n=n+1|0}while(n>>>0>>0);if(i>>>0<=6){r=i;do{e=r+-1|0;n=o[t+(e<<2)>>2]|0;if(!((r>>>0)%(i>>>0)|0))n=((s[(n&15)+(33024+((n>>>4&15)<<4))>>0]|0)<<8|(s[(n>>>24&15)+(33024+(n>>>28<<4))>>0]|0)|(s[(n>>>8&15)+(33024+((n>>>12&15)<<4))>>0]|0)<<16|(s[(n>>>16&15)+(33024+((n>>>20&15)<<4))>>0]|0)<<24)^o[34816+(((e|0)/(i|0)|0)<<2)>>2];o[t+(r<<2)>>2]=o[t+(r-i<<2)>>2]^n;r=r+1|0}while((r|0)!=(a|0));return}r=i;do{e=r+-1|0;n=o[t+(e<<2)>>2]|0;switch(((r>>>0)%(i>>>0)|0)&15){case 0:{n=((s[(n&15)+(33024+((n>>>4&15)<<4))>>0]|0)<<8|(s[(n>>>24&15)+(33024+(n>>>28<<4))>>0]|0)|(s[(n>>>8&15)+(33024+((n>>>12&15)<<4))>>0]|0)<<16|(s[(n>>>16&15)+(33024+((n>>>20&15)<<4))>>0]|0)<<24)^o[34816+(((e|0)/(i|0)|0)<<2)>>2];break}case 4:{n=(s[(n>>>8&15)+(33024+((n>>>12&15)<<4))>>0]|0)<<8|(s[(n&15)+(33024+((n>>>4&15)<<4))>>0]|0)|(s[(n>>>16&15)+(33024+((n>>>20&15)<<4))>>0]|0)<<16|(s[(n>>>24&15)+(33024+(n>>>28<<4))>>0]|0)<<24;break}default:{}}o[t+(r<<2)>>2]=o[t+(r-i<<2)>>2]^n;r=r+1|0}while((r|0)!=(a|0));return}function xo(e){e=e|0;var t=0,n=0,i=0,o=0,a=0,c=0,f=0,u=0;f=e+4|0;i=e+8|0;n=e+12|0;t=s[e>>0]|0;a=s[f>>0]|0;u=s[i>>0]|0;o=s[n>>0]|0;r[e>>0]=r[33280+(o*6|0)+2>>0]^(r[33280+(u*6|0)+4>>0]^(r[33280+(a*6|0)+3>>0]^r[33280+(t*6|0)+5>>0]));r[f>>0]=r[33280+(o*6|0)+4>>0]^(r[33280+(u*6|0)+3>>0]^(r[33280+(a*6|0)+5>>0]^r[33280+(t*6|0)+2>>0]));r[i>>0]=r[33280+(o*6|0)+3>>0]^(r[33280+(u*6|0)+5>>0]^(r[33280+(a*6|0)+2>>0]^r[33280+(t*6|0)+4>>0]));r[n>>0]=r[33280+(o*6|0)+5>>0]^(r[33280+(u*6|0)+2>>0]^(r[33280+(a*6|0)+4>>0]^r[33280+(t*6|0)+3>>0]));n=e+1|0;t=e+5|0;a=e+9|0;u=e+13|0;o=s[n>>0]|0;i=s[t>>0]|0;f=s[a>>0]|0;c=s[u>>0]|0;r[n>>0]=r[33280+(c*6|0)+2>>0]^(r[33280+(f*6|0)+4>>0]^(r[33280+(i*6|0)+3>>0]^r[33280+(o*6|0)+5>>0]));r[t>>0]=r[33280+(c*6|0)+4>>0]^(r[33280+(f*6|0)+3>>0]^(r[33280+(i*6|0)+5>>0]^r[33280+(o*6|0)+2>>0]));r[a>>0]=r[33280+(c*6|0)+3>>0]^(r[33280+(f*6|0)+5>>0]^(r[33280+(i*6|0)+2>>0]^r[33280+(o*6|0)+4>>0]));r[u>>0]=r[33280+(c*6|0)+5>>0]^(r[33280+(f*6|0)+2>>0]^(r[33280+(i*6|0)+4>>0]^r[33280+(o*6|0)+3>>0]));u=e+2|0;o=e+6|0;i=e+10|0;f=e+14|0;c=s[u>>0]|0;a=s[o>>0]|0;t=s[i>>0]|0;n=s[f>>0]|0;r[u>>0]=r[33280+(n*6|0)+2>>0]^(r[33280+(t*6|0)+4>>0]^(r[33280+(a*6|0)+3>>0]^r[33280+(c*6|0)+5>>0]));r[o>>0]=r[33280+(n*6|0)+4>>0]^(r[33280+(t*6|0)+3>>0]^(r[33280+(a*6|0)+5>>0]^r[33280+(c*6|0)+2>>0]));r[i>>0]=r[33280+(n*6|0)+3>>0]^(r[33280+(t*6|0)+5>>0]^(r[33280+(a*6|0)+2>>0]^r[33280+(c*6|0)+4>>0]));r[f>>0]=r[33280+(n*6|0)+5>>0]^(r[33280+(t*6|0)+2>>0]^(r[33280+(a*6|0)+4>>0]^r[33280+(c*6|0)+3>>0]));f=e+3|0;c=e+7|0;a=e+11|0;e=e+15|0;t=s[f>>0]|0;n=s[c>>0]|0;i=s[a>>0]|0;o=s[e>>0]|0;r[f>>0]=r[33280+(o*6|0)+2>>0]^(r[33280+(i*6|0)+4>>0]^(r[33280+(n*6|0)+3>>0]^r[33280+(t*6|0)+5>>0]));r[c>>0]=r[33280+(o*6|0)+4>>0]^(r[33280+(i*6|0)+3>>0]^(r[33280+(n*6|0)+5>>0]^r[33280+(t*6|0)+2>>0]));r[a>>0]=r[33280+(o*6|0)+3>>0]^(r[33280+(i*6|0)+5>>0]^(r[33280+(n*6|0)+2>>0]^r[33280+(t*6|0)+4>>0]));r[e>>0]=r[33280+(o*6|0)+5>>0]^(r[33280+(i*6|0)+2>>0]^(r[33280+(n*6|0)+4>>0]^r[33280+(t*6|0)+3>>0]));return}function Co(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,I=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0;L=h;h=h+16|0;D=L;A=r[e>>0]|0;r[D>>0]=A;w=r[e+1>>0]|0;U=D+4|0;r[U>>0]=w;a=r[e+2>>0]|0;k=D+8|0;r[k>>0]=a;c=r[e+3>>0]|0;S=D+12|0;r[S>>0]=c;f=r[e+4>>0]|0;I=D+1|0;r[I>>0]=f;u=r[e+5>>0]|0;T=D+5|0;r[T>>0]=u;l=r[e+6>>0]|0;R=D+9|0;r[R>>0]=l;d=r[e+7>>0]|0;O=D+13|0;r[O>>0]=d;p=r[e+8>>0]|0;x=D+2|0;r[x>>0]=p;m=r[e+9>>0]|0;C=D+6|0;r[C>>0]=m;g=r[e+10>>0]|0;P=D+10|0;r[P>>0]=g;y=r[e+11>>0]|0;M=D+14|0;r[M>>0]=y;b=r[e+12>>0]|0;B=D+3|0;r[B>>0]=b;_=r[e+13>>0]|0;N=D+7|0;r[N>>0]=_;v=r[e+14>>0]|0;j=D+11|0;r[j>>0]=v;e=r[e+15>>0]|0;E=D+15|0;r[E>>0]=e;if((i|0)>128){if((i|0)>192){F=o[n+224>>2]|0;H=F>>>24^A&255;G=F>>>16^w&255;K=F>>>8^a&255;A=F^c&255;F=o[n+228>>2]|0;w=F>>>24^f&255;z=F>>>16^u&255;q=F>>>8^l&255;F=F^d&255;c=o[n+232>>2]|0;a=c>>>24^p&255;p=c>>>16^m&255;i=c>>>8^g&255;c=c^y&255;f=o[n+236>>2]|0;g=f>>>24^b&255;u=f>>>16^_&255;m=f>>>8^v&255;f=f^e&255;_=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[I>>0]=w;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;r[x>>0]=a;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[B>>0]=g;u=r[(u&15)+(34880+((u>>>4&15)<<4))>>0]|0;l=r[(G&15)+(34880+((G>>>4&15)<<4))>>0]|0;d=r[(z&15)+(34880+((z>>>4&15)<<4))>>0]|0;r[C>>0]=d;y=r[(p&15)+(34880+((p>>>4&15)<<4))>>0]|0;r[N>>0]=y;i=r[(i&15)+(34880+((i>>>4&15)<<4))>>0]|0;m=r[(m&15)+(34880+((m>>>4&15)<<4))>>0]|0;v=r[(K&15)+(34880+((K>>>4&15)<<4))>>0]|0;p=r[(q&15)+(34880+((q>>>4&15)<<4))>>0]|0;r[j>>0]=p;e=r[(F&15)+(34880+((F>>>4&15)<<4))>>0]|0;c=r[(c&15)+(34880+((c>>>4&15)<<4))>>0]|0;f=r[(f&15)+(34880+((f>>>4&15)<<4))>>0]|0;A=r[(A&15)+(34880+((A>>>4&15)<<4))>>0]|0;b=o[n+208>>2]|0;r[D>>0]=b>>>24^_&255;r[U>>0]=b>>>16^u&255;r[k>>0]=b>>>8^i&255;r[S>>0]=b^e&255;e=o[n+212>>2]|0;r[I>>0]=e>>>24^w&255;r[T>>0]=e>>>16^l&255;r[R>>0]=e>>>8^m&255;r[O>>0]=e^c&255;c=o[n+216>>2]|0;r[x>>0]=c>>>24^a&255;r[C>>0]=c>>>16^d&255;r[P>>0]=c>>>8^v&255;r[M>>0]=c^f&255;f=o[n+220>>2]|0;r[B>>0]=f>>>24^g&255;r[N>>0]=f>>>16^y&255;r[j>>0]=f>>>8^p&255;r[E>>0]=f^A&255;xo(D);A=r[N>>0]|0;f=r[C>>0]|0;p=r[T>>0]|0;y=r[U>>0]|0;g=r[j>>0]|0;c=r[R>>0]|0;v=r[P>>0]|0;d=r[k>>0]|0;a=r[E>>0]|0;e=r[S>>0]|0;m=r[O>>0]|0;l=r[M>>0]|0;w=s[D>>0]|0;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[D>>0]=w;b=s[I>>0]|0;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[I>>0]=b;i=s[x>>0]|0;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;r[x>>0]=i;u=s[B>>0]|0;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;r[B>>0]=u;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;p=p&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[C>>0]=p;f=f&255;f=r[(f&15)+(34880+(f>>>4<<4))>>0]|0;r[N>>0]=f;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;d=d&255;d=r[(d&15)+(34880+(d>>>4<<4))>>0]|0;c=c&255;c=r[(c&15)+(34880+(c>>>4<<4))>>0]|0;r[j>>0]=c;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;l=l&255;l=r[(l&15)+(34880+(l>>>4<<4))>>0]|0;a=a&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;e=e&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;_=o[n+192>>2]|0;r[D>>0]=_>>>24^w&255;r[U>>0]=_>>>16^A&255;r[k>>0]=_>>>8^v&255;r[S>>0]=_^m&255;m=o[n+196>>2]|0;r[I>>0]=m>>>24^b&255;r[T>>0]=m>>>16^y&255;r[R>>0]=m>>>8^g&255;r[O>>0]=m^l&255;l=o[n+200>>2]|0;r[x>>0]=l>>>24^i&255;r[C>>0]=l>>>16^p&255;r[P>>0]=l>>>8^d&255;r[M>>0]=l^a&255;a=o[n+204>>2]|0;r[B>>0]=a>>>24^u&255;r[N>>0]=a>>>16^f&255;r[j>>0]=a>>>8^c&255;r[E>>0]=a^e&255;xo(D);e=r[D>>0]|0;a=r[I>>0]|0;c=r[x>>0]|0;f=r[B>>0]|0;u=r[N>>0]|0;l=r[U>>0]|0;d=r[T>>0]|0;p=r[C>>0]|0;i=r[P>>0]|0;m=r[j>>0]|0;g=r[k>>0]|0;y=r[R>>0]|0;b=r[O>>0]|0;_=r[M>>0]|0;v=r[E>>0]|0;A=r[S>>0]|0}else{G=o[n+192>>2]|0;V=(G>>>24^A&255)&255;r[D>>0]=V;F=(G>>>16^w&255)&255;r[U>>0]=F;K=(G>>>8^a&255)&255;r[k>>0]=K;A=(G^c&255)&255;r[S>>0]=A;G=o[n+196>>2]|0;a=(G>>>24^f&255)&255;r[I>>0]=a;q=(G>>>16^u&255)&255;r[T>>0]=q;z=(G>>>8^l&255)&255;r[R>>0]=z;G=(G^d&255)&255;r[O>>0]=G;H=o[n+200>>2]|0;c=(H>>>24^p&255)&255;r[x>>0]=c;p=(H>>>16^m&255)&255;r[C>>0]=p;i=(H>>>8^g&255)&255;r[P>>0]=i;H=(H^y&255)&255;r[M>>0]=H;l=o[n+204>>2]|0;f=(l>>>24^b&255)&255;r[B>>0]=f;u=(l>>>16^_&255)&255;r[N>>0]=u;m=(l>>>8^v&255)&255;r[j>>0]=m;v=(l^e&255)&255;r[E>>0]=v;e=V;l=F;d=q;g=K;y=z;b=G;_=H}H=e&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;V=a&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[I>>0]=V;e=c&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;r[x>>0]=e;a=f&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;r[B>>0]=a;u=u&255;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;l=l&255;l=r[(l&15)+(34880+(l>>>4<<4))>>0]|0;d=d&255;d=r[(d&15)+(34880+(d>>>4<<4))>>0]|0;r[C>>0]=d;c=p&255;c=r[(c&15)+(34880+(c>>>4<<4))>>0]|0;r[N>>0]=c;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;p=y&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[j>>0]=p;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;y=_&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;f=v&255;f=r[(f&15)+(34880+(f>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;v=o[n+176>>2]|0;r[D>>0]=v>>>24^H&255;r[U>>0]=v>>>16^u&255;r[k>>0]=v>>>8^i&255;r[S>>0]=v^b&255;v=o[n+180>>2]|0;r[I>>0]=v>>>24^V&255;r[T>>0]=v>>>16^l&255;r[R>>0]=v>>>8^m&255;r[O>>0]=v^y&255;y=o[n+184>>2]|0;r[x>>0]=y>>>24^e&255;r[C>>0]=y>>>16^d&255;r[P>>0]=y>>>8^g&255;r[M>>0]=y^f&255;f=o[n+188>>2]|0;r[B>>0]=f>>>24^a&255;r[N>>0]=f>>>16^c&255;r[j>>0]=f>>>8^p&255;r[E>>0]=f^A&255;xo(D);A=r[N>>0]|0;f=r[C>>0]|0;p=r[T>>0]|0;y=r[U>>0]|0;g=r[j>>0]|0;c=r[R>>0]|0;v=r[P>>0]|0;d=r[k>>0]|0;a=r[E>>0]|0;e=r[S>>0]|0;m=r[O>>0]|0;l=r[M>>0]|0;V=s[D>>0]|0;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[D>>0]=V;b=s[I>>0]|0;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[I>>0]=b;i=s[x>>0]|0;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;r[x>>0]=i;u=s[B>>0]|0;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;r[B>>0]=u;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;p=p&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[C>>0]=p;f=f&255;f=r[(f&15)+(34880+(f>>>4<<4))>>0]|0;r[N>>0]=f;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;d=d&255;d=r[(d&15)+(34880+(d>>>4<<4))>>0]|0;c=c&255;c=r[(c&15)+(34880+(c>>>4<<4))>>0]|0;r[j>>0]=c;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;l=l&255;l=r[(l&15)+(34880+(l>>>4<<4))>>0]|0;a=a&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;e=e&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;_=o[n+160>>2]|0;r[D>>0]=_>>>24^V&255;r[U>>0]=_>>>16^A&255;r[k>>0]=_>>>8^v&255;r[S>>0]=_^m&255;m=o[n+164>>2]|0;r[I>>0]=m>>>24^b&255;r[T>>0]=m>>>16^y&255;r[R>>0]=m>>>8^g&255;r[O>>0]=m^l&255;l=o[n+168>>2]|0;r[x>>0]=l>>>24^i&255;r[C>>0]=l>>>16^p&255;r[P>>0]=l>>>8^d&255;r[M>>0]=l^a&255;a=o[n+172>>2]|0;r[B>>0]=a>>>24^u&255;r[N>>0]=a>>>16^f&255;r[j>>0]=a>>>8^c&255;r[E>>0]=a^e&255;xo(D);e=r[D>>0]|0;a=r[I>>0]|0;c=r[x>>0]|0;f=r[B>>0]|0;u=r[N>>0]|0;l=r[U>>0]|0;d=r[T>>0]|0;p=r[C>>0]|0;i=r[P>>0]|0;m=r[j>>0]|0;g=r[k>>0]|0;y=r[R>>0]|0;b=r[O>>0]|0;_=r[M>>0]|0;v=r[E>>0]|0;A=r[S>>0]|0}else{H=o[n+160>>2]|0;F=(H>>>24^A&255)&255;r[D>>0]=F;q=(H>>>16^w&255)&255;r[U>>0]=q;z=(H>>>8^a&255)&255;r[k>>0]=z;A=(H^c&255)&255;r[S>>0]=A;H=o[n+164>>2]|0;a=(H>>>24^f&255)&255;r[I>>0]=a;K=(H>>>16^u&255)&255;r[T>>0]=K;G=(H>>>8^l&255)&255;r[R>>0]=G;H=(H^d&255)&255;r[O>>0]=H;V=o[n+168>>2]|0;c=(V>>>24^p&255)&255;r[x>>0]=c;p=(V>>>16^m&255)&255;r[C>>0]=p;i=(V>>>8^g&255)&255;r[P>>0]=i;V=(V^y&255)&255;r[M>>0]=V;l=o[n+172>>2]|0;f=(l>>>24^b&255)&255;r[B>>0]=f;u=(l>>>16^_&255)&255;r[N>>0]=u;m=(l>>>8^v&255)&255;r[j>>0]=m;v=(l^e&255)&255;r[E>>0]=v;e=F;l=q;d=K;g=z;y=G;b=H;_=V}e=e&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;a=a&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;r[I>>0]=a;w=c&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[x>>0]=w;V=f&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[B>>0]=V;u=u&255;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;K=l&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;H=d&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;r[C>>0]=H;G=p&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[N>>0]=G;p=i&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;F=g&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;q=y&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[j>>0]=q;i=b&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;b=_&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;z=v&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;_=A&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;A=o[n+144>>2]|0;r[D>>0]=A>>>24^e&255;r[U>>0]=A>>>16^u&255;r[k>>0]=A>>>8^p&255;r[S>>0]=A^i&255;A=o[n+148>>2]|0;r[I>>0]=A>>>24^a&255;r[T>>0]=A>>>16^K&255;r[R>>0]=A>>>8^m&255;r[O>>0]=A^b&255;A=o[n+152>>2]|0;r[x>>0]=A>>>24^w&255;r[C>>0]=A>>>16^H&255;r[P>>0]=A>>>8^F&255;r[M>>0]=A^z&255;z=o[n+156>>2]|0;r[B>>0]=z>>>24^V&255;r[N>>0]=z>>>16^G&255;r[j>>0]=z>>>8^q&255;r[E>>0]=z^_&255;xo(D);_=r[N>>0]|0;z=r[C>>0]|0;q=r[T>>0]|0;G=r[U>>0]|0;A=r[j>>0]|0;b=r[R>>0]|0;V=r[P>>0]|0;F=r[k>>0]|0;m=r[E>>0]|0;H=r[S>>0]|0;i=r[O>>0]|0;w=r[M>>0]|0;g=s[D>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[D>>0]=g;p=s[I>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[I>>0]=p;K=s[x>>0]|0;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[x>>0]=K;v=s[B>>0]|0;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;r[B>>0]=v;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[C>>0]=q;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[N>>0]=z;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[j>>0]=b;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;y=o[n+128>>2]|0;r[D>>0]=y>>>24^g&255;r[U>>0]=y>>>16^_&255;r[k>>0]=y>>>8^V&255;r[S>>0]=y^i&255;i=o[n+132>>2]|0;r[I>>0]=i>>>24^p&255;r[T>>0]=i>>>16^G&255;r[R>>0]=i>>>8^A&255;r[O>>0]=i^w&255;w=o[n+136>>2]|0;r[x>>0]=w>>>24^K&255;r[C>>0]=w>>>16^q&255;r[P>>0]=w>>>8^F&255;r[M>>0]=w^m&255;m=o[n+140>>2]|0;r[B>>0]=m>>>24^v&255;r[N>>0]=m>>>16^z&255;r[j>>0]=m>>>8^b&255;r[E>>0]=m^H&255;xo(D);H=r[N>>0]|0;m=r[C>>0]|0;b=r[T>>0]|0;z=r[U>>0]|0;v=r[j>>0]|0;w=r[R>>0]|0;F=r[P>>0]|0;q=r[k>>0]|0;K=r[E>>0]|0;i=r[S>>0]|0;A=r[O>>0]|0;G=r[M>>0]|0;p=s[D>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[D>>0]=p;y=s[I>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[I>>0]=y;V=s[x>>0]|0;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[x>>0]=V;_=s[B>>0]|0;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;r[B>>0]=_;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[C>>0]=b;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[N>>0]=m;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[j>>0]=w;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;g=o[n+112>>2]|0;r[D>>0]=g>>>24^p&255;r[U>>0]=g>>>16^H&255;r[k>>0]=g>>>8^F&255;r[S>>0]=g^A&255;A=o[n+116>>2]|0;r[I>>0]=A>>>24^y&255;r[T>>0]=A>>>16^z&255;r[R>>0]=A>>>8^v&255;r[O>>0]=A^G&255;G=o[n+120>>2]|0;r[x>>0]=G>>>24^V&255;r[C>>0]=G>>>16^b&255;r[P>>0]=G>>>8^q&255;r[M>>0]=G^K&255;K=o[n+124>>2]|0;r[B>>0]=K>>>24^_&255;r[N>>0]=K>>>16^m&255;r[j>>0]=K>>>8^w&255;r[E>>0]=K^i&255;xo(D);i=r[N>>0]|0;K=r[C>>0]|0;w=r[T>>0]|0;m=r[U>>0]|0;_=r[j>>0]|0;G=r[R>>0]|0;q=r[P>>0]|0;b=r[k>>0]|0;V=r[E>>0]|0;A=r[S>>0]|0;v=r[O>>0]|0;z=r[M>>0]|0;y=s[D>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[D>>0]=y;g=s[I>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[I>>0]=g;F=s[x>>0]|0;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[x>>0]=F;H=s[B>>0]|0;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;r[B>>0]=H;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[C>>0]=w;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[N>>0]=K;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[j>>0]=G;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;p=o[n+96>>2]|0;r[D>>0]=p>>>24^y&255;r[U>>0]=p>>>16^i&255;r[k>>0]=p>>>8^q&255;r[S>>0]=p^v&255;v=o[n+100>>2]|0;r[I>>0]=v>>>24^g&255;r[T>>0]=v>>>16^m&255;r[R>>0]=v>>>8^_&255;r[O>>0]=v^z&255;z=o[n+104>>2]|0;r[x>>0]=z>>>24^F&255;r[C>>0]=z>>>16^w&255;r[P>>0]=z>>>8^b&255;r[M>>0]=z^V&255;V=o[n+108>>2]|0;r[B>>0]=V>>>24^H&255;r[N>>0]=V>>>16^K&255;r[j>>0]=V>>>8^G&255;r[E>>0]=V^A&255;xo(D);A=r[N>>0]|0;V=r[C>>0]|0;G=r[T>>0]|0;K=r[U>>0]|0;H=r[j>>0]|0;z=r[R>>0]|0;b=r[P>>0]|0;w=r[k>>0]|0;F=r[E>>0]|0;v=r[S>>0]|0;_=r[O>>0]|0;m=r[M>>0]|0;g=s[D>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[D>>0]=g;p=s[I>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[I>>0]=p;q=s[x>>0]|0;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[x>>0]=q;i=s[B>>0]|0;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;r[B>>0]=i;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[C>>0]=G;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[N>>0]=V;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[j>>0]=z;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;y=o[n+80>>2]|0;r[D>>0]=y>>>24^g&255;r[U>>0]=y>>>16^A&255;r[k>>0]=y>>>8^b&255;r[S>>0]=y^_&255;_=o[n+84>>2]|0;r[I>>0]=_>>>24^p&255;r[T>>0]=_>>>16^K&255;r[R>>0]=_>>>8^H&255;r[O>>0]=_^m&255;m=o[n+88>>2]|0;r[x>>0]=m>>>24^q&255;r[C>>0]=m>>>16^G&255;r[P>>0]=m>>>8^w&255;r[M>>0]=m^F&255;F=o[n+92>>2]|0;r[B>>0]=F>>>24^i&255;r[N>>0]=F>>>16^V&255;r[j>>0]=F>>>8^z&255;r[E>>0]=F^v&255;xo(D);v=r[N>>0]|0;F=r[C>>0]|0;z=r[T>>0]|0;V=r[U>>0]|0;i=r[j>>0]|0;m=r[R>>0]|0;w=r[P>>0]|0;G=r[k>>0]|0;q=r[E>>0]|0;_=r[S>>0]|0;H=r[O>>0]|0;K=r[M>>0]|0;p=s[D>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[D>>0]=p;y=s[I>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[I>>0]=y;b=s[x>>0]|0;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[x>>0]=b;A=s[B>>0]|0;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;r[B>>0]=A;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[C>>0]=z;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[N>>0]=F;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[j>>0]=m;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;g=o[n+64>>2]|0;r[D>>0]=g>>>24^p&255;r[U>>0]=g>>>16^v&255;r[k>>0]=g>>>8^w&255;r[S>>0]=g^H&255;H=o[n+68>>2]|0;r[I>>0]=H>>>24^y&255;r[T>>0]=H>>>16^V&255;r[R>>0]=H>>>8^i&255;r[O>>0]=H^K&255;K=o[n+72>>2]|0;r[x>>0]=K>>>24^b&255;r[C>>0]=K>>>16^z&255;r[P>>0]=K>>>8^G&255;r[M>>0]=K^q&255;q=o[n+76>>2]|0;r[B>>0]=q>>>24^A&255;r[N>>0]=q>>>16^F&255;r[j>>0]=q>>>8^m&255;r[E>>0]=q^_&255;xo(D);_=r[N>>0]|0;q=r[C>>0]|0;m=r[T>>0]|0;F=r[U>>0]|0;A=r[j>>0]|0;K=r[R>>0]|0;G=r[P>>0]|0;z=r[k>>0]|0;b=r[E>>0]|0;H=r[S>>0]|0;i=r[O>>0]|0;V=r[M>>0]|0;y=s[D>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[D>>0]=y;g=s[I>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[I>>0]=g;w=s[x>>0]|0;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[x>>0]=w;v=s[B>>0]|0;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;r[B>>0]=v;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[C>>0]=m;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[N>>0]=q;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[j>>0]=K;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;p=o[n+48>>2]|0;r[D>>0]=p>>>24^y&255;r[U>>0]=p>>>16^_&255;r[k>>0]=p>>>8^G&255;r[S>>0]=p^i&255;i=o[n+52>>2]|0;r[I>>0]=i>>>24^g&255;r[T>>0]=i>>>16^F&255;r[R>>0]=i>>>8^A&255;r[O>>0]=i^V&255;V=o[n+56>>2]|0;r[x>>0]=V>>>24^w&255;r[C>>0]=V>>>16^m&255;r[P>>0]=V>>>8^z&255;r[M>>0]=V^b&255;b=o[n+60>>2]|0;r[B>>0]=b>>>24^v&255;r[N>>0]=b>>>16^q&255;r[j>>0]=b>>>8^K&255;r[E>>0]=b^H&255;xo(D);H=r[N>>0]|0;b=r[C>>0]|0;K=r[T>>0]|0;q=r[U>>0]|0;v=r[j>>0]|0;V=r[R>>0]|0;z=r[P>>0]|0;m=r[k>>0]|0;w=r[E>>0]|0;i=r[S>>0]|0;A=r[O>>0]|0;F=r[M>>0]|0;g=s[D>>0]|0;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[D>>0]=g;p=s[I>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[I>>0]=p;G=s[x>>0]|0;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[x>>0]=G;_=s[B>>0]|0;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;r[B>>0]=_;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[C>>0]=K;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[N>>0]=b;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[j>>0]=V;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;y=o[n+32>>2]|0;r[D>>0]=y>>>24^g&255;r[U>>0]=y>>>16^H&255;r[k>>0]=y>>>8^z&255;r[S>>0]=y^A&255;A=o[n+36>>2]|0;r[I>>0]=A>>>24^p&255;r[T>>0]=A>>>16^q&255;r[R>>0]=A>>>8^v&255;r[O>>0]=A^F&255;F=o[n+40>>2]|0;r[x>>0]=F>>>24^G&255;r[C>>0]=F>>>16^K&255;r[P>>0]=F>>>8^m&255;r[M>>0]=F^w&255;w=o[n+44>>2]|0;r[B>>0]=w>>>24^_&255;r[N>>0]=w>>>16^b&255;r[j>>0]=w>>>8^V&255;r[E>>0]=w^i&255;xo(D);i=r[N>>0]|0;w=r[C>>0]|0;V=r[T>>0]|0;b=r[U>>0]|0;_=r[j>>0]|0;F=r[R>>0]|0;m=r[P>>0]|0;K=r[k>>0]|0;G=r[E>>0]|0;A=r[S>>0]|0;v=r[O>>0]|0;q=r[M>>0]|0;p=s[D>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[D>>0]=p;y=s[I>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[I>>0]=y;z=s[x>>0]|0;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[x>>0]=z;H=s[B>>0]|0;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;r[B>>0]=H;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[C>>0]=V;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[N>>0]=w;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[j>>0]=F;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;g=o[n+16>>2]|0;r[D>>0]=g>>>24^p&255;r[U>>0]=g>>>16^i&255;r[k>>0]=g>>>8^m&255;r[S>>0]=g^v&255;v=o[n+20>>2]|0;r[I>>0]=v>>>24^y&255;r[T>>0]=v>>>16^b&255;r[R>>0]=v>>>8^_&255;r[O>>0]=v^q&255;q=o[n+24>>2]|0;r[x>>0]=q>>>24^z&255;r[C>>0]=q>>>16^V&255;r[P>>0]=q>>>8^K&255;r[M>>0]=q^G&255;G=o[n+28>>2]|0;r[B>>0]=G>>>24^H&255;r[N>>0]=G>>>16^w&255;r[j>>0]=G>>>8^F&255;r[E>>0]=G^A&255;xo(D);A=r[N>>0]|0;G=r[C>>0]|0;F=r[T>>0]|0;w=r[U>>0]|0;T=r[j>>0]|0;H=r[R>>0]|0;P=r[P>>0]|0;q=r[k>>0]|0;K=r[E>>0]|0;V=r[S>>0]|0;C=r[O>>0]|0;N=r[M>>0]|0;R=s[D>>0]|0;R=r[(R&15)+(34880+(R>>>4<<4))>>0]|0;r[D>>0]=R;M=s[I>>0]|0;M=r[(M&15)+(34880+(M>>>4<<4))>>0]|0;r[I>>0]=M;U=s[x>>0]|0;U=r[(U&15)+(34880+(U>>>4<<4))>>0]|0;r[x>>0]=U;z=s[B>>0]|0;O=A&255;D=w&255;F=F&255;G=G&255;x=P&255;B=T&255;q=q&255;H=H&255;C=C&255;N=N&255;K=K&255;V=V&255;T=o[n>>2]|0;O=(T>>>16^(s[(O&15)+(34880+(O>>>4<<4))>>0]|0))&255;x=(T>>>8^(s[(x&15)+(34880+(x>>>4<<4))>>0]|0))&255;C=(T^(s[(C&15)+(34880+(C>>>4<<4))>>0]|0))&255;P=o[n+4>>2]|0;D=(P>>>16^(s[(D&15)+(34880+(D>>>4<<4))>>0]|0))&255;B=(P>>>8^(s[(B&15)+(34880+(B>>>4<<4))>>0]|0))&255;N=(P^(s[(N&15)+(34880+(N>>>4<<4))>>0]|0))&255;j=o[n+8>>2]|0;F=(j>>>16^(s[(F&15)+(34880+(F>>>4<<4))>>0]|0))&255;q=(j>>>8^(s[(q&15)+(34880+(q>>>4<<4))>>0]|0))&255;K=(j^(s[(K&15)+(34880+(K>>>4<<4))>>0]|0))&255;n=o[n+12>>2]|0;z=(n>>>24^(s[(z&15)+(34880+(z>>>4<<4))>>0]|0))&255;G=(n>>>16^(s[(G&15)+(34880+(G>>>4<<4))>>0]|0))&255;H=(n>>>8^(s[(H&15)+(34880+(H>>>4<<4))>>0]|0))&255;V=(n^(s[(V&15)+(34880+(V>>>4<<4))>>0]|0))&255;r[t>>0]=T>>>24^R&255;r[t+1>>0]=O;r[t+2>>0]=x;r[t+3>>0]=C;r[t+4>>0]=P>>>24^M&255;r[t+5>>0]=D;r[t+6>>0]=B;r[t+7>>0]=N;r[t+8>>0]=j>>>24^U&255;r[t+9>>0]=F;r[t+10>>0]=q;r[t+11>>0]=K;r[t+12>>0]=z;r[t+13>>0]=G;r[t+14>>0]=H;r[t+15>>0]=V;h=L;return}function Po(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0,fe=0,ue=0,le=0,de=0,he=0,pe=0,me=0,ge=0,ye=0,be=0,_e=0,ve=0,Ae=0,we=0,Ee=0,ke=0,Se=0,Ie=0,Te=0,Re=0,Oe=0,xe=0,Ce=0,Pe=0,Me=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,Fe=0,qe=0,Ke=0,ze=0,Ge=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0,at=0,ct=0,ft=0,ut=0,lt=0,dt=0,ht=0,pt=0,mt=0,gt=0,yt=0,bt=0,_t=0,vt=0,At=0,wt=0,Et=0,kt=0,St=0,It=0,Tt=0,Rt=0,Ot=0,xt=0,Ct=0,Pt=0,Mt=0,Dt=0,Bt=0,Nt=0,jt=0,Ut=0,Lt=0,Ft=0,qt=0;Pt=h;h=h+2768|0;bt=Pt+2608|0;_t=Pt+2448|0;xt=Pt+2288|0;vt=Pt+2128|0;At=Pt+1968|0;wt=Pt+1808|0;Ct=Pt+1648|0;Et=Pt+1488|0;kt=Pt+1328|0;St=Pt+1168|0;f=Pt+1008|0;c=Pt+848|0;a=Pt+688|0;i=Pt+528|0;It=Pt+368|0;at=Pt+288|0;Tt=Pt+208|0;Rt=Pt+112|0;Ot=Pt+32|0;ct=Pt;st=ct;ot=st+32|0;do{r[st>>0]=r[t>>0]|0;st=st+1|0;t=t+1|0}while((st|0)<(ot|0));r[ct>>0]=r[ct>>0]&-8;st=ct+31|0;r[st>>0]=r[st>>0]&63|64;st=s[n>>0]|0;pt=Cs(s[n+1>>0]|0|0,0,8)|0;ht=I;gt=Cs(s[n+2>>0]|0|0,0,16)|0;ht=ht|I;mt=s[n+3>>0]|0;ot=Cs(mt|0,0,24)|0;yt=at;o[yt>>2]=pt|st|gt|ot&50331648;o[yt+4>>2]=ht;yt=Cs(s[n+4>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+5>>0]|0|0,0,16)|0;ht=ht|I;gt=s[n+6>>0]|0;st=Cs(gt|0,0,24)|0;ht=xs(yt|mt|ot|st|0,ht|I|0,2)|0;st=at+8|0;o[st>>2]=ht&33554431;o[st+4>>2]=0;st=Cs(s[n+7>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+8>>0]|0|0,0,16)|0;ht=ht|I;mt=s[n+9>>0]|0;yt=Cs(mt|0,0,24)|0;ht=xs(st|gt|ot|yt|0,ht|I|0,3)|0;yt=at+16|0;o[yt>>2]=ht&67108863;o[yt+4>>2]=0;yt=Cs(s[n+10>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+11>>0]|0|0,0,16)|0;ht=ht|I;gt=s[n+12>>0]|0;st=Cs(gt|0,0,24)|0;ht=xs(yt|mt|ot|st|0,ht|I|0,5)|0;st=at+24|0;o[st>>2]=ht&33554431;o[st+4>>2]=0;st=Cs(s[n+13>>0]|0|0,0,8)|0;ht=I;ot=Cs(s[n+14>>0]|0|0,0,16)|0;ht=ht|I;mt=Cs(s[n+15>>0]|0|0,0,24)|0;ht=xs(st|gt|ot|mt|0,ht|I|0,6)|0;mt=at+32|0;o[mt>>2]=ht&67108863;o[mt+4>>2]=0;mt=s[n+16>>0]|0;ht=Cs(s[n+17>>0]|0|0,0,8)|0;ot=I;gt=Cs(s[n+18>>0]|0|0,0,16)|0;ot=ot|I;st=s[n+19>>0]|0;yt=Cs(st|0,0,24)|0;pt=at+40|0;o[pt>>2]=ht|mt|gt|yt&16777216;o[pt+4>>2]=ot;pt=Cs(s[n+20>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+21>>0]|0|0,0,16)|0;ot=ot|I;gt=s[n+22>>0]|0;mt=Cs(gt|0,0,24)|0;ot=xs(pt|st|yt|mt|0,ot|I|0,1)|0;mt=at+48|0;o[mt>>2]=ot&67108863;o[mt+4>>2]=0;mt=Cs(s[n+23>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+24>>0]|0|0,0,16)|0;ot=ot|I;st=s[n+25>>0]|0;pt=Cs(st|0,0,24)|0;ot=xs(mt|gt|yt|pt|0,ot|I|0,3)|0;pt=at+56|0;o[pt>>2]=ot&33554431;o[pt+4>>2]=0;pt=Cs(s[n+26>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+27>>0]|0|0,0,16)|0;ot=ot|I;gt=s[n+28>>0]|0;mt=Cs(gt|0,0,24)|0;ot=xs(pt|st|yt|mt|0,ot|I|0,4)|0;mt=at+64|0;o[mt>>2]=ot&67108863;o[mt+4>>2]=0;mt=Cs(s[n+29>>0]|0|0,0,8)|0;ot=I;yt=Cs(s[n+30>>0]|0|0,0,16)|0;ot=ot|I;st=Cs(s[n+31>>0]|0|0,0,24)|0;ot=xs(mt|gt|yt|st|0,ot|I|0,6)|0;st=at+72|0;o[st>>2]=ot&33554431;o[st+4>>2]=0;Ds(Et|0,0,152)|0;st=Et;o[st>>2]=1;o[st+4>>2]=0;Ds(kt|0,0,152)|0;st=kt;o[st>>2]=1;o[st+4>>2]=0;Ds(St|0,0,152)|0;Ds(f|0,0,152)|0;Ds(c|0,0,152)|0;st=c;o[st>>2]=1;o[st+4>>2]=0;Ds(a|0,0,152)|0;Ds(i|0,0,152)|0;st=i;o[st>>2]=1;o[st+4>>2]=0;st=Ct+80|0;ot=st+72|0;do{o[st>>2]=0;st=st+4|0}while((st|0)<(ot|0));st=Ct;t=at;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));oe=xt+144|0;se=xt+64|0;ae=xt+136|0;ce=xt+56|0;fe=xt+128|0;ue=xt+48|0;le=xt+120|0;de=xt+40|0;he=xt+112|0;pe=xt+32|0;me=xt+104|0;ge=xt+24|0;ye=xt+96|0;be=xt+16|0;_e=xt+88|0;ve=xt+8|0;Ae=xt+80|0;we=vt+144|0;Ee=vt+64|0;ke=vt+136|0;Se=vt+56|0;Ie=vt+128|0;Te=vt+48|0;Re=vt+120|0;Oe=vt+40|0;xe=vt+112|0;Ce=vt+32|0;Pe=vt+104|0;Me=vt+24|0;De=vt+96|0;Be=vt+16|0;Ne=vt+88|0;je=vt+8|0;Ue=vt+80|0;ie=xt+72|0;Le=vt+72|0;Fe=bt+8|0;qe=_t+8|0;Ke=bt+16|0;ze=_t+16|0;Ge=bt+24|0;He=_t+24|0;Ve=bt+32|0;Qe=_t+32|0;We=bt+40|0;Ye=_t+40|0;Xe=bt+48|0;Je=_t+48|0;Ze=bt+56|0;$e=_t+56|0;et=bt+64|0;tt=_t+64|0;nt=bt+72|0;rt=_t+72|0;ft=It+80|0;ut=It+8|0;lt=It+16|0;dt=It+24|0;ht=It+32|0;pt=It+40|0;mt=It+48|0;gt=It+56|0;yt=It+64|0;it=It+72|0;d=Ct;re=0;t=f;n=Et;f=St;u=kt;while(1){l=r[ct+(31-re)>>0]|0;$=0;ee=i;te=a;ne=c;J=t;c=n;i=f;a=u;Z=d;while(1){Y=l&255;X=Y>>>7;Mo(a,Z,X,0);Mo(i,c,X,0);E=a;u=o[E>>2]|0;E=o[E+4>>2]|0;V=a+8|0;G=V;P=o[G>>2]|0;G=o[G+4>>2]|0;Nt=a+16|0;T=Nt;S=o[T>>2]|0;T=o[T+4>>2]|0;R=a+24|0;Mt=R;Q=o[Mt>>2]|0;Mt=o[Mt+4>>2]|0;_=a+32|0;v=_;jt=o[v>>2]|0;v=o[v+4>>2]|0;y=a+40|0;l=y;O=o[l>>2]|0;l=o[l+4>>2]|0;z=a+48|0;ot=z;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;B=a+56|0;x=B;F=o[x>>2]|0;x=o[x+4>>2]|0;Ut=a+64|0;A=Ut;U=o[A>>2]|0;A=o[A+4>>2]|0;g=a+72|0;Dt=g;Bt=o[Dt>>2]|0;Dt=o[Dt+4>>2]|0;k=i;j=o[k>>2]|0;k=o[k+4>>2]|0;b=ks(j|0,k|0,u|0,E|0)|0;p=a;o[p>>2]=b;o[p+4>>2]=I;p=i+8|0;b=p;H=o[b>>2]|0;b=o[b+4>>2]|0;D=ks(H|0,b|0,P|0,G|0)|0;o[V>>2]=D;o[V+4>>2]=I;V=i+16|0;D=V;L=o[D>>2]|0;D=o[D+4>>2]|0;f=ks(L|0,D|0,S|0,T|0)|0;o[Nt>>2]=f;o[Nt+4>>2]=I;Nt=i+24|0;f=Nt;n=o[f>>2]|0;f=o[f+4>>2]|0;Ft=ks(n|0,f|0,Q|0,Mt|0)|0;o[R>>2]=Ft;o[R+4>>2]=I;R=i+32|0;Ft=R;m=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;N=ks(m|0,Ft|0,jt|0,v|0)|0;o[_>>2]=N;o[_+4>>2]=I;_=i+40|0;N=_;q=o[N>>2]|0;N=o[N+4>>2]|0;w=ks(q|0,N|0,O|0,l|0)|0;o[y>>2]=w;o[y+4>>2]=I;y=i+48|0;w=y;M=o[w>>2]|0;w=o[w+4>>2]|0;d=ks(M|0,w|0,W|0,ot|0)|0;o[z>>2]=d;o[z+4>>2]=I;z=i+56|0;d=z;C=o[d>>2]|0;d=o[d+4>>2]|0;st=ks(C|0,d|0,F|0,x|0)|0;o[B>>2]=st;o[B+4>>2]=I;B=i+64|0;st=B;t=o[st>>2]|0;st=o[st+4>>2]|0;Lt=ks(t|0,st|0,U|0,A|0)|0;o[Ut>>2]=Lt;o[Ut+4>>2]=I;Ut=i+72|0;Lt=Ut;K=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;qt=ks(K|0,Lt|0,Bt|0,Dt|0)|0;o[g>>2]=qt;o[g+4>>2]=I;k=Ss(u|0,E|0,j|0,k|0)|0;j=i;o[j>>2]=k;o[j+4>>2]=I;b=Ss(P|0,G|0,H|0,b|0)|0;o[p>>2]=b;o[p+4>>2]=I;D=Ss(S|0,T|0,L|0,D|0)|0;o[V>>2]=D;o[V+4>>2]=I;f=Ss(Q|0,Mt|0,n|0,f|0)|0;o[Nt>>2]=f;o[Nt+4>>2]=I;Ft=Ss(jt|0,v|0,m|0,Ft|0)|0;o[R>>2]=Ft;o[R+4>>2]=I;N=Ss(O|0,l|0,q|0,N|0)|0;o[_>>2]=N;o[_+4>>2]=I;w=Ss(W|0,ot|0,M|0,w|0)|0;o[y>>2]=w;o[y+4>>2]=I;d=Ss(F|0,x|0,C|0,d|0)|0;o[z>>2]=d;o[z+4>>2]=I;st=Ss(U|0,A|0,t|0,st|0)|0;o[B>>2]=st;o[B+4>>2]=I;Lt=Ss(Bt|0,Dt|0,K|0,Lt|0)|0;o[Ut>>2]=Lt;o[Ut+4>>2]=I;Ut=Z;Lt=o[Ut>>2]|0;Ut=o[Ut+4>>2]|0;K=Z+8|0;Dt=K;Bt=o[Dt>>2]|0;Dt=o[Dt+4>>2]|0;B=Z+16|0;st=B;t=o[st>>2]|0;st=o[st+4>>2]|0;A=Z+24|0;U=A;z=o[U>>2]|0;U=o[U+4>>2]|0;d=Z+32|0;C=d;x=o[C>>2]|0;C=o[C+4>>2]|0;F=Z+40|0;y=F;w=o[y>>2]|0;y=o[y+4>>2]|0;M=Z+48|0;ot=M;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;_=Z+56|0;N=_;q=o[N>>2]|0;N=o[N+4>>2]|0;l=Z+64|0;O=l;R=o[O>>2]|0;O=o[O+4>>2]|0;Ft=Z+72|0;m=Ft;v=o[m>>2]|0;m=o[m+4>>2]|0;jt=c;Nt=o[jt>>2]|0;jt=o[jt+4>>2]|0;f=ks(Nt|0,jt|0,Lt|0,Ut|0)|0;n=Z;o[n>>2]=f;o[n+4>>2]=I;n=c+8|0;f=n;Mt=o[f>>2]|0;f=o[f+4>>2]|0;Q=ks(Mt|0,f|0,Bt|0,Dt|0)|0;o[K>>2]=Q;o[K+4>>2]=I;K=c+16|0;Q=K;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;D=ks(V|0,Q|0,t|0,st|0)|0;o[B>>2]=D;o[B+4>>2]=I;B=c+24|0;D=B;L=o[D>>2]|0;D=o[D+4>>2]|0;T=ks(L|0,D|0,z|0,U|0)|0;o[A>>2]=T;o[A+4>>2]=I;A=c+32|0;T=A;S=o[T>>2]|0;T=o[T+4>>2]|0;p=ks(S|0,T|0,x|0,C|0)|0;o[d>>2]=p;o[d+4>>2]=I;d=c+40|0;p=d;b=o[p>>2]|0;p=o[p+4>>2]|0;H=ks(b|0,p|0,w|0,y|0)|0;o[F>>2]=H;o[F+4>>2]=I;F=c+48|0;H=F;G=o[H>>2]|0;H=o[H+4>>2]|0;P=ks(G|0,H|0,W|0,ot|0)|0;o[M>>2]=P;o[M+4>>2]=I;M=c+56|0;P=M;j=o[P>>2]|0;P=o[P+4>>2]|0;k=ks(j|0,P|0,q|0,N|0)|0;o[_>>2]=k;o[_+4>>2]=I;_=c+64|0;k=_;E=o[k>>2]|0;k=o[k+4>>2]|0;u=ks(E|0,k|0,R|0,O|0)|0;o[l>>2]=u;o[l+4>>2]=I;l=c+72|0;u=l;g=o[u>>2]|0;u=o[u+4>>2]|0;qt=ks(g|0,u|0,v|0,m|0)|0;o[Ft>>2]=qt;o[Ft+4>>2]=I;jt=Ss(Lt|0,Ut|0,Nt|0,jt|0)|0;Nt=c;o[Nt>>2]=jt;o[Nt+4>>2]=I;f=Ss(Bt|0,Dt|0,Mt|0,f|0)|0;o[n>>2]=f;o[n+4>>2]=I;Q=Ss(t|0,st|0,V|0,Q|0)|0;o[K>>2]=Q;o[K+4>>2]=I;D=Ss(z|0,U|0,L|0,D|0)|0;o[B>>2]=D;o[B+4>>2]=I;T=Ss(x|0,C|0,S|0,T|0)|0;o[A>>2]=T;o[A+4>>2]=I;p=Ss(w|0,y|0,b|0,p|0)|0;o[d>>2]=p;o[d+4>>2]=I;H=Ss(W|0,ot|0,G|0,H|0)|0;o[F>>2]=H;o[F+4>>2]=I;P=Ss(q|0,N|0,j|0,P|0)|0;o[M>>2]=P;o[M+4>>2]=I;k=Ss(R|0,O|0,E|0,k|0)|0;o[_>>2]=k;o[_+4>>2]=I;u=Ss(v|0,m|0,g|0,u|0)|0;o[l>>2]=u;o[l+4>>2]=I;Do(xt,Z,i);Do(vt,a,c);l=oe;u=o[l>>2]|0;l=o[l+4>>2]|0;g=se;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=se;o[v>>2]=_;o[v+4>>2]=I;v=ae;_=o[v>>2]|0;v=o[v+4>>2]|0;l=ce;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=ce;o[g>>2]=m;o[g+4>>2]=I;g=fe;m=o[g>>2]|0;g=o[g+4>>2]|0;v=ue;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=ue;o[l>>2]=u;o[l+4>>2]=I;l=le;u=o[l>>2]|0;l=o[l+4>>2]|0;g=de;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=de;o[v>>2]=_;o[v+4>>2]=I;v=he;_=o[v>>2]|0;v=o[v+4>>2]|0;l=pe;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=pe;o[g>>2]=m;o[g+4>>2]=I;g=me;m=o[g>>2]|0;g=o[g+4>>2]|0;v=ge;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=ge;o[l>>2]=u;o[l+4>>2]=I;l=ye;u=o[l>>2]|0;l=o[l+4>>2]|0;g=be;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=be;o[v>>2]=_;o[v+4>>2]=I;v=_e;_=o[v>>2]|0;v=o[v+4>>2]|0;l=ve;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=ve;o[g>>2]=m;o[g+4>>2]=I;g=Ae;m=o[g>>2]|0;g=o[g+4>>2]|0;v=xt;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=xt;o[l>>2]=u;o[l+4>>2]=I;Bo(xt);l=we;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Ee;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=Ee;o[v>>2]=_;o[v+4>>2]=I;v=ke;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Se;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=Se;o[g>>2]=m;o[g+4>>2]=I;g=Ie;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Te;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=Te;o[l>>2]=u;o[l+4>>2]=I;l=Re;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Oe;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=Oe;o[v>>2]=_;o[v+4>>2]=I;v=xe;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Ce;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=Ce;o[g>>2]=m;o[g+4>>2]=I;g=Pe;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Me;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=Me;o[l>>2]=u;o[l+4>>2]=I;l=De;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Be;m=o[g>>2]|0;g=o[g+4>>2]|0;v=Es(u|0,l|0,18,0)|0;_=I;l=ks(m|0,g|0,u|0,l|0)|0;_=ks(l|0,I|0,v|0,_|0)|0;v=Be;o[v>>2]=_;o[v+4>>2]=I;v=Ne;_=o[v>>2]|0;v=o[v+4>>2]|0;l=je;u=o[l>>2]|0;l=o[l+4>>2]|0;g=Es(_|0,v|0,18,0)|0;m=I;v=ks(u|0,l|0,_|0,v|0)|0;m=ks(v|0,I|0,g|0,m|0)|0;g=je;o[g>>2]=m;o[g+4>>2]=I;g=Ue;m=o[g>>2]|0;g=o[g+4>>2]|0;v=vt;_=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(m|0,g|0,18,0)|0;u=I;g=ks(_|0,v|0,m|0,g|0)|0;u=ks(g|0,I|0,l|0,u|0)|0;l=vt;o[l>>2]=u;o[l+4>>2]=I;Bo(vt);l=xt;u=o[l>>2]|0;l=o[l+4>>2]|0;g=ve;m=o[g>>2]|0;g=o[g+4>>2]|0;v=be;_=o[v>>2]|0;v=o[v+4>>2]|0;k=ge;E=o[k>>2]|0;k=o[k+4>>2]|0;O=pe;R=o[O>>2]|0;O=o[O+4>>2]|0;M=de;P=o[M>>2]|0;M=o[M+4>>2]|0;j=ue;N=o[j>>2]|0;j=o[j+4>>2]|0;q=ce;F=o[q>>2]|0;q=o[q+4>>2]|0;H=se;G=o[H>>2]|0;H=o[H+4>>2]|0;ot=ie;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;d=vt;p=o[d>>2]|0;d=o[d+4>>2]|0;b=ks(p|0,d|0,u|0,l|0)|0;y=xt;o[y>>2]=b;o[y+4>>2]=I;y=je;b=o[y>>2]|0;y=o[y+4>>2]|0;w=ks(b|0,y|0,m|0,g|0)|0;A=ve;o[A>>2]=w;o[A+4>>2]=I;A=Be;w=o[A>>2]|0;A=o[A+4>>2]|0;T=ks(w|0,A|0,_|0,v|0)|0;S=be;o[S>>2]=T;o[S+4>>2]=I;S=Me;T=o[S>>2]|0;S=o[S+4>>2]|0;C=ks(T|0,S|0,E|0,k|0)|0;x=ge;o[x>>2]=C;o[x+4>>2]=I;x=Ce;C=o[x>>2]|0;x=o[x+4>>2]|0;B=ks(C|0,x|0,R|0,O|0)|0;D=pe;o[D>>2]=B;o[D+4>>2]=I;D=Oe;B=o[D>>2]|0;D=o[D+4>>2]|0;L=ks(B|0,D|0,P|0,M|0)|0;U=de;o[U>>2]=L;o[U+4>>2]=I;U=Te;L=o[U>>2]|0;U=o[U+4>>2]|0;z=ks(L|0,U|0,N|0,j|0)|0;K=ue;o[K>>2]=z;o[K+4>>2]=I;K=Se;z=o[K>>2]|0;K=o[K+4>>2]|0;Q=ks(z|0,K|0,F|0,q|0)|0;V=ce;o[V>>2]=Q;o[V+4>>2]=I;V=Ee;Q=o[V>>2]|0;V=o[V+4>>2]|0;st=ks(Q|0,V|0,G|0,H|0)|0;t=se;o[t>>2]=st;o[t+4>>2]=I;t=Le;st=o[t>>2]|0;t=o[t+4>>2]|0;n=ks(st|0,t|0,W|0,ot|0)|0;f=ie;o[f>>2]=n;o[f+4>>2]=I;d=Ss(u|0,l|0,p|0,d|0)|0;p=vt;o[p>>2]=d;o[p+4>>2]=I;y=Ss(m|0,g|0,b|0,y|0)|0;b=je;o[b>>2]=y;o[b+4>>2]=I;A=Ss(_|0,v|0,w|0,A|0)|0;w=Be;o[w>>2]=A;o[w+4>>2]=I;S=Ss(E|0,k|0,T|0,S|0)|0;T=Me;o[T>>2]=S;o[T+4>>2]=I;x=Ss(R|0,O|0,C|0,x|0)|0;C=Ce;o[C>>2]=x;o[C+4>>2]=I;D=Ss(P|0,M|0,B|0,D|0)|0;B=Oe;o[B>>2]=D;o[B+4>>2]=I;U=Ss(N|0,j|0,L|0,U|0)|0;L=Te;o[L>>2]=U;o[L+4>>2]=I;K=Ss(F|0,q|0,z|0,K|0)|0;z=Se;o[z>>2]=K;o[z+4>>2]=I;V=Ss(G|0,H|0,Q|0,V|0)|0;Q=Ee;o[Q>>2]=V;o[Q+4>>2]=I;t=Ss(W|0,ot|0,st|0,t|0)|0;st=Le;o[st>>2]=t;o[st+4>>2]=I;No(wt,xt);No(At,vt);Do(vt,At,at);st=we;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Ee;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Es(t|0,st|0,18,0)|0;V=I;st=ks(W|0,ot|0,t|0,st|0)|0;V=ks(st|0,I|0,Q|0,V|0)|0;Q=Ee;o[Q>>2]=V;o[Q+4>>2]=I;Q=ke;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Se;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(V|0,Q|0,18,0)|0;W=I;Q=ks(t|0,st|0,V|0,Q|0)|0;W=ks(Q|0,I|0,ot|0,W|0)|0;ot=Se;o[ot>>2]=W;o[ot+4>>2]=I;ot=Ie;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Te;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Es(W|0,ot|0,18,0)|0;t=I;ot=ks(V|0,Q|0,W|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=Te;o[st>>2]=t;o[st+4>>2]=I;st=Re;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Oe;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Es(t|0,st|0,18,0)|0;V=I;st=ks(W|0,ot|0,t|0,st|0)|0;V=ks(st|0,I|0,Q|0,V|0)|0;Q=Oe;o[Q>>2]=V;o[Q+4>>2]=I;Q=xe;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Ce;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(V|0,Q|0,18,0)|0;W=I;Q=ks(t|0,st|0,V|0,Q|0)|0;W=ks(Q|0,I|0,ot|0,W|0)|0;ot=Ce;o[ot>>2]=W;o[ot+4>>2]=I;ot=Pe;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Me;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Es(W|0,ot|0,18,0)|0;t=I;ot=ks(V|0,Q|0,W|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=Me;o[st>>2]=t;o[st+4>>2]=I;st=De;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Be;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Es(t|0,st|0,18,0)|0;V=I;st=ks(W|0,ot|0,t|0,st|0)|0;V=ks(st|0,I|0,Q|0,V|0)|0;Q=Be;o[Q>>2]=V;o[Q+4>>2]=I;Q=Ne;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=je;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(V|0,Q|0,18,0)|0;W=I;Q=ks(t|0,st|0,V|0,Q|0)|0;W=ks(Q|0,I|0,ot|0,W|0)|0;ot=je;o[ot>>2]=W;o[ot+4>>2]=I;ot=Ue;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=vt;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Es(W|0,ot|0,18,0)|0;t=I;ot=ks(V|0,Q|0,W|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=vt;o[st>>2]=t;o[st+4>>2]=I;Bo(vt);st=J;t=wt;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));st=ne;t=vt;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(bt,a);No(_t,i);Do(te,bt,_t);f=te+144|0;p=o[f>>2]|0;f=o[f+4>>2]|0;d=te+64|0;l=d;u=o[l>>2]|0;l=o[l+4>>2]|0;t=Es(p|0,f|0,18,0)|0;n=I;f=ks(u|0,l|0,p|0,f|0)|0;n=ks(f|0,I|0,t|0,n|0)|0;o[d>>2]=n;o[d+4>>2]=I;d=te+136|0;n=o[d>>2]|0;d=o[d+4>>2]|0;t=te+56|0;f=t;p=o[f>>2]|0;f=o[f+4>>2]|0;l=Es(n|0,d|0,18,0)|0;u=I;d=ks(p|0,f|0,n|0,d|0)|0;u=ks(d|0,I|0,l|0,u|0)|0;o[t>>2]=u;o[t+4>>2]=I;t=te+128|0;u=o[t>>2]|0;t=o[t+4>>2]|0;l=te+48|0;d=l;n=o[d>>2]|0;d=o[d+4>>2]|0;f=Es(u|0,t|0,18,0)|0;p=I;t=ks(n|0,d|0,u|0,t|0)|0;p=ks(t|0,I|0,f|0,p|0)|0;o[l>>2]=p;o[l+4>>2]=I;l=te+120|0;p=o[l>>2]|0;l=o[l+4>>2]|0;f=te+40|0;t=f;u=o[t>>2]|0;t=o[t+4>>2]|0;d=Es(p|0,l|0,18,0)|0;n=I;l=ks(u|0,t|0,p|0,l|0)|0;n=ks(l|0,I|0,d|0,n|0)|0;o[f>>2]=n;o[f+4>>2]=I;f=te+112|0;n=o[f>>2]|0;f=o[f+4>>2]|0;d=te+32|0;l=d;p=o[l>>2]|0;l=o[l+4>>2]|0;t=Es(n|0,f|0,18,0)|0;u=I;f=ks(p|0,l|0,n|0,f|0)|0;u=ks(f|0,I|0,t|0,u|0)|0;o[d>>2]=u;o[d+4>>2]=I;d=te+104|0;u=o[d>>2]|0;d=o[d+4>>2]|0;t=te+24|0;f=t;n=o[f>>2]|0;f=o[f+4>>2]|0;l=Es(u|0,d|0,18,0)|0;p=I;d=ks(n|0,f|0,u|0,d|0)|0;p=ks(d|0,I|0,l|0,p|0)|0;o[t>>2]=p;o[t+4>>2]=I;t=te+96|0;p=o[t>>2]|0;t=o[t+4>>2]|0;l=te+16|0;d=l;u=o[d>>2]|0;d=o[d+4>>2]|0;f=Es(p|0,t|0,18,0)|0;n=I;t=ks(u|0,d|0,p|0,t|0)|0;n=ks(t|0,I|0,f|0,n|0)|0;o[l>>2]=n;o[l+4>>2]=I;l=te+88|0;n=o[l>>2]|0;l=o[l+4>>2]|0;f=te+8|0;t=f;p=o[t>>2]|0;t=o[t+4>>2]|0;d=Es(n|0,l|0,18,0)|0;u=I;l=ks(p|0,t|0,n|0,l|0)|0;u=ks(l|0,I|0,d|0,u|0)|0;o[f>>2]=u;o[f+4>>2]=I;f=te+80|0;u=o[f>>2]|0;f=o[f+4>>2]|0;d=te;l=o[d>>2]|0;d=o[d+4>>2]|0;n=Es(u|0,f|0,18,0)|0;t=I;f=ks(l|0,d|0,u|0,f|0)|0;t=ks(f|0,I|0,n|0,t|0)|0;n=te;o[n>>2]=t;o[n+4>>2]=I;Bo(te);n=bt;t=o[n>>2]|0;n=o[n+4>>2]|0;f=_t;f=Ss(t|0,n|0,o[f>>2]|0,o[f+4>>2]|0)|0;u=I;d=_t;o[d>>2]=f;o[d+4>>2]=u;d=Fe;l=o[d>>2]|0;d=o[d+4>>2]|0;p=qe;p=Ss(l|0,d|0,o[p>>2]|0,o[p+4>>2]|0)|0;m=I;y=qe;o[y>>2]=p;o[y+4>>2]=m;y=Ke;g=o[y>>2]|0;y=o[y+4>>2]|0;b=ze;b=Ss(g|0,y|0,o[b>>2]|0,o[b+4>>2]|0)|0;_=I;A=ze;o[A>>2]=b;o[A+4>>2]=_;A=Ge;v=o[A>>2]|0;A=o[A+4>>2]|0;w=He;w=Ss(v|0,A|0,o[w>>2]|0,o[w+4>>2]|0)|0;E=I;S=He;o[S>>2]=w;o[S+4>>2]=E;S=Ve;k=o[S>>2]|0;S=o[S+4>>2]|0;T=Qe;T=Ss(k|0,S|0,o[T>>2]|0,o[T+4>>2]|0)|0;R=I;x=Qe;o[x>>2]=T;o[x+4>>2]=R;x=We;O=o[x>>2]|0;x=o[x+4>>2]|0;C=Ye;C=Ss(O|0,x|0,o[C>>2]|0,o[C+4>>2]|0)|0;P=I;D=Ye;o[D>>2]=C;o[D+4>>2]=P;D=Xe;M=o[D>>2]|0;D=o[D+4>>2]|0;B=Je;B=Ss(M|0,D|0,o[B>>2]|0,o[B+4>>2]|0)|0;N=I;U=Je;o[U>>2]=B;o[U+4>>2]=N;U=Ze;j=o[U>>2]|0;U=o[U+4>>2]|0;L=$e;L=Ss(j|0,U|0,o[L>>2]|0,o[L+4>>2]|0)|0;F=I;K=$e;o[K>>2]=L;o[K+4>>2]=F;K=et;q=o[K>>2]|0;K=o[K+4>>2]|0;z=tt;z=Ss(q|0,K|0,o[z>>2]|0,o[z+4>>2]|0)|0;G=I;V=tt;o[V>>2]=z;o[V+4>>2]=G;V=nt;H=o[V>>2]|0;V=o[V+4>>2]|0;Q=rt;Q=Ss(H|0,V|0,o[Q>>2]|0,o[Q+4>>2]|0)|0;W=I;st=rt;o[st>>2]=Q;o[st+4>>2]=W;st=ft;ot=st+72|0;do{o[st>>2]=0;st=st+4|0}while((st|0)<(ot|0));Lt=Es(f|0,u|0,121665,0)|0;Bt=It;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(p|0,m|0,121665,0)|0;Lt=ut;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(b|0,_|0,121665,0)|0;Bt=lt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(w|0,E|0,121665,0)|0;Lt=dt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(T|0,R|0,121665,0)|0;Bt=ht;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(C|0,P|0,121665,0)|0;Lt=pt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(B|0,N|0,121665,0)|0;Bt=mt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(L|0,F|0,121665,0)|0;Lt=gt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(z|0,G|0,121665,0)|0;Bt=yt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(Q|0,W|0,121665,0)|0;Lt=it;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Bo(It);Lt=It;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,t|0,n|0)|0;Bt=It;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=ut;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,l|0,d|0)|0;Lt=ut;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=lt;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,g|0,y|0)|0;Bt=lt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=dt;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,v|0,A|0)|0;Lt=dt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=ht;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,k|0,S|0)|0;Bt=ht;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=pt;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,O|0,x|0)|0;Lt=pt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=mt;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,M|0,D|0)|0;Bt=mt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=gt;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,j|0,U|0)|0;Lt=gt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=yt;Lt=ks(o[Lt>>2]|0,o[Lt+4>>2]|0,q|0,K|0)|0;Bt=yt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=it;Bt=ks(o[Bt>>2]|0,o[Bt+4>>2]|0,H|0,V|0)|0;Lt=it;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Do(ee,_t,It);Lt=ee+144|0;Bt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;jt=ee+64|0;Nt=jt;Ut=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Ft=Es(Bt|0,Lt|0,18,0)|0;qt=I;Lt=ks(Ut|0,Nt|0,Bt|0,Lt|0)|0;qt=ks(Lt|0,I|0,Ft|0,qt|0)|0;o[jt>>2]=qt;o[jt+4>>2]=I;jt=ee+136|0;qt=o[jt>>2]|0;jt=o[jt+4>>2]|0;Ft=ee+56|0;Lt=Ft;Bt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;Nt=Es(qt|0,jt|0,18,0)|0;Ut=I;jt=ks(Bt|0,Lt|0,qt|0,jt|0)|0;Ut=ks(jt|0,I|0,Nt|0,Ut|0)|0;o[Ft>>2]=Ut;o[Ft+4>>2]=I;Ft=ee+128|0;Ut=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;Nt=ee+48|0;jt=Nt;qt=o[jt>>2]|0;jt=o[jt+4>>2]|0;Lt=Es(Ut|0,Ft|0,18,0)|0;Bt=I;Ft=ks(qt|0,jt|0,Ut|0,Ft|0)|0;Bt=ks(Ft|0,I|0,Lt|0,Bt|0)|0;o[Nt>>2]=Bt;o[Nt+4>>2]=I;Nt=ee+120|0;Bt=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Lt=ee+40|0;Ft=Lt;Ut=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;jt=Es(Bt|0,Nt|0,18,0)|0;qt=I;Nt=ks(Ut|0,Ft|0,Bt|0,Nt|0)|0;qt=ks(Nt|0,I|0,jt|0,qt|0)|0;o[Lt>>2]=qt;o[Lt+4>>2]=I;Lt=ee+112|0;qt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;jt=ee+32|0;Nt=jt;Bt=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Ft=Es(qt|0,Lt|0,18,0)|0;Ut=I;Lt=ks(Bt|0,Nt|0,qt|0,Lt|0)|0;Ut=ks(Lt|0,I|0,Ft|0,Ut|0)|0;o[jt>>2]=Ut;o[jt+4>>2]=I;jt=ee+104|0;Ut=o[jt>>2]|0;jt=o[jt+4>>2]|0;Ft=ee+24|0;Lt=Ft;qt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;Nt=Es(Ut|0,jt|0,18,0)|0;Bt=I;jt=ks(qt|0,Lt|0,Ut|0,jt|0)|0;Bt=ks(jt|0,I|0,Nt|0,Bt|0)|0;o[Ft>>2]=Bt;o[Ft+4>>2]=I;Ft=ee+96|0;Bt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;Nt=ee+16|0;jt=Nt;Ut=o[jt>>2]|0;jt=o[jt+4>>2]|0;Lt=Es(Bt|0,Ft|0,18,0)|0;qt=I;Ft=ks(Ut|0,jt|0,Bt|0,Ft|0)|0;qt=ks(Ft|0,I|0,Lt|0,qt|0)|0;o[Nt>>2]=qt;o[Nt+4>>2]=I;Nt=ee+88|0;qt=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Lt=ee+8|0;Ft=Lt;Bt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;jt=Es(qt|0,Nt|0,18,0)|0;Ut=I;Nt=ks(Bt|0,Ft|0,qt|0,Nt|0)|0;Ut=ks(Nt|0,I|0,jt|0,Ut|0)|0;o[Lt>>2]=Ut;o[Lt+4>>2]=I;Lt=ee+80|0;Ut=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;jt=ee;Nt=o[jt>>2]|0;jt=o[jt+4>>2]|0;qt=Es(Ut|0,Lt|0,18,0)|0;Ft=I;Lt=ks(Nt|0,jt|0,Ut|0,Lt|0)|0;Ft=ks(Lt|0,I|0,qt|0,Ft|0)|0;qt=ee;o[qt>>2]=Ft;o[qt+4>>2]=I;Bo(ee);Mo(te,J,X,0);Mo(ee,ne,X,0);$=$+1|0;if(($|0)==8)break;else{Ut=Z;Lt=c;Ft=a;qt=i;l=Y<<1&255;Z=J;a=te;i=ee;c=ne;J=Ut;ne=Lt;te=Ft;ee=qt}}re=re+1|0;if((re|0)==32)break;else{d=J;t=Z;n=ne;f=ee;u=te}}st=Tt;t=te;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));st=Rt;t=ee;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(bt,Rt);No(St,bt);No(kt,St);Do(It,kt,Rt);n=It+144|0;u=n;f=o[u>>2]|0;u=o[u+4>>2]|0;c=yt;a=o[c>>2]|0;c=o[c+4>>2]|0;i=Es(f|0,u|0,18,0)|0;l=I;u=ks(a|0,c|0,f|0,u|0)|0;l=ks(u|0,I|0,i|0,l|0)|0;i=yt;o[i>>2]=l;o[i+4>>2]=I;i=It+136|0;l=i;u=o[l>>2]|0;l=o[l+4>>2]|0;f=gt;c=o[f>>2]|0;f=o[f+4>>2]|0;a=Es(u|0,l|0,18,0)|0;d=I;l=ks(c|0,f|0,u|0,l|0)|0;d=ks(l|0,I|0,a|0,d|0)|0;a=gt;o[a>>2]=d;o[a+4>>2]=I;a=It+128|0;d=a;l=o[d>>2]|0;d=o[d+4>>2]|0;u=mt;f=o[u>>2]|0;u=o[u+4>>2]|0;c=Es(l|0,d|0,18,0)|0;ot=I;d=ks(f|0,u|0,l|0,d|0)|0;ot=ks(d|0,I|0,c|0,ot|0)|0;c=mt;o[c>>2]=ot;o[c+4>>2]=I;c=It+120|0;ot=c;d=o[ot>>2]|0;ot=o[ot+4>>2]|0;l=pt;u=o[l>>2]|0;l=o[l+4>>2]|0;f=Es(d|0,ot|0,18,0)|0;t=I;ot=ks(u|0,l|0,d|0,ot|0)|0;t=ks(ot|0,I|0,f|0,t|0)|0;f=pt;o[f>>2]=t;o[f+4>>2]=I;f=It+112|0;t=f;ot=o[t>>2]|0;t=o[t+4>>2]|0;d=ht;l=o[d>>2]|0;d=o[d+4>>2]|0;u=Es(ot|0,t|0,18,0)|0;st=I;t=ks(l|0,d|0,ot|0,t|0)|0;st=ks(t|0,I|0,u|0,st|0)|0;u=ht;o[u>>2]=st;o[u+4>>2]=I;u=It+104|0;st=u;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=dt;d=o[ot>>2]|0;ot=o[ot+4>>2]|0;l=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(d|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,l|0,Lt|0)|0;l=dt;o[l>>2]=Lt;o[l+4>>2]=I;l=It+96|0;Lt=l;st=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;t=lt;ot=o[t>>2]|0;t=o[t+4>>2]|0;d=Es(st|0,Lt|0,18,0)|0;Ft=I;Lt=ks(ot|0,t|0,st|0,Lt|0)|0;Ft=ks(Lt|0,I|0,d|0,Ft|0)|0;d=lt;o[d>>2]=Ft;o[d+4>>2]=I;d=It+88|0;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=_t;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));Do(It,_t,bt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=xt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,xt);Do(It,kt,_t);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=vt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,vt);No(St,kt);No(kt,St);No(St,kt);No(kt,St);Do(It,kt,vt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=At;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,At);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,At);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=wt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,wt);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,wt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=kt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);Do(It,kt,At);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Ct;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,Ct);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,Ct);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Et;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,Et);No(kt,St);t=2;do{No(St,kt);No(kt,St);t=t+2|0}while(t>>>0<100);Do(It,kt,Et);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=St;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,Ct);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=kt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,xt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Ot;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));Do(It,Tt,Ot);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=yt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=yt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=i;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=gt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=gt;o[ot>>2]=qt;o[ot+4>>2]=I;ot=a;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=mt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=mt;o[st>>2]=t;o[st+4>>2]=I;st=c;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=pt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=f;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ht;o[ot>>2]=qt;o[ot+4>>2]=I;ot=u;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=dt;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=Es(t|0,st|0,18,0)|0;Lt=I;st=ks(qt|0,ot|0,t|0,st|0)|0;Lt=ks(st|0,I|0,Ft|0,Lt|0)|0;Ft=lt;o[Ft>>2]=Lt;o[Ft+4>>2]=I;Ft=d;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,Ft|0,18,0)|0;qt=I;Ft=ks(t|0,st|0,Lt|0,Ft|0)|0;qt=ks(Ft|0,I|0,ot|0,qt|0)|0;ot=ut;o[ot>>2]=qt;o[ot+4>>2]=I;ot=ft;qt=o[ot>>2]|0;ot=o[ot+4>>2]|0;Ft=It;Lt=o[Ft>>2]|0;Ft=o[Ft+4>>2]|0;st=Es(qt|0,ot|0,18,0)|0;t=I;ot=ks(Lt|0,Ft|0,qt|0,ot|0)|0;t=ks(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Rt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));Ct=o[Rt>>2]|0;At=Ct>>31&Ct;Mt=(At>>26)+(o[Rt+8>>2]|0)|0;qt=Mt>>31&Mt;Dt=(qt>>25)+(o[Rt+16>>2]|0)|0;Ft=Dt>>31&Dt;vt=(Ft>>26)+(o[Rt+24>>2]|0)|0;Bt=vt>>31&vt;Nt=(Bt>>25)+(o[Rt+32>>2]|0)|0;Tt=Nt>>31&Nt;jt=(Tt>>26)+(o[Rt+40>>2]|0)|0;It=jt>>31&jt;Ut=(It>>25)+(o[Rt+48>>2]|0)|0;St=Ut>>31&Ut;Lt=(St>>26)+(o[Rt+56>>2]|0)|0;kt=Lt>>31≪Ot=(kt>>25)+(o[Rt+64>>2]|0)|0;wt=Ot>>31&Ot;xt=(wt>>26)+(o[Rt+72>>2]|0)|0;Et=xt>>31&xt;At=((Et>>25)*19|0)+(Ct-(At&-67108864))|0;Ct=At>>31&At;qt=(Ct>>26)+(Mt-(qt&-33554432))|0;Mt=qt>>31&qt;Ft=(Mt>>25)+(Dt-(Ft&-67108864))|0;Dt=Ft>>31&Ft;Rt=(Dt>>26)+(vt-(Bt&-33554432))|0;Bt=Rt>>31&Rt;Tt=(Bt>>25)+(Nt-(Tt&-67108864))|0;Nt=Tt>>31&Tt;It=(Nt>>26)+(jt-(It&-33554432))|0;jt=It>>31&It;St=(jt>>25)+(Ut-(St&-67108864))|0;Ut=St>>31&St;kt=(Ut>>26)+(Lt-(kt&-33554432))|0;Lt=kt>>31&kt;wt=(Lt>>25)+(Ot-(wt&-67108864))|0;Ot=wt>>31&wt;Et=(Ot>>26)+(xt-(Et&-33554432))|0;xt=Et>>31&Et;Ct=((xt>>25)*19|0)+(At-(Ct&-67108864))|0;At=Ct>>31&Ct;Ct=Ct-(At&-67108864)|0;Mt=(Ct>>26)+((At>>26)+(qt-(Mt&-33554432)))|0;Dt=(Mt>>25)+(Ft-(Dt&-67108864))|0;Bt=(Dt>>26)+(Rt-(Bt&-33554432))|0;Nt=(Bt>>25)+(Tt-(Nt&-67108864))|0;jt=(Nt>>26)+(It-(jt&-33554432))|0;Ut=(jt>>25)+(St-(Ut&-67108864))|0;Lt=(Ut>>26)+(kt-(Lt&-33554432))|0;Ot=(Lt>>25)+(wt-(Ot&-67108864))|0;xt=(Ot>>26)+(Et-(xt&-33554432))|0;Ct=((xt>>25)*19|0)+(Ct&67108863)|0;Mt=(Ct>>26)+(Mt&33554431)|0;Dt=(Mt>>25)+(Dt&67108863)|0;Bt=(Dt>>26)+(Bt&33554431)|0;Nt=(Bt>>25)+(Nt&67108863)|0;jt=(Nt>>26)+(jt&33554431)|0;Ut=(jt>>25)+(Ut&67108863)|0;Lt=(Ut>>26)+(Lt&33554431)|0;Ot=(Lt>>25)+(Ot&67108863)|0;xt=(Ot>>26)+(xt&33554431)|0;Ct=((xt>>25)*19|0)+(Ct&67108863)|0;Et=Mt<<16&(Mt|-33554432);Et=Et<<8&Et;Et=Et<<4&Et;Et=Et<<2&Et;wt=Dt<<16&(Dt|-67108864);wt=wt<<8&wt;wt=wt<<4&wt;wt=wt<<2&wt;kt=Bt<<16&(Bt|-33554432);kt=kt<<8&kt;kt=kt<<4&kt;kt=kt<<2&kt;St=Nt<<16&(Nt|-67108864);St=St<<8&St;St=St<<4&St;St=St<<2&St;It=jt<<16&(jt|-33554432);It=It<<8&It;It=It<<4&It;It=It<<2&It;Tt=Ut<<16&(Ut|-67108864);Tt=Tt<<8&Tt;Tt=Tt<<4&Tt;Tt=Tt<<2&Tt;Rt=Lt<<16&(Lt|-33554432);Rt=Rt<<8&Rt;Rt=Rt<<4&Rt;Rt=Rt<<2&Rt;Ft=Ot<<16&(Ot|-67108864);Ft=Ft<<8&Ft;Ft=Ft<<4&Ft;Ft=Ft<<2&Ft;qt=xt<<16&(xt|-33554432);qt=qt<<8&qt;qt=qt<<4&qt;qt=qt<<2&qt;qt=(wt<<1&wt&(Et<<1&Et)&(kt<<1&kt)&(St<<1&St)&(It<<1&It))>>31&~(Ct+-67108845>>31)&(Tt<<1&Tt)>>31&(Rt<<1&Rt)>>31&(Ft<<1&Ft)>>31&(qt<<1&qt)>>31;Ct=Ct-(qt&67108845)|0;Ft=qt&67108863;qt=qt&33554431;Mt=(Mt&33554431)-qt|0;Dt=(Dt&67108863)-Ft|0;Bt=(Bt&33554431)-qt|0;Nt=(Nt&67108863)-Ft|0;jt=(jt&33554431)-qt|0;Ut=(Ut&67108863)-Ft|0;Lt=(Lt&33554431)-qt|0;Ft=(Ot&67108863)-Ft|0;qt=(xt&33554431)-qt|0;r[e>>0]=Ct;r[e+1>>0]=Ct>>>8;r[e+2>>0]=Ct>>>16;r[e+3>>0]=Ct>>>24|Mt<<2;r[e+4>>0]=Mt>>>6;r[e+5>>0]=Mt>>>14;r[e+6>>0]=Dt<<3|Mt>>>22;r[e+7>>0]=Dt>>>5;r[e+8>>0]=Dt>>>13;r[e+9>>0]=Bt<<5|Dt>>>21;r[e+10>>0]=Bt>>>3;r[e+11>>0]=Bt>>>11;r[e+12>>0]=Nt<<6|Bt>>>19;r[e+13>>0]=Nt>>>2;r[e+14>>0]=Nt>>>10;r[e+15>>0]=Nt>>>18;r[e+16>>0]=jt;r[e+17>>0]=jt>>>8;r[e+18>>0]=jt>>>16;r[e+19>>0]=jt>>>24|Ut<<1;r[e+20>>0]=Ut>>>7;r[e+21>>0]=Ut>>>15;r[e+22>>0]=Lt<<3|Ut>>>23;r[e+23>>0]=Lt>>>5;r[e+24>>0]=Lt>>>13;r[e+25>>0]=Ft<<4|Lt>>>21;r[e+26>>0]=Ft>>>4;r[e+27>>0]=Ft>>>12;r[e+28>>0]=qt<<6|Ft>>>20;r[e+29>>0]=qt>>>2;r[e+30>>0]=qt>>>10;r[e+31>>0]=qt>>>18;h=Pt;return 0}function Mo(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,c=0;n=0-n|0;a=e;i=o[a>>2]|0;s=t;s=(o[s>>2]^i)&n;i=s^i;a=e;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;s=s^o[t>>2];a=t;o[a>>2]=s;o[a+4>>2]=((s|0)<0)<<31>>31;a=e+8|0;s=a;i=o[s>>2]|0;r=t+8|0;c=r;c=(o[c>>2]^i)&n;i=c^i;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;c=c^o[r>>2];o[r>>2]=c;o[r+4>>2]=((c|0)<0)<<31>>31;r=e+16|0;c=r;a=o[c>>2]|0;i=t+16|0;s=i;s=(o[s>>2]^a)&n;a=s^a;o[r>>2]=a;o[r+4>>2]=((a|0)<0)<<31>>31;s=s^o[i>>2];o[i>>2]=s;o[i+4>>2]=((s|0)<0)<<31>>31;i=e+24|0;s=i;r=o[s>>2]|0;a=t+24|0;c=a;c=(o[c>>2]^r)&n;r=c^r;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;c=c^o[a>>2];o[a>>2]=c;o[a+4>>2]=((c|0)<0)<<31>>31;a=e+32|0;c=a;i=o[c>>2]|0;r=t+32|0;s=r;s=(o[s>>2]^i)&n;i=s^i;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;s=s^o[r>>2];o[r>>2]=s;o[r+4>>2]=((s|0)<0)<<31>>31;r=e+40|0;s=r;a=o[s>>2]|0;i=t+40|0;c=i;c=(o[c>>2]^a)&n;a=c^a;o[r>>2]=a;o[r+4>>2]=((a|0)<0)<<31>>31;c=c^o[i>>2];o[i>>2]=c;o[i+4>>2]=((c|0)<0)<<31>>31;i=e+48|0;c=i;r=o[c>>2]|0;a=t+48|0;s=a;s=(o[s>>2]^r)&n;r=s^r;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;s=s^o[a>>2];o[a>>2]=s;o[a+4>>2]=((s|0)<0)<<31>>31;a=e+56|0;s=a;i=o[s>>2]|0;r=t+56|0;c=r;c=(o[c>>2]^i)&n;i=c^i;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;c=c^o[r>>2];o[r>>2]=c;o[r+4>>2]=((c|0)<0)<<31>>31;r=e+64|0;c=r;a=o[c>>2]|0;i=t+64|0;s=i;s=(o[s>>2]^a)&n;a=s^a;o[r>>2]=a;o[r+4>>2]=((a|0)<0)<<31>>31;s=s^o[i>>2];o[i>>2]=s;o[i+4>>2]=((s|0)<0)<<31>>31;i=e+72|0;s=i;e=o[s>>2]|0;r=t+72|0;t=r;n=(o[t>>2]^e)&n;e=n^e;t=i;o[t>>2]=e;o[t+4>>2]=((e|0)<0)<<31>>31;n=n^o[r>>2];o[r>>2]=n;o[r+4>>2]=((n|0)<0)<<31>>31;return}function Do(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0;a=Os(0,o[t>>2]|0,32)|0;h=I;w=Os(0,o[n>>2]|0,32)|0;h=Es(w|0,I|0,a|0,h|0)|0;a=e;o[a>>2]=h;o[a+4>>2]=I;a=Os(0,o[t>>2]|0,32)|0;h=I;w=n+8|0;b=Os(0,o[w>>2]|0,32)|0;h=Es(b|0,I|0,a|0,h|0)|0;a=I;b=t+8|0;y=Os(0,o[b>>2]|0,32)|0;m=I;A=Os(0,o[n>>2]|0,32)|0;m=Es(A|0,I|0,y|0,m|0)|0;a=ks(m|0,I|0,h|0,a|0)|0;h=e+8|0;o[h>>2]=a;o[h+4>>2]=I;h=Os(0,o[b>>2]|0,31)|0;a=I;m=Os(0,o[w>>2]|0,32)|0;a=Es(m|0,I|0,h|0,a|0)|0;h=I;m=Os(0,o[t>>2]|0,32)|0;y=I;A=n+16|0;l=Os(0,o[A>>2]|0,32)|0;y=Es(l|0,I|0,m|0,y|0)|0;h=ks(y|0,I|0,a|0,h|0)|0;a=I;y=t+16|0;m=Os(0,o[y>>2]|0,32)|0;l=I;v=Os(0,o[n>>2]|0,32)|0;l=Es(v|0,I|0,m|0,l|0)|0;l=ks(h|0,a|0,l|0,I|0)|0;a=e+16|0;o[a>>2]=l;o[a+4>>2]=I;a=Os(0,o[b>>2]|0,32)|0;l=I;h=Os(0,o[A>>2]|0,32)|0;l=Es(h|0,I|0,a|0,l|0)|0;a=I;h=Os(0,o[y>>2]|0,32)|0;m=I;v=Os(0,o[w>>2]|0,32)|0;m=Es(v|0,I|0,h|0,m|0)|0;a=ks(m|0,I|0,l|0,a|0)|0;l=I;m=Os(0,o[t>>2]|0,32)|0;h=I;v=n+24|0;s=Os(0,o[v>>2]|0,32)|0;h=Es(s|0,I|0,m|0,h|0)|0;h=ks(a|0,l|0,h|0,I|0)|0;l=I;a=t+24|0;m=Os(0,o[a>>2]|0,32)|0;s=I;f=Os(0,o[n>>2]|0,32)|0;s=Es(f|0,I|0,m|0,s|0)|0;s=ks(h|0,l|0,s|0,I|0)|0;l=e+24|0;o[l>>2]=s;o[l+4>>2]=I;l=Os(0,o[y>>2]|0,32)|0;s=I;h=Os(0,o[A>>2]|0,32)|0;s=Es(h|0,I|0,l|0,s|0)|0;l=I;h=Os(0,o[b>>2]|0,32)|0;m=I;f=Os(0,o[v>>2]|0,32)|0;m=Es(f|0,I|0,h|0,m|0)|0;h=I;f=Os(0,o[a>>2]|0,32)|0;g=I;p=Os(0,o[w>>2]|0,32)|0;g=Es(p|0,I|0,f|0,g|0)|0;h=ks(g|0,I|0,m|0,h|0)|0;h=Cs(h|0,I|0,1)|0;l=ks(h|0,I|0,s|0,l|0)|0;s=I;h=Os(0,o[t>>2]|0,32)|0;m=I;g=n+32|0;f=Os(0,o[g>>2]|0,32)|0;m=Es(f|0,I|0,h|0,m|0)|0;m=ks(l|0,s|0,m|0,I|0)|0;s=I;l=t+32|0;h=Os(0,o[l>>2]|0,32)|0;f=I;p=Os(0,o[n>>2]|0,32)|0;f=Es(p|0,I|0,h|0,f|0)|0;f=ks(m|0,s|0,f|0,I|0)|0;s=e+32|0;o[s>>2]=f;o[s+4>>2]=I;s=Os(0,o[y>>2]|0,32)|0;f=I;m=Os(0,o[v>>2]|0,32)|0;f=Es(m|0,I|0,s|0,f|0)|0;s=I;m=Os(0,o[a>>2]|0,32)|0;h=I;p=Os(0,o[A>>2]|0,32)|0;h=Es(p|0,I|0,m|0,h|0)|0;s=ks(h|0,I|0,f|0,s|0)|0;f=I;h=Os(0,o[b>>2]|0,32)|0;m=I;p=Os(0,o[g>>2]|0,32)|0;m=Es(p|0,I|0,h|0,m|0)|0;m=ks(s|0,f|0,m|0,I|0)|0;f=I;s=Os(0,o[l>>2]|0,32)|0;h=I;p=Os(0,o[w>>2]|0,32)|0;h=Es(p|0,I|0,s|0,h|0)|0;h=ks(m|0,f|0,h|0,I|0)|0;f=I;m=Os(0,o[t>>2]|0,32)|0;s=I;p=n+40|0;_=Os(0,o[p>>2]|0,32)|0;s=Es(_|0,I|0,m|0,s|0)|0;s=ks(h|0,f|0,s|0,I|0)|0;f=I;h=t+40|0;m=Os(0,o[h>>2]|0,32)|0;_=I;u=Os(0,o[n>>2]|0,32)|0;_=Es(u|0,I|0,m|0,_|0)|0;_=ks(s|0,f|0,_|0,I|0)|0;f=e+40|0;o[f>>2]=_;o[f+4>>2]=I;f=Os(0,o[a>>2]|0,32)|0;_=I;s=Os(0,o[v>>2]|0,32)|0;_=Es(s|0,I|0,f|0,_|0)|0;f=I;s=Os(0,o[b>>2]|0,32)|0;m=I;u=Os(0,o[p>>2]|0,32)|0;m=Es(u|0,I|0,s|0,m|0)|0;f=ks(m|0,I|0,_|0,f|0)|0;_=I;m=Os(0,o[h>>2]|0,32)|0;s=I;u=Os(0,o[w>>2]|0,32)|0;s=Es(u|0,I|0,m|0,s|0)|0;s=ks(f|0,_|0,s|0,I|0)|0;s=Cs(s|0,I|0,1)|0;_=I;f=Os(0,o[y>>2]|0,32)|0;m=I;u=Os(0,o[g>>2]|0,32)|0;m=Es(u|0,I|0,f|0,m|0)|0;m=ks(s|0,_|0,m|0,I|0)|0;_=I;s=Os(0,o[l>>2]|0,32)|0;f=I;u=Os(0,o[A>>2]|0,32)|0;f=Es(u|0,I|0,s|0,f|0)|0;f=ks(m|0,_|0,f|0,I|0)|0;_=I;m=Os(0,o[t>>2]|0,32)|0;s=I;u=n+48|0;E=Os(0,o[u>>2]|0,32)|0;s=Es(E|0,I|0,m|0,s|0)|0;s=ks(f|0,_|0,s|0,I|0)|0;_=I;f=t+48|0;m=Os(0,o[f>>2]|0,32)|0;E=I;d=Os(0,o[n>>2]|0,32)|0;E=Es(d|0,I|0,m|0,E|0)|0;E=ks(s|0,_|0,E|0,I|0)|0;_=e+48|0;o[_>>2]=E;o[_+4>>2]=I;_=Os(0,o[a>>2]|0,32)|0;E=I;s=Os(0,o[g>>2]|0,32)|0;E=Es(s|0,I|0,_|0,E|0)|0;_=I;s=Os(0,o[l>>2]|0,32)|0;m=I;d=Os(0,o[v>>2]|0,32)|0;m=Es(d|0,I|0,s|0,m|0)|0;_=ks(m|0,I|0,E|0,_|0)|0;E=I;m=Os(0,o[y>>2]|0,32)|0;s=I;d=Os(0,o[p>>2]|0,32)|0;s=Es(d|0,I|0,m|0,s|0)|0;s=ks(_|0,E|0,s|0,I|0)|0;E=I;_=Os(0,o[h>>2]|0,32)|0;m=I;d=Os(0,o[A>>2]|0,32)|0;m=Es(d|0,I|0,_|0,m|0)|0;m=ks(s|0,E|0,m|0,I|0)|0;E=I;s=Os(0,o[b>>2]|0,32)|0;_=I;d=Os(0,o[u>>2]|0,32)|0;_=Es(d|0,I|0,s|0,_|0)|0;_=ks(m|0,E|0,_|0,I|0)|0;E=I;m=Os(0,o[f>>2]|0,32)|0;s=I;d=Os(0,o[w>>2]|0,32)|0;s=Es(d|0,I|0,m|0,s|0)|0;s=ks(_|0,E|0,s|0,I|0)|0;E=I;_=Os(0,o[t>>2]|0,32)|0;m=I;d=n+56|0;k=Os(0,o[d>>2]|0,32)|0;m=Es(k|0,I|0,_|0,m|0)|0;m=ks(s|0,E|0,m|0,I|0)|0;E=I;s=t+56|0;_=Os(0,o[s>>2]|0,32)|0;k=I;c=Os(0,o[n>>2]|0,32)|0;k=Es(c|0,I|0,_|0,k|0)|0;k=ks(m|0,E|0,k|0,I|0)|0;E=e+56|0;o[E>>2]=k;o[E+4>>2]=I;E=Os(0,o[l>>2]|0,32)|0;k=I;m=Os(0,o[g>>2]|0,32)|0;k=Es(m|0,I|0,E|0,k|0)|0;E=I;m=Os(0,o[a>>2]|0,32)|0;_=I;c=Os(0,o[p>>2]|0,32)|0;_=Es(c|0,I|0,m|0,_|0)|0;m=I;c=Os(0,o[h>>2]|0,32)|0;i=I;r=Os(0,o[v>>2]|0,32)|0;i=Es(r|0,I|0,c|0,i|0)|0;m=ks(i|0,I|0,_|0,m|0)|0;_=I;i=Os(0,o[b>>2]|0,32)|0;c=I;r=Os(0,o[d>>2]|0,32)|0;c=Es(r|0,I|0,i|0,c|0)|0;c=ks(m|0,_|0,c|0,I|0)|0;_=I;m=Os(0,o[s>>2]|0,32)|0;i=I;r=Os(0,o[w>>2]|0,32)|0;i=Es(r|0,I|0,m|0,i|0)|0;i=ks(c|0,_|0,i|0,I|0)|0;i=Cs(i|0,I|0,1)|0;E=ks(i|0,I|0,k|0,E|0)|0;k=I;i=Os(0,o[y>>2]|0,32)|0;_=I;c=Os(0,o[u>>2]|0,32)|0;_=Es(c|0,I|0,i|0,_|0)|0;_=ks(E|0,k|0,_|0,I|0)|0;k=I;E=Os(0,o[f>>2]|0,32)|0;i=I;c=Os(0,o[A>>2]|0,32)|0;i=Es(c|0,I|0,E|0,i|0)|0;i=ks(_|0,k|0,i|0,I|0)|0;k=I;_=Os(0,o[t>>2]|0,32)|0;E=I;c=n+64|0;m=Os(0,o[c>>2]|0,32)|0;E=Es(m|0,I|0,_|0,E|0)|0;E=ks(i|0,k|0,E|0,I|0)|0;k=I;i=t+64|0;_=Os(0,o[i>>2]|0,32)|0;m=I;r=Os(0,o[n>>2]|0,32)|0;m=Es(r|0,I|0,_|0,m|0)|0;m=ks(E|0,k|0,m|0,I|0)|0;k=e+64|0;o[k>>2]=m;o[k+4>>2]=I;k=Os(0,o[l>>2]|0,32)|0;m=I;E=Os(0,o[p>>2]|0,32)|0;m=Es(E|0,I|0,k|0,m|0)|0;k=I;E=Os(0,o[h>>2]|0,32)|0;_=I;r=Os(0,o[g>>2]|0,32)|0;_=Es(r|0,I|0,E|0,_|0)|0;k=ks(_|0,I|0,m|0,k|0)|0;m=I;_=Os(0,o[a>>2]|0,32)|0;E=I;r=Os(0,o[u>>2]|0,32)|0;E=Es(r|0,I|0,_|0,E|0)|0;E=ks(k|0,m|0,E|0,I|0)|0;m=I;k=Os(0,o[f>>2]|0,32)|0;_=I;r=Os(0,o[v>>2]|0,32)|0;_=Es(r|0,I|0,k|0,_|0)|0;_=ks(E|0,m|0,_|0,I|0)|0;m=I;E=Os(0,o[y>>2]|0,32)|0;k=I;r=Os(0,o[d>>2]|0,32)|0;k=Es(r|0,I|0,E|0,k|0)|0;k=ks(_|0,m|0,k|0,I|0)|0;m=I;_=Os(0,o[s>>2]|0,32)|0;E=I;r=Os(0,o[A>>2]|0,32)|0;E=Es(r|0,I|0,_|0,E|0)|0;E=ks(k|0,m|0,E|0,I|0)|0;m=I;k=Os(0,o[b>>2]|0,32)|0;_=I;r=Os(0,o[c>>2]|0,32)|0;_=Es(r|0,I|0,k|0,_|0)|0;_=ks(E|0,m|0,_|0,I|0)|0;m=I;E=Os(0,o[i>>2]|0,32)|0;k=I;r=Os(0,o[w>>2]|0,32)|0;k=Es(r|0,I|0,E|0,k|0)|0;k=ks(_|0,m|0,k|0,I|0)|0;m=I;_=Os(0,o[t>>2]|0,32)|0;E=I;r=n+72|0;S=Os(0,o[r>>2]|0,32)|0;E=Es(S|0,I|0,_|0,E|0)|0;E=ks(k|0,m|0,E|0,I|0)|0;m=I;t=t+72|0;k=Os(0,o[t>>2]|0,32)|0;_=I;n=Os(0,o[n>>2]|0,32)|0;_=Es(n|0,I|0,k|0,_|0)|0;_=ks(E|0,m|0,_|0,I|0)|0;n=e+72|0;o[n>>2]=_;o[n+4>>2]=I;n=Os(0,o[h>>2]|0,32)|0;_=I;m=Os(0,o[p>>2]|0,32)|0;_=Es(m|0,I|0,n|0,_|0)|0;n=I;m=Os(0,o[a>>2]|0,32)|0;E=I;k=Os(0,o[d>>2]|0,32)|0;E=Es(k|0,I|0,m|0,E|0)|0;n=ks(E|0,I|0,_|0,n|0)|0;_=I;E=Os(0,o[s>>2]|0,32)|0;m=I;k=Os(0,o[v>>2]|0,32)|0;m=Es(k|0,I|0,E|0,m|0)|0;m=ks(n|0,_|0,m|0,I|0)|0;_=I;n=Os(0,o[b>>2]|0,32)|0;b=I;E=Os(0,o[r>>2]|0,32)|0;b=Es(E|0,I|0,n|0,b|0)|0;b=ks(m|0,_|0,b|0,I|0)|0;_=I;m=Os(0,o[t>>2]|0,32)|0;n=I;w=Os(0,o[w>>2]|0,32)|0;n=Es(w|0,I|0,m|0,n|0)|0;n=ks(b|0,_|0,n|0,I|0)|0;n=Cs(n|0,I|0,1)|0;_=I;b=Os(0,o[l>>2]|0,32)|0;m=I;w=Os(0,o[u>>2]|0,32)|0;m=Es(w|0,I|0,b|0,m|0)|0;m=ks(n|0,_|0,m|0,I|0)|0;_=I;n=Os(0,o[f>>2]|0,32)|0;b=I;w=Os(0,o[g>>2]|0,32)|0;b=Es(w|0,I|0,n|0,b|0)|0;b=ks(m|0,_|0,b|0,I|0)|0;_=I;m=Os(0,o[y>>2]|0,32)|0;n=I;w=Os(0,o[c>>2]|0,32)|0;n=Es(w|0,I|0,m|0,n|0)|0;n=ks(b|0,_|0,n|0,I|0)|0;_=I;b=Os(0,o[i>>2]|0,32)|0;m=I;w=Os(0,o[A>>2]|0,32)|0;m=Es(w|0,I|0,b|0,m|0)|0;m=ks(n|0,_|0,m|0,I|0)|0;_=e+80|0;o[_>>2]=m;o[_+4>>2]=I;_=Os(0,o[h>>2]|0,32)|0;m=I;n=Os(0,o[u>>2]|0,32)|0;m=Es(n|0,I|0,_|0,m|0)|0;_=I;n=Os(0,o[f>>2]|0,32)|0;b=I;w=Os(0,o[p>>2]|0,32)|0;b=Es(w|0,I|0,n|0,b|0)|0;_=ks(b|0,I|0,m|0,_|0)|0;m=I;b=Os(0,o[l>>2]|0,32)|0;n=I;w=Os(0,o[d>>2]|0,32)|0;n=Es(w|0,I|0,b|0,n|0)|0;n=ks(_|0,m|0,n|0,I|0)|0;m=I;_=Os(0,o[s>>2]|0,32)|0;b=I;w=Os(0,o[g>>2]|0,32)|0;b=Es(w|0,I|0,_|0,b|0)|0;b=ks(n|0,m|0,b|0,I|0)|0;m=I;n=Os(0,o[a>>2]|0,32)|0;_=I;w=Os(0,o[c>>2]|0,32)|0;_=Es(w|0,I|0,n|0,_|0)|0;_=ks(b|0,m|0,_|0,I|0)|0;m=I;b=Os(0,o[i>>2]|0,32)|0;n=I;w=Os(0,o[v>>2]|0,32)|0;n=Es(w|0,I|0,b|0,n|0)|0;n=ks(_|0,m|0,n|0,I|0)|0;m=I;y=Os(0,o[y>>2]|0,32)|0;_=I;b=Os(0,o[r>>2]|0,32)|0;_=Es(b|0,I|0,y|0,_|0)|0;_=ks(n|0,m|0,_|0,I|0)|0;m=I;n=Os(0,o[t>>2]|0,32)|0;y=I;A=Os(0,o[A>>2]|0,32)|0;y=Es(A|0,I|0,n|0,y|0)|0;y=ks(_|0,m|0,y|0,I|0)|0;m=e+88|0;o[m>>2]=y;o[m+4>>2]=I;m=Os(0,o[f>>2]|0,32)|0;y=I;_=Os(0,o[u>>2]|0,32)|0;y=Es(_|0,I|0,m|0,y|0)|0;m=I;_=Os(0,o[h>>2]|0,32)|0;n=I;A=Os(0,o[d>>2]|0,32)|0;n=Es(A|0,I|0,_|0,n|0)|0;_=I;A=Os(0,o[s>>2]|0,32)|0;b=I;w=Os(0,o[p>>2]|0,32)|0;b=Es(w|0,I|0,A|0,b|0)|0;_=ks(b|0,I|0,n|0,_|0)|0;n=I;a=Os(0,o[a>>2]|0,32)|0;b=I;A=Os(0,o[r>>2]|0,32)|0;b=Es(A|0,I|0,a|0,b|0)|0;b=ks(_|0,n|0,b|0,I|0)|0;n=I;_=Os(0,o[t>>2]|0,32)|0;a=I;v=Os(0,o[v>>2]|0,32)|0;a=Es(v|0,I|0,_|0,a|0)|0;a=ks(b|0,n|0,a|0,I|0)|0;a=Cs(a|0,I|0,1)|0;m=ks(a|0,I|0,y|0,m|0)|0;y=I;a=Os(0,o[l>>2]|0,32)|0;n=I;b=Os(0,o[c>>2]|0,32)|0;n=Es(b|0,I|0,a|0,n|0)|0;n=ks(m|0,y|0,n|0,I|0)|0;y=I;m=Os(0,o[i>>2]|0,32)|0;a=I;b=Os(0,o[g>>2]|0,32)|0;a=Es(b|0,I|0,m|0,a|0)|0;a=ks(n|0,y|0,a|0,I|0)|0;y=e+96|0;o[y>>2]=a;o[y+4>>2]=I;y=Os(0,o[f>>2]|0,32)|0;a=I;n=Os(0,o[d>>2]|0,32)|0;a=Es(n|0,I|0,y|0,a|0)|0;y=I;n=Os(0,o[s>>2]|0,32)|0;m=I;b=Os(0,o[u>>2]|0,32)|0;m=Es(b|0,I|0,n|0,m|0)|0;y=ks(m|0,I|0,a|0,y|0)|0;a=I;m=Os(0,o[h>>2]|0,32)|0;n=I;b=Os(0,o[c>>2]|0,32)|0;n=Es(b|0,I|0,m|0,n|0)|0;n=ks(y|0,a|0,n|0,I|0)|0;a=I;y=Os(0,o[i>>2]|0,32)|0;m=I;b=Os(0,o[p>>2]|0,32)|0;m=Es(b|0,I|0,y|0,m|0)|0;m=ks(n|0,a|0,m|0,I|0)|0;a=I;l=Os(0,o[l>>2]|0,32)|0;n=I;y=Os(0,o[r>>2]|0,32)|0;n=Es(y|0,I|0,l|0,n|0)|0;n=ks(m|0,a|0,n|0,I|0)|0;a=I;m=Os(0,o[t>>2]|0,32)|0;l=I;g=Os(0,o[g>>2]|0,32)|0;l=Es(g|0,I|0,m|0,l|0)|0;l=ks(n|0,a|0,l|0,I|0)|0;a=e+104|0;o[a>>2]=l;o[a+4>>2]=I;a=Os(0,o[s>>2]|0,32)|0;l=I;n=Os(0,o[d>>2]|0,32)|0;l=Es(n|0,I|0,a|0,l|0)|0;a=I;n=Os(0,o[h>>2]|0,32)|0;h=I;m=Os(0,o[r>>2]|0,32)|0;h=Es(m|0,I|0,n|0,h|0)|0;a=ks(h|0,I|0,l|0,a|0)|0;l=I;h=Os(0,o[t>>2]|0,32)|0;n=I;p=Os(0,o[p>>2]|0,32)|0;n=Es(p|0,I|0,h|0,n|0)|0;n=ks(a|0,l|0,n|0,I|0)|0;n=Cs(n|0,I|0,1)|0;l=I;a=Os(0,o[f>>2]|0,32)|0;h=I;p=Os(0,o[c>>2]|0,32)|0;h=Es(p|0,I|0,a|0,h|0)|0;h=ks(n|0,l|0,h|0,I|0)|0;l=I;n=Os(0,o[i>>2]|0,32)|0;a=I;p=Os(0,o[u>>2]|0,32)|0;a=Es(p|0,I|0,n|0,a|0)|0;a=ks(h|0,l|0,a|0,I|0)|0;l=e+112|0;o[l>>2]=a;o[l+4>>2]=I;l=Os(0,o[s>>2]|0,32)|0;a=I;h=Os(0,o[c>>2]|0,32)|0;a=Es(h|0,I|0,l|0,a|0)|0;l=I;h=Os(0,o[i>>2]|0,32)|0;n=I;p=Os(0,o[d>>2]|0,32)|0;n=Es(p|0,I|0,h|0,n|0)|0;l=ks(n|0,I|0,a|0,l|0)|0;a=I;n=Os(0,o[f>>2]|0,32)|0;f=I;h=Os(0,o[r>>2]|0,32)|0;f=Es(h|0,I|0,n|0,f|0)|0;f=ks(l|0,a|0,f|0,I|0)|0;a=I;l=Os(0,o[t>>2]|0,32)|0;n=I;u=Os(0,o[u>>2]|0,32)|0;n=Es(u|0,I|0,l|0,n|0)|0;n=ks(f|0,a|0,n|0,I|0)|0;a=e+120|0;o[a>>2]=n;o[a+4>>2]=I;a=Os(0,o[i>>2]|0,32)|0;n=I;f=Os(0,o[c>>2]|0,32)|0;n=Es(f|0,I|0,a|0,n|0)|0;a=I;s=Os(0,o[s>>2]|0,32)|0;f=I;l=Os(0,o[r>>2]|0,32)|0;f=Es(l|0,I|0,s|0,f|0)|0;s=I;l=Os(0,o[t>>2]|0,32)|0;u=I;d=Os(0,o[d>>2]|0,32)|0;u=Es(d|0,I|0,l|0,u|0)|0;s=ks(u|0,I|0,f|0,s|0)|0;s=Cs(s|0,I|0,1)|0;a=ks(s|0,I|0,n|0,a|0)|0;n=e+128|0;o[n>>2]=a;o[n+4>>2]=I;i=Os(0,o[i>>2]|0,32)|0;n=I;a=Os(0,o[r>>2]|0,32)|0;n=Es(a|0,I|0,i|0,n|0)|0;i=I;a=Os(0,o[t>>2]|0,32)|0;s=I;c=Os(0,o[c>>2]|0,32)|0;s=Es(c|0,I|0,a|0,s|0)|0;i=ks(s|0,I|0,n|0,i|0)|0;n=e+136|0;o[n>>2]=i;o[n+4>>2]=I;n=Os(0,o[t>>2]|0,31)|0;t=I;r=Os(0,o[r>>2]|0,32)|0;t=Es(r|0,I|0,n|0,t|0)|0;n=e+144|0;o[n>>2]=t;o[n+4>>2]=I;return}function Bo(e){e=e|0;var t=0,n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0;t=e+80|0;s=t;o[s>>2]=0;o[s+4>>2]=0;s=e;f=o[s>>2]|0;s=o[s+4>>2]|0;n=ks(f|0,s|0,s>>31>>>6|0,0)|0;a=I;i=Os(n|0,a|0,26)|0;u=I;a=Ss(f|0,s|0,n&-67108864|0,a|0)|0;n=e;o[n>>2]=a;o[n+4>>2]=I;n=e+8|0;a=n;a=ks(i|0,u|0,o[a>>2]|0,o[a+4>>2]|0)|0;u=I;i=ks(a|0,u|0,u>>31>>>7|0,0)|0;s=I;f=Os(i|0,s|0,25)|0;r=I;s=Ss(a|0,u|0,i&-33554432|0,s|0)|0;i=n;o[i>>2]=s;o[i+4>>2]=I;i=e+16|0;s=i;s=ks(f|0,r|0,o[s>>2]|0,o[s+4>>2]|0)|0;r=I;f=ks(s|0,r|0,r>>31>>>6|0,0)|0;u=I;a=Os(f|0,u|0,26)|0;c=I;u=Ss(s|0,r|0,f&-67108864|0,u|0)|0;o[i>>2]=u;o[i+4>>2]=I;i=e+24|0;u=i;u=ks(a|0,c|0,o[u>>2]|0,o[u+4>>2]|0)|0;c=I;a=ks(u|0,c|0,c>>31>>>7|0,0)|0;f=I;r=Os(a|0,f|0,25)|0;s=I;f=Ss(u|0,c|0,a&-33554432|0,f|0)|0;o[i>>2]=f;o[i+4>>2]=I;i=e+32|0;f=i;f=ks(r|0,s|0,o[f>>2]|0,o[f+4>>2]|0)|0;s=I;r=ks(f|0,s|0,s>>31>>>6|0,0)|0;a=I;c=Os(r|0,a|0,26)|0;u=I;a=Ss(f|0,s|0,r&-67108864|0,a|0)|0;o[i>>2]=a;o[i+4>>2]=I;i=e+40|0;a=i;a=ks(c|0,u|0,o[a>>2]|0,o[a+4>>2]|0)|0;u=I;c=ks(a|0,u|0,u>>31>>>7|0,0)|0;r=I;s=Os(c|0,r|0,25)|0;f=I;r=Ss(a|0,u|0,c&-33554432|0,r|0)|0;o[i>>2]=r;o[i+4>>2]=I;i=e+48|0;r=i;r=ks(s|0,f|0,o[r>>2]|0,o[r+4>>2]|0)|0;f=I;s=ks(r|0,f|0,f>>31>>>6|0,0)|0;c=I;u=Os(s|0,c|0,26)|0;a=I;c=Ss(r|0,f|0,s&-67108864|0,c|0)|0;o[i>>2]=c;o[i+4>>2]=I;i=e+56|0;c=i;c=ks(u|0,a|0,o[c>>2]|0,o[c+4>>2]|0)|0;a=I;u=ks(c|0,a|0,a>>31>>>7|0,0)|0;s=I;f=Os(u|0,s|0,25)|0;r=I;s=Ss(c|0,a|0,u&-33554432|0,s|0)|0;o[i>>2]=s;o[i+4>>2]=I;i=e+64|0;s=i;s=ks(f|0,r|0,o[s>>2]|0,o[s+4>>2]|0)|0;r=I;f=ks(s|0,r|0,r>>31>>>6|0,0)|0;u=I;a=Os(f|0,u|0,26)|0;c=I;u=Ss(s|0,r|0,f&-67108864|0,u|0)|0;o[i>>2]=u;o[i+4>>2]=I;i=e+72|0;u=i;u=ks(a|0,c|0,o[u>>2]|0,o[u+4>>2]|0)|0;c=I;a=ks(u|0,c|0,c>>31>>>7|0,0)|0;f=I;r=Os(a|0,f|0,25)|0;s=I;f=Ss(u|0,c|0,a&-33554432|0,f|0)|0;o[i>>2]=f;o[i+4>>2]=I;i=t;i=ks(r|0,s|0,o[i>>2]|0,o[i+4>>2]|0)|0;s=I;r=e;f=o[r>>2]|0;r=o[r+4>>2]|0;a=Es(i|0,s|0,18,0)|0;c=I;s=ks(f|0,r|0,i|0,s|0)|0;c=ks(s|0,I|0,a|0,c|0)|0;a=I;o[t>>2]=0;o[t+4>>2]=0;t=ks(c|0,a|0,a>>31>>>6|0,0)|0;s=I;i=Os(t|0,s|0,26)|0;r=I;s=Ss(c|0,a|0,t&-67108864|0,s|0)|0;t=e;o[t>>2]=s;o[t+4>>2]=I;t=n;t=ks(i|0,r|0,o[t>>2]|0,o[t+4>>2]|0)|0;e=n;o[e>>2]=t;o[e+4>>2]=I;return}function No(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0,B=0,N=0,j=0,U=0,L=0,F=0,q=0,K=0,z=0,G=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,ce=0;r=h;h=h+160|0;n=r;q=o[t>>2]|0;y=Os(0,q|0,32)|0;c=I;a=Es(y|0,c|0,y|0,c|0)|0;s=I;B=n;o[B>>2]=a;o[B+4>>2]=s;q=Os(0,q|0,31)|0;B=I;H=o[t+8>>2]|0;E=Os(0,H|0,32)|0;d=I;m=Es(E|0,d|0,q|0,B|0)|0;p=I;u=n+8|0;A=u;o[A>>2]=m;o[A+4>>2]=p;A=Es(E|0,d|0,E|0,d|0)|0;w=I;g=Os(0,o[t+16>>2]|0,32)|0;l=I;b=Es(g|0,l|0,y|0,c|0)|0;w=ks(b|0,I|0,A|0,w|0)|0;w=Cs(w|0,I|0,1)|0;A=I;b=n+16|0;T=b;o[T>>2]=w;o[T+4>>2]=A;T=Es(g|0,l|0,E|0,d|0)|0;R=I;ce=Os(0,o[t+24>>2]|0,32)|0;ae=I;v=Es(ce|0,ae|0,y|0,c|0)|0;R=ks(v|0,I|0,T|0,R|0)|0;R=Cs(R|0,I|0,1)|0;T=I;v=n+24|0;D=v;o[D>>2]=R;o[D+4>>2]=T;D=Es(g|0,l|0,g|0,l|0)|0;C=I;O=Os(0,H|0,30)|0;O=Es(ce|0,ae|0,O|0,I|0)|0;C=ks(O|0,I|0,D|0,C|0)|0;D=I;O=Os(0,o[t+32>>2]|0,32)|0;_=I;B=Es(O|0,_|0,q|0,B|0)|0;B=ks(C|0,D|0,B|0,I|0)|0;D=I;C=n+32|0;q=C;o[q>>2]=B;o[q+4>>2]=D;q=Es(ce|0,ae|0,g|0,l|0)|0;U=I;P=Es(O|0,_|0,E|0,d|0)|0;U=ks(P|0,I|0,q|0,U|0)|0;q=I;P=o[t+40>>2]|0;j=Os(0,P|0,32)|0;M=I;K=Es(j|0,M|0,y|0,c|0)|0;K=ks(U|0,q|0,K|0,I|0)|0;K=Cs(K|0,I|0,1)|0;q=I;U=n+40|0;$=U;o[$>>2]=K;o[$+4>>2]=q;$=Es(ce|0,ae|0,ce|0,ae|0)|0;te=I;z=Es(O|0,_|0,g|0,l|0)|0;te=ks(z|0,I|0,$|0,te|0)|0;$=I;z=Os(0,o[t+48>>2]|0,32)|0;G=I;W=Es(z|0,G|0,y|0,c|0)|0;Y=I;H=Os(0,H|0,31)|0;H=Es(j|0,M|0,H|0,I|0)|0;H=ks(te|0,$|0,H|0,I|0)|0;Y=ks(H|0,I|0,W|0,Y|0)|0;Y=Cs(Y|0,I|0,1)|0;W=I;H=n+48|0;$=H;o[$>>2]=Y;o[$+4>>2]=W;$=Es(O|0,_|0,ce|0,ae|0)|0;te=I;Q=Es(j|0,M|0,g|0,l|0)|0;te=ks(Q|0,I|0,$|0,te|0)|0;$=I;Q=Es(z|0,G|0,E|0,d|0)|0;Q=ks(te|0,$|0,Q|0,I|0)|0;$=I;te=o[t+56>>2]|0;L=Os(0,te|0,32)|0;F=I;ee=Es(L|0,F|0,y|0,c|0)|0;ee=ks(Q|0,$|0,ee|0,I|0)|0;ee=Cs(ee|0,I|0,1)|0;$=I;Q=n+56|0;V=Q;o[V>>2]=ee;o[V+4>>2]=$;V=Es(O|0,_|0,O|0,_|0)|0;Z=I;i=Es(z|0,G|0,g|0,l|0)|0;oe=I;ne=o[t+64>>2]|0;J=Os(0,ne|0,32)|0;X=I;ie=Es(J|0,X|0,y|0,c|0)|0;oe=ks(ie|0,I|0,i|0,oe|0)|0;i=I;ie=Es(L|0,F|0,E|0,d|0)|0;re=I;f=Es(j|0,M|0,ce|0,ae|0)|0;f=ks(ie|0,re|0,f|0,I|0)|0;f=Cs(f|0,I|0,1)|0;f=ks(oe|0,i|0,f|0,I|0)|0;f=Cs(f|0,I|0,1)|0;Z=ks(f|0,I|0,V|0,Z|0)|0;V=I;f=Es(j|0,M|0,O|0,_|0)|0;i=I;oe=Es(z|0,G|0,ce|0,ae|0)|0;i=ks(oe|0,I|0,f|0,i|0)|0;f=I;oe=Es(L|0,F|0,g|0,l|0)|0;oe=ks(i|0,f|0,oe|0,I|0)|0;f=I;i=Es(J|0,X|0,E|0,d|0)|0;i=ks(oe|0,f|0,i|0,I|0)|0;f=I;oe=o[t+72>>2]|0;re=Os(0,oe|0,32)|0;ie=I;c=Es(re|0,ie|0,y|0,c|0)|0;c=ks(i|0,f|0,c|0,I|0)|0;c=Cs(c|0,I|0,1)|0;t=n+72|0;o[t>>2]=c;o[t+4>>2]=I;t=Es(j|0,M|0,j|0,M|0)|0;c=I;f=Es(z|0,G|0,O|0,_|0)|0;c=ks(f|0,I|0,t|0,c|0)|0;t=I;f=Es(J|0,X|0,g|0,l|0)|0;f=ks(c|0,t|0,f|0,I|0)|0;t=I;c=Es(L|0,F|0,ce|0,ae|0)|0;i=I;d=Es(re|0,ie|0,E|0,d|0)|0;i=ks(d|0,I|0,c|0,i|0)|0;i=Cs(i|0,I|0,1)|0;i=ks(f|0,t|0,i|0,I|0)|0;t=I;f=Cs(i|0,t|0,1)|0;c=I;d=n+80|0;o[d>>2]=f;o[d+4>>2]=c;d=Es(z|0,G|0,j|0,M|0)|0;E=I;y=Es(L|0,F|0,O|0,_|0)|0;E=ks(y|0,I|0,d|0,E|0)|0;d=I;y=Es(J|0,X|0,ce|0,ae|0)|0;y=ks(E|0,d|0,y|0,I|0)|0;d=I;l=Es(re|0,ie|0,g|0,l|0)|0;l=ks(y|0,d|0,l|0,I|0)|0;d=I;y=Cs(l|0,d|0,1)|0;g=I;E=n+88|0;o[E>>2]=y;o[E+4>>2]=g;E=Es(z|0,G|0,z|0,G|0)|0;k=I;x=Es(J|0,X|0,O|0,_|0)|0;S=I;se=Es(L|0,F|0,j|0,M|0)|0;N=I;ae=Es(re|0,ie|0,ce|0,ae|0)|0;N=ks(ae|0,I|0,se|0,N|0)|0;N=Cs(N|0,I|0,1)|0;S=ks(N|0,I|0,x|0,S|0)|0;S=Cs(S|0,I|0,1)|0;k=ks(S|0,I|0,E|0,k|0)|0;E=I;S=n+96|0;o[S>>2]=k;o[S+4>>2]=E;S=Es(L|0,F|0,z|0,G|0)|0;x=I;M=Es(J|0,X|0,j|0,M|0)|0;x=ks(M|0,I|0,S|0,x|0)|0;S=I;_=Es(re|0,ie|0,O|0,_|0)|0;_=ks(x|0,S|0,_|0,I|0)|0;S=I;x=Cs(_|0,S|0,1)|0;O=I;M=n+104|0;o[M>>2]=x;o[M+4>>2]=O;M=Es(L|0,F|0,L|0,F|0)|0;j=I;N=Es(J|0,X|0,z|0,G|0)|0;j=ks(N|0,I|0,M|0,j|0)|0;M=I;P=Os(0,P|0,31)|0;P=Es(re|0,ie|0,P|0,I|0)|0;P=ks(j|0,M|0,P|0,I|0)|0;M=I;j=Cs(P|0,M|0,1)|0;N=I;se=n+112|0;o[se>>2]=j;o[se+4>>2]=N;F=Es(J|0,X|0,L|0,F|0)|0;L=I;G=Es(re|0,ie|0,z|0,G|0)|0;L=ks(G|0,I|0,F|0,L|0)|0;F=I;G=Cs(L|0,F|0,1)|0;z=I;se=n+120|0;o[se>>2]=G;o[se+4>>2]=z;X=Es(J|0,X|0,J|0,X|0)|0;J=I;te=Os(0,te|0,30)|0;te=Es(re|0,ie|0,te|0,I|0)|0;J=ks(te|0,I|0,X|0,J|0)|0;X=I;te=n+128|0;o[te>>2]=J;o[te+4>>2]=X;ne=Os(0,ne|0,31)|0;ne=Es(re|0,ie|0,ne|0,I|0)|0;te=I;se=n+136|0;o[se>>2]=ne;o[se+4>>2]=te;oe=Os(0,oe|0,31)|0;ie=Es(oe|0,I|0,re|0,ie|0)|0;re=I;oe=n+144|0;o[oe>>2]=ie;o[oe+4>>2]=re;re=Es(ie|0,re|0,19,0)|0;V=ks(re|0,I|0,Z|0,V|0)|0;Z=n+64|0;o[Z>>2]=V;o[Z+4>>2]=I;Z=Es(ne|0,te|0,18,0)|0;V=I;$=ks(ne|0,te|0,ee|0,$|0)|0;V=ks($|0,I|0,Z|0,V|0)|0;o[Q>>2]=V;o[Q+4>>2]=I;Q=Es(J|0,X|0,18,0)|0;V=I;W=ks(J|0,X|0,Y|0,W|0)|0;V=ks(W|0,I|0,Q|0,V|0)|0;o[H>>2]=V;o[H+4>>2]=I;F=Es(L|0,F|0,36,0)|0;L=I;q=ks(G|0,z|0,K|0,q|0)|0;L=ks(q|0,I|0,F|0,L|0)|0;o[U>>2]=L;o[U+4>>2]=I;M=Es(P|0,M|0,36,0)|0;P=I;D=ks(j|0,N|0,B|0,D|0)|0;P=ks(D|0,I|0,M|0,P|0)|0;o[C>>2]=P;o[C+4>>2]=I;S=Es(_|0,S|0,36,0)|0;_=I;T=ks(x|0,O|0,R|0,T|0)|0;_=ks(T|0,I|0,S|0,_|0)|0;o[v>>2]=_;o[v+4>>2]=I;v=Es(k|0,E|0,18,0)|0;_=I;A=ks(k|0,E|0,w|0,A|0)|0;_=ks(A|0,I|0,v|0,_|0)|0;o[b>>2]=_;o[b+4>>2]=I;d=Es(l|0,d|0,36,0)|0;l=I;p=ks(y|0,g|0,m|0,p|0)|0;l=ks(p|0,I|0,d|0,l|0)|0;o[u>>2]=l;o[u+4>>2]=I;t=Es(i|0,t|0,36,0)|0;i=I;s=ks(f|0,c|0,a|0,s|0)|0;i=ks(s|0,I|0,t|0,i|0)|0;t=n;o[t>>2]=i;o[t+4>>2]=I;Bo(n);t=n;n=e+80|0;do{o[e>>2]=o[t>>2];e=e+4|0;t=t+4|0}while((e|0)<(n|0));h=r;return}function jo(e){e=e|0;var t=0,n=0,r=0,i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0;E=h;h=h+16|0;p=E;do{if(e>>>0<245){u=e>>>0<11?16:e+11&-8;e=u>>>3;d=o[9632]|0;n=d>>>e;if(n&3|0){t=(n&1^1)+e|0;e=38568+(t<<1<<2)|0;n=e+8|0;r=o[n>>2]|0;i=r+8|0;s=o[i>>2]|0;if((s|0)==(e|0))o[9632]=d&~(1<>2]=e;o[n>>2]=s}w=t<<3;o[r+4>>2]=w|3;w=r+w+4|0;o[w>>2]=o[w>>2]|1;w=i;h=E;return w|0}l=o[9634]|0;if(u>>>0>l>>>0){if(n|0){t=2<>>12&16;t=t>>>c;n=t>>>5&8;t=t>>>n;s=t>>>2&4;t=t>>>s;e=t>>>1&2;t=t>>>e;r=t>>>1&1;r=(n|c|s|e|r)+(t>>>r)|0;t=38568+(r<<1<<2)|0;e=t+8|0;s=o[e>>2]|0;c=s+8|0;n=o[c>>2]|0;if((n|0)==(t|0)){e=d&~(1<>2]=t;o[e>>2]=n;e=d}w=r<<3;a=w-u|0;o[s+4>>2]=u|3;i=s+u|0;o[i+4>>2]=a|1;o[s+w>>2]=a;if(l|0){r=o[9637]|0;t=l>>>3;n=38568+(t<<1<<2)|0;t=1<>2]|0}o[e>>2]=r;o[t+12>>2]=r;o[r+8>>2]=t;o[r+12>>2]=n}o[9634]=a;o[9637]=i;w=c;h=E;return w|0}s=o[9633]|0;if(s){n=(s&0-s)+-1|0;i=n>>>12&16;n=n>>>i;r=n>>>5&8;n=n>>>r;a=n>>>2&4;n=n>>>a;c=n>>>1&2;n=n>>>c;f=n>>>1&1;f=o[38832+((r|i|a|c|f)+(n>>>f)<<2)>>2]|0;n=f;c=f;f=(o[f+4>>2]&-8)-u|0;while(1){e=o[n+16>>2]|0;if(!e){e=o[n+20>>2]|0;if(!e)break}a=(o[e+4>>2]&-8)-u|0;i=a>>>0>>0;n=e;c=i?e:c;f=i?a:f}a=c+u|0;if(a>>>0>c>>>0){i=o[c+24>>2]|0;t=o[c+12>>2]|0;do{if((t|0)==(c|0)){e=c+20|0;t=o[e>>2]|0;if(!t){e=c+16|0;t=o[e>>2]|0;if(!t){n=0;break}}while(1){r=t+20|0;n=o[r>>2]|0;if(!n){r=t+16|0;n=o[r>>2]|0;if(!n)break;else{t=n;e=r}}else{t=n;e=r}}o[e>>2]=0;n=t}else{n=o[c+8>>2]|0;o[n+12>>2]=t;o[t+8>>2]=n;n=t}}while(0);do{if(i|0){t=o[c+28>>2]|0;e=38832+(t<<2)|0;if((c|0)==(o[e>>2]|0)){o[e>>2]=n;if(!n){o[9633]=s&~(1<>2]|0)==(c|0)?w:i+20|0)>>2]=n;if(!n)break}o[n+24>>2]=i;t=o[c+16>>2]|0;if(t|0){o[n+16>>2]=t;o[t+24>>2]=n}t=o[c+20>>2]|0;if(t|0){o[n+20>>2]=t;o[t+24>>2]=n}}}while(0);if(f>>>0<16){w=f+u|0;o[c+4>>2]=w|3;w=c+w+4|0;o[w>>2]=o[w>>2]|1}else{o[c+4>>2]=u|3;o[a+4>>2]=f|1;o[a+f>>2]=f;if(l|0){r=o[9637]|0;t=l>>>3;n=38568+(t<<1<<2)|0;t=1<>2]|0}o[e>>2]=r;o[t+12>>2]=r;o[r+8>>2]=t;o[r+12>>2]=n}o[9634]=f;o[9637]=a}w=c+8|0;h=E;return w|0}else d=u}else d=u}else d=u}else if(e>>>0<=4294967231){e=e+11|0;u=e&-8;r=o[9633]|0;if(r){i=0-u|0;e=e>>>8;if(e)if(u>>>0>16777215)f=31;else{d=(e+1048320|0)>>>16&8;y=e<>>16&4;y=y<>>16&2;f=14-(c|d|f)+(y<>>15)|0;f=u>>>(f+7|0)&1|f<<1}else f=0;n=o[38832+(f<<2)>>2]|0;e:do{if(!n){n=0;e=0;y=61}else{e=0;c=u<<((f|0)==31?0:25-(f>>>1)|0);s=0;while(1){a=(o[n+4>>2]&-8)-u|0;if(a>>>0>>0)if(!a){e=n;i=0;y=65;break e}else{e=n;i=a}y=o[n+20>>2]|0;n=o[n+16+(c>>>31<<2)>>2]|0;s=(y|0)==0|(y|0)==(n|0)?s:y;if(!n){n=s;y=61;break}else c=c<<1}}}while(0);if((y|0)==61){if((n|0)==0&(e|0)==0){e=2<>>12&16;d=d>>>a;s=d>>>5&8;d=d>>>s;c=d>>>2&4;d=d>>>c;f=d>>>1&2;d=d>>>f;n=d>>>1&1;e=0;n=o[38832+((s|a|c|f|n)+(d>>>n)<<2)>>2]|0}if(!n){c=e;a=i}else y=65}if((y|0)==65){s=n;while(1){d=(o[s+4>>2]&-8)-u|0;n=d>>>0>>0;i=n?d:i;e=n?s:e;n=o[s+16>>2]|0;if(!n)n=o[s+20>>2]|0;if(!n){c=e;a=i;break}else s=n}}if(((c|0)!=0?a>>>0<((o[9634]|0)-u|0)>>>0:0)?(l=c+u|0,l>>>0>c>>>0):0){s=o[c+24>>2]|0;t=o[c+12>>2]|0;do{if((t|0)==(c|0)){e=c+20|0;t=o[e>>2]|0;if(!t){e=c+16|0;t=o[e>>2]|0;if(!t){t=0;break}}while(1){i=t+20|0;n=o[i>>2]|0;if(!n){i=t+16|0;n=o[i>>2]|0;if(!n)break;else{t=n;e=i}}else{t=n;e=i}}o[e>>2]=0}else{w=o[c+8>>2]|0;o[w+12>>2]=t;o[t+8>>2]=w}}while(0);do{if(s){e=o[c+28>>2]|0;n=38832+(e<<2)|0;if((c|0)==(o[n>>2]|0)){o[n>>2]=t;if(!t){r=r&~(1<>2]|0)==(c|0)?w:s+20|0)>>2]=t;if(!t)break}o[t+24>>2]=s;e=o[c+16>>2]|0;if(e|0){o[t+16>>2]=e;o[e+24>>2]=t}e=o[c+20>>2]|0;if(e){o[t+20>>2]=e;o[e+24>>2]=t}}}while(0);e:do{if(a>>>0<16){w=a+u|0;o[c+4>>2]=w|3;w=c+w+4|0;o[w>>2]=o[w>>2]|1}else{o[c+4>>2]=u|3;o[l+4>>2]=a|1;o[l+a>>2]=a;t=a>>>3;if(a>>>0<256){n=38568+(t<<1<<2)|0;e=o[9632]|0;t=1<>2]|0}o[e>>2]=l;o[t+12>>2]=l;o[l+8>>2]=t;o[l+12>>2]=n;break}t=a>>>8;if(t)if(a>>>0>16777215)n=31;else{A=(t+1048320|0)>>>16&8;w=t<>>16&4;w=w<>>16&2;n=14-(v|A|n)+(w<>>15)|0;n=a>>>(n+7|0)&1|n<<1}else n=0;t=38832+(n<<2)|0;o[l+28>>2]=n;e=l+16|0;o[e+4>>2]=0;o[e>>2]=0;e=1<>2]=l;o[l+24>>2]=t;o[l+12>>2]=l;o[l+8>>2]=l;break}t=o[t>>2]|0;t:do{if((o[t+4>>2]&-8|0)!=(a|0)){r=a<<((n|0)==31?0:25-(n>>>1)|0);while(1){n=t+16+(r>>>31<<2)|0;e=o[n>>2]|0;if(!e)break;if((o[e+4>>2]&-8|0)==(a|0)){t=e;break t}else{r=r<<1;t=e}}o[n>>2]=l;o[l+24>>2]=t;o[l+12>>2]=l;o[l+8>>2]=l;break e}}while(0);A=t+8|0;w=o[A>>2]|0;o[w+12>>2]=l;o[A>>2]=l;o[l+8>>2]=w;o[l+12>>2]=t;o[l+24>>2]=0}}while(0);w=c+8|0;h=E;return w|0}else d=u}else d=u}else d=-1}while(0);n=o[9634]|0;if(n>>>0>=d>>>0){t=n-d|0;e=o[9637]|0;if(t>>>0>15){w=e+d|0;o[9637]=w;o[9634]=t;o[w+4>>2]=t|1;o[e+n>>2]=t;o[e+4>>2]=d|3}else{o[9634]=0;o[9637]=0;o[e+4>>2]=n|3;w=e+n+4|0;o[w>>2]=o[w>>2]|1}w=e+8|0;h=E;return w|0}a=o[9635]|0;if(a>>>0>d>>>0){v=a-d|0;o[9635]=v;w=o[9638]|0;A=w+d|0;o[9638]=A;o[A+4>>2]=v|1;o[w+4>>2]=d|3;w=w+8|0;h=E;return w|0}if(!(o[9750]|0)){o[9752]=4096;o[9751]=4096;o[9753]=-1;o[9754]=-1;o[9755]=0;o[9743]=0;o[9750]=p&-16^1431655768;e=4096}else e=o[9752]|0;c=d+48|0;f=d+47|0;s=e+f|0;i=0-e|0;u=s&i;if(u>>>0<=d>>>0){w=0;h=E;return w|0}e=o[9742]|0;if(e|0?(l=o[9740]|0,p=l+u|0,p>>>0<=l>>>0|p>>>0>e>>>0):0){w=0;h=E;return w|0}e:do{if(!(o[9743]&4)){n=o[9638]|0;t:do{if(n){r=38976;while(1){p=o[r>>2]|0;if(p>>>0<=n>>>0?(p+(o[r+4>>2]|0)|0)>>>0>n>>>0:0)break;e=o[r+8>>2]|0;if(!e){y=128;break t}else r=e}t=s-a&i;if(t>>>0<2147483647){e=Bs(t|0)|0;if((e|0)==((o[r>>2]|0)+(o[r+4>>2]|0)|0)){if((e|0)!=(-1|0)){a=t;s=e;y=145;break e}}else{r=e;y=136}}else t=0}else y=128}while(0);do{if((y|0)==128){n=Bs(0)|0;if((n|0)!=(-1|0)?(t=n,m=o[9751]|0,g=m+-1|0,t=((g&t|0)==0?0:(g+t&0-m)-t|0)+u|0,m=o[9740]|0,g=t+m|0,t>>>0>d>>>0&t>>>0<2147483647):0){p=o[9742]|0;if(p|0?g>>>0<=m>>>0|g>>>0>p>>>0:0){t=0;break}e=Bs(t|0)|0;if((e|0)==(n|0)){a=t;s=n;y=145;break e}else{r=e;y=136}}else t=0}}while(0);do{if((y|0)==136){n=0-t|0;if(!(c>>>0>t>>>0&(t>>>0<2147483647&(r|0)!=(-1|0))))if((r|0)==(-1|0)){t=0;break}else{a=t;s=r;y=145;break e}e=o[9752]|0;e=f-t+e&0-e;if(e>>>0>=2147483647){a=t;s=r;y=145;break e}if((Bs(e|0)|0)==(-1|0)){Bs(n|0)|0;t=0;break}else{a=e+t|0;s=r;y=145;break e}}}while(0);o[9743]=o[9743]|4;y=143}else{t=0;y=143}}while(0);if(((y|0)==143?u>>>0<2147483647:0)?(v=Bs(u|0)|0,g=Bs(0)|0,b=g-v|0,_=b>>>0>(d+40|0)>>>0,!((v|0)==(-1|0)|_^1|v>>>0>>0&((v|0)!=(-1|0)&(g|0)!=(-1|0))^1)):0){a=_?b:t;s=v;y=145}if((y|0)==145){t=(o[9740]|0)+a|0;o[9740]=t;if(t>>>0>(o[9741]|0)>>>0)o[9741]=t;f=o[9638]|0;e:do{if(f){t=38976;while(1){e=o[t>>2]|0;n=o[t+4>>2]|0;if((s|0)==(e+n|0)){y=154;break}r=o[t+8>>2]|0;if(!r)break;else t=r}if(((y|0)==154?(A=t+4|0,(o[t+12>>2]&8|0)==0):0)?s>>>0>f>>>0&e>>>0<=f>>>0:0){o[A>>2]=n+a;w=(o[9635]|0)+a|0;v=f+8|0;v=(v&7|0)==0?0:0-v&7;A=f+v|0;v=w-v|0;o[9638]=A;o[9635]=v;o[A+4>>2]=v|1;o[f+w+4>>2]=40;o[9639]=o[9754];break}if(s>>>0<(o[9636]|0)>>>0)o[9636]=s;n=s+a|0;t=38976;while(1){if((o[t>>2]|0)==(n|0)){y=162;break}e=o[t+8>>2]|0;if(!e)break;else t=e}if((y|0)==162?(o[t+12>>2]&8|0)==0:0){o[t>>2]=s;l=t+4|0;o[l>>2]=(o[l>>2]|0)+a;l=s+8|0;l=s+((l&7|0)==0?0:0-l&7)|0;t=n+8|0;t=n+((t&7|0)==0?0:0-t&7)|0;u=l+d|0;c=t-l-d|0;o[l+4>>2]=d|3;t:do{if((f|0)==(t|0)){w=(o[9635]|0)+c|0;o[9635]=w;o[9638]=u;o[u+4>>2]=w|1}else{if((o[9637]|0)==(t|0)){w=(o[9634]|0)+c|0;o[9634]=w;o[9637]=u;o[u+4>>2]=w|1;o[u+w>>2]=w;break}e=o[t+4>>2]|0;if((e&3|0)==1){a=e&-8;r=e>>>3;n:do{if(e>>>0<256){e=o[t+8>>2]|0;n=o[t+12>>2]|0;if((n|0)==(e|0)){o[9632]=o[9632]&~(1<>2]=n;o[n+8>>2]=e;break}}else{s=o[t+24>>2]|0;e=o[t+12>>2]|0;do{if((e|0)==(t|0)){n=t+16|0;r=n+4|0;e=o[r>>2]|0;if(!e){e=o[n>>2]|0;if(!e){e=0;break}}else n=r;while(1){i=e+20|0;r=o[i>>2]|0;if(!r){i=e+16|0;r=o[i>>2]|0;if(!r)break;else{e=r;n=i}}else{e=r;n=i}}o[n>>2]=0}else{w=o[t+8>>2]|0;o[w+12>>2]=e;o[e+8>>2]=w}}while(0);if(!s)break;n=o[t+28>>2]|0;r=38832+(n<<2)|0;do{if((o[r>>2]|0)!=(t|0)){w=s+16|0;o[((o[w>>2]|0)==(t|0)?w:s+20|0)>>2]=e;if(!e)break n}else{o[r>>2]=e;if(e|0)break;o[9633]=o[9633]&~(1<>2]=s;n=t+16|0;r=o[n>>2]|0;if(r|0){o[e+16>>2]=r;o[r+24>>2]=e}n=o[n+4>>2]|0;if(!n)break;o[e+20>>2]=n;o[n+24>>2]=e}}while(0);t=t+a|0;i=a+c|0}else i=c;t=t+4|0;o[t>>2]=o[t>>2]&-2;o[u+4>>2]=i|1;o[u+i>>2]=i;t=i>>>3;if(i>>>0<256){n=38568+(t<<1<<2)|0;e=o[9632]|0;t=1<>2]|0}o[e>>2]=u;o[t+12>>2]=u;o[u+8>>2]=t;o[u+12>>2]=n;break}t=i>>>8;do{if(!t)r=0;else{if(i>>>0>16777215){r=31;break}A=(t+1048320|0)>>>16&8;w=t<>>16&4;w=w<>>16&2;r=14-(v|A|r)+(w<>>15)|0;r=i>>>(r+7|0)&1|r<<1}}while(0);t=38832+(r<<2)|0;o[u+28>>2]=r;e=u+16|0;o[e+4>>2]=0;o[e>>2]=0;e=o[9633]|0;n=1<>2]=u;o[u+24>>2]=t;o[u+12>>2]=u;o[u+8>>2]=u;break}t=o[t>>2]|0;n:do{if((o[t+4>>2]&-8|0)!=(i|0)){r=i<<((r|0)==31?0:25-(r>>>1)|0);while(1){n=t+16+(r>>>31<<2)|0;e=o[n>>2]|0;if(!e)break;if((o[e+4>>2]&-8|0)==(i|0)){t=e;break n}else{r=r<<1;t=e}}o[n>>2]=u;o[u+24>>2]=t;o[u+12>>2]=u;o[u+8>>2]=u;break t}}while(0);A=t+8|0;w=o[A>>2]|0;o[w+12>>2]=u;o[A>>2]=u;o[u+8>>2]=w;o[u+12>>2]=t;o[u+24>>2]=0}}while(0);w=l+8|0;h=E;return w|0}t=38976;while(1){e=o[t>>2]|0;if(e>>>0<=f>>>0?(w=e+(o[t+4>>2]|0)|0,w>>>0>f>>>0):0)break;t=o[t+8>>2]|0}i=w+-47|0;e=i+8|0;e=i+((e&7|0)==0?0:0-e&7)|0;i=f+16|0;e=e>>>0>>0?f:e;t=e+8|0;n=a+-40|0;v=s+8|0;v=(v&7|0)==0?0:0-v&7;A=s+v|0;v=n-v|0;o[9638]=A;o[9635]=v;o[A+4>>2]=v|1;o[s+n+4>>2]=40;o[9639]=o[9754];n=e+4|0;o[n>>2]=27;o[t>>2]=o[9744];o[t+4>>2]=o[9745];o[t+8>>2]=o[9746];o[t+12>>2]=o[9747];o[9744]=s;o[9745]=a;o[9747]=0;o[9746]=t;t=e+24|0;do{A=t;t=t+4|0;o[t>>2]=7}while((A+8|0)>>>0>>0);if((e|0)!=(f|0)){s=e-f|0;o[n>>2]=o[n>>2]&-2;o[f+4>>2]=s|1;o[e>>2]=s;t=s>>>3;if(s>>>0<256){n=38568+(t<<1<<2)|0;e=o[9632]|0;t=1<>2]|0}o[e>>2]=f;o[t+12>>2]=f;o[f+8>>2]=t;o[f+12>>2]=n;break}t=s>>>8;if(t)if(s>>>0>16777215)r=31;else{A=(t+1048320|0)>>>16&8;w=t<>>16&4;w=w<>>16&2;r=14-(v|A|r)+(w<>>15)|0;r=s>>>(r+7|0)&1|r<<1}else r=0;n=38832+(r<<2)|0;o[f+28>>2]=r;o[f+20>>2]=0;o[i>>2]=0;t=o[9633]|0;e=1<>2]=f;o[f+24>>2]=n;o[f+12>>2]=f;o[f+8>>2]=f;break}t=o[n>>2]|0;t:do{if((o[t+4>>2]&-8|0)!=(s|0)){r=s<<((r|0)==31?0:25-(r>>>1)|0);while(1){n=t+16+(r>>>31<<2)|0;e=o[n>>2]|0;if(!e)break;if((o[e+4>>2]&-8|0)==(s|0)){t=e;break t}else{r=r<<1;t=e}}o[n>>2]=f;o[f+24>>2]=t;o[f+12>>2]=f;o[f+8>>2]=f;break e}}while(0);A=t+8|0;w=o[A>>2]|0;o[w+12>>2]=f;o[A>>2]=f;o[f+8>>2]=w;o[f+12>>2]=t;o[f+24>>2]=0}}else{w=o[9636]|0;if((w|0)==0|s>>>0>>0)o[9636]=s;o[9744]=s;o[9745]=a;o[9747]=0;o[9641]=o[9750];o[9640]=-1;o[9645]=38568;o[9644]=38568;o[9647]=38576;o[9646]=38576;o[9649]=38584;o[9648]=38584;o[9651]=38592;o[9650]=38592;o[9653]=38600;o[9652]=38600;o[9655]=38608;o[9654]=38608;o[9657]=38616;o[9656]=38616;o[9659]=38624;o[9658]=38624;o[9661]=38632;o[9660]=38632;o[9663]=38640;o[9662]=38640;o[9665]=38648;o[9664]=38648;o[9667]=38656;o[9666]=38656;o[9669]=38664;o[9668]=38664;o[9671]=38672;o[9670]=38672;o[9673]=38680;o[9672]=38680;o[9675]=38688;o[9674]=38688;o[9677]=38696;o[9676]=38696;o[9679]=38704;o[9678]=38704;o[9681]=38712;o[9680]=38712;o[9683]=38720;o[9682]=38720;o[9685]=38728;o[9684]=38728;o[9687]=38736;o[9686]=38736;o[9689]=38744;o[9688]=38744;o[9691]=38752;o[9690]=38752;o[9693]=38760;o[9692]=38760;o[9695]=38768;o[9694]=38768;o[9697]=38776;o[9696]=38776;o[9699]=38784;o[9698]=38784;o[9701]=38792;o[9700]=38792;o[9703]=38800;o[9702]=38800;o[9705]=38808;o[9704]=38808;o[9707]=38816;o[9706]=38816;w=a+-40|0;v=s+8|0;v=(v&7|0)==0?0:0-v&7;A=s+v|0;v=w-v|0;o[9638]=A;o[9635]=v;o[A+4>>2]=v|1;o[s+w+4>>2]=40;o[9639]=o[9754]}}while(0);t=o[9635]|0;if(t>>>0>d>>>0){v=t-d|0;o[9635]=v;w=o[9638]|0;A=w+d|0;o[9638]=A;o[A+4>>2]=v|1;o[w+4>>2]=d|3;w=w+8|0;h=E;return w|0}}o[(Lo()|0)>>2]=12;w=0;h=E;return w|0}function Uo(e){e=e|0;var t=0,n=0,r=0,i=0,s=0,a=0,c=0,f=0;if(!e)return;n=e+-8|0;i=o[9636]|0;e=o[e+-4>>2]|0;t=e&-8;f=n+t|0;do{if(!(e&1)){r=o[n>>2]|0;if(!(e&3))return;a=n+(0-r)|0;s=r+t|0;if(a>>>0>>0)return;if((o[9637]|0)==(a|0)){e=f+4|0;t=o[e>>2]|0;if((t&3|0)!=3){c=a;t=s;break}o[9634]=s;o[e>>2]=t&-2;o[a+4>>2]=s|1;o[a+s>>2]=s;return}n=r>>>3;if(r>>>0<256){e=o[a+8>>2]|0;t=o[a+12>>2]|0;if((t|0)==(e|0)){o[9632]=o[9632]&~(1<>2]=t;o[t+8>>2]=e;c=a;t=s;break}}i=o[a+24>>2]|0;e=o[a+12>>2]|0;do{if((e|0)==(a|0)){t=a+16|0;n=t+4|0;e=o[n>>2]|0;if(!e){e=o[t>>2]|0;if(!e){e=0;break}}else t=n;while(1){r=e+20|0;n=o[r>>2]|0;if(!n){r=e+16|0;n=o[r>>2]|0;if(!n)break;else{e=n;t=r}}else{e=n;t=r}}o[t>>2]=0}else{c=o[a+8>>2]|0;o[c+12>>2]=e;o[e+8>>2]=c}}while(0);if(i){t=o[a+28>>2]|0;n=38832+(t<<2)|0;if((o[n>>2]|0)==(a|0)){o[n>>2]=e;if(!e){o[9633]=o[9633]&~(1<>2]|0)==(a|0)?c:i+20|0)>>2]=e;if(!e){c=a;t=s;break}}o[e+24>>2]=i;t=a+16|0;n=o[t>>2]|0;if(n|0){o[e+16>>2]=n;o[n+24>>2]=e}t=o[t+4>>2]|0;if(t){o[e+20>>2]=t;o[t+24>>2]=e;c=a;t=s}else{c=a;t=s}}else{c=a;t=s}}else{c=n;a=n}}while(0);if(a>>>0>=f>>>0)return;e=f+4|0;r=o[e>>2]|0;if(!(r&1))return;if(!(r&2)){if((o[9638]|0)==(f|0)){f=(o[9635]|0)+t|0;o[9635]=f;o[9638]=c;o[c+4>>2]=f|1;if((c|0)!=(o[9637]|0))return;o[9637]=0;o[9634]=0;return}if((o[9637]|0)==(f|0)){f=(o[9634]|0)+t|0;o[9634]=f;o[9637]=a;o[c+4>>2]=f|1;o[a+f>>2]=f;return}i=(r&-8)+t|0;n=r>>>3;do{if(r>>>0<256){t=o[f+8>>2]|0;e=o[f+12>>2]|0;if((e|0)==(t|0)){o[9632]=o[9632]&~(1<>2]=e;o[e+8>>2]=t;break}}else{s=o[f+24>>2]|0;e=o[f+12>>2]|0;do{if((e|0)==(f|0)){t=f+16|0;n=t+4|0;e=o[n>>2]|0;if(!e){e=o[t>>2]|0;if(!e){n=0;break}}else t=n;while(1){r=e+20|0;n=o[r>>2]|0;if(!n){r=e+16|0;n=o[r>>2]|0;if(!n)break;else{e=n;t=r}}else{e=n;t=r}}o[t>>2]=0;n=e}else{n=o[f+8>>2]|0;o[n+12>>2]=e;o[e+8>>2]=n;n=e}}while(0);if(s|0){e=o[f+28>>2]|0;t=38832+(e<<2)|0;if((o[t>>2]|0)==(f|0)){o[t>>2]=n;if(!n){o[9633]=o[9633]&~(1<>2]|0)==(f|0)?r:s+20|0)>>2]=n;if(!n)break}o[n+24>>2]=s;e=f+16|0;t=o[e>>2]|0;if(t|0){o[n+16>>2]=t;o[t+24>>2]=n}e=o[e+4>>2]|0;if(e|0){o[n+20>>2]=e;o[e+24>>2]=n}}}}while(0);o[c+4>>2]=i|1;o[a+i>>2]=i;if((c|0)==(o[9637]|0)){o[9634]=i;return}}else{o[e>>2]=r&-2;o[c+4>>2]=t|1;o[a+t>>2]=t;i=t}e=i>>>3;if(i>>>0<256){n=38568+(e<<1<<2)|0;t=o[9632]|0;e=1<>2]|0}o[t>>2]=c;o[e+12>>2]=c;o[c+8>>2]=e;o[c+12>>2]=n;return}e=i>>>8;if(e)if(i>>>0>16777215)r=31;else{a=(e+1048320|0)>>>16&8;f=e<>>16&4;f=f<>>16&2;r=14-(s|a|r)+(f<>>15)|0;r=i>>>(r+7|0)&1|r<<1}else r=0;e=38832+(r<<2)|0;o[c+28>>2]=r;o[c+20>>2]=0;o[c+16>>2]=0;t=o[9633]|0;n=1<>2]=c;o[c+24>>2]=e;o[c+12>>2]=c;o[c+8>>2]=c}else{e=o[e>>2]|0;t:do{if((o[e+4>>2]&-8|0)!=(i|0)){r=i<<((r|0)==31?0:25-(r>>>1)|0);while(1){n=e+16+(r>>>31<<2)|0;t=o[n>>2]|0;if(!t)break;if((o[t+4>>2]&-8|0)==(i|0)){e=t;break t}else{r=r<<1;e=t}}o[n>>2]=c;o[c+24>>2]=e;o[c+12>>2]=c;o[c+8>>2]=c;break e}}while(0);a=e+8|0;f=o[a>>2]|0;o[f+12>>2]=c;o[a>>2]=c;o[c+8>>2]=f;o[c+12>>2]=e;o[c+24>>2]=0}}while(0);f=(o[9640]|0)+-1|0;o[9640]=f;if(f|0)return;e=38984;while(1){e=o[e>>2]|0;if(!e)break;else e=e+8|0}o[9640]=-1;return}function Lo(){return 39088}function Fo(e,t){e=e|0;t=t|0;var n=0,i=0;n=r[e>>0]|0;i=r[t>>0]|0;if(n<<24>>24==0?1:n<<24>>24!=i<<24>>24)e=i;else{do{e=e+1|0;t=t+1|0;n=r[e>>0]|0;i=r[t>>0]|0}while(!(n<<24>>24==0?1:n<<24>>24!=i<<24>>24));e=i}return(n&255)-(e&255)|0}function qo(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0;e:do{if(!n)e=0;else{while(1){i=r[e>>0]|0;o=r[t>>0]|0;if(i<<24>>24!=o<<24>>24)break;n=n+-1|0;if(!n){e=0;break e}else{e=e+1|0;t=t+1|0}}e=(i&255)-(o&255)|0}}while(0);return e|0}function Ko(e){e=e|0;return(e+-48|0)>>>0<10|0}function zo(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0;d=h;h=h+128|0;s=d+124|0;l=d;a=l;c=37604;f=a+124|0;do{o[a>>2]=o[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(f|0));if((t+-1|0)>>>0>2147483646)if(!t){e=s;t=1;u=4}else{o[(Lo()|0)>>2]=75;t=-1}else u=4;if((u|0)==4){u=-2-e|0;u=t>>>0>u>>>0?u:t;o[l+48>>2]=u;s=l+20|0;o[s>>2]=e;o[l+44>>2]=e;t=e+u|0;e=l+16|0;o[e>>2]=t;o[l+28>>2]=t;t=Go(l,n,i)|0;if(u){l=o[s>>2]|0;r[l+(((l|0)==(o[e>>2]|0))<<31>>31)>>0]=0}}h=d;return t|0}function Go(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0;b=h;h=h+224|0;d=b+208|0;m=b+160|0;g=b+80|0;y=b;i=m;s=i+40|0;do{o[i>>2]=0;i=i+4|0}while((i|0)<(s|0));o[d>>2]=o[n>>2];if((Ho(0,t,d,g,m)|0)<0)n=-1;else{if((o[e+76>>2]|0)>-1)p=Vo(e)|0;else p=0;n=o[e>>2]|0;l=n&32;if((r[e+74>>0]|0)<1)o[e>>2]=n&-33;i=e+48|0;if(!(o[i>>2]|0)){s=e+44|0;a=o[s>>2]|0;o[s>>2]=y;c=e+28|0;o[c>>2]=y;f=e+20|0;o[f>>2]=y;o[i>>2]=80;u=e+16|0;o[u>>2]=y+80;n=Ho(e,t,d,g,m)|0;if(a){Vs[o[e+36>>2]&1](e,0,0)|0;n=(o[f>>2]|0)==0?-1:n;o[s>>2]=a;o[i>>2]=0;o[u>>2]=0;o[c>>2]=0;o[f>>2]=0}}else n=Ho(e,t,d,g,m)|0;i=o[e>>2]|0;o[e>>2]=i|l;if(p|0)Qo(e);n=(i&32|0)==0?n:-1}h=b;return n|0}function Ho(e,t,n,s,a){e=e|0;t=t|0;n=n|0;s=s|0;a=a|0;var c=0,f=0,l=0,d=0,p=0,m=0,g=0,y=0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0,D=0;D=h;h=h+64|0;O=D+56|0;x=D+40|0;S=D;P=D+48|0;M=D+60|0;o[O>>2]=t;w=(e|0)!=0;E=S+40|0;k=E;S=S+39|0;T=P+4|0;c=0;t=0;l=0;e:while(1){do{do{if((t|0)>-1)if((c|0)>(2147483647-t|0)){o[(Lo()|0)>>2]=75;t=-1;break}else{t=c+t|0;break}}while(0);b=o[O>>2]|0;c=r[b>>0]|0;if(!(c<<24>>24)){A=94;break e}f=b;t:while(1){switch(c<<24>>24){case 37:{A=10;break t}case 0:{c=f;break t}default:{}}v=f+1|0;o[O>>2]=v;c=r[v>>0]|0;f=v}t:do{if((A|0)==10){A=0;c=f;do{if((r[f+1>>0]|0)!=37)break t;c=c+1|0;f=f+2|0;o[O>>2]=f}while((r[f>>0]|0)==37)}}while(0);c=c-b|0;if(w)Wo(e,b,c)}while((c|0)!=0);v=(Ko(r[(o[O>>2]|0)+1>>0]|0)|0)==0;f=o[O>>2]|0;if(!v?(r[f+2>>0]|0)==36:0){g=(r[f+1>>0]|0)+-48|0;p=1;c=3}else{g=-1;p=l;c=1}c=f+c|0;o[O>>2]=c;f=r[c>>0]|0;l=(f<<24>>24)+-32|0;if(l>>>0>31|(1<>2]=c;f=r[c>>0]|0;l=(f<<24>>24)+-32|0}while(!(l>>>0>31|(1<>24==42){if((Ko(r[c+1>>0]|0)|0)!=0?(C=o[O>>2]|0,(r[C+2>>0]|0)==36):0){c=C+1|0;o[a+((r[c>>0]|0)+-48<<2)>>2]=10;c=o[s+((r[c>>0]|0)+-48<<3)>>2]|0;l=1;f=C+3|0}else{if(p|0){t=-1;break}if(w){v=(o[n>>2]|0)+(4-1)&~(4-1);c=o[v>>2]|0;o[n>>2]=v+4}else c=0;l=0;f=(o[O>>2]|0)+1|0}o[O>>2]=f;v=(c|0)<0;_=v?0-c|0:c;d=v?d|8192:d;v=l}else{c=Yo(O)|0;if((c|0)<0){t=-1;break}_=c;v=p;f=o[O>>2]|0}do{if((r[f>>0]|0)==46){c=f+1|0;if((r[c>>0]|0)!=42){o[O>>2]=c;c=Yo(O)|0;f=o[O>>2]|0;break}if(Ko(r[f+2>>0]|0)|0?(R=o[O>>2]|0,(r[R+3>>0]|0)==36):0){c=R+2|0;o[a+((r[c>>0]|0)+-48<<2)>>2]=10;c=o[s+((r[c>>0]|0)+-48<<3)>>2]|0;f=R+4|0;o[O>>2]=f;break}if(v|0){t=-1;break e}if(w){y=(o[n>>2]|0)+(4-1)&~(4-1);c=o[y>>2]|0;o[n>>2]=y+4}else c=0;f=(o[O>>2]|0)+2|0;o[O>>2]=f}else c=-1}while(0);y=0;while(1){if(((r[f>>0]|0)+-65|0)>>>0>57){t=-1;break e}l=f;f=f+1|0;o[O>>2]=f;l=r[(r[l>>0]|0)+-65+(35136+(y*58|0))>>0]|0;p=l&255;if((p+-1|0)>>>0>=8)break;else y=p}if(!(l<<24>>24)){t=-1;break}m=(g|0)>-1;do{if(l<<24>>24==19)if(m){t=-1;break e}else A=54;else{if(m){o[a+(g<<2)>>2]=p;m=s+(g<<3)|0;g=o[m+4>>2]|0;A=x;o[A>>2]=o[m>>2];o[A+4>>2]=g;A=54;break}if(!w){t=0;break e}Xo(x,p,n);f=o[O>>2]|0;A=55}}while(0);if((A|0)==54){A=0;if(w)A=55;else c=0}t:do{if((A|0)==55){A=0;f=r[f+-1>>0]|0;f=(y|0)!=0&(f&15|0)==3?f&-33:f;l=d&-65537;g=(d&8192|0)==0?d:l;n:do{switch(f|0){case 110:switch((y&255)<<24>>24){case 0:{o[o[x>>2]>>2]=t;c=0;break t}case 1:{o[o[x>>2]>>2]=t;c=0;break t}case 2:{c=o[x>>2]|0;o[c>>2]=t;o[c+4>>2]=((t|0)<0)<<31>>31;c=0;break t}case 3:{i[o[x>>2]>>1]=t;c=0;break t}case 4:{r[o[x>>2]>>0]=t;c=0;break t}case 6:{o[o[x>>2]>>2]=t;c=0;break t}case 7:{c=o[x>>2]|0;o[c>>2]=t;o[c+4>>2]=((t|0)<0)<<31>>31;c=0;break t}default:{c=0;break t}}case 112:{f=120;c=c>>>0>8?c:8;l=g|8;A=67;break}case 88:case 120:{l=g;A=67;break}case 111:{l=x;f=o[l>>2]|0;l=o[l+4>>2]|0;m=Zo(f,l,E)|0;A=k-m|0;d=0;p=38441;c=(g&8|0)==0|(c|0)>(A|0)?c:A+1|0;A=73;break}case 105:case 100:{l=x;f=o[l>>2]|0;l=o[l+4>>2]|0;if((l|0)<0){f=Ss(0,0,f|0,l|0)|0;l=I;d=x;o[d>>2]=f;o[d+4>>2]=l;d=1;p=38441;A=72;break n}else{d=(g&2049|0)!=0&1;p=(g&2048|0)==0?(g&1|0)==0?38441:38443:38442;A=72;break n}}case 117:{l=x;d=0;p=38441;f=o[l>>2]|0;l=o[l+4>>2]|0;A=72;break}case 99:{r[S>>0]=o[x>>2];y=S;d=0;p=38441;m=1;c=k;break}case 109:{f=es(o[(Lo()|0)>>2]|0)|0;A=77;break}case 115:{f=o[x>>2]|0;f=(f|0)==0?38451:f;A=77;break}case 67:{o[P>>2]=o[x>>2];o[T>>2]=0;o[x>>2]=P;p=-1;A=81;break}case 83:{if(!c){ns(e,32,_,0,g);c=0;A=91}else{p=c;A=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{c=is(e,+u[x>>3],_,c,g,f)|0;break t}default:{y=b;d=0;p=38441;m=c;l=g;c=k}}}while(0);n:do{if((A|0)==67){b=x;y=o[b>>2]|0;b=o[b+4>>2]|0;m=Jo(y,b,E,f&32)|0;p=(l&8|0)==0|(y|0)==0&(b|0)==0;d=p?0:2;p=p?38441:38441+(f>>>4)|0;g=l;f=y;l=b;A=73}else if((A|0)==72){m=$o(f,l,E)|0;A=73}else if((A|0)==77){A=0;b=ts(f,0,c)|0;g=(b|0)==0;y=f;d=0;p=38441;m=g?c:b-f|0;c=g?f+c|0:b}else if((A|0)==81){A=0;d=o[x>>2]|0;c=0;while(1){f=o[d>>2]|0;if(!f)break;f=rs(M,f)|0;l=(f|0)<0;if(l|f>>>0>(p-c|0)>>>0){A=85;break}c=f+c|0;if(p>>>0>c>>>0)d=d+4|0;else break}if((A|0)==85){A=0;if(l){t=-1;break e}}ns(e,32,_,c,g);if(!c){c=0;A=91}else{l=o[x>>2]|0;d=0;while(1){f=o[l>>2]|0;if(!f){A=91;break n}f=rs(M,f)|0;d=f+d|0;if((d|0)>(c|0)){A=91;break n}Wo(e,M,f);if(d>>>0>=c>>>0){A=91;break}else l=l+4|0}}}}while(0);if((A|0)==73){A=0;l=(f|0)!=0|(l|0)!=0;b=(c|0)!=0|l;l=k-m+((l^1)&1)|0;y=b?m:E;m=b?(c|0)>(l|0)?c:l:0;l=(c|0)>-1?g&-65537:g;c=k}else if((A|0)==91){A=0;ns(e,32,_,c,g^8192);c=(_|0)>(c|0)?_:c;break}g=c-y|0;m=(m|0)<(g|0)?g:m;b=m+d|0;c=(_|0)<(b|0)?b:_;ns(e,32,c,b,l);Wo(e,p,d);ns(e,48,c,b,l^65536);ns(e,48,m,g,0);Wo(e,y,g);ns(e,32,c,b,l^8192)}}while(0);l=v}e:do{if((A|0)==94)if(!e)if(!l)t=0;else{t=1;while(1){c=o[a+(t<<2)>>2]|0;if(!c)break;Xo(s+(t<<3)|0,c,n);t=t+1|0;if(t>>>0>=10){t=1;break e}}while(1){if(o[a+(t<<2)>>2]|0){t=-1;break e}t=t+1|0;if(t>>>0>=10){t=1;break}}}}while(0);h=D;return t|0}function Vo(e){e=e|0;return 0}function Qo(e){e=e|0;return}function Wo(e,t,n){e=e|0;t=t|0;n=n|0;if(!(o[e>>2]&32))ys(t,n,e)|0;return}function Yo(e){e=e|0;var t=0,n=0;if(!(Ko(r[o[e>>2]>>0]|0)|0))t=0;else{t=0;do{n=o[e>>2]|0;t=(t*10|0)+-48+(r[n>>0]|0)|0;n=n+1|0;o[e>>2]=n}while((Ko(r[n>>0]|0)|0)!=0)}return t|0}function Xo(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0.0;e:do{if(t>>>0<=20)do{switch(t|0){case 9:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;o[e>>2]=t;break e}case 10:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;r=e;o[r>>2]=t;o[r+4>>2]=((t|0)<0)<<31>>31;break e}case 11:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;r=e;o[r>>2]=t;o[r+4>>2]=0;break e}case 12:{r=(o[n>>2]|0)+(8-1)&~(8-1);t=r;i=o[t>>2]|0;t=o[t+4>>2]|0;o[n>>2]=r+8;r=e;o[r>>2]=i;o[r+4>>2]=t;break e}case 13:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;r=(r&65535)<<16>>16;i=e;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;break e}case 14:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;i=e;o[i>>2]=r&65535;o[i+4>>2]=0;break e}case 15:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;r=(r&255)<<24>>24;i=e;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;break e}case 16:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;i=e;o[i>>2]=r&255;o[i+4>>2]=0;break e}case 17:{i=(o[n>>2]|0)+(8-1)&~(8-1);s=+u[i>>3];o[n>>2]=i+8;u[e>>3]=s;break e}case 18:{i=(o[n>>2]|0)+(8-1)&~(8-1);s=+u[i>>3];o[n>>2]=i+8;u[e>>3]=s;break e}default:break e}}while(0)}while(0);return}function Jo(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;if(!((e|0)==0&(t|0)==0))do{n=n+-1|0;r[n>>0]=s[35600+(e&15)>>0]|0|i;e=xs(e|0,t|0,4)|0;t=I}while(!((e|0)==0&(t|0)==0));return n|0}function Zo(e,t,n){e=e|0;t=t|0;n=n|0;if(!((e|0)==0&(t|0)==0))do{n=n+-1|0;r[n>>0]=e&7|48;e=xs(e|0,t|0,3)|0;t=I}while(!((e|0)==0&(t|0)==0));return n|0}function $o(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0;if(t>>>0>0|(t|0)==0&e>>>0>4294967295){do{i=e;e=Rs(e|0,t|0,10,0)|0;o=t;t=I;s=Es(e|0,t|0,10,0)|0;s=Ss(i|0,o|0,s|0,I|0)|0;n=n+-1|0;r[n>>0]=s&255|48}while(o>>>0>9|(o|0)==9&i>>>0>4294967295);t=e}else t=e;if(t)do{s=t;t=(t>>>0)/10|0;n=n+-1|0;r[n>>0]=s-(t*10|0)|48}while(s>>>0>=10);return n|0}function es(e){e=e|0;return ds(e,o[(ls()|0)+188>>2]|0)|0}function ts(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0;a=t&255;i=(n|0)!=0;e:do{if(i&(e&3|0)!=0){s=t&255;while(1){if((r[e>>0]|0)==s<<24>>24){c=6;break e}e=e+1|0;n=n+-1|0;i=(n|0)!=0;if(!(i&(e&3|0)!=0)){c=5;break}}}else c=5}while(0);if((c|0)==5)if(i)c=6;else c=16;e:do{if((c|0)==6){s=t&255;if((r[e>>0]|0)==s<<24>>24)if(!n){c=16;break}else break;i=q(a,16843009)|0;t:do{if(n>>>0>3)while(1){a=o[e>>2]^i;if((a&-2139062144^-2139062144)&a+-16843009|0)break t;e=e+4|0;n=n+-4|0;if(n>>>0<=3){c=11;break}}else c=11}while(0);if((c|0)==11)if(!n){c=16;break}while(1){if((r[e>>0]|0)==s<<24>>24)break e;n=n+-1|0;if(!n){c=16;break}else e=e+1|0}}}while(0);if((c|0)==16)e=0;return e|0}function ns(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var o=0,s=0;s=h;h=h+256|0;o=s;if((n|0)>(r|0)&(i&73728|0)==0){i=n-r|0;Ds(o|0,t<<24>>24|0,(i>>>0<256?i:256)|0)|0;if(i>>>0>255){t=n-r|0;do{Wo(e,o,256);i=i+-256|0}while(i>>>0>255);i=t&255}Wo(e,o,i)}h=s;return}function rs(e,t){e=e|0;t=t|0;if(!e)e=0;else e=cs(e,t,0)|0;return e|0}function is(e,t,n,i,a,c){e=e|0;t=+t;n=n|0;i=i|0;a=a|0;c=c|0;var f=0,u=0,l=0,d=0,p=0,m=0,g=0,y=0.0,b=0,_=0,v=0,A=0,w=0,E=0,k=0,S=0,T=0,R=0,O=0,x=0,C=0,P=0,M=0;M=h;h=h+560|0;l=M+32|0;A=M+536|0;P=M;C=P;d=M+540|0;o[A>>2]=0;x=d+12|0;os(t)|0;f=I;if((f|0)<0){t=-t;os(t)|0;O=1;R=38458;f=I}else{O=(a&2049|0)!=0&1;R=(a&2048|0)==0?(a&1|0)==0?38459:38464:38461}do{if(0==0&(f&2146435072|0)==2146435072){P=(c&32|0)!=0;f=O+3|0;ns(e,32,n,f,a&-65537);Wo(e,R,O);Wo(e,t!=t|0.0!=0.0?P?38485:38489:P?38477:38481,3);ns(e,32,n,f,a^8192)}else{y=+ss(t,A)*2.0;f=y!=0.0;if(f)o[A>>2]=(o[A>>2]|0)+-1;v=c|32;if((v|0)==97){m=c&32;b=(m|0)==0?R:R+9|0;g=O|2;f=12-i|0;do{if(!(i>>>0>11|(f|0)==0)){t=8.0;do{f=f+-1|0;t=t*16.0}while((f|0)!=0);if((r[b>>0]|0)==45){t=-(t+(-y-t));break}else{t=y+t-t;break}}else t=y}while(0);u=o[A>>2]|0;f=(u|0)<0?0-u|0:u;f=$o(f,((f|0)<0)<<31>>31,x)|0;if((f|0)==(x|0)){f=d+11|0;r[f>>0]=48}r[f+-1>>0]=(u>>31&2)+43;p=f+-2|0;r[p>>0]=c+15;u=(i|0)<1;l=(a&8|0)==0;d=P;do{O=~~t;f=d+1|0;r[d>>0]=m|s[35600+O>>0];t=(t-+(O|0))*16.0;if((f-C|0)==1?!(l&(u&t==0.0)):0){r[f>>0]=46;d=d+2|0}else d=f}while(t!=0.0);if((i|0)!=0?(-2-C+d|0)<(i|0):0){u=x;l=p;f=i+2+u-l|0}else{u=x;l=p;f=u-C-l+d|0}x=f+g|0;ns(e,32,n,x,a);Wo(e,b,g);ns(e,48,n,x,a^65536);C=d-C|0;Wo(e,P,C);P=u-l|0;ns(e,48,f-(C+P)|0,0,0);Wo(e,p,P);ns(e,32,n,x,a^8192);f=x;break}u=(i|0)<0?6:i;if(f){f=(o[A>>2]|0)+-28|0;o[A>>2]=f;t=y*268435456.0}else{t=y;f=o[A>>2]|0}T=(f|0)<0?l:l+288|0;l=T;do{k=~~t>>>0;o[l>>2]=k;l=l+4|0;t=(t-+(k>>>0))*1.0e9}while(t!=0.0);k=T;if((f|0)>0){m=T;while(1){p=(f|0)<29?f:29;f=l+-4|0;if(f>>>0>=m>>>0){d=0;do{_=Cs(o[f>>2]|0,0,p|0)|0;_=ks(_|0,I|0,d|0,0)|0;w=I;d=Rs(_|0,w|0,1e9,0)|0;E=Es(d|0,I|0,1e9,0)|0;E=Ss(_|0,w|0,E|0,I|0)|0;o[f>>2]=E;f=f+-4|0}while(f>>>0>=m>>>0);if(d){E=m+-4|0;o[E>>2]=d;d=E}else d=m}else d=m;e:do{if(l>>>0>d>>>0){f=l;while(1){l=f+-4|0;if(o[l>>2]|0){l=f;break e}if(l>>>0>d>>>0)f=l;else break}}}while(0);f=(o[A>>2]|0)-p|0;o[A>>2]=f;if((f|0)>0)m=d;else break}}else d=T;if((f|0)<0){i=((u+25|0)/9|0)+1|0;_=(v|0)==102;do{b=0-f|0;b=(b|0)<9?b:9;if(d>>>0>>0){p=(1<>>b;g=0;f=d;do{E=o[f>>2]|0;o[f>>2]=(E>>>b)+g;g=q(E&p,m)|0;f=f+4|0}while(f>>>0>>0);d=(o[d>>2]|0)==0?d+4|0:d;if(g){o[l>>2]=g;l=l+4|0}}else d=(o[d>>2]|0)==0?d+4|0:d;f=_?T:d;l=(l-f>>2|0)>(i|0)?f+(i<<2)|0:l;f=(o[A>>2]|0)+b|0;o[A>>2]=f}while((f|0)<0);_=d}else _=d;if(_>>>0>>0){f=(k-_>>2)*9|0;p=o[_>>2]|0;if(p>>>0>=10){d=10;do{d=d*10|0;f=f+1|0}while(p>>>0>=d>>>0)}}else f=0;w=(v|0)==103;E=(u|0)!=0;d=u-((v|0)==102?0:f)+((E&w)<<31>>31)|0;if((d|0)<(((l-k>>2)*9|0)+-9|0)){A=d+9216|0;d=(A|0)/9|0;i=T+4+(d+-1024<<2)|0;d=A-(d*9|0)|0;if((d|0)<8){p=10;while(1){p=p*10|0;if((d|0)<7)d=d+1|0;else break}}else p=10;g=o[i>>2]|0;d=(g>>>0)/(p>>>0)|0;b=g-(q(d,p)|0)|0;m=(i+4|0)==(l|0);if(!(m&(b|0)==0)){y=(d&1|0)==0?9007199254740992.0:9007199254740994.0;A=p>>>1;t=b>>>0>>0?.5:m&(b|0)==(A|0)?1.0:1.5;if(O){A=(r[R>>0]|0)==45;t=A?-t:t;y=A?-y:y}d=g-b|0;o[i>>2]=d;if(y+t!=y){A=d+p|0;o[i>>2]=A;if(A>>>0>999999999){p=i;f=_;while(1){d=p+-4|0;o[p>>2]=0;if(d>>>0>>0){f=f+-4|0;o[f>>2]=0}A=(o[d>>2]|0)+1|0;o[d>>2]=A;if(A>>>0>999999999)p=d;else{p=f;break}}}else{d=i;p=_}f=(k-p>>2)*9|0;g=o[p>>2]|0;if(g>>>0>=10){m=10;do{m=m*10|0;f=f+1|0}while(g>>>0>=m>>>0)}}else{d=i;p=_}}else{d=i;p=_}A=d+4|0;l=l>>>0>A>>>0?A:l}else p=_;i=0-f|0;e:do{if(l>>>0>p>>>0)while(1){d=l+-4|0;if(o[d>>2]|0){A=l;v=1;break e}if(d>>>0>p>>>0)l=d;else{A=d;v=0;break}}else{A=l;v=0}}while(0);do{if(w){u=u+((E^1)&1)|0;if((u|0)>(f|0)&(f|0)>-5){m=c+-1|0;u=u+-1-f|0}else{m=c+-2|0;u=u+-1|0}if(!(a&8)){if(v?(S=o[A+-4>>2]|0,(S|0)!=0):0)if(!((S>>>0)%10|0)){d=0;l=10;do{l=l*10|0;d=d+1|0}while(!((S>>>0)%(l>>>0)|0|0))}else d=0;else d=9;l=((A-k>>2)*9|0)+-9|0;if((m|32|0)==102){c=l-d|0;c=(c|0)>0?c:0;u=(u|0)<(c|0)?u:c;break}else{c=l+f-d|0;c=(c|0)>0?c:0;u=(u|0)<(c|0)?u:c;break}}}else m=c}while(0);_=(u|0)!=0;g=_?1:a>>>3&1;b=(m|32|0)==102;if(b){w=0;f=(f|0)>0?f:0}else{l=(f|0)<0?i:f;l=$o(l,((l|0)<0)<<31>>31,x)|0;d=x;if((d-l|0)<2)do{l=l+-1|0;r[l>>0]=48}while((d-l|0)<2);r[l+-1>>0]=(f>>31&2)+43;f=l+-2|0;r[f>>0]=m;w=f;f=d-f|0}f=O+1+u+g+f|0;ns(e,32,n,f,a);Wo(e,R,O);ns(e,48,n,f,a^65536);if(b){g=p>>>0>T>>>0?T:p;b=P+9|0;p=b;m=P+8|0;d=g;do{l=$o(o[d>>2]|0,0,b)|0;if((d|0)==(g|0)){if((l|0)==(b|0)){r[m>>0]=48;l=m}}else if(l>>>0>P>>>0){Ds(P|0,48,l-C|0)|0;do{l=l+-1|0}while(l>>>0>P>>>0)}Wo(e,l,p-l|0);d=d+4|0}while(d>>>0<=T>>>0);if(!((a&8|0)==0&(_^1)))Wo(e,38493,1);if(d>>>0>>0&(u|0)>0)while(1){l=$o(o[d>>2]|0,0,b)|0;if(l>>>0>P>>>0){Ds(P|0,48,l-C|0)|0;do{l=l+-1|0}while(l>>>0>P>>>0)}Wo(e,l,(u|0)<9?u:9);d=d+4|0;l=u+-9|0;if(!(d>>>0>>0&(u|0)>9)){u=l;break}else u=l}ns(e,48,u+9|0,9,0)}else{A=v?A:p+4|0;if(p>>>0>>0&(u|0)>-1){i=P+9|0;_=(a&8|0)==0;v=i;g=0-C|0;b=P+8|0;m=p;do{l=$o(o[m>>2]|0,0,i)|0;if((l|0)==(i|0)){r[b>>0]=48;l=b}do{if((m|0)==(p|0)){d=l+1|0;Wo(e,l,1);if(_&(u|0)<1){l=d;break}Wo(e,38493,1);l=d}else{if(l>>>0<=P>>>0)break;Ds(P|0,48,l+g|0)|0;do{l=l+-1|0}while(l>>>0>P>>>0)}}while(0);C=v-l|0;Wo(e,l,(u|0)>(C|0)?C:u);u=u-C|0;m=m+4|0}while(m>>>0>>0&(u|0)>-1)}ns(e,48,u+18|0,18,0);Wo(e,w,x-w|0)}ns(e,32,n,f,a^8192)}}while(0);h=M;return((f|0)<(n|0)?n:f)|0}function os(e){e=+e;var t=0;u[d>>3]=e;t=o[d>>2]|0;I=o[d+4>>2]|0;return t|0}function ss(e,t){e=+e;t=t|0;return+ +as(e,t)}function as(e,t){e=+e;t=t|0;var n=0,r=0,i=0;u[d>>3]=e;n=o[d>>2]|0;r=o[d+4>>2]|0;i=xs(n|0,r|0,52)|0;switch(i&2047){case 0:{if(e!=0.0){e=+as(e*18446744073709551616.0,t);n=(o[t>>2]|0)+-64|0}else n=0;o[t>>2]=n;break}case 2047:break;default:{o[t>>2]=(i&2047)+-1022;o[d>>2]=n;o[d+4>>2]=r&-2146435073|1071644672;e=+u[d>>3]}}return+e}function cs(e,t,n){e=e|0;t=t|0;n=n|0;do{if(e){if(t>>>0<128){r[e>>0]=t;e=1;break}if(!(o[o[(fs()|0)+188>>2]>>2]|0))if((t&-128|0)==57216){r[e>>0]=t;e=1;break}else{o[(Lo()|0)>>2]=84;e=-1;break}if(t>>>0<2048){r[e>>0]=t>>>6|192;r[e+1>>0]=t&63|128;e=2;break}if(t>>>0<55296|(t&-8192|0)==57344){r[e>>0]=t>>>12|224;r[e+1>>0]=t>>>6&63|128;r[e+2>>0]=t&63|128;e=3;break}if((t+-65536|0)>>>0<1048576){r[e>>0]=t>>>18|240;r[e+1>>0]=t>>>12&63|128;r[e+2>>0]=t>>>6&63|128;r[e+3>>0]=t&63|128;e=4;break}else{o[(Lo()|0)>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function fs(){return us()|0}function us(){return 37728}function ls(){return us()|0}function ds(e,t){e=e|0;t=t|0;var n=0,i=0;n=0;while(1){if((s[35616+n>>0]|0)==(e|0)){i=4;break}n=n+1|0;if((n|0)==87){e=87;i=5;break}}if((i|0)==4)if(!n)n=35712;else{e=n;i=5}if((i|0)==5){n=35712;do{do{i=n;n=n+1|0}while((r[i>>0]|0)!=0);e=e+-1|0}while((e|0)!=0)}return hs(n,o[t+20>>2]|0)|0}function hs(e,t){e=e|0;t=t|0;return ps(e,t)|0}function ps(e,t){e=e|0;t=t|0;if(!t)t=0;else t=ms(o[t>>2]|0,o[t+4>>2]|0,e)|0;return((t|0)==0?e:t)|0}function ms(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0;p=(o[e>>2]|0)+1794895138|0;a=gs(o[e+8>>2]|0,p)|0;i=gs(o[e+12>>2]|0,p)|0;s=gs(o[e+16>>2]|0,p)|0;e:do{if((a>>>0>>2>>>0?(h=t-(a<<2)|0,i>>>0>>0&s>>>0>>0):0)?((s|i)&3|0)==0:0){h=i>>>2;d=s>>>2;l=0;while(1){f=a>>>1;u=l+f|0;c=u<<1;s=c+h|0;i=gs(o[e+(s<<2)>>2]|0,p)|0;s=gs(o[e+(s+1<<2)>>2]|0,p)|0;if(!(s>>>0>>0&i>>>0<(t-s|0)>>>0)){i=0;break e}if(r[e+(s+i)>>0]|0){i=0;break e}i=Fo(n,e+s|0)|0;if(!i)break;i=(i|0)<0;if((a|0)==1){i=0;break e}l=i?l:u;a=i?f:a-f|0}i=c+d|0;s=gs(o[e+(i<<2)>>2]|0,p)|0;i=gs(o[e+(i+1<<2)>>2]|0,p)|0;if(i>>>0>>0&s>>>0<(t-i|0)>>>0)i=(r[e+(i+s)>>0]|0)==0?e+i|0:0;else i=0}else i=0}while(0);return i|0}function gs(e,t){e=e|0;t=t|0;var n=0;n=Ps(e|0)|0;return((t|0)==0?e:n)|0}function ys(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0,f=0;i=n+16|0;s=o[i>>2]|0;if(!s)if(!(bs(n)|0)){s=o[i>>2]|0;a=5}else i=0;else a=5;e:do{if((a|0)==5){f=n+20|0;c=o[f>>2]|0;i=c;if((s-c|0)>>>0>>0){i=Vs[o[n+36>>2]&1](n,e,t)|0;break}t:do{if((r[n+75>>0]|0)<0|(t|0)==0){a=0;s=e}else{c=t;while(1){s=c+-1|0;if((r[e+s>>0]|0)==10)break;if(!s){a=0;s=e;break t}else c=s}i=Vs[o[n+36>>2]&1](n,e,c)|0;if(i>>>0>>0)break e;a=c;s=e+c|0;t=t-c|0;i=o[f>>2]|0}}while(0);Ms(i|0,s|0,t|0)|0;o[f>>2]=(o[f>>2]|0)+t;i=a+t|0}}while(0);return i|0}function bs(e){e=e|0;var t=0,n=0;t=e+74|0;n=r[t>>0]|0;r[t>>0]=n+255|n;t=o[e>>2]|0;if(!(t&8)){o[e+8>>2]=0;o[e+4>>2]=0;n=o[e+44>>2]|0;o[e+28>>2]=n;o[e+20>>2]=n;o[e+16>>2]=n+(o[e+48>>2]|0);e=0}else{o[e>>2]=t|32;e=-1}return e|0}function _s(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0;r=e+20|0;i=o[r>>2]|0;e=(o[e+16>>2]|0)-i|0;e=e>>>0>n>>>0?n:e;Ms(i|0,t|0,e|0)|0;o[r>>2]=(o[r>>2]|0)+e;return n|0}function vs(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0;i=h;h=h+16|0;s=i;o[s>>2]=r;r=zo(e,t,n,s)|0;h=i;return r|0}function As(){}function ws(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,o=0;o=e&65535;i=t&65535;n=q(i,o)|0;r=e>>>16;e=(n>>>16)+(q(i,r)|0)|0;i=t>>>16;t=q(i,o)|0;return(I=(e>>>16)+(q(i,r)|0)+(((e&65535)+t|0)>>>16)|0,e+t<<16|n&65535|0)|0}function Es(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0;i=e;o=n;n=ws(i,o)|0;e=I;return(I=(q(t,o)|0)+(q(r,i)|0)+e|e&0,n|0|0)|0}function ks(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;n=e+n>>>0;return(I=t+r+(n>>>0>>0|0)>>>0,n|0)|0}function Ss(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;r=t-r-(n>>>0>e>>>0|0)>>>0;return(I=r,e-n>>>0|0)|0}function Is(e){e=e|0;return(e?31-(G(e^e-1)|0)|0:32)|0}function Ts(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,c=0,f=0,u=0,l=0,d=0,h=0,p=0,m=0;l=e;f=t;u=f;a=n;h=r;c=h;if(!u){s=(i|0)!=0;if(!c){if(s){o[i>>2]=(l>>>0)%(a>>>0);o[i+4>>2]=0}h=0;i=(l>>>0)/(a>>>0)>>>0;return(I=h,i)|0}else{if(!s){h=0;i=0;return(I=h,i)|0}o[i>>2]=e|0;o[i+4>>2]=t&0;h=0;i=0;return(I=h,i)|0}}s=(c|0)==0;do{if(a){if(!s){s=(G(c|0)|0)-(G(u|0)|0)|0;if(s>>>0<=31){d=s+1|0;c=31-s|0;t=s-31>>31;a=d;e=l>>>(d>>>0)&t|u<>>(d>>>0)&t;s=0;c=l<>2]=e|0;o[i+4>>2]=f|t&0;h=0;i=0;return(I=h,i)|0}s=a-1|0;if(s&a|0){c=(G(a|0)|0)+33-(G(u|0)|0)|0;m=64-c|0;d=32-c|0;f=d>>31;p=c-32|0;t=p>>31;a=c;e=d-1>>31&u>>>(p>>>0)|(u<>>(c>>>0))&t;t=t&u>>>(c>>>0);s=l<>>(p>>>0))&f|l<>31;break}if(i|0){o[i>>2]=s&l;o[i+4>>2]=0}if((a|0)==1){p=f|t&0;m=e|0|0;return(I=p,m)|0}else{m=Is(a|0)|0;p=u>>>(m>>>0)|0;m=u<<32-m|l>>>(m>>>0)|0;return(I=p,m)|0}}else{if(s){if(i|0){o[i>>2]=(u>>>0)%(a>>>0);o[i+4>>2]=0}p=0;m=(u>>>0)/(a>>>0)>>>0;return(I=p,m)|0}if(!l){if(i|0){o[i>>2]=0;o[i+4>>2]=(u>>>0)%(c>>>0)}p=0;m=(u>>>0)/(c>>>0)>>>0;return(I=p,m)|0}s=c-1|0;if(!(s&c)){if(i|0){o[i>>2]=e|0;o[i+4>>2]=s&u|t&0}p=0;m=u>>>((Is(c|0)|0)>>>0);return(I=p,m)|0}s=(G(c|0)|0)-(G(u|0)|0)|0;if(s>>>0<=30){t=s+1|0;c=31-s|0;a=t;e=u<>>(t>>>0);t=u>>>(t>>>0);s=0;c=l<>2]=e|0;o[i+4>>2]=f|t&0;p=0;m=0;return(I=p,m)|0}}while(0);if(!a){u=c;f=0;c=0}else{d=n|0|0;l=h|r&0;u=ks(d|0,l|0,-1,-1)|0;n=I;f=c;c=0;do{r=f;f=s>>>31|f<<1;s=c|s<<1;r=e<<1|r>>>31|0;h=e>>>31|t<<1|0;Ss(u|0,n|0,r|0,h|0)|0;m=I;p=m>>31|((m|0)<0?-1:0)<<1;c=p&1;e=Ss(r|0,h|0,p&d|0,(((m|0)<0?-1:0)>>31|((m|0)<0?-1:0)<<1)&l|0)|0;t=I;a=a-1|0}while((a|0)!=0);u=f;f=0}a=0;if(i|0){o[i>>2]=e;o[i+4>>2]=t}p=(s|0)>>>31|(u|a)<<1|(a<<1|s>>>31)&0|f;m=(s<<1|0>>>31)&-2|c;return(I=p,m)|0}function Rs(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return Ts(e,t,n,r,0)|0}function Os(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){I=t>>n;return e>>>n|(t&(1<>n-32|0}function xs(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){I=t>>>n;return e>>>n|(t&(1<>>n-32|0}function Cs(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){I=t<>>32-n;return e<>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function Ms(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0;if((n|0)>=8192)return te(e|0,t|0,n|0)|0;a=e|0;s=e+n|0;if((e&3)==(t&3)){while(e&3){if(!n)return a|0;r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0;n=n-1|0}n=s&-4|0;i=n-64|0;while((e|0)<=(i|0)){o[e>>2]=o[t>>2];o[e+4>>2]=o[t+4>>2];o[e+8>>2]=o[t+8>>2];o[e+12>>2]=o[t+12>>2];o[e+16>>2]=o[t+16>>2];o[e+20>>2]=o[t+20>>2];o[e+24>>2]=o[t+24>>2];o[e+28>>2]=o[t+28>>2];o[e+32>>2]=o[t+32>>2];o[e+36>>2]=o[t+36>>2];o[e+40>>2]=o[t+40>>2];o[e+44>>2]=o[t+44>>2];o[e+48>>2]=o[t+48>>2];o[e+52>>2]=o[t+52>>2];o[e+56>>2]=o[t+56>>2];o[e+60>>2]=o[t+60>>2];e=e+64|0;t=t+64|0}while((e|0)<(n|0)){o[e>>2]=o[t>>2];e=e+4|0;t=t+4|0}}else{n=s-4|0;while((e|0)<(n|0)){r[e>>0]=r[t>>0]|0;r[e+1>>0]=r[t+1>>0]|0;r[e+2>>0]=r[t+2>>0]|0;r[e+3>>0]=r[t+3>>0]|0;e=e+4|0;t=t+4|0}}while((e|0)<(s|0)){r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0}return a|0}function Ds(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,c=0;a=e+n|0;t=t&255;if((n|0)>=67){while(e&3){r[e>>0]=t;e=e+1|0}i=a&-4|0;s=i-64|0;c=t|t<<8|t<<16|t<<24;while((e|0)<=(s|0)){o[e>>2]=c;o[e+4>>2]=c;o[e+8>>2]=c;o[e+12>>2]=c;o[e+16>>2]=c;o[e+20>>2]=c;o[e+24>>2]=c;o[e+28>>2]=c;o[e+32>>2]=c;o[e+36>>2]=c;o[e+40>>2]=c;o[e+44>>2]=c;o[e+48>>2]=c;o[e+52>>2]=c;o[e+56>>2]=c;o[e+60>>2]=c;e=e+64|0}while((e|0)<(i|0)){o[e>>2]=c;e=e+4|0}}while((e|0)<(a|0)){r[e>>0]=t;e=e+1|0}return a-n|0}function Bs(e){e=e|0;var t=0,n=0;n=o[l>>2]|0;t=n+e|0;if((e|0)>0&(t|0)<(n|0)|(t|0)<0){Y()|0;ee(12);return-1}o[l>>2]=t;if((t|0)>(W()|0)?(Q()|0)==0:0){o[l>>2]=n;ee(12);return-1}return n|0}function Ns(e,t){e=e|0;t=t|0;return Gs[e&1](t|0)|0}function js(e,t,n){e=e|0;t=t|0;n=n|0;return Hs[e&3](t|0,n|0)|0}function Us(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return Vs[e&1](t|0,n|0,r|0)|0}function Ls(e,t,n,r,i,o,s,a,c,f){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;s=s|0;a=a|0;c=c|0;f=f|0;return Qs[e&3](t|0,n|0,r|0,i|0,o|0,s|0,a|0,c|0,f|0)|0}function Fs(e){e=e|0;H(0);return 0}function qs(e,t){e=e|0;t=t|0;H(1);return 0}function Ks(e,t,n){e=e|0;t=t|0;n=n|0;H(2);return 0}function zs(e,t,n,r,i,o,s,a,c){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;s=s|0;a=a|0;c=c|0;H(3);return 0}var Gs=[Fs,an];var Hs=[qs,cn,un,qs];var Vs=[Ks,_s];var Qs=[zs,fn,ln,zs];return{___muldi3:Es,___udivdi3:Rs,_bitshift64Ashr:Os,_bitshift64Lshr:xs,_bitshift64Shl:Cs,_free:Uo,_i64Add:ks,_i64Subtract:Ss,_llvm_bswap_i32:Ps,_malloc:jo,_memcpy:Ms,_memset:Ds,_olm_account:Nn,_olm_account_generate_one_time_keys:or,_olm_account_generate_one_time_keys_random_length:ir,_olm_account_identity_keys:Jn,_olm_account_identity_keys_length:Xn,_olm_account_last_error:xn,_olm_account_mark_keys_as_published:nr,_olm_account_max_number_of_one_time_keys:rr,_olm_account_one_time_keys:tr,_olm_account_one_time_keys_length:er,_olm_account_sign:$n,_olm_account_signature_length:Zn,_olm_account_size:Mn,_olm_clear_account:Ln,_olm_clear_inbound_group_session:Pi,_olm_clear_outbound_group_session:co,_olm_clear_pk_decryption:Ft,_olm_clear_pk_encryption:xt,_olm_clear_pk_signing:en,_olm_clear_sas:Xi,_olm_clear_session:Fn,_olm_clear_utility:qn,_olm_create_account:Yn,_olm_create_account_random_length:Wn,_olm_create_inbound_session:cr,_olm_create_inbound_session_from:fr,_olm_create_outbound_session:ar,_olm_create_outbound_session_random_length:sr,_olm_create_sas:Zi,_olm_create_sas_random_length:Ji,_olm_decrypt:wr,_olm_decrypt_max_plaintext_length:Ar,_olm_ed25519_verify:Sr,_olm_encrypt:vr,_olm_encrypt_message_length:_r,_olm_encrypt_message_type:yr,_olm_encrypt_random_length:br,_olm_error:On,_olm_export_inbound_group_session:Vi,_olm_export_inbound_group_session_length:Hi,_olm_get_library_version:Rn,_olm_group_decrypt:Fi,_olm_group_decrypt_max_plaintext_length:Li,_olm_group_encrypt:yo,_olm_group_encrypt_message_length:go,_olm_import_inbound_group_session:Bi,_olm_inbound_group_session:Ci,_olm_inbound_group_session_first_known_index:zi,_olm_inbound_group_session_id:Ki,_olm_inbound_group_session_id_length:qi,_olm_inbound_group_session_is_verified:Gi,_olm_inbound_group_session_last_error:Mi,_olm_inbound_group_session_size:xi,_olm_init_inbound_group_session:Di,_olm_init_outbound_group_session:mo,_olm_init_outbound_group_session_random_length:po,_olm_matches_inbound_session:pr,_olm_matches_inbound_session_from:mr,_olm_outbound_group_session:ao,_olm_outbound_group_session_id:_o,_olm_outbound_group_session_id_length:bo,_olm_outbound_group_session_key:wo,_olm_outbound_group_session_key_length:Ao,_olm_outbound_group_session_last_error:fo,_olm_outbound_group_session_message_index:vo,_olm_outbound_group_session_size:so,_olm_pickle_account:Gn,_olm_pickle_account_length:Kn,_olm_pickle_inbound_group_session:ji,_olm_pickle_inbound_group_session_length:Ni,_olm_pickle_outbound_group_session:lo,_olm_pickle_outbound_group_session_length:uo,_olm_pickle_pk_decryption:Vt,_olm_pickle_pk_decryption_length:Ht,_olm_pickle_session:Hn,_olm_pickle_session_length:zn,_olm_pk_ciphertext_length:Mt,_olm_pk_decrypt:Yt,_olm_pk_decryption:Lt,_olm_pk_decryption_last_error:jt,_olm_pk_decryption_size:Ut,_olm_pk_encrypt:Nt,_olm_pk_encrypt_random_length:Bt,_olm_pk_encryption:Ot,_olm_pk_encryption_last_error:Tt,_olm_pk_encryption_set_recipient_key:Ct,_olm_pk_encryption_size:Rt,_olm_pk_generate_key:Gt,_olm_pk_generate_key_random_length:Kt,_olm_pk_get_private_key:Xt,_olm_pk_key_from_private:zt,_olm_pk_key_length:Pt,_olm_pk_mac_length:Dt,_olm_pk_max_plaintext_length:Wt,_olm_pk_private_key_length:qt,_olm_pk_sign:sn,_olm_pk_signature_length:on,_olm_pk_signing:Zt,_olm_pk_signing_key_from_seed:rn,_olm_pk_signing_last_error:$t,_olm_pk_signing_public_key_length:nn,_olm_pk_signing_seed_length:tn,_olm_pk_signing_size:Jt,_olm_remove_one_time_keys:gr,_olm_sas:Yi,_olm_sas_calculate_mac:io,_olm_sas_calculate_mac_long_kdf:oo,_olm_sas_generate_bytes:no,_olm_sas_get_pubkey:eo,_olm_sas_last_error:Qi,_olm_sas_mac_length:ro,_olm_sas_pubkey_length:$i,_olm_sas_set_their_key:to,_olm_sas_size:Wi,_olm_session:jn,_olm_session_describe:hr,_olm_session_has_received_message:dr,_olm_session_id:lr,_olm_session_id_length:ur,_olm_session_last_error:Cn,_olm_session_size:Dn,_olm_sha256:kr,_olm_sha256_length:Er,_olm_unpickle_account:Vn,_olm_unpickle_inbound_group_session:Ui,_olm_unpickle_outbound_group_session:ho,_olm_unpickle_pk_decryption:Qt,_olm_unpickle_session:Qn,_olm_utility:Un,_olm_utility_last_error:Pn,_olm_utility_size:Bn,_sbrk:Bs,dynCall_ii:Ns,dynCall_iii:js,dynCall_iiii:Us,dynCall_iiiiiiiiii:Ls,establishStackSpace:se,getTempRet0:fe,runPostSets:As,setTempRet0:ce,setThrew:ae,stackAlloc:re,stackRestore:oe,stackSave:ie}}(l.f,l.g,D);l.___muldi3=Ee.___muldi3,l.___udivdi3=Ee.___udivdi3,l._bitshift64Ashr=Ee._bitshift64Ashr,l._bitshift64Lshr=Ee._bitshift64Lshr,l._bitshift64Shl=Ee._bitshift64Shl,l._free=Ee._free,l._i64Add=Ee._i64Add,l._i64Subtract=Ee._i64Subtract,l._llvm_bswap_i32=Ee._llvm_bswap_i32;var ke=l._malloc=Ee._malloc;l._memcpy=Ee._memcpy,l._memset=Ee._memset,l._olm_account=Ee._olm_account,l._olm_account_generate_one_time_keys=Ee._olm_account_generate_one_time_keys,l._olm_account_generate_one_time_keys_random_length=Ee._olm_account_generate_one_time_keys_random_length,l._olm_account_identity_keys=Ee._olm_account_identity_keys,l._olm_account_identity_keys_length=Ee._olm_account_identity_keys_length,l._olm_account_last_error=Ee._olm_account_last_error,l._olm_account_mark_keys_as_published=Ee._olm_account_mark_keys_as_published,l._olm_account_max_number_of_one_time_keys=Ee._olm_account_max_number_of_one_time_keys,l._olm_account_one_time_keys=Ee._olm_account_one_time_keys,l._olm_account_one_time_keys_length=Ee._olm_account_one_time_keys_length,l._olm_account_sign=Ee._olm_account_sign,l._olm_account_signature_length=Ee._olm_account_signature_length,l._olm_account_size=Ee._olm_account_size,l._olm_clear_account=Ee._olm_clear_account,l._olm_clear_inbound_group_session=Ee._olm_clear_inbound_group_session,l._olm_clear_outbound_group_session=Ee._olm_clear_outbound_group_session,l._olm_clear_pk_decryption=Ee._olm_clear_pk_decryption,l._olm_clear_pk_encryption=Ee._olm_clear_pk_encryption,l._olm_clear_pk_signing=Ee._olm_clear_pk_signing,l._olm_clear_sas=Ee._olm_clear_sas,l._olm_clear_session=Ee._olm_clear_session,l._olm_clear_utility=Ee._olm_clear_utility,l._olm_create_account=Ee._olm_create_account,l._olm_create_account_random_length=Ee._olm_create_account_random_length,l._olm_create_inbound_session=Ee._olm_create_inbound_session,l._olm_create_inbound_session_from=Ee._olm_create_inbound_session_from,l._olm_create_outbound_session=Ee._olm_create_outbound_session,l._olm_create_outbound_session_random_length=Ee._olm_create_outbound_session_random_length,l._olm_create_sas=Ee._olm_create_sas,l._olm_create_sas_random_length=Ee._olm_create_sas_random_length,l._olm_decrypt=Ee._olm_decrypt,l._olm_decrypt_max_plaintext_length=Ee._olm_decrypt_max_plaintext_length,l._olm_ed25519_verify=Ee._olm_ed25519_verify,l._olm_encrypt=Ee._olm_encrypt,l._olm_encrypt_message_length=Ee._olm_encrypt_message_length,l._olm_encrypt_message_type=Ee._olm_encrypt_message_type,l._olm_encrypt_random_length=Ee._olm_encrypt_random_length,l._olm_error=Ee._olm_error,l._olm_export_inbound_group_session=Ee._olm_export_inbound_group_session,l._olm_export_inbound_group_session_length=Ee._olm_export_inbound_group_session_length,l._olm_get_library_version=Ee._olm_get_library_version,l._olm_group_decrypt=Ee._olm_group_decrypt,l._olm_group_decrypt_max_plaintext_length=Ee._olm_group_decrypt_max_plaintext_length,l._olm_group_encrypt=Ee._olm_group_encrypt,l._olm_group_encrypt_message_length=Ee._olm_group_encrypt_message_length,l._olm_import_inbound_group_session=Ee._olm_import_inbound_group_session,l._olm_inbound_group_session=Ee._olm_inbound_group_session,l._olm_inbound_group_session_first_known_index=Ee._olm_inbound_group_session_first_known_index,l._olm_inbound_group_session_id=Ee._olm_inbound_group_session_id,l._olm_inbound_group_session_id_length=Ee._olm_inbound_group_session_id_length,l._olm_inbound_group_session_is_verified=Ee._olm_inbound_group_session_is_verified,l._olm_inbound_group_session_last_error=Ee._olm_inbound_group_session_last_error,l._olm_inbound_group_session_size=Ee._olm_inbound_group_session_size,l._olm_init_inbound_group_session=Ee._olm_init_inbound_group_session,l._olm_init_outbound_group_session=Ee._olm_init_outbound_group_session,l._olm_init_outbound_group_session_random_length=Ee._olm_init_outbound_group_session_random_length,l._olm_matches_inbound_session=Ee._olm_matches_inbound_session,l._olm_matches_inbound_session_from=Ee._olm_matches_inbound_session_from,l._olm_outbound_group_session=Ee._olm_outbound_group_session,l._olm_outbound_group_session_id=Ee._olm_outbound_group_session_id,l._olm_outbound_group_session_id_length=Ee._olm_outbound_group_session_id_length,l._olm_outbound_group_session_key=Ee._olm_outbound_group_session_key,l._olm_outbound_group_session_key_length=Ee._olm_outbound_group_session_key_length,l._olm_outbound_group_session_last_error=Ee._olm_outbound_group_session_last_error,l._olm_outbound_group_session_message_index=Ee._olm_outbound_group_session_message_index,l._olm_outbound_group_session_size=Ee._olm_outbound_group_session_size,l._olm_pickle_account=Ee._olm_pickle_account,l._olm_pickle_account_length=Ee._olm_pickle_account_length,l._olm_pickle_inbound_group_session=Ee._olm_pickle_inbound_group_session,l._olm_pickle_inbound_group_session_length=Ee._olm_pickle_inbound_group_session_length,l._olm_pickle_outbound_group_session=Ee._olm_pickle_outbound_group_session,l._olm_pickle_outbound_group_session_length=Ee._olm_pickle_outbound_group_session_length,l._olm_pickle_pk_decryption=Ee._olm_pickle_pk_decryption,l._olm_pickle_pk_decryption_length=Ee._olm_pickle_pk_decryption_length,l._olm_pickle_session=Ee._olm_pickle_session,l._olm_pickle_session_length=Ee._olm_pickle_session_length,l._olm_pk_ciphertext_length=Ee._olm_pk_ciphertext_length,l._olm_pk_decrypt=Ee._olm_pk_decrypt,l._olm_pk_decryption=Ee._olm_pk_decryption,l._olm_pk_decryption_last_error=Ee._olm_pk_decryption_last_error,l._olm_pk_decryption_size=Ee._olm_pk_decryption_size,l._olm_pk_encrypt=Ee._olm_pk_encrypt,l._olm_pk_encrypt_random_length=Ee._olm_pk_encrypt_random_length,l._olm_pk_encryption=Ee._olm_pk_encryption,l._olm_pk_encryption_last_error=Ee._olm_pk_encryption_last_error,l._olm_pk_encryption_set_recipient_key=Ee._olm_pk_encryption_set_recipient_key,l._olm_pk_encryption_size=Ee._olm_pk_encryption_size,l._olm_pk_generate_key=Ee._olm_pk_generate_key,l._olm_pk_generate_key_random_length=Ee._olm_pk_generate_key_random_length,l._olm_pk_get_private_key=Ee._olm_pk_get_private_key,l._olm_pk_key_from_private=Ee._olm_pk_key_from_private,l._olm_pk_key_length=Ee._olm_pk_key_length,l._olm_pk_mac_length=Ee._olm_pk_mac_length,l._olm_pk_max_plaintext_length=Ee._olm_pk_max_plaintext_length,l._olm_pk_private_key_length=Ee._olm_pk_private_key_length,l._olm_pk_sign=Ee._olm_pk_sign,l._olm_pk_signature_length=Ee._olm_pk_signature_length,l._olm_pk_signing=Ee._olm_pk_signing,l._olm_pk_signing_key_from_seed=Ee._olm_pk_signing_key_from_seed,l._olm_pk_signing_last_error=Ee._olm_pk_signing_last_error,l._olm_pk_signing_public_key_length=Ee._olm_pk_signing_public_key_length,l._olm_pk_signing_seed_length=Ee._olm_pk_signing_seed_length,l._olm_pk_signing_size=Ee._olm_pk_signing_size,l._olm_remove_one_time_keys=Ee._olm_remove_one_time_keys,l._olm_sas=Ee._olm_sas,l._olm_sas_calculate_mac=Ee._olm_sas_calculate_mac,l._olm_sas_calculate_mac_long_kdf=Ee._olm_sas_calculate_mac_long_kdf,l._olm_sas_generate_bytes=Ee._olm_sas_generate_bytes,l._olm_sas_get_pubkey=Ee._olm_sas_get_pubkey,l._olm_sas_last_error=Ee._olm_sas_last_error,l._olm_sas_mac_length=Ee._olm_sas_mac_length,l._olm_sas_pubkey_length=Ee._olm_sas_pubkey_length,l._olm_sas_set_their_key=Ee._olm_sas_set_their_key,l._olm_sas_size=Ee._olm_sas_size,l._olm_session=Ee._olm_session,l._olm_session_describe=Ee._olm_session_describe,l._olm_session_has_received_message=Ee._olm_session_has_received_message,l._olm_session_id=Ee._olm_session_id,l._olm_session_id_length=Ee._olm_session_id_length,l._olm_session_last_error=Ee._olm_session_last_error,l._olm_session_size=Ee._olm_session_size,l._olm_sha256=Ee._olm_sha256,l._olm_sha256_length=Ee._olm_sha256_length,l._olm_unpickle_account=Ee._olm_unpickle_account,l._olm_unpickle_inbound_group_session=Ee._olm_unpickle_inbound_group_session,l._olm_unpickle_outbound_group_session=Ee._olm_unpickle_outbound_group_session,l._olm_unpickle_pk_decryption=Ee._olm_unpickle_pk_decryption,l._olm_unpickle_session=Ee._olm_unpickle_session,l._olm_utility=Ee._olm_utility,l._olm_utility_last_error=Ee._olm_utility_last_error,l._olm_utility_size=Ee._olm_utility_size,l._sbrk=Ee._sbrk,l.establishStackSpace=Ee.establishStackSpace,l.getTempRet0=Ee.getTempRet0,l.runPostSets=Ee.runPostSets,l.setTempRet0=Ee.setTempRet0,l.setThrew=Ee.setThrew;var Se=l.stackAlloc=Ee.stackAlloc,Ie=l.stackRestore=Ee.stackRestore,Te=l.stackSave=Ee.stackSave;if(l.dynCall_ii=Ee.dynCall_ii,l.dynCall_iii=Ee.dynCall_iii,l.dynCall_iiii=Ee.dynCall_iiii,l.dynCall_iiiiiiiiii=Ee.dynCall_iiiiiiiiii,l.asm=Ee,l.ALLOC_STACK=1,me){if(String.prototype.startsWith?!me.startsWith(ge):0!==me.indexOf(ge)){var Re=me;me=l.locateFile?l.locateFile(Re,E):E+Re}if(_||v){var Oe=l.readBinary(me);N.set(Oe,8)}else{var xe=function(){l.readAsync(me,Ce,(function(){throw"could not load memory initializer "+me}))};de++,l.monitorRunDependencies&&l.monitorRunDependencies(de);var Ce=function(e){e.byteLength&&(e=new Uint8Array(e)),N.set(e,8),l.memoryInitializerRequest&&delete l.memoryInitializerRequest.response,de--,l.monitorRunDependencies&&l.monitorRunDependencies(de),0==de&&(null!==he&&(clearInterval(he),he=null),pe&&(e=pe,pe=null,e()))},Pe=we(me);if(Pe)Ce(Pe.buffer);else if(l.memoryInitializerRequest){var Me=function(){var e=l.memoryInitializerRequest,t=e.response;if(200!==e.status&&0!==e.status){if(!(t=we(l.memoryInitializerRequestURL)))return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+e.status+", retrying "+me),void xe();t=t.buffer}Ce(t)};l.memoryInitializerRequest.response?setTimeout(Me,0):l.memoryInitializerRequest.addEventListener("load",Me)}else xe()}}function De(){function e(){if(!l.calledRun&&(l.calledRun=!0,!O)){if(oe||(oe=!0,ee(ne)),ee(re),l.onRuntimeInitialized&&l.onRuntimeInitialized(),l.postRun)for("function"==typeof l.postRun&&(l.postRun=[l.postRun]);l.postRun.length;){var e=l.postRun.shift();ie.unshift(e)}ee(ie)}}if(!(0=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}return n}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,n){"use strict";var r=n(18);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,s){if(s!==r){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t3&&void 0!==arguments[3]?arguments[3]:{};return Object.assign({unified:e,emoji:e.split("-").map((function(e){return parseInt(e,16)})).map((function(e){return String.fromCodePoint(e)})).join(""),originalUnified:t[l.EMOJI_PROPERTY_UNIFIED],names:t[l.EMOJI_PROPERTY_NAME],activeSkinTone:n},r)},D=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Function.prototype;return function(t,n,r,i){var o=M(n,r,i);return P(o),e(t,o)}},B=n(8),N=(n(23),function(){var e=Object(a.useContext)(g),t=e.state,n=t.skinTonesSpread,r=t.activeSkinTone,i=e.dispatch,o=function(){i({type:_,spread:!n})},s=function(e){var t=e.target.value;i({type:v,skinTone:t})};return c.a.createElement("ul",{className:"skin-tones-list"},B.map((function(e,t){var i=e===r;return c.a.createElement("li",{key:e,className:"t".concat(e),style:{transform:"translateX(-".concat(n?20*t:0,"px) scale(").concat(i?"1.5":1,")"),zIndex:i?2:1}},c.a.createElement("input",{type:"radio",onChange:s,name:"skin-tone",value:e,id:"tone_".concat(e)}),c.a.createElement("label",{htmlFor:"tone_".concat(e),"data-name":"tones",onClick:o}))})))}),j=n(9),U=n.n(j),L=function(e){var t=Object(a.useContext)(g).state.emojiUrl;return e?"".concat(t,"/").concat(e,".png"):t},F=(n(25),function(e){var t=e.unified,n=e.dispatch,r=e.shouldLoad,i=void 0===r||r;return c.a.createElement("img",U()({className:"emoji-img",onError:function(){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Function.prototype;t({type:w,unified:e})}(t,n)}},i&&function(e){return{src:L(e)}}(t)))}),q=F;F.propTypes={unified:u.a.string,shouldLoad:u.a.bool,dispatch:u.a.func},n(27);var K=function(e){var t=e.closeVariations,n=Object(a.useContext)(g).state,r=n.variationMenu,i=n.activeSkinTone,o=n.onEmojiClick;return r?c.a.createElement("div",{className:"variations-wrapper"},c.a.createElement("ul",{className:"variation-list"},B.map((function(e){var n=r[l.EMOJI_PROPERTY_SKIN_VARIATIONS].find((function(t){return t.includes(e)}))||r[l.EMOJI_PROPERTY_UNIFIED];return c.a.createElement("li",{key:n},c.a.createElement("button",{onClick:function(e){return t(e),o(e,n,r,i)},onMouseDown:function(e){return e.stopPropagation()}},c.a.createElement(q,{unified:n})))})))):null},z=K;K.propTypes={closeVariations:u.a.func};var G=n(7),H=n.n(G),V=n(10),Q=(n(29),function(e){var t=e.emojiListRef,n=Object(a.useContext)(g),r=n.state,i=r.activeCategory,o=r.filter,s=n.dispatch,f=!1;return o&&o.length&&(f=!0),c.a.createElement("nav",{onClick:function(e){var n=e.target;if(!f){var r=n.getAttribute("data-name");if(t&&t.current&&r){s({type:y,activeCategory:r}),s({type:A,group:r});var i=t.current,o=i.querySelector("[".concat("data-name",'="').concat(r,'"]'));i.scrollTop=o.offsetTop}}},className:H()("emoji-categories",{inactive:f})},V.map((function(e){return c.a.createElement("button",{key:e,className:H()("icn-".concat(e.replace(" & ","_")),{active:i===e}),"data-name":e})})))}),W=Q;Q.propTypes={emojiListRef:u.a.shape({current:u.a.instanceOf(Element)})};var Y,X,J=n(11),Z=function(e){var t={groups:{},emojis:{}},n=function(n){e[n].reduce((function(e,t){var r=t[l.EMOJI_PROPERTY_UNIFIED];return t[l.EMOJI_PROPERTY_GROUP]=n,e.emojis[r]=t,e.groups[n]=e.groups[n]||[],e.groups[n].push(r),e}),t)};for(var r in e)n(r);return t}(J),$=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0,n=".content-wrapper",r=t&&t.current?t.current.closest("".concat(n)):document.querySelector(".emoji-picker-react ".concat(n));r.setAttribute("data-name",e)},ee=u.a.shape((X={},i()(X,l.EMOJI_PROPERTY_NAME,u.a.arrayOf(u.a.string)),i()(X,l.EMOJI_PROPERTY_UNIFIED,u.a.string),i()(X,l.EMOJI_PROPERTY_SKIN_VARIATIONS,u.a.arrayOf(u.a.string)),i()(X,l.EMOJI_PROPERTY_GROUP,u.a.string),X));function te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}n(40);var ne=["#aeeff0","#ffe0e0","#d6f8b8","#c6cfff","#f1f0d1"],re=null,ie=function(){return clearTimeout(re)},oe=function(e){var t,n,r=e.emoji,o=e.shouldLoad,s=e.hidden,a=e.activeSkinTone,f=e.openVariationMenu,u=e.variationMenuOpen,d=e.handleMouseEnter,h=e.handleMouseLeave,p=e.onEmojiClick,m=e.index,g=e.dispatch,y=r[l.EMOJI_PROPERTY_SKIN_VARIATIONS],b=function(e){for(var t=1;t=0}))),t||(t=r[l.EMOJI_PROPERTY_UNIFIED]),c.a.createElement("li",{style:b,className:H()("emoji",{"has-skin-variation":y&&f})},c.a.createElement("button",{onMouseDown:function(){y&&f&&(re=setTimeout((function(){f(r)}),500))},onMouseEnter:d,onMouseLeave:h,onMouseUp:ie,onClick:function(e){u||p(e,t,r,a)}},c.a.createElement(q,{unified:t,shouldLoad:o,dispatch:g})))},se=oe;oe.propTypes={emoji:ee,shouldLoad:u.a.bool,hidden:u.a.bool,activeSkinTone:u.a.string,openVariationMenu:u.a.func,variationMenuOpen:u.a.bool,handleMouseEnter:u.a.func,handleMouseLeave:u.a.func,onEmojiClick:u.a.func,index:u.a.number,dispatch:u.a.func};var ae=function(e){var t=e.unsetEmojiName,n=e.emojiListRef,r=Object(a.useContext)(g),i=r.state,o=i.recentlyUsed,s=i.onEmojiClick,f=i.filterResult,u=i.failedToLoad,d=void 0===u?{}:u,h=r.dispatch;return!o.length||f?null:c.a.createElement("ul",{className:"emoji-group","data-name":l.GROUP_NAME_RECENTLY_USED},o.map((function(e,r){var i=e[l.EMOJI_PROPERTY_UNIFIED],o=Z.emojis[i];return d[i]||!o?null:c.a.createElement(se,U()({key:r,emoji:o},e[l.EMOJI_PROPERTY_SKIN_VARIATIONS]&&{activeSkinTone:e[l.EMOJI_PROPERTY_SKIN_VARIATIONS]},{index:r,handleMouseLeave:t,onEmojiClick:s,handleMouseEnter:function(){return $(o[l.EMOJI_PROPERTY_NAME][0],n)},dispatch:h,shouldLoad:!0}))})))},ce=ae;function fe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}ae.propTypes={unsetEmojiName:u.a.func,emojiListRef:u.a.shape({current:u.a.instanceOf(Element)})},n(42);var ue=function(e){var t=e.emojiListRef,n=Object(a.useContext)(g).state.filterResult;(function(e){var t=Object(a.useContext)(g),n=t.state,r=n.filterResult,i=n.activeCategory,o=t.dispatch;Object(a.useEffect)((function(){void 0!==T.IntersectionObserver&&!Y&&e.current&&(Y=new IntersectionObserver((function(e){e.forEach((function(e){var t=e.target,n=t.getAttribute("data-name");if(0===e.intersectionRatio){if(n===i)o({type:y,activeCategory:null});else if(n===l.GROUP_NAME_RECENTLY_USED){var r=t.nextSibling;if(r){var s=r.getAttribute("data-name");o({type:y,activeCategory:s})}}}else i||(o({type:A,group:n}),o({type:y,activeCategory:n}))}))}),{root:e.current.parentElement})),Y.disconnect(),e&&e.current&&I()(e.current.querySelectorAll(".emoji-group")).forEach((function(e){Y.observe(e)}))}),[e.current,r])})(t),function(e,t){var n=Object(a.useRef)();Object(a.useEffect)((function(){t&&t.current&&(t.current.scrollTop=0),n.current=e}),[e]),n.current}(n,t);var r=function(){return $("",t)};return c.a.createElement("section",{className:"emoji-scroll-wrapper",ref:t},c.a.createElement(ce,{unsetEmojiName:r,emojiListRef:t}),V.map((function(e){var n=function(e,t){var n=t.unsetEmojiName,r=t.emojiListRef,i=Object(a.useContext)(g),o=i.state,s=o.activeSkinTone,f=o.filterResult,u=o.seenGroups,d=void 0===u?{}:u,h=o.onEmojiClick,p=o.variationMenu,m=o.failedToLoad,y=void 0===m?null:m,_=o.preload,v=i.dispatch,A=_||!(!d[e]&&!f&&"function"==typeof T.IntersectionObserver),w=!!p,E=function(e){return v({type:b,emoji:e})};return Object(a.useMemo)((function(){var t=f?Object.keys(f[e]||{}):Z.groups[e];return t.reduce((function(e,i,o){if(y&&y[i])return e;var a=Z.emojis[i],f=!t.length;return e.shown||f||(e.shown=!0),e.list.push(c.a.createElement(se,{emoji:a,dispatch:v,openVariationMenu:E,activeSkinTone:s,handleMouseLeave:n,variationMenuOpen:w,handleMouseEnter:function(){return $(a[l.EMOJI_PROPERTY_NAME][0],r)},hidden:f,shouldLoad:A,onEmojiClick:h,index:o,key:a[l.EMOJI_PROPERTY_UNIFIED]})),e}),{list:[],shown:!1})}),[s,f,e,A,w,y])}(e,{unsetEmojiName:r,emojiListRef:t}),o=n.list,s=function(e){for(var t=1;t3&&void 0!==arguments[3]?arguments[3]:100,i=n;return new Promise((function(n){var o=0;!function s(){for(var a=o;ao.value.length&&i.includes(o.value))t=[].concat(I()(n),[{value:i,terms:o.terms.filter((function(e){return e.includes(i)}))}]);else if(o&&i.length0;a--)if(i.includes(n[a-1].value)){s=a;break}n.length=s,t=I()(n)}else 0!==n.length&&i.includes(o.value)||(t=[{value:i,terms:he[i[0]].filter((function(e){return e.includes(i)}))}]);var c=t[t.length-1];c&&c.value?pe(c&&c.terms||[],(function(e,t){return de[t]?(de[t]||[]).reduce((function(e,t){var n=Z.emojis[t][l.EMOJI_PROPERTY_GROUP];return e[n]=e[n]||{},e[n][t]=!0,e}),e):e}),{}).then((function(e){r({type:E,filter:t,filterResult:e})})):r({type:E,filter:t,filterResult:null})}},ye=(n(44),function(){return c.a.createElement("input",{className:"emoji-search",onChange:ge(),autoFocus:!0})});n(46),n.d(t,"SKIN_TONE_NEUTRAL",(function(){return"neutral"})),n.d(t,"SKIN_TONE_LIGHT",(function(){return"1f3fb"})),n.d(t,"SKIN_TONE_MEDIUM_LIGHT",(function(){return"1f3fc"})),n.d(t,"SKIN_TONE_MEDIUM",(function(){return"1f3fe"})),n.d(t,"SKIN_TONE_MEDIUM_DARK",(function(){return"1f3ff"})),n.d(t,"SKIN_TONE_DARK",(function(){return"1f3fd"}));var be=function(e){var t=e.emojiUrl,n=void 0===t?"https://cdn.jsdelivr.net/gh/iamcal/emoji-data@master/img-apple-160":t,r=e.onEmojiClick,o=e.preload,f=void 0!==o&&o,u=e.skinTone,d=void 0===u?"neutral":u,h=Object(a.useRef)(null),p=Object(a.useReducer)(k,{activeSkinTone:d,emojiUrl:n,onEmojiClick:D(r),seenGroups:i()({},l.GROUP_NAME_PEOPLE,!0),recentlyUsed:C(),preload:f}),m=s()(p,2),y=m[0],v=m[1],A=function(e){var t=e.target;y.variationMenu&&v({type:b}),y.skinTonesSpread&&"tones"!==t.getAttribute("data-name")&&v({type:_})};return c.a.createElement(g.Provider,{value:{state:y,dispatch:v}},c.a.createElement("aside",{className:"emoji-picker-react",onScroll:A,onMouseDown:A},c.a.createElement(W,{emojiListRef:h}),c.a.createElement("div",{style:{position:"relative"}},c.a.createElement(ye,null),c.a.createElement(N,null)),c.a.createElement("div",{className:"content-wrapper","data-name":y.emojiName},c.a.createElement(z,{closeVariations:A}),c.a.createElement(le,{emojiListRef:h}))))};t.default=be,be.propTypes={emojiUrl:u.a.string,onEmojiClick:u.a.func,preload:u.a.bool,skinTone:u.a.string}}]))}).call(this,n(5))},function(e,t,n){"use strict";var r=n(26),i=n.n(r),o=n(27),s=n.n(o),a=n(54),c=n.n(a),f=n(55),u=n.n(f),l=n(7),d=n.n(l),h=n(56),p=n.n(h),m=n(2),g=n.n(m),y=n(0),b=n.n(y),_=(n(13),n(327)),v=n(157),A=n.n(v),w=n(22);function E(e,t,n){return e===t||(e.correspondingElement?e.correspondingElement.classList.contains(n):e.classList.contains(n))}var k,S,I=(void 0===k&&(k=0),function(){return++k}),T={},R={},O=["touchstart","touchmove"];function x(e,t){var n=null;return-1!==O.indexOf(t)&&S&&(n={passive:!e.props.preventDefault}),n}var C=function(e,t){var n,r,i=e.displayName||e.name||"Component";return r=n=function(n){var r,o;function s(e){var r;return(r=n.call(this,e)||this).__outsideClickHandler=function(e){if("function"!=typeof r.__clickOutsideHandlerProp){var t=r.getInstance();if("function"!=typeof t.props.handleClickOutside){if("function"!=typeof t.handleClickOutside)throw new Error("WrappedComponent: "+i+" lacks a handleClickOutside(event) function for processing outside click events.");t.handleClickOutside(e)}else t.props.handleClickOutside(e)}else r.__clickOutsideHandlerProp(e)},r.__getComponentNode=function(){var e=r.getInstance();return t&&"function"==typeof t.setClickOutsideRef?t.setClickOutsideRef()(e):"function"==typeof e.setClickOutsideRef?e.setClickOutsideRef():Object(w.findDOMNode)(e)},r.enableOnClickOutside=function(){if("undefined"!=typeof document&&!R[r._uid]){void 0===S&&(S=function(){if("undefined"!=typeof window&&"function"==typeof window.addEventListener){var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}}),n=function(){};return window.addEventListener("testPassiveEventSupport",n,t),window.removeEventListener("testPassiveEventSupport",n,t),e}}()),R[r._uid]=!0;var e=r.props.eventTypes;e.forEach||(e=[e]),T[r._uid]=function(e){var t;null!==r.componentNode&&(r.props.preventDefault&&e.preventDefault(),r.props.stopPropagation&&e.stopPropagation(),r.props.excludeScrollbar&&(t=e,document.documentElement.clientWidth<=t.clientX||document.documentElement.clientHeight<=t.clientY)||function(e,t,n){if(e===t)return!0;for(;e.parentNode;){if(E(e,t,n))return!0;e=e.parentNode}return e}(e.target,r.componentNode,r.props.outsideClickIgnoreClass)===document&&r.__outsideClickHandler(e))},e.forEach((function(e){document.addEventListener(e,T[r._uid],x(r,e))}))}},r.disableOnClickOutside=function(){delete R[r._uid];var e=T[r._uid];if(e&&"undefined"!=typeof document){var t=r.props.eventTypes;t.forEach||(t=[t]),t.forEach((function(t){return document.removeEventListener(t,e,x(r,t))})),delete T[r._uid]}},r.getRef=function(e){return r.instanceRef=e},r._uid=I(),r}o=n,(r=s).prototype=Object.create(o.prototype),r.prototype.constructor=r,r.__proto__=o;var a=s.prototype;return a.getInstance=function(){if(!e.prototype.isReactComponent)return this;var t=this.instanceRef;return t.getInstance?t.getInstance():t},a.componentDidMount=function(){if("undefined"!=typeof document&&document.createElement){var e=this.getInstance();if(t&&"function"==typeof t.handleClickOutside&&(this.__clickOutsideHandlerProp=t.handleClickOutside(e),"function"!=typeof this.__clickOutsideHandlerProp))throw new Error("WrappedComponent: "+i+" lacks a function for processing outside click events specified by the handleClickOutside config option.");this.componentNode=this.__getComponentNode(),this.props.disableOnClickOutside||this.enableOnClickOutside()}},a.componentDidUpdate=function(){this.componentNode=this.__getComponentNode()},a.componentWillUnmount=function(){this.disableOnClickOutside()},a.render=function(){var t=this.props,n=(t.excludeScrollbar,function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(t,["excludeScrollbar"]));return e.prototype.isReactComponent?n.ref=this.getRef:n.wrappedRef=this.getRef,n.disableOnClickOutside=this.disableOnClickOutside,n.enableOnClickOutside=this.enableOnClickOutside,Object(y.createElement)(e,n)},s}(y.Component),n.displayName="OnClickOutside("+i+")",n.defaultProps={eventTypes:["mousedown","touchstart"],excludeScrollbar:t&&t.excludeScrollbar||!1,outsideClickIgnoreClass:"ignore-react-onclickoutside",preventDefault:!1,stopPropagation:!1},n.getClass=function(){return e.getClass?e.getClass():e},r},P=function(){return b.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24",viewBox:"0 0 24 24",width:"24"},b.a.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),b.a.createElement("path",{id:"icon",fill:"#828282",d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z"}))},M=function(e){function t(e){var n;return i()(this,t),n=c()(this,u()(t).call(this,e)),g()(d()(n),"handleClickOutside",(function(e){n.props.closeEmojiSelector()})),n}return p()(t,e),s()(t,[{key:"render",value:function(){var e=this.props,t=e.onEmojiClick,n=e.emojiSelectorOpen,r=e.toggleEmojiSelector;return(b.a.createElement("div",{className:"emoji-button-container"},b.a.createElement("div",{className:"pos-relative"},b.a.createElement(_.a,{in:n,timeout:250},(function(e){return b.a.createElement("div",{className:"emoji-picker emoji-picker-".concat(e),"aria-hidden":!n},b.a.createElement(A.a,{onEmojiClick:t,emojiUrl:"https://cdn.jsdelivr.net/gh/iamcal/emoji-data@master/img-apple-64"}))})),b.a.createElement("button",{type:"button",id:"emoji-button",onClick:r,"aria-label":"Emoji picker"},b.a.createElement(P,null)))))}}]),t}(b.a.Component);t.a=C(M)},function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return g}));var r=n(150),i=n.n(r),o=n(26),s=n.n(o),a=n(27),c=n.n(a),f=n(2),u=n.n(f),l=n(0),d=n.n(l),h=n(22),p=n.n(h),m=n(151),g=(n(325),function(){function e(){s()(this,e)}return c()(e,null,[{key:"mount",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.parentElement,r=void 0===n?null:n,o=i()(t,["parentElement"]),s=d.a.createElement(m.a,o);function a(){if(e.el)throw new Error("EmbeddableChatbox is already mounted, unmount first");var t=document.createElement("div");t.setAttribute("class","cleanslate"),r?document.querySelector(r).appendChild(t):document.body.appendChild(t),p.a.render(s,t),e.el=t}"complete"===document.readyState?a():window.addEventListener("load",(function(){a()}))}},{key:"unmount",value:function(){if(!e.el)throw new Error("EmbeddableChatbox is not mounted, mount first");p.a.unmountComponentAtNode(e.el),e.el.parentNode.removeChild(e.el),e.el=null}}]),e}());u()(g,"el",void 0)},,function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}},function(e,t,n){"use strict"; /** @license React v16.12.0 * react.production.min.js * @@ -57,4 +57,4 @@ object-assign * content-type * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed - */var r=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,i=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,o=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,s=/\\([\u000b\u0020-\u00ff])/g,a=/([\\"])/g,c=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;function f(e){var t=String(e);if(o.test(t))return t;if(t.length>0&&!i.test(t))throw new TypeError("invalid parameter value");return'"'+t.replace(a,"\\$1")+'"'}function u(e){this.parameters=Object.create(null),this.type=e}t.format=function(e){if(!e||"object"!=typeof e)throw new TypeError("argument obj is required");var t=e.parameters,n=e.type;if(!n||!c.test(n))throw new TypeError("invalid type");var r=n;if(t&&"object"==typeof t)for(var i,s=Object.keys(t).sort(),a=0;an)break;t=s.shift(),t.key,i.push(t)}c();for(let n=0;n>1;t(e[i])>0?r=i:n=i+1}return n}}).call(this,n(5))},function(e,t,n){"use strict";function r(e){this.filter_json=e,this.types=e.types||null,this.not_types=e.not_types||[],this.rooms=e.rooms||null,this.not_rooms=e.not_rooms||[],this.senders=e.senders||null,this.not_senders=e.not_senders||[],this.contains_url=e.contains_url||null}Object.defineProperty(t,"__esModule",{value:!0}),t.FilterComponent=r,r.prototype.check=function(e){return this._checkFields(e.getRoomId(),e.getSender(),e.getType(),!!e.getContent()&&void 0!==e.getContent().url)},r.prototype._checkFields=function(e,t,n,r){const i={rooms:function(t){return e===t},senders:function(e){return t===e},types:function(e){return function(e,t){if(t.endsWith("*")){const n=t.slice(0,-1);return e.substr(0,n.length)===n}return e===t}(n,e)}},o=this;for(let e=0;e0)return!1;const r=o[t];if(r&&!r.map(n))return!1}const s=this.filter_json.contains_url;return void 0===s||s===r},r.prototype.filter=function(e){return e.filter(this.check,this)},r.prototype.limit=function(){return void 0!==this.filter_json.limit?this.filter_json.limit:10}},function(e,t,n){"use strict";(function(e){var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.SyncApi=m;var i=n(48),o=n(130),s=n(133),a=r(n(8)),c=n(76),f=n(25),u=n(75),l=n(4),d=n(79);function h(e,t){return"FILTER_SYNC_"+e+(t?"_"+t:"")}function p(...e){l.logger.log(...e)}function m(e,t){this.client=e,(t=t||{}).initialSyncLimit=void 0===t.initialSyncLimit?8:t.initialSyncLimit,t.resolveInvitesToProfiles=t.resolveInvitesToProfiles||!1,t.pollTimeout=t.pollTimeout||3e4,t.pendingEventOrdering=t.pendingEventOrdering||"chronological",t.canResetEntireTimeline||(t.canResetEntireTimeline=function(e){return!1}),this.opts=t,this._peekRoomId=null,this._currentSyncRequest=null,this._syncState=null,this._syncStateData=null,this._catchingUp=!1,this._running=!1,this._keepAliveTimer=null,this._connectionReturnedDefer=null,this._notifEvents=[],this._failedSyncCount=0,this._storeIsInvalid=!1,e.getNotifTimelineSet()&&e.reEmitter.reEmit(e.getNotifTimelineSet(),["Room.timeline","Room.timelineReset"])}function g(e,t){const n=new i.User(t);return e.reEmitter.reEmit(n,["User.avatarUrl","User.displayName","User.presence","User.currentlyActive","User.lastPresenceTs"]),n}m.prototype.createRoom=function(e){const t=this.client,{timelineSupport:n,unstableClientRelationAggregation:r}=t,i=new o.Room(e,t,t.getUserId(),{lazyLoadMembers:this.opts.lazyLoadMembers,pendingEventOrdering:this.opts.pendingEventOrdering,timelineSupport:n,unstableClientRelationAggregation:r});return t.reEmitter.reEmit(i,["Room.name","Room.timeline","Room.redaction","Room.redactionCancelled","Room.receipt","Room.tags","Room.timelineReset","Room.localEchoUpdated","Room.accountData","Room.myMembership","Room.replaceEvent"]),this._registerStateListeners(i),i},m.prototype.createGroup=function(e){const t=this.client,n=new s.Group(e);return t.reEmitter.reEmit(n,["Group.profile","Group.myMembership"]),t.store.storeGroup(n),n},m.prototype._registerStateListeners=function(e){const t=this.client;t.reEmitter.reEmit(e.currentState,["RoomState.events","RoomState.members","RoomState.newMember"]),e.currentState.on("RoomState.newMember",(function(e,n,r){r.user=t.getUser(r.userId),t.reEmitter.reEmit(r,["RoomMember.name","RoomMember.typing","RoomMember.powerLevel","RoomMember.membership"])}))},m.prototype._deregisterStateListeners=function(e){e.currentState.removeAllListeners("RoomState.events"),e.currentState.removeAllListeners("RoomState.members"),e.currentState.removeAllListeners("RoomState.newMember")},m.prototype.syncLeftRooms=function(){const e=this.client,t=this,n=new c.Filter(this.client.credentials.userId);n.setTimelineLimit(1),n.setIncludeLeaveRooms(!0);const r=this.opts.pollTimeout+8e4,i={timeout:0};return e.getOrCreateFilter(h(e.credentials.userId,"LEFT_ROOMS"),n).then((function(t){return i.filter=t,e._http.authedRequest(void 0,"GET","/sync",i,void 0,r)})).then((function(n){let r=[];n.rooms&&n.rooms.leave&&(r=t._mapSyncResponseToRoomArray(n.rooms.leave));const i=[];return r.forEach((function(n){const r=n.room;if(i.push(r),!n.isBrandNewRoom)return;n.timeline=n.timeline||{};const o=t._mapSyncEventsFormat(n.timeline,r),s=t._mapSyncEventsFormat(n.state,r);r.getLiveTimeline().setPaginationToken(n.timeline.prev_batch,f.EventTimeline.BACKWARDS),t._processRoomEvents(r,s,o),r.recalculate(),e.store.storeRoom(r),e.emit("Room",r),t._processEventsForNotifs(r,o)})),i}))},m.prototype.peek=function(e){const t=this,n=this.client;return this._peekRoomId=e,this.client.roomInitialSync(e,20).then((function(r){r.messages=r.messages||{},r.messages.chunk=r.messages.chunk||[],r.state=r.state||[];const i=t.createRoom(e),o=a.map(a.deepCopy(r.state),n.getEventMapper()),s=a.map(r.state,n.getEventMapper()),c=a.map(r.messages.chunk,n.getEventMapper());return r.presence&&a.isArray(r.presence)&&r.presence.map(n.getEventMapper()).forEach((function(e){let t=n.store.getUser(e.getContent().user_id);t?t.setPresenceEvent(e):(t=g(n,e.getContent().user_id),t.setPresenceEvent(e),n.store.storeUser(t)),n.emit("event",e)})),r.messages.start&&(i.oldState.paginationToken=r.messages.start),i.oldState.setStateEvents(o),i.currentState.setStateEvents(s),t._resolveInvites(i),i.recalculate(),i.addEventsToTimeline(c.reverse(),!0,i.getLiveTimeline(),r.messages.start),n.store.storeRoom(i),n.emit("Room",i),t._peekPoll(i),i}))},m.prototype.stopPeeking=function(){this._peekRoomId=null},m.prototype._peekPoll=function(e,t){if(this._peekRoomId!==e.roomId)return void p("Stopped peeking in room %s",e.roomId);const n=this;this.client._http.authedRequest(void 0,"GET","/events",{room_id:e.roomId,timeout:3e4,from:t},void 0,5e4).then((function(t){if(n._peekRoomId!==e.roomId)return void p("Stopped peeking in room %s",e.roomId);t.chunk.filter((function(e){return"m.presence"===e.type})).map(n.client.getEventMapper()).forEach((function(e){let t=n.client.store.getUser(e.getContent().user_id);t?t.setPresenceEvent(e):(t=g(n.client,e.getContent().user_id),t.setPresenceEvent(e),n.client.store.storeUser(t)),n.client.emit("event",e)}));const r=t.chunk.filter((function(t){return t.room_id===e.roomId})).map(n.client.getEventMapper());e.addLiveEvents(r),n._peekPoll(e,t.end)}),(function(r){l.logger.error("[%s] Peek poll failed: %s",e.roomId,r),setTimeout((function(){n._peekPoll(e,t)}),3e4)}))},m.prototype.getSyncState=function(){return this._syncState},m.prototype.getSyncStateData=function(){return this._syncStateData},m.prototype.recoverFromSyncStartupError=async function(e,t){await e;const n=this._startKeepAlives();this._updateSyncState("ERROR",{error:t}),await n},m.prototype._wasLazyLoadingToggled=async function(e){e=!!e;let t=!1;if(!await this.client.store.isNewlyCreated()){const n=await this.client.store.getClientOptions();return n&&(t=!!n.lazyLoadMembers),t!==e}return!1},m.prototype._shouldAbortSync=function(e){return"M_UNKNOWN_TOKEN"===e.errcode&&(l.logger.warn("Token no longer valid - assuming logout"),this.stop(),!0)},m.prototype.sync=function(){const t=this.client,n=this;this._running=!0,e.document&&(this._onOnlineBound=this._onOnline.bind(this),e.document.addEventListener("online",this._onOnlineBound,!1));let r=Promise.resolve(),i=null;const o=async()=>{if(p("Checking lazy load status..."),this.opts.lazyLoadMembers&&t.isGuest()&&(this.opts.lazyLoadMembers=!1),this.opts.lazyLoadMembers){if(p("Checking server lazy load support..."),await t.doesServerSupportLazyLoading())try{p("Creating and storing lazy load sync filter..."),this.opts.filter=await t.createFilter(c.Filter.LAZY_LOADING_SYNC_FILTER),p("Created and stored lazy load sync filter")}catch(e){throw l.logger.error("Creating and storing lazy load sync filter failed",e),e}else p("LL: lazy loading requested but not supported by server, so disabling"),this.opts.lazyLoadMembers=!1}if(p("Checking whether lazy loading has changed in store..."),await this._wasLazyLoadingToggled(this.opts.lazyLoadMembers)){this._storeIsInvalid=!0;const e=d.InvalidStoreError.TOGGLED_LAZY_LOADING,t=new d.InvalidStoreError(e,!!this.opts.lazyLoadMembers);return this._updateSyncState("ERROR",{error:t}),void l.logger.warn("InvalidStoreError: store is not usable: stopping sync.")}this.opts.lazyLoadMembers&&this.opts.crypto&&this.opts.crypto.enableLazyLoading();try{p("Storing client options..."),await this.client._storeClientOptions(),p("Stored client options")}catch(e){throw l.logger.error("Storing client options failed",e),e}!async function e(){let o,s;p("Getting filter..."),n.opts.filter?o=n.opts.filter:(o=new c.Filter(t.credentials.userId),o.setTimelineLimit(n.opts.initialSyncLimit));try{s=await t.getOrCreateFilter(h(t.credentials.userId),o)}catch(t){if(l.logger.error("Getting filter failed",t),n._shouldAbortSync(t))return;return p("Waiting for saved sync before retrying filter..."),await n.recoverFromSyncStartupError(r,t),void e()}t.resetNotifTimelineSet(),null===n._currentSyncRequest&&(p("Sending first sync request..."),n._currentSyncRequest=n._doSyncRequest({filterId:s},i));p("Waiting for saved sync before starting sync processing..."),await r,n._sync({filterId:s})}()};t.isGuest()?n._sync({}):(p("Getting saved sync token..."),r=t.store.getSavedSyncToken().then(e=>(p("Got saved sync token"),i=e,p("Getting saved sync..."),t.store.getSavedSync())).then(e=>{if(p(`Got reply from saved sync, exists? ${!!e}`),e)return n._syncFromCache(e)}).catch(e=>{l.logger.error("Getting saved sync failed",e)}),async function e(){try{p("Getting push rules...");const e=await t.getPushRules();p("Got push rules"),t.pushRules=e}catch(t){if(l.logger.error("Getting push rules failed",t),n._shouldAbortSync(t))return;return p("Waiting for saved sync before retrying push rules..."),await n.recoverFromSyncStartupError(r,t),void e()}o()}())},m.prototype.stop=function(){p("SyncApi.stop"),e.document&&(e.document.removeEventListener("online",this._onOnlineBound,!1),this._onOnlineBound=void 0),this._running=!1,this._currentSyncRequest&&this._currentSyncRequest.abort(),this._keepAliveTimer&&(clearTimeout(this._keepAliveTimer),this._keepAliveTimer=null)},m.prototype.retryImmediately=function(){return!!this._connectionReturnedDefer&&(this._startKeepAlives(0),!0)},m.prototype._syncFromCache=async function(e){p("sync(): not doing HTTP hit, instead returning stored /sync data");const t=e.nextBatch;this.client.store.setSyncToken(t);const n={oldSyncToken:null,nextSyncToken:t,catchingUp:!1},r={next_batch:t,rooms:e.roomsData,groups:e.groupsData,account_data:{events:e.accountData}};try{await this._processSyncResponse(n,r)}catch(e){l.logger.error("Error processing cached sync",e.stack||e)}this._storeIsInvalid||this._updateSyncState("PREPARED",n)},m.prototype._sync=async function(e){const t=this.client;if(!this._running)return p("Sync no longer running: exiting."),this._connectionReturnedDefer&&(this._connectionReturnedDefer.reject(),this._connectionReturnedDefer=null),void this._updateSyncState("STOPPED");const n=t.store.getSyncToken();let r;try{null===this._currentSyncRequest&&(this._currentSyncRequest=this._doSyncRequest(e,n)),r=await this._currentSyncRequest}catch(t){return void this._onSyncError(t,e)}finally{this._currentSyncRequest=null}t.store.setSyncToken(r.next_batch),this._failedSyncCount=0,await t.store.setSyncData(r);const i={oldSyncToken:n,nextSyncToken:r.next_batch,catchingUp:this._catchingUp};this.opts.crypto&&await this.opts.crypto.onSyncWillProcess(i);try{await this._processSyncResponse(i,r)}catch(e){l.logger.error("Caught /sync error",e.stack||e),this.client.emit("sync.unexpectedError",e)}i.catchingUp=this._catchingUp,e.hasSyncedBefore||(this._updateSyncState("PREPARED",i),e.hasSyncedBefore=!0),this.opts.crypto&&await this.opts.crypto.onSyncCompleted(i),this._updateSyncState("SYNCING",i),t.store.wantsSave()&&(this.opts.crypto&&await this.opts.crypto.saveDeviceList(0),t.store.save()),this._sync(e)},m.prototype._doSyncRequest=function(e,t){const n=this._getSyncParams(e,t);return this.client._http.authedRequest(void 0,"GET","/sync",n,void 0,n.timeout+8e4)},m.prototype._getSyncParams=function(e,t){let n=this.opts.pollTimeout;("SYNCING"!==this.getSyncState()||this._catchingUp)&&(this._catchingUp=!0,n=0);let r=e.filterId;this.client.isGuest()&&!r&&(r=this._getGuestFilter());const i={filter:r,timeout:n};return this.opts.disablePresence&&(i.set_presence="offline"),t?i.since=t:i._cacheBuster=Date.now(),"ERROR"!=this.getSyncState()&&"RECONNECTING"!=this.getSyncState()||(i.timeout=0),i},m.prototype._onSyncError=function(e,t){if(!this._running)return p("Sync no longer running: exiting"),this._connectionReturnedDefer&&(this._connectionReturnedDefer.reject(),this._connectionReturnedDefer=null),void this._updateSyncState("STOPPED");l.logger.error("/sync error %s",e),l.logger.error(e),this._shouldAbortSync(e)||(this._failedSyncCount++,l.logger.log("Number of consecutive failed sync requests:",this._failedSyncCount),p("Starting keep-alive"),this._startKeepAlives().then(e=>{e&&"ERROR"===this.getSyncState()&&this._updateSyncState("CATCHUP",{oldSyncToken:null,nextSyncToken:null,catchingUp:!0}),this._sync(t)}),this._currentSyncRequest=null,this._updateSyncState(this._failedSyncCount>=3?"ERROR":"RECONNECTING",{error:e}))},m.prototype._processSyncResponse=async function(e,t){const n=this.client,r=this;if(t.presence&&a.isArray(t.presence.events)&&t.presence.events.map(n.getEventMapper()).forEach((function(e){let t=n.store.getUser(e.getSender());t?t.setPresenceEvent(e):(t=g(n,e.getSender()),t.setPresenceEvent(e),n.store.storeUser(t)),n.emit("event",e)})),t.account_data&&a.isArray(t.account_data.events)){const e=t.account_data.events.map(n.getEventMapper());n.store.storeAccountDataEvents(e),e.forEach((function(e){if("m.push_rules"===e.getType()){const t=e.getContent();n.pushRules=u.PushProcessor.rewriteDefaultRules(t)}return n.emit("accountData",e),e}))}if(t.to_device&&a.isArray(t.to_device.events)&&t.to_device.events.length>0){const e=[];t.to_device.events.map(n.getEventMapper()).map(t=>{if("m.key.verification.cancel"===t.getType()){const n=t.getContent().transaction_id;n&&e.push(n)}return t}).forEach((function(t){const r=t.getContent();if("m.room.message"!=t.getType()||"m.bad.encrypted"!=r.msgtype){if("m.key.verification.start"===t.getType()||"m.key.verification.request"===t.getType()){const n=r.transaction_id;e.includes(n)&&t.flagCancelled()}n.emit("toDeviceEvent",t)}else l.logger.log("Ignoring undecryptable to-device event from "+t.getSender())}))}else this._catchingUp=!1;t.groups&&(t.groups.invite&&this._processGroupSyncEntry(t.groups.invite,"invite"),t.groups.join&&this._processGroupSyncEntry(t.groups.join,"join"),t.groups.leave&&this._processGroupSyncEntry(t.groups.leave,"leave"));let i=[],o=[],s=[];if(t.rooms&&(t.rooms.invite&&(i=this._mapSyncResponseToRoomArray(t.rooms.invite)),t.rooms.join&&(o=this._mapSyncResponseToRoomArray(t.rooms.join)),t.rooms.leave&&(s=this._mapSyncResponseToRoomArray(t.rooms.leave))),this._notifEvents=[],i.forEach((function(e){const t=e.room,i=r._mapSyncEventsFormat(e.invite_state,t);r._processRoomEvents(t,i),e.isBrandNewRoom&&(t.recalculate(),n.store.storeRoom(t),n.emit("Room",t)),i.forEach((function(e){n.emit("event",e)})),t.updateMyMembership("invite")})),await a.promiseMapSeries(o,(async function(t){const i=t.room,o=r._mapSyncEventsFormat(t.state,i),s=r._mapSyncEventsFormat(t.timeline,i),c=r._mapSyncEventsFormat(t.ephemeral),u=r._mapSyncEventsFormat(t.account_data);if(t.unread_notifications){i.setUnreadNotificationCount("total",t.unread_notifications.notification_count);const e=n.isRoomEncrypted(i.roomId);(!e||e&&i.getUnreadNotificationCount("highlight")<=0)&&i.setUnreadNotificationCount("highlight",t.unread_notifications.highlight_count)}if(t.timeline=t.timeline||{},t.isBrandNewRoom)i.getLiveTimeline().setPaginationToken(t.timeline.prev_batch,f.EventTimeline.BACKWARDS);else if(t.timeline.limited){let o=!0;for(let e=s.length-1;e>=0;e--){const t=s[e].getId();if(i.getTimelineForEvent(t)){p("Already have event "+t+" in limited sync - not resetting"),o=!1,s.splice(0,e);break}}o&&(r._deregisterStateListeners(i),i.resetLiveTimeline(t.timeline.prev_batch,r.opts.canResetEntireTimeline(i.roomId)?null:e.oldSyncToken),n.resetNotifTimelineSet(),r._registerStateListeners(i))}async function l(e){if(n.emit("event",e),e.isState()&&"m.room.encryption"==e.getType()&&r.opts.crypto&&await r.opts.crypto.onCryptoEvent(e),e.isState()&&"im.vector.user_status"===e.getType()){let t=n.store.getUser(e.getStateKey());t?t._unstable_updateStatusMessage(e):(t=g(n,e.getStateKey()),t._unstable_updateStatusMessage(e),n.store.storeUser(t))}}r._processRoomEvents(i,o,s),t.summary&&i.setSummary(t.summary),i.addEphemeralEvents(c),i.addAccountData(u),i.recalculate(),t.isBrandNewRoom&&(n.store.storeRoom(i),n.emit("Room",i)),r._processEventsForNotifs(i,s),await a.promiseMapSeries(o,l),await a.promiseMapSeries(s,l),c.forEach((function(e){n.emit("event",e)})),u.forEach((function(e){n.emit("event",e)})),i.updateMyMembership("join")})),s.forEach((function(e){const t=e.room,i=r._mapSyncEventsFormat(e.state,t),o=r._mapSyncEventsFormat(e.timeline,t),s=r._mapSyncEventsFormat(e.account_data);r._processRoomEvents(t,i,o),t.addAccountData(s),t.recalculate(),e.isBrandNewRoom&&(n.store.storeRoom(t),n.emit("Room",t)),r._processEventsForNotifs(t,o),i.forEach((function(e){n.emit("event",e)})),o.forEach((function(e){n.emit("event",e)})),s.forEach((function(e){n.emit("event",e)})),t.updateMyMembership("leave")})),e.oldSyncToken&&this._notifEvents.length&&(this._notifEvents.sort((function(e,t){return e.getTs()-t.getTs()})),this._notifEvents.forEach((function(e){n.getNotifTimelineSet().addLiveEvent(e)}))),t.device_lists&&this.opts.crypto&&await this.opts.crypto.handleDeviceListChanges(e,t.device_lists),this.opts.crypto&&t.device_one_time_keys_count){const e=t.device_one_time_keys_count.signed_curve25519||0;this.opts.crypto.updateOneTimeKeyCount(e)}},m.prototype._startKeepAlives=function(e){void 0===e&&(e=2e3+Math.floor(5e3*Math.random())),null!==this._keepAliveTimer&&clearTimeout(this._keepAliveTimer);const t=this;return e>0?t._keepAliveTimer=setTimeout(t._pokeKeepAlive.bind(t),e):t._pokeKeepAlive(),this._connectionReturnedDefer||(this._connectionReturnedDefer=a.defer()),this._connectionReturnedDefer.promise},m.prototype._pokeKeepAlive=function(e){void 0===e&&(e=!1);const t=this;function n(){clearTimeout(t._keepAliveTimer),t._connectionReturnedDefer&&(t._connectionReturnedDefer.resolve(e),t._connectionReturnedDefer=null)}this.client._http.request(void 0,"GET","/_matrix/client/versions",void 0,void 0,{prefix:"",localTimeoutMs:15e3}).then((function(){n()}),(function(r){400==r.httpStatus||404==r.httpStatus?t._keepAliveTimer=setTimeout(n,2e3):(e=!0,t._keepAliveTimer=setTimeout(t._pokeKeepAlive.bind(t,e),5e3+Math.floor(5e3*Math.random())),t._updateSyncState("ERROR",{error:r}))}))},m.prototype._processGroupSyncEntry=function(e,t){for(const n of Object.keys(e)){const r=e[n];let i=this.client.store.getGroup(n);const o=null===i;null===i&&(i=this.createGroup(n)),r.profile&&i.setProfile(r.profile.name,r.profile.avatar_url),r.inviter&&i.setInviter({userId:r.inviter}),i.setMyMembership(t),o&&this.client.emit("Group",i)}},m.prototype._mapSyncResponseToRoomArray=function(e){const t=this.client,n=this;return a.keys(e).map((function(r){const i=e[r];let o=t.store.getRoom(r),s=!1;return o||(o=n.createRoom(r),s=!0),i.room=o,i.isBrandNewRoom=s,i}))},m.prototype._mapSyncEventsFormat=function(e,t){if(!e||!a.isArray(e.events))return[];const n=this.client.getEventMapper();return e.events.map((function(e){return t&&(e.room_id=t.roomId),n(e)}))},m.prototype._resolveInvites=function(e){if(!e||!this.opts.resolveInvitesToProfiles)return;const t=this.client;e.getMembersWithMembership("invite").forEach((function(n){if(n._requestedProfileInfo)return;n._requestedProfileInfo=!0;const r=t.getUser(n.userId);let i;i=r?Promise.resolve({avatar_url:r.avatarUrl,displayname:r.displayName}):t.getProfileInfo(n.userId),i.then((function(t){const r=n.events.member;"invite"===r.getContent().membership&&(r.getContent().avatar_url=t.avatar_url,r.getContent().displayname=t.displayname,n.setMembershipEvent(r,e.currentState))}),(function(e){}))}))},m.prototype._processRoomEvents=function(e,t,n){const r=e.getLiveTimeline(),i=0==r.getEvents().length;if(i){for(const e of t)this.client.getPushActionsForEvent(e);r.initialiseState(t)}this._resolveInvites(e),e.recalculate(),i||(e.oldState.setStateEvents(t||[]),e.currentState.setStateEvents(t||[])),e.addLiveEvents(n||[])},m.prototype._processEventsForNotifs=function(e,t){if(this.client.getNotifTimelineSet())for(let e=0;e{e.isSending()?t===s.EventStatus.CANCELLED&&(e.removeListener("Event.status",this._onEventStatus),this._removeEvent(e)):e.removeListener("Event.status",this._onEventStatus)}),(0,i.default)(this,"_onBeforeRedaction",e=>{this._relations.has(e)&&(this._relations.delete(e),"m.annotation"===this.relationType?this._removeAnnotationFromAggregation(e):"m.replace"===this.relationType&&this._targetEvent&&this._targetEvent.makeReplaced(this.getLastReplacement()),e.removeListener("Event.beforeRedaction",this._onBeforeRedaction),this.emit("Relations.redaction",e))}),this.relationType=e,this.eventType=t,this._relations=new Set,this._annotationsByKey={},this._annotationsBySender={},this._sortedAnnotationsByKey=[],this._targetEvent=null}addEvent(e){if(this._relations.has(e))return;const t=e.getRelation();if(!t)return void console.error("Event must have relation info");const n=t.rel_type,r=e.getType();this.relationType===n&&this.eventType===r?(e.isSending()&&e.on("Event.status",this._onEventStatus),this._relations.add(e),"m.annotation"===this.relationType?this._addAnnotationToAggregation(e):"m.replace"===this.relationType&&this._targetEvent&&this._targetEvent.makeReplaced(this.getLastReplacement()),e.on("Event.beforeRedaction",this._onBeforeRedaction),this.emit("Relations.add",e)):console.error("Event relation info doesn't match this container")}_removeEvent(e){if(!this._relations.has(e))return;const t=e.getRelation();if(!t)return void console.error("Event must have relation info");const n=t.rel_type,r=e.getType();this.relationType===n&&this.eventType===r?(this._relations.delete(e),"m.annotation"===this.relationType?this._removeAnnotationFromAggregation(e):"m.replace"===this.relationType&&this._targetEvent&&this._targetEvent.makeReplaced(this.getLastReplacement()),this.emit("Relations.remove",e)):console.error("Event relation info doesn't match this container")}getRelations(){return[...this._relations]}_addAnnotationToAggregation(e){const{key:t}=e.getRelation();if(!t)return;let n=this._annotationsByKey[t];n||(n=this._annotationsByKey[t]=new Set,this._sortedAnnotationsByKey.push([t,n])),n.add(e),this._sortedAnnotationsByKey.sort((e,t)=>{const n=e[1];return t[1].size-n.size});const r=e.getSender();let i=this._annotationsBySender[r];i||(i=this._annotationsBySender[r]=new Set),i.add(e)}_removeAnnotationFromAggregation(e){const{key:t}=e.getRelation();if(!t)return;const n=this._annotationsByKey[t];n&&(n.delete(e),this._sortedAnnotationsByKey.sort((e,t)=>{const n=e[1];return t[1].size-n.size}));const r=e.getSender(),i=this._annotationsBySender[r];i&&i.delete(e)}getSortedAnnotationsByKey(){return"m.annotation"!==this.relationType?null:this._sortedAnnotationsByKey}getAnnotationsBySender(){return"m.annotation"!==this.relationType?null:this._annotationsBySender}getLastReplacement(){if("m.replace"!==this.relationType)return null;if(!this._targetEvent)return null;const e=this._targetEvent.getServerAggregatedRelation("m.replace"),t=e&&e.origin_server_ts;return this.getRelations().reduce((e,n)=>n.getSender()!==this._targetEvent.getSender()?e:t&&t>n.getTs()?e:e&&e.getTs()>n.getTs()?e:n,null)}setTargetEvent(e){if(!this._targetEvent&&(this._targetEvent=e,"m.replace"===this.relationType)){const e=this.getLastReplacement();e&&this._targetEvent.makeReplaced(e)}}}t.Relations=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RoomSummary=function(e,t){this.roomId=e,this.info=t}},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.SearchResult=s;var i=r(n(8)),o=n(283);function s(e,t){this.rank=e,this.context=t}s.fromJson=function(e,t){const n=e.context||{},r=n.events_before||[],a=n.events_after||[],c=new o.EventContext(t(e.result));return c.setPaginateToken(n.start,!0),c.addEvents(i.map(r,t),!0),c.addEvents(i.map(a,t),!1),c.setPaginateToken(n.end,!1),new s(e.rank,c)}},function(e,t,n){"use strict";function r(e){this._timeline=[e],this._ourEventIndex=0,this._paginateTokens={b:null,f:null},this._paginateRequests={b:null,f:null}}Object.defineProperty(t,"__esModule",{value:!0}),t.EventContext=r,r.prototype.getEvent=function(){return this._timeline[this._ourEventIndex]},r.prototype.getTimeline=function(){return this._timeline},r.prototype.getOurEventIndex=function(){return this._ourEventIndex},r.prototype.getPaginateToken=function(e){return this._paginateTokens[e?"b":"f"]},r.prototype.setPaginateToken=function(e,t){this._paginateTokens[t?"b":"f"]=e},r.prototype.addEvents=function(e,t){t?(this._timeline=e.concat(this._timeline),this._ourEventIndex+=e.length):this._timeline=this._timeline.concat(e)}},function(e,t,n){"use strict";function r(){this.fromToken=null}Object.defineProperty(t,"__esModule",{value:!0}),t.StubStore=r,r.prototype={isNewlyCreated:function(){return Promise.resolve(!0)},getSyncToken:function(){return this.fromToken},setSyncToken:function(e){this.fromToken=e},storeGroup:function(e){},getGroup:function(e){return null},getGroups:function(){return[]},storeRoom:function(e){},getRoom:function(e){return null},getRooms:function(){return[]},removeRoom:function(e){},getRoomSummaries:function(){return[]},storeUser:function(e){},getUser:function(e){return null},getUsers:function(){return[]},scrollback:function(e,t){return[]},storeEvents:function(e,t,n,r){},storeFilter:function(e){},getFilter:function(e,t){return null},getFilterIdByName:function(e){return null},setFilterIdByName:function(e,t){},storeAccountDataEvents:function(e){},getAccountData:function(e){},setSyncData:function(e){return Promise.resolve()},wantsSave:function(){return!1},save:function(){},startup:function(){return Promise.resolve()},getSavedSync:function(){return Promise.resolve(null)},getSavedSyncToken:function(){return Promise.resolve(null)},deleteAllData:function(){return Promise.resolve()},getOutOfBandMembers:function(){return Promise.resolve(null)},setOutOfBandMembers:function(){return Promise.resolve()},clearOutOfBandMembers:function(){return Promise.resolve()},getClientOptions:function(){return Promise.resolve()},storeClientOptions:function(){return Promise.resolve()}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RoomList=void 0;var r=n(36);t.RoomList=class{constructor(e){this._cryptoStore=e,this._roomEncryption={}}async init(){await this._cryptoStore.doTxn("readwrite",[r.IndexedDBCryptoStore.STORE_ROOMS],e=>{this._cryptoStore.getEndToEndRooms(e,e=>{this._roomEncryption=e})})}getRoomEncryption(e){return this._roomEncryption[e]||null}isRoomEncrypted(e){return Boolean(this.getRoomEncryption(e))}async setRoomEncryption(e,t){this._roomEncryption[e]=t,await this._cryptoStore.doTxn("readwrite",[r.IndexedDBCryptoStore.STORE_ROOMS],n=>{this._cryptoStore.storeEndToEndRoom(e,t,n)})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalStorageCryptoStore=void 0;var r=n(4),i=n(73);function o(e){return"crypto.sessions/"+e}function s(e){return"crypto.session.problems/"+e}function a(e,t){return"crypto.inboundgroupsessions/"+e+"/"+t}function c(e,t){return"crypto.inboundgroupsessions.withheld/"+e+"/"+t}function f(e){return"crypto.rooms/"+e}class u extends i.MemoryCryptoStore{constructor(e){super(),this.store=e}static exists(e){const t=e.length;for(let n=0;ne.time-t.time),d(this.store,r,i)}async getEndToEndSessionProblem(e,t){const n=s(e),r=l(this.store,n)||[];if(!r.length)return null;const i=r[r.length-1];for(const e of r)if(e.time>t)return Object.assign({},e,{fixed:i.fixed});return i.fixed?null:i}async filterOutNotifiedErrorDevices(e){const t=l(this.store,"crypto.notified_error_devices")||{},n=[];for(const r of e){const{userId:e,deviceInfo:i}=r;e in t?i.deviceId in t[e]||(n.push(r),t[e][i.deviceId]=!0):(n.push(r),t[e]={[i.deviceId]:!0})}return d(this.store,"crypto.notified_error_devices",t),n}getEndToEndInboundGroupSession(e,t,n,r){r(l(this.store,a(e,t)),l(this.store,c(e,t)))}getAllEndToEndInboundGroupSessions(e,t){for(let e=0;e{n.push({senderKey:t,sessionId:i,sessionData:e})}),e&&r.length>=e)break}return Promise.resolve(n)}countSessionsNeedingBackup(){const e=l(this.store,"crypto.sessionsneedingbackup")||{};return Promise.resolve(Object.keys(e).length)}unmarkSessionsNeedingBackup(e){const t=l(this.store,"crypto.sessionsneedingbackup")||{};for(const n of e)delete t[n.senderKey+"/"+n.sessionId];return d(this.store,"crypto.sessionsneedingbackup",t),Promise.resolve()}markSessionsNeedingBackup(e){const t=l(this.store,"crypto.sessionsneedingbackup")||{};for(const n of e)t[n.senderKey+"/"+n.sessionId]=!0;return d(this.store,"crypto.sessionsneedingbackup",t),Promise.resolve()}deleteAllData(){return this.store.removeItem("crypto.account"),Promise.resolve()}getAccount(e,t){t(l(this.store,"crypto.account"))}storeAccount(e,t){d(this.store,"crypto.account",t)}getCrossSigningKeys(e,t){t(l(this.store,"crypto.cross_signing_keys"))}storeCrossSigningKeys(e,t){d(this.store,"crypto.cross_signing_keys",t)}doTxn(e,t,n){return Promise.resolve(n(null))}}function l(e,t){try{return JSON.parse(e.getItem(t))}catch(e){r.logger.log("Error: Failed to get key %s: %s",t,e.stack||e),r.logger.log(e.stack)}return null}function d(e,t,n){e.setItem(t,JSON.stringify(n))}t.LocalStorageCryptoStore=u},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.upgradeDatabase=function(e,t){i.logger.log(`Upgrading IndexedDBCryptoStore from version ${t}`+" to 9"),t<1&&function(e){const t=e.createObjectStore("outgoingRoomKeyRequests",{keyPath:"requestId"});t.createIndex("session",["requestBody.room_id","requestBody.session_id"]),t.createIndex("state","state")}(e);t<2&&e.createObjectStore("account");if(t<3){e.createObjectStore("sessions",{keyPath:["deviceKey","sessionId"]}).createIndex("deviceKey","deviceKey")}t<4&&e.createObjectStore("inbound_group_sessions",{keyPath:["senderCurve25519Key","sessionId"]});t<5&&e.createObjectStore("device_data");t<6&&e.createObjectStore("rooms");t<7&&e.createObjectStore("sessions_needing_backup",{keyPath:["senderCurve25519Key","sessionId"]});t<8&&e.createObjectStore("inbound_group_sessions_withheld",{keyPath:["senderCurve25519Key","sessionId"]});if(t<9){e.createObjectStore("session_problems",{keyPath:["deviceKey","time"]}).createIndex("deviceKey","deviceKey"),e.createObjectStore("notified_error_devices",{keyPath:["userId","deviceId"]})}},t.Backend=t.VERSION=void 0;var i=n(4),o=r(n(8));t.VERSION=9;function s(e,t){e._mx_abortexception=t;try{e.abort()}catch(t){}}function a(e){return new Promise((t,n)=>{e.oncomplete=()=>{void 0!==e._mx_abortexception&&n(e._mx_abortexception),t()},e.onerror=t=>{void 0!==e._mx_abortexception?n(e._mx_abortexception):(i.logger.log("Error performing indexeddb txn",t),n(t.target.error))},e.onabort=t=>{void 0!==e._mx_abortexception?n(e._mx_abortexception):(i.logger.log("Error performing indexeddb txn",t),n(t.target.error))}})}t.Backend=class{constructor(e){this._db=e,e.onversionchange=t=>{i.logger.log(`versionchange for indexeddb ${this._dbName}: closing`),e.close()}}getOrAddOutgoingRoomKeyRequest(e){const t=e.requestBody;return new Promise((n,r)=>{const o=this._db.transaction("outgoingRoomKeyRequests","readwrite");o.onerror=r,this._getOutgoingRoomKeyRequest(o,t,r=>{if(r)return i.logger.log("already have key request outstanding for "+`${t.room_id} / ${t.session_id}: `+"not sending another"),void n(r);i.logger.log(`enqueueing key request for ${t.room_id} / `+t.session_id),o.oncomplete=()=>{n(e)},o.objectStore("outgoingRoomKeyRequests").add(e)})})}getOutgoingRoomKeyRequest(e){return new Promise((t,n)=>{const r=this._db.transaction("outgoingRoomKeyRequests","readonly");r.onerror=n,this._getOutgoingRoomKeyRequest(r,e,e=>{t(e)})})}_getOutgoingRoomKeyRequest(e,t,n){e.objectStore("outgoingRoomKeyRequests").index("session").openCursor([t.room_id,t.session_id]).onsuccess=e=>{const r=e.target.result;if(!r)return void n(null);const i=r.value;o.deepCompare(i.requestBody,t)?n(i):r.continue()}}getOutgoingRoomKeyRequestByState(e){if(0===e.length)return Promise.resolve(null);let t,n=0;const r=this._db.transaction("outgoingRoomKeyRequests","readonly"),i=r.objectStore("outgoingRoomKeyRequests"),o=e[n];return i.index("state").openCursor(o).onsuccess=function r(i){const o=i.target.result;if(o)return void(t=o.value);if(n++,n>=e.length)return;const s=e[n];i.target.source.openCursor(s).onsuccess=r},a(r).then(()=>t)}getOutgoingRoomKeyRequestsByTarget(e,t,n){let r=0;const i=[];const o=this._db.transaction("outgoingRoomKeyRequests","readonly"),s=o.objectStore("outgoingRoomKeyRequests"),c=n[r];return s.index("state").openCursor(c).onsuccess=function o(s){const a=s.target.result;if(a){const n=a.value;n.recipients.includes({userId:e,deviceId:t})&&i.push(n),a.continue()}else{if(r++,r>=n.length)return;const e=n[r];s.target.source.openCursor(e).onsuccess=o}},a(o).then(()=>i)}updateOutgoingRoomKeyRequest(e,t,n){let r=null;const o=this._db.transaction("outgoingRoomKeyRequests","readwrite");return o.objectStore("outgoingRoomKeyRequests").openCursor(e).onsuccess=function(e){const o=e.target.result;if(!o)return;const s=o.value;s.state==t?(Object.assign(s,n),o.update(s),r=s):i.logger.warn(`Cannot update room key request from ${t} `+`as it was already updated to ${s.state}`)},a(o).then(()=>r)}deleteOutgoingRoomKeyRequest(e,t){const n=this._db.transaction("outgoingRoomKeyRequests","readwrite");return n.objectStore("outgoingRoomKeyRequests").openCursor(e).onsuccess=e=>{const n=e.target.result;if(!n)return;const r=n.value;r.state==t?n.delete():i.logger.warn(`Cannot delete room key request in state ${r.state} `+`(expected ${t})`)},a(n)}getAccount(e,t){const n=e.objectStore("account").get("-");n.onsuccess=function(){try{t(n.result||null)}catch(t){s(e,t)}}}storeAccount(e,t){e.objectStore("account").put(t,"-")}getCrossSigningKeys(e,t){const n=e.objectStore("account").get("crossSigningKeys");n.onsuccess=function(){try{t(n.result||null)}catch(t){s(e,t)}}}storeCrossSigningKeys(e,t){e.objectStore("account").put(t,"crossSigningKeys")}countEndToEndSessions(e,t){const n=e.objectStore("sessions").count();n.onsuccess=function(){t(n.result)}}getEndToEndSessions(e,t,n){const r=t.objectStore("sessions").index("deviceKey").openCursor(e),i={};r.onsuccess=function(){const e=r.result;if(e)i[e.value.sessionId]={session:e.value.session,lastReceivedMessageTs:e.value.lastReceivedMessageTs},e.continue();else try{n(i)}catch(e){s(t,e)}}}getEndToEndSession(e,t,n,r){const i=n.objectStore("sessions").get([e,t]);i.onsuccess=function(){try{i.result?r({session:i.result.session,lastReceivedMessageTs:i.result.lastReceivedMessageTs}):r(null)}catch(e){s(n,e)}}}getAllEndToEndSessions(e,t){const n=e.objectStore("sessions").openCursor();n.onsuccess=function(){const r=n.result;if(r)t(r.value),r.continue();else try{t(null)}catch(t){s(e,t)}}}storeEndToEndSession(e,t,n,r){r.objectStore("sessions").put({deviceKey:e,sessionId:t,session:n.session,lastReceivedMessageTs:n.lastReceivedMessageTs})}async storeEndToEndSessionProblem(e,t,n){const r=this._db.transaction("session_problems","readwrite");return r.objectStore("session_problems").put({deviceKey:e,type:t,fixed:n,time:Date.now()}),a(r)}async getEndToEndSessionProblem(e,t){let n;const r=this._db.transaction("session_problems","readwrite"),i=r.objectStore("session_problems").index("deviceKey").getAll(e);return i.onsuccess=e=>{const r=i.result;if(!r.length)return void(n=null);r.sort((e,t)=>e.time-t.time);const o=r[r.length-1];for(const e of r)if(e.time>t)return void(n=Object.assign({},e,{fixed:o.fixed}));n=o.fixed?null:o},await a(r),n}async filterOutNotifiedErrorDevices(e){const t=this._db.transaction("notified_error_devices","readwrite").objectStore("notified_error_devices"),n=[];return await Promise.all(e.map(e=>new Promise(r=>{const{userId:i,deviceInfo:o}=e,s=t.get([i,o.deviceId]);s.onsuccess=function(){s.result||(t.put({userId:i,deviceId:o.deviceId}),n.push(e)),r()}}))),n}getEndToEndInboundGroupSession(e,t,n,r){let i=!1,o=!1;const a=n.objectStore("inbound_group_sessions").get([e,t]);a.onsuccess=function(){try{i=a.result?a.result.session:null,!1!==o&&r(i,o)}catch(e){s(n,e)}};const c=n.objectStore("inbound_group_sessions_withheld").get([e,t]);c.onsuccess=function(){try{o=c.result?c.result.session:null,!1!==i&&r(i,o)}catch(e){s(n,e)}}}getAllEndToEndInboundGroupSessions(e,t){const n=e.objectStore("inbound_group_sessions").openCursor();n.onsuccess=function(){const r=n.result;if(r){try{t({senderKey:r.value.senderCurve25519Key,sessionId:r.value.sessionId,sessionData:r.value.session})}catch(t){s(e,t)}r.continue()}else try{t(null)}catch(t){s(e,t)}}}addEndToEndInboundGroupSession(e,t,n,r){const o=r.objectStore("inbound_group_sessions").add({senderCurve25519Key:e,sessionId:t,session:n});o.onerror=n=>{"ConstraintError"===o.error.name?(n.stopPropagation(),n.preventDefault(),i.logger.log("Ignoring duplicate inbound group session: "+e+" / "+t)):s(r,new Error("Failed to add inbound group session: "+o.error))}}storeEndToEndInboundGroupSession(e,t,n,r){r.objectStore("inbound_group_sessions").put({senderCurve25519Key:e,sessionId:t,session:n})}storeEndToEndInboundGroupSessionWithheld(e,t,n,r){r.objectStore("inbound_group_sessions_withheld").put({senderCurve25519Key:e,sessionId:t,session:n})}getEndToEndDeviceData(e,t){const n=e.objectStore("device_data").get("-");n.onsuccess=function(){try{t(n.result||null)}catch(t){s(e,t)}}}storeEndToEndDeviceData(e,t){t.objectStore("device_data").put(e,"-")}storeEndToEndRoom(e,t,n){n.objectStore("rooms").put(t,e)}getEndToEndRooms(e,t){const n={},r=e.objectStore("rooms").openCursor();r.onsuccess=function(){const i=r.result;if(i)n[i.key]=i.value,i.continue();else try{t(n)}catch(t){s(e,t)}}}getSessionsNeedingBackup(e){return new Promise((t,n)=>{const r=[],i=this._db.transaction(["sessions_needing_backup","inbound_group_sessions"],"readonly");i.onerror=n,i.oncomplete=function(){t(r)};const o=i.objectStore("sessions_needing_backup"),s=i.objectStore("inbound_group_sessions"),a=o.openCursor();a.onsuccess=function(){const t=a.result;if(t){const n=s.get(t.key);n.onsuccess=function(){r.push({senderKey:n.result.senderCurve25519Key,sessionId:n.result.sessionId,sessionData:n.result.session})},(!e||r.length{const r=t.count();r.onerror=n,r.onsuccess=()=>e(r.result)})}unmarkSessionsNeedingBackup(e,t){t||(t=this._db.transaction("sessions_needing_backup","readwrite"));const n=t.objectStore("sessions_needing_backup");return Promise.all(e.map(e=>new Promise((t,r)=>{const i=n.delete([e.senderKey,e.sessionId]);i.onsuccess=t,i.onerror=r})))}markSessionsNeedingBackup(e,t){t||(t=this._db.transaction("sessions_needing_backup","readwrite"));const n=t.objectStore("sessions_needing_backup");return Promise.all(e.map(e=>new Promise((t,r)=>{const i=n.put({senderCurve25519Key:e.senderKey,sessionId:e.sessionId});i.onsuccess=t,i.onerror=r})))}doTxn(e,t,n){const r=this._db.transaction(t,e),i=a(r),o=n(r);return i.then(()=>o)}}},function(e,t,n){"use strict";(function(e){var r=n(6),i=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.isCryptoAvailable=function(){return Boolean(e.Olm)},t.Crypto=x,t.verificationMethods=void 0;var o=i(n(80)),s=n(9),a=n(78),c=n(4),f=r(n(8)),u=n(137),l=r(n(21)),d=n(291),h=n(51),p=r(n(138)),m=n(139),g=n(292),y=n(293),b=n(36),_=n(294),v=n(295),A=n(141),w=n(142),E=n(82),k=n(299),S=n(300),I=r(n(49));const T=h.DeviceInfo.DeviceVerification,R={[_.ScanQRCode.NAME]:_.ScanQRCode,[_.ShowQRCode.NAME]:_.ShowQRCode,[v.SAS.NAME]:v.SAS},O={QR_CODE_SCAN:_.ScanQRCode.NAME,QR_CODE_SHOW:_.ShowQRCode.NAME,SAS:v.SAS.NAME};t.verificationMethods=O;function x(e,t,n,r,i,o,s,c){if(this._onDeviceListUserCrossSigningUpdated=this._onDeviceListUserCrossSigningUpdated.bind(this),this._reEmitter=new a.ReEmitter(this),this._baseApis=e,this._sessionStore=t,this._userId=n,this._deviceId=r,this._clientStore=i,this._cryptoStore=o,this._roomList=s,this._verificationMethods=new Map,c)for(const e of c)"string"==typeof e?R[e]&&this._verificationMethods.set(e,R[e]):e.NAME&&this._verificationMethods.set(e.NAME,e);this.backupInfo=null,this.backupKey=null,this._checkedForBackup=!1,this._sendingBackups=!1,this._olmDevice=new u.OlmDevice(o),this._deviceList=new d.DeviceList(e,o,this._olmDevice),this._deviceList.on("userCrossSigningUpdated",this._onDeviceListUserCrossSigningUpdated),this._reEmitter.reEmit(this._deviceList,["crypto.devicesUpdated"]),this._lastOneTimeKeyCheck=null,this._oneTimeKeyCheckInProgress=!1,this._roomEncryptors={},this._roomDecryptors={},this._supportedAlgorithms=f.keys(p.DECRYPTION_CLASSES),this._deviceKeys={},this._globalBlacklistUnverifiedDevices=!1,this._globalErrorOnUnknownDevices=!0,this._outgoingRoomKeyRequestManager=new y.OutgoingRoomKeyRequestManager(e,this._deviceId,this._cryptoStore),this._receivedRoomKeyRequests=[],this._receivedRoomKeyRequestCancellations=[],this._processingRoomKeyRequests=!1,this._lazyLoadMembers=!1,this._roomDeviceTrackingState={},this._lastNewSessionForced={},this._toDeviceVerificationRequests=new Map,this._inRoomVerificationRequests=new Map;const l=this._baseApis._cryptoCallbacks||{};this._crossSigningInfo=new m.CrossSigningInfo(n,l),this._secretStorage=new g.SecretStorage(e,l,this._crossSigningInfo),!l.getCrossSigningKey&&l.getSecretStorageKey&&(l.getCrossSigningKey=async e=>m.CrossSigningInfo.getFromSecretStorage(e,this._secretStorage))}function C(e){if(e._oneTimeKeyCheckInProgress)return;const t=Date.now();if(null!==e._lastOneTimeKeyCheck&&t-e._lastOneTimeKeyCheck<6e4)return;e._lastOneTimeKeyCheck=t;const n=e._olmDevice.maxNumberOfOneTimeKeys(),r=Math.floor(n/2);function i(t){if(r<=t)return Promise.resolve();const n=Math.min(r-t,5);return e._olmDevice.generateOneTimeKeys(n).then(()=>async function(e){const t=await e._olmDevice.getOneTimeKeys(),n={},r=[];for(const i in t.curve25519)if(t.curve25519.hasOwnProperty(i)){const o={key:t.curve25519[i]};n["signed_curve25519:"+i]=o,r.push(e._signObject(o))}await Promise.all(r);const i=await e._baseApis.uploadKeysRequest({one_time_keys:n},{device_id:e._deviceId});return await e._olmDevice.markKeysAsPublished(),i}(e)).then(e=>{if(e.one_time_key_counts&&e.one_time_key_counts.signed_curve25519)return i(e.one_time_key_counts.signed_curve25519);throw new Error("response for uploading keys does not contain one_time_key_counts.signed_curve25519")})}e._oneTimeKeyCheckInProgress=!0,Promise.resolve().then(()=>void 0!==e._oneTimeKeyCount?Promise.resolve(e._oneTimeKeyCount):e._baseApis.uploadKeysRequest({},{device_id:e._deviceId}).then(e=>e.one_time_key_counts.signed_curve25519||0)).then(e=>i(e)).catch(e=>{c.logger.error("Error uploading one-time keys",e.stack||e)}).finally(()=>{e._oneTimeKeyCount=void 0,e._oneTimeKeyCheckInProgress=!1})}f.inherits(x,s.EventEmitter),x.prototype.init=async function(){c.logger.log("Crypto: initialising Olm..."),await e.Olm.init(),c.logger.log("Crypto: initialising Olm device..."),await this._olmDevice.init(),c.logger.log("Crypto: loading device list..."),await this._deviceList.load(),this._deviceKeys["ed25519:"+this._deviceId]=this._olmDevice.deviceEd25519Key,this._deviceKeys["curve25519:"+this._deviceId]=this._olmDevice.deviceCurve25519Key,c.logger.log("Crypto: fetching own devices...");let t=this._deviceList.getRawStoredDevicesForUser(this._userId);if(t||(t={}),!t[this._deviceId]){c.logger.log("Crypto: adding this device to the store...");const e={keys:this._deviceKeys,algorithms:this._supportedAlgorithms,verified:T.VERIFIED,known:!0};t[this._deviceId]=e,this._deviceList.storeDevicesForUser(this._userId,t),this._deviceList.saveIfDirty()}await this._cryptoStore.doTxn("readonly",[b.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this._cryptoStore.getCrossSigningKeys(e,e=>{e&&(c.logger.log("Loaded cross-signing public keys from crypto store"),this._crossSigningInfo.setKeys(e))})}),this._deviceList.startTrackingDeviceList(this._userId),c.logger.log("Crypto: checking for key backup..."),this._checkAndStartKeyBackup()},x.prototype.createRecoveryKeyFromPassphrase=async function(t){const n=new e.Olm.PkDecryption;try{const e={};if(t){const r=await(0,A.keyFromPassphrase)(t);e.passphrase={algorithm:"m.pbkdf2",iterations:r.iterations,salt:r.salt},e.pubkey=n.init_with_private_key(r.key)}else e.pubkey=n.generate_key();const r=n.get_private_key();return[e,(0,w.encodeRecoveryKey)(r),r]}finally{n&&n.free()}},x.prototype.bootstrapSecretStorage=async function({authUploadDeviceSigningKeys:e,createSecretStorageKey:t=(async()=>{}),keyBackupInfo:n}={}){c.logger.log("Bootstrapping Secure Secret Storage");let r={};const i=Object.assign({},this._baseApis._cryptoCallbacks);try{const o=await this._crossSigningInfo.isStoredInSecretStorage(this._secretStorage);if(this._crossSigningInfo.getId()&&o?c.logger.log("Cross signing keys are present in secret storage"):(c.logger.log("Cross-signing public and/or private keys not found, checking secret storage for private keys"),o?(c.logger.log("Cross-signing private keys found in secret storage"),await this.checkOwnCrossSigningTrust()):(c.logger.log("Cross-signing private keys not found in secret storage, creating new keys"),this._baseApis._cryptoCallbacks.saveCrossSigningKeys=e=>r=e,this._baseApis._cryptoCallbacks.getCrossSigningKey=e=>r[e],await this.resetCrossSigningKeys(m.CrossSigningLevel.MASTER,{authUploadDeviceSigningKeys:e}))),await this.hasSecretStorageKey())c.logger.log("Have secret storage key");else{let e;if(n){c.logger.log("Secret storage default key not found, using key backup key");const t={pubkey:n.auth_data.public_key};n.auth_data.private_key_salt&&n.auth_data.private_key_iterations&&(t.passphrase={algorithm:"m.pbkdf2",iterations:n.auth_data.private_key_iterations,salt:n.auth_data.private_key_salt}),e=await this.addSecretStorageKey(g.SECRET_STORAGE_ALGORITHM_V1,t),this._secretStorage.storePassthrough("m.megolm_backup.v1",e),(await this.checkKeyBackup(n)).trustInfo.usable?(console.log("Adding cross signing signature to key backup"),await this._crossSigningInfo.signObject(n.auth_data,"master"),await this._baseApis._http.authedRequest(void 0,"PUT","/room_keys/version/"+n.version,void 0,n,{prefix:I.PREFIX_UNSTABLE})):console.log("Key backup is NOT TRUSTED: NOT adding cross signing signature")}else{c.logger.log("Secret storage default key not found, creating new key");const n=await t();e=await this.addSecretStorageKey(g.SECRET_STORAGE_ALGORITHM_V1,n)}await this.setDefaultSecretStorageKeyId(e)}Object.keys(r).length&&(c.logger.log("Storing cross-signing private keys in secret storage"),await this._secretStorage.signKey(),i.saveCrossSigningKeys||await m.CrossSigningInfo.storeInSecretStorage(r,this._secretStorage))}finally{this._baseApis._cryptoCallbacks=i}c.logger.log("Secure Secret Storage ready")},x.prototype.addSecretStorageKey=function(e,t,n){return this._secretStorage.addKey(e,t,n)},x.prototype.hasSecretStorageKey=function(e){return this._secretStorage.hasKey(e)},x.prototype.storeSecret=function(e,t,n){return this._secretStorage.store(e,t,n)},x.prototype.getSecret=function(e){return this._secretStorage.get(e)},x.prototype.isSecretStored=function(e,t){return this._secretStorage.isStored(e,t)},x.prototype.requestSecret=function(e,t){return t||(t=Object.keys(this._deviceList.getRawStoredDevicesForUser(this._userId))),this._secretStorage.request(e,t)},x.prototype.getDefaultSecretStorageKeyId=function(){return this._secretStorage.getDefaultKeyId()},x.prototype.setDefaultSecretStorageKeyId=function(e){return this._secretStorage.setDefaultKeyId(e)},x.prototype.checkSecretStoragePrivateKey=function(t,n){let r=null;try{return r=new e.Olm.PkDecryption,r.init_with_private_key(t)===n}finally{r&&r.free()}},x.prototype.checkCrossSigningPrivateKey=function(t,n){let r=null;try{return r=new e.Olm.PkSigning,r.init_with_seed(t)===n}finally{r&&r.free()}},x.prototype.resetCrossSigningKeys=async function(e,{authUploadDeviceSigningKeys:t=(async e=>await e())}={}){c.logger.info(`Resetting cross-signing keys at level ${e}`);const n=Object.assign({},this._crossSigningInfo.keys);try{await this._crossSigningInfo.resetKeys(e),await this._signObject(this._crossSigningInfo.keys.master);const n={};for(const[e,t]of Object.entries(this._crossSigningInfo.keys))n[e+"_key"]=t;await t(async e=>{await this._baseApis.uploadDeviceSigningKeys(e,n)}),await this._cryptoStore.doTxn("readwrite",[b.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this._cryptoStore.storeCrossSigningKeys(e,this._crossSigningInfo.keys)})}catch(e){throw c.logger.error("Resetting cross-signing keys failed, revert to previous keys",e),this._crossSigningInfo.keys=n,e}this._baseApis.emit("crossSigning.keysChanged",{}),await this._afterCrossSigningLocalKeyChange(),c.logger.info("Cross-signing key reset complete")},x.prototype._afterCrossSigningLocalKeyChange=async function(){const e=this._deviceList.getStoredDevice(this._userId,this._deviceId),t=await this._crossSigningInfo.signDevice(this._userId,e);await this._baseApis.uploadKeySignatures({[this._userId]:{[this._deviceId]:t}});const n={};for(const[e,t]of Object.entries(this._deviceList._crossSigningInfo)){const r=await this._checkForDeviceVerificationUpgrade(e,m.CrossSigningInfo.fromStorage(t,e));r&&(n[e]=r)}const r=this._baseApis._cryptoCallbacks.shouldUpgradeDeviceVerifications;if(Object.keys(n).length>0&&r)try{const e=await r({users:n});if(e)for(const t of e)t in n&&await this._baseApis.setDeviceVerified(t,n[t].crossSigningInfo.getId())}catch(e){c.logger.log("shouldUpgradeDeviceVerifications threw an error: not upgrading",e)}},x.prototype._checkForDeviceVerificationUpgrade=async function(e,t){const n=this._crossSigningInfo.checkUserTrust(t);if(t.firstUse&&!n.verified){const n=this._deviceList.getRawStoredDevicesForUser(e),r=await this._checkForValidDeviceSignature(e,t.keys.master,n);if(r.length)return{devices:r.map(e=>h.DeviceInfo.fromStorage(n[e],e)),crossSigningInfo:t}}},x.prototype._checkForValidDeviceSignature=async function(e,t,n){const r=[];if(n&&t.signatures&&t.signatures[e])for(const i of Object.keys(t.signatures[e])){const[,o]=i.split(":",2);if(o in n&&n[o].verified===T.VERIFIED)try{await l.verifySignature(this._olmDevice,t,e,o,n[o].keys[i]),r.push(o)}catch(e){}}return r},x.prototype.getCrossSigningId=function(e){return this._crossSigningInfo.getId(e)},x.prototype.getStoredCrossSigningForUser=function(e){return this._deviceList.getStoredCrossSigningForUser(e)},x.prototype.checkUserTrust=function(e){const t=this._deviceList.getStoredCrossSigningForUser(e);return t?this._crossSigningInfo.checkUserTrust(t):new m.UserTrustLevel(!1,!1)},x.prototype.checkDeviceTrust=function(e,t){const n=this._deviceList.getStoredDevice(e,t),r=n&&n.isVerified(),i=this._deviceList.getStoredCrossSigningForUser(e);return n&&i?this._crossSigningInfo.checkDeviceTrust(i,n,r):new m.DeviceTrustLevel(!1,!1,r)},x.prototype._onDeviceListUserCrossSigningUpdated=async function(e){if(e===this._userId){const t=this._deviceList.getStoredCrossSigningForUser(e),n=t?t.getId():null,r=this._crossSigningInfo.getId(),i=r!==n;r&&n&&!i?await this.checkOwnCrossSigningTrust():this.emit("crossSigning.keysChanged",{})}else await this._checkDeviceVerifications(e),this.emit("userTrustStatusChanged",e,this.checkUserTrust(e))},x.prototype.checkOwnCrossSigningTrust=async function(){const e=this._userId,t=this._deviceList.getStoredCrossSigningForUser(e);if(!t)return void c.logger.error("Got cross-signing update event for user "+e+" but no new cross-signing information found!");const n=t.getId(),r=this._crossSigningInfo.getId()!==n;if(r){c.logger.info("Got new master public key",n);let e=null;try{if(e=(await this._crossSigningInfo.getCrossSigningKey("master",n))[1],!e)throw new Error("Cross-signing master private key not available")}finally{e&&e.free()}c.logger.info("Got matching private key from callback for new public master key")}const i=this._crossSigningInfo.getId("self_signing"),o=this._crossSigningInfo.getId("user_signing");this._crossSigningInfo.setKeys(t.keys),await this._cryptoStore.doTxn("readwrite",[b.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this._cryptoStore.storeCrossSigningKeys(e,this._crossSigningInfo.keys)});const s={};if(i!==t.getId("self_signing")){c.logger.info("Got new self-signing key",t.getId("self_signing"));const e=this._deviceList.getStoredDevice(this._userId,this._deviceId),n=await this._crossSigningInfo.signDevice(this._userId,e);s[this._deviceId]=n}o!==t.getId("user_signing")&&c.logger.info("Got new user-signing key",t.getId("user_signing")),r&&(await this._signObject(this._crossSigningInfo.keys.master),s[this._crossSigningInfo.getId()]=this._crossSigningInfo.keys.master),Object.keys(s).length&&await this._baseApis.uploadKeySignatures({[this._userId]:s}),this.emit("userTrustStatusChanged",e,this.checkUserTrust(e)),r&&(this._baseApis.emit("crossSigning.keysChanged",{}),await this._afterCrossSigningLocalKeyChange()),await this.checkKeyBackup()},x.prototype._checkDeviceVerifications=async function(e){if(this._crossSigningInfo.keys.user_signing){const t=this._deviceList.getStoredCrossSigningForUser(e);if(t){const n=await this._checkForDeviceVerificationUpgrade(e,t),r=this._baseApis._cryptoCallbacks.shouldUpgradeDeviceVerifications;if(n&&r){(await r({users:{[e]:n}})).includes(e)&&await this._baseApis.setDeviceVerified(e,t.getId())}}}},x.prototype._checkAndStartKeyBackup=async function(){if(c.logger.log("Checking key backup status..."),this._baseApis.isGuest())return c.logger.log("Skipping key backup check since user is guest"),this._checkedForBackup=!0,null;let e;try{e=await this._baseApis.getKeyBackupVersion()}catch(e){return c.logger.log("Error checking for active key backup",e),e.httpStatus/100==4&&(this._checkedForBackup=!0),null}this._checkedForBackup=!0;const t=await this.isKeyBackupTrusted(e);return t.usable&&!this.backupInfo?(c.logger.log("Found usable key backup v"+e.version+": enabling key backups"),this._baseApis.enableKeyBackup(e)):!t.usable&&this.backupInfo?(c.logger.log("No usable key backup: disabling key backup"),this._baseApis.disableKeyBackup()):t.usable||this.backupInfo?t.usable&&this.backupInfo&&(e.version!==this.backupInfo.version?(c.logger.log("On backup version "+this.backupInfo.version+" but found version "+e.version+": switching."),this._baseApis.disableKeyBackup(),this._baseApis.enableKeyBackup(e)):c.logger.log("Backup version "+e.version+" still current")):c.logger.log("No usable key backup: not enabling key backup"),{backupInfo:e,trustInfo:t}},x.prototype.setTrustedBackupPubKey=async function(e){this._sessionStore.setLocalTrustedBackupPubKey(e),await this.checkKeyBackup()},x.prototype.checkKeyBackup=async function(){return this._checkedForBackup=!1,this._checkAndStartKeyBackup()},x.prototype.isKeyBackupTrusted=async function(e){const t={usable:!1,trusted_locally:!1,sigs:[]};if(!(e&&e.algorithm&&e.auth_data&&e.auth_data.public_key&&e.auth_data.signatures))return c.logger.info("Key backup is absent or missing required data"),t;const n=this._sessionStore.getLocalTrustedBackupPubKey();e.auth_data.public_key===n&&(c.logger.info("Backup public key "+n+" is trusted locally"),t.trusted_locally=!0);const r=e.auth_data.signatures[this._userId]||[];for(const n of Object.keys(r)){const r=n.split(":");if("ed25519"!==r[0]){c.logger.log("Ignoring unknown signature type: "+r[0]);continue}const i={deviceId:r[1]},o=this._crossSigningInfo.getId();if(o===i.deviceId){i.crossSigningId=!0;try{await l.verifySignature(this._olmDevice,e.auth_data,this._userId,i.deviceId,o),i.valid=!0}catch(e){c.logger.warning("Bad signature from cross signing key "+o,e),i.valid=!1}t.sigs.push(i);continue}const s=this._deviceList.getStoredDevice(this._userId,i.deviceId);if(s){i.device=s,i.deviceTrust=await this.checkDeviceTrust(this._userId,i.deviceId);try{await l.verifySignature(this._olmDevice,e.auth_data,this._userId,s.deviceId,s.getFingerprint()),i.valid=!0}catch(t){c.logger.info("Bad signature from key ID "+n+" userID "+this._userId+" device ID "+s.deviceId+" fingerprint: "+s.getFingerprint(),e.auth_data,t),i.valid=!1}}else i.valid=null,c.logger.info("Ignoring signature from unknown key "+n);t.sigs.push(i)}return t.usable=t.sigs.some(e=>e.valid&&(e.device&&e.deviceTrust.isVerified()||e.crossSigningId)),t.usable|=t.trusted_locally,t},x.prototype.enableLazyLoading=function(){this._lazyLoadMembers=!0},x.prototype.registerEventHandlers=function(e){const t=this;e.on("RoomMember.membership",(function(e,n,r){try{t._onRoomMembership(e,n,r)}catch(e){c.logger.error("Error handling membership change:",e)}})),e.on("toDeviceEvent",(function(e){t._onToDeviceEvent(e)})),e.on("Room.timeline",(function(e){t._onTimelineEvent(e)})),e.on("Event.decrypted",(function(e){t._onTimelineEvent(e)}))},x.prototype.start=function(){this._outgoingRoomKeyRequestManager.start()},x.prototype.stop=function(){this._outgoingRoomKeyRequestManager.stop(),this._deviceList.stop()},x.getOlmVersion=function(){return u.OlmDevice.getOlmVersion()},x.prototype.getDeviceEd25519Key=function(){return this._olmDevice.deviceEd25519Key},x.prototype.setGlobalBlacklistUnverifiedDevices=function(e){this._globalBlacklistUnverifiedDevices=e},x.prototype.getGlobalBlacklistUnverifiedDevices=function(){return this._globalBlacklistUnverifiedDevices},x.prototype.setGlobalErrorOnUnknownDevices=function(e){this._globalErrorOnUnknownDevices=e},x.prototype.getGlobalErrorOnUnknownDevices=function(){return this._globalErrorOnUnknownDevices},x.prototype.uploadDeviceKeys=function(){const e=this,t=e._userId,n=e._deviceId,r={algorithms:e._supportedAlgorithms,device_id:n,keys:e._deviceKeys,user_id:t};return e._signObject(r).then(()=>e._baseApis.uploadKeysRequest({device_keys:r},{device_id:n}))},x.prototype.updateOneTimeKeyCount=function(e){if(!isFinite(e))throw new TypeError("Parameter for updateOneTimeKeyCount has to be a number");this._oneTimeKeyCount=e},x.prototype.downloadKeys=function(e,t){return this._deviceList.downloadKeys(e,t)},x.prototype.getStoredDevicesForUser=function(e){return this._deviceList.getStoredDevicesForUser(e)},x.prototype.getStoredDevice=function(e,t){return this._deviceList.getStoredDevice(e,t)},x.prototype.saveDeviceList=function(e){return this._deviceList.saveIfDirty(e)},x.prototype.setDeviceVerification=async function(e,t,n,r,i){void 0===n&&(n=null),void 0===r&&(r=null),void 0===i&&(i=null);const o=this._deviceList.getStoredCrossSigningForUser(e);if(o&&o.getId()===t){if(null!==r||null!==i)throw new Error("Cannot set blocked or known for a cross-signing key");if(!n)throw new Error("Cannot set a cross-signing key as unverified");const s=await this._crossSigningInfo.signUser(o);return s&&await this._baseApis.uploadKeySignatures({[e]:{[t]:s}}),s}const s=this._deviceList.getRawStoredDevicesForUser(e);if(!s||!s[t])throw new Error("Unknown device "+e+":"+t);const a=s[t];let c=a.verified;n?c=T.VERIFIED:null!==n&&c==T.VERIFIED&&(c=T.UNVERIFIED),r?c=T.BLOCKED:null!==r&&c==T.BLOCKED&&(c=T.UNVERIFIED);let f=a.known;if(null!==i&&(f=i),a.verified===c&&a.known===f||(a.verified=c,a.known=f,this._deviceList.storeDevicesForUser(e,s),this._deviceList.saveIfDirty()),n&&e===this._userId){const n=await this._crossSigningInfo.signDevice(e,h.DeviceInfo.fromStorage(a,t));n&&await this._baseApis.uploadKeySignatures({[e]:{[t]:n}})}const u=h.DeviceInfo.fromStorage(a,t);return this.emit("deviceVerificationChanged",e,t,u),u},x.prototype.requestVerificationDM=async function(e,t,n){const r=new k.InRoomChannel(this._baseApis,t,e),i=await this._requestVerificationWithChannel(e,n,r,this._inRoomVerificationRequests);return await i.waitForVerifier()},x.prototype.acceptVerificationDM=function(e,t){if(!k.InRoomChannel.validateEvent(e,this._baseApis))return;const n=e.getSender(),r=this._inRoomVerificationRequests.get(n);if(!r)return;const i=k.InRoomChannel.getTransactionId(e),o=r.get(i);return o?o.beginKeyVerification(t):void 0},x.prototype.requestVerification=async function(e,t,n){n||(n=Object.keys(this._deviceList.getRawStoredDevicesForUser(e)));const r=new S.ToDeviceChannel(this._baseApis,e,n),i=await this._requestVerificationWithChannel(e,t,r,this._toDeviceVerificationRequests);return await i.waitForVerifier()},x.prototype._requestVerificationWithChannel=async function(e,t,n,r){t||(t=[...this._verificationMethods.keys()]);const i=new E.VerificationRequest(n,this._verificationMethods,e,this._baseApis);await i.sendRequest();let o=r.get(e);return o||(o=new Map,r.set(e,o)),o.set(n.transactionId,i),i},x.prototype.beginKeyVerification=function(e,t,n,r=null){let i,o=this._toDeviceVerificationRequests.get(t);if(o||(o=new Map,this._toDeviceVerificationRequests.set(t,o)),r)i=o.get(r);else{r=S.ToDeviceChannel.makeTransactionId();const e=new S.ToDeviceChannel(this._baseApis,t,[n],r,n);i=new E.VerificationRequest(e,this._verificationMethods,t,this._baseApis),o.set(r,i)}if(!i)throw new Error(`No request found for user ${t} with transactionId ${r}`);return i.beginKeyVerification(e,{userId:t,deviceId:n})},x.prototype.getOlmSessionsForUser=async function(e){const t=this.getStoredDevicesForUser(e)||[],n={};for(let e=0;e0)return null;const r=this._deviceList.getDeviceByIdentityKey(n,t);if(null===r)return null;const i=e.getClaimedEd25519Key();return i?i!==r.getFingerprint()?(c.logger.warn("Event "+e.getId()+" claims ed25519 key "+i+"but sender device has key "+r.getFingerprint()),null):r:(c.logger.warn("Event "+e.getId()+" claims no ed25519 key: cannot verify sending device"),null)},x.prototype.forceDiscardSession=function(e){const t=this._roomEncryptors[e];if(void 0===t)throw new Error("Room not encrypted");if(void 0===t.forceDiscardSession)throw new Error("Room encryption algorithm doesn't support session discarding");t.forceDiscardSession()},x.prototype.setRoomEncryption=async function(e,t,n){if(!t.algorithm)return void c.logger.log("Ignoring setRoomEncryption with no algorithm");const r=this._roomList.getRoomEncryption(e);if(r&&JSON.stringify(r)!=JSON.stringify(t))return void c.logger.error("Ignoring m.room.encryption event which requests a change of config in "+e);if(this._roomEncryptors[e])return;let i=null;r||(i=this._roomList.setRoomEncryption(e,t));const o=p.ENCRYPTION_CLASSES[t.algorithm];if(!o)throw new Error("Unable to encrypt with "+t.algorithm);const s=new o({userId:this._userId,deviceId:this._deviceId,crypto:this,olmDevice:this._olmDevice,baseApis:this._baseApis,roomId:e,config:t});this._roomEncryptors[e]=s,i&&await i,this._lazyLoadMembers?c.logger.log("Enabling encryption in "+e):(c.logger.log("Enabling encryption in "+e+"; starting to track device lists for all users therein"),await this.trackRoomDevices(e),this.inhibitDeviceQuery||this._deviceList.refreshOutdatedDeviceLists())},x.prototype.trackRoomDevices=function(e){const t=async()=>{if(!this._roomEncryptors[e])return;const t=this._clientStore.getRoom(e);if(!t)throw new Error(`Unable to start tracking devices in unknown room ${e}`);c.logger.log(`Starting to track devices for room ${e} ...`),(await t.getEncryptionTargetMembers()).forEach(e=>{this._deviceList.startTrackingDeviceList(e.userId)})};let n=this._roomDeviceTrackingState[e];return n||(n=t(),this._roomDeviceTrackingState[e]=n),n},x.prototype.ensureOlmSessionsForUsers=function(e){const t={};for(let n=0;n{this._cryptoStore.getAllEndToEndInboundGroupSessions(t,t=>{if(null===t)return;const n=this._olmDevice.exportInboundGroupSession(t.senderKey,t.sessionId,t.sessionData);delete n.first_known_index,n.algorithm=l.MEGOLM_ALGORITHM,e.push(n)})}),e},x.prototype.importRoomKeys=function(e){return Promise.all(e.map(e=>{if(!e.room_id||!e.algorithm)return c.logger.warn("ignoring room key entry with missing fields",e),null;return this._getRoomDecryptor(e.room_id,e.algorithm).importRoomKey(e)}))},x.prototype.scheduleKeyBackupSend=async function(e=1e4){if(!this._sendingBackups){this._sendingBackups=!0;try{const t=Math.random()*e;await(0,f.sleep)(t);let n=0;for(;;){if(!this.backupKey)return;try{if(0===await this._backupPendingKeys(200))return;n=0}catch(e){if(n++,c.logger.log("Key backup request failed",e),e.data&&("M_NOT_FOUND"==e.data.errcode||"M_WRONG_ROOM_KEYS_VERSION"==e.data.errcode))throw await this.checkKeyBackup(),this.emit("crypto.keyBackupFailed",e.data.errcode),e}n&&await(0,f.sleep)(1e3*Math.pow(2,Math.min(n-1,4)))}}finally{this._sendingBackups=!1}}},x.prototype._backupPendingKeys=async function(e){const t=await this._cryptoStore.getSessionsNeedingBackup(e);if(!t.length)return 0;let n=await this._cryptoStore.countSessionsNeedingBackup();this.emit("crypto.keyBackupSessionsRemaining",n);const r={};for(const e of t){const t=e.sessionData.room_id;void 0===r[t]&&(r[t]={sessions:{}});const n=await this._olmDevice.exportInboundGroupSession(e.senderKey,e.sessionId,e.sessionData);n.algorithm=l.MEGOLM_ALGORITHM,delete n.session_id,delete n.room_id;const i=n.first_known_index;delete n.first_known_index;const o=this.backupKey.encrypt(JSON.stringify(n)),s=(n.forwarding_curve25519_key_chain||[]).length,a=this._deviceList.getDeviceByIdentityKey(l.MEGOLM_ALGORITHM,e.senderKey);r[t].sessions[e.sessionId]={first_message_index:i,forwarded_count:s,is_verified:!(!a||!a.isVerified()),session_data:o}}return await this._baseApis.sendKeyBackup(void 0,void 0,this.backupInfo.version,{rooms:r}),await this._cryptoStore.unmarkSessionsNeedingBackup(t),n=await this._cryptoStore.countSessionsNeedingBackup(),this.emit("crypto.keyBackupSessionsRemaining",n),t.length},x.prototype.backupGroupSession=async function(e,t,n,r,i,o,s){if(!this.backupInfo)throw new Error("Key backups are not enabled");await this._cryptoStore.markSessionsNeedingBackup([{senderKey:t,sessionId:r}]),this.scheduleKeyBackupSend()},x.prototype.scheduleAllGroupSessionsForBackup=async function(){await this.flagAllGroupSessionsForBackup(),this.scheduleKeyBackupSend(0)},x.prototype.flagAllGroupSessionsForBackup=async function(){await this._cryptoStore.doTxn("readwrite",[b.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,b.IndexedDBCryptoStore.STORE_BACKUP],e=>{this._cryptoStore.getAllEndToEndInboundGroupSessions(e,t=>{null!==t&&this._cryptoStore.markSessionsNeedingBackup([t],e)})});const e=await this._cryptoStore.countSessionsNeedingBackup();return this.emit("crypto.keyBackupSessionsRemaining",e),e},x.prototype.encryptEvent=async function(e,t){if(!t)throw new Error("Cannot send encrypted messages in unknown rooms");const n=e.getRoomId(),r=this._roomEncryptors[n];if(!r)throw new Error("Room was previously configured to use encryption, but is no longer. Perhaps the homeserver is hiding the configuration event.");this._roomDeviceTrackingState[n]||this.trackRoomDevices(n),await this._roomDeviceTrackingState[n];let i=e.getContent();const o=i["m.relates_to"];o&&(i=Object.assign({},i),delete i["m.relates_to"]);const s=await r.encryptMessage(t,e.getType(),i);o&&(s["m.relates_to"]=o),e.makeEncrypted("m.room.encrypted",s,this._olmDevice.deviceCurve25519Key,this._olmDevice.deviceEd25519Key)},x.prototype.decryptEvent=function(e){if(e.isRedacted())return Promise.resolve({clearEvent:{room_id:e.getRoomId(),type:"m.room.message",content:{}}});const t=e.getWireContent();return this._getRoomDecryptor(e.getRoomId(),t.algorithm).decryptEvent(e)},x.prototype.handleDeviceListChanges=async function(e,t){e.oldSyncToken&&await this._evalDeviceListChanges(t)},x.prototype.requestRoomKey=function(e,t,n=!1){return this._outgoingRoomKeyRequestManager.sendRoomKeyRequest(e,t,n).catch(e=>{c.logger.error("Error requesting key for event",e)})},x.prototype.cancelRoomKeyRequest=function(e){this._outgoingRoomKeyRequestManager.cancelRoomKeyRequest(e).catch(e=>{c.logger.warn("Error clearing pending room key requests",e)})},x.prototype.onCryptoEvent=async function(e){const t=e.getRoomId(),n=e.getContent();try{await this.setRoomEncryption(t,n,!0)}catch(e){c.logger.error("Error configuring encryption in room "+t+":",e)}},x.prototype.onSyncWillProcess=async function(e){e.oldSyncToken||(c.logger.log("Initial sync performed - resetting device tracking state"),this._deviceList.stopTrackingAllDeviceLists(),this._deviceList.startTrackingDeviceList(this._userId),this._roomDeviceTrackingState={})},x.prototype.onSyncCompleted=async function(e){const t=e.nextSyncToken;this._deviceList.setSyncToken(e.nextSyncToken),this._deviceList.saveIfDirty(),this._deviceList.lastKnownSyncToken=t,this._deviceList.startTrackingDeviceList(this._userId),this._deviceList.refreshOutdatedDeviceLists(),e.catchingUp||(C(this),this._processReceivedRoomKeyRequests())},x.prototype._evalDeviceListChanges=async function(e){if(e.changed&&Array.isArray(e.changed)&&e.changed.forEach(e=>{this._deviceList.invalidateUserDeviceList(e)}),e.left&&Array.isArray(e.left)&&e.left.length){const t=new Set(await this._getTrackedE2eUsers());e.left.forEach(e=>{t.has(e)||this._deviceList.stopTrackingDeviceList(e)})}},x.prototype._getTrackedE2eUsers=async function(){const e=[];for(const t of this._getTrackedE2eRooms()){const n=await t.getEncryptionTargetMembers();for(const t of n)e.push(t.userId)}return e},x.prototype._getTrackedE2eRooms=function(){return this._clientStore.getRooms().filter(e=>{if(!this._roomEncryptors[e.roomId])return!1;if(!this._roomDeviceTrackingState[e.roomId])return!1;const t=e.getMyMembership();return"join"===t||"invite"===t})},x.prototype._onToDeviceEvent=function(e){try{c.logger.log(`received to_device ${e.getType()} from: `+`${e.getSender()} id: ${e.getId()}`),"m.room_key"==e.getType()||"m.forwarded_room_key"==e.getType()?this._onRoomKeyEvent(e):"m.room_key_request"==e.getType()?this._onRoomKeyRequestEvent(e):"m.secret.request"===e.getType()?this._secretStorage._onRequestReceived(e):"m.secret.send"===e.getType()?this._secretStorage._onSecretReceived(e):"org.matrix.room_key.withheld"===e.getType()?this._onRoomKeyWithheldEvent(e):e.getContent().transaction_id?this._onKeyVerificationMessage(e):"m.bad.encrypted"===e.getContent().msgtype?this._onToDeviceBadEncrypted(e):e.isBeingDecrypted()&&e.once("Event.decrypted",e=>{this._onToDeviceEvent(e)})}catch(e){c.logger.error("Error handling toDeviceEvent:",e)}},x.prototype._onRoomKeyEvent=function(e){const t=e.getContent();t.room_id&&t.algorithm?(this._checkedForBackup||this._checkAndStartKeyBackup(),this._getRoomDecryptor(t.room_id,t.algorithm).onRoomKeyEvent(e)):c.logger.error("key event is missing fields")},x.prototype._onRoomKeyWithheldEvent=function(e){const t=e.getContent();if(!(("m.no_olm"===t.code||t.room_id&&t.session_id)&&t.algorithm&&t.sender_key))return void c.logger.error("key withheld event is missing fields");c.logger.info(`Got room key withheld event from ${e.getSender()} (${t.sender_key}) `+`for ${t.algorithm}/${t.room_id}/${t.session_id} `+`with reason ${t.code} (${t.reason})`);const n=this._getRoomDecryptor(t.room_id,t.algorithm);if(n.onRoomKeyWithheldEvent&&n.onRoomKeyWithheldEvent(e),!t.room_id){const e=this._getRoomDecryptors(t.algorithm);for(const n of e)n.retryDecryptionFromSender(t.sender_key)}},x.prototype._onKeyVerificationMessage=function(e){if(!S.ToDeviceChannel.validateEvent(e,this._baseApis))return;const t=S.ToDeviceChannel.getTransactionId(e);this._handleVerificationEvent(e,t,this._toDeviceVerificationRequests,e=>{if(!S.ToDeviceChannel.canCreateRequest(S.ToDeviceChannel.getEventType(e)))return;const t=e.getContent(),n=t&&t.from_device;if(!n)return;const r=e.getSender(),i=new S.ToDeviceChannel(this._baseApis,r,[n]);return new E.VerificationRequest(i,this._verificationMethods,r,this._baseApis)})},x.prototype._onTimelineEvent=function(e){if(!k.InRoomChannel.validateEvent(e,this._baseApis))return;const t=k.InRoomChannel.getTransactionId(e);this._handleVerificationEvent(e,t,this._inRoomVerificationRequests,e=>{if(!k.InRoomChannel.canCreateRequest(k.InRoomChannel.getEventType(e)))return;const t=e.getSender(),n=new k.InRoomChannel(this._baseApis,e.getRoomId(),t);return new E.VerificationRequest(n,this._verificationMethods,t,this._baseApis)})},x.prototype._handleVerificationEvent=async function(e,t,n,r){const i=e.getSender();let o=n.get(i),s=!1,a=o&&o.get(t);if(!a){if(a=r(e),!a)return;s=!0,o||(o=new Map,n.set(i,o)),o.set(t,a)}try{const t=!!a.verifier;await a.channel.handleEvent(e,a),!t&&a.verifier&&this._baseApis.emit("crypto.verification.start",a.verifier)}catch(t){console.error("error while handling verification event",e,t)}a.pending?s&&!a.initiatedByMe&&this._baseApis.emit("crypto.verification.request",a):(o.delete(t),0===o.size&&n.delete(i))},x.prototype._onToDeviceBadEncrypted=async function(e){const t=e.getWireContent(),n=e.getSender(),r=t.algorithm,i=t.sender_key,o=()=>{const e=this._getRoomDecryptors(l.MEGOLM_ALGORITHM);for(const t of e)t.retryDecryptionFromSender(i)};if(void 0===n||void 0===i||void 0===i)return;this._lastNewSessionForced[n]=this._lastNewSessionForced[n]||{};const s=this._lastNewSessionForced[n][i]||0;if(s+36e5>Date.now())return c.logger.debug("New session already forced with device "+n+":"+i+" at "+s+": not forcing another"),await this._olmDevice.recordSessionProblem(i,"wedged",!0),void o();const a=this._deviceList.getDeviceByIdentityKey(r,i);if(!a)return c.logger.info("Couldn't find device for identity key "+i+": not re-establishing session"),await this._olmDevice.recordSessionProblem(i,"wedged",!1),void o();const f={};f[n]=[a],await l.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,f,!0),this._lastNewSessionForced[n][i]=Date.now();const u={algorithm:l.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};await l.encryptMessageForDevice(u.ciphertext,this._userId,this._deviceId,this._olmDevice,n,a,{type:"m.dummy"}),await this._olmDevice.recordSessionProblem(i,"wedged",!0),o(),await this._baseApis.sendToDevice("m.room.encrypted",{[n]:{[a.deviceId]:u}});const d=await this._outgoingRoomKeyRequestManager.getOutgoingSentRoomKeyRequest(n,a.deviceId);for(const e of d)this.requestRoomKey(e.requestBody,e.recipients,!0)},x.prototype._onRoomMembership=function(e,t,n){const r=t.roomId,i=this._roomEncryptors[r];i&&(this._roomDeviceTrackingState[r]&&("join"==t.membership?(c.logger.log("Join event for "+t.userId+" in "+r),this._deviceList.startTrackingDeviceList(t.userId)):"invite"==t.membership&&this._clientStore.getRoom(r).shouldEncryptForInvitedMembers()&&(c.logger.log("Invite event for "+t.userId+" in "+r),this._deviceList.startTrackingDeviceList(t.userId))),i.onRoomMembership(e,t,n))},x.prototype._onRoomKeyRequestEvent=function(e){const t=e.getContent();if("request"===t.action){const t=new P(e);this._receivedRoomKeyRequests.push(t)}else if("request_cancellation"===t.action){const t=new M(e);this._receivedRoomKeyRequestCancellations.push(t)}},x.prototype._processReceivedRoomKeyRequests=async function(){if(!this._processingRoomKeyRequests){this._processingRoomKeyRequests=!0;try{const e=this._receivedRoomKeyRequests;this._receivedRoomKeyRequests=[];const t=this._receivedRoomKeyRequestCancellations;this._receivedRoomKeyRequestCancellations=[],await Promise.all(e.map(e=>this._processReceivedRoomKeyRequest(e))),await Promise.all(t.map(e=>this._processReceivedRoomKeyRequestCancellation(e)))}catch(e){c.logger.error(`Error processing room key requsts: ${e}`)}finally{this._processingRoomKeyRequests=!1}}},x.prototype._processReceivedRoomKeyRequest=async function(e){const t=e.userId,n=e.deviceId,r=e.requestBody,i=r.room_id,o=r.algorithm;if(c.logger.log(`m.room_key_request from ${t}:${n}`+` for ${i} / ${r.session_id} (id ${e.requestId})`),t!==this._userId){if(!this._roomEncryptors[i])return void c.logger.debug(`room key request for unencrypted room ${i}`);const e=this._roomEncryptors[i],o=this._deviceList.getStoredDevice(t,n);if(!o)return void c.logger.debug(`Ignoring keyshare for unknown device ${t}:${n}`);try{await e.reshareKeyWithDevice(r.sender_key,r.session_id,t,o)}catch(e){c.logger.warn("Failed to re-share keys for session "+r.session_id+" with device "+t+":"+o.deviceId,e)}return}if(!this._roomDecryptors[i])return void c.logger.log(`room key request for unencrypted room ${i}`);const s=this._roomDecryptors[i][o];if(!s)return void c.logger.log(`room key request for unknown alg ${o} in room ${i}`);if(!await s.hasKeysForKeyRequest(e))return void c.logger.log(`room key request for unknown session ${i} / `+r.session_id);e.share=()=>{s.shareKeysWithDevice(e)};const a=this._deviceList.getStoredDevice(t,n);if(a&&a.isVerified())return c.logger.log("device is already verified: sharing keys"),void e.share();this.emit("crypto.roomKeyRequest",e)},x.prototype._processReceivedRoomKeyRequestCancellation=async function(e){c.logger.log(`m.room_key_request cancellation for ${e.userId}:`+`${e.deviceId} (id ${e.requestId})`),this.emit("crypto.roomKeyRequestCancellation",e)},x.prototype._getRoomDecryptor=function(e,t){let n,r;if((e=e||null)&&(n=this._roomDecryptors[e],n||(this._roomDecryptors[e]=n={}),r=n[t],r))return r;const i=p.DECRYPTION_CLASSES[t];if(!i)throw new p.DecryptionError("UNKNOWN_ENCRYPTION_ALGORITHM",'Unknown encryption algorithm "'+t+'".');return r=new i({userId:this._userId,crypto:this,olmDevice:this._olmDevice,baseApis:this._baseApis,roomId:e}),n&&(n[t]=r),r},x.prototype._getRoomDecryptors=function(e){const t=[];for(const n of Object.values(this._roomDecryptors))e in n&&t.push(n[e]);return t},x.prototype._signObject=async function(e){const t=e.signatures||{},n=e.unsigned;delete e.signatures,delete e.unsigned,t[this._userId]=t[this._userId]||{},t[this._userId]["ed25519:"+this._deviceId]=await this._olmDevice.sign(o.default.stringify(e)),e.signatures=t,void 0!==n&&(e.unsigned=n)};class P{constructor(e){const t=e.getContent();this.userId=e.getSender(),this.deviceId=t.requesting_device_id,this.requestId=t.request_id,this.requestBody=t.body||{},this.share=()=>{throw new Error("don't know how to share keys for this request yet")}}}class M{constructor(e){const t=e.getContent();this.userId=e.getSender(),this.deviceId=t.requesting_device_id,this.requestId=t.request_id}}}).call(this,n(5))},function(e,t,n){"use strict";var r=n(6),i=n(4),o=r(n(8)),s=r(n(21)),a=n(51),c=n(81);const f=a.DeviceInfo.DeviceVerification;function u(e){(0,o.polyfillSuper)(this,c.EncryptionAlgorithm,e),this._sessionPrepared=!1,this._prepPromise=null}function l(e){(0,o.polyfillSuper)(this,c.DecryptionAlgorithm,e)}o.inherits(u,c.EncryptionAlgorithm),u.prototype._ensureSession=function(e){if(this._prepPromise)return this._prepPromise;if(this._sessionPrepared)return Promise.resolve();const t=this;return this._prepPromise=t._crypto.downloadKeys(e).then((function(n){return t._crypto.ensureOlmSessionsForUsers(e)})).then((function(){t._sessionPrepared=!0})).finally((function(){t._prepPromise=null})),this._prepPromise},u.prototype.encryptMessage=async function(e,t,n){const r=await e.getEncryptionTargetMembers(),i=o.map(r,(function(e){return e.userId})),a=this;await this._ensureSession(i);const c={room_id:e.roomId,type:t,content:n},u={algorithm:s.OLM_ALGORITHM,sender_key:a._olmDevice.deviceCurve25519Key,ciphertext:{}},l=[];for(let e=0;eu)},o.inherits(l,c.DecryptionAlgorithm),l.prototype.decryptEvent=async function(e){const t=e.getWireContent(),n=t.sender_key,r=t.ciphertext;if(!r)throw new c.DecryptionError("OLM_MISSING_CIPHERTEXT","Missing ciphertext");if(!(this._olmDevice.deviceCurve25519Key in r))throw new c.DecryptionError("OLM_NOT_INCLUDED_IN_RECIPIENTS","Not included in recipients");const i=r[this._olmDevice.deviceCurve25519Key];let o;try{o=await this._decryptMessage(n,i)}catch(e){throw new c.DecryptionError("OLM_BAD_ENCRYPTED_MESSAGE","Bad Encrypted Message",{sender:n,err:e})}const s=JSON.parse(o);if(s.recipient!=this._userId)throw new c.DecryptionError("OLM_BAD_RECIPIENT","Message was intented for "+s.recipient);if(s.recipient_keys.ed25519!=this._olmDevice.deviceEd25519Key)throw new c.DecryptionError("OLM_BAD_RECIPIENT_KEY","Message not intended for this device",{intended:s.recipient_keys.ed25519,our_key:this._olmDevice.deviceEd25519Key});if(s.sender!=e.getSender())throw new c.DecryptionError("OLM_FORWARDED_MESSAGE","Message forwarded from "+s.sender,{reported_sender:e.getSender()});if(s.room_id!==e.getRoomId())throw new c.DecryptionError("OLM_BAD_ROOM","Message intended for room "+s.room_id,{reported_room:e.room_id});return{clearEvent:s,senderCurve25519Key:n,claimedEd25519Key:(s.keys||{}).ed25519||null}},l.prototype._decryptMessage=async function(e,t){const n=await this._olmDevice.getSessionIdsForDevice(e),r={};for(let o=0;o=e||n>=t)&&(i.logger.log("Rotating megolm session after "+this.useCount+" messages, "+n+"ms"),!0)},f.prototype.markSharedWithDevice=function(e,t,n){this.sharedWithDevices[e]||(this.sharedWithDevices[e]={}),this.sharedWithDevices[e][t]=n},f.prototype.markNotifiedBlockedDevice=function(e,t){this.blockedDevicesNotified[e]||(this.blockedDevicesNotified[e]={}),this.blockedDevicesNotified[e][t]=!0},f.prototype.sharedWithTooManyDevices=function(e){for(const t in this.sharedWithDevices)if(this.sharedWithDevices.hasOwnProperty(t)){if(!e.hasOwnProperty(t))return i.logger.log("Starting new megolm session because we shared with "+t),!0;for(const n in this.sharedWithDevices[t])if(this.sharedWithDevices[t].hasOwnProperty(n)&&!e[t].hasOwnProperty(n))return i.logger.log("Starting new megolm session because we shared with "+t+":"+n),!0}},o.inherits(u,a.EncryptionAlgorithm),u.prototype._ensureOutboundSession=async function(e,t){const n=this;let r;function o(){return r}const s=this._setupPromise.then((async function(o){r=o,r&&r.needsRotation(n._sessionRotationPeriodMsgs,n._sessionRotationPeriodMs)&&(i.logger.log("Starting new megolm session because we need to rotate."),r=null),r&&r.sharedWithTooManyDevices(e)&&(r=null),r||(i.logger.log(`Starting new megolm session for room ${n._roomId}`),r=await n._prepareNewSession(),i.logger.log(`Started new megolm session ${r.sessionId} `+`for room ${n._roomId}`),n._outboundSessions[r.sessionId]=r);const s={};for(const t in e){if(!e.hasOwnProperty(t))continue;const i=e[t];for(const e in i){if(!i.hasOwnProperty(e))continue;const o=i[e];o.getIdentityKey()!=n._olmDevice.deviceCurve25519Key&&(r.sharedWithDevices[t]&&void 0!==r.sharedWithDevices[t][e]||(s[t]=s[t]||[],s[t].push(o)))}}const a=[];await n._shareKeyWithDevices(r,s,a);const f={};for(const e in t){if(!t.hasOwnProperty(e))continue;const n=t[e];for(const t in n)n.hasOwnProperty(t)&&(r.blockedDevicesNotified[e]&&void 0!==r.blockedDevicesNotified[e][t]||(f[e]=f[e]||[],f[e].push(n[t])))}const u=await n._olmDevice.filterOutNotifiedErrorDevices(a);for(const{userId:e,deviceInfo:t}of u)f[e]=f[e]||[],f[e].push({code:"m.no_olm",reason:c.WITHHELD_MESSAGES["m.no_olm"],deviceInfo:t});await n._notifyBlockedDevices(r,f)}));return this._setupPromise=s.then(o,o),s.then(o)},u.prototype._prepareNewSession=async function(){const e=this._olmDevice.createOutboundGroupSession(),t=this._olmDevice.getOutboundGroupSessionKey(e);return await this._olmDevice.addInboundGroupSession(this._roomId,this._olmDevice.deviceCurve25519Key,[],e,t.key,{ed25519:this._olmDevice.deviceEd25519Key}),this._crypto.backupInfo&&this._crypto.backupGroupSession(this._roomId,this._olmDevice.deviceCurve25519Key,[],e,t.key).catch(e=>{i.logger.log("Failed to back up megolm session",e)}),new f(e)},u.prototype._splitUserDeviceMap=function(e,t,n,r,o){const s=[];let a=0,c=0;for(const f of Object.keys(r)){const u=r[f],l=n[f];for(let n=0;n20&&(c=0,a++)}return s},u.prototype._splitBlockedDevices=function(e){let t=[];const n=[t];for(const r of Object.keys(e)){const i=e[r];for(const e of i)t.push({userId:r,blockedInfo:e});t.length>20&&(t=[],n.push(t))}return 0===t.length&&n.pop(),n},u.prototype._encryptAndSendKeysToDevices=function(e,t,n,r){const i={},o=[];for(let e=0;ethis._baseApis.sendToDevice("m.room.encrypted",i).then(()=>{for(const n of Object.keys(i))for(const r of Object.keys(i[n]))e.markSharedWithDevice(n,r,t)}))},u.prototype._sendBlockedNotificationsToDevices=async function(e,t,n){const r={};for(const e of t){const t=e.userId,i=e.blockedInfo,o=i.deviceInfo.deviceId,s=Object.assign({},n);s.code=i.code,s.reason=i.reason,"m.no_olm"===s.code&&(delete s.room_id,delete s.session_id),r[t]||(r[t]={}),r[t][o]=s}await this._baseApis.sendToDevice("org.matrix.room_key.withheld",r);for(const t of Object.keys(r))for(const n of Object.keys(r[t]))e.markNotifiedBlockedDevice(t,n)},u.prototype.reshareKeyWithDevice=async function(e,t,n,r){const o=this._outboundSessions[t];if(!o)return void i.logger.debug(`megolm session ${t} not found: not re-sharing keys`);if(void 0===o.sharedWithDevices[n])return void i.logger.debug(`megolm session ${t} never shared with user ${n}`);const a=o.sharedWithDevices[n][r.deviceId];if(void 0===a)return void i.logger.debug("megolm session ID "+t+" never shared with device "+n+":"+r.deviceId);const c=await this._olmDevice.getInboundGroupSessionKey(this._roomId,e,t,a);if(!c)return void i.logger.warn(`No inbound session key found for megolm ${t}: not re-sharing keys`);await s.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,{[n]:{[r.deviceId]:r}});const f={type:"m.forwarded_room_key",content:{algorithm:s.MEGOLM_ALGORITHM,room_id:this._roomId,session_id:t,session_key:c.key,chain_index:c.chain_index,sender_key:e,sender_claimed_ed25519_key:c.sender_claimed_ed25519_key,forwarding_curve25519_key_chain:c.forwarding_curve25519_key_chain}},u={algorithm:s.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};await s.encryptMessageForDevice(u.ciphertext,this._userId,this._deviceId,this._olmDevice,n,r,f),await this._baseApis.sendToDevice("m.room.encrypted",{[n]:{[r.deviceId]:u}}),i.logger.debug(`Re-shared key for megolm session ${t} `+`with ${n}:${r.deviceId}`)},u.prototype._shareKeyWithDevices=async function(e,t,n){const r=this._olmDevice.getOutboundGroupSessionKey(e.sessionId),o={type:"m.room_key",content:{algorithm:s.MEGOLM_ALGORITHM,room_id:this._roomId,session_id:e.sessionId,session_key:r.key,chain_index:r.chain_index}},a=await s.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,t),c=this._splitUserDeviceMap(e,r.chain_index,a,t,n);for(let t=0;tnull)},u.prototype._checkForUnknownDevices=function(e){const t={};if(Object.keys(e).forEach(n=>{Object.keys(e[n]).forEach(r=>{const i=e[n][r];i.isUnverified()&&!i.isKnown()&&(t[n]||(t[n]={}),t[n][r]=i)})}),Object.keys(t).length)throw new a.UnknownDeviceError("This room contains unknown devices which have not been verified. We strongly recommend you verify them before continuing.",t)},u.prototype._getDevicesInRoom=async function(e){const t=await e.getEncryptionTargetMembers(),n=o.map(t,(function(e){return e.userId}));let r=this._crypto.getGlobalBlacklistUnverifiedDevices();"boolean"==typeof e.getBlacklistUnverifiedDevices()&&(r=e.getBlacklistUnverifiedDevices());const i=await this._crypto.downloadKeys(n,!1),s={};for(const e in i){if(!i.hasOwnProperty(e))continue;const t=i[e];for(const n in t)if(t.hasOwnProperty(n)&&(t[n].isBlocked()||t[n].isUnverified()&&r)){s[e]||(s[e]={});const r=t[n].isBlocked()?{code:"m.blacklisted",reason:c.WITHHELD_MESSAGES["m.blacklisted"]}:{code:"m.unverified",reason:c.WITHHELD_MESSAGES["m.unverified"]};r.deviceInfo=t[n],s[e][n]=r,delete t[n]}}return[i,s]},o.inherits(l,a.DecryptionAlgorithm);const d={no_olm:"The sender was unable to establish a secure channel.",unknown:"The secure channel with the sender was corrupted."};l.prototype.decryptEvent=async function(e){const t=e.getWireContent();if(!t.sender_key||!t.session_id||!t.ciphertext)throw new a.DecryptionError("MEGOLM_MISSING_FIELDS","Missing fields in input");let n;this._addEventToPendingList(e);try{n=await this._olmDevice.decryptGroupMessage(e.getRoomId(),t.sender_key,t.session_id,t.ciphertext,e.getId(),e.getTs())}catch(n){if("DecryptionError"===n.name)throw n;let r="OLM_DECRYPT_GROUP_MESSAGE_ERROR";throw n&&"OLM.UNKNOWN_MESSAGE_INDEX"===n.message&&(this._requestKeysForEvent(e),r="OLM_UNKNOWN_MESSAGE_INDEX"),new a.DecryptionError(r,n?n.toString():"Unknown Error: Error is undefined",{session:t.sender_key+"|"+t.session_id})}if(null===n){this._requestKeysForEvent(e);const n=await this._olmDevice.sessionMayHaveProblems(t.sender_key,e.getTs()-12e4);if(n){let e=d[n.type]||d.unknown;throw n.fixed&&(e+=" Trying to create a new secure channel and re-requesting the keys."),new a.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",e,{session:t.sender_key+"|"+t.session_id})}throw new a.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID","The sender's device has not sent us the keys for this message.",{session:t.sender_key+"|"+t.session_id})}this._removeEventFromPendingList(e);const r=JSON.parse(n.result);if(r.room_id!==e.getRoomId())throw new a.DecryptionError("MEGOLM_BAD_ROOM","Message intended for room "+r.room_id);return{clearEvent:r,senderCurve25519Key:n.senderKey,claimedEd25519Key:n.keysClaimed.ed25519,forwardingCurve25519KeyChain:n.forwardingCurve25519KeyChain}},l.prototype._requestKeysForEvent=function(e){const t=e.getWireContent(),n=e.getKeyRequestRecipients(this._userId);this._crypto.requestRoomKey({room_id:e.getRoomId(),algorithm:t.algorithm,sender_key:t.sender_key,session_id:t.session_id},n)},l.prototype._addEventToPendingList=function(e){const t=e.getWireContent(),n=t.sender_key,r=t.session_id;this._pendingEvents[n]||(this._pendingEvents[n]=new Map);const i=this._pendingEvents[n];i.has(r)||i.set(r,new Set),i.get(r).add(e)},l.prototype._removeEventFromPendingList=function(e){const t=e.getWireContent(),n=t.sender_key,r=t.session_id,i=this._pendingEvents[n],o=i&&i.get(r);o&&(o.delete(e),0===o.size&&i.delete(n),0===i.size&&delete this._pendingEvents[n])},l.prototype.onRoomKeyEvent=function(e){const t=e.getContent(),n=t.session_id;let r,s=e.getSenderKey(),a=[],c=!1;if(t.room_id&&n&&t.session_key){if(s){if("m.forwarded_room_key"==e.getType()){if(c=!0,a=t.forwarding_curve25519_key_chain,o.isArray(a)||(a=[]),a=a.slice(),a.push(s),s=t.sender_key,!s)return void i.logger.error("forwarded_room_key event is missing sender_key field");const e=t.sender_claimed_ed25519_key;if(!e)return void i.logger.error("forwarded_room_key_event is missing sender_claimed_ed25519_key field");r={ed25519:e}}else r=e.getKeysClaimed();return i.logger.log(`Received and adding key for megolm session ${s}|${n}`),this._olmDevice.addInboundGroupSession(t.room_id,s,a,n,t.session_key,r,c).then(()=>{this._retryDecryption(s,n).then(e=>{e&&this._crypto.cancelRoomKeyRequest({algorithm:t.algorithm,room_id:t.room_id,session_id:t.session_id,sender_key:s})})}).then(()=>{this._crypto.backupInfo&&this._crypto.backupGroupSession(t.room_id,s,a,t.session_id,t.session_key,r,c).catch(e=>{i.logger.log("Failed to back up megolm session",e)})}).catch(e=>{i.logger.error(`Error handling m.room_key_event: ${e}`)})}i.logger.error("key event has no sender key (not encrypted?)")}else i.logger.error("key event is missing fields")},l.prototype.onRoomKeyWithheldEvent=async function(e){const t=e.getContent(),n=t.sender_key;if("m.no_olm"===t.code){const r=e.getSender();if(await this._olmDevice.getSessionIdForDevice(n))return await this._olmDevice.recordSessionProblem(n,"no_olm",!0),void this.retryDecryptionFromSender(n);const o=this._crypto._deviceList.getDeviceByIdentityKey(t.algorithm,n);if(!o)return i.logger.info("Couldn't find device for identity key "+n+": not establishing session"),await this._olmDevice.recordSessionProblem(n,"no_olm",!1),void this.retryDecryptionFromSender(n);await s.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,{[r]:[o]},!1);const a={algorithm:s.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};await s.encryptMessageForDevice(a.ciphertext,this._userId,this._deviceId,this._olmDevice,r,o,{type:"m.dummy"}),await this._olmDevice.recordSessionProblem(n,"no_olm",!0),this.retryDecryptionFromSender(n),await this._baseApis.sendToDevice("m.room.encrypted",{[r]:{[o.deviceId]:a}})}else await this._olmDevice.addInboundGroupSessionWithheld(t.room_id,n,t.session_id,t.code,t.reason)},l.prototype.hasKeysForKeyRequest=function(e){const t=e.requestBody;return this._olmDevice.hasInboundSessionKeys(t.room_id,t.sender_key,t.session_id)},l.prototype.shareKeysWithDevice=function(e){const t=e.userId,n=e.deviceId,r=this._crypto.getStoredDevice(t,n),o=e.requestBody;this.olmlib.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,{[t]:[r]}).then(e=>e[t][n].sessionId?(i.logger.log("sharing keys for session "+o.sender_key+"|"+o.session_id+" with device "+t+":"+n),this._buildKeyForwardingMessage(o.room_id,o.sender_key,o.session_id)):null).then(e=>{const i={algorithm:s.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};return this.olmlib.encryptMessageForDevice(i.ciphertext,this._userId,this._deviceId,this._olmDevice,t,r,e).then(()=>{const e={[t]:{[n]:i}};return this._baseApis.sendToDevice("m.room.encrypted",e)})})},l.prototype._buildKeyForwardingMessage=async function(e,t,n){const r=await this._olmDevice.getInboundGroupSessionKey(e,t,n);return{type:"m.forwarded_room_key",content:{algorithm:s.MEGOLM_ALGORITHM,room_id:e,sender_key:t,sender_claimed_ed25519_key:r.sender_claimed_ed25519_key,session_id:n,session_key:r.key,chain_index:r.chain_index,forwarding_curve25519_key_chain:r.forwarding_curve25519_key_chain}}},l.prototype.importRoomKey=function(e){return this._olmDevice.addInboundGroupSession(e.room_id,e.sender_key,e.forwarding_curve25519_key_chain,e.session_id,e.session_key,e.sender_claimed_keys,!0).then(()=>{this._crypto.backupInfo&&this._crypto.backupGroupSession(e.room_id,e.sender_key,e.forwarding_curve25519_key_chain,e.session_id,e.session_key,e.sender_claimed_keys,!0).catch(e=>{i.logger.log("Failed to back up megolm session",e)}),this._retryDecryption(e.sender_key,e.session_id)})},l.prototype._retryDecryption=async function(e,t){const n=this._pendingEvents[e];if(!n)return!0;const r=n.get(t);return!r||(r.delete(t),0===r.size&&this._pendingEvents[e],await Promise.all([...r].map(async e=>{try{await e.attemptDecryption(this._crypto)}catch(e){}})),!(this._pendingEvents[e]||{})[t])},l.prototype.retryDecryptionFromSender=async function(e){const t=this._pendingEvents[e];return i.logger.warn(t),!t||(delete this._pendingEvents[e],await Promise.all([...t].map(async([e,t])=>{await Promise.all([...t].map(async e=>{try{i.logger.warn(e.getId()),await e.attemptDecryption(this._crypto)}catch(e){}}))})),!this._pendingEvents[e])},(0,a.registerAlgorithm)(s.MEGOLM_ALGORITHM,u,l)},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.DeviceList=void 0;var i=n(9),o=n(4),s=n(51),a=n(139),c=r(n(21)),f=n(36),u=n(8);class l extends i.EventEmitter{constructor(e,t,n){super(),this._cryptoStore=t,this._devices={},this._crossSigningInfo={},this._userByIdentityKey={},this._deviceTrackingStatus={},this._syncToken=null,this._serialiser=new d(e,n,this),this._keyDownloadsInProgressByUser={},this._dirty=!1,this._savePromise=null,this._resolveSavePromise=null,this._savePromiseTime=null,this._saveTimer=null}async load(){await this._cryptoStore.doTxn("readonly",[f.IndexedDBCryptoStore.STORE_DEVICE_DATA],e=>{this._cryptoStore.getEndToEndDeviceData(e,e=>{this._devices=e?e.devices:{},this._crossSigningInfo=e&&e.crossSigningInfo||{},this._deviceTrackingStatus=e?e.trackingStatus:{},this._syncToken=e?e.syncToken:null,this._userByIdentityKey={};for(const e of Object.keys(this._devices)){const t=this._devices[e];for(const n of Object.keys(t)){const r=t[n].keys["curve25519:"+n];void 0!==r&&(this._userByIdentityKey[r]=e)}}})});for(const e of Object.keys(this._deviceTrackingStatus))2==this._deviceTrackingStatus[e]&&(this._deviceTrackingStatus[e]=1)}stop(){null!==this._saveTimer&&clearTimeout(this._saveTimer)}async saveIfDirty(e){if(!this._dirty)return Promise.resolve(!1);void 0===e&&(e=500);const t=Date.now+e;this._savePromiseTime&&t{this._resolveSavePromise=e}),this._savePromise=n),null===this._saveTimer){const n=this._resolveSavePromise;this._savePromiseTime=t,this._saveTimer=setTimeout(()=>{o.logger.log("Saving device tracking data at token "+this._syncToken),this._savePromiseTime=null,this._saveTimer=null,this._savePromise=null,this._resolveSavePromise=null,this._dirty=!1,this._cryptoStore.doTxn("readwrite",[f.IndexedDBCryptoStore.STORE_DEVICE_DATA],e=>{this._cryptoStore.storeEndToEndDeviceData({devices:this._devices,crossSigningInfo:this._crossSigningInfo,trackingStatus:this._deviceTrackingStatus,syncToken:this._syncToken},e)}).then(()=>{n()})},e)}return n}getSyncToken(){return this._syncToken}setSyncToken(e){this._syncToken=e}downloadKeys(e,t){const n=[],r=[];if(e.forEach(e=>{const i=this._deviceTrackingStatus[e];this._keyDownloadsInProgressByUser[e]?(o.logger.log("downloadKeys: already have a download in progress for "+`${e}: awaiting its result`),r.push(this._keyDownloadsInProgressByUser[e])):(t||3!=i)&&n.push(e)}),0!=n.length){o.logger.log("downloadKeys: downloading for",n);const e=this._doKeyDownload(n);r.push(e)}return 0===r.length&&o.logger.log("downloadKeys: already have all necessary keys"),Promise.all(r).then(()=>this._getDevicesFromStore(e))}_getDevicesFromStore(e){const t={},n=this;return e.map((function(e){t[e]={},(n.getStoredDevicesForUser(e)||[]).map((function(n){t[e][n.deviceId]=n}))})),t}getStoredDevicesForUser(e){const t=this._devices[e];if(!t)return null;const n=[];for(const e in t)t.hasOwnProperty(e)&&n.push(s.DeviceInfo.fromStorage(t[e],e));return n}getRawStoredDevicesForUser(e){return this._devices[e]}getStoredCrossSigningForUser(e){return this._crossSigningInfo[e]?a.CrossSigningInfo.fromStorage(this._crossSigningInfo[e],e):null}storeCrossSigningForUser(e,t){this._crossSigningInfo[e]=t,this._dirty=!0}getStoredDevice(e,t){const n=this._devices[e];if(n&&n[t])return s.DeviceInfo.fromStorage(n[t],t)}getDeviceByIdentityKey(e,t){const n=this._userByIdentityKey[t];if(!n)return null;if(e!==c.OLM_ALGORITHM&&e!==c.MEGOLM_ALGORITHM)return null;const r=this._devices[n];if(!r)return null;for(const e in r){if(!r.hasOwnProperty(e))continue;const n=r[e];for(const r in n.keys){if(!n.keys.hasOwnProperty(r))continue;if(0!==r.indexOf("curve25519:"))continue;if(n.keys[r]==t)return s.DeviceInfo.fromStorage(n,e)}}return null}storeDevicesForUser(e,t){if(void 0!==this._devices[e])for(const[t,n]of Object.entries(this._devices[e])){const e=n.keys["curve25519:"+t];delete this._userByIdentityKey[e]}this._devices[e]=t;for(const[n,r]of Object.entries(t)){const t=r.keys["curve25519:"+n];this._userByIdentityKey[t]=e}this._dirty=!0}startTrackingDeviceList(e){if("string"!=typeof e)throw new Error("userId must be a string; was "+e);this._deviceTrackingStatus[e]||(o.logger.log("Now tracking device list for "+e),this._deviceTrackingStatus[e]=1,this._dirty=!0)}stopTrackingDeviceList(e){this._deviceTrackingStatus[e]&&(o.logger.log("No longer tracking device list for "+e),this._deviceTrackingStatus[e]=0,this._dirty=!0)}stopTrackingAllDeviceLists(){for(const e of Object.keys(this._deviceTrackingStatus))this._deviceTrackingStatus[e]=0;this._dirty=!0}invalidateUserDeviceList(e){this._deviceTrackingStatus[e]&&(o.logger.log("Marking device list outdated for",e),this._deviceTrackingStatus[e]=1,this._dirty=!0)}refreshOutdatedDeviceLists(){this.saveIfDirty();const e=[];for(const t of Object.keys(this._deviceTrackingStatus)){1==this._deviceTrackingStatus[t]&&e.push(t)}return this._doKeyDownload(e)}_setRawStoredDevicesForUser(e,t){if(void 0!==this._devices[e])for(const[t,n]of Object.entries(this._devices[e])){const e=n.keys["curve25519:"+t];delete this._userByIdentityKey[e]}this._devices[e]=t;for(const[n,r]of Object.entries(t)){const t=r.keys["curve25519:"+n];this._userByIdentityKey[t]=e}}setRawStoredCrossSigningForUser(e,t){this._crossSigningInfo[e]=t}_doKeyDownload(e){if(0===e.length)return Promise.resolve();const t=this._serialiser.updateDevicesForUsers(e,this._syncToken).then(()=>{n(!0)},t=>{throw o.logger.error("Error downloading keys for "+e+":",t),n(!1),t});e.forEach(e=>{this._keyDownloadsInProgressByUser[e]=t,1==this._deviceTrackingStatus[e]&&(this._deviceTrackingStatus[e]=2)});const n=n=>{e.forEach(e=>{if(this._dirty=!0,this._keyDownloadsInProgressByUser[e]!==t)return void o.logger.log("Another update in the queue for",e,"- not marking up-to-date");delete this._keyDownloadsInProgressByUser[e],2==this._deviceTrackingStatus[e]&&(n?(this._deviceTrackingStatus[e]=3,o.logger.log("Device list for",e,"now up to date")):this._deviceTrackingStatus[e]=1)}),this.saveIfDirty(),this.emit("crypto.devicesUpdated",e)};return t}}t.DeviceList=l;class d{constructor(e,t,n){this._baseApis=e,this._olmDevice=t,this._deviceList=n,this._downloadInProgress=!1,this._keyDownloadsQueuedByUser={},this._queuedQueryDeferred=null,this._syncToken=null}updateDevicesForUsers(e,t){return e.forEach(e=>{this._keyDownloadsQueuedByUser[e]=!0}),this._queuedQueryDeferred||(this._queuedQueryDeferred=(0,u.defer)()),this._syncToken=t,this._downloadInProgress?(o.logger.log("Queued key download for",e),this._queuedQueryDeferred.promise):this._doQueuedQueries()}_doQueuedQueries(){if(this._downloadInProgress)throw new Error("DeviceListUpdateSerialiser._doQueuedQueries called with request active");const e=Object.keys(this._keyDownloadsQueuedByUser);this._keyDownloadsQueuedByUser={};const t=this._queuedQueryDeferred;this._queuedQueryDeferred=null,o.logger.log("Starting key download for",e),this._downloadInProgress=!0;const n={};return this._syncToken&&(n.token=this._syncToken),this._baseApis.downloadKeysForUsers(e,n).then(t=>{const n=t.device_keys||{},r=t.master_keys||{},i=t.self_signing_keys||{},o=t.user_signing_keys||{};let s=Promise.resolve();for(const t of e)s=s.then((0,u.sleep)(5)).then(()=>this._processQueryResponseForUser(t,n[t],{master:r[t],self_signing:i[t],user_signing:o[t]}));return s}).then(()=>{o.logger.log("Completed key download for "+e),this._downloadInProgress=!1,t.resolve(),this._queuedQueryDeferred&&this._doQueuedQueries()},n=>{o.logger.warn("Error downloading keys for "+e+":",n),this._downloadInProgress=!1,t.reject(n)}),t.promise}async _processQueryResponseForUser(e,t,n,r){o.logger.log("got device keys for "+e+":",t),o.logger.log("got cross-signing keys for "+e+":",n);{const n={},r=this._deviceList.getRawStoredDevicesForUser(e);r&&Object.keys(r).forEach(e=>{const t=s.DeviceInfo.fromStorage(r[e],e);n[e]=t}),await async function(e,t,n,r){let i=!1;for(const e in n)n.hasOwnProperty(e)&&(e in r||(o.logger.log("Device "+t+":"+e+" has been removed"),delete n[e],i=!0));for(const s in r){if(!r.hasOwnProperty(s))continue;const a=r[s];a.user_id===t?a.device_id===s?await h(e,n,a)&&(i=!0):o.logger.warn("Mismatched device_id "+a.device_id+" in keys from "+t+":"+s):o.logger.warn("Mismatched user_id "+a.user_id+" in keys from "+t+":"+s)}return i}(this._olmDevice,e,n,t||{});const i={};Object.keys(n).forEach(e=>{i[e]=n[e].toStorage()}),this._deviceList._setRawStoredDevicesForUser(e,i)}if(n&&(n.master||n.self_signing||n.user_signing)){const t=this._deviceList.getStoredCrossSigningForUser(e)||new a.CrossSigningInfo(e);t.setKeys(n),this._deviceList.setRawStoredCrossSigningForUser(e,t.toStorage()),this._deviceList.emit("userCrossSigningUpdated",e)}}}async function h(e,t,n){if(!n.keys)return!1;const r=n.device_id,i=n.user_id,a="ed25519:"+r,f=n.keys[a];if(!f)return o.logger.warn("Device "+i+":"+r+" has no ed25519 key"),!1;const u=n.unsigned||{},l=n.signatures||{};try{await c.verifySignature(e,n,i,r,f)}catch(e){return o.logger.warn("Unable to verify signature on device "+i+":"+r+":"+e),!1}let d;if(r in t){if(d=t[r],d.getFingerprint()!=f)return o.logger.warn("Ed25519 key for device "+i+":"+r+" has changed"),!1}else t[r]=d=new s.DeviceInfo(r);return d.keys=n.keys||{},d.algorithms=n.algorithms||[],d.unsigned=u,d.signatures=l,!0}},function(e,t,n){"use strict";(function(e){var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.SecretStorage=t.SECRET_STORAGE_ALGORITHM_V1=void 0;var i=n(9),o=n(4),s=r(n(21)),a=n(52);const c="m.secret_storage.v1.curve25519-aes-sha2";t.SECRET_STORAGE_ALGORITHM_V1=c;class f extends i.EventEmitter{constructor(e,t,n){super(),this._baseApis=e,this._cryptoCallbacks=t,this._crossSigningInfo=n,this._requests={},this._incomingRequests={}}async getDefaultKeyId(){const e=await this._baseApis.getAccountDataFromServer("m.secret_storage.default_key");return e?e.key:null}setDefaultKeyId(e){return new Promise(t=>{const n=r=>{"m.secret_storage.default_key"===r.getType()&&r.getContent().key===e&&(this._baseApis.removeListener("accountData",n),t())};this._baseApis.on("accountData",n),this._baseApis.setAccountData("m.secret_storage.default_key",{key:e})})}async addKey(t,n,r){const i={algorithm:t};switch(n||(n={}),n.name&&(i.name=n.name),t){case c:{const t=new e.Olm.PkDecryption;try{const{passphrase:e,pubkey:r}=n;e&&r?(i.passphrase=e,i.pubkey=r):i.pubkey=r||t.generate_key()}finally{t.free()}break}default:throw new Error(`Unknown key algorithm ${n.algorithm}`)}if(!r)do{r=(0,a.randomString)(32)}while(await this._baseApis.getAccountDataFromServer(`m.secret_storage.key.${r}`));return await this._crossSigningInfo.signObject(i,"master"),await this._baseApis.setAccountData(`m.secret_storage.key.${r}`,i),r}async signKey(e){if(e||(e=await this.getDefaultKeyId()),!e)throw new Error("signKey requires a key ID");const t=await this._baseApis.getAccountDataFromServer(`m.secret_storage.key.${e}`);if(!t)throw new Error(`Key ${e} does not exist in account data`);await this._crossSigningInfo.signObject(t,"master"),await this._baseApis.setAccountData(`m.secret_storage.key.${e}`,t)}async hasKey(e){return e||(e=await this.getDefaultKeyId()),!!e&&!!this._baseApis.getAccountDataFromServer("m.secret_storage.key."+e)}async store(t,n,r){const i={};if(!r){const e=await this.getDefaultKeyId();if(!e)throw new Error("No keys specified and no default key present");r=[e]}if(0===r.length)throw new Error("Zero keys given to encrypt with!");for(const t of r){const r=await this._baseApis.getAccountDataFromServer("m.secret_storage.key."+t);if(!r)throw new Error("Unknown key: "+t);switch((0,s.pkVerify)(r,this._crossSigningInfo.getId("master"),this._crossSigningInfo.userId),r.algorithm){case c:{const o=new e.Olm.PkEncryption;try{o.set_recipient_key(r.pubkey),i[t]=o.encrypt(n)}finally{o.free()}break}default:o.logger.warn("unknown algorithm for secret storage key "+t+": "+r.algorithm)}}await this._baseApis.setAccountData(t,{encrypted:i})}storePassthrough(e,t){return this._baseApis.setAccountData(e,{[t]:{passthrough:!0}})}async get(e){const t=await this._baseApis.getAccountDataFromServer(e);if(!t)return;if(!t.encrypted)throw new Error("Content is not encrypted!");const n={};for(const e of Object.keys(t.encrypted)){const r=await this._baseApis.getAccountDataFromServer("m.secret_storage.key."+e),i=t.encrypted[e];switch(r.algorithm){case c:r.pubkey&&i.ciphertext&&i.mac&&i.ephemeral&&(n[e]=r)}}let r,i;try{[r,i]=await this._getSecretStorageKey(n);const e=t.encrypted[r];if(e.passthrough)return i.get_private_key();switch(n[r].algorithm){case c:return i.decrypt(e.ephemeral,e.mac,e.ciphertext)}}finally{i&&i.free()}}async isStored(e,t){const n=await this._baseApis.getAccountDataFromServer(e);if(!n||!n.encrypted)return!1;void 0===t&&(t=!0);for(const e of Object.keys(n.encrypted)){const r=await this._baseApis.getAccountDataFromServer("m.secret_storage.key."+e);if(!r)return!1;const i=n.encrypted[e];switch(t&&(0,s.pkVerify)(r,this._crossSigningInfo.getId("master"),this._crossSigningInfo.userId),r.algorithm){case c:if(r.pubkey&&i.ciphertext&&i.mac&&i.ephemeral)return!0}}return!1}request(e,t){const n=this._baseApis.makeTxnId(),r=this._requests[n]={devices:t},i=new Promise((e,t)=>{r.resolve=e,r.reject=t}),o={name:e,action:"request",requesting_device_id:this._baseApis.deviceId,request_id:n},s={};for(const e of t)s[e]=o;return this._baseApis.sendToDevice("m.secret.request",{[this._baseApis.getUserId()]:s}),{request_id:n,promise:i,cancel:e=>{const i={action:"request_cancellation",requesting_device_id:this._baseApis.deviceId,request_id:n},o={};for(const e of t)o[e]=i;this._baseApis.sendToDevice("m.secret.request",{[this._baseApis.getUserId()]:o}),r.reject(new Error(e||"Cancelled"))}}}async _onRequestReceived(e){const t=e.getSender(),n=e.getContent();if(t!==this._baseApis.getUserId()||!(n.name&&n.action&&n.requesting_device_id&&n.request_id))return;const r=n.requesting_device_id;if("request_cancellation"===n.action)this._incomingRequests[r]&&this._incomingRequests[r][n.request_id]&&(o.logger.info("received request cancellation for secret ("+t+", "+r+", "+n.request_id+")"),this.baseApis.emit("crypto.secrets.requestCancelled",{user_id:t,device_id:r,request_id:n.request_id}));else if("request"===n.action){if(r===this._baseApis.deviceId)return;if(o.logger.info("received request for secret ("+t+", "+r+", "+n.request_id+")"),!this._cryptoCallbacks.onSecretRequested)return;const e=await this._cryptoCallbacks.onSecretRequested({user_id:t,device_id:r,request_id:n.request_id,name:n.name,device_trust:this._baseApis.checkDeviceTrust(t,r)});if(e){const i={type:"m.secret.send",content:{request_id:n.request_id,secret:e}},o={algorithm:s.OLM_ALGORITHM,sender_key:this._baseApis._crypto._olmDevice.deviceCurve25519Key,ciphertext:{}};await s.ensureOlmSessionsForDevices(this._baseApis._crypto._olmDevice,this._baseApis,{[t]:[await this._baseApis.getStoredDevice(t,r)]}),await s.encryptMessageForDevice(o.ciphertext,this._baseApis.getUserId(),this._baseApis.deviceId,this._baseApis._crypto._olmDevice,t,this._baseApis._crypto.getStoredDevice(t,r),i);const a={[t]:{[r]:o}};this._baseApis.sendToDevice("m.room.encrypted",a)}}}_onSecretReceived(e){if(e.getSender()!==this._baseApis.getUserId())return;const t=e.getContent();o.logger.log("got secret share for request ",t.request_id);const n=this._requests[t.request_id];if(n){const r=this._baseApis._crypto._deviceList.getDeviceByIdentityKey(s.OLM_ALGORITHM,e.getSenderKey());if(!r)return void o.logger.log("secret share from unknown device with key",e.getSenderKey());if(!n.devices.includes(r.deviceId))return void o.logger.log("unsolicited secret share from device",r.deviceId);n.resolve(t.secret)}}async _getSecretStorageKey(t){if(!this._cryptoCallbacks.getSecretStorageKey)throw new Error("No getSecretStorageKey callback supplied");const n=await this._cryptoCallbacks.getSecretStorageKey({keys:t});if(!n)throw new Error("getSecretStorageKey callback returned falsey");if(n.length<2)throw new Error("getSecretStorageKey callback returned invalid data");const[r,i]=n;if(!t[r])throw new Error("App returned unknown key from getSecretStorageKey!");switch(t[r].algorithm){case c:{const n=new e.Olm.PkDecryption;let o;try{o=n.init_with_private_key(i)}catch(e){throw n.free(),new Error("getSecretStorageKey callback returned invalid key")}if(o!==t[r].pubkey)throw n.free(),new Error("getSecretStorageKey callback returned incorrect key");return[r,n]}default:throw new Error("Unknown key type: "+t[r].algorithm)}}}t.SecretStorage=f}).call(this,n(5))},function(e,t,n){"use strict";(function(e){var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.OutgoingRoomKeyRequestManager=void 0;var i=n(4),o=r(n(8));const s=0,a=1,c=2,f=3;function u(e){return e.room_id+" / "+e.session_id}function l(e){return"["+o.map(e,e=>`${e.userId}:${e.deviceId}`).join(",")+"]"}t.OutgoingRoomKeyRequestManager=class{constructor(e,t,n){this._baseApis=e,this._deviceId=t,this._cryptoStore=n,this._sendOutgoingRoomKeyRequestsTimer=null,this._sendOutgoingRoomKeyRequestsRunning=!1,this._clientRunning=!1}start(){this._clientRunning=!0,this._startTimer()}stop(){i.logger.log("stopping OutgoingRoomKeyRequestManager"),this._clientRunning=!1}async sendRoomKeyRequest(e,t,n=!1){const r=await this._cryptoStore.getOutgoingRoomKeyRequest(e);if(r)switch(r.state){case f:case s:return;case c:{const e=n?f:a;await this._cryptoStore.updateOutgoingRoomKeyRequest(r.requestId,c,{state:e,cancellationTxnId:this._baseApis.makeTxnId()});break}case a:if(n){const o=f,s=await this._cryptoStore.updateOutgoingRoomKeyRequest(r.requestId,a,{state:o,cancellationTxnId:this._baseApis.makeTxnId(),requestTxnId:this._baseApis.makeTxnId()});if(!s)return await this.sendRoomKeyRequest(e,t,n);try{await this._sendOutgoingRoomKeyRequestCancellation(s,!0)}catch(e){i.logger.error("Error sending room key request cancellation; will retry later.",e)}}break;default:throw new Error("unhandled state: "+r.state)}else await this._cryptoStore.getOrAddOutgoingRoomKeyRequest({requestBody:e,recipients:t,requestId:this._baseApis.makeTxnId(),state:s});this._startTimer()}cancelRoomKeyRequest(e){return this._cryptoStore.getOutgoingRoomKeyRequest(e).then(t=>{if(t)switch(t.state){case c:case f:return;case s:return i.logger.log("deleting unnecessary room key request for "+u(e)),this._cryptoStore.deleteOutgoingRoomKeyRequest(t.requestId,s);case a:return this._cryptoStore.updateOutgoingRoomKeyRequest(t.requestId,a,{state:c,cancellationTxnId:this._baseApis.makeTxnId()}).then(t=>{t?this._sendOutgoingRoomKeyRequestCancellation(t).catch(e=>{i.logger.error("Error sending room key request cancellation; will retry later.",e),this._startTimer()}):i.logger.log("Tried to cancel room key request for "+u(e)+" but it was already cancelled in another tab")});default:throw new Error("unhandled state: "+t.state)}})}getOutgoingSentRoomKeyRequest(e,t){return this._cryptoStore.getOutgoingRoomKeyRequestsByTarget(e,t,[a])}_startTimer(){if(this._sendOutgoingRoomKeyRequestsTimer)return;this._sendOutgoingRoomKeyRequestsTimer=e.setTimeout(()=>{if(this._sendOutgoingRoomKeyRequestsRunning)throw new Error("RoomKeyRequestSend already in progress!");this._sendOutgoingRoomKeyRequestsRunning=!0,this._sendOutgoingRoomKeyRequests().finally(()=>{this._sendOutgoingRoomKeyRequestsRunning=!1}).catch(e=>{i.logger.warn(`error in OutgoingRoomKeyRequestManager: ${e}`)})},500)}_sendOutgoingRoomKeyRequests(){return this._clientRunning?(i.logger.log("Looking for queued outgoing room key requests"),this._cryptoStore.getOutgoingRoomKeyRequestByState([c,f,s]).then(e=>{if(!e)return i.logger.log("No more outgoing room key requests"),void(this._sendOutgoingRoomKeyRequestsTimer=null);let t;switch(e.state){case s:t=this._sendOutgoingRoomKeyRequest(e);break;case c:t=this._sendOutgoingRoomKeyRequestCancellation(e);break;case f:t=this._sendOutgoingRoomKeyRequestCancellation(e,!0)}return t.then(()=>this._sendOutgoingRoomKeyRequests()).catch(e=>{i.logger.error("Error sending room key request; will retry later.",e),this._sendOutgoingRoomKeyRequestsTimer=null,this._startTimer()})})):(this._sendOutgoingRoomKeyRequestsTimer=null,Promise.resolve())}_sendOutgoingRoomKeyRequest(e){i.logger.log(`Requesting keys for ${u(e.requestBody)}`+` from ${l(e.recipients)}`+`(id ${e.requestId})`);const t={action:"request",requesting_device_id:this._deviceId,request_id:e.requestId,body:e.requestBody};return this._sendMessageToDevices(t,e.recipients,e.requestTxnId||e.requestId).then(()=>this._cryptoStore.updateOutgoingRoomKeyRequest(e.requestId,s,{state:a}))}_sendOutgoingRoomKeyRequestCancellation(e,t){i.logger.log("Sending cancellation for key request for "+`${u(e.requestBody)} to `+`${l(e.recipients)} `+`(cancellation id ${e.cancellationTxnId})`);const n={action:"request_cancellation",requesting_device_id:this._deviceId,request_id:e.requestId};return this._sendMessageToDevices(n,e.recipients,e.cancellationTxnId).then(()=>t?this._cryptoStore.updateOutgoingRoomKeyRequest(e.requestId,f,{state:s}):this._cryptoStore.deleteOutgoingRoomKeyRequest(e.requestId,c))}_sendMessageToDevices(e,t,n){const r={};for(const n of t)r[n.userId]||(r[n.userId]={}),r[n.userId][n.deviceId]=e;return this._baseApis.sendToDevice("m.room_key_request",r,n)}}}).call(this,n(5))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ScanQRCode=t.ShowQRCode=void 0;var r=n(140),i=n(37);const o=/^(?:https?:\/\/)?(?:www\.)?matrix\.to\/#\/([#@!+][^?]+)\?(.+)$/,s=/^key_([^:]+:.+)$/,a=(0,i.errorFactory)("m.qr_code.invalid","Invalid QR code");class c extends r.VerificationBase{_doVerification(){if(!this._done){const e="https://matrix.to/#/"+this._baseApis.getUserId()+"?device="+encodeURIComponent(this._baseApis.deviceId)+"&action=verify&key_ed25519%3A"+encodeURIComponent(this._baseApis.deviceId)+"="+encodeURIComponent(this._baseApis.getDeviceEd25519Key());this.emit("show_qr_code",{url:e})}}}t.ShowQRCode=c,c.NAME="m.qr_code.show.v1";class f extends r.VerificationBase{static factory(...e){return new f(...e)}async _doVerification(){const e=(await new Promise((e,t)=>{this.emit("scan",{done:e,cancel:()=>t((0,i.newUserCancelledError)())})})).match(o);let t;const n={};if(!e)throw a();const r=e[1],c=e[2].split("&").map(e=>e.split("=",2).map(decodeURIComponent));let f;for(const[e,r]of c)if("device"===e)t=r;else if("action"===e)f=r;else{const t=e.match(s);t&&(n[t[1]]=r)}if(!t||"verify"!==f||0===Object.keys(n).length)throw a();if(this.userId){if(this.userId!==r)throw(0,i.newUserMismatchError)({expected:this.userId,actual:r})}else await new Promise((e,t)=>{this.emit("confirm_user_id",{userId:r,confirm:e,cancel:()=>t((0,i.newUserMismatchError)())})});await this._verifyKeys(r,n,(e,t,n)=>{if(t.keys[e]!==n)throw(0,i.newKeyMismatchError)()})}}t.ScanQRCode=f,f.NAME="m.qr_code.scan.v1"},function(e,t,n){"use strict";(function(e){var r=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.SAS=void 0;var i=n(140),o=r(n(80)),s=n(37);const a=["m.key.verification.accept","m.key.verification.key","m.key.verification.mac"];let c;const f=(0,s.errorFactory)("m.mismatched_sas","Mismatched short authentication string"),u=(0,s.errorFactory)("m.mismatched_commitment","Mismatched commitment");const l=[["🐶","dog"],["🐱","cat"],["🦁","lion"],["🐎","horse"],["🦄","unicorn"],["🐷","pig"],["🐘","elephant"],["🐰","rabbit"],["🐼","panda"],["🐓","rooster"],["🐧","penguin"],["🐢","turtle"],["🐟","fish"],["🐙","octopus"],["🦋","butterfly"],["🌷","flower"],["🌳","tree"],["🌵","cactus"],["🍄","mushroom"],["🌏","globe"],["🌙","moon"],["☁️","cloud"],["🔥","fire"],["🍌","banana"],["🍎","apple"],["🍓","strawberry"],["🌽","corn"],["🍕","pizza"],["🎂","cake"],["❤️","heart"],["🙂","smiley"],["🤖","robot"],["🎩","hat"],["👓","glasses"],["🔧","spanner"],["🎅","santa"],["👍","thumbs up"],["☂️","umbrella"],["⌛","hourglass"],["⏰","clock"],["🎁","gift"],["💡","light bulb"],["📕","book"],["✏️","pencil"],["📎","paperclip"],["✂️","scissors"],["🔒","lock"],["🔑","key"],["🔨","hammer"],["☎️","telephone"],["🏁","flag"],["🚂","train"],["🚲","bicycle"],["✈️","aeroplane"],["🚀","rocket"],["🏆","trophy"],["⚽","ball"],["🎸","guitar"],["🎺","trumpet"],["🔔","bell"],["⚓️","anchor"],["🎧","headphones"],["📁","folder"],["📌","pin"]];const d={decimal:function(e){return[1e3+(e[0]<<5|e[1]>>3),1e3+((7&e[1])<<10|e[2]<<2|e[3]>>6),1e3+((63&e[3])<<7|e[4]>>1)]},emoji:function(e){return[e[0]>>2,(3&e[0])<<4|e[1]>>4,(15&e[1])<<2|e[2]>>6,63&e[2],e[3]>>2,(3&e[3])<<4|e[4]>>4,(15&e[4])<<2|e[5]>>6].map(e=>l[e])}};function h(e,t){const n={};for(const r of t)r in d&&(n[r]=d[r](e));return n}const p={"hkdf-hmac-sha256":"calculate_mac","hmac-sha256":"calculate_mac_long_kdf"},m=["curve25519"],g=["sha256"],y=["hkdf-hmac-sha256","hmac-sha256"],b=Object.keys(d),_=new Set(m),v=new Set(g),A=new Set(y),w=new Set(b);function E(e,t){return e instanceof Array?e.filter(e=>t.has(e)):[]}class k extends i.VerificationBase{static get NAME(){return"m.sas.v1"}get events(){return a}async _doVerification(){return await e.Olm.init(),c=c||new e.Olm.Utility,await this._baseApis.downloadKeys([this.userId]),this.startEvent?await this._doRespondVerification():await this._doSendVerification()}async _doSendVerification(){const t="m.key.verification.start",n=this._channel.completeContent(t,{method:k.NAME,from_device:this._baseApis.deviceId,key_agreement_protocols:m,hashes:g,message_authentication_codes:y,short_authentication_string:b});this._channel.sendCompleted(t,n);let r=await this._waitForEvent("m.key.verification.accept"),i=r.getContent();const a=E(i.short_authentication_string,w);if(!(_.has(i.key_agreement_protocol)&&v.has(i.hash)&&A.has(i.message_authentication_code)&&a.length))throw(0,s.newUnknownMethodError)();if("string"!=typeof i.commitment)throw(0,s.newInvalidMessageError)();const l=i.message_authentication_code,d=i.commitment,p=new e.Olm.SAS;try{this._send("m.key.verification.key",{key:p.get_pubkey()}),r=await this._waitForEvent("m.key.verification.key"),i=r.getContent();const e=i.key+o.default.stringify(n);if(c.sha256(e)!==d)throw u();p.set_their_key(i.key);const t="MATRIX_KEY_VERIFICATION_SAS"+this._baseApis.getUserId()+this._baseApis.deviceId+this.userId+this.deviceId+this._channel.transactionId,m=p.generate_bytes(t,6),g=new Promise((e,t)=>{this.emit("show_sas",{sas:h(m,a),confirm:()=>{this._sendMAC(p,l),e()},cancel:()=>t((0,s.newUserCancelledError)()),mismatch:()=>t(f())})});[r]=await Promise.all([this._waitForEvent("m.key.verification.mac").then(e=>(this._expectedEvent="m.key.verification.done",e)),g]),i=r.getContent(),await this._checkMAC(p,i,l)}finally{p.free()}}async _doRespondVerification(){let t=this._channel.completedContentFromEvent(this.startEvent);const n=E(m,new Set(t.key_agreement_protocols))[0],r=E(g,new Set(t.hashes))[0],i=E(y,new Set(t.message_authentication_codes))[0],a=E(t.short_authentication_string,w);if(void 0===n||void 0===r||void 0===i||!a.length)throw(0,s.newUnknownMethodError)();const u=new e.Olm.SAS;try{const e=u.get_pubkey()+o.default.stringify(t);this._send("m.key.verification.accept",{key_agreement_protocol:n,hash:r,message_authentication_code:i,short_authentication_string:a,commitment:c.sha256(e)});let l=await this._waitForEvent("m.key.verification.key");t=l.getContent(),u.set_their_key(t.key),this._send("m.key.verification.key",{key:u.get_pubkey()});const d="MATRIX_KEY_VERIFICATION_SAS"+this.userId+this.deviceId+this._baseApis.getUserId()+this._baseApis.deviceId+this._channel.transactionId,p=u.generate_bytes(d,6),m=new Promise((e,t)=>{this.emit("show_sas",{sas:h(p,a),confirm:()=>{this._sendMAC(u,i),e()},cancel:()=>t((0,s.newUserCancelledError)()),mismatch:()=>t(f())})});[l]=await Promise.all([this._waitForEvent("m.key.verification.mac").then(e=>(this._expectedEvent="m.key.verification.done",e)),m]),t=l.getContent(),await this._checkMAC(u,t,i)}finally{u.free()}}_sendMAC(e,t){const n={},r=[],i="MATRIX_KEY_VERIFICATION_MAC"+this._baseApis.getUserId()+this._baseApis.deviceId+this.userId+this.deviceId+this._channel.transactionId,o=`ed25519:${this._baseApis.deviceId}`;n[o]=e[p[t]](this._baseApis.getDeviceEd25519Key(),i+o),r.push(o);const s=this._baseApis.getCrossSigningId();if(s){const o=`ed25519:${s}`;n[o]=e[p[t]](s,i+o),r.push(o)}const a=e[p[t]](r.sort().join(","),i+"KEY_IDS");this._send("m.key.verification.mac",{mac:n,keys:a})}async _checkMAC(e,t,n){const r="MATRIX_KEY_VERIFICATION_MAC"+this.userId+this.deviceId+this._baseApis.getUserId()+this._baseApis.deviceId+this._channel.transactionId;if(t.keys!==e[p[n]](Object.keys(t.mac).sort().join(","),r+"KEY_IDS"))throw(0,s.newKeyMismatchError)();await this._verifyKeys(this.userId,t.mac,(t,i,o)=>{if(o!==e[p[n]](i.keys[t],r+t))throw(0,s.newKeyMismatchError)()})}}t.SAS=k}).call(this,n(5))},function(e,t,n){var r=n(297);e.exports=r("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},function(e,t,n){"use strict";var r=n(3).Buffer;e.exports=function(e){if(e.length>=255)throw new TypeError("Alphabet too long");var t=new Uint8Array(256);t.fill(255);for(var n=0;n>>0,u=new Uint8Array(f);e[n];){var l=t[e.charCodeAt(n)];if(255===l)return;for(var d=0,h=f-1;(0!==l||d>>0,u[h]=l%256>>>0,l=l/256>>>0;if(0!==l)throw new Error("Non-zero carry");o=d,n++}if(" "!==e[n]){for(var p=f-o;p!==f&&0===u[p];)p++;var m=r.allocUnsafe(i+(f-p));m.fill(0,0,i);for(var g=i;p!==f;)m[g++]=u[p++];return m}}}return{encode:function(t){if(!r.isBuffer(t))throw new TypeError("Expected Buffer");if(0===t.length)return"";for(var n=0,i=0,o=0,c=t.length;o!==c&&0===t[o];)o++,n++;for(var u=(c-o)*f+1>>>0,l=new Uint8Array(u);o!==c;){for(var d=t[o],h=0,p=u-1;(0!==d||h>>0,l[p]=d%s>>>0,d=d/s>>>0;if(0!==d)throw new Error("Non-zero carry");i=h,o++}for(var m=u-i;m!==u&&0===l[m];)m++;for(var g=a.repeat(n);me!==this._deviceId);if(e.length){const t=this.completeContent({code:"m.accepted",reason:"Verification request accepted by another device"});await this._sendToDevices(o.CANCEL_TYPE,t,e)}}}completedContentFromEvent(e){return e.getContent()}completeContent(e,t){return t=Object.assign({},t),this.transactionId&&(t.transaction_id=this.transactionId),e!==o.REQUEST_TYPE&&e!==o.START_TYPE||(t.from_device=this._client.getDeviceId()),e===o.REQUEST_TYPE&&(t.timestamp=Date.now()),t}send(e,t={}){e!==o.REQUEST_TYPE&&e!==o.START_TYPE||this.transactionId||(this.transactionId=a.makeTransactionId());const n=this.completeContent(e,t);return this.sendCompleted(e,n)}sendCompleted(e,t){return e===o.REQUEST_TYPE?this._sendToDevices(e,t,this._devices):this._sendToDevices(e,t,[this._deviceId])}_sendToDevices(e,t,n){if(n.length){const r={};for(const e of n)r[e]=t;return this._client.sendToDevice(e,{[this._userId]:r})}return Promise.resolve()}static makeTransactionId(){return(0,r.randomString)(32)}}t.ToDeviceChannel=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AutoDiscovery=void 0;var r=n(4),i=n(74);class o{static get ERROR_INVALID(){return"Invalid homeserver discovery response"}static get ERROR_GENERIC_FAILURE(){return"Failed to get autodiscovery configuration from server"}static get ERROR_INVALID_HS_BASE_URL(){return"Invalid base_url for m.homeserver"}static get ERROR_INVALID_HOMESERVER(){return"Homeserver URL does not appear to be a valid Matrix homeserver"}static get ERROR_INVALID_IS_BASE_URL(){return"Invalid base_url for m.identity_server"}static get ERROR_INVALID_IDENTITY_SERVER(){return"Identity server URL does not appear to be a valid identity server"}static get ERROR_INVALID_IS(){return"Invalid identity server discovery response"}static get ERROR_MISSING_WELLKNOWN(){return"No .well-known JSON file found"}static get ERROR_INVALID_JSON(){return"Invalid JSON"}static get ALL_ERRORS(){return[o.ERROR_INVALID,o.ERROR_GENERIC_FAILURE,o.ERROR_INVALID_HS_BASE_URL,o.ERROR_INVALID_HOMESERVER,o.ERROR_INVALID_IS_BASE_URL,o.ERROR_INVALID_IDENTITY_SERVER,o.ERROR_INVALID_IS,o.ERROR_MISSING_WELLKNOWN,o.ERROR_INVALID_JSON]}static get FAIL_ERROR(){return"FAIL_ERROR"}static get FAIL_PROMPT(){return"FAIL_PROMPT"}static get PROMPT(){return"PROMPT"}static get SUCCESS(){return"SUCCESS"}static async fromDiscoveryConfig(e){const t={"m.homeserver":{state:o.FAIL_ERROR,error:o.ERROR_INVALID,base_url:null},"m.identity_server":{state:o.PROMPT,error:null,base_url:null}};if(!e||!e["m.homeserver"])return r.logger.error("No m.homeserver key in config"),t["m.homeserver"].state=o.FAIL_PROMPT,t["m.homeserver"].error=o.ERROR_INVALID,Promise.resolve(t);if(!e["m.homeserver"].base_url)return r.logger.error("No m.homeserver base_url in config"),t["m.homeserver"].state=o.FAIL_PROMPT,t["m.homeserver"].error=o.ERROR_INVALID_HS_BASE_URL,Promise.resolve(t);const n=this._sanitizeWellKnownUrl(e["m.homeserver"].base_url);if(!n)return r.logger.error("Invalid base_url for m.homeserver"),t["m.homeserver"].error=o.ERROR_INVALID_HS_BASE_URL,Promise.resolve(t);const i=await this._fetchWellKnownObject(`${n}/_matrix/client/versions`);if(!i||!i.raw.versions)return r.logger.error("Invalid /versions response"),t["m.homeserver"].error=o.ERROR_INVALID_HOMESERVER,t["m.homeserver"].base_url=n,Promise.resolve(t);t["m.homeserver"]={state:o.SUCCESS,error:null,base_url:n};let s="";if(e["m.identity_server"]){const n={"m.homeserver":t["m.homeserver"],"m.identity_server":{state:o.FAIL_PROMPT,error:o.ERROR_INVALID_IS,base_url:null}};if(s=this._sanitizeWellKnownUrl(e["m.identity_server"].base_url),!s)return r.logger.error("Invalid base_url for m.identity_server"),n["m.identity_server"].error=o.ERROR_INVALID_IS_BASE_URL,Promise.resolve(n);const i=await this._fetchWellKnownObject(`${s}/_matrix/identity/api/v1`);if(!i||!i.raw||"SUCCESS"!==i.action)return r.logger.error("Invalid /api/v1 response"),n["m.identity_server"].error=o.ERROR_INVALID_IDENTITY_SERVER,n["m.identity_server"].base_url=s,Promise.resolve(n)}return s&&s.length>0&&(t["m.identity_server"]={state:o.SUCCESS,error:null,base_url:s}),Object.keys(e).map(n=>{if("m.homeserver"===n||"m.identity_server"===n){const r=["error","state","base_url"];for(const i of Object.keys(e[n]))r.includes(i)||(t[n][i]=e[n][i])}else t[n]=e[n]}),Promise.resolve(t)}static async findClientConfig(e){if(!e||"string"!=typeof e||0===e.length)throw new Error("'domain' must be a string of non-zero length");const t={"m.homeserver":{state:o.FAIL_ERROR,error:o.ERROR_INVALID,base_url:null},"m.identity_server":{state:o.PROMPT,error:null,base_url:null}},n=await this._fetchWellKnownObject(`https://${e}/.well-known/matrix/client`);return n&&"SUCCESS"===n.action?o.fromDiscoveryConfig(n.raw):(r.logger.error("No response or error when parsing .well-known"),n.reason&&r.logger.error(n.reason),"IGNORE"===n.action?t["m.homeserver"]={state:o.PROMPT,error:null,base_url:null}:(t["m.homeserver"].state=o.FAIL_PROMPT,t["m.homeserver"].error=o.ERROR_INVALID),Promise.resolve(t))}static async getRawClientConfig(e){if(!e||"string"!=typeof e||0===e.length)throw new Error("'domain' must be a string of non-zero length");const t=await this._fetchWellKnownObject(`https://${e}/.well-known/matrix/client`);return t&&t.raw||{}}static _sanitizeWellKnownUrl(e){if(!e)return!1;try{let t=null;try{t=i.URL?new i.URL(e):new URL(e)}catch(n){t=new URL(e)}if(!t||!t.hostname)return!1;if("http:"!==t.protocol&&"https:"!==t.protocol)return!1;const n=t.port?`:${t.port}`:"",r=t.pathname?t.pathname:"";let o=`${t.protocol}//${t.hostname}${n}${r}`;return o.endsWith("/")&&(o=o.substring(0,o.length-1)),o}catch(e){return r.logger.error(e),!1}}static async _fetchWellKnownObject(e){return new Promise((function(t,r){const i=n(127).getRequest();if(!i)throw new Error("No request library available");i({method:"GET",uri:e,timeout:5e3},(e,n,r)=>{if(e||n.statusCode<200||n.statusCode>=300){let r="FAIL_PROMPT",i=(e?e.message:null)||"General failure";return 404===n.statusCode&&(r="IGNORE",i=o.ERROR_MISSING_WELLKNOWN),void t({raw:{},action:r,reason:i,error:e})}try{t({raw:JSON.parse(r),action:"SUCCESS"})}catch(e){let n=o.ERROR_INVALID;"SyntaxError"===e.name&&(n=o.ERROR_INVALID_JSON),t({raw:{},action:"FAIL_PROMPT",reason:n,error:e})}})}))}}t.AutoDiscovery=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TimelineWindow=o,t.TimelineIndex=s;var r=n(25);n(4);const i=function(){};function o(e,t,n){n=n||{},this._client=e,this._timelineSet=t,this._start=null,this._end=null,this._eventCount=0,this._windowLimit=n.windowLimit||1e3}function s(e,t){this.timeline=e,this.index=t}o.prototype.load=function(e,t){const n=this;t=t||20;const r=function(r){let i;const o=r.getEvents();if(e){for(let t=0;tt.minIndex())return!0}else if(t.index0&&this.unpaginate(t,e!=r.EventTimeline.BACKWARDS),Promise.resolve(!0)}if(!n||0===o)return Promise.resolve(!1);if(!s.timeline.getPaginationToken(e))return i("TimelineWindow: no token"),Promise.resolve(!1);i("TimelineWindow: starting request");const c=this,f=this._client.paginateEventTimeline(s.timeline,{backwards:e==r.EventTimeline.BACKWARDS,limit:t}).finally((function(){s.pendingPaginate=null})).then((function(n){return i("TimelineWindow: request completed with result "+n),!!n&&c.paginate(e,t,!0,o-1)}));return s.pendingPaginate=f,f},o.prototype.unpaginate=function(e,t){const n=t?this._start:this._end;if(e>this._eventCount||e<0)throw new Error("Attemting to unpaginate "+e+" events, but only have "+this._eventCount+" in the timeline");for(;e>0;){const r=t?n.advance(e):n.retreat(e);if(r<=0)throw new Error("Unable to unpaginate any further, but still have "+this._eventCount+" events");e-=r,this._eventCount-=r,i("TimelineWindow.unpaginate: dropped "+r+" (now "+this._eventCount+")")}},o.prototype.getEvents=function(){if(!this._start)return[];const e=[];let t=this._start.timeline;for(;;){const n=t.getEvents();let i=0,o=n.length;t===this._start.timeline&&(i=this._start.index+t.getBaseIndex()),t===this._end.timeline&&(o=this._end.index+t.getBaseIndex());for(let t=i;t0)return this.index+=t,t;const n=this.timeline.getNeighbouringTimeline(e<0?r.EventTimeline.BACKWARDS:r.EventTimeline.FORWARDS);return n?(this.timeline=n,this.index=e<0?this.maxIndex():this.minIndex(),i("paginate: switched to new neighbour"),this.advance(e)):0},s.prototype.retreat=function(e){return-1*this.advance(-1*e)}},function(e,t,n){"use strict";var r=n(6),i=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.InteractiveAuth=c;var o=i(n(74)),s=r(n(8)),a=n(4);function c(e){this._matrixClient=e.matrixClient,this._data=e.authData||{},this._requestCallback=e.doRequest,this._busyChangedCallback=e.busyChanged,this._stateUpdatedCallback=e.stateUpdated||e.startAuthStage,this._resolveFunc=null,this._rejectFunc=null,this._inputs=e.inputs||{},this._requestEmailTokenCallback=e.requestEmailToken,e.sessionId&&(this._data.session=e.sessionId),this._clientSecret=e.clientSecret||this._matrixClient.generateClientSecret(),this._emailSid=e.emailSid,void 0===this._emailSid&&(this._emailSid=null),this._requestingEmailToken=!1,this._chosenFlow=null,this._currentStage=null,this._submitPromise=null}c.prototype={attemptAuth:function(){return new Promise((e,t)=>{this._resolveFunc=e,this._rejectFunc=t,this._data.flows?this._startNextAuthStage():(this._busyChangedCallback&&this._busyChangedCallback(!0),this._doRequest(this._data).finally(()=>{this._busyChangedCallback&&this._busyChangedCallback(!1)}))})},poll:async function(){if(!this._data.session)return;if(this._submitPromise)return;let e={};if("m.login.email.identity"==this._currentStage&&this._emailSid){const t={sid:this._emailSid,client_secret:this._clientSecret};if(await this._matrixClient.doesServerRequireIdServerParam()){const e=o.default.parse(this._matrixClient.getIdentityServerUrl());t.id_server=e.host}e={type:"m.login.email.identity",threepid_creds:t}}this.submitAuthDict(e,!0)},getSessionId:function(){return this._data?this._data.session:void 0},getClientSecret:function(){return this._clientSecret},getStageParams:function(e){let t={};return this._data&&this._data.params&&(t=this._data.params),t[e]},getChosenFlow(){return this._chosenFlow},submitAuthDict:async function(e,t){if(!this._resolveFunc)throw new Error("submitAuthDict() called before attemptAuth()");for(!t&&this._busyChangedCallback&&this._busyChangedCallback(!0);this._submitPromise;)try{await this._submitPromise}catch(e){}const n={session:this._data.session};s.extend(n,e);try{this._submitPromise=this._doRequest(n,t),await this._submitPromise}finally{this._submitPromise=null,!t&&this._busyChangedCallback&&this._busyChangedCallback(!1)}},getEmailSid:function(){return this._emailSid},setEmailSid:function(e){this._emailSid=e},_doRequest:async function(e,t){try{const n=await this._requestCallback(e,t);this._resolveFunc(n)}catch(e){const n=e.data?e.data.flows:null,r=Boolean(this._data.flows)||Boolean(n);if(401===e.httpStatus&&e.data&&r||(t?a.logger.log("Background poll request failed doing UI auth: ignoring",e):this._rejectFunc(e)),e.data.flows||e.data.completed||e.data.session||(e.data.flows=this._data.flows,e.data.completed=this._data.completed,e.data.session=this._data.session),this._data=e.data,this._startNextAuthStage(),!this._emailSid&&!this._requestingEmailToken&&this._chosenFlow.stages.includes("m.login.email.identity")){this._requestingEmailToken=!0;try{const e=await this._requestEmailTokenCallback(this._inputs.emailAddress,this._clientSecret,1,this._data.session);this._emailSid=e.sid}catch(e){this._rejectFunc(e)}finally{this._requestingEmailToken=!1}}}},_startNextAuthStage:function(){const e=this._chooseStage();if(!e)throw new Error("No incomplete flows from the server");if(this._currentStage=e,"m.login.dummy"===e)return void this.submitAuthDict({type:"m.login.dummy"});if(this._data.errcode||this._data.error)return void this._stateUpdatedCallback(e,{errcode:this._data.errcode||"",error:this._data.error||""});const t={};"m.login.email.identity"==e&&(t.emailSid=this._emailSid),this._stateUpdatedCallback(e,t)},_chooseStage:function(){null===this._chosenFlow&&(this._chosenFlow=this._chooseFlow()),a.logger.log("Active flow => %s",JSON.stringify(this._chosenFlow));const e=this._firstUncompletedStage(this._chosenFlow);return a.logger.log("Next stage: %s",e),e},_chooseFlow:function(){const e=this._data.flows||[],t=Boolean(this._inputs.emailAddress)||Boolean(this._emailSid),n=Boolean(this._inputs.phoneCountry)&&Boolean(this._inputs.phoneNumber);for(const r of e){let e=!1,i=!1;for(const t of r.stages)"m.login.email.identity"===t?e=!0:"m.login.msisdn"==t&&(i=!0);if(e==t&&i==n)return r}const r=new Error("No appropriate authentication flow found");throw r.name="NoAuthFlowFoundError",r.required_stages=[],t&&r.required_stages.push("m.login.email.identity"),n&&r.required_stages.push("m.login.msisdn"),r.available_flows=e,r},_firstUncompletedStage:function(e){const t=(this._data||{}).completed||[];for(let n=0;n(l.logger.log("IndexedDBStore.startup: loading presence events"),this.backend.getUserPresenceEvents())).then(e=>{l.logger.log("IndexedDBStore.startup: processing presence events"),e.forEach(([e,t])=>{const n=new f.User(e);t&&n.setPresenceEvent(new u.MatrixEvent(t)),this._userModifiedMap[n.userId]=n.getLastModifiedTime(),this.storeUser(n)})}))},d.prototype.getSavedSync=h((function(){return this.backend.getSavedSync()}),"getSavedSync"),d.prototype.isNewlyCreated=h((function(){return this.backend.isNewlyCreated()}),"isNewlyCreated"),d.prototype.getSavedSyncToken=h((function(){return this.backend.getNextBatchToken()}),"getSavedSyncToken"),d.prototype.deleteAllData=h((function(){return i.MemoryStore.prototype.deleteAllData.call(this),this.backend.clearDatabase().then(()=>{l.logger.log("Deleted indexeddb data.")},e=>{throw l.logger.error(`Failed to delete indexeddb data: ${e}`),e})})),d.prototype.wantsSave=function(){return Date.now()-this._syncTs>3e5},d.prototype.save=function(e){return e||this.wantsSave()?this._reallySave():Promise.resolve()},d.prototype._reallySave=h((function(){this._syncTs=Date.now();const e=[];for(const t of this.getUsers())this._userModifiedMap[t.userId]!==t.getLastModifiedTime()&&t.events.presence&&(e.push([t.userId,t.events.presence.event]),this._userModifiedMap[t.userId]=t.getLastModifiedTime());return this.backend.syncToDatabase(e)})),d.prototype.setSyncData=h((function(e){return this.backend.setSyncData(e)}),"setSyncData"),d.prototype.getOutOfBandMembers=h((function(e){return this.backend.getOutOfBandMembers(e)}),"getOutOfBandMembers"),d.prototype.setOutOfBandMembers=h((function(e,t){return i.MemoryStore.prototype.setOutOfBandMembers.call(this,e,t),this.backend.setOutOfBandMembers(e,t)}),"setOutOfBandMembers"),d.prototype.clearOutOfBandMembers=h((function(e){return i.MemoryStore.prototype.clearOutOfBandMembers.call(this),this.backend.clearOutOfBandMembers(e)}),"clearOutOfBandMembers"),d.prototype.getClientOptions=h((function(){return this.backend.getClientOptions()}),"getClientOptions"),d.prototype.storeClientOptions=h((function(e){return i.MemoryStore.prototype.storeClientOptions.call(this,e),this.backend.storeClientOptions(e)}),"storeClientOptions")}).call(this,n(5))},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.LocalIndexedDBStoreBackend=d;var i=n(143),o=r(n(8)),s=r(n(136)),a=n(4);function c(e,t,n){const r=e.openCursor(t);return new Promise((e,t)=>{const i=[];r.onerror=e=>{t(new Error("Query failed: "+e.target.errorCode))},r.onsuccess=t=>{const r=t.target.result;r?(i.push(n(r)),r.continue()):e(i)}})}function f(e){return new Promise((t,n)=>{e.oncomplete=function(e){t(e)},e.onerror=function(e){n(e.target.error)}})}function u(e){return new Promise((t,n)=>{e.onsuccess=function(e){t(e)},e.onerror=function(e){n(e.target.error)}})}function l(e){return u(e).then(e=>e.target.result)}function d(e,t){this.indexedDB=e,this._dbName="matrix-js-sdk:"+(t||"default"),this.db=null,this._disconnected=!0,this._syncAccumulator=new i.SyncAccumulator,this._isNewlyCreated=!1}d.exists=function(e,t){return t="matrix-js-sdk:"+(t||"default"),s.exists(e,t)},d.prototype={connect:function(){if(!this._disconnected)return a.logger.log("LocalIndexedDBStoreBackend.connect: already connected or connecting"),Promise.resolve();this._disconnected=!1,a.logger.log("LocalIndexedDBStoreBackend.connect: connecting...");const e=this.indexedDB.open(this._dbName,3);return e.onupgradeneeded=e=>{const t=e.target.result,n=e.oldVersion;a.logger.log(`LocalIndexedDBStoreBackend.connect: upgrading from ${n}`),n<1&&(this._isNewlyCreated=!0,function(e){e.createObjectStore("users",{keyPath:["userId"]}),e.createObjectStore("accountData",{keyPath:["type"]}),e.createObjectStore("sync",{keyPath:["clobber"]})}(t)),n<2&&function(e){e.createObjectStore("oob_membership_events",{keyPath:["room_id","state_key"]}).createIndex("room","room_id")}(t),n<3&&function(e){e.createObjectStore("client_options",{keyPath:["clobber"]})}(t)},e.onblocked=()=>{a.logger.log("can't yet open LocalIndexedDBStoreBackend because it is open elsewhere")},a.logger.log("LocalIndexedDBStoreBackend.connect: awaiting connection..."),u(e).then(e=>(a.logger.log("LocalIndexedDBStoreBackend.connect: connected"),this.db=e.target.result,this.db.onversionchange=()=>{this.db.close()},this._init()))},isNewlyCreated:function(){return Promise.resolve(this._isNewlyCreated)},_init:function(){return Promise.all([this._loadAccountData(),this._loadSyncData()]).then(([e,t])=>{a.logger.log("LocalIndexedDBStoreBackend: loaded initial data"),this._syncAccumulator.accumulate({next_batch:t.nextBatch,rooms:t.roomsData,groups:t.groupsData,account_data:{events:e}})})},getOutOfBandMembers:function(e){return new Promise((t,n)=>{const r=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),i=IDBKeyRange.only(e),o=r.openCursor(i),s=[];let a=!1;o.onsuccess=e=>{const n=e.target.result;if(!n)return s.length||a?t(s):t(null);const r=n.value;r.oob_written?a=!0:s.push(r),n.continue()},o.onerror=e=>{n(e)}}).then(t=>(a.logger.log(`LL: got ${t&&t.length}`+` membershipEvents from storage for room ${e} ...`),t))},setOutOfBandMembers:async function(e,t){a.logger.log(`LL: backend about to store ${t.length}`+` members for ${e}`);const n=this.db.transaction(["oob_membership_events"],"readwrite"),r=n.objectStore("oob_membership_events");t.forEach(e=>{r.put(e)});const i={room_id:e,oob_written:!0,state_key:0};r.put(i),await f(n),a.logger.log(`LL: backend done storing for ${e}!`)},clearOutOfBandMembers:async function(e){const t=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),n=IDBKeyRange.only(e),r=l(t.openKeyCursor(n,"next")).then(e=>e&&e.primaryKey[1]),i=l(t.openKeyCursor(n,"prev")).then(e=>e&&e.primaryKey[1]),[o,s]=await Promise.all([r,i]),c=this.db.transaction(["oob_membership_events"],"readwrite").objectStore("oob_membership_events"),f=IDBKeyRange.bound([e,o],[e,s]);var u;a.logger.log("LL: Deleting all users + marker in storage for "+`room ${e}, with key range:`,[e,o],[e,s]),await(u=c.delete(f),new Promise((e,t)=>{u.onsuccess=()=>e(u),u.onerror=e=>t(e)}))},clearDatabase:function(){return new Promise((e,t)=>{a.logger.log(`Removing indexeddb instance: ${this._dbName}`);const n=this.indexedDB.deleteDatabase(this._dbName);n.onblocked=()=>{a.logger.log(`can't yet delete indexeddb ${this._dbName}`+" because it is open elsewhere")},n.onerror=t=>{a.logger.warn(`unable to delete js-sdk store indexeddb: ${t.target.error}`),e()},n.onsuccess=()=>{a.logger.log(`Removed indexeddb instance: ${this._dbName}`),e()}})},getSavedSync:function(e){void 0===e&&(e=!0);const t=this._syncAccumulator.getJSON();return t.nextBatch?e?Promise.resolve(o.deepCopy(t)):Promise.resolve(t):Promise.resolve(null)},getNextBatchToken:function(){return Promise.resolve(this._syncAccumulator.getNextBatchToken())},setSyncData:function(e){return Promise.resolve().then(()=>{this._syncAccumulator.accumulate(e)})},syncToDatabase:function(e){const t=this._syncAccumulator.getJSON();return Promise.all([this._persistUserPresenceEvents(e),this._persistAccountData(t.accountData),this._persistSyncData(t.nextBatch,t.roomsData,t.groupsData)])},_persistSyncData:function(e,t,n){return a.logger.log("Persisting sync data up to ",e),o.promiseTry(()=>{const r=this.db.transaction(["sync"],"readwrite");return r.objectStore("sync").put({clobber:"-",nextBatch:e,roomsData:t,groupsData:n}),f(r)})},_persistAccountData:function(e){return o.promiseTry(()=>{const t=this.db.transaction(["accountData"],"readwrite"),n=t.objectStore("accountData");for(let t=0;t{const t=this.db.transaction(["users"],"readwrite"),n=t.objectStore("users");for(const t of e)n.put({userId:t[0],event:t[1]});return f(t)})},getUserPresenceEvents:function(){return o.promiseTry(()=>c(this.db.transaction(["users"],"readonly").objectStore("users"),void 0,e=>[e.value.userId,e.value.event]))},_loadAccountData:function(){return a.logger.log("LocalIndexedDBStoreBackend: loading account data..."),o.promiseTry(()=>c(this.db.transaction(["accountData"],"readonly").objectStore("accountData"),void 0,e=>e.value).then(e=>(a.logger.log("LocalIndexedDBStoreBackend: loaded account data"),e)))},_loadSyncData:function(){return a.logger.log("LocalIndexedDBStoreBackend: loading sync data..."),o.promiseTry(()=>c(this.db.transaction(["sync"],"readonly").objectStore("sync"),void 0,e=>e.value).then(e=>(a.logger.log("LocalIndexedDBStoreBackend: loaded sync data"),e.length>1&&a.logger.warn("loadSyncData: More than 1 sync row found."),e.length>0?e[0]:{})))},getClientOptions:function(){return Promise.resolve().then(()=>c(this.db.transaction(["client_options"],"readonly").objectStore("client_options"),void 0,e=>{if(e.value&&e.value&&e.value.options)return e.value.options}).then(e=>e[0]))},storeClientOptions:async function(e){const t=this.db.transaction(["client_options"],"readwrite");t.objectStore("client_options").put({clobber:"-",options:e}),await f(t)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RemoteIndexedDBStoreBackend=o;var r=n(4),i=n(8);function o(e,t,n){this._workerScript=e,this._dbName=t,this._workerApi=n,this._worker=null,this._nextSeq=0,this._inFlight={},this._startPromise=null}o.prototype={connect:function(){return this._ensureStarted().then(()=>this._doCmd("connect"))},clearDatabase:function(){return this._ensureStarted().then(()=>this._doCmd("clearDatabase"))},isNewlyCreated:function(){return this._doCmd("isNewlyCreated")},getSavedSync:function(){return this._doCmd("getSavedSync")},getNextBatchToken:function(){return this._doCmd("getNextBatchToken")},setSyncData:function(e){return this._doCmd("setSyncData",[e])},syncToDatabase:function(e){return this._doCmd("syncToDatabase",[e])},getOutOfBandMembers:function(e){return this._doCmd("getOutOfBandMembers",[e])},setOutOfBandMembers:function(e,t){return this._doCmd("setOutOfBandMembers",[e,t])},clearOutOfBandMembers:function(e){return this._doCmd("clearOutOfBandMembers",[e])},getClientOptions:function(){return this._doCmd("getClientOptions")},storeClientOptions:function(e){return this._doCmd("storeClientOptions",[e])},getUserPresenceEvents:function(){return this._doCmd("getUserPresenceEvents")},_ensureStarted:function(){return null===this._startPromise&&(this._worker=new this._workerApi(this._workerScript),this._worker.onmessage=this._onWorkerMessage.bind(this),this._startPromise=this._doCmd("_setupWorker",[this._dbName]).then(()=>{r.logger.log("IndexedDB worker is ready")})),this._startPromise},_doCmd:function(e,t){return Promise.resolve().then(()=>{const n=this._nextSeq++,r=(0,i.defer)();return this._inFlight[n]=r,this._worker.postMessage({command:e,seq:n,args:t}),r.promise})},_onWorkerMessage:function(e){const t=e.data;if("cmd_success"==t.command||"cmd_fail"==t.command){if(void 0===t.seq)return void r.logger.error("Got reply from worker with no seq");const e=this._inFlight[t.seq];if(void 0===e)return void r.logger.error("Got reply for unknown seq "+t.seq);if(delete this._inFlight[t.seq],"cmd_success"==t.command)e.resolve(t.result);else{const n=new Error(t.error.message);n.name=t.error.name,e.reject(n)}}else r.logger.warn("Unrecognised message from worker: "+t)}}},function(e,t,n){"use strict";var r=n(6);Object.defineProperty(t,"__esModule",{value:!0}),t.WebStorageSessionStore=s;var i=r(n(8));n(4);const o="session.e2e.";function s(e){if(this.store=e,!(i.isFunction(e.getItem)&&i.isFunction(e.setItem)&&i.isFunction(e.removeItem)&&i.isFunction(e.key)&&"number"==typeof e.length))throw new Error("Supplied webStore does not meet the WebStorage API interface")}s.prototype={removeEndToEndAccount:function(){this.store.removeItem(a)},getEndToEndAccount:function(){return this.store.getItem(a)},getAllEndToEndDevices:function(){const e=l(""),t={};for(let n=0;n>18&63,o=c>>12&63,s=c>>6&63,a=63&c,h[l++]=f.charAt(i)+f.charAt(o)+f.charAt(s)+f.charAt(a)}while(u299)&&r.error){for(var i in e=new Error("CouchDB error: "+(r.error.reason||r.error.error)),r)e[i]=r[i];return n(e,t,r)}return n(e,t,r)}))},t})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){"use strict";var r=n(310),i=n(311),o=n(144);e.exports={formats:o,parse:i,stringify:r}},function(e,t,n){"use strict";var r=n(83),i=n(144),o=Object.prototype.hasOwnProperty,s={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},a=Array.isArray,c=Array.prototype.push,f=function(e,t){c.apply(e,a(t)?t:[t])},u=Date.prototype.toISOString,l=i.default,d={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:r.encode,encodeValuesOnly:!1,format:l,formatter:i.formatters[l],indices:!1,serializeDate:function(e){return u.call(e)},skipNulls:!1,strictNullHandling:!1},h=function e(t,n,i,o,s,c,u,l,h,p,m,g,y){var b,_=t;if("function"==typeof u?_=u(n,_):_ instanceof Date?_=p(_):"comma"===i&&a(_)&&(_=_.join(",")),null===_){if(o)return c&&!g?c(n,d.encoder,y,"key"):n;_=""}if("string"==typeof(b=_)||"number"==typeof b||"boolean"==typeof b||"symbol"==typeof b||"bigint"==typeof b||r.isBuffer(_))return c?[m(g?n:c(n,d.encoder,y,"key"))+"="+m(c(_,d.encoder,y,"value"))]:[m(n)+"="+m(String(_))];var v,A=[];if(void 0===_)return A;if(a(u))v=u;else{var w=Object.keys(_);v=l?w.sort(l):w}for(var E=0;E0?b+y:""}},function(e,t,n){"use strict";var r=n(83),i=Object.prototype.hasOwnProperty,o=Array.isArray,s={allowDots:!1,allowPrototypes:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:r.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},a=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},c=function(e,t,n){if(e){var r=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,s=n.depth>0&&/(\[[^[\]]*])/.exec(r),a=s?r.slice(0,s.index):r,c=[];if(a){if(!n.plainObjects&&i.call(Object.prototype,a)&&!n.allowPrototypes)return;c.push(a)}for(var f=0;n.depth>0&&null!==(s=o.exec(r))&&f=0;--i){var o,s=e[i];if("[]"===s&&n.parseArrays)o=[].concat(r);else{o=n.plainObjects?Object.create(null):{};var a="["===s.charAt(0)&&"]"===s.charAt(s.length-1)?s.slice(1,-1):s,c=parseInt(a,10);n.parseArrays||""!==a?!isNaN(c)&&s!==a&&String(c)===a&&c>=0&&n.parseArrays&&c<=n.arrayLimit?(o=[])[c]=r:o[a]=r:o={0:r}}r=o}return r}(c,t,n)}};e.exports=function(e,t){var n=function(e){if(!e)return s;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new Error("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?s.charset:e.charset;return{allowDots:void 0===e.allowDots?s.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:s.allowPrototypes,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:s.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:s.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:s.comma,decoder:"function"==typeof e.decoder?e.decoder:s.decoder,delimiter:"string"==typeof e.delimiter||r.isRegExp(e.delimiter)?e.delimiter:s.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:s.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:s.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:s.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:s.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:s.strictNullHandling}}(t);if(""===e||null==e)return n.plainObjects?Object.create(null):{};for(var f="string"==typeof e?function(e,t){var n,c={},f=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,u=t.parameterLimit===1/0?void 0:t.parameterLimit,l=f.split(t.delimiter,u),d=-1,h=t.charset;if(t.charsetSentinel)for(n=0;n-1&&(m=m.split(",")),g.indexOf("[]=")>-1&&(m=o(m)?[m]:m),i.call(c,p)?c[p]=r.combine(c[p],m):c[p]=m}return c}(e,n):e,u=n.plainObjects?Object.create(null):{},l=Object.keys(f),d=0;d>>((3&t)<<3)&255;return i}}},function(e,t,n){var r=n(315),i=n(316);e.exports=r("v5",80,i)},function(e,t,n){var r=n(145);e.exports=function(e,t,n){var i=function(e,i,o,s){var a=o&&s||0;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=new Array(e.length),n=0;n>>32-t}e.exports=function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var o=unescape(encodeURIComponent(e));e=new Array(o.length);for(var s=0;s>>0;y=g,g=m,m=i(p,30)>>>0,p=h,h=_}n[0]=n[0]+h>>>0,n[1]=n[1]+p>>>0,n[2]=n[2]+m>>>0,n[3]=n[3]+g>>>0,n[4]=n[4]+y>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}},function(e,t,n){"use strict";t.__esModule=!0;var r,i=n(0),o=(r=i)&&r.__esModule?r:{default:r},s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(318));function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var f=s.options,u=f.Options;function l(e,t){for(var n=s.tokenize(e),r=[],i=0,a=0;a2&&void 0!==arguments[2]?arguments[2]:0;if(0===o.default.Children.count(t.props.children))return t;var i=[];o.default.Children.forEach(t.props.children,(function(t){"string"==typeof t?(r+=1,i.push.apply(i,l(t,n))):o.default.isValidElement(t)?"string"==typeof t.type&&f.contains(n.ignoreTags,t.type.toUpperCase())?i.push(t):i.push(e(t,n,++r)):i.push(t)}));var s={key:"linkified-element-"+r};for(var a in t.props)s[a]=t.props[a];return o.default.cloneElement(t,s,i)}(o.default.createElement(r,e),n,0)},t}(o.default.Component);t.default=d},function(e,t,n){"use strict";t.__esModule=!0,t.tokenize=t.test=t.scanner=t.parser=t.options=t.inherits=t.find=void 0;var r=n(53),i=a(n(319)),o=a(n(320)),s=a(n(321));function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var c=function(e){return s.run(o.run(e))};t.find=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=c(e),r=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:null,n=c(e);return 1===n.length&&n[0].isLink&&(!t||n[0].type===t)},t.tokenize=c},function(e,t,n){"use strict";t.__esModule=!0;var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i={defaultProtocol:"http",events:null,format:s,formatHref:s,nl2br:!1,tagName:"a",target:function(e,t){return"url"===t?"_blank":null},validate:!0,ignoreTags:[],attributes:null,className:"linkified"};function o(e){e=e||{},this.defaultProtocol=e.hasOwnProperty("defaultProtocol")?e.defaultProtocol:i.defaultProtocol,this.events=e.hasOwnProperty("events")?e.events:i.events,this.format=e.hasOwnProperty("format")?e.format:i.format,this.formatHref=e.hasOwnProperty("formatHref")?e.formatHref:i.formatHref,this.nl2br=e.hasOwnProperty("nl2br")?e.nl2br:i.nl2br,this.tagName=e.hasOwnProperty("tagName")?e.tagName:i.tagName,this.target=e.hasOwnProperty("target")?e.target:i.target,this.validate=e.hasOwnProperty("validate")?e.validate:i.validate,this.ignoreTags=[],this.attributes=e.attributes||e.linkAttributes||i.attributes,this.className=e.hasOwnProperty("className")?e.className:e.linkClass||i.className;for(var t=e.hasOwnProperty("ignoreTags")?e.ignoreTags:i.ignoreTags,n=0;n",l(i.CLOSEANGLEBRACKET)).on(")",l(i.CLOSEPAREN)).on("&",l(i.AMPERSAND)).on([",",";","!",'"',"'"],l(i.PUNCTUATION)),d.on("\n",l(i.NL)).on(f,g),g.on(f,g);for(var y=0;y=0&&f++,a++,i++;if(!(f<0)){i-=f,a-=f;var u=c.emit();r.push(new u(e.substr(i-a,a)))}}return r},t.start=P},function(e,t,n){"use strict";t.__esModule=!0,t.start=t.run=t.TOKENS=t.State=void 0;var r=n(146),i=n(322),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(i),s=n(84);var a=function(e){return new r.TokenState(e)},c=a(),f=a(),u=a(),l=a(),d=a(),h=a(),p=a(),m=a(i.URL),g=a(),y=a(i.URL),b=a(i.URL),_=a(),v=a(),A=a(),w=a(),E=a(),k=a(i.URL),S=a(i.URL),I=a(i.URL),T=a(i.URL),R=a(),O=a(),x=a(),C=a(),P=a(),M=a(),D=a(i.EMAIL),B=a(),N=a(i.EMAIL),j=a(i.MAILTOEMAIL),U=a(),L=a(),F=a(),q=a(),K=a(i.NL);c.on(s.NL,K).on(s.PROTOCOL,f).on(s.MAILTO,u).on(s.SLASH,l),f.on(s.SLASH,l),l.on(s.SLASH,d),c.on(s.TLD,h).on(s.DOMAIN,h).on(s.LOCALHOST,m).on(s.NUM,h),d.on(s.TLD,b).on(s.DOMAIN,b).on(s.NUM,b).on(s.LOCALHOST,b),h.on(s.DOT,p),P.on(s.DOT,M),p.on(s.TLD,m).on(s.DOMAIN,h).on(s.NUM,h).on(s.LOCALHOST,h),M.on(s.TLD,D).on(s.DOMAIN,P).on(s.NUM,P).on(s.LOCALHOST,P),m.on(s.DOT,p),D.on(s.DOT,M),m.on(s.COLON,g).on(s.SLASH,b),g.on(s.NUM,y),y.on(s.SLASH,b),D.on(s.COLON,B),B.on(s.NUM,N);var z=[s.DOMAIN,s.AT,s.LOCALHOST,s.NUM,s.PLUS,s.POUND,s.PROTOCOL,s.SLASH,s.TLD,s.UNDERSCORE,s.SYM,s.AMPERSAND],G=[s.COLON,s.DOT,s.QUERY,s.PUNCTUATION,s.CLOSEBRACE,s.CLOSEBRACKET,s.CLOSEANGLEBRACKET,s.CLOSEPAREN,s.OPENBRACE,s.OPENBRACKET,s.OPENANGLEBRACKET,s.OPENPAREN];b.on(s.OPENBRACE,v).on(s.OPENBRACKET,A).on(s.OPENANGLEBRACKET,w).on(s.OPENPAREN,E),_.on(s.OPENBRACE,v).on(s.OPENBRACKET,A).on(s.OPENANGLEBRACKET,w).on(s.OPENPAREN,E),v.on(s.CLOSEBRACE,b),A.on(s.CLOSEBRACKET,b),w.on(s.CLOSEANGLEBRACKET,b),E.on(s.CLOSEPAREN,b),k.on(s.CLOSEBRACE,b),S.on(s.CLOSEBRACKET,b),I.on(s.CLOSEANGLEBRACKET,b),T.on(s.CLOSEPAREN,b),R.on(s.CLOSEBRACE,b),O.on(s.CLOSEBRACKET,b),x.on(s.CLOSEANGLEBRACKET,b),C.on(s.CLOSEPAREN,b),v.on(z,k),A.on(z,S),w.on(z,I),E.on(z,T),v.on(G,R),A.on(G,O),w.on(G,x),E.on(G,C),k.on(z,k),S.on(z,S),I.on(z,I),T.on(z,T),k.on(G,k),S.on(G,S),I.on(G,I),T.on(G,T),R.on(z,k),O.on(z,S),x.on(z,I),C.on(z,T),R.on(G,R),O.on(G,O),x.on(G,x),C.on(G,C),b.on(z,b),_.on(z,b),b.on(G,_),_.on(G,_),u.on(s.TLD,j).on(s.DOMAIN,j).on(s.NUM,j).on(s.LOCALHOST,j),j.on(z,j).on(G,U),U.on(z,j).on(G,U);var H=[s.DOMAIN,s.NUM,s.PLUS,s.POUND,s.QUERY,s.UNDERSCORE,s.SYM,s.AMPERSAND,s.TLD];h.on(H,L).on(s.AT,F),m.on(H,L).on(s.AT,F),p.on(H,L),L.on(H,L).on(s.AT,F).on(s.DOT,q),q.on(H,L),F.on(s.TLD,P).on(s.DOMAIN,P).on(s.LOCALHOST,D);t.State=r.TokenState,t.TOKENS=o,t.run=function(e){for(var t=e.length,n=0,r=[],o=[];n=0&&d++,n++,u++;if(d<0)for(var h=n-u;h0&&(r.push(new i.TEXT(o)),o=[]),n-=d,u-=d;var p=l.emit();r.push(new p(e.slice(n-u,n)))}}return o.length>0&&r.push(new i.TEXT(o)),r},t.start=c},function(e,t,n){"use strict";t.__esModule=!0,t.URL=t.TEXT=t.NL=t.EMAIL=t.MAILTOEMAIL=t.Base=void 0;var r=n(147),i=n(53),o=n(84);function s(e){return e instanceof o.DOMAIN||e instanceof o.TLD}var a=(0,r.createTokenClass)();a.prototype={type:"token",isLink:!1,toString:function(){for(var e=[],t=0;t0&&void 0!==arguments[0]?arguments[0]:"http";return{type:this.type,value:this.toString(),href:this.toHref(e)}}};var c=(0,i.inherits)(a,(0,r.createTokenClass)(),{type:"email",isLink:!0}),f=(0,i.inherits)(a,(0,r.createTokenClass)(),{type:"email",isLink:!0,toHref:function(){return"mailto:"+this.toString()}}),u=(0,i.inherits)(a,(0,r.createTokenClass)(),{type:"text"}),l=(0,i.inherits)(a,(0,r.createTokenClass)(),{type:"nl"}),d=(0,i.inherits)(a,(0,r.createTokenClass)(),{type:"url",isLink:!0,toHref:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"http",t=!1,n=!1,r=this.v,i=[],a=0;r[a]instanceof o.PROTOCOL;)t=!0,i.push(r[a].toString().toLowerCase()),a++;for(;r[a]instanceof o.SLASH;)n=!0,i.push(r[a].toString()),a++;for(;s(r[a]);)i.push(r[a].toString().toLowerCase()),a++;for(;a