xpra icon
Bug tracker and wiki

Ticket #2147: html5-vp8.patch

File html5-vp8.patch, 277.8 KB (added by Antoine Martin, 9 months ago)

try to decode vp8 using ogv.js

  • html5/connect.html

     
    2525        <script type="text/javascript" src="js/Utilities.js"></script>
    2626        <script type="text/javascript" src="js/MediaSourceUtil.js"></script>
    2727        <script type="text/javascript" src="js/lib/aurora/aurora.js"></script>
     28        <script type="text/javascript" src="js/lib/vp8/ogv-decoder-video-vp8-wasm.js"></script>
     29
    2830        <!--
    2931        <script type="text/javascript" src="js/lib/aurora/mp3.js"></script>
    3032        <script type="text/javascript" src="js/lib/aurora/flac.js"></script>
  • html5/index.html

     
    2828
    2929                <script type="text/javascript" src="js/lib/jsmpeg.js"></script>
    3030                <script type="text/javascript" src="js/lib/broadway/Decoder.js"></script>
     31                <script type="text/javascript" src="js/lib/vp8/ogv-decoder-video-vp8-wasm.js"></script>
    3132                <script type="text/javascript" src="js/lib/aurora/aurora.js"></script>
    3233                <!--
    3334                <script type="text/javascript" src="js/lib/aurora/mp3.js"></script>
     
    506507                                        if(mediasource_video) {
    507508                                                client.supported_encodings.push("vp8+webm", "h264+mp4", "mpeg4+mp4");
    508509                                        }
     510                                        if(OGVDecoderVideoVP8W) {
     511                                                client.supported_encodings.push("vp8");
     512                                        }
    509513                            }
    510514                            else if(encoding && (encoding !== "auto")) {
    511515                                        // the primary encoding can be set
  • html5/js/Client.js

     
    11011101                        "mpeg4+mp4"     : ["YUV420P"],
    11021102                        "h264+mp4"      : ["YUV420P"],
    11031103                        "vp8+webm"      : ["YUV420P"],
     1104                        "vp8"       : ["YUV420P"],
    11041105                        "webp"          : ["BGRX", "BGRA"],
    11051106                },
    11061107                "encoding.h264.YUV420P.profile"         : "baseline",
  • html5/js/Window.js

     
    731731 * if it is fullscreen or maximized.
    732732 */
    733733XpraWindow.prototype.screen_resized = function() {
    734         console.log("screen resized");
     734        this.log("screen resized");
    735735        if (this.client.server_is_desktop) {
    736736                this.match_screen_size();
    737737                this.handle_resized();
     
    750750        if (this.client.server_resize_exact) {
    751751                neww = maxw;
    752752                newh = maxh;
    753                 console.log("resizing to exact size:", neww, newh);
     753                this.log("resizing to exact size:", neww, newh);
    754754        }
    755755        else {
    756756                if (this.client.server_screen_sizes.length==0) {
     
    786786                                }
    787787                        }
    788788                }
    789                 console.log("best screen size:", neww, newh);
     789                this.log("best screen size:", neww, newh);
    790790        }
    791791        this.resize(neww, newh);
    792792};
     
    12891289                        // (and already painted via the onPictureDecoded callback)
    12901290                        painted();
    12911291                }
     1292                else if (coding=="vp8") {
     1293                        var frame = options["frame"] || 0;
     1294                        if(frame==0) {
     1295                                this.vp8_decoder = null;
     1296                        }
     1297                        if(!this.vp8_decoder) {
     1298                                this.vp8_decoder = OGVDecoderVideoVP8W();
     1299                                //this.vp8_decoder.init();
     1300                        }
     1301                        this.vp8_paint_location = [x, y];
     1302                        if (!Array.isArray(img_data)) {
     1303                                img_data = Array.from(img_data);
     1304                        }
     1305                        var arr = new Uint8Array(img_data);
     1306                        function decoded(data) {
     1307                                me.log("decoded vp8:", data);
     1308                                let fb = me.vp8_decoder.frameBuffer;
     1309                                me.log("fb=", fb);
     1310                                if (fb) {
     1311                }
     1312                painted();
     1313                        }
     1314                        this.vp8_decoder.processFrame(arr, decoded);
     1315                }
    12921316                else if (coding=="h264+mp4" || coding=="vp8+webm" || coding=="mpeg4+mp4") {
    12931317                        var frame = options["frame"] || -1;
    12941318                        if(frame==0) {
  • html5/js/lib/vp8/ogv-decoder-video-vp8-wasm.js

     
     1
     2var OGVDecoderVideoVP8W = (function() {
     3  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
     4  return (
     5function(OGVDecoderVideoVP8W) {
     6  OGVDecoderVideoVP8W = OGVDecoderVideoVP8W || {};
     7
     8var a;a||(a=typeof OGVDecoderVideoVP8W !== 'undefined' ? OGVDecoderVideoVP8W : {});var m=a;a.memoryLimit&&(a.TOTAL_MEMORY=m.memoryLimit);var n={},p;for(p in a)a.hasOwnProperty(p)&&(n[p]=a[p]);a.arguments=[];a.thisProgram="./this.program";a.quit=function(b,c){throw c;};a.preRun=[];a.postRun=[];var q=!1,t=!1,u=!1,aa=!1;q="object"===typeof window;t="function"===typeof importScripts;u="object"===typeof process&&"function"===typeof require&&!q&&!t;aa=!q&&!u&&!t;var v="";
     9if(u){v=__dirname+"/";var w,x;a.read=function(b,c){w||(w=require("fs"));x||(x=require("path"));b=x.normalize(b);b=w.readFileSync(b);return c?b:b.toString()};a.readBinary=function(b){b=a.read(b,!0);b.buffer||(b=new Uint8Array(b));b.buffer||z("Assertion failed: undefined");return b};1<process.argv.length&&(a.thisProgram=process.argv[1].replace(/\\/g,"/"));a.arguments=process.argv.slice(2);process.on("unhandledRejection",z);a.quit=function(b){process.exit(b)};a.inspect=function(){return"[Emscripten Module object]"}}else if(aa)"undefined"!=
     10typeof read&&(a.read=function(b){return read(b)}),a.readBinary=function(b){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(b));b=read(b,"binary");"object"===typeof b||z("Assertion failed: undefined");return b},"undefined"!=typeof scriptArgs?a.arguments=scriptArgs:"undefined"!=typeof arguments&&(a.arguments=arguments),"function"===typeof quit&&(a.quit=function(b){quit(b)});else if(q||t)t?v=self.location.href:document.currentScript&&(v=document.currentScript.src),_scriptDir&&(v=_scriptDir),
     110!==v.indexOf("blob:")?v=v.substr(0,v.lastIndexOf("/")+1):v="",a.read=function(b){var c=new XMLHttpRequest;c.open("GET",b,!1);c.send(null);return c.responseText},t&&(a.readBinary=function(b){var c=new XMLHttpRequest;c.open("GET",b,!1);c.responseType="arraybuffer";c.send(null);return new Uint8Array(c.response)}),a.readAsync=function(b,c,d){var e=new XMLHttpRequest;e.open("GET",b,!0);e.responseType="arraybuffer";e.onload=function(){200==e.status||0==e.status&&e.response?c(e.response):d()};e.onerror=
     12d;e.send(null)},a.setWindowTitle=function(b){document.title=b};var ba=a.print||("undefined"!==typeof console?console.log.bind(console):"undefined"!==typeof print?print:null),A=a.printErr||("undefined"!==typeof printErr?printErr:"undefined"!==typeof console&&console.warn.bind(console)||ba);for(p in n)n.hasOwnProperty(p)&&(a[p]=n[p]);n=void 0;var ca={"f64-rem":function(b,c){return b%c},"debugger":function(){debugger}},da=0;"object"!==typeof WebAssembly&&A("no native wasm support detected");
     13var B,ea=!1;"undefined"!==typeof TextDecoder&&new TextDecoder("utf8");"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");function C(b){0<b%65536&&(b+=65536-b%65536);return b}var buffer,D,E,fa;function ha(){a.HEAP8=new Int8Array(buffer);a.HEAP16=new Int16Array(buffer);a.HEAP32=E=new Int32Array(buffer);a.HEAPU8=D=new Uint8Array(buffer);a.HEAPU16=new Uint16Array(buffer);a.HEAPU32=fa=new Uint32Array(buffer);a.HEAPF32=new Float32Array(buffer);a.HEAPF64=new Float64Array(buffer)}
     14var G=a.TOTAL_MEMORY||16777216;5242880>G&&A("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+G+"! (TOTAL_STACK=5242880)");a.buffer?buffer=a.buffer:("object"===typeof WebAssembly&&"function"===typeof WebAssembly.Memory?(B=new WebAssembly.Memory({initial:G/65536}),buffer=B.buffer):buffer=new ArrayBuffer(G),a.buffer=buffer);ha();E[2820]=5254416;
     15function H(b){for(;0<b.length;){var c=b.shift();if("function"==typeof c)c();else{var d=c.J;"number"===typeof d?void 0===c.H?a.dynCall_v(d):a.dynCall_vi(d,c.H):d(void 0===c.H?null:c.H)}}}var ia=[],ja=[],ka=[],la=[],ma=!1;function na(){var b=a.preRun.shift();ia.unshift(b)}var L=0,M=null,N=null;a.preloadedImages={};a.preloadedAudios={};
     16function oa(){var b=O;return String.prototype.startsWith?b.startsWith("data:application/octet-stream;base64,"):0===b.indexOf("data:application/octet-stream;base64,")}var O="ogv-decoder-video-vp8-wasm.wasm";if(!oa()){var va=O;O=a.locateFile?a.locateFile(va,v):v+va}function wa(){try{if(a.wasmBinary)return new Uint8Array(a.wasmBinary);if(a.readBinary)return a.readBinary(O);throw"both async and sync fetching of the wasm failed";}catch(b){z(b)}}
     17function xa(){return a.wasmBinary||!q&&!t||"function"!==typeof fetch?new Promise(function(b){b(wa())}):fetch(O,{credentials:"same-origin"}).then(function(b){if(!b.ok)throw"failed to load wasm binary file at '"+O+"'";return b.arrayBuffer()}).catch(function(){return wa()})}
     18function ya(b){function c(b){a.asm=b.exports;L--;a.monitorRunDependencies&&a.monitorRunDependencies(L);0==L&&(null!==M&&(clearInterval(M),M=null),N&&(b=N,N=null,b()))}function d(b){c(b.instance)}function e(b){xa().then(function(b){return WebAssembly.instantiate(b,f)}).then(b,function(b){A("failed to asynchronously prepare wasm: "+b);z(b)})}var f={env:b,global:{NaN:NaN,Infinity:Infinity},"global.Math":Math,asm2wasm:ca};L++;a.monitorRunDependencies&&a.monitorRunDependencies(L);if(a.instantiateWasm)try{return a.instantiateWasm(f,
     19c)}catch(g){return A("Module.instantiateWasm callback failed with error: "+g),!1}a.wasmBinary||"function"!==typeof WebAssembly.instantiateStreaming||oa()||"function"!==typeof fetch?e(d):WebAssembly.instantiateStreaming(fetch(O,{credentials:"same-origin"}),f).then(d,function(b){A("wasm streaming compile failed: "+b);A("falling back to ArrayBuffer instantiation");e(d)});return{}}
     20a.asm=function(b,c){c.memory=B;c.table=new WebAssembly.Table({initial:86,maximum:86,element:"anyfunc"});c.__memory_base=1024;c.__table_base=0;return ya(c)};
     21var Fa=a.asm({},{e:z,c:function(b){da=b},b:function(){return da},j:function(b,c,d){var e=P();try{return za(b,c,d)}catch(f){Q(e);if(f!==f+0&&"longjmp"!==f)throw f;R(1,0)}},l:function(b,c,d,e){var f=P();try{return Aa(b,c,d,e)}catch(g){Q(f);if(g!==g+0&&"longjmp"!==g)throw g;R(1,0)}},m:function(b,c,d,e,f,g){var k=P();try{return Ba(b,c,d,e,f,g)}catch(l){Q(k);if(l!==l+0&&"longjmp"!==l)throw l;R(1,0)}},i:function(b){var c=P();try{Ca(b)}catch(d){Q(c);if(d!==d+0&&"longjmp"!==d)throw d;R(1,0)}},f:function(b,
     22c){var d=P();try{Da(b,c)}catch(e){Q(d);if(e!==e+0&&"longjmp"!==e)throw e;R(1,0)}},g:function(b,c,d,e,f){var g=P();try{Ea(b,c,d,e,f)}catch(k){Q(g);if(k!==k+0&&"longjmp"!==k)throw k;R(1,0)}},h:function(b){a.___errno_location&&(E[a.___errno_location()>>2]=b);return b},k:function(){return G},q:function(b,c,d){D.set(D.subarray(c,c+d),b)},p:function(b){if(2147418112<b)return!1;for(var c=Math.max(G,16777216);c<b;)536870912>=c?c=C(2*c):c=Math.min(C((3*c+2147483648)/4),2147418112);var d=C(c);var e=a.buffer.byteLength;
     23try{var f=-1!==B.grow((d-e)/65536)?a.buffer=B.buffer:null}catch(g){f=null}if(!f||f.byteLength!=c)return!1;a.buffer=buffer=f;ha();G=c;fa[2820]=b;return!0},d:function(b,c){R(b,c||1);throw"longjmp";},o:function(b,c,d,e,f,g,k,l,T,F,I,J,U,V,pa,qa){function W(b,c,d,e,f,g,k,l){b=Ia.subarray(b,b+c*d);var h=b.buffer;"function"===typeof h.slice?(b=h.slice(b.byteOffset,b.byteOffset+b.byteLength),b=new Uint8Array(b)):b=new Uint8Array(b);var y,r;for(y=r=0;y<f;y++,r+=c)for(h=0;h<c;h++)b[r+h]=l;for(;y<f+k;y++,r+=
     24c){for(h=0;h<e;h++)b[r+h]=l;for(h=e+g;h<c;h++)b[r+h]=l}for(;y<d;y++,r+=c)for(h=0;h<c;h++)b[r+h]=l;return b}var Ia=a.HEAPU8,K=a.videoFormat,ra=(U&-2)*T/k,sa=(V&-2)*F/l,ta=I*T/k,ua=J*F/l;I===K.cropWidth&&J===K.cropHeight&&(pa=K.displayWidth,qa=K.displayHeight);a.frameBuffer={format:{width:k,height:l,chromaWidth:T,chromaHeight:F,cropLeft:U,cropTop:V,cropWidth:I,cropHeight:J,displayWidth:pa,displayHeight:qa},y:{bytes:W(b,c,l,U,V,I,J,0),stride:c},u:{bytes:W(d,e,F,ra,sa,ta,ua,128),stride:e},v:{bytes:W(f,
     25g,F,ra,sa,ta,ua,128),stride:g}}},n:function(b){z("Cannot enlarge memory arrays to size "+b+" bytes. Either (1) compile with  -s TOTAL_MEMORY=X  with X higher than the current value "+G+", (2) compile with  -s ALLOW_MEMORY_GROWTH=1  which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with  -s ABORTING_MALLOC=0 ")},a:11280},buffer);a.asm=Fa;a._free=function(){return a.asm.r.apply(null,arguments)};
     26a._malloc=function(){return a.asm.s.apply(null,arguments)};a._ogv_video_decoder_async=function(){return a.asm.t.apply(null,arguments)};a._ogv_video_decoder_destroy=function(){return a.asm.u.apply(null,arguments)};a._ogv_video_decoder_init=function(){return a.asm.v.apply(null,arguments)};a._ogv_video_decoder_process_frame=function(){return a.asm.w.apply(null,arguments)};a._ogv_video_decoder_process_header=function(){return a.asm.x.apply(null,arguments)};
     27var R=a._setThrew=function(){return a.asm.y.apply(null,arguments)},Q=a.stackRestore=function(){return a.asm.F.apply(null,arguments)},P=a.stackSave=function(){return a.asm.G.apply(null,arguments)},za=a.dynCall_iii=function(){return a.asm.z.apply(null,arguments)},Aa=a.dynCall_iiii=function(){return a.asm.A.apply(null,arguments)},Ba=a.dynCall_iiiij=function(){return a.asm.B.apply(null,arguments)},Ca=a.dynCall_v=function(){return a.asm.C.apply(null,arguments)},Da=a.dynCall_vi=function(){return a.asm.D.apply(null,
     28arguments)},Ea=a.dynCall_viiii=function(){return a.asm.E.apply(null,arguments)};a.asm=Fa;a.then=function(b){if(a.calledRun)b(a);else{var c=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){c&&c();b(a)}}return a};function S(b){this.name="ExitStatus";this.message="Program terminated with exit("+b+")";this.status=b}S.prototype=Error();S.prototype.constructor=S;N=function Ga(){a.calledRun||X();a.calledRun||(N=Ga)};
     29function X(){function b(){if(!a.calledRun&&(a.calledRun=!0,!ea)){ma||(ma=!0,H(ja));H(ka);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;){var b=a.postRun.shift();la.unshift(b)}H(la)}}if(!(0<L)){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)na();H(ia);0<L||a.calledRun||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1);
     30b()},1)):b())}}a.run=X;function z(b){if(a.onAbort)a.onAbort(b);void 0!==b?(ba(b),A(b),b=JSON.stringify(b)):b="";ea=!0;throw"abort("+b+"). Build with -s ASSERTIONS=1 for more info.";}a.abort=z;if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0<a.preInit.length;)a.preInit.pop()();a.noExitRuntime=!0;X();var Y,Z,Ha;Ha="undefined"===typeof performance||"undefined"===typeof performance.now?Date.now:performance.now.bind(performance);
     31function Ja(b){var c=Ha();b=b();a.cpuTime+=Ha()-c;return b}a.loadedMetadata=!!m.videoFormat;a.videoFormat=m.videoFormat||null;a.frameBuffer=null;a.cpuTime=0;Object.defineProperty(a,"processing",{get:function(){return!1}});a.init=function(b){Ja(function(){a._ogv_video_decoder_init()});b()};a.processHeader=function(b,c){var d=Ja(function(){var c=b.byteLength;Y&&Z>=c||(Y&&a._free(Y),Z=c,Y=a._malloc(Z));var d=Y;a.HEAPU8.set(new Uint8Array(b),d);return a._ogv_video_decoder_process_header(d,c)});c(d)};
     32a.I=[];a.processFrame=function(b,c){function d(b){a._free(g);c(b)}var e=a._ogv_video_decoder_async(),f=b.byteLength,g=a._malloc(f);e&&a.I.push(d);var k=Ja(function(){a.HEAPU8.set(new Uint8Array(b),g);return a._ogv_video_decoder_process_frame(g,f)});e||d(k)};a.close=function(){};
     33
     34
     35  return OGVDecoderVideoVP8W;
     36}
     37);
     38})();
     39if (typeof exports === 'object' && typeof module === 'object')
     40      module.exports = OGVDecoderVideoVP8W;
     41    else if (typeof define === 'function' && define['amd'])
     42      define([], function() { return OGVDecoderVideoVP8W; });
     43    else if (typeof exports === 'object')
     44      exports["OGVDecoderVideoVP8W"] = OGVDecoderVideoVP8W;
     45   
     46 No newline at end of file
  • html5/js/lib/vp8/ogv-decoder-video-vp8.js

    Cannot display: file marked as a binary type.
    svn:mime-type = application/octet-stream
    
    Property changes on: html5/js/lib/vp8/ogv-decoder-video-vp8-wasm.wasm
    ___________________________________________________________________
    Added: svn:mime-type
    ## -0,0 +1 ##
    +application/octet-stream
    \ No newline at end of property
     
     1
     2var OGVDecoderVideoVP8 = (function() {
     3  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
     4  return (
     5function(OGVDecoderVideoVP8) {
     6  OGVDecoderVideoVP8 = OGVDecoderVideoVP8 || {};
     7
     8var b;b||(b=typeof OGVDecoderVideoVP8 !== 'undefined' ? OGVDecoderVideoVP8 : {});var f=b;b.memoryLimit&&(b.TOTAL_MEMORY=f.memoryLimit);var n={},p;for(p in b)b.hasOwnProperty(p)&&(n[p]=b[p]);b.arguments=[];b.thisProgram="./this.program";b.quit=function(a,c){throw c;};b.preRun=[];b.postRun=[];var q=!1,r=!1,u=!1,v=!1;q="object"===typeof window;r="function"===typeof importScripts;u="object"===typeof process&&"function"===typeof require&&!q&&!r;v=!q&&!u&&!r;var x="";
     9if(u){x=__dirname+"/";var y,z;b.read=function(a,c){var d=A(a);d||(y||(y=require("fs")),z||(z=require("path")),a=z.normalize(a),d=y.readFileSync(a));return c?d:d.toString()};b.readBinary=function(a){a=b.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};1<process.argv.length&&(b.thisProgram=process.argv[1].replace(/\\/g,"/"));b.arguments=process.argv.slice(2);process.on("unhandledRejection",B);b.quit=function(a){process.exit(a)};b.inspect=function(){return"[Emscripten Module object]"}}else if(v)"undefined"!=
     10typeof read&&(b.read=function(a){var c=A(a);return c?aa(c):read(a)}),b.readBinary=function(a){var c;if(c=A(a))return c;if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));c=read(a,"binary");assert("object"===typeof c);return c},"undefined"!=typeof scriptArgs?b.arguments=scriptArgs:"undefined"!=typeof arguments&&(b.arguments=arguments),"function"===typeof quit&&(b.quit=function(a){quit(a)});else if(q||r)r?x=self.location.href:document.currentScript&&(x=document.currentScript.src),
     11_scriptDir&&(x=_scriptDir),0!==x.indexOf("blob:")?x=x.substr(0,x.lastIndexOf("/")+1):x="",b.read=function(a){try{var c=new XMLHttpRequest;c.open("GET",a,!1);c.send(null);return c.responseText}catch(d){if(a=A(a))return aa(a);throw d;}},r&&(b.readBinary=function(a){try{var c=new XMLHttpRequest;c.open("GET",a,!1);c.responseType="arraybuffer";c.send(null);return new Uint8Array(c.response)}catch(d){if(a=A(a))return a;throw d;}}),b.readAsync=function(a,c,d){var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType=
     12"arraybuffer";e.onload=function(){if(200==e.status||0==e.status&&e.response)c(e.response);else{var g=A(a);g?c(g.buffer):d()}};e.onerror=d;e.send(null)},b.setWindowTitle=function(a){document.title=a};var ba=b.print||("undefined"!==typeof console?console.log.bind(console):"undefined"!==typeof print?print:null),ca=b.printErr||("undefined"!==typeof printErr?printErr:"undefined"!==typeof console&&console.warn.bind(console)||ba);for(p in n)n.hasOwnProperty(p)&&(b[p]=n[p]);n=void 0;var da=0,ea=!1;
     13function assert(a,c){a||B("Assertion failed: "+c)}"undefined"!==typeof TextDecoder&&new TextDecoder("utf8");"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");var buffer,C,D,E=b.TOTAL_MEMORY||33554432;5242880>E&&ca("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+E+"! (TOTAL_STACK=5242880)");b.buffer?buffer=b.buffer:(buffer=new ArrayBuffer(E),b.buffer=buffer);b.HEAP8=new Int8Array(buffer);b.HEAP16=new Int16Array(buffer);b.HEAP32=D=new Int32Array(buffer);b.HEAPU8=C=new Uint8Array(buffer);
     14b.HEAPU16=new Uint16Array(buffer);b.HEAPU32=new Uint32Array(buffer);b.HEAPF32=new Float32Array(buffer);b.HEAPF64=new Float64Array(buffer);D[2316]=5252400;function F(a){for(;0<a.length;){var c=a.shift();if("function"==typeof c)c();else{var d=c.A;"number"===typeof d?void 0===c.s?b.dynCall_v(d):b.dynCall_vi(d,c.s):d(void 0===c.s?null:c.s)}}}var fa=[],ha=[],ia=[],ja=[],ka=!1;function la(){var a=b.preRun.shift();fa.unshift(a)}
     15Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,c){var d=a&65535,e=c&65535;return d*e+((a>>>16)*e+d*(c>>>16)<<16)|0});Math.clz32||(Math.clz32=function(a){var c=32,d=a>>16;d&&(c-=16,a=d);if(d=a>>8)c-=8,a=d;if(d=a>>4)c-=4,a=d;if(d=a>>2)c-=2,a=d;return a>>1?c-2:c-a});Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});var G=0,I=null,J=null;b.preloadedImages={};b.preloadedAudios={};var K=null,O="data:application/octet-stream;base64,";K="data:application/octet-stream;base64,AAAAAAAAAAABAAAAAQAAAAIAAAACAAAAAwAAAAMAAAAAAQAABAAAAAEBAAAFAAAAAgEAAAYAAAALAQAABwAAAAMBAAAIAAAA/////wAAAAAAAAAAAAAAAOd4MFlzcXiYcJizQH6qdi5GX69Fj1BVUkibZzg6CqvavRENmJBHCiar1ZAiGnIaEaMswxUKrXkYUMMaPixAVaouNxOIoCHORz8UCHJy0AwJ4lEoC2C2VB0QJIa3WYliZWqllEi7ZIKdbyBLUEJmp2NKPijqgCk1CbLxjRoIa2hPDBvZ/1cRB0orGpJJpjEXnUEmaaAzNB9zgFdERyxyMw+6Fy8pDm62txURwkItGWbFvRcSFlhYk5YqLi3EzStht3VVJiOzPSc1yFcaFSvoqzgiM2hyZh1dTWs2IBozAVErHyccVas6pVpiQCIWdM4XIiumSUQZahZAqyThciITFWaEvBBMfD4STl9VOTIwM8FlI5/Xb1kubzyUH6zb5BUSb3BxTVWz/yZ4cigqAcT10QoZbWRQCCuaATMaR1grHYym1SUrmj0/HptDLUQB0Y5OThD/gCLFqykoBWbTtwQB3TMyEajRwBcZUn1iKlhoVXWvUl9UNVmAZHFlLUtPey8zgFGrATkRBUdmOTUpMXMVAgpm/6YXBiYhDXk5SRoBVSkKQ4pNblovcmUdEApVgGXEGjkSCmZm1SIUK3UUDySjgEQBGoofJKsbpiYs5UNXOqlScxo7sz87WrQ7pl1JmigoFXSP0SInrzkuFhiAATYRJS8PELci3zEtty4RIbcGYg8gt0EgSXMcgBeAzSgDCXMzwBIG31clCXM7TUAVL2g3LNoJNjWC4kBaRs0oKRcaOTY5cLgFKSam1R4iGoWYdAoghksgDDPA/6ArMycTNd0aciBJ/x8JQeoCDwF2SVgfI0NmVTe6VTgVF287zS0lwDcmRnxJZgEiYmY9RyUiNR/zwEU8RyZJdxzeJUQtgCIBLwv1qz4RE0aSVTc+RksPCQlA/7h3ECUrJZpko1WgAT8JXIgcQCDJVVYGHAVA/xn4ATgIEYSJ/zd0gDoPFFKHORp5KKQyH4mahRkj2jNnLIODex8GnlYoQIeU4C23gBYaEYPwmg4B0VMMDTbA/0QvHC0QFVtA3gcBxTgVJ5s8ihdm1VUaVVWAgCCSqxILBz+QqwQE9iMbCpKuqwwagL5QI2O0UH42LVV+L1ewMykUIGVLgIt2knSAVTgpD7DsVSUJPpIkEx6r/2EbFEceEXd2/xESimUmPIo3RisajootPT7bAVG8QCApFHWXjhQVo3ATDD3DgDAEGAAAAAAAAAAAAAAAAAAC/wT+BggM/Qr7+vwO+RD49wAAAAAAAAAAAAAAAAAA5CAAAOggAADtIAAA8yAAAAABAgMGBAUGBgYGBgYGBgcAAAAAAAAAAAAAAAAAAAAAAAEECAUCAwYJDA0KBwsOD////////////////////////////////////////////7D2////////////3/H8///////////5/f3////////////0/P//////////6v7+///////////9///////////////2/v//////////7/3+///////////+//7////////////4/v//////////+//+///////////////////////////9/v//////////+/7+///////////+//7////////////+/f/+////////+v/+//7////////+/////////////////////////////////////////////////////////9n/////////////4fzx/f///v/////q+vH6/f/9/v/////+////////////3/7+///////////u/f7+///////////4/v//////////+f7////////////////////////////9////////////9/7////////////////////////////9/v///////////P/////////////////////////////+/v///////////f/////////////////////////////+/f//////////+v/////////////+/////////////////////////////////////////////////////////7r7+v//////////6vv0/v/////////7+/P9/v/+///////9/v//////////7P3+///////////7/f3+/v/////////+/v///////////v7+///////////////////////////+/////////////v7////////////+/////////////////////////////v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j/////////////+v78/v/////////4/vn9///////////9/f//////////9v39///////////8/vv+/v/////////+/P//////////+P79///////////9//7+///////////7/v//////////9fv+///////////9/f7////////////7/f///////////P3+/////////////v/////////////8////////////+f/+//////////////7//////////////f//////////+v///////////////////////////////////////////v///////////////////////////wAHBgYFBQUFBAQEBAQEBAQDAwMDAwMDAwMDAwMDAwMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID9iP7/5NuAgICAgL2B8v/j1f/bgICAan7j/NbR//+AgIABYvj/7OL//4CAgLWF7v7d6v+agICATobK98a0/9uAgIABufn/8/+AgICAgLiW9//s4ICAgICATW7Y/+zmgICAgIABZfv/8f+AgICAgKqL8fzs0f//gICAJXTE8+T///+AgIABzP7/9f+AgICAgM+g+v/ugICAgICAZmfn/9OrgICAgIABmPz/8P+AgICAgLGH8//q4YCAgICAUIHT/8LggICAgIABAf+AgICAgICAgPYB/4CAgICAgICA/4CAgICAgICAgIDGI+3fwbuioJGbPoMtxt2ssNyd/N0BRC+S0JWn3aL/34ABlfH/3eD//4CAgLiN6v3e3P/HgICAUWO18rC++cr//4ABgej91sXyxP//gGN50vrJxv/KgICAF1uj8qq799L//4AByPb/6v+AgICAgG2y8f/n9f//gICALILJ/c3A//+AgIABhO/729H/pYCAgF6I4fvavv//gICAFmSu9bqh/8eAgIABtvn/6OuAgICAgHyP8f/j6oCAgICAI021+8HT/82AgIABnff/7Of//4CAgHmN6//h4///gICALWO8+8PZ/+CAgIABAfv/1f+AgICAgMsB+P//gICAgICAiQGx/+D/gICAgID9Cfj7z9D/wICAgK8N4PPBufnG//+ASRGr3aGz7Kf/6oABX/f91Lf//4CAgO9a9PrT0f//gICAm03D+LzD//+AgIABGO/72tv/zYCAgMkz2//EuoCAgICARS6+78na/+SAgIABv/v//4CAgICAgN+l+f/V/4CAgICAjXz4//+AgICAgIABEPj//4CAgICAgL4k5v/s/4CAgICAlQH/gICAgICAgIAB4v+AgICAgICAgPfA/4CAgICAgICA8ID/gICAgICAgIABhvz//4CAgICAgNU++v//gICAgICAN13/gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDKGNXrur/coPCv/34mtuipuOSu/7uAPS6K25ey8Kr/2IABcOb6x7/3n///gKZt5PzT1/+ugICAJ02i6Ky09bL//4ABNNz2xsf53P//gHxKv/O3wfrd//+AGEeC25qq87b//4ABtuH52/D/4ICAgJWW4vzYzf+rgICAHGyq8rfC/t///4ABUeb8zMv/wICAgHtm0fe8xP/pgICAFF+Z86St/8uAgIAB3vj/2NWAgICAgKiv9vzrzf//gICAL3TX/9PU//+AgIABeez91Nb//4CAgI1U1fzJyv/bgICAKlCg8KK5/82AgIABAf+AgICAgICAgPQB/4CAgICAgICA7gH/gICAgICAgIDt9v39/v7+/v7+/v7+/vr6/P7+5/P1/f7+/v7+/v7+/v77+/7+/gAAAAAAAAAAAACigOGSrJPWJ5yAgYRLkbLO7/7+pIDMqnfrjObkgIKCSpS0y+z+/gAAAAAAAAAAAACAAAAAcAAQAGAAIABQADAAQABAADAAUAAgAGAAEABwAAAAAACAAAAAAAAAAAAA+v97AAwA//8AAAIA9f9sACQA+P8BAAAA9/9dADIA+v8AAAMA8P9NAE0A8P8DAAAA+v8yAF0A9/8AAAEA+P8kAGwA9f8CAAAA//8MAHsA+v8AAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABEAAAASAAAAEwAAABQAAAAUAAAAFQAAABUAAAAWAAAAFgAAABcAAAAXAAAAGAAAABkAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFsAAABdAAAAXwAAAGAAAABiAAAAZAAAAGUAAABmAAAAaAAAAGoAAABsAAAAbgAAAHAAAAByAAAAdAAAAHYAAAB6AAAAfAAAAH4AAACAAAAAggAAAIQAAACGAAAAiAAAAIoAAACMAAAAjwAAAJEAAACUAAAAlwAAAJoAAACdAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADwAAAA+AAAAQAAAAEIAAABEAAAARgAAAEgAAABKAAAATAAAAE4AAABQAAAAUgAAAFQAAABWAAAAWAAAAFoAAABcAAAAXgAAAGAAAABiAAAAZAAAAGYAAABoAAAAagAAAGwAAABuAAAAcAAAAHIAAAB0AAAAdwAAAHoAAAB9AAAAgAAAAIMAAACGAAAAiQAAAIwAAACPAAAAkgAAAJUAAACYAAAAmwAAAJ4AAAChAAAApAAAAKcAAACqAAAArQAAALEAAAC1AAAAuQAAAL0AAADBAAAAxQAAAMkAAADNAAAA0QAAANUAAADZAAAA3QAAAOEAAADlAAAA6gAAAO8AAAD1AAAA+QAAAP4AAAADAQAACAEAAA0BAAASAQAAFwEAABwBAACTiBLfASJqkQHQAQGzeQHfASKzeQHQAQEAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8AAQQFCAkMDQIDBgcKCw4PAAEEBQIDBgcICQwNCgsODwABAgMEBQYHCAkKCwwNDg8ACAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACCAoAAAAAAAAAAAAAAAAAAQIDBAUGBwgJCgsMDQ4PBwAAAAEAAAABAAAAjwAAAA4AAAASAAAADgAAAGsAAACHAAAAQAAAADkAAABEAAAAPAAAADgAAACAAAAAQQAAAJ8AAACGAAAAgAAAACIAAADqAAAAvAAAAIAAAAAcAAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAACEHgAABQAAAAEAEAAJAAAAAQAAABAAAAABAAAACgAAAAEAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFdlYk0gUHJvamVjdCBWUDggRGVjb2RlciB2MS44LjAASW52YWxpZCBmcmFtZSB3aWR0aABJbnZhbGlkIGZyYW1lIGhlaWdodABGYWlsZWQgdG8gYWxsb2NhdGUgZnJhbWUgYnVmZmVycwBJbnZhbGlkIHJlZmVyZW5jZSBmcmFtZQBJbmNvcnJlY3QgYnVmZmVyIGRpbWVuc2lvbnMAkZyjgKJlzI5yt3haT4VXVVBvlwACBAb//v38/AIEBgD//v0AAv8E/v0CCAQGAP/+/QoM/Pv6+bSiGVRydW5jYXRlZCBwYWNrZXQAVHJ1bmNhdGVkIHBhY2tldCBvciBjb3JydXB0IHBhcnRpdGlvbiAwIGxlbmd0aABJbnZhbGlkIGZyYW1lIHN5bmMgY29kZQBUcnVuY2F0ZWQga2V5IGZyYW1lIGhlYWRlcgBGYWlsZWQgdG8gYWxsb2NhdGUgYm9vbCBkZWNvZGVyIDAAQ29ycnVwdGVkIGZyYWdtZW50IHNpemUgJWQAVHJ1bmNhdGVkIHBhY2tldCBvciBjb3JydXB0IHBhcnRpdGlvbi4gTm8gYnl0ZXMgbGVmdCAlZC4AVHJ1bmNhdGVkIHBhcnRpdGlvbiBzaXplIGRhdGEAVHJ1bmNhdGVkIHBhY2tldCBvciBjb3JydXB0IHBhcnRpdGlvbiAlZCBsZW5ndGgARmFpbGVkIHRvIGFsbG9jYXRlIGJvb2wgZGVjb2RlciAlZABBIHN0cmVhbSBtdXN0IHN0YXJ0IHdpdGggYSBjb21wbGV0ZSBrZXkgZnJhbWUArZSMALCbjIcAtJ2NhoIA/v7z5sSxmYyFgoEACAgEAS0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAu";
     16function ma(a){B("Cannot enlarge memory arrays to size "+a+" bytes. Either (1) compile with  -s TOTAL_MEMORY=X  with X higher than the current value "+E+", (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 ")}var na=!1;
     17function aa(a){for(var c=[],d=0;d<a.length;d++){var e=a[d];255<e&&(na&&assert(!1,"Character code "+e+" ("+String.fromCharCode(e)+")  at offset "+d+" not in 0x00-0xFF."),e&=255);c.push(String.fromCharCode(e))}return c.join("")}
     18var ua="function"===typeof atob?atob:function(a){var c="",d=0;a=a.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(d++));var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(d++));var h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(d++));var l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(d++));e=e<<2|g>>4;
     19g=(g&15)<<4|h>>2;var m=(h&3)<<6|l;c+=String.fromCharCode(e);64!==h&&(c+=String.fromCharCode(g));64!==l&&(c+=String.fromCharCode(m))}while(d<a.length);return c};
     20function A(a){if(String.prototype.startsWith?a.startsWith(O):0===a.indexOf(O)){a=a.slice(O.length);if("boolean"===typeof u&&u){try{var c=Buffer.from(a,"base64")}catch(h){c=new Buffer(a,"base64")}var d=new Uint8Array(c.buffer,c.byteOffset,c.byteLength)}else try{var e=ua(a),g=new Uint8Array(e.length);for(c=0;c<e.length;++c)g[c]=e.charCodeAt(c);d=g}catch(h){throw Error("Converting base64 string to bytes failed.");}return d}}
     21var va={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Float32Array:Float32Array,Float64Array:Float64Array},Ca={a:B,b:function(a){da=a},c:function(){return da},d:function(a,c,d){var e=P();try{return wa(a,c,d)}catch(g){Q(e);if(g!==g+0&&"longjmp"!==g)throw g;R(1,0)}},e:function(a,c,d,e){var g=P();try{return xa(a,c,d,e)}catch(h){Q(g);if(h!==h+0&&"longjmp"!==h)throw h;R(1,0)}},f:function(a,c,d,e,g,h){var l=P();try{return ya(a,c,
     22d,e,g,h)}catch(m){Q(l);if(m!==m+0&&"longjmp"!==m)throw m;R(1,0)}},g:function(a){var c=P();try{za(a)}catch(d){Q(c);if(d!==d+0&&"longjmp"!==d)throw d;R(1,0)}},h:function(a,c){var d=P();try{Aa(a,c)}catch(e){Q(d);if(e!==e+0&&"longjmp"!==e)throw e;R(1,0)}},i:function(a,c,d,e,g){var h=P();try{Ba(a,c,d,e,g)}catch(l){Q(h);if(l!==l+0&&"longjmp"!==l)throw l;R(1,0)}},j:function(a){b.___errno_location&&(D[b.___errno_location()>>2]=a);return a},k:function(){return E},l:function(a,c,d){C.set(C.subarray(c,c+d),
     23a)},m:function(a){ma(a)},n:function(a,c){R(a,c||1);throw"longjmp";},o:function(a,c,d,e,g,h,l,m,U,H,L,M,V,W,oa,pa){function X(a,c,d,e,g,h,l,m){a=Ka.subarray(a,a+c*d);var k=a.buffer;"function"===typeof k.slice?(a=k.slice(a.byteOffset,a.byteOffset+a.byteLength),a=new Uint8Array(a)):a=new Uint8Array(a);var w,t;for(w=t=0;w<g;w++,t+=c)for(k=0;k<c;k++)a[t+k]=m;for(;w<g+l;w++,t+=c){for(k=0;k<e;k++)a[t+k]=m;for(k=e+h;k<c;k++)a[t+k]=m}for(;w<d;w++,t+=c)for(k=0;k<c;k++)a[t+k]=m;return a}var Ka=b.HEAPU8,N=b.videoFormat,
     24qa=(V&-2)*U/l,ra=(W&-2)*H/m,sa=L*U/l,ta=M*H/m;L===N.cropWidth&&M===N.cropHeight&&(oa=N.displayWidth,pa=N.displayHeight);b.frameBuffer={format:{width:l,height:m,chromaWidth:U,chromaHeight:H,cropLeft:V,cropTop:W,cropWidth:L,cropHeight:M,displayWidth:oa,displayHeight:pa},y:{bytes:X(a,c,m,V,W,L,M,0),stride:c},u:{bytes:X(d,e,H,qa,ra,sa,ta,128),stride:e},v:{bytes:X(g,h,H,qa,ra,sa,ta,128),stride:h}}},p:ma,q:9504,r:9264};// EMSCRIPTEN_START_ASM
     25var S=(/** @suppress {uselessCode} */ function(global,env,buffer) {
     26"use asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.q|0,i=env.r|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.Math.imul,s=global.Math.clz32,t=env.a,u=env.b,v=env.c,w=env.d,x=env.e,y=env.f,z=env.g,A=env.h,B=env.i,C=env.j,D=env.k,E=env.l,F=env.m,G=env.n,H=env.o,I=env.p,J=9520,K=5252400,L=0.0;
     27// EMSCRIPTEN_START_FUNCS
     28function U(a){a=a|0;var b=0;b=J;J=J+a|0;J=J+15&-16;return b|0}function V(){return J|0}function W(a){a=a|0;J=a}function X(a,b){a=a|0;b=b|0;J=a;K=b}function Y(){var a=0,b=0,d=0;a=J;J=J+16|0;b=a;d=ua()|0;c[2156]=d;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;ba(8628,d,b,0,12)|0;J=a;return}function Z(){return 0}function _(){return}function $(a,b){a=a|0;b=b|0;return 0}function aa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=J;J=J+16|0;h=i;ca(8628,a,b,0,1)|0;ca(8628,0,0,0,1)|0;c[h>>2]=0;b=da(8628,h)|0;if(!b){h=0;J=i;return h|0}a=0;a:while(1){if(a|0){b=4;break}e=c[b+28>>2]|0;g=(e&1)+e|0;switch(c[b>>2]|0){case 258:{f=c[b+12>>2]|0;a=g>>1;d=f>>>1;break}case 261:{f=c[b+12>>2]|0;a=g;d=f>>>1;break}case 262:{f=c[b+12>>2]|0;a=g;d=f;break}default:{a=0;b=11;break a}}H(c[b+48>>2]|0,c[b+64>>2]|0,c[b+52>>2]|0,c[b+68>>2]|0,c[b+56>>2]|0,c[b+72>>2]|0,f|0,g|0,d|0,a|0,c[b+24>>2]|0,e|0,0,0,c[b+32>>2]|0,c[b+36>>2]|0);b=da(8628,h)|0;if(!b){a=1;b=11;break}else a=1}if((b|0)==4){do{}while((da(8628,h)|0)!=0);J=i;return a|0}else if((b|0)==11){J=i;return a|0}return 0}function ba(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;do if((f|0)==12)if((a|0)!=0&(b|0)!=0)if((c[b+4>>2]|0)==5){if(e&65536|0?(c[b+8>>2]&262144|0)==0:0){f=4;break}if(e&131072|0?(c[b+8>>2]&524288|0)==0:0){f=4;break}g=c[b+8>>2]|0;if(!((e&262144|0)!=0&(g&1048576|0)==0|(g&1|0)==0)){g=a+8|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[a+4>>2]=b;c[a>>2]=c[b>>2];g=a+24|0;c[g>>2]=0;c[a+16>>2]=e;c[a+20>>2]=d;f=N[c[b+12>>2]&15](a,0)|0;if(!f)f=0;else{b=c[g>>2]|0;if(!b)b=0;else b=c[b>>2]|0;c[a+12>>2]=b;ea(a)|0}}else f=4}else f=3;else{f=8;h=13}else{f=3;h=13}while(0);if((h|0)==13)if(!a){h=f;return h|0}c[a+8>>2]=f;h=f;return h|0}function ca(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if(!a){a=8;return a|0}if((b|0)==0^(d|0)!=0){h=c[a+4>>2]|0;if((h|0)!=0?(g=c[a+24>>2]|0,(g|0)!=0):0)b=P[c[h+32>>2]&3](g,b,d,e,f)|0;else b=1}else b=8;c[a+8>>2]=b;a=b;return a|0}function da(a,b){a=a|0;b=b|0;var d=0;if(!((a|0)!=0&(b|0)!=0)){d=0;return d|0}d=c[a+4>>2]|0;if(!d){d=0;return d|0}a=c[a+24>>2]|0;if(!a){d=0;return d|0}d=N[c[d+36>>2]&15](a,b)|0;return d|0}function ea(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a){a=8;return a|0}b=a+4|0;d=c[b>>2]|0;if((d|0)!=0?(e=a+24|0,f=c[e>>2]|0,(f|0)!=0):0){M[c[d+16>>2]&1](f)|0;c[b>>2]=0;c[a>>2]=0;c[e>>2]=0;b=0}else b=1;c[a+8>>2]=b;a=b;return a|0}function fa(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=J;J=J+16|0;g=h;c[b>>2]=d;d=b+4|0;c[d>>2]=0;if(e|0){c[d>>2]=1;c[g>>2]=f;Oc(b+8|0,79,e,g)|0;a[b+87>>0]=0}if(!(c[b+88>>2]|0)){J=h;return}else G(b+92|0,c[b>>2]|0)}function ga(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=J;J=J+128|0;d=f;g=(c[b>>2]|0)+(4-1)&~(4-1);e=c[g>>2]|0;c[b>>2]=g+4;if(!e){g=8;J=f;return g|0}g=c[e+28>>2]|0;i=c[e+32>>2]|0;h=(g+1|0)>>>1;b=(i+1|0)>>>1;c[d+52>>2]=c[e+52>>2];c[d+56>>2]=c[e+56>>2];c[d+60>>2]=c[e+60>>2];c[d+8>>2]=g;c[d+12>>2]=i;c[d>>2]=g;c[d+4>>2]=i;c[d+28>>2]=h;c[d+32>>2]=b;c[d+20>>2]=h;c[d+24>>2]=b;b=c[e+68>>2]|0;c[d+16>>2]=b;c[d+36>>2]=c[e+72>>2];c[d+76>>2]=(b-g|0)>>>1;g=wa(c[a+348>>2]|0,c[e>>2]|0,d)|0;J=f;return g|0}function ha(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=J;J=J+128|0;d=f;g=(c[b>>2]|0)+(4-1)&~(4-1);e=c[g>>2]|0;c[b>>2]=g+4;if(!e){g=8;J=f;return g|0}g=c[e+28>>2]|0;i=c[e+32>>2]|0;h=(g+1|0)>>>1;b=(i+1|0)>>>1;c[d+52>>2]=c[e+52>>2];c[d+56>>2]=c[e+56>>2];c[d+60>>2]=c[e+60>>2];c[d+8>>2]=g;c[d+12>>2]=i;c[d>>2]=g;c[d+4>>2]=i;c[d+28>>2]=h;c[d+32>>2]=b;c[d+20>>2]=h;c[d+24>>2]=b;b=c[e+68>>2]|0;c[d+16>>2]=b;c[d+36>>2]=c[e+72>>2];c[d+76>>2]=(b-g|0)>>>1;g=va(c[a+348>>2]|0,c[e>>2]|0,d)|0;J=f;return g|0}function ia(a,b){a=a|0;b=b|0;return 4}function ja(a,b){a=a|0;b=b|0;var d=0,e=0;e=(c[b>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[b>>2]=e+4;if(!d){e=8;return e|0}e=c[a+348>>2]|0;c[d>>2]=(c[e+9392>>2]<<1)+(c[e+9396>>2]<<2)+(c[e+9388>>2]|0);e=0;return e|0}function ka(a,b){a=a|0;b=b|0;var d=0,e=0;e=(c[b>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[b>>2]=e+4;a=c[a+348>>2]|0;if(!((d|0)!=0&(a|0)!=0)){e=8;return e|0}a=c[a+5300>>2]|0;if(!a){e=1;return e|0}c[d>>2]=c[a+112>>2];e=0;return e|0}function la(a,b){a=a|0;b=b|0;var d=0,e=0;e=(c[b>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[b>>2]=e+4;if(!d){e=8;return e|0}e=(c[a+348>>2]|0)+3488|0;b=(za(e,3)|0)==0;a=(za(e,2)|0)==0;c[d>>2]=(a?0:2)|(b?0:4)|(za(e,1)|0)!=0;e=0;return e|0}function ma(a,b){a=a|0;b=b|0;var d=0,e=0;e=(c[b>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[b>>2]=e+4;if(!d){e=8;return e|0}c[d>>2]=Da(c[a+348>>2]|0)|0;e=0;return e|0}function na(a,b){a=a|0;b=b|0;var d=0,e=0;e=(c[b>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[b>>2]=e+4;if(!d){c[a+232>>2]=0;c[a+236>>2]=0;return 0}else{c[a+232>>2]=c[d>>2];c[a+236>>2]=c[d+4>>2];return 0}return 0}function oa(a,b){a=a|0;b=b|0;var d=0,e=0;Sa();Ka();Ja();e=a+24|0;if(c[e>>2]|0){e=0;return e|0}b=Fa(1,560)|0;if(!b){e=2;return e|0}c[e>>2]=b;c[b+4>>2]=c[a+16>>2];c[b+196>>2]=16;c[b+232>>2]=0;c[b+236>>2]=0;a=a+20|0;d=c[a>>2]|0;if(d){b=b+184|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[a>>2]=b;b=c[e>>2]|0}c[b+484>>2]=0;c[b+480>>2]=c[b+4>>2]&262144;e=0;return e|0}function pa(a){a=a|0;Ca(a+348|0)|0;Ga(a);return 0}function qa(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;if((e|0)<1){g=8;return g|0}g=f+12|0;c[g>>2]=0;if(e>>>0<=9){g=5;return g|0}if(a[b>>0]&1){g=5;return g|0}c[g>>2]=1;if((a[b+3>>0]|0)!=-99){g=5;return g|0}if((a[b+4>>0]|0)!=1){g=5;return g|0}if((a[b+5>>0]|0)!=42){g=5;return g|0}e=d[b+7>>0]<<8&16128|d[b+6>>0];c[f+4>>2]=e;g=d[b+9>>0]<<8&16128|d[b+8>>0];c[f+8>>2]=g;g=(e|0)==0|(g|0)==0?7:0;return g|0}function ra(a,b){a=a|0;b=b|0;a=a+196|0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];c[b>>2]=16;return 0}function sa(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,z=0,C=0,D=0,E=0,F=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;R=J;J=J+80|0;M=R+16|0;L=R+8|0;K=R;N=4;Q=zc(40)|0;c[Q>>2]=0;o=R+56|0;P=R+52|0;t=R+48|0;r=R+24|0;c[t>>2]=0;I=b+480|0;i=c[I>>2]|0;m=(e|0)==0;if(m&(i|f|0)==0){P=0;Ac(Q|0);J=R;return P|0}c[P>>2]=0;O=b+484|0;n=c[O>>2]|0;if(!n){l=b+488|0;q=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(q|0))}l=(i|0)==0;if(!(m&(f|0)==0|l)){c[b+488+(n<<2)>>2]=e;c[b+524+(n<<2)>>2]=f;b=(c[O>>2]|0)+1|0;c[O>>2]=b;if(b>>>0>9){c[O>>2]=0;c[P>>2]=8}P=c[P>>2]|0;Ac(Q|0);J=R;return P|0}i=b+488|0;if(l){c[i>>2]=e;c[b+524>>2]=f;c[O>>2]=1;i=e;n=f}else{i=c[i>>2]|0;n=c[b+524>>2]|0}D=b+200|0;E=c[D>>2]|0;F=b+204|0;H=c[F>>2]|0;p=b+232|0;l=c[p>>2]|0;q=b+236|0;m=c[q>>2]|0;a:do if((n|0)<1){i=8;l=23}else{if(l){j=0;B(l|0,m|0,i|0,o|0,(n>>>0<10?n:10)|0);i=j;j=0;if((i|0)!=0&(k|0)!=0){l=vd(c[i>>2]|0,Q|0,N|0)|0;if(!l)G(i|0,k|0);u(k|0)}else l=-1;i=v()|0;switch(l|0){case 1:{m=0;z=0;p=0;o=0;t=0;r=0;s=0;l=63;break a}case 2:{m=0;C=0;p=0;o=0;t=0;r=0;s=0;l=47;break a}default:{}}i=o}l=b+208|0;c[l>>2]=0;do if(n>>>0>9?(a[i>>0]&1)==0:0){c[l>>2]=1;if(((a[i+3>>0]|0)==-99?(a[i+4>>0]|0)==1:0)?(a[i+5>>0]|0)==42:0){C=d[i+7>>0]<<8&16128|d[i+6>>0];c[D>>2]=C;i=d[i+9>>0]<<8&16128|d[i+8>>0];c[F>>2]=i;i=(C|0)==0|(i|0)==0?7:0;break}i=5;l=23;break a}else i=5;while(0);l=23}while(0);b:do if((l|0)==23){c[P>>2]=i;if((c[P>>2]|0)==5?(c[b+208>>2]|0)==0:0)c[P>>2]=0;n=b+212|0;i=c[n>>2]|0;l=(i|0)==0;if(l?(c[b+208>>2]|0)==0:0)c[P>>2]=5;m=c[F>>2]|0;if(!((m|0)==(H|0)?(c[D>>2]|0)==(E|0):0))c[t>>2]=1;if(!((c[P>>2]|0)!=0|l^1)){c[r>>2]=c[D>>2];c[r+4>>2]=m;c[r+8>>2]=9;c[r+12>>2]=0;c[r+16>>2]=c[b+184>>2];C=c[b+4>>2]|0;c[r+20>>2]=C&131072;if(!((C&65536|0)==0|(c[b+216>>2]|0)!=0)){c[b+220>>2]=11;c[b+224>>2]=4;c[b+228>>2]=0}j=0;l=w(12,b+348|0,r|0)|0;i=j;j=0;if((i|0)!=0&(k|0)!=0){m=vd(c[i>>2]|0,Q|0,N|0)|0;if(!m)G(i|0,k|0);u(k|0)}else m=-1;i=v()|0;switch(m|0){case 1:{m=0;z=0;p=0;o=0;t=0;r=0;s=0;l=63;break b}case 2:{m=0;C=0;p=0;o=0;t=0;r=0;s=0;l=47;break b}default:{}}c[P>>2]=l;if(!(c[P>>2]|0)){c[n>>2]=1;i=1}else i=c[n>>2]|0}if(i|0){C=b+348|0;c[(c[C>>2]|0)+12092>>2]=c[p>>2];c[(c[C>>2]|0)+12096>>2]=c[q>>2]}if(!(c[P>>2]|0)){s=c[b+348>>2]|0;r=s+3488|0;if(!(c[t>>2]|0)){i=s+3580|0;m=0;n=0;p=0;o=0;q=0;l=61;break}o=s+5280|0;c[o>>2]=c[D>>2];n=s+5284|0;c[n>>2]=c[F>>2];m=s+3580|0;Q=ud(m,2,Q|0,N|0)|0;N=v()|0;j=0;i=j;j=0;if((i|0)!=0&(k|0)!=0){l=vd(c[i>>2]|0,Q|0,N|0)|0;if(!l)G(i|0,k|0);u(k|0)}else l=-1;i=v()|0;switch(l|0){case 1:{z=r;p=n;t=s;l=63;break b}case 2:{C=r;p=n;t=s;l=47;break b}default:{}}i=0;C=r;p=n;t=s;l=47}else l=75}while(0);c:while(1)if((l|0)==47){z=s+3576|0;if(i|0){l=60;break}c[z>>2]=1;if((c[o>>2]|0)<1){c[o>>2]=E;j=0;B(1,C|0,7,7844,K|0);i=j;j=0;if((i|0)!=0&(k|0)!=0){l=vd(c[i>>2]|0,Q|0,N|0)|0;if(!l)G(i|0,k|0);u(k|0)}else l=-1;i=v()|0;switch(l|0){case 1:{z=C;l=63;continue c}case 2:{U=s;T=r;S=t;n=o;q=p;z=C;l=m;s=U;r=T;t=S;o=n;p=q;C=z;m=l;l=47;continue c}default:{}}}i=c[p>>2]|0;if((i|0)<1){c[p>>2]=H;j=0;B(1,C|0,7,7864,L|0);i=j;j=0;if((i|0)!=0&(k|0)!=0){l=vd(c[i>>2]|0,Q|0,N|0)|0;if(!l)G(i|0,k|0);u(k|0)}else l=-1;i=v()|0;switch(l|0){case 1:{z=C;l=63;continue c}case 2:{n=s;q=r;z=t;S=o;T=p;U=C;l=m;s=n;r=q;t=z;o=S;p=T;C=U;m=l;l=47;continue c}default:{}}i=c[p>>2]|0}j=0;l=x(3,r|0,c[o>>2]|0,i|0)|0;i=j;j=0;if((i|0)!=0&(k|0)!=0){n=vd(c[i>>2]|0,Q|0,N|0)|0;if(!n)G(i|0,k|0);u(k|0)}else n=-1;i=v()|0;switch(n|0){case 1:{z=C;l=63;continue c}case 2:{n=s;q=r;z=t;S=o;T=p;U=C;l=m;s=n;r=q;t=z;o=S;p=T;C=U;m=l;l=47;continue c}default:{}}if(l|0){j=0;B(1,C|0,2,7885,M|0);i=j;j=0;if((i|0)!=0&(k|0)!=0){l=vd(c[i>>2]|0,Q|0,N|0)|0;if(!l)G(i|0,k|0);u(k|0)}else l=-1;i=v()|0;switch(l|0){case 1:{z=C;l=63;continue c}case 2:{n=s;q=r;z=t;S=o;T=p;U=C;l=m;s=n;r=q;t=z;o=S;p=T;C=U;m=l;l=47;continue c}default:{}}}l=s+2848|0;i=s+5304+((c[s+5804>>2]|0)*120|0)|0;q=l+120|0;do{c[l>>2]=c[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(q|0));l=s+2968|0;i=s+5304+((c[s+5800>>2]|0)*120|0)|0;q=l+120|0;do{c[l>>2]=c[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(q|0));j=0;A(1,t|0);i=j;j=0;if((i|0)!=0&(k|0)!=0){l=vd(c[i>>2]|0,Q|0,N|0)|0;if(!l)G(i|0,k|0);u(k|0)}else l=-1;i=v()|0;switch(l|0){case 1:{z=C;l=63;continue c}case 2:{n=s;q=r;z=t;S=o;T=p;U=C;l=m;s=n;r=q;t=z;o=S;p=T;C=U;m=l;l=47;continue c}default:{}}c[z>>2]=0;c[s+5784>>2]=0;i=m;n=C;q=t;l=61;continue}else if((l|0)==61){Q=ud(i,1,Q|0,N|0)|0;N=v()|0;j=0;i=j;j=0;if((i|0)!=0&(k|0)!=0){l=vd(c[i>>2]|0,Q|0,N|0)|0;if(!l)G(i|0,k|0);u(k|0)}else l=-1;i=v()|0;switch(l|0){case 1:{z=n;t=q;l=63;continue c}case 2:{C=n;t=q;l=47;continue c}default:{}}i=0;z=n;t=q;l=63;continue}else if((l|0)==63){if(i|0){l=64;break}c[s+3576>>2]=1;l=s+11972|0;i=I;q=l+80|0;do{c[l>>2]=c[i>>2];l=l+4|0;i=i+4|0}while((l|0)<(q|0));c[b+476>>2]=g;j=0;l=y(2,s|0,f|0,e|0,h|0,((h|0)<0)<<31>>31|0)|0;i=j;j=0;if((i|0)!=0&(k|0)!=0){n=vd(c[i>>2]|0,Q|0,N|0)|0;if(!n)G(i|0,k|0);u(k|0)}else n=-1;i=v()|0;switch(n|0){case 1:{l=63;continue c}case 2:{C=z;l=47;continue c}default:{}}if(l|0){i=c[r>>2]|0;if(i|0)c[b>>2]=(c[s+3492>>2]|0)==0?0:s+3496|0;c[P>>2]=i}c[O>>2]=0;l=75;continue}else if((l|0)==75){i=c[P>>2]|0;l=76;break}if((l|0)==60){c[z>>2]=0;c[D>>2]=0;c[F>>2]=0;U=-1;Ac(Q|0);J=R;return U|0}else if((l|0)==64){c[s+5304+((c[s+5804>>2]|0)*120|0)+112>>2]=1;i=s+5784+(c[s+5800>>2]<<2)|0;l=c[i>>2]|0;if((l|0)>0)c[i>>2]=l+-1;c[s+3576>>2]=0;i=c[r>>2]|0;if(i|0)c[b>>2]=(c[s+3492>>2]|0)==0?0:s+3496|0;c[P>>2]=i;U=c[P>>2]|0;Ac(Q|0);J=R;return U|0}else if((l|0)==76){Ac(Q|0);J=R;return i|0}return 0}function ta(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=J;J=J+176|0;d=i+48|0;e=i+8|0;f=i;g=i+16|0;if(c[b>>2]|0){h=0;J=i;return h|0}h=c[a+348>>2]|0;if(!h){h=0;J=i;return h|0}j=e;c[j>>2]=0;c[j+4>>2]=0;j=f;c[j>>2]=0;c[j+4>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;if(c[a+4>>2]&65536|0){c[g>>2]=c[a+220>>2];c[g+4>>2]=c[a+224>>2];c[g+8>>2]=c[a+228>>2]}if(!(ya(h,d,e,f,g)|0)){j=a+240|0;h=c[a+476>>2]|0;c[j>>2]=258;g=c[d+16>>2]|0;c[a+252>>2]=g;f=c[d+4>>2]|0;c[a+256>>2]=f+79&-16;e=c[d>>2]|0;c[a+272>>2]=e;c[a+264>>2]=e;c[a+276>>2]=f;c[a+268>>2]=f;c[a+280>>2]=1;c[a+284>>2]=1;c[a+288>>2]=c[d+52>>2];c[a+292>>2]=c[d+56>>2];c[a+296>>2]=c[d+60>>2];c[a+300>>2]=0;c[a+304>>2]=g;f=c[d+36>>2]|0;c[a+308>>2]=f;c[a+312>>2]=f;c[a+316>>2]=g;c[a+260>>2]=8;c[a+320>>2]=12;c[a+324>>2]=h;c[a+328>>2]=c[d+68>>2];c[a+332>>2]=0;c[a+336>>2]=0;c[b>>2]=j;a=j}else a=0;j=a;J=i;return j|0}function ua(){return 7360}function va(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=J;J=J+16|0;f=g+8|0;e=a+3488|0;switch(b|0){case 1:{b=a+5804|0;break}case 2:{b=a+5808|0;break}case 4:{b=a+5812|0;break}default:{fa(e,1,7918,g);f=c[e>>2]|0;J=g;return f|0}}h=c[b>>2]|0;b=a+5304+(h*120|0)|0;if((((c[a+5304+(h*120|0)+4>>2]|0)==(c[d+4>>2]|0)?(c[b>>2]|0)==(c[d>>2]|0):0)?(c[a+5304+(h*120|0)+24>>2]|0)==(c[d+24>>2]|0):0)?(c[a+5304+(h*120|0)+20>>2]|0)==(c[d+20>>2]|0):0){Ia(b,d);h=c[e>>2]|0;J=g;return h|0}fa(e,1,7942,f);h=c[e>>2]|0;J=g;return h|0}function wa(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=J;J=J+16|0;e=j+8|0;i=a+3488|0;switch(b|0){case 1:{h=a+5804|0;break}case 2:{h=a+5808|0;break}case 4:{h=a+5812|0;break}default:{fa(i,1,7918,j);i=c[i>>2]|0;J=j;return i|0}}g=c[h>>2]|0;if((((c[a+5304+(g*120|0)+4>>2]|0)==(c[d+4>>2]|0)?(c[a+5304+(g*120|0)>>2]|0)==(c[d>>2]|0):0)?(c[a+5304+(g*120|0)+24>>2]|0)==(c[d+24>>2]|0):0)?(c[a+5304+(g*120|0)+20>>2]|0)==(c[d+20>>2]|0):0){b=a+5784|0;if(c[b>>2]|0){b=a+5788|0;if(c[b>>2]|0){b=a+5792|0;if(!(c[b>>2]|0))g=2;else{b=(c[a+5796>>2]|0)==0?3:4;g=b;b=a+5784+(b<<2)|0}}else g=1}else g=0;c[b>>2]=0;e=a+5784+(c[h>>2]<<2)|0;f=c[e>>2]|0;if((f|0)>0)c[e>>2]=f+-1;c[h>>2]=g;c[b>>2]=(c[b>>2]|0)+1;Ia(d,a+5304+((c[h>>2]|0)*120|0)|0);i=c[i>>2]|0;J=j;return i|0}fa(i,1,7942,e);i=c[i>>2]|0;J=j;return i|0}function xa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+3488|0;c[o>>2]=0;if(((c[a+12076>>2]|0)==0?(c[a+11976>>2]|0)>>>0<2:0)?(c[a+12016>>2]|0)==0:0){h=a+5804|0;b=c[h>>2]|0;d=a+5784+(b<<2)|0;g=c[d>>2]|0;if((g|0)>1){c[d>>2]=g+-1;d=a+5784|0;if(c[d>>2]|0){d=a+5788|0;if(c[d>>2]|0){d=a+5792|0;if(!(c[d>>2]|0))g=2;else{d=(c[a+5796>>2]|0)==0?3:4;g=d;d=a+5784+(d<<2)|0}}else g=1}else g=0;c[d>>2]=1;c[h>>2]=g;Ia(a+5304+(b*120|0)|0,a+5304+(g*120|0)|0);b=c[h>>2]|0}c[a+5304+(b*120|0)+112>>2]=1;c[a+5944>>2]=0;a=0;return a|0}b=a+5784|0;if(c[b>>2]|0){b=a+5788|0;if(c[b>>2]|0){b=a+5792|0;if(!(c[b>>2]|0))d=2;else{b=(c[a+5796>>2]|0)==0?3:4;d=b;b=a+5784+(b<<2)|0}}else d=1}else d=0;c[b>>2]=1;m=a+5800|0;c[m>>2]=d;c[a+3472>>2]=a+5304+(d*120|0);l=a+5804|0;c[a+3476>>2]=a+5304+((c[l>>2]|0)*120|0);i=a+5808|0;c[a+3480>>2]=a+5304+((c[i>>2]|0)*120|0);k=a+5812|0;c[a+3484>>2]=a+5304+((c[k>>2]|0)*120|0);n=qb(a)|0;if((n|0)<0){b=a+5784+(c[m>>2]<<2)|0;d=c[b>>2]|0;if((d|0)>0)c[b>>2]=d+-1;c[o>>2]=1;b=c[a+3224>>2]|0;if(!b){a=n;return a|0}c[o>>2]=b;g=a+3496|0;b=a+3232|0;d=g+80|0;do{c[g>>2]=c[b>>2];g=g+4|0;b=b+4|0}while((g|0)<(d|0));a=n;return a|0}b=c[a+9404>>2]|0;switch(b|0){case 0:break;case 1:{d=c[l>>2]|0;b=0;j=23;break}case 2:{d=c[i>>2]|0;b=0;j=23;break}default:{d=0;b=-1;j=23}}if((j|0)==23){g=a+5784+(c[k>>2]<<2)|0;h=c[g>>2]|0;if((h|0)>0)c[g>>2]=h+-1;c[k>>2]=d;h=a+5784+(d<<2)|0;c[h>>2]=(c[h>>2]|0)+1}switch(c[a+9400>>2]|0){case 0:{h=b;break}case 1:{d=l;j=28;break}case 2:{d=k;j=28;break}default:{h=0;b=-1;j=29}}if((j|0)==28){h=c[d>>2]|0;j=29}if((j|0)==29){d=a+5784+(c[i>>2]<<2)|0;g=c[d>>2]|0;if((g|0)>0)c[d>>2]=g+-1;c[i>>2]=h;h=a+5784+(h<<2)|0;c[h>>2]=(c[h>>2]|0)+1;h=b}if(c[a+9392>>2]|0){b=c[m>>2]|0;d=a+5784+(c[i>>2]<<2)|0;g=c[d>>2]|0;if((g|0)>0)c[d>>2]=g+-1;c[i>>2]=b;j=a+5784+(b<<2)|0;c[j>>2]=(c[j>>2]|0)+1}if(c[a+9396>>2]|0){b=c[m>>2]|0;d=a+5784+(c[k>>2]<<2)|0;g=c[d>>2]|0;if((g|0)>0)c[d>>2]=g+-1;c[k>>2]=b;k=a+5784+(b<<2)|0;c[k>>2]=(c[k>>2]|0)+1}b=c[m>>2]|0;if(!(c[a+9388>>2]|0))c[a+5300>>2]=a+5304+(b*120|0);else{d=a+5784+(c[l>>2]<<2)|0;g=c[d>>2]|0;if((g|0)>0)c[d>>2]=g+-1;c[l>>2]=b;b=a+5784+(b<<2)|0;c[b>>2]=(c[b>>2]|0)+1;c[a+5300>>2]=a+5304+((c[l>>2]|0)*120|0);b=c[m>>2]|0}m=a+5784+(b<<2)|0;c[m>>2]=(c[m>>2]|0)+-1;if(h|0){c[o>>2]=1;a=n;return a|0}if(c[a+5944>>2]|0){o=a+11668|0;c[o>>2]=(c[o>>2]|0)+1;c[a+6016>>2]=c[a+6012>>2]}c[a+12064>>2]=0;a=a+12056|0;c[a>>2]=e;c[a+4>>2]=f;a=n;return a|0}function ya(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;f=a+12064|0;if((c[f>>2]|0)==1){b=-1;return b|0}if(!(c[a+5944>>2]|0)){b=-1;return b|0}c[f>>2]=1;h=a+12056|0;g=c[h+4>>2]|0;f=d;c[f>>2]=c[h>>2];c[f+4>>2]=g;f=e;c[f>>2]=0;c[f+4>>2]=0;f=c[a+5300>>2]|0;if(!f){h=-1;return h|0}e=b;d=e+120|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(d|0));c[b>>2]=c[a+5280>>2];h=c[a+5284>>2]|0;c[b+4>>2]=h;c[b+24>>2]=(h|0)/2|0;h=0;return h|0}function za(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;g=c[a+2468>>2]|0;if((g|0)<=0){h=0;return h|0}h=c[a+2472>>2]|0;if((h|0)<=0){h=0;return h|0}f=0;a=c[a+2524>>2]|0;a:while(1){e=0;while(1){if((d[a+2>>0]|0|0)==(b|0)){a=1;e=8;break a}e=e+1|0;if((e|0)>=(h|0))break;else a=a+76|0}f=f+1|0;if((f|0)>=(g|0)){a=0;e=8;break}else a=a+152|0}if((e|0)==8)return a|0;return 0}function Aa(a,b){a=a|0;b=b|0;b=Ba()|0;c[a>>2]=b;return (b|0)==0|0}function Ba(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;h=4;i=zc(40)|0;c[i>>2]=0;j=0;g=w(13,32,12112)|0;a=j;j=0;if((a|0)!=0&(k|0)!=0){b=vd(c[a>>2]|0,i|0,h|0)|0;if(!b)G(a|0,k|0);u(k|0)}else b=-1;d=v()|0;if((b|0)!=1){if(!g){l=0;Ac(i|0);return l|0}yd(g|0,0,12112)|0;d=g+3488|0;i=ud(g+3580|0,1,i|0,h|0)|0;h=v()|0;j=0;a=j;j=0;if((a|0)!=0&(k|0)!=0){e=vd(c[a>>2]|0,i|0,h|0)|0;if(!e)G(a|0,k|0);u(k|0)}else e=-1;b=v()|0;if((e|0)==1){f=d;a=g}else{f=d;a=g;b=0}}else{f=0;a=0;b=d}while(1){e=g+3576|0;if(b|0){c[e>>2]=0;j=0;A(2,f|0);b=j;j=0;if((b|0)!=0&(k|0)!=0){d=vd(c[b>>2]|0,i|0,h|0)|0;if(!d)G(b|0,k|0);u(k|0)}else d=-1;b=v()|0;if((d|0)==1){d=a;e=f;a=d;f=e;continue}j=0;A(3,g|0);b=j;j=0;if((b|0)!=0&(k|0)!=0){d=vd(c[b>>2]|0,i|0,h|0)|0;if(!d)G(b|0,k|0);u(k|0)}else d=-1;b=v()|0;if((d|0)==1){d=a;e=f;a=d;f=e;continue}else{l=8;break}}c[e>>2]=1;j=0;A(4,f|0);b=j;j=0;if((b|0)!=0&(k|0)!=0){d=vd(c[b>>2]|0,i|0,h|0)|0;if(!d)G(b|0,k|0);u(k|0)}else d=-1;b=v()|0;if((d|0)==1){d=a;e=f;a=d;f=e;continue}c[g+11668>>2]=0;c[g+12064>>2]=1;j=0;A(5,a|0);b=j;j=0;if((b|0)!=0&(k|0)!=0){d=vd(c[b>>2]|0,i|0,h|0)|0;if(!d)G(b|0,k|0);u(k|0)}else d=-1;b=v()|0;if((d|0)==1){d=a;e=f;a=d;f=e;continue}j=0;A(6,f|0);b=j;j=0;if((b|0)!=0&(k|0)!=0){d=vd(c[b>>2]|0,i|0,h|0)|0;if(!d)G(b|0,k|0);u(k|0)}else d=-1;b=v()|0;if((d|0)==1){d=a;e=f;a=d;f=e;continue}c[e>>2]=0;b=g+12072|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;j=0;A(7,g|0);b=j;j=0;if((b|0)!=0&(k|0)!=0){d=vd(c[b>>2]|0,i|0,h|0)|0;if(!d)G(b|0,k|0);u(k|0)}else d=-1;b=v()|0;if((d|0)==1){d=a;e=f;a=d;f=e;continue}if(c[2164]|0){l=19;break}if(c[2165]|0)break;j=0;z(1);b=j;j=0;if((b|0)!=0&(k|0)!=0){d=vd(c[b>>2]|0,i|0,h|0)|0;if(!d)G(b|0,k|0);u(k|0)}else d=-1;b=v()|0;if((d|0)==1){d=a;e=f;a=d;f=e;continue}j=0;z(2);b=j;j=0;if((b|0)!=0&(k|0)!=0){d=vd(c[b>>2]|0,i|0,h|0)|0;if(!d)G(b|0,k|0);u(k|0)}else d=-1;b=v()|0;if((d|0)!=1){l=17;break}else{d=a;e=f;a=d;f=e}}if((l|0)==8){l=0;Ac(i|0);return l|0}else if((l|0)==17)c[2165]=1;else if((l|0)==19){Ac(i|0);return a|0}c[2164]=1;l=a;Ac(i|0);return l|0}function Ca(a){a=a|0;a=c[a>>2]|0;if(!a){a=1;return a|0}Oa(a+3488|0);Ga(a);a=0;return a|0}function Da(a){a=a|0;return c[a+5984>>2]|0}function Ea(a,b){a=a|0;b=b|0;var d=0;d=md(a|0,0,3,0)|0;b=md(d|0,v()|0,b|0,0)|0;d=v()|0;if(d>>>0>0|(d|0)==0&b>>>0>2147418112|((b|0)!=(b|0)|(d|0)!=0)){a=0;return a|0}d=zc(b)|0;b=a+-1+(d+4)&0-a;if(!d){a=0;return a|0}c[b+-4>>2]=d;a=b;return a|0}function Fa(a,b){a=a|0;b=b|0;var d=0,e=0;if(a|0?(e=(a|0)==0,(2147418112/(a>>>0)|0)>>>0<b>>>0?1:e?0:(((b*a|0)>>>0)/((e?1:a)>>>0)|0|0)!=(b|0)):0){e=0;return e|0}e=b*a|0;a=md(e|0,0,11,0)|0;d=v()|0;if(d>>>0>0|(d|0)==0&a>>>0>2147418112|((a|0)!=(e+11|0)|(d|0)!=0)){e=0;return e|0}a=zc(a)|0;b=a+4+7&-8;d=b;if(!a){e=0;return e|0}c[d+-4>>2]=a;if(!b){e=0;return e|0}yd(d|0,0,e|0)|0;e=d;return e|0}function Ga(a){a=a|0;if(!a)return;Ac(c[a+-4>>2]|0);return}function Ha(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=c[b+76>>2]|0;w=(u|0)/2|0;l=c[b+52>>2]|0;p=c[b+16>>2]|0;d=c[b+8>>2]|0;j=c[b+12>>2]|0;n=u-j+(c[b+4>>2]|0)|0;o=(c[b>>2]|0)+u|0;i=o-d|0;o=o+u|0;d=l+d|0;k=0-u|0;m=l+k|0;if((j|0)>0){e=m;f=d+-1|0;g=l;h=0;while(1){yd(e|0,a[g>>0]|0,u|0)|0;yd(d|0,a[f>>0]|0,i|0)|0;h=h+1|0;if((h|0)==(j|0))break;else{e=e+p|0;f=f+p|0;g=g+p|0;d=d+p|0}}}g=l+((j+-1|0)*p|0)+k|0;d=l+(j*p|0)+k|0;if((u|0)>0){e=l+(p*k|0)+k|0;f=0;while(1){xd(e|0,m|0,o|0)|0;f=f+1|0;if((f|0)==(u|0))break;else e=e+p|0}}if((n|0)>0){e=0;while(1){xd(d|0,g|0,o|0)|0;e=e+1|0;if((e|0)==(n|0))break;else d=d+p|0}}k=c[b+56>>2]|0;p=b+36|0;m=c[p>>2]|0;q=b+28|0;d=c[q>>2]|0;r=b+32|0;j=c[r>>2]|0;s=b+24|0;n=w-j+(c[s>>2]|0)|0;t=b+20|0;o=(c[t>>2]|0)+w|0;i=o-d|0;o=o+w|0;d=k+d|0;v=0-w|0;l=k+v|0;if((j|0)>0){e=l;f=d+-1|0;g=k;h=0;while(1){yd(e|0,a[g>>0]|0,w|0)|0;yd(d|0,a[f>>0]|0,i|0)|0;h=h+1|0;if((h|0)==(j|0))break;else{e=e+m|0;f=f+m|0;g=g+m|0;d=d+m|0}}}g=k+((j+-1|0)*m|0)+v|0;d=k+(j*m|0)+v|0;u=(u|0)>1;if(u){e=k+(m*v|0)+v|0;f=0;while(1){xd(e|0,l|0,o|0)|0;f=f+1|0;if((f|0)==(w|0))break;else e=e+m|0}}if((n|0)>0){e=0;while(1){xd(d|0,g|0,o|0)|0;e=e+1|0;if((e|0)==(n|0))break;else d=d+m|0}}n=c[b+60>>2]|0;o=c[p>>2]|0;d=c[q>>2]|0;j=c[r>>2]|0;m=w-j+(c[s>>2]|0)|0;l=(c[t>>2]|0)+w|0;i=l-d|0;l=l+w|0;d=n+d|0;k=n+v|0;if((j|0)>0){e=k;f=d+-1|0;g=n;h=0;while(1){yd(e|0,a[g>>0]|0,w|0)|0;yd(d|0,a[f>>0]|0,i|0)|0;h=h+1|0;if((h|0)==(j|0))break;else{e=e+o|0;f=f+o|0;g=g+o|0;d=d+o|0}}}g=n+((j+-1|0)*o|0)+v|0;d=n+(j*o|0)+v|0;if(u){e=n+(o*v|0)+v|0;f=0;while(1){xd(e|0,k|0,l|0)|0;f=f+1|0;if((f|0)==(w|0))break;else e=e+o|0}}if((m|0)<=0)return;e=0;while(1){xd(d|0,g|0,l|0)|0;e=e+1|0;if((e|0)==(m|0))break;else d=d+o|0}return}function Ia(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+4|0;if((c[h>>2]|0)>0){i=a+16|0;g=b+16|0;d=c[a+52>>2]|0;e=0;f=c[b+52>>2]|0;while(1){xd(f|0,d|0,c[a>>2]|0)|0;e=e+1|0;if((e|0)>=(c[h>>2]|0))break;else{d=d+(c[i>>2]|0)|0;f=f+(c[g>>2]|0)|0}}}k=a+24|0;if((c[k>>2]|0)<=0){Ha(b);return}g=a+20|0;h=a+36|0;i=b+36|0;d=c[a+56>>2]|0;e=0;f=c[b+56>>2]|0;while(1){xd(f|0,d|0,c[g>>2]|0)|0;e=e+1|0;j=c[k>>2]|0;if((e|0)>=(j|0))break;else{d=d+(c[h>>2]|0)|0;f=f+(c[i>>2]|0)|0}}if((j|0)<=0){Ha(b);return}g=a+20|0;h=a+36|0;i=b+36|0;d=c[a+60>>2]|0;e=0;f=c[b+60>>2]|0;while(1){xd(f|0,d|0,c[g>>2]|0)|0;e=e+1|0;if((e|0)>=(c[k>>2]|0))break;else{d=d+(c[h>>2]|0)|0;f=f+(c[i>>2]|0)|0}}Ha(b);return}function Ja(){if(c[2166]|0)return;c[2166]=1;return}function Ka(){if(c[2167]|0)return;c[2167]=1;return}function La(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=a+1816|0;vb(h)|0;l=a+1936|0;vb(l)|0;m=a+2056|0;vb(m)|0;p=a+2176|0;vb(p)|0;q=a+2328|0;vb(q)|0;r=a+5940|0;Ga(c[r>>2]|0);f=a+2520|0;Ga(c[f>>2]|0);c[r>>2]=0;c[f>>2]=0;e=b&15;e=((e|0)==0?0:16-e|0)+b|0;b=d&15;b=((b|0)==0?0:16-b|0)+d|0;d=a+2296|0;c[d>>2]=0;c[a+1932>>2]=0;if(((((((xb(h,e,b,32)|0)>=0?(g=a+2300|0,c[g>>2]=0,c[a+2052>>2]=0,(xb(l,e,b,32)|0)>=0):0)?(n=a+2304|0,c[n>>2]=0,c[a+2172>>2]=0,(xb(m,e,b,32)|0)>=0):0)?(o=a+2308|0,c[o>>2]=0,c[a+2292>>2]=0,(xb(p,e,b,32)|0)>=0):0)?(c[a+2312>>2]=0,c[a+2316>>2]=1,c[a+2320>>2]=2,c[a+2324>>2]=3,c[d>>2]=1,c[g>>2]=1,c[n>>2]=1,c[o>>2]=1,(xb(q,e,16,32)|0)>=0):0)?(o=b>>4,c[a+2468>>2]=o,k=e>>4,i=a+2472|0,c[i>>2]=k,c[a+2464>>2]=o*k,k=k+1|0,j=a+2476|0,c[j>>2]=k,k=Fa((o+1|0)*k|0,76)|0,c[f>>2]=k,k|0):0)?(c[a+2524>>2]=k+((c[j>>2]|0)*76|0)+76,o=Fa((c[i>>2]|0)*9|0,1)|0,c[r>>2]=o,o|0):0){r=0;return r|0}vb(h)|0;vb(l)|0;vb(m)|0;vb(p)|0;vb(q)|0;Ga(c[r>>2]|0);Ga(c[f>>2]|0);c[r>>2]=0;c[f>>2]=0;r=1;return r|0}function Ma(a){a=a|0;var b=0,d=0,e=0,f=0;switch(c[a+8184>>2]|0){case 3:{b=1;d=1;e=1;f=1;break}case 1:{b=0;d=1;e=1;f=0;break}case 2:{b=0;d=1;e=0;f=1;break}default:{b=0;d=0;e=0;f=0}}c[a+2484>>2]=f;c[a+2532>>2]=e;c[a+2488>>2]=d;c[a+2492>>2]=b;return}function Na(a){a=a|0;var b=0;Pa(a);Qa(a+7066|0);c[a+2480>>2]=1;c[a+2484>>2]=0;c[a+2532>>2]=0;c[a+2488>>2]=0;c[a+2492>>2]=0;c[a+8188>>2]=0;c[a+1808>>2]=0;b=a+5924|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+5912>>2]=0;c[a+5916>>2]=0;return}function Oa(a){a=a|0;var b=0;vb(a+1816|0)|0;vb(a+1936|0)|0;vb(a+2056|0)|0;vb(a+2176|0)|0;vb(a+2328|0)|0;b=a+5940|0;Ga(c[b>>2]|0);a=a+2520|0;Ga(c[a>>2]|0);c[b>>2]=0;c[a>>2]=0;return}function Pa(b){b=b|0;var c=0;c=b+7075|0;a[c>>0]=112;a[c+1>>0]=86;a[c+2>>0]=140;a[c+3>>0]=37;c=b+7079|0;a[c>>0]=a[7974]|0;a[c+1>>0]=a[7975]|0;a[c+2>>0]=a[7976]|0;b=b+7082|0;a[b>>0]=a[8025]|0;a[b+1>>0]=a[8026]|0;a[b+2>>0]=a[8027]|0;return}function Qa(b){b=b|0;var c=0,d=0;c=7980;d=b+9|0;do{a[b>>0]=a[c>>0]|0;b=b+1|0;c=c+1|0}while((b|0)<(d|0));return}function Ra(a){a=a|0;return}function Sa(){if(c[2168]|0)return;c[2168]=1;return}function Ta(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=b+5896|0;e=c[f>>2]|0;d=(e|0)>0;g=d&1;h=(e|0)>4&1;e=9-e|0;if(d){d=0;do{i=d>>>g>>>h;i=(i|0)>(e|0)?e:i;i=(i|0)>1?i:1;yd(b+4592+(d<<4)|0,i&255|0,16)|0;i=i+(d<<1)|0;yd(b+3568+(d<<4)|0,i&255|0,16)|0;yd(b+2544+(d<<4)|0,i+4&255|0,16)|0;d=d+1|0}while((d|0)!=64)}else{d=0;do{i=d>>>g>>>h;i=(i|0)>1?i:1;yd(b+4592+(d<<4)|0,i&255|0,16)|0;i=i+(d<<1)|0;yd(b+3568+(d<<4)|0,i&255|0,16)|0;yd(b+2544+(d<<4)|0,i+4&255|0,16)|0;d=d+1|0}while((d|0)!=64)}c[b+5892>>2]=c[f>>2];e=0;do{do if(e>>>0<=39){if(e>>>0>19){a[b+5744+e>>0]=1;d=2;break}d=b+5744+e|0;if(e>>>0>14){a[d>>0]=1;d=1;break}else{a[d>>0]=0;d=0;break}}else{a[b+5744+e>>0]=2;d=3}while(0);a[b+5808+e>>0]=d;e=e+1|0}while((e|0)!=64);c[b+5872>>2]=16843009;a[b+5876>>0]=0;a[b+5879>>0]=1;a[b+5877>>0]=2;a[b+5878>>0]=2;a[b+5880>>0]=2;a[b+5881>>0]=3;i=b+5616|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;i=b+5632|0;c[i>>2]=16843009;c[i+4>>2]=16843009;c[i+8>>2]=16843009;c[i+12>>2]=16843009;i=b+5648|0;c[i>>2]=33686018;c[i+4>>2]=33686018;c[i+8>>2]=33686018;c[i+12>>2]=33686018;i=b+5664|0;c[i>>2]=50529027;c[i+4>>2]=50529027;c[i+8>>2]=50529027;c[i+12>>2]=50529027;return}function Ua(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=b+5892|0;j=b+5896|0;f=c[j>>2]|0;if((c[i>>2]|0)!=(f|0)){r=(f|0)>0;k=r&1;h=(f|0)>4&1;g=9-f|0;if(r){f=0;do{r=f>>>k>>>h;r=(r|0)>(g|0)?g:r;r=(r|0)>1?r:1;yd(b+4592+(f<<4)|0,r&255|0,16)|0;r=r+(f<<1)|0;yd(b+3568+(f<<4)|0,r&255|0,16)|0;yd(b+2544+(f<<4)|0,r+4&255|0,16)|0;f=f+1|0}while((f|0)!=64)}else{f=0;do{r=f>>>k>>>h;r=(r|0)>1?r:1;yd(b+4592+(f<<4)|0,r&255|0,16)|0;r=r+(f<<1)|0;yd(b+3568+(f<<4)|0,r&255|0,16)|0;yd(b+2544+(f<<4)|0,r+4&255|0,16)|0;f=f+1|0}while((f|0)!=64)}c[i>>2]=c[j>>2]}h=d+3148|0;i=d+3163|0;j=d+3151|0;k=d+3169|0;l=d+3177|0;m=d+3178|0;n=d+3170|0;o=d+3179|0;p=d+3180|0;q=d+3171|0;r=d+3172|0;f=0;do{if(!(a[h>>0]|0))g=e;else{g=((a[j>>0]|0)==1?0:e)+(a[d+3159+f>>0]|0)|0;g=(g|0)<63?g:63;g=(g|0)>0?g:0}if(!(a[i>>0]|0))yd(b+5680+(f<<4)|0,g&255|0,16)|0;else{s=g+(a[k>>0]|0)|0;t=s+(a[l>>0]|0)|0;t=(t|0)<63?t:63;a[b+5680+(f<<4)>>0]=(t|0)>0?t:0;s=(s|0)<63?s:63;a[b+5680+(f<<4)+1>>0]=(s|0)>0?s:0;s=g+(a[n>>0]|0)|0;t=s+(a[m>>0]|0)|0;t=(t|0)<63?t:63;a[b+5680+(f<<4)+5>>0]=(t|0)>0?t:0;t=s+(a[o>>0]|0)|0;t=(t|0)<63?t:63;a[b+5680+(f<<4)+6>>0]=(t|0)>0?t:0;s=s+(a[p>>0]|0)|0;s=(s|0)<63?s:63;a[b+5680+(f<<4)+7>>0]=(s|0)>0?s:0;s=g+(a[q>>0]|0)|0;t=s+(a[m>>0]|0)|0;t=(t|0)<63?t:63;a[b+5680+(f<<4)+9>>0]=(t|0)>0?t:0;t=s+(a[o>>0]|0)|0;t=(t|0)<63?t:63;a[b+5680+(f<<4)+10>>0]=(t|0)>0?t:0;s=s+(a[p>>0]|0)|0;s=(s|0)<63?s:63;a[b+5680+(f<<4)+11>>0]=(s|0)>0?s:0;g=g+(a[r>>0]|0)|0;s=g+(a[m>>0]|0)|0;s=(s|0)<63?s:63;a[b+5680+(f<<4)+13>>0]=(s|0)>0?s:0;s=g+(a[o>>0]|0)|0;s=(s|0)<63?s:63;a[b+5680+(f<<4)+14>>0]=(s|0)>0?s:0;g=g+(a[p>>0]|0)|0;g=(g|0)<63?g:63;a[b+5680+(f<<4)+15>>0]=(g|0)>0?g:0}f=f+1|0}while((f|0)!=4);return}function Va(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=J;J=J+16|0;s=t;n=c[b+2452>>2]|0;o=b+2472|0;if((c[o>>2]|0)<=0){J=t;return}p=s+4|0;q=s+8|0;r=s+12|0;if((f|0)<=0){m=0;while(1){f=a[e>>0]|0;switch(f<<24>>24){case 9:case 4:{l=0;break}default:l=(a[e+9>>0]|0)!=0}u=a[(d[(f&255)+(b+5872)>>0]|0)+(b+5680+(d[e+11>>0]<<4)+(d[e+2>>0]<<2))>>0]|0;f=u&255;if(u<<24>>24){u=d[b+5744+(n<<6)+f>>0]|0;c[s>>2]=b+2544+(f<<4);c[p>>2]=b+3568+(f<<4);c[q>>2]=b+4592+(f<<4);c[r>>2]=b+5616+(u<<4);if(m|0)ab(i,j,k,g,h,s);if(!l){eb(i,j,k,g,h,s);bb(i,j,k,g,h,s)}}m=m+1|0;if((m|0)>=(c[o>>2]|0))break;else{i=i+16|0;j=j+8|0;k=k+8|0;e=e+76|0}}J=t;return}m=0;while(1){f=a[e>>0]|0;switch(f<<24>>24){case 9:case 4:{l=0;break}default:l=(a[e+9>>0]|0)!=0}u=a[(d[(f&255)+(b+5872)>>0]|0)+(b+5680+(d[e+11>>0]<<4)+(d[e+2>>0]<<2))>>0]|0;f=u&255;do if(u<<24>>24){u=d[b+5744+(n<<6)+f>>0]|0;c[s>>2]=b+2544+(f<<4);c[p>>2]=b+3568+(f<<4);c[q>>2]=b+4592+(f<<4);c[r>>2]=b+5616+(u<<4);if(m|0)ab(i,j,k,g,h,s);if(l){Za(i,j,k,g,h,s);break}else{eb(i,j,k,g,h,s);Za(i,j,k,g,h,s);bb(i,j,k,g,h,s);break}}while(0);m=m+1|0;if((m|0)>=(c[o>>2]|0))break;else{i=i+16|0;j=j+8|0;k=k+8|0;e=e+76|0}}J=t;return}function Wa(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0;l=b+2472|0;if((c[l>>2]|0)<=0)return;if((f|0)<=0){f=0;j=e;while(1){h=a[j>>0]|0;switch(h<<24>>24){case 9:case 4:{k=0;break}default:k=(a[j+9>>0]|0)!=0}e=a[(d[(h&255)+(b+5872)>>0]|0)+(b+5680+(d[j+11>>0]<<4)+(d[j+2>>0]<<2))>>0]|0;h=e&255;if(e<<24>>24){if(f|0)Ya(i,g,b+2544+(h<<4)|0);if(!k){e=b+3568+(h<<4)|0;gb(i,g,e);db(i,g,e)}}f=f+1|0;if((f|0)>=(c[l>>2]|0))break;else{i=i+16|0;j=j+76|0}}return}f=0;j=e;while(1){h=a[j>>0]|0;switch(h<<24>>24){case 9:case 4:{k=0;break}default:k=(a[j+9>>0]|0)!=0}e=a[(d[(h&255)+(b+5872)>>0]|0)+(b+5680+(d[j+11>>0]<<4)+(d[j+2>>0]<<2))>>0]|0;h=e&255;do if(e<<24>>24){if(f|0)Ya(i,g,b+2544+(h<<4)|0);if(k){Xa(i,g,b+2544+(h<<4)|0);break}else{e=b+3568+(h<<4)|0;gb(i,g,e);Xa(i,g,b+2544+(h<<4)|0);db(i,g,e);break}}while(0);f=f+1|0;if((f|0)>=(c[l>>2]|0))break;else{i=i+16|0;j=j+76|0}}return}function Xa(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c*-2|0;h=0-c|0;i=0-(c<<1)|0;f=0;while(1){j=b+h|0;k=a[j>>0]|0;n=a[b>>0]|0;l=a[b+c>>0]|0;m=(k&255)-(n&255)|0;o=(d[b+g>>0]|0)-(l&255)|0;l=((a[b+i>>0]^-128)<<24>>24)-((l^-128)<<24>>24)|0;l=(l|0)>-128?l:-128;n=(n^-128)<<24>>24;k=(k^-128)<<24>>24;l=(((l|0)<127?l:127)<<24>>24)+((n-k|0)*3|0)|0;l=(l|0)>-128?l:-128;l=(((((o|0)>-1?o:0-o|0)|0)/2|0)+(((m|0)>-1?m:0-m|0)<<1)|0)>(d[e>>0]|0|0)?0:((l|0)<127?l:127)<<24>>24;m=l+4|0;m=(m|0)>-128?m:-128;m=n-(((m|0)<127?m:127)<<24>>27)|0;m=(m|0)>-128?m:-128;a[b>>0]=((m|0)<127?m:127)&255^-128;l=l+3|0;l=(l|0)>-128?l:-128;k=(((l|0)<127?l:127)<<24>>27)+k|0;k=(k|0)>-128?k:-128;a[j>>0]=((k|0)<127?k:127)&255^-128;f=f+1|0;if((f|0)==16)break;else b=b+1|0}return}function Ya(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((c|0)==1){f=0;g=b;b=a[b+-1>>0]|0;while(1){h=a[g+-2>>0]|0;k=a[g>>0]|0;i=a[g+1>>0]|0;j=(b&255)-(k&255)|0;l=(h&255)-(i&255)|0;i=((h^-128)<<24>>24)-((i^-128)<<24>>24)|0;i=(i|0)>-128?i:-128;k=(k^-128)<<24>>24;h=(b^-128)<<24>>24;i=(((i|0)<127?i:127)<<24>>24)+((k-h|0)*3|0)|0;i=(i|0)>-128?i:-128;i=(((((l|0)>-1?l:0-l|0)|0)/2|0)+(((j|0)>-1?j:0-j|0)<<1)|0)>(d[e>>0]|0|0)?0:((i|0)<127?i:127)<<24>>24;j=i+4|0;j=(j|0)>-128?j:-128;j=k-(((j|0)<127?j:127)<<24>>27)|0;j=(j|0)>-128?j:-128;b=((j|0)<127?j:127)&255^-128;a[g>>0]=b;i=i+3|0;i=(i|0)>-128?i:-128;h=(((i|0)<127?i:127)<<24>>27)+h|0;h=(h|0)>-128?h:-128;a[g+-1>>0]=((h|0)<127?h:127)&255^-128;f=f+1|0;if((f|0)==16)break;else g=g+c|0}return}else{f=0;while(1){m=a[b+-2>>0]|0;l=b+-1|0;k=a[l>>0]|0;h=a[b>>0]|0;j=a[b+1>>0]|0;i=(k&255)-(h&255)|0;g=(m&255)-(j&255)|0;j=((m^-128)<<24>>24)-((j^-128)<<24>>24)|0;j=(j|0)>-128?j:-128;h=(h^-128)<<24>>24;k=(k^-128)<<24>>24;j=(((j|0)<127?j:127)<<24>>24)+((h-k|0)*3|0)|0;j=(j|0)>-128?j:-128;j=(((((g|0)>-1?g:0-g|0)|0)/2|0)+(((i|0)>-1?i:0-i|0)<<1)|0)>(d[e>>0]|0|0)?0:((j|0)<127?j:127)<<24>>24;i=j+4|0;i=(i|0)>-128?i:-128;i=h-(((i|0)<127?i:127)<<24>>27)|0;i=(i|0)>-128?i:-128;a[b>>0]=((i|0)<127?i:127)&255^-128;j=j+3|0;j=(j|0)>-128?j:-128;k=(((j|0)<127?j:127)<<24>>27)+k|0;k=(k|0)>-128?k:-128;a[l>>0]=((k|0)<127?k:127)&255^-128;f=f+1|0;if((f|0)==16)break;else b=b+c|0}return}}function Za(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=g+8|0;i=g+12|0;_a(a,e,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,2);if(b|0)_a(b,f,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,1);if(!d)return;_a(d,f,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,1);return}function _a(a,b,c,e,f,g){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;n=b*-4|0;o=b*-3|0;p=b*-2|0;q=0-b|0;j=b<<1;k=b*3|0;l=0-k|0;m=0-j|0;i=g<<3;h=0;g=a;while(1){s=g+q|0;r=g+b|0;a=g+j|0;z=d[g+o>>0]|0;A=(d[g+n>>0]|0)-z|0;w=d[e>>0]|0;t=d[g+p>>0]|0;z=z-t|0;D=d[s>>0]|0;v=t-D|0;v=(v|0)>-1?v:0-v|0;C=d[r>>0]|0;B=d[g>>0]|0;u=C-B|0;u=(u|0)>-1?u:0-u|0;x=d[a>>0]|0;y=x-C|0;x=(d[g+k>>0]|0)-x|0;B=D-B|0;C=t-C|0;t=d[f>>0]|0;$a((((((((C|0)>-1?C:0-C|0)|0)/2|0)+(((B|0)>-1?B:0-B|0)<<1)|0)>(d[c>>0]|0|0)|(((((A|0)>-1?A:0-A|0)|0)>(w|0)?1:(((z|0)>-1?z:0-z|0)|0)>(w|0))|(v|0)>(w|0)|(u|0)>(w|0)|(((y|0)>-1?y:0-y|0)|0)>(w|0)|(((x|0)>-1?x:0-x|0)|0)>(w|0)))^1)<<31>>31,((v|0)>(t|0)|(u|0)>(t|0))<<31>>31,g+l|0,g+m|0,s,g,r,a);h=h+1|0;if((h|0)>=(i|0))break;else g=g+1|0}return}function $a(b,c,d,e,f,g,h,i){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=a[d>>0]^-128;k=a[i>>0]^-128;l=(a[e>>0]^-128)<<24>>24;m=(a[h>>0]^-128)<<24>>24;o=l-m|0;o=(o|0)>-128?o:-128;q=(a[g>>0]^-128)<<24>>24;n=(a[f>>0]^-128)<<24>>24;o=(((o|0)<127?o:127)<<24>>24)+((q-n|0)*3|0)|0;o=(o|0)>-128?o:-128;p=c&255;c=(((o|0)<127?o:127)&255&b)<<24>>24;b=(c&p)<<24>>24;o=b+4|0;o=(o|0)>-128?o:-128;b=b+3|0;b=(b|0)>-128?b:-128;o=q-(((o|0)<127?o:127)<<24>>27)|0;o=(o|0)>-128?o:-128;n=(((b|0)<127?b:127)<<24>>27)+n|0;n=(n|0)>-128?n:-128;c=((p^255)&c)<<24>>24;b=(c*27|0)+63>>7;b=(b|0)>-128?b:-128;b=(b|0)<127?b:127;o=(((o|0)<127?o:127)<<24>>24)-b|0;o=(o|0)>-128?o:-128;a[g>>0]=((o|0)<127?o:127)&255^-128;g=(((n|0)<127?n:127)<<24>>24)+b|0;g=(g|0)>-128?g:-128;a[f>>0]=((g|0)<127?g:127)&255^-128;g=(c*18|0)+63>>7;g=(g|0)>-128?g:-128;g=(g|0)<127?g:127;f=m-g|0;f=(f|0)>-128?f:-128;a[h>>0]=((f|0)<127?f:127)&255^-128;h=g+l|0;h=(h|0)>-128?h:-128;a[e>>0]=((h|0)<127?h:127)&255^-128;h=(c*9|0)+63>>7;h=(h|0)>-128?h:-128;h=(h|0)<127?h:127;g=(k<<24>>24)-h|0;g=(g|0)>-128?g:-128;a[i>>0]=((g|0)<127?g:127)&255^-128;i=h+(j<<24>>24)|0;i=(i|0)>-128?i:-128;a[d>>0]=((i|0)<127?i:127)&255^-128;return}function ab(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;k=c[h>>2]|0;m=h+8|0;l=c[m>>2]|0;n=h+12|0;j=c[n>>2]|0;i=0;while(1){s=a+-3|0;r=a+-2|0;q=a+-1|0;p=a+1|0;o=a+2|0;z=d[s>>0]|0;A=(d[a+-4>>0]|0)-z|0;w=d[l>>0]|0;t=d[r>>0]|0;z=z-t|0;D=d[q>>0]|0;v=t-D|0;v=(v|0)>-1?v:0-v|0;C=d[p>>0]|0;B=d[a>>0]|0;u=C-B|0;u=(u|0)>-1?u:0-u|0;x=d[o>>0]|0;y=x-C|0;x=(d[a+3>>0]|0)-x|0;B=D-B|0;C=t-C|0;t=d[j>>0]|0;$a((((((((C|0)>-1?C:0-C|0)|0)/2|0)+(((B|0)>-1?B:0-B|0)<<1)|0)>(d[k>>0]|0|0)|(((((A|0)>-1?A:0-A|0)|0)>(w|0)?1:(((z|0)>-1?z:0-z|0)|0)>(w|0))|(v|0)>(w|0)|(u|0)>(w|0)|(((y|0)>-1?y:0-y|0)|0)>(w|0)|(((x|0)>-1?x:0-x|0)|0)>(w|0)))^1)<<31>>31,((v|0)>(t|0)|(u|0)>(t|0))<<31>>31,s,r,q,a,p,o);i=i+1|0;if((i|0)==16)break;else a=a+f|0}if(b|0){i=c[h>>2]|0;j=c[m>>2]|0;f=c[n>>2]|0;a=0;while(1){z=b+-3|0;A=b+-2|0;B=b+-1|0;C=b+1|0;D=b+2|0;s=d[z>>0]|0;r=(d[b+-4>>0]|0)-s|0;v=d[j>>0]|0;y=d[A>>0]|0;s=s-y|0;o=d[B>>0]|0;w=y-o|0;w=(w|0)>-1?w:0-w|0;p=d[C>>0]|0;q=d[b>>0]|0;x=p-q|0;x=(x|0)>-1?x:0-x|0;u=d[D>>0]|0;t=u-p|0;u=(d[b+3>>0]|0)-u|0;q=o-q|0;p=y-p|0;y=d[f>>0]|0;$a((((((((p|0)>-1?p:0-p|0)|0)/2|0)+(((q|0)>-1?q:0-q|0)<<1)|0)>(d[i>>0]|0|0)|(((((r|0)>-1?r:0-r|0)|0)>(v|0)?1:(((s|0)>-1?s:0-s|0)|0)>(v|0))|(w|0)>(v|0)|(x|0)>(v|0)|(((t|0)>-1?t:0-t|0)|0)>(v|0)|(((u|0)>-1?u:0-u|0)|0)>(v|0)))^1)<<31>>31,((w|0)>(y|0)|(x|0)>(y|0))<<31>>31,z,A,B,b,C,D);a=a+1|0;if((a|0)==8)break;else b=b+g|0}}if(!e)return;j=c[h>>2]|0;i=c[m>>2]|0;a=c[n>>2]|0;b=0;while(1){z=e+-3|0;A=e+-2|0;B=e+-1|0;C=e+1|0;D=e+2|0;s=d[z>>0]|0;r=(d[e+-4>>0]|0)-s|0;v=d[i>>0]|0;y=d[A>>0]|0;s=s-y|0;o=d[B>>0]|0;w=y-o|0;w=(w|0)>-1?w:0-w|0;p=d[C>>0]|0;q=d[e>>0]|0;x=p-q|0;x=(x|0)>-1?x:0-x|0;u=d[D>>0]|0;t=u-p|0;u=(d[e+3>>0]|0)-u|0;q=o-q|0;p=y-p|0;y=d[a>>0]|0;$a((((((((p|0)>-1?p:0-p|0)|0)/2|0)+(((q|0)>-1?q:0-q|0)<<1)|0)>(d[j>>0]|0|0)|(((((r|0)>-1?r:0-r|0)|0)>(v|0)?1:(((s|0)>-1?s:0-s|0)|0)>(v|0))|(w|0)>(v|0)|(x|0)>(v|0)|(((t|0)>-1?t:0-t|0)|0)>(v|0)|(((u|0)>-1?u:0-u|0)|0)>(v|0)))^1)<<31>>31,((w|0)>(y|0)|(x|0)>(y|0))<<31>>31,z,A,B,e,C,D);b=b+1|0;if((b|0)==8)break;else e=e+g|0}return}function bb(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=g+4|0;h=g+8|0;g=g+12|0;cb(a+(e<<2)|0,e,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,2);cb(a+(e<<3)|0,e,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,2);cb(a+(e*12|0)|0,e,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,2);if(b|0)cb(b+(f<<2)|0,f,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,1);if(!d)return;cb(d+(f<<2)|0,f,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,1);return}function cb(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;n=c*-4|0;o=c*-3|0;p=c*-2|0;q=0-c|0;k=c<<1;l=c*3|0;m=0-k|0;j=h<<3;i=0;h=b;while(1){w=h+q|0;x=a[w>>0]|0;z=a[h>>0]|0;t=h+c|0;u=a[t>>0]|0;E=d[h+o>>0]|0;F=(d[h+n>>0]|0)-E|0;v=d[f>>0]|0;s=d[h+p>>0]|0;E=E-s|0;b=x&255;D=s-b|0;D=(D|0)>-1?D:0-D|0;H=u&255;G=z&255;C=H-G|0;C=(C|0)>-1?C:0-C|0;A=d[h+k>>0]|0;B=A-H|0;A=(d[h+l>>0]|0)-A|0;G=b-G|0;H=s-H|0;s=d[g>>0]|0;s=((D|0)>(s|0)|(C|0)>(s|0))<<31>>31;b=h+m|0;r=(a[b>>0]^-128)<<24>>24;u=(u^-128)<<24>>24;y=r-u|0;y=(y|0)>-128?y:-128;z=(z^-128)<<24>>24;x=(x^-128)<<24>>24;y=((z-x|0)*3|0)+((((y|0)<127?y:127)&255&s)<<24>>24)|0;y=(y|0)>-128?y:-128;y=(((((H|0)>-1?H:0-H|0)|0)/2|0)+(((G|0)>-1?G:0-G|0)<<1)|0)>(d[e>>0]|0|0)|(((((F|0)>-1?F:0-F|0)|0)>(v|0)?1:(((E|0)>-1?E:0-E|0)|0)>(v|0))|(D|0)>(v|0)|(C|0)>(v|0)|(((B|0)>-1?B:0-B|0)|0)>(v|0)|(((A|0)>-1?A:0-A|0)|0)>(v|0))?0:((y|0)<127?y:127)<<24>>24;v=y+4|0;v=(v|0)>-128?v:-128;y=y+3|0;y=(y|0)>-128?y:-128;v=((v|0)<127?v:127)<<24>>27;z=z-v|0;z=(z|0)>-128?z:-128;a[h>>0]=((z|0)<127?z:127)&255^-128;x=(((y|0)<127?y:127)<<24>>27)+x|0;x=(x|0)>-128?x:-128;a[w>>0]=((x|0)<127?x:127)&255^-128;s=((v+1|0)>>>1&(~s&255))<<24>>24;u=u-s|0;u=(u|0)>-128?u:-128;a[t>>0]=((u|0)<127?u:127)&255^-128;r=s+r|0;r=(r|0)>-128?r:-128;a[b>>0]=((r|0)<127?r:127)&255^-128;i=i+1|0;if((i|0)>=(j|0))break;else h=h+1|0}return}function db(a,b,c){a=a|0;b=b|0;c=c|0;Xa(a+(b<<2)|0,b,c);Xa(a+(b<<3)|0,b,c);Xa(a+(b*12|0)|0,b,c);return}function eb(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=g+4|0;i=g+8|0;g=g+12|0;fb(a+4|0,e,c[h>>2]|0,c[i>>2]|0,c[g>>2]|0,2);fb(a+8|0,e,c[h>>2]|0,c[i>>2]|0,c[g>>2]|0,2);fb(a+12|0,e,c[h>>2]|0,c[i>>2]|0,c[g>>2]|0,2);if(b|0)fb(b+4|0,f,c[h>>2]|0,c[i>>2]|0,c[g>>2]|0,1);if(!d)return;fb(d+4|0,f,c[h>>2]|0,c[i>>2]|0,c[g>>2]|0,1);return}function fb(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;k=h<<3;if((c|0)==1){i=0;j=b;h=a[b>>0]|0;while(1){b=j+-2|0;l=a[b>>0]|0;q=j+-1|0;r=a[q>>0]|0;n=j+1|0;o=a[n>>0]|0;y=d[j+-3>>0]|0;z=(d[j+-4>>0]|0)-y|0;p=d[f>>0]|0;m=l&255;y=y-m|0;s=r&255;x=m-s|0;x=(x|0)>-1?x:0-x|0;B=o&255;A=h&255;w=B-A|0;w=(w|0)>-1?w:0-w|0;u=d[j+2>>0]|0;v=u-B|0;u=(d[j+3>>0]|0)-u|0;A=s-A|0;B=m-B|0;m=d[g>>0]|0;m=((x|0)>(m|0)|(w|0)>(m|0))<<31>>31;l=(l^-128)<<24>>24;o=(o^-128)<<24>>24;s=l-o|0;s=(s|0)>-128?s:-128;t=(h^-128)<<24>>24;r=(r^-128)<<24>>24;s=((t-r|0)*3|0)+((((s|0)<127?s:127)&255&m)<<24>>24)|0;s=(s|0)>-128?s:-128;s=(((((B|0)>-1?B:0-B|0)|0)/2|0)+(((A|0)>-1?A:0-A|0)<<1)|0)>(d[e>>0]|0|0)|(((((z|0)>-1?z:0-z|0)|0)>(p|0)?1:(((y|0)>-1?y:0-y|0)|0)>(p|0))|(x|0)>(p|0)|(w|0)>(p|0)|(((v|0)>-1?v:0-v|0)|0)>(p|0)|(((u|0)>-1?u:0-u|0)|0)>(p|0))?0:((s|0)<127?s:127)<<24>>24;p=s+4|0;p=(p|0)>-128?p:-128;s=s+3|0;s=(s|0)>-128?s:-128;p=((p|0)<127?p:127)<<24>>27;t=t-p|0;t=(t|0)>-128?t:-128;a[j>>0]=((t|0)<127?t:127)&255^-128;r=(((s|0)<127?s:127)<<24>>27)+r|0;r=(r|0)>-128?r:-128;a[q>>0]=((r|0)<127?r:127)&255^-128;m=((p+1|0)>>>1&(~m&255))<<24>>24;o=o-m|0;o=(o|0)>-128?o:-128;h=((o|0)<127?o:127)&255^-128;a[n>>0]=h;l=m+l|0;l=(l|0)>-128?l:-128;a[b>>0]=((l|0)<127?l:127)&255^-128;i=i+1|0;if((i|0)>=(k|0))break;else j=j+c|0}return}else{i=0;h=b;while(1){B=h+-2|0;A=a[B>>0]|0;v=h+-1|0;u=a[v>>0]|0;s=a[h>>0]|0;y=h+1|0;x=a[y>>0]|0;n=d[h+-3>>0]|0;m=(d[h+-4>>0]|0)-n|0;w=d[f>>0]|0;z=A&255;n=n-z|0;t=u&255;o=z-t|0;o=(o|0)>-1?o:0-o|0;b=x&255;l=s&255;p=b-l|0;p=(p|0)>-1?p:0-p|0;r=d[h+2>>0]|0;q=r-b|0;r=(d[h+3>>0]|0)-r|0;l=t-l|0;b=z-b|0;z=d[g>>0]|0;z=((o|0)>(z|0)|(p|0)>(z|0))<<31>>31;A=(A^-128)<<24>>24;x=(x^-128)<<24>>24;t=A-x|0;t=(t|0)>-128?t:-128;s=(s^-128)<<24>>24;u=(u^-128)<<24>>24;t=((s-u|0)*3|0)+((((t|0)<127?t:127)&255&z)<<24>>24)|0;t=(t|0)>-128?t:-128;t=(((((b|0)>-1?b:0-b|0)|0)/2|0)+(((l|0)>-1?l:0-l|0)<<1)|0)>(d[e>>0]|0|0)|(((((m|0)>-1?m:0-m|0)|0)>(w|0)?1:(((n|0)>-1?n:0-n|0)|0)>(w|0))|(o|0)>(w|0)|(p|0)>(w|0)|(((q|0)>-1?q:0-q|0)|0)>(w|0)|(((r|0)>-1?r:0-r|0)|0)>(w|0))?0:((t|0)<127?t:127)<<24>>24;w=t+4|0;w=(w|0)>-128?w:-128;t=t+3|0;t=(t|0)>-128?t:-128;w=((w|0)<127?w:127)<<24>>27;s=s-w|0;s=(s|0)>-128?s:-128;a[h>>0]=((s|0)<127?s:127)&255^-128;u=(((t|0)<127?t:127)<<24>>27)+u|0;u=(u|0)>-128?u:-128;a[v>>0]=((u|0)<127?u:127)&255^-128;z=((w+1|0)>>>1&(~z&255))<<24>>24;x=x-z|0;x=(x|0)>-128?x:-128;a[y>>0]=((x|0)<127?x:127)&255^-128;A=z+A|0;A=(A|0)>-128?A:-128;a[B>>0]=((A|0)<127?A:127)&255^-128;i=i+1|0;if((i|0)>=(k|0))break;else h=h+c|0}return}}function gb(a,b,c){a=a|0;b=b|0;c=c|0;Ya(a+4|0,b,c);Ya(a+8|0,b,c);Ya(a+12|0,b,c);return}function hb(a){a=a|0;c[a+2152>>2]=a;c[a+2180>>2]=a+4;c[a+2208>>2]=a+8;c[a+2236>>2]=a+12;c[a+2264>>2]=a+64;c[a+2292>>2]=a+68;c[a+2320>>2]=a+72;c[a+2348>>2]=a+76;c[a+2376>>2]=a+128;c[a+2404>>2]=a+132;c[a+2432>>2]=a+136;c[a+2460>>2]=a+140;c[a+2488>>2]=a+192;c[a+2516>>2]=a+196;c[a+2544>>2]=a+200;c[a+2572>>2]=a+204;c[a+2600>>2]=a+256;c[a+2628>>2]=a+260;c[a+2656>>2]=a+288;c[a+2684>>2]=a+292;c[a+2712>>2]=a+320;c[a+2740>>2]=a+324;c[a+2768>>2]=a+352;c[a+2796>>2]=a+356;c[a+2144>>2]=a+384;c[a+2148>>2]=a+1184;c[a+2164>>2]=a+1984;c[a+2172>>2]=a+416;c[a+2176>>2]=a+1216;c[a+2192>>2]=a+1985;c[a+2200>>2]=a+448;c[a+2204>>2]=a+1248;c[a+2220>>2]=a+1986;c[a+2228>>2]=a+480;c[a+2232>>2]=a+1280;c[a+2248>>2]=a+1987;c[a+2256>>2]=a+512;c[a+2260>>2]=a+1312;c[a+2276>>2]=a+1988;c[a+2284>>2]=a+544;c[a+2288>>2]=a+1344;c[a+2304>>2]=a+1989;c[a+2312>>2]=a+576;c[a+2316>>2]=a+1376;c[a+2332>>2]=a+1990;c[a+2340>>2]=a+608;c[a+2344>>2]=a+1408;c[a+2360>>2]=a+1991;c[a+2368>>2]=a+640;c[a+2372>>2]=a+1440;c[a+2388>>2]=a+1992;c[a+2396>>2]=a+672;c[a+2400>>2]=a+1472;c[a+2416>>2]=a+1993;c[a+2424>>2]=a+704;c[a+2428>>2]=a+1504;c[a+2444>>2]=a+1994;c[a+2452>>2]=a+736;c[a+2456>>2]=a+1536;c[a+2472>>2]=a+1995;c[a+2480>>2]=a+768;c[a+2484>>2]=a+1568;c[a+2500>>2]=a+1996;c[a+2508>>2]=a+800;c[a+2512>>2]=a+1600;c[a+2528>>2]=a+1997;c[a+2536>>2]=a+832;c[a+2540>>2]=a+1632;c[a+2556>>2]=a+1998;c[a+2564>>2]=a+864;c[a+2568>>2]=a+1664;c[a+2584>>2]=a+1999;c[a+2592>>2]=a+896;c[a+2596>>2]=a+1696;c[a+2612>>2]=a+2e3;c[a+2620>>2]=a+928;c[a+2624>>2]=a+1728;c[a+2640>>2]=a+2001;c[a+2648>>2]=a+960;c[a+2652>>2]=a+1760;c[a+2668>>2]=a+2002;c[a+2676>>2]=a+992;c[a+2680>>2]=a+1792;c[a+2696>>2]=a+2003;c[a+2704>>2]=a+1024;c[a+2708>>2]=a+1824;c[a+2724>>2]=a+2004;c[a+2732>>2]=a+1056;c[a+2736>>2]=a+1856;c[a+2752>>2]=a+2005;c[a+2760>>2]=a+1088;c[a+2764>>2]=a+1888;c[a+2780>>2]=a+2006;c[a+2788>>2]=a+1120;c[a+2792>>2]=a+1920;c[a+2808>>2]=a+2007;c[a+2816>>2]=a+1152;c[a+2820>>2]=a+1952;c[a+2836>>2]=a+2008;return}function ib(a){a=a|0;var b=0,d=0;b=c[a+2984>>2]|0;c[a+2160>>2]=0;c[a+2188>>2]=4;c[a+2216>>2]=8;c[a+2244>>2]=12;d=b<<2;c[a+2272>>2]=d;c[a+2300>>2]=d+4;c[a+2328>>2]=d+8;c[a+2356>>2]=d+12;d=b<<3;c[a+2384>>2]=d;c[a+2412>>2]=d|4;c[a+2440>>2]=d+8;c[a+2468>>2]=d+12;b=b*12|0;c[a+2496>>2]=b;c[a+2524>>2]=b+4;c[a+2552>>2]=b+8;c[a+2580>>2]=b+12;b=c[a+3004>>2]|0;c[a+2608>>2]=0;c[a+2720>>2]=0;c[a+2636>>2]=4;c[a+2748>>2]=4;b=b<<2;c[a+2664>>2]=b;c[a+2776>>2]=b;b=b+4|0;c[a+2692>>2]=b;c[a+2804>>2]=b;return}function jb(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=J;J=J+16|0;i=k;j=a[c[b+3088>>2]>>0]|0;a[i>>0]=a[e>>0]|0;a[i+1>>0]=a[e+f>>0]|0;a[i+2>>0]=a[e+(f<<1)>>0]|0;a[i+3>>0]=a[e+(f*3|0)>>0]|0;a[i+4>>0]=a[e+(f<<2)>>0]|0;a[i+5>>0]=a[e+(f*5|0)>>0]|0;a[i+6>>0]=a[e+(f*6|0)>>0]|0;a[i+7>>0]=a[e+(f*7|0)>>0]|0;a[i+8>>0]=a[e+(f<<3)>>0]|0;a[i+9>>0]=a[e+(f*9|0)>>0]|0;a[i+10>>0]=a[e+(f*10|0)>>0]|0;a[i+11>>0]=a[e+(f*11|0)>>0]|0;a[i+12>>0]=a[e+(f*12|0)>>0]|0;a[i+13>>0]=a[e+(f*13|0)>>0]|0;a[i+14>>0]=a[e+(f*14|0)>>0]|0;a[i+15>>0]=a[e+(f*15|0)>>0]|0;if(!(j<<24>>24)){j=8512+(c[b+3104>>2]<<4)+(c[b+3100>>2]<<3)|0;j=c[j>>2]|0;S[j&31](g,h,d,i);J=k;return}else{j=8544+((j&255)<<3)|0;j=c[j>>2]|0;S[j&31](g,h,d,i);J=k;return}}function kb(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;o=J;J=J+16|0;n=o+8|0;l=o;m=a[(c[b+3088>>2]|0)+1>>0]|0;a[n>>0]=a[f>>0]|0;a[l>>0]=a[g>>0]|0;a[n+1>>0]=a[f+h>>0]|0;a[l+1>>0]=a[g+h>>0]|0;p=h<<1;a[n+2>>0]=a[f+p>>0]|0;a[l+2>>0]=a[g+p>>0]|0;p=h*3|0;a[n+3>>0]=a[f+p>>0]|0;a[l+3>>0]=a[g+p>>0]|0;p=h<<2;a[n+4>>0]=a[f+p>>0]|0;a[l+4>>0]=a[g+p>>0]|0;p=h*5|0;a[n+5>>0]=a[f+p>>0]|0;a[l+5>>0]=a[g+p>>0]|0;p=h*6|0;a[n+6>>0]=a[f+p>>0]|0;a[l+6>>0]=a[g+p>>0]|0;h=h*7|0;a[n+7>>0]=a[f+h>>0]|0;a[l+7>>0]=a[g+h>>0]|0;if(!(m<<24>>24)){p=8512+(c[b+3104>>2]<<4)+(c[b+3100>>2]<<3)+4|0;p=c[p>>2]|0;S[p&31](i,k,d,n);S[p&31](j,k,e,l);J=o;return}else{p=8544+((m&255)<<3)+4|0;p=c[p>>2]|0;S[p&31](i,k,d,n);S[p&31](j,k,e,l);J=o;return}}function lb(){if(c[2169]|0)return;c[2138]=2;c[2140]=3;c[2142]=4;c[2128]=5;c[2130]=6;c[2132]=7;c[2134]=8;c[2139]=9;c[2141]=10;c[2143]=11;c[2129]=12;c[2131]=13;c[2133]=14;c[2135]=15;mb();c[2169]=1;return}function mb(){c[2144]=16;c[2145]=17;c[2146]=18;c[2147]=19;c[2148]=20;c[2149]=21;c[2150]=22;c[2151]=23;c[2152]=24;c[2153]=25;return}function nb(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;k=J;J=J+16|0;n=k+4|0;l=k;m=n+4|0;a[l>>0]=a[e>>0]|0;a[l+1>>0]=a[e+f>>0]|0;a[l+2>>0]=a[e+(f<<1)>>0]|0;a[l+3>>0]=a[e+(f*3|0)>>0]|0;e=b;o=e;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;e=e+4|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;f=m;b=f;a[b>>0]=o;a[b+1>>0]=o>>8;a[b+2>>0]=o>>16;a[b+3>>0]=o>>24;f=f+4|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;a[n+3>>0]=j;S[c[8576+(g<<2)>>2]&31](h,i,m,l);J=k;return}function ob(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+5988|0;f=a+5992|0;g=a+6e3|0;h=a+5996|0;i=a+6004|0;d=0;do{b[a+3744+(d<<2)>>1]=mc(d,c[e>>2]|0)|0;b[a+4256+(d<<2)>>1]=nc(d,c[f>>2]|0)|0;b[a+4768+(d<<2)>>1]=oc(d,c[g>>2]|0)|0;b[a+3744+(d<<2)+2>>1]=pc(d)|0;b[a+4256+(d<<2)+2>>1]=qc(d,c[h>>2]|0)|0;b[a+4768+(d<<2)+2>>1]=rc(d,c[i>>2]|0)|0;d=d+1|0}while((d|0)!=128);return}function pb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0;g=c[f+3088>>2]|0;if(!(a[f+3148>>0]|0))g=c[e+5984>>2]|0;else{if((a[f+3151>>0]|0)==1)g=a[(d[g+11>>0]|0)+(f+3155)>>0]|0;else g=(c[e+5984>>2]|0)+(a[(d[g+11>>0]|0)+(f+3155)>>0]|0)|0;g=(g|0)>-1?((g|0)<127?g:127):0}b[f+2048>>1]=1;b[f+2016>>1]=b[e+3744+(g<<2)>>1]|0;b[f+2080>>1]=b[e+4256+(g<<2)>>1]|0;b[f+2112>>1]=b[e+4768+(g<<2)>>1]|0;i=e+3744+(g<<2)+2|0;h=e+4256+(g<<2)+2|0;e=e+4768+(g<<2)+2|0;g=b[i>>1]|0;b[f+2018>>1]=g;b[f+2050>>1]=g;b[f+2082>>1]=b[h>>1]|0;b[f+2114>>1]=b[e>>1]|0;g=b[i>>1]|0;b[f+2020>>1]=g;b[f+2052>>1]=g;b[f+2084>>1]=b[h>>1]|0;b[f+2116>>1]=b[e>>1]|0;g=b[i>>1]|0;b[f+2022>>1]=g;b[f+2054>>1]=g;b[f+2086>>1]=b[h>>1]|0;b[f+2118>>1]=b[e>>1]|0;g=b[i>>1]|0;b[f+2024>>1]=g;b[f+2056>>1]=g;b[f+2088>>1]=b[h>>1]|0;b[f+2120>>1]=b[e>>1]|0;g=b[i>>1]|0;b[f+2026>>1]=g;b[f+2058>>1]=g;b[f+2090>>1]=b[h>>1]|0;b[f+2122>>1]=b[e>>1]|0;g=b[i>>1]|0;b[f+2028>>1]=g;b[f+2060>>1]=g;b[f+2092>>1]=b[h>>1]|0;b[f+2124>>1]=b[e>>1]|0;g=b[i>>1]|0;b[f+2030>>1]=g;b[f+2062>>1]=g;b[f+2094>>1]=b[h>>1]|0;b[f+2126>>1]=b[e>>1]|0;g=b[i>>1]|0;b[f+2032>>1]=g;b[f+2064>>1]=g;b[f+2096>>1]=b[h>>1]|0;b[f+2128>>1]=b[e>>1]|0;g=b[i>>1]|0;b[f+2034>>1]=g;b[f+2066>>1]=g;b[f+2098>>1]=b[h>>1]|0;b[f+2130>>1]=b[e>>1]|0;g=b[i>>1]|0;b[f+2036>>1]=g;b[f+2068>>1]=g;b[f+2100>>1]=b[h>>1]|0;b[f+2132>>1]=b[e>>1]|0;g=b[i>>1]|0;b[f+2038>>1]=g;b[f+2070>>1]=g;b[f+2102>>1]=b[h>>1]|0;b[f+2134>>1]=b[e>>1]|0;g=b[i>>1]|0;b[f+2040>>1]=g;b[f+2072>>1]=g;b[f+2104>>1]=b[h>>1]|0;b[f+2136>>1]=b[e>>1]|0;g=b[i>>1]|0;b[f+2042>>1]=g;b[f+2074>>1]=g;b[f+2106>>1]=b[h>>1]|0;b[f+2138>>1]=b[e>>1]|0;g=b[i>>1]|0;b[f+2044>>1]=g;b[f+2076>>1]=g;b[f+2108>>1]=b[h>>1]|0;b[f+2140>>1]=b[e>>1]|0;g=b[i>>1]|0;b[f+2046>>1]=g;b[f+2078>>1]=g;b[f+2110>>1]=b[h>>1]|0;b[f+2142>>1]=b[e>>1]|0;return}function qb(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Na=0,Oa=0,Qa=0,Ra=0,Sa=0,Ta=0,Xa=0,Ya=0;Ya=J;J=J+160|0;Xa=Ya+152|0;K=Ya+144|0;H=Ya+136|0;G=Ya+128|0;F=Ya+120|0;E=Ya+112|0;I=Ya+104|0;t=Ya+96|0;o=Ya+88|0;n=Ya+80|0;k=Ya+72|0;g=Ya+64|0;Ja=Ya+16|0;Ka=Ya;O=e+11920|0;Ta=e+3488|0;f=c[e+11980>>2]|0;D=e+12016|0;l=c[D>>2]|0;m=f+l|0;Qa=e+12084|0;Ra=c[Qa>>2]|0;P=e+3472|0;q=c[P>>2]|0;Oa=e+3220|0;c[Oa>>2]=0;Sa=q+112|0;c[Sa>>2]=0;s=m;if((l|0)<3){if(!(c[e+12076>>2]|0))fa(Ta,7,8028,g);c[e+5940>>2]=1;c[e+11672>>2]=0;c[e+5944>>2]=1;p=0}else{g=c[e+12092>>2]|0;if(!g)h=f;else{S[g&31](c[e+12096>>2]|0,f,Ja,l>>>0<10?l:10);h=Ja}i=e+5940|0;c[i>>2]=a[h>>0]&1;c[e+11672>>2]=(d[h>>0]|0)>>>1&7;c[e+5944>>2]=(d[h>>0]|0)>>>4&1;p=(d[h+1>>0]<<8|d[h>>0]|d[h+2>>0]<<16)>>>5;j=e+12076|0;if((c[j>>2]|0)==0&(p|0)>(l|0))fa(Ta,7,8045,k);k=f+3|0;g=h+3|0;Ma(Ta);do if(!(c[i>>2]|0)){if((l|0)>6){if(!(((a[g>>0]|0)==-99?(a[h+4>>0]|0)==1:0)?(a[h+5>>0]|0)==42:0))fa(Ta,5,8092,n);if((l|0)>9){Na=h+7|0;c[e+5280>>2]=d[Na>>0]<<8&16128|d[h+6>>0];c[e+5288>>2]=(d[Na>>0]|0)>>>6;Na=h+9|0;c[e+5284>>2]=d[Na>>0]<<8&16128|d[h+8>>0];c[e+5292>>2]=(d[Na>>0]|0)>>>6;f=f+10|0;break}}if(!(c[j>>2]|0)){fa(Ta,7,8116,o);f=k}else f=m}else{u=e+2848|0;g=q;v=u+120|0;do{c[u>>2]=c[g>>2];u=u+4|0;g=g+4|0}while((u|0)<(v|0));u=e+2968|0;g=q;v=u+120|0;do{c[u>>2]=c[g>>2];u=u+4|0;g=g+4|0}while((u|0)<(v|0));f=k}while(0)}La=e+12080|0;Na=e+5940|0;g=c[Na>>2]|0;h=(g|0)==0;if(!(c[La>>2]|0))if(h)Ia=24;else{Xa=-1;J=Ya;return Xa|0}else if(!h){Ha=(c[e+5976>>2]|0)==0;c[e+3200>>2]=Ha?2:1;c[e+3204>>2]=Ha?4:3;c[e+3208>>2]=Ha?6:5;c[e+3212>>2]=Ha?8:7;if((c[e+12072>>2]|0)!=0?(r=e+12076|0,(c[r>>2]|0)==0):0)c[r>>2]=1}else Ia=24;if((Ia|0)==24){u=e+11629|0;g=3520;v=u+38|0;do{a[u>>0]=a[g>>0]|0;u=u+1|0;g=g+1|0}while((u|0)<(v|0));Pa(Ta);Yb(Ta);g=e+3155|0;Ha=g;a[Ha>>0]=0;a[Ha+1>>0]=0;a[Ha+2>>0]=0;a[Ha+3>>0]=0;g=g+4|0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;a[e+3151>>0]=0;g=e+3169|0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;g=e+3177|0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;c[e+9392>>2]=1;c[e+9396>>2]=1;c[e+9400>>2]=0;c[e+9404>>2]=0;c[e+9420>>2]=0;c[e+9424>>2]=0;g=c[Na>>2]|0}Ga=e+3144|0;c[Ga>>2]=e+9432;B=c[e+6012>>2]|0;Ha=e+3088|0;c[Ha>>2]=B;c[e+3096>>2]=g;a[B>>0]=0;c[e+3092>>2]=c[e+5964>>2];c[Oa>>2]=0;c[e+2844>>2]=(c[e+5980>>2]|0)==0?-1:-8;B=e+12092|0;C=e+12096|0;if(vc(O,f,s-f|0,c[B>>2]|0,c[C>>2]|0)|0)fa(Ta,2,8143,t);N=e+11936|0;g=c[N>>2]|0;if(!(c[Na>>2]|0)){i=(((g<<7)+-128|0)>>>8)+1|0;n=e+11932|0;g=c[n>>2]|0;if((g|0)<0){wc(O);g=c[n>>2]|0}m=e+11928|0;h=c[m>>2]|0;j=i<<24;if(h>>>0>=j>>>0){i=(c[N>>2]|0)-i|0;h=h-j|0}Fa=d[2160+(i&255)>>0]|0;l=i<<Fa;h=h<<Fa;i=g-Fa|0;c[m>>2]=h;c[n>>2]=i;c[N>>2]=l;l=(((l<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);g=c[m>>2]|0;i=c[n>>2]|0}else g=h;j=l<<24;if(g>>>0<j>>>0){k=0;h=l}else{k=1;h=(c[N>>2]|0)-l|0;g=g-j|0}Ea=d[2160+(h&255)>>0]|0;Fa=h<<Ea;h=i-Ea|0;c[m>>2]=g<<Ea;c[n>>2]=h;c[N>>2]=Fa;c[e+5296>>2]=k;g=Fa}else{h=e+11932|0;n=h;h=c[h>>2]|0}i=(((g<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);h=c[n>>2]|0}M=e+11928|0;g=c[M>>2]|0;j=i<<24;if(g>>>0<j>>>0)k=0;else{k=1;i=(c[N>>2]|0)-i|0;g=g-j|0}j=d[2160+(i&255)>>0]|0;i=i<<j;g=g<<j;j=h-j|0;c[M>>2]=g;c[n>>2]=j;c[N>>2]=i;Fa=e+3148|0;a[Fa>>0]=k;if(k<<24>>24){h=(((i<<7)+-128|0)>>>8)+1|0;if((j|0)<0){wc(O);g=c[M>>2]|0;j=c[n>>2]|0}i=h<<24;if(g>>>0<i>>>0)k=0;else{k=1;h=(c[N>>2]|0)-h|0;g=g-i|0}t=d[2160+(h&255)>>0]|0;i=h<<t;g=g<<t;h=j-t|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;t=e+3149|0;a[t>>0]=k;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)k=0;else{k=1;i=(c[N>>2]|0)-i|0;g=g-j|0}j=d[2160+(i&255)>>0]|0;i=i<<j;g=g<<j;j=h-j|0;c[M>>2]=g;c[n>>2]=j;c[N>>2]=i;a[e+3150>>0]=k;if(k<<24>>24){h=(((i<<7)+-128|0)>>>8)+1|0;if((j|0)<0){wc(O);g=c[M>>2]|0;j=c[n>>2]|0}i=h<<24;if(g>>>0<i>>>0)k=0;else{k=1;h=(c[N>>2]|0)-h|0;g=g-i|0}r=d[2160+(h&255)>>0]|0;h=h<<r;i=j-r|0;c[M>>2]=g<<r;c[n>>2]=i;c[N>>2]=h;a[e+3151>>0]=k;r=e+3155|0;s=r;a[s>>0]=0;a[s+1>>0]=0;a[s+2>>0]=0;a[s+3>>0]=0;r=r+4|0;a[r>>0]=0;a[r+1>>0]=0;a[r+2>>0]=0;a[r+3>>0]=0;r=c[1859]|0;s=(r|0)>0;g=0;while(1){j=(((h<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);i=c[n>>2]|0}h=c[M>>2]|0;k=j<<24;if(h>>>0<k>>>0)l=1;else{l=0;j=(c[N>>2]|0)-j|0;h=h-k|0}Ea=d[2160+(j&255)>>0]|0;k=j<<Ea;j=h<<Ea;i=i-Ea|0;c[M>>2]=j;c[n>>2]=i;c[N>>2]=k;do if(l)a[e+3155+g>>0]=0;else{if(s){q=r;h=0;do{o=q;q=q+-1|0;k=(((k<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);j=c[M>>2]|0;i=c[n>>2]|0}l=k<<24;if(j>>>0<l>>>0)m=0;else{m=1;k=(c[N>>2]|0)-k|0;j=j-l|0}Ea=d[2160+(k&255)>>0]|0;k=k<<Ea;j=j<<Ea;i=i-Ea|0;c[M>>2]=j;c[n>>2]=i;c[N>>2]=k;h=m<<q|h}while((o|0)>1)}else h=0;m=e+3155+g|0;a[m>>0]=h;j=(((c[N>>2]<<7)+-128|0)>>>8)+1|0;h=c[n>>2]|0;if((h|0)<0){wc(O);h=c[n>>2]|0}i=c[M>>2]|0;k=j<<24;if(i>>>0<k>>>0)l=1;else{l=0;j=(c[N>>2]|0)-j|0;i=i-k|0}Ea=d[2160+(j&255)>>0]|0;c[M>>2]=i<<Ea;c[n>>2]=h-Ea;c[N>>2]=j<<Ea;if(l)break;a[m>>0]=0-(d[m>>0]|0)}while(0);g=g+1|0;if((g|0)==4)break;h=c[N>>2]|0;i=c[n>>2]|0}r=c[1860]|0;s=(r|0)>0;q=0;do{i=(((c[N>>2]<<7)+-128|0)>>>8)+1|0;g=c[n>>2]|0;if((g|0)<0){wc(O);g=c[n>>2]|0}h=c[M>>2]|0;j=i<<24;if(h>>>0<j>>>0)k=1;else{k=0;i=(c[N>>2]|0)-i|0;h=h-j|0}Ea=d[2160+(i&255)>>0]|0;j=i<<Ea;i=h<<Ea;h=g-Ea|0;c[M>>2]=i;c[n>>2]=h;c[N>>2]=j;do if(k)a[e+3159+q>>0]=0;else{if(s){o=r;g=0;do{m=o;o=o+-1|0;j=(((j<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);i=c[M>>2]|0;h=c[n>>2]|0}k=j<<24;if(i>>>0<k>>>0)l=0;else{l=1;j=(c[N>>2]|0)-j|0;i=i-k|0}Ea=d[2160+(j&255)>>0]|0;j=j<<Ea;i=i<<Ea;h=h-Ea|0;c[M>>2]=i;c[n>>2]=h;c[N>>2]=j;g=l<<o|g}while((m|0)>1)}else g=0;l=e+3159+q|0;a[l>>0]=g;i=(((c[N>>2]<<7)+-128|0)>>>8)+1|0;g=c[n>>2]|0;if((g|0)<0){wc(O);g=c[n>>2]|0}h=c[M>>2]|0;j=i<<24;if(h>>>0<j>>>0)k=1;else{k=0;i=(c[N>>2]|0)-i|0;h=h-j|0}Ea=d[2160+(i&255)>>0]|0;c[M>>2]=h<<Ea;c[n>>2]=g-Ea;c[N>>2]=i<<Ea;if(k)break;a[l>>0]=0-(d[l>>0]|0)}while(0);q=q+1|0}while((q|0)!=4)}if(a[t>>0]|0){u=e+3152|0;b[u>>1]=65535;a[u+2>>0]=255;u=0;do{i=(((c[N>>2]<<7)+-128|0)>>>8)+1|0;g=c[n>>2]|0;if((g|0)<0){wc(O);g=c[n>>2]|0}h=c[M>>2]|0;j=i<<24;if(h>>>0<j>>>0)l=1;else{l=0;i=(c[N>>2]|0)-i|0;h=h-j|0}k=d[2160+(i&255)>>0]|0;i=i<<k;j=h<<k;k=g-k|0;c[M>>2]=j;c[n>>2]=k;c[N>>2]=i;if(!l){h=(((i<<7)+-128|0)>>>8)+1|0;if((k|0)<0){wc(O);g=c[M>>2]|0;k=c[n>>2]|0}else g=j;i=h<<24;if(g>>>0<i>>>0)t=0;else{t=128;h=(c[N>>2]|0)-h|0;g=g-i|0}Ea=d[2160+(h&255)>>0]|0;i=h<<Ea;g=g<<Ea;h=k-Ea|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)s=0;else{s=64;i=(c[N>>2]|0)-i|0;g=g-j|0}Ea=d[2160+(i&255)>>0]|0;i=i<<Ea;g=g<<Ea;h=h-Ea|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)r=0;else{r=32;i=(c[N>>2]|0)-i|0;g=g-j|0}Ea=d[2160+(i&255)>>0]|0;i=i<<Ea;g=g<<Ea;h=h-Ea|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)q=0;else{q=16;i=(c[N>>2]|0)-i|0;g=g-j|0}Ea=d[2160+(i&255)>>0]|0;i=i<<Ea;g=g<<Ea;h=h-Ea|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)o=0;else{o=8;i=(c[N>>2]|0)-i|0;g=g-j|0}Ea=d[2160+(i&255)>>0]|0;i=i<<Ea;g=g<<Ea;h=h-Ea|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)m=0;else{m=4;i=(c[N>>2]|0)-i|0;g=g-j|0}Ea=d[2160+(i&255)>>0]|0;i=i<<Ea;g=g<<Ea;h=h-Ea|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)l=0;else{l=2;i=(c[N>>2]|0)-i|0;g=g-j|0}Ea=d[2160+(i&255)>>0]|0;i=i<<Ea;g=g<<Ea;h=h-Ea|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)k=0;else{k=1;i=(c[N>>2]|0)-i|0;g=g-j|0}Ea=d[2160+(i&255)>>0]|0;c[M>>2]=g<<Ea;c[n>>2]=h-Ea;c[N>>2]=i<<Ea;a[e+3152+u>>0]=k|(l|(m|(o|(q|(r|(s|t))))))}u=u+1|0}while((u|0)!=3)}}else{a[e+3149>>0]=0;a[e+3150>>0]=0}i=(((c[N>>2]<<7)+-128|0)>>>8)+1|0;g=c[n>>2]|0;if((g|0)<0){wc(O);g=c[n>>2]|0}h=c[M>>2]|0;j=i<<24;if(h>>>0<j>>>0)k=0;else{k=1;i=(c[N>>2]|0)-i|0;h=h-j|0}Ea=d[2160+(i&255)>>0]|0;Da=i<<Ea;h=h<<Ea;i=g-Ea|0;c[M>>2]=h;c[n>>2]=i;c[N>>2]=Da;Ea=e+6020|0;c[Ea>>2]=k;k=(((Da<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);g=c[M>>2]|0;i=c[n>>2]|0}else g=h;j=k<<24;if(g>>>0<j>>>0){r=0;h=k}else{r=32;h=(c[N>>2]|0)-k|0;g=g-j|0}Ca=d[2160+(h&255)>>0]|0;Da=h<<Ca;g=g<<Ca;h=i-Ca|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=Da;i=(((Da<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)q=0;else{q=16;i=(c[N>>2]|0)-i|0;g=g-j|0}Da=d[2160+(i&255)>>0]|0;i=i<<Da;g=g<<Da;h=h-Da|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)o=0;else{o=8;i=(c[N>>2]|0)-i|0;g=g-j|0}Da=d[2160+(i&255)>>0]|0;i=i<<Da;g=g<<Da;h=h-Da|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)m=0;else{m=4;i=(c[N>>2]|0)-i|0;g=g-j|0}Da=d[2160+(i&255)>>0]|0;i=i<<Da;g=g<<Da;h=h-Da|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)l=0;else{l=2;i=(c[N>>2]|0)-i|0;g=g-j|0}Da=d[2160+(i&255)>>0]|0;i=i<<Da;g=g<<Da;h=h-Da|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)k=0;else{k=1;i=(c[N>>2]|0)-i|0;g=g-j|0}j=d[2160+(i&255)>>0]|0;Ca=i<<j;g=g<<j;j=h-j|0;c[M>>2]=g;c[n>>2]=j;c[N>>2]=Ca;Da=e+9376|0;c[Da>>2]=k|(l|(m|(o|(q|r))));h=(((Ca<<7)+-128|0)>>>8)+1|0;if((j|0)<0){wc(O);g=c[M>>2]|0;j=c[n>>2]|0}i=h<<24;if(g>>>0<i>>>0)m=0;else{m=4;h=(c[N>>2]|0)-h|0;g=g-i|0}Ca=d[2160+(h&255)>>0]|0;i=h<<Ca;g=g<<Ca;h=j-Ca|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)l=0;else{l=2;i=(c[N>>2]|0)-i|0;g=g-j|0}Ca=d[2160+(i&255)>>0]|0;i=i<<Ca;g=g<<Ca;h=h-Ca|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)k=0;else{k=1;i=(c[N>>2]|0)-i|0;g=g-j|0}Ba=d[2160+(i&255)>>0]|0;Ca=i<<Ba;g=g<<Ba;i=h-Ba|0;c[M>>2]=g;c[n>>2]=i;c[N>>2]=Ca;c[e+9384>>2]=k|(l|m);m=e+3164|0;a[m>>0]=0;h=(((Ca<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);g=c[M>>2]|0;k=c[n>>2]|0}else k=i;i=h<<24;if(g>>>0<i>>>0)l=0;else{l=1;h=(c[N>>2]|0)-h|0;g=g-i|0}i=d[2160+(h&255)>>0]|0;h=h<<i;j=g<<i;i=k-i|0;c[M>>2]=j;c[n>>2]=i;c[N>>2]=h;a[e+3163>>0]=l;do if(l<<24>>24){g=(((h<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);j=c[M>>2]|0;i=c[n>>2]|0}h=g<<24;if(j>>>0<h>>>0)k=0;else{k=1;g=(c[N>>2]|0)-g|0;j=j-h|0}Ca=d[2160+(g&255)>>0]|0;h=g<<Ca;i=i-Ca|0;c[M>>2]=j<<Ca;c[n>>2]=i;c[N>>2]=h;a[m>>0]=k;if(!(k<<24>>24))break;g=0;while(1){j=(((h<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);i=c[n>>2]|0}h=c[M>>2]|0;k=j<<24;if(h>>>0<k>>>0)l=1;else{l=0;j=(c[N>>2]|0)-j|0;h=h-k|0}k=d[2160+(j&255)>>0]|0;j=j<<k;h=h<<k;k=i-k|0;c[M>>2]=h;c[n>>2]=k;c[N>>2]=j;do if(!l){i=(((j<<7)+-128|0)>>>8)+1|0;if((k|0)<0){wc(O);h=c[M>>2]|0;k=c[n>>2]|0}j=i<<24;if(h>>>0<j>>>0)t=0;else{t=32;i=(c[N>>2]|0)-i|0;h=h-j|0}Ca=d[2160+(i&255)>>0]|0;j=i<<Ca;h=h<<Ca;i=k-Ca|0;c[M>>2]=h;c[n>>2]=i;c[N>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);h=c[M>>2]|0;i=c[n>>2]|0}k=j<<24;if(h>>>0<k>>>0)s=0;else{s=16;j=(c[N>>2]|0)-j|0;h=h-k|0}Ca=d[2160+(j&255)>>0]|0;j=j<<Ca;h=h<<Ca;i=i-Ca|0;c[M>>2]=h;c[n>>2]=i;c[N>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);h=c[M>>2]|0;i=c[n>>2]|0}k=j<<24;if(h>>>0<k>>>0)r=0;else{r=8;j=(c[N>>2]|0)-j|0;h=h-k|0}Ca=d[2160+(j&255)>>0]|0;j=j<<Ca;h=h<<Ca;i=i-Ca|0;c[M>>2]=h;c[n>>2]=i;c[N>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);h=c[M>>2]|0;i=c[n>>2]|0}k=j<<24;if(h>>>0<k>>>0)q=0;else{q=4;j=(c[N>>2]|0)-j|0;h=h-k|0}Ca=d[2160+(j&255)>>0]|0;j=j<<Ca;h=h<<Ca;i=i-Ca|0;c[M>>2]=h;c[n>>2]=i;c[N>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);h=c[M>>2]|0;i=c[n>>2]|0}k=j<<24;if(h>>>0<k>>>0)o=0;else{o=2;j=(c[N>>2]|0)-j|0;h=h-k|0}Ca=d[2160+(j&255)>>0]|0;j=j<<Ca;h=h<<Ca;i=i-Ca|0;c[M>>2]=h;c[n>>2]=i;c[N>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);h=c[M>>2]|0;i=c[n>>2]|0}k=j<<24;if(h>>>0<k>>>0)l=0;else{l=1;j=(c[N>>2]|0)-j|0;h=h-k|0}m=d[2160+(j&255)>>0]|0;c[M>>2]=h<<m;c[n>>2]=i-m;c[N>>2]=j<<m;m=e+3169+g|0;a[m>>0]=l|(o|(q|(r|(s|t))));j=(((c[N>>2]<<7)+-128|0)>>>8)+1|0;h=c[n>>2]|0;if((h|0)<0){wc(O);h=c[n>>2]|0}i=c[M>>2]|0;k=j<<24;if(i>>>0<k>>>0)l=1;else{l=0;j=(c[N>>2]|0)-j|0;i=i-k|0}Ca=d[2160+(j&255)>>0]|0;c[M>>2]=i<<Ca;c[n>>2]=h-Ca;c[N>>2]=j<<Ca;if(l)break;a[m>>0]=0-(d[m>>0]|0)}while(0);g=g+1|0;if((g|0)==4)break;h=c[N>>2]|0;i=c[n>>2]|0}t=0;do{i=(((c[N>>2]<<7)+-128|0)>>>8)+1|0;g=c[n>>2]|0;if((g|0)<0){wc(O);g=c[n>>2]|0}h=c[M>>2]|0;j=i<<24;if(h>>>0<j>>>0)l=1;else{l=0;i=(c[N>>2]|0)-i|0;h=h-j|0}k=d[2160+(i&255)>>0]|0;i=i<<k;j=h<<k;k=g-k|0;c[M>>2]=j;c[n>>2]=k;c[N>>2]=i;do if(!l){h=(((i<<7)+-128|0)>>>8)+1|0;if((k|0)<0){wc(O);g=c[M>>2]|0;k=c[n>>2]|0}else g=j;i=h<<24;if(g>>>0<i>>>0)s=0;else{s=32;h=(c[N>>2]|0)-h|0;g=g-i|0}Ca=d[2160+(h&255)>>0]|0;i=h<<Ca;g=g<<Ca;h=k-Ca|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)r=0;else{r=16;i=(c[N>>2]|0)-i|0;g=g-j|0}Ca=d[2160+(i&255)>>0]|0;i=i<<Ca;g=g<<Ca;h=h-Ca|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)q=0;else{q=8;i=(c[N>>2]|0)-i|0;g=g-j|0}Ca=d[2160+(i&255)>>0]|0;i=i<<Ca;g=g<<Ca;h=h-Ca|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)o=0;else{o=4;i=(c[N>>2]|0)-i|0;g=g-j|0}Ca=d[2160+(i&255)>>0]|0;i=i<<Ca;g=g<<Ca;h=h-Ca|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)m=0;else{m=2;i=(c[N>>2]|0)-i|0;g=g-j|0}Ca=d[2160+(i&255)>>0]|0;i=i<<Ca;g=g<<Ca;h=h-Ca|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);g=c[M>>2]|0;h=c[n>>2]|0}j=i<<24;if(g>>>0<j>>>0)k=0;else{k=1;i=(c[N>>2]|0)-i|0;g=g-j|0}l=d[2160+(i&255)>>0]|0;c[M>>2]=g<<l;c[n>>2]=h-l;c[N>>2]=i<<l;l=e+3177+t|0;a[l>>0]=k|(m|(o|(q|(r|s))));i=(((c[N>>2]<<7)+-128|0)>>>8)+1|0;g=c[n>>2]|0;if((g|0)<0){wc(O);g=c[n>>2]|0}h=c[M>>2]|0;j=i<<24;if(h>>>0<j>>>0)k=1;else{k=0;i=(c[N>>2]|0)-i|0;h=h-j|0}Ca=d[2160+(i&255)>>0]|0;c[M>>2]=h<<Ca;c[n>>2]=g-Ca;c[N>>2]=i<<Ca;if(k)break;a[l>>0]=0-(d[l>>0]|0)}while(0);t=t+1|0}while((t|0)!=4);h=c[N>>2]|0;i=c[n>>2]|0}while(0);z=f+p|0;A=e+11980|0;l=c[A>>2]|0;m=c[D>>2]|0;g=(((h<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);i=c[n>>2]|0}f=c[M>>2]|0;h=g<<24;if(f>>>0<h>>>0)k=0;else{k=2;g=(c[N>>2]|0)-g|0;f=f-h|0}Ca=d[2160+(g&255)>>0]|0;h=g<<Ca;f=f<<Ca;g=i-Ca|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)j=0;else{j=1;h=(c[N>>2]|0)-h|0;f=f-i|0}y=d[2160+(h&255)>>0]|0;Ca=g-y|0;c[M>>2]=f<<y;c[n>>2]=Ca;c[N>>2]=h<<y;f=j|k;y=e+11696|0;w=l+m|0;L=e+11676|0;if((Ca+-33|0)>>>0>1073741790)c[L>>2]=f;else f=c[L>>2]|0;u=1<<f;x=e+11976|0;if(c[x>>2]|0){v=z;p=(3<<f)+-3|0;q=u+-1|0;r=w;s=e+12076|0;t=e+11984|0;f=0;do{h=c[e+12016+(f<<2)>>2]|0;g=c[e+11980+(f<<2)>>2]|0;o=g+h|0;do if(f){if(h)Ia=168}else{g=p+(v-(c[A>>2]|0))|0;if(h>>>0<g>>>0){c[I>>2]=h;fa(Ta,7,8177,I)}f=h-g|0;if(!f){f=0;break}c[D>>2]=g;g=(c[A>>2]|0)+g|0;c[t>>2]=g;h=f;f=1;Ia=168}while(0);a:do if((Ia|0)==168){m=o;while(1){l=e+11980+(f<<2)|0;j=f+-1|0;i=z+(j*3|0)|0;k=m-g|0;if((k|0)<0){c[E>>2]=k;fa(Ta,7,8204,E)}do if((q|0)>(j|0)){if(i>>>0>=w>>>0|(r-i|0)>>>0<3){if(c[s>>2]|0){i=k;Ia=178;break}fa(Ta,7,8261,F);g=0;Ia=179;break}j=c[B>>2]|0;if(j){S[j&31](c[C>>2]|0,i,Ja,3);i=Ja}i=d[i+1>>0]<<8|d[i>>0]|d[i+2>>0]<<16;Ia=178}else{i=k;Ia=178}while(0);if((Ia|0)==178){Ia=0;if(k>>>0>=i>>>0&(o>>>0>g>>>0&(i|0)!=0))g=i;else{g=i;Ia=179}}do if((Ia|0)==179){Ia=0;if(c[s>>2]|0){g=k;break}c[G>>2]=f;fa(Ta,7,8291,G)}while(0);c[e+12016+(f<<2)>>2]=g;if(h>>>0<g>>>0){c[H>>2]=h;fa(Ta,7,8177,H)}h=h-g|0;i=f+1|0;if(!h)break a;g=(c[l>>2]|0)+g|0;c[e+11980+(i<<2)>>2]=g;f=i}}while(0);f=f+1|0}while(f>>>0<(c[x>>2]|0)>>>0)}Ca=u+1|0;c[x>>2]=Ca;if(Ca>>>0>1){f=y;g=1;while(1){if(vc(f,c[e+11980+(g<<2)>>2]|0,c[e+12016+(g<<2)>>2]|0,c[B>>2]|0,c[C>>2]|0)|0){c[K>>2]=g;fa(Ta,2,8339,K)}g=g+1|0;if(g>>>0>=(c[x>>2]|0)>>>0)break;else f=f+28|0}}Ca=e+3216|0;c[Ca>>2]=y;f=c[n>>2]|0;h=(((c[N>>2]<<7)+-128|0)>>>8)+1|0;if((f|0)<0){wc(O);f=c[n>>2]|0}g=c[M>>2]|0;i=h<<24;if(g>>>0<i>>>0)q=0;else{q=64;h=(c[N>>2]|0)-h|0;g=g-i|0}Ba=d[2160+(h&255)>>0]|0;j=h<<Ba;g=g<<Ba;h=f-Ba|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);f=c[M>>2]|0;h=c[n>>2]|0}else f=g;i=j<<24;if(f>>>0<i>>>0){p=0;g=j}else{p=32;g=(c[N>>2]|0)-j|0;f=f-i|0}Aa=d[2160+(g&255)>>0]|0;Ba=g<<Aa;f=f<<Aa;g=h-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=Ba;h=(((Ba<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)o=0;else{o=16;h=(c[N>>2]|0)-h|0;f=f-i|0}Ba=d[2160+(h&255)>>0]|0;h=h<<Ba;f=f<<Ba;g=g-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)m=0;else{m=8;h=(c[N>>2]|0)-h|0;f=f-i|0}Ba=d[2160+(h&255)>>0]|0;h=h<<Ba;f=f<<Ba;g=g-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)l=0;else{l=4;h=(c[N>>2]|0)-h|0;f=f-i|0}Ba=d[2160+(h&255)>>0]|0;h=h<<Ba;f=f<<Ba;g=g-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)k=0;else{k=2;h=(c[N>>2]|0)-h|0;f=f-i|0}Ba=d[2160+(h&255)>>0]|0;h=h<<Ba;f=f<<Ba;g=g-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)j=0;else{j=1;h=(c[N>>2]|0)-h|0;f=f-i|0}i=d[2160+(h&255)>>0]|0;Ba=h<<i;f=f<<i;i=g-i|0;c[M>>2]=f;c[n>>2]=i;c[N>>2]=Ba;c[e+5984>>2]=j|(k|(l|(m|(o|(p|q)))));q=e+5988|0;p=c[q>>2]|0;g=(((Ba<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);f=c[M>>2]|0;i=c[n>>2]|0}h=g<<24;if(f>>>0<h>>>0)j=1;else{j=0;g=(c[N>>2]|0)-g|0;f=f-h|0}Ba=d[2160+(g&255)>>0]|0;h=g<<Ba;f=f<<Ba;i=i-Ba|0;c[M>>2]=f;c[n>>2]=i;c[N>>2]=h;if(j)g=0;else{g=(((h<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);f=c[M>>2]|0;i=c[n>>2]|0}h=g<<24;if(f>>>0<h>>>0)o=0;else{o=8;g=(c[N>>2]|0)-g|0;f=f-h|0}Ba=d[2160+(g&255)>>0]|0;h=g<<Ba;f=f<<Ba;g=i-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)m=0;else{m=4;h=(c[N>>2]|0)-h|0;f=f-i|0}Ba=d[2160+(h&255)>>0]|0;h=h<<Ba;f=f<<Ba;g=g-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)l=0;else{l=2;h=(c[N>>2]|0)-h|0;f=f-i|0}Ba=d[2160+(h&255)>>0]|0;h=h<<Ba;f=f<<Ba;g=g-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)k=0;else{k=1;h=(c[N>>2]|0)-h|0;f=f-i|0}j=d[2160+(h&255)>>0]|0;Ba=h<<j;f=f<<j;j=g-j|0;c[M>>2]=f;c[n>>2]=j;c[N>>2]=Ba;k=k|(l|(m|o));g=(((Ba<<7)+-128|0)>>>8)+1|0;if((j|0)<0){wc(O);f=c[M>>2]|0;j=c[n>>2]|0}h=g<<24;if(f>>>0<h>>>0)i=1;else{i=0;g=(c[N>>2]|0)-g|0;f=f-h|0}Ba=d[2160+(g&255)>>0]|0;h=g<<Ba;f=f<<Ba;Ba=j-Ba|0;c[M>>2]=f;c[n>>2]=Ba;c[N>>2]=h;g=i?k:0-k|0;i=Ba}r=(g|0)!=(p|0);c[q>>2]=g;q=e+5992|0;p=c[q>>2]|0;g=(((h<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);f=c[M>>2]|0;i=c[n>>2]|0}h=g<<24;if(f>>>0<h>>>0)j=1;else{j=0;g=(c[N>>2]|0)-g|0;f=f-h|0}Ba=d[2160+(g&255)>>0]|0;h=g<<Ba;f=f<<Ba;i=i-Ba|0;c[M>>2]=f;c[n>>2]=i;c[N>>2]=h;if(j)g=0;else{g=(((h<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);f=c[M>>2]|0;i=c[n>>2]|0}h=g<<24;if(f>>>0<h>>>0)o=0;else{o=8;g=(c[N>>2]|0)-g|0;f=f-h|0}Ba=d[2160+(g&255)>>0]|0;h=g<<Ba;f=f<<Ba;g=i-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)m=0;else{m=4;h=(c[N>>2]|0)-h|0;f=f-i|0}Ba=d[2160+(h&255)>>0]|0;h=h<<Ba;f=f<<Ba;g=g-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)l=0;else{l=2;h=(c[N>>2]|0)-h|0;f=f-i|0}Ba=d[2160+(h&255)>>0]|0;h=h<<Ba;f=f<<Ba;g=g-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)k=0;else{k=1;h=(c[N>>2]|0)-h|0;f=f-i|0}j=d[2160+(h&255)>>0]|0;Ba=h<<j;f=f<<j;j=g-j|0;c[M>>2]=f;c[n>>2]=j;c[N>>2]=Ba;k=k|(l|(m|o));g=(((Ba<<7)+-128|0)>>>8)+1|0;if((j|0)<0){wc(O);f=c[M>>2]|0;j=c[n>>2]|0}h=g<<24;if(f>>>0<h>>>0)i=1;else{i=0;g=(c[N>>2]|0)-g|0;f=f-h|0}Ba=d[2160+(g&255)>>0]|0;h=g<<Ba;f=f<<Ba;Ba=j-Ba|0;c[M>>2]=f;c[n>>2]=Ba;c[N>>2]=h;g=i?k:0-k|0;i=Ba}r=r|(g|0)!=(p|0);c[q>>2]=g;p=e+5996|0;o=c[p>>2]|0;g=(((h<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);f=c[M>>2]|0;i=c[n>>2]|0}h=g<<24;if(f>>>0<h>>>0)j=1;else{j=0;g=(c[N>>2]|0)-g|0;f=f-h|0}Ba=d[2160+(g&255)>>0]|0;g=g<<Ba;f=f<<Ba;i=i-Ba|0;c[M>>2]=f;c[n>>2]=i;c[N>>2]=g;if(j)h=0;else{g=(((g<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);f=c[M>>2]|0;i=c[n>>2]|0}h=g<<24;if(f>>>0<h>>>0)m=0;else{m=8;g=(c[N>>2]|0)-g|0;f=f-h|0}Ba=d[2160+(g&255)>>0]|0;h=g<<Ba;f=f<<Ba;g=i-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)l=0;else{l=4;h=(c[N>>2]|0)-h|0;f=f-i|0}Ba=d[2160+(h&255)>>0]|0;h=h<<Ba;f=f<<Ba;g=g-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)k=0;else{k=2;h=(c[N>>2]|0)-h|0;f=f-i|0}Ba=d[2160+(h&255)>>0]|0;h=h<<Ba;f=f<<Ba;g=g-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)j=0;else{j=1;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;Ba=h<<Aa;f=f<<Aa;h=g-Aa|0;c[M>>2]=f;c[n>>2]=h;c[N>>2]=Ba;k=j|(k|(l|m));g=(((Ba<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);j=c[n>>2]|0;f=c[M>>2]|0}else j=h;h=g<<24;if(f>>>0<h>>>0)i=1;else{i=0;g=(c[N>>2]|0)-g|0;f=f-h|0}Ba=d[2160+(g&255)>>0]|0;g=g<<Ba;f=f<<Ba;Ba=j-Ba|0;c[M>>2]=f;c[n>>2]=Ba;c[N>>2]=g;h=i?k:0-k|0;i=Ba}r=r|(h|0)!=(o|0);c[p>>2]=h;q=e+6e3|0;p=c[q>>2]|0;g=(((g<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);f=c[M>>2]|0;i=c[n>>2]|0}h=g<<24;if(f>>>0<h>>>0)j=1;else{j=0;g=(c[N>>2]|0)-g|0;f=f-h|0}Ba=d[2160+(g&255)>>0]|0;g=g<<Ba;f=f<<Ba;i=i-Ba|0;c[M>>2]=f;c[n>>2]=i;c[N>>2]=g;if(j)h=0;else{g=(((g<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);f=c[M>>2]|0;i=c[n>>2]|0}h=g<<24;if(f>>>0<h>>>0)o=0;else{o=8;g=(c[N>>2]|0)-g|0;f=f-h|0}Ba=d[2160+(g&255)>>0]|0;h=g<<Ba;f=f<<Ba;g=i-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)m=0;else{m=4;h=(c[N>>2]|0)-h|0;f=f-i|0}Ba=d[2160+(h&255)>>0]|0;h=h<<Ba;f=f<<Ba;g=g-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)l=0;else{l=2;h=(c[N>>2]|0)-h|0;f=f-i|0}Ba=d[2160+(h&255)>>0]|0;h=h<<Ba;f=f<<Ba;g=g-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)k=0;else{k=1;h=(c[N>>2]|0)-h|0;f=f-i|0}j=d[2160+(h&255)>>0]|0;Ba=h<<j;f=f<<j;j=g-j|0;c[M>>2]=f;c[n>>2]=j;c[N>>2]=Ba;k=k|(l|(m|o));g=(((Ba<<7)+-128|0)>>>8)+1|0;if((j|0)<0){wc(O);f=c[M>>2]|0;j=c[n>>2]|0}h=g<<24;if(f>>>0<h>>>0)i=1;else{i=0;g=(c[N>>2]|0)-g|0;f=f-h|0}Ba=d[2160+(g&255)>>0]|0;g=g<<Ba;f=f<<Ba;Ba=j-Ba|0;c[M>>2]=f;c[n>>2]=Ba;c[N>>2]=g;h=i?k:0-k|0;i=Ba}r=r|(h|0)!=(p|0);c[q>>2]=h;p=e+6004|0;q=c[p>>2]|0;g=(((g<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);f=c[M>>2]|0;i=c[n>>2]|0}h=g<<24;if(f>>>0<h>>>0)j=1;else{j=0;g=(c[N>>2]|0)-g|0;f=f-h|0}h=d[2160+(g&255)>>0]|0;g=g<<h;f=f<<h;h=i-h|0;c[M>>2]=f;c[n>>2]=h;c[N>>2]=g;if(j)f=0;else{g=(((g<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);f=c[M>>2]|0;h=c[n>>2]|0}i=g<<24;if(f>>>0<i>>>0)o=0;else{o=8;g=(c[N>>2]|0)-g|0;f=f-i|0}Aa=d[2160+(g&255)>>0]|0;Ba=g<<Aa;f=f<<Aa;g=h-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=Ba;h=(((Ba<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)m=0;else{m=4;h=(c[N>>2]|0)-h|0;f=f-i|0}Ba=d[2160+(h&255)>>0]|0;h=h<<Ba;f=f<<Ba;g=g-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)l=0;else{l=2;h=(c[N>>2]|0)-h|0;f=f-i|0}Ba=d[2160+(h&255)>>0]|0;h=h<<Ba;f=f<<Ba;g=g-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)k=0;else{k=1;h=(c[N>>2]|0)-h|0;f=f-i|0}j=d[2160+(h&255)>>0]|0;Ba=h<<j;f=f<<j;j=g-j|0;c[M>>2]=f;c[n>>2]=j;c[N>>2]=Ba;k=k|(l|(m|o));g=(((Ba<<7)+-128|0)>>>8)+1|0;if((j|0)<0){wc(O);f=c[M>>2]|0;j=c[n>>2]|0}h=g<<24;if(f>>>0<h>>>0)i=1;else{i=0;g=(c[N>>2]|0)-g|0;f=f-h|0}Ba=d[2160+(g&255)>>0]|0;c[M>>2]=f<<Ba;c[n>>2]=j-Ba;c[N>>2]=g<<Ba;f=i?k:0-k|0}c[p>>2]=f;if(!((f|0)==(q|0)&(r^1)))ob(e);pb(e,e);if(!(c[Na>>2]|0)){f=c[N>>2]|0;g=c[n>>2]|0}else{h=(((c[N>>2]<<7)+-128|0)>>>8)+1|0;f=c[n>>2]|0;if((f|0)<0){wc(O);f=c[n>>2]|0}g=c[M>>2]|0;i=h<<24;if(g>>>0<i>>>0)j=0;else{j=1;h=(c[N>>2]|0)-h|0;g=g-i|0}l=d[2160+(h&255)>>0]|0;Ba=h<<l;g=g<<l;h=f-l|0;c[M>>2]=g;c[n>>2]=h;c[N>>2]=Ba;l=e+9392|0;c[l>>2]=j;j=(((Ba<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);f=c[M>>2]|0;h=c[n>>2]|0}else f=g;i=j<<24;if(f>>>0<i>>>0){k=0;g=j}else{k=1;g=(c[N>>2]|0)-j|0;f=f-i|0}i=d[2160+(g&255)>>0]|0;g=g<<i;f=f<<i;i=h-i|0;c[M>>2]=f;c[n>>2]=i;c[N>>2]=g;o=e+9396|0;c[o>>2]=k;m=e+9400|0;c[m>>2]=0;if(!(c[l>>2]|0)){g=(((g<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);f=c[M>>2]|0;i=c[n>>2]|0}h=g<<24;if(f>>>0<h>>>0)k=0;else{k=2;g=(c[N>>2]|0)-g|0;f=f-h|0}Ba=d[2160+(g&255)>>0]|0;h=g<<Ba;f=f<<Ba;g=i-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)j=0;else{j=1;h=(c[N>>2]|0)-h|0;f=f-i|0}i=d[2160+(h&255)>>0]|0;h=h<<i;f=f<<i;i=g-i|0;c[M>>2]=f;c[n>>2]=i;c[N>>2]=h;c[m>>2]=j|k;g=h;h=c[o>>2]|0}else h=k;l=e+9404|0;c[l>>2]=0;if(!h){g=(((g<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);f=c[M>>2]|0;i=c[n>>2]|0}h=g<<24;if(f>>>0<h>>>0)k=0;else{k=2;g=(c[N>>2]|0)-g|0;f=f-h|0}Ba=d[2160+(g&255)>>0]|0;h=g<<Ba;f=f<<Ba;g=i-Ba|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)j=0;else{j=1;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;Ba=h<<Aa;f=f<<Aa;h=g-Aa|0;c[M>>2]=f;c[n>>2]=h;c[N>>2]=Ba;c[l>>2]=j|k;g=Ba}else h=i;g=(((g<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(O);f=c[M>>2]|0;h=c[n>>2]|0}i=g<<24;if(f>>>0<i>>>0)j=0;else{j=1;g=(c[N>>2]|0)-g|0;f=f-i|0}Aa=d[2160+(g&255)>>0]|0;Ba=g<<Aa;f=f<<Aa;g=h-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=Ba;c[e+9420>>2]=j;h=(((Ba<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)j=0;else{j=1;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;Ba=h<<Aa;g=g-Aa|0;c[M>>2]=f<<Aa;c[n>>2]=g;c[N>>2]=Ba;c[e+9424>>2]=j;f=Ba}h=(((f<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);g=c[n>>2]|0}f=c[M>>2]|0;i=h<<24;if(f>>>0<i>>>0)j=0;else{j=1;h=(c[N>>2]|0)-h|0;f=f-i|0}i=d[2160+(h&255)>>0]|0;h=h<<i;f=f<<i;i=g-i|0;c[M>>2]=f;c[n>>2]=i;c[N>>2]=h;Ba=e+9408|0;c[Ba>>2]=j;if(!j)xd(e+9441|0,e+10554|0,1113)|0;if(!(c[Na>>2]|0))f=1;else{h=(((h<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(O);g=c[M>>2]|0;i=c[n>>2]|0}else g=f;j=h<<24;if(g>>>0<j>>>0)f=0;else{f=1;h=(c[N>>2]|0)-h|0;g=g-j|0}Aa=d[2160+(h&255)>>0]|0;c[M>>2]=g<<Aa;c[n>>2]=i-Aa;c[N>>2]=h<<Aa}c[e+9388>>2]=f;c[Qa>>2]=1;x=0;do{w=0;do{v=0;do{u=v+-1|0;if(!v){s=0;do{t=e+10573+(x*264|0)+(w*33|0)+s|0;h=((((c[N>>2]|0)+-1|0)*(d[1104+(x*264|0)+(w*33|0)+s>>0]|0)|0)>>>8)+1|0;f=c[n>>2]|0;if((f|0)<0){wc(O);f=c[n>>2]|0}g=c[M>>2]|0;i=h<<24;if(g>>>0<i>>>0)k=1;else{k=0;h=(c[N>>2]|0)-h|0;g=g-i|0}j=d[2160+(h&255)>>0]|0;h=h<<j;i=g<<j;j=f-j|0;c[M>>2]=i;c[n>>2]=j;c[N>>2]=h;if(!k){g=(((h<<7)+-128|0)>>>8)+1|0;if((j|0)<0){wc(O);f=c[M>>2]|0;j=c[n>>2]|0}else f=i;h=g<<24;if(f>>>0<h>>>0)r=0;else{r=128;g=(c[N>>2]|0)-g|0;f=f-h|0}Aa=d[2160+(g&255)>>0]|0;h=g<<Aa;f=f<<Aa;g=j-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)q=0;else{q=64;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;h=h<<Aa;f=f<<Aa;g=g-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)p=0;else{p=32;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;h=h<<Aa;f=f<<Aa;g=g-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)o=0;else{o=16;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;h=h<<Aa;f=f<<Aa;g=g-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)m=0;else{m=8;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;h=h<<Aa;f=f<<Aa;g=g-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)l=0;else{l=4;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;h=h<<Aa;f=f<<Aa;g=g-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)k=0;else{k=2;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;h=h<<Aa;f=f<<Aa;g=g-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)j=0;else{j=1;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;c[M>>2]=f<<Aa;c[n>>2]=g-Aa;c[N>>2]=h<<Aa;a[t>>0]=j|(k|(l|(m|(o|(p|(q|r))))))}s=s+1|0}while((s|0)!=11)}else{t=0;do{s=e+10573+(x*264|0)+(w*33|0)+(v*11|0)+t|0;h=((((c[N>>2]|0)+-1|0)*(d[1104+(x*264|0)+(w*33|0)+(v*11|0)+t>>0]|0)|0)>>>8)+1|0;f=c[n>>2]|0;if((f|0)<0){wc(O);f=c[n>>2]|0}g=c[M>>2]|0;i=h<<24;if(g>>>0<i>>>0)k=1;else{k=0;h=(c[N>>2]|0)-h|0;g=g-i|0}j=d[2160+(h&255)>>0]|0;h=h<<j;i=g<<j;j=f-j|0;c[M>>2]=i;c[n>>2]=j;c[N>>2]=h;if(k)f=a[s>>0]|0;else{g=(((h<<7)+-128|0)>>>8)+1|0;if((j|0)<0){wc(O);f=c[M>>2]|0;j=c[n>>2]|0}else f=i;h=g<<24;if(f>>>0<h>>>0)r=0;else{r=128;g=(c[N>>2]|0)-g|0;f=f-h|0}Aa=d[2160+(g&255)>>0]|0;h=g<<Aa;f=f<<Aa;g=j-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)q=0;else{q=64;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;h=h<<Aa;f=f<<Aa;g=g-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)p=0;else{p=32;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;h=h<<Aa;f=f<<Aa;g=g-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)o=0;else{o=16;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;h=h<<Aa;f=f<<Aa;g=g-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)m=0;else{m=8;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;h=h<<Aa;f=f<<Aa;g=g-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)l=0;else{l=4;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;h=h<<Aa;f=f<<Aa;g=g-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)k=0;else{k=2;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;h=h<<Aa;f=f<<Aa;g=g-Aa|0;c[M>>2]=f;c[n>>2]=g;c[N>>2]=h;h=(((h<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(O);f=c[M>>2]|0;g=c[n>>2]|0}i=h<<24;if(f>>>0<i>>>0)j=0;else{j=1;h=(c[N>>2]|0)-h|0;f=f-i|0}Aa=d[2160+(h&255)>>0]|0;c[M>>2]=f<<Aa;c[n>>2]=g-Aa;c[N>>2]=h<<Aa;f=(j|(k|(l|(m|(o|(p|(q|r)))))))&255;a[s>>0]=f}if(f<<24>>24!=(a[e+10573+(x*264|0)+(w*33|0)+(u*11|0)+t>>0]|0))c[Qa>>2]=0;t=t+1|0}while((t|0)!=11)}v=v+1|0}while((v|0)!=3);w=w+1|0}while((w|0)!=8);x=x+1|0}while((x|0)!=4);na=e+384|0;yd(na|0,0,800)|0;xc(e);oa=e+9428|0;pa=e+5960|0;yd(c[oa>>2]|0,0,(c[pa>>2]|0)*9|0)|0;c[e+12088>>2]=0;m=c[Ha>>2]|0;la=c[L>>2]|0;ya=c[P>>2]|0;va=ya+16|0;ta=c[va>>2]|0;xa=ya+36|0;ua=c[xa>>2]|0;c[Ka>>2]=0;wa=c[e+3476>>2]|0;c[Ja+12>>2]=c[wa+52>>2];c[Ja+16>>2]=c[wa+56>>2];c[Ja+20>>2]=c[wa+60>>2];c[Ka+4>>2]=c[wa+112>>2];wa=c[e+3480>>2]|0;c[Ja+24>>2]=c[wa+52>>2];c[Ja+28>>2]=c[wa+56>>2];c[Ja+32>>2]=c[wa+60>>2];c[Ka+8>>2]=c[wa+112>>2];wa=c[e+3484>>2]|0;c[Ja+36>>2]=c[wa+52>>2];c[Ja+40>>2]=c[wa+56>>2];c[Ja+44>>2]=c[wa+60>>2];c[Ka+12>>2]=c[wa+112>>2];la=1<<la;wa=ya+52|0;qa=c[wa>>2]|0;za=ya+56|0;sa=c[za>>2]|0;Aa=ya+60|0;ra=c[Aa>>2]|0;ma=e+3100|0;c[ma>>2]=0;f=c[Da>>2]|0;if(f|0)Ua(Ta,e,f);uc(ya);A=e+5956|0;if((c[A>>2]|0)>0){B=(la|0)>1;C=ta<<4;D=ua<<3;E=e+3140|0;F=e+3104|0;G=e+3192|0;H=e+3196|0;I=e+3108|0;K=e+3112|0;L=e+3116|0;M=e+3120|0;N=e+3124|0;O=e+3128|0;P=e+2984|0;Q=e+3004|0;R=e+3132|0;T=e+3136|0;U=e+3020|0;V=e+3024|0;W=e+3028|0;X=e+3184|0;Y=e+3188|0;Z=e+2900|0;_=e+2904|0;$=e+2908|0;aa=e+2016|0;ba=e+1984|0;ca=e+896|0;da=e+2112|0;ea=e+2e3|0;ga=e+2816|0;ha=e+2008|0;ia=e+2080|0;ja=e+2820|0;ka=e+2048|0;p=0;l=0;h=qa;k=qa;j=ra;g=sa;f=ra;i=sa;while(1){o=p+1|0;if(B){c[Ca>>2]=e+11696+(p*28|0);z=(o|0)==(la|0)?0:o}else z=p;o=l*C|0;p=l*D|0;c[E>>2]=c[oa>>2];u=c[Ga>>2]|0;v=u+9|0;do{a[u>>0]=0;u=u+1|0}while((u|0)<(v|0));c[F>>2]=0;c[G>>2]=0-(l<<7);c[H>>2]=33554431-l+(c[A>>2]|0)<<7;s=qa+o|0;x=sa+p|0;w=ra+p|0;u=s+-1|0;c[M>>2]=u;r=x+-1|0;c[N>>2]=r;y=w+-1|0;c[O>>2]=y;t=c[P>>2]|0;c[I>>2]=s+(0-t);s=c[Q>>2]|0;v=0-s|0;c[K>>2]=x+v;c[L>>2]=w+v;c[R>>2]=t;c[T>>2]=s;a[u>>0]=-127;a[u+t>>0]=-127;a[u+(t<<1)>>0]=-127;a[u+(t*3|0)>>0]=-127;a[u+(t<<2)>>0]=-127;a[u+(t*5|0)>>0]=-127;a[u+(t*6|0)>>0]=-127;a[u+(t*7|0)>>0]=-127;a[u+(t<<3)>>0]=-127;a[u+(t*9|0)>>0]=-127;a[u+(t*10|0)>>0]=-127;a[u+(t*11|0)>>0]=-127;a[u+(t*12|0)>>0]=-127;a[u+(t*13|0)>>0]=-127;a[u+(t*14|0)>>0]=-127;a[u+(t*15|0)>>0]=-127;a[r>>0]=-127;a[r+s>>0]=-127;t=s<<1;a[r+t>>0]=-127;u=s*3|0;a[r+u>>0]=-127;v=s<<2;a[r+v>>0]=-127;w=s*5|0;a[r+w>>0]=-127;x=s*6|0;a[r+x>>0]=-127;q=s*7|0;a[r+q>>0]=-127;a[y>>0]=-127;a[y+s>>0]=-127;a[y+t>>0]=-127;a[y+u>>0]=-127;a[y+v>>0]=-127;a[y+w>>0]=-127;a[y+x>>0]=-127;a[y+q>>0]=-127;q=c[pa>>2]|0;if((q|0)>0){y=o;x=0;o=q;q=c[Ha>>2]|0;while(1){c[X>>2]=0-(x<<7);c[Y>>2]=o+33554431-x<<7;c[U>>2]=qa+y;c[V>>2]=sa+p;c[W>>2]=ra+p;o=a[q+2>>0]|0;if(!(o<<24>>24)){c[Z>>2]=0;c[_>>2]=0;c[$>>2]=0;o=Ka}else{o=o&255;c[Z>>2]=(c[Ja+(o*12|0)>>2]|0)+y;c[_>>2]=(c[Ja+(o*12|0)+4>>2]|0)+p;c[$>>2]=(c[Ja+(o*12|0)+8>>2]|0)+p;o=Ka+(o<<2)|0}c[Oa>>2]=c[Oa>>2]|c[o>>2];do if(!(a[q+9>>0]|0)){if(((c[(c[Ca>>2]|0)+12>>2]|0)+-33|0)>>>0<=1073741790){o=q;break}w=(tb(e,e)|0)==0&1;o=c[Ha>>2]|0;a[o+9>>0]=w}else{sb(e);o=c[Ha>>2]|0}while(0);w=a[o>>0]|0;if(a[Fa>>0]|0){pb(e,e);o=c[Ha>>2]|0}b:do if(!(a[o+2>>0]|0)){kb(e,c[K>>2]|0,c[L>>2]|0,c[N>>2]|0,c[O>>2]|0,c[T>>2]|0,c[V>>2]|0,c[W>>2]|0,c[Q>>2]|0);if(w<<24>>24!=4){jb(e,c[I>>2]|0,c[M>>2]|0,c[R>>2]|0,c[U>>2]|0,c[P>>2]|0);break}u=c[P>>2]|0;q=c[Ha>>2]|0;if(a[q+9>>0]|0){c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;a[ba+24>>0]=0}t=(c[I>>2]|0)+16|0;r=c[U>>2]|0;v=0-u|0;o=r+v+16|0;c[o+(u<<2)>>2]=c[t>>2];c[o+(u<<3)>>2]=c[t>>2];c[o+(u*12|0)>>2]=c[t>>2];o=0;while(1){t=r+(c[e+2144+(o*28|0)+16>>2]|0)|0;s=t+v|0;nb(s,t+-1|0,u,c[q+12+(o<<2)>>2]|0,t,u,a[s+-1>>0]|0);q=a[e+1984+o>>0]|0;do if(q<<24>>24){r=e+2144+(o*28|0)|0;s=c[r>>2]|0;if(q<<24>>24>1){Xb(s,aa,t,u);break}else{jc((b[aa>>1]|0)*(b[s>>1]|0)&65535,t,u,t,u);t=c[r>>2]|0;b[t>>1]=0;b[t+2>>1]=0>>>16;break}}while(0);o=o+1|0;if((o|0)==16)break b;r=c[U>>2]|0;q=c[Ha>>2]|0}}else tc(e);while(0);o=c[Ha>>2]|0;if(!(a[o+9>>0]|0)){c:do switch(w<<24>>24){case 4:break;case 9:{o=aa;Ia=384;break}default:if((a[ha>>0]|0)>1){Wb(ga,ia);kc(c[ja>>2]|0,na);u=c[ga>>2]|0;v=u+32|0;do{b[u>>1]=0;u=u+2|0}while((u|0)<(v|0));o=ka;Ia=384;break c}else{o=c[ja>>2]|0;b[o>>1]=(b[ia>>1]|0)*(b[c[ga>>2]>>1]|0);lc(o,na);o=c[ga>>2]|0;b[o>>1]=0;b[o+2>>1]=0>>>16;o=ka;Ia=384;break c}}while(0);if((Ia|0)==384){Ia=0;gc(na,o,c[U>>2]|0,c[P>>2]|0,ba)}hc(ca,da,c[V>>2]|0,c[W>>2]|0,c[Q>>2]|0,ea);o=c[Ha>>2]|0}c[F>>2]=1;c[Oa>>2]=c[Oa>>2]|((c[(c[Ca>>2]|0)+12>>2]|0)+-33|0)>>>0<1073741791;c[I>>2]=(c[I>>2]|0)+16;c[K>>2]=(c[K>>2]|0)+8;c[L>>2]=(c[L>>2]|0)+8;c[M>>2]=(c[M>>2]|0)+16;c[N>>2]=(c[N>>2]|0)+8;c[O>>2]=(c[O>>2]|0)+8;q=o+76|0;c[Ha>>2]=q;c[E>>2]=(c[E>>2]|0)+9;x=x+1|0;o=c[pa>>2]|0;if((x|0)>=(o|0))break;else{y=y+16|0;p=p+8|0}}}Zb(ya,(c[U>>2]|0)+16|0,(c[V>>2]|0)+8|0,(c[W>>2]|0)+8|0);c[Ha>>2]=(c[Ha>>2]|0)+76;c[ma>>2]=1;o=(l|0)!=0;do if(!(c[Da>>2]|0)){if(!o)break;rb(ya,h,g,f);h=h+C|0;g=g+D|0;f=f+D|0}else{if(!o)break;o=l+-1|0;if(!(c[Ea>>2]|0))Va(Ta,m,o,ta,ua,k,i,j);else Wa(Ta,m,o,ta,ua,k,i,j);if(l>>>0>1){rb(ya,h,g,f);h=h+C|0;g=g+D|0;f=f+D|0}m=m+((c[pa>>2]|0)*76|0)+76|0;k=k+C|0;j=j+D|0;i=i+D|0}while(0);o=l+1|0;if((o|0)<(c[A>>2]|0)){p=z;l=o}else break}}else{l=-1;h=qa;k=qa;j=ra;g=sa;f=ra;i=sa}if(c[Da>>2]|0){if(!(c[Ea>>2]|0))Va(Ta,m,l,ta,ua,k,i,j);else Wa(Ta,m,l,ta,ua,k,i,j);rb(ya,h,g,f);Ka=ua<<3;h=h+(ta<<4)|0;g=g+Ka|0;f=f+Ka|0}rb(ya,h,g,f);m=ya+76|0;j=c[m>>2]|0;h=c[va>>2]|0;f=0-j|0;i=(c[wa>>2]|0)+f|0;if((j|0)>0){g=0;f=i+(h*f|0)|0;while(1){xd(f|0,i|0,h|0)|0;g=g+1|0;if((g|0)==(j|0))break;else f=f+h|0}}l=c[xa>>2]|0;k=j>>>1;h=0-k|0;i=(c[za>>2]|0)+h|0;j=l*h|0;if(k|0){f=0;g=i+j|0;while(1){xd(g|0,i|0,l|0)|0;f=f+1|0;if((f|0)==(k|0))break;else g=g+l|0}h=(c[Aa>>2]|0)+h|0;g=0;f=h+j|0;while(1){xd(f|0,h|0,l|0)|0;g=g+1|0;if((g|0)==(k|0))break;else f=f+l|0}}j=c[m>>2]|0;i=c[va>>2]|0;h=(c[wa>>2]|0)+(0-j)+((c[ya+4>>2]|0)*i|0)+(0-i)|0;if((j|0)>0){f=0;g=h;do{g=g+i|0;xd(g|0,h|0,i|0)|0;f=f+1|0}while((f|0)!=(j|0))}m=c[xa>>2]|0;l=j>>>1;k=0-l|0;i=(c[ya+24>>2]|0)*m|0;j=0-m|0;h=(c[za>>2]|0)+k+i+j|0;if(l|0){f=0;g=h;do{g=g+m|0;xd(g|0,h|0,m|0)|0;f=f+1|0}while((f|0)!=(l|0));h=(c[Aa>>2]|0)+k+i+j|0;f=0;g=h;do{g=g+m|0;xd(g|0,h|0,m|0)|0;f=f+1|0}while((f|0)!=(l|0))}f=c[Oa>>2]|((c[n>>2]|0)+-33|0)>>>0<1073741791;c[Sa>>2]=f;do if(!(c[La>>2]|0))if(!(c[Na>>2]|f)){c[La>>2]=1;break}else{fa(Ta,7,8374,Xa);break}while(0);if(c[Ba>>2]|0){Xa=0;J=Ya;return Xa|0}xd(e+10554|0,e+9441|0,1113)|0;c[Qa>>2]=Ra;Xa=0;J=Ya;return Xa|0}function rb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=c[b+76>>2]|0;g=c[b+16>>2]|0;i=d+(c[b>>2]|0)+-1|0;k=d+(0-l)|0;j=i+1|0;yd(k|0,a[d>>0]|0,l|0)|0;yd(j|0,a[i>>0]|0,l|0)|0;h=d+g|0;i=i+g|0;k=k+g|0;d=j+g|0;yd(k|0,a[h>>0]|0,l|0)|0;yd(d|0,a[i>>0]|0,l|0)|0;h=h+g|0;i=i+g|0;k=k+g|0;d=d+g|0;yd(k|0,a[h>>0]|0,l|0)|0;yd(d|0,a[i>>0]|0,l|0)|0;h=h+g|0;i=i+g|0;k=k+g|0;d=d+g|0;yd(k|0,a[h>>0]|0,l|0)|0;yd(d|0,a[i>>0]|0,l|0)|0;h=h+g|0;i=i+g|0;k=k+g|0;d=d+g|0;yd(k|0,a[h>>0]|0,l|0)|0;yd(d|0,a[i>>0]|0,l|0)|0;h=h+g|0;i=i+g|0;k=k+g|0;d=d+g|0;yd(k|0,a[h>>0]|0,l|0)|0;yd(d|0,a[i>>0]|0,l|0)|0;h=h+g|0;i=i+g|0;k=k+g|0;d=d+g|0;yd(k|0,a[h>>0]|0,l|0)|0;yd(d|0,a[i>>0]|0,l|0)|0;h=h+g|0;i=i+g|0;k=k+g|0;d=d+g|0;yd(k|0,a[h>>0]|0,l|0)|0;yd(d|0,a[i>>0]|0,l|0)|0;h=h+g|0;i=i+g|0;k=k+g|0;d=d+g|0;yd(k|0,a[h>>0]|0,l|0)|0;yd(d|0,a[i>>0]|0,l|0)|0;h=h+g|0;i=i+g|0;k=k+g|0;d=d+g|0;yd(k|0,a[h>>0]|0,l|0)|0;yd(d|0,a[i>>0]|0,l|0)|0;h=h+g|0;i=i+g|0;k=k+g|0;d=d+g|0;yd(k|0,a[h>>0]|0,l|0)|0;yd(d|0,a[i>>0]|0,l|0)|0;h=h+g|0;i=i+g|0;k=k+g|0;d=d+g|0;yd(k|0,a[h>>0]|0,l|0)|0;yd(d|0,a[i>>0]|0,l|0)|0;h=h+g|0;i=i+g|0;k=k+g|0;d=d+g|0;yd(k|0,a[h>>0]|0,l|0)|0;yd(d|0,a[i>>0]|0,l|0)|0;h=h+g|0;i=i+g|0;k=k+g|0;d=d+g|0;yd(k|0,a[h>>0]|0,l|0)|0;yd(d|0,a[i>>0]|0,l|0)|0;h=h+g|0;i=i+g|0;k=k+g|0;d=d+g|0;yd(k|0,a[h>>0]|0,l|0)|0;yd(d|0,a[i>>0]|0,l|0)|0;yd(k+g|0,a[h+g>>0]|0,l|0)|0;yd(d+g|0,a[i+g>>0]|0,l|0)|0;g=c[b+36>>2]|0;i=c[b+20>>2]|0;d=l>>>1;l=e+i+-1|0;h=0-d|0;k=e+h|0;b=l+1|0;yd(k|0,a[e>>0]|0,d|0)|0;yd(b|0,a[l>>0]|0,d|0)|0;j=e+g|0;e=l+g|0;k=k+g|0;b=b+g|0;yd(k|0,a[j>>0]|0,d|0)|0;yd(b|0,a[e>>0]|0,d|0)|0;j=j+g|0;e=e+g|0;k=k+g|0;b=b+g|0;yd(k|0,a[j>>0]|0,d|0)|0;yd(b|0,a[e>>0]|0,d|0)|0;j=j+g|0;e=e+g|0;k=k+g|0;b=b+g|0;yd(k|0,a[j>>0]|0,d|0)|0;yd(b|0,a[e>>0]|0,d|0)|0;j=j+g|0;e=e+g|0;k=k+g|0;b=b+g|0;yd(k|0,a[j>>0]|0,d|0)|0;yd(b|0,a[e>>0]|0,d|0)|0;j=j+g|0;e=e+g|0;k=k+g|0;b=b+g|0;yd(k|0,a[j>>0]|0,d|0)|0;yd(b|0,a[e>>0]|0,d|0)|0;j=j+g|0;e=e+g|0;k=k+g|0;b=b+g|0;yd(k|0,a[j>>0]|0,d|0)|0;yd(b|0,a[e>>0]|0,d|0)|0;yd(k+g|0,a[j+g>>0]|0,d|0)|0;yd(b+g|0,a[e+g>>0]|0,d|0)|0;i=f+i+-1|0;h=f+h|0;e=i+1|0;yd(h|0,a[f>>0]|0,d|0)|0;yd(e|0,a[i>>0]|0,d|0)|0;b=f+g|0;f=i+g|0;h=h+g|0;e=e+g|0;yd(h|0,a[b>>0]|0,d|0)|0;yd(e|0,a[f>>0]|0,d|0)|0;b=b+g|0;f=f+g|0;h=h+g|0;e=e+g|0;yd(h|0,a[b>>0]|0,d|0)|0;yd(e|0,a[f>>0]|0,d|0)|0;b=b+g|0;f=f+g|0;h=h+g|0;e=e+g|0;yd(h|0,a[b>>0]|0,d|0)|0;yd(e|0,a[f>>0]|0,d|0)|0;b=b+g|0;f=f+g|0;h=h+g|0;e=e+g|0;yd(h|0,a[b>>0]|0,d|0)|0;yd(e|0,a[f>>0]|0,d|0)|0;b=b+g|0;f=f+g|0;h=h+g|0;e=e+g|0;yd(h|0,a[b>>0]|0,d|0)|0;yd(e|0,a[f>>0]|0,d|0)|0;b=b+g|0;f=f+g|0;h=h+g|0;e=e+g|0;yd(h|0,a[b>>0]|0,d|0)|0;yd(e|0,a[f>>0]|0,d|0)|0;yd(h+g|0,a[b+g>>0]|0,d|0)|0;yd(e+g|0,a[f+g>>0]|0,d|0)|0;return}function sb(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+3140>>2]|0;e=c[b+3144>>2]|0;f=d;g=f;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;f=f+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;f=e;g=f;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;f=f+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;if(a[(c[b+3088>>2]|0)+3>>0]|0)return;a[e+8>>0]=0;a[d+8>>0]=0;return}function tb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=c[d+3216>>2]|0;k=c[d+3140>>2]|0;l=c[d+3144>>2]|0;if(!(a[(c[d+3088>>2]|0)+3>>0]|0)){f=k+8|0;i=l+8|0;e=ub(j,b+10837|0,(a[i>>0]|0)+(a[f>>0]|0)|0,0,d+1152|0)|0;h=(e|0)>0&1;a[i>>0]=h;a[f>>0]=h;a[d+2008>>0]=e;f=1;h=b+10573|0;e=e+-16|0}else{f=0;h=b+11365|0;e=0}g=0;i=d+384|0;while(1){n=k+(g&3)|0;p=l+(g>>>2&3)|0;m=ub(j,h,(a[p>>0]|0)+(a[n>>0]|0)|0,f,i)|0;o=(m|0)>0&1;a[p>>0]=o;a[n>>0]=o;m=m+f|0;a[d+1984+g>>0]=m;e=m+e|0;g=g+1|0;if((g|0)==16)break;else i=i+32|0}h=b+11101|0;m=k+4|0;n=l+4|0;p=ub(j,h,(a[n>>0]|0)+(a[m>>0]|0)|0,0,d+896|0)|0;f=(p|0)>0&1;a[n>>0]=f;a[m>>0]=f;a[d+2e3>>0]=p;f=k+5|0;o=ub(j,h,(a[n>>0]|0)+(a[f>>0]|0)|0,0,d+928|0)|0;b=(o|0)>0&1;a[n>>0]=b;a[f>>0]=b;a[d+2001>>0]=o;b=l+5|0;n=ub(j,h,(a[b>>0]|0)+(a[m>>0]|0)|0,0,d+960|0)|0;q=(n|0)>0&1;a[b>>0]=q;a[m>>0]=q;a[d+2002>>0]=n;m=ub(j,h,(a[b>>0]|0)+(a[f>>0]|0)|0,0,d+992|0)|0;q=(m|0)>0&1;a[b>>0]=q;a[f>>0]=q;a[d+2003>>0]=m;f=k+6|0;q=l+6|0;b=ub(j,h,(a[q>>0]|0)+(a[f>>0]|0)|0,0,d+1024|0)|0;i=(b|0)>0&1;a[q>>0]=i;a[f>>0]=i;a[d+2004>>0]=b;i=k+7|0;k=ub(j,h,(a[q>>0]|0)+(a[i>>0]|0)|0,0,d+1056|0)|0;g=(k|0)>0&1;a[q>>0]=g;a[i>>0]=g;a[d+2005>>0]=k;g=l+7|0;l=ub(j,h,(a[g>>0]|0)+(a[f>>0]|0)|0,0,d+1088|0)|0;q=(l|0)>0&1;a[g>>0]=q;a[f>>0]=q;a[d+2006>>0]=l;j=ub(j,h,(a[g>>0]|0)+(a[i>>0]|0)|0,0,d+1120|0)|0;h=(j|0)>0&1;a[g>>0]=h;a[i>>0]=h;a[d+2007>>0]=j;return j+(l+(k+(b+(m+(n+(o+(p+e)))))))|0}function ub(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=f+(h*33|0)+(g*11|0)|0;u=e+16|0;k=((((c[u>>2]|0)+-1|0)*(d[o>>0]|0)|0)>>>8)+1|0;t=e+12|0;g=c[t>>2]|0;if((g|0)<0){wc(e);g=c[t>>2]|0}s=e+8|0;j=c[s>>2]|0;l=k<<24;if(j>>>0<l>>>0)n=1;else{n=0;k=(c[u>>2]|0)-k|0;j=j-l|0}l=d[2160+(k&255)>>0]|0;m=k<<l;k=j<<l;l=g-l|0;c[s>>2]=k;c[t>>2]=l;c[u>>2]=m;if(n){i=0;return i|0}r=h;q=o;j=m;while(1){g=r+1|0;j=(((j+-1|0)*(d[q+1>>0]|0)|0)>>>8)+1|0;if((l|0)<0){wc(e);k=c[s>>2]|0;l=c[t>>2]|0}m=j<<24;if(k>>>0<m>>>0)n=1;else{n=0;j=(c[u>>2]|0)-j|0;k=k-m|0}p=d[2160+(j&255)>>0]|0;j=j<<p;k=k<<p;l=l-p|0;c[s>>2]=k;c[t>>2]=l;c[u>>2]=j;if(n)if((g|0)==16){g=16;j=85;break}else n=f+((d[1056+g>>0]|0)*33|0)|0;else{j=(((j+-1|0)*(d[q+2>>0]|0)|0)>>>8)+1|0;if((l|0)<0){wc(e);k=c[s>>2]|0;l=c[t>>2]|0}m=j<<24;if(k>>>0<m>>>0)o=1;else{o=0;j=(c[u>>2]|0)-j|0;k=k-m|0}n=d[2160+(j&255)>>0]|0;h=j<<n;j=k<<n;n=l-n|0;c[s>>2]=j;c[t>>2]=n;c[u>>2]=h;do if(o){m=1;l=1;k=h}else{k=(((h+-1|0)*(d[q+3>>0]|0)|0)>>>8)+1|0;if((n|0)<0){wc(e);n=c[t>>2]|0;j=c[s>>2]|0}l=k<<24;if(j>>>0<l>>>0)m=1;else{m=0;k=(c[u>>2]|0)-k|0;j=j-l|0}l=d[2160+(k&255)>>0]|0;k=k<<l;j=j<<l;l=n-l|0;c[s>>2]=j;c[t>>2]=l;c[u>>2]=k;if(m){k=(((k+-1|0)*(d[q+4>>0]|0)|0)>>>8)+1|0;if((l|0)<0){wc(e);j=c[s>>2]|0;m=c[t>>2]|0}else m=l;l=k<<24;if(j>>>0<l>>>0)h=1;else{h=0;k=(c[u>>2]|0)-k|0;j=j-l|0}n=d[2160+(k&255)>>0]|0;k=k<<n;j=j<<n;n=m-n|0;c[s>>2]=j;c[t>>2]=n;c[u>>2]=k;if(h){m=2;l=2;break}k=(((k+-1|0)*(d[q+5>>0]|0)|0)>>>8)+1|0;if((n|0)<0){wc(e);j=c[s>>2]|0;n=c[t>>2]|0}l=k<<24;if(j>>>0<l>>>0)m=3;else{m=4;k=(c[u>>2]|0)-k|0;j=j-l|0}l=d[2160+(k&255)>>0]|0;k=k<<l;j=j<<l;n=n-l|0;c[s>>2]=j;c[t>>2]=n;c[u>>2]=k;l=2;break}k=(((k+-1|0)*(d[q+6>>0]|0)|0)>>>8)+1|0;if((l|0)<0){wc(e);j=c[s>>2]|0;m=c[t>>2]|0}else m=l;l=k<<24;if(j>>>0<l>>>0)n=1;else{n=0;k=(c[u>>2]|0)-k|0;j=j-l|0}p=d[2160+(k&255)>>0]|0;k=k<<p;j=j<<p;m=m-p|0;c[s>>2]=j;c[t>>2]=m;c[u>>2]=k;if(!n){k=(((k+-1|0)*(d[q+8>>0]|0)|0)>>>8)+1|0;if((m|0)<0){wc(e);j=c[s>>2]|0;m=c[t>>2]|0}l=k<<24;if(j>>>0<l>>>0)p=0;else{p=1;k=(c[u>>2]|0)-k|0;j=j-l|0}o=d[2160+(k&255)>>0]|0;l=k<<o;j=j<<o;k=m-o|0;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;l=(((l+-1|0)*(d[q+(p+9)>>0]|0)|0)>>>8)+1|0;if((k|0)<0){wc(e);j=c[s>>2]|0;k=c[t>>2]|0}m=l<<24;if(j>>>0<m>>>0)h=0;else{h=1;l=(c[u>>2]|0)-l|0;j=j-m|0}n=d[2160+(l&255)>>0]|0;o=l<<n;j=j<<n;n=k-n|0;c[s>>2]=j;c[t>>2]=n;c[u>>2]=o;p=h|p<<1;k=c[1040+(p<<2)>>2]|0;m=a[k>>0]|0;if(!(m<<24>>24)){l=0;k=o}else{l=0;h=o;do{m=(((h+-1|0)*(m&255)|0)>>>8)+1|0;if((n|0)<0){wc(e);j=c[s>>2]|0;n=c[t>>2]|0}h=m<<24;if(j>>>0<h>>>0)o=0;else{o=1;m=(c[u>>2]|0)-m|0;j=j-h|0}q=d[2160+(m&255)>>0]|0;h=m<<q;j=j<<q;n=n-q|0;c[s>>2]=j;c[t>>2]=n;c[u>>2]=h;l=o|l<<1;k=k+1|0;m=a[k>>0]|0}while(m<<24>>24!=0);k=h}m=l+(8<<p|3)|0;l=2;break}k=(((k+-1|0)*(d[q+7>>0]|0)|0)>>>8)+1|0;if((m|0)<0){wc(e);j=c[s>>2]|0;m=c[t>>2]|0}l=k<<24;if(j>>>0<l>>>0)h=1;else{h=0;k=(c[u>>2]|0)-k|0;j=j-l|0}n=d[2160+(k&255)>>0]|0;k=k<<n;j=j<<n;n=m-n|0;c[s>>2]=j;c[t>>2]=n;c[u>>2]=k;k=k+-1|0;if(h){k=((k*159|0)>>>8)+1|0;if((n|0)<0){wc(e);j=c[s>>2]|0;n=c[t>>2]|0}l=k<<24;if(j>>>0<l>>>0)m=5;else{m=6;k=(c[u>>2]|0)-k|0;j=j-l|0}l=d[2160+(k&255)>>0]|0;k=k<<l;j=j<<l;n=n-l|0;c[s>>2]=j;c[t>>2]=n;c[u>>2]=k;l=2;break}k=((k*165|0)>>>8)+1|0;if((n|0)<0){wc(e);j=c[s>>2]|0;n=c[t>>2]|0}l=k<<24;if(j>>>0<l>>>0)h=7;else{h=9;k=(c[u>>2]|0)-k|0;j=j-l|0}q=d[2160+(k&255)>>0]|0;l=k<<q;j=j<<q;k=n-q|0;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;l=(((l*145|0)+-145|0)>>>8)+1|0;if((k|0)<0){wc(e);j=c[s>>2]|0;k=c[t>>2]|0}m=l<<24;if(j>>>0<m>>>0)n=0;else{n=1;l=(c[u>>2]|0)-l|0;j=j-m|0}q=d[2160+(l&255)>>0]|0;p=l<<q;j=j<<q;q=k-q|0;c[s>>2]=j;c[t>>2]=q;c[u>>2]=p;m=n+h|0;l=2;k=p;n=q}while(0);o=f+((d[1056+g>>0]|0)*33|0)+(l*11|0)|0;h=d[1088+r>>0]|0;k=(k+1|0)>>>1;l=k<<24;if((n|0)<0){wc(e);j=c[s>>2]|0}if(j>>>0<l>>>0)c[u>>2]=k;else{k=(c[u>>2]|0)-k|0;c[u>>2]=k;j=j-l|0;c[s>>2]=j;m=0-m|0}k=k<<1;c[u>>2]=k;j=j<<1;c[s>>2]=j;l=c[t>>2]|0;n=l+-1|0;c[t>>2]=n;b[i+(h<<1)>>1]=m;if((g|0)==16){g=16;j=85;break}k=(((k+-1|0)*(d[o>>0]|0)|0)>>>8)+1|0;if((l|0)<1){wc(e);j=c[s>>2]|0;n=c[t>>2]|0}l=k<<24;if(j>>>0<l>>>0)h=1;else{h=0;k=(c[u>>2]|0)-k|0;j=j-l|0}r=d[2160+(k&255)>>0]|0;m=k<<r;k=j<<r;j=n-r|0;c[s>>2]=k;c[t>>2]=j;c[u>>2]=m;if(h){j=85;break}else{n=o;l=j;j=m}}r=g;q=n}if((j|0)==85)return g|0;return 0}function vb(a){a=a|0;var b=0;if(!a){b=-1;return b|0}if(c[a+72>>2]|0)Ga(c[a+68>>2]|0);b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));b=0;return b|0}function wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!a){p=-2;return p|0}o=b+15&-16;p=d+15&-16;i=e<<1;h=o+31+i&-32;i=h*(p+i|0)|0;j=o>>1;k=p>>1;l=h>>1;m=l*(k+e|0)|0;n=(m<<1)+i|0;g=a+68|0;f=c[g>>2]|0;if(!f){f=Ea(32,n)|0;c[g>>2]=f;c[a+72>>2]=n;if(!f){p=-1;return p|0}}else if((c[a+72>>2]|0)>>>0<n>>>0){p=-1;return p|0}if(e&31|0){p=-3;return p|0}c[a+8>>2]=b;c[a+12>>2]=d;c[a>>2]=o;c[a+4>>2]=p;c[a+16>>2]=h;c[a+28>>2]=(b+1|0)/2|0;c[a+32>>2]=(d+1|0)/2|0;c[a+20>>2]=j;c[a+24>>2]=k;c[a+36>>2]=l;c[a+40>>2]=0;c[a+44>>2]=0;c[a+48>>2]=0;c[a+76>>2]=e;c[a+80>>2]=n;c[a+52>>2]=f+(h*e|0)+e;n=f+i|0;p=(e|0)/2|0;o=l*p|0;c[a+56>>2]=n+o+p;c[a+60>>2]=n+m+o+p;c[a+64>>2]=0;c[a+112>>2]=0;p=0;return p|0}function xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if(!a){g=-2;return g|0}if(c[a+72>>2]|0)Ga(c[a+68>>2]|0);f=a;g=f+120|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));g=wb(a,b,d,e)|0;return g|0}function yb(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0;i=d[e>>0]|0;h=d[e+1>>0]|0;f=d[e+2>>0]|0;e=d[e+3>>0]|0;g=h+2|0;yd(a|0,(g+(d[c+-1>>0]|0)+(i<<1)|0)>>>2&255|0,4)|0;c=f+2|0;yd(a+b|0,(c+i+(h<<1)|0)>>>2&255|0,4)|0;yd(a+(b<<1)|0,(g+(f<<1)+e|0)>>>2&255|0,4)|0;yd(a+(b*3|0)|0,(c+e+(e<<1)|0)>>>2&255|0,4)|0;return}function zb(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=d[e>>0]|0;j=d[e+1>>0]|0;h=d[e+2>>0]|0;g=d[e+3>>0]|0;f=d[e+4>>0]|0;i=j+2|0;a[b>>0]=(i+(d[e+-1>>0]|0)+(k<<1)|0)>>>2;e=h+2|0;a[b+1>>0]=(e+k+(j<<1)|0)>>>2;a[b+2>>0]=(i+(h<<1)+g|0)>>>2;a[b+3>>0]=(e+(g<<1)+f|0)>>>2;f=b+c|0;e=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;f=b+(c<<1)|0;e=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;f=b+(c*3|0)|0;e=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;return}function Ab(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=d[f>>0]|0;j=d[f+1>>0]|0;i=d[f+2>>0]|0;e=a[f+3>>0]|0;g=e&255;h=j+1|0;a[b>>0]=(h+k|0)>>>1;h=(h+i|0)>>>1&255;a[b+c>>0]=h;a[b+2>>0]=h;h=(i+1+g|0)>>>1&255;f=c<<1;a[b+f>>0]=h;a[b+(c+2)>>0]=h;h=i+2|0;a[b+1>>0]=(h+k+(j<<1)|0)>>>2;i=(g+2+j+(i<<1)|0)>>>2&255;a[b+(c+1)>>0]=i;a[b+3>>0]=i;g=(h+g+(g<<1)|0)>>>2&255;a[b+(f|1)>>0]=g;a[b+(c+3)>>0]=g;c=c*3|0;a[b+(c+3)>>0]=e;a[b+(c+2)>>0]=e;a[b+(c+1)>>0]=e;a[b+c>>0]=e;a[b+(f+2)>>0]=e;a[b+(f+3)>>0]=e;return}function Bb(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=d[e>>0]|0;f=d[e+1>>0]|0;m=d[e+2>>0]|0;k=d[e+3>>0]|0;i=d[e+4>>0]|0;h=d[e+5>>0]|0;g=d[e+6>>0]|0;e=d[e+7>>0]|0;n=f+1|0;a[b>>0]=(n+j|0)>>>1;n=(n+m|0)>>>1&255;l=c<<1;a[b+l>>0]=n;a[b+1>>0]=n;n=(m+1+k|0)>>>1&255;a[b+(l|1)>>0]=n;a[b+2>>0]=n;n=(k+1+i|0)>>>1&255;a[b+(l+2)>>0]=n;a[b+3>>0]=n;a[b+(l+3)>>0]=(i+2+(h<<1)+g|0)>>>2;l=m+2|0;a[b+c>>0]=(l+j+(f<<1)|0)>>>2;j=k+2|0;m=(j+f+(m<<1)|0)>>>2&255;f=c*3|0;a[b+f>>0]=m;a[b+(c+1)>>0]=m;k=(l+(k<<1)+i|0)>>>2&255;a[b+(f+1)>>0]=k;a[b+(c+2)>>0]=k;i=(j+(i<<1)+h|0)>>>2&255;a[b+(f+2)>>0]=i;a[b+(c+3)>>0]=i;a[b+(f+3)>>0]=(h+2+(g<<1)+e|0)>>>2;return}function Cb(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=d[e+1>>0]|0;m=d[e+2>>0]|0;f=d[e+3>>0]|0;j=d[e+4>>0]|0;i=d[e+5>>0]|0;h=d[e+6>>0]|0;g=d[e+7>>0]|0;l=m+2|0;a[b>>0]=(l+(d[e>>0]|0)+(n<<1)|0)>>>2;k=f+2|0;e=(k+n+(m<<1)|0)>>>2&255;a[b+c>>0]=e;a[b+1>>0]=e;f=(l+(f<<1)+j|0)>>>2&255;e=c<<1;a[b+e>>0]=f;a[b+(c+1)>>0]=f;a[b+2>>0]=f;k=(k+(j<<1)+i|0)>>>2&255;f=c*3|0;a[b+f>>0]=k;a[b+(e|1)>>0]=k;a[b+(c+2)>>0]=k;a[b+3>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(f+1)>>0]=j;a[b+(e+2)>>0]=j;a[b+(c+3)>>0]=j;c=(i+2+(h<<1)+g|0)>>>2&255;a[b+(f+2)>>0]=c;a[b+(e+3)>>0]=c;a[b+(f+3)>>0]=(h+2+g+(g<<1)|0)>>>2;return}function Db(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=d[f>>0]|0;o=d[f+1>>0]|0;p=d[f+2>>0]|0;k=d[e+-1>>0]|0;j=d[e>>0]|0;h=d[e+1>>0]|0;g=d[e+2>>0]|0;f=d[e+3>>0]|0;l=j+1|0;i=(l+k|0)>>>1&255;m=c<<1;a[b+(m|1)>>0]=i;a[b>>0]=i;l=(l+h|0)>>>1&255;a[b+(m+2)>>0]=l;a[b+1>>0]=l;l=(h+1+g|0)>>>1&255;a[b+(m+3)>>0]=l;a[b+2>>0]=l;a[b+3>>0]=(g+1+f|0)>>>1;l=n+2|0;i=c*3|0;a[b+i>>0]=(l+p+(o<<1)|0)>>>2;e=k+2|0;a[b+m>>0]=(e+o+(n<<1)|0)>>>2;k=(l+(k<<1)+j|0)>>>2&255;a[b+(i+1)>>0]=k;a[b+c>>0]=k;e=(e+(j<<1)+h|0)>>>2&255;a[b+(i+2)>>0]=e;a[b+(c+1)>>0]=e;e=(j+2+(h<<1)+g|0)>>>2&255;a[b+(i+3)>>0]=e;a[b+(c+2)>>0]=e;a[b+(c+3)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Eb(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=d[f>>0]|0;p=d[f+1>>0]|0;o=d[f+2>>0]|0;j=d[e+-1>>0]|0;i=d[e>>0]|0;h=d[e+1>>0]|0;g=d[e+2>>0]|0;e=d[e+3>>0]|0;n=p+2|0;k=c*3|0;a[b+k>>0]=(n+(o<<1)+(d[f+3>>0]|0)|0)>>>2;l=m+2|0;o=(l+(p<<1)+o|0)>>>2&255;f=c<<1;a[b+f>>0]=o;a[b+(k+1)>>0]=o;m=(n+(m<<1)+j|0)>>>2&255;a[b+c>>0]=m;a[b+(f|1)>>0]=m;a[b+(k+2)>>0]=m;l=(l+i+(j<<1)|0)>>>2&255;a[b>>0]=l;a[b+(c+1)>>0]=l;a[b+(f+2)>>0]=l;a[b+(k+3)>>0]=l;j=(j+2+h+(i<<1)|0)>>>2&255;a[b+1>>0]=j;a[b+(c+2)>>0]=j;a[b+(f+3)>>0]=j;f=(i+2+g+(h<<1)|0)>>>2&255;a[b+2>>0]=f;a[b+(c+3)>>0]=f;a[b+3>>0]=(h+2+e+(g<<1)|0)>>>2;return}function Fb(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=d[f>>0]|0;j=d[f+1>>0]|0;g=d[f+2>>0]|0;h=d[f+3>>0]|0;l=d[e+-1>>0]|0;n=d[e>>0]|0;k=d[e+1>>0]|0;e=d[e+2>>0]|0;o=m+1|0;i=(o+l|0)>>>1&255;a[b+(c+2)>>0]=i;a[b>>0]=i;o=(o+j|0)>>>1&255;i=c<<1;a[b+(i+2)>>0]=o;a[b+c>>0]=o;o=(j+1+g|0)>>>1&255;f=c*3|0;a[b+(f+2)>>0]=o;a[b+i>>0]=o;a[b+f>>0]=(g+1+h|0)>>>1;a[b+3>>0]=(n+2+(k<<1)+e|0)>>>2;a[b+2>>0]=(l+2+(n<<1)+k|0)>>>2;k=m+2|0;e=(k+(l<<1)+n|0)>>>2&255;a[b+(c+3)>>0]=e;a[b+1>>0]=e;e=j+2|0;l=(e+(m<<1)+l|0)>>>2&255;a[b+(i+3)>>0]=l;a[b+(c+1)>>0]=l;c=(k+g+(j<<1)|0)>>>2&255;a[b+(f+3)>>0]=c;a[b+(i|1)>>0]=c;a[b+(f+1)>>0]=(e+h+(g<<1)|0)>>>2;return}function Gb(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=e;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;f=b;h=f;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;f=f+4|0;a[f>>0]=i;a[f+1>>0]=i>>8;a[f+2>>0]=i>>16;a[f+3>>0]=i>>24;f=b+c|0;i=e;h=i;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;g=f;b=g;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;g=g+4|0;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;f=f+c|0;g=e;i=g;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;b=f;h=b;a[h>>0]=i;a[h+1>>0]=i>>8;a[h+2>>0]=i>>16;a[h+3>>0]=i>>24;b=b+4|0;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+c|0;b=e;g=b;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;b=b+4|0;b=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;h=f;i=h;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;h=h+4|0;a[h>>0]=b;a[h+1>>0]=b>>8;a[h+2>>0]=b>>16;a[h+3>>0]=b>>24;f=f+c|0;h=e;b=h;b=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=f;g=i;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;i=i+4|0;a[i>>0]=h;a[i+1>>0]=h>>8;a[i+2>>0]=h>>16;a[i+3>>0]=h>>24;f=f+c|0;i=e;h=i;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;g=f;b=g;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;g=g+4|0;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;f=f+c|0;g=e;i=g;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;b=f;h=b;a[h>>0]=i;a[h+1>>0]=i>>8;a[h+2>>0]=i>>16;a[h+3>>0]=i>>24;b=b+4|0;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;b=e;b=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;e=e+4|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;f=f+c|0;c=f;a[c>>0]=b;a[c+1>>0]=b>>8;a[c+2>>0]=b>>16;a[c+3>>0]=b>>24;f=f+4|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;return}function Hb(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=b;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));e=b+c|0;f=e;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));e=e+c|0;f=e;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));e=e+c|0;f=e;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));e=e+c|0;f=e;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));e=e+c|0;f=e;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));e=e+c|0;f=e;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));e=e+c|0;f=e;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));e=e+c|0;f=e;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));e=e+c|0;f=e;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));e=e+c|0;f=e;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));e=e+c|0;f=e;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));e=e+c|0;f=e;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));e=e+c|0;f=e;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));e=e+c|0;f=e;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));f=e+c|0;g=d;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));return}function Ib(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;yd(b|0,a[e>>0]|0,8)|0;d=b+c|0;yd(d|0,a[e+1>>0]|0,8)|0;d=d+c|0;yd(d|0,a[e+2>>0]|0,8)|0;d=d+c|0;yd(d|0,a[e+3>>0]|0,8)|0;d=d+c|0;yd(d|0,a[e+4>>0]|0,8)|0;d=d+c|0;yd(d|0,a[e+5>>0]|0,8)|0;d=d+c|0;yd(d|0,a[e+6>>0]|0,8)|0;yd(d+c|0,a[e+7>>0]|0,8)|0;return}function Jb(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;yd(b|0,a[e>>0]|0,16)|0;d=b+c|0;yd(d|0,a[e+1>>0]|0,16)|0;d=d+c|0;yd(d|0,a[e+2>>0]|0,16)|0;d=d+c|0;yd(d|0,a[e+3>>0]|0,16)|0;d=d+c|0;yd(d|0,a[e+4>>0]|0,16)|0;d=d+c|0;yd(d|0,a[e+5>>0]|0,16)|0;d=d+c|0;yd(d|0,a[e+6>>0]|0,16)|0;d=d+c|0;yd(d|0,a[e+7>>0]|0,16)|0;d=d+c|0;yd(d|0,a[e+8>>0]|0,16)|0;d=d+c|0;yd(d|0,a[e+9>>0]|0,16)|0;d=d+c|0;yd(d|0,a[e+10>>0]|0,16)|0;d=d+c|0;yd(d|0,a[e+11>>0]|0,16)|0;d=d+c|0;yd(d|0,a[e+12>>0]|0,16)|0;d=d+c|0;yd(d|0,a[e+13>>0]|0,16)|0;d=d+c|0;yd(d|0,a[e+14>>0]|0,16)|0;yd(d+c|0,a[e+15>>0]|0,16)|0;return}function Kb(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d[e+-1>>0]|0;j=(d[f>>0]|0)-h+(d[e>>0]|0)|0;j=(j|0)>0?j:0;a[b>>0]=(j|0)<255?j:255;j=e+1|0;i=(d[f>>0]|0)-h+(d[j>>0]|0)|0;i=(i|0)>0?i:0;a[b+1>>0]=(i|0)<255?i:255;i=e+2|0;g=(d[f>>0]|0)-h+(d[i>>0]|0)|0;g=(g|0)>0?g:0;a[b+2>>0]=(g|0)<255?g:255;g=e+3|0;k=(d[f>>0]|0)-h+(d[g>>0]|0)|0;k=(k|0)>0?k:0;a[b+3>>0]=(k|0)<255?k:255;b=b+c|0;k=f+1|0;l=(d[k>>0]|0)-h+(d[e>>0]|0)|0;l=(l|0)>0?l:0;a[b>>0]=(l|0)<255?l:255;l=(d[k>>0]|0)-h+(d[j>>0]|0)|0;l=(l|0)>0?l:0;a[b+1>>0]=(l|0)<255?l:255;l=(d[k>>0]|0)-h+(d[i>>0]|0)|0;l=(l|0)>0?l:0;a[b+2>>0]=(l|0)<255?l:255;k=(d[k>>0]|0)-h+(d[g>>0]|0)|0;k=(k|0)>0?k:0;a[b+3>>0]=(k|0)<255?k:255;b=b+c|0;k=f+2|0;l=(d[k>>0]|0)-h+(d[e>>0]|0)|0;l=(l|0)>0?l:0;a[b>>0]=(l|0)<255?l:255;l=(d[k>>0]|0)-h+(d[j>>0]|0)|0;l=(l|0)>0?l:0;a[b+1>>0]=(l|0)<255?l:255;l=(d[k>>0]|0)-h+(d[i>>0]|0)|0;l=(l|0)>0?l:0;a[b+2>>0]=(l|0)<255?l:255;k=(d[k>>0]|0)-h+(d[g>>0]|0)|0;k=(k|0)>0?k:0;a[b+3>>0]=(k|0)<255?k:255;c=b+c|0;f=f+3|0;e=(d[f>>0]|0)-h+(d[e>>0]|0)|0;e=(e|0)>0?e:0;a[c>>0]=(e|0)<255?e:255;e=(d[f>>0]|0)-h+(d[j>>0]|0)|0;e=(e|0)>0?e:0;a[c+1>>0]=(e|0)<255?e:255;e=(d[f>>0]|0)-h+(d[i>>0]|0)|0;e=(e|0)>0?e:0;a[c+2>>0]=(e|0)<255?e:255;f=(d[f>>0]|0)-h+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[c+3>>0]=(f|0)<255?f:255;return}function Lb(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=d[e+-1>>0]|0;m=e+1|0;n=e+2|0;o=e+3|0;h=e+4|0;i=e+5|0;j=e+6|0;k=e+7|0;g=0;while(1){p=f+g|0;q=(d[p>>0]|0)-l+(d[e>>0]|0)|0;q=(q|0)>0?q:0;a[b>>0]=(q|0)<255?q:255;q=(d[p>>0]|0)-l+(d[m>>0]|0)|0;q=(q|0)>0?q:0;a[b+1>>0]=(q|0)<255?q:255;q=(d[p>>0]|0)-l+(d[n>>0]|0)|0;q=(q|0)>0?q:0;a[b+2>>0]=(q|0)<255?q:255;q=(d[p>>0]|0)-l+(d[o>>0]|0)|0;q=(q|0)>0?q:0;a[b+3>>0]=(q|0)<255?q:255;q=(d[p>>0]|0)-l+(d[h>>0]|0)|0;q=(q|0)>0?q:0;a[b+4>>0]=(q|0)<255?q:255;q=(d[p>>0]|0)-l+(d[i>>0]|0)|0;q=(q|0)>0?q:0;a[b+5>>0]=(q|0)<255?q:255;q=(d[p>>0]|0)-l+(d[j>>0]|0)|0;q=(q|0)>0?q:0;a[b+6>>0]=(q|0)<255?q:255;p=(d[p>>0]|0)-l+(d[k>>0]|0)|0;p=(p|0)>0?p:0;a[b+7>>0]=(p|0)<255?p:255;g=g+1|0;if((g|0)==8)break;else b=b+c|0}return}function Mb(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;t=d[e+-1>>0]|0;u=e+1|0;v=e+2|0;w=e+3|0;h=e+4|0;i=e+5|0;j=e+6|0;k=e+7|0;l=e+8|0;m=e+9|0;n=e+10|0;o=e+11|0;p=e+12|0;q=e+13|0;r=e+14|0;s=e+15|0;g=0;while(1){x=f+g|0;y=(d[x>>0]|0)-t+(d[e>>0]|0)|0;y=(y|0)>0?y:0;a[b>>0]=(y|0)<255?y:255;y=(d[x>>0]|0)-t+(d[u>>0]|0)|0;y=(y|0)>0?y:0;a[b+1>>0]=(y|0)<255?y:255;y=(d[x>>0]|0)-t+(d[v>>0]|0)|0;y=(y|0)>0?y:0;a[b+2>>0]=(y|0)<255?y:255;y=(d[x>>0]|0)-t+(d[w>>0]|0)|0;y=(y|0)>0?y:0;a[b+3>>0]=(y|0)<255?y:255;y=(d[x>>0]|0)-t+(d[h>>0]|0)|0;y=(y|0)>0?y:0;a[b+4>>0]=(y|0)<255?y:255;y=(d[x>>0]|0)-t+(d[i>>0]|0)|0;y=(y|0)>0?y:0;a[b+5>>0]=(y|0)<255?y:255;y=(d[x>>0]|0)-t+(d[j>>0]|0)|0;y=(y|0)>0?y:0;a[b+6>>0]=(y|0)<255?y:255;y=(d[x>>0]|0)-t+(d[k>>0]|0)|0;y=(y|0)>0?y:0;a[b+7>>0]=(y|0)<255?y:255;y=(d[x>>0]|0)-t+(d[l>>0]|0)|0;y=(y|0)>0?y:0;a[b+8>>0]=(y|0)<255?y:255;y=(d[x>>0]|0)-t+(d[m>>0]|0)|0;y=(y|0)>0?y:0;a[b+9>>0]=(y|0)<255?y:255;y=(d[x>>0]|0)-t+(d[n>>0]|0)|0;y=(y|0)>0?y:0;a[b+10>>0]=(y|0)<255?y:255;y=(d[x>>0]|0)-t+(d[o>>0]|0)|0;y=(y|0)>0?y:0;a[b+11>>0]=(y|0)<255?y:255;y=(d[x>>0]|0)-t+(d[p>>0]|0)|0;y=(y|0)>0?y:0;a[b+12>>0]=(y|0)<255?y:255;y=(d[x>>0]|0)-t+(d[q>>0]|0)|0;y=(y|0)>0?y:0;a[b+13>>0]=(y|0)<255?y:255;y=(d[x>>0]|0)-t+(d[r>>0]|0)|0;y=(y|0)>0?y:0;a[b+14>>0]=(y|0)<255?y:255;x=(d[x>>0]|0)-t+(d[s>>0]|0)|0;x=(x|0)>0?x:0;a[b+15>>0]=(x|0)<255?x:255;g=g+1|0;if((g|0)==16)break;else b=b+c|0}return}
     29function Nb(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;e=b;d=e;a[d>>0]=-2139062144;a[d+1>>0]=-2139062144>>8;a[d+2>>0]=-2139062144>>16;a[d+3>>0]=-2139062144>>24;e=e+4|0;a[e>>0]=-2139062144;a[e+1>>0]=-2139062144>>8;a[e+2>>0]=-2139062144>>16;a[e+3>>0]=-2139062144>>24;e=b+c|0;d=e;b=d;a[b>>0]=-2139062144;a[b+1>>0]=-2139062144>>8;a[b+2>>0]=-2139062144>>16;a[b+3>>0]=-2139062144>>24;d=d+4|0;a[d>>0]=-2139062144;a[d+1>>0]=-2139062144>>8;a[d+2>>0]=-2139062144>>16;a[d+3>>0]=-2139062144>>24;e=e+c|0;d=e;b=d;a[b>>0]=-2139062144;a[b+1>>0]=-2139062144>>8;a[b+2>>0]=-2139062144>>16;a[b+3>>0]=-2139062144>>24;d=d+4|0;a[d>>0]=-2139062144;a[d+1>>0]=-2139062144>>8;a[d+2>>0]=-2139062144>>16;a[d+3>>0]=-2139062144>>24;e=e+c|0;d=e;b=d;a[b>>0]=-2139062144;a[b+1>>0]=-2139062144>>8;a[b+2>>0]=-2139062144>>16;a[b+3>>0]=-2139062144>>24;d=d+4|0;a[d>>0]=-2139062144;a[d+1>>0]=-2139062144>>8;a[d+2>>0]=-2139062144>>16;a[d+3>>0]=-2139062144>>24;e=e+c|0;d=e;b=d;a[b>>0]=-2139062144;a[b+1>>0]=-2139062144>>8;a[b+2>>0]=-2139062144>>16;a[b+3>>0]=-2139062144>>24;d=d+4|0;a[d>>0]=-2139062144;a[d+1>>0]=-2139062144>>8;a[d+2>>0]=-2139062144>>16;a[d+3>>0]=-2139062144>>24;e=e+c|0;d=e;b=d;a[b>>0]=-2139062144;a[b+1>>0]=-2139062144>>8;a[b+2>>0]=-2139062144>>16;a[b+3>>0]=-2139062144>>24;d=d+4|0;a[d>>0]=-2139062144;a[d+1>>0]=-2139062144>>8;a[d+2>>0]=-2139062144>>16;a[d+3>>0]=-2139062144>>24;e=e+c|0;d=e;b=d;a[b>>0]=-2139062144;a[b+1>>0]=-2139062144>>8;a[b+2>>0]=-2139062144>>16;a[b+3>>0]=-2139062144>>24;d=d+4|0;a[d>>0]=-2139062144;a[d+1>>0]=-2139062144>>8;a[d+2>>0]=-2139062144>>16;a[d+3>>0]=-2139062144>>24;e=e+c|0;d=e;a[d>>0]=-2139062144;a[d+1>>0]=-2139062144>>8;a[d+2>>0]=-2139062144>>16;a[d+3>>0]=-2139062144>>24;e=e+4|0;a[e>>0]=-2139062144;a[e+1>>0]=-2139062144>>8;a[e+2>>0]=-2139062144>>16;a[e+3>>0]=-2139062144>>24;return}function Ob(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;e=b;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));d=b+c|0;e=d;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));d=d+c|0;e=d;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));d=d+c|0;e=d;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));d=d+c|0;e=d;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));d=d+c|0;e=d;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));d=d+c|0;e=d;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));d=d+c|0;e=d;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));d=d+c|0;e=d;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));d=d+c|0;e=d;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));d=d+c|0;e=d;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));d=d+c|0;e=d;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));d=d+c|0;e=d;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));d=d+c|0;e=d;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));d=d+c|0;e=d;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));e=d+c|0;f=e+16|0;do{a[e>>0]=128;e=e+1|0}while((e|0)<(f|0));return}function Pb(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;e=((d[e>>0]|0)+(d[e+1>>0]|0)+(d[e+2>>0]|0)+(d[e+3>>0]|0)+(d[e+4>>0]|0)+(d[e+5>>0]|0)+(d[e+6>>0]|0)+(d[e+7>>0]|0)+4|0)>>>3&255;yd(a|0,e|0,8)|0;c=a+b|0;yd(c|0,e|0,8)|0;c=c+b|0;yd(c|0,e|0,8)|0;c=c+b|0;yd(c|0,e|0,8)|0;c=c+b|0;yd(c|0,e|0,8)|0;c=c+b|0;yd(c|0,e|0,8)|0;c=c+b|0;yd(c|0,e|0,8)|0;yd(c+b|0,e|0,8)|0;return}function Qb(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;e=((d[e>>0]|0)+(d[e+1>>0]|0)+(d[e+2>>0]|0)+(d[e+3>>0]|0)+(d[e+4>>0]|0)+(d[e+5>>0]|0)+(d[e+6>>0]|0)+(d[e+7>>0]|0)+(d[e+8>>0]|0)+(d[e+9>>0]|0)+(d[e+10>>0]|0)+(d[e+11>>0]|0)+(d[e+12>>0]|0)+(d[e+13>>0]|0)+(d[e+14>>0]|0)+(d[e+15>>0]|0)+8|0)>>>4&255;yd(a|0,e|0,16)|0;c=a+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;yd(c+b|0,e|0,16)|0;return}function Rb(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;e=((d[c>>0]|0)+(d[c+1>>0]|0)+(d[c+2>>0]|0)+(d[c+3>>0]|0)+(d[c+4>>0]|0)+(d[c+5>>0]|0)+(d[c+6>>0]|0)+(d[c+7>>0]|0)+4|0)>>>3&255;yd(a|0,e|0,8)|0;c=a+b|0;yd(c|0,e|0,8)|0;c=c+b|0;yd(c|0,e|0,8)|0;c=c+b|0;yd(c|0,e|0,8)|0;c=c+b|0;yd(c|0,e|0,8)|0;c=c+b|0;yd(c|0,e|0,8)|0;c=c+b|0;yd(c|0,e|0,8)|0;yd(c+b|0,e|0,8)|0;return}function Sb(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;e=((d[c>>0]|0)+(d[c+1>>0]|0)+(d[c+2>>0]|0)+(d[c+3>>0]|0)+(d[c+4>>0]|0)+(d[c+5>>0]|0)+(d[c+6>>0]|0)+(d[c+7>>0]|0)+(d[c+8>>0]|0)+(d[c+9>>0]|0)+(d[c+10>>0]|0)+(d[c+11>>0]|0)+(d[c+12>>0]|0)+(d[c+13>>0]|0)+(d[c+14>>0]|0)+(d[c+15>>0]|0)+8|0)>>>4&255;yd(a|0,e|0,16)|0;c=a+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;yd(c+b|0,e|0,16)|0;return}function Tb(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;e=(((d[c>>0]|0)+(d[e>>0]|0)+(d[c+1>>0]|0)+(d[e+1>>0]|0)+(d[c+2>>0]|0)+(d[e+2>>0]|0)+(d[c+3>>0]|0)+(d[e+3>>0]|0)+4|0)/8|0)&255;yd(a|0,e|0,4)|0;c=a+b|0;yd(c|0,e|0,4)|0;c=c+b|0;yd(c|0,e|0,4)|0;yd(c+b|0,e|0,4)|0;return}function Ub(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;e=(((d[c>>0]|0)+(d[e>>0]|0)+(d[c+1>>0]|0)+(d[e+1>>0]|0)+(d[c+2>>0]|0)+(d[e+2>>0]|0)+(d[c+3>>0]|0)+(d[e+3>>0]|0)+(d[c+4>>0]|0)+(d[e+4>>0]|0)+(d[c+5>>0]|0)+(d[e+5>>0]|0)+(d[c+6>>0]|0)+(d[e+6>>0]|0)+(d[c+7>>0]|0)+(d[e+7>>0]|0)+8|0)/16|0)&255;yd(a|0,e|0,8)|0;c=a+b|0;yd(c|0,e|0,8)|0;c=c+b|0;yd(c|0,e|0,8)|0;c=c+b|0;yd(c|0,e|0,8)|0;c=c+b|0;yd(c|0,e|0,8)|0;c=c+b|0;yd(c|0,e|0,8)|0;c=c+b|0;yd(c|0,e|0,8)|0;yd(c+b|0,e|0,8)|0;return}function Vb(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;e=(((d[c>>0]|0)+(d[e>>0]|0)+(d[c+1>>0]|0)+(d[e+1>>0]|0)+(d[c+2>>0]|0)+(d[e+2>>0]|0)+(d[c+3>>0]|0)+(d[e+3>>0]|0)+(d[c+4>>0]|0)+(d[e+4>>0]|0)+(d[c+5>>0]|0)+(d[e+5>>0]|0)+(d[c+6>>0]|0)+(d[e+6>>0]|0)+(d[c+7>>0]|0)+(d[e+7>>0]|0)+(d[c+8>>0]|0)+(d[e+8>>0]|0)+(d[c+9>>0]|0)+(d[e+9>>0]|0)+(d[c+10>>0]|0)+(d[e+10>>0]|0)+(d[c+11>>0]|0)+(d[e+11>>0]|0)+(d[c+12>>0]|0)+(d[e+12>>0]|0)+(d[c+13>>0]|0)+(d[e+13>>0]|0)+(d[c+14>>0]|0)+(d[e+14>>0]|0)+(d[c+15>>0]|0)+(d[e+15>>0]|0)+16|0)/32|0)&255;yd(a|0,e|0,16)|0;c=a+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;c=c+b|0;yd(c|0,e|0,16)|0;yd(c+b|0,e|0,16)|0;return}function Wb(a,d){a=a|0;d=d|0;var e=0;e=c[a+4>>2]|0;a=c[a>>2]|0;b[e>>1]=(b[d>>1]|0)*(b[a>>1]|0);b[e+2>>1]=(b[d+2>>1]|0)*(b[a+2>>1]|0);b[e+4>>1]=(b[d+4>>1]|0)*(b[a+4>>1]|0);b[e+6>>1]=(b[d+6>>1]|0)*(b[a+6>>1]|0);b[e+8>>1]=(b[d+8>>1]|0)*(b[a+8>>1]|0);b[e+10>>1]=(b[d+10>>1]|0)*(b[a+10>>1]|0);b[e+12>>1]=(b[d+12>>1]|0)*(b[a+12>>1]|0);b[e+14>>1]=(b[d+14>>1]|0)*(b[a+14>>1]|0);b[e+16>>1]=(b[d+16>>1]|0)*(b[a+16>>1]|0);b[e+18>>1]=(b[d+18>>1]|0)*(b[a+18>>1]|0);b[e+20>>1]=(b[d+20>>1]|0)*(b[a+20>>1]|0);b[e+22>>1]=(b[d+22>>1]|0)*(b[a+22>>1]|0);b[e+24>>1]=(b[d+24>>1]|0)*(b[a+24>>1]|0);b[e+26>>1]=(b[d+26>>1]|0)*(b[a+26>>1]|0);b[e+28>>1]=(b[d+28>>1]|0)*(b[a+28>>1]|0);b[e+30>>1]=(b[d+30>>1]|0)*(b[a+30>>1]|0);return}function Xb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0;b[a>>1]=(b[a>>1]|0)*(b[c>>1]|0);f=a+2|0;b[f>>1]=(b[f>>1]|0)*(b[c+2>>1]|0);f=a+4|0;b[f>>1]=(b[f>>1]|0)*(b[c+4>>1]|0);f=a+6|0;b[f>>1]=(b[f>>1]|0)*(b[c+6>>1]|0);f=a+8|0;b[f>>1]=(b[f>>1]|0)*(b[c+8>>1]|0);f=a+10|0;b[f>>1]=(b[f>>1]|0)*(b[c+10>>1]|0);f=a+12|0;b[f>>1]=(b[f>>1]|0)*(b[c+12>>1]|0);f=a+14|0;b[f>>1]=(b[f>>1]|0)*(b[c+14>>1]|0);f=a+16|0;b[f>>1]=(b[f>>1]|0)*(b[c+16>>1]|0);f=a+18|0;b[f>>1]=(b[f>>1]|0)*(b[c+18>>1]|0);f=a+20|0;b[f>>1]=(b[f>>1]|0)*(b[c+20>>1]|0);f=a+22|0;b[f>>1]=(b[f>>1]|0)*(b[c+22>>1]|0);f=a+24|0;b[f>>1]=(b[f>>1]|0)*(b[c+24>>1]|0);f=a+26|0;b[f>>1]=(b[f>>1]|0)*(b[c+26>>1]|0);f=a+28|0;b[f>>1]=(b[f>>1]|0)*(b[c+28>>1]|0);f=a+30|0;b[f>>1]=(b[f>>1]|0)*(b[c+30>>1]|0);ic(a,d,e,d,e);c=a+32|0;do{b[a>>1]=0;a=a+2|0}while((a|0)<(c|0));return}function Yb(a){a=a|0;xd(a+7085|0,2416,1056)|0;return}function Zb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=b+16|0;i=d+((c[g>>2]|0)*14|0)|0;b=b+36|0;h=(c[b>>2]|0)*6|0;d=e+h|0;h=f+h|0;j=i+-1|0;e=d+-1|0;f=h+-1|0;a[i>>0]=a[j>>0]|0;a[d>>0]=a[e>>0]|0;a[h>>0]=a[f>>0]|0;a[i+1>>0]=a[j>>0]|0;a[d+1>>0]=a[e>>0]|0;a[h+1>>0]=a[f>>0]|0;a[i+2>>0]=a[j>>0]|0;a[d+2>>0]=a[e>>0]|0;a[h+2>>0]=a[f>>0]|0;a[i+3>>0]=a[j>>0]|0;a[d+3>>0]=a[e>>0]|0;a[h+3>>0]=a[f>>0]|0;g=i+(c[g>>2]|0)|0;f=c[b>>2]|0;d=d+f|0;f=h+f|0;h=g+-1|0;b=d+-1|0;e=f+-1|0;a[g>>0]=a[h>>0]|0;a[d>>0]=a[b>>0]|0;a[f>>0]=a[e>>0]|0;a[g+1>>0]=a[h>>0]|0;a[d+1>>0]=a[b>>0]|0;a[f+1>>0]=a[e>>0]|0;a[g+2>>0]=a[h>>0]|0;a[d+2>>0]=a[b>>0]|0;a[f+2>>0]=a[e>>0]|0;a[g+3>>0]=a[h>>0]|0;a[d+3>>0]=a[b>>0]|0;a[f+3>>0]=a[e>>0]|0;return}function _b(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;s=J;J=J+144|0;r=s;m=b[3600+(g*12|0)>>1]|0;n=b[3600+(g*12|0)+2>>1]|0;o=b[3600+(g*12|0)+4>>1]|0;p=b[3600+(g*12|0)+6>>1]|0;q=b[3600+(g*12|0)+8>>1]|0;l=b[3600+(g*12|0)+10>>1]|0;k=0;g=e+(0-(f<<1))|0;e=r;while(1){t=d[g+-1>>0]|0;y=d[g>>0]|0;w=d[g+1>>0]|0;x=d[g+2>>0]|0;v=d[g+3>>0]|0;u=(t*n|0)+((d[g+-2>>0]|0)*m|0)+(y*o|0)+(w*p|0)+(x*q|0)+(v*l|0)|0;c[e>>2]=(u|0)<-64?0:(u|0)>32703?255:u+64>>7;u=d[g+4>>0]|0;t=(y*n|0)+(t*m|0)+(w*o|0)+(x*p|0)+(v*q|0)+(u*l|0)|0;c[e+4>>2]=(t|0)<-64?0:(t|0)>32703?255:t+64>>7;t=d[g+5>>0]|0;y=(w*n|0)+(y*m|0)+(x*o|0)+(v*p|0)+(u*q|0)+(t*l|0)|0;c[e+8>>2]=(y|0)<-64?0:(y|0)>32703?255:y+64>>7;t=(x*n|0)+(w*m|0)+(v*o|0)+(u*p|0)+(t*q|0)+((d[g+6>>0]|0)*l|0)|0;c[e+12>>2]=(t|0)<-64?0:(t|0)>32703?255:t+64>>7;k=k+1|0;if((k|0)==9)break;else{g=g+f|0;e=e+16|0}}l=b[3600+(h*12|0)>>1]|0;f=b[3600+(h*12|0)+2>>1]|0;m=b[3600+(h*12|0)+4>>1]|0;n=b[3600+(h*12|0)+6>>1]|0;o=b[3600+(h*12|0)+8>>1]|0;k=b[3600+(h*12|0)+10>>1]|0;e=0;g=r+32|0;while(1){y=g;g=g+16|0;x=((c[y+-16>>2]|0)*f|0)+((c[y+-32>>2]|0)*l|0)+((c[y>>2]|0)*m|0)+((c[g>>2]|0)*n|0)+((c[y+32>>2]|0)*o|0)+((c[y+48>>2]|0)*k|0)|0;a[i>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;x=((c[y+-12>>2]|0)*f|0)+((c[y+-28>>2]|0)*l|0)+((c[y+4>>2]|0)*m|0)+((c[y+20>>2]|0)*n|0)+((c[y+36>>2]|0)*o|0)+((c[y+52>>2]|0)*k|0)|0;a[i+1>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;x=((c[y+-8>>2]|0)*f|0)+((c[y+-24>>2]|0)*l|0)+((c[y+8>>2]|0)*m|0)+((c[y+24>>2]|0)*n|0)+((c[y+40>>2]|0)*o|0)+((c[y+56>>2]|0)*k|0)|0;a[i+2>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;y=((c[y+-4>>2]|0)*f|0)+((c[y+-20>>2]|0)*l|0)+((c[y+12>>2]|0)*m|0)+((c[y+28>>2]|0)*n|0)+((c[y+44>>2]|0)*o|0)+((c[y+60>>2]|0)*k|0)|0;a[i+3>>0]=(y|0)<-64?0:(y|0)>32703?-1:(y+64|0)>>>7&255;e=e+1|0;if((e|0)==4)break;else i=i+j|0}J=s;return}function $b(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;s=J;J=J+832|0;r=s;m=b[3600+(g*12|0)>>1]|0;n=b[3600+(g*12|0)+2>>1]|0;o=b[3600+(g*12|0)+4>>1]|0;p=b[3600+(g*12|0)+6>>1]|0;q=b[3600+(g*12|0)+8>>1]|0;l=b[3600+(g*12|0)+10>>1]|0;k=0;g=e+(0-(f<<1))|0;e=r;while(1){t=d[g+-1>>0]|0;u=d[g>>0]|0;y=d[g+1>>0]|0;w=d[g+2>>0]|0;x=d[g+3>>0]|0;v=(t*n|0)+((d[g+-2>>0]|0)*m|0)+(u*o|0)+(y*p|0)+(w*q|0)+(x*l|0)|0;c[e>>2]=(v|0)<-64?0:(v|0)>32703?255:v+64>>7;v=d[g+4>>0]|0;t=(u*n|0)+(t*m|0)+(y*o|0)+(w*p|0)+(x*q|0)+(v*l|0)|0;c[e+4>>2]=(t|0)<-64?0:(t|0)>32703?255:t+64>>7;t=d[g+5>>0]|0;u=(y*n|0)+(u*m|0)+(w*o|0)+(x*p|0)+(v*q|0)+(t*l|0)|0;c[e+8>>2]=(u|0)<-64?0:(u|0)>32703?255:u+64>>7;u=d[g+6>>0]|0;y=(w*n|0)+(y*m|0)+(x*o|0)+(v*p|0)+(t*q|0)+(u*l|0)|0;c[e+12>>2]=(y|0)<-64?0:(y|0)>32703?255:y+64>>7;u=(x*n|0)+(w*m|0)+(v*o|0)+(t*p|0)+(u*q|0)+((d[g+7>>0]|0)*l|0)|0;c[e+16>>2]=(u|0)<-64?0:(u|0)>32703?255:u+64>>7;u=d[g+6>>0]|0;t=((d[g+4>>0]|0)*n|0)+((d[g+3>>0]|0)*m|0)+(t*o|0)+(u*p|0)+((d[g+7>>0]|0)*q|0)+((d[g+8>>0]|0)*l|0)|0;c[e+20>>2]=(t|0)<-64?0:(t|0)>32703?255:t+64>>7;t=g+7|0;u=((d[g+5>>0]|0)*n|0)+((d[g+4>>0]|0)*m|0)+(u*o|0)+((d[t>>0]|0)*p|0)+((d[g+8>>0]|0)*q|0)+((d[g+9>>0]|0)*l|0)|0;c[e+24>>2]=(u|0)<-64?0:(u|0)>32703?255:u+64>>7;t=((d[g+6>>0]|0)*n|0)+((d[g+5>>0]|0)*m|0)+((d[t>>0]|0)*o|0)+((d[g+8>>0]|0)*p|0)+((d[g+9>>0]|0)*q|0)+((d[g+10>>0]|0)*l|0)|0;c[e+28>>2]=(t|0)<-64?0:(t|0)>32703?255:t+64>>7;k=k+1|0;if((k|0)==13)break;else{g=g+f|0;e=e+32|0}}l=b[3600+(h*12|0)>>1]|0;f=b[3600+(h*12|0)+2>>1]|0;m=b[3600+(h*12|0)+4>>1]|0;n=b[3600+(h*12|0)+6>>1]|0;o=b[3600+(h*12|0)+8>>1]|0;k=b[3600+(h*12|0)+10>>1]|0;e=0;g=r+64|0;while(1){y=g;g=g+32|0;x=((c[y+-32>>2]|0)*f|0)+((c[y+-64>>2]|0)*l|0)+((c[y>>2]|0)*m|0)+((c[g>>2]|0)*n|0)+((c[y+64>>2]|0)*o|0)+((c[y+96>>2]|0)*k|0)|0;a[i>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;x=((c[y+-28>>2]|0)*f|0)+((c[y+-60>>2]|0)*l|0)+((c[y+4>>2]|0)*m|0)+((c[y+36>>2]|0)*n|0)+((c[y+68>>2]|0)*o|0)+((c[y+100>>2]|0)*k|0)|0;a[i+1>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;x=((c[y+-24>>2]|0)*f|0)+((c[y+-56>>2]|0)*l|0)+((c[y+8>>2]|0)*m|0)+((c[y+40>>2]|0)*n|0)+((c[y+72>>2]|0)*o|0)+((c[y+104>>2]|0)*k|0)|0;a[i+2>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;x=((c[y+-20>>2]|0)*f|0)+((c[y+-52>>2]|0)*l|0)+((c[y+12>>2]|0)*m|0)+((c[y+44>>2]|0)*n|0)+((c[y+76>>2]|0)*o|0)+((c[y+108>>2]|0)*k|0)|0;a[i+3>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;x=((c[y+-16>>2]|0)*f|0)+((c[y+-48>>2]|0)*l|0)+((c[y+16>>2]|0)*m|0)+((c[y+48>>2]|0)*n|0)+((c[y+80>>2]|0)*o|0)+((c[y+112>>2]|0)*k|0)|0;a[i+4>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;x=((c[y+-12>>2]|0)*f|0)+((c[y+-44>>2]|0)*l|0)+((c[y+20>>2]|0)*m|0)+((c[y+52>>2]|0)*n|0)+((c[y+84>>2]|0)*o|0)+((c[y+116>>2]|0)*k|0)|0;a[i+5>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;x=((c[y+-8>>2]|0)*f|0)+((c[y+-40>>2]|0)*l|0)+((c[y+24>>2]|0)*m|0)+((c[y+56>>2]|0)*n|0)+((c[y+88>>2]|0)*o|0)+((c[y+120>>2]|0)*k|0)|0;a[i+6>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;y=((c[y+-4>>2]|0)*f|0)+((c[y+-36>>2]|0)*l|0)+((c[y+28>>2]|0)*m|0)+((c[y+60>>2]|0)*n|0)+((c[y+92>>2]|0)*o|0)+((c[y+124>>2]|0)*k|0)|0;a[i+7>>0]=(y|0)<-64?0:(y|0)>32703?-1:(y+64|0)>>>7&255;e=e+1|0;if((e|0)==8)break;else i=i+j|0}J=s;return}function ac(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;s=J;J=J+832|0;r=s;m=b[3600+(g*12|0)>>1]|0;n=b[3600+(g*12|0)+2>>1]|0;o=b[3600+(g*12|0)+4>>1]|0;p=b[3600+(g*12|0)+6>>1]|0;q=b[3600+(g*12|0)+8>>1]|0;l=b[3600+(g*12|0)+10>>1]|0;k=0;g=e+(0-(f<<1))|0;e=r;while(1){t=d[g+-1>>0]|0;u=d[g>>0]|0;y=d[g+1>>0]|0;w=d[g+2>>0]|0;x=d[g+3>>0]|0;v=(t*n|0)+((d[g+-2>>0]|0)*m|0)+(u*o|0)+(y*p|0)+(w*q|0)+(x*l|0)|0;c[e>>2]=(v|0)<-64?0:(v|0)>32703?255:v+64>>7;v=d[g+4>>0]|0;t=(u*n|0)+(t*m|0)+(y*o|0)+(w*p|0)+(x*q|0)+(v*l|0)|0;c[e+4>>2]=(t|0)<-64?0:(t|0)>32703?255:t+64>>7;t=d[g+5>>0]|0;u=(y*n|0)+(u*m|0)+(w*o|0)+(x*p|0)+(v*q|0)+(t*l|0)|0;c[e+8>>2]=(u|0)<-64?0:(u|0)>32703?255:u+64>>7;u=d[g+6>>0]|0;y=(w*n|0)+(y*m|0)+(x*o|0)+(v*p|0)+(t*q|0)+(u*l|0)|0;c[e+12>>2]=(y|0)<-64?0:(y|0)>32703?255:y+64>>7;u=(x*n|0)+(w*m|0)+(v*o|0)+(t*p|0)+(u*q|0)+((d[g+7>>0]|0)*l|0)|0;c[e+16>>2]=(u|0)<-64?0:(u|0)>32703?255:u+64>>7;u=d[g+6>>0]|0;t=((d[g+4>>0]|0)*n|0)+((d[g+3>>0]|0)*m|0)+(t*o|0)+(u*p|0)+((d[g+7>>0]|0)*q|0)+((d[g+8>>0]|0)*l|0)|0;c[e+20>>2]=(t|0)<-64?0:(t|0)>32703?255:t+64>>7;t=g+7|0;u=((d[g+5>>0]|0)*n|0)+((d[g+4>>0]|0)*m|0)+(u*o|0)+((d[t>>0]|0)*p|0)+((d[g+8>>0]|0)*q|0)+((d[g+9>>0]|0)*l|0)|0;c[e+24>>2]=(u|0)<-64?0:(u|0)>32703?255:u+64>>7;t=((d[g+6>>0]|0)*n|0)+((d[g+5>>0]|0)*m|0)+((d[t>>0]|0)*o|0)+((d[g+8>>0]|0)*p|0)+((d[g+9>>0]|0)*q|0)+((d[g+10>>0]|0)*l|0)|0;c[e+28>>2]=(t|0)<-64?0:(t|0)>32703?255:t+64>>7;k=k+1|0;if((k|0)==9)break;else{g=g+f|0;e=e+32|0}}l=b[3600+(h*12|0)>>1]|0;f=b[3600+(h*12|0)+2>>1]|0;m=b[3600+(h*12|0)+4>>1]|0;n=b[3600+(h*12|0)+6>>1]|0;o=b[3600+(h*12|0)+8>>1]|0;k=b[3600+(h*12|0)+10>>1]|0;e=0;g=r+64|0;while(1){y=g;g=g+32|0;x=((c[y+-32>>2]|0)*f|0)+((c[y+-64>>2]|0)*l|0)+((c[y>>2]|0)*m|0)+((c[g>>2]|0)*n|0)+((c[y+64>>2]|0)*o|0)+((c[y+96>>2]|0)*k|0)|0;a[i>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;x=((c[y+-28>>2]|0)*f|0)+((c[y+-60>>2]|0)*l|0)+((c[y+4>>2]|0)*m|0)+((c[y+36>>2]|0)*n|0)+((c[y+68>>2]|0)*o|0)+((c[y+100>>2]|0)*k|0)|0;a[i+1>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;x=((c[y+-24>>2]|0)*f|0)+((c[y+-56>>2]|0)*l|0)+((c[y+8>>2]|0)*m|0)+((c[y+40>>2]|0)*n|0)+((c[y+72>>2]|0)*o|0)+((c[y+104>>2]|0)*k|0)|0;a[i+2>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;x=((c[y+-20>>2]|0)*f|0)+((c[y+-52>>2]|0)*l|0)+((c[y+12>>2]|0)*m|0)+((c[y+44>>2]|0)*n|0)+((c[y+76>>2]|0)*o|0)+((c[y+108>>2]|0)*k|0)|0;a[i+3>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;x=((c[y+-16>>2]|0)*f|0)+((c[y+-48>>2]|0)*l|0)+((c[y+16>>2]|0)*m|0)+((c[y+48>>2]|0)*n|0)+((c[y+80>>2]|0)*o|0)+((c[y+112>>2]|0)*k|0)|0;a[i+4>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;x=((c[y+-12>>2]|0)*f|0)+((c[y+-44>>2]|0)*l|0)+((c[y+20>>2]|0)*m|0)+((c[y+52>>2]|0)*n|0)+((c[y+84>>2]|0)*o|0)+((c[y+116>>2]|0)*k|0)|0;a[i+5>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;x=((c[y+-8>>2]|0)*f|0)+((c[y+-40>>2]|0)*l|0)+((c[y+24>>2]|0)*m|0)+((c[y+56>>2]|0)*n|0)+((c[y+88>>2]|0)*o|0)+((c[y+120>>2]|0)*k|0)|0;a[i+6>>0]=(x|0)<-64?0:(x|0)>32703?-1:(x+64|0)>>>7&255;y=((c[y+-4>>2]|0)*f|0)+((c[y+-36>>2]|0)*l|0)+((c[y+28>>2]|0)*m|0)+((c[y+60>>2]|0)*n|0)+((c[y+92>>2]|0)*o|0)+((c[y+124>>2]|0)*k|0)|0;a[i+7>>0]=(y|0)<-64?0:(y|0)>32703?-1:(y+64|0)>>>7&255;e=e+1|0;if((e|0)==4)break;else i=i+j|0}J=s;return}function bc(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=J;J=J+2016|0;t=u;o=b[3600+(g*12|0)>>1]|0;p=b[3600+(g*12|0)+2>>1]|0;q=b[3600+(g*12|0)+4>>1]|0;r=b[3600+(g*12|0)+6>>1]|0;s=b[3600+(g*12|0)+8>>1]|0;n=b[3600+(g*12|0)+10>>1]|0;m=0;e=e+(0-(f<<1))|0;k=t;while(1){g=0;l=e;do{v=l;l=l+1|0;v=((d[v+-1>>0]|0)*p|0)+((d[v+-2>>0]|0)*o|0)+((d[v>>0]|0)*q|0)+((d[l>>0]|0)*r|0)+((d[v+2>>0]|0)*s|0)+((d[v+3>>0]|0)*n|0)|0;c[k+(g<<2)>>2]=(v|0)<-64?0:(v|0)>32703?255:v+64>>7;g=g+1|0}while((g|0)!=16);m=m+1|0;if((m|0)==21)break;else{e=e+f|0;k=k+64|0}}n=b[3600+(h*12|0)>>1]|0;f=b[3600+(h*12|0)+2>>1]|0;o=b[3600+(h*12|0)+4>>1]|0;p=b[3600+(h*12|0)+6>>1]|0;q=b[3600+(h*12|0)+8>>1]|0;m=b[3600+(h*12|0)+10>>1]|0;l=0;k=t+128|0;while(1){g=0;e=k;while(1){v=((c[e+-64>>2]|0)*f|0)+((c[e+-128>>2]|0)*n|0)+((c[e>>2]|0)*o|0)+((c[e+64>>2]|0)*p|0)+((c[e+128>>2]|0)*q|0)+((c[e+192>>2]|0)*m|0)|0;a[i+g>>0]=(v|0)<-64?0:(v|0)>32703?-1:(v+64|0)>>>7&255;g=g+1|0;if((g|0)==16)break;else e=e+4|0}l=l+1|0;if((l|0)==16)break;else{k=k+64|0;i=i+j|0}}J=u;return}function cc(c,f,g,h,i,j){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=J;J=J+544|0;l=k;m=b[3568+(g<<2)>>1]|0;n=b[3568+(g<<2)+2>>1]|0;s=d[c+1>>0]|0;b[l>>1]=((m*(d[c>>0]|0)|0)+64+(n*s|0)|0)>>>7;o=d[c+2>>0]|0;q=l+2|0;b[q>>1]=((m*s|0)+64+(n*o|0)|0)>>>7;s=d[c+3>>0]|0;b[l+4>>1]=((m*o|0)+64+(n*s|0)|0)>>>7;b[l+6>>1]=((m*s|0)+64+(n*(d[c+4>>0]|0)|0)|0)>>>7;s=c+f|0;o=l+8|0;r=s+1|0;c=d[r>>0]|0;b[o>>1]=((m*(d[s>>0]|0)|0)+64+(n*c|0)|0)>>>7;r=r+1|0;g=d[r>>0]|0;b[l+10>>1]=((m*c|0)+64+(n*g|0)|0)>>>7;r=r+1|0;c=d[r>>0]|0;b[l+12>>1]=((m*g|0)+64+(n*c|0)|0)>>>7;b[l+14>>1]=((m*c|0)+64+(n*(d[r+1>>0]|0)|0)|0)>>>7;s=s+f|0;r=l+16|0;c=s+1|0;g=d[c>>0]|0;b[r>>1]=((m*(d[s>>0]|0)|0)+64+(n*g|0)|0)>>>7;c=c+1|0;p=d[c>>0]|0;b[l+18>>1]=((m*g|0)+64+(n*p|0)|0)>>>7;c=c+1|0;g=d[c>>0]|0;b[l+20>>1]=((m*p|0)+64+(n*g|0)|0)>>>7;b[l+22>>1]=((m*g|0)+64+(n*(d[c+1>>0]|0)|0)|0)>>>7;s=s+f|0;c=l+24|0;g=s+1|0;p=d[g>>0]|0;b[c>>1]=((m*(d[s>>0]|0)|0)+64+(n*p|0)|0)>>>7;g=g+1|0;t=d[g>>0]|0;b[l+26>>1]=((m*p|0)+64+(n*t|0)|0)>>>7;g=g+1|0;p=d[g>>0]|0;b[l+28>>1]=((m*t|0)+64+(n*p|0)|0)>>>7;b[l+30>>1]=((m*p|0)+64+(n*(d[g+1>>0]|0)|0)|0)>>>7;s=s+f|0;f=l+32|0;g=s+1|0;p=d[g>>0]|0;b[f>>1]=((m*(d[s>>0]|0)|0)+64+(n*p|0)|0)>>>7;g=g+1|0;s=d[g>>0]|0;b[l+34>>1]=((m*p|0)+64+(n*s|0)|0)>>>7;g=g+1|0;p=d[g>>0]|0;b[l+36>>1]=((m*s|0)+64+(n*p|0)|0)>>>7;b[l+38>>1]=((m*p|0)+64+(n*(d[g+1>>0]|0)|0)|0)>>>7;g=b[3568+(h<<2)>>1]|0;h=b[3568+(h<<2)+2>>1]|0;o=e[o>>1]|0;a[i>>0]=((g*(e[l>>1]|0)|0)+64+(h*o|0)|0)>>>7;n=e[l+10>>1]|0;a[i+1>>0]=((g*(e[q>>1]|0)|0)+64+(h*n|0)|0)>>>7;q=e[l+12>>1]|0;a[i+2>>0]=((g*(e[l+4>>1]|0)|0)+64+(h*q|0)|0)>>>7;p=e[l+14>>1]|0;a[i+3>>0]=((g*(e[l+6>>1]|0)|0)+64+(h*p|0)|0)>>>7;m=i+j|0;i=e[r>>1]|0;a[m>>0]=((g*o|0)+64+(h*i|0)|0)>>>7;o=e[l+18>>1]|0;a[m+1>>0]=((g*n|0)+64+(h*o|0)|0)>>>7;n=e[l+20>>1]|0;a[m+2>>0]=((g*q|0)+64+(h*n|0)|0)>>>7;a[m+3>>0]=((g*p|0)+64+(h*(e[l+22>>1]|0)|0)|0)>>>7;m=m+j|0;c=e[c>>1]|0;a[m>>0]=((g*i|0)+64+(h*c|0)|0)>>>7;i=e[l+26>>1]|0;a[m+1>>0]=((g*o|0)+64+(h*i|0)|0)>>>7;a[m+2>>0]=((g*n|0)+64+(h*(e[l+28>>1]|0)|0)|0)>>>7;a[m+3>>0]=((g*(e[l+22>>1]|0)|0)+64+(h*(e[l+30>>1]|0)|0)|0)>>>7;j=m+j|0;a[j>>0]=((g*c|0)+64+(h*(e[f>>1]|0)|0)|0)>>>7;a[j+1>>0]=((g*i|0)+64+(h*(e[l+34>>1]|0)|0)|0)>>>7;a[j+2>>0]=((g*(e[l+28>>1]|0)|0)+64+(h*(e[l+36>>1]|0)|0)|0)>>>7;a[j+3>>0]=((g*(e[l+30>>1]|0)|0)+64+(h*(e[l+38>>1]|0)|0)|0)>>>7;J=k;return}function dc(c,f,g,h,i,j){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=J;J=J+544|0;k=o;n=b[3568+(g<<2)>>1]|0;m=b[3568+(g<<2)+2>>1]|0;l=0;g=c;c=k;while(1){p=d[g+1>>0]|0;b[c>>1]=((n*(d[g>>0]|0)|0)+64+(m*p|0)|0)>>>7;q=d[g+2>>0]|0;b[c+2>>1]=((n*p|0)+64+(m*q|0)|0)>>>7;p=d[g+3>>0]|0;b[c+4>>1]=((n*q|0)+64+(m*p|0)|0)>>>7;q=d[g+4>>0]|0;b[c+6>>1]=((n*p|0)+64+(m*q|0)|0)>>>7;p=d[g+5>>0]|0;b[c+8>>1]=((n*q|0)+64+(m*p|0)|0)>>>7;q=d[g+6>>0]|0;b[c+10>>1]=((n*p|0)+64+(m*q|0)|0)>>>7;p=g+7|0;b[c+12>>1]=((n*q|0)+64+(m*(d[p>>0]|0)|0)|0)>>>7;b[c+14>>1]=((n*(d[p>>0]|0)|0)+64+(m*(d[g+8>>0]|0)|0)|0)>>>7;l=l+1|0;if((l|0)==9)break;else{g=g+f|0;c=c+16|0}}l=b[3568+(h<<2)>>1]|0;c=b[3568+(h<<2)+2>>1]|0;g=0;while(1){q=k;k=k+16|0;a[i>>0]=((l*(e[q>>1]|0)|0)+64+(c*(e[k>>1]|0)|0)|0)>>>7;a[i+1>>0]=((l*(e[q+2>>1]|0)|0)+64+(c*(e[q+18>>1]|0)|0)|0)>>>7;a[i+2>>0]=((l*(e[q+4>>1]|0)|0)+64+(c*(e[q+20>>1]|0)|0)|0)>>>7;a[i+3>>0]=((l*(e[q+6>>1]|0)|0)+64+(c*(e[q+22>>1]|0)|0)|0)>>>7;a[i+4>>0]=((l*(e[q+8>>1]|0)|0)+64+(c*(e[q+24>>1]|0)|0)|0)>>>7;a[i+5>>0]=((l*(e[q+10>>1]|0)|0)+64+(c*(e[q+26>>1]|0)|0)|0)>>>7;a[i+6>>0]=((l*(e[q+12>>1]|0)|0)+64+(c*(e[q+28>>1]|0)|0)|0)>>>7;a[i+7>>0]=((l*(e[q+14>>1]|0)|0)+64+(c*(e[q+30>>1]|0)|0)|0)>>>7;g=g+1|0;if((g|0)==8)break;else i=i+j|0}J=o;return}function ec(c,f,g,h,i,j){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=J;J=J+544|0;n=o;m=b[3568+(g<<2)>>1]|0;l=b[3568+(g<<2)+2>>1]|0;k=0;g=c;c=n;while(1){p=d[g+1>>0]|0;b[c>>1]=((m*(d[g>>0]|0)|0)+64+(l*p|0)|0)>>>7;q=d[g+2>>0]|0;b[c+2>>1]=((m*p|0)+64+(l*q|0)|0)>>>7;p=d[g+3>>0]|0;b[c+4>>1]=((m*q|0)+64+(l*p|0)|0)>>>7;q=d[g+4>>0]|0;b[c+6>>1]=((m*p|0)+64+(l*q|0)|0)>>>7;p=d[g+5>>0]|0;b[c+8>>1]=((m*q|0)+64+(l*p|0)|0)>>>7;q=d[g+6>>0]|0;b[c+10>>1]=((m*p|0)+64+(l*q|0)|0)>>>7;p=g+7|0;b[c+12>>1]=((m*q|0)+64+(l*(d[p>>0]|0)|0)|0)>>>7;b[c+14>>1]=((m*(d[p>>0]|0)|0)+64+(l*(d[g+8>>0]|0)|0)|0)>>>7;k=k+1|0;if((k|0)==5)break;else{g=g+f|0;c=c+16|0}}m=b[3568+(h<<2)>>1]|0;p=b[3568+(h<<2)+2>>1]|0;f=n+16|0;a[i>>0]=((m*(e[n>>1]|0)|0)+64+(p*(e[f>>1]|0)|0)|0)>>>7;a[i+1>>0]=((m*(e[n+2>>1]|0)|0)+64+(p*(e[n+18>>1]|0)|0)|0)>>>7;a[i+2>>0]=((m*(e[n+4>>1]|0)|0)+64+(p*(e[n+20>>1]|0)|0)|0)>>>7;a[i+3>>0]=((m*(e[n+6>>1]|0)|0)+64+(p*(e[n+22>>1]|0)|0)|0)>>>7;a[i+4>>0]=((m*(e[n+8>>1]|0)|0)+64+(p*(e[n+24>>1]|0)|0)|0)>>>7;a[i+5>>0]=((m*(e[n+10>>1]|0)|0)+64+(p*(e[n+26>>1]|0)|0)|0)>>>7;a[i+6>>0]=((m*(e[n+12>>1]|0)|0)+64+(p*(e[n+28>>1]|0)|0)|0)>>>7;a[i+7>>0]=((m*(e[n+14>>1]|0)|0)+64+(p*(e[n+30>>1]|0)|0)|0)>>>7;q=i+j|0;h=n+32|0;a[q>>0]=((m*(e[f>>1]|0)|0)+64+(p*(e[h>>1]|0)|0)|0)>>>7;a[q+1>>0]=((m*(e[n+18>>1]|0)|0)+64+(p*(e[n+34>>1]|0)|0)|0)>>>7;a[q+2>>0]=((m*(e[n+20>>1]|0)|0)+64+(p*(e[n+36>>1]|0)|0)|0)>>>7;a[q+3>>0]=((m*(e[n+22>>1]|0)|0)+64+(p*(e[n+38>>1]|0)|0)|0)>>>7;a[q+4>>0]=((m*(e[n+24>>1]|0)|0)+64+(p*(e[n+40>>1]|0)|0)|0)>>>7;a[q+5>>0]=((m*(e[n+26>>1]|0)|0)+64+(p*(e[n+42>>1]|0)|0)|0)>>>7;a[q+6>>0]=((m*(e[n+28>>1]|0)|0)+64+(p*(e[n+44>>1]|0)|0)|0)>>>7;a[q+7>>0]=((m*(e[n+30>>1]|0)|0)+64+(p*(e[n+46>>1]|0)|0)|0)>>>7;q=q+j|0;i=n+48|0;a[q>>0]=((m*(e[h>>1]|0)|0)+64+(p*(e[i>>1]|0)|0)|0)>>>7;a[q+1>>0]=((m*(e[n+34>>1]|0)|0)+64+(p*(e[n+50>>1]|0)|0)|0)>>>7;a[q+2>>0]=((m*(e[n+36>>1]|0)|0)+64+(p*(e[n+52>>1]|0)|0)|0)>>>7;a[q+3>>0]=((m*(e[n+38>>1]|0)|0)+64+(p*(e[n+54>>1]|0)|0)|0)>>>7;a[q+4>>0]=((m*(e[n+40>>1]|0)|0)+64+(p*(e[n+56>>1]|0)|0)|0)>>>7;a[q+5>>0]=((m*(e[n+42>>1]|0)|0)+64+(p*(e[n+58>>1]|0)|0)|0)>>>7;a[q+6>>0]=((m*(e[n+44>>1]|0)|0)+64+(p*(e[n+60>>1]|0)|0)|0)>>>7;a[q+7>>0]=((m*(e[n+46>>1]|0)|0)+64+(p*(e[n+62>>1]|0)|0)|0)>>>7;q=q+j|0;a[q>>0]=((m*(e[i>>1]|0)|0)+64+(p*(e[n+64>>1]|0)|0)|0)>>>7;a[q+1>>0]=((m*(e[n+50>>1]|0)|0)+64+(p*(e[n+66>>1]|0)|0)|0)>>>7;a[q+2>>0]=((m*(e[n+52>>1]|0)|0)+64+(p*(e[n+68>>1]|0)|0)|0)>>>7;a[q+3>>0]=((m*(e[n+54>>1]|0)|0)+64+(p*(e[n+70>>1]|0)|0)|0)>>>7;a[q+4>>0]=((m*(e[n+56>>1]|0)|0)+64+(p*(e[n+72>>1]|0)|0)|0)>>>7;a[q+5>>0]=((m*(e[n+58>>1]|0)|0)+64+(p*(e[n+74>>1]|0)|0)|0)>>>7;a[q+6>>0]=((m*(e[n+60>>1]|0)|0)+64+(p*(e[n+76>>1]|0)|0)|0)>>>7;a[q+7>>0]=((m*(e[n+62>>1]|0)|0)+64+(p*(e[n+78>>1]|0)|0)|0)>>>7;J=o;return}function fc(c,f,g,h,i,j){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=J;J=J+544|0;k=o;n=b[3568+(g<<2)>>1]|0;m=b[3568+(g<<2)+2>>1]|0;l=0;g=c;c=k;while(1){p=d[g+1>>0]|0;b[c>>1]=((n*(d[g>>0]|0)|0)+64+(m*p|0)|0)>>>7;q=d[g+2>>0]|0;b[c+2>>1]=((n*p|0)+64+(m*q|0)|0)>>>7;p=d[g+3>>0]|0;b[c+4>>1]=((n*q|0)+64+(m*p|0)|0)>>>7;q=d[g+4>>0]|0;b[c+6>>1]=((n*p|0)+64+(m*q|0)|0)>>>7;p=d[g+5>>0]|0;b[c+8>>1]=((n*q|0)+64+(m*p|0)|0)>>>7;q=d[g+6>>0]|0;b[c+10>>1]=((n*p|0)+64+(m*q|0)|0)>>>7;p=g+7|0;b[c+12>>1]=((n*q|0)+64+(m*(d[p>>0]|0)|0)|0)>>>7;q=g+8|0;b[c+14>>1]=((n*(d[p>>0]|0)|0)+64+(m*(d[q>>0]|0)|0)|0)>>>7;p=g+9|0;b[c+16>>1]=((n*(d[q>>0]|0)|0)+64+(m*(d[p>>0]|0)|0)|0)>>>7;q=g+10|0;b[c+18>>1]=((n*(d[p>>0]|0)|0)+64+(m*(d[q>>0]|0)|0)|0)>>>7;p=g+11|0;b[c+20>>1]=((n*(d[q>>0]|0)|0)+64+(m*(d[p>>0]|0)|0)|0)>>>7;q=g+12|0;b[c+22>>1]=((n*(d[p>>0]|0)|0)+64+(m*(d[q>>0]|0)|0)|0)>>>7;p=g+13|0;b[c+24>>1]=((n*(d[q>>0]|0)|0)+64+(m*(d[p>>0]|0)|0)|0)>>>7;q=g+14|0;b[c+26>>1]=((n*(d[p>>0]|0)|0)+64+(m*(d[q>>0]|0)|0)|0)>>>7;p=g+15|0;b[c+28>>1]=((n*(d[q>>0]|0)|0)+64+(m*(d[p>>0]|0)|0)|0)>>>7;b[c+30>>1]=((n*(d[p>>0]|0)|0)+64+(m*(d[g+16>>0]|0)|0)|0)>>>7;l=l+1|0;if((l|0)==17)break;else{g=g+f|0;c=c+32|0}}l=b[3568+(h<<2)>>1]|0;c=b[3568+(h<<2)+2>>1]|0;g=0;while(1){q=k;k=k+32|0;a[i>>0]=((l*(e[q>>1]|0)|0)+64+(c*(e[k>>1]|0)|0)|0)>>>7;a[i+1>>0]=((l*(e[q+2>>1]|0)|0)+64+(c*(e[q+34>>1]|0)|0)|0)>>>7;a[i+2>>0]=((l*(e[q+4>>1]|0)|0)+64+(c*(e[q+36>>1]|0)|0)|0)>>>7;a[i+3>>0]=((l*(e[q+6>>1]|0)|0)+64+(c*(e[q+38>>1]|0)|0)|0)>>>7;a[i+4>>0]=((l*(e[q+8>>1]|0)|0)+64+(c*(e[q+40>>1]|0)|0)|0)>>>7;a[i+5>>0]=((l*(e[q+10>>1]|0)|0)+64+(c*(e[q+42>>1]|0)|0)|0)>>>7;a[i+6>>0]=((l*(e[q+12>>1]|0)|0)+64+(c*(e[q+44>>1]|0)|0)|0)>>>7;a[i+7>>0]=((l*(e[q+14>>1]|0)|0)+64+(c*(e[q+46>>1]|0)|0)|0)>>>7;a[i+8>>0]=((l*(e[q+16>>1]|0)|0)+64+(c*(e[q+48>>1]|0)|0)|0)>>>7;a[i+9>>0]=((l*(e[q+18>>1]|0)|0)+64+(c*(e[q+50>>1]|0)|0)|0)>>>7;a[i+10>>0]=((l*(e[q+20>>1]|0)|0)+64+(c*(e[q+52>>1]|0)|0)|0)>>>7;a[i+11>>0]=((l*(e[q+22>>1]|0)|0)+64+(c*(e[q+54>>1]|0)|0)|0)>>>7;a[i+12>>0]=((l*(e[q+24>>1]|0)|0)+64+(c*(e[q+56>>1]|0)|0)|0)>>>7;a[i+13>>0]=((l*(e[q+26>>1]|0)|0)+64+(c*(e[q+58>>1]|0)|0)|0)>>>7;a[i+14>>0]=((l*(e[q+28>>1]|0)|0)+64+(c*(e[q+60>>1]|0)|0)|0)>>>7;a[i+15>>0]=((l*(e[q+30>>1]|0)|0)+64+(c*(e[q+62>>1]|0)|0)|0)>>>7;g=g+1|0;if((g|0)==16)break;else i=i+j|0}J=o;return}function gc(c,d,e,f,g){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=f<<2;j=0;i=e;while(1){if((a[g>>0]|0)>1)Xb(c,d,i,f);else{jc((b[d>>1]|0)*(b[c>>1]|0)&65535,i,f,i,f);b[c>>1]=0;b[c+2>>1]=0>>>16}e=c+32|0;h=i+4|0;if((a[g+1>>0]|0)>1)Xb(e,d,h,f);else{jc((b[d>>1]|0)*(b[e>>1]|0)&65535,h,f,h,f);b[e>>1]=0;b[e+2>>1]=0>>>16}e=c+64|0;h=i+8|0;if((a[g+2>>0]|0)>1)Xb(e,d,h,f);else{jc((b[d>>1]|0)*(b[e>>1]|0)&65535,h,f,h,f);b[e>>1]=0;b[e+2>>1]=0>>>16}e=c+96|0;h=i+12|0;if((a[g+3>>0]|0)>1)Xb(e,d,h,f);else{jc((b[d>>1]|0)*(b[e>>1]|0)&65535,h,f,h,f);b[e>>1]=0;b[e+2>>1]=0>>>16}j=j+1|0;if((j|0)==4)break;else{g=g+4|0;c=c+128|0;i=i+k|0}}return}function hc(c,d,e,f,g,h){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=g<<2;k=c+128|0;if((a[h>>0]|0)>1)Xb(c,d,e,g);else{jc((b[d>>1]|0)*(b[c>>1]|0)&65535,e,g,e,g);b[c>>1]=0;b[c+2>>1]=0>>>16}i=c+32|0;j=e+4|0;if((a[h+1>>0]|0)>1)Xb(i,d,j,g);else{jc((b[d>>1]|0)*(b[i>>1]|0)&65535,j,g,j,g);b[i>>1]=0;b[i+2>>1]=0>>>16}j=c+64|0;i=e+l|0;if((a[h+2>>0]|0)>1)Xb(j,d,i,g);else{jc((b[d>>1]|0)*(b[j>>1]|0)&65535,i,g,i,g);b[j>>1]=0;b[j+2>>1]=0>>>16}j=c+96|0;i=i+4|0;if((a[h+3>>0]|0)>1)Xb(j,d,i,g);else{jc((b[d>>1]|0)*(b[j>>1]|0)&65535,i,g,i,g);b[j>>1]=0;b[j+2>>1]=0>>>16}if((a[h+4>>0]|0)>1)Xb(k,d,f,g);else{jc((b[d>>1]|0)*(b[k>>1]|0)&65535,f,g,f,g);b[k>>1]=0;b[k+2>>1]=0>>>16}i=c+160|0;j=f+4|0;if((a[h+5>>0]|0)>1)Xb(i,d,j,g);else{jc((b[d>>1]|0)*(b[i>>1]|0)&65535,j,g,j,g);b[i>>1]=0;b[i+2>>1]=0>>>16}j=c+192|0;i=f+l|0;if((a[h+6>>0]|0)>1)Xb(j,d,i,g);else{jc((b[d>>1]|0)*(b[j>>1]|0)&65535,i,g,i,g);b[j>>1]=0;b[j+2>>1]=0>>>16}j=c+224|0;i=i+4|0;if((a[h+7>>0]|0)>1){Xb(j,d,i,g);return}else{jc((b[d>>1]|0)*(b[j>>1]|0)&65535,i,g,i,g);b[j>>1]=0;b[j+2>>1]=0>>>16;return}}function ic(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;i=J;J=J+32|0;x=i;r=b[c>>1]|0;z=b[c+16>>1]|0;A=z+r|0;z=r-z|0;r=b[c+8>>1]|0;u=b[c+24>>1]|0;w=(r*35468>>16)-u-(u*20091>>16)|0;u=(r*20091>>16)+r+(u*35468>>16)|0;b[x>>1]=u+A;b[x+24>>1]=A-u;u=x+8|0;b[u>>1]=w+z;b[x+16>>1]=z-w;w=x+2|0;z=b[c+2>>1]|0;A=b[c+18>>1]|0;r=A+z|0;A=z-A|0;z=b[c+10>>1]|0;s=b[c+26>>1]|0;j=(z*35468>>16)-s-(s*20091>>16)|0;s=(z*20091>>16)+z+(s*35468>>16)|0;b[w>>1]=s+r;b[x+26>>1]=r-s;b[x+10>>1]=j+A;b[x+18>>1]=A-j;j=b[c+4>>1]|0;A=b[c+20>>1]|0;s=A+j|0;A=j-A|0;j=b[c+12>>1]|0;r=b[c+28>>1]|0;z=(j*35468>>16)-r-(r*20091>>16)|0;r=(j*20091>>16)+j+(r*35468>>16)|0;b[x+28>>1]=s-r;j=z+A|0;b[x+12>>1]=j;b[x+20>>1]=A-z;z=b[c+6>>1]|0;A=b[c+22>>1]|0;o=A+z|0;A=z-A|0;z=b[c+14>>1]|0;n=b[c+30>>1]|0;p=(z*35468>>16)-n-(n*20091>>16)|0;n=(z*20091>>16)+z+(n*35468>>16)|0;b[x+30>>1]=o-n;z=A-p|0;b[x+22>>1]=z;t=b[x>>1]|0;v=x+4|0;s=r+s<<16>>16;r=b[w>>1]|0;q=x+6|0;o=n+o<<16>>16;n=(r*35468>>16)-o-(o*20091>>16)|0;o=(r*20091>>16)+r+(o*35468>>16)|0;r=s+t+4|0;b[x>>1]=(r+o|0)>>>3;b[q>>1]=(r-o|0)>>>3;s=t-s+4|0;b[w>>1]=(s+n|0)>>>3;b[v>>1]=(s-n|0)>>>3;n=b[u>>1]|0;s=x+12|0;j=j<<16>>16;t=x+10|0;o=b[t>>1]|0;r=x+14|0;A=p+A<<16>>16;p=(o*35468>>16)-A-(A*20091>>16)|0;A=(o*20091>>16)+o+(A*35468>>16)|0;o=j+n+4|0;b[u>>1]=(o+A|0)>>>3;b[r>>1]=(o-A|0)>>>3;j=n-j+4|0;b[t>>1]=(j+p|0)>>>3;b[s>>1]=(j-p|0)>>>3;p=x+16|0;j=b[p>>1]|0;n=x+20|0;A=b[n>>1]|0;o=x+18|0;k=b[o>>1]|0;m=x+22|0;z=z<<16>>16;l=(k*35468>>16)-z-(z*20091>>16)|0;z=(k*20091>>16)+k+(z*35468>>16)|0;k=A+j+4|0;b[p>>1]=(k+z|0)>>>3;b[m>>1]=(k-z|0)>>>3;A=j-A+4|0;b[o>>1]=(A+l|0)>>>3;b[n>>1]=(A-l|0)>>>3;l=x+24|0;A=b[l>>1]|0;j=x+28|0;z=b[j>>1]|0;k=x+26|0;C=b[k>>1]|0;c=x+30|0;B=b[c>>1]|0;y=(C*35468>>16)-B-(B*20091>>16)|0;B=(C*20091>>16)+C+(B*35468>>16)|0;C=z+A+4|0;b[l>>1]=(C+B|0)>>>3;b[c>>1]=(C-B|0)>>>3;z=A-z+4|0;b[k>>1]=(z+y|0)>>>3;b[j>>1]=(z-y|0)>>>3;x=(d[e>>0]|0)+(b[x>>1]|0)|0;x=(x|0)>0?x:0;a[g>>0]=(x|0)<255?x:255;w=(d[e+1>>0]|0)+(b[w>>1]|0)|0;w=(w|0)>0?w:0;a[g+1>>0]=(w|0)<255?w:255;v=(d[e+2>>0]|0)+(b[v>>1]|0)|0;v=(v|0)>0?v:0;a[g+2>>0]=(v|0)<255?v:255;q=(d[e+3>>0]|0)+(b[q>>1]|0)|0;q=(q|0)>0?q:0;a[g+3>>0]=(q|0)<255?q:255;q=g+h|0;g=e+f|0;e=(d[g>>0]|0)+(b[u>>1]|0)|0;e=(e|0)>0?e:0;a[q>>0]=(e|0)<255?e:255;e=(d[g+1>>0]|0)+(b[t>>1]|0)|0;e=(e|0)>0?e:0;a[q+1>>0]=(e|0)<255?e:255;e=(d[g+2>>0]|0)+(b[s>>1]|0)|0;e=(e|0)>0?e:0;a[q+2>>0]=(e|0)<255?e:255;e=(d[g+3>>0]|0)+(b[r>>1]|0)|0;e=(e|0)>0?e:0;a[q+3>>0]=(e|0)<255?e:255;e=q+h|0;g=g+f|0;p=(d[g>>0]|0)+(b[p>>1]|0)|0;p=(p|0)>0?p:0;a[e>>0]=(p|0)<255?p:255;o=(d[g+1>>0]|0)+(b[o>>1]|0)|0;o=(o|0)>0?o:0;a[e+1>>0]=(o|0)<255?o:255;n=(d[g+2>>0]|0)+(b[n>>1]|0)|0;n=(n|0)>0?n:0;a[e+2>>0]=(n|0)<255?n:255;m=(d[g+3>>0]|0)+(b[m>>1]|0)|0;m=(m|0)>0?m:0;a[e+3>>0]=(m|0)<255?m:255;h=e+h|0;g=g+f|0;f=(d[g>>0]|0)+(b[l>>1]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(d[g+1>>0]|0)+(b[k>>1]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(d[g+2>>0]|0)+(b[j>>1]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;g=(d[g+3>>0]|0)+(b[c>>1]|0)|0;g=(g|0)>0?g:0;a[h+3>>0]=(g|0)<255?g:255;J=i;return}function jc(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0;b=(b<<16>>16)+4>>3;h=b+(d[c>>0]|0)|0;h=(h|0)>0?h:0;a[f>>0]=(h|0)<255?h:255;h=b+(d[c+1>>0]|0)|0;h=(h|0)>0?h:0;a[f+1>>0]=(h|0)<255?h:255;h=b+(d[c+2>>0]|0)|0;h=(h|0)>0?h:0;a[f+2>>0]=(h|0)<255?h:255;h=b+(d[c+3>>0]|0)|0;h=(h|0)>0?h:0;a[f+3>>0]=(h|0)<255?h:255;h=f+g|0;f=c+e|0;c=b+(d[f>>0]|0)|0;c=(c|0)>0?c:0;a[h>>0]=(c|0)<255?c:255;c=b+(d[f+1>>0]|0)|0;c=(c|0)>0?c:0;a[h+1>>0]=(c|0)<255?c:255;c=b+(d[f+2>>0]|0)|0;c=(c|0)>0?c:0;a[h+2>>0]=(c|0)<255?c:255;c=b+(d[f+3>>0]|0)|0;c=(c|0)>0?c:0;a[h+3>>0]=(c|0)<255?c:255;c=h+g|0;f=f+e|0;h=b+(d[f>>0]|0)|0;h=(h|0)>0?h:0;a[c>>0]=(h|0)<255?h:255;h=b+(d[f+1>>0]|0)|0;h=(h|0)>0?h:0;a[c+1>>0]=(h|0)<255?h:255;h=b+(d[f+2>>0]|0)|0;h=(h|0)>0?h:0;a[c+2>>0]=(h|0)<255?h:255;h=b+(d[f+3>>0]|0)|0;h=(h|0)>0?h:0;a[c+3>>0]=(h|0)<255?h:255;g=c+g|0;f=f+e|0;e=b+(d[f>>0]|0)|0;e=(e|0)>0?e:0;a[g>>0]=(e|0)<255?e:255;e=b+(d[f+1>>0]|0)|0;e=(e|0)>0?e:0;a[g+1>>0]=(e|0)<255?e:255;e=b+(d[f+2>>0]|0)|0;e=(e|0)>0?e:0;a[g+2>>0]=(e|0)<255?e:255;f=b+(d[f+3>>0]|0)|0;f=(f|0)>0?f:0;a[g+3>>0]=(f|0)<255?f:255;return}function kc(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=J;J=J+32|0;p=d;t=b[a>>1]|0;f=b[a+24>>1]|0;r=f+t|0;m=b[a+8>>1]|0;h=b[a+16>>1]|0;l=h+m|0;h=m-h|0;f=t-f|0;b[p>>1]=l+r;t=p+8|0;b[t>>1]=h+f;b[p+16>>1]=r-l;b[p+24>>1]=f-h;h=p+2|0;f=b[a+2>>1]|0;l=b[a+26>>1]|0;r=l+f|0;m=b[a+10>>1]|0;u=b[a+18>>1]|0;n=u+m|0;u=m-u|0;l=f-l|0;f=n+r|0;b[h>>1]=f;b[p+10>>1]=u+l;b[p+18>>1]=r-n;b[p+26>>1]=l-u;u=b[a+4>>1]|0;l=b[a+28>>1]|0;n=l+u|0;r=b[a+12>>1]|0;m=b[a+20>>1]|0;o=m+r|0;m=r-m|0;l=u-l|0;b[p+20>>1]=n-o;b[p+28>>1]=l-m;u=b[a+6>>1]|0;r=b[a+30>>1]|0;j=r+u|0;q=b[a+14>>1]|0;s=b[a+22>>1]|0;k=s+q|0;s=q-s|0;r=u-r|0;u=j-k|0;b[p+22>>1]=u;q=r-s|0;b[p+30>>1]=q;i=b[p>>1]|0;j=k+j<<16>>16;f=f<<16>>16;n=o+n<<16>>16;o=n+f|0;n=f-n|0;f=j+i+3|0;b[p>>1]=(f+o|0)>>>3;j=i-j+3|0;b[h>>1]=(j+n|0)>>>3;b[p+4>>1]=(f-o|0)>>>3;b[p+6>>1]=(j-n|0)>>>3;n=b[t>>1]|0;r=s+r<<16>>16;s=p+10|0;j=b[s>>1]|0;l=m+l<<16>>16;m=l+j|0;l=j-l|0;j=r+n+3|0;o=(j+m|0)>>>3&65535;b[t>>1]=o;r=n-r+3|0;n=(r+l|0)>>>3&65535;b[s>>1]=n;m=(j-m|0)>>>3&65535;b[p+12>>1]=m;l=(r-l|0)>>>3&65535;b[p+14>>1]=l;r=p+16|0;j=b[r>>1]|0;u=u<<16>>16;s=p+18|0;t=b[s>>1]|0;f=p+20|0;h=b[f>>1]|0;i=h+t|0;h=t-h|0;t=u+j+3|0;k=(t+i|0)>>>3&65535;b[r>>1]=k;u=j-u+3|0;j=(u+h|0)>>>3&65535;b[s>>1]=j;i=(t-i|0)>>>3&65535;b[f>>1]=i;h=(u-h|0)>>>3&65535;b[p+22>>1]=h;u=p+24|0;f=b[u>>1]|0;q=q<<16>>16;t=p+26|0;s=b[t>>1]|0;r=p+28|0;a=b[r>>1]|0;e=a+s|0;a=s-a|0;s=q+f+3|0;g=(s+e|0)>>>3&65535;b[u>>1]=g;q=f-q+3|0;f=(q+a|0)>>>3&65535;b[t>>1]=f;e=(s-e|0)>>>3&65535;b[r>>1]=e;a=(q-a|0)>>>3&65535;b[p+30>>1]=a;b[c>>1]=b[p>>1]|0;b[c+32>>1]=b[p+2>>1]|0;b[c+64>>1]=b[p+4>>1]|0;b[c+96>>1]=b[p+6>>1]|0;b[c+128>>1]=o;b[c+160>>1]=n;b[c+192>>1]=m;b[c+224>>1]=l;b[c+256>>1]=k;b[c+288>>1]=j;b[c+320>>1]=i;b[c+352>>1]=h;b[c+384>>1]=g;b[c+416>>1]=f;b[c+448>>1]=e;b[c+480>>1]=a;J=d;return}function lc(a,c){a=a|0;c=c|0;a=(b[a>>1]|0)+3>>3&65535;b[c>>1]=a;b[c+32>>1]=a;b[c+64>>1]=a;b[c+96>>1]=a;b[c+128>>1]=a;b[c+160>>1]=a;b[c+192>>1]=a;b[c+224>>1]=a;b[c+256>>1]=a;b[c+288>>1]=a;b[c+320>>1]=a;b[c+352>>1]=a;b[c+384>>1]=a;b[c+416>>1]=a;b[c+448>>1]=a;b[c+480>>1]=a;return}function mc(a,b){a=a|0;b=b|0;b=b+a|0;b=(b|0)>0?b:0;return c[3696+(((b|0)<127?b:127)<<2)>>2]|0}function nc(a,b){a=a|0;b=b|0;b=b+a|0;b=(b|0)>0?b:0;return c[3696+(((b|0)<127?b:127)<<2)>>2]<<1|0}function oc(a,b){a=a|0;b=b|0;b=b+a|0;b=(b|0)>0?b:0;b=c[3696+(((b|0)<127?b:127)<<2)>>2]|0;return ((b|0)<132?b:132)|0}function pc(a){a=a|0;a=(a|0)>0?a:0;return c[4208+(((a|0)<127?a:127)<<2)>>2]|0}function qc(a,b){a=a|0;b=b|0;b=b+a|0;b=(b|0)>0?b:0;b=(c[4208+(((b|0)<127?b:127)<<2)>>2]|0)*101581>>16;return ((b|0)>8?b:8)|0}function rc(a,b){a=a|0;b=b|0;b=b+a|0;b=(b|0)>0?b:0;return c[4208+(((b|0)<127?b:127)<<2)>>2]|0}function sc(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=c[b+2900>>2]|0;r=c[b+2864>>2]|0;q=c[b+3088>>2]|0;m=c[q+4>>2]|0;n=m&65535;j=m>>>16&65535;do if(a[q+10>>0]|0){l=m>>16;k=c[b+3184>>2]|0;if((k+-152|0)<=(l|0)){k=c[b+3188>>2]|0;if((k+144|0)<(l|0))l=k+128&65535;else l=j}else l=k+65408&65535;k=m<<16>>16;j=c[b+3192>>2]|0;if((j+-152|0)>(k|0)){k=j+65408&65535;j=l;break}j=c[b+3196>>2]|0;if((j+144|0)<(k|0)){k=j+128&65535;j=l}else{k=n;j=l}}else k=n;while(0);p=k<<16>>16;q=j<<16>>16;l=o+((p>>3)*r|0)+(q>>3)|0;if(!(((j&65535)<<16|k&65535)&458759)){m=e;n=l;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));j=l+r|0;k=e+h|0;m=k;n=j;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));j=j+r|0;k=k+h|0;m=k;n=j;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));j=j+r|0;k=k+h|0;m=k;n=j;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));j=j+r|0;k=k+h|0;m=k;n=j;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));j=j+r|0;k=k+h|0;m=k;n=j;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));j=j+r|0;k=k+h|0;m=k;n=j;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));j=j+r|0;k=k+h|0;m=k;n=j;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));j=j+r|0;k=k+h|0;m=k;n=j;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));j=j+r|0;k=k+h|0;m=k;n=j;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));j=j+r|0;k=k+h|0;m=k;n=j;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));j=j+r|0;k=k+h|0;m=k;n=j;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));j=j+r|0;k=k+h|0;m=k;n=j;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));j=j+r|0;k=k+h|0;m=k;n=j;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));l=j+r|0;j=k+h|0;m=j;n=l;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));m=j+h|0;n=l+r|0;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0))}else T[c[b+3212>>2]&15](l,r,q&7,p&7,e,h);m=c[b+2844>>2]|0;n=m&(((((p>>31|1)+p&65535)<<16>>16)/2|0)&65535);m=(((q>>31|1)+q<<16>>16|0)/2|0)&65535&m;j=r>>1;r=m<<16;l=((n<<16>>19)*j|0)+(r>>19)|0;k=(c[b+2904>>2]|0)+l|0;l=(c[b+2908>>2]|0)+l|0;if(!((r|n)&458759)){p=k;r=p;r=d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24;p=p+4|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;h=f;b=h;a[b>>0]=r;a[b+1>>0]=r>>8;a[b+2>>0]=r>>16;a[b+3>>0]=r>>24;h=h+4|0;a[h>>0]=p;a[h+1>>0]=p>>8;a[h+2>>0]=p>>16;a[h+3>>0]=p>>24;h=k+j|0;f=f+i|0;p=h;b=p;b=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;p=p+4|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;r=f;q=r;a[q>>0]=b;a[q+1>>0]=b>>8;a[q+2>>0]=b>>16;a[q+3>>0]=b>>24;r=r+4|0;a[r>>0]=p;a[r+1>>0]=p>>8;a[r+2>>0]=p>>16;a[r+3>>0]=p>>24;h=h+j|0;f=f+i|0;r=h;p=r;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;r=r+4|0;r=d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24;q=f;b=q;a[b>>0]=p;a[b+1>>0]=p>>8;a[b+2>>0]=p>>16;a[b+3>>0]=p>>24;q=q+4|0;a[q>>0]=r;a[q+1>>0]=r>>8;a[q+2>>0]=r>>16;a[q+3>>0]=r>>24;h=h+j|0;f=f+i|0;q=h;r=q;r=d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;b=f;p=b;a[p>>0]=r;a[p+1>>0]=r>>8;a[p+2>>0]=r>>16;a[p+3>>0]=r>>24;b=b+4|0;a[b>>0]=q;a[b+1>>0]=q>>8;a[b+2>>0]=q>>16;a[b+3>>0]=q>>24;h=h+j|0;f=f+i|0;b=h;q=b;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;b=b+4|0;b=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;p=f;r=p;a[r>>0]=q;a[r+1>>0]=q>>8;a[r+2>>0]=q>>16;a[r+3>>0]=q>>24;p=p+4|0;a[p>>0]=b;a[p+1>>0]=b>>8;a[p+2>>0]=b>>16;a[p+3>>0]=b>>24;h=h+j|0;f=f+i|0;p=h;b=p;b=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;p=p+4|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;r=f;q=r;a[q>>0]=b;a[q+1>>0]=b>>8;a[q+2>>0]=b>>16;a[q+3>>0]=b>>24;r=r+4|0;a[r>>0]=p;a[r+1>>0]=p>>8;a[r+2>>0]=p>>16;a[r+3>>0]=p>>24;h=h+j|0;f=f+i|0;r=h;p=r;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;r=r+4|0;r=d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24;q=f;b=q;a[b>>0]=p;a[b+1>>0]=p>>8;a[b+2>>0]=p>>16;a[b+3>>0]=p>>24;q=q+4|0;a[q>>0]=r;a[q+1>>0]=r>>8;a[q+2>>0]=r>>16;a[q+3>>0]=r>>24;h=h+j|0;q=h;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;f=f+i|0;r=f;a[r>>0]=q;a[r+1>>0]=q>>8;a[r+2>>0]=q>>16;a[r+3>>0]=q>>24;f=f+4|0;a[f>>0]=h;a[f+1>>0]=h>>8;a[f+2>>0]=h>>16;a[f+3>>0]=h>>24;f=l;h=f;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;f=f+4|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;r=g;q=r;a[q>>0]=h;a[q+1>>0]=h>>8;a[q+2>>0]=h>>16;a[q+3>>0]=h>>24;r=r+4|0;a[r>>0]=f;a[r+1>>0]=f>>8;a[r+2>>0]=f>>16;a[r+3>>0]=f>>24;r=l+j|0;f=g+i|0;q=r;h=q;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;g=f;b=g;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;g=g+4|0;a[g>>0]=q;a[g+1>>0]=q>>8;a[g+2>>0]=q>>16;a[g+3>>0]=q>>24;g=r+j|0;f=f+i|0;r=g;q=r;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=r+4|0;r=d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24;b=f;h=b;a[h>>0]=q;a[h+1>>0]=q>>8;a[h+2>>0]=q>>16;a[h+3>>0]=q>>24;b=b+4|0;a[b>>0]=r;a[b+1>>0]=r>>8;a[b+2>>0]=r>>16;a[b+3>>0]=r>>24;g=g+j|0;f=f+i|0;b=g;r=b;r=d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24;b=b+4|0;b=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;h=f;q=h;a[q>>0]=r;a[q+1>>0]=r>>8;a[q+2>>0]=r>>16;a[q+3>>0]=r>>24;h=h+4|0;a[h>>0]=b;a[h+1>>0]=b>>8;a[h+2>>0]=b>>16;a[h+3>>0]=b>>24;g=g+j|0;f=f+i|0;h=g;b=h;b=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;q=f;r=q;a[r>>0]=b;a[r+1>>0]=b>>8;a[r+2>>0]=b>>16;a[r+3>>0]=b>>24;q=q+4|0;a[q>>0]=h;a[q+1>>0]=h>>8;a[q+2>>0]=h>>16;a[q+3>>0]=h>>24;g=g+j|0;f=f+i|0;q=g;h=q;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=f;b=r;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;r=r+4|0;a[r>>0]=q;a[r+1>>0]=q>>8;a[r+2>>0]=q>>16;a[r+3>>0]=q>>24;g=g+j|0;f=f+i|0;r=g;q=r;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=r+4|0;r=d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24;b=f;h=b;a[h>>0]=q;a[h+1>>0]=q>>8;a[h+2>>0]=q>>16;a[h+3>>0]=q>>24;b=b+4|0;a[b>>0]=r;a[b+1>>0]=r>>8;a[b+2>>0]=r>>16;a[b+3>>0]=r>>24;g=g+j|0;b=g;b=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=f+i|0;f=i;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;return}else{h=b+3208|0;r=m&7;b=n&7;T[c[h>>2]&15](k,j,r,b,f,i);T[c[h>>2]&15](l,j,r,b,g,i);return}}function tc(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;w=e+3088|0;f=c[w>>2]|0;if((a[f>>0]|0)!=9){sc(e,c[e+3020>>2]|0,c[e+3024>>2]|0,c[e+3028>>2]|0,c[e+2984>>2]|0,c[e+3004>>2]|0);return}o=e+2844|0;x=e+3184|0;z=e+3188|0;y=e+3192|0;C=e+3196|0;n=0;do{l=n<<3;j=n<<1;A=l|1;D=l|4;h=l|5;f=(b[f+12+(A<<2)>>1]|0)+(b[f+12+(l<<2)>>1]|0)+(b[f+12+(D<<2)>>1]|0)+(b[f+12+(h<<2)>>1]|0)|0;m=c[o>>2]|0;f=(((f>>31<<3|4)+f|0)/8|0)&m;g=e+2144+((j+16|0)*28|0)+24|0;b[g>>1]=f;i=c[w>>2]|0;h=(b[i+12+(A<<2)+2>>1]|0)+(b[i+12+(l<<2)+2>>1]|0)+(b[i+12+(D<<2)+2>>1]|0)+(b[i+12+(h<<2)+2>>1]|0)|0;h=(((h>>31<<3|4)+h|0)/8|0)&m;i=g+2|0;b[i>>1]=h;if(a[(c[w>>2]|0)+10>>0]|0){D=h<<16;A=c[x>>2]|0;D=(D>>15|0)<(A+-152|0)?A+-128>>1:D>>16;A=c[z>>2]|0;b[i>>1]=(D<<16>>15|0)>(A+144|0)?(A+128|0)>>>1:D;D=f<<16;A=c[y>>2]|0;D=(D>>15|0)<(A+-152|0)?A+-128>>1:D>>16;A=c[C>>2]|0;b[g>>1]=(D<<16>>15|0)>(A+144|0)?(A+128|0)>>>1:D}c[e+2144+((j+20|0)*28|0)+24>>2]=c[g>>2];k=j|1;f=c[w>>2]|0;D=f+12+((l|2)<<2)|0;A=f+12+((l|3)<<2)|0;j=f+12+((l|6)<<2)|0;i=f+12+((l|7)<<2)|0;g=(b[A>>1]|0)+(b[D>>1]|0)+(b[j>>1]|0)+(b[i>>1]|0)|0;g=(((g>>31<<3|4)+g|0)/8|0)&m;h=e+2144+((k+16|0)*28|0)+24|0;b[h>>1]=g;i=(b[A+2>>1]|0)+(b[D+2>>1]|0)+(b[j+2>>1]|0)+(b[i+2>>1]|0)|0;i=(((i>>31<<3|4)+i|0)/8|0)&c[o>>2];j=h+2|0;b[j>>1]=i;if(a[f+10>>0]|0){D=i<<16;A=c[x>>2]|0;D=(D>>15|0)<(A+-152|0)?A+-128>>1:D>>16;A=c[z>>2]|0;b[j>>1]=(D<<16>>15|0)>(A+144|0)?(A+128|0)>>>1:D;D=g<<16;A=c[y>>2]|0;D=(D>>15|0)<(A+-152|0)?A+-128>>1:D>>16;A=c[C>>2]|0;b[h>>1]=(D<<16>>15|0)>(A+144|0)?(A+128|0)>>>1:D}c[e+2144+((k+20|0)*28|0)+24>>2]=c[h>>2];n=n+1|0}while((n|0)!=2);A=c[e+3020>>2]|0;D=c[e+2900>>2]|0;t=e+2984|0;a:do if((d[f+8>>0]|0)<3){v=c[t>>2]|0;l=e+2168|0;k=c[f+12>>2]|0;c[l>>2]=k;s=e+2224|0;m=c[f+20>>2]|0;c[s>>2]=m;t=e+2392|0;o=c[f+44>>2]|0;c[t>>2]=o;u=e+2448|0;r=c[f+52>>2]|0;c[u>>2]=r;g=k>>>16&65535;i=k&65535;do if(a[f+10>>0]|0){j=l+2|0;h=k>>16;p=c[x>>2]|0;q=p+-152|0;if((q|0)<=(h|0)){f=c[z>>2]|0;if((f+144|0)<(h|0)){g=f+128&65535;B=15}}else{g=p+65408&65535;B=15}if((B|0)==15)b[j>>1]=g;h=k<<16>>16;k=c[y>>2]|0;n=k+-152|0;if((n|0)<=(h|0)){f=c[C>>2]|0;if((f+144|0)<(h|0)){f=f+128|0;B=20}}else{f=k+65408|0;B=20}if((B|0)==20){i=f&65535;b[l>>1]=i}j=s+2|0;f=m>>16;if((q|0)<=(f|0)){h=c[z>>2]|0;if((h+144|0)<(f|0)){f=h+128|0;B=25}}else{f=p+65408|0;B=25}if((B|0)==25)b[j>>1]=f;f=m<<16>>16;if((n|0)<=(f|0)){h=c[C>>2]|0;if((h+144|0)<(f|0)){f=h+128|0;B=30}}else{f=k+65408|0;B=30}if((B|0)==30)b[s>>1]=f;j=t+2|0;f=o>>16;if((q|0)<=(f|0)){h=c[z>>2]|0;if((h+144|0)<(f|0)){f=h+128|0;B=35}}else{f=p+65408|0;B=35}if((B|0)==35)b[j>>1]=f;f=o<<16>>16;if((n|0)<=(f|0)){h=c[C>>2]|0;if((h+144|0)<(f|0)){f=h+128|0;B=40}}else{f=k+65408|0;B=40}if((B|0)==40)b[t>>1]=f;j=u+2|0;h=r>>16;if((q|0)<=(h|0)){f=c[z>>2]|0;if((f+144|0)<(h|0)){f=f+128|0;B=45}}else{f=p+65408|0;B=45}if((B|0)==45)b[j>>1]=f;h=r<<16>>16;if((n|0)>(h|0)){b[u>>1]=k+65408;break}f=c[C>>2]|0;if((f+144|0)<(h|0))b[u>>1]=f+128}while(0);h=c[e+2160>>2]|0;f=A+h|0;h=D+h+((i<<16>>16>>3)*v|0)+(g<<16>>16>>3)|0;if(!((i|g)&7)){C=h;x=C;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;C=C+4|0;C=d[C>>0]|d[C+1>>0]<<8|d[C+2>>0]<<16|d[C+3>>0]<<24;B=f;w=B;a[w>>0]=x;a[w+1>>0]=x>>8;a[w+2>>0]=x>>16;a[w+3>>0]=x>>24;B=B+4|0;a[B>>0]=C;a[B+1>>0]=C>>8;a[B+2>>0]=C>>16;a[B+3>>0]=C>>24;B=h+v|0;C=f+v|0;w=B;x=w;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;w=w+4|0;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;z=C;y=z;a[y>>0]=x;a[y+1>>0]=x>>8;a[y+2>>0]=x>>16;a[y+3>>0]=x>>24;z=z+4|0;a[z>>0]=w;a[z+1>>0]=w>>8;a[z+2>>0]=w>>16;a[z+3>>0]=w>>24;B=B+v|0;C=C+v|0;z=B;w=z;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;z=z+4|0;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;y=C;x=y;a[x>>0]=w;a[x+1>>0]=w>>8;a[x+2>>0]=w>>16;a[x+3>>0]=w>>24;y=y+4|0;a[y>>0]=z;a[y+1>>0]=z>>8;a[y+2>>0]=z>>16;a[y+3>>0]=z>>24;B=B+v|0;C=C+v|0;y=B;z=y;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;y=y+4|0;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;x=C;w=x;a[w>>0]=z;a[w+1>>0]=z>>8;a[w+2>>0]=z>>16;a[w+3>>0]=z>>24;x=x+4|0;a[x>>0]=y;a[x+1>>0]=y>>8;a[x+2>>0]=y>>16;a[x+3>>0]=y>>24;B=B+v|0;C=C+v|0;x=B;y=x;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;x=x+4|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;w=C;z=w;a[z>>0]=y;a[z+1>>0]=y>>8;a[z+2>>0]=y>>16;a[z+3>>0]=y>>24;w=w+4|0;a[w>>0]=x;a[w+1>>0]=x>>8;a[w+2>>0]=x>>16;a[w+3>>0]=x>>24;B=B+v|0;C=C+v|0;w=B;x=w;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;w=w+4|0;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;z=C;y=z;a[y>>0]=x;a[y+1>>0]=x>>8;a[y+2>>0]=x>>16;a[y+3>>0]=x>>24;z=z+4|0;a[z>>0]=w;a[z+1>>0]=w>>8;a[z+2>>0]=w>>16;a[z+3>>0]=w>>24;B=B+v|0;C=C+v|0;z=B;w=z;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;z=z+4|0;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;y=C;x=y;a[x>>0]=w;a[x+1>>0]=w>>8;a[x+2>>0]=w>>16;a[x+3>>0]=w>>24;y=y+4|0;a[y>>0]=z;a[y+1>>0]=z>>8;a[y+2>>0]=z>>16;a[y+3>>0]=z>>24;B=B+v|0;y=B;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;B=B+4|0;B=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;C=C+v|0;z=C;a[z>>0]=y;a[z+1>>0]=y>>8;a[z+2>>0]=y>>16;a[z+3>>0]=y>>24;C=C+4|0;a[C>>0]=B;a[C+1>>0]=B>>8;a[C+2>>0]=B>>16;a[C+3>>0]=B>>24}else T[c[e+3208>>2]&15](h,v,g&7,i&7,f,v);g=c[e+2216>>2]|0;h=A+g|0;i=b[s>>1]|0;f=b[s+2>>1]|0;g=D+g+((i<<16>>16>>3)*v|0)+(f<<16>>16>>3)|0;if(!((f|i)&7)){C=g;x=C;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;C=C+4|0;C=d[C>>0]|d[C+1>>0]<<8|d[C+2>>0]<<16|d[C+3>>0]<<24;B=h;w=B;a[w>>0]=x;a[w+1>>0]=x>>8;a[w+2>>0]=x>>16;a[w+3>>0]=x>>24;B=B+4|0;a[B>>0]=C;a[B+1>>0]=C>>8;a[B+2>>0]=C>>16;a[B+3>>0]=C>>24;B=g+v|0;C=h+v|0;w=B;x=w;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;w=w+4|0;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;z=C;y=z;a[y>>0]=x;a[y+1>>0]=x>>8;a[y+2>>0]=x>>16;a[y+3>>0]=x>>24;z=z+4|0;a[z>>0]=w;a[z+1>>0]=w>>8;a[z+2>>0]=w>>16;a[z+3>>0]=w>>24;B=B+v|0;C=C+v|0;z=B;w=z;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;z=z+4|0;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;y=C;x=y;a[x>>0]=w;a[x+1>>0]=w>>8;a[x+2>>0]=w>>16;a[x+3>>0]=w>>24;y=y+4|0;a[y>>0]=z;a[y+1>>0]=z>>8;a[y+2>>0]=z>>16;a[y+3>>0]=z>>24;B=B+v|0;C=C+v|0;y=B;z=y;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;y=y+4|0;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;x=C;w=x;a[w>>0]=z;a[w+1>>0]=z>>8;a[w+2>>0]=z>>16;a[w+3>>0]=z>>24;x=x+4|0;a[x>>0]=y;a[x+1>>0]=y>>8;a[x+2>>0]=y>>16;a[x+3>>0]=y>>24;B=B+v|0;C=C+v|0;x=B;y=x;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;x=x+4|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;w=C;z=w;a[z>>0]=y;a[z+1>>0]=y>>8;a[z+2>>0]=y>>16;a[z+3>>0]=y>>24;w=w+4|0;a[w>>0]=x;a[w+1>>0]=x>>8;a[w+2>>0]=x>>16;a[w+3>>0]=x>>24;B=B+v|0;C=C+v|0;w=B;x=w;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;w=w+4|0;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;z=C;y=z;a[y>>0]=x;a[y+1>>0]=x>>8;a[y+2>>0]=x>>16;a[y+3>>0]=x>>24;z=z+4|0;a[z>>0]=w;a[z+1>>0]=w>>8;a[z+2>>0]=w>>16;a[z+3>>0]=w>>24;B=B+v|0;C=C+v|0;z=B;w=z;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;z=z+4|0;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;y=C;x=y;a[x>>0]=w;a[x+1>>0]=w>>8;a[x+2>>0]=w>>16;a[x+3>>0]=w>>24;y=y+4|0;a[y>>0]=z;a[y+1>>0]=z>>8;a[y+2>>0]=z>>16;a[y+3>>0]=z>>24;B=B+v|0;y=B;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;B=B+4|0;B=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;C=C+v|0;z=C;a[z>>0]=y;a[z+1>>0]=y>>8;a[z+2>>0]=y>>16;a[z+3>>0]=y>>24;C=C+4|0;a[C>>0]=B;a[C+1>>0]=B>>8;a[C+2>>0]=B>>16;a[C+3>>0]=B>>24}else T[c[e+3208>>2]&15](g,v,f&7,i&7,h,v);g=c[e+2384>>2]|0;h=A+g|0;i=b[t>>1]|0;f=b[t+2>>1]|0;g=D+g+((i<<16>>16>>3)*v|0)+(f<<16>>16>>3)|0;if(!((f|i)&7)){C=g;x=C;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;C=C+4|0;C=d[C>>0]|d[C+1>>0]<<8|d[C+2>>0]<<16|d[C+3>>0]<<24;B=h;w=B;a[w>>0]=x;a[w+1>>0]=x>>8;a[w+2>>0]=x>>16;a[w+3>>0]=x>>24;B=B+4|0;a[B>>0]=C;a[B+1>>0]=C>>8;a[B+2>>0]=C>>16;a[B+3>>0]=C>>24;B=g+v|0;C=h+v|0;w=B;x=w;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;w=w+4|0;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;z=C;y=z;a[y>>0]=x;a[y+1>>0]=x>>8;a[y+2>>0]=x>>16;a[y+3>>0]=x>>24;z=z+4|0;a[z>>0]=w;a[z+1>>0]=w>>8;a[z+2>>0]=w>>16;a[z+3>>0]=w>>24;B=B+v|0;C=C+v|0;z=B;w=z;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;z=z+4|0;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;y=C;x=y;a[x>>0]=w;a[x+1>>0]=w>>8;a[x+2>>0]=w>>16;a[x+3>>0]=w>>24;y=y+4|0;a[y>>0]=z;a[y+1>>0]=z>>8;a[y+2>>0]=z>>16;a[y+3>>0]=z>>24;B=B+v|0;C=C+v|0;y=B;z=y;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;y=y+4|0;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;x=C;w=x;a[w>>0]=z;a[w+1>>0]=z>>8;a[w+2>>0]=z>>16;a[w+3>>0]=z>>24;x=x+4|0;a[x>>0]=y;a[x+1>>0]=y>>8;a[x+2>>0]=y>>16;a[x+3>>0]=y>>24;B=B+v|0;C=C+v|0;x=B;y=x;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;x=x+4|0;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;w=C;z=w;a[z>>0]=y;a[z+1>>0]=y>>8;a[z+2>>0]=y>>16;a[z+3>>0]=y>>24;w=w+4|0;a[w>>0]=x;a[w+1>>0]=x>>8;a[w+2>>0]=x>>16;a[w+3>>0]=x>>24;B=B+v|0;C=C+v|0;w=B;x=w;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;w=w+4|0;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;z=C;y=z;a[y>>0]=x;a[y+1>>0]=x>>8;a[y+2>>0]=x>>16;a[y+3>>0]=x>>24;z=z+4|0;a[z>>0]=w;a[z+1>>0]=w>>8;a[z+2>>0]=w>>16;a[z+3>>0]=w>>24;B=B+v|0;C=C+v|0;z=B;w=z;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;z=z+4|0;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;y=C;x=y;a[x>>0]=w;a[x+1>>0]=w>>8;a[x+2>>0]=w>>16;a[x+3>>0]=w>>24;y=y+4|0;a[y>>0]=z;a[y+1>>0]=z>>8;a[y+2>>0]=z>>16;a[y+3>>0]=z>>24;B=B+v|0;y=B;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;B=B+4|0;B=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;C=C+v|0;z=C;a[z>>0]=y;a[z+1>>0]=y>>8;a[z+2>>0]=y>>16;a[z+3>>0]=y>>24;C=C+4|0;a[C>>0]=B;a[C+1>>0]=B>>8;a[C+2>>0]=B>>16;a[C+3>>0]=B>>24}else T[c[e+3208>>2]&15](g,v,f&7,i&7,h,v);f=c[e+2440>>2]|0;h=A+f|0;i=b[u>>1]|0;g=b[u+2>>1]|0;f=D+f+((i<<16>>16>>3)*v|0)+(g<<16>>16>>3)|0;if(!((g|i)&7)){D=f;z=D;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;D=D+4|0;D=d[D>>0]|d[D+1>>0]<<8|d[D+2>>0]<<16|d[D+3>>0]<<24;C=h;y=C;a[y>>0]=z;a[y+1>>0]=z>>8;a[y+2>>0]=z>>16;a[y+3>>0]=z>>24;C=C+4|0;a[C>>0]=D;a[C+1>>0]=D>>8;a[C+2>>0]=D>>16;a[C+3>>0]=D>>24;C=f+v|0;D=h+v|0;y=C;z=y;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;y=y+4|0;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;B=D;A=B;a[A>>0]=z;a[A+1>>0]=z>>8;a[A+2>>0]=z>>16;a[A+3>>0]=z>>24;B=B+4|0;a[B>>0]=y;a[B+1>>0]=y>>8;a[B+2>>0]=y>>16;a[B+3>>0]=y>>24;C=C+v|0;D=D+v|0;B=C;y=B;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;B=B+4|0;B=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;A=D;z=A;a[z>>0]=y;a[z+1>>0]=y>>8;a[z+2>>0]=y>>16;a[z+3>>0]=y>>24;A=A+4|0;a[A>>0]=B;a[A+1>>0]=B>>8;a[A+2>>0]=B>>16;a[A+3>>0]=B>>24;C=C+v|0;D=D+v|0;A=C;B=A;B=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;A=A+4|0;A=d[A>>0]|d[A+1>>0]<<8|d[A+2>>0]<<16|d[A+3>>0]<<24;z=D;y=z;a[y>>0]=B;a[y+1>>0]=B>>8;a[y+2>>0]=B>>16;a[y+3>>0]=B>>24;z=z+4|0;a[z>>0]=A;a[z+1>>0]=A>>8;a[z+2>>0]=A>>16;a[z+3>>0]=A>>24;C=C+v|0;D=D+v|0;z=C;A=z;A=d[A>>0]|d[A+1>>0]<<8|d[A+2>>0]<<16|d[A+3>>0]<<24;z=z+4|0;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;y=D;B=y;a[B>>0]=A;a[B+1>>0]=A>>8;a[B+2>>0]=A>>16;a[B+3>>0]=A>>24;y=y+4|0;a[y>>0]=z;a[y+1>>0]=z>>8;a[y+2>>0]=z>>16;a[y+3>>0]=z>>24;C=C+v|0;D=D+v|0;y=C;z=y;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;y=y+4|0;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;B=D;A=B;a[A>>0]=z;a[A+1>>0]=z>>8;a[A+2>>0]=z>>16;a[A+3>>0]=z>>24;B=B+4|0;a[B>>0]=y;a[B+1>>0]=y>>8;a[B+2>>0]=y>>16;a[B+3>>0]=y>>24;C=C+v|0;D=D+v|0;B=C;y=B;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;B=B+4|0;B=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;A=D;z=A;a[z>>0]=y;a[z+1>>0]=y>>8;a[z+2>>0]=y>>16;a[z+3>>0]=y>>24;A=A+4|0;a[A>>0]=B;a[A+1>>0]=B>>8;a[A+2>>0]=B>>16;a[A+3>>0]=B>>24;C=C+v|0;A=C;A=d[A>>0]|d[A+1>>0]<<8|d[A+2>>0]<<16|d[A+3>>0]<<24;C=C+4|0;C=d[C>>0]|d[C+1>>0]<<8|d[C+2>>0]<<16|d[C+3>>0]<<24;D=D+v|0;B=D;a[B>>0]=A;a[B+1>>0]=A>>8;a[B+2>>0]=A>>16;a[B+3>>0]=A>>24;D=D+4|0;a[D>>0]=C;a[D+1>>0]=C>>8;a[D+2>>0]=C>>16;a[D+3>>0]=C>>24;break}else{T[c[e+3208>>2]&15](f,v,g&7,i&7,h,v);break}}else{u=e+3200|0;v=e+3204|0;s=0;while(1){p=s|1;r=c[t>>2]|0;o=e+2144+(s*28|0)+24|0;i=c[f+12+(s<<2)>>2]|0;c[o>>2]=i;q=e+2144+(p*28|0)+24|0;n=c[(c[w>>2]|0)+12+(p<<2)>>2]|0;c[q>>2]=n;j=i>>>16&65535;do if(a[(c[w>>2]|0)+10>>0]|0){h=o+2|0;f=i>>16;l=c[x>>2]|0;m=l+-152|0;if((m|0)<=(f|0)){g=c[z>>2]|0;if((g+144|0)<(f|0)){j=g+128&65535;B=68}}else{j=l+65408&65535;B=68}if((B|0)==68){B=0;b[h>>1]=j}f=i<<16>>16;i=c[y>>2]|0;k=i+-152|0;if((k|0)<=(f|0)){g=c[C>>2]|0;if((g+144|0)<(f|0)){f=g+128|0;B=73}}else{f=i+65408|0;B=73}if((B|0)==73){B=0;b[o>>1]=f}h=q+2|0;g=n>>16;if((m|0)<=(g|0)){f=c[z>>2]|0;if((f+144|0)<(g|0)){f=f+128|0;B=78}}else{f=l+65408|0;B=78}if((B|0)==78){B=0;b[h>>1]=f}g=n<<16>>16;if((k|0)>(g|0)){b[q>>1]=i+65408;break}f=c[C>>2]|0;if((f+144|0)<(g|0))b[q>>1]=f+128}while(0);f=c[o>>2]|0;h=c[e+2144+(s*28|0)+16>>2]|0;g=A+h|0;h=D+h+((f<<16>>19)*r|0)+(j<<16>>16>>3)|0;i=((j|f&65535)&7)==0;do if((f|0)==(c[q>>2]|0))if(i){p=h;m=p;m=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;p=p+4|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;q=g;l=q;a[l>>0]=m;a[l+1>>0]=m>>8;a[l+2>>0]=m>>16;a[l+3>>0]=m>>24;q=q+4|0;a[q>>0]=p;a[q+1>>0]=p>>8;a[q+2>>0]=p>>16;a[q+3>>0]=p>>24;q=h+r|0;p=g+r|0;l=q;m=l;m=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;l=l+4|0;l=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;n=p;o=n;a[o>>0]=m;a[o+1>>0]=m>>8;a[o+2>>0]=m>>16;a[o+3>>0]=m>>24;n=n+4|0;a[n>>0]=l;a[n+1>>0]=l>>8;a[n+2>>0]=l>>16;a[n+3>>0]=l>>24;q=q+r|0;p=p+r|0;n=q;l=n;l=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;n=n+4|0;n=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;o=p;m=o;a[m>>0]=l;a[m+1>>0]=l>>8;a[m+2>>0]=l>>16;a[m+3>>0]=l>>24;o=o+4|0;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;q=q+r|0;o=q;o=d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=p+r|0;p=r;a[p>>0]=o;a[p+1>>0]=o>>8;a[p+2>>0]=o>>16;a[p+3>>0]=o>>24;r=r+4|0;a[r>>0]=q;a[r+1>>0]=q>>8;a[r+2>>0]=q>>16;a[r+3>>0]=q>>24;break}else{T[c[v>>2]&15](h,r,j&7,f&7,g,r);break}else{if(i){a[g>>0]=a[h>>0]|0;a[g+1>>0]=a[h+1>>0]|0;a[g+2>>0]=a[h+2>>0]|0;a[g+3>>0]=a[h+3>>0]|0;o=g+r|0;n=h+r|0;a[o>>0]=a[n>>0]|0;a[o+1>>0]=a[n+1>>0]|0;a[o+2>>0]=a[n+2>>0]|0;a[o+3>>0]=a[n+3>>0]|0;o=o+r|0;n=n+r|0;a[o>>0]=a[n>>0]|0;a[o+1>>0]=a[n+1>>0]|0;a[o+2>>0]=a[n+2>>0]|0;a[o+3>>0]=a[n+3>>0]|0;o=o+r|0;n=n+r|0;a[o>>0]=a[n>>0]|0;a[o+1>>0]=a[n+1>>0]|0;a[o+2>>0]=a[n+2>>0]|0;a[o+3>>0]=a[n+3>>0]|0}else T[c[u>>2]&15](h,r,j&7,f&7,g,r);g=c[e+2144+(p*28|0)+16>>2]|0;h=A+g|0;i=b[q>>1]|0;f=b[q+2>>1]|0;g=D+g+((i<<16>>16>>3)*r|0)+(f<<16>>16>>3)|0;if(!((f|i)&7)){a[h>>0]=a[g>>0]|0;a[h+1>>0]=a[g+1>>0]|0;a[h+2>>0]=a[g+2>>0]|0;a[h+3>>0]=a[g+3>>0]|0;q=h+r|0;p=g+r|0;a[q>>0]=a[p>>0]|0;a[q+1>>0]=a[p+1>>0]|0;a[q+2>>0]=a[p+2>>0]|0;a[q+3>>0]=a[p+3>>0]|0;q=q+r|0;p=p+r|0;a[q>>0]=a[p>>0]|0;a[q+1>>0]=a[p+1>>0]|0;a[q+2>>0]=a[p+2>>0]|0;a[q+3>>0]=a[p+3>>0]|0;q=q+r|0;r=p+r|0;a[q>>0]=a[r>>0]|0;a[q+1>>0]=a[r+1>>0]|0;a[q+2>>0]=a[r+2>>0]|0;a[q+3>>0]=a[r+3>>0]|0;break}else{T[c[u>>2]&15](g,r,f&7,i&7,h,r);break}}while(0);f=s+2|0;if(f>>>0>=16)break a;s=f;f=c[w>>2]|0}}while(0);m=c[e+3024>>2]|0;n=c[e+2904>>2]|0;p=e+3004|0;q=e+3200|0;r=e+3204|0;l=16;do{k=l|1;o=c[p>>2]|0;f=c[e+2144+(l*28|0)+24>>2]|0;i=c[e+2144+(l*28|0)+16>>2]|0;g=m+i|0;h=b[e+2144+(l*28|0)+24+2>>1]|0;i=n+i+((f<<16>>19)*o|0)+(h<<16>>16>>3)|0;j=((h|f&65535)&7)==0;do if((f|0)==(c[e+2144+(k*28|0)+24>>2]|0))if(j){D=i;z=D;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;D=D+4|0;D=d[D>>0]|d[D+1>>0]<<8|d[D+2>>0]<<16|d[D+3>>0]<<24;C=g;y=C;a[y>>0]=z;a[y+1>>0]=z>>8;a[y+2>>0]=z>>16;a[y+3>>0]=z>>24;C=C+4|0;a[C>>0]=D;a[C+1>>0]=D>>8;a[C+2>>0]=D>>16;a[C+3>>0]=D>>24;C=i+o|0;D=g+o|0;y=C;z=y;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;y=y+4|0;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;B=D;A=B;a[A>>0]=z;a[A+1>>0]=z>>8;a[A+2>>0]=z>>16;a[A+3>>0]=z>>24;B=B+4|0;a[B>>0]=y;a[B+1>>0]=y>>8;a[B+2>>0]=y>>16;a[B+3>>0]=y>>24;C=C+o|0;D=D+o|0;B=C;y=B;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;B=B+4|0;B=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;A=D;z=A;a[z>>0]=y;a[z+1>>0]=y>>8;a[z+2>>0]=y>>16;a[z+3>>0]=y>>24;A=A+4|0;a[A>>0]=B;a[A+1>>0]=B>>8;a[A+2>>0]=B>>16;a[A+3>>0]=B>>24;C=C+o|0;A=C;A=d[A>>0]|d[A+1>>0]<<8|d[A+2>>0]<<16|d[A+3>>0]<<24;C=C+4|0;C=d[C>>0]|d[C+1>>0]<<8|d[C+2>>0]<<16|d[C+3>>0]<<24;D=D+o|0;B=D;a[B>>0]=A;a[B+1>>0]=A>>8;a[B+2>>0]=A>>16;a[B+3>>0]=A>>24;D=D+4|0;a[D>>0]=C;a[D+1>>0]=C>>8;a[D+2>>0]=C>>16;a[D+3>>0]=C>>24;break}else{T[c[r>>2]&15](i,o,h&7,f&7,g,o);break}else{if(j){a[g>>0]=a[i>>0]|0;a[g+1>>0]=a[i+1>>0]|0;a[g+2>>0]=a[i+2>>0]|0;a[g+3>>0]=a[i+3>>0]|0;D=g+o|0;C=i+o|0;a[D>>0]=a[C>>0]|0;a[D+1>>0]=a[C+1>>0]|0;a[D+2>>0]=a[C+2>>0]|0;a[D+3>>0]=a[C+3>>0]|0;D=D+o|0;C=C+o|0;a[D>>0]=a[C>>0]|0;a[D+1>>0]=a[C+1>>0]|0;a[D+2>>0]=a[C+2>>0]|0;a[D+3>>0]=a[C+3>>0]|0;D=D+o|0;C=C+o|0;a[D>>0]=a[C>>0]|0;a[D+1>>0]=a[C+1>>0]|0;a[D+2>>0]=a[C+2>>0]|0;a[D+3>>0]=a[C+3>>0]|0}else T[c[q>>2]&15](i,o,h&7,f&7,g,o);h=c[e+2144+(k*28|0)+16>>2]|0;i=m+h|0;g=e+2144+(k*28|0)+24|0;f=b[g>>1]|0;g=b[g+2>>1]|0;h=n+h+((f<<16>>16>>3)*o|0)+(g<<16>>16>>3)|0;if(!((g|f)&7)){a[i>>0]=a[h>>0]|0;a[i+1>>0]=a[h+1>>0]|0;a[i+2>>0]=a[h+2>>0]|0;a[i+3>>0]=a[h+3>>0]|0;D=i+o|0;C=h+o|0;a[D>>0]=a[C>>0]|0;a[D+1>>0]=a[C+1>>0]|0;a[D+2>>0]=a[C+2>>0]|0;a[D+3>>0]=a[C+3>>0]|0;D=D+o|0;C=C+o|0;a[D>>0]=a[C>>0]|0;a[D+1>>0]=a[C+1>>0]|0;a[D+2>>0]=a[C+2>>0]|0;a[D+3>>0]=a[C+3>>0]|0;D=D+o|0;C=C+o|0;a[D>>0]=a[C>>0]|0;a[D+1>>0]=a[C+1>>0]|0;a[D+2>>0]=a[C+2>>0]|0;a[D+3>>0]=a[C+3>>0]|0;break}else{T[c[q>>2]&15](h,o,g&7,f&7,i,o);break}}while(0);l=l+2|0}while(l>>>0<20);m=c[e+3028>>2]|0;n=c[e+2908>>2]|0;l=20;do{k=l|1;o=c[p>>2]|0;f=c[e+2144+(l*28|0)+24>>2]|0;i=c[e+2144+(l*28|0)+16>>2]|0;g=m+i|0;h=b[e+2144+(l*28|0)+24+2>>1]|0;i=n+i+((f<<16>>19)*o|0)+(h<<16>>16>>3)|0;j=((h|f&65535)&7)==0;do if((f|0)==(c[e+2144+(k*28|0)+24>>2]|0))if(j){D=i;z=D;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;D=D+4|0;D=d[D>>0]|d[D+1>>0]<<8|d[D+2>>0]<<16|d[D+3>>0]<<24;C=g;y=C;a[y>>0]=z;a[y+1>>0]=z>>8;a[y+2>>0]=z>>16;a[y+3>>0]=z>>24;C=C+4|0;a[C>>0]=D;a[C+1>>0]=D>>8;a[C+2>>0]=D>>16;a[C+3>>0]=D>>24;C=i+o|0;D=g+o|0;y=C;z=y;z=d[z>>0]|d[z+1>>0]<<8|d[z+2>>0]<<16|d[z+3>>0]<<24;y=y+4|0;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;B=D;A=B;a[A>>0]=z;a[A+1>>0]=z>>8;a[A+2>>0]=z>>16;a[A+3>>0]=z>>24;B=B+4|0;a[B>>0]=y;a[B+1>>0]=y>>8;a[B+2>>0]=y>>16;a[B+3>>0]=y>>24;C=C+o|0;D=D+o|0;B=C;y=B;y=d[y>>0]|d[y+1>>0]<<8|d[y+2>>0]<<16|d[y+3>>0]<<24;B=B+4|0;B=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;A=D;z=A;a[z>>0]=y;a[z+1>>0]=y>>8;a[z+2>>0]=y>>16;a[z+3>>0]=y>>24;A=A+4|0;a[A>>0]=B;a[A+1>>0]=B>>8;a[A+2>>0]=B>>16;a[A+3>>0]=B>>24;C=C+o|0;A=C;A=d[A>>0]|d[A+1>>0]<<8|d[A+2>>0]<<16|d[A+3>>0]<<24;C=C+4|0;C=d[C>>0]|d[C+1>>0]<<8|d[C+2>>0]<<16|d[C+3>>0]<<24;D=D+o|0;B=D;a[B>>0]=A;a[B+1>>0]=A>>8;a[B+2>>0]=A>>16;a[B+3>>0]=A>>24;D=D+4|0;a[D>>0]=C;a[D+1>>0]=C>>8;a[D+2>>0]=C>>16;a[D+3>>0]=C>>24;break}else{T[c[r>>2]&15](i,o,h&7,f&7,g,o);break}else{if(j){a[g>>0]=a[i>>0]|0;a[g+1>>0]=a[i+1>>0]|0;a[g+2>>0]=a[i+2>>0]|0;a[g+3>>0]=a[i+3>>0]|0;D=g+o|0;C=i+o|0;a[D>>0]=a[C>>0]|0;a[D+1>>0]=a[C+1>>0]|0;a[D+2>>0]=a[C+2>>0]|0;a[D+3>>0]=a[C+3>>0]|0;D=D+o|0;C=C+o|0;a[D>>0]=a[C>>0]|0;a[D+1>>0]=a[C+1>>0]|0;a[D+2>>0]=a[C+2>>0]|0;a[D+3>>0]=a[C+3>>0]|0;D=D+o|0;C=C+o|0;a[D>>0]=a[C>>0]|0;a[D+1>>0]=a[C+1>>0]|0;a[D+2>>0]=a[C+2>>0]|0;a[D+3>>0]=a[C+3>>0]|0}else T[c[q>>2]&15](i,o,h&7,f&7,g,o);h=c[e+2144+(k*28|0)+16>>2]|0;i=m+h|0;g=e+2144+(k*28|0)+24|0;f=b[g>>1]|0;g=b[g+2>>1]|0;h=n+h+((f<<16>>16>>3)*o|0)+(g<<16>>16>>3)|0;if(!((g|f)&7)){a[i>>0]=a[h>>0]|0;a[i+1>>0]=a[h+1>>0]|0;a[i+2>>0]=a[h+2>>0]|0;a[i+3>>0]=a[h+3>>0]|0;D=i+o|0;C=h+o|0;a[D>>0]=a[C>>0]|0;a[D+1>>0]=a[C+1>>0]|0;a[D+2>>0]=a[C+2>>0]|0;a[D+3>>0]=a[C+3>>0]|0;D=D+o|0;C=C+o|0;a[D>>0]=a[C>>0]|0;a[D+1>>0]=a[C+1>>0]|0;a[D+2>>0]=a[C+2>>0]|0;a[D+3>>0]=a[C+3>>0]|0;D=D+o|0;C=C+o|0;a[D>>0]=a[C>>0]|0;a[D+1>>0]=a[C+1>>0]|0;a[D+2>>0]=a[C+2>>0]|0;a[D+3>>0]=a[C+3>>0]|0;break}else{T[c[q>>2]&15](h,o,g&7,f&7,i,o);break}}while(0);l=l+2|0}while(l>>>0<24);return}function uc(a){a=a|0;var b=0,d=0;yd((c[a+52>>2]|0)+-1+(0-(c[a+16>>2]|0))|0,127,(c[a>>2]|0)+5|0)|0;d=a+36|0;b=a+20|0;yd((c[a+56>>2]|0)+-1+(0-(c[d>>2]|0))|0,127,(c[b>>2]|0)+5|0)|0;yd((c[a+60>>2]|0)+-1+(0-(c[d>>2]|0))|0,127,(c[b>>2]|0)+5|0)|0;return}function vc(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=J;J=J+16|0;h=m;c[a>>2]=b+e;j=a+4|0;c[j>>2]=b;k=a+8|0;c[k>>2]=0;l=a+12|0;c[l>>2]=-8;c[a+16>>2]=255;c[a+20>>2]=f;c[a+24>>2]=g;if(!((b|0)!=0|(e|0)==0)){l=1;J=m;return l|0}i=e<<3;a=32-i|0;if(f){S[f&31](g,b,h,e>>>0<5?e:5);b=h}g=(a|0)>-1;e=a>>31&-1073741824;h=g?a:0;if((i|0)==0&g|(h|0)>24){a=0;b=e|1073741816}else{g=e+(24-h)|0;a=0;f=24;e=c[j>>2]|0;while(1){a=(d[b>>0]|0)<<f|a;e=e+1|0;c[j>>2]=e;f=f+-8|0;if((f|0)<(h|0))break;else b=b+1|0}b=g+1073741824|0}c[k>>2]=a;c[l>>2]=b;l=0;J=m;return l|0}function wc(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=J;J=J+16|0;e=p;m=a+4|0;i=c[m>>2]|0;n=a+8|0;b=c[n>>2]|0;o=a+12|0;j=c[o>>2]|0;g=16-j|0;f=(c[a>>2]|0)-i|0;l=f<<3;k=g+8-l|0;h=c[a+20>>2]|0;if(!h)e=i;else S[h&31](c[a+24>>2]|0,i,e,f>>>0<5?f:5);i=(k|0)>-1;a=i?j+1073741824|0:j;h=i?k:0;if(i&(l|0)==0|(g|0)<(h|0)){l=b;m=a;c[n>>2]=l;c[o>>2]=m;J=p;return}f=c[m>>2]|0;while(1){a=a+8|0;b=(d[e>>0]|0)<<g|b;f=f+1|0;c[m>>2]=f;g=g+-8|0;if((g|0)<(h|0))break;else e=e+1|0}c[n>>2]=b;c[o>>2]=a;J=p;return}function xc(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;sa=J;J=J+32|0;ma=sa+16|0;oa=sa;v=c[f+6012>>2]|0;pa=f+11920|0;qa=f+11936|0;i=(((c[qa>>2]<<7)+-128|0)>>>8)+1|0;na=f+11932|0;g=c[na>>2]|0;if((g|0)<0){wc(pa);g=c[na>>2]|0}la=f+11928|0;h=c[la>>2]|0;j=i<<24;if(h>>>0<j>>>0)l=0;else{l=1;i=(c[qa>>2]|0)-i|0;h=h-j|0}j=d[2160+(i&255)>>0]|0;i=i<<j;k=h<<j;j=g-j|0;c[la>>2]=k;c[na>>2]=j;c[qa>>2]=i;ja=f+5968|0;c[ja>>2]=l;ka=f+12071|0;a[ka>>0]=0;if(!l){h=i;i=j;g=k}else{h=(((i<<7)+-128|0)>>>8)+1|0;if((j|0)<0){wc(pa);g=c[la>>2]|0;j=c[na>>2]|0}else g=k;i=h<<24;if(g>>>0<i>>>0)r=0;else{r=128;h=(c[qa>>2]|0)-h|0;g=g-i|0}ia=d[2160+(h&255)>>0]|0;i=h<<ia;g=g<<ia;h=j-ia|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)q=0;else{q=64;i=(c[qa>>2]|0)-i|0;g=g-j|0}ia=d[2160+(i&255)>>0]|0;i=i<<ia;g=g<<ia;h=h-ia|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)p=0;else{p=32;i=(c[qa>>2]|0)-i|0;g=g-j|0}ia=d[2160+(i&255)>>0]|0;i=i<<ia;g=g<<ia;h=h-ia|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)o=0;else{o=16;i=(c[qa>>2]|0)-i|0;g=g-j|0}ia=d[2160+(i&255)>>0]|0;i=i<<ia;g=g<<ia;h=h-ia|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)n=0;else{n=8;i=(c[qa>>2]|0)-i|0;g=g-j|0}ia=d[2160+(i&255)>>0]|0;i=i<<ia;g=g<<ia;h=h-ia|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)m=0;else{m=4;i=(c[qa>>2]|0)-i|0;g=g-j|0}ia=d[2160+(i&255)>>0]|0;i=i<<ia;g=g<<ia;h=h-ia|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)l=0;else{l=2;i=(c[qa>>2]|0)-i|0;g=g-j|0}ia=d[2160+(i&255)>>0]|0;i=i<<ia;g=g<<ia;h=h-ia|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)k=0;else{k=1;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;ia=i<<ha;g=g<<ha;i=h-ha|0;c[la>>2]=g;c[na>>2]=i;c[qa>>2]=ia;a[ka>>0]=q|r|p|o|n|m|l|k;h=ia}ia=f+5940|0;if(c[ia>>2]|0){h=(((h<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);g=c[la>>2]|0;i=c[na>>2]|0}j=h<<24;if(g>>>0<j>>>0)r=0;else{r=128;h=(c[qa>>2]|0)-h|0;g=g-j|0}ga=d[2160+(h&255)>>0]|0;ha=h<<ga;g=g<<ga;h=i-ga|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=ha;i=(((ha<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)q=0;else{q=64;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)p=0;else{p=32;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)o=0;else{o=16;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;k=i<<ha;i=g<<ha;g=h-ha|0;c[la>>2]=i;c[na>>2]=g;c[qa>>2]=k;k=(((k<<7)+-128|0)>>>8)+1|0;if((g|0)<0){wc(pa);g=c[na>>2]|0;h=c[la>>2]|0}else h=i;j=k<<24;if(h>>>0<j>>>0){n=0;i=k}else{n=8;i=(c[qa>>2]|0)-k|0;h=h-j|0}ha=d[2160+(i&255)>>0]|0;k=i<<ha;h=h<<ha;i=g-ha|0;c[la>>2]=h;c[na>>2]=i;c[qa>>2]=k;k=(((k<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);g=c[la>>2]|0;i=c[na>>2]|0}else g=h;j=k<<24;if(g>>>0<j>>>0){m=0;h=k}else{m=4;h=(c[qa>>2]|0)-k|0;g=g-j|0}ga=d[2160+(h&255)>>0]|0;ha=h<<ga;g=g<<ga;h=i-ga|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=ha;i=(((ha<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)l=0;else{l=2;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)k=0;else{k=1;i=(c[qa>>2]|0)-i|0;g=g-j|0}j=d[2160+(i&255)>>0]|0;ha=i<<j;g=g<<j;j=h-j|0;c[la>>2]=g;c[na>>2]=j;c[qa>>2]=ha;a[f+12068>>0]=q|r|p|o|n|m|l|k;h=(((ha<<7)+-128|0)>>>8)+1|0;if((j|0)<0){wc(pa);g=c[la>>2]|0;j=c[na>>2]|0}i=h<<24;if(g>>>0<i>>>0)r=0;else{r=128;h=(c[qa>>2]|0)-h|0;g=g-i|0}ha=d[2160+(h&255)>>0]|0;i=h<<ha;g=g<<ha;h=j-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)q=0;else{q=64;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)p=0;else{p=32;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)o=0;else{o=16;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)n=0;else{n=8;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)m=0;else{m=4;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)l=0;else{l=2;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)k=0;else{k=1;i=(c[qa>>2]|0)-i|0;g=g-j|0}j=d[2160+(i&255)>>0]|0;ha=i<<j;g=g<<j;j=h-j|0;c[la>>2]=g;c[na>>2]=j;c[qa>>2]=ha;a[f+12069>>0]=q|r|p|o|n|m|l|k;h=(((ha<<7)+-128|0)>>>8)+1|0;if((j|0)<0){wc(pa);g=c[la>>2]|0;j=c[na>>2]|0}i=h<<24;if(g>>>0<i>>>0)s=0;else{s=128;h=(c[qa>>2]|0)-h|0;g=g-i|0}ha=d[2160+(h&255)>>0]|0;i=h<<ha;g=g<<ha;h=j-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)r=0;else{r=64;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)q=0;else{q=32;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)p=0;else{p=16;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)o=0;else{o=8;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)n=0;else{n=4;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)m=0;else{m=2;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)l=0;else{l=1;i=(c[qa>>2]|0)-i|0;g=g-j|0}k=d[2160+(i&255)>>0]|0;ha=i<<k;j=g<<k;k=h-k|0;c[la>>2]=j;c[na>>2]=k;c[qa>>2]=ha;a[f+12070>>0]=r|s|q|p|o|n|m|l;g=(((ha<<7)+-128|0)>>>8)+1|0;if((k|0)<0){wc(pa);j=c[la>>2]|0;k=c[na>>2]|0}h=g<<24;if(j>>>0<h>>>0)l=1;else{l=0;g=(c[qa>>2]|0)-g|0;j=j-h|0}ha=d[2160+(g&255)>>0]|0;i=g<<ha;h=k-ha|0;c[la>>2]=j<<ha;c[na>>2]=h;c[qa>>2]=i;if(l)g=i;else{g=0;while(1){j=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);h=c[na>>2]|0}i=c[la>>2]|0;k=j<<24;if(i>>>0<k>>>0)s=0;else{s=128;j=(c[qa>>2]|0)-j|0;i=i-k|0}ha=d[2160+(j&255)>>0]|0;l=j<<ha;i=i<<ha;j=h-ha|0;c[la>>2]=i;c[na>>2]=j;c[qa>>2]=l;l=(((l<<7)+-128|0)>>>8)+1|0;if((j|0)<0){wc(pa);h=c[la>>2]|0;j=c[na>>2]|0}else h=i;k=l<<24;if(h>>>0<k>>>0){r=0;i=l}else{r=64;i=(c[qa>>2]|0)-l|0;h=h-k|0}ga=d[2160+(i&255)>>0]|0;ha=i<<ga;h=h<<ga;i=j-ga|0;c[la>>2]=h;c[na>>2]=i;c[qa>>2]=ha;j=(((ha<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);h=c[la>>2]|0;i=c[na>>2]|0}k=j<<24;if(h>>>0<k>>>0)q=0;else{q=32;j=(c[qa>>2]|0)-j|0;h=h-k|0}ha=d[2160+(j&255)>>0]|0;j=j<<ha;h=h<<ha;i=i-ha|0;c[la>>2]=h;c[na>>2]=i;c[qa>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);h=c[la>>2]|0;i=c[na>>2]|0}k=j<<24;if(h>>>0<k>>>0)p=0;else{p=16;j=(c[qa>>2]|0)-j|0;h=h-k|0}ha=d[2160+(j&255)>>0]|0;j=j<<ha;h=h<<ha;i=i-ha|0;c[la>>2]=h;c[na>>2]=i;c[qa>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);h=c[la>>2]|0;i=c[na>>2]|0}k=j<<24;if(h>>>0<k>>>0)o=0;else{o=8;j=(c[qa>>2]|0)-j|0;h=h-k|0}ha=d[2160+(j&255)>>0]|0;j=j<<ha;h=h<<ha;i=i-ha|0;c[la>>2]=h;c[na>>2]=i;c[qa>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);h=c[la>>2]|0;i=c[na>>2]|0}k=j<<24;if(h>>>0<k>>>0)n=0;else{n=4;j=(c[qa>>2]|0)-j|0;h=h-k|0}ha=d[2160+(j&255)>>0]|0;j=j<<ha;h=h<<ha;i=i-ha|0;c[la>>2]=h;c[na>>2]=i;c[qa>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);h=c[la>>2]|0;i=c[na>>2]|0}k=j<<24;if(h>>>0<k>>>0)m=0;else{m=2;j=(c[qa>>2]|0)-j|0;h=h-k|0}ha=d[2160+(j&255)>>0]|0;j=j<<ha;h=h<<ha;i=i-ha|0;c[la>>2]=h;c[na>>2]=i;c[qa>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);h=c[la>>2]|0;i=c[na>>2]|0}k=j<<24;if(h>>>0<k>>>0)l=0;else{l=1;j=(c[qa>>2]|0)-j|0;h=h-k|0}ha=d[2160+(j&255)>>0]|0;c[la>>2]=h<<ha;c[na>>2]=i-ha;c[qa>>2]=j<<ha;a[f+10563+g>>0]=r|s|q|p|o|n|m|l;g=g+1|0;if((g|0)==4)break;i=c[qa>>2]|0;h=c[na>>2]|0}g=c[qa>>2]|0;h=c[na>>2]|0}g=(((g<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);h=c[na>>2]|0}j=c[la>>2]|0;i=g<<24;if(j>>>0<i>>>0)l=1;else{l=0;g=(c[qa>>2]|0)-g|0;j=j-i|0}ha=d[2160+(g&255)>>0]|0;k=g<<ha;i=h-ha|0;c[la>>2]=j<<ha;c[na>>2]=i;c[qa>>2]=k;a:do if(!l){g=0;h=k;while(1){j=(((h<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);i=c[na>>2]|0}h=c[la>>2]|0;k=j<<24;if(h>>>0<k>>>0)s=0;else{s=128;j=(c[qa>>2]|0)-j|0;h=h-k|0}ha=d[2160+(j&255)>>0]|0;j=j<<ha;h=h<<ha;i=i-ha|0;c[la>>2]=h;c[na>>2]=i;c[qa>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);h=c[la>>2]|0;i=c[na>>2]|0}k=j<<24;if(h>>>0<k>>>0)r=0;else{r=64;j=(c[qa>>2]|0)-j|0;h=h-k|0}ha=d[2160+(j&255)>>0]|0;j=j<<ha;h=h<<ha;i=i-ha|0;c[la>>2]=h;c[na>>2]=i;c[qa>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);h=c[la>>2]|0;i=c[na>>2]|0}k=j<<24;if(h>>>0<k>>>0)q=0;else{q=32;j=(c[qa>>2]|0)-j|0;h=h-k|0}ha=d[2160+(j&255)>>0]|0;j=j<<ha;h=h<<ha;i=i-ha|0;c[la>>2]=h;c[na>>2]=i;c[qa>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);h=c[la>>2]|0;i=c[na>>2]|0}k=j<<24;if(h>>>0<k>>>0)p=0;else{p=16;j=(c[qa>>2]|0)-j|0;h=h-k|0}ha=d[2160+(j&255)>>0]|0;j=j<<ha;h=h<<ha;i=i-ha|0;c[la>>2]=h;c[na>>2]=i;c[qa>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);h=c[la>>2]|0;i=c[na>>2]|0}k=j<<24;if(h>>>0<k>>>0)o=0;else{o=8;j=(c[qa>>2]|0)-j|0;h=h-k|0}ha=d[2160+(j&255)>>0]|0;j=j<<ha;h=h<<ha;i=i-ha|0;c[la>>2]=h;c[na>>2]=i;c[qa>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);h=c[la>>2]|0;i=c[na>>2]|0}k=j<<24;if(h>>>0<k>>>0)n=0;else{n=4;j=(c[qa>>2]|0)-j|0;h=h-k|0}ha=d[2160+(j&255)>>0]|0;j=j<<ha;h=h<<ha;i=i-ha|0;c[la>>2]=h;c[na>>2]=i;c[qa>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);h=c[la>>2]|0;i=c[na>>2]|0}k=j<<24;if(h>>>0<k>>>0)m=0;else{m=2;j=(c[qa>>2]|0)-j|0;h=h-k|0}ha=d[2160+(j&255)>>0]|0;j=j<<ha;h=h<<ha;i=i-ha|0;c[la>>2]=h;c[na>>2]=i;c[qa>>2]=j;j=(((j<<7)+-128|0)>>>8)+1|0;if((i|0)<0){wc(pa);h=c[la>>2]|0;i=c[na>>2]|0}k=j<<24;if(h>>>0<k>>>0)l=0;else{l=1;j=(c[qa>>2]|0)-j|0;h=h-k|0}ha=d[2160+(j&255)>>0]|0;c[la>>2]=h<<ha;c[na>>2]=i-ha;c[qa>>2]=j<<ha;a[f+10567+g>>0]=r|s|q|p|o|n|m|l;g=g+1|0;if((g|0)==3)break a;h=c[qa>>2]|0;i=c[na>>2]|0}}while(0);r=0;do{u=f+11629+(r*19|0)+19|0;s=3472+(r*19|0)|0;t=f+11629+(r*19|0)|0;do{i=((((c[qa>>2]|0)+-1|0)*(d[s>>0]|0)|0)>>>8)+1|0;s=s+1|0;g=c[na>>2]|0;if((g|0)<0){wc(pa);g=c[na>>2]|0}h=c[la>>2]|0;j=i<<24;if(h>>>0<j>>>0)l=1;else{l=0;i=(c[qa>>2]|0)-i|0;h=h-j|0}k=d[2160+(i&255)>>0]|0;i=i<<k;j=h<<k;k=g-k|0;c[la>>2]=j;c[na>>2]=k;c[qa>>2]=i;if(!l){h=(((i<<7)+-128|0)>>>8)+1|0;if((k|0)<0){wc(pa);g=c[la>>2]|0;k=c[na>>2]|0}else g=j;i=h<<24;if(g>>>0<i>>>0)q=0;else{q=64;h=(c[qa>>2]|0)-h|0;g=g-i|0}ha=d[2160+(h&255)>>0]|0;i=h<<ha;g=g<<ha;h=k-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)p=0;else{p=32;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)o=0;else{o=16;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)n=0;else{n=8;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)m=0;else{m=4;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)l=0;else{l=2;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;i=i<<ha;g=g<<ha;h=h-ha|0;c[la>>2]=g;c[na>>2]=h;c[qa>>2]=i;i=(((i<<7)+-128|0)>>>8)+1|0;if((h|0)<0){wc(pa);g=c[la>>2]|0;h=c[na>>2]|0}j=i<<24;if(g>>>0<j>>>0)k=0;else{k=1;i=(c[qa>>2]|0)-i|0;g=g-j|0}ha=d[2160+(i&255)>>0]|0;c[la>>2]=g<<ha;c[na>>2]=h-ha;c[qa>>2]=i<<ha;ha=p|q|o|n|m|l|k;a[t>>0]=(ha|0)==0?1:ha<<1&255}t=t+1|0}while(t>>>0<u>>>0);r=r+1|0}while((r|0)!=2)}K=f+3192|0;c[K>>2]=0;L=f+5956|0;h=c[L>>2]|0;i=(h<<7)+-128|0;M=f+3196|0;c[M>>2]=i;N=f+5960|0;g=c[N>>2]|0;O=(g<<7)+-128|0;if((h|0)<=0){J=sa;return}P=f+3184|0;Q=f+3188|0;R=f+3149|0;S=f+3148|0;T=f+3152|0;U=f+5964|0;V=f+12068|0;W=f+3153|0;X=f+3154|0;Y=f+3092|0;Z=f+12069|0;_=oa+8|0;$=oa+4|0;aa=ma+12|0;ba=ma+8|0;ca=ma+4|0;da=f+12070|0;ea=$+2|0;fa=oa+4|0;ga=f+11629|0;ha=f+11648|0;k=v;I=0;j=0;while(1){c[P>>2]=0;c[Q>>2]=O;if((g|0)>0){G=k;H=0;do{do if(!(a[R>>0]|0)){if(!(c[ia>>2]|0))a[G+11>>0]=0}else if(a[S>>0]|0){i=((((c[qa>>2]|0)+-1|0)*(d[T>>0]|0)|0)>>>8)+1|0;g=c[na>>2]|0;if((g|0)<0){wc(pa);g=c[na>>2]|0}h=c[la>>2]|0;j=i<<24;if(h>>>0<j>>>0)l=1;else{l=0;i=(c[qa>>2]|0)-i|0;h=h-j|0}k=d[2160+(i&255)>>0]|0;i=i<<k;j=h<<k;k=g-k|0;c[la>>2]=j;c[na>>2]=k;c[qa>>2]=i;if(l){h=(((i+-1|0)*(d[W>>0]|0)|0)>>>8)+1|0;if((k|0)<0){wc(pa);g=c[la>>2]|0;k=c[na>>2]|0}else g=j;i=h<<24;if(g>>>0<i>>>0)j=0;else{j=1;h=(c[qa>>2]|0)-h|0;g=g-i|0}F=d[2160+(h&255)>>0]|0;c[la>>2]=g<<F;c[na>>2]=k-F;c[qa>>2]=h<<F;a[G+11>>0]=j;break}else{h=(((i+-1|0)*(d[X>>0]|0)|0)>>>8)+1|0;if((k|0)<0){wc(pa);g=c[la>>2]|0;k=c[na>>2]|0}else g=j;i=h<<24;if(g>>>0<i>>>0)j=2;else{j=3;h=(c[qa>>2]|0)-h|0;g=g-i|0}F=d[2160+(h&255)>>0]|0;c[la>>2]=g<<F;c[na>>2]=k-F;c[qa>>2]=h<<F;a[G+11>>0]=j;break}}while(0);if(!(c[ja>>2]|0))g=0;else{i=((((c[qa>>2]|0)+-1|0)*(d[ka>>0]|0)|0)>>>8)+1|0;g=c[na>>2]|0;if((g|0)<0){wc(pa);k=c[na>>2]|0}else k=g;h=c[la>>2]|0;j=i<<24;if(h>>>0<j>>>0)g=0;else{g=1;i=(c[qa>>2]|0)-i|0;h=h-j|0}F=d[2160+(i&255)>>0]|0;c[la>>2]=h<<F;c[na>>2]=k-F;c[qa>>2]=i<<F}a[G+9>>0]=g;F=G+3|0;a[F>>0]=0;do if(!(c[ia>>2]|0)){m=c[U>>2]|0;a[G+2>>0]=0;h=0;g=c[qa>>2]|0;i=c[na>>2]|0;do{l=h<<24>>24;g=(((g+-1|0)*(d[7970+(l>>1)>>0]|0)|0)>>>8)+1|0;if((i|0)<0){wc(pa);i=c[na>>2]|0}h=c[la>>2]|0;j=g<<24;if(h>>>0<j>>>0)k=0;else{k=1;g=(c[qa>>2]|0)-g|0;h=h-j|0}E=d[2160+(g&255)>>0]|0;g=g<<E;i=i-E|0;c[la>>2]=h<<E;c[na>>2]=i;c[qa>>2]=g;h=a[7997+(k+l)>>0]|0}while(h<<24>>24>0);E=0-(h<<24>>24)|0;a[G>>0]=E;if((E&255|0)==4){a[F>>0]=1;p=0-m|0;q=G+(p*76|0)|0;r=G+-76|0;n=0;do{b:do if(n>>>0>3)m=c[G+12+(n<<2)+-16>>2]|0;else switch(a[q>>0]|0){case 4:{m=c[G+(p*76|0)+12+(n<<2)+48>>2]|0;break b}case 3:{m=1;break b}case 1:{m=2;break b}case 2:{m=3;break b}default:{m=0;break b}}while(0);c:do if(!(n&3))switch(a[r>>0]|0){case 4:{o=c[G+-64+(n<<2)+12>>2]|0;break c}case 3:{o=1;break c}case 1:{o=2;break c}case 2:{o=3;break c}default:{o=0;break c}}else o=c[G+12+(n<<2)+-4>>2]|0;while(0);g=0;i=c[qa>>2]|0;j=c[na>>2]|0;do{l=g<<24>>24;g=(((i+-1|0)*(d[(l>>1)+(96+(m*90|0)+(o*9|0))>>0]|0)|0)>>>8)+1|0;if((j|0)<0){wc(pa);j=c[na>>2]|0}h=c[la>>2]|0;i=g<<24;if(h>>>0<i>>>0)k=0;else{k=1;g=(c[qa>>2]|0)-g|0;h=h-i|0}F=d[2160+(g&255)>>0]|0;i=g<<F;j=j-F|0;c[la>>2]=h<<F;c[na>>2]=j;c[qa>>2]=i;g=a[1008+(k+l)>>0]|0}while(g<<24>>24>0);c[G+12+(n<<2)>>2]=0-(g<<24>>24);n=n+1|0}while((n|0)!=16);i=c[na>>2]|0;g=c[qa>>2]|0}h=0;do{l=h<<24>>24;g=(((g+-1|0)*(d[7977+(l>>1)>>0]|0)|0)>>>8)+1|0;if((i|0)<0){wc(pa);i=c[na>>2]|0}h=c[la>>2]|0;j=g<<24;if(h>>>0<j>>>0)k=0;else{k=1;g=(c[qa>>2]|0)-g|0;h=h-j|0}F=d[2160+(g&255)>>0]|0;g=g<<F;i=i-F|0;c[la>>2]=h<<F;c[na>>2]=i;c[qa>>2]=g;h=a[8005+(k+l)>>0]|0}while(h<<24>>24>0);a[G+1>>0]=0-(h&255)}else{i=((((c[qa>>2]|0)+-1|0)*(d[V>>0]|0)|0)>>>8)+1|0;g=c[na>>2]|0;if((g|0)<0){wc(pa);g=c[na>>2]|0}h=c[la>>2]|0;j=i<<24;if(h>>>0<j>>>0)k=0;else{k=1;i=(c[qa>>2]|0)-i|0;h=h-j|0}l=d[2160+(i&255)>>0]|0;i=i<<l;j=h<<l;l=g-l|0;c[la>>2]=j;c[na>>2]=l;c[qa>>2]=i;m=G+2|0;a[m>>0]=k;if(!(k<<24>>24)){c[G+4>>2]=0;h=0;g=c[qa>>2]|0;i=c[na>>2]|0;do{l=h<<24>>24;g=(((g+-1|0)*(d[(l>>1)+(f+10563)>>0]|0)|0)>>>8)+1|0;if((i|0)<0){wc(pa);j=c[na>>2]|0}else j=i;h=c[la>>2]|0;i=g<<24;if(h>>>0<i>>>0)k=0;else{k=1;g=(c[qa>>2]|0)-g|0;h=h-i|0}E=d[2160+(g&255)>>0]|0;g=g<<E;i=j-E|0;c[la>>2]=h<<E;c[na>>2]=i;c[qa>>2]=g;h=a[7989+(k+l)>>0]|0}while(h<<24>>24>0);E=0-(h<<24>>24)|0;a[G>>0]=E;if((E&255|0)==4){a[F>>0]=1;m=0;h=i;do{i=0;do{l=i<<24>>24;g=(((g+-1|0)*(d[(l>>1)+(f+10554)>>0]|0)|0)>>>8)+1|0;if((h|0)<0){wc(pa);h=c[na>>2]|0}i=c[la>>2]|0;j=g<<24;if(i>>>0<j>>>0)k=0;else{k=1;g=(c[qa>>2]|0)-g|0;i=i-j|0}F=d[2160+(g&255)>>0]|0;g=g<<F;h=h-F|0;c[la>>2]=i<<F;c[na>>2]=h;c[qa>>2]=g;i=a[1008+(k+l)>>0]|0}while(i<<24>>24>0);c[G+12+(m<<2)>>2]=0-(i<<24>>24);m=m+1|0;g=c[qa>>2]|0;h=c[na>>2]|0}while((m|0)!=16)}else h=i;i=0;do{l=i<<24>>24;g=(((g+-1|0)*(d[(l>>1)+(f+10567)>>0]|0)|0)>>>8)+1|0;if((h|0)<0){wc(pa);h=c[na>>2]|0}i=c[la>>2]|0;j=g<<24;if(i>>>0<j>>>0)k=0;else{k=1;g=(c[qa>>2]|0)-g|0;i=i-j|0}F=d[2160+(g&255)>>0]|0;g=g<<F;h=h-F|0;c[la>>2]=i<<F;c[na>>2]=h;c[qa>>2]=g;i=a[8005+(k+l)>>0]|0}while(i<<24>>24>0);a[G+1>>0]=0-(i&255);break}C=0-(c[Y>>2]|0)|0;D=G+(C*76|0)|0;q=D+-76|0;E=G+10|0;a[E>>0]=0;h=(((i+-1|0)*(d[Z>>0]|0)|0)>>>8)+1|0;if((l|0)<0){wc(pa);g=c[la>>2]|0;l=c[na>>2]|0}else g=j;i=h<<24;if(g>>>0<i>>>0)j=1;else{j=0;h=(c[qa>>2]|0)-h|0;g=g-i|0}i=d[2160+(h&255)>>0]|0;h=h<<i;g=g<<i;i=l-i|0;c[la>>2]=g;c[na>>2]=i;c[qa>>2]=h;if(!j){h=(((h+-1|0)*(d[da>>0]|0)|0)>>>8)+1|0;if((i|0)<0){wc(pa);g=c[la>>2]|0;i=c[na>>2]|0}j=h<<24;if(g>>>0<j>>>0)k=2;else{k=3;h=(c[qa>>2]|0)-h|0;g=g-j|0}B=d[2160+(h&255)>>0]|0;c[la>>2]=g<<B;c[na>>2]=i-B;c[qa>>2]=h<<B;a[m>>0]=k}c[_>>2]=0;c[$>>2]=0;c[oa>>2]=0;c[ma>>2]=0;c[ma+4>>2]=0;c[ma+8>>2]=0;c[ma+12>>2]=0;g=a[G+(C*76|0)+2>>0]|0;if(!(g<<24>>24)){h=ma;g=oa;i=0}else{h=c[G+(C*76|0)+4>>2]|0;do if(!h){h=ma;g=oa}else{c[$>>2]=h;if((c[f+9412+(d[m>>0]<<2)>>2]|0)==(c[f+9412+((g&255)<<2)>>2]|0)){h=ca;g=$;break}b[$>>1]=0-h;b[ea>>1]=0-(h>>>16);h=ca;g=$}while(0);i=(c[h>>2]|0)+2|0;c[h>>2]=i}j=a[G+-74>>0]|0;do if(j<<24>>24){k=c[G+-72>>2]|0;if(!k){c[ma>>2]=(c[ma>>2]|0)+2;break}B=k>>>16;j=(c[f+9412+(d[m>>0]<<2)>>2]|0)==(c[f+9412+((j&255)<<2)>>2]|0);j=(j?B:0-B|0)<<16|(j?k:0-k|0)&65535;if((j|0)!=(c[g>>2]|0)){g=g+4|0;c[g>>2]=j;i=h+4|0;h=i;i=c[i>>2]|0}c[h>>2]=i+2}while(0);i=a[q+2>>0]|0;do if(i<<24>>24){j=c[q+4>>2]|0;if(!j){c[ma>>2]=(c[ma>>2]|0)+1;break}B=j>>>16;i=(c[f+9412+(d[m>>0]<<2)>>2]|0)==(c[f+9412+((i&255)<<2)>>2]|0);i=(i?B:0-B|0)<<16|(i?j:0-j|0)&65535;if((i|0)!=(c[g>>2]|0)){g=g+4|0;c[g>>2]=i;h=h+4|0}c[h>>2]=(c[h>>2]|0)+1}while(0);p=c[ma>>2]|0;j=((((c[qa>>2]|0)+-1|0)*(c[4880+(p<<4)>>2]|0)|0)>>>8)+1|0;h=c[na>>2]|0;if((h|0)<0){wc(pa);h=c[na>>2]|0}i=c[la>>2]|0;k=j<<24;if(i>>>0<k>>>0)l=1;else{l=0;j=(c[qa>>2]|0)-j|0;i=i-k|0}k=d[2160+(j&255)>>0]|0;j=j<<k;m=i<<k;k=h-k|0;c[la>>2]=m;c[na>>2]=k;c[qa>>2]=j;do if(l){a[G>>0]=7;c[G+4>>2]=0}else{i=c[fa>>2]|0;g=(c[ca>>2]|0)+(((c[aa>>2]|0)>0?(c[g>>2]|0)==(i|0):0)&1)|0;c[ca>>2]=g;h=c[ba>>2]|0;if((h|0)>(g|0)){c[ca>>2]=h;c[ba>>2]=g;n=c[_>>2]|0;c[fa>>2]=n;c[_>>2]=i;o=h;h=g}else{o=g;n=i}i=(((c[4880+(o<<4)+4>>2]|0)*(j+-1|0)|0)>>>8)+1|0;if((k|0)<0){wc(pa);g=c[la>>2]|0;k=c[na>>2]|0}else g=m;j=i<<24;if(g>>>0<j>>>0)l=1;else{l=0;i=(c[qa>>2]|0)-i|0;g=g-j|0}j=d[2160+(i&255)>>0]|0;i=i<<j;g=g<<j;j=k-j|0;c[la>>2]=g;c[na>>2]=j;c[qa>>2]=i;if(l){a[G>>0]=5;j=G+4|0;c[j>>2]=n;i=j+2|0;h=n>>16;g=(c[P>>2]|0)+-128|0;if((g|0)<=(h|0)){g=(c[Q>>2]|0)+128|0;if((g|0)<(h|0))ra=438}else ra=438;if((ra|0)==438){ra=0;b[i>>1]=g}h=n<<16>>16;g=(c[K>>2]|0)+-128|0;if((g|0)>(h|0)){b[j>>1]=g;break}g=(c[M>>2]|0)+128|0;if((g|0)>=(h|0))break;b[j>>1]=g;break}h=(((c[4880+(h<<4)+8>>2]|0)*(i+-1|0)|0)>>>8)+1|0;if((j|0)<0){wc(pa);g=c[la>>2]|0;j=c[na>>2]|0}i=h<<24;if(g>>>0<i>>>0)k=1;else{k=0;h=(c[qa>>2]|0)-h|0;g=g-i|0}B=d[2160+(h&255)>>0]|0;m=h<<B;n=g<<B;j=j-B|0;c[la>>2]=n;c[na>>2]=j;c[qa>>2]=m;if(k){a[G>>0]=6;i=c[_>>2]|0;k=G+4|0;c[k>>2]=i;j=k+2|0;h=i>>16;g=(c[P>>2]|0)+-128|0;if((g|0)<=(h|0)){g=(c[Q>>2]|0)+128|0;if((g|0)<(h|0))ra=431}else ra=431;if((ra|0)==431){ra=0;b[j>>1]=g}h=i<<16>>16;g=(c[K>>2]|0)+-128|0;if((g|0)>(h|0)){b[k>>1]=g;break}g=(c[M>>2]|0)+128|0;if((g|0)>=(h|0))break;b[k>>1]=g;break}y=(c[K>>2]|0)+-128|0;z=(c[M>>2]|0)+128|0;A=(c[Q>>2]|0)+128|0;B=(c[P>>2]|0)+-128|0;p=oa+(((o|0)>=(p|0)&1)<<2)|0;i=p+2|0;g=b[i>>1]|0;h=g<<16>>16;do if((B|0)>(h|0)){g=B&65535;ra=375}else{if((A|0)>=(h|0)){o=g;break}g=A&65535;ra=375}while(0);if((ra|0)==375){ra=0;b[i>>1]=g;o=g}g=b[p>>1]|0;h=g<<16>>16;if((y|0)<=(h|0))if((z|0)<(h|0)){g=z;ra=378}else l=g;else{g=y;ra=378}if((ra|0)==378){ra=0;l=g&65535;b[p>>1]=l}x=G+-76|0;h=((a[x>>0]|0)==9&1)+((a[D>>0]|0)==9&1)<<1|(a[q>>0]|0)==9;c[aa>>2]=h;h=(((c[4880+(h<<4)+12>>2]|0)*(m+-1|0)|0)>>>8)+1|0;if((j|0)<0){wc(pa);g=c[la>>2]|0;j=c[na>>2]|0}else g=n;i=h<<24;if(g>>>0<i>>>0)k=1;else{k=0;h=(c[qa>>2]|0)-h|0;g=g-i|0}i=d[2160+(h&255)>>0]|0;h=h<<i;g=g<<i;i=j-i|0;c[la>>2]=g;c[na>>2]=i;c[qa>>2]=h;if(k){C=G+4|0;b[C>>1]=(yc(pa,ga)|0)<<1;F=(yc(pa,ha)|0)<<1;D=(e[C>>1]|0)+(l&65535)|0;b[C>>1]=D;F=F+(o&65535)|0;b[C+2>>1]=F;F=F<<16>>16;D=D<<16>>16;a[E>>0]=((D|0)>(z|0)|((D|0)<(y|0)|((F|0)<(B|0)|(F|0)>(A|0))))&1;a[G>>0]=8;break}v=c[p>>2]|0;w=v>>>16;h=(((h*110|0)+-110|0)>>>8)+1|0;if((i|0)<0){wc(pa);g=c[la>>2]|0;j=c[na>>2]|0}else j=i;i=h<<24;if(g>>>0<i>>>0)k=1;else{k=0;h=(c[qa>>2]|0)-h|0;g=g-i|0}i=d[2160+(h&255)>>0]|0;h=h<<i;g=g<<i;i=j-i|0;c[la>>2]=g;c[na>>2]=i;c[qa>>2]=h;do if(k){k=3;q=16}else{h=(((h*111|0)+-111|0)>>>8)+1|0;if((i|0)<0){wc(pa);g=c[la>>2]|0;i=c[na>>2]|0}j=h<<24;if(g>>>0<j>>>0)k=1;else{k=0;h=(c[qa>>2]|0)-h|0;g=g-j|0}u=d[2160+(h&255)>>0]|0;h=h<<u;g=g<<u;i=i-u|0;c[la>>2]=g;c[na>>2]=i;c[qa>>2]=h;if(k){k=2;q=4;break}h=(((h*150|0)+-150|0)>>>8)+1|0;if((i|0)<0){wc(pa);g=c[la>>2]|0;i=c[na>>2]|0}j=h<<24;if(g>>>0<j>>>0)k=0;else{k=1;h=(c[qa>>2]|0)-h|0;g=g-j|0}q=d[2160+(h&255)>>0]|0;c[la>>2]=g<<q;c[na>>2]=i-q;c[qa>>2]=h<<q;q=2}while(0);s=G+-72|0;t=G+(C*76|0)+4|0;u=8447+k|0;r=0;do{h=d[4816+(k<<4)+r>>0]|0;if(!(h&3))g=(a[x>>0]|0)==9?G+-64+(h<<2)+12|0:s;else g=G+12+(h<<2)+-4|0;n=c[g>>2]|0;if(!(h&252))g=(a[D>>0]|0)==9?G+(C*76|0)+12+(h<<2)+48|0:t;else g=G+12+(h<<2)+-16|0;p=c[g>>2]|0;o=((n|0)==0&1)<<1|(n|0)==(p|0)|((p|0)==0&1)<<2;i=((((c[qa>>2]|0)+-1|0)*(d[4720+(o*3|0)>>0]|0)|0)>>>8)+1|0;g=c[na>>2]|0;if((g|0)<0){wc(pa);g=c[na>>2]|0}h=c[la>>2]|0;j=i<<24;if(h>>>0<j>>>0)m=1;else{m=0;i=(c[qa>>2]|0)-i|0;h=h-j|0}l=d[2160+(i&255)>>0]|0;i=i<<l;j=h<<l;l=g-l|0;c[la>>2]=j;c[na>>2]=l;c[qa>>2]=i;do if(m){h=n&65535;g=n>>>16&65535}else{h=(((i+-1|0)*(d[4720+(o*3|0)+1>>0]|0)|0)>>>8)+1|0;if((l|0)<0){wc(pa);g=c[la>>2]|0;l=c[na>>2]|0}else g=j;i=h<<24;if(g>>>0<i>>>0)j=1;else{j=0;h=(c[qa>>2]|0)-h|0;g=g-i|0}n=d[2160+(h&255)>>0]|0;h=h<<n;g=g<<n;l=l-n|0;c[la>>2]=g;c[na>>2]=l;c[qa>>2]=h;if(j){h=p&65535;g=p>>>16&65535;break}h=(((h+-1|0)*(d[4720+(o*3|0)+2>>0]|0)|0)>>>8)+1|0;if((l|0)<0){wc(pa);g=c[la>>2]|0;l=c[na>>2]|0}i=h<<24;if(g>>>0<i>>>0)j=1;else{j=0;h=(c[qa>>2]|0)-h|0;g=g-i|0}p=d[2160+(h&255)>>0]|0;c[la>>2]=g<<p;c[na>>2]=l-p;c[qa>>2]=h<<p;if(j){h=0;g=0;break}h=((yc(pa,ga)|0)<<1)+v&65535;g=((yc(pa,ha)|0)<<1)+w&65535}while(0);i=g<<16>>16;p=h<<16>>16;a[E>>0]=((z|0)<(p|0)|((B|0)>(i|0)|(A|0)<(i|0)|(y|0)>(p|0)))&1|d[E>>0];p=d[u>>0]|0;i=(g&65535)<<16|h&65535;g=p;h=(r*p|0)+(4752+(k<<4))|0;while(1){c[G+12+(d[h>>0]<<2)>>2]=i;g=g+-1|0;if(!g)break;else h=h+1|0}r=r+1|0}while(r>>>0<q>>>0);a[G+8>>0]=k;c[G+4>>2]=c[G+72>>2];a[G>>0]=9;a[F>>0]=1}while(0)}while(0);c[P>>2]=(c[P>>2]|0)+-128;c[Q>>2]=(c[Q>>2]|0)+-128;G=G+76|0;H=H+1|0;g=c[N>>2]|0}while((H|0)<(g|0));k=G;j=c[K>>2]|0;i=c[M>>2]|0;h=c[L>>2]|0}j=j+-128|0;c[K>>2]=j;i=i+-128|0;c[M>>2]=i;I=I+1|0;if((I|0)>=(h|0))break;else k=k+76|0}J=sa;return}function yc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=b+16|0;h=((((c[u>>2]|0)+-1|0)*(d[e>>0]|0)|0)>>>8)+1|0;t=b+12|0;f=c[t>>2]|0;if((f|0)<0){wc(b);f=c[t>>2]|0}s=b+8|0;g=c[s>>2]|0;i=h<<24;if(g>>>0<i>>>0)k=1;else{k=0;h=(c[u>>2]|0)-h|0;g=g-i|0}r=d[2160+(h&255)>>0]|0;j=h<<r;h=g<<r;g=f-r|0;c[s>>2]=h;c[t>>2]=g;c[u>>2]=j;do if(k){l=e+2|0;i=0;f=j;do{k=i<<24>>24;f=(((f+-1|0)*(d[l+(k>>1)>>0]|0)|0)>>>8)+1|0;if((g|0)<0){wc(b);h=c[s>>2]|0;g=c[t>>2]|0}i=f<<24;if(h>>>0<i>>>0)j=0;else{j=1;f=(c[u>>2]|0)-f|0;h=h-i|0}i=d[2160+(f&255)>>0]|0;f=f<<i;h=h<<i;g=g-i|0;c[s>>2]=h;c[t>>2]=g;c[u>>2]=f;i=a[8011+(j+k)>>0]|0}while(i<<24>>24>0);j=0-(i<<24>>24)|0}else{j=(((j+-1|0)*(d[e+9>>0]|0)|0)>>>8)+1|0;if((g|0)<0){wc(b);f=c[s>>2]|0;g=c[t>>2]|0}else f=h;i=j<<24;if(f>>>0<i>>>0){r=0;h=j}else{r=1;h=(c[u>>2]|0)-j|0;f=f-i|0}q=d[2160+(h&255)>>0]|0;h=h<<q;f=f<<q;g=g-q|0;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;h=(((h+-1|0)*(d[e+10>>0]|0)|0)>>>8)+1|0;if((g|0)<0){wc(b);f=c[s>>2]|0;g=c[t>>2]|0}i=h<<24;if(f>>>0<i>>>0)q=0;else{q=2;h=(c[u>>2]|0)-h|0;f=f-i|0}p=d[2160+(h&255)>>0]|0;h=h<<p;f=f<<p;g=g-p|0;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;h=(((h+-1|0)*(d[e+11>>0]|0)|0)>>>8)+1|0;if((g|0)<0){wc(b);f=c[s>>2]|0;g=c[t>>2]|0}i=h<<24;if(f>>>0<i>>>0)p=0;else{p=4;h=(c[u>>2]|0)-h|0;f=f-i|0}o=d[2160+(h&255)>>0]|0;h=h<<o;f=f<<o;g=g-o|0;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;h=(((h+-1|0)*(d[e+18>>0]|0)|0)>>>8)+1|0;if((g|0)<0){wc(b);f=c[s>>2]|0;g=c[t>>2]|0}i=h<<24;if(f>>>0<i>>>0)o=0;else{o=512;h=(c[u>>2]|0)-h|0;f=f-i|0}n=d[2160+(h&255)>>0]|0;h=h<<n;f=f<<n;g=g-n|0;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;h=(((h+-1|0)*(d[e+17>>0]|0)|0)>>>8)+1|0;if((g|0)<0){wc(b);f=c[s>>2]|0;g=c[t>>2]|0}i=h<<24;if(f>>>0<i>>>0)n=0;else{n=256;h=(c[u>>2]|0)-h|0;f=f-i|0}m=d[2160+(h&255)>>0]|0;h=h<<m;f=f<<m;g=g-m|0;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;h=(((h+-1|0)*(d[e+16>>0]|0)|0)>>>8)+1|0;if((g|0)<0){wc(b);f=c[s>>2]|0;g=c[t>>2]|0}i=h<<24;if(f>>>0<i>>>0)m=0;else{m=128;h=(c[u>>2]|0)-h|0;f=f-i|0}l=d[2160+(h&255)>>0]|0;h=h<<l;f=f<<l;g=g-l|0;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;h=(((h+-1|0)*(d[e+15>>0]|0)|0)>>>8)+1|0;if((g|0)<0){wc(b);f=c[s>>2]|0;g=c[t>>2]|0}i=h<<24;if(f>>>0<i>>>0)l=0;else{l=64;h=(c[u>>2]|0)-h|0;f=f-i|0}k=d[2160+(h&255)>>0]|0;h=h<<k;f=f<<k;g=g-k|0;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;h=(((h+-1|0)*(d[e+14>>0]|0)|0)>>>8)+1|0;if((g|0)<0){wc(b);f=c[s>>2]|0;g=c[t>>2]|0}i=h<<24;if(f>>>0<i>>>0)k=0;else{k=32;h=(c[u>>2]|0)-h|0;f=f-i|0}j=d[2160+(h&255)>>0]|0;i=h<<j;f=f<<j;g=g-j|0;c[s>>2]=f;c[t>>2]=g;c[u>>2]=i;i=(((i+-1|0)*(d[e+13>>0]|0)|0)>>>8)+1|0;if((g|0)<0){wc(b);f=c[s>>2]|0;g=c[t>>2]|0}h=i<<24;if(f>>>0<h>>>0){j=0;h=f}else{j=16;i=(c[u>>2]|0)-i|0;h=f-h|0}v=d[2160+(i&255)>>0]|0;f=i<<v;h=h<<v;g=g-v|0;c[s>>2]=h;c[t>>2]=g;c[u>>2]=f;k=j+(k+(l+(m|(n|(o|(p|(q|r)))))))|0;if(k&65520){f=(((f+-1|0)*(d[e+12>>0]|0)|0)>>>8)+1|0;if((g|0)<0){wc(b);g=c[t>>2]|0;h=c[s>>2]|0}i=f<<24;if(h>>>0<i>>>0)j=1;else{j=0;f=(c[u>>2]|0)-f|0;h=h-i|0}v=d[2160+(f&255)>>0]|0;f=f<<v;h=h<<v;g=g-v|0;c[s>>2]=h;c[t>>2]=g;c[u>>2]=f;if(j){j=k;break}}j=k+8|0}while(0);if(!j)return 0;i=(((f+-1|0)*(d[e+1>>0]|0)|0)>>>8)+1|0;if((g|0)<0){wc(b);h=c[s>>2]|0;g=c[t>>2]|0}f=i<<24;if(h>>>0<f>>>0){b=1;v=i;r=h;e=v&255;e=2160+e|0;e=a[e>>0]|0;e=e&255;v=v<<e;r=r<<e;e=g-e|0;c[s>>2]=r;c[t>>2]=e;c[u>>2]=v;v=0-j|0;v=b?j:v;return v|0}b=0;v=(c[u>>2]|0)-i|0;r=h-f|0;e=v&255;e=2160+e|0;e=a[e>>0]|0;e=e&255;v=v<<e;r=r<<e;e=g-e|0;c[s>>2]=r;c[t>>2]=e;c[u>>2]=v;v=0-j|0;v=b?j:v;return v|0}
     30function zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=J;J=J+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[2170]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=8720+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[2170]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;J=w;return v|0}l=c[2172]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=8720+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[2170]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[2175]|0;b=l>>>3;d=8720+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[2170]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[2172]=h;c[2175]=f;v=i;J=w;return v|0}g=c[2171]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[8984+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=8984+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[2171]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[2175]|0;b=l>>>3;d=8720+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[2170]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[2172]=j;c[2175]=h}v=i+8|0;J=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[2171]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[8984+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[8984+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[2172]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=8984+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[2171]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=8720+(b<<1<<2)|0;a=c[2170]|0;b=1<<b;if(!(a&b)){c[2170]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;d=(v+245760|0)>>>16&2;d=14-(t|u|d)+(v<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=8984+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<d;if(!(e&a)){c[2171]=e|a;c[b>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;J=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[2172]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[2175]|0;if(b>>>0>15){v=a+m|0;c[2175]=v;c[2172]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[2172]=0;c[2175]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;J=w;return v|0}h=c[2173]|0;if(h>>>0>m>>>0){t=h-m|0;c[2173]=t;v=c[2176]|0;u=v+m|0;c[2176]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;J=w;return v|0}if(!(c[2288]|0)){c[2290]=4096;c[2289]=4096;c[2291]=-1;c[2292]=-1;c[2293]=0;c[2281]=0;c[2288]=n&-16^1431655768;a=4096}else a=c[2290]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;J=w;return v|0}a=c[2280]|0;if(a|0?(l=c[2278]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;J=w;return v|0}d:do if(!(c[2281]&4)){d=c[2176]|0;e:do if(d){e=9128;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=zd(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=zd(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[2289]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[2278]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[2280]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=zd(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[2290]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((zd(a|0)|0)==(-1|0)){zd(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[2281]=c[2281]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=zd(k|0)|0,p=zd(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[2278]|0)+h|0;c[2278]=b;if(b>>>0>(c[2279]|0)>>>0)c[2279]=b;j=c[2176]|0;f:do if(j){b=9128;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[2173]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[2176]=u;c[2173]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[2177]=c[2292];break}if(g>>>0<(c[2174]|0)>>>0)c[2174]=g;d=g+h|0;b=9128;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[2173]|0)+i|0;c[2173]=v;c[2176]=k;c[k+4>>2]=v|1}else{if((c[2175]|0)==(b|0)){v=(c[2172]|0)+i|0;c[2172]=v;c[2175]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[2170]=c[2170]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=8984+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[2171]=c[2171]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=8720+(b<<1<<2)|0;a=c[2170]|0;b=1<<b;if(!(a&b)){c[2170]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;e=(v+245760|0)>>>16&2;e=14-(t|u|e)+(v<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=8984+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[2171]|0;d=1<<e;if(!(a&d)){c[2171]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;J=w;return v|0}b=9128;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[2176]=u;c[2173]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[2177]=c[2292];d=a+4|0;c[d>>2]=27;c[b>>2]=c[2282];c[b+4>>2]=c[2283];c[b+8>>2]=c[2284];c[b+12>>2]=c[2285];c[2282]=g;c[2283]=h;c[2285]=0;c[2284]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0<v>>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=8720+(b<<1<<2)|0;a=c[2170]|0;b=1<<b;if(!(a&b)){c[2170]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;e=(v+245760|0)>>>16&2;e=14-(t|u|e)+(v<<e>>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=8984+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[2171]|0;a=1<<e;if(!(b&a)){c[2171]=b|a;c[d>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[2174]|0;if((v|0)==0|g>>>0<v>>>0)c[2174]=g;c[2282]=g;c[2283]=h;c[2285]=0;c[2179]=c[2288];c[2178]=-1;c[2183]=8720;c[2182]=8720;c[2185]=8728;c[2184]=8728;c[2187]=8736;c[2186]=8736;c[2189]=8744;c[2188]=8744;c[2191]=8752;c[2190]=8752;c[2193]=8760;c[2192]=8760;c[2195]=8768;c[2194]=8768;c[2197]=8776;c[2196]=8776;c[2199]=8784;c[2198]=8784;c[2201]=8792;c[2200]=8792;c[2203]=8800;c[2202]=8800;c[2205]=8808;c[2204]=8808;c[2207]=8816;c[2206]=8816;c[2209]=8824;c[2208]=8824;c[2211]=8832;c[2210]=8832;c[2213]=8840;c[2212]=8840;c[2215]=8848;c[2214]=8848;c[2217]=8856;c[2216]=8856;c[2219]=8864;c[2218]=8864;c[2221]=8872;c[2220]=8872;c[2223]=8880;c[2222]=8880;c[2225]=8888;c[2224]=8888;c[2227]=8896;c[2226]=8896;c[2229]=8904;c[2228]=8904;c[2231]=8912;c[2230]=8912;c[2233]=8920;c[2232]=8920;c[2235]=8928;c[2234]=8928;c[2237]=8936;c[2236]=8936;c[2239]=8944;c[2238]=8944;c[2241]=8952;c[2240]=8952;c[2243]=8960;c[2242]=8960;c[2245]=8968;c[2244]=8968;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[2176]=u;c[2173]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[2177]=c[2292]}while(0);b=c[2173]|0;if(b>>>0>m>>>0){t=b-m|0;c[2173]=t;v=c[2176]|0;u=v+m|0;c[2176]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;J=w;return v|0}}c[(Ec()|0)>>2]=12;v=0;J=w;return v|0}function Ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[2174]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[2175]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[2172]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[2170]=c[2170]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=8984+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[2171]=c[2171]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[2176]|0)==(j|0)){j=(c[2173]|0)+b|0;c[2173]=j;c[2176]=i;c[i+4>>2]=j|1;if((i|0)!=(c[2175]|0))return;c[2175]=0;c[2172]=0;return}if((c[2175]|0)==(j|0)){j=(c[2172]|0)+b|0;c[2172]=j;c[2175]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[2170]=c[2170]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=8984+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[2171]=c[2171]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[2175]|0)){c[2172]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=8720+(a<<1<<2)|0;b=c[2170]|0;a=1<<a;if(!(b&a)){c[2170]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=8984+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[2171]|0;d=1<<e;a:do if(!(b&d)){c[2171]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[2178]|0)+-1|0;c[2178]=j;if(j|0)return;a=9136;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[2178]=-1;return}function Bc(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=zc(b)|0;return b|0}if(b>>>0>4294967231){c[(Ec()|0)>>2]=12;b=0;return b|0}d=Cc(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=zc(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;xd(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Ac(a);b=d;return b|0}function Cc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[2290]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;Dc(k,d);return a|0}if((c[2176]|0)==(i|0)){k=(c[2173]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[2176]=e;c[2173]=d;return a|0}if((c[2175]|0)==(i|0)){e=(c[2172]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[2172]=d;c[2175]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0<b>>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[2170]=c[2170]&~(1<<f);break}else{c[e+12>>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=8984+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[2171]=c[2171]&~(1<<d);break}}else{g=h+16|0;c[((c[g>>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;Dc(i,k);return a|0}return 0}function Dc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[2175]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[2172]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[2170]=c[2170]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=8984+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[2171]=c[2171]&~(1<<d);break}}else{f=g+16|0;c[((c[f>>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[2176]|0)==(i|0)){i=(c[2173]|0)+b|0;c[2173]=i;c[2176]=h;c[h+4>>2]=i|1;if((h|0)!=(c[2175]|0))return;c[2175]=0;c[2172]=0;return}if((c[2175]|0)==(i|0)){i=(c[2172]|0)+b|0;c[2172]=i;c[2175]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[2170]=c[2170]&~(1<<d);break}else{c[a+12>>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=8984+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[2171]=c[2171]&~(1<<b);break}}else{e=g+16|0;c[((c[e>>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[2175]|0)){c[2172]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=8720+(b<<1<<2)|0;a=c[2170]|0;b=1<<b;if(!(a&b)){c[2170]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<<g;d=(i+520192|0)>>>16&4;i=i<<d;e=(i+245760|0)>>>16&2;e=14-(d|g|e)+(i<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=8984+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[2171]|0;d=1<<e;if(!(a&d)){c[2171]=a|d;c[b>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function Ec(){return 9240}function Fc(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=Jc(c[b+8>>2]|0,o)|0;f=Jc(c[b+12>>2]|0,o)|0;g=Jc(c[b+16>>2]|0,o)|0;a:do if((h>>>0<d>>>2>>>0?(n=d-(h<<2)|0,f>>>0<n>>>0&g>>>0<n>>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=Jc(c[b+(g<<2)>>2]|0,o)|0;g=Jc(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0<d>>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=Fc(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:k;h=f?j:h-j|0}f=i+m|0;g=Jc(c[b+(f<<2)>>2]|0,o)|0;f=Jc(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function Hc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=h*16843009|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Ic(a){a=a|0;return (a+-48|0)>>>0<10|0}function Jc(a,b){a=a|0;b=b|0;var c=0;c=td(a|0)|0;return ((b|0)==0?a:c)|0}function Kc(){return 7444}function Lc(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Mc(a,b,0)|0;return a|0}function Mc(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(Nc()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(Ec()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(Ec()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Nc(){return Kc()|0}function Oc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=J;J=J+128|0;g=m+124|0;l=m;h=l;i=7688;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;k=4}else{c[(Ec()|0)>>2]=75;d=-1}else k=4;if((k|0)==4){k=-2-b|0;k=d>>>0>k>>>0?k:d;c[l+48>>2]=k;g=l+20|0;c[g>>2]=b;c[l+44>>2]=b;d=b+k|0;b=l+16|0;c[b>>2]=d;c[l+28>>2]=d;d=Pc(l,e,f)|0;if(k){l=c[g>>2]|0;a[l+(((l|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}J=m;return d|0}function Pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=J;J=J+224|0;m=r+208|0;o=r+160|0;p=r+80|0;q=r;f=o;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[m>>2]=c[e>>2];if((Qc(0,d,m,p,o)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)n=Rc(b)|0;else n=0;e=c[b>>2]|0;l=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=q;i=b+28|0;c[i>>2]=q;j=b+20|0;c[j>>2]=q;c[f>>2]=80;k=b+16|0;c[k>>2]=q+80;e=Qc(b,d,m,p,o)|0;if(h){O[c[b+36>>2]&3](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[k>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=Qc(b,d,m,p,o)|0;f=c[b>>2]|0;c[b>>2]=f|l;if(n|0)Sc(b);e=(f&32|0)==0?e:-1}J=r;return e|0}function Qc(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=J;J=J+64|0;C=H+56|0;D=H+40|0;z=H;F=H+48|0;G=H+60|0;c[C>>2]=e;w=(d|0)!=0;x=z+40|0;y=x;z=z+39|0;A=F+4|0;j=0;e=0;l=0;a:while(1){do{do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[(Ec()|0)>>2]=75;e=-1;break}else{e=j+e|0;break}while(0);r=c[C>>2]|0;j=a[r>>0]|0;if(!(j<<24>>24)){u=94;break a}k=r;b:while(1){switch(j<<24>>24){case 37:{u=10;break b}case 0:{j=k;break b}default:{}}t=k+1|0;c[C>>2]=t;j=a[t>>0]|0;k=t}c:do if((u|0)==10){u=0;j=k;do{if((a[k+1>>0]|0)!=37)break c;j=j+1|0;k=k+2|0;c[C>>2]=k}while((a[k>>0]|0)==37)}while(0);j=j-r|0;if(w)Tc(d,r,j)}while((j|0)!=0);t=(Ic(a[(c[C>>2]|0)+1>>0]|0)|0)==0;k=c[C>>2]|0;if(!t?(a[k+2>>0]|0)==36:0){p=(a[k+1>>0]|0)+-48|0;n=1;j=3}else{p=-1;n=l;j=1}j=k+j|0;c[C>>2]=j;k=a[j>>0]|0;l=(k<<24>>24)+-32|0;if(l>>>0>31|(1<<l&75913|0)==0)m=0;else{m=0;do{m=1<<l|m;j=j+1|0;c[C>>2]=j;k=a[j>>0]|0;l=(k<<24>>24)+-32|0}while(!(l>>>0>31|(1<<l&75913|0)==0))}if(k<<24>>24==42){if((Ic(a[j+1>>0]|0)|0)!=0?(E=c[C>>2]|0,(a[E+2>>0]|0)==36):0){j=E+1|0;c[i+((a[j>>0]|0)+-48<<2)>>2]=10;j=c[h+((a[j>>0]|0)+-48<<3)>>2]|0;l=1;k=E+3|0}else{if(n|0){e=-1;break}if(w){t=(c[f>>2]|0)+(4-1)&~(4-1);j=c[t>>2]|0;c[f>>2]=t+4}else j=0;l=0;k=(c[C>>2]|0)+1|0}c[C>>2]=k;t=(j|0)<0;s=t?0-j|0:j;m=t?m|8192:m;t=l}else{j=Uc(C)|0;if((j|0)<0){e=-1;break}s=j;t=n;k=c[C>>2]|0}do if((a[k>>0]|0)==46){j=k+1|0;if((a[j>>0]|0)!=42){c[C>>2]=j;j=Uc(C)|0;k=c[C>>2]|0;break}if(Ic(a[k+2>>0]|0)|0?(B=c[C>>2]|0,(a[B+3>>0]|0)==36):0){j=B+2|0;c[i+((a[j>>0]|0)+-48<<2)>>2]=10;j=c[h+((a[j>>0]|0)+-48<<3)>>2]|0;k=B+4|0;c[C>>2]=k;break}if(t|0){e=-1;break a}if(w){q=(c[f>>2]|0)+(4-1)&~(4-1);j=c[q>>2]|0;c[f>>2]=q+4}else j=0;k=(c[C>>2]|0)+2|0;c[C>>2]=k}else j=-1;while(0);q=0;while(1){if(((a[k>>0]|0)+-65|0)>>>0>57){e=-1;break a}l=k;k=k+1|0;c[C>>2]=k;l=a[(a[l>>0]|0)+-65+(4976+(q*58|0))>>0]|0;n=l&255;if((n+-1|0)>>>0>=8)break;else q=n}if(!(l<<24>>24)){e=-1;break}o=(p|0)>-1;do if(l<<24>>24==19)if(o){e=-1;break a}else u=54;else{if(o){c[i+(p<<2)>>2]=n;o=h+(p<<3)|0;p=c[o+4>>2]|0;u=D;c[u>>2]=c[o>>2];c[u+4>>2]=p;u=54;break}if(!w){e=0;break a}Vc(D,n,f);k=c[C>>2]|0;u=55}while(0);if((u|0)==54){u=0;if(w)u=55;else j=0}d:do if((u|0)==55){u=0;k=a[k+-1>>0]|0;k=(q|0)!=0&(k&15|0)==3?k&-33:k;l=m&-65537;p=(m&8192|0)==0?m:l;e:do switch(k|0){case 110:switch((q&255)<<24>>24){case 0:{c[c[D>>2]>>2]=e;j=0;break d}case 1:{c[c[D>>2]>>2]=e;j=0;break d}case 2:{j=c[D>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}case 3:{b[c[D>>2]>>1]=e;j=0;break d}case 4:{a[c[D>>2]>>0]=e;j=0;break d}case 6:{c[c[D>>2]>>2]=e;j=0;break d}case 7:{j=c[D>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}default:{j=0;break d}}case 112:{k=120;j=j>>>0>8?j:8;l=p|8;u=67;break}case 88:case 120:{l=p;u=67;break}case 111:{l=D;k=c[l>>2]|0;l=c[l+4>>2]|0;o=Xc(k,l,x)|0;u=y-o|0;m=0;n=8451;j=(p&8|0)==0|(j|0)>(u|0)?j:u+1|0;u=73;break}case 105:case 100:{l=D;k=c[l>>2]|0;l=c[l+4>>2]|0;if((l|0)<0){k=nd(0,0,k|0,l|0)|0;l=v()|0;m=D;c[m>>2]=k;c[m+4>>2]=l;m=1;n=8451;u=72;break e}else{m=(p&2049|0)!=0&1;n=(p&2048|0)==0?((p&1|0)==0?8451:8453):8452;u=72;break e}}case 117:{l=D;m=0;n=8451;k=c[l>>2]|0;l=c[l+4>>2]|0;u=72;break}case 99:{a[z>>0]=c[D>>2];q=z;m=0;n=8451;o=1;j=y;break}case 109:{k=Zc(c[(Ec()|0)>>2]|0)|0;u=77;break}case 115:{k=c[D>>2]|0;k=(k|0)==0?8461:k;u=77;break}case 67:{c[F>>2]=c[D>>2];c[A>>2]=0;c[D>>2]=F;n=-1;u=81;break}case 83:{if(!j){_c(d,32,s,0,p);j=0;u=91}else{n=j;u=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=$c(d,+g[D>>3],s,j,p,k)|0;break d}default:{q=r;m=0;n=8451;o=j;l=p;j=y}}while(0);f:do if((u|0)==67){r=D;q=c[r>>2]|0;r=c[r+4>>2]|0;o=Wc(q,r,x,k&32)|0;n=(l&8|0)==0|(q|0)==0&(r|0)==0;m=n?0:2;n=n?8451:8451+(k>>>4)|0;p=l;k=q;l=r;u=73}else if((u|0)==72){o=Yc(k,l,x)|0;u=73}else if((u|0)==77){u=0;r=Hc(k,0,j)|0;p=(r|0)==0;q=k;m=0;n=8451;o=p?j:r-k|0;j=p?k+j|0:r}else if((u|0)==81){u=0;m=c[D>>2]|0;j=0;while(1){k=c[m>>2]|0;if(!k)break;k=Lc(G,k)|0;l=(k|0)<0;if(l|k>>>0>(n-j|0)>>>0){u=85;break}j=k+j|0;if(n>>>0>j>>>0)m=m+4|0;else break}if((u|0)==85){u=0;if(l){e=-1;break a}}_c(d,32,s,j,p);if(!j){j=0;u=91}else{l=c[D>>2]|0;m=0;while(1){k=c[l>>2]|0;if(!k){u=91;break f}k=Lc(G,k)|0;m=k+m|0;if((m|0)>(j|0)){u=91;break f}Tc(d,G,k);if(m>>>0>=j>>>0){u=91;break}else l=l+4|0}}}while(0);if((u|0)==73){u=0;l=(k|0)!=0|(l|0)!=0;r=(j|0)!=0|l;l=y-o+((l^1)&1)|0;q=r?o:x;o=r?((j|0)>(l|0)?j:l):0;l=(j|0)>-1?p&-65537:p;j=y}else if((u|0)==91){u=0;_c(d,32,s,j,p^8192);j=(s|0)>(j|0)?s:j;break}p=j-q|0;o=(o|0)<(p|0)?p:o;r=o+m|0;j=(s|0)<(r|0)?r:s;_c(d,32,j,r,l);Tc(d,n,m);_c(d,48,j,r,l^65536);_c(d,48,o,p,0);Tc(d,q,p);_c(d,32,j,r,l^8192)}while(0);l=t}g:do if((u|0)==94)if(!d)if(!l)e=0;else{e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;Vc(h+(e<<3)|0,j,f);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);J=H;return e|0}function Rc(a){a=a|0;return 1}function Sc(a){a=a|0;return}function Tc(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))hd(b,d,a)|0;return}function Uc(b){b=b|0;var d=0,e=0;if(!(Ic(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((Ic(a[e>>0]|0)|0)!=0)}return d|0}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}default:break a}while(0);while(0);return}function Wc(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[5440+(b&15)>>0]|0|f;b=rd(b|0,c|0,4)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Xc(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=rd(b|0,c|0,3)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Yc(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=qd(b|0,c|0,10,0)|0;f=c;c=v()|0;g=ld(b|0,c|0,10,0)|0;g=nd(e|0,f|0,g|0,v()|0)|0;v()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Zc(a){a=a|0;return ed(a,c[(dd()|0)+188>>2]|0)|0}function _c(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=J;J=J+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;yd(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Tc(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Tc(a,f,e)}J=g;return}function $c(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=J;J=J+560|0;l=G+32|0;u=G+536|0;F=G;E=F;m=G+540|0;c[u>>2]=0;D=m+12|0;ad(e)|0;j=v()|0;if((j|0)<0){e=-e;ad(e)|0;C=1;B=8468;j=v()|0}else{C=(h&2049|0)!=0&1;B=(h&2048|0)==0?((h&1|0)==0?8469:8474):8471}do if(0==0&(j&2146435072|0)==2146435072){F=(i&32|0)!=0;j=C+3|0;_c(b,32,f,j,h&-65537);Tc(b,B,C);Tc(b,e!=e|0.0!=0.0?(F?8495:8499):F?8487:8491,3);_c(b,32,f,j,h^8192)}else{q=+bd(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?B:B+9|0;p=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=Yc(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=F;do{C=~~e;j=m+1|0;a[m>>0]=o|d[5440+C>>0];e=(e-+(C|0))*16.0;if((j-E|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-E+m|0)<(g|0):0){k=D;l=n;j=g+2+k-l|0}else{k=D;l=n;j=k-E-l+m|0}D=j+p|0;_c(b,32,f,D,h);Tc(b,r,p);_c(b,48,f,D,h^65536);E=m-E|0;Tc(b,F,E);F=k-l|0;_c(b,48,j-(E+F)|0,0,0);Tc(b,n,F);_c(b,32,f,D,h^8192);j=D;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}A=(j|0)<0?l:l+288|0;l=A;do{y=~~e>>>0;c[l>>2]=y;l=l+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);y=A;if((j|0)>0){o=A;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=sd(c[j>>2]|0,0,n|0)|0;s=md(s|0,v()|0,m|0,0)|0;w=v()|0;m=qd(s|0,w|0,1e9,0)|0;x=ld(m|0,v()|0,1e9,0)|0;x=nd(s|0,w|0,x|0,v()|0)|0;v()|0;c[j>>2]=x;j=j+-4|0}while(j>>>0>=o>>>0);if(m){x=o+-4|0;c[x>>2]=m;m=x}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=A;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0<l>>>0){n=(1<<r)+-1|0;o=1e9>>>r;p=0;j=m;do{x=c[j>>2]|0;c[j>>2]=(x>>>r)+p;p=(x&n)*o|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?A:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0<l>>>0){j=(y-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;w=(t|0)==103;x=(k|0)!=0;m=k-((t|0)==102?0:j)+((x&w)<<31>>31)|0;if((m|0)<(((l-y>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=A+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(m*n|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0<u>>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(C){u=(a[B>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(y-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(w){k=k+((x^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(z=c[u+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((z>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-y>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){w=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=Yc(l,((l|0)<0)<<31>>31,D)|0;m=D;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;w=j;j=m-j|0}j=C+1+k+p+j|0;_c(b,32,f,j,h);Tc(b,B,C);_c(b,48,f,j,h^65536);if(r){p=n>>>0>A>>>0?A:n;r=F+9|0;n=r;o=F+8|0;m=p;do{l=Yc(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>F>>>0){yd(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Tc(b,l,n-l|0);m=m+4|0}while(m>>>0<=A>>>0);if(!((h&8|0)==0&(s^1)))Tc(b,8503,1);if(m>>>0<u>>>0&(k|0)>0)while(1){l=Yc(c[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){yd(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Tc(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<u>>>0&(k|0)>9)){k=l;break}else k=l}_c(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0<u>>>0&(k|0)>-1){g=F+9|0;s=(h&8|0)==0;t=g;p=0-E|0;r=F+8|0;o=n;do{l=Yc(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;Tc(b,l,1);if(s&(k|0)<1){l=m;break}Tc(b,8503,1);l=m}else{if(l>>>0<=F>>>0)break;yd(F|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=t-l|0;Tc(b,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0<u>>>0&(k|0)>-1)}_c(b,48,k+18|0,18,0);Tc(b,w,D-w|0)}_c(b,32,f,j,h^8192)}while(0);J=G;return ((j|0)<(f|0)?f:j)|0}function ad(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;u(c[h+4>>2]|0);return b|0}function bd(a,b){a=+a;b=b|0;return +(+cd(a,b))}function cd(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=rd(d|0,e|0,52)|0;v()|0;switch(f&2047){case 0:{if(a!=0.0){a=+cd(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function dd(){return Kc()|0}function ed(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[5456+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=5552;else{b=f;g=5}if((g|0)==5){f=5552;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return fd(f,c[e+20>>2]|0)|0}function fd(a,b){a=a|0;b=b|0;return gd(a,b)|0}function gd(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Gc(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(id(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=O[c[e+36>>2]&3](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=O[c[e+36>>2]&3](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);xd(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function id(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;xd(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function kd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=e*f|0;d=a>>>16;a=(c>>>16)+(e*d|0)|0;e=b>>>16;b=e*f|0;return (u((a>>>16)+(e*d|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=kd(e,f)|0;a=v()|0;return (u((b*f|0)+(d*e|0)+a|a&0|0),c|0|0)|0}function md(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (u(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function nd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (u(d|0),a-c>>>0|0)|0}function od(a){a=a|0;return (a?31-(s(a^a-1)|0)|0:32)|0}function pd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (u(n|0),f)|0}else{if(!g){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (u(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (u(n|0),f)|0}g=h-1|0;if(g&h|0){i=(s(h|0)|0)+33-(s(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (u(o|0),p)|0}else{p=od(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (u(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (u(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (u(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((od(i|0)|0)>>>0);return (u(o|0),p)|0}g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (u(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (u(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=md(m|0,l|0,-1,-1)|0;d=v()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;nd(k|0,d|0,e|0,n|0)|0;p=v()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=nd(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=v()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (u(o|0),p)|0}function qd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return pd(a,b,c,d,0)|0}function rd(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}u(0);return b>>>c-32|0}function sd(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}u(a<<c-32|0);return 0}function td(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;l=l+1|0;c[a>>2]=l;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=l;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;u(e|0);return d|0}f=f+1|0}e=e*2|0;d=Bc(d|0,8*(e+1|0)|0)|0;d=ud(a|0,b|0,d|0,e|0)|0;u(e|0);return d|0}function vd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function wd(a,b){a=a|0;b=b|0;if(!j){j=a;k=b}}function xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){E(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function yd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function zd(a){a=a|0;var b=0,d=0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){I(b|0)|0;C(12);return -1}if((b|0)>(D()|0)){if(!(F(b|0)|0)){C(12);return -1}}else c[i>>2]=b;return d|0}function Ad(a,b){a=a|0;b=b|0;return M[a&1](b|0)|0}function Bd(a,b,c){a=a|0;b=b|0;c=c|0;return N[a&15](b|0,c|0)|0}function Cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return O[a&3](b|0,c|0,d|0)|0}function Dd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return P[a&3](b|0,c|0,d|0,e|0,f|0)|0}function Ed(a){a=a|0;Q[a&3]()}function Fd(a,b){a=a|0;b=b|0;R[a&7](b|0)}function Gd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S[a&31](b|0,c|0,d|0,e|0)}function Hd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;T[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function Id(a){a=a|0;t(0);return 0}function Jd(a,b){a=a|0;b=b|0;t(1);return 0}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;t(2);return 0}function Ld(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;t(3);return 0}function Md(){t(4)}function Nd(a){a=a|0;t(5)}function Od(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(6)}function Pd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;t(7)}
     31
     32// EMSCRIPTEN_END_FUNCS
     33var M=[Id,pa];var N=[Jd,ga,ha,ia,ja,ka,la,ma,na,oa,ra,ta,Aa,Ea,Jd,Jd];var O=[Kd,qa,jd,La];var P=[Ld,sa,xa,Ld];var Q=[Md,Ka,lb,Md];var R=[Nd,ib,Oa,Ga,Na,ob,Ta,hb];var S=[Od,fa,Hb,Jb,Mb,Ob,Sb,Qb,Vb,Gb,Ib,Lb,Nb,Rb,Pb,Ub,Tb,Kb,zb,yb,Cb,Eb,Db,Bb,Fb,Ab,Od,Od,Od,Od,Od,Od];var T=[Pd,cc,_b,ec,ac,dc,$b,fc,bc,Pd,Pd,Pd,Pd,Pd,Pd,Pd];return{___muldi3:ld,___udivdi3:qd,_bitshift64Lshr:rd,_bitshift64Shl:sd,_free:Ac,_i64Add:md,_i64Subtract:nd,_llvm_bswap_i32:td,_malloc:zc,_memcpy:xd,_memset:yd,_ogv_video_decoder_async:Z,_ogv_video_decoder_destroy:_,_ogv_video_decoder_init:Y,_ogv_video_decoder_process_frame:aa,_ogv_video_decoder_process_header:$,_realloc:Bc,_saveSetjmp:ud,_sbrk:zd,_setThrew:wd,_testSetjmp:vd,dynCall_ii:Ad,dynCall_iii:Bd,dynCall_iiii:Cd,dynCall_iiiiii:Dd,dynCall_v:Ed,dynCall_vi:Fd,dynCall_viiii:Gd,dynCall_viiiiii:Hd,establishStackSpace:X,stackAlloc:U,stackRestore:W,stackSave:V}})
     34
     35
     36// EMSCRIPTEN_END_ASM
     37(va,Ca,buffer);
     38b.___muldi3=S.___muldi3;b.___udivdi3=S.___udivdi3;b._bitshift64Lshr=S._bitshift64Lshr;b._bitshift64Shl=S._bitshift64Shl;b._free=S._free;b._i64Add=S._i64Add;b._i64Subtract=S._i64Subtract;b._llvm_bswap_i32=S._llvm_bswap_i32;b._malloc=S._malloc;b._memcpy=S._memcpy;b._memset=S._memset;b._ogv_video_decoder_async=S._ogv_video_decoder_async;b._ogv_video_decoder_destroy=S._ogv_video_decoder_destroy;b._ogv_video_decoder_init=S._ogv_video_decoder_init;b._ogv_video_decoder_process_frame=S._ogv_video_decoder_process_frame;
     39b._ogv_video_decoder_process_header=S._ogv_video_decoder_process_header;b._realloc=S._realloc;b._saveSetjmp=S._saveSetjmp;b._sbrk=S._sbrk;var R=b._setThrew=S._setThrew;b._testSetjmp=S._testSetjmp;b.establishStackSpace=S.establishStackSpace;b.stackAlloc=S.stackAlloc;var Q=b.stackRestore=S.stackRestore,P=b.stackSave=S.stackSave;b.dynCall_ii=S.dynCall_ii;
     40var wa=b.dynCall_iii=S.dynCall_iii,xa=b.dynCall_iiii=S.dynCall_iiii,ya=b.dynCall_iiiiii=S.dynCall_iiiiii,za=b.dynCall_v=S.dynCall_v,Aa=b.dynCall_vi=S.dynCall_vi,Ba=b.dynCall_viiii=S.dynCall_viiii;b.dynCall_viiiiii=S.dynCall_viiiiii;b.asm=S;
     41if(K){if(String.prototype.startsWith?!K.startsWith(O):0!==K.indexOf(O)){var Da=K;K=b.locateFile?b.locateFile(Da,x):x+Da}if(u||v){var Ea=b.readBinary(K);C.set(Ea,8)}else{G++;b.monitorRunDependencies&&b.monitorRunDependencies(G);var T=function(a){a.byteLength&&(a=new Uint8Array(a));C.set(a,8);b.memoryInitializerRequest&&delete b.memoryInitializerRequest.response;G--;b.monitorRunDependencies&&b.monitorRunDependencies(G);0==G&&(null!==I&&(clearInterval(I),I=null),J&&(a=J,J=null,a()))},Fa=function(){b.readAsync(K,
     42T,function(){throw"could not load memory initializer "+K;})},Ga=A(K);if(Ga)T(Ga.buffer);else if(b.memoryInitializerRequest){var Ha=function(){var a=b.memoryInitializerRequest,c=a.response;if(200!==a.status&&0!==a.status)if(c=A(b.memoryInitializerRequestURL))c=c.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+a.status+", retrying "+K);Fa();return}T(c)};b.memoryInitializerRequest.response?setTimeout(Ha,0):b.memoryInitializerRequest.addEventListener("load",
     43Ha)}else Fa()}}b.then=function(a){if(b.calledRun)a(b);else{var c=b.onRuntimeInitialized;b.onRuntimeInitialized=function(){c&&c();a(b)}}return b};function Y(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}Y.prototype=Error();Y.prototype.constructor=Y;J=function Ia(){b.calledRun||Ja();b.calledRun||(J=Ia)};
     44function Ja(){function a(){if(!b.calledRun&&(b.calledRun=!0,!ea)){ka||(ka=!0,F(ha));F(ia);if(b.onRuntimeInitialized)b.onRuntimeInitialized();if(b.postRun)for("function"==typeof b.postRun&&(b.postRun=[b.postRun]);b.postRun.length;){var a=b.postRun.shift();ja.unshift(a)}F(ja)}}if(!(0<G)){if(b.preRun)for("function"==typeof b.preRun&&(b.preRun=[b.preRun]);b.preRun.length;)la();F(fa);0<G||b.calledRun||(b.setStatus?(b.setStatus("Running..."),setTimeout(function(){setTimeout(function(){b.setStatus("")},
     451);a()},1)):a())}}b.run=Ja;function B(a){if(b.onAbort)b.onAbort(a);void 0!==a?(ba(a),ca(a),a=JSON.stringify(a)):a="";ea=!0;throw"abort("+a+"). Build with -s ASSERTIONS=1 for more info.";}b.abort=B;if(b.preInit)for("function"==typeof b.preInit&&(b.preInit=[b.preInit]);0<b.preInit.length;)b.preInit.pop()();b.noExitRuntime=!0;Ja();var Z,La,Ma;Ma="undefined"===typeof performance||"undefined"===typeof performance.now?Date.now:performance.now.bind(performance);
     46function Na(a){var c=Ma();a=a();b.cpuTime+=Ma()-c;return a}b.loadedMetadata=!!f.videoFormat;b.videoFormat=f.videoFormat||null;b.frameBuffer=null;b.cpuTime=0;Object.defineProperty(b,"processing",{get:function(){return!1}});b.init=function(a){Na(function(){b._ogv_video_decoder_init()});a()};b.processHeader=function(a,c){var d=Na(function(){var c=a.byteLength;Z&&La>=c||(Z&&b._free(Z),La=c,Z=b._malloc(La));var d=Z;b.HEAPU8.set(new Uint8Array(a),d);return b._ogv_video_decoder_process_header(d,c)});c(d)};
     47b.w=[];b.processFrame=function(a,c){function d(a){b._free(h);c(a)}var e=b._ogv_video_decoder_async(),g=a.byteLength,h=b._malloc(g);e&&b.w.push(d);var l=Na(function(){b.HEAPU8.set(new Uint8Array(a),h);return b._ogv_video_decoder_process_frame(h,g)});e||d(l)};b.close=function(){};
     48
     49
     50
     51  return OGVDecoderVideoVP8;
     52}
     53);
     54})();
     55if (typeof exports === 'object' && typeof module === 'object')
     56      module.exports = OGVDecoderVideoVP8;
     57    else if (typeof define === 'function' && define['amd'])
     58      define([], function() { return OGVDecoderVideoVP8; });
     59    else if (typeof exports === 'object')
     60      exports["OGVDecoderVideoVP8"] = OGVDecoderVideoVP8;
     61   
     62 No newline at end of file