Created
          March 8, 2016 12:48 
        
      - 
      
 - 
        
Save gifnksm/6f5d58f7e66082decda6 to your computer and use it in GitHub Desktop.  
    hello.rs を JS へコンパイルした結果
  
        
      This file has been truncated, but you can view the full file.
    
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | // The Module object: Our interface to the outside world. We import | |
| // and export values on it, and do the work to get that through | |
| // closure compiler if necessary. There are various ways Module can be used: | |
| // 1. Not defined. We create it here | |
| // 2. A function parameter, function(Module) { ..generated code.. } | |
| // 3. pre-run appended it, var Module = {}; ..generated code.. | |
| // 4. External script tag defines var Module. | |
| // We need to do an eval in order to handle the closure compiler | |
| // case, where this code here is minified but Module was defined | |
| // elsewhere (e.g. case 4 above). We also need to check if Module | |
| // already exists (e.g. case 3 above). | |
| // Note that if you want to run closure, and also to use Module | |
| // after the generated code, you will need to define var Module = {}; | |
| // before the code. Then that object will be used in the code, and you | |
| // can continue to use Module afterwards as well. | |
| var Module; | |
| if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; | |
| // Sometimes an existing Module object exists with properties | |
| // meant to overwrite the default module functionality. Here | |
| // we collect those properties and reapply _after_ we configure | |
| // the current environment's defaults to avoid having to be so | |
| // defensive during initialization. | |
| var moduleOverrides = {}; | |
| for (var key in Module) { | |
| if (Module.hasOwnProperty(key)) { | |
| moduleOverrides[key] = Module[key]; | |
| } | |
| } | |
| // The environment setup code below is customized to use Module. | |
| // *** Environment setup code *** | |
| var ENVIRONMENT_IS_WEB = false; | |
| var ENVIRONMENT_IS_WORKER = false; | |
| var ENVIRONMENT_IS_NODE = false; | |
| var ENVIRONMENT_IS_SHELL = false; | |
| // Three configurations we can be running in: | |
| // 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) | |
| // 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) | |
| // 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) | |
| if (Module['ENVIRONMENT']) { | |
| if (Module['ENVIRONMENT'] === 'WEB') { | |
| ENVIRONMENT_IS_WEB = true; | |
| } else if (Module['ENVIRONMENT'] === 'WORKER') { | |
| ENVIRONMENT_IS_WORKER = true; | |
| } else if (Module['ENVIRONMENT'] === 'NODE') { | |
| ENVIRONMENT_IS_NODE = true; | |
| } else if (Module['ENVIRONMENT'] === 'SHELL') { | |
| ENVIRONMENT_IS_SHELL = true; | |
| } else { | |
| throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); | |
| } | |
| } else { | |
| ENVIRONMENT_IS_WEB = typeof window === 'object'; | |
| ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; | |
| ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; | |
| ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; | |
| } | |
| if (ENVIRONMENT_IS_NODE) { | |
| // Expose functionality in the same simple way that the shells work | |
| // Note that we pollute the global namespace here, otherwise we break in node | |
| if (!Module['print']) Module['print'] = console.log; | |
| if (!Module['printErr']) Module['printErr'] = console.warn; | |
| var nodeFS; | |
| var nodePath; | |
| Module['read'] = function read(filename, binary) { | |
| if (!nodeFS) nodeFS = require('fs'); | |
| if (!nodePath) nodePath = require('path'); | |
| filename = nodePath['normalize'](filename); | |
| var ret = nodeFS['readFileSync'](filename); | |
| // The path is absolute if the normalized version is the same as the resolved. | |
| if (!ret && filename != nodePath['resolve'](filename)) { | |
| filename = path.join(__dirname, '..', 'src', filename); | |
| ret = nodeFS['readFileSync'](filename); | |
| } | |
| if (ret && !binary) ret = ret.toString(); | |
| return ret; | |
| }; | |
| Module['readBinary'] = function readBinary(filename) { | |
| var ret = Module['read'](filename, true); | |
| if (!ret.buffer) { | |
| ret = new Uint8Array(ret); | |
| } | |
| assert(ret.buffer); | |
| return ret; | |
| }; | |
| Module['load'] = function load(f) { | |
| globalEval(read(f)); | |
| }; | |
| if (!Module['thisProgram']) { | |
| if (process['argv'].length > 1) { | |
| Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); | |
| } else { | |
| Module['thisProgram'] = 'unknown-program'; | |
| } | |
| } | |
| Module['arguments'] = process['argv'].slice(2); | |
| if (typeof module !== 'undefined') { | |
| module['exports'] = Module; | |
| } | |
| process['on']('uncaughtException', function(ex) { | |
| // suppress ExitStatus exceptions from showing an error | |
| if (!(ex instanceof ExitStatus)) { | |
| throw ex; | |
| } | |
| }); | |
| Module['inspect'] = function () { return '[Emscripten Module object]'; }; | |
| } | |
| else if (ENVIRONMENT_IS_SHELL) { | |
| if (!Module['print']) Module['print'] = print; | |
| if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm | |
| if (typeof read != 'undefined') { | |
| Module['read'] = read; | |
| } else { | |
| Module['read'] = function read() { throw 'no read() available (jsc?)' }; | |
| } | |
| Module['readBinary'] = function readBinary(f) { | |
| if (typeof readbuffer === 'function') { | |
| return new Uint8Array(readbuffer(f)); | |
| } | |
| var data = read(f, 'binary'); | |
| assert(typeof data === 'object'); | |
| return data; | |
| }; | |
| if (typeof scriptArgs != 'undefined') { | |
| Module['arguments'] = scriptArgs; | |
| } else if (typeof arguments != 'undefined') { | |
| Module['arguments'] = arguments; | |
| } | |
| } | |
| else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { | |
| Module['read'] = function read(url) { | |
| var xhr = new XMLHttpRequest(); | |
| xhr.open('GET', url, false); | |
| xhr.send(null); | |
| return xhr.responseText; | |
| }; | |
| Module['readAsync'] = function readAsync(url, onload, onerror) { | |
| var xhr = new XMLHttpRequest(); | |
| xhr.open('GET', url, true); | |
| xhr.responseType = 'arraybuffer'; | |
| xhr.onload = function xhr_onload() { | |
| if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 | |
| onload(xhr.response); | |
| } else { | |
| onerror(); | |
| } | |
| }; | |
| xhr.onerror = onerror; | |
| xhr.send(null); | |
| }; | |
| if (typeof arguments != 'undefined') { | |
| Module['arguments'] = arguments; | |
| } | |
| if (typeof console !== 'undefined') { | |
| if (!Module['print']) Module['print'] = function print(x) { | |
| console.log(x); | |
| }; | |
| if (!Module['printErr']) Module['printErr'] = function printErr(x) { | |
| console.warn(x); | |
| }; | |
| } else { | |
| // Probably a worker, and without console.log. We can do very little here... | |
| var TRY_USE_DUMP = false; | |
| if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { | |
| dump(x); | |
| }) : (function(x) { | |
| // self.postMessage(x); // enable this if you want stdout to be sent as messages | |
| })); | |
| } | |
| if (ENVIRONMENT_IS_WORKER) { | |
| Module['load'] = importScripts; | |
| } | |
| if (typeof Module['setWindowTitle'] === 'undefined') { | |
| Module['setWindowTitle'] = function(title) { document.title = title }; | |
| } | |
| } | |
| else { | |
| // Unreachable because SHELL is dependant on the others | |
| throw 'Unknown runtime environment. Where are we?'; | |
| } | |
| function globalEval(x) { | |
| eval.call(null, x); | |
| } | |
| if (!Module['load'] && Module['read']) { | |
| Module['load'] = function load(f) { | |
| globalEval(Module['read'](f)); | |
| }; | |
| } | |
| if (!Module['print']) { | |
| Module['print'] = function(){}; | |
| } | |
| if (!Module['printErr']) { | |
| Module['printErr'] = Module['print']; | |
| } | |
| if (!Module['arguments']) { | |
| Module['arguments'] = []; | |
| } | |
| if (!Module['thisProgram']) { | |
| Module['thisProgram'] = './this.program'; | |
| } | |
| // *** Environment setup code *** | |
| // Closure helpers | |
| Module.print = Module['print']; | |
| Module.printErr = Module['printErr']; | |
| // Callbacks | |
| Module['preRun'] = []; | |
| Module['postRun'] = []; | |
| // Merge back in the overrides | |
| for (var key in moduleOverrides) { | |
| if (moduleOverrides.hasOwnProperty(key)) { | |
| Module[key] = moduleOverrides[key]; | |
| } | |
| } | |
| // Free the object hierarchy contained in the overrides, this lets the GC | |
| // reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. | |
| moduleOverrides = undefined; | |
| // {{PREAMBLE_ADDITIONS}} | |
| // === Preamble library stuff === | |
| // Documentation for the public APIs defined in this file must be updated in: | |
| // site/source/docs/api_reference/preamble.js.rst | |
| // A prebuilt local version of the documentation is available at: | |
| // site/build/text/docs/api_reference/preamble.js.txt | |
| // You can also build docs locally as HTML or other formats in site/ | |
| // An online HTML version (which may be of a different version of Emscripten) | |
| // is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html | |
| //======================================== | |
| // Runtime code shared with compiler | |
| //======================================== | |
| var Runtime = { | |
| setTempRet0: function (value) { | |
| tempRet0 = value; | |
| }, | |
| getTempRet0: function () { | |
| return tempRet0; | |
| }, | |
| stackSave: function () { | |
| return STACKTOP; | |
| }, | |
| stackRestore: function (stackTop) { | |
| STACKTOP = stackTop; | |
| }, | |
| getNativeTypeSize: function (type) { | |
| switch (type) { | |
| case 'i1': case 'i8': return 1; | |
| case 'i16': return 2; | |
| case 'i32': return 4; | |
| case 'i64': return 8; | |
| case 'float': return 4; | |
| case 'double': return 8; | |
| default: { | |
| if (type[type.length-1] === '*') { | |
| return Runtime.QUANTUM_SIZE; // A pointer | |
| } else if (type[0] === 'i') { | |
| var bits = parseInt(type.substr(1)); | |
| assert(bits % 8 === 0); | |
| return bits/8; | |
| } else { | |
| return 0; | |
| } | |
| } | |
| } | |
| }, | |
| getNativeFieldSize: function (type) { | |
| return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); | |
| }, | |
| STACK_ALIGN: 16, | |
| prepVararg: function (ptr, type) { | |
| if (type === 'double' || type === 'i64') { | |
| // move so the load is aligned | |
| if (ptr & 7) { | |
| assert((ptr & 7) === 4); | |
| ptr += 4; | |
| } | |
| } else { | |
| assert((ptr & 3) === 0); | |
| } | |
| return ptr; | |
| }, | |
| getAlignSize: function (type, size, vararg) { | |
| // we align i64s and doubles on 64-bit boundaries, unlike x86 | |
| if (!vararg && (type == 'i64' || type == 'double')) return 8; | |
| if (!type) return Math.min(size, 8); // align structures internally to 64 bits | |
| return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); | |
| }, | |
| dynCall: function (sig, ptr, args) { | |
| if (args && args.length) { | |
| assert(args.length == sig.length-1); | |
| if (!args.splice) args = Array.prototype.slice.call(args); | |
| args.splice(0, 0, ptr); | |
| assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); | |
| return Module['dynCall_' + sig].apply(null, args); | |
| } else { | |
| assert(sig.length == 1); | |
| assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); | |
| return Module['dynCall_' + sig].call(null, ptr); | |
| } | |
| }, | |
| functionPointers: [], | |
| addFunction: function (func) { | |
| for (var i = 0; i < Runtime.functionPointers.length; i++) { | |
| if (!Runtime.functionPointers[i]) { | |
| Runtime.functionPointers[i] = func; | |
| return 2*(1 + i); | |
| } | |
| } | |
| throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; | |
| }, | |
| removeFunction: function (index) { | |
| Runtime.functionPointers[(index-2)/2] = null; | |
| }, | |
| warnOnce: function (text) { | |
| if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; | |
| if (!Runtime.warnOnce.shown[text]) { | |
| Runtime.warnOnce.shown[text] = 1; | |
| Module.printErr(text); | |
| } | |
| }, | |
| funcWrappers: {}, | |
| getFuncWrapper: function (func, sig) { | |
| assert(sig); | |
| if (!Runtime.funcWrappers[sig]) { | |
| Runtime.funcWrappers[sig] = {}; | |
| } | |
| var sigCache = Runtime.funcWrappers[sig]; | |
| if (!sigCache[func]) { | |
| sigCache[func] = function dynCall_wrapper() { | |
| return Runtime.dynCall(sig, func, arguments); | |
| }; | |
| } | |
| return sigCache[func]; | |
| }, | |
| getCompilerSetting: function (name) { | |
| throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; | |
| }, | |
| stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, | |
| staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, | |
| dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + (assert(DYNAMICTOP > 0),size))|0;DYNAMICTOP = (((DYNAMICTOP)+15)&-16); if (DYNAMICTOP >= TOTAL_MEMORY) { var success = enlargeMemory(); if (!success) { DYNAMICTOP = ret; return 0; } }; return ret; }, | |
| alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, | |
| makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, | |
| GLOBAL_BASE: 8, | |
| QUANTUM_SIZE: 4, | |
| __dummy__: 0 | |
| } | |
| Module["Runtime"] = Runtime; | |
| //======================================== | |
| // Runtime essentials | |
| //======================================== | |
| var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort() | |
| var EXITSTATUS = 0; | |
| function assert(condition, text) { | |
| if (!condition) { | |
| abort('Assertion failed: ' + text); | |
| } | |
| } | |
| var globalScope = this; | |
| // Returns the C function with a specified identifier (for C++, you need to do manual name mangling) | |
| function getCFunc(ident) { | |
| var func = Module['_' + ident]; // closure exported function | |
| if (!func) { | |
| try { func = eval('_' + ident); } catch(e) {} | |
| } | |
| assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); | |
| return func; | |
| } | |
| var cwrap, ccall; | |
| (function(){ | |
| var JSfuncs = { | |
| // Helpers for cwrap -- it can't refer to Runtime directly because it might | |
| // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find | |
| // out what the minified function name is. | |
| 'stackSave': function() { | |
| Runtime.stackSave() | |
| }, | |
| 'stackRestore': function() { | |
| Runtime.stackRestore() | |
| }, | |
| // type conversion from js to c | |
| 'arrayToC' : function(arr) { | |
| var ret = Runtime.stackAlloc(arr.length); | |
| writeArrayToMemory(arr, ret); | |
| return ret; | |
| }, | |
| 'stringToC' : function(str) { | |
| var ret = 0; | |
| if (str !== null && str !== undefined && str !== 0) { // null string | |
| // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' | |
| ret = Runtime.stackAlloc((str.length << 2) + 1); | |
| writeStringToMemory(str, ret); | |
| } | |
| return ret; | |
| } | |
| }; | |
| // For fast lookup of conversion functions | |
| var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; | |
| // C calling interface. | |
| ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { | |
| var func = getCFunc(ident); | |
| var cArgs = []; | |
| var stack = 0; | |
| assert(returnType !== 'array', 'Return type should not be "array".'); | |
| if (args) { | |
| for (var i = 0; i < args.length; i++) { | |
| var converter = toC[argTypes[i]]; | |
| if (converter) { | |
| if (stack === 0) stack = Runtime.stackSave(); | |
| cArgs[i] = converter(args[i]); | |
| } else { | |
| cArgs[i] = args[i]; | |
| } | |
| } | |
| } | |
| var ret = func.apply(null, cArgs); | |
| if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { | |
| assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); | |
| } | |
| if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); | |
| if (returnType === 'string') ret = Pointer_stringify(ret); | |
| if (stack !== 0) { | |
| if (opts && opts.async) { | |
| EmterpreterAsync.asyncFinalizers.push(function() { | |
| Runtime.stackRestore(stack); | |
| }); | |
| return; | |
| } | |
| Runtime.stackRestore(stack); | |
| } | |
| return ret; | |
| } | |
| var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; | |
| function parseJSFunc(jsfunc) { | |
| // Match the body and the return value of a javascript function source | |
| var parsed = jsfunc.toString().match(sourceRegex).slice(1); | |
| return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} | |
| } | |
| // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file | |
| var JSsource = null; | |
| function ensureJSsource() { | |
| if (!JSsource) { | |
| JSsource = {}; | |
| for (var fun in JSfuncs) { | |
| if (JSfuncs.hasOwnProperty(fun)) { | |
| // Elements of toCsource are arrays of three items: | |
| // the code, and the return value | |
| JSsource[fun] = parseJSFunc(JSfuncs[fun]); | |
| } | |
| } | |
| } | |
| } | |
| cwrap = function cwrap(ident, returnType, argTypes) { | |
| argTypes = argTypes || []; | |
| var cfunc = getCFunc(ident); | |
| // When the function takes numbers and returns a number, we can just return | |
| // the original function | |
| var numericArgs = argTypes.every(function(type){ return type === 'number'}); | |
| var numericRet = (returnType !== 'string'); | |
| if ( numericRet && numericArgs) { | |
| return cfunc; | |
| } | |
| // Creation of the arguments list (["$1","$2",...,"$nargs"]) | |
| var argNames = argTypes.map(function(x,i){return '$'+i}); | |
| var funcstr = "(function(" + argNames.join(',') + ") {"; | |
| var nargs = argTypes.length; | |
| if (!numericArgs) { | |
| // Generate the code needed to convert the arguments from javascript | |
| // values to pointers | |
| ensureJSsource(); | |
| funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; | |
| for (var i = 0; i < nargs; i++) { | |
| var arg = argNames[i], type = argTypes[i]; | |
| if (type === 'number') continue; | |
| var convertCode = JSsource[type + 'ToC']; // [code, return] | |
| funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; | |
| funcstr += convertCode.body + ';'; | |
| funcstr += arg + '=(' + convertCode.returnValue + ');'; | |
| } | |
| } | |
| // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore | |
| var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; | |
| // Call the function | |
| funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; | |
| if (!numericRet) { // Return type can only by 'string' or 'number' | |
| // Convert the result to a string | |
| var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; | |
| funcstr += 'ret = ' + strgfy + '(ret);'; | |
| } | |
| funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; | |
| if (!numericArgs) { | |
| // If we had a stack, restore it | |
| ensureJSsource(); | |
| funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; | |
| } | |
| funcstr += 'return ret})'; | |
| return eval(funcstr); | |
| }; | |
| })(); | |
| Module["ccall"] = ccall; | |
| Module["cwrap"] = cwrap; | |
| function setValue(ptr, value, type, noSafe) { | |
| type = type || 'i8'; | |
| if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit | |
| switch(type) { | |
| case 'i1': HEAP8[((ptr)>>0)]=value; break; | |
| case 'i8': HEAP8[((ptr)>>0)]=value; break; | |
| case 'i16': HEAP16[((ptr)>>1)]=value; break; | |
| case 'i32': HEAP32[((ptr)>>2)]=value; break; | |
| case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; | |
| case 'float': HEAPF32[((ptr)>>2)]=value; break; | |
| case 'double': HEAPF64[((ptr)>>3)]=value; break; | |
| default: abort('invalid type for setValue: ' + type); | |
| } | |
| } | |
| Module["setValue"] = setValue; | |
| function getValue(ptr, type, noSafe) { | |
| type = type || 'i8'; | |
| if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit | |
| switch(type) { | |
| case 'i1': return HEAP8[((ptr)>>0)]; | |
| case 'i8': return HEAP8[((ptr)>>0)]; | |
| case 'i16': return HEAP16[((ptr)>>1)]; | |
| case 'i32': return HEAP32[((ptr)>>2)]; | |
| case 'i64': return HEAP32[((ptr)>>2)]; | |
| case 'float': return HEAPF32[((ptr)>>2)]; | |
| case 'double': return HEAPF64[((ptr)>>3)]; | |
| default: abort('invalid type for setValue: ' + type); | |
| } | |
| return null; | |
| } | |
| Module["getValue"] = getValue; | |
| var ALLOC_NORMAL = 0; // Tries to use _malloc() | |
| var ALLOC_STACK = 1; // Lives for the duration of the current function call | |
| var ALLOC_STATIC = 2; // Cannot be freed | |
| var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk | |
| var ALLOC_NONE = 4; // Do not allocate | |
| Module["ALLOC_NORMAL"] = ALLOC_NORMAL; | |
| Module["ALLOC_STACK"] = ALLOC_STACK; | |
| Module["ALLOC_STATIC"] = ALLOC_STATIC; | |
| Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; | |
| Module["ALLOC_NONE"] = ALLOC_NONE; | |
| // allocate(): This is for internal use. You can use it yourself as well, but the interface | |
| // is a little tricky (see docs right below). The reason is that it is optimized | |
| // for multiple syntaxes to save space in generated code. So you should | |
| // normally not use allocate(), and instead allocate memory using _malloc(), | |
| // initialize it with setValue(), and so forth. | |
| // @slab: An array of data, or a number. If a number, then the size of the block to allocate, | |
| // in *bytes* (note that this is sometimes confusing: the next parameter does not | |
| // affect this!) | |
| // @types: Either an array of types, one for each byte (or 0 if no type at that position), | |
| // or a single type which is used for the entire block. This only matters if there | |
| // is initial data - if @slab is a number, then this does not matter at all and is | |
| // ignored. | |
| // @allocator: How to allocate memory, see ALLOC_* | |
| function allocate(slab, types, allocator, ptr) { | |
| var zeroinit, size; | |
| if (typeof slab === 'number') { | |
| zeroinit = true; | |
| size = slab; | |
| } else { | |
| zeroinit = false; | |
| size = slab.length; | |
| } | |
| var singleType = typeof types === 'string' ? types : null; | |
| var ret; | |
| if (allocator == ALLOC_NONE) { | |
| ret = ptr; | |
| } else { | |
| ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); | |
| } | |
| if (zeroinit) { | |
| var ptr = ret, stop; | |
| assert((ret & 3) == 0); | |
| stop = ret + (size & ~3); | |
| for (; ptr < stop; ptr += 4) { | |
| HEAP32[((ptr)>>2)]=0; | |
| } | |
| stop = ret + size; | |
| while (ptr < stop) { | |
| HEAP8[((ptr++)>>0)]=0; | |
| } | |
| return ret; | |
| } | |
| if (singleType === 'i8') { | |
| if (slab.subarray || slab.slice) { | |
| HEAPU8.set(slab, ret); | |
| } else { | |
| HEAPU8.set(new Uint8Array(slab), ret); | |
| } | |
| return ret; | |
| } | |
| var i = 0, type, typeSize, previousType; | |
| while (i < size) { | |
| var curr = slab[i]; | |
| if (typeof curr === 'function') { | |
| curr = Runtime.getFunctionIndex(curr); | |
| } | |
| type = singleType || types[i]; | |
| if (type === 0) { | |
| i++; | |
| continue; | |
| } | |
| assert(type, 'Must know what type to store in allocate!'); | |
| if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later | |
| setValue(ret+i, curr, type); | |
| // no need to look up size unless type changes, so cache it | |
| if (previousType !== type) { | |
| typeSize = Runtime.getNativeTypeSize(type); | |
| previousType = type; | |
| } | |
| i += typeSize; | |
| } | |
| return ret; | |
| } | |
| Module["allocate"] = allocate; | |
| // Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready | |
| function getMemory(size) { | |
| if (!staticSealed) return Runtime.staticAlloc(size); | |
| if ((typeof _sbrk !== 'undefined' && !_sbrk.called) || !runtimeInitialized) return Runtime.dynamicAlloc(size); | |
| return _malloc(size); | |
| } | |
| Module["getMemory"] = getMemory; | |
| function Pointer_stringify(ptr, /* optional */ length) { | |
| if (length === 0 || !ptr) return ''; | |
| // TODO: use TextDecoder | |
| // Find the length, and check for UTF while doing so | |
| var hasUtf = 0; | |
| var t; | |
| var i = 0; | |
| while (1) { | |
| assert(ptr + i < TOTAL_MEMORY); | |
| t = HEAPU8[(((ptr)+(i))>>0)]; | |
| hasUtf |= t; | |
| if (t == 0 && !length) break; | |
| i++; | |
| if (length && i == length) break; | |
| } | |
| if (!length) length = i; | |
| var ret = ''; | |
| if (hasUtf < 128) { | |
| var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack | |
| var curr; | |
| while (length > 0) { | |
| curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); | |
| ret = ret ? ret + curr : curr; | |
| ptr += MAX_CHUNK; | |
| length -= MAX_CHUNK; | |
| } | |
| return ret; | |
| } | |
| return Module['UTF8ToString'](ptr); | |
| } | |
| Module["Pointer_stringify"] = Pointer_stringify; | |
| // Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns | |
| // a copy of that string as a Javascript String object. | |
| function AsciiToString(ptr) { | |
| var str = ''; | |
| while (1) { | |
| var ch = HEAP8[((ptr++)>>0)]; | |
| if (!ch) return str; | |
| str += String.fromCharCode(ch); | |
| } | |
| } | |
| Module["AsciiToString"] = AsciiToString; | |
| // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', | |
| // null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. | |
| function stringToAscii(str, outPtr) { | |
| return writeAsciiToMemory(str, outPtr, false); | |
| } | |
| Module["stringToAscii"] = stringToAscii; | |
| // Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns | |
| // a copy of that string as a Javascript String object. | |
| function UTF8ArrayToString(u8Array, idx) { | |
| var u0, u1, u2, u3, u4, u5; | |
| var str = ''; | |
| while (1) { | |
| // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 | |
| u0 = u8Array[idx++]; | |
| if (!u0) return str; | |
| if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } | |
| u1 = u8Array[idx++] & 63; | |
| if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } | |
| u2 = u8Array[idx++] & 63; | |
| if ((u0 & 0xF0) == 0xE0) { | |
| u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; | |
| } else { | |
| u3 = u8Array[idx++] & 63; | |
| if ((u0 & 0xF8) == 0xF0) { | |
| u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; | |
| } else { | |
| u4 = u8Array[idx++] & 63; | |
| if ((u0 & 0xFC) == 0xF8) { | |
| u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; | |
| } else { | |
| u5 = u8Array[idx++] & 63; | |
| u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; | |
| } | |
| } | |
| } | |
| if (u0 < 0x10000) { | |
| str += String.fromCharCode(u0); | |
| } else { | |
| var ch = u0 - 0x10000; | |
| str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); | |
| } | |
| } | |
| } | |
| Module["UTF8ArrayToString"] = UTF8ArrayToString; | |
| // Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns | |
| // a copy of that string as a Javascript String object. | |
| function UTF8ToString(ptr) { | |
| return UTF8ArrayToString(HEAPU8,ptr); | |
| } | |
| Module["UTF8ToString"] = UTF8ToString; | |
| // Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', | |
| // encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. | |
| // Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. | |
| // Parameters: | |
| // str: the Javascript string to copy. | |
| // outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. | |
| // outIdx: The starting offset in the array to begin the copying. | |
| // maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null | |
| // terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. | |
| // maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. | |
| // Returns the number of bytes written, EXCLUDING the null terminator. | |
| function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { | |
| if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. | |
| return 0; | |
| var startIdx = outIdx; | |
| var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. | |
| for (var i = 0; i < str.length; ++i) { | |
| // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. | |
| // See http://unicode.org/faq/utf_bom.html#utf16-3 | |
| // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 | |
| var u = str.charCodeAt(i); // possibly a lead surrogate | |
| if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); | |
| if (u <= 0x7F) { | |
| if (outIdx >= endIdx) break; | |
| outU8Array[outIdx++] = u; | |
| } else if (u <= 0x7FF) { | |
| if (outIdx + 1 >= endIdx) break; | |
| outU8Array[outIdx++] = 0xC0 | (u >> 6); | |
| outU8Array[outIdx++] = 0x80 | (u & 63); | |
| } else if (u <= 0xFFFF) { | |
| if (outIdx + 2 >= endIdx) break; | |
| outU8Array[outIdx++] = 0xE0 | (u >> 12); | |
| outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); | |
| outU8Array[outIdx++] = 0x80 | (u & 63); | |
| } else if (u <= 0x1FFFFF) { | |
| if (outIdx + 3 >= endIdx) break; | |
| outU8Array[outIdx++] = 0xF0 | (u >> 18); | |
| outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); | |
| outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); | |
| outU8Array[outIdx++] = 0x80 | (u & 63); | |
| } else if (u <= 0x3FFFFFF) { | |
| if (outIdx + 4 >= endIdx) break; | |
| outU8Array[outIdx++] = 0xF8 | (u >> 24); | |
| outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); | |
| outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); | |
| outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); | |
| outU8Array[outIdx++] = 0x80 | (u & 63); | |
| } else { | |
| if (outIdx + 5 >= endIdx) break; | |
| outU8Array[outIdx++] = 0xFC | (u >> 30); | |
| outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); | |
| outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); | |
| outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); | |
| outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); | |
| outU8Array[outIdx++] = 0x80 | (u & 63); | |
| } | |
| } | |
| // Null-terminate the pointer to the buffer. | |
| outU8Array[outIdx] = 0; | |
| return outIdx - startIdx; | |
| } | |
| Module["stringToUTF8Array"] = stringToUTF8Array; | |
| // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', | |
| // null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. | |
| // Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. | |
| // Returns the number of bytes written, EXCLUDING the null terminator. | |
| function stringToUTF8(str, outPtr, maxBytesToWrite) { | |
| assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); | |
| return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); | |
| } | |
| Module["stringToUTF8"] = stringToUTF8; | |
| // Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. | |
| function lengthBytesUTF8(str) { | |
| var len = 0; | |
| for (var i = 0; i < str.length; ++i) { | |
| // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. | |
| // See http://unicode.org/faq/utf_bom.html#utf16-3 | |
| var u = str.charCodeAt(i); // possibly a lead surrogate | |
| if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); | |
| if (u <= 0x7F) { | |
| ++len; | |
| } else if (u <= 0x7FF) { | |
| len += 2; | |
| } else if (u <= 0xFFFF) { | |
| len += 3; | |
| } else if (u <= 0x1FFFFF) { | |
| len += 4; | |
| } else if (u <= 0x3FFFFFF) { | |
| len += 5; | |
| } else { | |
| len += 6; | |
| } | |
| } | |
| return len; | |
| } | |
| Module["lengthBytesUTF8"] = lengthBytesUTF8; | |
| // Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns | |
| // a copy of that string as a Javascript String object. | |
| function UTF16ToString(ptr) { | |
| var i = 0; | |
| var str = ''; | |
| while (1) { | |
| var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; | |
| if (codeUnit == 0) | |
| return str; | |
| ++i; | |
| // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. | |
| str += String.fromCharCode(codeUnit); | |
| } | |
| } | |
| // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', | |
| // null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. | |
| // Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. | |
| // Parameters: | |
| // str: the Javascript string to copy. | |
| // outPtr: Byte address in Emscripten HEAP where to write the string to. | |
| // maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null | |
| // terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. | |
| // maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. | |
| // Returns the number of bytes written, EXCLUDING the null terminator. | |
| function stringToUTF16(str, outPtr, maxBytesToWrite) { | |
| assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); | |
| // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. | |
| if (maxBytesToWrite === undefined) { | |
| maxBytesToWrite = 0x7FFFFFFF; | |
| } | |
| if (maxBytesToWrite < 2) return 0; | |
| maxBytesToWrite -= 2; // Null terminator. | |
| var startPtr = outPtr; | |
| var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; | |
| for (var i = 0; i < numCharsToWrite; ++i) { | |
| // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. | |
| var codeUnit = str.charCodeAt(i); // possibly a lead surrogate | |
| HEAP16[((outPtr)>>1)]=codeUnit; | |
| outPtr += 2; | |
| } | |
| // Null-terminate the pointer to the HEAP. | |
| HEAP16[((outPtr)>>1)]=0; | |
| return outPtr - startPtr; | |
| } | |
| // Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. | |
| function lengthBytesUTF16(str) { | |
| return str.length*2; | |
| } | |
| function UTF32ToString(ptr) { | |
| var i = 0; | |
| var str = ''; | |
| while (1) { | |
| var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; | |
| if (utf32 == 0) | |
| return str; | |
| ++i; | |
| // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. | |
| // See http://unicode.org/faq/utf_bom.html#utf16-3 | |
| if (utf32 >= 0x10000) { | |
| var ch = utf32 - 0x10000; | |
| str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); | |
| } else { | |
| str += String.fromCharCode(utf32); | |
| } | |
| } | |
| } | |
| // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', | |
| // null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. | |
| // Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. | |
| // Parameters: | |
| // str: the Javascript string to copy. | |
| // outPtr: Byte address in Emscripten HEAP where to write the string to. | |
| // maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null | |
| // terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. | |
| // maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. | |
| // Returns the number of bytes written, EXCLUDING the null terminator. | |
| function stringToUTF32(str, outPtr, maxBytesToWrite) { | |
| assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); | |
| // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. | |
| if (maxBytesToWrite === undefined) { | |
| maxBytesToWrite = 0x7FFFFFFF; | |
| } | |
| if (maxBytesToWrite < 4) return 0; | |
| var startPtr = outPtr; | |
| var endPtr = startPtr + maxBytesToWrite - 4; | |
| for (var i = 0; i < str.length; ++i) { | |
| // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. | |
| // See http://unicode.org/faq/utf_bom.html#utf16-3 | |
| var codeUnit = str.charCodeAt(i); // possibly a lead surrogate | |
| if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { | |
| var trailSurrogate = str.charCodeAt(++i); | |
| codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); | |
| } | |
| HEAP32[((outPtr)>>2)]=codeUnit; | |
| outPtr += 4; | |
| if (outPtr + 4 > endPtr) break; | |
| } | |
| // Null-terminate the pointer to the HEAP. | |
| HEAP32[((outPtr)>>2)]=0; | |
| return outPtr - startPtr; | |
| } | |
| // Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. | |
| function lengthBytesUTF32(str) { | |
| var len = 0; | |
| for (var i = 0; i < str.length; ++i) { | |
| // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. | |
| // See http://unicode.org/faq/utf_bom.html#utf16-3 | |
| var codeUnit = str.charCodeAt(i); | |
| if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. | |
| len += 4; | |
| } | |
| return len; | |
| } | |
| function demangle(func) { | |
| var hasLibcxxabi = !!Module['___cxa_demangle']; | |
| if (hasLibcxxabi) { | |
| try { | |
| var buf = _malloc(func.length); | |
| writeStringToMemory(func.substr(1), buf); | |
| var status = _malloc(4); | |
| var ret = Module['___cxa_demangle'](buf, 0, 0, status); | |
| if (getValue(status, 'i32') === 0 && ret) { | |
| return Pointer_stringify(ret); | |
| } | |
| // otherwise, libcxxabi failed, we can try ours which may return a partial result | |
| } catch(e) { | |
| // failure when using libcxxabi, we can try ours which may return a partial result | |
| return func; | |
| } finally { | |
| if (buf) _free(buf); | |
| if (status) _free(status); | |
| if (ret) _free(ret); | |
| } | |
| } | |
| Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); | |
| return func; | |
| } | |
| function demangleAll(text) { | |
| return text.replace(/__Z[\w\d_]+/g, function(x) { var y = demangle(x); return x === y ? x : (x + ' [' + y + ']') }); | |
| } | |
| function jsStackTrace() { | |
| var err = new Error(); | |
| if (!err.stack) { | |
| // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, | |
| // so try that as a special-case. | |
| try { | |
| throw new Error(0); | |
| } catch(e) { | |
| err = e; | |
| } | |
| if (!err.stack) { | |
| return '(no stack trace available)'; | |
| } | |
| } | |
| return err.stack.toString(); | |
| } | |
| function stackTrace() { | |
| return demangleAll(jsStackTrace()); | |
| } | |
| Module["stackTrace"] = stackTrace; | |
| // Memory management | |
| var PAGE_SIZE = 4096; | |
| function alignMemoryPage(x) { | |
| if (x % 4096 > 0) { | |
| x += (4096 - (x % 4096)); | |
| } | |
| return x; | |
| } | |
| var HEAP; | |
| var buffer; | |
| var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; | |
| function updateGlobalBuffer(buf) { | |
| Module['buffer'] = buffer = buf; | |
| } | |
| function updateGlobalBufferViews() { | |
| Module['HEAP8'] = HEAP8 = new Int8Array(buffer); | |
| Module['HEAP16'] = HEAP16 = new Int16Array(buffer); | |
| Module['HEAP32'] = HEAP32 = new Int32Array(buffer); | |
| Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); | |
| Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); | |
| Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); | |
| Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); | |
| Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); | |
| } | |
| var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area | |
| var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area | |
| var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk | |
| function abortOnCannotGrowMemory() { | |
| abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); | |
| } | |
| function enlargeMemory() { | |
| abortOnCannotGrowMemory(); | |
| } | |
| var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; | |
| var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; | |
| var totalMemory = 64*1024; | |
| while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) { | |
| if (totalMemory < 16*1024*1024) { | |
| totalMemory *= 2; | |
| } else { | |
| totalMemory += 16*1024*1024 | |
| } | |
| } | |
| if (totalMemory !== TOTAL_MEMORY) { | |
| Module.printErr('increasing TOTAL_MEMORY to ' + totalMemory + ' to be compliant with the asm.js spec (and given that TOTAL_STACK=' + TOTAL_STACK + ')'); | |
| TOTAL_MEMORY = totalMemory; | |
| } | |
| // Initialize the runtime's memory | |
| // check for full engine support (use string 'subarray' to avoid closure compiler confusion) | |
| assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), | |
| 'JS engine does not provide full typed array support'); | |
| // Use a provided buffer, if there is one, or else allocate a new one | |
| if (Module['buffer']) { | |
| buffer = Module['buffer']; | |
| assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); | |
| } else { | |
| buffer = new ArrayBuffer(TOTAL_MEMORY); | |
| } | |
| updateGlobalBufferViews(); | |
| // Endianness check (note: assumes compiler arch was little-endian) | |
| HEAP32[0] = 255; | |
| if (HEAPU8[0] !== 255 || HEAPU8[3] !== 0) throw 'Typed arrays 2 must be run on a little-endian system'; | |
| Module['HEAP'] = HEAP; | |
| Module['buffer'] = buffer; | |
| Module['HEAP8'] = HEAP8; | |
| Module['HEAP16'] = HEAP16; | |
| Module['HEAP32'] = HEAP32; | |
| Module['HEAPU8'] = HEAPU8; | |
| Module['HEAPU16'] = HEAPU16; | |
| Module['HEAPU32'] = HEAPU32; | |
| Module['HEAPF32'] = HEAPF32; | |
| Module['HEAPF64'] = HEAPF64; | |
| function callRuntimeCallbacks(callbacks) { | |
| while(callbacks.length > 0) { | |
| var callback = callbacks.shift(); | |
| if (typeof callback == 'function') { | |
| callback(); | |
| continue; | |
| } | |
| var func = callback.func; | |
| if (typeof func === 'number') { | |
| if (callback.arg === undefined) { | |
| Runtime.dynCall('v', func); | |
| } else { | |
| Runtime.dynCall('vi', func, [callback.arg]); | |
| } | |
| } else { | |
| func(callback.arg === undefined ? null : callback.arg); | |
| } | |
| } | |
| } | |
| var __ATPRERUN__ = []; // functions called before the runtime is initialized | |
| var __ATINIT__ = []; // functions called during startup | |
| var __ATMAIN__ = []; // functions called when main() is to be run | |
| var __ATEXIT__ = []; // functions called during shutdown | |
| var __ATPOSTRUN__ = []; // functions called after the runtime has exited | |
| var runtimeInitialized = false; | |
| var runtimeExited = false; | |
| function preRun() { | |
| // compatibility - merge in anything from Module['preRun'] at this time | |
| if (Module['preRun']) { | |
| if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; | |
| while (Module['preRun'].length) { | |
| addOnPreRun(Module['preRun'].shift()); | |
| } | |
| } | |
| callRuntimeCallbacks(__ATPRERUN__); | |
| } | |
| function ensureInitRuntime() { | |
| if (runtimeInitialized) return; | |
| runtimeInitialized = true; | |
| callRuntimeCallbacks(__ATINIT__); | |
| } | |
| function preMain() { | |
| callRuntimeCallbacks(__ATMAIN__); | |
| } | |
| function exitRuntime() { | |
| callRuntimeCallbacks(__ATEXIT__); | |
| runtimeExited = true; | |
| } | |
| function postRun() { | |
| // compatibility - merge in anything from Module['postRun'] at this time | |
| if (Module['postRun']) { | |
| if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; | |
| while (Module['postRun'].length) { | |
| addOnPostRun(Module['postRun'].shift()); | |
| } | |
| } | |
| callRuntimeCallbacks(__ATPOSTRUN__); | |
| } | |
| function addOnPreRun(cb) { | |
| __ATPRERUN__.unshift(cb); | |
| } | |
| Module["addOnPreRun"] = addOnPreRun; | |
| function addOnInit(cb) { | |
| __ATINIT__.unshift(cb); | |
| } | |
| Module["addOnInit"] = addOnInit; | |
| function addOnPreMain(cb) { | |
| __ATMAIN__.unshift(cb); | |
| } | |
| Module["addOnPreMain"] = addOnPreMain; | |
| function addOnExit(cb) { | |
| __ATEXIT__.unshift(cb); | |
| } | |
| Module["addOnExit"] = addOnExit; | |
| function addOnPostRun(cb) { | |
| __ATPOSTRUN__.unshift(cb); | |
| } | |
| Module["addOnPostRun"] = addOnPostRun; | |
| // Tools | |
| function intArrayFromString(stringy, dontAddNull, length /* optional */) { | |
| var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; | |
| var u8array = new Array(len); | |
| var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); | |
| if (dontAddNull) u8array.length = numBytesWritten; | |
| return u8array; | |
| } | |
| Module["intArrayFromString"] = intArrayFromString; | |
| function intArrayToString(array) { | |
| var ret = []; | |
| for (var i = 0; i < array.length; i++) { | |
| var chr = array[i]; | |
| if (chr > 0xFF) { | |
| assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); | |
| chr &= 0xFF; | |
| } | |
| ret.push(String.fromCharCode(chr)); | |
| } | |
| return ret.join(''); | |
| } | |
| Module["intArrayToString"] = intArrayToString; | |
| function writeStringToMemory(string, buffer, dontAddNull) { | |
| var array = intArrayFromString(string, dontAddNull); | |
| var i = 0; | |
| while (i < array.length) { | |
| var chr = array[i]; | |
| HEAP8[(((buffer)+(i))>>0)]=chr; | |
| i = i + 1; | |
| } | |
| } | |
| Module["writeStringToMemory"] = writeStringToMemory; | |
| function writeArrayToMemory(array, buffer) { | |
| for (var i = 0; i < array.length; i++) { | |
| HEAP8[((buffer++)>>0)]=array[i]; | |
| } | |
| } | |
| Module["writeArrayToMemory"] = writeArrayToMemory; | |
| function writeAsciiToMemory(str, buffer, dontAddNull) { | |
| for (var i = 0; i < str.length; ++i) { | |
| assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); | |
| HEAP8[((buffer++)>>0)]=str.charCodeAt(i); | |
| } | |
| // Null-terminate the pointer to the HEAP. | |
| if (!dontAddNull) HEAP8[((buffer)>>0)]=0; | |
| } | |
| Module["writeAsciiToMemory"] = writeAsciiToMemory; | |
| function unSign(value, bits, ignore) { | |
| if (value >= 0) { | |
| return value; | |
| } | |
| return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts | |
| : Math.pow(2, bits) + value; | |
| } | |
| function reSign(value, bits, ignore) { | |
| if (value <= 0) { | |
| return value; | |
| } | |
| var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 | |
| : Math.pow(2, bits-1); | |
| if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that | |
| // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors | |
| // TODO: In i64 mode 1, resign the two parts separately and safely | |
| value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts | |
| } | |
| return value; | |
| } | |
| // check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) | |
| if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { | |
| var ah = a >>> 16; | |
| var al = a & 0xffff; | |
| var bh = b >>> 16; | |
| var bl = b & 0xffff; | |
| return (al*bl + ((ah*bl + al*bh) << 16))|0; | |
| }; | |
| Math.imul = Math['imul']; | |
| if (!Math['clz32']) Math['clz32'] = function(x) { | |
| x = x >>> 0; | |
| for (var i = 0; i < 32; i++) { | |
| if (x & (1 << (31 - i))) return i; | |
| } | |
| return 32; | |
| }; | |
| Math.clz32 = Math['clz32'] | |
| if (!Math['trunc']) Math['trunc'] = function(x) { | |
| return x < 0 ? Math.ceil(x) : Math.floor(x); | |
| }; | |
| Math.trunc = Math['trunc']; | |
| var Math_abs = Math.abs; | |
| var Math_cos = Math.cos; | |
| var Math_sin = Math.sin; | |
| var Math_tan = Math.tan; | |
| var Math_acos = Math.acos; | |
| var Math_asin = Math.asin; | |
| var Math_atan = Math.atan; | |
| var Math_atan2 = Math.atan2; | |
| var Math_exp = Math.exp; | |
| var Math_log = Math.log; | |
| var Math_sqrt = Math.sqrt; | |
| var Math_ceil = Math.ceil; | |
| var Math_floor = Math.floor; | |
| var Math_pow = Math.pow; | |
| var Math_imul = Math.imul; | |
| var Math_fround = Math.fround; | |
| var Math_min = Math.min; | |
| var Math_clz32 = Math.clz32; | |
| var Math_trunc = Math.trunc; | |
| // A counter of dependencies for calling run(). If we need to | |
| // do asynchronous work before running, increment this and | |
| // decrement it. Incrementing must happen in a place like | |
| // PRE_RUN_ADDITIONS (used by emcc to add file preloading). | |
| // Note that you can add dependencies in preRun, even though | |
| // it happens right before run - run will be postponed until | |
| // the dependencies are met. | |
| var runDependencies = 0; | |
| var runDependencyWatcher = null; | |
| var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled | |
| var runDependencyTracking = {}; | |
| function getUniqueRunDependency(id) { | |
| var orig = id; | |
| while (1) { | |
| if (!runDependencyTracking[id]) return id; | |
| id = orig + Math.random(); | |
| } | |
| return id; | |
| } | |
| function addRunDependency(id) { | |
| runDependencies++; | |
| if (Module['monitorRunDependencies']) { | |
| Module['monitorRunDependencies'](runDependencies); | |
| } | |
| if (id) { | |
| assert(!runDependencyTracking[id]); | |
| runDependencyTracking[id] = 1; | |
| if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { | |
| // Check for missing dependencies every few seconds | |
| runDependencyWatcher = setInterval(function() { | |
| if (ABORT) { | |
| clearInterval(runDependencyWatcher); | |
| runDependencyWatcher = null; | |
| return; | |
| } | |
| var shown = false; | |
| for (var dep in runDependencyTracking) { | |
| if (!shown) { | |
| shown = true; | |
| Module.printErr('still waiting on run dependencies:'); | |
| } | |
| Module.printErr('dependency: ' + dep); | |
| } | |
| if (shown) { | |
| Module.printErr('(end of list)'); | |
| } | |
| }, 10000); | |
| } | |
| } else { | |
| Module.printErr('warning: run dependency added without ID'); | |
| } | |
| } | |
| Module["addRunDependency"] = addRunDependency; | |
| function removeRunDependency(id) { | |
| runDependencies--; | |
| if (Module['monitorRunDependencies']) { | |
| Module['monitorRunDependencies'](runDependencies); | |
| } | |
| if (id) { | |
| assert(runDependencyTracking[id]); | |
| delete runDependencyTracking[id]; | |
| } else { | |
| Module.printErr('warning: run dependency removed without ID'); | |
| } | |
| if (runDependencies == 0) { | |
| if (runDependencyWatcher !== null) { | |
| clearInterval(runDependencyWatcher); | |
| runDependencyWatcher = null; | |
| } | |
| if (dependenciesFulfilled) { | |
| var callback = dependenciesFulfilled; | |
| dependenciesFulfilled = null; | |
| callback(); // can add another dependenciesFulfilled | |
| } | |
| } | |
| } | |
| Module["removeRunDependency"] = removeRunDependency; | |
| Module["preloadedImages"] = {}; // maps url to image data | |
| Module["preloadedAudios"] = {}; // maps url to audio data | |
| var memoryInitializer = null; | |
| // === Body === | |
| var ASM_CONSTS = []; | |
| STATIC_BASE = 8; | |
| STATICTOP = STATIC_BASE + 8736; | |
| /* global initializers */ __ATINIT__.push(); | |
| /* memory initializer */ allocate([1,0,0,0,12,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,7,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,12,0,0,0,4,0,0,0,14,0,0,0,16,0,0,0,16,0,0,0,4,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,7,0,0,0,4,0,0,0,4,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,7,0,0,0,8,0,0,0,4,0,0,0,23,0,0,0,225,10,0,0,8,0,0,0,7,0,0,0,4,0,0,0,4,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,0,0,0,7,0,0,0,4,0,0,0,4,0,0,0,30,0,0,0,31,0,0,0,16,0,0,0,4,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,7,0,0,0,4,0,0,0,4,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,39,0,0,0,4,0,0,0,4,0,0,0,40,0,0,0,76,17,0,0,2,0,0,0,126,11,0,0,1,0,0,0,12,30,0,0,0,0,0,0,78,17,0,0,5,0,0,0,39,0,0,0,8,0,0,0,4,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,39,0,0,0,4,0,0,0,4,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,118,11,0,0,1,0,0,0,12,30,0,0,0,0,0,0,39,0,0,0,4,0,0,0,4,0,0,0,47,0,0,0,172,8,0,0,24,0,0,0,196,8,0,0,44,0,0,0,240,8,0,0,11,0,0,0,251,8,0,0,2,0,0,0,253,8,0,0,29,0,0,0,39,0,0,0,0,0,0,0,9,0,0,0,26,9,0,0,35,0,0,0,21,0,0,0,0,0,0,0,15,0,0,0,146,9,0,0,50,0,0,0,89,10,0,0,25,0,0,0,77,0,0,0,12,30,0,0,0,0,0,0,157,10,0,0,11,0,0,0,168,10,0,0,1,0,0,0,169,10,0,0,36,0,0,0,205,10,0,0,3,0,0,0,208,10,0,0,17,0,0,0,204,0,0,0,0,0,0,0,24,0,0,0,242,10,0,0,8,0,0,0,250,10,0,0,15,0,0,0,9,11,0,0,3,0,0,0,12,11,0,0,1,0,0,0,13,11,0,0,1,0,0,0,14,11,0,0,17,0,0,0,31,11,0,0,22,0,0,0,10,0,0,0,53,11,0,0,2,0,0,0,55,11,0,0,2,0,0,0,57,11,0,0,3,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,67,11,0,0,22,0,0,0,202,7,0,0,157,11,0,0,9,0,0,0,255,255,255,255,166,11,0,0,51,0,0,0,217,11,0,0,43,0,0,0,4,12,0,0,32,0,0,0,36,12,0,0,21,0,0,0,13,11,0,0,1,0,0,0,83,12,0,0,37,0,0,0,188,0,0,0,0,0,0,0,24,0,0,0,189,12,0,0,27,0,0,0,216,12,0,0,22,0,0,0,114,2,0,0,20,13,0,0,36,0,0,0,52,0,0,0,95,13,0,0,36,0,0,0,57,0,0,0,197,13,0,0,26,0,0,0,88,0,0,0,42,14,0,0,29,0,0,0,63,0,0,0,96,14,0,0,28,0,0,0,71,14,0,0,25,0,0,0,45,3,0,0,48,0,0,0,57,0,0,0,96,6,0,0,105,6,0,0,240,6,0,0,249,6,0,0,192,7,0,0,201,7,0,0,102,9,0,0,111,9,0,0,230,9,0,0,239,9,0,0,102,10,0,0,111,10,0,0,230,10,0,0,239,10,0,0,102,11,0,0,111,11,0,0,230,11,0,0,239,11,0,0,102,12,0,0,111,12,0,0,230,12,0,0,239,12,0,0,102,13,0,0,111,13,0,0,230,13,0,0,239,13,0,0,80,14,0,0,89,14,0,0,208,14,0,0,217,14,0,0,32,15,0,0,41,15,0,0,64,16,0,0,73,16,0,0,144,16,0,0,153,16,0,0,238,22,0,0,240,22,0,0,224,23,0,0,233,23,0,0,16,24,0,0,25,24,0,0,70,25,0,0,79,25,0,0,208,25,0,0,217,25,0,0,128,26,0,0,137,26,0,0,144,26,0,0,153,26,0,0,80,27,0,0,89,27,0,0,176,27,0,0,185,27,0,0,64,28,0,0,73,28,0,0,80,28,0,0,89,28,0,0,96,33,0,0,130,33,0,0,133,33,0,0,136,33,0,0,7,48,0,0,7,48,0,0,33,48,0,0,41,48,0,0,56,48,0,0,58,48,0,0,32,166,0,0,41,166,0,0,230,166,0,0,239,166,0,0,208,168,0,0,217,168,0,0,0,169,0,0,9,169,0,0,208,169,0,0,217,169,0,0,240,169,0,0,249,169,0,0,80,170,0,0,89,170,0,0,240,171,0,0,249,171,0,0,16,255,0,0,25,255,0,0,64,1,1,0,116,1,1,0,65,3,1,0,65,3,1,0,74,3,1,0,74,3,1,0,209,3,1,0,213,3,1,0,160,4,1,0,169,4,1,0,102,16,1,0,111,16,1,0,240,16,1,0,249,16,1,0,54,17,1,0,63,17,1,0,208,17,1,0,217,17,1,0,240,18,1,0,249,18,1,0,208,20,1,0,217,20,1,0,80,22,1,0,89,22,1,0,192,22,1,0,201,22,1,0,48,23,1,0,57,23,1,0,224,24,1,0,233,24,1,0,0,36,1,0,110,36,1,0,96,106,1,0,105,106,1,0,80,107,1,0,89,107,1,0,206,215,1,0,255,215,1,0,181,14,0,0,36,0,0,0,158,14,0,0,23,0,0,0,0,2,0,0,141,14,0,0,17,0,0,0,158,14,0,0,23,0,0,0,75,2,0,0,38,0,0,0,237,14,0,0,36,0,0,0,217,14,0,0,20,0,0,0,254,1,0,0,17,15,0,0,43,0,0,0,60,15,0,0,21,0,0,0,74,1,0,0,100,15,0,0,35,0,0,0,81,15,0,0,19,0,0,0,144,1,0,0,135,15,0,0,27,0,0,0,81,15,0,0,19,0,0,0,192,1,0,0,162,15,0,0,21,0,0,0,234,2,0,0,12,30,0,0,0,0,0,0,183,15,0,0,2,0,0,0,153,16,0,0,32,0,0,0,185,16,0,0,18,0,0,0,203,16,0,0,22,0,0,0,225,16,0,0,13,0,0,0,217,14,0,0,20,0,0,0,21,2,0,0,238,16,0,0,6,0,0,0,244,16,0,0,34,0,0,0,217,14,0,0,20,0,0,0,15,2,0,0,83,17,0,0,14,0,0,0,97,17,0,0,4,0,0,0,101,17,0,0,16,0,0,0,117,17,0,0,1,0,0,0,185,15,0,0,22,0,0,0,132,6,0,0,238,16,0,0,6,0,0,0,118,17,0,0,8,0,0,0,126,17,0,0,5,0,0,0,117,17,0,0,1,0,0,0,131,17,0,0,33,0,0,0,185,15,0,0,22,0,0,0,134,6,0,0,12,30,0,0,0,0,0,0,164,17,0,0,1,0,0,0,183,15,0,0,2,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,169,17,0,0,22,0,0,0,80,3,0,0,169,17,0,0,22,0,0,0,68,3,0,0,12,30,0,0,0,0,0,0,191,17,0,0,1,0,0,0,183,15,0,0,2,0,0,0,12,30,0,0,0,0,0,0,164,17,0,0,1,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,12,30,0,0,0,0,0,0,12,30,0,0,0,0,0,0,12,30,0,0,0,0,0,0,194,17,0,0,27,0,0,0,183,15,0,0,2,0,0,0,221,17,0,0,22,0,0,0,138,0,0,0,12,30,0,0,0,0,0,0,60,15,0,0,21,0,0,0,192,2,0,0,9,19,0,0,24,0,0,0,185,15,0,0,22,0,0,0,210,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,0,0,0,50,0,0,0,20,30,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,8,0,0,72,101,108,108,111,32,101,109,115,99,114,105,112,116,101,110,32,119,111,114,108,100,33,10,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,96,40,108,101,102,116,32,61,61,32,114,105,103,104,116,41,96,32,40,108,101,102,116,58,32,96,96,44,32,114,105,103,104,116,58,32,96,96,41,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,117,110,105,120,47,114,119,108,111,99,107,46,114,115,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,117,110,105,120,47,116,104,114,101,97,100,95,108,111,99,97,108,46,114,115,83,116,114,105,110,103,69,114,114,111,114,99,97,112,97,99,105,116,121,32,111,118,101,114,102,108,111,119,99,97,110,110,111,116,32,97,99,99,101,115,115,32,97,32,84,76,83,32,118,97,108,117,101,32,100,117,114,105,110,103,32,111,114,32,97,102,116,101,114,32,105,116,32,105,115,32,100,101,115,116,114,111,121,101,100,116,104,114,101,97,100,32,112,97,110,105,99,107,101,100,32,119,104,105,108,101,32,112,114,111,99,101,115,115,105,110,103,32,112,97,110,105,99,46,32,97,98,111,114,116,105,110,103,46,10,102,97,105,108,101,100,32,116,111,32,119,114,105,116,101,32,119,104,111,108,101,32,98,117,102,102,101,114,102,111,114,109,97,116,116,101,114,32,101,114,114,111,114,114,119,108,111,99,107,32,114,101,97,100,32,108,111,99,107,32,119,111,117,108,100,32,114,101,115,117,108,116,32,105,110,32,100,101,97,100,108,111,99,107,82,85,83,84,95,66,65,67,75,84,82,65,67,69,100,97,116,97,32,112,114,111,118,105,100,101,100,32,99,111,110,116,97,105,110,115,32,97,32,110,117,108,32,98,121,116,101,115,116,114,101,114,114,111,114,95,114,32,102,97,105,108,117,114,101,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,117,110,105,120,47,111,115,46,114,115,99,97,108,108,101,100,32,96,82,101,115,117,108,116,58,58,117,110,119,114,97,112,40,41,96,32,111,110,32,97,110,32,96,69,114,114,96,32,118,97,108,117,101,32,40,111,115,32,101,114,114,111,114,32,41,102,97,105,108,101,100,32,116,111,32,103,101,116,32,101,110,118,105,114,111,110,109,101,110,116,32,118,97,114,105,97,98,108,101,32,96,96,58,32,115,114,99,47,108,105,98,115,116,100,47,101,110,118,46,114,115,66,111,120,60,65,110,121,62,60,117,110,110,97,109,101,100,62,116,104,114,101,97,100,32,39,39,32,112,97,110,105,99,107,101,100,32,97,116,32,39,39,44,32,58,10,115,116,97,99,107,32,98,97,99,107,116,114,97,99,101,58,10,32,46,46,46,32,60,102,114,97,109,101,115,32,111,109,105,116,116,101,100,62,10,32,32,58,32,32,45,32,95,90,78,90,78,58,58,115,114,99,47,108,105,98,99,111,114,101,47,115,116,114,47,109,111,100,46,114,115,36,83,80,36,64,36,66,80,36,42,36,82,70,36,38,36,76,84,36,60,36,71,84,36,62,36,76,80,36,40,36,82,80,36,36,67,36,44,36,117,55,101,36,126,36,117,50,48,36,32,36,117,50,55,36,39,36,117,53,98,36,91,36,117,53,100,36,93,60,117,110,107,110,111,119,110,62,110,111,116,101,58,32,82,117,110,32,119,105,116,104,32,96,82,85,83,84,95,66,65,67,75,84,82,65,67,69,61,49,96,32,102,111,114,32,97,32,98,97,99,107,116,114,97,99,101,46,10,116,104,114,101,97,100,32,112,97,110,105,99,107,101,100,32,119,104,105,108,101,32,112,97,110,105,99,107,105,110,103,46,32,97,98,111,114,116,105,110,103,46,10,67,111,117,108,100,32,110,111,116,32,117,110,119,105,110,100,32,115,116,97,99,107,44,32,101,114,114,111,114,32,61,32,102,97,116,97,108,32,114,117,110,116,105,109,101,32,101,114,114,111,114,58,32,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,107,101,121,32,33,61,32,48,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,99,111,109,109,111,110,47,116,104,114,101,97,100,95,108,111,99,97,108,46,114,115,102,97,105,108,101,100,32,116,111,32,119,114,105,116,101,32,116,104,101,32,98,117,102,102,101,114,101,100,32,100,97,116,97,99,97,110,110,111,116,32,97,99,99,101,115,115,32,115,116,100,111,117,116,32,100,117,114,105,110,103,32,115,104,117,116,100,111,119,110,102,97,105,108,101,100,32,112,114,105,110,116,105,110,103,32,116,111,32,115,116,100,111,117,116,58,32,115,114,99,47,108,105,98,115,116,100,47,105,111,47,115,116,100,105,111,46,114,115,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,99,46,98,111,114,114,111,119,40,41,46,105,115,95,110,111,110,101,40,41,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,99,111,109,109,111,110,47,116,104,114,101,97,100,95,105,110,102,111,46,114,115,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,40,113,117,101,117,101,32,97,115,32,117,115,105,122,101,41,32,33,61,32,49,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,99,111,109,109,111,110,47,97,116,95,101,120,105,116,95,105,109,112,46,114,115,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,108,105,98,99,58,58,115,105,103,110,97,108,40,108,105,98,99,58,58,83,73,71,80,73,80,69,44,32,108,105,98,99,58,58,83,73,71,95,73,71,78,41,32,33,61,32,33,48,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,117,110,105,120,47,109,111,100,46,114,115,102,97,116,97,108,32,114,117,110,116,105,109,101,32,101,114,114,111,114,58,32,111,117,116,32,111,102,32,109,101,109,111,114,121,10,60,109,97,105,110,62,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,40,42,112,116,114,41,46,105,115,95,110,111,110,101,40,41,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,99,111,109,109,111,110,47,97,114,103,115,46,114,115,115,114,99,47,108,105,98,99,111,108,108,101,99,116,105,111,110,115,47,118,101,99,46,114,115,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,101,110,100,32,60,61,32,108,101,110,99,97,112,97,99,105,116,121,32,111,118,101,114,102,108,111,119,99,97,112,97,99,105,116,121,32,111,118,101,114,102,108,111,119,115,114,99,47,108,105,98,97,108,108,111,99,47,114,97,119,95,118,101,99,46,114,115,84,114,105,101,100,32,116,111,32,115,104,114,105,110,107,32,116,111,32,97,32,108,97,114,103,101,114,32,99,97,112,97,99,105,116,121,115,114,99,47,108,105,98,99,111,114,101,47,115,108,105,99,101,46,114,115,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,105,110,100,101,120,32,60,32,115,101,108,102,46,108,101,110,40,41,99,97,108,108,101,100,32,96,79,112,116,105,111,110,58,58,117,110,119,114,97,112,40,41,96,32,111,110,32,97,32,96,78,111,110,101,96,32,118,97,108,117,101,115,114,99,47,108,105,98,99,111,114,101,47,111,112,116,105,111,110,46,114,115,115,114,99,47,108,105,98,99,111,114,101,47,99,101,108,108,46,114,115,82,101,102,67,101,108,108,60,84,62,32,97,108,114,101,97,100,121,32,109,117,116,97,98,108,121,32,98,111,114,114,111,119,101,100,82,101,102,67,101,108,108,60,84,62,32,97,108,114,101,97,100,121,32,98,111,114,114,111,119,101,100,115,114,99,47,108,105,98,99,111,114,101,47,114,101,115,117,108,116,46,114,115,58,32,115,114,99,47,108,105,98,99,111,114,101,47,115,116,114,47,109,111,100,46,114,115,32,125,48,48,48,49,48,50,48,51,48,52,48,53,48,54,48,55,48,56,48,57,49,48,49,49,49,50,49,51,49,52,49,53,49,54,49,55,49,56,49,57,50,48,50,49,50,50,50,51,50,52,50,53,50,54,50,55,50,56,50,57,51,48,51,49,51,50,51,51,51,52,51,53,51,54,51,55,51,56,51,57,52,48,52,49,52,50,52,51,52,52,52,53,52,54,52,55,52,56,52,57,53,48,53,49,53,50,53,51,53,52,53,53,53,54,53,55,53,56,53,57,54,48,54,49,54,50,54,51,54,52,54,53,54,54,54,55,54,56,54,57,55,48,55,49,55,50,55,51,55,52,55,53,55,54,55,55,55,56,55,57,56,48,56,49,56,50,56,51,56,52,56,53,56,54,56,55,56,56,56,57,57,48,57,49,57,50,57,51,57,52,57,53,57,54,57,55,57,56,57,57,105,110,100,101,120,32,111,117,116,32,111,102,32,98,111,117,110,100,115,58,32,116,104,101,32,108,101,110,32,105,115,32,32,98,117,116,32,116,104,101,32,105,110,100,101,120,32,105,115,32,115,108,105,99,101,32,105,110,100,101,120,32,115,116,97,114,116,115,32,97,116,32,32,98,117,116,32,101,110,100,115,32,97,116,32,105,110,100,101,120,32,32,111,117,116,32,111,102,32,114,97,110,103,101,32,102,111,114,32,115,108,105,99,101,32,111,102,32,108,101,110,103,116,104,32,10,41,41,80,97,114,115,101,73,110,116,69,114,114,111,114,107,105,110,100,69,109,112,116,121,73,110,118,97,108,105,100,68,105,103,105,116,79,118,101,114,102,108,111,119,85,110,100,101,114,102,108,111,119,32,123,91,46,46,46,93,98,101,103,105,110,32,60,61,32,101,110,100,32,40,32,60,61,32,41,32,119,104,101,110,32,115,108,105,99,105,110,103,32,96,96,32,97,110,100,47,111,114,32,32,105,110,32,96,32,100,111,32,110,111,116,32,108,105,101,32,111,110,32,99,104,97,114,97,99,116,101,114,32,98,111,117,110,100,97,114,121,10,32,32,32,32,115,114,99,47,108,105,98,99,111,114,101,47,102,109,116,47,109,111,100,46,114,115,32,10,125,110,117,109,98,101,114,32,110,111,116,32,105,110,32,116,104,101,32,114,97,110,103,101,32,48,46,46,115,114,99,47,108,105,98,99,111,114,101,47,102,109,116,47,110,117,109,46,114,115,48,120,85,116,102,56,69,114,114,111,114,118,97,108,105,100,95,117,112,95,116,111,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,119,32,33,61,32,48,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); | |
| /* no memory initializer */ | |
| var tempDoublePtr = STATICTOP; STATICTOP += 16; | |
| assert(tempDoublePtr % 8 == 0); | |
| function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much | |
| HEAP8[tempDoublePtr] = HEAP8[ptr]; | |
| HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; | |
| HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; | |
| HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; | |
| } | |
| function copyTempDouble(ptr) { | |
| HEAP8[tempDoublePtr] = HEAP8[ptr]; | |
| HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; | |
| HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; | |
| HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; | |
| HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; | |
| HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; | |
| HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; | |
| HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; | |
| } | |
| // {{PRE_LIBRARY}} | |
| function ___setErrNo(value) { | |
| if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; | |
| else Module.printErr('failed to set errno from JS'); | |
| return value; | |
| } | |
| var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name) { | |
| // long sysconf(int name); | |
| // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html | |
| switch(name) { | |
| case 30: return PAGE_SIZE; | |
| case 85: return totalMemory / PAGE_SIZE; | |
| case 132: | |
| case 133: | |
| case 12: | |
| case 137: | |
| case 138: | |
| case 15: | |
| case 235: | |
| case 16: | |
| case 17: | |
| case 18: | |
| case 19: | |
| case 20: | |
| case 149: | |
| case 13: | |
| case 10: | |
| case 236: | |
| case 153: | |
| case 9: | |
| case 21: | |
| case 22: | |
| case 159: | |
| case 154: | |
| case 14: | |
| case 77: | |
| case 78: | |
| case 139: | |
| case 80: | |
| case 81: | |
| case 82: | |
| case 68: | |
| case 67: | |
| case 164: | |
| case 11: | |
| case 29: | |
| case 47: | |
| case 48: | |
| case 95: | |
| case 52: | |
| case 51: | |
| case 46: | |
| return 200809; | |
| case 79: | |
| return 0; | |
| case 27: | |
| case 246: | |
| case 127: | |
| case 128: | |
| case 23: | |
| case 24: | |
| case 160: | |
| case 161: | |
| case 181: | |
| case 182: | |
| case 242: | |
| case 183: | |
| case 184: | |
| case 243: | |
| case 244: | |
| case 245: | |
| case 165: | |
| case 178: | |
| case 179: | |
| case 49: | |
| case 50: | |
| case 168: | |
| case 169: | |
| case 175: | |
| case 170: | |
| case 171: | |
| case 172: | |
| case 97: | |
| case 76: | |
| case 32: | |
| case 173: | |
| case 35: | |
| return -1; | |
| case 176: | |
| case 177: | |
| case 7: | |
| case 155: | |
| case 8: | |
| case 157: | |
| case 125: | |
| case 126: | |
| case 92: | |
| case 93: | |
| case 129: | |
| case 130: | |
| case 131: | |
| case 94: | |
| case 91: | |
| return 1; | |
| case 74: | |
| case 60: | |
| case 69: | |
| case 70: | |
| case 4: | |
| return 1024; | |
| case 31: | |
| case 42: | |
| case 72: | |
| return 32; | |
| case 87: | |
| case 26: | |
| case 33: | |
| return 2147483647; | |
| case 34: | |
| case 1: | |
| return 47839; | |
| case 38: | |
| case 36: | |
| return 99; | |
| case 43: | |
| case 37: | |
| return 2048; | |
| case 0: return 2097152; | |
| case 3: return 65536; | |
| case 28: return 32768; | |
| case 44: return 32767; | |
| case 75: return 16384; | |
| case 39: return 1000; | |
| case 89: return 700; | |
| case 71: return 256; | |
| case 40: return 255; | |
| case 2: return 100; | |
| case 180: return 64; | |
| case 25: return 20; | |
| case 5: return 16; | |
| case 6: return 6; | |
| case 73: return 4; | |
| case 84: { | |
| if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; | |
| return 1; | |
| } | |
| } | |
| ___setErrNo(ERRNO_CODES.EINVAL); | |
| return -1; | |
| } | |
| Module["_memset"] = _memset; | |
| function __Unwind_FindEnclosingFunction() { | |
| return 0; // we cannot succeed | |
| } | |
| function _pthread_mutex_lock() {} | |
| function _pthread_mutexattr_settype() {} | |
| function _abort() { | |
| Module['abort'](); | |
| } | |
| function _pthread_cond_destroy() { return 0; } | |
| function ___lock() {} | |
| function __Unwind_DeleteException(ex) { | |
| Module.printErr('TODO: Unwind_DeleteException'); | |
| } | |
| var PTHREAD_SPECIFIC={};function _pthread_getspecific(key) { | |
| return PTHREAD_SPECIFIC[key] || 0; | |
| } | |
| function _dladdr(addr, info) { | |
| // report all function pointers as coming from this program itself XXX not really correct in any way | |
| var fname = allocate(intArrayFromString(Module['thisProgram'] || './this.program'), 'i8', ALLOC_NORMAL); // XXX leak | |
| HEAP32[((addr)>>2)]=fname; | |
| HEAP32[(((addr)+(4))>>2)]=0; | |
| HEAP32[(((addr)+(8))>>2)]=0; | |
| HEAP32[(((addr)+(12))>>2)]=0; | |
| return 1; | |
| } | |
| var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key, destructor) { | |
| if (key == 0) { | |
| return ERRNO_CODES.EINVAL; | |
| } | |
| HEAP32[((key)>>2)]=PTHREAD_SPECIFIC_NEXT_KEY; | |
| // values start at 0 | |
| PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY] = 0; | |
| PTHREAD_SPECIFIC_NEXT_KEY++; | |
| return 0; | |
| } | |
| function _pthread_mutex_init() {} | |
| function _pthread_key_delete(key) { | |
| if (key in PTHREAD_SPECIFIC) { | |
| delete PTHREAD_SPECIFIC[key]; | |
| return 0; | |
| } | |
| return ERRNO_CODES.EINVAL; | |
| } | |
| function _pthread_self() { | |
| //FIXME: assumes only a single thread | |
| return 0; | |
| } | |
| function ___unlock() {} | |
| function _pthread_setspecific(key, value) { | |
| if (!(key in PTHREAD_SPECIFIC)) { | |
| return ERRNO_CODES.EINVAL; | |
| } | |
| PTHREAD_SPECIFIC[key] = value; | |
| return 0; | |
| } | |
| function _pthread_mutexattr_destroy() {} | |
| var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; | |
| var PATH={splitPath:function (filename) { | |
| var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; | |
| return splitPathRe.exec(filename).slice(1); | |
| },normalizeArray:function (parts, allowAboveRoot) { | |
| // if the path tries to go above the root, `up` ends up > 0 | |
| var up = 0; | |
| for (var i = parts.length - 1; i >= 0; i--) { | |
| var last = parts[i]; | |
| if (last === '.') { | |
| parts.splice(i, 1); | |
| } else if (last === '..') { | |
| parts.splice(i, 1); | |
| up++; | |
| } else if (up) { | |
| parts.splice(i, 1); | |
| up--; | |
| } | |
| } | |
| // if the path is allowed to go above the root, restore leading ..s | |
| if (allowAboveRoot) { | |
| for (; up--; up) { | |
| parts.unshift('..'); | |
| } | |
| } | |
| return parts; | |
| },normalize:function (path) { | |
| var isAbsolute = path.charAt(0) === '/', | |
| trailingSlash = path.substr(-1) === '/'; | |
| // Normalize the path | |
| path = PATH.normalizeArray(path.split('/').filter(function(p) { | |
| return !!p; | |
| }), !isAbsolute).join('/'); | |
| if (!path && !isAbsolute) { | |
| path = '.'; | |
| } | |
| if (path && trailingSlash) { | |
| path += '/'; | |
| } | |
| return (isAbsolute ? '/' : '') + path; | |
| },dirname:function (path) { | |
| var result = PATH.splitPath(path), | |
| root = result[0], | |
| dir = result[1]; | |
| if (!root && !dir) { | |
| // No dirname whatsoever | |
| return '.'; | |
| } | |
| if (dir) { | |
| // It has a dirname, strip trailing slash | |
| dir = dir.substr(0, dir.length - 1); | |
| } | |
| return root + dir; | |
| },basename:function (path) { | |
| // EMSCRIPTEN return '/'' for '/', not an empty string | |
| if (path === '/') return '/'; | |
| var lastSlash = path.lastIndexOf('/'); | |
| if (lastSlash === -1) return path; | |
| return path.substr(lastSlash+1); | |
| },extname:function (path) { | |
| return PATH.splitPath(path)[3]; | |
| },join:function () { | |
| var paths = Array.prototype.slice.call(arguments, 0); | |
| return PATH.normalize(paths.join('/')); | |
| },join2:function (l, r) { | |
| return PATH.normalize(l + '/' + r); | |
| },resolve:function () { | |
| var resolvedPath = '', | |
| resolvedAbsolute = false; | |
| for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { | |
| var path = (i >= 0) ? arguments[i] : FS.cwd(); | |
| // Skip empty and invalid entries | |
| if (typeof path !== 'string') { | |
| throw new TypeError('Arguments to path.resolve must be strings'); | |
| } else if (!path) { | |
| return ''; // an invalid portion invalidates the whole thing | |
| } | |
| resolvedPath = path + '/' + resolvedPath; | |
| resolvedAbsolute = path.charAt(0) === '/'; | |
| } | |
| // At this point the path should be resolved to a full absolute path, but | |
| // handle relative paths to be safe (might happen when process.cwd() fails) | |
| resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { | |
| return !!p; | |
| }), !resolvedAbsolute).join('/'); | |
| return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; | |
| },relative:function (from, to) { | |
| from = PATH.resolve(from).substr(1); | |
| to = PATH.resolve(to).substr(1); | |
| function trim(arr) { | |
| var start = 0; | |
| for (; start < arr.length; start++) { | |
| if (arr[start] !== '') break; | |
| } | |
| var end = arr.length - 1; | |
| for (; end >= 0; end--) { | |
| if (arr[end] !== '') break; | |
| } | |
| if (start > end) return []; | |
| return arr.slice(start, end - start + 1); | |
| } | |
| var fromParts = trim(from.split('/')); | |
| var toParts = trim(to.split('/')); | |
| var length = Math.min(fromParts.length, toParts.length); | |
| var samePartsLength = length; | |
| for (var i = 0; i < length; i++) { | |
| if (fromParts[i] !== toParts[i]) { | |
| samePartsLength = i; | |
| break; | |
| } | |
| } | |
| var outputParts = []; | |
| for (var i = samePartsLength; i < fromParts.length; i++) { | |
| outputParts.push('..'); | |
| } | |
| outputParts = outputParts.concat(toParts.slice(samePartsLength)); | |
| return outputParts.join('/'); | |
| }}; | |
| var TTY={ttys:[],init:function () { | |
| // https://github.com/kripken/emscripten/pull/1555 | |
| // if (ENVIRONMENT_IS_NODE) { | |
| // // currently, FS.init does not distinguish if process.stdin is a file or TTY | |
| // // device, it always assumes it's a TTY device. because of this, we're forcing | |
| // // process.stdin to UTF8 encoding to at least make stdin reading compatible | |
| // // with text files until FS.init can be refactored. | |
| // process['stdin']['setEncoding']('utf8'); | |
| // } | |
| },shutdown:function () { | |
| // https://github.com/kripken/emscripten/pull/1555 | |
| // if (ENVIRONMENT_IS_NODE) { | |
| // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? | |
| // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation | |
| // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? | |
| // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle | |
| // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call | |
| // process['stdin']['pause'](); | |
| // } | |
| },register:function (dev, ops) { | |
| TTY.ttys[dev] = { input: [], output: [], ops: ops }; | |
| FS.registerDevice(dev, TTY.stream_ops); | |
| },stream_ops:{open:function (stream) { | |
| var tty = TTY.ttys[stream.node.rdev]; | |
| if (!tty) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENODEV); | |
| } | |
| stream.tty = tty; | |
| stream.seekable = false; | |
| },close:function (stream) { | |
| // flush any pending line data | |
| stream.tty.ops.flush(stream.tty); | |
| },flush:function (stream) { | |
| stream.tty.ops.flush(stream.tty); | |
| },read:function (stream, buffer, offset, length, pos /* ignored */) { | |
| if (!stream.tty || !stream.tty.ops.get_char) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENXIO); | |
| } | |
| var bytesRead = 0; | |
| for (var i = 0; i < length; i++) { | |
| var result; | |
| try { | |
| result = stream.tty.ops.get_char(stream.tty); | |
| } catch (e) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EIO); | |
| } | |
| if (result === undefined && bytesRead === 0) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); | |
| } | |
| if (result === null || result === undefined) break; | |
| bytesRead++; | |
| buffer[offset+i] = result; | |
| } | |
| if (bytesRead) { | |
| stream.node.timestamp = Date.now(); | |
| } | |
| return bytesRead; | |
| },write:function (stream, buffer, offset, length, pos) { | |
| if (!stream.tty || !stream.tty.ops.put_char) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENXIO); | |
| } | |
| for (var i = 0; i < length; i++) { | |
| try { | |
| stream.tty.ops.put_char(stream.tty, buffer[offset+i]); | |
| } catch (e) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EIO); | |
| } | |
| } | |
| if (length) { | |
| stream.node.timestamp = Date.now(); | |
| } | |
| return i; | |
| }},default_tty_ops:{get_char:function (tty) { | |
| if (!tty.input.length) { | |
| var result = null; | |
| if (ENVIRONMENT_IS_NODE) { | |
| // we will read data by chunks of BUFSIZE | |
| var BUFSIZE = 256; | |
| var buf = new Buffer(BUFSIZE); | |
| var bytesRead = 0; | |
| var fd = process.stdin.fd; | |
| // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) | |
| var usingDevice = false; | |
| try { | |
| fd = fs.openSync('/dev/stdin', 'r'); | |
| usingDevice = true; | |
| } catch (e) {} | |
| bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); | |
| if (usingDevice) { fs.closeSync(fd); } | |
| if (bytesRead > 0) { | |
| result = buf.slice(0, bytesRead).toString('utf-8'); | |
| } else { | |
| result = null; | |
| } | |
| } else if (typeof window != 'undefined' && | |
| typeof window.prompt == 'function') { | |
| // Browser. | |
| result = window.prompt('Input: '); // returns null on cancel | |
| if (result !== null) { | |
| result += '\n'; | |
| } | |
| } else if (typeof readline == 'function') { | |
| // Command line. | |
| result = readline(); | |
| if (result !== null) { | |
| result += '\n'; | |
| } | |
| } | |
| if (!result) { | |
| return null; | |
| } | |
| tty.input = intArrayFromString(result, true); | |
| } | |
| return tty.input.shift(); | |
| },put_char:function (tty, val) { | |
| if (val === null || val === 10) { | |
| Module['print'](UTF8ArrayToString(tty.output, 0)); | |
| tty.output = []; | |
| } else { | |
| if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. | |
| } | |
| },flush:function (tty) { | |
| if (tty.output && tty.output.length > 0) { | |
| Module['print'](UTF8ArrayToString(tty.output, 0)); | |
| tty.output = []; | |
| } | |
| }},default_tty1_ops:{put_char:function (tty, val) { | |
| if (val === null || val === 10) { | |
| Module['printErr'](UTF8ArrayToString(tty.output, 0)); | |
| tty.output = []; | |
| } else { | |
| if (val != 0) tty.output.push(val); | |
| } | |
| },flush:function (tty) { | |
| if (tty.output && tty.output.length > 0) { | |
| Module['printErr'](UTF8ArrayToString(tty.output, 0)); | |
| tty.output = []; | |
| } | |
| }}}; | |
| var MEMFS={ops_table:null,mount:function (mount) { | |
| return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); | |
| },createNode:function (parent, name, mode, dev) { | |
| if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { | |
| // no supported | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| } | |
| if (!MEMFS.ops_table) { | |
| MEMFS.ops_table = { | |
| dir: { | |
| node: { | |
| getattr: MEMFS.node_ops.getattr, | |
| setattr: MEMFS.node_ops.setattr, | |
| lookup: MEMFS.node_ops.lookup, | |
| mknod: MEMFS.node_ops.mknod, | |
| rename: MEMFS.node_ops.rename, | |
| unlink: MEMFS.node_ops.unlink, | |
| rmdir: MEMFS.node_ops.rmdir, | |
| readdir: MEMFS.node_ops.readdir, | |
| symlink: MEMFS.node_ops.symlink | |
| }, | |
| stream: { | |
| llseek: MEMFS.stream_ops.llseek | |
| } | |
| }, | |
| file: { | |
| node: { | |
| getattr: MEMFS.node_ops.getattr, | |
| setattr: MEMFS.node_ops.setattr | |
| }, | |
| stream: { | |
| llseek: MEMFS.stream_ops.llseek, | |
| read: MEMFS.stream_ops.read, | |
| write: MEMFS.stream_ops.write, | |
| allocate: MEMFS.stream_ops.allocate, | |
| mmap: MEMFS.stream_ops.mmap, | |
| msync: MEMFS.stream_ops.msync | |
| } | |
| }, | |
| link: { | |
| node: { | |
| getattr: MEMFS.node_ops.getattr, | |
| setattr: MEMFS.node_ops.setattr, | |
| readlink: MEMFS.node_ops.readlink | |
| }, | |
| stream: {} | |
| }, | |
| chrdev: { | |
| node: { | |
| getattr: MEMFS.node_ops.getattr, | |
| setattr: MEMFS.node_ops.setattr | |
| }, | |
| stream: FS.chrdev_stream_ops | |
| } | |
| }; | |
| } | |
| var node = FS.createNode(parent, name, mode, dev); | |
| if (FS.isDir(node.mode)) { | |
| node.node_ops = MEMFS.ops_table.dir.node; | |
| node.stream_ops = MEMFS.ops_table.dir.stream; | |
| node.contents = {}; | |
| } else if (FS.isFile(node.mode)) { | |
| node.node_ops = MEMFS.ops_table.file.node; | |
| node.stream_ops = MEMFS.ops_table.file.stream; | |
| node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.buffer.byteLength which gives the whole capacity. | |
| // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred | |
| // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size | |
| // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. | |
| node.contents = null; | |
| } else if (FS.isLink(node.mode)) { | |
| node.node_ops = MEMFS.ops_table.link.node; | |
| node.stream_ops = MEMFS.ops_table.link.stream; | |
| } else if (FS.isChrdev(node.mode)) { | |
| node.node_ops = MEMFS.ops_table.chrdev.node; | |
| node.stream_ops = MEMFS.ops_table.chrdev.stream; | |
| } | |
| node.timestamp = Date.now(); | |
| // add the new node to the parent | |
| if (parent) { | |
| parent.contents[name] = node; | |
| } | |
| return node; | |
| },getFileDataAsRegularArray:function (node) { | |
| if (node.contents && node.contents.subarray) { | |
| var arr = []; | |
| for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); | |
| return arr; // Returns a copy of the original data. | |
| } | |
| return node.contents; // No-op, the file contents are already in a JS array. Return as-is. | |
| },getFileDataAsTypedArray:function (node) { | |
| if (!node.contents) return new Uint8Array; | |
| if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. | |
| return new Uint8Array(node.contents); | |
| },expandFileStorage:function (node, newCapacity) { | |
| // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file | |
| // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to | |
| // increase the size. | |
| if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { | |
| node.contents = MEMFS.getFileDataAsRegularArray(node); | |
| node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. | |
| } | |
| if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. | |
| var prevCapacity = node.contents ? node.contents.buffer.byteLength : 0; | |
| if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. | |
| // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. | |
| // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to | |
| // avoid overshooting the allocation cap by a very large margin. | |
| var CAPACITY_DOUBLING_MAX = 1024 * 1024; | |
| newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); | |
| if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. | |
| var oldContents = node.contents; | |
| node.contents = new Uint8Array(newCapacity); // Allocate new storage. | |
| if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. | |
| return; | |
| } | |
| // Not using a typed array to back the file storage. Use a standard JS array instead. | |
| if (!node.contents && newCapacity > 0) node.contents = []; | |
| while (node.contents.length < newCapacity) node.contents.push(0); | |
| },resizeFileStorage:function (node, newSize) { | |
| if (node.usedBytes == newSize) return; | |
| if (newSize == 0) { | |
| node.contents = null; // Fully decommit when requesting a resize to zero. | |
| node.usedBytes = 0; | |
| return; | |
| } | |
| if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. | |
| var oldContents = node.contents; | |
| node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. | |
| if (oldContents) { | |
| node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. | |
| } | |
| node.usedBytes = newSize; | |
| return; | |
| } | |
| // Backing with a JS array. | |
| if (!node.contents) node.contents = []; | |
| if (node.contents.length > newSize) node.contents.length = newSize; | |
| else while (node.contents.length < newSize) node.contents.push(0); | |
| node.usedBytes = newSize; | |
| },node_ops:{getattr:function (node) { | |
| var attr = {}; | |
| // device numbers reuse inode numbers. | |
| attr.dev = FS.isChrdev(node.mode) ? node.id : 1; | |
| attr.ino = node.id; | |
| attr.mode = node.mode; | |
| attr.nlink = 1; | |
| attr.uid = 0; | |
| attr.gid = 0; | |
| attr.rdev = node.rdev; | |
| if (FS.isDir(node.mode)) { | |
| attr.size = 4096; | |
| } else if (FS.isFile(node.mode)) { | |
| attr.size = node.usedBytes; | |
| } else if (FS.isLink(node.mode)) { | |
| attr.size = node.link.length; | |
| } else { | |
| attr.size = 0; | |
| } | |
| attr.atime = new Date(node.timestamp); | |
| attr.mtime = new Date(node.timestamp); | |
| attr.ctime = new Date(node.timestamp); | |
| // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), | |
| // but this is not required by the standard. | |
| attr.blksize = 4096; | |
| attr.blocks = Math.ceil(attr.size / attr.blksize); | |
| return attr; | |
| },setattr:function (node, attr) { | |
| if (attr.mode !== undefined) { | |
| node.mode = attr.mode; | |
| } | |
| if (attr.timestamp !== undefined) { | |
| node.timestamp = attr.timestamp; | |
| } | |
| if (attr.size !== undefined) { | |
| MEMFS.resizeFileStorage(node, attr.size); | |
| } | |
| },lookup:function (parent, name) { | |
| throw FS.genericErrors[ERRNO_CODES.ENOENT]; | |
| },mknod:function (parent, name, mode, dev) { | |
| return MEMFS.createNode(parent, name, mode, dev); | |
| },rename:function (old_node, new_dir, new_name) { | |
| // if we're overwriting a directory at new_name, make sure it's empty. | |
| if (FS.isDir(old_node.mode)) { | |
| var new_node; | |
| try { | |
| new_node = FS.lookupNode(new_dir, new_name); | |
| } catch (e) { | |
| } | |
| if (new_node) { | |
| for (var i in new_node.contents) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); | |
| } | |
| } | |
| } | |
| // do the internal rewiring | |
| delete old_node.parent.contents[old_node.name]; | |
| old_node.name = new_name; | |
| new_dir.contents[new_name] = old_node; | |
| old_node.parent = new_dir; | |
| },unlink:function (parent, name) { | |
| delete parent.contents[name]; | |
| },rmdir:function (parent, name) { | |
| var node = FS.lookupNode(parent, name); | |
| for (var i in node.contents) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); | |
| } | |
| delete parent.contents[name]; | |
| },readdir:function (node) { | |
| var entries = ['.', '..'] | |
| for (var key in node.contents) { | |
| if (!node.contents.hasOwnProperty(key)) { | |
| continue; | |
| } | |
| entries.push(key); | |
| } | |
| return entries; | |
| },symlink:function (parent, newname, oldpath) { | |
| var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); | |
| node.link = oldpath; | |
| return node; | |
| },readlink:function (node) { | |
| if (!FS.isLink(node.mode)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| return node.link; | |
| }},stream_ops:{read:function (stream, buffer, offset, length, position) { | |
| var contents = stream.node.contents; | |
| if (position >= stream.node.usedBytes) return 0; | |
| var size = Math.min(stream.node.usedBytes - position, length); | |
| assert(size >= 0); | |
| if (size > 8 && contents.subarray) { // non-trivial, and typed array | |
| buffer.set(contents.subarray(position, position + size), offset); | |
| } else { | |
| for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; | |
| } | |
| return size; | |
| },write:function (stream, buffer, offset, length, position, canOwn) { | |
| if (!length) return 0; | |
| var node = stream.node; | |
| node.timestamp = Date.now(); | |
| if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? | |
| if (canOwn) { // Can we just reuse the buffer we are given? | |
| assert(position === 0, 'canOwn must imply no weird position inside the file'); | |
| node.contents = buffer.subarray(offset, offset + length); | |
| node.usedBytes = length; | |
| return length; | |
| } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. | |
| node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); | |
| node.usedBytes = length; | |
| return length; | |
| } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? | |
| node.contents.set(buffer.subarray(offset, offset + length), position); | |
| return length; | |
| } | |
| } | |
| // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. | |
| MEMFS.expandFileStorage(node, position+length); | |
| if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. | |
| else { | |
| for (var i = 0; i < length; i++) { | |
| node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. | |
| } | |
| } | |
| node.usedBytes = Math.max(node.usedBytes, position+length); | |
| return length; | |
| },llseek:function (stream, offset, whence) { | |
| var position = offset; | |
| if (whence === 1) { // SEEK_CUR. | |
| position += stream.position; | |
| } else if (whence === 2) { // SEEK_END. | |
| if (FS.isFile(stream.node.mode)) { | |
| position += stream.node.usedBytes; | |
| } | |
| } | |
| if (position < 0) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| return position; | |
| },allocate:function (stream, offset, length) { | |
| MEMFS.expandFileStorage(stream.node, offset + length); | |
| stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); | |
| },mmap:function (stream, buffer, offset, length, position, prot, flags) { | |
| if (!FS.isFile(stream.node.mode)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENODEV); | |
| } | |
| var ptr; | |
| var allocated; | |
| var contents = stream.node.contents; | |
| // Only make a new copy when MAP_PRIVATE is specified. | |
| if ( !(flags & 2) && | |
| (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { | |
| // We can't emulate MAP_SHARED when the file is not backed by the buffer | |
| // we're mapping to (e.g. the HEAP buffer). | |
| allocated = false; | |
| ptr = contents.byteOffset; | |
| } else { | |
| // Try to avoid unnecessary slices. | |
| if (position > 0 || position + length < stream.node.usedBytes) { | |
| if (contents.subarray) { | |
| contents = contents.subarray(position, position + length); | |
| } else { | |
| contents = Array.prototype.slice.call(contents, position, position + length); | |
| } | |
| } | |
| allocated = true; | |
| ptr = _malloc(length); | |
| if (!ptr) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); | |
| } | |
| buffer.set(contents, ptr); | |
| } | |
| return { ptr: ptr, allocated: allocated }; | |
| },msync:function (stream, buffer, offset, length, mmapFlags) { | |
| if (!FS.isFile(stream.node.mode)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENODEV); | |
| } | |
| if (mmapFlags & 2) { | |
| // MAP_PRIVATE calls need not to be synced back to underlying fs | |
| return 0; | |
| } | |
| var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); | |
| // should we check if bytesWritten and length are the same? | |
| return 0; | |
| }}}; | |
| var IDBFS={dbs:{},indexedDB:function () { | |
| if (typeof indexedDB !== 'undefined') return indexedDB; | |
| var ret = null; | |
| if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; | |
| assert(ret, 'IDBFS used, but indexedDB not supported'); | |
| return ret; | |
| },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) { | |
| // reuse all of the core MEMFS functionality | |
| return MEMFS.mount.apply(null, arguments); | |
| },syncfs:function (mount, populate, callback) { | |
| IDBFS.getLocalSet(mount, function(err, local) { | |
| if (err) return callback(err); | |
| IDBFS.getRemoteSet(mount, function(err, remote) { | |
| if (err) return callback(err); | |
| var src = populate ? remote : local; | |
| var dst = populate ? local : remote; | |
| IDBFS.reconcile(src, dst, callback); | |
| }); | |
| }); | |
| },getDB:function (name, callback) { | |
| // check the cache first | |
| var db = IDBFS.dbs[name]; | |
| if (db) { | |
| return callback(null, db); | |
| } | |
| var req; | |
| try { | |
| req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); | |
| } catch (e) { | |
| return callback(e); | |
| } | |
| req.onupgradeneeded = function(e) { | |
| var db = e.target.result; | |
| var transaction = e.target.transaction; | |
| var fileStore; | |
| if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { | |
| fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); | |
| } else { | |
| fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); | |
| } | |
| if (!fileStore.indexNames.contains('timestamp')) { | |
| fileStore.createIndex('timestamp', 'timestamp', { unique: false }); | |
| } | |
| }; | |
| req.onsuccess = function() { | |
| db = req.result; | |
| // add to the cache | |
| IDBFS.dbs[name] = db; | |
| callback(null, db); | |
| }; | |
| req.onerror = function(e) { | |
| callback(this.error); | |
| e.preventDefault(); | |
| }; | |
| },getLocalSet:function (mount, callback) { | |
| var entries = {}; | |
| function isRealDir(p) { | |
| return p !== '.' && p !== '..'; | |
| }; | |
| function toAbsolute(root) { | |
| return function(p) { | |
| return PATH.join2(root, p); | |
| } | |
| }; | |
| var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); | |
| while (check.length) { | |
| var path = check.pop(); | |
| var stat; | |
| try { | |
| stat = FS.stat(path); | |
| } catch (e) { | |
| return callback(e); | |
| } | |
| if (FS.isDir(stat.mode)) { | |
| check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); | |
| } | |
| entries[path] = { timestamp: stat.mtime }; | |
| } | |
| return callback(null, { type: 'local', entries: entries }); | |
| },getRemoteSet:function (mount, callback) { | |
| var entries = {}; | |
| IDBFS.getDB(mount.mountpoint, function(err, db) { | |
| if (err) return callback(err); | |
| var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); | |
| transaction.onerror = function(e) { | |
| callback(this.error); | |
| e.preventDefault(); | |
| }; | |
| var store = transaction.objectStore(IDBFS.DB_STORE_NAME); | |
| var index = store.index('timestamp'); | |
| index.openKeyCursor().onsuccess = function(event) { | |
| var cursor = event.target.result; | |
| if (!cursor) { | |
| return callback(null, { type: 'remote', db: db, entries: entries }); | |
| } | |
| entries[cursor.primaryKey] = { timestamp: cursor.key }; | |
| cursor.continue(); | |
| }; | |
| }); | |
| },loadLocalEntry:function (path, callback) { | |
| var stat, node; | |
| try { | |
| var lookup = FS.lookupPath(path); | |
| node = lookup.node; | |
| stat = FS.stat(path); | |
| } catch (e) { | |
| return callback(e); | |
| } | |
| if (FS.isDir(stat.mode)) { | |
| return callback(null, { timestamp: stat.mtime, mode: stat.mode }); | |
| } else if (FS.isFile(stat.mode)) { | |
| // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. | |
| // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. | |
| node.contents = MEMFS.getFileDataAsTypedArray(node); | |
| return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); | |
| } else { | |
| return callback(new Error('node type not supported')); | |
| } | |
| },storeLocalEntry:function (path, entry, callback) { | |
| try { | |
| if (FS.isDir(entry.mode)) { | |
| FS.mkdir(path, entry.mode); | |
| } else if (FS.isFile(entry.mode)) { | |
| FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); | |
| } else { | |
| return callback(new Error('node type not supported')); | |
| } | |
| FS.chmod(path, entry.mode); | |
| FS.utime(path, entry.timestamp, entry.timestamp); | |
| } catch (e) { | |
| return callback(e); | |
| } | |
| callback(null); | |
| },removeLocalEntry:function (path, callback) { | |
| try { | |
| var lookup = FS.lookupPath(path); | |
| var stat = FS.stat(path); | |
| if (FS.isDir(stat.mode)) { | |
| FS.rmdir(path); | |
| } else if (FS.isFile(stat.mode)) { | |
| FS.unlink(path); | |
| } | |
| } catch (e) { | |
| return callback(e); | |
| } | |
| callback(null); | |
| },loadRemoteEntry:function (store, path, callback) { | |
| var req = store.get(path); | |
| req.onsuccess = function(event) { callback(null, event.target.result); }; | |
| req.onerror = function(e) { | |
| callback(this.error); | |
| e.preventDefault(); | |
| }; | |
| },storeRemoteEntry:function (store, path, entry, callback) { | |
| var req = store.put(entry, path); | |
| req.onsuccess = function() { callback(null); }; | |
| req.onerror = function(e) { | |
| callback(this.error); | |
| e.preventDefault(); | |
| }; | |
| },removeRemoteEntry:function (store, path, callback) { | |
| var req = store.delete(path); | |
| req.onsuccess = function() { callback(null); }; | |
| req.onerror = function(e) { | |
| callback(this.error); | |
| e.preventDefault(); | |
| }; | |
| },reconcile:function (src, dst, callback) { | |
| var total = 0; | |
| var create = []; | |
| Object.keys(src.entries).forEach(function (key) { | |
| var e = src.entries[key]; | |
| var e2 = dst.entries[key]; | |
| if (!e2 || e.timestamp > e2.timestamp) { | |
| create.push(key); | |
| total++; | |
| } | |
| }); | |
| var remove = []; | |
| Object.keys(dst.entries).forEach(function (key) { | |
| var e = dst.entries[key]; | |
| var e2 = src.entries[key]; | |
| if (!e2) { | |
| remove.push(key); | |
| total++; | |
| } | |
| }); | |
| if (!total) { | |
| return callback(null); | |
| } | |
| var errored = false; | |
| var completed = 0; | |
| var db = src.type === 'remote' ? src.db : dst.db; | |
| var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); | |
| var store = transaction.objectStore(IDBFS.DB_STORE_NAME); | |
| function done(err) { | |
| if (err) { | |
| if (!done.errored) { | |
| done.errored = true; | |
| return callback(err); | |
| } | |
| return; | |
| } | |
| if (++completed >= total) { | |
| return callback(null); | |
| } | |
| }; | |
| transaction.onerror = function(e) { | |
| done(this.error); | |
| e.preventDefault(); | |
| }; | |
| // sort paths in ascending order so directory entries are created | |
| // before the files inside them | |
| create.sort().forEach(function (path) { | |
| if (dst.type === 'local') { | |
| IDBFS.loadRemoteEntry(store, path, function (err, entry) { | |
| if (err) return done(err); | |
| IDBFS.storeLocalEntry(path, entry, done); | |
| }); | |
| } else { | |
| IDBFS.loadLocalEntry(path, function (err, entry) { | |
| if (err) return done(err); | |
| IDBFS.storeRemoteEntry(store, path, entry, done); | |
| }); | |
| } | |
| }); | |
| // sort paths in descending order so files are deleted before their | |
| // parent directories | |
| remove.sort().reverse().forEach(function(path) { | |
| if (dst.type === 'local') { | |
| IDBFS.removeLocalEntry(path, done); | |
| } else { | |
| IDBFS.removeRemoteEntry(store, path, done); | |
| } | |
| }); | |
| }}; | |
| var NODEFS={isWindows:false,staticInit:function () { | |
| NODEFS.isWindows = !!process.platform.match(/^win/); | |
| },mount:function (mount) { | |
| assert(ENVIRONMENT_IS_NODE); | |
| return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); | |
| },createNode:function (parent, name, mode, dev) { | |
| if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| var node = FS.createNode(parent, name, mode); | |
| node.node_ops = NODEFS.node_ops; | |
| node.stream_ops = NODEFS.stream_ops; | |
| return node; | |
| },getMode:function (path) { | |
| var stat; | |
| try { | |
| stat = fs.lstatSync(path); | |
| if (NODEFS.isWindows) { | |
| // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so | |
| // propagate write bits to execute bits. | |
| stat.mode = stat.mode | ((stat.mode & 146) >> 1); | |
| } | |
| } catch (e) { | |
| if (!e.code) throw e; | |
| throw new FS.ErrnoError(ERRNO_CODES[e.code]); | |
| } | |
| return stat.mode; | |
| },realPath:function (node) { | |
| var parts = []; | |
| while (node.parent !== node) { | |
| parts.push(node.name); | |
| node = node.parent; | |
| } | |
| parts.push(node.mount.opts.root); | |
| parts.reverse(); | |
| return PATH.join.apply(null, parts); | |
| },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { | |
| flags &= ~0100000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. | |
| flags &= ~02000000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. | |
| if (flags in NODEFS.flagsToPermissionStringMap) { | |
| return NODEFS.flagsToPermissionStringMap[flags]; | |
| } else { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| },node_ops:{getattr:function (node) { | |
| var path = NODEFS.realPath(node); | |
| var stat; | |
| try { | |
| stat = fs.lstatSync(path); | |
| } catch (e) { | |
| if (!e.code) throw e; | |
| throw new FS.ErrnoError(ERRNO_CODES[e.code]); | |
| } | |
| // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. | |
| // See http://support.microsoft.com/kb/140365 | |
| if (NODEFS.isWindows && !stat.blksize) { | |
| stat.blksize = 4096; | |
| } | |
| if (NODEFS.isWindows && !stat.blocks) { | |
| stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0; | |
| } | |
| return { | |
| dev: stat.dev, | |
| ino: stat.ino, | |
| mode: stat.mode, | |
| nlink: stat.nlink, | |
| uid: stat.uid, | |
| gid: stat.gid, | |
| rdev: stat.rdev, | |
| size: stat.size, | |
| atime: stat.atime, | |
| mtime: stat.mtime, | |
| ctime: stat.ctime, | |
| blksize: stat.blksize, | |
| blocks: stat.blocks | |
| }; | |
| },setattr:function (node, attr) { | |
| var path = NODEFS.realPath(node); | |
| try { | |
| if (attr.mode !== undefined) { | |
| fs.chmodSync(path, attr.mode); | |
| // update the common node structure mode as well | |
| node.mode = attr.mode; | |
| } | |
| if (attr.timestamp !== undefined) { | |
| var date = new Date(attr.timestamp); | |
| fs.utimesSync(path, date, date); | |
| } | |
| if (attr.size !== undefined) { | |
| fs.truncateSync(path, attr.size); | |
| } | |
| } catch (e) { | |
| if (!e.code) throw e; | |
| throw new FS.ErrnoError(ERRNO_CODES[e.code]); | |
| } | |
| },lookup:function (parent, name) { | |
| var path = PATH.join2(NODEFS.realPath(parent), name); | |
| var mode = NODEFS.getMode(path); | |
| return NODEFS.createNode(parent, name, mode); | |
| },mknod:function (parent, name, mode, dev) { | |
| var node = NODEFS.createNode(parent, name, mode, dev); | |
| // create the backing node for this in the fs root as well | |
| var path = NODEFS.realPath(node); | |
| try { | |
| if (FS.isDir(node.mode)) { | |
| fs.mkdirSync(path, node.mode); | |
| } else { | |
| fs.writeFileSync(path, '', { mode: node.mode }); | |
| } | |
| } catch (e) { | |
| if (!e.code) throw e; | |
| throw new FS.ErrnoError(ERRNO_CODES[e.code]); | |
| } | |
| return node; | |
| },rename:function (oldNode, newDir, newName) { | |
| var oldPath = NODEFS.realPath(oldNode); | |
| var newPath = PATH.join2(NODEFS.realPath(newDir), newName); | |
| try { | |
| fs.renameSync(oldPath, newPath); | |
| } catch (e) { | |
| if (!e.code) throw e; | |
| throw new FS.ErrnoError(ERRNO_CODES[e.code]); | |
| } | |
| },unlink:function (parent, name) { | |
| var path = PATH.join2(NODEFS.realPath(parent), name); | |
| try { | |
| fs.unlinkSync(path); | |
| } catch (e) { | |
| if (!e.code) throw e; | |
| throw new FS.ErrnoError(ERRNO_CODES[e.code]); | |
| } | |
| },rmdir:function (parent, name) { | |
| var path = PATH.join2(NODEFS.realPath(parent), name); | |
| try { | |
| fs.rmdirSync(path); | |
| } catch (e) { | |
| if (!e.code) throw e; | |
| throw new FS.ErrnoError(ERRNO_CODES[e.code]); | |
| } | |
| },readdir:function (node) { | |
| var path = NODEFS.realPath(node); | |
| try { | |
| return fs.readdirSync(path); | |
| } catch (e) { | |
| if (!e.code) throw e; | |
| throw new FS.ErrnoError(ERRNO_CODES[e.code]); | |
| } | |
| },symlink:function (parent, newName, oldPath) { | |
| var newPath = PATH.join2(NODEFS.realPath(parent), newName); | |
| try { | |
| fs.symlinkSync(oldPath, newPath); | |
| } catch (e) { | |
| if (!e.code) throw e; | |
| throw new FS.ErrnoError(ERRNO_CODES[e.code]); | |
| } | |
| },readlink:function (node) { | |
| var path = NODEFS.realPath(node); | |
| try { | |
| path = fs.readlinkSync(path); | |
| path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); | |
| return path; | |
| } catch (e) { | |
| if (!e.code) throw e; | |
| throw new FS.ErrnoError(ERRNO_CODES[e.code]); | |
| } | |
| }},stream_ops:{open:function (stream) { | |
| var path = NODEFS.realPath(stream.node); | |
| try { | |
| if (FS.isFile(stream.node.mode)) { | |
| stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); | |
| } | |
| } catch (e) { | |
| if (!e.code) throw e; | |
| throw new FS.ErrnoError(ERRNO_CODES[e.code]); | |
| } | |
| },close:function (stream) { | |
| try { | |
| if (FS.isFile(stream.node.mode) && stream.nfd) { | |
| fs.closeSync(stream.nfd); | |
| } | |
| } catch (e) { | |
| if (!e.code) throw e; | |
| throw new FS.ErrnoError(ERRNO_CODES[e.code]); | |
| } | |
| },read:function (stream, buffer, offset, length, position) { | |
| if (length === 0) return 0; // node errors on 0 length reads | |
| // FIXME this is terrible. | |
| var nbuffer = new Buffer(length); | |
| var res; | |
| try { | |
| res = fs.readSync(stream.nfd, nbuffer, 0, length, position); | |
| } catch (e) { | |
| throw new FS.ErrnoError(ERRNO_CODES[e.code]); | |
| } | |
| if (res > 0) { | |
| for (var i = 0; i < res; i++) { | |
| buffer[offset + i] = nbuffer[i]; | |
| } | |
| } | |
| return res; | |
| },write:function (stream, buffer, offset, length, position) { | |
| // FIXME this is terrible. | |
| var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); | |
| var res; | |
| try { | |
| res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); | |
| } catch (e) { | |
| throw new FS.ErrnoError(ERRNO_CODES[e.code]); | |
| } | |
| return res; | |
| },llseek:function (stream, offset, whence) { | |
| var position = offset; | |
| if (whence === 1) { // SEEK_CUR. | |
| position += stream.position; | |
| } else if (whence === 2) { // SEEK_END. | |
| if (FS.isFile(stream.node.mode)) { | |
| try { | |
| var stat = fs.fstatSync(stream.nfd); | |
| position += stat.size; | |
| } catch (e) { | |
| throw new FS.ErrnoError(ERRNO_CODES[e.code]); | |
| } | |
| } | |
| } | |
| if (position < 0) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| return position; | |
| }}}; | |
| var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { | |
| assert(ENVIRONMENT_IS_WORKER); | |
| if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); | |
| var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); | |
| var createdParents = {}; | |
| function ensureParent(path) { | |
| // return the parent node, creating subdirs as necessary | |
| var parts = path.split('/'); | |
| var parent = root; | |
| for (var i = 0; i < parts.length-1; i++) { | |
| var curr = parts.slice(0, i+1).join('/'); | |
| if (!createdParents[curr]) { | |
| createdParents[curr] = WORKERFS.createNode(parent, curr, WORKERFS.DIR_MODE, 0); | |
| } | |
| parent = createdParents[curr]; | |
| } | |
| return parent; | |
| } | |
| function base(path) { | |
| var parts = path.split('/'); | |
| return parts[parts.length-1]; | |
| } | |
| // We also accept FileList here, by using Array.prototype | |
| Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { | |
| WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); | |
| }); | |
| (mount.opts["blobs"] || []).forEach(function(obj) { | |
| WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); | |
| }); | |
| (mount.opts["packages"] || []).forEach(function(pack) { | |
| pack['metadata'].files.forEach(function(file) { | |
| var name = file.filename.substr(1); // remove initial slash | |
| WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); | |
| }); | |
| }); | |
| return root; | |
| },createNode:function (parent, name, mode, dev, contents, mtime) { | |
| var node = FS.createNode(parent, name, mode); | |
| node.mode = mode; | |
| node.node_ops = WORKERFS.node_ops; | |
| node.stream_ops = WORKERFS.stream_ops; | |
| node.timestamp = (mtime || new Date).getTime(); | |
| assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); | |
| if (mode === WORKERFS.FILE_MODE) { | |
| node.size = contents.size; | |
| node.contents = contents; | |
| } else { | |
| node.size = 4096; | |
| node.contents = {}; | |
| } | |
| if (parent) { | |
| parent.contents[name] = node; | |
| } | |
| return node; | |
| },node_ops:{getattr:function (node) { | |
| return { | |
| dev: 1, | |
| ino: undefined, | |
| mode: node.mode, | |
| nlink: 1, | |
| uid: 0, | |
| gid: 0, | |
| rdev: undefined, | |
| size: node.size, | |
| atime: new Date(node.timestamp), | |
| mtime: new Date(node.timestamp), | |
| ctime: new Date(node.timestamp), | |
| blksize: 4096, | |
| blocks: Math.ceil(node.size / 4096), | |
| }; | |
| },setattr:function (node, attr) { | |
| if (attr.mode !== undefined) { | |
| node.mode = attr.mode; | |
| } | |
| if (attr.timestamp !== undefined) { | |
| node.timestamp = attr.timestamp; | |
| } | |
| },lookup:function (parent, name) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOENT); | |
| },mknod:function (parent, name, mode, dev) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| },rename:function (oldNode, newDir, newName) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| },unlink:function (parent, name) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| },rmdir:function (parent, name) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| },readdir:function (node) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| },symlink:function (parent, newName, oldPath) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| },readlink:function (node) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| }},stream_ops:{read:function (stream, buffer, offset, length, position) { | |
| if (position >= stream.node.size) return 0; | |
| var chunk = stream.node.contents.slice(position, position + length); | |
| var ab = WORKERFS.reader.readAsArrayBuffer(chunk); | |
| buffer.set(new Uint8Array(ab), offset); | |
| return chunk.size; | |
| },write:function (stream, buffer, offset, length, position) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EIO); | |
| },llseek:function (stream, offset, whence) { | |
| var position = offset; | |
| if (whence === 1) { // SEEK_CUR. | |
| position += stream.position; | |
| } else if (whence === 2) { // SEEK_END. | |
| if (FS.isFile(stream.node.mode)) { | |
| position += stream.node.size; | |
| } | |
| } | |
| if (position < 0) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| return position; | |
| }}}; | |
| var _stdin=STATICTOP; STATICTOP += 16;; | |
| var _stdout=STATICTOP; STATICTOP += 16;; | |
| var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { | |
| if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); | |
| return ___setErrNo(e.errno); | |
| },lookupPath:function (path, opts) { | |
| path = PATH.resolve(FS.cwd(), path); | |
| opts = opts || {}; | |
| if (!path) return { path: '', node: null }; | |
| var defaults = { | |
| follow_mount: true, | |
| recurse_count: 0 | |
| }; | |
| for (var key in defaults) { | |
| if (opts[key] === undefined) { | |
| opts[key] = defaults[key]; | |
| } | |
| } | |
| if (opts.recurse_count > 8) { // max recursive lookup of 8 | |
| throw new FS.ErrnoError(ERRNO_CODES.ELOOP); | |
| } | |
| // split the path | |
| var parts = PATH.normalizeArray(path.split('/').filter(function(p) { | |
| return !!p; | |
| }), false); | |
| // start at the root | |
| var current = FS.root; | |
| var current_path = '/'; | |
| for (var i = 0; i < parts.length; i++) { | |
| var islast = (i === parts.length-1); | |
| if (islast && opts.parent) { | |
| // stop resolving | |
| break; | |
| } | |
| current = FS.lookupNode(current, parts[i]); | |
| current_path = PATH.join2(current_path, parts[i]); | |
| // jump to the mount's root node if this is a mountpoint | |
| if (FS.isMountpoint(current)) { | |
| if (!islast || (islast && opts.follow_mount)) { | |
| current = current.mounted.root; | |
| } | |
| } | |
| // by default, lookupPath will not follow a symlink if it is the final path component. | |
| // setting opts.follow = true will override this behavior. | |
| if (!islast || opts.follow) { | |
| var count = 0; | |
| while (FS.isLink(current.mode)) { | |
| var link = FS.readlink(current_path); | |
| current_path = PATH.resolve(PATH.dirname(current_path), link); | |
| var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); | |
| current = lookup.node; | |
| if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). | |
| throw new FS.ErrnoError(ERRNO_CODES.ELOOP); | |
| } | |
| } | |
| } | |
| } | |
| return { path: current_path, node: current }; | |
| },getPath:function (node) { | |
| var path; | |
| while (true) { | |
| if (FS.isRoot(node)) { | |
| var mount = node.mount.mountpoint; | |
| if (!path) return mount; | |
| return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; | |
| } | |
| path = path ? node.name + '/' + path : node.name; | |
| node = node.parent; | |
| } | |
| },hashName:function (parentid, name) { | |
| var hash = 0; | |
| for (var i = 0; i < name.length; i++) { | |
| hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; | |
| } | |
| return ((parentid + hash) >>> 0) % FS.nameTable.length; | |
| },hashAddNode:function (node) { | |
| var hash = FS.hashName(node.parent.id, node.name); | |
| node.name_next = FS.nameTable[hash]; | |
| FS.nameTable[hash] = node; | |
| },hashRemoveNode:function (node) { | |
| var hash = FS.hashName(node.parent.id, node.name); | |
| if (FS.nameTable[hash] === node) { | |
| FS.nameTable[hash] = node.name_next; | |
| } else { | |
| var current = FS.nameTable[hash]; | |
| while (current) { | |
| if (current.name_next === node) { | |
| current.name_next = node.name_next; | |
| break; | |
| } | |
| current = current.name_next; | |
| } | |
| } | |
| },lookupNode:function (parent, name) { | |
| var err = FS.mayLookup(parent); | |
| if (err) { | |
| throw new FS.ErrnoError(err, parent); | |
| } | |
| var hash = FS.hashName(parent.id, name); | |
| for (var node = FS.nameTable[hash]; node; node = node.name_next) { | |
| var nodeName = node.name; | |
| if (node.parent.id === parent.id && nodeName === name) { | |
| return node; | |
| } | |
| } | |
| // if we failed to find it in the cache, call into the VFS | |
| return FS.lookup(parent, name); | |
| },createNode:function (parent, name, mode, rdev) { | |
| if (!FS.FSNode) { | |
| FS.FSNode = function(parent, name, mode, rdev) { | |
| if (!parent) { | |
| parent = this; // root node sets parent to itself | |
| } | |
| this.parent = parent; | |
| this.mount = parent.mount; | |
| this.mounted = null; | |
| this.id = FS.nextInode++; | |
| this.name = name; | |
| this.mode = mode; | |
| this.node_ops = {}; | |
| this.stream_ops = {}; | |
| this.rdev = rdev; | |
| }; | |
| FS.FSNode.prototype = {}; | |
| // compatibility | |
| var readMode = 292 | 73; | |
| var writeMode = 146; | |
| // NOTE we must use Object.defineProperties instead of individual calls to | |
| // Object.defineProperty in order to make closure compiler happy | |
| Object.defineProperties(FS.FSNode.prototype, { | |
| read: { | |
| get: function() { return (this.mode & readMode) === readMode; }, | |
| set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } | |
| }, | |
| write: { | |
| get: function() { return (this.mode & writeMode) === writeMode; }, | |
| set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } | |
| }, | |
| isFolder: { | |
| get: function() { return FS.isDir(this.mode); } | |
| }, | |
| isDevice: { | |
| get: function() { return FS.isChrdev(this.mode); } | |
| } | |
| }); | |
| } | |
| var node = new FS.FSNode(parent, name, mode, rdev); | |
| FS.hashAddNode(node); | |
| return node; | |
| },destroyNode:function (node) { | |
| FS.hashRemoveNode(node); | |
| },isRoot:function (node) { | |
| return node === node.parent; | |
| },isMountpoint:function (node) { | |
| return !!node.mounted; | |
| },isFile:function (mode) { | |
| return (mode & 61440) === 32768; | |
| },isDir:function (mode) { | |
| return (mode & 61440) === 16384; | |
| },isLink:function (mode) { | |
| return (mode & 61440) === 40960; | |
| },isChrdev:function (mode) { | |
| return (mode & 61440) === 8192; | |
| },isBlkdev:function (mode) { | |
| return (mode & 61440) === 24576; | |
| },isFIFO:function (mode) { | |
| return (mode & 61440) === 4096; | |
| },isSocket:function (mode) { | |
| return (mode & 49152) === 49152; | |
| },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) { | |
| var flags = FS.flagModes[str]; | |
| if (typeof flags === 'undefined') { | |
| throw new Error('Unknown file open mode: ' + str); | |
| } | |
| return flags; | |
| },flagsToPermissionString:function (flag) { | |
| var perms = ['r', 'w', 'rw'][flag & 3]; | |
| if ((flag & 512)) { | |
| perms += 'w'; | |
| } | |
| return perms; | |
| },nodePermissions:function (node, perms) { | |
| if (FS.ignorePermissions) { | |
| return 0; | |
| } | |
| // return 0 if any user, group or owner bits are set. | |
| if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { | |
| return ERRNO_CODES.EACCES; | |
| } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { | |
| return ERRNO_CODES.EACCES; | |
| } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { | |
| return ERRNO_CODES.EACCES; | |
| } | |
| return 0; | |
| },mayLookup:function (dir) { | |
| var err = FS.nodePermissions(dir, 'x'); | |
| if (err) return err; | |
| if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; | |
| return 0; | |
| },mayCreate:function (dir, name) { | |
| try { | |
| var node = FS.lookupNode(dir, name); | |
| return ERRNO_CODES.EEXIST; | |
| } catch (e) { | |
| } | |
| return FS.nodePermissions(dir, 'wx'); | |
| },mayDelete:function (dir, name, isdir) { | |
| var node; | |
| try { | |
| node = FS.lookupNode(dir, name); | |
| } catch (e) { | |
| return e.errno; | |
| } | |
| var err = FS.nodePermissions(dir, 'wx'); | |
| if (err) { | |
| return err; | |
| } | |
| if (isdir) { | |
| if (!FS.isDir(node.mode)) { | |
| return ERRNO_CODES.ENOTDIR; | |
| } | |
| if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { | |
| return ERRNO_CODES.EBUSY; | |
| } | |
| } else { | |
| if (FS.isDir(node.mode)) { | |
| return ERRNO_CODES.EISDIR; | |
| } | |
| } | |
| return 0; | |
| },mayOpen:function (node, flags) { | |
| if (!node) { | |
| return ERRNO_CODES.ENOENT; | |
| } | |
| if (FS.isLink(node.mode)) { | |
| return ERRNO_CODES.ELOOP; | |
| } else if (FS.isDir(node.mode)) { | |
| if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write | |
| (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) | |
| return ERRNO_CODES.EISDIR; | |
| } | |
| } | |
| return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); | |
| },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { | |
| fd_start = fd_start || 0; | |
| fd_end = fd_end || FS.MAX_OPEN_FDS; | |
| for (var fd = fd_start; fd <= fd_end; fd++) { | |
| if (!FS.streams[fd]) { | |
| return fd; | |
| } | |
| } | |
| throw new FS.ErrnoError(ERRNO_CODES.EMFILE); | |
| },getStream:function (fd) { | |
| return FS.streams[fd]; | |
| },createStream:function (stream, fd_start, fd_end) { | |
| if (!FS.FSStream) { | |
| FS.FSStream = function(){}; | |
| FS.FSStream.prototype = {}; | |
| // compatibility | |
| Object.defineProperties(FS.FSStream.prototype, { | |
| object: { | |
| get: function() { return this.node; }, | |
| set: function(val) { this.node = val; } | |
| }, | |
| isRead: { | |
| get: function() { return (this.flags & 2097155) !== 1; } | |
| }, | |
| isWrite: { | |
| get: function() { return (this.flags & 2097155) !== 0; } | |
| }, | |
| isAppend: { | |
| get: function() { return (this.flags & 1024); } | |
| } | |
| }); | |
| } | |
| // clone it, so we can return an instance of FSStream | |
| var newStream = new FS.FSStream(); | |
| for (var p in stream) { | |
| newStream[p] = stream[p]; | |
| } | |
| stream = newStream; | |
| var fd = FS.nextfd(fd_start, fd_end); | |
| stream.fd = fd; | |
| FS.streams[fd] = stream; | |
| return stream; | |
| },closeStream:function (fd) { | |
| FS.streams[fd] = null; | |
| },chrdev_stream_ops:{open:function (stream) { | |
| var device = FS.getDevice(stream.node.rdev); | |
| // override node's stream ops with the device's | |
| stream.stream_ops = device.stream_ops; | |
| // forward the open call | |
| if (stream.stream_ops.open) { | |
| stream.stream_ops.open(stream); | |
| } | |
| },llseek:function () { | |
| throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); | |
| }},major:function (dev) { | |
| return ((dev) >> 8); | |
| },minor:function (dev) { | |
| return ((dev) & 0xff); | |
| },makedev:function (ma, mi) { | |
| return ((ma) << 8 | (mi)); | |
| },registerDevice:function (dev, ops) { | |
| FS.devices[dev] = { stream_ops: ops }; | |
| },getDevice:function (dev) { | |
| return FS.devices[dev]; | |
| },getMounts:function (mount) { | |
| var mounts = []; | |
| var check = [mount]; | |
| while (check.length) { | |
| var m = check.pop(); | |
| mounts.push(m); | |
| check.push.apply(check, m.mounts); | |
| } | |
| return mounts; | |
| },syncfs:function (populate, callback) { | |
| if (typeof(populate) === 'function') { | |
| callback = populate; | |
| populate = false; | |
| } | |
| FS.syncFSRequests++; | |
| if (FS.syncFSRequests > 1) { | |
| console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); | |
| } | |
| var mounts = FS.getMounts(FS.root.mount); | |
| var completed = 0; | |
| function doCallback(err) { | |
| assert(FS.syncFSRequests > 0); | |
| FS.syncFSRequests--; | |
| return callback(err); | |
| } | |
| function done(err) { | |
| if (err) { | |
| if (!done.errored) { | |
| done.errored = true; | |
| return doCallback(err); | |
| } | |
| return; | |
| } | |
| if (++completed >= mounts.length) { | |
| doCallback(null); | |
| } | |
| }; | |
| // sync all mounts | |
| mounts.forEach(function (mount) { | |
| if (!mount.type.syncfs) { | |
| return done(null); | |
| } | |
| mount.type.syncfs(mount, populate, done); | |
| }); | |
| },mount:function (type, opts, mountpoint) { | |
| var root = mountpoint === '/'; | |
| var pseudo = !mountpoint; | |
| var node; | |
| if (root && FS.root) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EBUSY); | |
| } else if (!root && !pseudo) { | |
| var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); | |
| mountpoint = lookup.path; // use the absolute path | |
| node = lookup.node; | |
| if (FS.isMountpoint(node)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EBUSY); | |
| } | |
| if (!FS.isDir(node.mode)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); | |
| } | |
| } | |
| var mount = { | |
| type: type, | |
| opts: opts, | |
| mountpoint: mountpoint, | |
| mounts: [] | |
| }; | |
| // create a root node for the fs | |
| var mountRoot = type.mount(mount); | |
| mountRoot.mount = mount; | |
| mount.root = mountRoot; | |
| if (root) { | |
| FS.root = mountRoot; | |
| } else if (node) { | |
| // set as a mountpoint | |
| node.mounted = mount; | |
| // add the new mount to the current mount's children | |
| if (node.mount) { | |
| node.mount.mounts.push(mount); | |
| } | |
| } | |
| return mountRoot; | |
| },unmount:function (mountpoint) { | |
| var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); | |
| if (!FS.isMountpoint(lookup.node)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| // destroy the nodes for this mount, and all its child mounts | |
| var node = lookup.node; | |
| var mount = node.mounted; | |
| var mounts = FS.getMounts(mount); | |
| Object.keys(FS.nameTable).forEach(function (hash) { | |
| var current = FS.nameTable[hash]; | |
| while (current) { | |
| var next = current.name_next; | |
| if (mounts.indexOf(current.mount) !== -1) { | |
| FS.destroyNode(current); | |
| } | |
| current = next; | |
| } | |
| }); | |
| // no longer a mountpoint | |
| node.mounted = null; | |
| // remove this mount from the child mounts | |
| var idx = node.mount.mounts.indexOf(mount); | |
| assert(idx !== -1); | |
| node.mount.mounts.splice(idx, 1); | |
| },lookup:function (parent, name) { | |
| return parent.node_ops.lookup(parent, name); | |
| },mknod:function (path, mode, dev) { | |
| var lookup = FS.lookupPath(path, { parent: true }); | |
| var parent = lookup.node; | |
| var name = PATH.basename(path); | |
| if (!name || name === '.' || name === '..') { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| var err = FS.mayCreate(parent, name); | |
| if (err) { | |
| throw new FS.ErrnoError(err); | |
| } | |
| if (!parent.node_ops.mknod) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| } | |
| return parent.node_ops.mknod(parent, name, mode, dev); | |
| },create:function (path, mode) { | |
| mode = mode !== undefined ? mode : 438 /* 0666 */; | |
| mode &= 4095; | |
| mode |= 32768; | |
| return FS.mknod(path, mode, 0); | |
| },mkdir:function (path, mode) { | |
| mode = mode !== undefined ? mode : 511 /* 0777 */; | |
| mode &= 511 | 512; | |
| mode |= 16384; | |
| return FS.mknod(path, mode, 0); | |
| },mkdev:function (path, mode, dev) { | |
| if (typeof(dev) === 'undefined') { | |
| dev = mode; | |
| mode = 438 /* 0666 */; | |
| } | |
| mode |= 8192; | |
| return FS.mknod(path, mode, dev); | |
| },symlink:function (oldpath, newpath) { | |
| if (!PATH.resolve(oldpath)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOENT); | |
| } | |
| var lookup = FS.lookupPath(newpath, { parent: true }); | |
| var parent = lookup.node; | |
| if (!parent) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOENT); | |
| } | |
| var newname = PATH.basename(newpath); | |
| var err = FS.mayCreate(parent, newname); | |
| if (err) { | |
| throw new FS.ErrnoError(err); | |
| } | |
| if (!parent.node_ops.symlink) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| } | |
| return parent.node_ops.symlink(parent, newname, oldpath); | |
| },rename:function (old_path, new_path) { | |
| var old_dirname = PATH.dirname(old_path); | |
| var new_dirname = PATH.dirname(new_path); | |
| var old_name = PATH.basename(old_path); | |
| var new_name = PATH.basename(new_path); | |
| // parents must exist | |
| var lookup, old_dir, new_dir; | |
| try { | |
| lookup = FS.lookupPath(old_path, { parent: true }); | |
| old_dir = lookup.node; | |
| lookup = FS.lookupPath(new_path, { parent: true }); | |
| new_dir = lookup.node; | |
| } catch (e) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EBUSY); | |
| } | |
| if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); | |
| // need to be part of the same mount | |
| if (old_dir.mount !== new_dir.mount) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EXDEV); | |
| } | |
| // source must exist | |
| var old_node = FS.lookupNode(old_dir, old_name); | |
| // old path should not be an ancestor of the new path | |
| var relative = PATH.relative(old_path, new_dirname); | |
| if (relative.charAt(0) !== '.') { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| // new path should not be an ancestor of the old path | |
| relative = PATH.relative(new_path, old_dirname); | |
| if (relative.charAt(0) !== '.') { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); | |
| } | |
| // see if the new path already exists | |
| var new_node; | |
| try { | |
| new_node = FS.lookupNode(new_dir, new_name); | |
| } catch (e) { | |
| // not fatal | |
| } | |
| // early out if nothing needs to change | |
| if (old_node === new_node) { | |
| return; | |
| } | |
| // we'll need to delete the old entry | |
| var isdir = FS.isDir(old_node.mode); | |
| var err = FS.mayDelete(old_dir, old_name, isdir); | |
| if (err) { | |
| throw new FS.ErrnoError(err); | |
| } | |
| // need delete permissions if we'll be overwriting. | |
| // need create permissions if new doesn't already exist. | |
| err = new_node ? | |
| FS.mayDelete(new_dir, new_name, isdir) : | |
| FS.mayCreate(new_dir, new_name); | |
| if (err) { | |
| throw new FS.ErrnoError(err); | |
| } | |
| if (!old_dir.node_ops.rename) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| } | |
| if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EBUSY); | |
| } | |
| // if we are going to change the parent, check write permissions | |
| if (new_dir !== old_dir) { | |
| err = FS.nodePermissions(old_dir, 'w'); | |
| if (err) { | |
| throw new FS.ErrnoError(err); | |
| } | |
| } | |
| try { | |
| if (FS.trackingDelegate['willMovePath']) { | |
| FS.trackingDelegate['willMovePath'](old_path, new_path); | |
| } | |
| } catch(e) { | |
| console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); | |
| } | |
| // remove the node from the lookup hash | |
| FS.hashRemoveNode(old_node); | |
| // do the underlying fs rename | |
| try { | |
| old_dir.node_ops.rename(old_node, new_dir, new_name); | |
| } catch (e) { | |
| throw e; | |
| } finally { | |
| // add the node back to the hash (in case node_ops.rename | |
| // changed its name) | |
| FS.hashAddNode(old_node); | |
| } | |
| try { | |
| if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); | |
| } catch(e) { | |
| console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); | |
| } | |
| },rmdir:function (path) { | |
| var lookup = FS.lookupPath(path, { parent: true }); | |
| var parent = lookup.node; | |
| var name = PATH.basename(path); | |
| var node = FS.lookupNode(parent, name); | |
| var err = FS.mayDelete(parent, name, true); | |
| if (err) { | |
| throw new FS.ErrnoError(err); | |
| } | |
| if (!parent.node_ops.rmdir) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| } | |
| if (FS.isMountpoint(node)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EBUSY); | |
| } | |
| try { | |
| if (FS.trackingDelegate['willDeletePath']) { | |
| FS.trackingDelegate['willDeletePath'](path); | |
| } | |
| } catch(e) { | |
| console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); | |
| } | |
| parent.node_ops.rmdir(parent, name); | |
| FS.destroyNode(node); | |
| try { | |
| if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); | |
| } catch(e) { | |
| console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); | |
| } | |
| },readdir:function (path) { | |
| var lookup = FS.lookupPath(path, { follow: true }); | |
| var node = lookup.node; | |
| if (!node.node_ops.readdir) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); | |
| } | |
| return node.node_ops.readdir(node); | |
| },unlink:function (path) { | |
| var lookup = FS.lookupPath(path, { parent: true }); | |
| var parent = lookup.node; | |
| var name = PATH.basename(path); | |
| var node = FS.lookupNode(parent, name); | |
| var err = FS.mayDelete(parent, name, false); | |
| if (err) { | |
| // POSIX says unlink should set EPERM, not EISDIR | |
| if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM; | |
| throw new FS.ErrnoError(err); | |
| } | |
| if (!parent.node_ops.unlink) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| } | |
| if (FS.isMountpoint(node)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EBUSY); | |
| } | |
| try { | |
| if (FS.trackingDelegate['willDeletePath']) { | |
| FS.trackingDelegate['willDeletePath'](path); | |
| } | |
| } catch(e) { | |
| console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); | |
| } | |
| parent.node_ops.unlink(parent, name); | |
| FS.destroyNode(node); | |
| try { | |
| if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); | |
| } catch(e) { | |
| console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); | |
| } | |
| },readlink:function (path) { | |
| var lookup = FS.lookupPath(path); | |
| var link = lookup.node; | |
| if (!link) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOENT); | |
| } | |
| if (!link.node_ops.readlink) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); | |
| },stat:function (path, dontFollow) { | |
| var lookup = FS.lookupPath(path, { follow: !dontFollow }); | |
| var node = lookup.node; | |
| if (!node) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOENT); | |
| } | |
| if (!node.node_ops.getattr) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| } | |
| return node.node_ops.getattr(node); | |
| },lstat:function (path) { | |
| return FS.stat(path, true); | |
| },chmod:function (path, mode, dontFollow) { | |
| var node; | |
| if (typeof path === 'string') { | |
| var lookup = FS.lookupPath(path, { follow: !dontFollow }); | |
| node = lookup.node; | |
| } else { | |
| node = path; | |
| } | |
| if (!node.node_ops.setattr) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| } | |
| node.node_ops.setattr(node, { | |
| mode: (mode & 4095) | (node.mode & ~4095), | |
| timestamp: Date.now() | |
| }); | |
| },lchmod:function (path, mode) { | |
| FS.chmod(path, mode, true); | |
| },fchmod:function (fd, mode) { | |
| var stream = FS.getStream(fd); | |
| if (!stream) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EBADF); | |
| } | |
| FS.chmod(stream.node, mode); | |
| },chown:function (path, uid, gid, dontFollow) { | |
| var node; | |
| if (typeof path === 'string') { | |
| var lookup = FS.lookupPath(path, { follow: !dontFollow }); | |
| node = lookup.node; | |
| } else { | |
| node = path; | |
| } | |
| if (!node.node_ops.setattr) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| } | |
| node.node_ops.setattr(node, { | |
| timestamp: Date.now() | |
| // we ignore the uid / gid for now | |
| }); | |
| },lchown:function (path, uid, gid) { | |
| FS.chown(path, uid, gid, true); | |
| },fchown:function (fd, uid, gid) { | |
| var stream = FS.getStream(fd); | |
| if (!stream) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EBADF); | |
| } | |
| FS.chown(stream.node, uid, gid); | |
| },truncate:function (path, len) { | |
| if (len < 0) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| var node; | |
| if (typeof path === 'string') { | |
| var lookup = FS.lookupPath(path, { follow: true }); | |
| node = lookup.node; | |
| } else { | |
| node = path; | |
| } | |
| if (!node.node_ops.setattr) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EPERM); | |
| } | |
| if (FS.isDir(node.mode)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EISDIR); | |
| } | |
| if (!FS.isFile(node.mode)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| var err = FS.nodePermissions(node, 'w'); | |
| if (err) { | |
| throw new FS.ErrnoError(err); | |
| } | |
| node.node_ops.setattr(node, { | |
| size: len, | |
| timestamp: Date.now() | |
| }); | |
| },ftruncate:function (fd, len) { | |
| var stream = FS.getStream(fd); | |
| if (!stream) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EBADF); | |
| } | |
| if ((stream.flags & 2097155) === 0) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| FS.truncate(stream.node, len); | |
| },utime:function (path, atime, mtime) { | |
| var lookup = FS.lookupPath(path, { follow: true }); | |
| var node = lookup.node; | |
| node.node_ops.setattr(node, { | |
| timestamp: Math.max(atime, mtime) | |
| }); | |
| },open:function (path, flags, mode, fd_start, fd_end) { | |
| if (path === "") { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOENT); | |
| } | |
| flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; | |
| mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; | |
| if ((flags & 64)) { | |
| mode = (mode & 4095) | 32768; | |
| } else { | |
| mode = 0; | |
| } | |
| var node; | |
| if (typeof path === 'object') { | |
| node = path; | |
| } else { | |
| path = PATH.normalize(path); | |
| try { | |
| var lookup = FS.lookupPath(path, { | |
| follow: !(flags & 131072) | |
| }); | |
| node = lookup.node; | |
| } catch (e) { | |
| // ignore | |
| } | |
| } | |
| // perhaps we need to create the node | |
| var created = false; | |
| if ((flags & 64)) { | |
| if (node) { | |
| // if O_CREAT and O_EXCL are set, error out if the node already exists | |
| if ((flags & 128)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EEXIST); | |
| } | |
| } else { | |
| // node doesn't exist, try to create it | |
| node = FS.mknod(path, mode, 0); | |
| created = true; | |
| } | |
| } | |
| if (!node) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOENT); | |
| } | |
| // can't truncate a device | |
| if (FS.isChrdev(node.mode)) { | |
| flags &= ~512; | |
| } | |
| // if asked only for a directory, then this must be one | |
| if ((flags & 65536) && !FS.isDir(node.mode)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); | |
| } | |
| // check permissions, if this is not a file we just created now (it is ok to | |
| // create and write to a file with read-only permissions; it is read-only | |
| // for later use) | |
| if (!created) { | |
| var err = FS.mayOpen(node, flags); | |
| if (err) { | |
| throw new FS.ErrnoError(err); | |
| } | |
| } | |
| // do truncation if necessary | |
| if ((flags & 512)) { | |
| FS.truncate(node, 0); | |
| } | |
| // we've already handled these, don't pass down to the underlying vfs | |
| flags &= ~(128 | 512); | |
| // register the stream with the filesystem | |
| var stream = FS.createStream({ | |
| node: node, | |
| path: FS.getPath(node), // we want the absolute path to the node | |
| flags: flags, | |
| seekable: true, | |
| position: 0, | |
| stream_ops: node.stream_ops, | |
| // used by the file family libc calls (fopen, fwrite, ferror, etc.) | |
| ungotten: [], | |
| error: false | |
| }, fd_start, fd_end); | |
| // call the new stream's open function | |
| if (stream.stream_ops.open) { | |
| stream.stream_ops.open(stream); | |
| } | |
| if (Module['logReadFiles'] && !(flags & 1)) { | |
| if (!FS.readFiles) FS.readFiles = {}; | |
| if (!(path in FS.readFiles)) { | |
| FS.readFiles[path] = 1; | |
| Module['printErr']('read file: ' + path); | |
| } | |
| } | |
| try { | |
| if (FS.trackingDelegate['onOpenFile']) { | |
| var trackingFlags = 0; | |
| if ((flags & 2097155) !== 1) { | |
| trackingFlags |= FS.tracking.openFlags.READ; | |
| } | |
| if ((flags & 2097155) !== 0) { | |
| trackingFlags |= FS.tracking.openFlags.WRITE; | |
| } | |
| FS.trackingDelegate['onOpenFile'](path, trackingFlags); | |
| } | |
| } catch(e) { | |
| console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); | |
| } | |
| return stream; | |
| },close:function (stream) { | |
| if (stream.getdents) stream.getdents = null; // free readdir state | |
| try { | |
| if (stream.stream_ops.close) { | |
| stream.stream_ops.close(stream); | |
| } | |
| } catch (e) { | |
| throw e; | |
| } finally { | |
| FS.closeStream(stream.fd); | |
| } | |
| },llseek:function (stream, offset, whence) { | |
| if (!stream.seekable || !stream.stream_ops.llseek) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); | |
| } | |
| stream.position = stream.stream_ops.llseek(stream, offset, whence); | |
| stream.ungotten = []; | |
| return stream.position; | |
| },read:function (stream, buffer, offset, length, position) { | |
| if (length < 0 || position < 0) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| if ((stream.flags & 2097155) === 1) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EBADF); | |
| } | |
| if (FS.isDir(stream.node.mode)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EISDIR); | |
| } | |
| if (!stream.stream_ops.read) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| var seeking = true; | |
| if (typeof position === 'undefined') { | |
| position = stream.position; | |
| seeking = false; | |
| } else if (!stream.seekable) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); | |
| } | |
| var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); | |
| if (!seeking) stream.position += bytesRead; | |
| return bytesRead; | |
| },write:function (stream, buffer, offset, length, position, canOwn) { | |
| if (length < 0 || position < 0) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| if ((stream.flags & 2097155) === 0) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EBADF); | |
| } | |
| if (FS.isDir(stream.node.mode)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EISDIR); | |
| } | |
| if (!stream.stream_ops.write) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| if (stream.flags & 1024) { | |
| // seek to the end before writing in append mode | |
| FS.llseek(stream, 0, 2); | |
| } | |
| var seeking = true; | |
| if (typeof position === 'undefined') { | |
| position = stream.position; | |
| seeking = false; | |
| } else if (!stream.seekable) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); | |
| } | |
| var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); | |
| if (!seeking) stream.position += bytesWritten; | |
| try { | |
| if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); | |
| } catch(e) { | |
| console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); | |
| } | |
| return bytesWritten; | |
| },allocate:function (stream, offset, length) { | |
| if (offset < 0 || length <= 0) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EINVAL); | |
| } | |
| if ((stream.flags & 2097155) === 0) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EBADF); | |
| } | |
| if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENODEV); | |
| } | |
| if (!stream.stream_ops.allocate) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); | |
| } | |
| stream.stream_ops.allocate(stream, offset, length); | |
| },mmap:function (stream, buffer, offset, length, position, prot, flags) { | |
| // TODO if PROT is PROT_WRITE, make sure we have write access | |
| if ((stream.flags & 2097155) === 1) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EACCES); | |
| } | |
| if (!stream.stream_ops.mmap) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENODEV); | |
| } | |
| return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); | |
| },msync:function (stream, buffer, offset, length, mmapFlags) { | |
| if (!stream || !stream.stream_ops.msync) { | |
| return 0; | |
| } | |
| return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); | |
| },munmap:function (stream) { | |
| return 0; | |
| },ioctl:function (stream, cmd, arg) { | |
| if (!stream.stream_ops.ioctl) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); | |
| } | |
| return stream.stream_ops.ioctl(stream, cmd, arg); | |
| },readFile:function (path, opts) { | |
| opts = opts || {}; | |
| opts.flags = opts.flags || 'r'; | |
| opts.encoding = opts.encoding || 'binary'; | |
| if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { | |
| throw new Error('Invalid encoding type "' + opts.encoding + '"'); | |
| } | |
| var ret; | |
| var stream = FS.open(path, opts.flags); | |
| var stat = FS.stat(path); | |
| var length = stat.size; | |
| var buf = new Uint8Array(length); | |
| FS.read(stream, buf, 0, length, 0); | |
| if (opts.encoding === 'utf8') { | |
| ret = UTF8ArrayToString(buf, 0); | |
| } else if (opts.encoding === 'binary') { | |
| ret = buf; | |
| } | |
| FS.close(stream); | |
| return ret; | |
| },writeFile:function (path, data, opts) { | |
| opts = opts || {}; | |
| opts.flags = opts.flags || 'w'; | |
| opts.encoding = opts.encoding || 'utf8'; | |
| if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { | |
| throw new Error('Invalid encoding type "' + opts.encoding + '"'); | |
| } | |
| var stream = FS.open(path, opts.flags, opts.mode); | |
| if (opts.encoding === 'utf8') { | |
| var buf = new Uint8Array(lengthBytesUTF8(data)+1); | |
| var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); | |
| FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); | |
| } else if (opts.encoding === 'binary') { | |
| FS.write(stream, data, 0, data.length, 0, opts.canOwn); | |
| } | |
| FS.close(stream); | |
| },cwd:function () { | |
| return FS.currentPath; | |
| },chdir:function (path) { | |
| var lookup = FS.lookupPath(path, { follow: true }); | |
| if (!FS.isDir(lookup.node.mode)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); | |
| } | |
| var err = FS.nodePermissions(lookup.node, 'x'); | |
| if (err) { | |
| throw new FS.ErrnoError(err); | |
| } | |
| FS.currentPath = lookup.path; | |
| },createDefaultDirectories:function () { | |
| FS.mkdir('/tmp'); | |
| FS.mkdir('/home'); | |
| FS.mkdir('/home/web_user'); | |
| },createDefaultDevices:function () { | |
| // create /dev | |
| FS.mkdir('/dev'); | |
| // setup /dev/null | |
| FS.registerDevice(FS.makedev(1, 3), { | |
| read: function() { return 0; }, | |
| write: function(stream, buffer, offset, length, pos) { return length; } | |
| }); | |
| FS.mkdev('/dev/null', FS.makedev(1, 3)); | |
| // setup /dev/tty and /dev/tty1 | |
| // stderr needs to print output using Module['printErr'] | |
| // so we register a second tty just for it. | |
| TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); | |
| TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); | |
| FS.mkdev('/dev/tty', FS.makedev(5, 0)); | |
| FS.mkdev('/dev/tty1', FS.makedev(6, 0)); | |
| // setup /dev/[u]random | |
| var random_device; | |
| if (typeof crypto !== 'undefined') { | |
| // for modern web browsers | |
| var randomBuffer = new Uint8Array(1); | |
| random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; | |
| } else if (ENVIRONMENT_IS_NODE) { | |
| // for nodejs | |
| random_device = function() { return require('crypto').randomBytes(1)[0]; }; | |
| } else { | |
| // default for ES5 platforms | |
| random_device = function() { return (Math.random()*256)|0; }; | |
| } | |
| FS.createDevice('/dev', 'random', random_device); | |
| FS.createDevice('/dev', 'urandom', random_device); | |
| // we're not going to emulate the actual shm device, | |
| // just create the tmp dirs that reside in it commonly | |
| FS.mkdir('/dev/shm'); | |
| FS.mkdir('/dev/shm/tmp'); | |
| },createSpecialDirectories:function () { | |
| // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) | |
| FS.mkdir('/proc'); | |
| FS.mkdir('/proc/self'); | |
| FS.mkdir('/proc/self/fd'); | |
| FS.mount({ | |
| mount: function() { | |
| var node = FS.createNode('/proc/self', 'fd', 16384 | 0777, 73); | |
| node.node_ops = { | |
| lookup: function(parent, name) { | |
| var fd = +name; | |
| var stream = FS.getStream(fd); | |
| if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); | |
| var ret = { | |
| parent: null, | |
| mount: { mountpoint: 'fake' }, | |
| node_ops: { readlink: function() { return stream.path } } | |
| }; | |
| ret.parent = ret; // make it look like a simple root node | |
| return ret; | |
| } | |
| }; | |
| return node; | |
| } | |
| }, {}, '/proc/self/fd'); | |
| },createStandardStreams:function () { | |
| // TODO deprecate the old functionality of a single | |
| // input / output callback and that utilizes FS.createDevice | |
| // and instead require a unique set of stream ops | |
| // by default, we symlink the standard streams to the | |
| // default tty devices. however, if the standard streams | |
| // have been overwritten we create a unique device for | |
| // them instead. | |
| if (Module['stdin']) { | |
| FS.createDevice('/dev', 'stdin', Module['stdin']); | |
| } else { | |
| FS.symlink('/dev/tty', '/dev/stdin'); | |
| } | |
| if (Module['stdout']) { | |
| FS.createDevice('/dev', 'stdout', null, Module['stdout']); | |
| } else { | |
| FS.symlink('/dev/tty', '/dev/stdout'); | |
| } | |
| if (Module['stderr']) { | |
| FS.createDevice('/dev', 'stderr', null, Module['stderr']); | |
| } else { | |
| FS.symlink('/dev/tty1', '/dev/stderr'); | |
| } | |
| // open default streams for the stdin, stdout and stderr devices | |
| var stdin = FS.open('/dev/stdin', 'r'); | |
| assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); | |
| var stdout = FS.open('/dev/stdout', 'w'); | |
| assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); | |
| var stderr = FS.open('/dev/stderr', 'w'); | |
| assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); | |
| },ensureErrnoError:function () { | |
| if (FS.ErrnoError) return; | |
| FS.ErrnoError = function ErrnoError(errno, node) { | |
| //Module.printErr(stackTrace()); // useful for debugging | |
| this.node = node; | |
| this.setErrno = function(errno) { | |
| this.errno = errno; | |
| for (var key in ERRNO_CODES) { | |
| if (ERRNO_CODES[key] === errno) { | |
| this.code = key; | |
| break; | |
| } | |
| } | |
| }; | |
| this.setErrno(errno); | |
| this.message = ERRNO_MESSAGES[errno]; | |
| if (this.stack) this.stack = demangleAll(this.stack); | |
| }; | |
| FS.ErrnoError.prototype = new Error(); | |
| FS.ErrnoError.prototype.constructor = FS.ErrnoError; | |
| // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) | |
| [ERRNO_CODES.ENOENT].forEach(function(code) { | |
| FS.genericErrors[code] = new FS.ErrnoError(code); | |
| FS.genericErrors[code].stack = '<generic error, no stack>'; | |
| }); | |
| },staticInit:function () { | |
| FS.ensureErrnoError(); | |
| FS.nameTable = new Array(4096); | |
| FS.mount(MEMFS, {}, '/'); | |
| FS.createDefaultDirectories(); | |
| FS.createDefaultDevices(); | |
| FS.createSpecialDirectories(); | |
| FS.filesystems = { | |
| 'MEMFS': MEMFS, | |
| 'IDBFS': IDBFS, | |
| 'NODEFS': NODEFS, | |
| 'WORKERFS': WORKERFS, | |
| }; | |
| },init:function (input, output, error) { | |
| assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); | |
| FS.init.initialized = true; | |
| FS.ensureErrnoError(); | |
| // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here | |
| Module['stdin'] = input || Module['stdin']; | |
| Module['stdout'] = output || Module['stdout']; | |
| Module['stderr'] = error || Module['stderr']; | |
| FS.createStandardStreams(); | |
| },quit:function () { | |
| FS.init.initialized = false; | |
| // force-flush all streams, so we get musl std streams printed out | |
| var fflush = Module['_fflush']; | |
| if (fflush) fflush(0); | |
| // close all of our streams | |
| for (var i = 0; i < FS.streams.length; i++) { | |
| var stream = FS.streams[i]; | |
| if (!stream) { | |
| continue; | |
| } | |
| FS.close(stream); | |
| } | |
| },getMode:function (canRead, canWrite) { | |
| var mode = 0; | |
| if (canRead) mode |= 292 | 73; | |
| if (canWrite) mode |= 146; | |
| return mode; | |
| },joinPath:function (parts, forceRelative) { | |
| var path = PATH.join.apply(null, parts); | |
| if (forceRelative && path[0] == '/') path = path.substr(1); | |
| return path; | |
| },absolutePath:function (relative, base) { | |
| return PATH.resolve(base, relative); | |
| },standardizePath:function (path) { | |
| return PATH.normalize(path); | |
| },findObject:function (path, dontResolveLastLink) { | |
| var ret = FS.analyzePath(path, dontResolveLastLink); | |
| if (ret.exists) { | |
| return ret.object; | |
| } else { | |
| ___setErrNo(ret.error); | |
| return null; | |
| } | |
| },analyzePath:function (path, dontResolveLastLink) { | |
| // operate from within the context of the symlink's target | |
| try { | |
| var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); | |
| path = lookup.path; | |
| } catch (e) { | |
| } | |
| var ret = { | |
| isRoot: false, exists: false, error: 0, name: null, path: null, object: null, | |
| parentExists: false, parentPath: null, parentObject: null | |
| }; | |
| try { | |
| var lookup = FS.lookupPath(path, { parent: true }); | |
| ret.parentExists = true; | |
| ret.parentPath = lookup.path; | |
| ret.parentObject = lookup.node; | |
| ret.name = PATH.basename(path); | |
| lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); | |
| ret.exists = true; | |
| ret.path = lookup.path; | |
| ret.object = lookup.node; | |
| ret.name = lookup.node.name; | |
| ret.isRoot = lookup.path === '/'; | |
| } catch (e) { | |
| ret.error = e.errno; | |
| }; | |
| return ret; | |
| },createFolder:function (parent, name, canRead, canWrite) { | |
| var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); | |
| var mode = FS.getMode(canRead, canWrite); | |
| return FS.mkdir(path, mode); | |
| },createPath:function (parent, path, canRead, canWrite) { | |
| parent = typeof parent === 'string' ? parent : FS.getPath(parent); | |
| var parts = path.split('/').reverse(); | |
| while (parts.length) { | |
| var part = parts.pop(); | |
| if (!part) continue; | |
| var current = PATH.join2(parent, part); | |
| try { | |
| FS.mkdir(current); | |
| } catch (e) { | |
| // ignore EEXIST | |
| } | |
| parent = current; | |
| } | |
| return current; | |
| },createFile:function (parent, name, properties, canRead, canWrite) { | |
| var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); | |
| var mode = FS.getMode(canRead, canWrite); | |
| return FS.create(path, mode); | |
| },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { | |
| var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; | |
| var mode = FS.getMode(canRead, canWrite); | |
| var node = FS.create(path, mode); | |
| if (data) { | |
| if (typeof data === 'string') { | |
| var arr = new Array(data.length); | |
| for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); | |
| data = arr; | |
| } | |
| // make sure we can write to the file | |
| FS.chmod(node, mode | 146); | |
| var stream = FS.open(node, 'w'); | |
| FS.write(stream, data, 0, data.length, 0, canOwn); | |
| FS.close(stream); | |
| FS.chmod(node, mode); | |
| } | |
| return node; | |
| },createDevice:function (parent, name, input, output) { | |
| var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); | |
| var mode = FS.getMode(!!input, !!output); | |
| if (!FS.createDevice.major) FS.createDevice.major = 64; | |
| var dev = FS.makedev(FS.createDevice.major++, 0); | |
| // Create a fake device that a set of stream ops to emulate | |
| // the old behavior. | |
| FS.registerDevice(dev, { | |
| open: function(stream) { | |
| stream.seekable = false; | |
| }, | |
| close: function(stream) { | |
| // flush any pending line data | |
| if (output && output.buffer && output.buffer.length) { | |
| output(10); | |
| } | |
| }, | |
| read: function(stream, buffer, offset, length, pos /* ignored */) { | |
| var bytesRead = 0; | |
| for (var i = 0; i < length; i++) { | |
| var result; | |
| try { | |
| result = input(); | |
| } catch (e) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EIO); | |
| } | |
| if (result === undefined && bytesRead === 0) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); | |
| } | |
| if (result === null || result === undefined) break; | |
| bytesRead++; | |
| buffer[offset+i] = result; | |
| } | |
| if (bytesRead) { | |
| stream.node.timestamp = Date.now(); | |
| } | |
| return bytesRead; | |
| }, | |
| write: function(stream, buffer, offset, length, pos) { | |
| for (var i = 0; i < length; i++) { | |
| try { | |
| output(buffer[offset+i]); | |
| } catch (e) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EIO); | |
| } | |
| } | |
| if (length) { | |
| stream.node.timestamp = Date.now(); | |
| } | |
| return i; | |
| } | |
| }); | |
| return FS.mkdev(path, mode, dev); | |
| },createLink:function (parent, name, target, canRead, canWrite) { | |
| var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); | |
| return FS.symlink(target, path); | |
| },forceLoadFile:function (obj) { | |
| if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; | |
| var success = true; | |
| if (typeof XMLHttpRequest !== 'undefined') { | |
| throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); | |
| } else if (Module['read']) { | |
| // Command-line. | |
| try { | |
| // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as | |
| // read() will try to parse UTF8. | |
| obj.contents = intArrayFromString(Module['read'](obj.url), true); | |
| obj.usedBytes = obj.contents.length; | |
| } catch (e) { | |
| success = false; | |
| } | |
| } else { | |
| throw new Error('Cannot load without read() or XMLHttpRequest.'); | |
| } | |
| if (!success) ___setErrNo(ERRNO_CODES.EIO); | |
| return success; | |
| },createLazyFile:function (parent, name, url, canRead, canWrite) { | |
| // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. | |
| function LazyUint8Array() { | |
| this.lengthKnown = false; | |
| this.chunks = []; // Loaded chunks. Index is the chunk number | |
| } | |
| LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { | |
| if (idx > this.length-1 || idx < 0) { | |
| return undefined; | |
| } | |
| var chunkOffset = idx % this.chunkSize; | |
| var chunkNum = (idx / this.chunkSize)|0; | |
| return this.getter(chunkNum)[chunkOffset]; | |
| } | |
| LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { | |
| this.getter = getter; | |
| } | |
| LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { | |
| // Find length | |
| var xhr = new XMLHttpRequest(); | |
| xhr.open('HEAD', url, false); | |
| xhr.send(null); | |
| if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); | |
| var datalength = Number(xhr.getResponseHeader("Content-length")); | |
| var header; | |
| var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; | |
| var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; | |
| var chunkSize = 1024*1024; // Chunk size in bytes | |
| if (!hasByteServing) chunkSize = datalength; | |
| // Function to get a range from the remote URL. | |
| var doXHR = (function(from, to) { | |
| if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); | |
| if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); | |
| // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. | |
| var xhr = new XMLHttpRequest(); | |
| xhr.open('GET', url, false); | |
| if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); | |
| // Some hints to the browser that we want binary data. | |
| if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; | |
| if (xhr.overrideMimeType) { | |
| xhr.overrideMimeType('text/plain; charset=x-user-defined'); | |
| } | |
| xhr.send(null); | |
| if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); | |
| if (xhr.response !== undefined) { | |
| return new Uint8Array(xhr.response || []); | |
| } else { | |
| return intArrayFromString(xhr.responseText || '', true); | |
| } | |
| }); | |
| var lazyArray = this; | |
| lazyArray.setDataGetter(function(chunkNum) { | |
| var start = chunkNum * chunkSize; | |
| var end = (chunkNum+1) * chunkSize - 1; // including this byte | |
| end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block | |
| if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { | |
| lazyArray.chunks[chunkNum] = doXHR(start, end); | |
| } | |
| if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); | |
| return lazyArray.chunks[chunkNum]; | |
| }); | |
| if (usesGzip || !datalength) { | |
| // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length | |
| chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file | |
| datalength = this.getter(0).length; | |
| chunkSize = datalength; | |
| console.log("LazyFiles on gzip forces download of the whole file when length is accessed"); | |
| } | |
| this._length = datalength; | |
| this._chunkSize = chunkSize; | |
| this.lengthKnown = true; | |
| } | |
| if (typeof XMLHttpRequest !== 'undefined') { | |
| if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; | |
| var lazyArray = new LazyUint8Array(); | |
| Object.defineProperties(lazyArray, { | |
| length: { | |
| get: function() { | |
| if(!this.lengthKnown) { | |
| this.cacheLength(); | |
| } | |
| return this._length; | |
| } | |
| }, | |
| chunkSize: { | |
| get: function() { | |
| if(!this.lengthKnown) { | |
| this.cacheLength(); | |
| } | |
| return this._chunkSize; | |
| } | |
| } | |
| }); | |
| var properties = { isDevice: false, contents: lazyArray }; | |
| } else { | |
| var properties = { isDevice: false, url: url }; | |
| } | |
| var node = FS.createFile(parent, name, properties, canRead, canWrite); | |
| // This is a total hack, but I want to get this lazy file code out of the | |
| // core of MEMFS. If we want to keep this lazy file concept I feel it should | |
| // be its own thin LAZYFS proxying calls to MEMFS. | |
| if (properties.contents) { | |
| node.contents = properties.contents; | |
| } else if (properties.url) { | |
| node.contents = null; | |
| node.url = properties.url; | |
| } | |
| // Add a function that defers querying the file size until it is asked the first time. | |
| Object.defineProperties(node, { | |
| usedBytes: { | |
| get: function() { return this.contents.length; } | |
| } | |
| }); | |
| // override each stream op with one that tries to force load the lazy file first | |
| var stream_ops = {}; | |
| var keys = Object.keys(node.stream_ops); | |
| keys.forEach(function(key) { | |
| var fn = node.stream_ops[key]; | |
| stream_ops[key] = function forceLoadLazyFile() { | |
| if (!FS.forceLoadFile(node)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EIO); | |
| } | |
| return fn.apply(null, arguments); | |
| }; | |
| }); | |
| // use a custom read function | |
| stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { | |
| if (!FS.forceLoadFile(node)) { | |
| throw new FS.ErrnoError(ERRNO_CODES.EIO); | |
| } | |
| var contents = stream.node.contents; | |
| if (position >= contents.length) | |
| return 0; | |
| var size = Math.min(contents.length - position, length); | |
| assert(size >= 0); | |
| if (contents.slice) { // normal array | |
| for (var i = 0; i < size; i++) { | |
| buffer[offset + i] = contents[position + i]; | |
| } | |
| } else { | |
| for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR | |
| buffer[offset + i] = contents.get(position + i); | |
| } | |
| } | |
| return size; | |
| }; | |
| node.stream_ops = stream_ops; | |
| return node; | |
| },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { | |
| Browser.init(); // XXX perhaps this method should move onto Browser? | |
| // TODO we should allow people to just pass in a complete filename instead | |
| // of parent and name being that we just join them anyways | |
| var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; | |
| var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname | |
| function processData(byteArray) { | |
| function finish(byteArray) { | |
| if (preFinish) preFinish(); | |
| if (!dontCreateFile) { | |
| FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); | |
| } | |
| if (onload) onload(); | |
| removeRunDependency(dep); | |
| } | |
| var handled = false; | |
| Module['preloadPlugins'].forEach(function(plugin) { | |
| if (handled) return; | |
| if (plugin['canHandle'](fullname)) { | |
| plugin['handle'](byteArray, fullname, finish, function() { | |
| if (onerror) onerror(); | |
| removeRunDependency(dep); | |
| }); | |
| handled = true; | |
| } | |
| }); | |
| if (!handled) finish(byteArray); | |
| } | |
| addRunDependency(dep); | |
| if (typeof url == 'string') { | |
| Browser.asyncLoad(url, function(byteArray) { | |
| processData(byteArray); | |
| }, onerror); | |
| } else { | |
| processData(url); | |
| } | |
| },indexedDB:function () { | |
| return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; | |
| },DB_NAME:function () { | |
| return 'EM_FS_' + window.location.pathname; | |
| },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) { | |
| onload = onload || function(){}; | |
| onerror = onerror || function(){}; | |
| var indexedDB = FS.indexedDB(); | |
| try { | |
| var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); | |
| } catch (e) { | |
| return onerror(e); | |
| } | |
| openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { | |
| console.log('creating db'); | |
| var db = openRequest.result; | |
| db.createObjectStore(FS.DB_STORE_NAME); | |
| }; | |
| openRequest.onsuccess = function openRequest_onsuccess() { | |
| var db = openRequest.result; | |
| var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); | |
| var files = transaction.objectStore(FS.DB_STORE_NAME); | |
| var ok = 0, fail = 0, total = paths.length; | |
| function finish() { | |
| if (fail == 0) onload(); else onerror(); | |
| } | |
| paths.forEach(function(path) { | |
| var putRequest = files.put(FS.analyzePath(path).object.contents, path); | |
| putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; | |
| putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; | |
| }); | |
| transaction.onerror = onerror; | |
| }; | |
| openRequest.onerror = onerror; | |
| },loadFilesFromDB:function (paths, onload, onerror) { | |
| onload = onload || function(){}; | |
| onerror = onerror || function(){}; | |
| var indexedDB = FS.indexedDB(); | |
| try { | |
| var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); | |
| } catch (e) { | |
| return onerror(e); | |
| } | |
| openRequest.onupgradeneeded = onerror; // no database to load from | |
| openRequest.onsuccess = function openRequest_onsuccess() { | |
| var db = openRequest.result; | |
| try { | |
| var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); | |
| } catch(e) { | |
| onerror(e); | |
| return; | |
| } | |
| var files = transaction.objectStore(FS.DB_STORE_NAME); | |
| var ok = 0, fail = 0, total = paths.length; | |
| function finish() { | |
| if (fail == 0) onload(); else onerror(); | |
| } | |
| paths.forEach(function(path) { | |
| var getRequest = files.get(path); | |
| getRequest.onsuccess = function getRequest_onsuccess() { | |
| if (FS.analyzePath(path).exists) { | |
| FS.unlink(path); | |
| } | |
| FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); | |
| ok++; | |
| if (ok + fail == total) finish(); | |
| }; | |
| getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; | |
| }); | |
| transaction.onerror = onerror; | |
| }; | |
| openRequest.onerror = onerror; | |
| }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { | |
| if (path[0] !== '/') { | |
| // relative path | |
| var dir; | |
| if (dirfd === -100) { | |
| dir = FS.cwd(); | |
| } else { | |
| var dirstream = FS.getStream(dirfd); | |
| if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); | |
| dir = dirstream.path; | |
| } | |
| path = PATH.join2(dir, path); | |
| } | |
| return path; | |
| },doStat:function (func, path, buf) { | |
| try { | |
| var stat = func(path); | |
| } catch (e) { | |
| if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { | |
| // an error occurred while trying to look up the path; we should just report ENOTDIR | |
| return -ERRNO_CODES.ENOTDIR; | |
| } | |
| throw e; | |
| } | |
| HEAP32[((buf)>>2)]=stat.dev; | |
| HEAP32[(((buf)+(4))>>2)]=0; | |
| HEAP32[(((buf)+(8))>>2)]=stat.ino; | |
| HEAP32[(((buf)+(12))>>2)]=stat.mode; | |
| HEAP32[(((buf)+(16))>>2)]=stat.nlink; | |
| HEAP32[(((buf)+(20))>>2)]=stat.uid; | |
| HEAP32[(((buf)+(24))>>2)]=stat.gid; | |
| HEAP32[(((buf)+(28))>>2)]=stat.rdev; | |
| HEAP32[(((buf)+(32))>>2)]=0; | |
| HEAP32[(((buf)+(36))>>2)]=stat.size; | |
| HEAP32[(((buf)+(40))>>2)]=4096; | |
| HEAP32[(((buf)+(44))>>2)]=stat.blocks; | |
| HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; | |
| HEAP32[(((buf)+(52))>>2)]=0; | |
| HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; | |
| HEAP32[(((buf)+(60))>>2)]=0; | |
| HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; | |
| HEAP32[(((buf)+(68))>>2)]=0; | |
| HEAP32[(((buf)+(72))>>2)]=stat.ino; | |
| return 0; | |
| },doMsync:function (addr, stream, len, flags) { | |
| var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); | |
| FS.msync(stream, buffer, 0, len, flags); | |
| },doMkdir:function (path, mode) { | |
| // remove a trailing slash, if one - /a/b/ has basename of '', but | |
| // we want to create b in the context of this function | |
| path = PATH.normalize(path); | |
| if (path[path.length-1] === '/') path = path.substr(0, path.length-1); | |
| FS.mkdir(path, mode, 0); | |
| return 0; | |
| },doMknod:function (path, mode, dev) { | |
| // we don't want this in the JS API as it uses mknod to create all nodes. | |
| switch (mode & 61440) { | |
| case 32768: | |
| case 8192: | |
| case 24576: | |
| case 4096: | |
| case 49152: | |
| break; | |
| default: return -ERRNO_CODES.EINVAL; | |
| } | |
| FS.mknod(path, mode, dev); | |
| return 0; | |
| },doReadlink:function (path, buf, bufsize) { | |
| if (bufsize <= 0) return -ERRNO_CODES.EINVAL; | |
| var ret = FS.readlink(path); | |
| ret = ret.slice(0, Math.max(0, bufsize)); | |
| writeStringToMemory(ret, buf, true); | |
| return ret.length; | |
| },doAccess:function (path, amode) { | |
| if (amode & ~7) { | |
| // need a valid mode | |
| return -ERRNO_CODES.EINVAL; | |
| } | |
| var node; | |
| var lookup = FS.lookupPath(path, { follow: true }); | |
| node = lookup.node; | |
| var perms = ''; | |
| if (amode & 4) perms += 'r'; | |
| if (amode & 2) perms += 'w'; | |
| if (amode & 1) perms += 'x'; | |
| if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { | |
| return -ERRNO_CODES.EACCES; | |
| } | |
| return 0; | |
| },doDup:function (path, flags, suggestFD) { | |
| var suggest = FS.getStream(suggestFD); | |
| if (suggest) FS.close(suggest); | |
| return FS.open(path, flags, 0, suggestFD, suggestFD).fd; | |
| },doReadv:function (stream, iov, iovcnt, offset) { | |
| var ret = 0; | |
| for (var i = 0; i < iovcnt; i++) { | |
| var ptr = HEAP32[(((iov)+(i*8))>>2)]; | |
| var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; | |
| var curr = FS.read(stream, HEAP8,ptr, len, offset); | |
| if (curr < 0) return -1; | |
| ret += curr; | |
| if (curr < len) break; // nothing more to read | |
| } | |
| return ret; | |
| },doWritev:function (stream, iov, iovcnt, offset) { | |
| var ret = 0; | |
| for (var i = 0; i < iovcnt; i++) { | |
| var ptr = HEAP32[(((iov)+(i*8))>>2)]; | |
| var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; | |
| var curr = FS.write(stream, HEAP8,ptr, len, offset); | |
| if (curr < 0) return -1; | |
| ret += curr; | |
| } | |
| return ret; | |
| },varargs:0,get:function (varargs) { | |
| SYSCALLS.varargs += 4; | |
| var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; | |
| return ret; | |
| },getStr:function () { | |
| var ret = Pointer_stringify(SYSCALLS.get()); | |
| return ret; | |
| },getStreamFromFD:function () { | |
| var stream = FS.getStream(SYSCALLS.get()); | |
| if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); | |
| return stream; | |
| },getSocketFromFD:function () { | |
| var socket = SOCKFS.getSocket(SYSCALLS.get()); | |
| if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); | |
| return socket; | |
| },getSocketAddress:function (allowNull) { | |
| var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); | |
| if (allowNull && addrp === 0) return null; | |
| var info = __read_sockaddr(addrp, addrlen); | |
| if (info.errno) throw new FS.ErrnoError(info.errno); | |
| info.addr = DNS.lookup_addr(info.addr) || info.addr; | |
| return info; | |
| },get64:function () { | |
| var low = SYSCALLS.get(), high = SYSCALLS.get(); | |
| if (low >= 0) assert(high === 0); | |
| else assert(high === -1); | |
| return low; | |
| },getZero:function () { | |
| assert(SYSCALLS.get() === 0); | |
| }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // ioctl | |
| var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); | |
| switch (op) { | |
| case 21505: { | |
| if (!stream.tty) return -ERRNO_CODES.ENOTTY; | |
| return 0; | |
| } | |
| case 21506: { | |
| if (!stream.tty) return -ERRNO_CODES.ENOTTY; | |
| return 0; // no-op, not actually adjusting terminal settings | |
| } | |
| case 21519: { | |
| if (!stream.tty) return -ERRNO_CODES.ENOTTY; | |
| var argp = SYSCALLS.get(); | |
| HEAP32[((argp)>>2)]=0; | |
| return 0; | |
| } | |
| case 21520: { | |
| if (!stream.tty) return -ERRNO_CODES.ENOTTY; | |
| return -ERRNO_CODES.EINVAL; // not supported | |
| } | |
| case 21531: { | |
| var argp = SYSCALLS.get(); | |
| return FS.ioctl(stream, op, argp); | |
| } | |
| default: abort('bad ioctl syscall ' + op); | |
| } | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function __Unwind_GetIPInfo() { | |
| abort('Unwind_GetIPInfo'); | |
| } | |
| function __emscripten_traverse_stack(args) { | |
| if (!args || !args.callee || !args.callee.name) { | |
| return [null, '', '']; | |
| } | |
| var funstr = args.callee.toString(); | |
| var funcname = args.callee.name; | |
| var str = '('; | |
| var first = true; | |
| for(i in args) { | |
| var a = args[i]; | |
| if (!first) { | |
| str += ", "; | |
| } | |
| first = false; | |
| if (typeof a === 'number' || typeof a === 'string') { | |
| str += a; | |
| } else { | |
| str += '(' + typeof a + ')'; | |
| } | |
| } | |
| str += ')'; | |
| var caller = args.callee.caller; | |
| args = caller ? caller.arguments : []; | |
| if (first) | |
| str = ''; | |
| return [args, funcname, str]; | |
| }function _emscripten_get_callstack_js(flags) { | |
| var callstack = jsStackTrace(); | |
| // Find the symbols in the callstack that corresponds to the functions that report callstack information, and remove everyhing up to these from the output. | |
| var iThisFunc = callstack.lastIndexOf('_emscripten_log'); | |
| var iThisFunc2 = callstack.lastIndexOf('_emscripten_get_callstack'); | |
| var iNextLine = callstack.indexOf('\n', Math.max(iThisFunc, iThisFunc2))+1; | |
| callstack = callstack.slice(iNextLine); | |
| // If user requested to see the original source stack, but no source map information is available, just fall back to showing the JS stack. | |
| if (flags & 8/*EM_LOG_C_STACK*/ && typeof emscripten_source_map === 'undefined') { | |
| Runtime.warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'); | |
| flags ^= 8/*EM_LOG_C_STACK*/; | |
| flags |= 16/*EM_LOG_JS_STACK*/; | |
| } | |
| var stack_args = null; | |
| if (flags & 128 /*EM_LOG_FUNC_PARAMS*/) { | |
| // To get the actual parameters to the functions, traverse the stack via the unfortunately deprecated 'arguments.callee' method, if it works: | |
| var stack_args = __emscripten_traverse_stack(arguments); | |
| while (stack_args[1].indexOf('_emscripten_') >= 0) | |
| stack_args = __emscripten_traverse_stack(stack_args[0]); | |
| } | |
| // Process all lines: | |
| lines = callstack.split('\n'); | |
| callstack = ''; | |
| var newFirefoxRe = new RegExp('\\s*(.*?)@(.*?):([0-9]+):([0-9]+)'); // New FF30 with column info: extract components of form ' Object._main@http://server.com:4324:12' | |
| var firefoxRe = new RegExp('\\s*(.*?)@(.*):(.*)(:(.*))?'); // Old FF without column info: extract components of form ' Object._main@http://server.com:4324' | |
| var chromeRe = new RegExp('\\s*at (.*?) \\\((.*):(.*):(.*)\\\)'); // Extract components of form ' at Object._main (http://server.com/file.html:4324:12)' | |
| for(l in lines) { | |
| var line = lines[l]; | |
| var jsSymbolName = ''; | |
| var file = ''; | |
| var lineno = 0; | |
| var column = 0; | |
| var parts = chromeRe.exec(line); | |
| if (parts && parts.length == 5) { | |
| jsSymbolName = parts[1]; | |
| file = parts[2]; | |
| lineno = parts[3]; | |
| column = parts[4]; | |
| } else { | |
| parts = newFirefoxRe.exec(line); | |
| if (!parts) parts = firefoxRe.exec(line); | |
| if (parts && parts.length >= 4) { | |
| jsSymbolName = parts[1]; | |
| file = parts[2]; | |
| lineno = parts[3]; | |
| column = parts[4]|0; // Old Firefox doesn't carry column information, but in new FF30, it is present. See https://bugzilla.mozilla.org/show_bug.cgi?id=762556 | |
| } else { | |
| // Was not able to extract this line for demangling/sourcemapping purposes. Output it as-is. | |
| callstack += line + '\n'; | |
| continue; | |
| } | |
| } | |
| // Try to demangle the symbol, but fall back to showing the original JS symbol name if not available. | |
| var cSymbolName = (flags & 32/*EM_LOG_DEMANGLE*/) ? demangle(jsSymbolName) : jsSymbolName; | |
| if (!cSymbolName) { | |
| cSymbolName = jsSymbolName; | |
| } | |
| var haveSourceMap = false; | |
| if (flags & 8/*EM_LOG_C_STACK*/) { | |
| var orig = emscripten_source_map.originalPositionFor({line: lineno, column: column}); | |
| haveSourceMap = (orig && orig.source); | |
| if (haveSourceMap) { | |
| if (flags & 64/*EM_LOG_NO_PATHS*/) { | |
| orig.source = orig.source.substring(orig.source.replace(/\\/g, "/").lastIndexOf('/')+1); | |
| } | |
| callstack += ' at ' + cSymbolName + ' (' + orig.source + ':' + orig.line + ':' + orig.column + ')\n'; | |
| } | |
| } | |
| if ((flags & 16/*EM_LOG_JS_STACK*/) || !haveSourceMap) { | |
| if (flags & 64/*EM_LOG_NO_PATHS*/) { | |
| file = file.substring(file.replace(/\\/g, "/").lastIndexOf('/')+1); | |
| } | |
| callstack += (haveSourceMap ? (' = '+jsSymbolName) : (' at '+cSymbolName)) + ' (' + file + ':' + lineno + ':' + column + ')\n'; | |
| } | |
| // If we are still keeping track with the callstack by traversing via 'arguments.callee', print the function parameters as well. | |
| if (flags & 128 /*EM_LOG_FUNC_PARAMS*/ && stack_args[0]) { | |
| if (stack_args[1] == jsSymbolName && stack_args[2].length > 0) { | |
| callstack = callstack.replace(/\s+$/, ''); | |
| callstack += ' with values: ' + stack_args[1] + stack_args[2] + '\n'; | |
| } | |
| stack_args = __emscripten_traverse_stack(stack_args[0]); | |
| } | |
| } | |
| // Trim extra whitespace at the end of the output. | |
| callstack = callstack.replace(/\s+$/, ''); | |
| return callstack; | |
| }function __Unwind_Backtrace(func, arg) { | |
| var trace = _emscripten_get_callstack_js(); | |
| var parts = trace.split('\n'); | |
| for (var i = 0; i < parts.length; i++) { | |
| var ret = Module.dynCall('iii', [0, arg]); | |
| if (ret !== 0) return; | |
| } | |
| } | |
| function _time(ptr) { | |
| var ret = (Date.now()/1000)|0; | |
| if (ptr) { | |
| HEAP32[((ptr)>>2)]=ret; | |
| } | |
| return ret; | |
| } | |
| function _pthread_cleanup_push(routine, arg) { | |
| __ATEXIT__.push(function() { Runtime.dynCall('vi', routine, [arg]) }) | |
| _pthread_cleanup_push.level = __ATEXIT__.length; | |
| } | |
| var _environ=STATICTOP; STATICTOP += 16;;var ___environ=_environ;function ___buildEnvironment(env) { | |
| // WARNING: Arbitrary limit! | |
| var MAX_ENV_VALUES = 64; | |
| var TOTAL_ENV_SIZE = 1024; | |
| // Statically allocate memory for the environment. | |
| var poolPtr; | |
| var envPtr; | |
| if (!___buildEnvironment.called) { | |
| ___buildEnvironment.called = true; | |
| // Set default values. Use string keys for Closure Compiler compatibility. | |
| ENV['USER'] = ENV['LOGNAME'] = 'web_user'; | |
| ENV['PATH'] = '/'; | |
| ENV['PWD'] = '/'; | |
| ENV['HOME'] = '/home/web_user'; | |
| ENV['LANG'] = 'C'; | |
| ENV['_'] = Module['thisProgram']; | |
| // Allocate memory. | |
| poolPtr = allocate(TOTAL_ENV_SIZE, 'i8', ALLOC_STATIC); | |
| envPtr = allocate(MAX_ENV_VALUES * 4, | |
| 'i8*', ALLOC_STATIC); | |
| HEAP32[((envPtr)>>2)]=poolPtr; | |
| HEAP32[((_environ)>>2)]=envPtr; | |
| } else { | |
| envPtr = HEAP32[((_environ)>>2)]; | |
| poolPtr = HEAP32[((envPtr)>>2)]; | |
| } | |
| // Collect key=value lines. | |
| var strings = []; | |
| var totalSize = 0; | |
| for (var key in env) { | |
| if (typeof env[key] === 'string') { | |
| var line = key + '=' + env[key]; | |
| strings.push(line); | |
| totalSize += line.length; | |
| } | |
| } | |
| if (totalSize > TOTAL_ENV_SIZE) { | |
| throw new Error('Environment size exceeded TOTAL_ENV_SIZE!'); | |
| } | |
| // Make new. | |
| var ptrSize = 4; | |
| for (var i = 0; i < strings.length; i++) { | |
| var line = strings[i]; | |
| writeAsciiToMemory(line, poolPtr); | |
| HEAP32[(((envPtr)+(i * ptrSize))>>2)]=poolPtr; | |
| poolPtr += line.length + 1; | |
| } | |
| HEAP32[(((envPtr)+(strings.length * ptrSize))>>2)]=0; | |
| }var ENV={};function _getenv(name) { | |
| // char *getenv(const char *name); | |
| // http://pubs.opengroup.org/onlinepubs/009695399/functions/getenv.html | |
| if (name === 0) return 0; | |
| name = Pointer_stringify(name); | |
| if (!ENV.hasOwnProperty(name)) return 0; | |
| if (_getenv.ret) _free(_getenv.ret); | |
| _getenv.ret = allocate(intArrayFromString(ENV[name]), 'i8', ALLOC_NORMAL); | |
| return _getenv.ret; | |
| } | |
| function _pthread_cleanup_pop() { | |
| assert(_pthread_cleanup_push.level == __ATEXIT__.length, 'cannot pop if something else added meanwhile!'); | |
| __ATEXIT__.pop(); | |
| _pthread_cleanup_push.level = __ATEXIT__.length; | |
| } | |
| function _pthread_rwlock_rdlock() { return 0; } | |
| function ___cxa_find_matching_catch_3() { | |
| return ___cxa_find_matching_catch.apply(null, arguments); | |
| } | |
| function _pthread_mutex_unlock() {} | |
| Module["_bitshift64Shl"] = _bitshift64Shl; | |
| function _emscripten_memcpy_big(dest, src, num) { | |
| HEAPU8.set(HEAPU8.subarray(src, src+num), dest); | |
| return dest; | |
| } | |
| Module["_memcpy"] = _memcpy; | |
| function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // close | |
| var stream = SYSCALLS.getStreamFromFD(); | |
| FS.close(stream); | |
| return 0; | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function _sbrk(bytes) { | |
| // Implement a Linux-like 'memory area' for our 'process'. | |
| // Changes the size of the memory area by |bytes|; returns the | |
| // address of the previous top ('break') of the memory area | |
| // We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP | |
| var self = _sbrk; | |
| if (!self.called) { | |
| DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned | |
| self.called = true; | |
| assert(Runtime.dynamicAlloc); | |
| self.alloc = Runtime.dynamicAlloc; | |
| Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') }; | |
| } | |
| var ret = DYNAMICTOP; | |
| if (bytes != 0) { | |
| var success = self.alloc(bytes); | |
| if (!success) return -1 >>> 0; // sbrk failure code | |
| } | |
| return ret; // Previous break location. | |
| } | |
| Module["_memmove"] = _memmove; | |
| function __Unwind_RaiseException(ex) { | |
| abort('Unwind_RaiseException'); | |
| } | |
| function ___gcc_personality_v0() { | |
| } | |
| function _pthread_mutex_destroy() {} | |
| function _pthread_mutexattr_init() {} | |
| function ___syscall4(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // write | |
| var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get(); | |
| return FS.write(stream, HEAP8,buf, count); | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function _llvm_trap() { | |
| abort('trap!'); | |
| } | |
| var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function (adjusted) { | |
| if (!adjusted || EXCEPTIONS.infos[adjusted]) return adjusted; | |
| for (var ptr in EXCEPTIONS.infos) { | |
| var info = EXCEPTIONS.infos[ptr]; | |
| if (info.adjusted === adjusted) { | |
| return ptr; | |
| } | |
| } | |
| return adjusted; | |
| },addRef:function (ptr) { | |
| if (!ptr) return; | |
| var info = EXCEPTIONS.infos[ptr]; | |
| info.refcount++; | |
| },decRef:function (ptr) { | |
| if (!ptr) return; | |
| var info = EXCEPTIONS.infos[ptr]; | |
| assert(info.refcount > 0); | |
| info.refcount--; | |
| if (info.refcount === 0) { | |
| if (info.destructor) { | |
| Runtime.dynCall('vi', info.destructor, [ptr]); | |
| } | |
| delete EXCEPTIONS.infos[ptr]; | |
| ___cxa_free_exception(ptr); | |
| } | |
| },clearRef:function (ptr) { | |
| if (!ptr) return; | |
| var info = EXCEPTIONS.infos[ptr]; | |
| info.refcount = 0; | |
| }}; | |
| function ___resumeException(ptr) { | |
| if (!EXCEPTIONS.last) { EXCEPTIONS.last = ptr; } | |
| EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr)); // exception refcount should be cleared, but don't free it | |
| throw ptr; | |
| } | |
| function ___cxa_find_matching_catch_2() { | |
| return ___cxa_find_matching_catch.apply(null, arguments); | |
| } | |
| function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // llseek | |
| var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); | |
| var offset = offset_low; | |
| assert(offset_high === 0); | |
| FS.llseek(stream, offset, whence); | |
| HEAP32[((result)>>2)]=stream.position; | |
| if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state | |
| return 0; | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // writev | |
| var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); | |
| return SYSCALLS.doWritev(stream, iov, iovcnt); | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| var __sigalrm_handler=0;function _signal(sig, func) { | |
| if (sig == 14 /*SIGALRM*/) { | |
| __sigalrm_handler = func; | |
| } else { | |
| Module.printErr('Calling stub instead of signal()'); | |
| } | |
| return 0; | |
| } | |
| var _llvm_nacl_atomic_cmpxchg_i32=undefined; | |
| function _pthread_rwlock_unlock() { | |
| Module['printErr']('missing function: pthread_rwlock_unlock'); abort(-1); | |
| } | |
| FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; | |
| __ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; | |
| if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; | |
| ___buildEnvironment(ENV);; | |
| STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); | |
| staticSealed = true; // seal the static portion of memory | |
| STACK_MAX = STACK_BASE + TOTAL_STACK; | |
| DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX); | |
| assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); | |
| function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } | |
| function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } | |
| function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } | |
| function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } | |
| function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } | |
| function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } | |
| function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } | |
| function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } | |
| function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } | |
| function invoke_iiii(index,a1,a2,a3) { | |
| try { | |
| return Module["dynCall_iiii"](index,a1,a2,a3); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| asm["setThrew"](1, 0); | |
| } | |
| } | |
| function invoke_i(index) { | |
| try { | |
| return Module["dynCall_i"](index); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| asm["setThrew"](1, 0); | |
| } | |
| } | |
| function invoke_vi(index,a1) { | |
| try { | |
| Module["dynCall_vi"](index,a1); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| asm["setThrew"](1, 0); | |
| } | |
| } | |
| function invoke_vii(index,a1,a2) { | |
| try { | |
| Module["dynCall_vii"](index,a1,a2); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| asm["setThrew"](1, 0); | |
| } | |
| } | |
| function invoke_ii(index,a1) { | |
| try { | |
| return Module["dynCall_ii"](index,a1); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| asm["setThrew"](1, 0); | |
| } | |
| } | |
| function invoke_viii(index,a1,a2,a3) { | |
| try { | |
| Module["dynCall_viii"](index,a1,a2,a3); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| asm["setThrew"](1, 0); | |
| } | |
| } | |
| function invoke_v(index) { | |
| try { | |
| Module["dynCall_v"](index); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| asm["setThrew"](1, 0); | |
| } | |
| } | |
| function invoke_iii(index,a1,a2) { | |
| try { | |
| return Module["dynCall_iii"](index,a1,a2); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| asm["setThrew"](1, 0); | |
| } | |
| } | |
| function invoke_viiii(index,a1,a2,a3,a4) { | |
| try { | |
| Module["dynCall_viiii"](index,a1,a2,a3,a4); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| asm["setThrew"](1, 0); | |
| } | |
| } | |
| Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; | |
| Module.asmLibraryArg = { "abort": abort, "assert": assert, "nullFunc_iiii": nullFunc_iiii, "nullFunc_i": nullFunc_i, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viii": nullFunc_viii, "nullFunc_v": nullFunc_v, "nullFunc_iii": nullFunc_iii, "nullFunc_viiii": nullFunc_viiii, "invoke_iiii": invoke_iiii, "invoke_i": invoke_i, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viii": invoke_viii, "invoke_v": invoke_v, "invoke_iii": invoke_iii, "invoke_viiii": invoke_viiii, "_pthread_cleanup_pop": _pthread_cleanup_pop, "_pthread_mutex_init": _pthread_mutex_init, "___gcc_personality_v0": ___gcc_personality_v0, "___syscall54": ___syscall54, "__Unwind_FindEnclosingFunction": __Unwind_FindEnclosingFunction, "__Unwind_RaiseException": __Unwind_RaiseException, "_emscripten_get_callstack_js": _emscripten_get_callstack_js, "_pthread_rwlock_unlock": _pthread_rwlock_unlock, "___cxa_find_matching_catch_2": ___cxa_find_matching_catch_2, "___cxa_find_matching_catch_3": ___cxa_find_matching_catch_3, "___buildEnvironment": ___buildEnvironment, "__Unwind_GetIPInfo": __Unwind_GetIPInfo, "_pthread_mutexattr_destroy": _pthread_mutexattr_destroy, "_signal": _signal, "_pthread_cond_destroy": _pthread_cond_destroy, "___setErrNo": ___setErrNo, "_sbrk": _sbrk, "_pthread_key_delete": _pthread_key_delete, "_pthread_rwlock_rdlock": _pthread_rwlock_rdlock, "___resumeException": ___resumeException, "_sysconf": _sysconf, "_pthread_getspecific": _pthread_getspecific, "___syscall6": ___syscall6, "_emscripten_memcpy_big": _emscripten_memcpy_big, "__emscripten_traverse_stack": __emscripten_traverse_stack, "_pthread_self": _pthread_self, "_pthread_mutex_destroy": _pthread_mutex_destroy, "_pthread_mutex_unlock": _pthread_mutex_unlock, "_pthread_mutexattr_settype": _pthread_mutexattr_settype, "_dladdr": _dladdr, "_pthread_key_create": _pthread_key_create, "___unlock": ___unlock, "__Unwind_DeleteException": __Unwind_DeleteException, "_pthread_mutexattr_init": _pthread_mutexattr_init, "_pthread_setspecific": _pthread_setspecific, "_getenv": _getenv, "___lock": ___lock, "_abort": _abort, "_pthread_cleanup_push": _pthread_cleanup_push, "___syscall4": ___syscall4, "_time": _time, "_pthread_mutex_lock": _pthread_mutex_lock, "___syscall140": ___syscall140, "_llvm_trap": _llvm_trap, "__Unwind_Backtrace": __Unwind_Backtrace, "___syscall146": ___syscall146, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT }; | |
| // EMSCRIPTEN_START_ASM | |
| var asm = (function(global, env, buffer) { | |
| 'almost asm'; | |
| var HEAP8 = new global.Int8Array(buffer); | |
| var HEAP16 = new global.Int16Array(buffer); | |
| var HEAP32 = new global.Int32Array(buffer); | |
| var HEAPU8 = new global.Uint8Array(buffer); | |
| var HEAPU16 = new global.Uint16Array(buffer); | |
| var HEAPU32 = new global.Uint32Array(buffer); | |
| var HEAPF32 = new global.Float32Array(buffer); | |
| var HEAPF64 = new global.Float64Array(buffer); | |
| var STACKTOP=env.STACKTOP|0; | |
| var STACK_MAX=env.STACK_MAX|0; | |
| var tempDoublePtr=env.tempDoublePtr|0; | |
| var ABORT=env.ABORT|0; | |
| var __THREW__ = 0; | |
| var threwValue = 0; | |
| var setjmpId = 0; | |
| var undef = 0; | |
| var nan = global.NaN, inf = global.Infinity; | |
| var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0; | |
| var tempRet0 = 0; | |
| var tempRet1 = 0; | |
| var tempRet2 = 0; | |
| var tempRet3 = 0; | |
| var tempRet4 = 0; | |
| var tempRet5 = 0; | |
| var tempRet6 = 0; | |
| var tempRet7 = 0; | |
| var tempRet8 = 0; | |
| var tempRet9 = 0; | |
| var Math_floor=global.Math.floor; | |
| var Math_abs=global.Math.abs; | |
| var Math_sqrt=global.Math.sqrt; | |
| var Math_pow=global.Math.pow; | |
| var Math_cos=global.Math.cos; | |
| var Math_sin=global.Math.sin; | |
| var Math_tan=global.Math.tan; | |
| var Math_acos=global.Math.acos; | |
| var Math_asin=global.Math.asin; | |
| var Math_atan=global.Math.atan; | |
| var Math_atan2=global.Math.atan2; | |
| var Math_exp=global.Math.exp; | |
| var Math_log=global.Math.log; | |
| var Math_ceil=global.Math.ceil; | |
| var Math_imul=global.Math.imul; | |
| var Math_min=global.Math.min; | |
| var Math_clz32=global.Math.clz32; | |
| var abort=env.abort; | |
| var assert=env.assert; | |
| var nullFunc_iiii=env.nullFunc_iiii; | |
| var nullFunc_i=env.nullFunc_i; | |
| var nullFunc_vi=env.nullFunc_vi; | |
| var nullFunc_vii=env.nullFunc_vii; | |
| var nullFunc_ii=env.nullFunc_ii; | |
| var nullFunc_viii=env.nullFunc_viii; | |
| var nullFunc_v=env.nullFunc_v; | |
| var nullFunc_iii=env.nullFunc_iii; | |
| var nullFunc_viiii=env.nullFunc_viiii; | |
| var invoke_iiii=env.invoke_iiii; | |
| var invoke_i=env.invoke_i; | |
| var invoke_vi=env.invoke_vi; | |
| var invoke_vii=env.invoke_vii; | |
| var invoke_ii=env.invoke_ii; | |
| var invoke_viii=env.invoke_viii; | |
| var invoke_v=env.invoke_v; | |
| var invoke_iii=env.invoke_iii; | |
| var invoke_viiii=env.invoke_viiii; | |
| var _pthread_cleanup_pop=env._pthread_cleanup_pop; | |
| var _pthread_mutex_init=env._pthread_mutex_init; | |
| var ___gcc_personality_v0=env.___gcc_personality_v0; | |
| var ___syscall54=env.___syscall54; | |
| var __Unwind_FindEnclosingFunction=env.__Unwind_FindEnclosingFunction; | |
| var __Unwind_RaiseException=env.__Unwind_RaiseException; | |
| var _emscripten_get_callstack_js=env._emscripten_get_callstack_js; | |
| var _pthread_rwlock_unlock=env._pthread_rwlock_unlock; | |
| var ___cxa_find_matching_catch_2=env.___cxa_find_matching_catch_2; | |
| var ___cxa_find_matching_catch_3=env.___cxa_find_matching_catch_3; | |
| var ___buildEnvironment=env.___buildEnvironment; | |
| var __Unwind_GetIPInfo=env.__Unwind_GetIPInfo; | |
| var _pthread_mutexattr_destroy=env._pthread_mutexattr_destroy; | |
| var _signal=env._signal; | |
| var _pthread_cond_destroy=env._pthread_cond_destroy; | |
| var ___setErrNo=env.___setErrNo; | |
| var _sbrk=env._sbrk; | |
| var _pthread_key_delete=env._pthread_key_delete; | |
| var _pthread_rwlock_rdlock=env._pthread_rwlock_rdlock; | |
| var ___resumeException=env.___resumeException; | |
| var _sysconf=env._sysconf; | |
| var _pthread_getspecific=env._pthread_getspecific; | |
| var ___syscall6=env.___syscall6; | |
| var _emscripten_memcpy_big=env._emscripten_memcpy_big; | |
| var __emscripten_traverse_stack=env.__emscripten_traverse_stack; | |
| var _pthread_self=env._pthread_self; | |
| var _pthread_mutex_destroy=env._pthread_mutex_destroy; | |
| var _pthread_mutex_unlock=env._pthread_mutex_unlock; | |
| var _pthread_mutexattr_settype=env._pthread_mutexattr_settype; | |
| var _dladdr=env._dladdr; | |
| var _pthread_key_create=env._pthread_key_create; | |
| var ___unlock=env.___unlock; | |
| var __Unwind_DeleteException=env.__Unwind_DeleteException; | |
| var _pthread_mutexattr_init=env._pthread_mutexattr_init; | |
| var _pthread_setspecific=env._pthread_setspecific; | |
| var _getenv=env._getenv; | |
| var ___lock=env.___lock; | |
| var _abort=env._abort; | |
| var _pthread_cleanup_push=env._pthread_cleanup_push; | |
| var ___syscall4=env.___syscall4; | |
| var _time=env._time; | |
| var _pthread_mutex_lock=env._pthread_mutex_lock; | |
| var ___syscall140=env.___syscall140; | |
| var _llvm_trap=env._llvm_trap; | |
| var __Unwind_Backtrace=env.__Unwind_Backtrace; | |
| var ___syscall146=env.___syscall146; | |
| var tempFloat = 0.0; | |
| // EMSCRIPTEN_START_FUNCS | |
| function stackAlloc(size) { | |
| size = size|0; | |
| var ret = 0; | |
| ret = STACKTOP; | |
| STACKTOP = (STACKTOP + size)|0; | |
| STACKTOP = (STACKTOP + 15)&-16; | |
| if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| return ret|0; | |
| } | |
| function stackSave() { | |
| return STACKTOP|0; | |
| } | |
| function stackRestore(top) { | |
| top = top|0; | |
| STACKTOP = top; | |
| } | |
| function establishStackSpace(stackBase, stackMax) { | |
| stackBase = stackBase|0; | |
| stackMax = stackMax|0; | |
| STACKTOP = stackBase; | |
| STACK_MAX = stackMax; | |
| } | |
| function setThrew(threw, value) { | |
| threw = threw|0; | |
| value = value|0; | |
| if ((__THREW__|0) == 0) { | |
| __THREW__ = threw; | |
| threwValue = value; | |
| } | |
| } | |
| function copyTempFloat(ptr) { | |
| ptr = ptr|0; | |
| HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; | |
| HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; | |
| HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; | |
| HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; | |
| } | |
| function copyTempDouble(ptr) { | |
| ptr = ptr|0; | |
| HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; | |
| HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; | |
| HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; | |
| HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; | |
| HEAP8[tempDoublePtr+4>>0] = HEAP8[ptr+4>>0]; | |
| HEAP8[tempDoublePtr+5>>0] = HEAP8[ptr+5>>0]; | |
| HEAP8[tempDoublePtr+6>>0] = HEAP8[ptr+6>>0]; | |
| HEAP8[tempDoublePtr+7>>0] = HEAP8[ptr+7>>0]; | |
| } | |
| function setTempRet0(value) { | |
| value = value|0; | |
| tempRet0 = value; | |
| } | |
| function getTempRet0() { | |
| return tempRet0|0; | |
| } | |
| function __ZN4main20h7492e05434b3bfa2eaaE() { | |
| var $$pre$i$i = 0, $$pre$phi$i$iZ2D = 0, $$pre3$i$i = 0, $$sroa$019$0$i = 0, $$sroa$5$0$i = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; | |
| var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; | |
| var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; | |
| var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; | |
| var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, $addr_of = 0, $arg$i = 0, $arg$i$i$i$i = 0, $arg8$i$i$i = 0, $autoref$i = 0, $autoref$i$idx$val$cast = 0, $autoref7$i$i$i = 0, $autoref7$i$i$i$idx$val$cast = 0, $cond$i = 0, $cond$i$i$i = 0, $iret_slot$i$i$i = 0, $llretslotptr$0$i$i$i = 0, $phitmp$i$i = 0, $result$i = 0, $ret_slot$i$i$i = 0; | |
| var $switch$i = 0, $switch$i$i = 0, $switchtmp$i$i = 0, $switchtmp$i$i$i = 0, $switchtmp$i$i$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $addr_of = sp + 192|0; | |
| $arg$i$i$i$i = sp + 168|0; | |
| $iret_slot$i$i$i = sp + 152|0; | |
| $ret_slot$i$i$i = sp + 136|0; | |
| $autoref7$i$i$i = sp + 128|0; | |
| $arg8$i$i$i = sp + 104|0; | |
| $result$i = sp + 88|0; | |
| $autoref$i = sp + 80|0; | |
| $arg$i = sp + 56|0; | |
| $0 = sp + 32|0; | |
| $1 = sp + 24|0; | |
| $2 = sp; | |
| HEAP32[$2>>2] = 440; | |
| $3 = ((($2)) + 4|0); | |
| HEAP32[$3>>2] = 1; | |
| $4 = ((($2)) + 8|0); | |
| $5 = $4; | |
| $6 = $5; | |
| HEAP32[$6>>2] = 0; | |
| $7 = (($5) + 4)|0; | |
| $8 = $7; | |
| HEAP32[$8>>2] = 0; | |
| $9 = ((($2)) + 16|0); | |
| HEAP32[$9>>2] = $addr_of; | |
| $10 = ((($2)) + 20|0); | |
| HEAP32[$10>>2] = 0; | |
| HEAP32[$autoref$i>>2] = 488447261; | |
| $11 = (__ZN6thread5local2os12Key_LT_T_GT_3get21h17797014043959970495E(824)|0); | |
| $switchtmp$i$i = ($11|0)==(0|0); | |
| if ($switchtmp$i$i) { | |
| label = 3; | |
| } else { | |
| $12 = HEAP32[$11>>2]|0; | |
| $switch$i = ($12|0)==(1); | |
| if ($switch$i) { | |
| $16 = (__ZN6thread5local2os12Key_LT_T_GT_3get21h17797014043959970495E(824)|0); | |
| $switchtmp$i$i$i = ($16|0)==(0|0); | |
| if ($switchtmp$i$i$i) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57); | |
| // unreachable; | |
| } | |
| $17 = HEAP32[$16>>2]|0; | |
| $switch$i$i = ($17|0)==(1); | |
| if ($switch$i$i) { | |
| $$pre$i$i = ((($16)) + 4|0); | |
| $$pre3$i$i = HEAP32[$$pre$i$i>>2]|0; | |
| $phitmp$i$i = ($$pre3$i$i|0)==(0); | |
| $$pre$phi$i$iZ2D = $$pre$i$i;$79 = $phitmp$i$i; | |
| } else { | |
| $18 = ((($16)) + 8|0); | |
| $19 = ((($16)) + 12|0); | |
| HEAP32[$16>>2] = 1; | |
| $20 = ((($16)) + 4|0); | |
| HEAP32[$20>>2] = 0; | |
| HEAP32[$18>>2] = 0; | |
| HEAP32[$19>>2] = 0; | |
| $$pre$phi$i$iZ2D = $20;$79 = 1; | |
| } | |
| HEAP32[$autoref7$i$i$i>>2] = 488447261; | |
| do { | |
| if ($79) { | |
| HEAP32[$$pre$phi$i$iZ2D>>2] = -1; | |
| $23 = ((($16)) + 8|0); | |
| $24 = HEAP32[$23>>2]|0; | |
| $switchtmp$i$i$i$i = ($24|0)==(0|0); | |
| if ($switchtmp$i$i$i$i) { | |
| HEAP32[$$pre$phi$i$iZ2D>>2] = 0; | |
| label = 15; | |
| break; | |
| } | |
| $25 = ((($16)) + 12|0); | |
| $26 = HEAP32[$25>>2]|0; | |
| $27 = ((($26)) + 24|0); | |
| $28 = HEAP32[$27>>2]|0; | |
| ;HEAP32[$arg$i$i$i$i>>2]=HEAP32[$2>>2]|0;HEAP32[$arg$i$i$i$i+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$arg$i$i$i$i+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$arg$i$i$i$i+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$arg$i$i$i$i+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$arg$i$i$i$i+20>>2]=HEAP32[$2+20>>2]|0; | |
| __THREW__ = 0; | |
| invoke_viii($28|0,($ret_slot$i$i$i|0),($24|0),($arg$i$i$i$i|0)); | |
| $29 = __THREW__; __THREW__ = 0; | |
| $30 = $29&1; | |
| if ($30) { | |
| $21 = ___cxa_find_matching_catch_2()|0; | |
| $22 = tempRet0; | |
| HEAP32[$$pre$phi$i$iZ2D>>2] = 0; | |
| ___resumeException($21|0); | |
| // unreachable; | |
| } else { | |
| HEAP32[$$pre$phi$i$iZ2D>>2] = 0; | |
| $llretslotptr$0$i$i$i = $ret_slot$i$i$i; | |
| break; | |
| } | |
| } else { | |
| label = 15; | |
| } | |
| } while(0); | |
| do { | |
| if ((label|0) == 15) { | |
| $31 = (__ZN2io5stdio6stdout20h5cd940239a47d19aCihE()|0); | |
| HEAP32[$autoref7$i$i$i>>2] = $31; | |
| ;HEAP32[$arg8$i$i$i>>2]=HEAP32[$2>>2]|0;HEAP32[$arg8$i$i$i+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$arg8$i$i$i+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$arg8$i$i$i+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$arg8$i$i$i+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$arg8$i$i$i+20>>2]=HEAP32[$2+20>>2]|0; | |
| $autoref7$i$i$i$idx$val$cast = $31; | |
| __THREW__ = 0; | |
| invoke_viii(51,($iret_slot$i$i$i|0),($autoref7$i$i$i$idx$val$cast|0),($arg8$i$i$i|0)); | |
| $32 = __THREW__; __THREW__ = 0; | |
| $33 = $32&1; | |
| if (!($33)) { | |
| $34 = ($31|0)==(488447261); | |
| if (!($34)) { | |
| $35 = HEAP32[$autoref7$i$i$i$idx$val$cast>>2]|0;HEAP32[$autoref7$i$i$i$idx$val$cast>>2] = (($35-1)|0); | |
| $36 = ($35|0)==(1); | |
| if ($36) { | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h18172976183440031798E($autoref7$i$i$i); | |
| } | |
| } | |
| $llretslotptr$0$i$i$i = $iret_slot$i$i$i; | |
| break; | |
| } | |
| $37 = ___cxa_find_matching_catch_2()|0; | |
| $38 = tempRet0; | |
| $39 = ($31|0)==(488447261); | |
| if ($39) { | |
| ___resumeException($37|0); | |
| // unreachable; | |
| } | |
| $40 = HEAP32[$autoref7$i$i$i$idx$val$cast>>2]|0;HEAP32[$autoref7$i$i$i$idx$val$cast>>2] = (($40-1)|0); | |
| $41 = ($40|0)==(1); | |
| if (!($41)) { | |
| ___resumeException($37|0); | |
| // unreachable; | |
| } | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h18172976183440031798E($autoref7$i$i$i); | |
| ___resumeException($37|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| ;HEAP32[$result$i>>2]=HEAP32[$llretslotptr$0$i$i$i>>2]|0;HEAP32[$result$i+4>>2]=HEAP32[$llretslotptr$0$i$i$i+4>>2]|0;HEAP32[$result$i+8>>2]=HEAP32[$llretslotptr$0$i$i$i+8>>2]|0; | |
| } else { | |
| label = 3; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 3) { | |
| $13 = (__ZN2io5stdio6stdout20h5cd940239a47d19aCihE()|0); | |
| HEAP32[$autoref$i>>2] = $13; | |
| ;HEAP32[$arg$i>>2]=HEAP32[$2>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$arg$i+20>>2]=HEAP32[$2+20>>2]|0; | |
| $autoref$i$idx$val$cast = $13; | |
| __THREW__ = 0; | |
| invoke_viii(51,($result$i|0),($autoref$i$idx$val$cast|0),($arg$i|0)); | |
| $14 = __THREW__; __THREW__ = 0; | |
| $15 = $14&1; | |
| if (!($15)) { | |
| $42 = ($13|0)==(488447261); | |
| if (!($42)) { | |
| $43 = HEAP32[$autoref$i$idx$val$cast>>2]|0;HEAP32[$autoref$i$idx$val$cast>>2] = (($43-1)|0); | |
| $44 = ($43|0)==(1); | |
| if ($44) { | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h18172976183440031798E($autoref$i); | |
| } | |
| } | |
| break; | |
| } | |
| $45 = ___cxa_find_matching_catch_2()|0; | |
| $46 = tempRet0; | |
| $47 = ($13|0)==(488447261); | |
| if (!($47)) { | |
| $48 = HEAP32[$autoref$i$idx$val$cast>>2]|0;HEAP32[$autoref$i$idx$val$cast>>2] = (($48-1)|0); | |
| $49 = ($48|0)==(1); | |
| if ($49) { | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h18172976183440031798E($autoref$i); | |
| } | |
| } | |
| $$sroa$019$0$i = $45;$$sroa$5$0$i = $46; | |
| ___resumeException($$sroa$019$0$i|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $50 = HEAP32[$result$i>>2]|0; | |
| $cond$i = ($50|0)==(1); | |
| if (!($cond$i)) { | |
| STACKTOP = sp;return; | |
| } | |
| $54 = ((($result$i)) + 4|0); | |
| $68 = ((($1)) + 4|0); | |
| HEAP32[$68>>2] = 52; | |
| HEAP32[$1>>2] = $54; | |
| HEAP32[$0>>2] = 832; | |
| $69 = ((($0)) + 4|0); | |
| HEAP32[$69>>2] = 1; | |
| $70 = ((($0)) + 8|0); | |
| $71 = $70; | |
| $72 = $71; | |
| HEAP32[$72>>2] = 0; | |
| $73 = (($71) + 4)|0; | |
| $74 = $73; | |
| HEAP32[$74>>2] = 0; | |
| $75 = ((($0)) + 16|0); | |
| HEAP32[$75>>2] = $1; | |
| $76 = ((($0)) + 20|0); | |
| HEAP32[$76>>2] = 1; | |
| __THREW__ = 0; | |
| invoke_vii(53,($0|0),(840|0)); | |
| $77 = __THREW__; __THREW__ = 0; | |
| $78 = $77&1; | |
| if (!($78)) { | |
| // unreachable; | |
| } | |
| $51 = ___cxa_find_matching_catch_2()|0; | |
| $52 = tempRet0; | |
| $53 = HEAP32[$54>>2]|0; | |
| $cond$i$i$i = ($53|0)==(1); | |
| if ($cond$i$i$i) { | |
| $55 = ((($result$i)) + 8|0); | |
| $56 = HEAP32[$55>>2]|0; | |
| $57 = ($56|0)==((488447261)|0); | |
| if (!($57)) { | |
| $58 = ((($56)) + 4|0); | |
| $59 = HEAP32[$58>>2]|0; | |
| $60 = ($59|0)==((488447261)|0); | |
| if (!($60)) { | |
| $61 = ((($56)) + 8|0); | |
| $62 = HEAP32[$61>>2]|0; | |
| $63 = HEAP32[$62>>2]|0; | |
| FUNCTION_TABLE_vi[$63 & 127]($59); | |
| $64 = HEAP32[$61>>2]|0; | |
| $65 = ((($64)) + 4|0); | |
| $66 = HEAP32[$65>>2]|0; | |
| $67 = ($66|0)==(0); | |
| if (!($67)) { | |
| _free($59); | |
| } | |
| } | |
| _free($56); | |
| } | |
| } | |
| $$sroa$019$0$i = $51;$$sroa$5$0$i = $52; | |
| ___resumeException($$sroa$019$0$i|0); | |
| // unreachable; | |
| } | |
| function _main($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$$i = 0, $$$i$i$i = 0, $$$i$i$i$i$i = 0, $$$i$i$i$i$i$i$i = 0, $$$i$i$i$i$i$i$i$i = 0, $$0$i$i$i = 0, $$0$i10$i$i = 0, $$arith = 0, $$arith59 = 0, $$arith63 = 0, $$arith67 = 0, $$arith71 = 0, $$overflow = 0, $$overflow60 = 0, $$overflow64 = 0, $$overflow68 = 0, $$overflow72 = 0, $$pr$i$i$i$i$i = 0, $$pr$pre$i$i$i$i$i = 0, $$pre$i$i = 0; | |
| var $$pre$i$i$i$i = 0, $$pre$i$i$i$i$i$i$i = 0, $$pre$i$i$i$i66$i = 0, $$pre$i$i27$i = 0, $$pre$i29$i$i$i = 0, $$pre$i3$i$i$i = 0, $$pre$i3$i$i$i$i$i$i = 0, $$pre$i33$i$i$i = 0, $$pre$i34$i$i$i = 0, $$pre$i43$i$i$i = 0, $$pre$i57$i$i$i = 0, $$pre$i57$i$i47$i = 0, $$pre$i71$i$i$i = 0, $$pre$i8$i$i$i$i$i$i = 0, $$pre$phi$i$i$iZ2D = 0, $$pre1$i$i$i = 0, $$pre17$i$i = 0, $$ptr = 0, $$sink$in$phi$trans$insert$i$i$i = 0, $$sink$in$phi$trans$insert$i$i$i$i = 0; | |
| var $$sink$in$phi$trans$insert$i$i$i$i$i = 0, $$sink$in$phi$trans$insert$i$i$i$i$i$i$i = 0, $$sink$in$phi$trans$insert$i1$i$i$i = 0, $$sink$in$phi$trans$insert$i1$i$i$i$i$i$i = 0, $$sink$in$phi$trans$insert$i27$i$i$i = 0, $$sink$in$phi$trans$insert$i31$i$i$i = 0, $$sink$in$phi$trans$insert$i32$i$i$i = 0, $$sink$in$phi$trans$insert$i41$i$i$i = 0, $$sink$in$phi$trans$insert$i55$i$i$i = 0, $$sink$in$phi$trans$insert$i55$i$i45$i = 0, $$sink$in$phi$trans$insert$i6$i$i$i$i$i$i = 0, $$sink$in$phi$trans$insert$i69$i$i$i = 0, $$sroa$0$0 = 0, $$sroa$0$0$i = 0, $$sroa$0$0$i$i$i = 0, $$sroa$0$0$i$i$i$i$i = 0, $$sroa$0$0$i$i3$i = 0, $$sroa$058$081$i$i$i$i$i = 0, $$sroa$23$1 = 0, $$sroa$5$0$i = 0; | |
| var $$sroa$5$0$i$i$i = 0, $$sroa$6$0 = 0, $$sroa$6$0$i$i$i = 0, $$sroa$6$0135 = 0, $$sroa$6$0137 = 0, $$sroa$6$0138 = 0, $$sroa$6$0139 = 0, $$sroa$6$0140 = 0, $$sroa$7$0$i$i$i$i$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; | |
| var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; | |
| var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; | |
| var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0; | |
| var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0; | |
| var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0; | |
| var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; | |
| var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; | |
| var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; | |
| var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; | |
| var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; | |
| var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0; | |
| var $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0; | |
| var $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0; | |
| var $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0; | |
| var $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0; | |
| var $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0; | |
| var $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0; | |
| var $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0; | |
| var $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0; | |
| var $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0; | |
| var $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; | |
| var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; | |
| var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; | |
| var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arg$i$i = 0, $arg$i$i$i = 0, $arg18$i$i$i$i$i = 0, $args$sroa$0$0$i$i$i = 0, $args$sroa$11$0$i$i$i = 0, $args$sroa$16$0$i$i$i = 0, $argv$i$i$i = 0, $cond$i$i$i$i$i$i = 0, $cond$i$i$i$i11$i$i = 0; | |
| var $eh$lpad$body$i$i$i$i$i$index8Z2D = 0, $eh$lpad$body$i$i$i$i$i$indexZ2D = 0, $eh$lpad$body$i$i$i$index34Z2D = 0, $eh$lpad$body$i$i$i$indexZ2D = 0, $eh$lpad$body$i$i$index2Z2D = 0, $eh$lpad$body$i$i$indexZ2D = 0, $eh$lpad$body$i$index18Z2D = 0, $eh$lpad$body$i$indexZ2D = 0, $eh$lpad$body74$i$index50Z2D = 0, $eh$lpad$body74$i$indexZ2D = 0, $f1$i$i$i = 0, $guard$sroa$0$0$ph$i$i$i = 0, $guard$sroa$0$1$i$i$i = 0, $guard$sroa$22$1$ph$i$i$i = 0, $guard$sroa$22$2$i$i$i = 0, $guard$sroa$29$1$ph$i$i$i = 0, $guard$sroa$29$2$i$i$i = 0, $guard$sroa$8$1$ph$i$i$i = 0, $guard$sroa$8$2$i$i$i = 0, $iterator$i$i$i$i$i = 0; | |
| var $magicptr$i$i = 0, $magicptr$i$i$i = 0, $magicptr$i$i$i$i$i = 0, $magicptr$i19$i = 0, $payload$i$i$i$i = 0, $phitmp$i$i$i$i = 0, $phitmp$i$i$i$i$i = 0, $phitmp$i$i$i$i$i$i = 0, $phitmp$i30$i$i$i = 0, $phitmp$i34$i$i$i = 0, $phitmp$i35$i$i$i = 0, $phitmp$i4$i$i$i = 0, $phitmp$i4$i$i$i$i$i$i = 0, $phitmp$i44$i$i$i = 0, $phitmp$i58$i$i$i = 0, $phitmp$i58$i$i48$i = 0, $phitmp$i72$i$i$i = 0, $phitmp$i9$i$i$i$i$i$i = 0, $phitmp7$i$i$i$i = 0, $phitmp7$i$i$i41$i = 0; | |
| var $ptr$0$i$i$i = 0, $ptr$0$i$i$i$i$i$i$i = 0, $res$sroa$0$0$i = 0, $result$i$i = 0, $sret_slot$0$i$i$i$i$i$i = 0, $sret_slot$0$i$i$i$i$i$i$i = 0, $switch$i$i$i = 0, $switch$i$i$i$i$i = 0, $switch$i$i$i$i$i$i = 0, $switch$i$i$i$i$i$i$i = 0, $switch$i$i$i$i$i$i$i$i = 0, $switch$i$i$i$i$i$i$i$i$i$i = 0, $switch$i$i$i$i$i$i39$i = 0, $switch$i$i1$i = 0, $switch$i$i12$i$i$i$i$i$i = 0, $switch$i$i16$i = 0, $switch$i$i26$i = 0, $switch$i$i31$i$i$i = 0, $switch$i$i38$i$i$i = 0, $switch$i$i39$i$i$i = 0; | |
| var $switch$i$i49$i$i$i = 0, $switch$i$i5$i$i$i = 0, $switch$i$i5$i$i$i$i$i$i = 0, $switch$i$i63$i$i$i = 0, $switch$i$i63$i$i51$i = 0, $switch$i$i77$i$i$i = 0, $switch$i8$i$i = 0, $switch$split1022D = 0, $switch$split1052D = 0, $switch$split1082D = 0, $switch$split1112D = 0, $switch$split1142D = 0, $switch$split1172D = 0, $switch$split1202D = 0, $switch$split1232D = 0, $switch$split2D = 0, $switch$split782D = 0, $switch$split812D = 0, $switch$split842D = 0, $switch$split872D = 0; | |
| var $switch$split902D = 0, $switch$split932D = 0, $switch$split962D = 0, $switch$split992D = 0, $switch33tmp$i$i$i$i$i = 0, $switchtmp$i$i$i$i = 0, $switchtmp$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i36$i = 0, $switchtmp$i$i$i$i$i30$i = 0, $switchtmp$i$i$i$i4$i = 0, $switchtmp$i$i$i10$i$i$i$i$i$i = 0, $switchtmp$i$i$i24$i = 0, $switchtmp$i$i$i36$i$i$i = 0, $switchtmp$i$i$i36$i$i67$i = 0, $switchtmp$i$i$i46$i$i$i = 0; | |
| var $switchtmp$i$i$i60$i$i$i = 0, $switchtmp$i$i$i60$i$i49$i = 0, $switchtmp$i$i$i74$i$i$i = 0, $switchtmp$i$i6$i$i = 0, $thread$i$i = 0, $vector$i$i$i$i$i$sroa$0$0 = 0, $vector$i$i$i$i$i$sroa$0$1 = 0, $vector$i$i$i$i$i$sroa$0$2 = 0, $vector$i$i$i$i$i$sroa$0$3 = 0, $vector$i$i$i$i$i$sroa$15$1 = 0, $vector$i$i$i$i$i$sroa$9$0 = 0, $vector$i$i$i$i$i$sroa$9$1 = 0, $vector$i$i$i$i$i$sroa$9$2 = 0, $vector$i$i$i$i$i$sroa$9$3 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $$ptr = sp + 152|0; | |
| $payload$i$i$i$i = sp + 156|0; | |
| $arg$i$i$i = sp + 136|0; | |
| $thread$i$i = sp + 128|0; | |
| $2 = sp + 112|0; | |
| $f1$i$i$i = sp + 104|0; | |
| $result$i$i = sp + 96|0; | |
| $3 = sp + 80|0; | |
| $iterator$i$i$i$i$i = sp + 64|0; | |
| $4 = sp + 48|0; | |
| $arg18$i$i$i$i$i = sp + 32|0; | |
| $argv$i$i$i = sp + 152|0; | |
| $arg$i$i = sp + 16|0; | |
| $5 = sp; | |
| $6 = (_signal(13,1)|0); | |
| $7 = ($6|0)==(-1); | |
| if ($7) { | |
| __ZN10sys_common6unwind12begin_unwind20h8284277630150637284E(3459,66,876); | |
| // unreachable; | |
| } | |
| HEAP32[366] = (54); | |
| __ZN3str11str_ToOwned8to_owned20h27f191d2b0131fa4EVeE($5,3586,6); | |
| ;HEAP32[$arg$i$i>>2]=HEAP32[$5>>2]|0;HEAP32[$arg$i$i+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$arg$i$i+8>>2]=HEAP32[$5+8>>2]|0; | |
| ;HEAP32[$5>>2]=488447261|0;HEAP32[$5+4>>2]=488447261|0;HEAP32[$5+8>>2]=488447261|0; | |
| __THREW__ = 0; | |
| $8 = (invoke_ii(55,($arg$i$i|0))|0); | |
| $9 = __THREW__; __THREW__ = 0; | |
| $10 = $9&1; | |
| if ($10) { | |
| $11 = ___cxa_find_matching_catch_2()|0; | |
| $12 = tempRet0; | |
| ___resumeException($11|0); | |
| // unreachable; | |
| } | |
| HEAP32[$thread$i$i>>2] = $8; | |
| __THREW__ = 0; | |
| $13 = (invoke_i(56)|0); | |
| $14 = __THREW__; __THREW__ = 0; | |
| $15 = $14&1; | |
| L7: do { | |
| if ($15) { | |
| label = 42; | |
| } else { | |
| $switchtmp$i$i$i$i = ($13|0)==(0|0); | |
| if ($switchtmp$i$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $16 = __THREW__; __THREW__ = 0; | |
| label = 42; | |
| break; | |
| } | |
| $17 = HEAP32[$13>>2]|0; | |
| $switch$i$i1$i = ($17|0)==(1); | |
| if ($switch$i$i1$i) { | |
| $18 = ((($13)) + 4|0); | |
| $$0$i$i$i = $18; | |
| } else { | |
| __THREW__ = 0; | |
| $19 = (invoke_ii(58,($13|0))|0); | |
| $20 = __THREW__; __THREW__ = 0; | |
| $21 = $20&1; | |
| if ($21) { | |
| label = 42; | |
| break; | |
| } else { | |
| $$0$i$i$i = $19; | |
| } | |
| } | |
| $22 = HEAP32[$$0$i$i$i>>2]|0; | |
| $cond$i$i$i$i$i$i = ($22|0)==(-1); | |
| if ($cond$i$i$i$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1508|0)); | |
| $23 = __THREW__; __THREW__ = 0; | |
| label = 42; | |
| break; | |
| } | |
| $24 = ((($$0$i$i$i)) + 12|0); | |
| $25 = HEAP32[$24>>2]|0; | |
| $26 = ($25|0)==(0|0); | |
| if (!($26)) { | |
| __THREW__ = 0; | |
| invoke_viii(60,(3310|0),38,(852|0)); | |
| $27 = __THREW__; __THREW__ = 0; | |
| label = 42; | |
| break; | |
| } | |
| $28 = $2; | |
| $29 = $28; | |
| HEAP32[$29>>2] = 0; | |
| $30 = (($28) + 4)|0; | |
| $31 = $30; | |
| HEAP32[$31>>2] = 0; | |
| $32 = ((($2)) + 8|0); | |
| HEAP32[$32>>2] = $8; | |
| HEAP32[$thread$i$i>>2] = 488447261; | |
| __THREW__ = 0; | |
| $33 = (invoke_i(56)|0); | |
| $34 = __THREW__; __THREW__ = 0; | |
| $35 = $34&1; | |
| do { | |
| if ($35) { | |
| $478 = $8; | |
| label = 18; | |
| } else { | |
| $switchtmp$i$i6$i$i = ($33|0)==(0|0); | |
| if ($switchtmp$i$i6$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $36 = __THREW__; __THREW__ = 0; | |
| $478 = $8; | |
| label = 18; | |
| break; | |
| } | |
| ;HEAP32[$arg$i$i$i>>2]=HEAP32[$2>>2]|0;HEAP32[$arg$i$i$i+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$arg$i$i$i+8>>2]=HEAP32[$2+8>>2]|0; | |
| ;HEAP32[$2>>2]=488447261|0;HEAP32[$2+4>>2]=488447261|0;HEAP32[$2+8>>2]=488447261|0; | |
| $44 = HEAP32[$33>>2]|0; | |
| $switch$i8$i$i = ($44|0)==(1); | |
| if ($switch$i8$i$i) { | |
| $53 = ((($33)) + 4|0); | |
| $$0$i10$i$i = $53; | |
| } else { | |
| __THREW__ = 0; | |
| $54 = (invoke_ii(58,($33|0))|0); | |
| $55 = __THREW__; __THREW__ = 0; | |
| $56 = $55&1; | |
| if ($56) { | |
| $45 = ___cxa_find_matching_catch_2()|0; | |
| $46 = tempRet0; | |
| $47 = ((($arg$i$i$i)) + 8|0); | |
| $48 = HEAP32[$47>>2]|0; | |
| $49 = ($48|0)==(488447261); | |
| if (!($49)) { | |
| $50 = $48; | |
| $51 = HEAP32[$50>>2]|0;HEAP32[$50>>2] = (($51-1)|0); | |
| $52 = ($51|0)==(1); | |
| if ($52) { | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($47); | |
| } | |
| } | |
| $$pre$i$i = HEAP32[$32>>2]|0; | |
| $$sroa$0$0$i$i3$i = $45;$$sroa$5$0$i$i$i = $46;$39 = $$pre$i$i; | |
| break; | |
| } else { | |
| $$0$i10$i$i = $54; | |
| } | |
| } | |
| $57 = ((($arg$i$i$i)) + 8|0); | |
| $58 = $arg$i$i$i; | |
| $59 = $58; | |
| $60 = HEAP32[$59>>2]|0; | |
| $61 = (($58) + 4)|0; | |
| $62 = $61; | |
| $63 = HEAP32[$62>>2]|0; | |
| $64 = HEAP32[$57>>2]|0; | |
| HEAP32[$57>>2] = 488447261; | |
| $65 = HEAP32[$$0$i10$i$i>>2]|0; | |
| $cond$i$i$i$i11$i$i = ($65|0)==(0); | |
| if (!($cond$i$i$i$i11$i$i)) { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1528|0)); | |
| $66 = __THREW__; __THREW__ = 0; | |
| $478 = 488447261; | |
| label = 18; | |
| break; | |
| } | |
| HEAP32[$$0$i10$i$i>>2] = -1; | |
| $67 = ((($$0$i10$i$i)) + 4|0); | |
| $68 = ((($$0$i10$i$i)) + 12|0); | |
| $69 = HEAP32[$68>>2]|0; | |
| $switchtmp$i$i$i$i4$i = ($69|0)==(0|0); | |
| if (!($switchtmp$i$i$i$i4$i)) { | |
| $70 = ((($$0$i10$i$i)) + 12|0); | |
| $71 = ($69|0)==((488447261)|0); | |
| if (!($71)) { | |
| $72 = HEAP32[$69>>2]|0;HEAP32[$69>>2] = (($72-1)|0); | |
| $73 = ($72|0)==(1); | |
| if ($73) { | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($70); | |
| } | |
| } | |
| } | |
| $74 = $67; | |
| $75 = $74; | |
| HEAP32[$75>>2] = $60; | |
| $76 = (($74) + 4)|0; | |
| $77 = $76; | |
| HEAP32[$77>>2] = $63; | |
| $78 = ((($$0$i10$i$i)) + 12|0); | |
| HEAP32[$78>>2] = $64; | |
| HEAP32[$$0$i10$i$i>>2] = 0; | |
| $79 = HEAP32[$57>>2]|0; | |
| $80 = ($79|0)==(488447261); | |
| if (!($80)) { | |
| $81 = $79; | |
| $82 = HEAP32[$81>>2]|0;HEAP32[$81>>2] = (($82-1)|0); | |
| $83 = ($82|0)==(1); | |
| if ($83) { | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($57); | |
| } | |
| } | |
| $84 = HEAP32[$32>>2]|0; | |
| $85 = ($84|0)==(488447261); | |
| if (!($85)) { | |
| $86 = $84; | |
| $87 = HEAP32[$86>>2]|0;HEAP32[$86>>2] = (($87-1)|0); | |
| $88 = ($87|0)==(1); | |
| if ($88) { | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($32); | |
| } | |
| } | |
| $96 = HEAP32[$thread$i$i>>2]|0; | |
| $97 = ($96|0)==(488447261); | |
| if (!($97)) { | |
| $98 = $96; | |
| $99 = HEAP32[$98>>2]|0;HEAP32[$98>>2] = (($99-1)|0); | |
| $100 = ($99|0)==(1); | |
| if ($100) { | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($thread$i$i); | |
| } | |
| } | |
| HEAP32[$argv$i$i$i>>2] = $1; | |
| $101 = $argv$i$i$i; | |
| $102 = $iterator$i$i$i$i$i; | |
| $103 = $102; | |
| HEAP32[$103>>2] = 0; | |
| $104 = (($102) + 4)|0; | |
| $105 = $104; | |
| HEAP32[$105>>2] = $0; | |
| $106 = ((($iterator$i$i$i$i$i)) + 8|0); | |
| HEAP32[$106>>2] = $101; | |
| __THREW__ = 0; | |
| invoke_vii(61,($4|0),($iterator$i$i$i$i$i|0)); | |
| $107 = __THREW__; __THREW__ = 0; | |
| $108 = $107&1; | |
| L56: do { | |
| if (!($108)) { | |
| $109 = HEAP32[$4>>2]|0; | |
| $switchtmp$i$i$i$i$i = ($109|0)==(0|0); | |
| L58: do { | |
| if ($switchtmp$i$i$i$i$i) { | |
| $args$sroa$0$0$i$i$i = 1;$args$sroa$11$0$i$i$i = 0;$args$sroa$16$0$i$i$i = 0; | |
| } else { | |
| $114 = ((($iterator$i$i$i$i$i)) + 4|0); | |
| $115 = HEAP32[$iterator$i$i$i$i$i>>2]|0; | |
| $116 = HEAP32[$114>>2]|0; | |
| $117 = ($116|0)>($115|0); | |
| $118 = (($116) - ($115))|0; | |
| $$$i$i$i$i$i$i$i = $117 ? $118 : 0; | |
| $$arith63 = (($$$i$i$i$i$i$i$i) + 1)|0; | |
| $$overflow64 = ($$$i$i$i$i$i$i$i>>>0)>(4294967294); | |
| $sret_slot$0$i$i$i$i$i$i = $$overflow64 ? -1 : $$arith63; | |
| $$arith71 = ($sret_slot$0$i$i$i$i$i$i*12)|0; | |
| $$overflow72 = ($sret_slot$0$i$i$i$i$i$i>>>0)>(357913941); | |
| L61: do { | |
| if ($$overflow72) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2376|0),17); | |
| $119 = __THREW__; __THREW__ = 0; | |
| label = 54; | |
| } else { | |
| $120 = ($$arith71|0)<(0); | |
| if ($120) { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1444|0)); | |
| $121 = __THREW__; __THREW__ = 0; | |
| label = 54; | |
| break; | |
| } | |
| $122 = ($$arith71|0)==(0); | |
| do { | |
| if ($122) { | |
| $ptr$0$i$i$i$i$i$i$i = (1); | |
| } else { | |
| $123 = (_malloc($$arith71)|0); | |
| $124 = ($123|0)==(0|0); | |
| if (!($124)) { | |
| $ptr$0$i$i$i$i$i$i$i = $123; | |
| break; | |
| } | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $125 = __THREW__; __THREW__ = 0; | |
| label = 54; | |
| break L61; | |
| } | |
| } while(0); | |
| $126 = $ptr$0$i$i$i$i$i$i$i; | |
| ;HEAP32[$ptr$0$i$i$i$i$i$i$i>>2]=HEAP32[$4>>2]|0;HEAP32[$ptr$0$i$i$i$i$i$i$i+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$ptr$0$i$i$i$i$i$i$i+8>>2]=HEAP32[$4+8>>2]|0; | |
| ;HEAP32[$arg18$i$i$i$i$i>>2]=HEAP32[$iterator$i$i$i$i$i>>2]|0;HEAP32[$arg18$i$i$i$i$i+4>>2]=HEAP32[$iterator$i$i$i$i$i+4>>2]|0;HEAP32[$arg18$i$i$i$i$i+8>>2]=HEAP32[$iterator$i$i$i$i$i+8>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vii(61,($3|0),($arg18$i$i$i$i$i|0)); | |
| $127 = __THREW__; __THREW__ = 0; | |
| $128 = $127&1; | |
| L71: do { | |
| if ($128) { | |
| $169 = ___cxa_find_matching_catch_2()|0; | |
| $170 = tempRet0; | |
| $eh$lpad$body$i$i$i$i$i$index8Z2D = $170;$eh$lpad$body$i$i$i$i$i$indexZ2D = $169;$vector$i$i$i$i$i$sroa$0$3 = $126;$vector$i$i$i$i$i$sroa$15$1 = 1;$vector$i$i$i$i$i$sroa$9$3 = $sret_slot$0$i$i$i$i$i$i; | |
| } else { | |
| $129 = HEAP32[$3>>2]|0; | |
| $130 = ($129|0)==(0|0); | |
| L74: do { | |
| if ($130) { | |
| $479 = 1;$480 = $sret_slot$0$i$i$i$i$i$i;$481 = $126; | |
| } else { | |
| $131 = ((($arg18$i$i$i$i$i)) + 4|0); | |
| $132 = ((($3)) + 4|0); | |
| $136 = $129;$138 = 1;$482 = $ptr$0$i$i$i$i$i$i$i;$vector$i$i$i$i$i$sroa$0$0 = $126;$vector$i$i$i$i$i$sroa$9$0 = $sret_slot$0$i$i$i$i$i$i; | |
| while(1) { | |
| $137 = ($vector$i$i$i$i$i$sroa$9$0|0)==($138|0); | |
| if ($137) { | |
| $139 = HEAP32[$arg18$i$i$i$i$i>>2]|0; | |
| $140 = HEAP32[$131>>2]|0; | |
| $141 = ($140|0)>($139|0); | |
| $142 = (($140) - ($139))|0; | |
| $$$i$i$i$i$i$i$i$i = $141 ? $142 : 0; | |
| $$arith59 = (($$$i$i$i$i$i$i$i$i) + 1)|0; | |
| $$overflow60 = ($$$i$i$i$i$i$i$i$i>>>0)>(4294967294); | |
| $sret_slot$0$i$i$i$i$i$i$i = $$overflow60 ? -1 : $$arith59; | |
| $143 = (($vector$i$i$i$i$i$sroa$9$0) - ($138))|0; | |
| $144 = ($143>>>0)<($sret_slot$0$i$i$i$i$i$i$i>>>0); | |
| if ($144) { | |
| $$arith = (($138) + ($sret_slot$0$i$i$i$i$i$i$i))|0; | |
| $$overflow = ($$arith>>>0)<($138>>>0); | |
| if ($$overflow) { | |
| label = 72; | |
| break; | |
| } | |
| $146 = $vector$i$i$i$i$i$sroa$9$0 << 1; | |
| $147 = ($$arith>>>0)>=($146>>>0); | |
| $148 = $147 ? $$arith : $146; | |
| $$arith67 = ($148*12)|0; | |
| $$overflow68 = ($148>>>0)>(357913941); | |
| if ($$overflow68) { | |
| label = 74; | |
| break; | |
| } | |
| $150 = ($$arith67|0)<(0); | |
| if ($150) { | |
| label = 76; | |
| break; | |
| } | |
| $152 = ($vector$i$i$i$i$i$sroa$9$0|0)==(0); | |
| if ($152) { | |
| $153 = (_malloc($$arith67)|0); | |
| $ptr$0$i$i$i = $153; | |
| } else { | |
| $154 = $vector$i$i$i$i$i$sroa$0$0; | |
| $155 = (_realloc($154,$$arith67)|0); | |
| $ptr$0$i$i$i = $155; | |
| } | |
| $156 = ($ptr$0$i$i$i|0)==(0|0); | |
| if ($156) { | |
| label = 81; | |
| break; | |
| } | |
| $158 = $ptr$0$i$i$i; | |
| $vector$i$i$i$i$i$sroa$0$1 = $158;$vector$i$i$i$i$i$sroa$9$1 = $148; | |
| } else { | |
| $vector$i$i$i$i$i$sroa$0$1 = $vector$i$i$i$i$i$sroa$0$0;$vector$i$i$i$i$i$sroa$9$1 = $vector$i$i$i$i$i$sroa$9$0; | |
| } | |
| $159 = $vector$i$i$i$i$i$sroa$0$1; | |
| $161 = $159;$vector$i$i$i$i$i$sroa$0$2 = $vector$i$i$i$i$i$sroa$0$1;$vector$i$i$i$i$i$sroa$9$2 = $vector$i$i$i$i$i$sroa$9$1; | |
| } else { | |
| $161 = $482;$vector$i$i$i$i$i$sroa$0$2 = $vector$i$i$i$i$i$sroa$0$0;$vector$i$i$i$i$i$sroa$9$2 = $vector$i$i$i$i$i$sroa$9$0; | |
| } | |
| $160 = (($161) + (($138*12)|0)|0); | |
| _memmove(($160|0),($3|0),12)|0; | |
| $162 = (($138) + 1)|0; | |
| __THREW__ = 0; | |
| invoke_vii(61,($3|0),($arg18$i$i$i$i$i|0)); | |
| $163 = __THREW__; __THREW__ = 0; | |
| $164 = $163&1; | |
| if ($164) { | |
| label = 87; | |
| break; | |
| } | |
| $165 = HEAP32[$3>>2]|0; | |
| $166 = ($165|0)==(0|0); | |
| if ($166) { | |
| $479 = $162;$480 = $vector$i$i$i$i$i$sroa$9$2;$481 = $vector$i$i$i$i$i$sroa$0$2; | |
| break L74; | |
| } else { | |
| $136 = $165;$138 = $162;$482 = $161;$vector$i$i$i$i$i$sroa$0$0 = $vector$i$i$i$i$i$sroa$0$2;$vector$i$i$i$i$i$sroa$9$0 = $vector$i$i$i$i$i$sroa$9$2; | |
| } | |
| } | |
| if ((label|0) == 72) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2376|0),17); | |
| $145 = __THREW__; __THREW__ = 0; | |
| } | |
| else if ((label|0) == 74) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2376|0),17); | |
| $149 = __THREW__; __THREW__ = 0; | |
| } | |
| else if ((label|0) == 76) { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1444|0)); | |
| $151 = __THREW__; __THREW__ = 0; | |
| } | |
| else if ((label|0) == 81) { | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $157 = __THREW__; __THREW__ = 0; | |
| } | |
| else if ((label|0) == 87) { | |
| $167 = ___cxa_find_matching_catch_2()|0; | |
| $168 = tempRet0; | |
| $eh$lpad$body$i$i$i$i$i$index8Z2D = $168;$eh$lpad$body$i$i$i$i$i$indexZ2D = $167;$vector$i$i$i$i$i$sroa$0$3 = $vector$i$i$i$i$i$sroa$0$2;$vector$i$i$i$i$i$sroa$15$1 = $162;$vector$i$i$i$i$i$sroa$9$3 = $vector$i$i$i$i$i$sroa$9$2; | |
| break L71; | |
| } | |
| $133 = ___cxa_find_matching_catch_2()|0; | |
| $134 = tempRet0; | |
| $135 = HEAP32[$132>>2]|0; | |
| $switch$split782D = ($135|0)<(488447261); | |
| if ($switch$split782D) { | |
| switch ($135|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 67; | |
| } | |
| } | |
| } else { | |
| switch ($135|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 67; | |
| } | |
| } | |
| } | |
| if ((label|0) == 67) { | |
| _free($136); | |
| } | |
| $eh$lpad$body$i$i$i$i$i$index8Z2D = $134;$eh$lpad$body$i$i$i$i$i$indexZ2D = $133;$vector$i$i$i$i$i$sroa$0$3 = $vector$i$i$i$i$i$sroa$0$0;$vector$i$i$i$i$i$sroa$15$1 = $138;$vector$i$i$i$i$i$sroa$9$3 = $vector$i$i$i$i$i$sroa$9$0; | |
| break L71; | |
| } | |
| } while(0); | |
| $args$sroa$0$0$i$i$i = $481;$args$sroa$11$0$i$i$i = $480;$args$sroa$16$0$i$i$i = $479; | |
| break L58; | |
| } | |
| } while(0); | |
| $171 = ($vector$i$i$i$i$i$sroa$9$3|0)==(488447261); | |
| if ($171) { | |
| $$sroa$0$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$indexZ2D;$$sroa$7$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$index8Z2D; | |
| break; | |
| } | |
| $172 = $vector$i$i$i$i$i$sroa$0$3; | |
| $173 = (($172) + (($vector$i$i$i$i$i$sroa$15$1*12)|0)|0); | |
| $174 = ($vector$i$i$i$i$i$sroa$15$1|0)>(0); | |
| $175 = $vector$i$i$i$i$i$sroa$0$3; | |
| if ($174) { | |
| $177 = $172; | |
| while(1) { | |
| $176 = ((($177)) + 4|0); | |
| $178 = HEAP32[$176>>2]|0; | |
| $switch$split812D = ($178|0)<(488447261); | |
| if ($switch$split812D) { | |
| switch ($178|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 92; | |
| } | |
| } | |
| } else { | |
| switch ($178|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 92; | |
| } | |
| } | |
| } | |
| if ((label|0) == 92) { | |
| label = 0; | |
| $179 = HEAP32[$177>>2]|0; | |
| _free($179); | |
| } | |
| $180 = ((($177)) + 12|0); | |
| $181 = ($180>>>0)<($173>>>0); | |
| if ($181) { | |
| $177 = $180; | |
| } else { | |
| break; | |
| } | |
| } | |
| } | |
| $switch$split842D = ($vector$i$i$i$i$i$sroa$9$3|0)<(488447261); | |
| if ($switch$split842D) { | |
| switch ($vector$i$i$i$i$i$sroa$9$3|0) { | |
| case 0: { | |
| $$sroa$0$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$indexZ2D;$$sroa$7$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$index8Z2D; | |
| break L61; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } else { | |
| switch ($vector$i$i$i$i$i$sroa$9$3|0) { | |
| case 488447261: { | |
| $$sroa$0$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$indexZ2D;$$sroa$7$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$index8Z2D; | |
| break L61; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } | |
| _free($175); | |
| $$sroa$0$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$indexZ2D;$$sroa$7$0$i$i$i$i$i = $eh$lpad$body$i$i$i$i$i$index8Z2D; | |
| } | |
| } while(0); | |
| if ((label|0) == 54) { | |
| $110 = ___cxa_find_matching_catch_2()|0; | |
| $111 = tempRet0; | |
| $112 = ((($4)) + 4|0); | |
| $113 = HEAP32[$112>>2]|0; | |
| $switch$split2D = ($113|0)<(488447261); | |
| if ($switch$split2D) { | |
| switch ($113|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 55; | |
| } | |
| } | |
| } else { | |
| switch ($113|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 55; | |
| } | |
| } | |
| } | |
| if ((label|0) == 55) { | |
| _free($109); | |
| } | |
| $$sroa$0$0$i$i$i$i$i = $110;$$sroa$7$0$i$i$i$i$i = $111; | |
| } | |
| $eh$lpad$body$i$index18Z2D = $$sroa$7$0$i$i$i$i$i;$eh$lpad$body$i$indexZ2D = $$sroa$0$0$i$i$i$i$i; | |
| break L7; | |
| } | |
| } while(0); | |
| (_pthread_mutex_lock(((7000)|0))|0); | |
| __THREW__ = 0; | |
| $182 = (invoke_i(63)|0); | |
| $183 = __THREW__; __THREW__ = 0; | |
| $184 = $183&1; | |
| do { | |
| if ($184) { | |
| label = 103; | |
| } else { | |
| $switchtmp$i$i$i$i$i$i$i$i = ($182|0)==(0|0); | |
| if ($switchtmp$i$i$i$i$i$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $185 = __THREW__; __THREW__ = 0; | |
| label = 103; | |
| break; | |
| } | |
| $186 = HEAP32[$182>>2]|0; | |
| $switch$i$i$i$i$i$i$i = ($186|0)==(1); | |
| if ($switch$i$i$i$i$i$i$i) { | |
| $$sink$in$phi$trans$insert$i$i$i$i = ((($182)) + 4|0); | |
| $$pre$i$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i>>2]|0; | |
| $phitmp$i$i$i$i = ($$pre$i$i$i$i|0)!=(0); | |
| $phitmp7$i$i$i$i = $phitmp$i$i$i$i&1; | |
| $209 = $phitmp7$i$i$i$i; | |
| } else { | |
| $187 = $182; | |
| $188 = $187; | |
| HEAP32[$188>>2] = 1; | |
| $189 = (($187) + 4)|0; | |
| $190 = $189; | |
| HEAP32[$190>>2] = 0; | |
| $209 = 0; | |
| } | |
| $191 = HEAP8[(7024)>>0]|0; | |
| $switch$i$i$i$i$i = ($191<<24>>24)==(0); | |
| $192 = HEAP32[1784]|0; | |
| $193 = ($192|0)==(0|0); | |
| do { | |
| if ($193) { | |
| $230 = (_malloc(12)|0); | |
| $231 = ($230|0)==(0|0); | |
| if ($231) { | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $232 = __THREW__; __THREW__ = 0; | |
| break; | |
| } | |
| HEAP32[$230>>2] = $args$sroa$0$0$i$i$i; | |
| $233 = ((($230)) + 4|0); | |
| HEAP32[$233>>2] = $args$sroa$11$0$i$i$i; | |
| $234 = ((($230)) + 8|0); | |
| HEAP32[$234>>2] = $args$sroa$16$0$i$i$i; | |
| HEAP32[1784] = $230; | |
| $235 = ($209<<24>>24)==(0); | |
| if ($switch$i$i$i$i$i) { | |
| do { | |
| if ($235) { | |
| __THREW__ = 0; | |
| $236 = (invoke_i(63)|0); | |
| $237 = __THREW__; __THREW__ = 0; | |
| $238 = $237&1; | |
| if ($238) { | |
| break L56; | |
| } | |
| $switchtmp$i$i$i46$i$i$i = ($236|0)==(0|0); | |
| if ($switchtmp$i$i$i46$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $239 = __THREW__; __THREW__ = 0; | |
| break L56; | |
| } | |
| $240 = HEAP32[$236>>2]|0; | |
| $switch$i$i49$i$i$i = ($240|0)==(1); | |
| if (!($switch$i$i49$i$i$i)) { | |
| $241 = $236; | |
| $242 = $241; | |
| HEAP32[$242>>2] = 1; | |
| $243 = (($241) + 4)|0; | |
| $244 = $243; | |
| HEAP32[$244>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i41$i$i$i = ((($236)) + 4|0); | |
| $$pre$i43$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i41$i$i$i>>2]|0; | |
| $phitmp$i44$i$i$i = ($$pre$i43$i$i$i|0)==(0); | |
| if ($phitmp$i44$i$i$i) { | |
| break; | |
| } | |
| HEAP8[(7024)>>0] = 1; | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((7000)|0))|0); | |
| } else { | |
| do { | |
| if ($235) { | |
| __THREW__ = 0; | |
| $245 = (invoke_i(63)|0); | |
| $246 = __THREW__; __THREW__ = 0; | |
| $247 = $246&1; | |
| if ($247) { | |
| break L56; | |
| } | |
| $switchtmp$i$i$i60$i$i$i = ($245|0)==(0|0); | |
| if ($switchtmp$i$i$i60$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $248 = __THREW__; __THREW__ = 0; | |
| break L56; | |
| } | |
| $249 = HEAP32[$245>>2]|0; | |
| $switch$i$i63$i$i$i = ($249|0)==(1); | |
| if (!($switch$i$i63$i$i$i)) { | |
| $250 = $245; | |
| $251 = $250; | |
| HEAP32[$251>>2] = 1; | |
| $252 = (($250) + 4)|0; | |
| $253 = $252; | |
| HEAP32[$253>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i55$i$i$i = ((($245)) + 4|0); | |
| $$pre$i57$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i55$i$i$i>>2]|0; | |
| $phitmp$i58$i$i$i = ($$pre$i57$i$i$i|0)==(0); | |
| if ($phitmp$i58$i$i$i) { | |
| break; | |
| } | |
| HEAP8[(7024)>>0] = 1; | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((7000)|0))|0); | |
| } | |
| HEAP8[$result$i$i>>0] = 0; | |
| $256 = $result$i$i; | |
| HEAP32[$f1$i$i$i>>2] = (64); | |
| $257 = ((($f1$i$i$i)) + 4|0); | |
| HEAP32[$257>>2] = $256; | |
| __THREW__ = 0; | |
| $258 = (invoke_i(63)|0); | |
| $259 = __THREW__; __THREW__ = 0; | |
| $260 = $259&1; | |
| if ($260) { | |
| break L56; | |
| } | |
| $switchtmp$i$i$i24$i = ($258|0)==(0|0); | |
| if ($switchtmp$i$i$i24$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $261 = __THREW__; __THREW__ = 0; | |
| break L56; | |
| } | |
| $262 = HEAP32[$258>>2]|0; | |
| $switch$i$i26$i = ($262|0)==(1); | |
| if ($switch$i$i26$i) { | |
| $$sink$in$phi$trans$insert$i$i$i = ((($258)) + 4|0); | |
| $$pre$i$i27$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i>>2]|0; | |
| $$pre$phi$i$i$iZ2D = $$sink$in$phi$trans$insert$i$i$i;$268 = $$pre$i$i27$i; | |
| } else { | |
| $263 = $258; | |
| $264 = $263; | |
| HEAP32[$264>>2] = 1; | |
| $265 = (($263) + 4)|0; | |
| $266 = $265; | |
| HEAP32[$266>>2] = 0; | |
| $$pre1$i$i$i = ((($258)) + 4|0); | |
| $$pre$phi$i$i$iZ2D = $$pre1$i$i$i;$268 = 0; | |
| } | |
| HEAP32[$$pre$phi$i$i$iZ2D>>2] = 0; | |
| HEAP32[$payload$i$i$i$i>>2] = 0; | |
| $267 = (___rust_try(65,$f1$i$i$i,$payload$i$i$i$i)|0); | |
| HEAP32[$$pre$phi$i$i$iZ2D>>2] = $268; | |
| $269 = ($267|0)==(0); | |
| do { | |
| if ($269) { | |
| $280 = HEAP8[$result$i$i>>0]|0; | |
| $switch$i$i16$i = ($280<<24>>24)==(1); | |
| if ($switch$i$i16$i) { | |
| $$sroa$6$0135 = 0;$res$sroa$0$0$i = 0; | |
| break; | |
| } else { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1488|0)); | |
| $281 = __THREW__; __THREW__ = 0; | |
| break L56; | |
| } | |
| } else { | |
| $270 = HEAP32[$payload$i$i$i$i>>2]|0; | |
| $271 = ((($270)) + 96|0); | |
| $272 = HEAP32[$271>>2]|0; | |
| $273 = ((($270)) + 100|0); | |
| $274 = HEAP32[$273>>2]|0; | |
| $275 = $271; | |
| $276 = $275; | |
| HEAP32[$276>>2] = 0; | |
| $277 = (($275) + 4)|0; | |
| $278 = $277; | |
| HEAP32[$278>>2] = 0; | |
| __Unwind_DeleteException(($270|0)); | |
| $switchtmp$i$i$i$i$i30$i = ($272|0)==(0|0); | |
| if ($switchtmp$i$i$i$i$i30$i) { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1488|0)); | |
| $279 = __THREW__; __THREW__ = 0; | |
| break L56; | |
| } else { | |
| $$sroa$0$0 = $272;$$sroa$6$0 = $274; | |
| $$sroa$6$0135 = $$sroa$6$0;$res$sroa$0$0$i = $$sroa$0$0; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $282 = HEAP32[(7088)>>2]|0; | |
| $283 = ($282|0)<(0); | |
| L191: do { | |
| if (!($283)) { | |
| $284 = HEAP32[(7088)>>2]|0;HEAP32[(7088)>>2] = (($284+1)|0); | |
| $285 = ($284|0)<(0); | |
| if ($285) { | |
| HEAP32[(7088)>>2] = -2147483648; | |
| break; | |
| } | |
| (_pthread_mutex_lock(((7056)|0))|0); | |
| __THREW__ = 0; | |
| $286 = (invoke_i(63)|0); | |
| $287 = __THREW__; __THREW__ = 0; | |
| $288 = $287&1; | |
| L196: do { | |
| if ($288) { | |
| $$sroa$6$0137 = $$sroa$6$0135; | |
| label = 294; | |
| } else { | |
| $switchtmp$i$i$i$i$i$i$i36$i = ($286|0)==(0|0); | |
| if ($switchtmp$i$i$i$i$i$i$i36$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $289 = __THREW__; __THREW__ = 0; | |
| $$sroa$6$0137 = $$sroa$6$0135; | |
| label = 294; | |
| break; | |
| } | |
| $290 = HEAP32[$286>>2]|0; | |
| $switch$i$i$i$i$i$i39$i = ($290|0)==(1); | |
| if ($switch$i$i$i$i$i$i39$i) { | |
| $$sink$in$phi$trans$insert$i1$i$i$i = ((($286)) + 4|0); | |
| $$pre$i3$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i1$i$i$i>>2]|0; | |
| $phitmp$i4$i$i$i = ($$pre$i3$i$i$i|0)!=(0); | |
| $phitmp7$i$i$i41$i = $phitmp$i4$i$i$i&1; | |
| $441 = $phitmp7$i$i$i41$i; | |
| } else { | |
| $291 = $286; | |
| $292 = $291; | |
| HEAP32[$292>>2] = 1; | |
| $293 = (($291) + 4)|0; | |
| $294 = $293; | |
| HEAP32[$294>>2] = 0; | |
| $441 = 0; | |
| } | |
| $295 = HEAP8[(7080)>>0]|0; | |
| $switch$i$i5$i$i$i = ($295<<24>>24)==(0); | |
| $296 = $295 ^ 1; | |
| $297 = $296&255; | |
| $$$i$i$i = $297 ^ 1; | |
| $298 = HEAP32[(7088)>>2]|0; | |
| $299 = ($298|0)>(0); | |
| L205: do { | |
| if ($299) { | |
| (_pthread_mutex_lock(((7000)|0))|0); | |
| __THREW__ = 0; | |
| $330 = (invoke_i(63)|0); | |
| $331 = __THREW__; __THREW__ = 0; | |
| $332 = $331&1; | |
| if ($332) { | |
| $$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056)); | |
| label = 180; | |
| break; | |
| } | |
| $switchtmp$i$i$i$i$i$i$i$i$i$i$i = ($330|0)==(0|0); | |
| if ($switchtmp$i$i$i$i$i$i$i$i$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $333 = __THREW__; __THREW__ = 0; | |
| $$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056)); | |
| label = 180; | |
| break; | |
| } | |
| $334 = HEAP32[$330>>2]|0; | |
| $switch$i$i$i$i$i$i$i$i$i$i = ($334|0)==(1); | |
| if ($switch$i$i$i$i$i$i$i$i$i$i) { | |
| $$sink$in$phi$trans$insert$i$i$i$i$i$i$i = ((($330)) + 4|0); | |
| $$pre$i$i$i$i$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i$i$i$i>>2]|0; | |
| $phitmp$i$i$i$i$i$i = ($$pre$i$i$i$i$i$i$i|0)==(0); | |
| $483 = $phitmp$i$i$i$i$i$i; | |
| } else { | |
| $335 = $330; | |
| $336 = $335; | |
| HEAP32[$336>>2] = 1; | |
| $337 = (($335) + 4)|0; | |
| $338 = $337; | |
| HEAP32[$338>>2] = 0; | |
| $483 = 1; | |
| } | |
| $339 = HEAP8[(7024)>>0]|0; | |
| $switch$i$i$i$i$i$i$i$i = ($339<<24>>24)==(0); | |
| $340 = HEAP32[1784]|0; | |
| $magicptr$i$i$i = $340; | |
| $switch$split932D = ($magicptr$i$i$i|0)<(488447261); | |
| if ($switch$split932D) { | |
| switch ($magicptr$i$i$i|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 209; | |
| } | |
| } | |
| } else { | |
| switch ($magicptr$i$i$i|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 209; | |
| } | |
| } | |
| } | |
| if ((label|0) == 209) { | |
| $341 = ((($340)) + 4|0); | |
| $342 = HEAP32[$341>>2]|0; | |
| $343 = ($342|0)==(488447261); | |
| L220: do { | |
| if (!($343)) { | |
| $344 = HEAP32[$340>>2]|0; | |
| $345 = ((($340)) + 8|0); | |
| $346 = HEAP32[$345>>2]|0; | |
| $347 = (($344) + (($346*12)|0)|0); | |
| $348 = ($346|0)>(0); | |
| if ($348) { | |
| $350 = $344; | |
| while(1) { | |
| $349 = ((($350)) + 4|0); | |
| $351 = HEAP32[$349>>2]|0; | |
| $switch$split962D = ($351|0)<(488447261); | |
| if ($switch$split962D) { | |
| switch ($351|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 212; | |
| } | |
| } | |
| } else { | |
| switch ($351|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 212; | |
| } | |
| } | |
| } | |
| if ((label|0) == 212) { | |
| label = 0; | |
| $352 = HEAP32[$350>>2]|0; | |
| _free($352); | |
| } | |
| $353 = ((($350)) + 12|0); | |
| $354 = ($353>>>0)<($347>>>0); | |
| if ($354) { | |
| $350 = $353; | |
| } else { | |
| break; | |
| } | |
| } | |
| $$pr$pre$i$i$i$i$i = HEAP32[$341>>2]|0; | |
| $$pr$i$i$i$i$i = $$pr$pre$i$i$i$i$i; | |
| } else { | |
| $$pr$i$i$i$i$i = $342; | |
| } | |
| $switch$split992D = ($$pr$i$i$i$i$i|0)<(488447261); | |
| if ($switch$split992D) { | |
| switch ($$pr$i$i$i$i$i|0) { | |
| case 0: { | |
| break L220; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } else { | |
| switch ($$pr$i$i$i$i$i|0) { | |
| case 488447261: { | |
| break L220; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } | |
| $355 = HEAP32[$340>>2]|0; | |
| _free($355); | |
| } | |
| } while(0); | |
| _free($340); | |
| } | |
| HEAP32[1784] = 0; | |
| if ($switch$i$i$i$i$i$i$i$i) { | |
| do { | |
| if ($483) { | |
| __THREW__ = 0; | |
| $356 = (invoke_i(63)|0); | |
| $357 = __THREW__; __THREW__ = 0; | |
| $358 = $357&1; | |
| if ($358) { | |
| $$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056)); | |
| label = 180; | |
| break L205; | |
| } | |
| $switchtmp$i$i$i$i$i$i$i$i$i = ($356|0)==(0|0); | |
| if ($switchtmp$i$i$i$i$i$i$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $359 = __THREW__; __THREW__ = 0; | |
| $$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056)); | |
| label = 180; | |
| break L205; | |
| } | |
| $360 = HEAP32[$356>>2]|0; | |
| $switch$i$i5$i$i$i$i$i$i = ($360|0)==(1); | |
| if (!($switch$i$i5$i$i$i$i$i$i)) { | |
| $361 = $356; | |
| $362 = $361; | |
| HEAP32[$362>>2] = 1; | |
| $363 = (($361) + 4)|0; | |
| $364 = $363; | |
| HEAP32[$364>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i1$i$i$i$i$i$i = ((($356)) + 4|0); | |
| $$pre$i3$i$i$i$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i1$i$i$i$i$i$i>>2]|0; | |
| $phitmp$i4$i$i$i$i$i$i = ($$pre$i3$i$i$i$i$i$i|0)==(0); | |
| if ($phitmp$i4$i$i$i$i$i$i) { | |
| break; | |
| } | |
| HEAP8[(7024)>>0] = 1; | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((7000)|0))|0); | |
| $$sroa$058$081$i$i$i$i$i = 0; | |
| } else { | |
| do { | |
| if ($483) { | |
| __THREW__ = 0; | |
| $365 = (invoke_i(63)|0); | |
| $366 = __THREW__; __THREW__ = 0; | |
| $367 = $366&1; | |
| if ($367) { | |
| $$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056)); | |
| label = 180; | |
| break L205; | |
| } | |
| $switchtmp$i$i$i10$i$i$i$i$i$i = ($365|0)==(0|0); | |
| if ($switchtmp$i$i$i10$i$i$i$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $368 = __THREW__; __THREW__ = 0; | |
| $$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056)); | |
| label = 180; | |
| break L205; | |
| } | |
| $369 = HEAP32[$365>>2]|0; | |
| $switch$i$i12$i$i$i$i$i$i = ($369|0)==(1); | |
| if (!($switch$i$i12$i$i$i$i$i$i)) { | |
| $370 = $365; | |
| $371 = $370; | |
| HEAP32[$371>>2] = 1; | |
| $372 = (($370) + 4)|0; | |
| $373 = $372; | |
| HEAP32[$373>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i6$i$i$i$i$i$i = ((($365)) + 4|0); | |
| $$pre$i8$i$i$i$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i6$i$i$i$i$i$i>>2]|0; | |
| $phitmp$i9$i$i$i$i$i$i = ($$pre$i8$i$i$i$i$i$i|0)==(0); | |
| if ($phitmp$i9$i$i$i$i$i$i) { | |
| break; | |
| } | |
| HEAP8[(7024)>>0] = 1; | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((7000)|0))|0); | |
| $$sroa$058$081$i$i$i$i$i = 0; | |
| } | |
| L264: while(1) { | |
| $374 = (($$sroa$058$081$i$i$i$i$i) + 1)|0; | |
| (_pthread_mutex_lock(((7032)|0))|0); | |
| $375 = HEAP32[1785]|0; | |
| $376 = ($$sroa$058$081$i$i$i$i$i|0)==(9); | |
| $$$i$i$i$i$i = $376 ? (1) : 0; | |
| HEAP32[1785] = $$$i$i$i$i$i; | |
| (_pthread_mutex_unlock(((7032)|0))|0); | |
| $magicptr$i$i$i$i$i = $375; | |
| L266: do { | |
| switch ($magicptr$i$i$i$i$i|0) { | |
| case 1: { | |
| label = 238; | |
| break L264; | |
| break; | |
| } | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| $378 = HEAP32[$375>>2]|0; | |
| $379 = ((($375)) + 4|0); | |
| $380 = HEAP32[$379>>2]|0; | |
| $381 = ((($375)) + 8|0); | |
| $382 = HEAP32[$381>>2]|0; | |
| ;HEAP32[$375>>2]=488447261|0;HEAP32[$375+4>>2]=488447261|0;HEAP32[$375+8>>2]=488447261|0; | |
| $383 = (($378) + ($382<<3)|0); | |
| $386 = $378; | |
| while(1) { | |
| $387 = ($386|0)==($383|0); | |
| if ($387) { | |
| $$sroa$23$1 = $386; | |
| break; | |
| } | |
| $388 = ((($386)) + 8|0); | |
| $389 = HEAP32[$386>>2]|0; | |
| $switch33tmp$i$i$i$i$i = ($389|0)==(0); | |
| if ($switch33tmp$i$i$i$i$i) { | |
| $$sroa$23$1 = $388; | |
| break; | |
| } | |
| $411 = ((($386)) + 4|0); | |
| $412 = HEAP32[$411>>2]|0; | |
| $413 = $389; | |
| $414 = ((($412)) + 12|0); | |
| $415 = HEAP32[$414>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vii($415|0,($413|0),($$ptr|0)); | |
| $416 = __THREW__; __THREW__ = 0; | |
| $417 = $416&1; | |
| if ($417) { | |
| label = 245; | |
| break L264; | |
| } else { | |
| $386 = $388; | |
| } | |
| } | |
| $418 = ($$sroa$23$1|0)==($383|0); | |
| L273: do { | |
| if (!($418)) { | |
| $420 = $$sroa$23$1; | |
| while(1) { | |
| $419 = ((($420)) + 8|0); | |
| $421 = HEAP32[$420>>2]|0; | |
| $422 = ((($420)) + 4|0); | |
| $423 = HEAP32[$422>>2]|0; | |
| $424 = $421; | |
| $switch$split1112D = ($421|0)<(488447261); | |
| if ($switch$split1112D) { | |
| switch ($421|0) { | |
| case 0: { | |
| break L273; | |
| break; | |
| } | |
| default: { | |
| label = 260; | |
| } | |
| } | |
| } else { | |
| switch ($421|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 260; | |
| } | |
| } | |
| } | |
| do { | |
| if ((label|0) == 260) { | |
| label = 0; | |
| $426 = $423; | |
| $427 = HEAP32[$426>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vi($427|0,($424|0)); | |
| $428 = __THREW__; __THREW__ = 0; | |
| $429 = $428&1; | |
| if ($429) { | |
| label = 265; | |
| break L264; | |
| } | |
| $430 = $423; | |
| $431 = ((($430)) + 4|0); | |
| $432 = HEAP32[$431>>2]|0; | |
| $433 = ($432|0)==(0); | |
| if ($433) { | |
| break; | |
| } | |
| _free($424); | |
| } | |
| } while(0); | |
| $425 = ($419|0)==($383|0); | |
| if ($425) { | |
| break; | |
| } else { | |
| $420 = $419; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $switch$split1142D = ($380|0)<(488447261); | |
| if ($switch$split1142D) { | |
| switch ($380|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 264; | |
| } | |
| } | |
| } else { | |
| switch ($380|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 264; | |
| } | |
| } | |
| } | |
| if ((label|0) == 264) { | |
| label = 0; | |
| _free($378); | |
| } | |
| $436 = ($375|0)==((488447261)|0); | |
| if ($436) { | |
| break L266; | |
| } | |
| __THREW__ = 0; | |
| invoke_vi(66,($375|0)); | |
| $437 = __THREW__; __THREW__ = 0; | |
| $438 = $437&1; | |
| if ($438) { | |
| label = 179; | |
| break L264; | |
| } | |
| _free($375); | |
| } | |
| } | |
| } while(0); | |
| $439 = ($374>>>0)<(10); | |
| if ($439) { | |
| $$sroa$058$081$i$i$i$i$i = $374; | |
| } else { | |
| label = 271; | |
| break; | |
| } | |
| } | |
| if ((label|0) == 179) { | |
| $300 = ___cxa_find_matching_catch_2()|0; | |
| $301 = tempRet0; | |
| $$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $301;$eh$lpad$body$i$i$i$indexZ2D = $300;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056)); | |
| break; | |
| } | |
| else if ((label|0) == 238) { | |
| __THREW__ = 0; | |
| invoke_viii(60,(3384|0),39,(864|0)); | |
| $377 = __THREW__; __THREW__ = 0; | |
| $$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056)); | |
| label = 180; | |
| break; | |
| } | |
| else if ((label|0) == 245) { | |
| $390 = ___cxa_find_matching_catch_2()|0; | |
| $391 = tempRet0; | |
| $392 = ($388|0)==($383|0); | |
| L299: do { | |
| if (!($392)) { | |
| $394 = $388; | |
| L300: while(1) { | |
| $393 = ((($394)) + 8|0); | |
| $395 = HEAP32[$394>>2]|0; | |
| $396 = ((($394)) + 4|0); | |
| $397 = HEAP32[$396>>2]|0; | |
| $398 = $395; | |
| $switch$split1022D = ($395|0)<(488447261); | |
| if ($switch$split1022D) { | |
| switch ($395|0) { | |
| case 0: { | |
| break L299; | |
| break; | |
| } | |
| default: { | |
| label = 248; | |
| } | |
| } | |
| } else { | |
| switch ($395|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 248; | |
| } | |
| } | |
| } | |
| do { | |
| if ((label|0) == 248) { | |
| label = 0; | |
| $400 = $397; | |
| $401 = HEAP32[$400>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vi($401|0,($398|0)); | |
| $402 = __THREW__; __THREW__ = 0; | |
| $403 = $402&1; | |
| if ($403) { | |
| break L300; | |
| } | |
| $404 = $397; | |
| $405 = ((($404)) + 4|0); | |
| $406 = HEAP32[$405>>2]|0; | |
| $407 = ($406|0)==(0); | |
| if ($407) { | |
| break; | |
| } | |
| _free($398); | |
| } | |
| } while(0); | |
| $399 = ($393|0)==($383|0); | |
| if ($399) { | |
| break L299; | |
| } else { | |
| $394 = $393; | |
| } | |
| } | |
| $408 = ___cxa_find_matching_catch_2()|0; | |
| $409 = tempRet0; | |
| $switch$split1082D = ($380|0)<(488447261); | |
| if ($switch$split1082D) { | |
| switch ($380|0) { | |
| case 0: { | |
| $$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $409;$eh$lpad$body$i$i$i$indexZ2D = $408;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056)); | |
| break L205; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } else { | |
| switch ($380|0) { | |
| case 488447261: { | |
| $$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $409;$eh$lpad$body$i$i$i$indexZ2D = $408;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056)); | |
| break L205; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } | |
| _free($378); | |
| $$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $409;$eh$lpad$body$i$i$i$indexZ2D = $408;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056)); | |
| break L205; | |
| } | |
| } while(0); | |
| $switch$split1052D = ($380|0)<(488447261); | |
| if ($switch$split1052D) { | |
| switch ($380|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 252; | |
| } | |
| } | |
| } else { | |
| switch ($380|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 252; | |
| } | |
| } | |
| } | |
| if ((label|0) == 252) { | |
| _free($378); | |
| } | |
| $410 = ($375|0)==((488447261)|0); | |
| if (!($410)) { | |
| __THREW__ = 0; | |
| invoke_vi(66,($375|0)); | |
| $384 = __THREW__; __THREW__ = 0; | |
| $385 = $384&1; | |
| if ($385) { | |
| $$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = $$$i$i$i;$guard$sroa$22$1$ph$i$i$i = $441;$guard$sroa$29$1$ph$i$i$i = -44;$guard$sroa$8$1$ph$i$i$i = ((7056)); | |
| label = 180; | |
| break; | |
| } | |
| _free($375); | |
| } | |
| $$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $391;$eh$lpad$body$i$i$i$indexZ2D = $390;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056)); | |
| break; | |
| } | |
| else if ((label|0) == 265) { | |
| $434 = ___cxa_find_matching_catch_2()|0; | |
| $435 = tempRet0; | |
| $switch$split1172D = ($380|0)<(488447261); | |
| if ($switch$split1172D) { | |
| switch ($380|0) { | |
| case 0: { | |
| $$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $435;$eh$lpad$body$i$i$i$indexZ2D = $434;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056)); | |
| break L205; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } else { | |
| switch ($380|0) { | |
| case 488447261: { | |
| $$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $435;$eh$lpad$body$i$i$i$indexZ2D = $434;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056)); | |
| break L205; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } | |
| _free($378); | |
| $$sroa$6$0139 = $$sroa$6$0135;$eh$lpad$body$i$i$i$index34Z2D = $435;$eh$lpad$body$i$i$i$indexZ2D = $434;$guard$sroa$0$1$i$i$i = $$$i$i$i;$guard$sroa$22$2$i$i$i = $441;$guard$sroa$29$2$i$i$i = -44;$guard$sroa$8$2$i$i$i = ((7056)); | |
| break; | |
| } | |
| else if ((label|0) == 271) { | |
| $440 = HEAP32[(7088)>>2]|0;HEAP32[(7088)>>2] = -2147483648; | |
| HEAP32[(7092)>>2] = $440; | |
| label = 272; | |
| break; | |
| } | |
| } else { | |
| label = 272; | |
| } | |
| } while(0); | |
| L331: do { | |
| if ((label|0) == 272) { | |
| $442 = ($441<<24>>24)==(0); | |
| if ($switch$i$i5$i$i$i) { | |
| do { | |
| if ($442) { | |
| __THREW__ = 0; | |
| $443 = (invoke_i(63)|0); | |
| $444 = __THREW__; __THREW__ = 0; | |
| $445 = $444&1; | |
| if ($445) { | |
| $$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = 488447261;$guard$sroa$22$1$ph$i$i$i = 29;$guard$sroa$29$1$ph$i$i$i = 29;$guard$sroa$8$1$ph$i$i$i = 488447261; | |
| label = 180; | |
| break L331; | |
| } | |
| $switchtmp$i$i$i$i$i$i$i = ($443|0)==(0|0); | |
| if ($switchtmp$i$i$i$i$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $446 = __THREW__; __THREW__ = 0; | |
| $$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = 488447261;$guard$sroa$22$1$ph$i$i$i = 29;$guard$sroa$29$1$ph$i$i$i = 29;$guard$sroa$8$1$ph$i$i$i = 488447261; | |
| label = 180; | |
| break L331; | |
| } | |
| $447 = HEAP32[$443>>2]|0; | |
| $switch$i$i$i$i$i$i = ($447|0)==(1); | |
| if (!($switch$i$i$i$i$i$i)) { | |
| $448 = $443; | |
| $449 = $448; | |
| HEAP32[$449>>2] = 1; | |
| $450 = (($448) + 4)|0; | |
| $451 = $450; | |
| HEAP32[$451>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i$i$i$i$i = ((($443)) + 4|0); | |
| $$pre$i$i$i$i66$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i$i>>2]|0; | |
| $phitmp$i$i$i$i$i = ($$pre$i$i$i$i66$i|0)==(0); | |
| if ($phitmp$i$i$i$i$i) { | |
| break; | |
| } | |
| HEAP8[(7080)>>0] = 1; | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((7056)|0))|0); | |
| } else { | |
| do { | |
| if ($442) { | |
| __THREW__ = 0; | |
| $452 = (invoke_i(63)|0); | |
| $453 = __THREW__; __THREW__ = 0; | |
| $454 = $453&1; | |
| if ($454) { | |
| $$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = 488447261;$guard$sroa$22$1$ph$i$i$i = 29;$guard$sroa$29$1$ph$i$i$i = 29;$guard$sroa$8$1$ph$i$i$i = 488447261; | |
| label = 180; | |
| break L331; | |
| } | |
| $switchtmp$i$i$i36$i$i67$i = ($452|0)==(0|0); | |
| if ($switchtmp$i$i$i36$i$i67$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $455 = __THREW__; __THREW__ = 0; | |
| $$sroa$6$0140 = $$sroa$6$0135;$guard$sroa$0$0$ph$i$i$i = 488447261;$guard$sroa$22$1$ph$i$i$i = 29;$guard$sroa$29$1$ph$i$i$i = 29;$guard$sroa$8$1$ph$i$i$i = 488447261; | |
| label = 180; | |
| break L331; | |
| } | |
| $456 = HEAP32[$452>>2]|0; | |
| $switch$i$i39$i$i$i = ($456|0)==(1); | |
| if (!($switch$i$i39$i$i$i)) { | |
| $457 = $452; | |
| $458 = $457; | |
| HEAP32[$458>>2] = 1; | |
| $459 = (($457) + 4)|0; | |
| $460 = $459; | |
| HEAP32[$460>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i31$i$i$i = ((($452)) + 4|0); | |
| $$pre$i33$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i31$i$i$i>>2]|0; | |
| $phitmp$i34$i$i$i = ($$pre$i33$i$i$i|0)==(0); | |
| if ($phitmp$i34$i$i$i) { | |
| break; | |
| } | |
| HEAP8[(7080)>>0] = 1; | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((7056)|0))|0); | |
| } | |
| $461 = HEAP32[(7092)>>2]|0;HEAP32[(7092)>>2] = (($461+-1)|0); | |
| $462 = ($461|0)==(1); | |
| if (!($462)) { | |
| break L191; | |
| } | |
| (_pthread_mutex_destroy(((7056)|0))|0); | |
| break L191; | |
| } | |
| } while(0); | |
| if ((label|0) == 180) { | |
| $302 = ___cxa_find_matching_catch_2()|0; | |
| $303 = tempRet0; | |
| $$sroa$6$0139 = $$sroa$6$0140;$eh$lpad$body$i$i$i$index34Z2D = $303;$eh$lpad$body$i$i$i$indexZ2D = $302;$guard$sroa$0$1$i$i$i = $guard$sroa$0$0$ph$i$i$i;$guard$sroa$22$2$i$i$i = $guard$sroa$22$1$ph$i$i$i;$guard$sroa$29$2$i$i$i = $guard$sroa$29$1$ph$i$i$i;$guard$sroa$8$2$i$i$i = $guard$sroa$8$1$ph$i$i$i; | |
| } | |
| switch ($guard$sroa$0$1$i$i$i|0) { | |
| case 0: { | |
| $304 = ($guard$sroa$29$2$i$i$i<<24>>24)==(-44); | |
| if (!($304)) { | |
| $$sroa$6$0138 = $$sroa$6$0139;$eh$lpad$body74$i$index50Z2D = $eh$lpad$body$i$i$i$index34Z2D;$eh$lpad$body74$i$indexZ2D = $eh$lpad$body$i$i$i$indexZ2D; | |
| break L196; | |
| } | |
| $305 = $guard$sroa$8$2$i$i$i; | |
| $306 = ($guard$sroa$22$2$i$i$i<<24>>24)==(0); | |
| do { | |
| if ($306) { | |
| __THREW__ = 0; | |
| $307 = (invoke_i(63)|0); | |
| $308 = __THREW__; __THREW__ = 0; | |
| $309 = $308&1; | |
| if ($309) { | |
| $$sroa$6$0137 = $$sroa$6$0139; | |
| label = 294; | |
| break L196; | |
| } | |
| $switchtmp$i$i$i60$i$i49$i = ($307|0)==(0|0); | |
| if ($switchtmp$i$i$i60$i$i49$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $310 = __THREW__; __THREW__ = 0; | |
| $$sroa$6$0137 = $$sroa$6$0139; | |
| label = 294; | |
| break L196; | |
| } | |
| $311 = HEAP32[$307>>2]|0; | |
| $switch$i$i63$i$i51$i = ($311|0)==(1); | |
| if (!($switch$i$i63$i$i51$i)) { | |
| $312 = $307; | |
| $313 = $312; | |
| HEAP32[$313>>2] = 1; | |
| $314 = (($312) + 4)|0; | |
| $315 = $314; | |
| HEAP32[$315>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i55$i$i45$i = ((($307)) + 4|0); | |
| $$pre$i57$i$i47$i = HEAP32[$$sink$in$phi$trans$insert$i55$i$i45$i>>2]|0; | |
| $phitmp$i58$i$i48$i = ($$pre$i57$i$i47$i|0)==(0); | |
| if ($phitmp$i58$i$i48$i) { | |
| break; | |
| } | |
| $316 = ((($305)) + 24|0); | |
| HEAP8[$316>>0] = 1; | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(($305|0))|0); | |
| $$sroa$6$0138 = $$sroa$6$0139;$eh$lpad$body74$i$index50Z2D = $eh$lpad$body$i$i$i$index34Z2D;$eh$lpad$body74$i$indexZ2D = $eh$lpad$body$i$i$i$indexZ2D; | |
| break L196; | |
| break; | |
| } | |
| case 1: { | |
| $317 = ($guard$sroa$29$2$i$i$i<<24>>24)==(-44); | |
| if (!($317)) { | |
| $$sroa$6$0138 = $$sroa$6$0139;$eh$lpad$body74$i$index50Z2D = $eh$lpad$body$i$i$i$index34Z2D;$eh$lpad$body74$i$indexZ2D = $eh$lpad$body$i$i$i$indexZ2D; | |
| break L196; | |
| } | |
| $318 = $guard$sroa$8$2$i$i$i; | |
| $319 = ($guard$sroa$22$2$i$i$i<<24>>24)==(0); | |
| do { | |
| if ($319) { | |
| __THREW__ = 0; | |
| $320 = (invoke_i(63)|0); | |
| $321 = __THREW__; __THREW__ = 0; | |
| $322 = $321&1; | |
| if ($322) { | |
| $$sroa$6$0137 = $$sroa$6$0139; | |
| label = 294; | |
| break L196; | |
| } | |
| $switchtmp$i$i$i74$i$i$i = ($320|0)==(0|0); | |
| if ($switchtmp$i$i$i74$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $323 = __THREW__; __THREW__ = 0; | |
| $$sroa$6$0137 = $$sroa$6$0139; | |
| label = 294; | |
| break L196; | |
| } | |
| $324 = HEAP32[$320>>2]|0; | |
| $switch$i$i77$i$i$i = ($324|0)==(1); | |
| if (!($switch$i$i77$i$i$i)) { | |
| $325 = $320; | |
| $326 = $325; | |
| HEAP32[$326>>2] = 1; | |
| $327 = (($325) + 4)|0; | |
| $328 = $327; | |
| HEAP32[$328>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i69$i$i$i = ((($320)) + 4|0); | |
| $$pre$i71$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i69$i$i$i>>2]|0; | |
| $phitmp$i72$i$i$i = ($$pre$i71$i$i$i|0)==(0); | |
| if ($phitmp$i72$i$i$i) { | |
| break; | |
| } | |
| $329 = ((($318)) + 24|0); | |
| HEAP8[$329>>0] = 1; | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(($318|0))|0); | |
| $$sroa$6$0138 = $$sroa$6$0139;$eh$lpad$body74$i$index50Z2D = $eh$lpad$body$i$i$i$index34Z2D;$eh$lpad$body74$i$indexZ2D = $eh$lpad$body$i$i$i$indexZ2D; | |
| break L196; | |
| break; | |
| } | |
| default: { | |
| $$sroa$6$0138 = $$sroa$6$0139;$eh$lpad$body74$i$index50Z2D = $eh$lpad$body$i$i$i$index34Z2D;$eh$lpad$body74$i$indexZ2D = $eh$lpad$body$i$i$i$indexZ2D; | |
| break L196; | |
| } | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 294) { | |
| $464 = ___cxa_find_matching_catch_2()|0; | |
| $465 = tempRet0; | |
| $$sroa$6$0138 = $$sroa$6$0137;$eh$lpad$body74$i$index50Z2D = $465;$eh$lpad$body74$i$indexZ2D = $464; | |
| } | |
| $magicptr$i$i = $res$sroa$0$0$i; | |
| $switch$split1232D = ($magicptr$i$i|0)<(488447261); | |
| L393: do { | |
| if ($switch$split1232D) { | |
| switch ($magicptr$i$i|0) { | |
| case 0: { | |
| $$sroa$0$0$i = $eh$lpad$body74$i$indexZ2D;$$sroa$5$0$i = $eh$lpad$body74$i$index50Z2D; | |
| break; | |
| } | |
| default: { | |
| break L393; | |
| } | |
| } | |
| ___resumeException($$sroa$0$0$i|0); | |
| // unreachable; | |
| } else { | |
| switch ($magicptr$i$i|0) { | |
| case 488447261: { | |
| $$sroa$0$0$i = $eh$lpad$body74$i$indexZ2D;$$sroa$5$0$i = $eh$lpad$body74$i$index50Z2D; | |
| break; | |
| } | |
| default: { | |
| break L393; | |
| } | |
| } | |
| ___resumeException($$sroa$0$0$i|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $466 = $$sroa$6$0138; | |
| $467 = HEAP32[$466>>2]|0; | |
| FUNCTION_TABLE_vi[$467 & 127]($res$sroa$0$0$i); | |
| $468 = $$sroa$6$0138; | |
| $469 = ((($468)) + 4|0); | |
| $470 = HEAP32[$469>>2]|0; | |
| $471 = ($470|0)==(0); | |
| if ($471) { | |
| $$sroa$0$0$i = $eh$lpad$body74$i$indexZ2D;$$sroa$5$0$i = $eh$lpad$body74$i$index50Z2D; | |
| ___resumeException($$sroa$0$0$i|0); | |
| // unreachable; | |
| } | |
| _free($res$sroa$0$0$i); | |
| $$sroa$0$0$i = $eh$lpad$body74$i$indexZ2D;$$sroa$5$0$i = $eh$lpad$body74$i$index50Z2D; | |
| ___resumeException($$sroa$0$0$i|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $463 = ($res$sroa$0$0$i|0)!=(0|0); | |
| $magicptr$i19$i = $res$sroa$0$0$i; | |
| $switch$split1202D = ($magicptr$i19$i|0)<(488447261); | |
| L404: do { | |
| if ($switch$split1202D) { | |
| switch ($magicptr$i19$i|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L404; | |
| } | |
| } | |
| $$$i = $463 ? 101 : 0; | |
| STACKTOP = sp;return ($$$i|0); | |
| } else { | |
| switch ($magicptr$i19$i|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L404; | |
| } | |
| } | |
| $$$i = $463 ? 101 : 0; | |
| STACKTOP = sp;return ($$$i|0); | |
| } | |
| } while(0); | |
| $472 = $$sroa$6$0135; | |
| $473 = HEAP32[$472>>2]|0; | |
| FUNCTION_TABLE_vi[$473 & 127]($res$sroa$0$0$i); | |
| $474 = $$sroa$6$0135; | |
| $475 = ((($474)) + 4|0); | |
| $476 = HEAP32[$475>>2]|0; | |
| $477 = ($476|0)==(0); | |
| if ($477) { | |
| $$$i = $463 ? 101 : 0; | |
| STACKTOP = sp;return ($$$i|0); | |
| } | |
| _free($res$sroa$0$0$i); | |
| $$$i = $463 ? 101 : 0; | |
| STACKTOP = sp;return ($$$i|0); | |
| } else { | |
| __THREW__ = 0; | |
| invoke_viii(60,(3592|0),34,(888|0)); | |
| $229 = __THREW__; __THREW__ = 0; | |
| } | |
| } while(0); | |
| $207 = ___cxa_find_matching_catch_2()|0; | |
| $208 = tempRet0; | |
| $switch$i$i$i = ($191<<24>>24)==(1); | |
| $210 = ($209<<24>>24)==(0); | |
| if ($switch$i$i$i) { | |
| do { | |
| if ($210) { | |
| __THREW__ = 0; | |
| $220 = (invoke_i(63)|0); | |
| $221 = __THREW__; __THREW__ = 0; | |
| $222 = $221&1; | |
| if ($222) { | |
| break L56; | |
| } | |
| $switchtmp$i$i$i36$i$i$i = ($220|0)==(0|0); | |
| if ($switchtmp$i$i$i36$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $223 = __THREW__; __THREW__ = 0; | |
| break L56; | |
| } | |
| $224 = HEAP32[$220>>2]|0; | |
| $switch$i$i38$i$i$i = ($224|0)==(1); | |
| if (!($switch$i$i38$i$i$i)) { | |
| $225 = $220; | |
| $226 = $225; | |
| HEAP32[$226>>2] = 1; | |
| $227 = (($225) + 4)|0; | |
| $228 = $227; | |
| HEAP32[$228>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i32$i$i$i = ((($220)) + 4|0); | |
| $$pre$i34$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i32$i$i$i>>2]|0; | |
| $phitmp$i35$i$i$i = ($$pre$i34$i$i$i|0)==(0); | |
| if ($phitmp$i35$i$i$i) { | |
| break; | |
| } | |
| HEAP8[(7024)>>0] = 1; | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((7000)|0))|0); | |
| $$sroa$0$0$i$i$i = $207;$$sroa$6$0$i$i$i = $208; | |
| break; | |
| } else { | |
| do { | |
| if ($210) { | |
| __THREW__ = 0; | |
| $211 = (invoke_i(63)|0); | |
| $212 = __THREW__; __THREW__ = 0; | |
| $213 = $212&1; | |
| if ($213) { | |
| break L56; | |
| } | |
| $switchtmp$i$i$i$i$i$i = ($211|0)==(0|0); | |
| if ($switchtmp$i$i$i$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $214 = __THREW__; __THREW__ = 0; | |
| break L56; | |
| } | |
| $215 = HEAP32[$211>>2]|0; | |
| $switch$i$i31$i$i$i = ($215|0)==(1); | |
| if (!($switch$i$i31$i$i$i)) { | |
| $216 = $211; | |
| $217 = $216; | |
| HEAP32[$217>>2] = 1; | |
| $218 = (($216) + 4)|0; | |
| $219 = $218; | |
| HEAP32[$219>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i27$i$i$i = ((($211)) + 4|0); | |
| $$pre$i29$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i27$i$i$i>>2]|0; | |
| $phitmp$i30$i$i$i = ($$pre$i29$i$i$i|0)==(0); | |
| if ($phitmp$i30$i$i$i) { | |
| break; | |
| } | |
| HEAP8[(7024)>>0] = 1; | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((7000)|0))|0); | |
| $$sroa$0$0$i$i$i = $207;$$sroa$6$0$i$i$i = $208; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 103) { | |
| $194 = ___cxa_find_matching_catch_2()|0; | |
| $195 = tempRet0; | |
| $$sroa$0$0$i$i$i = $194;$$sroa$6$0$i$i$i = $195; | |
| } | |
| $196 = ($args$sroa$11$0$i$i$i|0)==(488447261); | |
| L444: do { | |
| if (!($196)) { | |
| $197 = $args$sroa$0$0$i$i$i; | |
| $198 = (($197) + (($args$sroa$16$0$i$i$i*12)|0)|0); | |
| $199 = ($args$sroa$16$0$i$i$i|0)>(0); | |
| if ($199) { | |
| $201 = $197; | |
| while(1) { | |
| $200 = ((($201)) + 4|0); | |
| $202 = HEAP32[$200>>2]|0; | |
| $switch$split872D = ($202|0)<(488447261); | |
| if ($switch$split872D) { | |
| switch ($202|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 107; | |
| } | |
| } | |
| } else { | |
| switch ($202|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 107; | |
| } | |
| } | |
| } | |
| if ((label|0) == 107) { | |
| label = 0; | |
| $203 = HEAP32[$201>>2]|0; | |
| _free($203); | |
| } | |
| $204 = ((($201)) + 12|0); | |
| $205 = ($204>>>0)<($198>>>0); | |
| if ($205) { | |
| $201 = $204; | |
| } else { | |
| break; | |
| } | |
| } | |
| } | |
| $switch$split902D = ($args$sroa$11$0$i$i$i|0)<(488447261); | |
| if ($switch$split902D) { | |
| switch ($args$sroa$11$0$i$i$i|0) { | |
| case 0: { | |
| break L444; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } else { | |
| switch ($args$sroa$11$0$i$i$i|0) { | |
| case 488447261: { | |
| break L444; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } | |
| $206 = $args$sroa$0$0$i$i$i; | |
| _free($206); | |
| } | |
| } while(0); | |
| $eh$lpad$body$i$index18Z2D = $$sroa$6$0$i$i$i;$eh$lpad$body$i$indexZ2D = $$sroa$0$0$i$i$i; | |
| break L7; | |
| } | |
| } while(0); | |
| $254 = ___cxa_find_matching_catch_2()|0; | |
| $255 = tempRet0; | |
| $eh$lpad$body$i$index18Z2D = $255;$eh$lpad$body$i$indexZ2D = $254; | |
| break L7; | |
| } | |
| } while(0); | |
| if ((label|0) == 18) { | |
| $37 = ___cxa_find_matching_catch_2()|0; | |
| $38 = tempRet0; | |
| $$sroa$0$0$i$i3$i = $37;$$sroa$5$0$i$i$i = $38;$39 = $478; | |
| } | |
| $40 = ($39|0)==(488447261); | |
| if (!($40)) { | |
| $41 = $39; | |
| $42 = HEAP32[$41>>2]|0;HEAP32[$41>>2] = (($42-1)|0); | |
| $43 = ($42|0)==(1); | |
| if ($43) { | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($32); | |
| } | |
| } | |
| $$pre17$i$i = HEAP32[$thread$i$i>>2]|0; | |
| $91 = $$pre17$i$i;$eh$lpad$body$i$i$index2Z2D = $$sroa$5$0$i$i$i;$eh$lpad$body$i$i$indexZ2D = $$sroa$0$0$i$i3$i; | |
| label = 43; | |
| } | |
| } while(0); | |
| if ((label|0) == 42) { | |
| $89 = ___cxa_find_matching_catch_2()|0; | |
| $90 = tempRet0; | |
| $91 = $8;$eh$lpad$body$i$i$index2Z2D = $90;$eh$lpad$body$i$i$indexZ2D = $89; | |
| label = 43; | |
| } | |
| if ((label|0) == 43) { | |
| $92 = ($91|0)==(488447261); | |
| if ($92) { | |
| $eh$lpad$body$i$index18Z2D = $eh$lpad$body$i$i$index2Z2D;$eh$lpad$body$i$indexZ2D = $eh$lpad$body$i$i$indexZ2D; | |
| } else { | |
| $93 = $91; | |
| $94 = HEAP32[$93>>2]|0;HEAP32[$93>>2] = (($94-1)|0); | |
| $95 = ($94|0)==(1); | |
| if ($95) { | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($thread$i$i); | |
| $eh$lpad$body$i$index18Z2D = $eh$lpad$body$i$i$index2Z2D;$eh$lpad$body$i$indexZ2D = $eh$lpad$body$i$i$indexZ2D; | |
| } else { | |
| $eh$lpad$body$i$index18Z2D = $eh$lpad$body$i$i$index2Z2D;$eh$lpad$body$i$indexZ2D = $eh$lpad$body$i$i$indexZ2D; | |
| } | |
| } | |
| } | |
| $$sroa$0$0$i = $eh$lpad$body$i$indexZ2D;$$sroa$5$0$i = $eh$lpad$body$i$index18Z2D; | |
| ___resumeException($$sroa$0$0$i|0); | |
| // unreachable; | |
| return (0)|0; | |
| } | |
| function _rust_eh_personality($0,$1,$2,$3,$4,$5) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| $4 = $4|0; | |
| $5 = $5|0; | |
| var $6 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $6 = (___gcc_personality_v0(($0|0),($1|0),($2|0),($3|0),($4|0),($5|0))|0); | |
| return ($6|0); | |
| } | |
| function __ZN94error__Box_LT_Error_u2b__u20_Send_u20__u2b__u20_Sync_GT__From_LT_String_GT___from__StringError10drop_3933517h0c977e658c585014E($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $2 = 0, $3 = 0, $switch$split2D = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = ((($0)) + 4|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $switch$split2D = ($2|0)<(488447261); | |
| L1: do { | |
| if ($switch$split2D) { | |
| switch ($2|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L1; | |
| } | |
| } | |
| return; | |
| } else { | |
| switch ($2|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L1; | |
| } | |
| } | |
| return; | |
| } | |
| } while(0); | |
| $3 = HEAP32[$0>>2]|0; | |
| _free($3); | |
| return; | |
| } | |
| function __ZN5error68Box_LT_Error_u2b__u20_Send_u20__u2b__u20_Sync_GT__From_LT_String_GT_4from17StringError_Error11description20h0701b7776dad1e25tdaE($retVal,$0) { | |
| $retVal = $retVal|0; | |
| $0 = $0|0; | |
| var $1 = 0, $2 = 0, $3 = 0, $retVal$index1 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = HEAP32[$0>>2]|0; | |
| $2 = ((($0)) + 8|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| HEAP32[$retVal>>2] = $1; | |
| $retVal$index1 = ((($retVal)) + 4|0); | |
| HEAP32[$retVal$index1>>2] = $3; | |
| return; | |
| } | |
| function __ZN5error5Error5cause20h1166521523764119224E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = $0; | |
| $3 = $2; | |
| HEAP32[$3>>2] = 0; | |
| $4 = (($2) + 4)|0; | |
| $5 = $4; | |
| HEAP32[$5>>2] = 0; | |
| return; | |
| } | |
| function __ZN5error5Error7type_id21h12502022606531839971E($0) { | |
| $0 = $0|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| tempRet0 = (-625059473); | |
| return 2122472491; | |
| } | |
| function __ZN5error68Box_LT_Error_u2b__u20_Send_u20__u2b__u20_Sync_GT__From_LT_String_GT_4from19StringError_Display3fmt20ha7083d13032e4891JdaE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = ((($0)) + 8|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = (__ZN3fmt23Formatter_LT__u27_a_GT_3pad20h4dc31ec7f968f174LyXE($1,$2,$4)|0); | |
| return ($5|0); | |
| } | |
| function __ZN5error68Box_LT_Error_u2b__u20_Send_u20__u2b__u20_Sync_GT__From_LT_String_GT_4from30StringError___core__fmt__Debug3fmt20h02c8d2f33e135b4cOcaE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; | |
| var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; | |
| var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; | |
| var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $addr_of = 0, $arg$i$i$i$i = 0, $prefix$i$i$i = 0, $space$i$i$i = 0, $sret_slot$sroa$0$0$i$i$i = 0, $sret_slot$sroa$0$0$i$i3 = 0, $switch$i$i = 0, $switch$i$i1 = 0, $value$i = 0; | |
| var $writer$i$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $arg$i$i$i$i = sp + 96|0; | |
| $prefix$i$i$i = sp + 88|0; | |
| $space$i$i$i = sp + 80|0; | |
| $writer$i$i$i = sp + 72|0; | |
| $2 = sp + 48|0; | |
| $3 = sp + 32|0; | |
| $4 = sp + 8|0; | |
| $value$i = sp; | |
| $addr_of = sp + 120|0; | |
| $5 = ((($1)) + 28|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = ((($1)) + 32|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = ((($8)) + 12|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = (FUNCTION_TABLE_iiii[$10 & 127]($6,2365,11)|0); | |
| HEAP32[$addr_of>>2] = $0; | |
| HEAP32[$value$i>>2] = $addr_of; | |
| $12 = ((($value$i)) + 4|0); | |
| HEAP32[$12>>2] = 40; | |
| $13 = $value$i; | |
| $switch$i$i = ($11<<24>>24)==(0); | |
| if (!($switch$i$i)) { | |
| $sret_slot$sroa$0$0$i$i3 = 1; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0$i$i3|0); | |
| } | |
| $14 = (416); | |
| $15 = $14; | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = (($14) + 4)|0; | |
| $18 = $17; | |
| $19 = HEAP32[$18>>2]|0; | |
| $20 = 408; | |
| $21 = $20; | |
| $22 = HEAP32[$21>>2]|0; | |
| $23 = (($20) + 4)|0; | |
| $24 = $23; | |
| $25 = HEAP32[$24>>2]|0; | |
| $26 = $prefix$i$i$i; | |
| $27 = $26; | |
| HEAP32[$27>>2] = $22; | |
| $28 = (($26) + 4)|0; | |
| $29 = $28; | |
| HEAP32[$29>>2] = $25; | |
| $30 = $space$i$i$i; | |
| $31 = $30; | |
| HEAP32[$31>>2] = $16; | |
| $32 = (($30) + 4)|0; | |
| $33 = $32; | |
| HEAP32[$33>>2] = $19; | |
| $34 = HEAP32[$1>>2]|0; | |
| $35 = $34 & 4; | |
| $36 = ($35|0)==(0); | |
| if ($36) { | |
| $48 = ((($4)) + 4|0); | |
| HEAP32[$48>>2] = 67; | |
| HEAP32[$4>>2] = $prefix$i$i$i; | |
| $49 = ((($4)) + 8|0); | |
| $50 = ((($4)) + 12|0); | |
| HEAP32[$50>>2] = 67; | |
| HEAP32[$49>>2] = $space$i$i$i; | |
| $51 = ((($4)) + 16|0); | |
| $52 = ((($4)) + 20|0); | |
| HEAP32[$52>>2] = 68; | |
| HEAP32[$51>>2] = $13; | |
| $53 = HEAP32[$5>>2]|0; | |
| $54 = HEAP32[$7>>2]|0; | |
| HEAP32[$arg$i$i$i$i>>2] = 2012; | |
| $55 = ((($arg$i$i$i$i)) + 4|0); | |
| HEAP32[$55>>2] = 3; | |
| $56 = ((($arg$i$i$i$i)) + 8|0); | |
| $57 = $56; | |
| $58 = $57; | |
| HEAP32[$58>>2] = 0; | |
| $59 = (($57) + 4)|0; | |
| $60 = $59; | |
| HEAP32[$60>>2] = 0; | |
| $61 = ((($arg$i$i$i$i)) + 16|0); | |
| HEAP32[$61>>2] = $4; | |
| $62 = ((($arg$i$i$i$i)) + 20|0); | |
| HEAP32[$62>>2] = 3; | |
| $63 = (__ZN3fmt5write20h7901236a83d456cd7oXE($53,$54,$arg$i$i$i$i)|0); | |
| $sret_slot$sroa$0$0$i$i$i = $63; | |
| } else { | |
| $37 = $1; | |
| HEAP32[$writer$i$i$i>>2] = $37; | |
| $38 = ((($writer$i$i$i)) + 4|0); | |
| HEAP8[$38>>0] = 0; | |
| $39 = ((($3)) + 4|0); | |
| HEAP32[$39>>2] = 67; | |
| HEAP32[$3>>2] = $prefix$i$i$i; | |
| $40 = ((($3)) + 8|0); | |
| $41 = ((($3)) + 12|0); | |
| HEAP32[$41>>2] = 68; | |
| HEAP32[$40>>2] = $13; | |
| HEAP32[$2>>2] = 1924; | |
| $42 = ((($2)) + 4|0); | |
| HEAP32[$42>>2] = 2; | |
| $43 = ((($2)) + 8|0); | |
| HEAP32[$43>>2] = 1940; | |
| $44 = ((($2)) + 12|0); | |
| HEAP32[$44>>2] = 2; | |
| $45 = ((($2)) + 16|0); | |
| HEAP32[$45>>2] = $3; | |
| $46 = ((($2)) + 20|0); | |
| HEAP32[$46>>2] = 2; | |
| $47 = (__ZN3fmt5write20h7901236a83d456cd7oXE($writer$i$i$i,360,$2)|0); | |
| $sret_slot$sroa$0$0$i$i$i = $47; | |
| } | |
| $switch$i$i1 = ($sret_slot$sroa$0$0$i$i$i<<24>>24)==(0); | |
| if (!($switch$i$i1)) { | |
| $sret_slot$sroa$0$0$i$i3 = 1; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0$i$i3|0); | |
| } | |
| $64 = HEAP32[$1>>2]|0; | |
| $65 = $64 & 4; | |
| $66 = ($65|0)==(0); | |
| $67 = HEAP32[$5>>2]|0; | |
| $68 = HEAP32[$7>>2]|0; | |
| $69 = ((($68)) + 12|0); | |
| $70 = HEAP32[$69>>2]|0; | |
| if ($66) { | |
| $72 = (FUNCTION_TABLE_iiii[$70 & 127]($67,4376,1)|0); | |
| $sret_slot$sroa$0$0$i$i3 = $72; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0$i$i3|0); | |
| } else { | |
| $71 = (FUNCTION_TABLE_iiii[$70 & 127]($67,4374,2)|0); | |
| $sret_slot$sroa$0$0$i$i3 = $71; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0$i$i3|0); | |
| } | |
| return (0)|0; | |
| } | |
| function __ZN2i810drop_3943217h7c3d8408ba05a0b7E($0) { | |
| $0 = $0|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| return; | |
| } | |
| function __ZN3fmt23__RF__u27_a_u20_T_Debug3fmt20h7661678759007062080E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($2)) + 8|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = (__ZN3fmt9str_Debug3fmt20h89aaf11c090de66eOVXE($3,$5,$1)|0); | |
| return ($6|0); | |
| } | |
| function __ZN3vec12Vec_LT_T_GT_7reserve21h17275297742727099749E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$arith = 0, $$overflow = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ptr$0$i = 0, label = 0; | |
| var sp = 0; | |
| sp = STACKTOP; | |
| $2 = ((($0)) + 8|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($0)) + 4|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = (($5) - ($3))|0; | |
| $7 = ($6>>>0)<($1>>>0); | |
| if (!($7)) { | |
| return; | |
| } | |
| $$arith = (($3) + ($1))|0; | |
| $$overflow = ($$arith>>>0)<($3>>>0); | |
| if ($$overflow) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(2376,17); | |
| // unreachable; | |
| } | |
| $8 = $5 << 1; | |
| $9 = ($$arith>>>0)>=($8>>>0); | |
| $10 = $9 ? $$arith : $8; | |
| $11 = ($10|0)<(0); | |
| if ($11) { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(1444); | |
| // unreachable; | |
| } | |
| $12 = ($5|0)==(0); | |
| if ($12) { | |
| $13 = (_malloc($10)|0); | |
| $ptr$0$i = $13; | |
| } else { | |
| $14 = HEAP32[$0>>2]|0; | |
| $15 = (_realloc($14,$10)|0); | |
| $ptr$0$i = $15; | |
| } | |
| $16 = ($ptr$0$i|0)==(0|0); | |
| if ($16) { | |
| __ZN3oom3oom20hc88b31053092c214PzbE(); | |
| // unreachable; | |
| } | |
| $17 = $ptr$0$i; | |
| HEAP32[$0>>2] = $17; | |
| HEAP32[$4>>2] = $10; | |
| return; | |
| } | |
| function __ZN10sys_common11thread_info11THREAD_INFO7__getit20hda54a47be4fae4c2a9tE() { | |
| var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i$i$i = 0, $cond$i$i10$i = 0, $sret_slot$0$i$i$i = 0, $sret_slot$0$i$i12$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = HEAP32[121]|0; | |
| $cond$i$i$i = ($0|0)==(0); | |
| if ($cond$i$i$i) { | |
| $1 = (__ZN10sys_common12thread_local9StaticKey9lazy_init20h7764f75565e4e259beuE(484)|0); | |
| $sret_slot$0$i$i$i = $1; | |
| } else { | |
| $sret_slot$0$i$i$i = $0; | |
| } | |
| $2 = (_pthread_getspecific(($sret_slot$0$i$i$i|0))|0); | |
| $3 = ($2|0)==(0|0); | |
| if (!($3)) { | |
| $4 = ($2|0)==((1)|0); | |
| $5 = ((($2)) + 4|0); | |
| $6 = $4 ? 0 : $5; | |
| $12 = $6; | |
| return ($12|0); | |
| } | |
| $7 = (_malloc(24)|0); | |
| $8 = ($7|0)==(0|0); | |
| if ($8) { | |
| __ZN3oom3oom20hc88b31053092c214PzbE(); | |
| // unreachable; | |
| } | |
| HEAP32[$7>>2] = 484; | |
| $9 = ((($7)) + 4|0); | |
| ;HEAP32[$9>>2]=HEAP32[7116>>2]|0;HEAP32[$9+4>>2]=HEAP32[7116+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[7116+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[7116+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[7116+16>>2]|0; | |
| $10 = HEAP32[121]|0; | |
| $cond$i$i10$i = ($10|0)==(0); | |
| if ($cond$i$i10$i) { | |
| $11 = (__ZN10sys_common12thread_local9StaticKey9lazy_init20h7764f75565e4e259beuE(484)|0); | |
| $sret_slot$0$i$i12$i = $11; | |
| } else { | |
| $sret_slot$0$i$i12$i = $10; | |
| } | |
| (_pthread_setspecific(($sret_slot$0$i$i12$i|0),($7|0))|0); | |
| $12 = $9; | |
| return ($12|0); | |
| } | |
| function __ZN6thread5local2os13destroy_value20h6313610056414098593E($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; | |
| var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i$i$i = 0, $cond$i$i$i$i$i$i = 0, $cond$i$i$i$i5$i = 0, $cond$i$i14$i = 0, $ptr1$sroa$0$0$i = 0, $sret_slot$0$i$i$i = 0, $sret_slot$0$i$i16$i = 0, $switchtmp$i$i$i$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i7$i = 0, label = 0; | |
| var sp = 0; | |
| sp = STACKTOP; | |
| $1 = HEAP32[$0>>2]|0; | |
| $2 = HEAP32[$1>>2]|0; | |
| $cond$i$i$i = ($2|0)==(0); | |
| if ($cond$i$i$i) { | |
| $3 = $0; | |
| __THREW__ = 0; | |
| $4 = (invoke_ii(69,($1|0))|0); | |
| $5 = __THREW__; __THREW__ = 0; | |
| $6 = $5&1; | |
| if ($6) { | |
| $ptr1$sroa$0$0$i = $3; | |
| } else { | |
| $sret_slot$0$i$i$i = $4; | |
| label = 3; | |
| } | |
| } else { | |
| $sret_slot$0$i$i$i = $2; | |
| label = 3; | |
| } | |
| if ((label|0) == 3) { | |
| (_pthread_setspecific(($sret_slot$0$i$i$i|0),((1)|0))|0); | |
| $7 = ($0|0)==((488447261)|0); | |
| if (!($7)) { | |
| $8 = ((($0)) + 4|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $cond$i$i$i$i$i$i = ($9|0)==(1); | |
| if ($cond$i$i$i$i$i$i) { | |
| $10 = ((($0)) + 20|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $switchtmp$i$i$i$i$i$i$i$i$i = ($11|0)==(0|0); | |
| if (!($switchtmp$i$i$i$i$i$i$i$i$i)) { | |
| $12 = ($11|0)==((488447261)|0); | |
| if (!($12)) { | |
| $13 = HEAP32[$11>>2]|0;HEAP32[$11>>2] = (($13-1)|0); | |
| $14 = ($13|0)==(1); | |
| if ($14) { | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($10); | |
| } | |
| } | |
| } | |
| } | |
| _free($0); | |
| } | |
| $27 = HEAP32[$1>>2]|0; | |
| $cond$i$i14$i = ($27|0)==(0); | |
| if (!($cond$i$i14$i)) { | |
| $sret_slot$0$i$i16$i = $27; | |
| (_pthread_setspecific(($sret_slot$0$i$i16$i|0),(0|0))|0); | |
| return; | |
| } | |
| __THREW__ = 0; | |
| $28 = (invoke_ii(69,($1|0))|0); | |
| $29 = __THREW__; __THREW__ = 0; | |
| $30 = $29&1; | |
| if ($30) { | |
| $ptr1$sroa$0$0$i = 488447261; | |
| } else { | |
| $sret_slot$0$i$i16$i = $28; | |
| (_pthread_setspecific(($sret_slot$0$i$i16$i|0),(0|0))|0); | |
| return; | |
| } | |
| } | |
| $15 = ___cxa_find_matching_catch_2()|0; | |
| $16 = tempRet0; | |
| $17 = $ptr1$sroa$0$0$i; | |
| $18 = ($17|0)==((488447261)|0); | |
| if ($18) { | |
| ___resumeException($15|0); | |
| // unreachable; | |
| } | |
| $19 = ((($17)) + 4|0); | |
| $20 = HEAP32[$19>>2]|0; | |
| $cond$i$i$i$i5$i = ($20|0)==(1); | |
| if ($cond$i$i$i$i5$i) { | |
| $21 = ((($17)) + 20|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| $switchtmp$i$i$i$i$i$i$i7$i = ($22|0)==(0|0); | |
| if (!($switchtmp$i$i$i$i$i$i$i7$i)) { | |
| $23 = ($22|0)==((488447261)|0); | |
| if (!($23)) { | |
| $24 = HEAP32[$22>>2]|0;HEAP32[$22>>2] = (($24-1)|0); | |
| $25 = ($24|0)==(1); | |
| if ($25) { | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($21); | |
| } | |
| } | |
| } | |
| } | |
| $26 = $ptr1$sroa$0$0$i; | |
| _free($26); | |
| ___resumeException($15|0); | |
| // unreachable; | |
| } | |
| function __ZN10sys_common12thread_local9StaticKey9lazy_init20h7764f75565e4e259beuE($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; | |
| var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $addr_of$i = 0, $addr_of$i4 = 0, $key$09 = 0; | |
| var $key$i = 0, $key$i3 = 0, $left_val$i = 0, $left_val$i5 = 0, $right_val$i = 0, $right_val$i6 = 0, $sret_slot$0 = 0, $success = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $key$i3 = sp + 92|0; | |
| $addr_of$i4 = sp + 88|0; | |
| $left_val$i5 = sp + 84|0; | |
| $right_val$i6 = sp + 80|0; | |
| $1 = sp + 40|0; | |
| $key$i = sp + 76|0; | |
| $addr_of$i = sp + 72|0; | |
| $left_val$i = sp + 68|0; | |
| $right_val$i = sp + 64|0; | |
| $2 = sp + 16|0; | |
| $3 = sp; | |
| $4 = ((($0)) + 4|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| HEAP32[$key$i>>2] = 0; | |
| $6 = (_pthread_key_create(($key$i|0),($5|0))|0); | |
| HEAP32[$addr_of$i>>2] = $6; | |
| HEAP32[$left_val$i>>2] = $addr_of$i; | |
| HEAP32[$right_val$i>>2] = 7096; | |
| $7 = ($6|0)==(0); | |
| if (!($7)) { | |
| $8 = ((($3)) + 4|0); | |
| HEAP32[$8>>2] = 70; | |
| HEAP32[$3>>2] = $left_val$i; | |
| $9 = ((($3)) + 8|0); | |
| $10 = ((($3)) + 12|0); | |
| HEAP32[$10>>2] = 70; | |
| HEAP32[$9>>2] = $right_val$i; | |
| HEAP32[$2>>2] = 448; | |
| $11 = ((($2)) + 4|0); | |
| HEAP32[$11>>2] = 3; | |
| $12 = ((($2)) + 8|0); | |
| $13 = $12; | |
| $14 = $13; | |
| HEAP32[$14>>2] = 0; | |
| $15 = (($13) + 4)|0; | |
| $16 = $15; | |
| HEAP32[$16>>2] = 0; | |
| $17 = ((($2)) + 16|0); | |
| HEAP32[$17>>2] = $3; | |
| $18 = ((($2)) + 20|0); | |
| HEAP32[$18>>2] = 2; | |
| __ZN10sys_common6unwind16begin_unwind_fmt20h0ca53700e4e0b4b7houE($2,492); | |
| // unreachable; | |
| } | |
| $19 = HEAP32[$key$i>>2]|0; | |
| $20 = ($19|0)==(0); | |
| if ($20) { | |
| $21 = HEAP32[$4>>2]|0; | |
| HEAP32[$key$i3>>2] = 0; | |
| $22 = (_pthread_key_create(($key$i3|0),($21|0))|0); | |
| HEAP32[$addr_of$i4>>2] = $22; | |
| HEAP32[$left_val$i5>>2] = $addr_of$i4; | |
| HEAP32[$right_val$i6>>2] = 7096; | |
| $23 = ($22|0)==(0); | |
| if (!($23)) { | |
| $24 = ((($3)) + 4|0); | |
| HEAP32[$24>>2] = 70; | |
| HEAP32[$3>>2] = $left_val$i5; | |
| $25 = ((($3)) + 8|0); | |
| $26 = ((($3)) + 12|0); | |
| HEAP32[$26>>2] = 70; | |
| HEAP32[$25>>2] = $right_val$i6; | |
| HEAP32[$1>>2] = 448; | |
| $27 = ((($1)) + 4|0); | |
| HEAP32[$27>>2] = 3; | |
| $28 = ((($1)) + 8|0); | |
| $29 = $28; | |
| $30 = $29; | |
| HEAP32[$30>>2] = 0; | |
| $31 = (($29) + 4)|0; | |
| $32 = $31; | |
| HEAP32[$32>>2] = 0; | |
| $33 = ((($1)) + 16|0); | |
| HEAP32[$33>>2] = $3; | |
| $34 = ((($1)) + 20|0); | |
| HEAP32[$34>>2] = 2; | |
| __ZN10sys_common6unwind16begin_unwind_fmt20h0ca53700e4e0b4b7houE($1,492); | |
| // unreachable; | |
| } | |
| $35 = HEAP32[$key$i3>>2]|0; | |
| (_pthread_key_delete(0)|0); | |
| $36 = ($35|0)==(0); | |
| if ($36) { | |
| __ZN10sys_common6unwind12begin_unwind20h8284277630150637284E(3129,26,812); | |
| // unreachable; | |
| } else { | |
| $key$09 = $35; | |
| } | |
| } else { | |
| $key$09 = $19; | |
| } | |
| $37 = HEAP32[$0>>2]|0;if (($37|0) == 0) HEAP32[$0>>2] = $key$09; | |
| $success = ($37|0)==(0); | |
| if ($success) { | |
| $sret_slot$0 = $key$09; | |
| STACKTOP = sp;return ($sret_slot$0|0); | |
| } | |
| (_pthread_key_delete(($key$09|0))|0); | |
| $sret_slot$0 = $37; | |
| STACKTOP = sp;return ($sret_slot$0|0); | |
| } | |
| function __ZN3fmt23__RF__u27_a_u20_T_Debug3fmt21h16394839043098550908E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, $3 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = (__ZN3fmt3num16i32_fmt__Display3fmt20hd41f468b70333a45fhWE($2,$1)|0); | |
| return ($3|0); | |
| } | |
| function __ZN10sys_common6unwind16begin_unwind_fmt20h0ca53700e4e0b4b7houE($msg,$0) { | |
| $msg = $msg|0; | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; | |
| var $addr_of$i = 0, $arg$i = 0, $eh$lpad$body$index4Z2D = 0, $eh$lpad$body$indexZ2D = 0, $s = 0, $switch$split102D = 0, $switch$split2D = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $addr_of$i = sp + 40|0; | |
| $arg$i = sp + 16|0; | |
| $s = sp; | |
| HEAP32[$s>>2] = 1; | |
| $1 = ((($s)) + 4|0); | |
| HEAP32[$1>>2] = 0; | |
| $2 = ((($s)) + 8|0); | |
| HEAP32[$2>>2] = 0; | |
| $3 = $s; | |
| HEAP32[$addr_of$i>>2] = $3; | |
| ;HEAP32[$arg$i>>2]=HEAP32[$msg>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$msg+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$msg+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$msg+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$msg+16>>2]|0;HEAP32[$arg$i+20>>2]=HEAP32[$msg+20>>2]|0; | |
| __THREW__ = 0; | |
| (invoke_iiii(71,($addr_of$i|0),(56|0),($arg$i|0))|0); | |
| $4 = __THREW__; __THREW__ = 0; | |
| $5 = $4&1; | |
| L1: do { | |
| if ($5) { | |
| label = 5; | |
| } else { | |
| $6 = HEAP32[$s>>2]|0; | |
| $7 = HEAP32[$1>>2]|0; | |
| $8 = HEAP32[$2>>2]|0; | |
| ;HEAP32[$s>>2]=488447261|0;HEAP32[$s+4>>2]=488447261|0;HEAP32[$s+8>>2]=488447261|0; | |
| $9 = (_malloc(12)|0); | |
| $10 = ($9|0)==(0|0); | |
| if (!($10)) { | |
| HEAP32[$9>>2] = $6; | |
| $18 = ((($9)) + 4|0); | |
| HEAP32[$18>>2] = $7; | |
| $19 = ((($9)) + 8|0); | |
| HEAP32[$19>>2] = $8; | |
| __THREW__ = 0; | |
| invoke_viii(72,($9|0),(80|0),($0|0)); | |
| $20 = __THREW__; __THREW__ = 0; | |
| label = 5; | |
| break; | |
| } | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $11 = __THREW__; __THREW__ = 0; | |
| $12 = ___cxa_find_matching_catch_2()|0; | |
| $13 = tempRet0; | |
| $switch$split2D = ($7|0)<(488447261); | |
| if ($switch$split2D) { | |
| switch ($7|0) { | |
| case 0: { | |
| $eh$lpad$body$index4Z2D = $13;$eh$lpad$body$indexZ2D = $12; | |
| break L1; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } else { | |
| switch ($7|0) { | |
| case 488447261: { | |
| $eh$lpad$body$index4Z2D = $13;$eh$lpad$body$indexZ2D = $12; | |
| break L1; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } | |
| _free($6); | |
| $eh$lpad$body$index4Z2D = $13;$eh$lpad$body$indexZ2D = $12; | |
| } | |
| } while(0); | |
| if ((label|0) == 5) { | |
| $14 = ___cxa_find_matching_catch_2()|0; | |
| $15 = tempRet0; | |
| $eh$lpad$body$index4Z2D = $15;$eh$lpad$body$indexZ2D = $14; | |
| } | |
| $16 = HEAP32[$1>>2]|0; | |
| $switch$split102D = ($16|0)<(488447261); | |
| L13: do { | |
| if ($switch$split102D) { | |
| switch ($16|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L13; | |
| } | |
| } | |
| ___resumeException($eh$lpad$body$indexZ2D|0); | |
| // unreachable; | |
| } else { | |
| switch ($16|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L13; | |
| } | |
| } | |
| ___resumeException($eh$lpad$body$indexZ2D|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $17 = HEAP32[$s>>2]|0; | |
| _free($17); | |
| ___resumeException($eh$lpad$body$indexZ2D|0); | |
| // unreachable; | |
| } | |
| function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_str21h10531360150872445436E($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$pre$i$i$i = 0, $$sroa$06$011$i$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond$i$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$0>>2]|0; | |
| __ZN3vec12Vec_LT_T_GT_7reserve21h17275297742727099749E($3,$2); | |
| $4 = ($2|0)==(0); | |
| if ($4) { | |
| return 0; | |
| } | |
| $5 = ((($3)) + 8|0); | |
| $$pre$i$i$i = HEAP32[$5>>2]|0; | |
| $$sroa$06$011$i$i$i = 0;$9 = $$pre$i$i$i; | |
| while(1) { | |
| $6 = (($$sroa$06$011$i$i$i) + 1)|0; | |
| $7 = HEAP32[$3>>2]|0; | |
| $8 = (($7) + ($9)|0); | |
| $10 = (($1) + ($$sroa$06$011$i$i$i)|0); | |
| $11 = HEAP8[$10>>0]|0; | |
| HEAP8[$8>>0] = $11; | |
| $12 = (($9) + 1)|0; | |
| HEAP32[$5>>2] = $12; | |
| $exitcond$i$i$i = ($6|0)==($2|0); | |
| if ($exitcond$i$i$i) { | |
| break; | |
| } else { | |
| $$sroa$06$011$i$i$i = $6;$9 = $12; | |
| } | |
| } | |
| return 0; | |
| } | |
| function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write10write_char20h7862694527285835139E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$$i$i$i$i = 0, $$pre$i$i$i = 0, $$sroa$0$0$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; | |
| var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; | |
| var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; | |
| var $62 = 0, $7 = 0, $8 = 0, $9 = 0, $sret_slot$0$i$i$ph$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = ($1>>>0)<(128); | |
| if ($3) { | |
| $52 = $1&255; | |
| $53 = ((($2)) + 8|0); | |
| $54 = HEAP32[$53>>2]|0; | |
| $55 = ((($2)) + 4|0); | |
| $56 = HEAP32[$55>>2]|0; | |
| $57 = ($54|0)==($56|0); | |
| if ($57) { | |
| __ZN7raw_vec15RawVec_LT_T_GT_6double21h18434162781060287832E($2); | |
| $$pre$i$i$i = HEAP32[$53>>2]|0; | |
| $60 = $$pre$i$i$i; | |
| } else { | |
| $60 = $54; | |
| } | |
| $58 = HEAP32[$2>>2]|0; | |
| $59 = (($58) + ($60)|0); | |
| HEAP8[$59>>0] = $52; | |
| $61 = HEAP32[$53>>2]|0; | |
| $62 = (($61) + 1)|0; | |
| HEAP32[$53>>2] = $62; | |
| return 0; | |
| } | |
| $4 = ($1>>>0)<(2048); | |
| $5 = ($1>>>0)<(65536); | |
| $$$i$i$i$i = $5 ? 3 : 4; | |
| $sret_slot$0$i$i$ph$i$i = $4 ? 2 : $$$i$i$i$i; | |
| $6 = ((($2)) + 8|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| __ZN3vec12Vec_LT_T_GT_7reserve21h17275297742727099749E($2,$sret_slot$0$i$i$ph$i$i); | |
| $8 = HEAP32[$2>>2]|0; | |
| $9 = (($8) + ($7)|0); | |
| do { | |
| if ($4) { | |
| $10 = $1 >>> 6; | |
| $11 = $10 & 31; | |
| $12 = $11&255; | |
| $13 = $12 | -64; | |
| HEAP8[$9>>0] = $13; | |
| $14 = $1 & 63; | |
| $15 = $14&255; | |
| $16 = $15 | -128; | |
| $17 = ((($9)) + 1|0); | |
| HEAP8[$17>>0] = $16; | |
| $$sroa$0$0$i$i = 2; | |
| } else { | |
| if ($5) { | |
| $18 = ($sret_slot$0$i$i$ph$i$i>>>0)>(2); | |
| if (!($18)) { | |
| $$sroa$0$0$i$i = 0; | |
| break; | |
| } | |
| $19 = $1 >>> 12; | |
| $20 = $19 & 15; | |
| $21 = $20&255; | |
| $22 = $21 | -32; | |
| HEAP8[$9>>0] = $22; | |
| $23 = $1 >>> 6; | |
| $24 = $23 & 63; | |
| $25 = $24&255; | |
| $26 = $25 | -128; | |
| $27 = ((($9)) + 1|0); | |
| HEAP8[$27>>0] = $26; | |
| $28 = $1 & 63; | |
| $29 = $28&255; | |
| $30 = $29 | -128; | |
| $31 = ((($9)) + 2|0); | |
| HEAP8[$31>>0] = $30; | |
| $$sroa$0$0$i$i = 3; | |
| break; | |
| } else { | |
| $32 = ($sret_slot$0$i$i$ph$i$i>>>0)>(3); | |
| if (!($32)) { | |
| $$sroa$0$0$i$i = 0; | |
| break; | |
| } | |
| $33 = $1 >>> 18; | |
| $34 = $33 & 7; | |
| $35 = $34&255; | |
| $36 = $35 | -16; | |
| HEAP8[$9>>0] = $36; | |
| $37 = $1 >>> 12; | |
| $38 = $37 & 63; | |
| $39 = $38&255; | |
| $40 = $39 | -128; | |
| $41 = ((($9)) + 1|0); | |
| HEAP8[$41>>0] = $40; | |
| $42 = $1 >>> 6; | |
| $43 = $42 & 63; | |
| $44 = $43&255; | |
| $45 = $44 | -128; | |
| $46 = ((($9)) + 2|0); | |
| HEAP8[$46>>0] = $45; | |
| $47 = $1 & 63; | |
| $48 = $47&255; | |
| $49 = $48 | -128; | |
| $50 = ((($9)) + 3|0); | |
| HEAP8[$50>>0] = $49; | |
| $$sroa$0$0$i$i = 4; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $51 = (($$sroa$0$0$i$i) + ($7))|0; | |
| HEAP32[$6>>2] = $51; | |
| return 0; | |
| } | |
| function __ZN7raw_vec15RawVec_LT_T_GT_6double21h18434162781060287832E($0) { | |
| $0 = $0|0; | |
| var $$sroa$08$0 = 0, $$sroa$5$0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = ((($0)) + 4|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $3 = ($2|0)==(0); | |
| do { | |
| if ($3) { | |
| $4 = (_malloc(4)|0); | |
| $$sroa$08$0 = 4;$$sroa$5$0 = $4; | |
| } else { | |
| $5 = $2 << 1; | |
| $6 = ($5|0)<(0); | |
| if ($6) { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(1444); | |
| // unreachable; | |
| } else { | |
| $7 = HEAP32[$0>>2]|0; | |
| $8 = (_realloc($7,$5)|0); | |
| $$sroa$08$0 = $5;$$sroa$5$0 = $8; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $9 = ($$sroa$5$0|0)==(0|0); | |
| if ($9) { | |
| __ZN3oom3oom20hc88b31053092c214PzbE(); | |
| // unreachable; | |
| } else { | |
| $10 = $$sroa$5$0; | |
| HEAP32[$0>>2] = $10; | |
| HEAP32[$1>>2] = $$sroa$08$0; | |
| return; | |
| } | |
| } | |
| function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_fmt20h1418446094437505835E($0,$args) { | |
| $0 = $0|0; | |
| $args = $args|0; | |
| var $1 = 0, $2 = 0, $addr_of$i = 0, $arg$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $addr_of$i = sp + 24|0; | |
| $arg$i = sp; | |
| $1 = HEAP32[$0>>2]|0; | |
| HEAP32[$addr_of$i>>2] = $1; | |
| ;HEAP32[$arg$i>>2]=HEAP32[$args>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg$i+20>>2]=HEAP32[$args+20>>2]|0; | |
| $2 = (__ZN3fmt5write20h7901236a83d456cd7oXE($addr_of$i,56,$arg$i)|0); | |
| STACKTOP = sp;return ($2|0); | |
| } | |
| function __ZN32core_collections__string__String10drop_3933817hd824912d29397bbaE($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $2 = 0, $3 = 0, $switch$split2D = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = ((($0)) + 4|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $switch$split2D = ($2|0)<(488447261); | |
| L1: do { | |
| if ($switch$split2D) { | |
| switch ($2|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L1; | |
| } | |
| } | |
| return; | |
| } else { | |
| switch ($2|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L1; | |
| } | |
| } | |
| return; | |
| } | |
| } while(0); | |
| $3 = HEAP32[$0>>2]|0; | |
| _free($3); | |
| return; | |
| } | |
| function __ZN3any5T_Any11get_type_id20h9831754303553698080E($0) { | |
| $0 = $0|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| tempRet0 = (-312767636); | |
| return 1609885971; | |
| } | |
| function __ZN10sys_common6unwind18begin_unwind_inner20hb5c400f399182f09bpuE($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$$i124$i = 0, $$0$i$i$i = 0, $$phi$trans$insert42 = 0, $$phi$trans$insert45 = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i$i$i = 0, $$pre$i$i$i$i$i = 0, $$pre$phi148157$iZ2D = 0, $$pre$phi151159$iZ2D = 0, $$pre$phi53Z2D = 0, $$pre$phiZ2D = 0, $$pre115$i$i = 0, $$pre117$i$i = 0, $$pre119$i$i = 0, $$pre142$i = 0, $$pre143$i = 0, $$pre146$i = 0, $$pre149$i = 0; | |
| var $$pre154$i = 0, $$pre155$i = 0, $$pre19 = 0, $$pre41 = 0, $$pre44 = 0, $$pre47 = 0, $$pre52 = 0, $$sink$in$phi$trans$insert = 0, $$sink$in$phi$trans$insert$i = 0, $$sink$in$phi$trans$insert$i$i = 0, $$sink$in$phi$trans$insert$i$i$i = 0, $$sink110$in$phi$trans$insert$i$i = 0, $$sink111$in$phi$trans$insert$i$i = 0, $$sink112$in$phi$trans$insert$i$i = 0, $$sroa$0$0$i = 0, $$sroa$020$0$i$i = 0, $$sroa$046$1$i = 0, $$sroa$046$3$i = 0, $$sroa$046$4$i = 0, $$sroa$7$0$i = 0; | |
| var $$sroa$8$0$i$i = 0, $$sroa$9$1$i = 0, $$sroa$9$3$i = 0, $$sroa$9$4$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; | |
| var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; | |
| var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; | |
| var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; | |
| var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; | |
| var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; | |
| var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; | |
| var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; | |
| var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; | |
| var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; | |
| var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; | |
| var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; | |
| var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; | |
| var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; | |
| var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; | |
| var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; | |
| var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; | |
| var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0; | |
| var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0; | |
| var $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0; | |
| var $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; | |
| var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; | |
| var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; | |
| var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr_of$i = 0, $arg$i$i = 0, $arg$i$i$i$i$i = 0, $cond$i$i$i$i$i2$i = 0, $cond$i$i$i$i113$i = 0, $cond$i$i$i19$i$i = 0, $cond$i$i1$i$i$i = 0, $cond$i$i11$i$i$i$i = 0, $cond$i$i5$i$i$i$i = 0, $eh$lpad$body$i$i$index7Z2D = 0, $eh$lpad$body$i$i$indexZ2D = 0, $eh$lpad$body$index25Z2D = 0, $eh$lpad$body$indexZ2D = 0; | |
| var $eh$lpad$body12$index16Z2D = 0, $eh$lpad$body12$indexZ2D = 0, $eh$lpad$body44$i$i$index2Z2D = 0, $eh$lpad$body44$i$i$indexZ2D = 0, $err$i = 0, $file$i = 0, $key$i$i$i = 0, $line$i = 0, $log_backtrace$i = 0, $magicptr$i$i$i = 0, $magicptr$i$i$i$i = 0, $magicptr$i$i70$i = 0, $magicptr$i66$i = 0, $msg$i = 0, $msg$sroa$0$0 = 0, $msg$sroa$0$1 = 0, $msg$sroa$5$0 = 0, $msg$sroa$5$1 = 0, $name$i = 0, $not$switchtmp$i123$i = 0; | |
| var $or$cond$i$i = 0, $or$cond113$i$i = 0, $phitmp = 0, $phitmp$i$i = 0, $phitmp$i$i$i = 0, $phitmp132$i$i = 0, $phitmp133$i$i = 0, $phitmp134$i$i = 0, $phitmp5$i$i$i = 0, $ptr$0$i$i$i$i$i$i = 0, $scevgep$i$i$i$i = 0, $sret_slot$0$i58$i = 0, $sret_slot$sroa$0$0$i$i = 0, $sret_slot$sroa$3$0$i$i = 0, $switch$i$i = 0, $switch$i$i$i = 0, $switch$i$i$i$i = 0, $switch$i$i$i$i$i = 0, $switch$i$i100$i$i = 0, $switch$i$i11 = 0; | |
| var $switch$i$i135$i$i = 0, $switch$i$i2 = 0, $switch$i$i72$i$i = 0, $switch$i$i86$i$i = 0, $switch$i130$i = 0, $switch$i5$i = 0, $switch$i57$i = 0, $switch$i83$i = 0, $switch$i97$i = 0, $switch$split2D = 0, $switch$split362D = 0, $switch$split392D = 0, $switch$split422D = 0, $switch$split452D = 0, $switch$split482D = 0, $switch$split512D = 0, $switch$split542D = 0, $switch139$i$i = 0, $switch45tmp$i = 0, $switchtmp$i$i = 0; | |
| var $switchtmp$i$i$i = 0, $switchtmp$i$i$i$i = 0, $switchtmp$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i = 0, $switchtmp$i$i$i4 = 0, $switchtmp$i$i$i69$i$i = 0, $switchtmp$i$i$i83$i$i = 0, $switchtmp$i$i$i9 = 0, $switchtmp$i$i$i97$i$i = 0, $switchtmp$i$i1$i = 0, $switchtmp$i$i128$i = 0, $switchtmp$i$i38 = 0, $switchtmp$i$i95$i = 0, $switchtmp$i1$i$i$i$i = 0, $switchtmp$i10$i$i$i$i = 0, $switchtmp$i123$i = 0, $switchtmp$i4$i$i$i$i = 0, $switchtmp$i56$i = 0, $thread$i = 0, $vector$i$i$i$i = 0; | |
| var $write$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $addr_of$i = sp + 272|0; | |
| $vector$i$i$i$i = sp + 256|0; | |
| $3 = sp + 232|0; | |
| $4 = sp + 216|0; | |
| $arg$i$i$i$i$i = sp + 200|0; | |
| $5 = sp + 176|0; | |
| $6 = sp + 160|0; | |
| $arg$i$i = sp + 152|0; | |
| $key$i$i$i = sp + 144|0; | |
| $7 = sp + 128|0; | |
| $log_backtrace$i = sp + 276|0; | |
| $file$i = sp + 120|0; | |
| $line$i = sp + 272|0; | |
| $msg$i = sp + 112|0; | |
| $err$i = sp + 104|0; | |
| $thread$i = sp + 96|0; | |
| $name$i = sp + 88|0; | |
| $write$i = sp + 64|0; | |
| $8 = sp + 48|0; | |
| $9 = sp + 24|0; | |
| $10 = sp; | |
| $11 = $1; | |
| $12 = HEAP32[$2>>2]|0; | |
| $13 = ((($2)) + 4|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = ((($2)) + 8|0); | |
| $16 = HEAP32[$15>>2]|0; | |
| __THREW__ = 0; | |
| $17 = (invoke_i(63)|0); | |
| $18 = __THREW__; __THREW__ = 0; | |
| $19 = $18&1; | |
| L1: do { | |
| if ($19) { | |
| $msg$sroa$0$0 = $0;$msg$sroa$5$0 = $11; | |
| label = 218; | |
| } else { | |
| $switchtmp$i$i$i = ($17|0)==(0|0); | |
| if ($switchtmp$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $20 = __THREW__; __THREW__ = 0; | |
| $msg$sroa$0$0 = $0;$msg$sroa$5$0 = $11; | |
| label = 218; | |
| break; | |
| } | |
| $21 = HEAP32[$17>>2]|0; | |
| $switch$i$i = ($21|0)==(1); | |
| if ($switch$i$i) { | |
| $$sink$in$phi$trans$insert = ((($17)) + 4|0); | |
| $$pre = HEAP32[$$sink$in$phi$trans$insert>>2]|0; | |
| $phitmp = (($$pre) + 1)|0; | |
| HEAP32[$$sink$in$phi$trans$insert>>2] = $phitmp; | |
| $26 = ($phitmp>>>0)>(2); | |
| if ($26) { | |
| HEAP32[$9>>2] = 512; | |
| $27 = ((($9)) + 4|0); | |
| HEAP32[$27>>2] = 1; | |
| $28 = ((($9)) + 8|0); | |
| $29 = $28; | |
| $30 = $29; | |
| HEAP32[$30>>2] = 0; | |
| $31 = (($29) + 4)|0; | |
| $32 = $31; | |
| HEAP32[$32>>2] = 0; | |
| $33 = ((($9)) + 16|0); | |
| HEAP32[$33>>2] = $addr_of$i; | |
| $34 = ((($9)) + 20|0); | |
| HEAP32[$34>>2] = 0; | |
| __THREW__ = 0; | |
| invoke_vi(73,($9|0)); | |
| $35 = __THREW__; __THREW__ = 0; | |
| $36 = $35&1; | |
| if ($36) { | |
| $msg$sroa$0$0 = $0;$msg$sroa$5$0 = $11; | |
| label = 218; | |
| break; | |
| } | |
| _llvm_trap(); | |
| // unreachable; | |
| } else { | |
| $443 = $phitmp; | |
| } | |
| } else { | |
| $22 = $17; | |
| $23 = $22; | |
| HEAP32[$23>>2] = 1; | |
| $24 = (($22) + 4)|0; | |
| $25 = $24; | |
| HEAP32[$25>>2] = 0; | |
| $$pre19 = ((($17)) + 4|0); | |
| HEAP32[$$pre19>>2] = 1; | |
| $443 = 1; | |
| } | |
| $37 = (_pthread_rwlock_rdlock(((6792)|0))|0); | |
| $38 = ($37|0)==(35); | |
| if ($38) { | |
| __THREW__ = 0; | |
| invoke_viii(60,(2543|0),41,(472|0)); | |
| $39 = __THREW__; __THREW__ = 0; | |
| $msg$sroa$0$0 = $0;$msg$sroa$5$0 = $11; | |
| label = 218; | |
| break; | |
| } | |
| __THREW__ = 0; | |
| $40 = (invoke_i(63)|0); | |
| $41 = __THREW__; __THREW__ = 0; | |
| $42 = $41&1; | |
| if ($42) { | |
| $msg$sroa$0$0 = $0;$msg$sroa$5$0 = $11; | |
| label = 218; | |
| } else { | |
| $switchtmp$i$i$i9 = ($40|0)==(0|0); | |
| if ($switchtmp$i$i$i9) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $43 = __THREW__; __THREW__ = 0; | |
| $msg$sroa$0$0 = $0;$msg$sroa$5$0 = $11; | |
| label = 218; | |
| break; | |
| } | |
| $44 = HEAP32[$40>>2]|0; | |
| $switch$i$i11 = ($44|0)==(1); | |
| if (!($switch$i$i11)) { | |
| $45 = $40; | |
| $46 = $45; | |
| HEAP32[$46>>2] = 1; | |
| $47 = (($45) + 4)|0; | |
| $48 = $47; | |
| HEAP32[$48>>2] = 0; | |
| } | |
| __THREW__ = 0; | |
| $49 = (invoke_i(63)|0); | |
| $50 = __THREW__; __THREW__ = 0; | |
| $51 = $50&1; | |
| L22: do { | |
| if ($51) { | |
| label = 212; | |
| } else { | |
| $switchtmp$i$i128$i = ($49|0)==(0|0); | |
| if ($switchtmp$i$i128$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $52 = __THREW__; __THREW__ = 0; | |
| label = 212; | |
| break; | |
| } | |
| $53 = HEAP32[$49>>2]|0; | |
| $switch$i130$i = ($53|0)==(1); | |
| if ($switch$i130$i) { | |
| $$sink$in$phi$trans$insert$i = ((($49)) + 4|0); | |
| $$pre$i = HEAP32[$$sink$in$phi$trans$insert$i>>2]|0; | |
| $58 = ($$pre$i>>>0)>(1); | |
| if ($58) { | |
| $60 = 1; | |
| } else { | |
| label = 24; | |
| } | |
| } else { | |
| $54 = $49; | |
| $55 = $54; | |
| HEAP32[$55>>2] = 1; | |
| $56 = (($54) + 4)|0; | |
| $57 = $56; | |
| HEAP32[$57>>2] = 0; | |
| label = 24; | |
| } | |
| L30: do { | |
| if ((label|0) == 24) { | |
| $74 = HEAP32[1786]|0; | |
| switch ($74|0) { | |
| case 1: { | |
| $60 = 0; | |
| break L30; | |
| break; | |
| } | |
| case 2: { | |
| $60 = 1; | |
| break L30; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| HEAP32[$key$i$i$i>>2] = 2584; | |
| $75 = ((($key$i$i$i)) + 4|0); | |
| HEAP32[$75>>2] = 14; | |
| __THREW__ = 0; | |
| invoke_vi(74,($3|0)); | |
| $76 = __THREW__; __THREW__ = 0; | |
| $77 = $76&1; | |
| if ($77) { | |
| label = 212; | |
| break L22; | |
| } | |
| $78 = HEAP32[$3>>2]|0; | |
| $switch$i5$i = ($78|0)==(1); | |
| L36: do { | |
| if ($switch$i5$i) { | |
| $97 = ((($3)) + 4|0); | |
| $98 = ((($7)) + 4|0); | |
| $99 = ((($3)) + 8|0); | |
| $100 = HEAP32[$99>>2]|0; | |
| $101 = ((($3)) + 12|0); | |
| $102 = HEAP32[$101>>2]|0; | |
| ;HEAP32[$97>>2]=488447261|0;HEAP32[$97+4>>2]=488447261|0;HEAP32[$97+8>>2]=488447261|0;HEAP32[$97+12>>2]=488447261|0; | |
| __THREW__ = 0; | |
| invoke_viiii(75,($98|0),11,(2598|0),33); | |
| $103 = __THREW__; __THREW__ = 0; | |
| $104 = $103&1; | |
| if ($104) { | |
| $105 = ___cxa_find_matching_catch_2()|0; | |
| $106 = tempRet0; | |
| $switch$split362D = ($102|0)<(488447261); | |
| if ($switch$split362D) { | |
| switch ($102|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 39; | |
| } | |
| } | |
| } else { | |
| switch ($102|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 39; | |
| } | |
| } | |
| } | |
| if ((label|0) == 39) { | |
| _free($100); | |
| } | |
| $eh$lpad$body12$index16Z2D = $106;$eh$lpad$body12$indexZ2D = $105; | |
| break L22; | |
| } else { | |
| $switch$split2D = ($102|0)<(488447261); | |
| if ($switch$split2D) { | |
| switch ($102|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 37; | |
| } | |
| } | |
| } else { | |
| switch ($102|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 37; | |
| } | |
| } | |
| } | |
| if ((label|0) == 37) { | |
| _free($100); | |
| } | |
| HEAP32[$7>>2] = 1; | |
| break; | |
| } | |
| } else { | |
| $79 = ((($3)) + 4|0); | |
| $80 = HEAP32[$79>>2]|0; | |
| $81 = ((($3)) + 8|0); | |
| $82 = HEAP32[$81>>2]|0; | |
| (_pthread_mutex_lock(((6848)|0))|0); | |
| __THREW__ = 0; | |
| $83 = (invoke_i(63)|0); | |
| $84 = __THREW__; __THREW__ = 0; | |
| $85 = $84&1; | |
| L54: do { | |
| if ($85) { | |
| label = 42; | |
| } else { | |
| $switchtmp$i$i$i$i$i$i = ($83|0)==(0|0); | |
| if ($switchtmp$i$i$i$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $86 = __THREW__; __THREW__ = 0; | |
| label = 42; | |
| break; | |
| } | |
| $87 = HEAP32[$83>>2]|0; | |
| $switch$i$i$i$i$i = ($87|0)==(1); | |
| if ($switch$i$i$i$i$i) { | |
| $$sink$in$phi$trans$insert$i$i$i = ((($83)) + 4|0); | |
| $$pre$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i>>2]|0; | |
| $phitmp$i$i$i = ($$pre$i$i$i|0)!=(0); | |
| $phitmp5$i$i$i = $phitmp$i$i$i&1; | |
| $114 = $phitmp5$i$i$i; | |
| } else { | |
| $88 = $83; | |
| $89 = $88; | |
| HEAP32[$89>>2] = 1; | |
| $90 = (($88) + 4)|0; | |
| $91 = $90; | |
| HEAP32[$91>>2] = 0; | |
| $114 = 0; | |
| } | |
| $92 = HEAP8[(6872)>>0]|0; | |
| $switch$i$i135$i$i = ($92<<24>>24)==(0); | |
| $93 = ((($7)) + 4|0); | |
| $94 = $80; | |
| $95 = (_getenv(($94|0))|0); | |
| $96 = ($95|0)==(0|0); | |
| L63: do { | |
| if ($96) { | |
| ;HEAP32[$93>>2]=0|0;HEAP32[$93+4>>2]=0|0;HEAP32[$93+8>>2]=0|0; | |
| } else { | |
| $134 = (_strlen($95)|0); | |
| $135 = ($134|0)==(-1); | |
| L66: do { | |
| if ($135) { | |
| __THREW__ = 0; | |
| invoke_vii(76,-1,0); | |
| $136 = __THREW__; __THREW__ = 0; | |
| label = 46; | |
| } else { | |
| $137 = ($134|0)<(0); | |
| if ($137) { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1444|0)); | |
| $138 = __THREW__; __THREW__ = 0; | |
| label = 46; | |
| break; | |
| } | |
| $139 = ($134|0)==(0); | |
| do { | |
| if ($139) { | |
| $ptr$0$i$i$i$i$i$i = (1); | |
| } else { | |
| $140 = (_malloc($134)|0); | |
| $141 = ($140|0)==(0|0); | |
| if (!($141)) { | |
| $ptr$0$i$i$i$i$i$i = $140; | |
| break; | |
| } | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $142 = __THREW__; __THREW__ = 0; | |
| label = 46; | |
| break L66; | |
| } | |
| } while(0); | |
| $143 = $ptr$0$i$i$i$i$i$i; | |
| HEAP32[$vector$i$i$i$i>>2] = $143; | |
| $144 = ((($vector$i$i$i$i)) + 4|0); | |
| HEAP32[$144>>2] = $134; | |
| $145 = ((($vector$i$i$i$i)) + 8|0); | |
| HEAP32[$145>>2] = 0; | |
| __THREW__ = 0; | |
| invoke_vii(77,($vector$i$i$i$i|0),($134|0)); | |
| $146 = __THREW__; __THREW__ = 0; | |
| $147 = $146&1; | |
| if (!($147)) { | |
| if (!($139)) { | |
| $$pre$i$i$i$i$i = HEAP32[$145>>2]|0; | |
| $148 = HEAP32[$vector$i$i$i$i>>2]|0; | |
| $scevgep$i$i$i$i = (($148) + ($$pre$i$i$i$i$i)|0); | |
| _memcpy(($scevgep$i$i$i$i|0),($95|0),($134|0))|0; | |
| $149 = (($$pre$i$i$i$i$i) + ($134))|0; | |
| HEAP32[$145>>2] = $149; | |
| } | |
| ;HEAP32[$4>>2]=HEAP32[$vector$i$i$i$i>>2]|0;HEAP32[$4+4>>2]=HEAP32[$vector$i$i$i$i+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$vector$i$i$i$i+8>>2]|0; | |
| ;HEAP32[$93>>2]=HEAP32[$4>>2]|0;HEAP32[$93+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$93+8>>2]=HEAP32[$4+8>>2]|0; | |
| break L63; | |
| } | |
| $150 = ___cxa_find_matching_catch_2()|0; | |
| $151 = tempRet0; | |
| $152 = HEAP32[$144>>2]|0; | |
| $switch$split392D = ($152|0)<(488447261); | |
| if ($switch$split392D) { | |
| switch ($152|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 78; | |
| } | |
| } | |
| } else { | |
| switch ($152|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 78; | |
| } | |
| } | |
| } | |
| if ((label|0) == 78) { | |
| $153 = HEAP32[$vector$i$i$i$i>>2]|0; | |
| _free($153); | |
| } | |
| $eh$lpad$body44$i$i$index2Z2D = $151;$eh$lpad$body44$i$i$indexZ2D = $150; | |
| } | |
| } while(0); | |
| if ((label|0) == 46) { | |
| $112 = ___cxa_find_matching_catch_2()|0; | |
| $113 = tempRet0; | |
| $eh$lpad$body44$i$i$index2Z2D = $113;$eh$lpad$body44$i$i$indexZ2D = $112; | |
| } | |
| $switch139$i$i = ($92<<24>>24)==(1); | |
| $115 = ($114<<24>>24)==(0); | |
| if ($switch139$i$i) { | |
| do { | |
| if ($115) { | |
| __THREW__ = 0; | |
| $125 = (invoke_i(63)|0); | |
| $126 = __THREW__; __THREW__ = 0; | |
| $127 = $126&1; | |
| if ($127) { | |
| label = 212; | |
| break L22; | |
| } | |
| $switchtmp$i$i$i97$i$i = ($125|0)==(0|0); | |
| if ($switchtmp$i$i$i97$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $128 = __THREW__; __THREW__ = 0; | |
| label = 212; | |
| break L22; | |
| } | |
| $129 = HEAP32[$125>>2]|0; | |
| $switch$i$i100$i$i = ($129|0)==(1); | |
| if (!($switch$i$i100$i$i)) { | |
| $130 = $125; | |
| $131 = $130; | |
| HEAP32[$131>>2] = 1; | |
| $132 = (($130) + 4)|0; | |
| $133 = $132; | |
| HEAP32[$133>>2] = 0; | |
| break; | |
| } | |
| $$sink110$in$phi$trans$insert$i$i = ((($125)) + 4|0); | |
| $$pre$i$i = HEAP32[$$sink110$in$phi$trans$insert$i$i>>2]|0; | |
| $phitmp$i$i = ($$pre$i$i|0)==(0); | |
| if ($phitmp$i$i) { | |
| break; | |
| } | |
| HEAP8[(6872)>>0] = 1; | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((6848)|0))|0); | |
| $$sroa$020$0$i$i = $eh$lpad$body44$i$i$indexZ2D;$$sroa$8$0$i$i = $eh$lpad$body44$i$i$index2Z2D; | |
| break L54; | |
| } else { | |
| do { | |
| if ($115) { | |
| __THREW__ = 0; | |
| $116 = (invoke_i(63)|0); | |
| $117 = __THREW__; __THREW__ = 0; | |
| $118 = $117&1; | |
| if ($118) { | |
| label = 212; | |
| break L22; | |
| } | |
| $switchtmp$i$i$i83$i$i = ($116|0)==(0|0); | |
| if ($switchtmp$i$i$i83$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $119 = __THREW__; __THREW__ = 0; | |
| label = 212; | |
| break L22; | |
| } | |
| $120 = HEAP32[$116>>2]|0; | |
| $switch$i$i86$i$i = ($120|0)==(1); | |
| if (!($switch$i$i86$i$i)) { | |
| $121 = $116; | |
| $122 = $121; | |
| HEAP32[$122>>2] = 1; | |
| $123 = (($121) + 4)|0; | |
| $124 = $123; | |
| HEAP32[$124>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i$i = ((($116)) + 4|0); | |
| $$pre115$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i>>2]|0; | |
| $phitmp132$i$i = ($$pre115$i$i|0)==(0); | |
| if ($phitmp132$i$i) { | |
| break; | |
| } | |
| HEAP8[(6872)>>0] = 1; | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((6848)|0))|0); | |
| $$sroa$020$0$i$i = $eh$lpad$body44$i$i$indexZ2D;$$sroa$8$0$i$i = $eh$lpad$body44$i$i$index2Z2D; | |
| break L54; | |
| } | |
| } | |
| } while(0); | |
| HEAP32[$7>>2] = 0; | |
| $154 = ($114<<24>>24)==(0); | |
| if ($switch$i$i135$i$i) { | |
| do { | |
| if ($154) { | |
| __THREW__ = 0; | |
| $155 = (invoke_i(63)|0); | |
| $156 = __THREW__; __THREW__ = 0; | |
| $157 = $156&1; | |
| if ($157) { | |
| label = 212; | |
| break L22; | |
| } | |
| $switchtmp$i$i$i$i$i = ($155|0)==(0|0); | |
| if ($switchtmp$i$i$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $158 = __THREW__; __THREW__ = 0; | |
| label = 212; | |
| break L22; | |
| } | |
| $159 = HEAP32[$155>>2]|0; | |
| $switch$i$i$i$i = ($159|0)==(1); | |
| if (!($switch$i$i$i$i)) { | |
| $160 = $155; | |
| $161 = $160; | |
| HEAP32[$161>>2] = 1; | |
| $162 = (($160) + 4)|0; | |
| $163 = $162; | |
| HEAP32[$163>>2] = 0; | |
| break; | |
| } | |
| $$sink111$in$phi$trans$insert$i$i = ((($155)) + 4|0); | |
| $$pre119$i$i = HEAP32[$$sink111$in$phi$trans$insert$i$i>>2]|0; | |
| $phitmp134$i$i = ($$pre119$i$i|0)==(0); | |
| if ($phitmp134$i$i) { | |
| break; | |
| } | |
| HEAP8[(6872)>>0] = 1; | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((6848)|0))|0); | |
| } else { | |
| do { | |
| if ($154) { | |
| __THREW__ = 0; | |
| $164 = (invoke_i(63)|0); | |
| $165 = __THREW__; __THREW__ = 0; | |
| $166 = $165&1; | |
| if ($166) { | |
| label = 212; | |
| break L22; | |
| } | |
| $switchtmp$i$i$i69$i$i = ($164|0)==(0|0); | |
| if ($switchtmp$i$i$i69$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $167 = __THREW__; __THREW__ = 0; | |
| label = 212; | |
| break L22; | |
| } | |
| $168 = HEAP32[$164>>2]|0; | |
| $switch$i$i72$i$i = ($168|0)==(1); | |
| if (!($switch$i$i72$i$i)) { | |
| $169 = $164; | |
| $170 = $169; | |
| HEAP32[$170>>2] = 1; | |
| $171 = (($169) + 4)|0; | |
| $172 = $171; | |
| HEAP32[$172>>2] = 0; | |
| break; | |
| } | |
| $$sink112$in$phi$trans$insert$i$i = ((($164)) + 4|0); | |
| $$pre117$i$i = HEAP32[$$sink112$in$phi$trans$insert$i$i>>2]|0; | |
| $phitmp133$i$i = ($$pre117$i$i|0)==(0); | |
| if ($phitmp133$i$i) { | |
| break; | |
| } | |
| HEAP8[(6872)>>0] = 1; | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((6848)|0))|0); | |
| } | |
| $173 = $80; | |
| $174 = ($173|0)==((488447261)|0); | |
| $175 = ($82|0)==(0); | |
| $or$cond113$i$i = $174 | $175; | |
| if (!($or$cond113$i$i)) { | |
| _free($173); | |
| $$pre41 = HEAP32[$7>>2]|0; | |
| $switch$i$i2 = ($$pre41|0)==(1); | |
| if ($switch$i$i2) { | |
| break L36; | |
| } | |
| } | |
| $224 = ((($7)) + 4|0); | |
| $225 = HEAP32[$224>>2]|0; | |
| $226 = ((($7)) + 8|0); | |
| $227 = HEAP32[$226>>2]|0; | |
| $switchtmp$i123$i = ($225|0)==(0|0); | |
| $$$i124$i = $switchtmp$i123$i ? 1 : 2; | |
| L146: do { | |
| if (!($switchtmp$i123$i)) { | |
| $switch$split422D = ($227|0)<(488447261); | |
| if ($switch$split422D) { | |
| switch ($227|0) { | |
| case 0: { | |
| break L146; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } else { | |
| switch ($227|0) { | |
| case 488447261: { | |
| break L146; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } | |
| _free($225); | |
| } | |
| } while(0); | |
| HEAP32[1786] = $$$i124$i; | |
| $not$switchtmp$i123$i = $switchtmp$i123$i ^ 1; | |
| $60 = $not$switchtmp$i123$i; | |
| break L30; | |
| } | |
| } while(0); | |
| if ((label|0) == 42) { | |
| $107 = ___cxa_find_matching_catch_2()|0; | |
| $108 = tempRet0; | |
| $$sroa$020$0$i$i = $107;$$sroa$8$0$i$i = $108; | |
| } | |
| $109 = $80; | |
| $110 = ($109|0)==((488447261)|0); | |
| $111 = ($82|0)==(0); | |
| $or$cond$i$i = $110 | $111; | |
| if (!($or$cond$i$i)) { | |
| _free($109); | |
| } | |
| $eh$lpad$body12$index16Z2D = $$sroa$8$0$i$i;$eh$lpad$body12$indexZ2D = $$sroa$020$0$i$i; | |
| break L22; | |
| } | |
| } while(0); | |
| $176 = ((($7)) + 4|0); | |
| $177 = $176; | |
| $178 = $177; | |
| $179 = HEAP32[$178>>2]|0; | |
| $180 = (($177) + 4)|0; | |
| $181 = $180; | |
| $182 = HEAP32[$181>>2]|0; | |
| $183 = $arg$i$i; | |
| $184 = $183; | |
| HEAP32[$184>>2] = $179; | |
| $185 = (($183) + 4)|0; | |
| $186 = $185; | |
| HEAP32[$186>>2] = $182; | |
| $187 = $176; | |
| $188 = $187; | |
| HEAP32[$188>>2] = 488447261; | |
| $189 = (($187) + 4)|0; | |
| $190 = $189; | |
| HEAP32[$190>>2] = 488447261; | |
| $191 = ((($6)) + 4|0); | |
| HEAP32[$191>>2] = 78; | |
| HEAP32[$6>>2] = $key$i$i$i; | |
| $192 = ((($6)) + 8|0); | |
| $193 = ((($6)) + 12|0); | |
| HEAP32[$193>>2] = 52; | |
| HEAP32[$192>>2] = $arg$i$i; | |
| HEAP32[$5>>2] = 556; | |
| $194 = ((($5)) + 4|0); | |
| HEAP32[$194>>2] = 2; | |
| $195 = ((($5)) + 8|0); | |
| $196 = $195; | |
| $197 = $196; | |
| HEAP32[$197>>2] = 0; | |
| $198 = (($196) + 4)|0; | |
| $199 = $198; | |
| HEAP32[$199>>2] = 0; | |
| $200 = ((($5)) + 16|0); | |
| HEAP32[$200>>2] = $6; | |
| $201 = ((($5)) + 20|0); | |
| HEAP32[$201>>2] = 2; | |
| __THREW__ = 0; | |
| invoke_vii(53,($5|0),(572|0)); | |
| $202 = __THREW__; __THREW__ = 0; | |
| $203 = $202&1; | |
| if (!($203)) { | |
| // unreachable; | |
| } | |
| $204 = ___cxa_find_matching_catch_2()|0; | |
| $205 = tempRet0; | |
| $206 = HEAP32[$arg$i$i>>2]|0; | |
| $cond$i$i$i19$i$i = ($206|0)==(1); | |
| L163: do { | |
| if ($cond$i$i$i19$i$i) { | |
| $207 = ((($arg$i$i)) + 4|0); | |
| $208 = HEAP32[$207>>2]|0; | |
| $209 = ($208|0)==((488447261)|0); | |
| if ($209) { | |
| label = 110; | |
| } else { | |
| $210 = ((($208)) + 4|0); | |
| $211 = HEAP32[$210>>2]|0; | |
| $212 = ($211|0)==((488447261)|0); | |
| do { | |
| if (!($212)) { | |
| $213 = ((($208)) + 8|0); | |
| $214 = HEAP32[$213>>2]|0; | |
| $215 = HEAP32[$214>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vi($215|0,($211|0)); | |
| $216 = __THREW__; __THREW__ = 0; | |
| $217 = $216&1; | |
| if ($217) { | |
| $222 = ___cxa_find_matching_catch_2()|0; | |
| $223 = tempRet0; | |
| $eh$lpad$body$i$i$index7Z2D = $223;$eh$lpad$body$i$i$indexZ2D = $222; | |
| break L163; | |
| } | |
| $218 = HEAP32[$213>>2]|0; | |
| $219 = ((($218)) + 4|0); | |
| $220 = HEAP32[$219>>2]|0; | |
| $221 = ($220|0)==(0); | |
| if ($221) { | |
| break; | |
| } | |
| _free($211); | |
| } | |
| } while(0); | |
| _free($208); | |
| label = 110; | |
| } | |
| } else { | |
| label = 110; | |
| } | |
| } while(0); | |
| if ((label|0) == 110) { | |
| $eh$lpad$body$i$i$index7Z2D = $205;$eh$lpad$body$i$i$indexZ2D = $204; | |
| } | |
| $eh$lpad$body12$index16Z2D = $eh$lpad$body$i$i$index7Z2D;$eh$lpad$body12$indexZ2D = $eh$lpad$body$i$i$indexZ2D; | |
| break L22; | |
| } | |
| } while(0); | |
| $59 = $60&1; | |
| HEAP8[$log_backtrace$i>>0] = $59; | |
| $61 = $file$i; | |
| $62 = $61; | |
| HEAP32[$62>>2] = $12; | |
| $63 = (($61) + 4)|0; | |
| $64 = $63; | |
| HEAP32[$64>>2] = $14; | |
| HEAP32[$line$i>>2] = $16; | |
| $65 = ((($1)) + 12|0); | |
| $66 = HEAP32[$65>>2]|0; | |
| __THREW__ = 0; | |
| $67 = (invoke_ii($66|0,($0|0))|0); | |
| $68 = tempRet0; | |
| $69 = __THREW__; __THREW__ = 0; | |
| $70 = $69&1; | |
| if ($70) { | |
| label = 212; | |
| } else { | |
| $71 = ($67|0)==(2026980809); | |
| $72 = ($68|0)==(2049436277); | |
| $73 = $71 & $72; | |
| do { | |
| if ($73) { | |
| $228 = $0; | |
| $229 = $228; | |
| $230 = HEAP32[$229>>2]|0; | |
| $231 = (($228) + 4)|0; | |
| $232 = $231; | |
| $233 = HEAP32[$232>>2]|0; | |
| $234 = $msg$i; | |
| $235 = $234; | |
| HEAP32[$235>>2] = $230; | |
| $236 = (($234) + 4)|0; | |
| $237 = $236; | |
| HEAP32[$237>>2] = $233; | |
| } else { | |
| $238 = HEAP32[$65>>2]|0; | |
| __THREW__ = 0; | |
| $239 = (invoke_ii($238|0,($0|0))|0); | |
| $240 = tempRet0; | |
| $241 = __THREW__; __THREW__ = 0; | |
| $242 = $241&1; | |
| if ($242) { | |
| label = 212; | |
| break L22; | |
| } | |
| $243 = ($239|0)==(1609885971); | |
| $244 = ($240|0)==(-312767636); | |
| $245 = $243 & $244; | |
| if ($245) { | |
| $246 = HEAP32[$0>>2]|0; | |
| $247 = ((($0)) + 8|0); | |
| $248 = HEAP32[$247>>2]|0; | |
| HEAP32[$msg$i>>2] = $246; | |
| $249 = ((($msg$i)) + 4|0); | |
| HEAP32[$249>>2] = $248; | |
| break; | |
| } else { | |
| $250 = 160; | |
| $251 = $250; | |
| $252 = HEAP32[$251>>2]|0; | |
| $253 = (($250) + 4)|0; | |
| $254 = $253; | |
| $255 = HEAP32[$254>>2]|0; | |
| $256 = $msg$i; | |
| $257 = $256; | |
| HEAP32[$257>>2] = $252; | |
| $258 = (($256) + 4)|0; | |
| $259 = $258; | |
| HEAP32[$259>>2] = $255; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| HEAP8[$err$i>>0] = 1; | |
| __THREW__ = 0; | |
| $260 = (invoke_i(56)|0); | |
| $261 = __THREW__; __THREW__ = 0; | |
| $262 = $261&1; | |
| if ($262) { | |
| label = 212; | |
| } else { | |
| $switchtmp$i$i1$i = ($260|0)==(0|0); | |
| do { | |
| if ($switchtmp$i$i1$i) { | |
| HEAP32[$thread$i>>2] = 0; | |
| $$sroa$0$0$i = 0;$$sroa$7$0$i = 0;$307 = 0;$465 = $name$i;$switchtmp$i$i38 = 1; | |
| } else { | |
| __THREW__ = 0; | |
| $263 = (invoke_i(56)|0); | |
| $264 = __THREW__; __THREW__ = 0; | |
| $265 = $264&1; | |
| if ($265) { | |
| label = 212; | |
| break L22; | |
| } | |
| $switchtmp$i$i$i$i = ($263|0)==(0|0); | |
| if ($switchtmp$i$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $266 = __THREW__; __THREW__ = 0; | |
| label = 212; | |
| break L22; | |
| } | |
| $267 = HEAP32[$263>>2]|0; | |
| $switch$i$i$i = ($267|0)==(1); | |
| if ($switch$i$i$i) { | |
| $268 = ((($263)) + 4|0); | |
| $$0$i$i$i = $268; | |
| } else { | |
| __THREW__ = 0; | |
| $269 = (invoke_ii(58,($263|0))|0); | |
| $270 = __THREW__; __THREW__ = 0; | |
| $271 = $270&1; | |
| if ($271) { | |
| label = 212; | |
| break L22; | |
| } else { | |
| $$0$i$i$i = $269; | |
| } | |
| } | |
| $272 = HEAP32[$$0$i$i$i>>2]|0; | |
| $cond$i$i$i$i$i2$i = ($272|0)==(-1); | |
| if ($cond$i$i$i$i$i2$i) { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1508|0)); | |
| $273 = __THREW__; __THREW__ = 0; | |
| label = 212; | |
| break L22; | |
| } | |
| $274 = ((($$0$i$i$i)) + 4|0); | |
| $275 = ((($$0$i$i$i)) + 12|0); | |
| $276 = HEAP32[$275>>2]|0; | |
| $277 = ($276|0)==(0|0); | |
| do { | |
| if ($277) { | |
| ;HEAP32[$arg$i$i$i$i$i>>2]=0|0;HEAP32[$arg$i$i$i$i$i+4>>2]=0|0;HEAP32[$arg$i$i$i$i$i+8>>2]=0|0; | |
| __THREW__ = 0; | |
| $278 = (invoke_ii(55,($arg$i$i$i$i$i|0))|0); | |
| $279 = __THREW__; __THREW__ = 0; | |
| $280 = $279&1; | |
| if ($280) { | |
| label = 212; | |
| break L22; | |
| } | |
| $281 = HEAP32[$$0$i$i$i>>2]|0; | |
| $cond$i$i11$i$i$i$i = ($281|0)==(0); | |
| if (!($cond$i$i11$i$i$i$i)) { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1528|0)); | |
| $282 = __THREW__; __THREW__ = 0; | |
| label = 212; | |
| break L22; | |
| } | |
| HEAP32[$$0$i$i$i>>2] = -1; | |
| $283 = HEAP32[$275>>2]|0; | |
| $switchtmp$i10$i$i$i$i = ($283|0)==(0|0); | |
| do { | |
| if (!($switchtmp$i10$i$i$i$i)) { | |
| $284 = ((($$0$i$i$i)) + 12|0); | |
| $285 = ($283|0)==((488447261)|0); | |
| if ($285) { | |
| break; | |
| } | |
| $286 = HEAP32[$283>>2]|0;HEAP32[$283>>2] = (($286-1)|0); | |
| $287 = ($286|0)==(1); | |
| if (!($287)) { | |
| break; | |
| } | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($284); | |
| } | |
| } while(0); | |
| $289 = $274; | |
| $290 = $289; | |
| HEAP32[$290>>2] = 0; | |
| $291 = (($289) + 4)|0; | |
| $292 = $291; | |
| HEAP32[$292>>2] = 0; | |
| $293 = ((($$0$i$i$i)) + 12|0); | |
| HEAP32[$293>>2] = $278; | |
| $294 = $278; | |
| HEAP32[$$0$i$i$i>>2] = -1; | |
| $switchtmp$i4$i$i$i$i = ($278|0)==(0); | |
| if (!($switchtmp$i4$i$i$i$i)) { | |
| $299 = $294; | |
| break; | |
| } | |
| __THREW__ = 0; | |
| invoke_vi(59,(1488|0)); | |
| $295 = __THREW__; __THREW__ = 0; | |
| $296 = ___cxa_find_matching_catch_2()|0; | |
| $297 = tempRet0; | |
| HEAP32[$$0$i$i$i>>2] = 0; | |
| $eh$lpad$body12$index16Z2D = $297;$eh$lpad$body12$indexZ2D = $296; | |
| break L22; | |
| } else { | |
| $cond$i$i5$i$i$i$i = ($272|0)==(0); | |
| if ($cond$i$i5$i$i$i$i) { | |
| HEAP32[$$0$i$i$i>>2] = -1; | |
| $299 = $276; | |
| break; | |
| } else { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1528|0)); | |
| $288 = __THREW__; __THREW__ = 0; | |
| label = 212; | |
| break L22; | |
| } | |
| } | |
| } while(0); | |
| $298 = HEAP32[$299>>2]|0;HEAP32[$299>>2] = (($298+1)|0); | |
| $300 = ($298|0)<(0); | |
| if ($300) { | |
| _llvm_trap(); | |
| // unreachable; | |
| } | |
| $301 = $299; | |
| HEAP32[$$0$i$i$i>>2] = 0; | |
| HEAP32[$thread$i>>2] = $301; | |
| $switchtmp$i$i = ($299|0)==(0|0); | |
| if ($switchtmp$i$i) { | |
| $$sroa$0$0$i = 0;$$sroa$7$0$i = 0;$307 = $299;$465 = $name$i;$switchtmp$i$i38 = 1; | |
| break; | |
| } | |
| $302 = ((($299)) + 8|0); | |
| $303 = HEAP32[$302>>2]|0; | |
| $switchtmp$i1$i$i$i$i = ($303|0)==(0|0); | |
| if ($switchtmp$i1$i$i$i$i) { | |
| $$sroa$0$0$i = 0;$$sroa$7$0$i = 0;$307 = $299;$465 = $name$i;$switchtmp$i$i38 = 0; | |
| break; | |
| } | |
| $304 = $303; | |
| $305 = ((($299)) + 16|0); | |
| $306 = HEAP32[$305>>2]|0; | |
| $$sroa$0$0$i = $304;$$sroa$7$0$i = $306;$307 = $299;$465 = $name$i;$switchtmp$i$i38 = 0; | |
| } | |
| } while(0); | |
| $311 = $$sroa$0$0$i; | |
| $switchtmp$i56$i = ($$sroa$0$0$i|0)==(0); | |
| $sret_slot$sroa$0$0$i$i = $switchtmp$i56$i ? 2793 : $311; | |
| $sret_slot$sroa$3$0$i$i = $switchtmp$i56$i ? 9 : $$sroa$7$0$i; | |
| HEAP32[$name$i>>2] = $sret_slot$sroa$0$0$i$i; | |
| $312 = ((($name$i)) + 4|0); | |
| HEAP32[$312>>2] = $sret_slot$sroa$3$0$i$i; | |
| HEAP32[$write$i>>2] = $name$i; | |
| $313 = ((($write$i)) + 4|0); | |
| HEAP32[$313>>2] = $msg$i; | |
| $314 = ((($write$i)) + 8|0); | |
| HEAP32[$314>>2] = $file$i; | |
| $315 = ((($write$i)) + 12|0); | |
| HEAP32[$315>>2] = $line$i; | |
| $316 = ((($write$i)) + 16|0); | |
| HEAP32[$316>>2] = $log_backtrace$i; | |
| __THREW__ = 0; | |
| $317 = (invoke_ii(79,(584|0))|0); | |
| $318 = __THREW__; __THREW__ = 0; | |
| $319 = $318&1; | |
| L224: do { | |
| if ($319) { | |
| label = 165; | |
| } else { | |
| $switchtmp$i$i95$i = ($317|0)==(0|0); | |
| if ($switchtmp$i$i95$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $320 = __THREW__; __THREW__ = 0; | |
| label = 165; | |
| break; | |
| } | |
| $321 = HEAP32[$317>>2]|0; | |
| $switch$i97$i = ($321|0)==(1); | |
| do { | |
| if ($switch$i97$i) { | |
| $$pre146$i = ((($317)) + 4|0); | |
| $$pre154$i = HEAP32[$$pre146$i>>2]|0; | |
| $cond$i$i$i$i113$i = ($$pre154$i|0)==(0); | |
| if ($cond$i$i$i$i113$i) { | |
| $$phi$trans$insert42 = ((($317)) + 8|0); | |
| $$pre44 = HEAP32[$$phi$trans$insert42>>2]|0; | |
| $$phi$trans$insert45 = ((($317)) + 12|0); | |
| $$pre47 = HEAP32[$$phi$trans$insert45>>2]|0; | |
| $$pre$phi148157$iZ2D = $$pre146$i;$$pre$phiZ2D = $$phi$trans$insert42;$332 = $$pre44;$334 = $$pre47; | |
| break; | |
| } else { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1528|0)); | |
| $325 = __THREW__; __THREW__ = 0; | |
| label = 165; | |
| break L224; | |
| } | |
| } else { | |
| $322 = ((($317)) + 8|0); | |
| $323 = ((($317)) + 12|0); | |
| HEAP32[$317>>2] = 1; | |
| $324 = ((($317)) + 4|0); | |
| HEAP32[$324>>2] = 0; | |
| HEAP32[$322>>2] = 0; | |
| HEAP32[$323>>2] = 0; | |
| $$pre$phi148157$iZ2D = $324;$$pre$phiZ2D = $322;$332 = 0;$334 = 0; | |
| } | |
| } while(0); | |
| $328 = $$pre$phiZ2D; | |
| $329 = $328; | |
| HEAP32[$329>>2] = 0; | |
| $330 = (($328) + 4)|0; | |
| $331 = $330; | |
| HEAP32[$331>>2] = 0; | |
| HEAP32[$$pre$phi148157$iZ2D>>2] = 0; | |
| HEAP32[$8>>2] = $332; | |
| $333 = ((($8)) + 4|0); | |
| HEAP32[$333>>2] = $334; | |
| $335 = ((($8)) + 8|0); | |
| $336 = HEAP8[$err$i>>0]|0; | |
| $switch$i57$i = ($336<<24>>24)==(1); | |
| $337 = ((($err$i)) + 1|0); | |
| $sret_slot$0$i58$i = $switch$i57$i ? $337 : 0; | |
| HEAP32[$335>>2] = $sret_slot$0$i58$i; | |
| $switch45tmp$i = ($332|0)==(0); | |
| L236: do { | |
| if ($switch45tmp$i) { | |
| $342 = ($sret_slot$0$i58$i|0)==(0|0); | |
| if ($342) { | |
| $429 = 0; | |
| break; | |
| } | |
| __THREW__ = 0; | |
| invoke_viii(80,($write$i|0),($335|0),(168|0)); | |
| $343 = __THREW__; __THREW__ = 0; | |
| $344 = $343&1; | |
| if ($344) { | |
| $427 = ___cxa_find_matching_catch_2()|0; | |
| $428 = tempRet0; | |
| $$pre142$i = HEAP32[$8>>2]|0; | |
| $$sroa$046$3$i = $427;$$sroa$9$3$i = $428;$374 = $$pre142$i; | |
| label = 185; | |
| break; | |
| } else { | |
| $$pre143$i = HEAP32[$8>>2]|0; | |
| $429 = $$pre143$i; | |
| break; | |
| } | |
| } else { | |
| $338 = $334; | |
| $339 = $332; | |
| __THREW__ = 0; | |
| invoke_viii(80,($write$i|0),($339|0),($338|0)); | |
| $340 = __THREW__; __THREW__ = 0; | |
| $341 = $340&1; | |
| L243: do { | |
| if ($341) { | |
| $372 = ___cxa_find_matching_catch_2()|0; | |
| $373 = tempRet0; | |
| $$sroa$046$4$i = $372;$$sroa$9$4$i = $373; | |
| } else { | |
| $345 = HEAP32[$8>>2]|0; | |
| $346 = HEAP32[$333>>2]|0; | |
| $347 = $8; | |
| $348 = $347; | |
| HEAP32[$348>>2] = 488447261; | |
| $349 = (($347) + 4)|0; | |
| $350 = $349; | |
| HEAP32[$350>>2] = 488447261; | |
| $351 = $345; | |
| $352 = $346; | |
| __THREW__ = 0; | |
| $353 = (invoke_ii(79,(584|0))|0); | |
| $354 = __THREW__; __THREW__ = 0; | |
| $355 = $354&1; | |
| L246: do { | |
| if ($355) { | |
| $419 = $351;$421 = $352; | |
| } else { | |
| $switchtmp$i$i$i4 = ($353|0)==(0|0); | |
| if ($switchtmp$i$i$i4) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $356 = __THREW__; __THREW__ = 0; | |
| $419 = $351;$421 = $352; | |
| break; | |
| } | |
| $357 = HEAP32[$353>>2]|0; | |
| $switch$i83$i = ($357|0)==(1); | |
| do { | |
| if ($switch$i83$i) { | |
| $$pre149$i = ((($353)) + 4|0); | |
| $$pre155$i = HEAP32[$$pre149$i>>2]|0; | |
| $cond$i$i1$i$i$i = ($$pre155$i|0)==(0); | |
| if ($cond$i$i1$i$i$i) { | |
| $$pre52 = ((($353)) + 8|0); | |
| $$pre$phi151159$iZ2D = $$pre149$i;$$pre$phi53Z2D = $$pre52;$399 = $345;$402 = $346; | |
| break; | |
| } else { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1528|0)); | |
| $361 = __THREW__; __THREW__ = 0; | |
| $419 = 0;$421 = 0; | |
| break L246; | |
| } | |
| } else { | |
| $358 = ((($353)) + 8|0); | |
| $359 = ((($353)) + 12|0); | |
| HEAP32[$353>>2] = 1; | |
| $360 = ((($353)) + 4|0); | |
| HEAP32[$360>>2] = 0; | |
| HEAP32[$358>>2] = 0; | |
| HEAP32[$359>>2] = 0; | |
| $$pre$phi151159$iZ2D = $360;$$pre$phi53Z2D = $358;$399 = $345;$402 = $346; | |
| } | |
| } while(0); | |
| HEAP32[$$pre$phi151159$iZ2D>>2] = -1; | |
| $362 = HEAP32[$$pre$phi53Z2D>>2]|0; | |
| $magicptr$i$i$i$i = $362; | |
| $switch$split452D = ($magicptr$i$i$i$i|0)<(488447261); | |
| if ($switch$split452D) { | |
| switch ($magicptr$i$i$i$i|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 181; | |
| } | |
| } | |
| } else { | |
| switch ($magicptr$i$i$i$i|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 181; | |
| } | |
| } | |
| } | |
| do { | |
| if ((label|0) == 181) { | |
| $363 = ((($353)) + 12|0); | |
| $364 = HEAP32[$363>>2]|0; | |
| $365 = HEAP32[$364>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vi($365|0,($362|0)); | |
| $366 = __THREW__; __THREW__ = 0; | |
| $367 = $366&1; | |
| if ($367) { | |
| $419 = 0;$421 = 0; | |
| break L246; | |
| } | |
| $368 = HEAP32[$363>>2]|0; | |
| $369 = ((($368)) + 4|0); | |
| $370 = HEAP32[$369>>2]|0; | |
| $371 = ($370|0)==(0); | |
| if ($371) { | |
| break; | |
| } | |
| _free($362); | |
| } | |
| } while(0); | |
| $397 = $$pre$phi53Z2D; | |
| $398 = $397; | |
| HEAP32[$398>>2] = $399; | |
| $400 = (($397) + 4)|0; | |
| $401 = $400; | |
| HEAP32[$401>>2] = $402; | |
| HEAP32[$$pre$phi151159$iZ2D>>2] = 0; | |
| $403 = HEAP32[$8>>2]|0; | |
| $404 = ($403|0)==((488447261)|0); | |
| do { | |
| if (!($404)) { | |
| $405 = HEAP32[$333>>2]|0; | |
| $406 = HEAP32[$405>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vi($406|0,($403|0)); | |
| $407 = __THREW__; __THREW__ = 0; | |
| $408 = $407&1; | |
| if ($408) { | |
| label = 212; | |
| break L22; | |
| } | |
| $409 = HEAP32[$333>>2]|0; | |
| $410 = ((($409)) + 4|0); | |
| $411 = HEAP32[$410>>2]|0; | |
| $412 = ($411|0)==(0); | |
| if ($412) { | |
| break; | |
| } | |
| _free($403); | |
| } | |
| } while(0); | |
| $413 = $8; | |
| $414 = $413; | |
| HEAP32[$414>>2] = 488447261; | |
| $415 = (($413) + 4)|0; | |
| $416 = $415; | |
| HEAP32[$416>>2] = 488447261; | |
| $429 = (488447261); | |
| break L236; | |
| } | |
| } while(0); | |
| $417 = ___cxa_find_matching_catch_2()|0; | |
| $418 = tempRet0; | |
| $magicptr$i66$i = $419; | |
| $switch$split512D = ($magicptr$i66$i|0)<(488447261); | |
| if ($switch$split512D) { | |
| switch ($magicptr$i66$i|0) { | |
| case 0: { | |
| $$sroa$046$4$i = $417;$$sroa$9$4$i = $418; | |
| break L243; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } else { | |
| switch ($magicptr$i66$i|0) { | |
| case 488447261: { | |
| $$sroa$046$4$i = $417;$$sroa$9$4$i = $418; | |
| break L243; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } | |
| $420 = HEAP32[$421>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vi($420|0,($419|0)); | |
| $422 = __THREW__; __THREW__ = 0; | |
| $423 = $422&1; | |
| if ($423) { | |
| label = 212; | |
| break L22; | |
| } | |
| $424 = ((($421)) + 4|0); | |
| $425 = HEAP32[$424>>2]|0; | |
| $426 = ($425|0)==(0); | |
| if ($426) { | |
| $$sroa$046$4$i = $417;$$sroa$9$4$i = $418; | |
| break; | |
| } | |
| _free($419); | |
| $$sroa$046$4$i = $417;$$sroa$9$4$i = $418; | |
| } | |
| } while(0); | |
| $383 = HEAP32[$8>>2]|0; | |
| $384 = ($383|0)==((488447261)|0); | |
| do { | |
| if (!($384)) { | |
| $385 = HEAP32[$333>>2]|0; | |
| $386 = HEAP32[$385>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vi($386|0,($383|0)); | |
| $387 = __THREW__; __THREW__ = 0; | |
| $388 = $387&1; | |
| if ($388) { | |
| label = 212; | |
| break L22; | |
| } | |
| $389 = HEAP32[$333>>2]|0; | |
| $390 = ((($389)) + 4|0); | |
| $391 = HEAP32[$390>>2]|0; | |
| $392 = ($391|0)==(0); | |
| if ($392) { | |
| break; | |
| } | |
| _free($383); | |
| } | |
| } while(0); | |
| $393 = $8; | |
| $394 = $393; | |
| HEAP32[$394>>2] = 488447261; | |
| $395 = (($393) + 4)|0; | |
| $396 = $395; | |
| HEAP32[$396>>2] = 488447261; | |
| $$sroa$046$3$i = $$sroa$046$4$i;$$sroa$9$3$i = $$sroa$9$4$i;$374 = (488447261); | |
| label = 185; | |
| } | |
| } while(0); | |
| if ((label|0) == 185) { | |
| $magicptr$i$i$i = $374; | |
| $switch$split482D = ($magicptr$i$i$i|0)<(488447261); | |
| if ($switch$split482D) { | |
| switch ($magicptr$i$i$i|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 186; | |
| } | |
| } | |
| } else { | |
| switch ($magicptr$i$i$i|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 186; | |
| } | |
| } | |
| } | |
| do { | |
| if ((label|0) == 186) { | |
| $375 = HEAP32[$333>>2]|0; | |
| $376 = HEAP32[$375>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vi($376|0,($374|0)); | |
| $377 = __THREW__; __THREW__ = 0; | |
| $378 = $377&1; | |
| if ($378) { | |
| label = 212; | |
| break L22; | |
| } | |
| $379 = HEAP32[$333>>2]|0; | |
| $380 = ((($379)) + 4|0); | |
| $381 = HEAP32[$380>>2]|0; | |
| $382 = ($381|0)==(0); | |
| if ($382) { | |
| break; | |
| } | |
| _free($374); | |
| } | |
| } while(0); | |
| $$sroa$046$1$i = $$sroa$046$3$i;$$sroa$9$1$i = $$sroa$9$3$i; | |
| break; | |
| } | |
| $magicptr$i$i70$i = $429; | |
| $switch$split542D = ($magicptr$i$i70$i|0)<(488447261); | |
| if ($switch$split542D) { | |
| switch ($magicptr$i$i70$i|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 205; | |
| } | |
| } | |
| } else { | |
| switch ($magicptr$i$i70$i|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 205; | |
| } | |
| } | |
| } | |
| do { | |
| if ((label|0) == 205) { | |
| $430 = HEAP32[$333>>2]|0; | |
| $431 = HEAP32[$430>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vi($431|0,($429|0)); | |
| $432 = __THREW__; __THREW__ = 0; | |
| $433 = $432&1; | |
| if ($433) { | |
| label = 212; | |
| break L22; | |
| } | |
| $434 = HEAP32[$333>>2]|0; | |
| $435 = ((($434)) + 4|0); | |
| $436 = HEAP32[$435>>2]|0; | |
| $437 = ($436|0)==(0); | |
| if ($437) { | |
| break; | |
| } | |
| _free($429); | |
| } | |
| } while(0); | |
| do { | |
| if (!($switchtmp$i$i38)) { | |
| $438 = ($307|0)==((488447261)|0); | |
| if ($438) { | |
| break; | |
| } | |
| $439 = HEAP32[$307>>2]|0;HEAP32[$307>>2] = (($439-1)|0); | |
| $440 = ($439|0)==(1); | |
| if (!($440)) { | |
| break; | |
| } | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($thread$i); | |
| } | |
| } while(0); | |
| (_pthread_rwlock_unlock(((6792)|0))|0); | |
| $444 = ($443>>>0)>(1); | |
| if (!($444)) { | |
| __THREW__ = 0; | |
| invoke_vii(81,($0|0),($1|0)); | |
| $455 = __THREW__; __THREW__ = 0; | |
| $msg$sroa$0$0 = (488447261);$msg$sroa$5$0 = 488447261; | |
| label = 218; | |
| break L1; | |
| } | |
| HEAP32[$10>>2] = 780; | |
| $445 = ((($10)) + 4|0); | |
| HEAP32[$445>>2] = 1; | |
| $446 = ((($10)) + 8|0); | |
| $447 = $446; | |
| $448 = $447; | |
| HEAP32[$448>>2] = 0; | |
| $449 = (($447) + 4)|0; | |
| $450 = $449; | |
| HEAP32[$450>>2] = 0; | |
| $451 = ((($10)) + 16|0); | |
| HEAP32[$451>>2] = $addr_of$i; | |
| $452 = ((($10)) + 20|0); | |
| HEAP32[$452>>2] = 0; | |
| __THREW__ = 0; | |
| invoke_vi(73,($10|0)); | |
| $453 = __THREW__; __THREW__ = 0; | |
| $454 = $453&1; | |
| if ($454) { | |
| $msg$sroa$0$0 = $0;$msg$sroa$5$0 = $11; | |
| label = 218; | |
| break L1; | |
| } | |
| _llvm_trap(); | |
| // unreachable; | |
| } | |
| } while(0); | |
| if ((label|0) == 165) { | |
| $326 = ___cxa_find_matching_catch_2()|0; | |
| $327 = tempRet0; | |
| $$sroa$046$1$i = $326;$$sroa$9$1$i = $327; | |
| } | |
| do { | |
| if (!($switchtmp$i$i38)) { | |
| $308 = ($307|0)==((488447261)|0); | |
| if (!($308)) { | |
| $309 = HEAP32[$307>>2]|0;HEAP32[$307>>2] = (($309-1)|0); | |
| $310 = ($309|0)==(1); | |
| if (!($310)) { | |
| break; | |
| } | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($thread$i); | |
| } | |
| } | |
| } while(0); | |
| $eh$lpad$body12$index16Z2D = $$sroa$9$1$i;$eh$lpad$body12$indexZ2D = $$sroa$046$1$i; | |
| } | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 212) { | |
| $441 = ___cxa_find_matching_catch_2()|0; | |
| $442 = tempRet0; | |
| $eh$lpad$body12$index16Z2D = $442;$eh$lpad$body12$indexZ2D = $441; | |
| } | |
| (_pthread_rwlock_unlock(((6792)|0))|0); | |
| $eh$lpad$body$index25Z2D = $eh$lpad$body12$index16Z2D;$eh$lpad$body$indexZ2D = $eh$lpad$body12$indexZ2D;$msg$sroa$0$1 = $0;$msg$sroa$5$1 = $11; | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 218) { | |
| $456 = ___cxa_find_matching_catch_2()|0; | |
| $457 = tempRet0; | |
| $eh$lpad$body$index25Z2D = $457;$eh$lpad$body$indexZ2D = $456;$msg$sroa$0$1 = $msg$sroa$0$0;$msg$sroa$5$1 = $msg$sroa$5$0; | |
| } | |
| $458 = ($msg$sroa$0$1|0)==((488447261)|0); | |
| if ($458) { | |
| ___resumeException($eh$lpad$body$indexZ2D|0); | |
| // unreachable; | |
| } | |
| $459 = $msg$sroa$5$1; | |
| $460 = HEAP32[$459>>2]|0; | |
| FUNCTION_TABLE_vi[$460 & 127]($msg$sroa$0$1); | |
| $461 = $msg$sroa$5$1; | |
| $462 = ((($461)) + 4|0); | |
| $463 = HEAP32[$462>>2]|0; | |
| $464 = ($463|0)==(0); | |
| if ($464) { | |
| ___resumeException($eh$lpad$body$indexZ2D|0); | |
| // unreachable; | |
| } | |
| _free($msg$sroa$0$1); | |
| ___resumeException($eh$lpad$body$indexZ2D|0); | |
| // unreachable; | |
| } | |
| function __ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E() { | |
| var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i$i = 0, $cond$i3 = 0, $sret_slot$0$i = 0; | |
| var $sret_slot$0$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = HEAP32[126]|0; | |
| $cond$i3 = ($0|0)==(0); | |
| if ($cond$i3) { | |
| $1 = (__ZN10sys_common12thread_local9StaticKey9lazy_init20h7764f75565e4e259beuE(504)|0); | |
| $sret_slot$0$i = $1; | |
| } else { | |
| $sret_slot$0$i = $0; | |
| } | |
| $2 = (_pthread_getspecific(($sret_slot$0$i|0))|0); | |
| $3 = ($2|0)==(0|0); | |
| if (!($3)) { | |
| $4 = ($2|0)==((1)|0); | |
| $5 = ((($2)) + 4|0); | |
| $6 = $4 ? 0 : $5; | |
| $16 = $6; | |
| return ($16|0); | |
| } | |
| $7 = (_malloc(12)|0); | |
| $8 = ($7|0)==(0|0); | |
| if ($8) { | |
| __ZN3oom3oom20hc88b31053092c214PzbE(); | |
| // unreachable; | |
| } | |
| HEAP32[$7>>2] = 504; | |
| $9 = ((($7)) + 4|0); | |
| $10 = $9; | |
| $11 = $10; | |
| HEAP32[$11>>2] = 0; | |
| $12 = (($10) + 4)|0; | |
| $13 = $12; | |
| HEAP32[$13>>2] = 0; | |
| $14 = HEAP32[126]|0; | |
| $cond$i$i = ($14|0)==(0); | |
| if ($cond$i$i) { | |
| $15 = (__ZN10sys_common12thread_local9StaticKey9lazy_init20h7764f75565e4e259beuE(504)|0); | |
| $sret_slot$0$i$i = $15; | |
| } else { | |
| $sret_slot$0$i$i = $14; | |
| } | |
| (_pthread_setspecific(($sret_slot$0$i$i|0),($7|0))|0); | |
| $16 = $9; | |
| return ($16|0); | |
| } | |
| function __ZN6thread5local2os13destroy_value20h9592533782055344067E($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i$i$i = 0, $cond$i$i7$i = 0, $ptr1$sroa$0$0$i = 0, $sret_slot$0$i$i$i = 0; | |
| var $sret_slot$0$i$i9$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = HEAP32[$0>>2]|0; | |
| $2 = HEAP32[$1>>2]|0; | |
| $cond$i$i$i = ($2|0)==(0); | |
| if ($cond$i$i$i) { | |
| $3 = $0; | |
| __THREW__ = 0; | |
| $4 = (invoke_ii(69,($1|0))|0); | |
| $5 = __THREW__; __THREW__ = 0; | |
| $6 = $5&1; | |
| if ($6) { | |
| $ptr1$sroa$0$0$i = $3; | |
| } else { | |
| $sret_slot$0$i$i$i = $4; | |
| label = 3; | |
| } | |
| } else { | |
| $sret_slot$0$i$i$i = $2; | |
| label = 3; | |
| } | |
| if ((label|0) == 3) { | |
| (_pthread_setspecific(($sret_slot$0$i$i$i|0),((1)|0))|0); | |
| $7 = ($0|0)==((488447261)|0); | |
| if (!($7)) { | |
| _free($0); | |
| } | |
| $13 = HEAP32[$1>>2]|0; | |
| $cond$i$i7$i = ($13|0)==(0); | |
| if (!($cond$i$i7$i)) { | |
| $sret_slot$0$i$i9$i = $13; | |
| (_pthread_setspecific(($sret_slot$0$i$i9$i|0),(0|0))|0); | |
| return; | |
| } | |
| __THREW__ = 0; | |
| $14 = (invoke_ii(69,($1|0))|0); | |
| $15 = __THREW__; __THREW__ = 0; | |
| $16 = $15&1; | |
| if ($16) { | |
| $ptr1$sroa$0$0$i = 488447261; | |
| } else { | |
| $sret_slot$0$i$i9$i = $14; | |
| (_pthread_setspecific(($sret_slot$0$i$i9$i|0),(0|0))|0); | |
| return; | |
| } | |
| } | |
| $8 = ___cxa_find_matching_catch_2()|0; | |
| $9 = tempRet0; | |
| $10 = $ptr1$sroa$0$0$i; | |
| $11 = ($10|0)==((488447261)|0); | |
| if ($11) { | |
| ___resumeException($8|0); | |
| // unreachable; | |
| } | |
| $12 = $ptr1$sroa$0$0$i; | |
| _free($12); | |
| ___resumeException($8|0); | |
| // unreachable; | |
| } | |
| function __ZN10sys_common4util10dumb_print20h67f0e8f90c6852e9SquE($args) { | |
| $args = $args|0; | |
| var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arg$i$i = 0; | |
| var $cond$i$i = 0, $cond$i$i$i$i = 0, $stderr$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $stderr$i$i = sp + 40|0; | |
| $arg$i$i = sp + 16|0; | |
| $0 = sp; | |
| $1 = ((($0)) + 4|0); | |
| ;HEAP32[$arg$i$i>>2]=HEAP32[$args>>2]|0;HEAP32[$arg$i$i+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg$i$i+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg$i$i+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg$i$i+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg$i$i+20>>2]=HEAP32[$args+20>>2]|0; | |
| __ZN2io5Write9write_fmt20h7380755752343363050E($1,$stderr$i$i,$arg$i$i); | |
| HEAP32[$0>>2] = 0; | |
| $2 = ((($0)) + 4|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $cond$i$i = ($3|0)==(1); | |
| if (!($cond$i$i)) { | |
| STACKTOP = sp;return; | |
| } | |
| $4 = ((($0)) + 8|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $cond$i$i$i$i = ($5|0)==(1); | |
| if (!($cond$i$i$i$i)) { | |
| STACKTOP = sp;return; | |
| } | |
| $6 = ((($0)) + 12|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = ($7|0)==((488447261)|0); | |
| if ($8) { | |
| STACKTOP = sp;return; | |
| } | |
| $9 = ((($7)) + 4|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==((488447261)|0); | |
| if (!($11)) { | |
| $12 = ((($7)) + 8|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = HEAP32[$13>>2]|0; | |
| FUNCTION_TABLE_vi[$14 & 127]($10); | |
| $15 = HEAP32[$12>>2]|0; | |
| $16 = ((($15)) + 4|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = ($17|0)==(0); | |
| if (!($18)) { | |
| _free($10); | |
| } | |
| } | |
| _free($7); | |
| STACKTOP = sp;return; | |
| } | |
| function __ZN2io5Write9write_fmt20h7380755752343363050E($0,$1,$fmt) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $fmt = $fmt|0; | |
| var $$sink$index = 0, $$sink$index2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; | |
| var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; | |
| var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arg = 0, $cond$i$i = 0, $cond$i$i$i$i = 0, $cond$i$i$i$i10 = 0, $cond$i$i9 = 0, $output = 0, $switch = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $output = sp + 24|0; | |
| $arg = sp; | |
| HEAP32[$output>>2] = $1; | |
| $2 = ((($output)) + 4|0); | |
| ;HEAP32[$2>>2]=HEAP32[6832>>2]|0;HEAP32[$2+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[6832+8>>2]|0; | |
| ;HEAP32[$arg>>2]=HEAP32[$fmt>>2]|0;HEAP32[$arg+4>>2]=HEAP32[$fmt+4>>2]|0;HEAP32[$arg+8>>2]=HEAP32[$fmt+8>>2]|0;HEAP32[$arg+12>>2]=HEAP32[$fmt+12>>2]|0;HEAP32[$arg+16>>2]=HEAP32[$fmt+16>>2]|0;HEAP32[$arg+20>>2]=HEAP32[$fmt+20>>2]|0; | |
| __THREW__ = 0; | |
| $3 = (invoke_iiii(71,($output|0),(96|0),($arg|0))|0); | |
| $4 = __THREW__; __THREW__ = 0; | |
| $5 = $4&1; | |
| L1: do { | |
| if ($5) { | |
| $6 = ___cxa_find_matching_catch_2()|0; | |
| $7 = tempRet0; | |
| $$sink$index = $6;$$sink$index2 = $7; | |
| } else { | |
| $switch = ($3<<24>>24)==(0); | |
| do { | |
| if ($switch) { | |
| ;HEAP32[$0>>2]=HEAP32[6832>>2]|0;HEAP32[$0+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[6832+8>>2]|0; | |
| } else { | |
| $25 = HEAP32[$2>>2]|0; | |
| $26 = ($25|0)==(1); | |
| if ($26) { | |
| ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0; | |
| ;HEAP32[$2>>2]=488447261|0;HEAP32[$2+4>>2]=488447261|0;HEAP32[$2+8>>2]=488447261|0; | |
| break; | |
| } | |
| $29 = ((($0)) + 4|0); | |
| __THREW__ = 0; | |
| invoke_viiii(75,($29|0),16,(2528|0),15); | |
| $30 = __THREW__; __THREW__ = 0; | |
| $31 = $30&1; | |
| if ($31) { | |
| $27 = ___cxa_find_matching_catch_2()|0; | |
| $28 = tempRet0; | |
| $$sink$index = $27;$$sink$index2 = $28; | |
| break L1; | |
| } else { | |
| HEAP32[$0>>2] = 1; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $32 = ((($output)) + 4|0); | |
| $33 = HEAP32[$32>>2]|0; | |
| $cond$i$i9 = ($33|0)==(1); | |
| if (!($cond$i$i9)) { | |
| STACKTOP = sp;return; | |
| } | |
| $34 = ((($output)) + 8|0); | |
| $35 = HEAP32[$34>>2]|0; | |
| $cond$i$i$i$i10 = ($35|0)==(1); | |
| if (!($cond$i$i$i$i10)) { | |
| STACKTOP = sp;return; | |
| } | |
| $36 = ((($output)) + 12|0); | |
| $37 = HEAP32[$36>>2]|0; | |
| $38 = ($37|0)==((488447261)|0); | |
| if ($38) { | |
| STACKTOP = sp;return; | |
| } | |
| $39 = ((($37)) + 4|0); | |
| $40 = HEAP32[$39>>2]|0; | |
| $41 = ($40|0)==((488447261)|0); | |
| if (!($41)) { | |
| $42 = ((($37)) + 8|0); | |
| $43 = HEAP32[$42>>2]|0; | |
| $44 = HEAP32[$43>>2]|0; | |
| FUNCTION_TABLE_vi[$44 & 127]($40); | |
| $45 = HEAP32[$42>>2]|0; | |
| $46 = ((($45)) + 4|0); | |
| $47 = HEAP32[$46>>2]|0; | |
| $48 = ($47|0)==(0); | |
| if (!($48)) { | |
| _free($40); | |
| } | |
| } | |
| _free($37); | |
| STACKTOP = sp;return; | |
| } | |
| } while(0); | |
| $8 = ((($output)) + 4|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $cond$i$i = ($9|0)==(1); | |
| if (!($cond$i$i)) { | |
| ___resumeException($$sink$index|0); | |
| // unreachable; | |
| } | |
| $10 = ((($output)) + 8|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $cond$i$i$i$i = ($11|0)==(1); | |
| if (!($cond$i$i$i$i)) { | |
| ___resumeException($$sink$index|0); | |
| // unreachable; | |
| } | |
| $12 = ((($output)) + 12|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = ($13|0)==((488447261)|0); | |
| if ($14) { | |
| ___resumeException($$sink$index|0); | |
| // unreachable; | |
| } | |
| $15 = ((($13)) + 4|0); | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = ($16|0)==((488447261)|0); | |
| if (!($17)) { | |
| $18 = ((($13)) + 8|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| $20 = HEAP32[$19>>2]|0; | |
| FUNCTION_TABLE_vi[$20 & 127]($16); | |
| $21 = HEAP32[$18>>2]|0; | |
| $22 = ((($21)) + 4|0); | |
| $23 = HEAP32[$22>>2]|0; | |
| $24 = ($23|0)==(0); | |
| if (!($24)) { | |
| _free($16); | |
| } | |
| } | |
| _free($13); | |
| ___resumeException($$sink$index|0); | |
| // unreachable; | |
| } | |
| function __ZN55io__Write__write_fmt__Adaptor_LT_sys__stdio__Stderr_GT_10drop_4384017hded09446f5cd456aE($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i = 0, $cond$i$i$i = 0, label = 0; | |
| var sp = 0; | |
| sp = STACKTOP; | |
| $1 = ((($0)) + 4|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $cond$i = ($2|0)==(1); | |
| if (!($cond$i)) { | |
| return; | |
| } | |
| $3 = ((($0)) + 8|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $cond$i$i$i = ($4|0)==(1); | |
| if (!($cond$i$i$i)) { | |
| return; | |
| } | |
| $5 = ((($0)) + 12|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = ($6|0)==((488447261)|0); | |
| if ($7) { | |
| return; | |
| } | |
| $8 = ((($6)) + 4|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = ($9|0)==((488447261)|0); | |
| if (!($10)) { | |
| $11 = ((($6)) + 8|0); | |
| $12 = HEAP32[$11>>2]|0; | |
| $13 = HEAP32[$12>>2]|0; | |
| FUNCTION_TABLE_vi[$13 & 127]($9); | |
| $14 = HEAP32[$11>>2]|0; | |
| $15 = ((($14)) + 4|0); | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = ($16|0)==(0); | |
| if (!($17)) { | |
| _free($9); | |
| } | |
| } | |
| _free($6); | |
| return; | |
| } | |
| function __ZN2io5Write9write_fmt41Adaptor_LT__u27_a_C__u20_T_GT__fmt__Write9write_str21h11889209272373980980E($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; | |
| var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i$i$i5 = 0; | |
| var $cond$i4 = 0, $sret_slot$sroa$0$015 = 0, $switch = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $3 = sp; | |
| __ZN2io5Write9write_all21h15376866622950179486E($3,$1,$2); | |
| $4 = HEAP32[$3>>2]|0; | |
| $switch = ($4|0)==(1); | |
| if (!($switch)) { | |
| $sret_slot$sroa$0$015 = 0; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$015|0); | |
| } | |
| $5 = ((($3)) + 4|0); | |
| $6 = $5; | |
| $7 = $6; | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = (($6) + 4)|0; | |
| $10 = $9; | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = $5; | |
| $13 = $12; | |
| HEAP32[$13>>2] = 488447261; | |
| $14 = (($12) + 4)|0; | |
| $15 = $14; | |
| HEAP32[$15>>2] = 488447261; | |
| $16 = ((($0)) + 4|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| $cond$i4 = ($17|0)==(1); | |
| if ($cond$i4) { | |
| $18 = ((($0)) + 8|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| $cond$i$i$i5 = ($19|0)==(1); | |
| if ($cond$i$i$i5) { | |
| $20 = ((($0)) + 12|0); | |
| $21 = HEAP32[$20>>2]|0; | |
| $22 = ($21|0)==((488447261)|0); | |
| if (!($22)) { | |
| $23 = ((($21)) + 4|0); | |
| $24 = HEAP32[$23>>2]|0; | |
| $25 = ($24|0)==((488447261)|0); | |
| if (!($25)) { | |
| $26 = ((($21)) + 8|0); | |
| $27 = HEAP32[$26>>2]|0; | |
| $28 = HEAP32[$27>>2]|0; | |
| FUNCTION_TABLE_vi[$28 & 127]($24); | |
| $29 = HEAP32[$26>>2]|0; | |
| $30 = ((($29)) + 4|0); | |
| $31 = HEAP32[$30>>2]|0; | |
| $32 = ($31|0)==(0); | |
| if (!($32)) { | |
| _free($24); | |
| } | |
| } | |
| _free($21); | |
| } | |
| } | |
| } | |
| HEAP32[$16>>2] = 1; | |
| $33 = ((($0)) + 8|0); | |
| $34 = $33; | |
| $35 = $34; | |
| HEAP32[$35>>2] = $8; | |
| $36 = (($34) + 4)|0; | |
| $37 = $36; | |
| HEAP32[$37>>2] = $11; | |
| $38 = $5; | |
| $39 = $38; | |
| HEAP32[$39>>2] = 488447261; | |
| $40 = (($38) + 4)|0; | |
| $41 = $40; | |
| HEAP32[$41>>2] = 488447261; | |
| $sret_slot$sroa$0$015 = 1; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$015|0); | |
| } | |
| function __ZN2io5Write9write_all21h15376866622950179486E($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf$sroa$0$0$ph75 = 0, $buf$sroa$5$0$ph76 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($2|0)==(0); | |
| L1: do { | |
| if (!($3)) { | |
| $buf$sroa$0$0$ph75 = $1;$buf$sroa$5$0$ph76 = $2; | |
| L2: while(1) { | |
| L4: while(1) { | |
| $4 = (_write(2,$buf$sroa$0$0$ph75,$buf$sroa$5$0$ph76)|0); | |
| switch ($4|0) { | |
| case 0: { | |
| label = 8; | |
| break L2; | |
| break; | |
| } | |
| case -1: { | |
| break; | |
| } | |
| default: { | |
| break L4; | |
| } | |
| } | |
| $7 = (___errno_location()|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $cond = ($8|0)==(4); | |
| if (!($cond)) { | |
| label = 10; | |
| break L2; | |
| } | |
| } | |
| $5 = ($buf$sroa$5$0$ph76>>>0)<($4>>>0); | |
| if ($5) { | |
| label = 7; | |
| break; | |
| } | |
| $11 = (($buf$sroa$0$0$ph75) + ($4)|0); | |
| $12 = (($buf$sroa$5$0$ph76) - ($4))|0; | |
| $13 = ($buf$sroa$5$0$ph76|0)==($4|0); | |
| if ($13) { | |
| break L1; | |
| } else { | |
| $buf$sroa$0$0$ph75 = $11;$buf$sroa$5$0$ph76 = $12; | |
| } | |
| } | |
| if ((label|0) == 7) { | |
| __ZN5slice22slice_index_order_fail20h0ea23a39457ab7feuaQE($4,$buf$sroa$5$0$ph76); | |
| // unreachable; | |
| } | |
| else if ((label|0) == 8) { | |
| $6 = ((($0)) + 4|0); | |
| __ZN2io5error5Error3new21h11805183956863188220E($6,14,2500,28); | |
| HEAP32[$0>>2] = 1; | |
| return; | |
| } | |
| else if ((label|0) == 10) { | |
| $9 = ((($0)) + 4|0); | |
| HEAP32[$9>>2] = 0; | |
| $10 = ((($0)) + 8|0); | |
| HEAP32[$10>>2] = $8; | |
| HEAP32[$0>>2] = 1; | |
| return; | |
| } | |
| } | |
| } while(0); | |
| ;HEAP32[$0>>2]=HEAP32[6832>>2]|0;HEAP32[$0+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[6832+8>>2]|0; | |
| return; | |
| } | |
| function __ZN2io5error5Error3new21h11805183956863188220E($0,$1,$2,$3) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| var $$pre$i = 0, $$pre$i$i$i$i$i = 0, $$pre1$i = 0, $$sroa$6$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; | |
| var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; | |
| var $8 = 0, $9 = 0, $ptr$0$i$i$i$i$i$i = 0, $scevgep$i$i$i$i = 0, $switch$split12D = 0, $switch$split2D = 0, $switch$split42D = 0, $vector$i$i$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $vector$i$i$i$i = sp; | |
| $$sroa$6$i = sp + 12|0; | |
| $4 = ($3|0)<(0); | |
| if ($4) { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(1444); | |
| // unreachable; | |
| } | |
| $5 = ($3|0)==(0); | |
| if ($5) { | |
| $ptr$0$i$i$i$i$i$i = (1); | |
| } else { | |
| $6 = (_malloc($3)|0); | |
| $7 = ($6|0)==(0|0); | |
| if ($7) { | |
| __ZN3oom3oom20hc88b31053092c214PzbE(); | |
| // unreachable; | |
| } else { | |
| $ptr$0$i$i$i$i$i$i = $6; | |
| } | |
| } | |
| $8 = $ptr$0$i$i$i$i$i$i; | |
| HEAP32[$vector$i$i$i$i>>2] = $8; | |
| $9 = ((($vector$i$i$i$i)) + 4|0); | |
| HEAP32[$9>>2] = $3; | |
| $10 = ((($vector$i$i$i$i)) + 8|0); | |
| HEAP32[$10>>2] = 0; | |
| __THREW__ = 0; | |
| invoke_vii(77,($vector$i$i$i$i|0),($3|0)); | |
| $11 = __THREW__; __THREW__ = 0; | |
| $12 = $11&1; | |
| if ($12) { | |
| $15 = ___cxa_find_matching_catch_2()|0; | |
| $16 = tempRet0; | |
| $17 = HEAP32[$9>>2]|0; | |
| $switch$split2D = ($17|0)<(488447261); | |
| L10: do { | |
| if ($switch$split2D) { | |
| switch ($17|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L10; | |
| } | |
| } | |
| ___resumeException($15|0); | |
| // unreachable; | |
| } else { | |
| switch ($17|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L10; | |
| } | |
| } | |
| ___resumeException($15|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $18 = HEAP32[$vector$i$i$i$i>>2]|0; | |
| _free($18); | |
| ___resumeException($15|0); | |
| // unreachable; | |
| } | |
| if ($5) { | |
| $$pre$i = HEAP32[$vector$i$i$i$i>>2]|0; | |
| $$pre1$i = HEAP32[$10>>2]|0; | |
| $25 = $$pre$i;$28 = $$pre1$i; | |
| } else { | |
| $$pre$i$i$i$i$i = HEAP32[$10>>2]|0; | |
| $13 = HEAP32[$vector$i$i$i$i>>2]|0; | |
| $scevgep$i$i$i$i = (($13) + ($$pre$i$i$i$i$i)|0); | |
| _memcpy(($scevgep$i$i$i$i|0),($2|0),($3|0))|0; | |
| $14 = (($$pre$i$i$i$i$i) + ($3))|0; | |
| HEAP32[$10>>2] = $14; | |
| $25 = $13;$28 = $14; | |
| } | |
| $19 = HEAP32[$9>>2]|0; | |
| $20 = (_malloc(12)|0); | |
| $21 = ($20|0)==(0|0); | |
| if ($21) { | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $22 = __THREW__; __THREW__ = 0; | |
| $23 = ___cxa_find_matching_catch_2()|0; | |
| $24 = tempRet0; | |
| $switch$split12D = ($19|0)<(488447261); | |
| L24: do { | |
| if ($switch$split12D) { | |
| switch ($19|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L24; | |
| } | |
| } | |
| ___resumeException($23|0); | |
| // unreachable; | |
| } else { | |
| switch ($19|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L24; | |
| } | |
| } | |
| ___resumeException($23|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| _free($25); | |
| ___resumeException($23|0); | |
| // unreachable; | |
| } | |
| HEAP32[$20>>2] = $25; | |
| $26 = ((($20)) + 4|0); | |
| HEAP32[$26>>2] = $19; | |
| $27 = ((($20)) + 8|0); | |
| HEAP32[$27>>2] = $28; | |
| $29 = (_malloc(12)|0); | |
| $30 = ($29|0)==(0|0); | |
| if (!($30)) { | |
| $37 = $20; | |
| HEAP8[$29>>0] = $1; | |
| $38 = ((($29)) + 1|0); | |
| ;HEAP8[$38>>0]=HEAP8[$$sroa$6$i>>0]|0;HEAP8[$38+1>>0]=HEAP8[$$sroa$6$i+1>>0]|0;HEAP8[$38+2>>0]=HEAP8[$$sroa$6$i+2>>0]|0; | |
| $39 = ((($29)) + 4|0); | |
| HEAP32[$39>>2] = $37; | |
| $40 = ((($29)) + 8|0); | |
| HEAP32[$40>>2] = (8); | |
| $41 = ((($0)) + 4|0); | |
| HEAP32[$41>>2] = $29; | |
| HEAP32[$0>>2] = 1; | |
| STACKTOP = sp;return; | |
| } | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $31 = __THREW__; __THREW__ = 0; | |
| $32 = ___cxa_find_matching_catch_2()|0; | |
| $33 = tempRet0; | |
| $34 = ($20|0)==((488447261)|0); | |
| if ($34) { | |
| ___resumeException($32|0); | |
| // unreachable; | |
| } | |
| $35 = HEAP32[$26>>2]|0; | |
| $switch$split42D = ($35|0)<(488447261); | |
| if ($switch$split42D) { | |
| switch ($35|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 20; | |
| } | |
| } | |
| } else { | |
| switch ($35|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 20; | |
| } | |
| } | |
| } | |
| if ((label|0) == 20) { | |
| $36 = HEAP32[$20>>2]|0; | |
| _free($36); | |
| } | |
| _free($20); | |
| ___resumeException($32|0); | |
| // unreachable; | |
| } | |
| function __ZN3fmt5Write10write_char20h8678511755428160911E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$sroa$8$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; | |
| var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; | |
| var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $utf_8 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $utf_8 = sp; | |
| HEAP32[$utf_8>>2] = 0; | |
| $2 = ($1>>>0)<(128); | |
| do { | |
| if ($2) { | |
| $3 = $1&255; | |
| HEAP8[$utf_8>>0] = $3; | |
| $$sroa$8$0 = 1; | |
| } else { | |
| $4 = ($1>>>0)<(2048); | |
| if ($4) { | |
| $5 = $1 >>> 6; | |
| $6 = $5 & 31; | |
| $7 = $6&255; | |
| $8 = $7 | -64; | |
| HEAP8[$utf_8>>0] = $8; | |
| $9 = $1 & 63; | |
| $10 = $9&255; | |
| $11 = $10 | -128; | |
| $12 = ((($utf_8)) + 1|0); | |
| HEAP8[$12>>0] = $11; | |
| $$sroa$8$0 = 2; | |
| break; | |
| } | |
| $13 = ($1>>>0)<(65536); | |
| if ($13) { | |
| $14 = $1 >>> 12; | |
| $15 = $14 & 15; | |
| $16 = $15&255; | |
| $17 = $16 | -32; | |
| HEAP8[$utf_8>>0] = $17; | |
| $18 = $1 >>> 6; | |
| $19 = $18 & 63; | |
| $20 = $19&255; | |
| $21 = $20 | -128; | |
| $22 = ((($utf_8)) + 1|0); | |
| HEAP8[$22>>0] = $21; | |
| $23 = $1 & 63; | |
| $24 = $23&255; | |
| $25 = $24 | -128; | |
| $26 = ((($utf_8)) + 2|0); | |
| HEAP8[$26>>0] = $25; | |
| $$sroa$8$0 = 3; | |
| break; | |
| } else { | |
| $27 = $1 >>> 18; | |
| $28 = $27 & 7; | |
| $29 = $28&255; | |
| $30 = $29 | -16; | |
| HEAP8[$utf_8>>0] = $30; | |
| $31 = $1 >>> 12; | |
| $32 = $31 & 63; | |
| $33 = $32&255; | |
| $34 = $33 | -128; | |
| $35 = ((($utf_8)) + 1|0); | |
| HEAP8[$35>>0] = $34; | |
| $36 = $1 >>> 6; | |
| $37 = $36 & 63; | |
| $38 = $37&255; | |
| $39 = $38 | -128; | |
| $40 = ((($utf_8)) + 2|0); | |
| HEAP8[$40>>0] = $39; | |
| $41 = $1 & 63; | |
| $42 = $41&255; | |
| $43 = $42 | -128; | |
| $44 = ((($utf_8)) + 3|0); | |
| HEAP8[$44>>0] = $43; | |
| $$sroa$8$0 = 4; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $45 = (__ZN2io5Write9write_fmt41Adaptor_LT__u27_a_C__u20_T_GT__fmt__Write9write_str21h11889209272373980980E($0,$utf_8,$$sroa$8$0)|0); | |
| STACKTOP = sp;return ($45|0); | |
| } | |
| function __ZN3fmt5Write9write_fmt19h200145009681796815E($0,$args) { | |
| $0 = $0|0; | |
| $args = $args|0; | |
| var $1 = 0, $2 = 0, $addr_of = 0, $arg = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $addr_of = sp + 24|0; | |
| $arg = sp; | |
| $1 = $0; | |
| HEAP32[$addr_of>>2] = $1; | |
| ;HEAP32[$arg>>2]=HEAP32[$args>>2]|0;HEAP32[$arg+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg+20>>2]=HEAP32[$args+20>>2]|0; | |
| $2 = (__ZN3fmt5write20h7901236a83d456cd7oXE($addr_of,120,$arg)|0); | |
| STACKTOP = sp;return ($2|0); | |
| } | |
| function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_str20h7300152946267042590E($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $3 = 0, $4 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$0>>2]|0; | |
| $4 = (__ZN2io5Write9write_fmt41Adaptor_LT__u27_a_C__u20_T_GT__fmt__Write9write_str21h11889209272373980980E($3,$1,$2)|0); | |
| return ($4|0); | |
| } | |
| function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write10write_char20h7494623943173368362E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, $3 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = (__ZN3fmt5Write10write_char20h8678511755428160911E($2,$1)|0); | |
| return ($3|0); | |
| } | |
| function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_fmt20h9086120238873147086E($0,$args) { | |
| $0 = $0|0; | |
| $args = $args|0; | |
| var $1 = 0, $2 = 0, $addr_of$i = 0, $arg$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $addr_of$i = sp + 24|0; | |
| $arg$i = sp; | |
| $1 = HEAP32[$0>>2]|0; | |
| HEAP32[$addr_of$i>>2] = $1; | |
| ;HEAP32[$arg$i>>2]=HEAP32[$args>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg$i+20>>2]=HEAP32[$args+20>>2]|0; | |
| $2 = (__ZN3fmt5write20h7901236a83d456cd7oXE($addr_of$i,120,$arg$i)|0); | |
| STACKTOP = sp;return ($2|0); | |
| } | |
| function __ZN10sys_common6unwind12begin_unwind20h8284277630150637284E($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = (_malloc(8)|0); | |
| $4 = ($3|0)==(0|0); | |
| if ($4) { | |
| __ZN3oom3oom20hc88b31053092c214PzbE(); | |
| // unreachable; | |
| } else { | |
| HEAP32[$3>>2] = $0; | |
| $5 = ((($3)) + 4|0); | |
| HEAP32[$5>>2] = $1; | |
| __ZN10sys_common6unwind18begin_unwind_inner20hb5c400f399182f09bpuE($3,144,$2); | |
| // unreachable; | |
| } | |
| } | |
| function __ZN3any5T_Any11get_type_id21h10539599530762854953E($0) { | |
| $0 = $0|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| tempRet0 = (2049436277); | |
| return 2026980809; | |
| } | |
| function __ZN3ffi5c_str7CString3new20h5746760787285640165E($0) { | |
| $0 = $0|0; | |
| var $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i$i$i$i$i = 0, $$pre7$i = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; | |
| var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; | |
| var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arg$i = 0, $arg$sroa$0$sroa$0$0$i = 0, $arg$sroa$0$sroa$11$0$i = 0, $eh$lpad$body8$i$index6Z2D = 0; | |
| var $eh$lpad$body8$i$indexZ2D = 0, $scevgep$i$i$i$i = 0, $switch$split142D = 0, $switch$split172D = 0, $switch$split202D = 0, $switch$split2D = 0, $vector$i$i$i$i = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $arg$i = sp + 16|0; | |
| $vector$i$i$i$i = sp; | |
| $1 = (_malloc(14)|0); | |
| $2 = ($1|0)==(0|0); | |
| if ($2) { | |
| __ZN3oom3oom20hc88b31053092c214PzbE(); | |
| // unreachable; | |
| } | |
| $3 = $1; | |
| HEAP32[$vector$i$i$i$i>>2] = $3; | |
| $4 = ((($vector$i$i$i$i)) + 4|0); | |
| HEAP32[$4>>2] = 14; | |
| $5 = ((($vector$i$i$i$i)) + 8|0); | |
| HEAP32[$5>>2] = 0; | |
| __THREW__ = 0; | |
| invoke_vii(77,($vector$i$i$i$i|0),14); | |
| $6 = __THREW__; __THREW__ = 0; | |
| $7 = $6&1; | |
| if ($7) { | |
| $8 = ___cxa_find_matching_catch_2()|0; | |
| $9 = tempRet0; | |
| $10 = HEAP32[$4>>2]|0; | |
| $switch$split2D = ($10|0)<(488447261); | |
| L6: do { | |
| if ($switch$split2D) { | |
| switch ($10|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L6; | |
| } | |
| } | |
| ___resumeException($8|0); | |
| // unreachable; | |
| } else { | |
| switch ($10|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L6; | |
| } | |
| } | |
| ___resumeException($8|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $11 = HEAP32[$vector$i$i$i$i>>2]|0; | |
| _free($11); | |
| ___resumeException($8|0); | |
| // unreachable; | |
| } | |
| $$pre$i$i$i$i$i = HEAP32[$5>>2]|0; | |
| $12 = HEAP32[$vector$i$i$i$i>>2]|0; | |
| $scevgep$i$i$i$i = (($12) + ($$pre$i$i$i$i$i)|0); | |
| dest=$scevgep$i$i$i$i; src=2584; stop=dest+14|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); | |
| $13 = (($$pre$i$i$i$i$i) + 14)|0; | |
| HEAP32[$5>>2] = $13; | |
| $14 = HEAP32[$4>>2]|0; | |
| $15 = (_memchr($12,0,$13)|0); | |
| $16 = ($15|0)==(0|0); | |
| if (!($16)) { | |
| $17 = $15; | |
| $18 = $12; | |
| $19 = (($17) - ($18))|0; | |
| $20 = ((($0)) + 4|0); | |
| HEAP32[$20>>2] = $19; | |
| $21 = ((($0)) + 8|0); | |
| HEAP32[$21>>2] = $12; | |
| $22 = ((($0)) + 12|0); | |
| HEAP32[$22>>2] = $14; | |
| $23 = ((($0)) + 16|0); | |
| HEAP32[$23>>2] = $13; | |
| $$sink = 1; | |
| HEAP32[$0>>2] = $$sink; | |
| STACKTOP = sp;return; | |
| } | |
| $24 = ((($0)) + 4|0); | |
| HEAP32[$arg$i>>2] = $12; | |
| $25 = ((($arg$i)) + 4|0); | |
| HEAP32[$25>>2] = $14; | |
| $26 = ((($arg$i)) + 8|0); | |
| HEAP32[$26>>2] = $13; | |
| $27 = ($13|0)==($14|0); | |
| do { | |
| if ($27) { | |
| __THREW__ = 0; | |
| invoke_vi(82,($arg$i|0)); | |
| $28 = __THREW__; __THREW__ = 0; | |
| $29 = $28&1; | |
| if (!($29)) { | |
| $$pre$i$i = HEAP32[$26>>2]|0; | |
| $$pre$i = HEAP32[$25>>2]|0; | |
| $$pre = HEAP32[$arg$i>>2]|0; | |
| $31 = $$pre;$32 = $$pre$i$i;$35 = $$pre$i; | |
| break; | |
| } | |
| $46 = ___cxa_find_matching_catch_2()|0; | |
| $47 = tempRet0; | |
| $$pre7$i = HEAP32[$25>>2]|0; | |
| $switch$split202D = ($$pre7$i|0)<(488447261); | |
| L23: do { | |
| if ($switch$split202D) { | |
| switch ($$pre7$i|0) { | |
| case 0: { | |
| $eh$lpad$body8$i$index6Z2D = $47;$eh$lpad$body8$i$indexZ2D = $46; | |
| break; | |
| } | |
| default: { | |
| break L23; | |
| } | |
| } | |
| ___resumeException($eh$lpad$body8$i$indexZ2D|0); | |
| // unreachable; | |
| } else { | |
| switch ($$pre7$i|0) { | |
| case 488447261: { | |
| $eh$lpad$body8$i$index6Z2D = $47;$eh$lpad$body8$i$indexZ2D = $46; | |
| break; | |
| } | |
| default: { | |
| break L23; | |
| } | |
| } | |
| ___resumeException($eh$lpad$body8$i$indexZ2D|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $48 = HEAP32[$arg$i>>2]|0; | |
| _free($48); | |
| $eh$lpad$body8$i$index6Z2D = $47;$eh$lpad$body8$i$indexZ2D = $46; | |
| ___resumeException($eh$lpad$body8$i$indexZ2D|0); | |
| // unreachable; | |
| } else { | |
| $31 = $12;$32 = $13;$35 = $14; | |
| } | |
| } while(0); | |
| $30 = (($31) + ($32)|0); | |
| HEAP8[$30>>0] = 0; | |
| $33 = (($32) + 1)|0; | |
| $34 = $31; | |
| ;HEAP32[$arg$i>>2]=488447261|0;HEAP32[$arg$i+4>>2]=488447261|0;HEAP32[$arg$i+8>>2]=488447261|0; | |
| $36 = ($35>>>0)<($33>>>0); | |
| L31: do { | |
| if ($36) { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1424|0)); | |
| $37 = __THREW__; __THREW__ = 0; | |
| } else { | |
| $38 = ($33|0)==(0); | |
| L34: do { | |
| if ($38) { | |
| $switch$split142D = ($35|0)<(488447261); | |
| if ($switch$split142D) { | |
| switch ($35|0) { | |
| case 0: { | |
| $arg$sroa$0$sroa$0$0$i = 1;$arg$sroa$0$sroa$11$0$i = 0; | |
| break L34; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } else { | |
| switch ($35|0) { | |
| case 488447261: { | |
| $arg$sroa$0$sroa$0$0$i = 1;$arg$sroa$0$sroa$11$0$i = 0; | |
| break L34; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } | |
| _free($31); | |
| $arg$sroa$0$sroa$0$0$i = 1;$arg$sroa$0$sroa$11$0$i = 0; | |
| } else { | |
| $39 = ($35|0)==($33|0); | |
| if ($39) { | |
| $arg$sroa$0$sroa$0$0$i = $34;$arg$sroa$0$sroa$11$0$i = $35; | |
| } else { | |
| $40 = (_realloc($31,$33)|0); | |
| $41 = ($40|0)==(0|0); | |
| if ($41) { | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $42 = __THREW__; __THREW__ = 0; | |
| break L31; | |
| } else { | |
| $43 = $40; | |
| $arg$sroa$0$sroa$0$0$i = $43;$arg$sroa$0$sroa$11$0$i = $33; | |
| break; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $49 = $arg$sroa$0$sroa$0$0$i; | |
| HEAP32[$24>>2] = $49; | |
| $50 = ((($0)) + 8|0); | |
| HEAP32[$50>>2] = $arg$sroa$0$sroa$11$0$i; | |
| $$sink = 0; | |
| HEAP32[$0>>2] = $$sink; | |
| STACKTOP = sp;return; | |
| } | |
| } while(0); | |
| $44 = ___cxa_find_matching_catch_2()|0; | |
| $45 = tempRet0; | |
| $switch$split172D = ($35|0)<(488447261); | |
| L48: do { | |
| if ($switch$split172D) { | |
| switch ($35|0) { | |
| case 0: { | |
| $eh$lpad$body8$i$index6Z2D = $45;$eh$lpad$body8$i$indexZ2D = $44; | |
| break; | |
| } | |
| default: { | |
| break L48; | |
| } | |
| } | |
| ___resumeException($eh$lpad$body8$i$indexZ2D|0); | |
| // unreachable; | |
| } else { | |
| switch ($35|0) { | |
| case 488447261: { | |
| $eh$lpad$body8$i$index6Z2D = $45;$eh$lpad$body8$i$indexZ2D = $44; | |
| break; | |
| } | |
| default: { | |
| break L48; | |
| } | |
| } | |
| ___resumeException($eh$lpad$body8$i$indexZ2D|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| _free($31); | |
| $eh$lpad$body8$i$index6Z2D = $45;$eh$lpad$body8$i$indexZ2D = $44; | |
| ___resumeException($eh$lpad$body8$i$indexZ2D|0); | |
| // unreachable; | |
| } | |
| function __ZN3fmt23__RF__u27_a_u20_T_Debug3fmt21h15232890246984197759E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$off$i$i = 0, $$off160$i$i = 0, $$off163$i$i = 0, $$off165$i$i = 0, $$off167$i$i = 0, $$pre = 0, $$pre$i$i$i = 0, $$pre$i187$i$i = 0, $$pre$i203$i$i = 0, $$pre$i210$i$i = 0, $$pre$i223$i$i = 0, $$pre$i230$i$i = 0, $$pre$i249$i$i = 0, $$pre$i256$i$i = 0, $$pre$i266$i$i = 0, $$pre$i279$i$i = 0, $$pre$i286$i$i = 0, $$pre$i293$i$i = 0, $$pre$i306$i$i = 0, $$pre$i313$i$i = 0; | |
| var $$pre$i335$i$i = 0, $$pre$i342$i$i = 0, $$sink$i$i$index = 0, $$sink$i$i$index3 = 0, $$sroa$06$011$i$i$i = 0, $$sroa$06$011$i189$i$i = 0, $$sroa$06$011$i212$i$i = 0, $$sroa$06$011$i225$i$i = 0, $$sroa$06$011$i251$i$i = 0, $$sroa$06$011$i281$i$i = 0, $$sroa$06$011$i295$i$i = 0, $$sroa$06$011$i308$i$i = 0, $$sroa$06$011$i337$i$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; | |
| var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; | |
| var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; | |
| var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; | |
| var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; | |
| var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; | |
| var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0; | |
| var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0; | |
| var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0; | |
| var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0; | |
| var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0; | |
| var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; | |
| var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0; | |
| var $322 = 0, $323 = 0, $324 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; | |
| var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; | |
| var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; | |
| var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i$i$i = 0, $exitcond$i190$i$i = 0, $exitcond$i213$i$i = 0, $exitcond$i226$i$i = 0; | |
| var $exitcond$i252$i$i = 0, $exitcond$i282$i$i = 0, $exitcond$i296$i$i = 0, $exitcond$i309$i$i = 0, $exitcond$i338$i$i = 0, $i$0$be$i$i = 0, $i$0416$i$i = 0, $or$cond$i$i = 0, $or$cond173$i$i = 0, $or$cond175$i$i = 0, $or$cond179$i$i = 0, $or$cond181$i$i = 0, $ptr$0$i$i$i$i$i = 0, $res$i$i = 0, $sret_slot$sroa$0$0$i6$i = 0, $subseqidx$0$be$i$i = 0, $subseqidx$0$lcssa$i$i = 0, $subseqidx$0$ph$i$i = 0, $subseqidx$0414$i$i = 0, $switch$i1$i = 0; | |
| var $switch$split112D = 0, $switch$split2D = 0, $switch$split82D = 0, $switch183$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $2 = sp + 16|0; | |
| $res$i$i = sp; | |
| $3 = HEAP32[$0>>2]|0; | |
| $4 = ((($0)) + 4|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| __ZN3str9from_utf820h89a4a927a5863b3a3sSE($2,$3,$5); | |
| $6 = HEAP32[$2>>2]|0; | |
| $switch$i1$i = ($6|0)==(1); | |
| $7 = ((($2)) + 4|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| if (!($switch$i1$i)) { | |
| $308 = ((($2)) + 8|0); | |
| $309 = HEAP32[$308>>2]|0; | |
| $310 = $8; | |
| $311 = (__ZN3fmt9str_Debug3fmt20h89aaf11c090de66eOVXE($310,$309,$1)|0); | |
| $sret_slot$sroa$0$0$i6$i = $311; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0$i6$i|0); | |
| } | |
| $9 = ($5|0)<(0); | |
| if ($9) { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(1444); | |
| // unreachable; | |
| } | |
| $10 = ($5|0)==(0); | |
| if ($10) { | |
| $ptr$0$i$i$i$i$i = (1); | |
| } else { | |
| $11 = (_malloc($5)|0); | |
| $12 = ($11|0)==(0|0); | |
| if ($12) { | |
| __ZN3oom3oom20hc88b31053092c214PzbE(); | |
| // unreachable; | |
| } else { | |
| $ptr$0$i$i$i$i$i = $11; | |
| } | |
| } | |
| $13 = $ptr$0$i$i$i$i$i; | |
| HEAP32[$res$i$i>>2] = $13; | |
| $14 = ((($res$i$i)) + 4|0); | |
| HEAP32[$14>>2] = $5; | |
| $15 = ((($res$i$i)) + 8|0); | |
| HEAP32[$15>>2] = 0; | |
| $16 = ($8|0)==(0); | |
| do { | |
| if ($16) { | |
| $321 = 0;$subseqidx$0$ph$i$i = 0; | |
| label = 18; | |
| } else { | |
| $17 = ($8>>>0)>($5>>>0); | |
| if ($17) { | |
| __THREW__ = 0; | |
| invoke_vii(76,($8|0),($5|0)); | |
| $18 = __THREW__; __THREW__ = 0; | |
| } else { | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),($8|0)); | |
| $23 = __THREW__; __THREW__ = 0; | |
| $24 = $23&1; | |
| if (!($24)) { | |
| $$pre$i$i$i = HEAP32[$15>>2]|0; | |
| $$sroa$06$011$i$i$i = 0;$28 = $$pre$i$i$i; | |
| while(1) { | |
| $25 = (($$sroa$06$011$i$i$i) + 1)|0; | |
| $26 = HEAP32[$res$i$i>>2]|0; | |
| $27 = (($26) + ($28)|0); | |
| $29 = (($3) + ($$sroa$06$011$i$i$i)|0); | |
| $30 = HEAP8[$29>>0]|0; | |
| HEAP8[$27>>0] = $30; | |
| $31 = (($28) + 1)|0; | |
| HEAP32[$15>>2] = $31; | |
| $exitcond$i$i$i = ($25|0)==($8|0); | |
| if ($exitcond$i$i$i) { | |
| break; | |
| } else { | |
| $$sroa$06$011$i$i$i = $25;$28 = $31; | |
| } | |
| } | |
| $32 = (($8) + ($$pre$i$i$i))|0; | |
| $321 = $32;$subseqidx$0$ph$i$i = $8; | |
| label = 18; | |
| break; | |
| } | |
| } | |
| $19 = ___cxa_find_matching_catch_2()|0; | |
| $20 = tempRet0; | |
| $$sink$i$i$index = $19;$$sink$i$i$index3 = $20; | |
| } | |
| } while(0); | |
| L22: do { | |
| if ((label|0) == 18) { | |
| $33 = ($subseqidx$0$ph$i$i>>>0)<($5>>>0); | |
| L24: do { | |
| if ($33) { | |
| $323 = $321;$i$0416$i$i = $subseqidx$0$ph$i$i;$subseqidx$0414$i$i = $subseqidx$0$ph$i$i; | |
| L26: while(1) { | |
| $35 = (($3) + ($i$0416$i$i)|0); | |
| $36 = HEAP8[$35>>0]|0; | |
| $37 = (($i$0416$i$i) + 1)|0; | |
| $38 = ($36<<24>>24)>(-1); | |
| L28: do { | |
| if ($38) { | |
| $324 = $323;$i$0$be$i$i = $37;$subseqidx$0$be$i$i = $subseqidx$0414$i$i; | |
| } else { | |
| $43 = $36&255; | |
| $44 = (4617 + ($43)|0); | |
| $45 = HEAP8[$44>>0]|0; | |
| $46 = $45&255; | |
| switch ($46|0) { | |
| case 2: { | |
| $48 = ($37>>>0)<($5>>>0); | |
| if ($48) { | |
| $51 = (($3) + ($37)|0); | |
| $52 = HEAP8[$51>>0]|0; | |
| $53 = $52 & -64; | |
| $54 = ($53<<24>>24)==(-128); | |
| if ($54) { | |
| $82 = (($i$0416$i$i) + 2)|0; | |
| $324 = $323;$i$0$be$i$i = $82;$subseqidx$0$be$i$i = $subseqidx$0414$i$i; | |
| break L28; | |
| } | |
| } | |
| $55 = ($i$0416$i$i|0)==($subseqidx$0414$i$i|0); | |
| if (!($55)) { | |
| $56 = ($i$0416$i$i>>>0)<($subseqidx$0414$i$i>>>0); | |
| if ($56) { | |
| label = 32; | |
| break L26; | |
| } | |
| $58 = ($i$0416$i$i>>>0)>($5>>>0); | |
| if ($58) { | |
| label = 34; | |
| break L26; | |
| } | |
| $60 = (($3) + ($subseqidx$0414$i$i)|0); | |
| $61 = (($i$0416$i$i) - ($subseqidx$0414$i$i))|0; | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),($61|0)); | |
| $62 = __THREW__; __THREW__ = 0; | |
| $63 = $62&1; | |
| if ($63) { | |
| label = 22; | |
| break L26; | |
| } | |
| $$pre$i223$i$i = HEAP32[$15>>2]|0; | |
| $$sroa$06$011$i225$i$i = 0;$67 = $$pre$i223$i$i; | |
| while(1) { | |
| $64 = (($$sroa$06$011$i225$i$i) + 1)|0; | |
| $65 = HEAP32[$res$i$i>>2]|0; | |
| $66 = (($65) + ($67)|0); | |
| $68 = (($60) + ($$sroa$06$011$i225$i$i)|0); | |
| $69 = HEAP8[$68>>0]|0; | |
| HEAP8[$66>>0] = $69; | |
| $70 = (($67) + 1)|0; | |
| HEAP32[$15>>2] = $70; | |
| $exitcond$i226$i$i = ($64|0)==($61|0); | |
| if ($exitcond$i226$i$i) { | |
| break; | |
| } else { | |
| $$sroa$06$011$i225$i$i = $64;$67 = $70; | |
| } | |
| } | |
| } | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),3); | |
| $71 = __THREW__; __THREW__ = 0; | |
| $72 = $71&1; | |
| if ($72) { | |
| label = 22; | |
| break L26; | |
| } | |
| $$pre$i230$i$i = HEAP32[$15>>2]|0; | |
| $73 = HEAP32[$res$i$i>>2]|0; | |
| $74 = (($73) + ($$pre$i230$i$i)|0); | |
| HEAP8[$74>>0] = -17; | |
| $75 = (($$pre$i230$i$i) + 1)|0; | |
| $76 = HEAP32[$res$i$i>>2]|0; | |
| $77 = (($76) + ($75)|0); | |
| HEAP8[$77>>0] = -65; | |
| $78 = (($$pre$i230$i$i) + 2)|0; | |
| $79 = HEAP32[$res$i$i>>2]|0; | |
| $80 = (($79) + ($78)|0); | |
| HEAP8[$80>>0] = -67; | |
| $81 = (($$pre$i230$i$i) + 3)|0; | |
| HEAP32[$15>>2] = $81; | |
| $324 = $81;$i$0$be$i$i = $37;$subseqidx$0$be$i$i = $37; | |
| break L28; | |
| break; | |
| } | |
| case 3: { | |
| $49 = ($37>>>0)<($5>>>0); | |
| L56: do { | |
| if ($49) { | |
| $84 = (($3) + ($37)|0); | |
| $85 = HEAP8[$84>>0]|0; | |
| $86 = ($85&255)<(192); | |
| $87 = $85 & -32; | |
| $88 = ($87<<24>>24)==(-96); | |
| if ($88) { | |
| $$off167$i$i = (($36) + 31)<<24>>24; | |
| $90 = ($$off167$i$i&255)<(12); | |
| if (!($90)) { | |
| switch ($36<<24>>24) { | |
| case -32: case -18: case -17: { | |
| break; | |
| } | |
| default: { | |
| label = 46; | |
| } | |
| } | |
| } | |
| } else { | |
| label = 46; | |
| } | |
| do { | |
| if ((label|0) == 46) { | |
| label = 0; | |
| $91 = ($85<<24>>24)<(0); | |
| $92 = $91 & $86; | |
| if ($92) { | |
| $$off165$i$i = (($36) + 31)<<24>>24; | |
| $93 = ($$off165$i$i&255)<(12); | |
| $94 = $36 & -2; | |
| $95 = ($94<<24>>24)==(-18); | |
| $or$cond173$i$i = $93 | $95; | |
| if ($or$cond173$i$i) { | |
| break; | |
| } | |
| } | |
| $96 = ($85&255)<(160); | |
| $97 = $91 & $96; | |
| if (!($97)) { | |
| break L56; | |
| } | |
| $$off163$i$i = (($36) + 31)<<24>>24; | |
| $98 = ($$off163$i$i&255)<(13); | |
| $99 = $36 & -2; | |
| $100 = ($99<<24>>24)==(-18); | |
| $or$cond175$i$i = $98 | $100; | |
| if (!($or$cond175$i$i)) { | |
| break L56; | |
| } | |
| } | |
| } while(0); | |
| $127 = (($i$0416$i$i) + 2)|0; | |
| $128 = ($127>>>0)<($5>>>0); | |
| if ($128) { | |
| $129 = (($3) + ($127)|0); | |
| $130 = HEAP8[$129>>0]|0; | |
| $131 = $130 & -64; | |
| $132 = ($131<<24>>24)==(-128); | |
| if ($132) { | |
| $160 = (($i$0416$i$i) + 3)|0; | |
| $324 = $323;$i$0$be$i$i = $160;$subseqidx$0$be$i$i = $subseqidx$0414$i$i; | |
| break L28; | |
| } | |
| } | |
| $133 = ($i$0416$i$i|0)==($subseqidx$0414$i$i|0); | |
| if (!($133)) { | |
| $134 = ($i$0416$i$i>>>0)<($subseqidx$0414$i$i>>>0); | |
| if ($134) { | |
| label = 63; | |
| break L26; | |
| } | |
| $136 = ($i$0416$i$i>>>0)>($5>>>0); | |
| if ($136) { | |
| label = 65; | |
| break L26; | |
| } | |
| $138 = (($3) + ($subseqidx$0414$i$i)|0); | |
| $139 = (($i$0416$i$i) - ($subseqidx$0414$i$i))|0; | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),($139|0)); | |
| $140 = __THREW__; __THREW__ = 0; | |
| $141 = $140&1; | |
| if ($141) { | |
| label = 22; | |
| break L26; | |
| } | |
| $$pre$i279$i$i = HEAP32[$15>>2]|0; | |
| $$sroa$06$011$i281$i$i = 0;$145 = $$pre$i279$i$i; | |
| while(1) { | |
| $142 = (($$sroa$06$011$i281$i$i) + 1)|0; | |
| $143 = HEAP32[$res$i$i>>2]|0; | |
| $144 = (($143) + ($145)|0); | |
| $146 = (($138) + ($$sroa$06$011$i281$i$i)|0); | |
| $147 = HEAP8[$146>>0]|0; | |
| HEAP8[$144>>0] = $147; | |
| $148 = (($145) + 1)|0; | |
| HEAP32[$15>>2] = $148; | |
| $exitcond$i282$i$i = ($142|0)==($139|0); | |
| if ($exitcond$i282$i$i) { | |
| break; | |
| } else { | |
| $$sroa$06$011$i281$i$i = $142;$145 = $148; | |
| } | |
| } | |
| } | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),3); | |
| $149 = __THREW__; __THREW__ = 0; | |
| $150 = $149&1; | |
| if ($150) { | |
| label = 22; | |
| break L26; | |
| } | |
| $$pre$i286$i$i = HEAP32[$15>>2]|0; | |
| $151 = HEAP32[$res$i$i>>2]|0; | |
| $152 = (($151) + ($$pre$i286$i$i)|0); | |
| HEAP8[$152>>0] = -17; | |
| $153 = (($$pre$i286$i$i) + 1)|0; | |
| $154 = HEAP32[$res$i$i>>2]|0; | |
| $155 = (($154) + ($153)|0); | |
| HEAP8[$155>>0] = -65; | |
| $156 = (($$pre$i286$i$i) + 2)|0; | |
| $157 = HEAP32[$res$i$i>>2]|0; | |
| $158 = (($157) + ($156)|0); | |
| HEAP8[$158>>0] = -67; | |
| $159 = (($$pre$i286$i$i) + 3)|0; | |
| HEAP32[$15>>2] = $159; | |
| $324 = $159;$i$0$be$i$i = $127;$subseqidx$0$be$i$i = $127; | |
| break L28; | |
| } | |
| } while(0); | |
| $89 = ($i$0416$i$i|0)==($subseqidx$0414$i$i|0); | |
| if (!($89)) { | |
| $101 = ($i$0416$i$i>>>0)<($subseqidx$0414$i$i>>>0); | |
| if ($101) { | |
| label = 51; | |
| break L26; | |
| } | |
| $103 = ($i$0416$i$i>>>0)>($5>>>0); | |
| if ($103) { | |
| label = 53; | |
| break L26; | |
| } | |
| $105 = (($3) + ($subseqidx$0414$i$i)|0); | |
| $106 = (($i$0416$i$i) - ($subseqidx$0414$i$i))|0; | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),($106|0)); | |
| $107 = __THREW__; __THREW__ = 0; | |
| $108 = $107&1; | |
| if ($108) { | |
| label = 22; | |
| break L26; | |
| } | |
| $$pre$i249$i$i = HEAP32[$15>>2]|0; | |
| $$sroa$06$011$i251$i$i = 0;$112 = $$pre$i249$i$i; | |
| while(1) { | |
| $109 = (($$sroa$06$011$i251$i$i) + 1)|0; | |
| $110 = HEAP32[$res$i$i>>2]|0; | |
| $111 = (($110) + ($112)|0); | |
| $113 = (($105) + ($$sroa$06$011$i251$i$i)|0); | |
| $114 = HEAP8[$113>>0]|0; | |
| HEAP8[$111>>0] = $114; | |
| $115 = (($112) + 1)|0; | |
| HEAP32[$15>>2] = $115; | |
| $exitcond$i252$i$i = ($109|0)==($106|0); | |
| if ($exitcond$i252$i$i) { | |
| break; | |
| } else { | |
| $$sroa$06$011$i251$i$i = $109;$112 = $115; | |
| } | |
| } | |
| } | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),3); | |
| $116 = __THREW__; __THREW__ = 0; | |
| $117 = $116&1; | |
| if ($117) { | |
| label = 22; | |
| break L26; | |
| } | |
| $$pre$i256$i$i = HEAP32[$15>>2]|0; | |
| $118 = HEAP32[$res$i$i>>2]|0; | |
| $119 = (($118) + ($$pre$i256$i$i)|0); | |
| HEAP8[$119>>0] = -17; | |
| $120 = (($$pre$i256$i$i) + 1)|0; | |
| $121 = HEAP32[$res$i$i>>2]|0; | |
| $122 = (($121) + ($120)|0); | |
| HEAP8[$122>>0] = -65; | |
| $123 = (($$pre$i256$i$i) + 2)|0; | |
| $124 = HEAP32[$res$i$i>>2]|0; | |
| $125 = (($124) + ($123)|0); | |
| HEAP8[$125>>0] = -67; | |
| $126 = (($$pre$i256$i$i) + 3)|0; | |
| HEAP32[$15>>2] = $126; | |
| $324 = $126;$i$0$be$i$i = $37;$subseqidx$0$be$i$i = $37; | |
| break L28; | |
| break; | |
| } | |
| case 4: { | |
| $50 = ($37>>>0)<($5>>>0); | |
| do { | |
| if ($50) { | |
| $161 = (($3) + ($37)|0); | |
| $162 = HEAP8[$161>>0]|0; | |
| $$off$i$i = (($162) + 112)<<24>>24; | |
| $163 = ($$off$i$i&255)<(48); | |
| $164 = $36 & -4; | |
| $switch183$i$i = ($164<<24>>24)==(-16); | |
| $or$cond$i$i = $switch183$i$i & $163; | |
| if (!($or$cond$i$i)) { | |
| $166 = ($162&255)<(192); | |
| $167 = ($162<<24>>24)<(0); | |
| $168 = $167 & $166; | |
| $$off160$i$i = (($36) + 15)<<24>>24; | |
| $169 = ($$off160$i$i&255)<(3); | |
| $or$cond179$i$i = $169 & $168; | |
| if (!($or$cond179$i$i)) { | |
| $170 = ($162&255)<(144); | |
| $171 = $167 & $170; | |
| $172 = ($$off160$i$i&255)<(4); | |
| $or$cond181$i$i = $172 & $171; | |
| if (!($or$cond181$i$i)) { | |
| break; | |
| } | |
| } | |
| } | |
| $199 = (($i$0416$i$i) + 2)|0; | |
| $200 = ($199>>>0)<($5>>>0); | |
| if ($200) { | |
| $201 = (($3) + ($199)|0); | |
| $202 = HEAP8[$201>>0]|0; | |
| $203 = $202 & -64; | |
| $204 = ($203<<24>>24)==(-128); | |
| if ($204) { | |
| $232 = (($i$0416$i$i) + 3)|0; | |
| $233 = ($232>>>0)<($5>>>0); | |
| if ($233) { | |
| $234 = (($3) + ($232)|0); | |
| $235 = HEAP8[$234>>0]|0; | |
| $236 = $235 & -64; | |
| $237 = ($236<<24>>24)==(-128); | |
| if ($237) { | |
| $265 = (($i$0416$i$i) + 4)|0; | |
| $324 = $323;$i$0$be$i$i = $265;$subseqidx$0$be$i$i = $subseqidx$0414$i$i; | |
| break L28; | |
| } | |
| } | |
| $238 = ($i$0416$i$i|0)==($subseqidx$0414$i$i|0); | |
| if (!($238)) { | |
| $239 = ($i$0416$i$i>>>0)<($subseqidx$0414$i$i>>>0); | |
| if ($239) { | |
| label = 101; | |
| break L26; | |
| } | |
| $241 = ($i$0416$i$i>>>0)>($5>>>0); | |
| if ($241) { | |
| label = 103; | |
| break L26; | |
| } | |
| $243 = (($3) + ($subseqidx$0414$i$i)|0); | |
| $244 = (($i$0416$i$i) - ($subseqidx$0414$i$i))|0; | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),($244|0)); | |
| $245 = __THREW__; __THREW__ = 0; | |
| $246 = $245&1; | |
| if ($246) { | |
| label = 22; | |
| break L26; | |
| } | |
| $$pre$i293$i$i = HEAP32[$15>>2]|0; | |
| $$sroa$06$011$i295$i$i = 0;$250 = $$pre$i293$i$i; | |
| while(1) { | |
| $247 = (($$sroa$06$011$i295$i$i) + 1)|0; | |
| $248 = HEAP32[$res$i$i>>2]|0; | |
| $249 = (($248) + ($250)|0); | |
| $251 = (($243) + ($$sroa$06$011$i295$i$i)|0); | |
| $252 = HEAP8[$251>>0]|0; | |
| HEAP8[$249>>0] = $252; | |
| $253 = (($250) + 1)|0; | |
| HEAP32[$15>>2] = $253; | |
| $exitcond$i296$i$i = ($247|0)==($244|0); | |
| if ($exitcond$i296$i$i) { | |
| break; | |
| } else { | |
| $$sroa$06$011$i295$i$i = $247;$250 = $253; | |
| } | |
| } | |
| } | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),3); | |
| $254 = __THREW__; __THREW__ = 0; | |
| $255 = $254&1; | |
| if ($255) { | |
| label = 22; | |
| break L26; | |
| } | |
| $$pre$i266$i$i = HEAP32[$15>>2]|0; | |
| $256 = HEAP32[$res$i$i>>2]|0; | |
| $257 = (($256) + ($$pre$i266$i$i)|0); | |
| HEAP8[$257>>0] = -17; | |
| $258 = (($$pre$i266$i$i) + 1)|0; | |
| $259 = HEAP32[$res$i$i>>2]|0; | |
| $260 = (($259) + ($258)|0); | |
| HEAP8[$260>>0] = -65; | |
| $261 = (($$pre$i266$i$i) + 2)|0; | |
| $262 = HEAP32[$res$i$i>>2]|0; | |
| $263 = (($262) + ($261)|0); | |
| HEAP8[$263>>0] = -67; | |
| $264 = (($$pre$i266$i$i) + 3)|0; | |
| HEAP32[$15>>2] = $264; | |
| $324 = $264;$i$0$be$i$i = $232;$subseqidx$0$be$i$i = $232; | |
| break L28; | |
| } | |
| } | |
| $205 = ($i$0416$i$i|0)==($subseqidx$0414$i$i|0); | |
| if (!($205)) { | |
| $206 = ($i$0416$i$i>>>0)<($subseqidx$0414$i$i>>>0); | |
| if ($206) { | |
| label = 89; | |
| break L26; | |
| } | |
| $208 = ($i$0416$i$i>>>0)>($5>>>0); | |
| if ($208) { | |
| label = 91; | |
| break L26; | |
| } | |
| $210 = (($3) + ($subseqidx$0414$i$i)|0); | |
| $211 = (($i$0416$i$i) - ($subseqidx$0414$i$i))|0; | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),($211|0)); | |
| $212 = __THREW__; __THREW__ = 0; | |
| $213 = $212&1; | |
| if ($213) { | |
| label = 22; | |
| break L26; | |
| } | |
| $$pre$i335$i$i = HEAP32[$15>>2]|0; | |
| $$sroa$06$011$i337$i$i = 0;$217 = $$pre$i335$i$i; | |
| while(1) { | |
| $214 = (($$sroa$06$011$i337$i$i) + 1)|0; | |
| $215 = HEAP32[$res$i$i>>2]|0; | |
| $216 = (($215) + ($217)|0); | |
| $218 = (($210) + ($$sroa$06$011$i337$i$i)|0); | |
| $219 = HEAP8[$218>>0]|0; | |
| HEAP8[$216>>0] = $219; | |
| $220 = (($217) + 1)|0; | |
| HEAP32[$15>>2] = $220; | |
| $exitcond$i338$i$i = ($214|0)==($211|0); | |
| if ($exitcond$i338$i$i) { | |
| break; | |
| } else { | |
| $$sroa$06$011$i337$i$i = $214;$217 = $220; | |
| } | |
| } | |
| } | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),3); | |
| $221 = __THREW__; __THREW__ = 0; | |
| $222 = $221&1; | |
| if ($222) { | |
| label = 22; | |
| break L26; | |
| } | |
| $$pre$i342$i$i = HEAP32[$15>>2]|0; | |
| $223 = HEAP32[$res$i$i>>2]|0; | |
| $224 = (($223) + ($$pre$i342$i$i)|0); | |
| HEAP8[$224>>0] = -17; | |
| $225 = (($$pre$i342$i$i) + 1)|0; | |
| $226 = HEAP32[$res$i$i>>2]|0; | |
| $227 = (($226) + ($225)|0); | |
| HEAP8[$227>>0] = -65; | |
| $228 = (($$pre$i342$i$i) + 2)|0; | |
| $229 = HEAP32[$res$i$i>>2]|0; | |
| $230 = (($229) + ($228)|0); | |
| HEAP8[$230>>0] = -67; | |
| $231 = (($$pre$i342$i$i) + 3)|0; | |
| HEAP32[$15>>2] = $231; | |
| $324 = $231;$i$0$be$i$i = $199;$subseqidx$0$be$i$i = $199; | |
| break L28; | |
| } | |
| } while(0); | |
| $165 = ($i$0416$i$i|0)==($subseqidx$0414$i$i|0); | |
| if (!($165)) { | |
| $173 = ($i$0416$i$i>>>0)<($subseqidx$0414$i$i>>>0); | |
| if ($173) { | |
| label = 77; | |
| break L26; | |
| } | |
| $175 = ($i$0416$i$i>>>0)>($5>>>0); | |
| if ($175) { | |
| label = 79; | |
| break L26; | |
| } | |
| $177 = (($3) + ($subseqidx$0414$i$i)|0); | |
| $178 = (($i$0416$i$i) - ($subseqidx$0414$i$i))|0; | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),($178|0)); | |
| $179 = __THREW__; __THREW__ = 0; | |
| $180 = $179&1; | |
| if ($180) { | |
| label = 22; | |
| break L26; | |
| } | |
| $$pre$i306$i$i = HEAP32[$15>>2]|0; | |
| $$sroa$06$011$i308$i$i = 0;$184 = $$pre$i306$i$i; | |
| while(1) { | |
| $181 = (($$sroa$06$011$i308$i$i) + 1)|0; | |
| $182 = HEAP32[$res$i$i>>2]|0; | |
| $183 = (($182) + ($184)|0); | |
| $185 = (($177) + ($$sroa$06$011$i308$i$i)|0); | |
| $186 = HEAP8[$185>>0]|0; | |
| HEAP8[$183>>0] = $186; | |
| $187 = (($184) + 1)|0; | |
| HEAP32[$15>>2] = $187; | |
| $exitcond$i309$i$i = ($181|0)==($178|0); | |
| if ($exitcond$i309$i$i) { | |
| break; | |
| } else { | |
| $$sroa$06$011$i308$i$i = $181;$184 = $187; | |
| } | |
| } | |
| } | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),3); | |
| $188 = __THREW__; __THREW__ = 0; | |
| $189 = $188&1; | |
| if ($189) { | |
| label = 22; | |
| break L26; | |
| } | |
| $$pre$i313$i$i = HEAP32[$15>>2]|0; | |
| $190 = HEAP32[$res$i$i>>2]|0; | |
| $191 = (($190) + ($$pre$i313$i$i)|0); | |
| HEAP8[$191>>0] = -17; | |
| $192 = (($$pre$i313$i$i) + 1)|0; | |
| $193 = HEAP32[$res$i$i>>2]|0; | |
| $194 = (($193) + ($192)|0); | |
| HEAP8[$194>>0] = -65; | |
| $195 = (($$pre$i313$i$i) + 2)|0; | |
| $196 = HEAP32[$res$i$i>>2]|0; | |
| $197 = (($196) + ($195)|0); | |
| HEAP8[$197>>0] = -67; | |
| $198 = (($$pre$i313$i$i) + 3)|0; | |
| HEAP32[$15>>2] = $198; | |
| $324 = $198;$i$0$be$i$i = $37;$subseqidx$0$be$i$i = $37; | |
| break L28; | |
| break; | |
| } | |
| default: { | |
| $47 = ($i$0416$i$i|0)==($subseqidx$0414$i$i|0); | |
| if (!($47)) { | |
| $266 = ($i$0416$i$i>>>0)<($subseqidx$0414$i$i>>>0); | |
| if ($266) { | |
| label = 111; | |
| break L26; | |
| } | |
| $268 = ($i$0416$i$i>>>0)>($5>>>0); | |
| if ($268) { | |
| label = 113; | |
| break L26; | |
| } | |
| $270 = (($3) + ($subseqidx$0414$i$i)|0); | |
| $271 = (($i$0416$i$i) - ($subseqidx$0414$i$i))|0; | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),($271|0)); | |
| $272 = __THREW__; __THREW__ = 0; | |
| $273 = $272&1; | |
| if ($273) { | |
| label = 22; | |
| break L26; | |
| } | |
| $$pre$i210$i$i = HEAP32[$15>>2]|0; | |
| $$sroa$06$011$i212$i$i = 0;$277 = $$pre$i210$i$i; | |
| while(1) { | |
| $274 = (($$sroa$06$011$i212$i$i) + 1)|0; | |
| $275 = HEAP32[$res$i$i>>2]|0; | |
| $276 = (($275) + ($277)|0); | |
| $278 = (($270) + ($$sroa$06$011$i212$i$i)|0); | |
| $279 = HEAP8[$278>>0]|0; | |
| HEAP8[$276>>0] = $279; | |
| $280 = (($277) + 1)|0; | |
| HEAP32[$15>>2] = $280; | |
| $exitcond$i213$i$i = ($274|0)==($271|0); | |
| if ($exitcond$i213$i$i) { | |
| break; | |
| } else { | |
| $$sroa$06$011$i212$i$i = $274;$277 = $280; | |
| } | |
| } | |
| } | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),3); | |
| $281 = __THREW__; __THREW__ = 0; | |
| $282 = $281&1; | |
| if ($282) { | |
| label = 22; | |
| break L26; | |
| } | |
| $$pre$i203$i$i = HEAP32[$15>>2]|0; | |
| $283 = HEAP32[$res$i$i>>2]|0; | |
| $284 = (($283) + ($$pre$i203$i$i)|0); | |
| HEAP8[$284>>0] = -17; | |
| $285 = (($$pre$i203$i$i) + 1)|0; | |
| $286 = HEAP32[$res$i$i>>2]|0; | |
| $287 = (($286) + ($285)|0); | |
| HEAP8[$287>>0] = -65; | |
| $288 = (($$pre$i203$i$i) + 2)|0; | |
| $289 = HEAP32[$res$i$i>>2]|0; | |
| $290 = (($289) + ($288)|0); | |
| HEAP8[$290>>0] = -67; | |
| $291 = (($$pre$i203$i$i) + 3)|0; | |
| HEAP32[$15>>2] = $291; | |
| $324 = $291;$i$0$be$i$i = $37;$subseqidx$0$be$i$i = $37; | |
| break L28; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $83 = ($i$0$be$i$i>>>0)<($5>>>0); | |
| if ($83) { | |
| $323 = $324;$i$0416$i$i = $i$0$be$i$i;$subseqidx$0414$i$i = $subseqidx$0$be$i$i; | |
| } else { | |
| $322 = $324;$subseqidx$0$lcssa$i$i = $subseqidx$0$be$i$i; | |
| label = 20; | |
| break L24; | |
| } | |
| } | |
| switch (label|0) { | |
| case 22: { | |
| $39 = ___cxa_find_matching_catch_2()|0; | |
| $40 = tempRet0; | |
| $$sink$i$i$index = $39;$$sink$i$i$index3 = $40; | |
| break L22; | |
| break; | |
| } | |
| case 32: { | |
| __THREW__ = 0; | |
| invoke_vii(84,($subseqidx$0414$i$i|0),($i$0416$i$i|0)); | |
| $57 = __THREW__; __THREW__ = 0; | |
| break L24; | |
| break; | |
| } | |
| case 34: { | |
| __THREW__ = 0; | |
| invoke_vii(76,($i$0416$i$i|0),($5|0)); | |
| $59 = __THREW__; __THREW__ = 0; | |
| break L24; | |
| break; | |
| } | |
| case 51: { | |
| __THREW__ = 0; | |
| invoke_vii(84,($subseqidx$0414$i$i|0),($i$0416$i$i|0)); | |
| $102 = __THREW__; __THREW__ = 0; | |
| break L24; | |
| break; | |
| } | |
| case 53: { | |
| __THREW__ = 0; | |
| invoke_vii(76,($i$0416$i$i|0),($5|0)); | |
| $104 = __THREW__; __THREW__ = 0; | |
| break L24; | |
| break; | |
| } | |
| case 63: { | |
| __THREW__ = 0; | |
| invoke_vii(84,($subseqidx$0414$i$i|0),($i$0416$i$i|0)); | |
| $135 = __THREW__; __THREW__ = 0; | |
| break L24; | |
| break; | |
| } | |
| case 65: { | |
| __THREW__ = 0; | |
| invoke_vii(76,($i$0416$i$i|0),($5|0)); | |
| $137 = __THREW__; __THREW__ = 0; | |
| break L24; | |
| break; | |
| } | |
| case 77: { | |
| __THREW__ = 0; | |
| invoke_vii(84,($subseqidx$0414$i$i|0),($i$0416$i$i|0)); | |
| $174 = __THREW__; __THREW__ = 0; | |
| break L24; | |
| break; | |
| } | |
| case 79: { | |
| __THREW__ = 0; | |
| invoke_vii(76,($i$0416$i$i|0),($5|0)); | |
| $176 = __THREW__; __THREW__ = 0; | |
| break L24; | |
| break; | |
| } | |
| case 89: { | |
| __THREW__ = 0; | |
| invoke_vii(84,($subseqidx$0414$i$i|0),($i$0416$i$i|0)); | |
| $207 = __THREW__; __THREW__ = 0; | |
| break L24; | |
| break; | |
| } | |
| case 91: { | |
| __THREW__ = 0; | |
| invoke_vii(76,($i$0416$i$i|0),($5|0)); | |
| $209 = __THREW__; __THREW__ = 0; | |
| break L24; | |
| break; | |
| } | |
| case 101: { | |
| __THREW__ = 0; | |
| invoke_vii(84,($subseqidx$0414$i$i|0),($i$0416$i$i|0)); | |
| $240 = __THREW__; __THREW__ = 0; | |
| break L24; | |
| break; | |
| } | |
| case 103: { | |
| __THREW__ = 0; | |
| invoke_vii(76,($i$0416$i$i|0),($5|0)); | |
| $242 = __THREW__; __THREW__ = 0; | |
| break L24; | |
| break; | |
| } | |
| case 111: { | |
| __THREW__ = 0; | |
| invoke_vii(84,($subseqidx$0414$i$i|0),($i$0416$i$i|0)); | |
| $267 = __THREW__; __THREW__ = 0; | |
| break L24; | |
| break; | |
| } | |
| case 113: { | |
| __THREW__ = 0; | |
| invoke_vii(76,($i$0416$i$i|0),($5|0)); | |
| $269 = __THREW__; __THREW__ = 0; | |
| break L24; | |
| break; | |
| } | |
| } | |
| } else { | |
| $322 = $321;$subseqidx$0$lcssa$i$i = $subseqidx$0$ph$i$i; | |
| label = 20; | |
| } | |
| } while(0); | |
| L151: do { | |
| if ((label|0) == 20) { | |
| $34 = ($5>>>0)>($subseqidx$0$lcssa$i$i>>>0); | |
| do { | |
| if ($34) { | |
| $292 = ($5>>>0)<($subseqidx$0$lcssa$i$i>>>0); | |
| if ($292) { | |
| __THREW__ = 0; | |
| invoke_vii(84,($subseqidx$0$lcssa$i$i|0),($5|0)); | |
| $293 = __THREW__; __THREW__ = 0; | |
| break L151; | |
| } | |
| $294 = (($3) + ($subseqidx$0$lcssa$i$i)|0); | |
| $295 = (($5) - ($subseqidx$0$lcssa$i$i))|0; | |
| __THREW__ = 0; | |
| invoke_vii(83,($res$i$i|0),($295|0)); | |
| $296 = __THREW__; __THREW__ = 0; | |
| $297 = $296&1; | |
| if ($297) { | |
| break L151; | |
| } | |
| $298 = ($5|0)==($subseqidx$0$lcssa$i$i|0); | |
| if ($298) { | |
| $$pre = HEAP32[$15>>2]|0; | |
| $315 = $$pre; | |
| break; | |
| } | |
| $$pre$i187$i$i = HEAP32[$15>>2]|0; | |
| $299 = (($5) + ($$pre$i187$i$i))|0; | |
| $$sroa$06$011$i189$i$i = 0;$303 = $$pre$i187$i$i; | |
| while(1) { | |
| $300 = (($$sroa$06$011$i189$i$i) + 1)|0; | |
| $301 = HEAP32[$res$i$i>>2]|0; | |
| $302 = (($301) + ($303)|0); | |
| $304 = (($294) + ($$sroa$06$011$i189$i$i)|0); | |
| $305 = HEAP8[$304>>0]|0; | |
| HEAP8[$302>>0] = $305; | |
| $306 = (($303) + 1)|0; | |
| HEAP32[$15>>2] = $306; | |
| $exitcond$i190$i$i = ($300|0)==($295|0); | |
| if ($exitcond$i190$i$i) { | |
| break; | |
| } else { | |
| $$sroa$06$011$i189$i$i = $300;$303 = $306; | |
| } | |
| } | |
| $307 = (($299) - ($subseqidx$0$lcssa$i$i))|0; | |
| $315 = $307; | |
| } else { | |
| $315 = $322; | |
| } | |
| } while(0); | |
| $312 = HEAP32[$res$i$i>>2]|0; | |
| $313 = HEAP32[$14>>2]|0; | |
| $314 = $312; | |
| __THREW__ = 0; | |
| $316 = (invoke_iiii(85,($314|0),($315|0),($1|0))|0); | |
| $317 = __THREW__; __THREW__ = 0; | |
| $318 = $317&1; | |
| if ($318) { | |
| $319 = ___cxa_find_matching_catch_2()|0; | |
| $320 = tempRet0; | |
| $switch$split112D = ($313|0)<(488447261); | |
| L168: do { | |
| if ($switch$split112D) { | |
| switch ($313|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L168; | |
| } | |
| } | |
| ___resumeException($319|0); | |
| // unreachable; | |
| } else { | |
| switch ($313|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L168; | |
| } | |
| } | |
| ___resumeException($319|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| _free($314); | |
| ___resumeException($319|0); | |
| // unreachable; | |
| } else { | |
| $switch$split82D = ($313|0)<(488447261); | |
| L176: do { | |
| if ($switch$split82D) { | |
| switch ($313|0) { | |
| case 0: { | |
| $sret_slot$sroa$0$0$i6$i = $316; | |
| break; | |
| } | |
| default: { | |
| break L176; | |
| } | |
| } | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0$i6$i|0); | |
| } else { | |
| switch ($313|0) { | |
| case 488447261: { | |
| $sret_slot$sroa$0$0$i6$i = $316; | |
| break; | |
| } | |
| default: { | |
| break L176; | |
| } | |
| } | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0$i6$i|0); | |
| } | |
| } while(0); | |
| _free($314); | |
| $sret_slot$sroa$0$0$i6$i = $316; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0$i6$i|0); | |
| } | |
| } | |
| } while(0); | |
| $41 = ___cxa_find_matching_catch_2()|0; | |
| $42 = tempRet0; | |
| $$sink$i$i$index = $41;$$sink$i$i$index3 = $42; | |
| } | |
| } while(0); | |
| $21 = HEAP32[$14>>2]|0; | |
| $switch$split2D = ($21|0)<(488447261); | |
| L185: do { | |
| if ($switch$split2D) { | |
| switch ($21|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L185; | |
| } | |
| } | |
| ___resumeException($$sink$i$i$index|0); | |
| // unreachable; | |
| } else { | |
| switch ($21|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L185; | |
| } | |
| } | |
| ___resumeException($$sink$i$i$index|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $22 = HEAP32[$res$i$i>>2]|0; | |
| _free($22); | |
| ___resumeException($$sink$i$i$index|0); | |
| // unreachable; | |
| return (0)|0; | |
| } | |
| function __ZN2io5error18Error_fmt__Display3fmt20h0882d078f70e8f60BKgE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; | |
| var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; | |
| var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arg$i = 0, $buf$i = 0, $code = 0, $detail = 0, $sret_slot$sroa$0$0 = 0, $switch = 0, $switch$i$i = 0, $switch$split22D = 0, $switch$split2D = 0; | |
| var dest = 0, label = 0, sp = 0, stop = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $arg$i = sp + 48|0; | |
| $buf$i = sp + 80|0; | |
| $2 = sp + 32|0; | |
| $code = sp + 72|0; | |
| $detail = sp + 16|0; | |
| $3 = sp; | |
| $4 = HEAP32[$0>>2]|0; | |
| $switch = ($4|0)==(1); | |
| if ($switch) { | |
| $5 = ((($0)) + 4|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = ((($6)) + 4|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = ((($6)) + 8|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ((($10)) + 24|0); | |
| $12 = HEAP32[$11>>2]|0; | |
| $13 = (FUNCTION_TABLE_iii[$12 & 127]($8,$1)|0); | |
| $sret_slot$sroa$0$0 = $13; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0|0); | |
| } | |
| $15 = ((($0)) + 4|0); | |
| $16 = HEAP32[$15>>2]|0; | |
| HEAP32[$code>>2] = $16; | |
| dest=$buf$i; stop=dest+128|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); | |
| $17 = (_strerror_r($16,$buf$i,128)|0); | |
| $18 = ($17|0)<(0); | |
| if ($18) { | |
| __ZN10sys_common6unwind12begin_unwind20h8284277630150637284E(2631,18,520); | |
| // unreachable; | |
| } | |
| $19 = (_strlen($buf$i)|0); | |
| $20 = ($19|0)==(-1); | |
| if ($20) { | |
| __ZN5slice20slice_index_len_fail20h9ec8212373ae0291u9PE(-1,0); | |
| // unreachable; | |
| } | |
| __ZN3str9from_utf820h89a4a927a5863b3a3sSE($2,$buf$i,$19); | |
| $21 = HEAP32[$2>>2]|0; | |
| $switch$i$i = ($21|0)==(1); | |
| if ($switch$i$i) { | |
| $22 = ((($2)) + 4|0); | |
| $23 = HEAP32[$22>>2]|0; | |
| __ZN6result13unwrap_failed20h3679629888972018590E($23); | |
| // unreachable; | |
| } | |
| $24 = ((($2)) + 4|0); | |
| $25 = HEAP32[$24>>2]|0; | |
| $26 = ((($2)) + 8|0); | |
| $27 = HEAP32[$26>>2]|0; | |
| __ZN3str11str_ToOwned8to_owned20h27f191d2b0131fa4EVeE($detail,$25,$27); | |
| $28 = ((($3)) + 4|0); | |
| HEAP32[$28>>2] = 86; | |
| HEAP32[$3>>2] = $detail; | |
| $29 = ((($3)) + 8|0); | |
| $30 = ((($3)) + 12|0); | |
| HEAP32[$30>>2] = 87; | |
| HEAP32[$29>>2] = $code; | |
| $31 = ((($1)) + 28|0); | |
| $32 = HEAP32[$31>>2]|0; | |
| $33 = ((($1)) + 32|0); | |
| $34 = HEAP32[$33>>2]|0; | |
| HEAP32[$arg$i>>2] = 532; | |
| $35 = ((($arg$i)) + 4|0); | |
| HEAP32[$35>>2] = 3; | |
| $36 = ((($arg$i)) + 8|0); | |
| $37 = $36; | |
| $38 = $37; | |
| HEAP32[$38>>2] = 0; | |
| $39 = (($37) + 4)|0; | |
| $40 = $39; | |
| HEAP32[$40>>2] = 0; | |
| $41 = ((($arg$i)) + 16|0); | |
| HEAP32[$41>>2] = $3; | |
| $42 = ((($arg$i)) + 20|0); | |
| HEAP32[$42>>2] = 2; | |
| __THREW__ = 0; | |
| $43 = (invoke_iiii(71,($32|0),($34|0),($arg$i|0))|0); | |
| $44 = __THREW__; __THREW__ = 0; | |
| $45 = $44&1; | |
| if (!($45)) { | |
| $50 = ((($detail)) + 4|0); | |
| $51 = HEAP32[$50>>2]|0; | |
| $switch$split22D = ($51|0)<(488447261); | |
| if ($switch$split22D) { | |
| switch ($51|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 14; | |
| } | |
| } | |
| } else { | |
| switch ($51|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 14; | |
| } | |
| } | |
| } | |
| if ((label|0) == 14) { | |
| $52 = HEAP32[$detail>>2]|0; | |
| _free($52); | |
| } | |
| $sret_slot$sroa$0$0 = $43; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0|0); | |
| } | |
| $14 = ___cxa_find_matching_catch_2()|0; | |
| $46 = tempRet0; | |
| $47 = ((($detail)) + 4|0); | |
| $48 = HEAP32[$47>>2]|0; | |
| $switch$split2D = ($48|0)<(488447261); | |
| L24: do { | |
| if ($switch$split2D) { | |
| switch ($48|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L24; | |
| } | |
| } | |
| ___resumeException($14|0); | |
| // unreachable; | |
| } else { | |
| switch ($48|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L24; | |
| } | |
| } | |
| ___resumeException($14|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $49 = HEAP32[$detail>>2]|0; | |
| _free($49); | |
| ___resumeException($14|0); | |
| // unreachable; | |
| return (0)|0; | |
| } | |
| function __ZN6result13unwrap_failed20h3679629888972018590E($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $error = 0, $msg = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $msg = sp + 48|0; | |
| $error = sp + 40|0; | |
| $1 = sp + 16|0; | |
| $2 = sp; | |
| HEAP32[$msg>>2] = 2674; | |
| $3 = ((($msg)) + 4|0); | |
| HEAP32[$3>>2] = 43; | |
| HEAP32[$error>>2] = $0; | |
| $4 = ((($2)) + 4|0); | |
| HEAP32[$4>>2] = 88; | |
| HEAP32[$2>>2] = $msg; | |
| $5 = ((($2)) + 8|0); | |
| $6 = ((($2)) + 12|0); | |
| HEAP32[$6>>2] = 89; | |
| HEAP32[$5>>2] = $error; | |
| HEAP32[$1>>2] = (1560); | |
| $7 = ((($1)) + 4|0); | |
| HEAP32[$7>>2] = 2; | |
| $8 = ((($1)) + 8|0); | |
| $9 = $8; | |
| $10 = $9; | |
| HEAP32[$10>>2] = 0; | |
| $11 = (($9) + 4)|0; | |
| $12 = $11; | |
| HEAP32[$12>>2] = 0; | |
| $13 = ((($1)) + 16|0); | |
| HEAP32[$13>>2] = $2; | |
| $14 = ((($1)) + 20|0); | |
| HEAP32[$14>>2] = 2; | |
| __ZN9panicking9panic_fmt20h354880378c07fbbe7mME($1,1548); | |
| // unreachable; | |
| } | |
| function __ZN3fmt25__RF__u27_a_u20_T_Display3fmt20h4807422829571681786E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = ((($0)) + 4|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = (__ZN3fmt23Formatter_LT__u27_a_GT_3pad20h4dc31ec7f968f174LyXE($1,$2,$4)|0); | |
| return ($5|0); | |
| } | |
| function __ZN6string19String_fmt__Display3fmt20h6a9a544f9ad54bfafUfE_20($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = ((($0)) + 8|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = (__ZN3fmt23Formatter_LT__u27_a_GT_3pad20h4dc31ec7f968f174LyXE($1,$2,$4)|0); | |
| return ($5|0); | |
| } | |
| function __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = HEAP32[$0>>2]|0; | |
| $2 = ((($1)) + 8|0); | |
| __ZN13thread__Inner10drop_4009617h3c2e86dd183ee453E($2); | |
| $3 = HEAP32[$0>>2]|0; | |
| $4 = ((($3)) + 4|0); | |
| $5 = HEAP32[$4>>2]|0;HEAP32[$4>>2] = (($5-1)|0); | |
| $6 = ($5|0)==(1); | |
| if (!($6)) { | |
| return; | |
| } | |
| /* fence */; | |
| _free($1); | |
| return; | |
| } | |
| function __ZN13thread__Inner10drop_4009617h3c2e86dd183ee453E($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch$split2D = 0, $switchtmp$i = 0, label = 0; | |
| var sp = 0; | |
| sp = STACKTOP; | |
| $1 = HEAP32[$0>>2]|0; | |
| $switchtmp$i = ($1|0)==(0|0); | |
| L1: do { | |
| if (!($switchtmp$i)) { | |
| $2 = ((($0)) + 4|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $switch$split2D = ($3|0)<(488447261); | |
| if ($switch$split2D) { | |
| switch ($3|0) { | |
| case 0: { | |
| break L1; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } else { | |
| switch ($3|0) { | |
| case 488447261: { | |
| break L1; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } | |
| _free($1); | |
| } | |
| } while(0); | |
| $4 = ((($0)) + 17|0); | |
| $5 = HEAP8[$4>>0]|0; | |
| $6 = ($5<<24>>24)==(-44); | |
| if ($6) { | |
| $7 = ((($0)) + 12|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| (_pthread_mutex_destroy(($8|0))|0); | |
| $9 = HEAP32[$7>>2]|0; | |
| $10 = ($9|0)==((488447261)|0); | |
| if (!($10)) { | |
| _free($9); | |
| } | |
| } | |
| $11 = ((($0)) + 24|0); | |
| $12 = HEAP8[$11>>0]|0; | |
| $13 = ($12<<24>>24)==(-44); | |
| if (!($13)) { | |
| return; | |
| } | |
| $14 = ((($0)) + 20|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| (_pthread_cond_destroy(($15|0))|0); | |
| $16 = HEAP32[$14>>2]|0; | |
| $17 = ($16|0)==((488447261)|0); | |
| if ($17) { | |
| return; | |
| } | |
| _free($16); | |
| return; | |
| } | |
| function __ZN6thread5local2os13destroy_value20h5533627499773354290E($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; | |
| var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; | |
| var $cond$i$i$i = 0, $cond$i$i$i$i$i$i = 0, $cond$i$i$i$i6$i = 0, $cond$i$i14$i = 0, $magicptr$i$i$i$i$i$i$i$i$i = 0, $magicptr$i$i$i$i$i$i$i8$i = 0, $ptr1$sroa$0$0$i = 0, $sret_slot$0$i$i$i = 0, $sret_slot$0$i$i16$i = 0, $switch$split12D = 0, $switch$split2D = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = HEAP32[$0>>2]|0; | |
| $2 = HEAP32[$1>>2]|0; | |
| $cond$i$i$i = ($2|0)==(0); | |
| if ($cond$i$i$i) { | |
| $3 = $0; | |
| __THREW__ = 0; | |
| $4 = (invoke_ii(69,($1|0))|0); | |
| $5 = __THREW__; __THREW__ = 0; | |
| $6 = $5&1; | |
| if ($6) { | |
| $ptr1$sroa$0$0$i = $3; | |
| } else { | |
| $sret_slot$0$i$i$i = $4; | |
| label = 3; | |
| } | |
| } else { | |
| $sret_slot$0$i$i$i = $2; | |
| label = 3; | |
| } | |
| L3: do { | |
| if ((label|0) == 3) { | |
| (_pthread_setspecific(($sret_slot$0$i$i$i|0),((1)|0))|0); | |
| $7 = ($0|0)==((488447261)|0); | |
| if (!($7)) { | |
| $8 = ((($0)) + 4|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $cond$i$i$i$i$i$i = ($9|0)==(1); | |
| L7: do { | |
| if ($cond$i$i$i$i$i$i) { | |
| $10 = ((($0)) + 12|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $magicptr$i$i$i$i$i$i$i$i$i = $11; | |
| $switch$split2D = ($magicptr$i$i$i$i$i$i$i$i$i|0)<(488447261); | |
| if ($switch$split2D) { | |
| switch ($magicptr$i$i$i$i$i$i$i$i$i|0) { | |
| case 0: { | |
| break L7; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } else { | |
| switch ($magicptr$i$i$i$i$i$i$i$i$i|0) { | |
| case 488447261: { | |
| break L7; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } | |
| $12 = ((($0)) + 16|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = HEAP32[$13>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vi($14|0,($11|0)); | |
| $15 = __THREW__; __THREW__ = 0; | |
| $16 = $15&1; | |
| if ($16) { | |
| $ptr1$sroa$0$0$i = 488447261; | |
| break L3; | |
| } | |
| $17 = HEAP32[$12>>2]|0; | |
| $18 = ((($17)) + 4|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| $20 = ($19|0)==(0); | |
| if (!($20)) { | |
| _free($11); | |
| } | |
| } | |
| } while(0); | |
| _free($0); | |
| } | |
| $37 = HEAP32[$1>>2]|0; | |
| $cond$i$i14$i = ($37|0)==(0); | |
| if (!($cond$i$i14$i)) { | |
| $sret_slot$0$i$i16$i = $37; | |
| (_pthread_setspecific(($sret_slot$0$i$i16$i|0),(0|0))|0); | |
| return; | |
| } | |
| __THREW__ = 0; | |
| $38 = (invoke_ii(69,($1|0))|0); | |
| $39 = __THREW__; __THREW__ = 0; | |
| $40 = $39&1; | |
| if ($40) { | |
| $ptr1$sroa$0$0$i = 488447261; | |
| } else { | |
| $sret_slot$0$i$i16$i = $38; | |
| (_pthread_setspecific(($sret_slot$0$i$i16$i|0),(0|0))|0); | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $21 = ___cxa_find_matching_catch_2()|0; | |
| $22 = tempRet0; | |
| $23 = $ptr1$sroa$0$0$i; | |
| $24 = ($23|0)==((488447261)|0); | |
| if ($24) { | |
| ___resumeException($21|0); | |
| // unreachable; | |
| } | |
| $25 = ((($23)) + 4|0); | |
| $26 = HEAP32[$25>>2]|0; | |
| $cond$i$i$i$i6$i = ($26|0)==(1); | |
| L25: do { | |
| if ($cond$i$i$i$i6$i) { | |
| $27 = ((($23)) + 12|0); | |
| $28 = HEAP32[$27>>2]|0; | |
| $magicptr$i$i$i$i$i$i$i8$i = $28; | |
| $switch$split12D = ($magicptr$i$i$i$i$i$i$i8$i|0)<(488447261); | |
| if ($switch$split12D) { | |
| switch ($magicptr$i$i$i$i$i$i$i8$i|0) { | |
| case 0: { | |
| break L25; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } else { | |
| switch ($magicptr$i$i$i$i$i$i$i8$i|0) { | |
| case 488447261: { | |
| break L25; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } | |
| $29 = ((($23)) + 16|0); | |
| $30 = HEAP32[$29>>2]|0; | |
| $31 = HEAP32[$30>>2]|0; | |
| FUNCTION_TABLE_vi[$31 & 127]($28); | |
| $32 = HEAP32[$29>>2]|0; | |
| $33 = ((($32)) + 4|0); | |
| $34 = HEAP32[$33>>2]|0; | |
| $35 = ($34|0)==(0); | |
| if (!($35)) { | |
| _free($28); | |
| } | |
| } | |
| } while(0); | |
| $36 = $ptr1$sroa$0$0$i; | |
| _free($36); | |
| ___resumeException($21|0); | |
| // unreachable; | |
| } | |
| function __ZN6thread5local2os12Key_LT_T_GT_3get21h17797014043959970495E($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i$i = 0, $cond$i$i18 = 0, $sret_slot$0$i$i = 0, $sret_slot$0$i$i20 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = HEAP32[$0>>2]|0; | |
| $cond$i$i18 = ($1|0)==(0); | |
| if ($cond$i$i18) { | |
| $2 = (__ZN10sys_common12thread_local9StaticKey9lazy_init20h7764f75565e4e259beuE($0)|0); | |
| $sret_slot$0$i$i20 = $2; | |
| } else { | |
| $sret_slot$0$i$i20 = $1; | |
| } | |
| $3 = (_pthread_getspecific(($sret_slot$0$i$i20|0))|0); | |
| $4 = ($3|0)==(0|0); | |
| if (!($4)) { | |
| $5 = ($3|0)==((1)|0); | |
| $6 = ((($3)) + 4|0); | |
| $7 = $5 ? 0 : $6; | |
| $13 = $7; | |
| return ($13|0); | |
| } | |
| $8 = (_malloc(20)|0); | |
| $9 = ($8|0)==(0|0); | |
| if ($9) { | |
| __ZN3oom3oom20hc88b31053092c214PzbE(); | |
| // unreachable; | |
| } | |
| HEAP32[$8>>2] = $0; | |
| $10 = ((($8)) + 4|0); | |
| ;HEAP32[$10>>2]=HEAP32[7100>>2]|0;HEAP32[$10+4>>2]=HEAP32[7100+4>>2]|0;HEAP32[$10+8>>2]=HEAP32[7100+8>>2]|0;HEAP32[$10+12>>2]=HEAP32[7100+12>>2]|0; | |
| $11 = HEAP32[$0>>2]|0; | |
| $cond$i$i = ($11|0)==(0); | |
| if ($cond$i$i) { | |
| $12 = (__ZN10sys_common12thread_local9StaticKey9lazy_init20h7764f75565e4e259beuE($0)|0); | |
| $sret_slot$0$i$i = $12; | |
| } else { | |
| $sret_slot$0$i$i = $11; | |
| } | |
| (_pthread_setspecific(($sret_slot$0$i$i|0),($8|0))|0); | |
| $13 = $10; | |
| return ($13|0); | |
| } | |
| function __ZN9panicking15default_handler28__u7b__u7b_closure_u7d__u7d_13closure_44651E($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; | |
| var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; | |
| var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; | |
| var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; | |
| var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $addr_of = 0, $cond$i = 0, $cond$i$i$i = 0, $cond$i$i$i12 = 0, $cond$i$i$i21 = 0, $cond$i11 = 0, $cond$i20 = 0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $addr_of = sp + 128|0; | |
| $3 = sp + 112|0; | |
| $4 = sp + 88|0; | |
| $5 = sp + 56|0; | |
| $6 = sp + 40|0; | |
| $7 = sp + 24|0; | |
| $8 = sp; | |
| $9 = HEAP32[$0>>2]|0; | |
| $10 = ((($0)) + 4|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = ((($0)) + 8|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = ((($0)) + 12|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| $16 = ((($0)) + 16|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = ((($2)) + 24|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| $20 = ((($5)) + 4|0); | |
| HEAP32[$20>>2] = 88; | |
| HEAP32[$5>>2] = $9; | |
| $21 = ((($5)) + 8|0); | |
| $22 = ((($5)) + 12|0); | |
| HEAP32[$22>>2] = 88; | |
| HEAP32[$21>>2] = $11; | |
| $23 = ((($5)) + 16|0); | |
| $24 = ((($5)) + 20|0); | |
| HEAP32[$24>>2] = 88; | |
| HEAP32[$23>>2] = $13; | |
| $25 = ((($5)) + 24|0); | |
| $26 = ((($5)) + 28|0); | |
| HEAP32[$26>>2] = 90; | |
| HEAP32[$25>>2] = $15; | |
| HEAP32[$4>>2] = 592; | |
| $27 = ((($4)) + 4|0); | |
| HEAP32[$27>>2] = 5; | |
| $28 = ((($4)) + 8|0); | |
| $29 = $28; | |
| $30 = $29; | |
| HEAP32[$30>>2] = 0; | |
| $31 = (($29) + 4)|0; | |
| $32 = $31; | |
| HEAP32[$32>>2] = 0; | |
| $33 = ((($4)) + 16|0); | |
| HEAP32[$33>>2] = $5; | |
| $34 = ((($4)) + 20|0); | |
| HEAP32[$34>>2] = 4; | |
| FUNCTION_TABLE_viii[$19 & 127]($3,$1,$4); | |
| $35 = HEAP32[$3>>2]|0; | |
| $cond$i = ($35|0)==(1); | |
| if ($cond$i) { | |
| $36 = ((($3)) + 4|0); | |
| $37 = HEAP32[$36>>2]|0; | |
| $cond$i$i$i = ($37|0)==(1); | |
| if ($cond$i$i$i) { | |
| $38 = ((($3)) + 8|0); | |
| $39 = HEAP32[$38>>2]|0; | |
| $40 = ($39|0)==((488447261)|0); | |
| if (!($40)) { | |
| $41 = ((($39)) + 4|0); | |
| $42 = HEAP32[$41>>2]|0; | |
| $43 = ($42|0)==((488447261)|0); | |
| if (!($43)) { | |
| $44 = ((($39)) + 8|0); | |
| $45 = HEAP32[$44>>2]|0; | |
| $46 = HEAP32[$45>>2]|0; | |
| FUNCTION_TABLE_vi[$46 & 127]($42); | |
| $47 = HEAP32[$44>>2]|0; | |
| $48 = ((($47)) + 4|0); | |
| $49 = HEAP32[$48>>2]|0; | |
| $50 = ($49|0)==(0); | |
| if (!($50)) { | |
| _free($42); | |
| } | |
| } | |
| _free($39); | |
| } | |
| } | |
| } | |
| $51 = HEAP8[$17>>0]|0; | |
| $52 = ($51<<24>>24)==(0); | |
| if (!($52)) { | |
| __ZN3sys9backtrace7tracing3imp5write20h1dc575cfd4855667pqvE($6,$1,$2); | |
| $53 = HEAP32[$6>>2]|0; | |
| $cond$i11 = ($53|0)==(1); | |
| if ($cond$i11) { | |
| $54 = ((($6)) + 4|0); | |
| $55 = HEAP32[$54>>2]|0; | |
| $cond$i$i$i12 = ($55|0)==(1); | |
| if ($cond$i$i$i12) { | |
| $56 = ((($6)) + 8|0); | |
| $57 = HEAP32[$56>>2]|0; | |
| $58 = ($57|0)==((488447261)|0); | |
| if (!($58)) { | |
| $59 = ((($57)) + 4|0); | |
| $60 = HEAP32[$59>>2]|0; | |
| $61 = ($60|0)==((488447261)|0); | |
| if (!($61)) { | |
| $62 = ((($57)) + 8|0); | |
| $63 = HEAP32[$62>>2]|0; | |
| $64 = HEAP32[$63>>2]|0; | |
| FUNCTION_TABLE_vi[$64 & 127]($60); | |
| $65 = HEAP32[$62>>2]|0; | |
| $66 = ((($65)) + 4|0); | |
| $67 = HEAP32[$66>>2]|0; | |
| $68 = ($67|0)==(0); | |
| if (!($68)) { | |
| _free($60); | |
| } | |
| } | |
| _free($57); | |
| } | |
| } | |
| } | |
| STACKTOP = sp;return; | |
| } | |
| $69 = HEAP32[192]|0;if (($69|0) == -1) HEAP32[192] = 0; | |
| $70 = ($69|0)==(0); | |
| if ($70) { | |
| STACKTOP = sp;return; | |
| } | |
| $71 = HEAP32[$18>>2]|0; | |
| HEAP32[$8>>2] = 772; | |
| $72 = ((($8)) + 4|0); | |
| HEAP32[$72>>2] = 1; | |
| $73 = ((($8)) + 8|0); | |
| $74 = $73; | |
| $75 = $74; | |
| HEAP32[$75>>2] = 0; | |
| $76 = (($74) + 4)|0; | |
| $77 = $76; | |
| HEAP32[$77>>2] = 0; | |
| $78 = ((($8)) + 16|0); | |
| HEAP32[$78>>2] = $addr_of; | |
| $79 = ((($8)) + 20|0); | |
| HEAP32[$79>>2] = 0; | |
| FUNCTION_TABLE_viii[$71 & 127]($7,$1,$8); | |
| $80 = HEAP32[$7>>2]|0; | |
| $cond$i20 = ($80|0)==(1); | |
| if ($cond$i20) { | |
| $81 = ((($7)) + 4|0); | |
| $82 = HEAP32[$81>>2]|0; | |
| $cond$i$i$i21 = ($82|0)==(1); | |
| if ($cond$i$i$i21) { | |
| $83 = ((($7)) + 8|0); | |
| $84 = HEAP32[$83>>2]|0; | |
| $85 = ($84|0)==((488447261)|0); | |
| if (!($85)) { | |
| $86 = ((($84)) + 4|0); | |
| $87 = HEAP32[$86>>2]|0; | |
| $88 = ($87|0)==((488447261)|0); | |
| if (!($88)) { | |
| $89 = ((($84)) + 8|0); | |
| $90 = HEAP32[$89>>2]|0; | |
| $91 = HEAP32[$90>>2]|0; | |
| FUNCTION_TABLE_vi[$91 & 127]($87); | |
| $92 = HEAP32[$89>>2]|0; | |
| $93 = ((($92)) + 4|0); | |
| $94 = HEAP32[$93>>2]|0; | |
| $95 = ($94|0)==(0); | |
| if (!($95)) { | |
| _free($87); | |
| } | |
| } | |
| _free($84); | |
| } | |
| } | |
| } | |
| STACKTOP = sp;return; | |
| } | |
| function __ZN3sys9backtrace7tracing3imp5write20h1dc575cfd4855667pqvE($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$phi$trans$insert148 = 0, $$phi$trans$insert174 = 0, $$pre = 0, $$pre145 = 0, $$pre147 = 0, $$pre149 = 0, $$pre151 = 0, $$pre153 = 0, $$pre175 = 0, $$sink$in$phi$trans$insert = 0, $$sink138$in$phi$trans$insert = 0, $$sink139$in$phi$trans$insert = 0, $$sink142$in$phi$trans$insert = 0, $$sink143$in$phi$trans$insert = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; | |
| var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; | |
| var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; | |
| var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; | |
| var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; | |
| var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $addr_of = 0, $cond = 0, $cond$i$i62 = 0, $cx = 0, $phitmp = 0, $phitmp168 = 0, $phitmp169 = 0, $phitmp170 = 0, $phitmp177 = 0, $switch = 0; | |
| var $switch$i$i = 0, $switch$i$i$i = 0, $switch$i$i81 = 0, $switch$i105 = 0, $switch$i112 = 0, $switch137 = 0, $switch141 = 0, $switch27 = 0, $switchtmp$i$i = 0, $switchtmp$i$i$i = 0, $switchtmp$i$i$i$i = 0, $switchtmp$i$i$i78 = 0, $switchtmp$i$i110 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $addr_of = sp + 64|0; | |
| $3 = sp + 48|0; | |
| $4 = sp + 24|0; | |
| $cx = sp; | |
| (_pthread_mutex_lock(((6880)|0))|0); | |
| $5 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0); | |
| $switchtmp$i$i$i$i = ($5|0)==(0|0); | |
| if ($switchtmp$i$i$i$i) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57); | |
| // unreachable; | |
| } | |
| $6 = HEAP32[$5>>2]|0; | |
| $switch$i$i$i = ($6|0)==(1); | |
| if ($switch$i$i$i) { | |
| $$sink$in$phi$trans$insert = ((($5)) + 4|0); | |
| $$pre = HEAP32[$$sink$in$phi$trans$insert>>2]|0; | |
| $11 = $$pre; | |
| } else { | |
| $7 = $5; | |
| $8 = $7; | |
| HEAP32[$8>>2] = 1; | |
| $9 = (($7) + 4)|0; | |
| $10 = $9; | |
| HEAP32[$10>>2] = 0; | |
| $11 = 0; | |
| } | |
| $12 = ($11|0)!=(0); | |
| $13 = HEAP8[(6904)>>0]|0; | |
| $14 = ((($2)) + 24|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| HEAP32[$4>>2] = 632; | |
| $16 = ((($4)) + 4|0); | |
| HEAP32[$16>>2] = 1; | |
| $17 = ((($4)) + 8|0); | |
| $18 = $17; | |
| $19 = $18; | |
| HEAP32[$19>>2] = 0; | |
| $20 = (($18) + 4)|0; | |
| $21 = $20; | |
| HEAP32[$21>>2] = 0; | |
| $22 = ((($4)) + 16|0); | |
| HEAP32[$22>>2] = $addr_of; | |
| $23 = ((($4)) + 20|0); | |
| HEAP32[$23>>2] = 0; | |
| __THREW__ = 0; | |
| invoke_viii($15|0,($3|0),($1|0),($4|0)); | |
| $24 = __THREW__; __THREW__ = 0; | |
| $25 = $24&1; | |
| if ($25) { | |
| $26 = ___cxa_find_matching_catch_2()|0; | |
| $27 = tempRet0; | |
| $switch137 = ($13<<24>>24)==(1); | |
| if ($switch137) { | |
| do { | |
| if (!($12)) { | |
| $34 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0); | |
| $switchtmp$i$i110 = ($34|0)==(0|0); | |
| if ($switchtmp$i$i110) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57); | |
| // unreachable; | |
| } | |
| $35 = HEAP32[$34>>2]|0; | |
| $switch$i112 = ($35|0)==(1); | |
| if (!($switch$i112)) { | |
| $36 = $34; | |
| $37 = $36; | |
| HEAP32[$37>>2] = 1; | |
| $38 = (($36) + 4)|0; | |
| $39 = $38; | |
| HEAP32[$39>>2] = 0; | |
| break; | |
| } | |
| $$sink139$in$phi$trans$insert = ((($34)) + 4|0); | |
| $$pre147 = HEAP32[$$sink139$in$phi$trans$insert>>2]|0; | |
| $phitmp168 = ($$pre147|0)==(0); | |
| if (!($phitmp168)) { | |
| HEAP8[(6904)>>0] = 1; | |
| } | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((6880)|0))|0); | |
| ___resumeException($26|0); | |
| // unreachable; | |
| } else { | |
| do { | |
| if (!($12)) { | |
| $28 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0); | |
| $switchtmp$i$i$i78 = ($28|0)==(0|0); | |
| if ($switchtmp$i$i$i78) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57); | |
| // unreachable; | |
| } | |
| $29 = HEAP32[$28>>2]|0; | |
| $switch$i$i81 = ($29|0)==(1); | |
| if (!($switch$i$i81)) { | |
| $30 = $28; | |
| $31 = $30; | |
| HEAP32[$31>>2] = 1; | |
| $32 = (($30) + 4)|0; | |
| $33 = $32; | |
| HEAP32[$33>>2] = 0; | |
| break; | |
| } | |
| $$sink138$in$phi$trans$insert = ((($28)) + 4|0); | |
| $$pre145 = HEAP32[$$sink138$in$phi$trans$insert>>2]|0; | |
| $phitmp = ($$pre145|0)==(0); | |
| if (!($phitmp)) { | |
| HEAP8[(6904)>>0] = 1; | |
| } | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((6880)|0))|0); | |
| ___resumeException($26|0); | |
| // unreachable; | |
| } | |
| } | |
| $40 = HEAP32[$3>>2]|0; | |
| $switch = ($40|0)==(1); | |
| if ($switch) { | |
| $45 = ((($3)) + 4|0); | |
| $46 = ((($0)) + 4|0); | |
| $47 = $45; | |
| $48 = $47; | |
| $49 = HEAP32[$48>>2]|0; | |
| $50 = (($47) + 4)|0; | |
| $51 = $50; | |
| $52 = HEAP32[$51>>2]|0; | |
| $53 = $46; | |
| $54 = $53; | |
| HEAP32[$54>>2] = $49; | |
| $55 = (($53) + 4)|0; | |
| $56 = $55; | |
| HEAP32[$56>>2] = $52; | |
| HEAP32[$0>>2] = 1; | |
| } else { | |
| $41 = ((($cx)) + 4|0); | |
| HEAP32[$41>>2] = $1; | |
| $42 = ((($cx)) + 8|0); | |
| HEAP32[$42>>2] = $2; | |
| $43 = ((($cx)) + 12|0); | |
| ;HEAP32[$43>>2]=HEAP32[6912>>2]|0;HEAP32[$43+4>>2]=HEAP32[6912+4>>2]|0;HEAP32[$43+8>>2]=HEAP32[6912+8>>2]|0; | |
| HEAP32[$cx>>2] = 0; | |
| $44 = (__Unwind_Backtrace((91|0),($cx|0))|0); | |
| $cond = ($44|0)==(0); | |
| do { | |
| if ($cond) { | |
| $69 = HEAP32[$43>>2]|0; | |
| $switch27 = ($69|0)==(1); | |
| if ($switch27) { | |
| $70 = ((($cx)) + 16|0); | |
| $71 = ((($0)) + 4|0); | |
| $72 = $70; | |
| $73 = $72; | |
| $74 = HEAP32[$73>>2]|0; | |
| $75 = (($72) + 4)|0; | |
| $76 = $75; | |
| $77 = HEAP32[$76>>2]|0; | |
| $78 = $71; | |
| $79 = $78; | |
| HEAP32[$79>>2] = $74; | |
| $80 = (($78) + 4)|0; | |
| $81 = $80; | |
| HEAP32[$81>>2] = $77; | |
| HEAP32[$0>>2] = 1; | |
| $82 = $70; | |
| $83 = $82; | |
| HEAP32[$83>>2] = 488447261; | |
| $84 = (($82) + 4)|0; | |
| $85 = $84; | |
| HEAP32[$85>>2] = 488447261; | |
| break; | |
| } else { | |
| ;HEAP32[$0>>2]=HEAP32[6832>>2]|0;HEAP32[$0+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[6832+8>>2]|0; | |
| break; | |
| } | |
| } else { | |
| ;HEAP32[$0>>2]=HEAP32[6832>>2]|0;HEAP32[$0+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[6832+8>>2]|0; | |
| $$phi$trans$insert148 = ((($cx)) + 12|0); | |
| $$pre149 = HEAP32[$$phi$trans$insert148>>2]|0; | |
| $cond$i$i62 = ($$pre149|0)==(1); | |
| if ($cond$i$i62) { | |
| $$phi$trans$insert174 = ((($cx)) + 16|0); | |
| $$pre175 = HEAP32[$$phi$trans$insert174>>2]|0; | |
| $phitmp177 = ($$pre175|0)==(1); | |
| if ($phitmp177) { | |
| $86 = ((($cx)) + 20|0); | |
| $87 = HEAP32[$86>>2]|0; | |
| $88 = ($87|0)==((488447261)|0); | |
| if (!($88)) { | |
| $89 = ((($87)) + 4|0); | |
| $90 = HEAP32[$89>>2]|0; | |
| $91 = ($90|0)==((488447261)|0); | |
| if (!($91)) { | |
| $92 = ((($87)) + 8|0); | |
| $93 = HEAP32[$92>>2]|0; | |
| $94 = HEAP32[$93>>2]|0; | |
| FUNCTION_TABLE_vi[$94 & 127]($90); | |
| $95 = HEAP32[$92>>2]|0; | |
| $96 = ((($95)) + 4|0); | |
| $97 = HEAP32[$96>>2]|0; | |
| $98 = ($97|0)==(0); | |
| if (!($98)) { | |
| _free($90); | |
| } | |
| } | |
| _free($87); | |
| } | |
| } | |
| } | |
| } | |
| } while(0); | |
| } | |
| $switch141 = ($13<<24>>24)==(1); | |
| if ($switch141) { | |
| do { | |
| if (!($12)) { | |
| $63 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0); | |
| $switchtmp$i$i = ($63|0)==(0|0); | |
| if ($switchtmp$i$i) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57); | |
| // unreachable; | |
| } | |
| $64 = HEAP32[$63>>2]|0; | |
| $switch$i105 = ($64|0)==(1); | |
| if (!($switch$i105)) { | |
| $65 = $63; | |
| $66 = $65; | |
| HEAP32[$66>>2] = 1; | |
| $67 = (($65) + 4)|0; | |
| $68 = $67; | |
| HEAP32[$68>>2] = 0; | |
| break; | |
| } | |
| $$sink143$in$phi$trans$insert = ((($63)) + 4|0); | |
| $$pre153 = HEAP32[$$sink143$in$phi$trans$insert>>2]|0; | |
| $phitmp170 = ($$pre153|0)==(0); | |
| if (!($phitmp170)) { | |
| HEAP8[(6904)>>0] = 1; | |
| } | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((6880)|0))|0); | |
| STACKTOP = sp;return; | |
| } else { | |
| do { | |
| if (!($12)) { | |
| $57 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0); | |
| $switchtmp$i$i$i = ($57|0)==(0|0); | |
| if ($switchtmp$i$i$i) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57); | |
| // unreachable; | |
| } | |
| $58 = HEAP32[$57>>2]|0; | |
| $switch$i$i = ($58|0)==(1); | |
| if (!($switch$i$i)) { | |
| $59 = $57; | |
| $60 = $59; | |
| HEAP32[$60>>2] = 1; | |
| $61 = (($59) + 4)|0; | |
| $62 = $61; | |
| HEAP32[$62>>2] = 0; | |
| break; | |
| } | |
| $$sink142$in$phi$trans$insert = ((($57)) + 4|0); | |
| $$pre151 = HEAP32[$$sink142$in$phi$trans$insert>>2]|0; | |
| $phitmp169 = ($$pre151|0)==(0); | |
| if (!($phitmp169)) { | |
| HEAP8[(6904)>>0] = 1; | |
| } | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((6880)|0))|0); | |
| STACKTOP = sp;return; | |
| } | |
| } | |
| function __ZN3sys9backtrace7tracing3imp5write8trace_fn20h408698690a8939c6isvE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; | |
| var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; | |
| var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; | |
| var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; | |
| var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; | |
| var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr_of$i = 0; | |
| var $cond$i$i$i26$i = 0, $cond$i$i$i44$i = 0, $cond$i25$i = 0, $cond$i43$i = 0, $const$i$i = 0, $info$i$i = 0, $ip$0$i = 0, $ip$0$v$i = 0, $ip_before_insn$i = 0, $sret_slot$0$i = 0, $sret_slot$1$i = 0, $switch$i = 0, $switch$i$i = 0, $switch21$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $addr_of$i = sp + 88|0; | |
| $info$i$i = sp + 72|0; | |
| $const$i$i = sp + 64|0; | |
| $2 = sp + 56|0; | |
| $ip_before_insn$i = sp + 88|0; | |
| $3 = sp + 40|0; | |
| $4 = sp + 16|0; | |
| $5 = sp; | |
| HEAP32[$ip_before_insn$i>>2] = 0; | |
| $6 = (__Unwind_GetIPInfo(($0|0),($ip_before_insn$i|0))|0); | |
| $7 = ($6|0)==(0); | |
| $8 = $7 ^ 1; | |
| if ($7) { | |
| $10 = $8; | |
| } else { | |
| $14 = HEAP32[$ip_before_insn$i>>2]|0; | |
| $15 = ($14|0)==(0); | |
| $10 = $15; | |
| } | |
| $9 = $10 << 31 >> 31; | |
| $ip$0$v$i = (($9) + ($6))|0; | |
| $ip$0$i = $ip$0$v$i; | |
| (__Unwind_FindEnclosingFunction(($ip$0$i|0))|0); | |
| $11 = HEAP32[$1>>2]|0; | |
| $12 = (($11) + 1)|0; | |
| HEAP32[$1>>2] = $12; | |
| $13 = ($12|0)<(1); | |
| do { | |
| if ($13) { | |
| $sret_slot$0$i = 0; | |
| } else { | |
| $16 = ($12|0)>(100); | |
| if ($16) { | |
| $17 = ((($1)) + 4|0); | |
| $18 = HEAP32[$17>>2]|0; | |
| $19 = ((($1)) + 8|0); | |
| $20 = HEAP32[$19>>2]|0; | |
| $21 = ((($20)) + 24|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| HEAP32[$4>>2] = 640; | |
| $23 = ((($4)) + 4|0); | |
| HEAP32[$23>>2] = 1; | |
| $24 = ((($4)) + 8|0); | |
| $25 = $24; | |
| $26 = $25; | |
| HEAP32[$26>>2] = 0; | |
| $27 = (($25) + 4)|0; | |
| $28 = $27; | |
| HEAP32[$28>>2] = 0; | |
| $29 = ((($4)) + 16|0); | |
| HEAP32[$29>>2] = $addr_of$i; | |
| $30 = ((($4)) + 20|0); | |
| HEAP32[$30>>2] = 0; | |
| FUNCTION_TABLE_viii[$22 & 127]($3,$18,$4); | |
| $31 = HEAP32[$3>>2]|0; | |
| $switch21$i = ($31|0)==(1); | |
| if ($switch21$i) { | |
| $32 = ((($3)) + 4|0); | |
| $33 = $32; | |
| $34 = $33; | |
| $35 = HEAP32[$34>>2]|0; | |
| $36 = (($33) + 4)|0; | |
| $37 = $36; | |
| $38 = HEAP32[$37>>2]|0; | |
| $39 = $32; | |
| $40 = $39; | |
| HEAP32[$40>>2] = 488447261; | |
| $41 = (($39) + 4)|0; | |
| $42 = $41; | |
| HEAP32[$42>>2] = 488447261; | |
| $43 = ((($1)) + 12|0); | |
| $44 = HEAP32[$43>>2]|0; | |
| $cond$i25$i = ($44|0)==(1); | |
| $45 = ((($1)) + 16|0); | |
| if ($cond$i25$i) { | |
| $46 = HEAP32[$45>>2]|0; | |
| $cond$i$i$i26$i = ($46|0)==(1); | |
| if ($cond$i$i$i26$i) { | |
| $47 = ((($1)) + 20|0); | |
| $48 = HEAP32[$47>>2]|0; | |
| $49 = ($48|0)==((488447261)|0); | |
| if (!($49)) { | |
| $50 = ((($48)) + 4|0); | |
| $51 = HEAP32[$50>>2]|0; | |
| $52 = ($51|0)==((488447261)|0); | |
| if (!($52)) { | |
| $53 = ((($48)) + 8|0); | |
| $54 = HEAP32[$53>>2]|0; | |
| $55 = HEAP32[$54>>2]|0; | |
| FUNCTION_TABLE_vi[$55 & 127]($51); | |
| $56 = HEAP32[$53>>2]|0; | |
| $57 = ((($56)) + 4|0); | |
| $58 = HEAP32[$57>>2]|0; | |
| $59 = ($58|0)==(0); | |
| if (!($59)) { | |
| _free($51); | |
| } | |
| } | |
| _free($48); | |
| } | |
| } | |
| } | |
| HEAP32[$43>>2] = 1; | |
| $60 = $45; | |
| $61 = $60; | |
| HEAP32[$61>>2] = $35; | |
| $62 = (($60) + 4)|0; | |
| $63 = $62; | |
| HEAP32[$63>>2] = $38; | |
| $64 = $32; | |
| $65 = $64; | |
| HEAP32[$65>>2] = 488447261; | |
| $66 = (($64) + 4)|0; | |
| $67 = $66; | |
| HEAP32[$67>>2] = 488447261; | |
| } | |
| $sret_slot$0$i = 9; | |
| break; | |
| } | |
| $68 = ((($1)) + 12|0); | |
| $69 = HEAP32[$68>>2]|0; | |
| $switch$i$i = ($69|0)==(1); | |
| if ($switch$i$i) { | |
| $sret_slot$0$i = 9; | |
| } else { | |
| $70 = ((($1)) + 4|0); | |
| $71 = HEAP32[$70>>2]|0; | |
| $72 = ((($1)) + 8|0); | |
| $73 = HEAP32[$72>>2]|0; | |
| ;HEAP32[$info$i$i>>2]=0|0;HEAP32[$info$i$i+4>>2]=0|0;HEAP32[$info$i$i+8>>2]=0|0;HEAP32[$info$i$i+12>>2]=0|0; | |
| $74 = (_dladdr(($ip$0$i|0),($info$i$i|0))|0); | |
| $75 = ($74|0)==(0); | |
| do { | |
| if ($75) { | |
| $76 = $const$i$i; | |
| $77 = $76; | |
| HEAP32[$77>>2] = 0; | |
| $78 = (($76) + 4)|0; | |
| $79 = $78; | |
| HEAP32[$79>>2] = 0; | |
| __ZN10sys_common9backtrace6output20h2200d349d62ac2bfCusE($5,$71,$73,$12,$ip$0$i,$const$i$i); | |
| } else { | |
| $80 = ((($info$i$i)) + 8|0); | |
| $81 = HEAP32[$80>>2]|0; | |
| $82 = (_strlen($81)|0); | |
| $83 = ($82|0)==(-1); | |
| if ($83) { | |
| __ZN5slice20slice_index_len_fail20h9ec8212373ae0291u9PE(-1,0); | |
| // unreachable; | |
| } else { | |
| HEAP32[$2>>2] = $81; | |
| $84 = ((($2)) + 4|0); | |
| HEAP32[$84>>2] = $82; | |
| __ZN10sys_common9backtrace6output20h2200d349d62ac2bfCusE($5,$71,$73,$12,$ip$0$i,$2); | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $85 = HEAP32[$5>>2]|0; | |
| $switch$i = ($85|0)==(1); | |
| if ($switch$i) { | |
| $86 = ((($5)) + 4|0); | |
| $87 = $86; | |
| $88 = $87; | |
| $89 = HEAP32[$88>>2]|0; | |
| $90 = (($87) + 4)|0; | |
| $91 = $90; | |
| $92 = HEAP32[$91>>2]|0; | |
| $93 = $86; | |
| $94 = $93; | |
| HEAP32[$94>>2] = 488447261; | |
| $95 = (($93) + 4)|0; | |
| $96 = $95; | |
| HEAP32[$96>>2] = 488447261; | |
| $97 = HEAP32[$68>>2]|0; | |
| $cond$i43$i = ($97|0)==(1); | |
| $98 = ((($1)) + 16|0); | |
| if ($cond$i43$i) { | |
| $99 = HEAP32[$98>>2]|0; | |
| $cond$i$i$i44$i = ($99|0)==(1); | |
| if ($cond$i$i$i44$i) { | |
| $100 = ((($1)) + 20|0); | |
| $101 = HEAP32[$100>>2]|0; | |
| $102 = ($101|0)==((488447261)|0); | |
| if (!($102)) { | |
| $103 = ((($101)) + 4|0); | |
| $104 = HEAP32[$103>>2]|0; | |
| $105 = ($104|0)==((488447261)|0); | |
| if (!($105)) { | |
| $106 = ((($101)) + 8|0); | |
| $107 = HEAP32[$106>>2]|0; | |
| $108 = HEAP32[$107>>2]|0; | |
| FUNCTION_TABLE_vi[$108 & 127]($104); | |
| $109 = HEAP32[$106>>2]|0; | |
| $110 = ((($109)) + 4|0); | |
| $111 = HEAP32[$110>>2]|0; | |
| $112 = ($111|0)==(0); | |
| if (!($112)) { | |
| _free($104); | |
| } | |
| } | |
| _free($101); | |
| } | |
| } | |
| } | |
| HEAP32[$68>>2] = 1; | |
| $113 = $98; | |
| $114 = $113; | |
| HEAP32[$114>>2] = $89; | |
| $115 = (($113) + 4)|0; | |
| $116 = $115; | |
| HEAP32[$116>>2] = $92; | |
| $117 = $86; | |
| $118 = $117; | |
| HEAP32[$118>>2] = 488447261; | |
| $119 = (($117) + 4)|0; | |
| $120 = $119; | |
| HEAP32[$120>>2] = 488447261; | |
| } | |
| $sret_slot$1$i = 0; | |
| STACKTOP = sp;return ($sret_slot$1$i|0); | |
| } | |
| } | |
| } while(0); | |
| $sret_slot$1$i = $sret_slot$0$i; | |
| STACKTOP = sp;return ($sret_slot$1$i|0); | |
| } | |
| function __ZN10sys_common9backtrace6output20h2200d349d62ac2bfCusE($0,$1,$2,$3,$4,$s) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| $4 = $4|0; | |
| $s = $s|0; | |
| var $$$i$i$i$i = 0, $$$i$i$i$i1 = 0, $$$i$i$i$i9 = 0, $$$i$i$i554$i = 0, $$2649$i = 0, $$arith = 0, $$arith2 = 0, $$cast$i$i$i$i$i$i$i = 0, $$lcssa808 = 0, $$lobit$i$i$i$i$i = 0, $$lobit$i$i$i$i1005$i = 0, $$lobit$i$i$i$i1067$i = 0, $$lobit$i$i$i$i1129$i = 0, $$lobit$i$i$i$i1191$i = 0, $$lobit$i$i$i$i1253$i = 0, $$lobit$i$i$i$i1310$i = 0, $$lobit$i$i$i$i1398$i = 0, $$lobit$i$i$i$i1453$i = 0, $$lobit$i$i$i$i1536$i = 0, $$lobit$i$i$i$i540$i = 0; | |
| var $$lobit$i$i$i$i545$i = 0, $$lobit$i$i$i$i551$i = 0, $$lobit$i$i$i$i749$i = 0, $$lobit$i$i$i$i757$i = 0, $$lobit$i$i$i$i819$i = 0, $$lobit$i$i$i$i881$i = 0, $$lobit$i$i$i$i943$i = 0, $$lobit$i$i1024$i = 0, $$lobit$i$i1086$i = 0, $$lobit$i$i1148$i = 0, $$lobit$i$i1210$i = 0, $$lobit$i$i1272$i = 0, $$lobit$i$i1299$i = 0, $$lobit$i$i1320$i = 0, $$lobit$i$i1363$i = 0, $$lobit$i$i1417$i = 0, $$lobit$i$i1555$i = 0, $$lobit$i$i596$i = 0, $$lobit$i$i696$i = 0, $$lobit$i$i707$i = 0; | |
| var $$lobit$i$i738$i = 0, $$lobit$i$i776$i = 0, $$lobit$i$i838$i = 0, $$lobit$i$i900$i = 0, $$lobit$i$i962$i = 0, $$lobit$not$i$i$i$i$i = 0, $$lobit$not$i$i$i$i1006$i = 0, $$lobit$not$i$i$i$i1068$i = 0, $$lobit$not$i$i$i$i1130$i = 0, $$lobit$not$i$i$i$i1192$i = 0, $$lobit$not$i$i$i$i1254$i = 0, $$lobit$not$i$i$i$i1311$i = 0, $$lobit$not$i$i$i$i1399$i = 0, $$lobit$not$i$i$i$i1454$i = 0, $$lobit$not$i$i$i$i1537$i = 0, $$lobit$not$i$i$i$i541$i = 0, $$lobit$not$i$i$i$i546$i = 0, $$lobit$not$i$i$i$i552$i = 0, $$lobit$not$i$i$i$i750$i = 0, $$lobit$not$i$i$i$i758$i = 0; | |
| var $$lobit$not$i$i$i$i820$i = 0, $$lobit$not$i$i$i$i882$i = 0, $$lobit$not$i$i$i$i944$i = 0, $$lobit$not$i$i1025$i = 0, $$lobit$not$i$i1087$i = 0, $$lobit$not$i$i1149$i = 0, $$lobit$not$i$i1211$i = 0, $$lobit$not$i$i1273$i = 0, $$lobit$not$i$i1300$i = 0, $$lobit$not$i$i1321$i = 0, $$lobit$not$i$i1364$i = 0, $$lobit$not$i$i1418$i = 0, $$lobit$not$i$i1556$i = 0, $$lobit$not$i$i597$i = 0, $$lobit$not$i$i697$i = 0, $$lobit$not$i$i708$i = 0, $$lobit$not$i$i739$i = 0, $$lobit$not$i$i777$i = 0, $$lobit$not$i$i839$i = 0, $$lobit$not$i$i901$i = 0; | |
| var $$lobit$not$i$i963$i = 0, $$off$i$i = 0, $$off$i124$i$i = 0, $$off$i728$i = 0, $$overflow = 0, $$overflow3 = 0, $$phi$trans$insert$i = 0, $$phi$trans$insert2310$i = 0, $$phi$trans$insert2312$i = 0, $$phi$trans$insert2314$i = 0, $$phi$trans$insert2316$i = 0, $$phi$trans$insert2318$i = 0, $$phi$trans$insert2320$i = 0, $$phi$trans$insert2322$i = 0, $$phi$trans$insert2324$i = 0, $$phi$trans$insert2326$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i1020$i = 0, $$pre$i1082$i = 0; | |
| var $$pre$i1144$i = 0, $$pre$i1206$i = 0, $$pre$i1268$i = 0, $$pre$i1295$i = 0, $$pre$i1316$i = 0, $$pre$i1413$i = 0, $$pre$i1551$i = 0, $$pre$i703$i = 0, $$pre$i734$i = 0, $$pre$i772$i = 0, $$pre$i834$i = 0, $$pre$i896$i = 0, $$pre$i958$i = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i1214$iZ2D = 0, $$pre$phi$i7111641$iZ2D = 0, $$pre2311$i = 0, $$pre2313$i = 0, $$pre2315$i = 0, $$pre2317$i = 0; | |
| var $$pre2319$i = 0, $$pre2321$i = 0, $$pre2323$i = 0, $$pre2325$i = 0, $$pre2327$i = 0, $$sroa$0$sroa$10$sroa$0$0 = 0, $$sroa$0$sroa$10$sroa$0$1 = 0, $$sroa$0$sroa$10$sroa$0$1$ph = 0, $$sroa$0154$0175$i$i = 0, $$sroa$10$0157$i$i = 0, $$sroa$1016$0 = 0, $$sroa$26$sroa$0$0$ph = 0, $$sroa$26$sroa$31$0$ph = 0, $$sroa$4$04$i$i$i = 0, $$sroa$54$0$ph$i$i$i$i$i$i$i = 0, $$sroa$6$0$i$i$i = 0, $$sroa$6$0$ph$i = 0, $$sroa$6113$0156$i$i = 0, $10 = 0, $100 = 0; | |
| var $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0; | |
| var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; | |
| var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0; | |
| var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0; | |
| var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0; | |
| var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; | |
| var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; | |
| var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0; | |
| var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0; | |
| var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0; | |
| var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0; | |
| var $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0; | |
| var $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0; | |
| var $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0; | |
| var $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0; | |
| var $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0; | |
| var $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0; | |
| var $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0; | |
| var $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0; | |
| var $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0; | |
| var $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0; | |
| var $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0; | |
| var $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0; | |
| var $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0; | |
| var $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0; | |
| var $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0; | |
| var $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0; | |
| var $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0; | |
| var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; | |
| var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; | |
| var $98 = 0, $99 = 0, $accum$0$lcssa$i$i$i = 0, $accum$05$i$i$i = 0, $addr = 0, $addr_of = 0, $cond$i$i = 0, $extract$t4$i$i$i$i$i = 0, $extract$t4$i$i$i$i1007$i = 0, $extract$t4$i$i$i$i1069$i = 0, $extract$t4$i$i$i$i1131$i = 0, $extract$t4$i$i$i$i1193$i = 0, $extract$t4$i$i$i$i1255$i = 0, $extract$t4$i$i$i$i1312$i = 0, $extract$t4$i$i$i$i1400$i = 0, $extract$t4$i$i$i$i1455$i = 0, $extract$t4$i$i$i$i1538$i = 0, $extract$t4$i$i$i$i547$i = 0, $extract$t4$i$i$i$i751$i = 0, $extract$t4$i$i$i$i759$i = 0; | |
| var $extract$t4$i$i$i$i821$i = 0, $extract$t4$i$i$i$i883$i = 0, $extract$t4$i$i$i$i945$i = 0, $extract$t4$i$i1026$i = 0, $extract$t4$i$i1088$i = 0, $extract$t4$i$i1150$i = 0, $extract$t4$i$i1212$i = 0, $extract$t4$i$i1274$i = 0, $extract$t4$i$i1301$i = 0, $extract$t4$i$i1322$i = 0, $extract$t4$i$i1365$i = 0, $extract$t4$i$i1419$i = 0, $extract$t4$i$i1557$i = 0, $extract$t4$i$i598$i = 0, $extract$t4$i$i698$i = 0, $extract$t4$i$i709$i = 0, $extract$t4$i$i740$i = 0, $extract$t4$i$i778$i = 0, $extract$t4$i$i840$i = 0, $extract$t4$i$i902$i = 0; | |
| var $extract$t4$i$i964$i = 0, $first$0$off02020$i = 0, $i$0$lcssa$i = 0, $i$02023$i = 0, $idx = 0, $idx$0$i = 0, $inner$sroa$0$0$ph$i = 0, $inner$sroa$0$12021$i = 0, $inner$sroa$13$0$ph$i = 0, $inner$sroa$13$0$ph$in$i = 0, $inner$sroa$13$12022$i = 0, $not$$i$i$i$i$i$i = 0, $not$$i$i$i$i1251$i = 0, $not$$i$i$i$i755$i = 0, $not$$i$i1208$i = 0, $not$$i$i1361$i = 0, $not$$i$i594$i = 0, $not$$i$i694$i = 0, $not$$i$i705$i = 0, $not$extract$t4$i$i$i$i$i = 0; | |
| var $not$extract$t4$i$i$i$i553$i = 0, $or$cond$i$i$i = 0, $or$cond9$i$i$i = 0, $phitmp$i$i$i$i = 0, $phitmp$i$i$i$i$i$i$i$i$i = 0, $phitmp29$i$i$i$i = 0, $phitmp29$i$i$i$i$i$i$i$i$i = 0, $phitmp30$i$i$i$i = 0, $phitmp30$i$i$i$i$i$i$i$i$i = 0, $rest$sroa$0$02018$i = 0, $rest$sroa$0$1$i = 0, $rest$sroa$59$02019$i = 0, $rest$sroa$59$1$i = 0, $result$0174$i$i = 0, $rhsc$i = 0, $s$sroa$0$0$ph$i$i$i = 0, $s$sroa$0$0$ph$i$i$i2 = 0, $s$sroa$7$0$i$i$i = 0, $s$sroa$7$0$i$i$i5 = 0, $s$sroa$7$0$ph$i$i$i = 0; | |
| var $s$sroa$7$0$ph$i$i$i3 = 0, $sret_slot$0$i$i$i$i = 0, $sret_slot$0$i$i$i$i$i = 0, $sret_slot$0$i$i$i$i$i$i$i$i$i$i = 0, $sret_slot$0$i$i$i$i10 = 0, $sret_slot$0$i13$i$i$i$i = 0, $sret_slot$0$i13$i$i$i$i$i$i$i$i$i = 0, $sret_slot$0$i20$i$i$i$i = 0, $sret_slot$0$i20$i$i$i$i$i$i$i$i$i = 0, $switch$i$i$i = 0, $switch394$i = 0, $switch395$i = 0, $switch396$i = 0, $switch397$i = 0, $switch398$i = 0, $switch399$i = 0, $switch400$i = 0, $switch401$i = 0, $switch402$i = 0, $switch403$i = 0; | |
| var $switch404$i = 0, $switch405$i = 0, $switch406$i = 0, $switch407$i = 0, $switch408$i = 0, $switch409$i = 0, $switch411$i = 0, $switch62 = 0, $switch63tmp = 0, $switch64 = 0, $switchtmp$i = 0, $val$0$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 400|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $addr_of = sp + 392|0; | |
| $5 = sp + 376|0; | |
| $6 = sp + 360|0; | |
| $7 = sp + 344|0; | |
| $8 = sp + 328|0; | |
| $9 = sp + 312|0; | |
| $10 = sp + 296|0; | |
| $11 = sp + 280|0; | |
| $12 = sp + 264|0; | |
| $13 = sp + 248|0; | |
| $14 = sp + 232|0; | |
| $15 = sp + 216|0; | |
| $16 = sp + 200|0; | |
| $17 = sp + 184|0; | |
| $18 = sp + 168|0; | |
| $19 = sp + 152|0; | |
| $20 = sp + 136|0; | |
| $21 = sp + 120|0; | |
| $22 = sp + 104|0; | |
| $idx = sp + 396|0; | |
| $addr = sp + 392|0; | |
| $23 = sp + 88|0; | |
| $24 = sp + 64|0; | |
| $25 = sp + 40|0; | |
| $26 = sp + 24|0; | |
| $27 = sp; | |
| HEAP32[$idx>>2] = $3; | |
| HEAP32[$addr>>2] = $4; | |
| $28 = ((($2)) + 24|0); | |
| $29 = HEAP32[$28>>2]|0; | |
| $30 = ((($25)) + 4|0); | |
| HEAP32[$30>>2] = 92; | |
| HEAP32[$25>>2] = $idx; | |
| $31 = ((($25)) + 8|0); | |
| $32 = ((($25)) + 12|0); | |
| HEAP32[$32>>2] = 93; | |
| HEAP32[$31>>2] = $addr; | |
| $33 = ((($25)) + 16|0); | |
| $34 = ((($25)) + 20|0); | |
| HEAP32[$34>>2] = 94; | |
| HEAP32[$33>>2] = 648; | |
| HEAP32[$24>>2] = 652; | |
| $35 = ((($24)) + 4|0); | |
| HEAP32[$35>>2] = 3; | |
| $36 = ((($24)) + 8|0); | |
| HEAP32[$36>>2] = 676; | |
| $37 = ((($24)) + 12|0); | |
| HEAP32[$37>>2] = 2; | |
| $38 = ((($24)) + 16|0); | |
| HEAP32[$38>>2] = $25; | |
| $39 = ((($24)) + 20|0); | |
| HEAP32[$39>>2] = 3; | |
| FUNCTION_TABLE_viii[$29 & 127]($23,$1,$24); | |
| $40 = HEAP32[$23>>2]|0; | |
| $switch62 = ($40|0)==(1); | |
| if ($switch62) { | |
| $50 = ((($23)) + 4|0); | |
| $51 = ((($0)) + 4|0); | |
| $52 = $50; | |
| $53 = $52; | |
| $54 = HEAP32[$53>>2]|0; | |
| $55 = (($52) + 4)|0; | |
| $56 = $55; | |
| $57 = HEAP32[$56>>2]|0; | |
| $58 = $51; | |
| $59 = $58; | |
| HEAP32[$59>>2] = $54; | |
| $60 = (($58) + 4)|0; | |
| $61 = $60; | |
| HEAP32[$61>>2] = $57; | |
| HEAP32[$0>>2] = 1; | |
| STACKTOP = sp;return; | |
| } | |
| $41 = HEAP32[$s>>2]|0; | |
| $switchtmp$i = ($41|0)==(0|0); | |
| L5: do { | |
| if ($switchtmp$i) { | |
| label = 267; | |
| } else { | |
| $42 = ((($s)) + 4|0); | |
| $43 = HEAP32[$42>>2]|0; | |
| __ZN3str9from_utf820h89a4a927a5863b3a3sSE($22,$41,$43); | |
| $44 = HEAP32[$22>>2]|0; | |
| $switch$i$i$i = ($44|0)==(1); | |
| $45 = ((($22)) + 4|0); | |
| $46 = HEAP32[$45>>2]|0; | |
| $47 = ((($22)) + 8|0); | |
| $48 = HEAP32[$47>>2]|0; | |
| if ($switch$i$i$i) { | |
| label = 267; | |
| } else { | |
| $49 = $46; | |
| $switch63tmp = ($46|0)==(0); | |
| if ($switch63tmp) { | |
| label = 267; | |
| } else { | |
| $62 = ($48>>>0)>(4); | |
| if ($62) { | |
| $65 = ((($49)) + 3|0); | |
| $66 = HEAP8[$65>>0]|0; | |
| $67 = ($66&255)>(191); | |
| $$lobit$i$i$i$i$i = ($66&255) >>> 7; | |
| $$lobit$not$i$i$i$i$i = $$lobit$i$i$i$i$i ^ 1; | |
| $68 = $67&1; | |
| $69 = $$lobit$not$i$i$i$i$i | $68; | |
| $extract$t4$i$i$i$i$i = ($69<<24>>24)==(0); | |
| if ($extract$t4$i$i$i$i$i) { | |
| label = 13; | |
| } else { | |
| $63 = (_memcmp(2876,$49,3)|0); | |
| $64 = ($63|0)==(0); | |
| if ($64) { | |
| $70 = (($48) + -1)|0; | |
| $71 = (($49) + ($70)|0); | |
| $72 = HEAP8[$71>>0]|0; | |
| $73 = ($72&255)>(191); | |
| $$lobit$i$i$i$i540$i = ($72&255) >>> 7; | |
| $$lobit$not$i$i$i$i541$i = $$lobit$i$i$i$i540$i ^ 1; | |
| $74 = $73&1; | |
| $75 = $$lobit$not$i$i$i$i541$i | $74; | |
| $76 = ($72<<24>>24)==(69); | |
| $not$extract$t4$i$i$i$i$i = ($75<<24>>24)!=(0); | |
| $$$i$i$i$i = $76 & $not$extract$t4$i$i$i$i$i; | |
| if ($$$i$i$i$i) { | |
| $inner$sroa$0$0$ph$i = $65;$inner$sroa$13$0$ph$in$i = $70; | |
| label = 15; | |
| } else { | |
| label = 13; | |
| } | |
| } else { | |
| label = 13; | |
| } | |
| } | |
| } else { | |
| $77 = ($48>>>0)>(3); | |
| if ($77) { | |
| label = 13; | |
| } else { | |
| label = 50; | |
| } | |
| } | |
| if ((label|0) == 13) { | |
| $80 = ((($49)) + 2|0); | |
| $81 = HEAP8[$80>>0]|0; | |
| $82 = ($81&255)>(191); | |
| $$lobit$i$i$i$i545$i = ($81&255) >>> 7; | |
| $$lobit$not$i$i$i$i546$i = $$lobit$i$i$i$i545$i ^ 1; | |
| $83 = $82&1; | |
| $84 = $$lobit$not$i$i$i$i546$i | $83; | |
| $extract$t4$i$i$i$i547$i = ($84<<24>>24)==(0); | |
| if ($extract$t4$i$i$i$i547$i) { | |
| label = 50; | |
| } else { | |
| $78 = (_memcmp(2879,$49,2)|0); | |
| $79 = ($78|0)==(0); | |
| if ($79) { | |
| $85 = (($48) + -1)|0; | |
| $86 = (($49) + ($85)|0); | |
| $87 = HEAP8[$86>>0]|0; | |
| $88 = ($87&255)>(191); | |
| $$lobit$i$i$i$i551$i = ($87&255) >>> 7; | |
| $$lobit$not$i$i$i$i552$i = $$lobit$i$i$i$i551$i ^ 1; | |
| $89 = $88&1; | |
| $90 = $$lobit$not$i$i$i$i552$i | $89; | |
| $91 = ($87<<24>>24)==(69); | |
| $not$extract$t4$i$i$i$i553$i = ($90<<24>>24)!=(0); | |
| $$$i$i$i554$i = $91 & $not$extract$t4$i$i$i$i553$i; | |
| if ($$$i$i$i554$i) { | |
| $inner$sroa$0$0$ph$i = $80;$inner$sroa$13$0$ph$in$i = $48; | |
| label = 15; | |
| } else { | |
| label = 50; | |
| } | |
| } else { | |
| label = 50; | |
| } | |
| } | |
| } | |
| L18: do { | |
| if ((label|0) == 15) { | |
| $inner$sroa$13$0$ph$i = (($inner$sroa$13$0$ph$in$i) + -3)|0; | |
| $92 = (($inner$sroa$0$0$ph$i) + ($inner$sroa$13$0$ph$i)|0); | |
| $93 = $inner$sroa$0$0$ph$i; | |
| L20: while(1) { | |
| $94 = ($93|0)==($92|0); | |
| if ($94) { | |
| break; | |
| } else { | |
| $96 = $93;$i$02023$i = 0; | |
| } | |
| L22: while(1) { | |
| $95 = ((($96)) + 1|0); | |
| $97 = HEAP8[$96>>0]|0; | |
| $98 = ($97<<24>>24)<(0); | |
| if ($98) { | |
| $100 = $97 & 31; | |
| $101 = $100&255; | |
| $102 = ($95|0)==($92|0); | |
| if ($102) { | |
| $109 = $92;$sret_slot$0$i20$i$i$i$i = 0; | |
| } else { | |
| $103 = ((($96)) + 2|0); | |
| $104 = HEAP8[$95>>0]|0; | |
| $phitmp$i$i$i$i = $104 & 63; | |
| $109 = $103;$sret_slot$0$i20$i$i$i$i = $phitmp$i$i$i$i; | |
| } | |
| $105 = $101 << 6; | |
| $106 = $sret_slot$0$i20$i$i$i$i&255; | |
| $107 = $106 | $105; | |
| $108 = ($97&255)>(223); | |
| if ($108) { | |
| $110 = ($109|0)==($92|0); | |
| if ($110) { | |
| $119 = $92;$sret_slot$0$i13$i$i$i$i = 0; | |
| } else { | |
| $111 = ((($109)) + 1|0); | |
| $112 = HEAP8[$109>>0]|0; | |
| $phitmp29$i$i$i$i = $112 & 63; | |
| $119 = $111;$sret_slot$0$i13$i$i$i$i = $phitmp29$i$i$i$i; | |
| } | |
| $113 = $106 << 6; | |
| $114 = $sret_slot$0$i13$i$i$i$i&255; | |
| $115 = $114 | $113; | |
| $116 = $101 << 12; | |
| $117 = $115 | $116; | |
| $118 = ($97&255)>(239); | |
| if ($118) { | |
| $120 = ($119|0)==($92|0); | |
| if ($120) { | |
| $597 = $92;$sret_slot$0$i$i$i$i$i = 0; | |
| } else { | |
| $121 = ((($119)) + 1|0); | |
| $122 = HEAP8[$119>>0]|0; | |
| $phitmp30$i$i$i$i = $122 & 63; | |
| $597 = $121;$sret_slot$0$i$i$i$i$i = $phitmp30$i$i$i$i; | |
| } | |
| $123 = $101 << 18; | |
| $124 = $123 & 1835008; | |
| $125 = $115 << 6; | |
| $126 = $sret_slot$0$i$i$i$i$i&255; | |
| $127 = $125 | $124; | |
| $128 = $127 | $126; | |
| $$sroa$6$0$ph$i = $128;$146 = $597; | |
| } else { | |
| $$sroa$6$0$ph$i = $117;$146 = $119; | |
| } | |
| } else { | |
| $$sroa$6$0$ph$i = $107;$146 = $109; | |
| } | |
| } else { | |
| $99 = $97&255; | |
| $$sroa$6$0$ph$i = $99;$146 = $95; | |
| } | |
| $$off$i$i = (($$sroa$6$0$ph$i) + -48)|0; | |
| $129 = ($$off$i$i>>>0)<(10); | |
| L39: do { | |
| if (!($129)) { | |
| $130 = ($$sroa$6$0$ph$i>>>0)<(128); | |
| if ($130) { | |
| $$lcssa808 = $146;$i$0$lcssa$i = $i$02023$i; | |
| break L22; | |
| } else { | |
| $s$sroa$0$0$ph$i$i$i = 920;$s$sroa$7$0$ph$i$i$i = 63; | |
| } | |
| while(1) { | |
| $s$sroa$7$0$i$i$i = $s$sroa$7$0$ph$i$i$i; | |
| L43: while(1) { | |
| $131 = $s$sroa$7$0$i$i$i >>> 1; | |
| $132 = ($s$sroa$7$0$i$i$i>>>0)<($131>>>0); | |
| if ($132) { | |
| label = 32; | |
| break L20; | |
| } | |
| $133 = (($s$sroa$0$0$ph$i$i$i) + ($131<<3)|0); | |
| $134 = ($s$sroa$7$0$i$i$i|0)==($131|0); | |
| if ($134) { | |
| $$lcssa808 = $146;$i$0$lcssa$i = $i$02023$i; | |
| break L22; | |
| } | |
| $135 = HEAP32[$133>>2]|0; | |
| $136 = ($135>>>0)>($$sroa$6$0$ph$i>>>0); | |
| $137 = (((($s$sroa$0$0$ph$i$i$i) + ($131<<3)|0)) + 4|0); | |
| $138 = HEAP32[$137>>2]|0; | |
| $139 = ($138>>>0)<($$sroa$6$0$ph$i>>>0); | |
| $$$i$i$i$i1 = $139 << 31 >> 31; | |
| $sret_slot$0$i$i$i$i = $136 ? 1 : $$$i$i$i$i1; | |
| switch ($sret_slot$0$i$i$i$i<<24>>24) { | |
| case 0: { | |
| break L39; | |
| break; | |
| } | |
| case 1: { | |
| $s$sroa$7$0$i$i$i = $131; | |
| break; | |
| } | |
| case -1: { | |
| break L43; | |
| break; | |
| } | |
| default: { | |
| label = 35; | |
| break L20; | |
| } | |
| } | |
| } | |
| $140 = ((($133)) + 8|0); | |
| $141 = (($s$sroa$7$0$i$i$i) + -1)|0; | |
| $142 = (($141) - ($131))|0; | |
| $s$sroa$0$0$ph$i$i$i = $140;$s$sroa$7$0$ph$i$i$i = $142; | |
| } | |
| } | |
| } while(0); | |
| $143 = ($i$02023$i*10)|0; | |
| $144 = (($143) + -48)|0; | |
| $145 = (($144) + ($$sroa$6$0$ph$i))|0; | |
| $147 = ($146|0)==($92|0); | |
| if ($147) { | |
| $$lcssa808 = $92;$i$0$lcssa$i = $145; | |
| break; | |
| } else { | |
| $96 = $146;$i$02023$i = $145; | |
| } | |
| } | |
| $148 = ($i$0$lcssa$i|0)==(0); | |
| if ($148) { | |
| $149 = $$lcssa808; | |
| label = 39; | |
| break; | |
| } | |
| $151 = (($i$0$lcssa$i) + -1)|0; | |
| $152 = ($151|0)==(0); | |
| L51: do { | |
| if ($152) { | |
| $598 = $$lcssa808;$accum$0$lcssa$i$i$i = 0; | |
| } else { | |
| $$sroa$4$04$i$i$i = $151;$154 = $$lcssa808;$accum$05$i$i$i = 0; | |
| while(1) { | |
| $153 = (($$sroa$4$04$i$i$i) + -1)|0; | |
| $155 = ($154|0)==($92|0); | |
| if ($155) { | |
| $598 = $92;$accum$0$lcssa$i$i$i = $accum$05$i$i$i; | |
| break L51; | |
| } | |
| $156 = ((($154)) + 1|0); | |
| $157 = HEAP8[$154>>0]|0; | |
| $158 = ($157<<24>>24)<(0); | |
| if ($158) { | |
| $159 = ($156|0)==($92|0); | |
| if ($159) { | |
| $599 = $92; | |
| } else { | |
| $160 = ((($154)) + 2|0); | |
| $161 = ($157&255)<(224); | |
| $162 = ($160|0)==($92|0); | |
| $or$cond9$i$i$i = $162 | $161; | |
| if ($or$cond9$i$i$i) { | |
| $599 = $160; | |
| } else { | |
| $163 = ((($154)) + 3|0); | |
| $164 = ($157&255)<(240); | |
| $165 = ($163|0)==($92|0); | |
| $or$cond$i$i$i = $165 | $164; | |
| $166 = ((($154)) + 4|0); | |
| $$2649$i = $or$cond$i$i$i ? $163 : $166; | |
| $599 = $$2649$i; | |
| } | |
| } | |
| } else { | |
| $599 = $156; | |
| } | |
| $167 = (($accum$05$i$i$i) + 1)|0; | |
| $168 = ($153|0)==(0); | |
| if ($168) { | |
| $598 = $599;$accum$0$lcssa$i$i$i = $167; | |
| break; | |
| } else { | |
| $$sroa$4$04$i$i$i = $153;$154 = $599;$accum$05$i$i$i = $167; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $169 = ($accum$0$lcssa$i$i$i|0)==($151|0); | |
| if ($169) { | |
| $93 = $598; | |
| } else { | |
| label = 50; | |
| break L18; | |
| } | |
| } | |
| if ((label|0) == 32) { | |
| __ZN5slice20slice_index_len_fail20h9ec8212373ae0291u9PE($131,$s$sroa$7$0$i$i$i); | |
| // unreachable; | |
| } | |
| else if ((label|0) == 35) { | |
| // unreachable; | |
| } | |
| else if ((label|0) == 39) { | |
| $150 = ($149|0)==($92|0); | |
| if (!($150)) { | |
| label = 50; | |
| break; | |
| } | |
| } | |
| $170 = ($inner$sroa$13$0$ph$i|0)==(0); | |
| if ($170) { | |
| break L5; | |
| } | |
| $171 = ((($2)) + 20|0); | |
| $$sroa$0$sroa$10$sroa$0$0 = 0;$first$0$off02020$i = 1;$inner$sroa$0$12021$i = $inner$sroa$0$0$ph$i;$inner$sroa$13$12022$i = $inner$sroa$13$0$ph$i; | |
| L67: while(1) { | |
| if (!($first$0$off02020$i)) { | |
| $179 = HEAP32[$171>>2]|0; | |
| FUNCTION_TABLE_viiii[$179 & 127]($6,$1,2881,2); | |
| $180 = HEAP32[$6>>2]|0; | |
| $switch395$i = ($180|0)==(1); | |
| if ($switch395$i) { | |
| label = 58; | |
| break; | |
| } | |
| } | |
| $181 = ($inner$sroa$13$12022$i|0)==(0); | |
| if ($181) { | |
| label = 78; | |
| break; | |
| } | |
| $$pre = HEAP8[$inner$sroa$0$12021$i>>0]|0; | |
| $209 = $$pre;$rest$sroa$0$02018$i = $inner$sroa$0$12021$i;$rest$sroa$59$02019$i = $inner$sroa$13$12022$i; | |
| L74: while(1) { | |
| $210 = ($209<<24>>24)>(-1); | |
| $211 = $209&255; | |
| if ($210) { | |
| $244 = $211; | |
| } else { | |
| $212 = (4617 + ($211)|0); | |
| $213 = HEAP8[$212>>0]|0; | |
| $214 = ($213<<24>>24)==(0); | |
| if ($214) { | |
| label = 80; | |
| break L67; | |
| } | |
| $215 = ($rest$sroa$59$02019$i>>>0)>(1); | |
| if (!($215)) { | |
| label = 82; | |
| break L67; | |
| } | |
| $216 = $213 & 7; | |
| $217 = (127&255) >>> $216; | |
| $218 = $217 & $209; | |
| $219 = $218&255; | |
| $220 = ((($rest$sroa$0$02018$i)) + 1|0); | |
| $221 = HEAP8[$220>>0]|0; | |
| $222 = $219 << 6; | |
| $223 = $221 & 63; | |
| $224 = $223&255; | |
| $225 = $224 | $222; | |
| $226 = (($211) + -224)|0; | |
| $227 = ($226>>>0)<(21); | |
| if ($227) { | |
| $228 = ($rest$sroa$59$02019$i>>>0)>(2); | |
| if (!($228)) { | |
| label = 85; | |
| break L67; | |
| } | |
| $229 = ((($rest$sroa$0$02018$i)) + 2|0); | |
| $230 = HEAP8[$229>>0]|0; | |
| $231 = $225 << 6; | |
| $232 = $230 & 63; | |
| $233 = $232&255; | |
| $234 = $233 | $231; | |
| $val$0$i = $234; | |
| } else { | |
| $val$0$i = $225; | |
| } | |
| $235 = (($211) + -240)|0; | |
| $236 = ($235>>>0)<(5); | |
| if ($236) { | |
| $237 = ($rest$sroa$59$02019$i>>>0)>(3); | |
| if (!($237)) { | |
| label = 89; | |
| break L67; | |
| } | |
| $238 = ((($rest$sroa$0$02018$i)) + 3|0); | |
| $239 = HEAP8[$238>>0]|0; | |
| $240 = $val$0$i << 6; | |
| $241 = $239 & 63; | |
| $242 = $241&255; | |
| $243 = $242 | $240; | |
| $244 = $243; | |
| } else { | |
| $244 = $val$0$i; | |
| } | |
| } | |
| $$off$i728$i = (($244) + -48)|0; | |
| $245 = ($$off$i728$i>>>0)<(10); | |
| L87: do { | |
| if (!($245)) { | |
| $246 = ($244>>>0)<(128); | |
| if ($246) { | |
| break L74; | |
| } else { | |
| $s$sroa$0$0$ph$i$i$i2 = 920;$s$sroa$7$0$ph$i$i$i3 = 63; | |
| } | |
| while(1) { | |
| $s$sroa$7$0$i$i$i5 = $s$sroa$7$0$ph$i$i$i3; | |
| L91: while(1) { | |
| $247 = $s$sroa$7$0$i$i$i5 >>> 1; | |
| $248 = ($s$sroa$7$0$i$i$i5>>>0)<($247>>>0); | |
| if ($248) { | |
| label = 95; | |
| break L67; | |
| } | |
| $249 = (($s$sroa$0$0$ph$i$i$i2) + ($247<<3)|0); | |
| $250 = ($s$sroa$7$0$i$i$i5|0)==($247|0); | |
| if ($250) { | |
| break L74; | |
| } | |
| $251 = HEAP32[$249>>2]|0; | |
| $252 = ($251>>>0)>($244>>>0); | |
| $253 = (((($s$sroa$0$0$ph$i$i$i2) + ($247<<3)|0)) + 4|0); | |
| $254 = HEAP32[$253>>2]|0; | |
| $255 = ($254>>>0)<($244>>>0); | |
| $$$i$i$i$i9 = $255 << 31 >> 31; | |
| $sret_slot$0$i$i$i$i10 = $252 ? 1 : $$$i$i$i$i9; | |
| switch ($sret_slot$0$i$i$i$i10<<24>>24) { | |
| case 0: { | |
| break L87; | |
| break; | |
| } | |
| case 1: { | |
| $s$sroa$7$0$i$i$i5 = $247; | |
| break; | |
| } | |
| case -1: { | |
| break L91; | |
| break; | |
| } | |
| default: { | |
| label = 98; | |
| break L67; | |
| } | |
| } | |
| } | |
| $256 = ((($249)) + 8|0); | |
| $257 = (($s$sroa$7$0$i$i$i5) + -1)|0; | |
| $258 = (($257) - ($247))|0; | |
| $s$sroa$0$0$ph$i$i$i2 = $256;$s$sroa$7$0$ph$i$i$i3 = $258; | |
| } | |
| } | |
| } while(0); | |
| $259 = ($rest$sroa$59$02019$i|0)==(1); | |
| $$pre$i734$i = ((($rest$sroa$0$02018$i)) + 1|0); | |
| if ($259) { | |
| label = 78; | |
| break L67; | |
| } | |
| $260 = HEAP8[$$pre$i734$i>>0]|0; | |
| $261 = ($260&255)>(191); | |
| $$lobit$i$i738$i = ($260&255) >>> 7; | |
| $$lobit$not$i$i739$i = $$lobit$i$i738$i ^ 1; | |
| $262 = $261&1; | |
| $263 = $$lobit$not$i$i739$i | $262; | |
| $extract$t4$i$i740$i = ($263<<24>>24)==(0); | |
| if ($extract$t4$i$i740$i) { | |
| label = 102; | |
| break L67; | |
| } | |
| $264 = (($rest$sroa$59$02019$i) + -1)|0; | |
| $265 = ($264|0)==(0); | |
| if ($265) { | |
| label = 78; | |
| break L67; | |
| } else { | |
| $209 = $260;$rest$sroa$0$02018$i = $$pre$i734$i;$rest$sroa$59$02019$i = $264; | |
| } | |
| } | |
| $186 = (($inner$sroa$13$12022$i) - ($rest$sroa$59$02019$i))|0; | |
| $not$$i$i694$i = ($inner$sroa$13$12022$i>>>0)>($186>>>0); | |
| if (!($not$$i$i694$i)) { | |
| label = 61; | |
| break; | |
| } | |
| $187 = (($inner$sroa$0$12021$i) + ($186)|0); | |
| $188 = HEAP8[$187>>0]|0; | |
| $189 = ($188&255)>(191); | |
| $$lobit$i$i696$i = ($188&255) >>> 7; | |
| $$lobit$not$i$i697$i = $$lobit$i$i696$i ^ 1; | |
| $190 = $189&1; | |
| $191 = $$lobit$not$i$i697$i | $190; | |
| $extract$t4$i$i698$i = ($191<<24>>24)==(0); | |
| if ($extract$t4$i$i698$i) { | |
| label = 61; | |
| break; | |
| } | |
| $192 = ($inner$sroa$13$12022$i|0)==($rest$sroa$59$02019$i|0); | |
| if ($192) { | |
| $$sroa$0$sroa$10$sroa$0$1$ph = 0; | |
| label = 70; | |
| break; | |
| } | |
| $cond$i$i = ($$pre<<24>>24)==(43); | |
| if ($cond$i$i) { | |
| $193 = ((($inner$sroa$0$12021$i)) + 1|0); | |
| $194 = (($186) + -1)|0; | |
| $195 = ($194|0)==(0); | |
| if ($195) { | |
| $$sroa$0$sroa$10$sroa$0$1$ph = 0; | |
| label = 70; | |
| break; | |
| } else { | |
| $$sroa$10$0157$i$i = $194;$$sroa$6113$0156$i$i = $193; | |
| } | |
| } else { | |
| $$sroa$10$0157$i$i = $186;$$sroa$6113$0156$i$i = $inner$sroa$0$12021$i; | |
| } | |
| $196 = (($$sroa$6113$0156$i$i) + ($$sroa$10$0157$i$i)|0); | |
| $$sroa$0154$0175$i$i = $$sroa$6113$0156$i$i;$result$0174$i$i = 0; | |
| while(1) { | |
| $197 = ((($$sroa$0154$0175$i$i)) + 1|0); | |
| $198 = HEAP8[$$sroa$0154$0175$i$i>>0]|0; | |
| $199 = $198&255; | |
| $$off$i124$i$i = (($199) + -48)|0; | |
| $200 = ($$off$i124$i$i>>>0)<(10); | |
| if (!($200)) { | |
| $$sroa$0$sroa$10$sroa$0$1$ph = 1; | |
| label = 70; | |
| break L67; | |
| } | |
| $$arith2 = ($result$0174$i$i*10)|0; | |
| $$overflow3 = ($result$0174$i$i>>>0)>(429496729); | |
| if ($$overflow3) { | |
| $$sroa$0$sroa$10$sroa$0$1$ph = 2; | |
| label = 70; | |
| break L67; | |
| } | |
| $$arith = (($$arith2) + ($$off$i124$i$i))|0; | |
| $$overflow = ($$arith>>>0)<($$arith2>>>0); | |
| if ($$overflow) { | |
| $$sroa$0$sroa$10$sroa$0$1$ph = 2; | |
| label = 70; | |
| break L67; | |
| } | |
| $201 = ($197|0)==($196|0); | |
| if ($201) { | |
| $$sroa$0$sroa$10$sroa$0$1 = $$sroa$0$sroa$10$sroa$0$0;$$sroa$1016$0 = $$arith; | |
| break; | |
| } else { | |
| $$sroa$0154$0175$i$i = $197;$result$0174$i$i = $$arith; | |
| } | |
| } | |
| $202 = ($rest$sroa$59$02019$i|0)==($$sroa$1016$0|0); | |
| if ($202) { | |
| $$pre$i703$i = (($rest$sroa$0$02018$i) + ($rest$sroa$59$02019$i)|0); | |
| $$pre$phi$i7111641$iZ2D = $$pre$i703$i; | |
| } else { | |
| $not$$i$i705$i = ($rest$sroa$59$02019$i>>>0)>($$sroa$1016$0>>>0); | |
| if (!($not$$i$i705$i)) { | |
| label = 75; | |
| break; | |
| } | |
| $203 = (($rest$sroa$0$02018$i) + ($$sroa$1016$0)|0); | |
| $204 = HEAP8[$203>>0]|0; | |
| $205 = ($204&255)>(191); | |
| $$lobit$i$i707$i = ($204&255) >>> 7; | |
| $$lobit$not$i$i708$i = $$lobit$i$i707$i ^ 1; | |
| $206 = $205&1; | |
| $207 = $$lobit$not$i$i708$i | $206; | |
| $extract$t4$i$i709$i = ($207<<24>>24)==(0); | |
| if ($extract$t4$i$i709$i) { | |
| label = 75; | |
| break; | |
| } else { | |
| $$pre$phi$i7111641$iZ2D = $203; | |
| } | |
| } | |
| $208 = (($rest$sroa$59$02019$i) - ($$sroa$1016$0))|0; | |
| $rest$sroa$0$1$i = $rest$sroa$0$02018$i;$rest$sroa$59$1$i = $$sroa$1016$0; | |
| L117: while(1) { | |
| switch ($rest$sroa$59$1$i|0) { | |
| case 0: { | |
| break L117; | |
| break; | |
| } | |
| case 1: { | |
| label = 106; | |
| break; | |
| } | |
| default: { | |
| $266 = ((($rest$sroa$0$1$i)) + 1|0); | |
| $267 = HEAP8[$266>>0]|0; | |
| $268 = ($267&255)>(191); | |
| $$lobit$i$i$i$i749$i = ($267&255) >>> 7; | |
| $$lobit$not$i$i$i$i750$i = $$lobit$i$i$i$i749$i ^ 1; | |
| $269 = $268&1; | |
| $270 = $$lobit$not$i$i$i$i750$i | $269; | |
| $extract$t4$i$i$i$i751$i = ($270<<24>>24)==(0); | |
| if (!($extract$t4$i$i$i$i751$i)) { | |
| label = 106; | |
| } | |
| } | |
| } | |
| if ((label|0) == 106) { | |
| label = 0; | |
| $rhsc$i = HEAP8[$rest$sroa$0$1$i>>0]|0; | |
| $271 = ($rhsc$i<<24>>24)==(36); | |
| if ($271) { | |
| $272 = ($rest$sroa$59$1$i|0)==(4); | |
| do { | |
| if ($272) { | |
| label = 110; | |
| } else { | |
| $not$$i$i$i$i755$i = ($rest$sroa$59$1$i>>>0)>(4); | |
| if ($not$$i$i$i$i755$i) { | |
| $273 = ((($rest$sroa$0$1$i)) + 4|0); | |
| $274 = HEAP8[$273>>0]|0; | |
| $275 = ($274&255)>(191); | |
| $$lobit$i$i$i$i757$i = ($274&255) >>> 7; | |
| $$lobit$not$i$i$i$i758$i = $$lobit$i$i$i$i757$i ^ 1; | |
| $276 = $275&1; | |
| $277 = $$lobit$not$i$i$i$i758$i | $276; | |
| $extract$t4$i$i$i$i759$i = ($277<<24>>24)==(0); | |
| if ($extract$t4$i$i$i$i759$i) { | |
| $291 = $274; | |
| label = 119; | |
| break; | |
| } else { | |
| label = 110; | |
| break; | |
| } | |
| } else { | |
| $393 = ($rest$sroa$59$1$i|0)==(3); | |
| if ($393) { | |
| $600 = 1; | |
| label = 179; | |
| break; | |
| } else { | |
| label = 238; | |
| break L117; | |
| } | |
| } | |
| } | |
| } while(0); | |
| do { | |
| if ((label|0) == 110) { | |
| label = 0; | |
| $278 = (_memcmp(2905,$rest$sroa$0$1$i,4)|0); | |
| $279 = ($278|0)==(0); | |
| if (!($279)) { | |
| if ($272) { | |
| label = 120; | |
| break; | |
| } | |
| $$phi$trans$insert$i = ((($rest$sroa$0$1$i)) + 4|0); | |
| $$pre$i = HEAP8[$$phi$trans$insert$i>>0]|0; | |
| $291 = $$pre$i; | |
| label = 119; | |
| break; | |
| } | |
| $280 = HEAP32[$171>>2]|0; | |
| FUNCTION_TABLE_viiii[$280 & 127]($7,$1,2909,1); | |
| $281 = HEAP32[$7>>2]|0; | |
| $switch396$i = ($281|0)==(1); | |
| if ($switch396$i) { | |
| label = 116; | |
| break L67; | |
| } | |
| $$pre$i772$i = ((($rest$sroa$0$1$i)) + 4|0); | |
| if (!($272)) { | |
| $282 = HEAP8[$$pre$i772$i>>0]|0; | |
| $283 = ($282&255)>(191); | |
| $$lobit$i$i776$i = ($282&255) >>> 7; | |
| $$lobit$not$i$i777$i = $$lobit$i$i776$i ^ 1; | |
| $284 = $283&1; | |
| $285 = $$lobit$not$i$i777$i | $284; | |
| $extract$t4$i$i778$i = ($285<<24>>24)==(0); | |
| if ($extract$t4$i$i778$i) { | |
| label = 114; | |
| break L67; | |
| } | |
| } | |
| $286 = (($rest$sroa$59$1$i) + -4)|0; | |
| $rest$sroa$0$1$i = $$pre$i772$i;$rest$sroa$59$1$i = $286; | |
| continue L117; | |
| } | |
| } while(0); | |
| if ((label|0) == 119) { | |
| label = 0; | |
| $292 = ($291&255)>(191); | |
| $$lobit$i$i$i$i819$i = ($291&255) >>> 7; | |
| $$lobit$not$i$i$i$i820$i = $$lobit$i$i$i$i819$i ^ 1; | |
| $293 = $292&1; | |
| $294 = $$lobit$not$i$i$i$i820$i | $293; | |
| $extract$t4$i$i$i$i821$i = ($294<<24>>24)==(0); | |
| if ($extract$t4$i$i$i$i821$i) { | |
| $308 = $291; | |
| label = 129; | |
| } else { | |
| label = 120; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 120) { | |
| label = 0; | |
| $295 = (_memcmp(2910,$rest$sroa$0$1$i,4)|0); | |
| $296 = ($295|0)==(0); | |
| if (!($296)) { | |
| if ($272) { | |
| label = 130; | |
| break; | |
| } | |
| $$phi$trans$insert2310$i = ((($rest$sroa$0$1$i)) + 4|0); | |
| $$pre2311$i = HEAP8[$$phi$trans$insert2310$i>>0]|0; | |
| $308 = $$pre2311$i; | |
| label = 129; | |
| break; | |
| } | |
| $297 = HEAP32[$171>>2]|0; | |
| FUNCTION_TABLE_viiii[$297 & 127]($8,$1,2914,1); | |
| $298 = HEAP32[$8>>2]|0; | |
| $switch397$i = ($298|0)==(1); | |
| if ($switch397$i) { | |
| label = 126; | |
| break L67; | |
| } | |
| $$pre$i834$i = ((($rest$sroa$0$1$i)) + 4|0); | |
| if (!($272)) { | |
| $299 = HEAP8[$$pre$i834$i>>0]|0; | |
| $300 = ($299&255)>(191); | |
| $$lobit$i$i838$i = ($299&255) >>> 7; | |
| $$lobit$not$i$i839$i = $$lobit$i$i838$i ^ 1; | |
| $301 = $300&1; | |
| $302 = $$lobit$not$i$i839$i | $301; | |
| $extract$t4$i$i840$i = ($302<<24>>24)==(0); | |
| if ($extract$t4$i$i840$i) { | |
| label = 124; | |
| break L67; | |
| } | |
| } | |
| $303 = (($rest$sroa$59$1$i) + -4)|0; | |
| $rest$sroa$0$1$i = $$pre$i834$i;$rest$sroa$59$1$i = $303; | |
| continue L117; | |
| } | |
| } while(0); | |
| if ((label|0) == 129) { | |
| label = 0; | |
| $309 = ($308&255)>(191); | |
| $$lobit$i$i$i$i881$i = ($308&255) >>> 7; | |
| $$lobit$not$i$i$i$i882$i = $$lobit$i$i$i$i881$i ^ 1; | |
| $310 = $309&1; | |
| $311 = $$lobit$not$i$i$i$i882$i | $310; | |
| $extract$t4$i$i$i$i883$i = ($311<<24>>24)==(0); | |
| if ($extract$t4$i$i$i$i883$i) { | |
| $325 = $308; | |
| label = 139; | |
| } else { | |
| label = 130; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 130) { | |
| label = 0; | |
| $312 = (_memcmp(2915,$rest$sroa$0$1$i,4)|0); | |
| $313 = ($312|0)==(0); | |
| if (!($313)) { | |
| if ($272) { | |
| label = 140; | |
| break; | |
| } | |
| $$phi$trans$insert2312$i = ((($rest$sroa$0$1$i)) + 4|0); | |
| $$pre2313$i = HEAP8[$$phi$trans$insert2312$i>>0]|0; | |
| $325 = $$pre2313$i; | |
| label = 139; | |
| break; | |
| } | |
| $314 = HEAP32[$171>>2]|0; | |
| FUNCTION_TABLE_viiii[$314 & 127]($9,$1,2919,1); | |
| $315 = HEAP32[$9>>2]|0; | |
| $switch398$i = ($315|0)==(1); | |
| if ($switch398$i) { | |
| label = 136; | |
| break L67; | |
| } | |
| $$pre$i896$i = ((($rest$sroa$0$1$i)) + 4|0); | |
| if (!($272)) { | |
| $316 = HEAP8[$$pre$i896$i>>0]|0; | |
| $317 = ($316&255)>(191); | |
| $$lobit$i$i900$i = ($316&255) >>> 7; | |
| $$lobit$not$i$i901$i = $$lobit$i$i900$i ^ 1; | |
| $318 = $317&1; | |
| $319 = $$lobit$not$i$i901$i | $318; | |
| $extract$t4$i$i902$i = ($319<<24>>24)==(0); | |
| if ($extract$t4$i$i902$i) { | |
| label = 134; | |
| break L67; | |
| } | |
| } | |
| $320 = (($rest$sroa$59$1$i) + -4)|0; | |
| $rest$sroa$0$1$i = $$pre$i896$i;$rest$sroa$59$1$i = $320; | |
| continue L117; | |
| } | |
| } while(0); | |
| if ((label|0) == 139) { | |
| label = 0; | |
| $326 = ($325&255)>(191); | |
| $$lobit$i$i$i$i943$i = ($325&255) >>> 7; | |
| $$lobit$not$i$i$i$i944$i = $$lobit$i$i$i$i943$i ^ 1; | |
| $327 = $326&1; | |
| $328 = $$lobit$not$i$i$i$i944$i | $327; | |
| $extract$t4$i$i$i$i945$i = ($328<<24>>24)==(0); | |
| if ($extract$t4$i$i$i$i945$i) { | |
| $342 = $325; | |
| label = 149; | |
| } else { | |
| label = 140; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 140) { | |
| label = 0; | |
| $329 = (_memcmp(2920,$rest$sroa$0$1$i,4)|0); | |
| $330 = ($329|0)==(0); | |
| if (!($330)) { | |
| if ($272) { | |
| label = 150; | |
| break; | |
| } | |
| $$phi$trans$insert2314$i = ((($rest$sroa$0$1$i)) + 4|0); | |
| $$pre2315$i = HEAP8[$$phi$trans$insert2314$i>>0]|0; | |
| $342 = $$pre2315$i; | |
| label = 149; | |
| break; | |
| } | |
| $331 = HEAP32[$171>>2]|0; | |
| FUNCTION_TABLE_viiii[$331 & 127]($10,$1,2924,1); | |
| $332 = HEAP32[$10>>2]|0; | |
| $switch399$i = ($332|0)==(1); | |
| if ($switch399$i) { | |
| label = 146; | |
| break L67; | |
| } | |
| $$pre$i958$i = ((($rest$sroa$0$1$i)) + 4|0); | |
| if (!($272)) { | |
| $333 = HEAP8[$$pre$i958$i>>0]|0; | |
| $334 = ($333&255)>(191); | |
| $$lobit$i$i962$i = ($333&255) >>> 7; | |
| $$lobit$not$i$i963$i = $$lobit$i$i962$i ^ 1; | |
| $335 = $334&1; | |
| $336 = $$lobit$not$i$i963$i | $335; | |
| $extract$t4$i$i964$i = ($336<<24>>24)==(0); | |
| if ($extract$t4$i$i964$i) { | |
| label = 144; | |
| break L67; | |
| } | |
| } | |
| $337 = (($rest$sroa$59$1$i) + -4)|0; | |
| $rest$sroa$0$1$i = $$pre$i958$i;$rest$sroa$59$1$i = $337; | |
| continue L117; | |
| } | |
| } while(0); | |
| if ((label|0) == 149) { | |
| label = 0; | |
| $343 = ($342&255)>(191); | |
| $$lobit$i$i$i$i1005$i = ($342&255) >>> 7; | |
| $$lobit$not$i$i$i$i1006$i = $$lobit$i$i$i$i1005$i ^ 1; | |
| $344 = $343&1; | |
| $345 = $$lobit$not$i$i$i$i1006$i | $344; | |
| $extract$t4$i$i$i$i1007$i = ($345<<24>>24)==(0); | |
| if ($extract$t4$i$i$i$i1007$i) { | |
| $359 = $342; | |
| label = 159; | |
| } else { | |
| label = 150; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 150) { | |
| label = 0; | |
| $346 = (_memcmp(2925,$rest$sroa$0$1$i,4)|0); | |
| $347 = ($346|0)==(0); | |
| if (!($347)) { | |
| if ($272) { | |
| label = 160; | |
| break; | |
| } | |
| $$phi$trans$insert2316$i = ((($rest$sroa$0$1$i)) + 4|0); | |
| $$pre2317$i = HEAP8[$$phi$trans$insert2316$i>>0]|0; | |
| $359 = $$pre2317$i; | |
| label = 159; | |
| break; | |
| } | |
| $348 = HEAP32[$171>>2]|0; | |
| FUNCTION_TABLE_viiii[$348 & 127]($11,$1,2929,1); | |
| $349 = HEAP32[$11>>2]|0; | |
| $switch400$i = ($349|0)==(1); | |
| if ($switch400$i) { | |
| label = 156; | |
| break L67; | |
| } | |
| $$pre$i1020$i = ((($rest$sroa$0$1$i)) + 4|0); | |
| if (!($272)) { | |
| $350 = HEAP8[$$pre$i1020$i>>0]|0; | |
| $351 = ($350&255)>(191); | |
| $$lobit$i$i1024$i = ($350&255) >>> 7; | |
| $$lobit$not$i$i1025$i = $$lobit$i$i1024$i ^ 1; | |
| $352 = $351&1; | |
| $353 = $$lobit$not$i$i1025$i | $352; | |
| $extract$t4$i$i1026$i = ($353<<24>>24)==(0); | |
| if ($extract$t4$i$i1026$i) { | |
| label = 154; | |
| break L67; | |
| } | |
| } | |
| $354 = (($rest$sroa$59$1$i) + -4)|0; | |
| $rest$sroa$0$1$i = $$pre$i1020$i;$rest$sroa$59$1$i = $354; | |
| continue L117; | |
| } | |
| } while(0); | |
| if ((label|0) == 159) { | |
| label = 0; | |
| $360 = ($359&255)>(191); | |
| $$lobit$i$i$i$i1067$i = ($359&255) >>> 7; | |
| $$lobit$not$i$i$i$i1068$i = $$lobit$i$i$i$i1067$i ^ 1; | |
| $361 = $360&1; | |
| $362 = $$lobit$not$i$i$i$i1068$i | $361; | |
| $extract$t4$i$i$i$i1069$i = ($362<<24>>24)==(0); | |
| if ($extract$t4$i$i$i$i1069$i) { | |
| $376 = $359; | |
| label = 169; | |
| } else { | |
| label = 160; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 160) { | |
| label = 0; | |
| $363 = (_memcmp(2930,$rest$sroa$0$1$i,4)|0); | |
| $364 = ($363|0)==(0); | |
| if (!($364)) { | |
| if ($272) { | |
| label = 170; | |
| break; | |
| } | |
| $$phi$trans$insert2318$i = ((($rest$sroa$0$1$i)) + 4|0); | |
| $$pre2319$i = HEAP8[$$phi$trans$insert2318$i>>0]|0; | |
| $376 = $$pre2319$i; | |
| label = 169; | |
| break; | |
| } | |
| $365 = HEAP32[$171>>2]|0; | |
| FUNCTION_TABLE_viiii[$365 & 127]($12,$1,2934,1); | |
| $366 = HEAP32[$12>>2]|0; | |
| $switch401$i = ($366|0)==(1); | |
| if ($switch401$i) { | |
| label = 166; | |
| break L67; | |
| } | |
| $$pre$i1082$i = ((($rest$sroa$0$1$i)) + 4|0); | |
| if (!($272)) { | |
| $367 = HEAP8[$$pre$i1082$i>>0]|0; | |
| $368 = ($367&255)>(191); | |
| $$lobit$i$i1086$i = ($367&255) >>> 7; | |
| $$lobit$not$i$i1087$i = $$lobit$i$i1086$i ^ 1; | |
| $369 = $368&1; | |
| $370 = $$lobit$not$i$i1087$i | $369; | |
| $extract$t4$i$i1088$i = ($370<<24>>24)==(0); | |
| if ($extract$t4$i$i1088$i) { | |
| label = 164; | |
| break L67; | |
| } | |
| } | |
| $371 = (($rest$sroa$59$1$i) + -4)|0; | |
| $rest$sroa$0$1$i = $$pre$i1082$i;$rest$sroa$59$1$i = $371; | |
| continue L117; | |
| } | |
| } while(0); | |
| if ((label|0) == 169) { | |
| label = 0; | |
| $377 = ($376&255)>(191); | |
| $$lobit$i$i$i$i1129$i = ($376&255) >>> 7; | |
| $$lobit$not$i$i$i$i1130$i = $$lobit$i$i$i$i1129$i ^ 1; | |
| $378 = $377&1; | |
| $379 = $$lobit$not$i$i$i$i1130$i | $378; | |
| $extract$t4$i$i$i$i1131$i = ($379<<24>>24)==(0); | |
| if ($extract$t4$i$i$i$i1131$i) { | |
| label = 178; | |
| } else { | |
| label = 170; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 170) { | |
| label = 0; | |
| $380 = (_memcmp(2935,$rest$sroa$0$1$i,4)|0); | |
| $381 = ($380|0)==(0); | |
| if (!($381)) { | |
| label = 178; | |
| break; | |
| } | |
| $382 = HEAP32[$171>>2]|0; | |
| FUNCTION_TABLE_viiii[$382 & 127]($13,$1,2728,1); | |
| $383 = HEAP32[$13>>2]|0; | |
| $switch402$i = ($383|0)==(1); | |
| if ($switch402$i) { | |
| label = 176; | |
| break L67; | |
| } | |
| $$pre$i1144$i = ((($rest$sroa$0$1$i)) + 4|0); | |
| if (!($272)) { | |
| $384 = HEAP8[$$pre$i1144$i>>0]|0; | |
| $385 = ($384&255)>(191); | |
| $$lobit$i$i1148$i = ($384&255) >>> 7; | |
| $$lobit$not$i$i1149$i = $$lobit$i$i1148$i ^ 1; | |
| $386 = $385&1; | |
| $387 = $$lobit$not$i$i1149$i | $386; | |
| $extract$t4$i$i1150$i = ($387<<24>>24)==(0); | |
| if ($extract$t4$i$i1150$i) { | |
| label = 174; | |
| break L67; | |
| } | |
| } | |
| $388 = (($rest$sroa$59$1$i) + -4)|0; | |
| $rest$sroa$0$1$i = $$pre$i1144$i;$rest$sroa$59$1$i = $388; | |
| continue L117; | |
| } | |
| } while(0); | |
| if ((label|0) == 178) { | |
| label = 0; | |
| $394 = ((($rest$sroa$0$1$i)) + 3|0); | |
| $395 = HEAP8[$394>>0]|0; | |
| $396 = ($395&255)>(191); | |
| $$lobit$i$i$i$i1191$i = ($395&255) >>> 7; | |
| $$lobit$not$i$i$i$i1192$i = $$lobit$i$i$i$i1191$i ^ 1; | |
| $397 = $396&1; | |
| $398 = $$lobit$not$i$i$i$i1192$i | $397; | |
| $extract$t4$i$i$i$i1193$i = ($398<<24>>24)==(0); | |
| if (!($extract$t4$i$i$i$i1193$i)) { | |
| $600 = 0; | |
| label = 179; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 179) { | |
| label = 0; | |
| $399 = (_memcmp(2939,$rest$sroa$0$1$i,3)|0); | |
| $400 = ($399|0)==(0); | |
| if (!($400)) { | |
| break; | |
| } | |
| $401 = HEAP32[$171>>2]|0; | |
| FUNCTION_TABLE_viiii[$401 & 127]($14,$1,2942,1); | |
| $402 = HEAP32[$14>>2]|0; | |
| $switch403$i = ($402|0)==(1); | |
| if ($switch403$i) { | |
| label = 187; | |
| break L67; | |
| } | |
| if ($600) { | |
| $$pre$i1206$i = ((($rest$sroa$0$1$i)) + 3|0); | |
| $$pre$phi$i1214$iZ2D = $$pre$i1206$i; | |
| } else { | |
| $not$$i$i1208$i = ($rest$sroa$59$1$i>>>0)>(3); | |
| if (!($not$$i$i1208$i)) { | |
| label = 185; | |
| break L67; | |
| } | |
| $403 = ((($rest$sroa$0$1$i)) + 3|0); | |
| $404 = HEAP8[$403>>0]|0; | |
| $405 = ($404&255)>(191); | |
| $$lobit$i$i1210$i = ($404&255) >>> 7; | |
| $$lobit$not$i$i1211$i = $$lobit$i$i1210$i ^ 1; | |
| $406 = $405&1; | |
| $407 = $$lobit$not$i$i1211$i | $406; | |
| $extract$t4$i$i1212$i = ($407<<24>>24)==(0); | |
| if ($extract$t4$i$i1212$i) { | |
| label = 185; | |
| break L67; | |
| } else { | |
| $$pre$phi$i1214$iZ2D = $403; | |
| } | |
| } | |
| $408 = (($rest$sroa$59$1$i) + -3)|0; | |
| $rest$sroa$0$1$i = $$pre$phi$i1214$iZ2D;$rest$sroa$59$1$i = $408; | |
| continue L117; | |
| } | |
| } while(0); | |
| $413 = ($rest$sroa$59$1$i|0)==(5); | |
| if ($413) { | |
| $601 = 1; | |
| label = 191; | |
| } else { | |
| $not$$i$i$i$i1251$i = ($rest$sroa$59$1$i>>>0)>(5); | |
| if (!($not$$i$i$i$i1251$i)) { | |
| label = 238; | |
| break; | |
| } | |
| $414 = ((($rest$sroa$0$1$i)) + 5|0); | |
| $415 = HEAP8[$414>>0]|0; | |
| $416 = ($415&255)>(191); | |
| $$lobit$i$i$i$i1253$i = ($415&255) >>> 7; | |
| $$lobit$not$i$i$i$i1254$i = $$lobit$i$i$i$i1253$i ^ 1; | |
| $417 = $416&1; | |
| $418 = $$lobit$not$i$i$i$i1254$i | $417; | |
| $extract$t4$i$i$i$i1255$i = ($418<<24>>24)==(0); | |
| if ($extract$t4$i$i$i$i1255$i) { | |
| $432 = $415; | |
| label = 200; | |
| } else { | |
| $601 = 0; | |
| label = 191; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 191) { | |
| label = 0; | |
| $419 = (_memcmp(2943,$rest$sroa$0$1$i,5)|0); | |
| $420 = ($419|0)==(0); | |
| if (!($420)) { | |
| if ($601) { | |
| $602 = 1; | |
| label = 201; | |
| break; | |
| } | |
| $$phi$trans$insert2320$i = ((($rest$sroa$0$1$i)) + 5|0); | |
| $$pre2321$i = HEAP8[$$phi$trans$insert2320$i>>0]|0; | |
| $432 = $$pre2321$i; | |
| label = 200; | |
| break; | |
| } | |
| $421 = HEAP32[$171>>2]|0; | |
| FUNCTION_TABLE_viiii[$421 & 127]($15,$1,2948,1); | |
| $422 = HEAP32[$15>>2]|0; | |
| $switch404$i = ($422|0)==(1); | |
| if ($switch404$i) { | |
| label = 197; | |
| break L67; | |
| } | |
| $$pre$i1268$i = ((($rest$sroa$0$1$i)) + 5|0); | |
| if (!($601)) { | |
| $423 = HEAP8[$$pre$i1268$i>>0]|0; | |
| $424 = ($423&255)>(191); | |
| $$lobit$i$i1272$i = ($423&255) >>> 7; | |
| $$lobit$not$i$i1273$i = $$lobit$i$i1272$i ^ 1; | |
| $425 = $424&1; | |
| $426 = $$lobit$not$i$i1273$i | $425; | |
| $extract$t4$i$i1274$i = ($426<<24>>24)==(0); | |
| if ($extract$t4$i$i1274$i) { | |
| label = 195; | |
| break L67; | |
| } | |
| } | |
| $427 = (($rest$sroa$59$1$i) + -5)|0; | |
| $rest$sroa$0$1$i = $$pre$i1268$i;$rest$sroa$59$1$i = $427; | |
| continue L117; | |
| } | |
| } while(0); | |
| if ((label|0) == 200) { | |
| label = 0; | |
| $433 = ($432&255)>(191); | |
| $$lobit$i$i$i$i1398$i = ($432&255) >>> 7; | |
| $$lobit$not$i$i$i$i1399$i = $$lobit$i$i$i$i1398$i ^ 1; | |
| $434 = $433&1; | |
| $435 = $$lobit$not$i$i$i$i1399$i | $434; | |
| $extract$t4$i$i$i$i1400$i = ($435<<24>>24)==(0); | |
| if ($extract$t4$i$i$i$i1400$i) { | |
| $449 = $432; | |
| label = 210; | |
| } else { | |
| $602 = 0; | |
| label = 201; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 201) { | |
| label = 0; | |
| $436 = (_memcmp(2949,$rest$sroa$0$1$i,5)|0); | |
| $437 = ($436|0)==(0); | |
| if (!($437)) { | |
| if ($602) { | |
| $603 = 1; | |
| label = 211; | |
| break; | |
| } | |
| $$phi$trans$insert2322$i = ((($rest$sroa$0$1$i)) + 5|0); | |
| $$pre2323$i = HEAP8[$$phi$trans$insert2322$i>>0]|0; | |
| $449 = $$pre2323$i; | |
| label = 210; | |
| break; | |
| } | |
| $438 = HEAP32[$171>>2]|0; | |
| FUNCTION_TABLE_viiii[$438 & 127]($16,$1,2954,1); | |
| $439 = HEAP32[$16>>2]|0; | |
| $switch405$i = ($439|0)==(1); | |
| if ($switch405$i) { | |
| label = 207; | |
| break L67; | |
| } | |
| $$pre$i1413$i = ((($rest$sroa$0$1$i)) + 5|0); | |
| if (!($602)) { | |
| $440 = HEAP8[$$pre$i1413$i>>0]|0; | |
| $441 = ($440&255)>(191); | |
| $$lobit$i$i1417$i = ($440&255) >>> 7; | |
| $$lobit$not$i$i1418$i = $$lobit$i$i1417$i ^ 1; | |
| $442 = $441&1; | |
| $443 = $$lobit$not$i$i1418$i | $442; | |
| $extract$t4$i$i1419$i = ($443<<24>>24)==(0); | |
| if ($extract$t4$i$i1419$i) { | |
| label = 205; | |
| break L67; | |
| } | |
| } | |
| $444 = (($rest$sroa$59$1$i) + -5)|0; | |
| $rest$sroa$0$1$i = $$pre$i1413$i;$rest$sroa$59$1$i = $444; | |
| continue L117; | |
| } | |
| } while(0); | |
| if ((label|0) == 210) { | |
| label = 0; | |
| $450 = ($449&255)>(191); | |
| $$lobit$i$i$i$i1453$i = ($449&255) >>> 7; | |
| $$lobit$not$i$i$i$i1454$i = $$lobit$i$i$i$i1453$i ^ 1; | |
| $451 = $450&1; | |
| $452 = $$lobit$not$i$i$i$i1454$i | $451; | |
| $extract$t4$i$i$i$i1455$i = ($452<<24>>24)==(0); | |
| if ($extract$t4$i$i$i$i1455$i) { | |
| $466 = $449; | |
| label = 220; | |
| } else { | |
| $603 = 0; | |
| label = 211; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 211) { | |
| label = 0; | |
| $453 = (_memcmp(2955,$rest$sroa$0$1$i,5)|0); | |
| $454 = ($453|0)==(0); | |
| if (!($454)) { | |
| if ($603) { | |
| $604 = 1; | |
| label = 221; | |
| break; | |
| } | |
| $$phi$trans$insert2324$i = ((($rest$sroa$0$1$i)) + 5|0); | |
| $$pre2325$i = HEAP8[$$phi$trans$insert2324$i>>0]|0; | |
| $466 = $$pre2325$i; | |
| label = 220; | |
| break; | |
| } | |
| $455 = HEAP32[$171>>2]|0; | |
| FUNCTION_TABLE_viiii[$455 & 127]($17,$1,2960,1); | |
| $456 = HEAP32[$17>>2]|0; | |
| $switch406$i = ($456|0)==(1); | |
| if ($switch406$i) { | |
| label = 217; | |
| break L67; | |
| } | |
| $$pre$i1295$i = ((($rest$sroa$0$1$i)) + 5|0); | |
| if (!($603)) { | |
| $457 = HEAP8[$$pre$i1295$i>>0]|0; | |
| $458 = ($457&255)>(191); | |
| $$lobit$i$i1299$i = ($457&255) >>> 7; | |
| $$lobit$not$i$i1300$i = $$lobit$i$i1299$i ^ 1; | |
| $459 = $458&1; | |
| $460 = $$lobit$not$i$i1300$i | $459; | |
| $extract$t4$i$i1301$i = ($460<<24>>24)==(0); | |
| if ($extract$t4$i$i1301$i) { | |
| label = 215; | |
| break L67; | |
| } | |
| } | |
| $461 = (($rest$sroa$59$1$i) + -5)|0; | |
| $rest$sroa$0$1$i = $$pre$i1295$i;$rest$sroa$59$1$i = $461; | |
| continue L117; | |
| } | |
| } while(0); | |
| if ((label|0) == 220) { | |
| label = 0; | |
| $467 = ($466&255)>(191); | |
| $$lobit$i$i$i$i1310$i = ($466&255) >>> 7; | |
| $$lobit$not$i$i$i$i1311$i = $$lobit$i$i$i$i1310$i ^ 1; | |
| $468 = $467&1; | |
| $469 = $$lobit$not$i$i$i$i1311$i | $468; | |
| $extract$t4$i$i$i$i1312$i = ($469<<24>>24)==(0); | |
| if ($extract$t4$i$i$i$i1312$i) { | |
| $483 = $466; | |
| label = 230; | |
| } else { | |
| $604 = 0; | |
| label = 221; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 221) { | |
| label = 0; | |
| $470 = (_memcmp(2961,$rest$sroa$0$1$i,5)|0); | |
| $471 = ($470|0)==(0); | |
| if (!($471)) { | |
| if ($604) { | |
| $605 = 1; | |
| break; | |
| } | |
| $$phi$trans$insert2326$i = ((($rest$sroa$0$1$i)) + 5|0); | |
| $$pre2327$i = HEAP8[$$phi$trans$insert2326$i>>0]|0; | |
| $483 = $$pre2327$i; | |
| label = 230; | |
| break; | |
| } | |
| $472 = HEAP32[$171>>2]|0; | |
| FUNCTION_TABLE_viiii[$472 & 127]($18,$1,2966,1); | |
| $473 = HEAP32[$18>>2]|0; | |
| $switch407$i = ($473|0)==(1); | |
| if ($switch407$i) { | |
| label = 227; | |
| break L67; | |
| } | |
| $$pre$i1316$i = ((($rest$sroa$0$1$i)) + 5|0); | |
| if (!($604)) { | |
| $474 = HEAP8[$$pre$i1316$i>>0]|0; | |
| $475 = ($474&255)>(191); | |
| $$lobit$i$i1320$i = ($474&255) >>> 7; | |
| $$lobit$not$i$i1321$i = $$lobit$i$i1320$i ^ 1; | |
| $476 = $475&1; | |
| $477 = $$lobit$not$i$i1321$i | $476; | |
| $extract$t4$i$i1322$i = ($477<<24>>24)==(0); | |
| if ($extract$t4$i$i1322$i) { | |
| label = 225; | |
| break L67; | |
| } | |
| } | |
| $478 = (($rest$sroa$59$1$i) + -5)|0; | |
| $rest$sroa$0$1$i = $$pre$i1316$i;$rest$sroa$59$1$i = $478; | |
| continue L117; | |
| } | |
| } while(0); | |
| if ((label|0) == 230) { | |
| label = 0; | |
| $484 = ($483&255)>(191); | |
| $$lobit$i$i$i$i1536$i = ($483&255) >>> 7; | |
| $$lobit$not$i$i$i$i1537$i = $$lobit$i$i$i$i1536$i ^ 1; | |
| $485 = $484&1; | |
| $486 = $$lobit$not$i$i$i$i1537$i | $485; | |
| $extract$t4$i$i$i$i1538$i = ($486<<24>>24)==(0); | |
| if ($extract$t4$i$i$i$i1538$i) { | |
| label = 238; | |
| break; | |
| } else { | |
| $605 = 0; | |
| } | |
| } | |
| $487 = (_memcmp(2967,$rest$sroa$0$1$i,5)|0); | |
| $488 = ($487|0)==(0); | |
| if (!($488)) { | |
| label = 238; | |
| break; | |
| } | |
| $489 = HEAP32[$171>>2]|0; | |
| FUNCTION_TABLE_viiii[$489 & 127]($19,$1,2972,1); | |
| $490 = HEAP32[$19>>2]|0; | |
| $switch408$i = ($490|0)==(1); | |
| if ($switch408$i) { | |
| label = 237; | |
| break L67; | |
| } | |
| $$pre$i1551$i = ((($rest$sroa$0$1$i)) + 5|0); | |
| if (!($605)) { | |
| $491 = HEAP8[$$pre$i1551$i>>0]|0; | |
| $492 = ($491&255)>(191); | |
| $$lobit$i$i1555$i = ($491&255) >>> 7; | |
| $$lobit$not$i$i1556$i = $$lobit$i$i1555$i ^ 1; | |
| $493 = $492&1; | |
| $494 = $$lobit$not$i$i1556$i | $493; | |
| $extract$t4$i$i1557$i = ($494<<24>>24)==(0); | |
| if ($extract$t4$i$i1557$i) { | |
| label = 235; | |
| break L67; | |
| } | |
| } | |
| $495 = (($rest$sroa$59$1$i) + -5)|0; | |
| $rest$sroa$0$1$i = $$pre$i1551$i;$rest$sroa$59$1$i = $495; | |
| continue; | |
| } | |
| } | |
| $506 = $rest$sroa$0$1$i; | |
| $507 = (($rest$sroa$0$1$i) + ($rest$sroa$59$1$i)|0); | |
| $$sroa$6$0$i$i$i = 0;$508 = $506; | |
| while(1) { | |
| $$cast$i$i$i$i$i$i$i = $508; | |
| $509 = ($$cast$i$i$i$i$i$i$i|0)==($507|0); | |
| if ($509) { | |
| $idx$0$i = $rest$sroa$59$1$i; | |
| break; | |
| } | |
| $510 = ((($$cast$i$i$i$i$i$i$i)) + 1|0); | |
| $511 = HEAP8[$$cast$i$i$i$i$i$i$i>>0]|0; | |
| $512 = ($511<<24>>24)<(0); | |
| $513 = $510; | |
| do { | |
| if ($512) { | |
| $515 = $511 & 31; | |
| $516 = $515&255; | |
| $517 = ($510|0)==($507|0); | |
| if ($517) { | |
| $525 = $507;$606 = $513;$sret_slot$0$i20$i$i$i$i$i$i$i$i$i = 0; | |
| } else { | |
| $518 = ((($$cast$i$i$i$i$i$i$i)) + 2|0); | |
| $519 = HEAP8[$510>>0]|0; | |
| $phitmp$i$i$i$i$i$i$i$i$i = $519 & 63; | |
| $520 = $518; | |
| $525 = $518;$606 = $520;$sret_slot$0$i20$i$i$i$i$i$i$i$i$i = $phitmp$i$i$i$i$i$i$i$i$i; | |
| } | |
| $521 = $516 << 6; | |
| $522 = $sret_slot$0$i20$i$i$i$i$i$i$i$i$i&255; | |
| $523 = $522 | $521; | |
| $524 = ($511&255)>(223); | |
| if (!($524)) { | |
| $$sroa$54$0$ph$i$i$i$i$i$i$i = $523;$549 = $606; | |
| break; | |
| } | |
| $526 = ($525|0)==($507|0); | |
| if ($526) { | |
| $536 = $507;$607 = $606;$sret_slot$0$i13$i$i$i$i$i$i$i$i$i = 0; | |
| } else { | |
| $527 = ((($525)) + 1|0); | |
| $528 = HEAP8[$525>>0]|0; | |
| $phitmp29$i$i$i$i$i$i$i$i$i = $528 & 63; | |
| $529 = $527; | |
| $536 = $527;$607 = $529;$sret_slot$0$i13$i$i$i$i$i$i$i$i$i = $phitmp29$i$i$i$i$i$i$i$i$i; | |
| } | |
| $530 = $522 << 6; | |
| $531 = $sret_slot$0$i13$i$i$i$i$i$i$i$i$i&255; | |
| $532 = $531 | $530; | |
| $533 = $516 << 12; | |
| $534 = $532 | $533; | |
| $535 = ($511&255)>(239); | |
| if (!($535)) { | |
| $$sroa$54$0$ph$i$i$i$i$i$i$i = $534;$549 = $607; | |
| break; | |
| } | |
| $537 = ($536|0)==($507|0); | |
| if ($537) { | |
| $608 = $607;$sret_slot$0$i$i$i$i$i$i$i$i$i$i = 0; | |
| } else { | |
| $538 = ((($536)) + 1|0); | |
| $539 = HEAP8[$536>>0]|0; | |
| $phitmp30$i$i$i$i$i$i$i$i$i = $539 & 63; | |
| $540 = $538; | |
| $608 = $540;$sret_slot$0$i$i$i$i$i$i$i$i$i$i = $phitmp30$i$i$i$i$i$i$i$i$i; | |
| } | |
| $541 = $516 << 18; | |
| $542 = $541 & 1835008; | |
| $543 = $532 << 6; | |
| $544 = $sret_slot$0$i$i$i$i$i$i$i$i$i$i&255; | |
| $545 = $543 | $542; | |
| $546 = $545 | $544; | |
| $$sroa$54$0$ph$i$i$i$i$i$i$i = $546;$549 = $608; | |
| } else { | |
| $514 = $511&255; | |
| $$sroa$54$0$ph$i$i$i$i$i$i$i = $514;$549 = $513; | |
| } | |
| } while(0); | |
| $547 = (($$sroa$6$0$i$i$i) - ($508))|0; | |
| $548 = (($547) + ($549))|0; | |
| $not$$i$i$i$i$i$i = ($$sroa$54$0$ph$i$i$i$i$i$i$i|0)==(36); | |
| if ($not$$i$i$i$i$i$i) { | |
| $idx$0$i = $$sroa$6$0$i$i$i; | |
| break; | |
| } else { | |
| $$sroa$6$0$i$i$i = $548;$508 = $549; | |
| } | |
| } | |
| $550 = HEAP32[$171>>2]|0; | |
| $551 = ($rest$sroa$59$1$i|0)==($idx$0$i|0); | |
| if (!($551)) { | |
| $not$$i$i1361$i = ($rest$sroa$59$1$i>>>0)>($idx$0$i>>>0); | |
| if (!($not$$i$i1361$i)) { | |
| label = 259; | |
| break L67; | |
| } | |
| $552 = (($rest$sroa$0$1$i) + ($idx$0$i)|0); | |
| $553 = HEAP8[$552>>0]|0; | |
| $554 = ($553&255)>(191); | |
| $$lobit$i$i1363$i = ($553&255) >>> 7; | |
| $$lobit$not$i$i1364$i = $$lobit$i$i1363$i ^ 1; | |
| $555 = $554&1; | |
| $556 = $$lobit$not$i$i1364$i | $555; | |
| $extract$t4$i$i1365$i = ($556<<24>>24)==(0); | |
| if ($extract$t4$i$i1365$i) { | |
| label = 259; | |
| break L67; | |
| } | |
| } | |
| FUNCTION_TABLE_viiii[$550 & 127]($21,$1,$rest$sroa$0$1$i,$idx$0$i); | |
| $557 = HEAP32[$21>>2]|0; | |
| $switch411$i = ($557|0)==(1); | |
| if ($switch411$i) { | |
| label = 266; | |
| break L67; | |
| } | |
| if ($551) { | |
| $$pre$phi$i$iZ2D = $507; | |
| } else { | |
| $not$$i$i594$i = ($rest$sroa$59$1$i>>>0)>($idx$0$i>>>0); | |
| if (!($not$$i$i594$i)) { | |
| label = 264; | |
| break L67; | |
| } | |
| $558 = (($rest$sroa$0$1$i) + ($idx$0$i)|0); | |
| $559 = HEAP8[$558>>0]|0; | |
| $560 = ($559&255)>(191); | |
| $$lobit$i$i596$i = ($559&255) >>> 7; | |
| $$lobit$not$i$i597$i = $$lobit$i$i596$i ^ 1; | |
| $561 = $560&1; | |
| $562 = $$lobit$not$i$i597$i | $561; | |
| $extract$t4$i$i598$i = ($562<<24>>24)==(0); | |
| if ($extract$t4$i$i598$i) { | |
| label = 264; | |
| break L67; | |
| } else { | |
| $$pre$phi$i$iZ2D = $558; | |
| } | |
| } | |
| $563 = (($rest$sroa$59$1$i) - ($idx$0$i))|0; | |
| $rest$sroa$0$1$i = $$pre$phi$i$iZ2D;$rest$sroa$59$1$i = $563; | |
| } | |
| if ((label|0) == 238) { | |
| label = 0; | |
| $500 = HEAP32[$171>>2]|0; | |
| FUNCTION_TABLE_viiii[$500 & 127]($20,$1,$rest$sroa$0$1$i,$rest$sroa$59$1$i); | |
| $501 = HEAP32[$20>>2]|0; | |
| $switch409$i = ($501|0)==(1); | |
| if ($switch409$i) { | |
| label = 241; | |
| break; | |
| } | |
| } | |
| if ($202) { | |
| break L5; | |
| } else { | |
| $$sroa$0$sroa$10$sroa$0$0 = $$sroa$0$sroa$10$sroa$0$1;$first$0$off02020$i = 0;$inner$sroa$0$12021$i = $$pre$phi$i7111641$iZ2D;$inner$sroa$13$12022$i = $208; | |
| } | |
| } | |
| switch (label|0) { | |
| case 58: { | |
| $182 = ((($6)) + 4|0); | |
| $183 = HEAP32[$182>>2]|0; | |
| $184 = ((($6)) + 8|0); | |
| $185 = HEAP32[$184>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $183;$$sroa$26$sroa$31$0$ph = $185; | |
| break L18; | |
| break; | |
| } | |
| case 61: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($inner$sroa$0$12021$i,$inner$sroa$13$12022$i,0,$186); | |
| // unreachable; | |
| break; | |
| } | |
| case 70: { | |
| __ZN6result13unwrap_failed21h16495370897978173130E($$sroa$0$sroa$10$sroa$0$1$ph); | |
| // unreachable; | |
| break; | |
| } | |
| case 75: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$02018$i,$rest$sroa$59$02019$i,$$sroa$1016$0,$rest$sroa$59$02019$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 78: { | |
| __ZN9panicking18panic_bounds_check20h8e1f5fdc350eb389dmME(748,0,0); | |
| // unreachable; | |
| break; | |
| } | |
| case 80: { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(2084); | |
| // unreachable; | |
| break; | |
| } | |
| case 82: { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(1468); | |
| // unreachable; | |
| break; | |
| } | |
| case 85: { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(1468); | |
| // unreachable; | |
| break; | |
| } | |
| case 89: { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(1468); | |
| // unreachable; | |
| break; | |
| } | |
| case 95: { | |
| __ZN5slice20slice_index_len_fail20h9ec8212373ae0291u9PE($247,$s$sroa$7$0$i$i$i5); | |
| // unreachable; | |
| break; | |
| } | |
| case 98: { | |
| // unreachable; | |
| break; | |
| } | |
| case 102: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$02018$i,$rest$sroa$59$02019$i,1,$rest$sroa$59$02019$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 114: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,4,$rest$sroa$59$1$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 116: { | |
| $287 = ((($7)) + 4|0); | |
| $288 = HEAP32[$287>>2]|0; | |
| $289 = ((($7)) + 8|0); | |
| $290 = HEAP32[$289>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $288;$$sroa$26$sroa$31$0$ph = $290; | |
| break L18; | |
| break; | |
| } | |
| case 124: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,4,$rest$sroa$59$1$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 126: { | |
| $304 = ((($8)) + 4|0); | |
| $305 = HEAP32[$304>>2]|0; | |
| $306 = ((($8)) + 8|0); | |
| $307 = HEAP32[$306>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $305;$$sroa$26$sroa$31$0$ph = $307; | |
| break L18; | |
| break; | |
| } | |
| case 134: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,4,$rest$sroa$59$1$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 136: { | |
| $321 = ((($9)) + 4|0); | |
| $322 = HEAP32[$321>>2]|0; | |
| $323 = ((($9)) + 8|0); | |
| $324 = HEAP32[$323>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $322;$$sroa$26$sroa$31$0$ph = $324; | |
| break L18; | |
| break; | |
| } | |
| case 144: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,4,$rest$sroa$59$1$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 146: { | |
| $338 = ((($10)) + 4|0); | |
| $339 = HEAP32[$338>>2]|0; | |
| $340 = ((($10)) + 8|0); | |
| $341 = HEAP32[$340>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $339;$$sroa$26$sroa$31$0$ph = $341; | |
| break L18; | |
| break; | |
| } | |
| case 154: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,4,$rest$sroa$59$1$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 156: { | |
| $355 = ((($11)) + 4|0); | |
| $356 = HEAP32[$355>>2]|0; | |
| $357 = ((($11)) + 8|0); | |
| $358 = HEAP32[$357>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $356;$$sroa$26$sroa$31$0$ph = $358; | |
| break L18; | |
| break; | |
| } | |
| case 164: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,4,$rest$sroa$59$1$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 166: { | |
| $372 = ((($12)) + 4|0); | |
| $373 = HEAP32[$372>>2]|0; | |
| $374 = ((($12)) + 8|0); | |
| $375 = HEAP32[$374>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $373;$$sroa$26$sroa$31$0$ph = $375; | |
| break L18; | |
| break; | |
| } | |
| case 174: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,4,$rest$sroa$59$1$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 176: { | |
| $389 = ((($13)) + 4|0); | |
| $390 = HEAP32[$389>>2]|0; | |
| $391 = ((($13)) + 8|0); | |
| $392 = HEAP32[$391>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $390;$$sroa$26$sroa$31$0$ph = $392; | |
| break L18; | |
| break; | |
| } | |
| case 185: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,3,$rest$sroa$59$1$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 187: { | |
| $409 = ((($14)) + 4|0); | |
| $410 = HEAP32[$409>>2]|0; | |
| $411 = ((($14)) + 8|0); | |
| $412 = HEAP32[$411>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $410;$$sroa$26$sroa$31$0$ph = $412; | |
| break L18; | |
| break; | |
| } | |
| case 195: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,5,$rest$sroa$59$1$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 197: { | |
| $428 = ((($15)) + 4|0); | |
| $429 = HEAP32[$428>>2]|0; | |
| $430 = ((($15)) + 8|0); | |
| $431 = HEAP32[$430>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $429;$$sroa$26$sroa$31$0$ph = $431; | |
| break L18; | |
| break; | |
| } | |
| case 205: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,5,$rest$sroa$59$1$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 207: { | |
| $445 = ((($16)) + 4|0); | |
| $446 = HEAP32[$445>>2]|0; | |
| $447 = ((($16)) + 8|0); | |
| $448 = HEAP32[$447>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $446;$$sroa$26$sroa$31$0$ph = $448; | |
| break L18; | |
| break; | |
| } | |
| case 215: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,5,$rest$sroa$59$1$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 217: { | |
| $462 = ((($17)) + 4|0); | |
| $463 = HEAP32[$462>>2]|0; | |
| $464 = ((($17)) + 8|0); | |
| $465 = HEAP32[$464>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $463;$$sroa$26$sroa$31$0$ph = $465; | |
| break L18; | |
| break; | |
| } | |
| case 225: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,5,$rest$sroa$59$1$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 227: { | |
| $479 = ((($18)) + 4|0); | |
| $480 = HEAP32[$479>>2]|0; | |
| $481 = ((($18)) + 8|0); | |
| $482 = HEAP32[$481>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $480;$$sroa$26$sroa$31$0$ph = $482; | |
| break L18; | |
| break; | |
| } | |
| case 235: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,5,$rest$sroa$59$1$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 237: { | |
| $496 = ((($19)) + 4|0); | |
| $497 = HEAP32[$496>>2]|0; | |
| $498 = ((($19)) + 8|0); | |
| $499 = HEAP32[$498>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $497;$$sroa$26$sroa$31$0$ph = $499; | |
| break L18; | |
| break; | |
| } | |
| case 241: { | |
| $502 = ((($20)) + 4|0); | |
| $503 = HEAP32[$502>>2]|0; | |
| $504 = ((($20)) + 8|0); | |
| $505 = HEAP32[$504>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $503;$$sroa$26$sroa$31$0$ph = $505; | |
| break L18; | |
| break; | |
| } | |
| case 259: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,0,$idx$0$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 264: { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($rest$sroa$0$1$i,$rest$sroa$59$1$i,$idx$0$i,$rest$sroa$59$1$i); | |
| // unreachable; | |
| break; | |
| } | |
| case 266: { | |
| $564 = ((($21)) + 4|0); | |
| $565 = HEAP32[$564>>2]|0; | |
| $566 = ((($21)) + 8|0); | |
| $567 = HEAP32[$566>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $565;$$sroa$26$sroa$31$0$ph = $567; | |
| break L18; | |
| break; | |
| } | |
| } | |
| } | |
| } while(0); | |
| do { | |
| if ((label|0) == 50) { | |
| $172 = ((($2)) + 20|0); | |
| $173 = HEAP32[$172>>2]|0; | |
| FUNCTION_TABLE_viiii[$173 & 127]($5,$1,$49,$48); | |
| $174 = HEAP32[$5>>2]|0; | |
| $switch394$i = ($174|0)==(1); | |
| if ($switch394$i) { | |
| $175 = ((($5)) + 4|0); | |
| $176 = HEAP32[$175>>2]|0; | |
| $177 = ((($5)) + 8|0); | |
| $178 = HEAP32[$177>>2]|0; | |
| $$sroa$26$sroa$0$0$ph = $176;$$sroa$26$sroa$31$0$ph = $178; | |
| break; | |
| } else { | |
| break L5; | |
| } | |
| } | |
| } while(0); | |
| $578 = ((($0)) + 4|0); | |
| $579 = $578; | |
| $580 = $579; | |
| HEAP32[$580>>2] = $$sroa$26$sroa$0$0$ph; | |
| $581 = (($579) + 4)|0; | |
| $582 = $581; | |
| HEAP32[$582>>2] = $$sroa$26$sroa$31$0$ph; | |
| HEAP32[$0>>2] = 1; | |
| STACKTOP = sp;return; | |
| } | |
| } | |
| } | |
| } while(0); | |
| do { | |
| if ((label|0) == 267) { | |
| $568 = HEAP32[$28>>2]|0; | |
| HEAP32[$27>>2] = 760; | |
| $569 = ((($27)) + 4|0); | |
| HEAP32[$569>>2] = 1; | |
| $570 = ((($27)) + 8|0); | |
| $571 = $570; | |
| $572 = $571; | |
| HEAP32[$572>>2] = 0; | |
| $573 = (($571) + 4)|0; | |
| $574 = $573; | |
| HEAP32[$574>>2] = 0; | |
| $575 = ((($27)) + 16|0); | |
| HEAP32[$575>>2] = $addr_of; | |
| $576 = ((($27)) + 20|0); | |
| HEAP32[$576>>2] = 0; | |
| FUNCTION_TABLE_viii[$568 & 127]($26,$1,$27); | |
| $577 = HEAP32[$26>>2]|0; | |
| $switch64 = ($577|0)==(1); | |
| if (!($switch64)) { | |
| break; | |
| } | |
| $583 = ((($26)) + 4|0); | |
| $584 = ((($0)) + 4|0); | |
| $585 = $583; | |
| $586 = $585; | |
| $587 = HEAP32[$586>>2]|0; | |
| $588 = (($585) + 4)|0; | |
| $589 = $588; | |
| $590 = HEAP32[$589>>2]|0; | |
| $591 = $584; | |
| $592 = $591; | |
| HEAP32[$592>>2] = $587; | |
| $593 = (($591) + 4)|0; | |
| $594 = $593; | |
| HEAP32[$594>>2] = $590; | |
| HEAP32[$0>>2] = 1; | |
| STACKTOP = sp;return; | |
| } | |
| } while(0); | |
| $595 = ((($2)) + 20|0); | |
| $596 = HEAP32[$595>>2]|0; | |
| FUNCTION_TABLE_viiii[$596 & 127]($0,$1,2829,1); | |
| STACKTOP = sp;return; | |
| } | |
| function __ZN3fmt20__BP_mut_u20_T_Debug3fmt20h9626668092128521168E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$off$i4$i$i = 0, $$sroa$421$0$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; | |
| var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; | |
| var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $addr_of$i2$i$i = 0, $buf$i$i = 0, $cond$i$i = 0, $curr$0$i$i = 0, $sret_slot$0$i8$i$i = 0, $x$0$i$i = 0, $x7$i1$i$i = 0, dest = 0, label = 0, sp = 0; | |
| var stop = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $x7$i1$i$i = sp + 105|0; | |
| $2 = sp + 16|0; | |
| $addr_of$i2$i$i = sp + 104|0; | |
| $3 = sp; | |
| $buf$i$i = sp + 40|0; | |
| $4 = ((($1)) + 12|0); | |
| $5 = $4; | |
| $6 = $5; | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = (($5) + 4)|0; | |
| $9 = $8; | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = HEAP32[$1>>2]|0; | |
| $12 = $11 & 4; | |
| $13 = ($12|0)==(0); | |
| if ($13) { | |
| $18 = $11; | |
| } else { | |
| $14 = $11 | 8; | |
| HEAP32[$1>>2] = $14; | |
| $cond$i$i = ($7|0)==(0); | |
| if ($cond$i$i) { | |
| $15 = ((($1)) + 12|0); | |
| HEAP32[$15>>2] = 1; | |
| $16 = ((($1)) + 16|0); | |
| HEAP32[$16>>2] = 10; | |
| $18 = $14; | |
| } else { | |
| $18 = $14; | |
| } | |
| } | |
| $17 = $18 | 4; | |
| HEAP32[$1>>2] = $17; | |
| $19 = HEAP32[$0>>2]|0; | |
| dest=$buf$i$i; stop=dest+64|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); | |
| $20 = ((($buf$i$i)) + 64|0); | |
| $$sroa$421$0$i$i = $20;$curr$0$i$i = 64;$x$0$i$i = $19; | |
| while(1) { | |
| $21 = ((($$sroa$421$0$i$i)) + -1|0); | |
| $22 = $x$0$i$i & 15; | |
| $23 = $x$0$i$i >>> 4; | |
| $24 = $22&255; | |
| HEAP8[$addr_of$i2$i$i>>0] = 29; | |
| $25 = ($24&255)<(10); | |
| if ($25) { | |
| $26 = $24 | 48; | |
| $sret_slot$0$i8$i$i = $26; | |
| } else { | |
| $$off$i4$i$i = (($24) + -10)<<24>>24; | |
| $27 = ($$off$i4$i$i&255)<(6); | |
| if (!($27)) { | |
| label = 9; | |
| break; | |
| } | |
| $28 = (($24) + 87)<<24>>24; | |
| $sret_slot$0$i8$i$i = $28; | |
| } | |
| HEAP8[$21>>0] = $sret_slot$0$i8$i$i; | |
| $40 = (($curr$0$i$i) + -1)|0; | |
| $41 = ($23|0)==(0); | |
| if ($41) { | |
| break; | |
| } else { | |
| $$sroa$421$0$i$i = $21;$curr$0$i$i = $40;$x$0$i$i = $23; | |
| } | |
| } | |
| if ((label|0) == 9) { | |
| HEAP8[$x7$i1$i$i>>0] = $24; | |
| HEAP8[$addr_of$i2$i$i>>0] = 15; | |
| $29 = ((($3)) + 4|0); | |
| HEAP32[$29>>2] = 95; | |
| HEAP32[$3>>2] = $addr_of$i2$i$i; | |
| $30 = ((($3)) + 8|0); | |
| $31 = ((($3)) + 12|0); | |
| HEAP32[$31>>2] = 95; | |
| HEAP32[$30>>2] = $x7$i1$i$i; | |
| HEAP32[$2>>2] = 2036; | |
| $32 = ((($2)) + 4|0); | |
| HEAP32[$32>>2] = 2; | |
| $33 = ((($2)) + 8|0); | |
| $34 = $33; | |
| $35 = $34; | |
| HEAP32[$35>>2] = 0; | |
| $36 = (($34) + 4)|0; | |
| $37 = $36; | |
| HEAP32[$37>>2] = 0; | |
| $38 = ((($2)) + 16|0); | |
| HEAP32[$38>>2] = $3; | |
| $39 = ((($2)) + 20|0); | |
| HEAP32[$39>>2] = 2; | |
| __ZN9panicking9panic_fmt20h354880378c07fbbe7mME($2,2052); | |
| // unreachable; | |
| } | |
| $42 = ($40>>>0)>(64); | |
| if ($42) { | |
| __ZN5slice22slice_index_order_fail20h0ea23a39457ab7feuaQE($40,64); | |
| // unreachable; | |
| } else { | |
| $43 = (($buf$i$i) + ($40)|0); | |
| $44 = (65 - ($curr$0$i$i))|0; | |
| $45 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,1,4595,2,$43,$44)|0); | |
| $46 = $4; | |
| $47 = $46; | |
| HEAP32[$47>>2] = $7; | |
| $48 = (($46) + 4)|0; | |
| $49 = $48; | |
| HEAP32[$49>>2] = $10; | |
| HEAP32[$1>>2] = $11; | |
| STACKTOP = sp;return ($45|0); | |
| } | |
| return (0)|0; | |
| } | |
| function __ZN6result13unwrap_failed21h16495370897978173130E($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $error = 0, $msg = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $msg = sp + 48|0; | |
| $error = sp + 40|0; | |
| $1 = sp + 16|0; | |
| $2 = sp; | |
| HEAP32[$msg>>2] = 2674; | |
| $3 = ((($msg)) + 4|0); | |
| HEAP32[$3>>2] = 43; | |
| HEAP8[$error>>0] = $0; | |
| $4 = ((($2)) + 4|0); | |
| HEAP32[$4>>2] = 88; | |
| HEAP32[$2>>2] = $msg; | |
| $5 = ((($2)) + 8|0); | |
| $6 = ((($2)) + 12|0); | |
| HEAP32[$6>>2] = 96; | |
| HEAP32[$5>>2] = $error; | |
| HEAP32[$1>>2] = (1560); | |
| $7 = ((($1)) + 4|0); | |
| HEAP32[$7>>2] = 2; | |
| $8 = ((($1)) + 8|0); | |
| $9 = $8; | |
| $10 = $9; | |
| HEAP32[$10>>2] = 0; | |
| $11 = (($9) + 4)|0; | |
| $12 = $11; | |
| HEAP32[$12>>2] = 0; | |
| $13 = ((($1)) + 16|0); | |
| HEAP32[$13>>2] = $2; | |
| $14 = ((($1)) + 20|0); | |
| HEAP32[$14>>2] = 2; | |
| __ZN9panicking9panic_fmt20h354880378c07fbbe7mME($1,1548); | |
| // unreachable; | |
| } | |
| function __ZN2io5impls31__RF__u27_a_u20_mut_u20_W_Write5write21h17723784408539422804E($0,$1,$2,$3) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| var $$sink$i$i$i = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ret$sroa$6$sroa$0$0$i$i = 0, $ret$sroa$6$sroa$7$0$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $4 = (_write(2,$2,$3)|0); | |
| $5 = ($4|0)==(-1); | |
| if ($5) { | |
| $6 = (___errno_location()|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $$sink$i$i$i = 1;$ret$sroa$6$sroa$0$0$i$i = 0;$ret$sroa$6$sroa$7$0$i$i = $7; | |
| } else { | |
| $$sink$i$i$i = 0;$ret$sroa$6$sroa$0$0$i$i = $4;$ret$sroa$6$sroa$7$0$i$i = 0; | |
| } | |
| HEAP32[$0>>2] = $$sink$i$i$i; | |
| $8 = ((($0)) + 4|0); | |
| HEAP32[$8>>2] = $ret$sroa$6$sroa$0$0$i$i; | |
| $9 = ((($0)) + 8|0); | |
| HEAP32[$9>>2] = $ret$sroa$6$sroa$7$0$i$i; | |
| return; | |
| } | |
| function __ZN2io5impls31__RF__u27_a_u20_mut_u20_W_Write5flush21h11577655791880223848E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| ;HEAP32[$0>>2]=HEAP32[6832>>2]|0;HEAP32[$0+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[6832+8>>2]|0; | |
| return; | |
| } | |
| function __ZN2io5impls31__RF__u27_a_u20_mut_u20_W_Write9write_all21h12167679389909672997E($0,$1,$2,$3) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| __ZN2io5Write9write_all21h15376866622950179486E($0,$2,$3); | |
| return; | |
| } | |
| function __ZN2io5impls31__RF__u27_a_u20_mut_u20_W_Write9write_fmt20h7988444182387086942E($0,$1,$fmt) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $fmt = $fmt|0; | |
| var $2 = 0, $arg = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $arg = sp; | |
| $2 = HEAP32[$1>>2]|0; | |
| ;HEAP32[$arg>>2]=HEAP32[$fmt>>2]|0;HEAP32[$arg+4>>2]=HEAP32[$fmt+4>>2]|0;HEAP32[$arg+8>>2]=HEAP32[$fmt+8>>2]|0;HEAP32[$arg+12>>2]=HEAP32[$fmt+12>>2]|0;HEAP32[$arg+16>>2]=HEAP32[$fmt+16>>2]|0;HEAP32[$arg+20>>2]=HEAP32[$fmt+20>>2]|0; | |
| __ZN2io5Write9write_fmt20h7380755752343363050E($0,$2,$arg); | |
| STACKTOP = sp;return; | |
| } | |
| function _rust_panic($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; | |
| var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0; | |
| var $8 = 0, $9 = 0, $addr_of$i = 0, $scevgep$i = 0, dest = 0, label = 0, sp = 0, stop = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $2 = sp + 40|0; | |
| $3 = sp + 32|0; | |
| $4 = sp + 8|0; | |
| $5 = sp; | |
| $addr_of$i = sp + 64|0; | |
| HEAP32[$addr_of$i>>2] = 488447261; | |
| $6 = (_malloc(104)|0); | |
| $7 = ($6|0)==(0|0); | |
| if (!($7)) { | |
| $16 = $1; | |
| $17 = $0; | |
| $18 = $6; | |
| $19 = $18; | |
| HEAP32[$19>>2] = 1381323604; | |
| $20 = (($18) + 4)|0; | |
| $21 = $20; | |
| HEAP32[$21>>2] = 1297046016; | |
| $22 = ((($6)) + 8|0); | |
| HEAP32[$22>>2] = 97; | |
| $scevgep$i = ((($6)) + 12|0); | |
| dest=$scevgep$i; stop=dest+80|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); | |
| $23 = ((($6)) + 96|0); | |
| HEAP32[$23>>2] = $17; | |
| $24 = ((($6)) + 100|0); | |
| HEAP32[$24>>2] = $16; | |
| $25 = (__Unwind_RaiseException(($6|0))|0); | |
| HEAP32[$addr_of$i>>2] = $25; | |
| $26 = ((($5)) + 4|0); | |
| HEAP32[$26>>2] = 92; | |
| HEAP32[$5>>2] = $addr_of$i; | |
| HEAP32[$4>>2] = 788; | |
| $27 = ((($4)) + 4|0); | |
| HEAP32[$27>>2] = 1; | |
| $28 = ((($4)) + 8|0); | |
| $29 = $28; | |
| $30 = $29; | |
| HEAP32[$30>>2] = 0; | |
| $31 = (($29) + 4)|0; | |
| $32 = $31; | |
| HEAP32[$32>>2] = 0; | |
| $33 = ((($4)) + 16|0); | |
| HEAP32[$33>>2] = $5; | |
| $34 = ((($4)) + 20|0); | |
| HEAP32[$34>>2] = 1; | |
| $35 = ((($3)) + 4|0); | |
| HEAP32[$35>>2] = 98; | |
| HEAP32[$3>>2] = $4; | |
| HEAP32[$2>>2] = 796; | |
| $36 = ((($2)) + 4|0); | |
| HEAP32[$36>>2] = 2; | |
| $37 = ((($2)) + 8|0); | |
| $38 = $37; | |
| $39 = $38; | |
| HEAP32[$39>>2] = 0; | |
| $40 = (($38) + 4)|0; | |
| $41 = $40; | |
| HEAP32[$41>>2] = 0; | |
| $42 = ((($2)) + 16|0); | |
| HEAP32[$42>>2] = $3; | |
| $43 = ((($2)) + 20|0); | |
| HEAP32[$43>>2] = 1; | |
| __ZN10sys_common4util10dumb_print20h67f0e8f90c6852e9SquE($2); | |
| _llvm_trap(); | |
| // unreachable; | |
| } | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $8 = __THREW__; __THREW__ = 0; | |
| $9 = ___cxa_find_matching_catch_2()|0; | |
| $10 = tempRet0; | |
| $11 = ($0|0)==((488447261)|0); | |
| if ($11) { | |
| ___resumeException($9|0); | |
| // unreachable; | |
| } | |
| $12 = HEAP32[$1>>2]|0; | |
| FUNCTION_TABLE_vi[$12 & 127]($0); | |
| $13 = ((($1)) + 4|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = ($14|0)==(0); | |
| if ($15) { | |
| ___resumeException($9|0); | |
| // unreachable; | |
| } | |
| _free($0); | |
| ___resumeException($9|0); | |
| // unreachable; | |
| } | |
| function __ZN10sys_common6unwind3imp5panic17exception_cleanup20h86ad3cc428b261b2riuE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $magicptr$i$i$i$i = 0, $switch$split2D = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = ($1|0)==((488447261)|0); | |
| if ($2) { | |
| return; | |
| } | |
| $3 = ((($1)) + 96|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $magicptr$i$i$i$i = $4; | |
| $switch$split2D = ($magicptr$i$i$i$i|0)<(488447261); | |
| if ($switch$split2D) { | |
| switch ($magicptr$i$i$i$i|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| label = 3; | |
| } | |
| } | |
| } else { | |
| switch ($magicptr$i$i$i$i|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| label = 3; | |
| } | |
| } | |
| } | |
| if ((label|0) == 3) { | |
| $5 = ((($1)) + 100|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = HEAP32[$6>>2]|0; | |
| FUNCTION_TABLE_vi[$7 & 127]($4); | |
| $8 = HEAP32[$5>>2]|0; | |
| $9 = ((($8)) + 4|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if (!($11)) { | |
| _free($4); | |
| } | |
| } | |
| _free($1); | |
| return; | |
| } | |
| function __ZN6thread5local17LocalKey_LT_T_GT_4init21h13347445861423520909E($0) { | |
| $0 = $0|0; | |
| var $$sroa$7 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; | |
| var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i = 0, $not$switch$i = 0, $switchtmp$i$i$i = 0, $switchtmp$i$i$i$i = 0, $switchtmp$i$i$i1 = 0, $value = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $value = sp + 24|0; | |
| $1 = sp; | |
| $$sroa$7 = sp + 40|0; | |
| ;HEAP32[$value>>2]=488447261|0;HEAP32[$value+4>>2]=488447261|0;HEAP32[$value+8>>2]=488447261|0;HEAP32[$value+12>>2]=488447261|0; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = ((($0)) + 4|0); | |
| ;HEAP32[$$sroa$7>>2]=HEAP32[$3>>2]|0;HEAP32[$$sroa$7+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$sroa$7+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$sroa$7+12>>2]=HEAP32[$3+12>>2]|0; | |
| HEAP32[$0>>2] = 1; | |
| ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0; | |
| HEAP32[$1>>2] = $2; | |
| $4 = ((($1)) + 4|0); | |
| ;HEAP32[$4>>2]=HEAP32[$$sroa$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$$sroa$7+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$$sroa$7+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$$sroa$7+12>>2]|0; | |
| $cond$i = ($2|0)==(1); | |
| if ($cond$i) { | |
| $11 = ((($1)) + 16|0); | |
| $12 = HEAP32[$11>>2]|0; | |
| $switchtmp$i$i$i$i = ($12|0)==(0|0); | |
| if (!($switchtmp$i$i$i$i)) { | |
| $13 = ($12|0)==((488447261)|0); | |
| if (!($13)) { | |
| $14 = HEAP32[$12>>2]|0;HEAP32[$12>>2] = (($14-1)|0); | |
| $15 = ($14|0)==(1); | |
| if ($15) { | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($11); | |
| } | |
| } | |
| } | |
| } | |
| $16 = HEAP32[$0>>2]|0; | |
| $not$switch$i = ($16|0)==(1); | |
| if ($not$switch$i) { | |
| $20 = ((($value)) + 12|0); | |
| $21 = HEAP32[$20>>2]|0; | |
| $switchtmp$i$i$i = ($21|0)==(0|0); | |
| if ($switchtmp$i$i$i) { | |
| STACKTOP = sp;return ($3|0); | |
| } | |
| $22 = ((($value)) + 12|0); | |
| $23 = ($21|0)==((488447261)|0); | |
| if ($23) { | |
| STACKTOP = sp;return ($3|0); | |
| } | |
| $24 = HEAP32[$21>>2]|0;HEAP32[$21>>2] = (($24-1)|0); | |
| $25 = ($24|0)==(1); | |
| if (!($25)) { | |
| STACKTOP = sp;return ($3|0); | |
| } | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($22); | |
| STACKTOP = sp;return ($3|0); | |
| } else { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1488|0)); | |
| $17 = __THREW__; __THREW__ = 0; | |
| $10 = ___cxa_find_matching_catch_2()|0; | |
| $18 = tempRet0; | |
| $19 = ((($value)) + 12|0); | |
| $6 = HEAP32[$19>>2]|0; | |
| $switchtmp$i$i$i1 = ($6|0)==(0|0); | |
| if ($switchtmp$i$i$i1) { | |
| ___resumeException($10|0); | |
| // unreachable; | |
| } | |
| $5 = ((($value)) + 12|0); | |
| $7 = ($6|0)==((488447261)|0); | |
| if ($7) { | |
| ___resumeException($10|0); | |
| // unreachable; | |
| } | |
| $8 = HEAP32[$6>>2]|0;HEAP32[$6>>2] = (($8-1)|0); | |
| $9 = ($8|0)==(1); | |
| if (!($9)) { | |
| ___resumeException($10|0); | |
| // unreachable; | |
| } | |
| /* fence */; | |
| __ZN3arc12Arc_LT_T_GT_9drop_slow21h14125523943998164859E($5); | |
| ___resumeException($10|0); | |
| // unreachable; | |
| } | |
| return (0)|0; | |
| } | |
| function __ZN6thread6Thread3new20hf9facdc7fd5911b9AFbE($name) { | |
| $name = $name|0; | |
| var $$sroa$0$0 = 0, $$sroa$0$1 = 0, $$sroa$6$0 = 0, $$sroa$6$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; | |
| var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch$split2D = 0, $switchtmp$i10 = 0; | |
| var dest = 0, label = 0, sp = 0, src = 0, stop = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $0 = sp; | |
| ;HEAP32[$0>>2]=HEAP32[$name>>2]|0;HEAP32[$0+4>>2]=HEAP32[$name+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$name+8>>2]|0; | |
| ;HEAP32[$name>>2]=488447261|0;HEAP32[$name+4>>2]=488447261|0;HEAP32[$name+8>>2]=488447261|0; | |
| $1 = ((($0)) + 12|0); | |
| $2 = (_malloc(32)|0); | |
| $3 = ($2|0)==(0|0); | |
| do { | |
| if ($3) { | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $4 = __THREW__; __THREW__ = 0; | |
| $5 = ___cxa_find_matching_catch_2()|0; | |
| $6 = tempRet0; | |
| $$sroa$0$1 = $5;$$sroa$6$1 = $6; | |
| } else { | |
| ;HEAP32[$2>>2]=HEAP32[(6928)>>2]|0;HEAP32[$2+4>>2]=HEAP32[(6928)+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[(6928)+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[(6928)+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[(6928)+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[(6928)+20>>2]|0; | |
| $7 = ((($2)) + 24|0); | |
| HEAP8[$7>>0] = 0; | |
| HEAP32[$1>>2] = $2; | |
| $8 = ((($0)) + 16|0); | |
| HEAP8[$8>>0] = 0; | |
| $9 = ((($0)) + 17|0); | |
| HEAP8[$9>>0] = -44; | |
| $10 = (_malloc(56)|0); | |
| $11 = ($10|0)==(0|0); | |
| if ($11) { | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $12 = __THREW__; __THREW__ = 0; | |
| $13 = ___cxa_find_matching_catch_2()|0; | |
| $14 = tempRet0; | |
| (_pthread_mutex_destroy(($2|0))|0); | |
| $15 = ($2|0)==((488447261)|0); | |
| if (!($15)) { | |
| _free($2); | |
| } | |
| $$sroa$0$1 = $13;$$sroa$6$1 = $14; | |
| break; | |
| } | |
| dest=$10; src=(6952); stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); | |
| $19 = ((($10)) + 48|0); | |
| HEAP32[$19>>2] = 0; | |
| $20 = $10; | |
| $21 = ((($0)) + 20|0); | |
| $22 = $21; | |
| $23 = $22; | |
| HEAP32[$23>>2] = $20; | |
| $24 = (($22) + 4)|0; | |
| $25 = $24; | |
| HEAP32[$25>>2] = 212; | |
| $26 = (_malloc(36)|0); | |
| $27 = ($26|0)==(0|0); | |
| if (!($27)) { | |
| HEAP32[$26>>2] = 1; | |
| $31 = ((($26)) + 4|0); | |
| HEAP32[$31>>2] = 1; | |
| $32 = ((($26)) + 8|0); | |
| ;HEAP32[$32>>2]=HEAP32[$0>>2]|0;HEAP32[$32+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$32+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$32+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$32+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$32+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$32+24>>2]=HEAP32[$0+24>>2]|0; | |
| ;HEAP32[$0>>2]=488447261|0;HEAP32[$0+4>>2]=488447261|0;HEAP32[$0+8>>2]=488447261|0;HEAP32[$0+12>>2]=488447261|0;HEAP32[$0+16>>2]=488447261|0;HEAP32[$0+20>>2]=488447261|0;HEAP32[$0+24>>2]=488447261|0; | |
| $33 = $26; | |
| __ZN13thread__Inner10drop_4009617h3c2e86dd183ee453E($0); | |
| STACKTOP = sp;return ($33|0); | |
| } | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $28 = __THREW__; __THREW__ = 0; | |
| $29 = ___cxa_find_matching_catch_2()|0; | |
| $30 = tempRet0; | |
| __ZN13thread__Inner10drop_4009617h3c2e86dd183ee453E($0); | |
| $$sroa$0$0 = $29;$$sroa$6$0 = $30; | |
| ___resumeException($$sroa$0$0|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $16 = HEAP32[$0>>2]|0; | |
| $switchtmp$i10 = ($16|0)==(0|0); | |
| L15: do { | |
| if (!($switchtmp$i10)) { | |
| $17 = ((($0)) + 4|0); | |
| $18 = HEAP32[$17>>2]|0; | |
| $switch$split2D = ($18|0)<(488447261); | |
| if ($switch$split2D) { | |
| switch ($18|0) { | |
| case 0: { | |
| break L15; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } else { | |
| switch ($18|0) { | |
| case 488447261: { | |
| break L15; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } | |
| _free($16); | |
| } | |
| } while(0); | |
| $$sroa$0$0 = $$sroa$0$1;$$sroa$6$0 = $$sroa$6$1; | |
| ___resumeException($$sroa$0$0|0); | |
| // unreachable; | |
| return (0)|0; | |
| } | |
| function __ZN7raw_vec15RawVec_LT_T_GT_6double20h8160544240742043587E($0) { | |
| $0 = $0|0; | |
| var $$sroa$08$0 = 0, $$sroa$5$0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = ((($0)) + 4|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $3 = ($2|0)==(0); | |
| do { | |
| if ($3) { | |
| $4 = (_malloc(32)|0); | |
| $$sroa$08$0 = 4;$$sroa$5$0 = $4; | |
| } else { | |
| $5 = $2 << 4; | |
| $6 = ($5|0)<(0); | |
| if ($6) { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(1444); | |
| // unreachable; | |
| } else { | |
| $7 = $2 << 1; | |
| $8 = HEAP32[$0>>2]|0; | |
| $9 = (_realloc($8,$5)|0); | |
| $$sroa$08$0 = $7;$$sroa$5$0 = $9; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $10 = ($$sroa$5$0|0)==(0|0); | |
| if ($10) { | |
| __ZN3oom3oom20hc88b31053092c214PzbE(); | |
| // unreachable; | |
| } else { | |
| $11 = $$sroa$5$0; | |
| HEAP32[$0>>2] = $11; | |
| HEAP32[$1>>2] = $$sroa$08$0; | |
| return; | |
| } | |
| } | |
| function __ZN2io5stdio6stdout20h5cd940239a47d19aCihE() { | |
| var $$cast$i$i$i = 0, $$pre$i$i = 0, $$pre$i$i3 = 0, $$pre$i1$i = 0, $$pre$i11$i = 0, $$pre$i16$i = 0, $$pre$i25$i = 0, $$pre$i39$i = 0, $$sink$in$phi$trans$insert$i$i = 0, $$sink$in$phi$trans$insert$i14$i = 0, $$sink$in$phi$trans$insert$i23$i = 0, $$sink$in$phi$trans$insert$i37$i = 0, $$sink$in$phi$trans$insert$i9$i = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; | |
| var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; | |
| var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; | |
| var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; | |
| var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; | |
| var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $eh$lpad$body$i$i$index17Z2D = 0, $eh$lpad$body$i$i$indexZ2D = 0, $eh$lpad$body$i$index6Z2D = 0, $eh$lpad$body$i$indexZ2D = 0, $magicptr$i = 0, $phitmp$i$i = 0, $phitmp$i12$i = 0, $phitmp$i17$i = 0; | |
| var $phitmp$i26$i = 0, $phitmp$i40$i = 0, $phitmp7$i$i = 0, $ret$0$off010$i = 0, $ret$i$i = 0, $sret_slot$sroa$0$0$i = 0, $switch$i = 0, $switch$i$i$i = 0, $switch$i$i$i$i$i = 0, $switch$i$i13$i = 0, $switch$i$i20$i = 0, $switch$i$i31$i = 0, $switch$i$i45$i = 0, $switchtmp$i = 0, $switchtmp$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i = 0, $switchtmp$i$i$i18$i = 0, $switchtmp$i$i$i28$i = 0, $switchtmp$i$i$i42$i = 0, $x$i$i$i = 0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $x$i$i$i = sp + 8|0; | |
| $ret$i$i = sp; | |
| (_pthread_mutex_lock(((208)|0))|0); | |
| $0 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0); | |
| $switchtmp$i$i$i$i$i$i = ($0|0)==(0|0); | |
| if ($switchtmp$i$i$i$i$i$i) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57); | |
| // unreachable; | |
| } | |
| $1 = HEAP32[$0>>2]|0; | |
| $switch$i$i$i$i$i = ($1|0)==(1); | |
| if ($switch$i$i$i$i$i) { | |
| $$sink$in$phi$trans$insert$i$i = ((($0)) + 4|0); | |
| $$pre$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i>>2]|0; | |
| $phitmp$i$i = ($$pre$i$i|0)!=(0); | |
| $phitmp7$i$i = $phitmp$i$i&1; | |
| $8 = $phitmp7$i$i; | |
| } else { | |
| $2 = $0; | |
| $3 = $2; | |
| HEAP32[$3>>2] = 1; | |
| $4 = (($2) + 4)|0; | |
| $5 = $4; | |
| HEAP32[$5>>2] = 0; | |
| $8 = 0; | |
| } | |
| $6 = HEAP8[(232)>>0]|0; | |
| $switch$i$i$i = ($6<<24>>24)==(0); | |
| $7 = HEAP32[(240)>>2]|0; | |
| $magicptr$i = $7; | |
| L8: do { | |
| switch ($magicptr$i|0) { | |
| case 0: { | |
| $24 = (_malloc(4)|0); | |
| $25 = ($24|0)==(0|0); | |
| L14: do { | |
| if ($25) { | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $26 = __THREW__; __THREW__ = 0; | |
| label = 25; | |
| } else { | |
| HEAP32[$24>>2] = (208); | |
| (_pthread_mutex_lock(((7032)|0))|0); | |
| $27 = HEAP32[1785]|0; | |
| $28 = $27; | |
| L17: do { | |
| switch ($27|0) { | |
| case 0: { | |
| $29 = (_malloc(12)|0); | |
| $30 = ($29|0)==(0|0); | |
| if (!($30)) { | |
| HEAP32[$29>>2] = 1; | |
| $35 = ((($29)) + 4|0); | |
| HEAP32[$35>>2] = 0; | |
| $36 = ((($29)) + 8|0); | |
| HEAP32[$36>>2] = 0; | |
| HEAP32[1785] = $29; | |
| $38 = $29; | |
| label = 33; | |
| break L17; | |
| } | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $31 = __THREW__; __THREW__ = 0; | |
| $32 = ___cxa_find_matching_catch_2()|0; | |
| $33 = tempRet0; | |
| $34 = ($24|0)==((488447261)|0); | |
| if ($34) { | |
| $eh$lpad$body$i$index6Z2D = $33;$eh$lpad$body$i$indexZ2D = $32; | |
| break L14; | |
| } | |
| _free($24); | |
| $eh$lpad$body$i$index6Z2D = $33;$eh$lpad$body$i$indexZ2D = $32; | |
| break L14; | |
| break; | |
| } | |
| case 1: { | |
| (_pthread_mutex_unlock(((7032)|0))|0); | |
| $54 = ($24|0)==((488447261)|0); | |
| if ($54) { | |
| $ret$0$off010$i = 0; | |
| } else { | |
| _free($24); | |
| $ret$0$off010$i = 0; | |
| } | |
| break; | |
| } | |
| default: { | |
| $38 = $28; | |
| label = 33; | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 33) { | |
| $37 = ((($38)) + 8|0); | |
| $39 = HEAP32[$37>>2]|0; | |
| $40 = ((($38)) + 4|0); | |
| $41 = HEAP32[$40>>2]|0; | |
| $42 = ($39|0)==($41|0); | |
| do { | |
| if ($42) { | |
| __THREW__ = 0; | |
| invoke_vi(99,($38|0)); | |
| $46 = __THREW__; __THREW__ = 0; | |
| $47 = $46&1; | |
| if (!($47)) { | |
| $$pre$i$i3 = HEAP32[$37>>2]|0; | |
| $50 = $$pre$i$i3; | |
| break; | |
| } | |
| $43 = ___cxa_find_matching_catch_2()|0; | |
| $44 = tempRet0; | |
| $45 = ($24|0)==((488447261)|0); | |
| if ($45) { | |
| $eh$lpad$body$i$index6Z2D = $44;$eh$lpad$body$i$indexZ2D = $43; | |
| break L14; | |
| } | |
| _free($24); | |
| $eh$lpad$body$i$index6Z2D = $44;$eh$lpad$body$i$indexZ2D = $43; | |
| break L14; | |
| } else { | |
| $50 = $39; | |
| } | |
| } while(0); | |
| $48 = HEAP32[$38>>2]|0; | |
| $49 = (($48) + ($50<<3)|0); | |
| $$cast$i$i$i = $24; | |
| HEAP32[$49>>2] = $$cast$i$i$i; | |
| $51 = (((($48) + ($50<<3)|0)) + 4|0); | |
| HEAP32[$51>>2] = 248; | |
| $52 = HEAP32[$37>>2]|0; | |
| $53 = (($52) + 1)|0; | |
| HEAP32[$37>>2] = $53; | |
| (_pthread_mutex_unlock(((7032)|0))|0); | |
| $ret$0$off010$i = 1; | |
| } | |
| $55 = HEAP32[(244)>>2]|0; | |
| __THREW__ = 0; | |
| $56 = (invoke_i($55|0)|0); | |
| $57 = __THREW__; __THREW__ = 0; | |
| $58 = $57&1; | |
| if ($58) { | |
| label = 25; | |
| } else { | |
| HEAP32[$ret$i$i>>2] = $56; | |
| $59 = $56; | |
| do { | |
| if ($ret$0$off010$i) { | |
| $69 = HEAP32[$59>>2]|0;HEAP32[$59>>2] = (($69+1)|0); | |
| $70 = ($69|0)<(0); | |
| if ($70) { | |
| _llvm_trap(); | |
| // unreachable; | |
| } | |
| HEAP32[$x$i$i$i>>2] = $56; | |
| $71 = (_malloc(4)|0); | |
| $72 = ($71|0)==(0|0); | |
| if (!($72)) { | |
| HEAP32[$71>>2] = $56; | |
| HEAP32[(240)>>2] = $71; | |
| $$pre$i1$i = HEAP32[$ret$i$i>>2]|0; | |
| $98 = $$pre$i1$i; | |
| break; | |
| } | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $73 = __THREW__; __THREW__ = 0; | |
| $74 = ___cxa_find_matching_catch_2()|0; | |
| $75 = tempRet0; | |
| $76 = ($59|0)==((488447261)|0); | |
| if ($76) { | |
| $eh$lpad$body$i$i$index17Z2D = $75;$eh$lpad$body$i$i$indexZ2D = $74; | |
| } else { | |
| $77 = HEAP32[$59>>2]|0;HEAP32[$59>>2] = (($77-1)|0); | |
| $78 = ($77|0)==(1); | |
| if ($78) { | |
| /* fence */; | |
| __THREW__ = 0; | |
| invoke_vi(100,($x$i$i$i|0)); | |
| $79 = __THREW__; __THREW__ = 0; | |
| $80 = $79&1; | |
| if ($80) { | |
| $60 = ___cxa_find_matching_catch_2()|0; | |
| $61 = tempRet0; | |
| $eh$lpad$body$i$i$index17Z2D = $61;$eh$lpad$body$i$i$indexZ2D = $60; | |
| } else { | |
| $eh$lpad$body$i$i$index17Z2D = $75;$eh$lpad$body$i$i$indexZ2D = $74; | |
| } | |
| } else { | |
| $eh$lpad$body$i$i$index17Z2D = $75;$eh$lpad$body$i$i$indexZ2D = $74; | |
| } | |
| } | |
| $62 = HEAP32[$ret$i$i>>2]|0; | |
| $63 = ($62|0)==(488447261); | |
| if (!($63)) { | |
| $64 = $62; | |
| $65 = HEAP32[$64>>2]|0;HEAP32[$64>>2] = (($65-1)|0); | |
| $66 = ($65|0)==(1); | |
| if ($66) { | |
| /* fence */; | |
| __THREW__ = 0; | |
| invoke_vi(100,($ret$i$i|0)); | |
| $67 = __THREW__; __THREW__ = 0; | |
| $68 = $67&1; | |
| if ($68) { | |
| label = 25; | |
| break L14; | |
| } | |
| } | |
| } | |
| $eh$lpad$body$i$index6Z2D = $eh$lpad$body$i$i$index17Z2D;$eh$lpad$body$i$indexZ2D = $eh$lpad$body$i$i$indexZ2D; | |
| break L14; | |
| } else { | |
| $98 = $56; | |
| } | |
| } while(0); | |
| $sret_slot$sroa$0$0$i = $98; | |
| break L8; | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 25) { | |
| $22 = ___cxa_find_matching_catch_2()|0; | |
| $23 = tempRet0; | |
| $eh$lpad$body$i$index6Z2D = $23;$eh$lpad$body$i$indexZ2D = $22; | |
| } | |
| $switch$i = ($6<<24>>24)==(1); | |
| $9 = ($8<<24>>24)==(0); | |
| if ($switch$i) { | |
| do { | |
| if ($9) { | |
| $16 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0); | |
| $switchtmp$i$i$i18$i = ($16|0)==(0|0); | |
| if ($switchtmp$i$i$i18$i) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57); | |
| // unreachable; | |
| } | |
| $17 = HEAP32[$16>>2]|0; | |
| $switch$i$i20$i = ($17|0)==(1); | |
| if (!($switch$i$i20$i)) { | |
| $18 = $16; | |
| $19 = $18; | |
| HEAP32[$19>>2] = 1; | |
| $20 = (($18) + 4)|0; | |
| $21 = $20; | |
| HEAP32[$21>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i14$i = ((($16)) + 4|0); | |
| $$pre$i16$i = HEAP32[$$sink$in$phi$trans$insert$i14$i>>2]|0; | |
| $phitmp$i17$i = ($$pre$i16$i|0)==(0); | |
| if (!($phitmp$i17$i)) { | |
| HEAP8[(232)>>0] = 1; | |
| } | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((208)|0))|0); | |
| ___resumeException($eh$lpad$body$i$indexZ2D|0); | |
| // unreachable; | |
| } else { | |
| do { | |
| if ($9) { | |
| $10 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0); | |
| $switchtmp$i$i$i$i = ($10|0)==(0|0); | |
| if ($switchtmp$i$i$i$i) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57); | |
| // unreachable; | |
| } | |
| $11 = HEAP32[$10>>2]|0; | |
| $switch$i$i13$i = ($11|0)==(1); | |
| if (!($switch$i$i13$i)) { | |
| $12 = $10; | |
| $13 = $12; | |
| HEAP32[$13>>2] = 1; | |
| $14 = (($12) + 4)|0; | |
| $15 = $14; | |
| HEAP32[$15>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i9$i = ((($10)) + 4|0); | |
| $$pre$i11$i = HEAP32[$$sink$in$phi$trans$insert$i9$i>>2]|0; | |
| $phitmp$i12$i = ($$pre$i11$i|0)==(0); | |
| if (!($phitmp$i12$i)) { | |
| HEAP8[(232)>>0] = 1; | |
| } | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((208)|0))|0); | |
| ___resumeException($eh$lpad$body$i$indexZ2D|0); | |
| // unreachable; | |
| } | |
| break; | |
| } | |
| case 1: { | |
| $sret_slot$sroa$0$0$i = 0; | |
| break; | |
| } | |
| default: { | |
| $81 = HEAP32[$7>>2]|0; | |
| $82 = HEAP32[$81>>2]|0;HEAP32[$81>>2] = (($82+1)|0); | |
| $83 = ($82|0)<(0); | |
| if ($83) { | |
| _llvm_trap(); | |
| // unreachable; | |
| } else { | |
| $84 = $81; | |
| $sret_slot$sroa$0$0$i = $84; | |
| break L8; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $85 = ($8<<24>>24)==(0); | |
| if ($switch$i$i$i) { | |
| do { | |
| if ($85) { | |
| $86 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0); | |
| $switchtmp$i$i$i28$i = ($86|0)==(0|0); | |
| if ($switchtmp$i$i$i28$i) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57); | |
| // unreachable; | |
| } | |
| $87 = HEAP32[$86>>2]|0; | |
| $switch$i$i31$i = ($87|0)==(1); | |
| if (!($switch$i$i31$i)) { | |
| $88 = $86; | |
| $89 = $88; | |
| HEAP32[$89>>2] = 1; | |
| $90 = (($88) + 4)|0; | |
| $91 = $90; | |
| HEAP32[$91>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i23$i = ((($86)) + 4|0); | |
| $$pre$i25$i = HEAP32[$$sink$in$phi$trans$insert$i23$i>>2]|0; | |
| $phitmp$i26$i = ($$pre$i25$i|0)==(0); | |
| if (!($phitmp$i26$i)) { | |
| HEAP8[(232)>>0] = 1; | |
| } | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((208)|0))|0); | |
| } else { | |
| do { | |
| if ($85) { | |
| $92 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0); | |
| $switchtmp$i$i$i42$i = ($92|0)==(0|0); | |
| if ($switchtmp$i$i$i42$i) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57); | |
| // unreachable; | |
| } | |
| $93 = HEAP32[$92>>2]|0; | |
| $switch$i$i45$i = ($93|0)==(1); | |
| if (!($switch$i$i45$i)) { | |
| $94 = $92; | |
| $95 = $94; | |
| HEAP32[$95>>2] = 1; | |
| $96 = (($94) + 4)|0; | |
| $97 = $96; | |
| HEAP32[$97>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i37$i = ((($92)) + 4|0); | |
| $$pre$i39$i = HEAP32[$$sink$in$phi$trans$insert$i37$i>>2]|0; | |
| $phitmp$i40$i = ($$pre$i39$i|0)==(0); | |
| if (!($phitmp$i40$i)) { | |
| HEAP8[(232)>>0] = 1; | |
| } | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(((208)|0))|0); | |
| } | |
| $switchtmp$i = ($sret_slot$sroa$0$0$i|0)==(0); | |
| if ($switchtmp$i) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(3225,36); | |
| // unreachable; | |
| } else { | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0$i|0); | |
| } | |
| return (0)|0; | |
| } | |
| function __ZN2io5stdio6stdout11stdout_init20h3e86aae537bf8f30ZihE() { | |
| var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; | |
| var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arg$i = 0; | |
| var $attr$i$i = 0, $mutex$i$sroa$5 = 0, $mutex$i$sroa$7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $attr$i$i = sp + 112|0; | |
| $mutex$i$sroa$5 = sp + 119|0; | |
| $mutex$i$sroa$7 = sp + 116|0; | |
| $arg$i = sp + 88|0; | |
| $0 = sp + 48|0; | |
| $1 = sp + 24|0; | |
| $2 = sp; | |
| $3 = ((($2)) + 1|0); | |
| HEAP8[$3>>0] = 0; | |
| HEAP8[$2>>0] = 1; | |
| $4 = (_malloc(1024)|0); | |
| $5 = ($4|0)==(0|0); | |
| if ($5) { | |
| __ZN3oom3oom20hc88b31053092c214PzbE(); | |
| // unreachable; | |
| } | |
| $6 = ((($2)) + 4|0); | |
| $7 = $4; | |
| HEAP32[$6>>2] = $7; | |
| $8 = ((($2)) + 8|0); | |
| HEAP32[$8>>2] = 1024; | |
| $9 = ((($2)) + 12|0); | |
| HEAP32[$9>>2] = 0; | |
| $10 = ((($2)) + 16|0); | |
| HEAP8[$10>>0] = 0; | |
| $11 = ((($2)) + 17|0); | |
| HEAP8[$11>>0] = -44; | |
| ;HEAP32[$arg$i>>2]=HEAP32[$2>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$2+16>>2]|0; | |
| ;HEAP32[$2>>2]=488447261|0;HEAP32[$2+4>>2]=488447261|0;HEAP32[$2+8>>2]=488447261|0;HEAP32[$2+12>>2]=488447261|0;HEAP32[$2+16>>2]=488447261|0; | |
| $12 = ((($1)) + 4|0); | |
| ;HEAP32[$12>>2]=HEAP32[$arg$i>>2]|0;HEAP32[$12+4>>2]=HEAP32[$arg$i+4>>2]|0;HEAP32[$12+8>>2]=HEAP32[$arg$i+8>>2]|0;HEAP32[$12+12>>2]=HEAP32[$arg$i+12>>2]|0;HEAP32[$12+16>>2]=HEAP32[$arg$i+16>>2]|0; | |
| ;HEAP32[$arg$i>>2]=488447261|0;HEAP32[$arg$i+4>>2]=488447261|0;HEAP32[$arg$i+8>>2]=488447261|0;HEAP32[$arg$i+12>>2]=488447261|0;HEAP32[$arg$i+16>>2]=488447261|0; | |
| __THREW__ = 0; | |
| invoke_vi(101,($arg$i|0)); | |
| $13 = __THREW__; __THREW__ = 0; | |
| $14 = $13&1; | |
| if ($14) { | |
| $15 = ___cxa_find_matching_catch_2()|0; | |
| $16 = tempRet0; | |
| __ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($2); | |
| ___resumeException($15|0); | |
| // unreachable; | |
| } | |
| HEAP32[$1>>2] = 0; | |
| __ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($2); | |
| $17 = (_malloc(24)|0); | |
| $18 = ($17|0)==(0|0); | |
| if ($18) { | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $19 = __THREW__; __THREW__ = 0; | |
| $20 = ___cxa_find_matching_catch_2()|0; | |
| $21 = tempRet0; | |
| $22 = ((($1)) + 4|0); | |
| __ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($22); | |
| ___resumeException($20|0); | |
| // unreachable; | |
| } | |
| $23 = ((($mutex$i$sroa$5)) + 3|0); | |
| dest=$23; src=$1; stop=dest+24|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); | |
| ;HEAP32[$1>>2]=488447261|0;HEAP32[$1+4>>2]=488447261|0;HEAP32[$1+8>>2]=488447261|0;HEAP32[$1+12>>2]=488447261|0;HEAP32[$1+16>>2]=488447261|0;HEAP32[$1+20>>2]=488447261|0; | |
| (_pthread_mutexattr_init(($attr$i$i|0))|0); | |
| (_pthread_mutexattr_settype(($attr$i$i|0),1)|0); | |
| (_pthread_mutex_init(($17|0),($attr$i$i|0))|0); | |
| (_pthread_mutexattr_destroy(($attr$i$i|0))|0); | |
| HEAP32[$0>>2] = $17; | |
| $24 = ((($0)) + 4|0); | |
| HEAP8[$24>>0] = 0; | |
| $25 = ((($0)) + 5|0); | |
| dest=$25; src=$mutex$i$sroa$5; stop=dest+27|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); | |
| $26 = ((($0)) + 32|0); | |
| HEAP8[$26>>0] = -44; | |
| $27 = ((($0)) + 33|0); | |
| ;HEAP8[$27>>0]=HEAP8[$mutex$i$sroa$7>>0]|0;HEAP8[$27+1>>0]=HEAP8[$mutex$i$sroa$7+1>>0]|0;HEAP8[$27+2>>0]=HEAP8[$mutex$i$sroa$7+2>>0]|0; | |
| $28 = ((($1)) + 4|0); | |
| __ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($28); | |
| $29 = (_malloc(44)|0); | |
| $30 = ($29|0)==(0|0); | |
| if (!($30)) { | |
| HEAP32[$29>>2] = 1; | |
| $36 = ((($29)) + 4|0); | |
| HEAP32[$36>>2] = 1; | |
| $37 = ((($29)) + 8|0); | |
| dest=$37; src=$0; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); | |
| $38 = $29; | |
| STACKTOP = sp;return ($38|0); | |
| } | |
| __THREW__ = 0; | |
| invoke_v(62); | |
| $31 = __THREW__; __THREW__ = 0; | |
| $32 = ___cxa_find_matching_catch_2()|0; | |
| $33 = tempRet0; | |
| (_pthread_mutex_destroy(($17|0))|0); | |
| $34 = ($17|0)==((488447261)|0); | |
| if ($34) { | |
| $35 = ((($0)) + 12|0); | |
| __ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($35); | |
| ___resumeException($32|0); | |
| // unreachable; | |
| } | |
| _free($17); | |
| $35 = ((($0)) + 12|0); | |
| __ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($35); | |
| ___resumeException($32|0); | |
| // unreachable; | |
| return (0)|0; | |
| } | |
| function __ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; | |
| var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_r$i$i = 0, $cond$i$i$i = 0; | |
| var $cond$i$i$i$i$i = 0, $switch$i$i$i = 0, $switch$split12D = 0, $switch$split2D = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $_r$i$i = sp; | |
| $1 = ((($0)) + 17|0); | |
| $2 = HEAP8[$1>>0]|0; | |
| $3 = ($2<<24>>24)==(-44); | |
| if (!($3)) { | |
| STACKTOP = sp;return; | |
| } | |
| $4 = HEAP8[$0>>0]|0; | |
| $switch$i$i$i = ($4<<24>>24)==(1); | |
| $5 = ((($0)) + 16|0); | |
| $6 = HEAP8[$5>>0]|0; | |
| $7 = ($6<<24>>24)==(0); | |
| $8 = $switch$i$i$i & $7; | |
| L4: do { | |
| if ($8) { | |
| __THREW__ = 0; | |
| invoke_vii(102,($_r$i$i|0),($0|0)); | |
| $9 = __THREW__; __THREW__ = 0; | |
| $10 = $9&1; | |
| do { | |
| if (!($10)) { | |
| $11 = HEAP32[$_r$i$i>>2]|0; | |
| $cond$i$i$i = ($11|0)==(1); | |
| if ($cond$i$i$i) { | |
| $12 = ((($_r$i$i)) + 4|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $cond$i$i$i$i$i = ($13|0)==(1); | |
| if ($cond$i$i$i$i$i) { | |
| $14 = ((($_r$i$i)) + 8|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| $16 = ($15|0)==((488447261)|0); | |
| if (!($16)) { | |
| $17 = ((($15)) + 4|0); | |
| $18 = HEAP32[$17>>2]|0; | |
| $19 = ($18|0)==((488447261)|0); | |
| if (!($19)) { | |
| $20 = ((($15)) + 8|0); | |
| $21 = HEAP32[$20>>2]|0; | |
| $22 = HEAP32[$21>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vi($22|0,($18|0)); | |
| $23 = __THREW__; __THREW__ = 0; | |
| $24 = $23&1; | |
| if ($24) { | |
| break; | |
| } | |
| $25 = HEAP32[$20>>2]|0; | |
| $26 = ((($25)) + 4|0); | |
| $27 = HEAP32[$26>>2]|0; | |
| $28 = ($27|0)==(0); | |
| if (!($28)) { | |
| _free($18); | |
| } | |
| } | |
| _free($15); | |
| } | |
| } | |
| } | |
| break L4; | |
| } | |
| } while(0); | |
| $33 = ___cxa_find_matching_catch_2()|0; | |
| $34 = tempRet0; | |
| $35 = ((($0)) + 8|0); | |
| $36 = HEAP32[$35>>2]|0; | |
| $switch$split12D = ($36|0)<(488447261); | |
| L19: do { | |
| if ($switch$split12D) { | |
| switch ($36|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L19; | |
| } | |
| } | |
| ___resumeException($33|0); | |
| // unreachable; | |
| } else { | |
| switch ($36|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L19; | |
| } | |
| } | |
| ___resumeException($33|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $37 = ((($0)) + 4|0); | |
| $38 = HEAP32[$37>>2]|0; | |
| _free($38); | |
| ___resumeException($33|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $29 = ((($0)) + 8|0); | |
| $30 = HEAP32[$29>>2]|0; | |
| $switch$split2D = ($30|0)<(488447261); | |
| L27: do { | |
| if ($switch$split2D) { | |
| switch ($30|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L27; | |
| } | |
| } | |
| STACKTOP = sp;return; | |
| } else { | |
| switch ($30|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L27; | |
| } | |
| } | |
| STACKTOP = sp;return; | |
| } | |
| } while(0); | |
| $31 = ((($0)) + 4|0); | |
| $32 = HEAP32[$31>>2]|0; | |
| _free($32); | |
| STACKTOP = sp;return; | |
| } | |
| function __ZN2io8buffered18BufWriter_LT_W_GT_9flush_buf20h8668712493739691759E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$sroa$021$0113 = 0, $$sroa$5$0114 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; | |
| var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; | |
| var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i$i$i23 = 0; | |
| var $cond$i22 = 0, $cond18 = 0, $not$switch$i = 0, $or$cond = 0, $r$sroa$11$sroa$0$1119 = 0, $ret$sroa$0$0 = 0, $ret$sroa$0$0207 = 0, $ret$sroa$12$sroa$0$0 = 0, $ret$sroa$12$sroa$0$0208 = 0, $ret$sroa$12$sroa$12$0 = 0, $ret$sroa$12$sroa$12$0209 = 0, $switch$i32 = 0, $written$0$ph160 = 0, $written$0$ph178 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $2 = sp; | |
| $3 = ((($1)) + 12|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = ($4|0)==(0); | |
| do { | |
| if ($5) { | |
| $ret$sroa$0$0207 = 0;$ret$sroa$12$sroa$0$0208 = 0;$ret$sroa$12$sroa$12$0209 = 0; | |
| } else { | |
| $6 = ((($1)) + 16|0); | |
| $7 = ((($1)) + 1|0); | |
| $8 = ((($1)) + 4|0); | |
| $written$0$ph178 = 0; | |
| L3: while(1) { | |
| L5: while(1) { | |
| HEAP8[$6>>0] = 1; | |
| $12 = HEAP8[$1>>0]|0; | |
| $not$switch$i = ($12<<24>>24)==(1); | |
| if (!($not$switch$i)) { | |
| label = 7; | |
| break L3; | |
| } | |
| $28 = HEAP32[$3>>2]|0; | |
| $29 = ($28>>>0)<($written$0$ph178>>>0); | |
| if ($29) { | |
| label = 16; | |
| break L3; | |
| } | |
| $31 = (($28) - ($written$0$ph178))|0; | |
| $32 = HEAP8[$7>>0]|0; | |
| $switch$i32 = ($32<<24>>24)==(1); | |
| if ($switch$i32) { | |
| label = 18; | |
| break; | |
| } | |
| $33 = HEAP32[$8>>2]|0; | |
| $34 = (($33) + ($written$0$ph178)|0); | |
| $35 = (_write(1,$34,$31)|0); | |
| $36 = ($35|0)==(-1); | |
| if (!($36)) { | |
| label = 21; | |
| break; | |
| } | |
| $37 = (___errno_location()|0); | |
| $38 = HEAP32[$37>>2]|0; | |
| HEAP8[$6>>0] = 0; | |
| switch ($38|0) { | |
| case 4: { | |
| break; | |
| } | |
| case 9: { | |
| $r$sroa$11$sroa$0$1119 = $31; | |
| break L5; | |
| break; | |
| } | |
| default: { | |
| $ret$sroa$0$0 = 1;$ret$sroa$12$sroa$0$0 = 0;$ret$sroa$12$sroa$12$0 = $38;$written$0$ph160 = $written$0$ph178; | |
| break L3; | |
| } | |
| } | |
| } | |
| if ((label|0) == 18) { | |
| label = 0; | |
| HEAP8[$6>>0] = 0; | |
| $r$sroa$11$sroa$0$1119 = $31; | |
| } | |
| else if ((label|0) == 21) { | |
| label = 0; | |
| HEAP8[$6>>0] = 0; | |
| $r$sroa$11$sroa$0$1119 = $35; | |
| } | |
| $cond18 = ($r$sroa$11$sroa$0$1119|0)==(0); | |
| $9 = (($r$sroa$11$sroa$0$1119) + ($written$0$ph178))|0; | |
| if ($cond18) { | |
| label = 23; | |
| break; | |
| } | |
| $10 = ($9>>>0)<($4>>>0); | |
| if ($10) { | |
| $written$0$ph178 = $9; | |
| } else { | |
| $ret$sroa$0$0 = 0;$ret$sroa$12$sroa$0$0 = 0;$ret$sroa$12$sroa$12$0 = 0;$written$0$ph160 = $9; | |
| break; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 7) { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1488|0)); | |
| $13 = __THREW__; __THREW__ = 0; | |
| label = 8; | |
| } | |
| else if ((label|0) == 16) { | |
| __THREW__ = 0; | |
| invoke_vii(84,($written$0$ph178|0),($28|0)); | |
| $30 = __THREW__; __THREW__ = 0; | |
| label = 8; | |
| } | |
| else if ((label|0) == 23) { | |
| $39 = ((($2)) + 4|0); | |
| __THREW__ = 0; | |
| invoke_viiii(75,($39|0),14,(3192|0),33); | |
| $40 = __THREW__; __THREW__ = 0; | |
| $41 = $40&1; | |
| if (!($41)) { | |
| HEAP32[$2>>2] = 1; | |
| $44 = ((($2)) + 4|0); | |
| $45 = HEAP32[$44>>2]|0; | |
| $46 = ((($2)) + 8|0); | |
| $47 = HEAP32[$46>>2]|0; | |
| $ret$sroa$0$0 = 1;$ret$sroa$12$sroa$0$0 = $45;$ret$sroa$12$sroa$12$0 = $47;$written$0$ph160 = $written$0$ph178; | |
| break; | |
| } | |
| $42 = ___cxa_find_matching_catch_2()|0; | |
| $43 = tempRet0; | |
| $$sroa$021$0113 = $42;$$sroa$5$0114 = $43; | |
| ___resumeException($$sroa$021$0113|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| if ((label|0) == 8) { | |
| $14 = ___cxa_find_matching_catch_2()|0; | |
| $15 = tempRet0; | |
| $$sroa$021$0113 = $14;$$sroa$5$0114 = $15; | |
| ___resumeException($$sroa$021$0113|0); | |
| // unreachable; | |
| } | |
| $11 = ($written$0$ph160|0)==(0); | |
| if ($11) { | |
| $ret$sroa$0$0207 = $ret$sroa$0$0;$ret$sroa$12$sroa$0$0208 = $ret$sroa$12$sroa$0$0;$ret$sroa$12$sroa$12$0209 = $ret$sroa$12$sroa$12$0; | |
| } else { | |
| $48 = HEAP32[$3>>2]|0; | |
| $49 = ($48>>>0)<($written$0$ph160>>>0); | |
| if (!($49)) { | |
| HEAP32[$3>>2] = 0; | |
| $53 = (($48) - ($written$0$ph160))|0; | |
| $54 = ($48|0)==($written$0$ph160|0); | |
| if ($54) { | |
| $ret$sroa$0$0207 = $ret$sroa$0$0;$ret$sroa$12$sroa$0$0208 = $ret$sroa$12$sroa$0$0;$ret$sroa$12$sroa$12$0209 = $ret$sroa$12$sroa$12$0; | |
| break; | |
| } | |
| $55 = HEAP32[$8>>2]|0; | |
| $56 = (($55) + ($written$0$ph160)|0); | |
| _memmove(($55|0),($56|0),($53|0))|0; | |
| HEAP32[$3>>2] = $53; | |
| $ret$sroa$0$0207 = $ret$sroa$0$0;$ret$sroa$12$sroa$0$0208 = $ret$sroa$12$sroa$0$0;$ret$sroa$12$sroa$12$0209 = $ret$sroa$12$sroa$12$0; | |
| break; | |
| } | |
| __THREW__ = 0; | |
| invoke_vi(59,(900|0)); | |
| $50 = __THREW__; __THREW__ = 0; | |
| $51 = ___cxa_find_matching_catch_2()|0; | |
| $52 = tempRet0; | |
| $cond$i22 = ($ret$sroa$0$0|0)==(1); | |
| $cond$i$i$i23 = ($ret$sroa$12$sroa$0$0|0)==(1); | |
| $or$cond = $cond$i22 & $cond$i$i$i23; | |
| if (!($or$cond)) { | |
| $$sroa$021$0113 = $51;$$sroa$5$0114 = $52; | |
| ___resumeException($$sroa$021$0113|0); | |
| // unreachable; | |
| } | |
| $16 = $ret$sroa$12$sroa$12$0; | |
| $17 = ($16|0)==((488447261)|0); | |
| if ($17) { | |
| $$sroa$021$0113 = $51;$$sroa$5$0114 = $52; | |
| ___resumeException($$sroa$021$0113|0); | |
| // unreachable; | |
| } | |
| $18 = ((($16)) + 4|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| $20 = ($19|0)==((488447261)|0); | |
| if (!($20)) { | |
| $21 = ((($16)) + 8|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| $23 = HEAP32[$22>>2]|0; | |
| FUNCTION_TABLE_vi[$23 & 127]($19); | |
| $24 = HEAP32[$21>>2]|0; | |
| $25 = ((($24)) + 4|0); | |
| $26 = HEAP32[$25>>2]|0; | |
| $27 = ($26|0)==(0); | |
| if (!($27)) { | |
| _free($19); | |
| } | |
| } | |
| _free($16); | |
| $$sroa$021$0113 = $51;$$sroa$5$0114 = $52; | |
| ___resumeException($$sroa$021$0113|0); | |
| // unreachable; | |
| } | |
| } | |
| } while(0); | |
| HEAP32[$0>>2] = $ret$sroa$0$0207; | |
| $57 = ((($0)) + 4|0); | |
| HEAP32[$57>>2] = $ret$sroa$12$sroa$0$0208; | |
| $58 = ((($0)) + 8|0); | |
| HEAP32[$58>>2] = $ret$sroa$12$sroa$12$0209; | |
| STACKTOP = sp;return; | |
| } | |
| function __ZN5boxed16F_FnBox_LT_A_GT_8call_box20h1367375657117353903E($0,$$ptr) { | |
| $0 = $0|0; | |
| $$ptr = $$ptr|0; | |
| var $$pre$i$i = 0, $$pre$i$i$i = 0, $$pre$i11$i = 0, $$sink$in$phi$trans$insert$i$i = 0, $$sink$in$phi$trans$insert$i$i$i = 0, $$sink$in$phi$trans$insert$i9$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; | |
| var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; | |
| var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp$i = 0, $phitmp$i$i$i = 0, $phitmp$i12$i = 0, $switch$i$i$i = 0, $switch$i$i$i$i = 0; | |
| var $switch$i$i$i$i$i = 0, $switch$i$i15$i = 0, $switchtmp$i$i$i$i = 0, $switchtmp$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = HEAP32[$0>>2]|0; | |
| $2 = $1; | |
| (_pthread_mutex_lock(($2|0))|0); | |
| __THREW__ = 0; | |
| $3 = (invoke_i(63)|0); | |
| $4 = __THREW__; __THREW__ = 0; | |
| $5 = $4&1; | |
| L1: do { | |
| if (!($5)) { | |
| $switchtmp$i$i$i$i$i$i = ($3|0)==(0|0); | |
| if ($switchtmp$i$i$i$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $6 = __THREW__; __THREW__ = 0; | |
| break; | |
| } | |
| $7 = HEAP32[$3>>2]|0; | |
| $switch$i$i$i$i$i = ($7|0)==(1); | |
| if ($switch$i$i$i$i$i) { | |
| $$sink$in$phi$trans$insert$i$i = ((($3)) + 4|0); | |
| $$pre$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i>>2]|0; | |
| $phitmp$i = ($$pre$i$i|0)==(0); | |
| $49 = $phitmp$i; | |
| } else { | |
| $8 = $3; | |
| $9 = $8; | |
| HEAP32[$9>>2] = 1; | |
| $10 = (($8) + 4)|0; | |
| $11 = $10; | |
| HEAP32[$11>>2] = 0; | |
| $49 = 1; | |
| } | |
| $12 = ((($2)) + 24|0); | |
| $13 = HEAP8[$12>>0]|0; | |
| $switch$i$i$i = ($13<<24>>24)==(0); | |
| $14 = ((($2)) + 32|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| HEAP32[$14>>2] = (1); | |
| $16 = $1; | |
| if ($switch$i$i$i) { | |
| do { | |
| if ($49) { | |
| __THREW__ = 0; | |
| $17 = (invoke_i(63)|0); | |
| $18 = __THREW__; __THREW__ = 0; | |
| $19 = $18&1; | |
| if ($19) { | |
| break L1; | |
| } | |
| $switchtmp$i$i$i$i$i = ($17|0)==(0|0); | |
| if ($switchtmp$i$i$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $20 = __THREW__; __THREW__ = 0; | |
| break L1; | |
| } | |
| $21 = HEAP32[$17>>2]|0; | |
| $switch$i$i$i$i = ($21|0)==(1); | |
| if (!($switch$i$i$i$i)) { | |
| $22 = $17; | |
| $23 = $22; | |
| HEAP32[$23>>2] = 1; | |
| $24 = (($22) + 4)|0; | |
| $25 = $24; | |
| HEAP32[$25>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i$i$i = ((($17)) + 4|0); | |
| $$pre$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i>>2]|0; | |
| $phitmp$i$i$i = ($$pre$i$i$i|0)==(0); | |
| if (!($phitmp$i$i$i)) { | |
| $26 = ((($16)) + 24|0); | |
| HEAP8[$26>>0] = 1; | |
| } | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(($16|0))|0); | |
| } else { | |
| do { | |
| if ($49) { | |
| __THREW__ = 0; | |
| $27 = (invoke_i(63)|0); | |
| $28 = __THREW__; __THREW__ = 0; | |
| $29 = $28&1; | |
| if ($29) { | |
| break L1; | |
| } | |
| $switchtmp$i$i$i$i = ($27|0)==(0|0); | |
| if ($switchtmp$i$i$i$i) { | |
| __THREW__ = 0; | |
| invoke_vii(57,(2393|0),57); | |
| $30 = __THREW__; __THREW__ = 0; | |
| break L1; | |
| } | |
| $31 = HEAP32[$27>>2]|0; | |
| $switch$i$i15$i = ($31|0)==(1); | |
| if (!($switch$i$i15$i)) { | |
| $32 = $27; | |
| $33 = $32; | |
| HEAP32[$33>>2] = 1; | |
| $34 = (($32) + 4)|0; | |
| $35 = $34; | |
| HEAP32[$35>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i9$i = ((($27)) + 4|0); | |
| $$pre$i11$i = HEAP32[$$sink$in$phi$trans$insert$i9$i>>2]|0; | |
| $phitmp$i12$i = ($$pre$i11$i|0)==(0); | |
| if (!($phitmp$i12$i)) { | |
| $36 = ((($16)) + 24|0); | |
| HEAP8[$36>>0] = 1; | |
| } | |
| } | |
| } while(0); | |
| (_pthread_mutex_unlock(($16|0))|0); | |
| } | |
| $37 = ($15|0)==((488447261)|0); | |
| if (!($37)) { | |
| $38 = HEAP32[$15>>2]|0; | |
| $39 = ($38|0)==(488447261); | |
| if (!($39)) { | |
| $40 = $38; | |
| $41 = HEAP32[$40>>2]|0;HEAP32[$40>>2] = (($41-1)|0); | |
| $42 = ($41|0)==(1); | |
| if ($42) { | |
| /* fence */; | |
| __THREW__ = 0; | |
| invoke_vi(100,($15|0)); | |
| $43 = __THREW__; __THREW__ = 0; | |
| $44 = $43&1; | |
| if ($44) { | |
| break; | |
| } | |
| } | |
| } | |
| _free($15); | |
| } | |
| $45 = ($0|0)==((488447261)|0); | |
| if ($45) { | |
| return; | |
| } | |
| _free($0); | |
| return; | |
| } | |
| } while(0); | |
| $46 = ___cxa_find_matching_catch_2()|0; | |
| $47 = tempRet0; | |
| $48 = ($0|0)==((488447261)|0); | |
| if ($48) { | |
| ___resumeException($46|0); | |
| // unreachable; | |
| } | |
| _free($0); | |
| ___resumeException($46|0); | |
| // unreachable; | |
| } | |
| function __ZN3arc12Arc_LT_T_GT_9drop_slow21h18172976183440031798E($0) { | |
| $0 = $0|0; | |
| var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = HEAP32[$0>>2]|0; | |
| $2 = ((($1)) + 40|0); | |
| $3 = HEAP8[$2>>0]|0; | |
| $4 = ($3<<24>>24)==(-44); | |
| if ($4) { | |
| $5 = ((($1)) + 8|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| (_pthread_mutex_destroy(($6|0))|0); | |
| $7 = HEAP32[$5>>2]|0; | |
| $8 = ($7|0)==((488447261)|0); | |
| if (!($8)) { | |
| _free($7); | |
| } | |
| $9 = ((($1)) + 20|0); | |
| __ZN76io__buffered__LineWriter_LT_io__stdio__Maybe_LT_io__stdio__StdoutRaw_GT__GT_10drop_4147817he88201fd725f9280E($9); | |
| $$pre = HEAP32[$0>>2]|0; | |
| $11 = $$pre; | |
| } else { | |
| $11 = $1; | |
| } | |
| $10 = ((($11)) + 4|0); | |
| $12 = HEAP32[$10>>2]|0;HEAP32[$10>>2] = (($12-1)|0); | |
| $13 = ($12|0)==(1); | |
| if (!($13)) { | |
| return; | |
| } | |
| /* fence */; | |
| _free($1); | |
| return; | |
| } | |
| function __ZN2io5stdio30StdoutLock_LT__u27_a_GT__Write5write20h932a6dd67e3b18cbTkhE($0,$$0$0$0$val,$1,$2) { | |
| $0 = $0|0; | |
| $$0$0$0$val = $$0$0$0$val|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$sink$i = 0, $$sroa$7$0$ph = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; | |
| var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; | |
| var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; | |
| var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; | |
| var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; | |
| var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; | |
| var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond$i$i = 0, $eh$lpad$body$index2Z2D = 0, $eh$lpad$body$indexZ2D = 0, $i$04$i$i$i$i = 0, $i$04$i9$i$i$i = 0, $iret_slot$i = 0, $llretslotptr$2$i = 0, $not$switch$i$i$i$i$i$i = 0, $offset$1$i$i$i = 0, $ret_slot$i = 0, $ret_slot14$i = 0, $ret_slot24$i = 0, $switch$i$i = 0, $switch$i$i$i = 0, $switch37$i = 0, label = 0; | |
| var sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $3 = sp + 96|0; | |
| $iret_slot$i = sp + 80|0; | |
| $4 = sp + 64|0; | |
| $ret_slot$i = sp + 48|0; | |
| $ret_slot14$i = sp + 32|0; | |
| $ret_slot24$i = sp + 16|0; | |
| $5 = sp; | |
| $6 = ((($$0$0$0$val)) + 8|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $cond$i$i = ($7|0)==(0); | |
| if (!($cond$i$i)) { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(1528); | |
| // unreachable; | |
| } | |
| HEAP32[$6>>2] = -1; | |
| $10 = ((($$0$0$0$val)) + 12|0); | |
| $11 = $1; | |
| $12 = (($11) + ($2))|0; | |
| $13 = $12 & 3; | |
| $14 = ($13|0)==(0); | |
| L4: do { | |
| if ($14) { | |
| $offset$1$i$i$i = $2; | |
| label = 19; | |
| } else { | |
| $15 = (4 - ($13))|0; | |
| $16 = ($15>>>0)<=($2>>>0); | |
| $17 = $16 ? $15 : $2; | |
| $18 = (($2) - ($17))|0; | |
| $19 = ($18>>>0)>($2>>>0); | |
| if ($19) { | |
| __THREW__ = 0; | |
| invoke_vii(84,($18|0),($2|0)); | |
| $20 = __THREW__; __THREW__ = 0; | |
| break; | |
| } | |
| $21 = (($1) + ($18)|0); | |
| $22 = ($17|0)==(0); | |
| if ($22) { | |
| $offset$1$i$i$i = $18; | |
| label = 19; | |
| } else { | |
| $23 = (($21) + ($17)|0); | |
| $25 = $23;$i$04$i9$i$i$i = $17; | |
| while(1) { | |
| $24 = ((($25)) + -1|0); | |
| $26 = HEAP8[$24>>0]|0; | |
| $27 = ($26<<24>>24)==(10); | |
| $28 = (($i$04$i9$i$i$i) + -1)|0; | |
| if ($27) { | |
| break; | |
| } | |
| $29 = ($24|0)==($21|0); | |
| if ($29) { | |
| $offset$1$i$i$i = $18; | |
| label = 19; | |
| break L4; | |
| } else { | |
| $25 = $24;$i$04$i9$i$i$i = $28; | |
| } | |
| } | |
| $30 = (($28) + ($18))|0; | |
| $$sroa$7$0$ph = $30; | |
| label = 21; | |
| } | |
| } | |
| } while(0); | |
| L14: do { | |
| if ((label|0) == 19) { | |
| while(1) { | |
| label = 0; | |
| $41 = ($offset$1$i$i$i>>>0)>(7); | |
| if (!($41)) { | |
| break; | |
| } | |
| $42 = (($offset$1$i$i$i) + -8)|0; | |
| $43 = (($1) + ($42)|0); | |
| $44 = HEAP32[$43>>2]|0; | |
| $45 = (($offset$1$i$i$i) + -4)|0; | |
| $46 = (($1) + ($45)|0); | |
| $47 = HEAP32[$46>>2]|0; | |
| $48 = $44 ^ 168430090; | |
| $49 = (($48) + -16843009)|0; | |
| $50 = $44 & -2139062144; | |
| $51 = $50 ^ -2139062144; | |
| $52 = $51 & $49; | |
| $53 = $47 ^ 168430090; | |
| $54 = (($53) + -16843009)|0; | |
| $55 = $47 & -2139062144; | |
| $56 = $55 ^ -2139062144; | |
| $57 = $56 & $54; | |
| $58 = $57 | $52; | |
| $59 = ($58|0)==(0); | |
| if ($59) { | |
| $offset$1$i$i$i = $42; | |
| label = 19; | |
| } else { | |
| break; | |
| } | |
| } | |
| $31 = ($offset$1$i$i$i>>>0)>($2>>>0); | |
| if ($31) { | |
| __THREW__ = 0; | |
| invoke_vii(76,($offset$1$i$i$i|0),($2|0)); | |
| $32 = __THREW__; __THREW__ = 0; | |
| break; | |
| } | |
| $33 = ($offset$1$i$i$i|0)==(0); | |
| if (!($33)) { | |
| $34 = (($1) + ($offset$1$i$i$i)|0); | |
| $36 = $34;$i$04$i$i$i$i = $offset$1$i$i$i; | |
| while(1) { | |
| $35 = ((($36)) + -1|0); | |
| $37 = HEAP8[$35>>0]|0; | |
| $38 = ($37<<24>>24)==(10); | |
| $39 = (($i$04$i$i$i$i) + -1)|0; | |
| if ($38) { | |
| $$sroa$7$0$ph = $39; | |
| label = 21; | |
| break L14; | |
| } | |
| $40 = ($35|0)==($1|0); | |
| if ($40) { | |
| break; | |
| } else { | |
| $36 = $35;$i$04$i$i$i$i = $39; | |
| } | |
| } | |
| } | |
| __THREW__ = 0; | |
| invoke_viiii(103,($iret_slot$i|0),($10|0),($1|0),($2|0)); | |
| $66 = __THREW__; __THREW__ = 0; | |
| $67 = $66&1; | |
| if (!($67)) { | |
| $llretslotptr$2$i = $iret_slot$i; | |
| ;HEAP32[$0>>2]=HEAP32[$llretslotptr$2$i>>2]|0;HEAP32[$0+4>>2]=HEAP32[$llretslotptr$2$i+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$llretslotptr$2$i+8>>2]|0; | |
| HEAP32[$6>>2] = 0; | |
| STACKTOP = sp;return; | |
| } | |
| } | |
| } while(0); | |
| do { | |
| if ((label|0) == 21) { | |
| $60 = (($$sroa$7$0$ph) + 1)|0; | |
| $61 = ($60>>>0)>($2>>>0); | |
| if ($61) { | |
| __THREW__ = 0; | |
| invoke_vii(76,($60|0),($2|0)); | |
| $62 = __THREW__; __THREW__ = 0; | |
| break; | |
| } | |
| __THREW__ = 0; | |
| invoke_viiii(103,($4|0),($10|0),($1|0),($60|0)); | |
| $63 = __THREW__; __THREW__ = 0; | |
| $64 = $63&1; | |
| if (!($64)) { | |
| $65 = HEAP32[$4>>2]|0; | |
| $switch37$i = ($65|0)==(1); | |
| if ($switch37$i) { | |
| $71 = ((($4)) + 4|0); | |
| $72 = ((($ret_slot$i)) + 4|0); | |
| $73 = $71; | |
| $74 = $73; | |
| $75 = HEAP32[$74>>2]|0; | |
| $76 = (($73) + 4)|0; | |
| $77 = $76; | |
| $78 = HEAP32[$77>>2]|0; | |
| $79 = $72; | |
| $80 = $79; | |
| HEAP32[$80>>2] = $75; | |
| $81 = (($79) + 4)|0; | |
| $82 = $81; | |
| HEAP32[$82>>2] = $78; | |
| HEAP32[$ret_slot$i>>2] = 1; | |
| $llretslotptr$2$i = $ret_slot$i; | |
| ;HEAP32[$0>>2]=HEAP32[$llretslotptr$2$i>>2]|0;HEAP32[$0+4>>2]=HEAP32[$llretslotptr$2$i+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$llretslotptr$2$i+8>>2]|0; | |
| HEAP32[$6>>2] = 0; | |
| STACKTOP = sp;return; | |
| } | |
| $68 = ((($4)) + 4|0); | |
| $69 = HEAP32[$68>>2]|0; | |
| $70 = ($69|0)==($60|0); | |
| if (!($70)) { | |
| $83 = ((($ret_slot14$i)) + 4|0); | |
| HEAP32[$83>>2] = $69; | |
| HEAP32[$ret_slot14$i>>2] = 0; | |
| $llretslotptr$2$i = $ret_slot14$i; | |
| ;HEAP32[$0>>2]=HEAP32[$llretslotptr$2$i>>2]|0;HEAP32[$0+4>>2]=HEAP32[$llretslotptr$2$i+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$llretslotptr$2$i+8>>2]|0; | |
| HEAP32[$6>>2] = 0; | |
| STACKTOP = sp;return; | |
| } | |
| __THREW__ = 0; | |
| invoke_vii(102,($3|0),($10|0)); | |
| $84 = __THREW__; __THREW__ = 0; | |
| $85 = $84&1; | |
| if (!($85)) { | |
| $86 = HEAP32[$3>>2]|0; | |
| $switch$i$i$i = ($86|0)==(1); | |
| if ($switch$i$i$i) { | |
| $116 = ((($3)) + 4|0); | |
| $117 = HEAP32[$116>>2]|0; | |
| $118 = ((($3)) + 8|0); | |
| $119 = HEAP32[$118>>2]|0; | |
| $120 = ((($ret_slot24$i)) + 4|0); | |
| $121 = $120; | |
| $122 = $121; | |
| HEAP32[$122>>2] = $117; | |
| $123 = (($121) + 4)|0; | |
| $124 = $123; | |
| HEAP32[$124>>2] = $119; | |
| HEAP32[$ret_slot24$i>>2] = 1; | |
| $llretslotptr$2$i = $ret_slot24$i; | |
| ;HEAP32[$0>>2]=HEAP32[$llretslotptr$2$i>>2]|0;HEAP32[$0+4>>2]=HEAP32[$llretslotptr$2$i+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$llretslotptr$2$i+8>>2]|0; | |
| HEAP32[$6>>2] = 0; | |
| STACKTOP = sp;return; | |
| } | |
| $87 = HEAP8[$10>>0]|0; | |
| $not$switch$i$i$i$i$i$i = ($87<<24>>24)==(1); | |
| if (!($not$switch$i$i$i$i$i$i)) { | |
| __THREW__ = 0; | |
| invoke_vi(59,(1488|0)); | |
| $88 = __THREW__; __THREW__ = 0; | |
| $89 = ___cxa_find_matching_catch_2()|0; | |
| $90 = tempRet0; | |
| $eh$lpad$body$index2Z2D = $90;$eh$lpad$body$indexZ2D = $89; | |
| HEAP32[$6>>2] = 0; | |
| ___resumeException($eh$lpad$body$indexZ2D|0); | |
| // unreachable; | |
| } | |
| $91 = (($1) + ($60)|0); | |
| $92 = (($2) - ($60))|0; | |
| __THREW__ = 0; | |
| invoke_viiii(103,($5|0),($10|0),($91|0),($92|0)); | |
| $93 = __THREW__; __THREW__ = 0; | |
| $94 = $93&1; | |
| if (!($94)) { | |
| $95 = HEAP32[$5>>2]|0; | |
| $switch$i$i = ($95|0)==(1); | |
| if ($switch$i$i) { | |
| $100 = ((($5)) + 4|0); | |
| $101 = ((($iret_slot$i)) + 4|0); | |
| $102 = $100; | |
| $103 = $102; | |
| $104 = HEAP32[$103>>2]|0; | |
| $105 = (($102) + 4)|0; | |
| $106 = $105; | |
| $107 = HEAP32[$106>>2]|0; | |
| $108 = $101; | |
| $109 = $108; | |
| HEAP32[$109>>2] = $104; | |
| $110 = (($108) + 4)|0; | |
| $111 = $110; | |
| HEAP32[$111>>2] = $107; | |
| $112 = $100; | |
| $113 = $112; | |
| HEAP32[$113>>2] = 488447261; | |
| $114 = (($112) + 4)|0; | |
| $115 = $114; | |
| HEAP32[$115>>2] = 488447261; | |
| $$sink$i = 1; | |
| } else { | |
| $96 = ((($5)) + 4|0); | |
| $97 = HEAP32[$96>>2]|0; | |
| $98 = (($97) + ($60))|0; | |
| $99 = ((($iret_slot$i)) + 4|0); | |
| HEAP32[$99>>2] = $98; | |
| $$sink$i = 0; | |
| } | |
| HEAP32[$iret_slot$i>>2] = $$sink$i; | |
| $llretslotptr$2$i = $iret_slot$i; | |
| ;HEAP32[$0>>2]=HEAP32[$llretslotptr$2$i>>2]|0;HEAP32[$0+4>>2]=HEAP32[$llretslotptr$2$i+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$llretslotptr$2$i+8>>2]|0; | |
| HEAP32[$6>>2] = 0; | |
| STACKTOP = sp;return; | |
| } | |
| } | |
| } | |
| } | |
| } while(0); | |
| $8 = ___cxa_find_matching_catch_2()|0; | |
| $9 = tempRet0; | |
| $eh$lpad$body$index2Z2D = $9;$eh$lpad$body$indexZ2D = $8; | |
| HEAP32[$6>>2] = 0; | |
| ___resumeException($eh$lpad$body$indexZ2D|0); | |
| // unreachable; | |
| } | |
| function __ZN2io8buffered24BufWriter_LT_W_GT__Write5write20h7139899166676454151E($0,$1,$2,$3) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| var $$pre = 0, $$pre$i$i = 0, $$sroa$06$011$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; | |
| var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; | |
| var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond$i$i = 0, $not$switch$i = 0, $r$sroa$0$1 = 0, $r$sroa$11$1 = 0, $r$sroa$8$1 = 0, $switch = 0, $switch$i41 = 0, label = 0; | |
| var sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $4 = sp; | |
| $5 = ((($1)) + 4|0); | |
| $6 = ((($1)) + 12|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = (($7) + ($3))|0; | |
| $9 = ((($1)) + 8|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($8>>>0)>($10>>>0); | |
| do { | |
| if ($11) { | |
| __ZN2io8buffered18BufWriter_LT_W_GT_9flush_buf20h8668712493739691759E($4,$1); | |
| $12 = HEAP32[$4>>2]|0; | |
| $switch = ($12|0)==(1); | |
| if (!($switch)) { | |
| $$pre = HEAP32[$9>>2]|0; | |
| $25 = $$pre; | |
| break; | |
| } | |
| $13 = ((($4)) + 4|0); | |
| $14 = ((($0)) + 4|0); | |
| $15 = $13; | |
| $16 = $15; | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = (($15) + 4)|0; | |
| $19 = $18; | |
| $20 = HEAP32[$19>>2]|0; | |
| $21 = $14; | |
| $22 = $21; | |
| HEAP32[$22>>2] = $17; | |
| $23 = (($21) + 4)|0; | |
| $24 = $23; | |
| HEAP32[$24>>2] = $20; | |
| HEAP32[$0>>2] = 1; | |
| STACKTOP = sp;return; | |
| } else { | |
| $25 = $10; | |
| } | |
| } while(0); | |
| $26 = ($25>>>0)>($3>>>0); | |
| if ($26) { | |
| $39 = ($25>>>0)>=($3>>>0); | |
| $40 = $39 ? $3 : $25; | |
| __ZN3vec12Vec_LT_T_GT_7reserve21h17275297742727099749E($5,$40); | |
| $41 = ($40|0)==(0); | |
| if (!($41)) { | |
| $$pre$i$i = HEAP32[$6>>2]|0; | |
| $$sroa$06$011$i$i = 0;$45 = $$pre$i$i; | |
| while(1) { | |
| $42 = (($$sroa$06$011$i$i) + 1)|0; | |
| $43 = HEAP32[$5>>2]|0; | |
| $44 = (($43) + ($45)|0); | |
| $46 = (($2) + ($$sroa$06$011$i$i)|0); | |
| $47 = HEAP8[$46>>0]|0; | |
| HEAP8[$44>>0] = $47; | |
| $48 = (($45) + 1)|0; | |
| HEAP32[$6>>2] = $48; | |
| $exitcond$i$i = ($42|0)==($40|0); | |
| if ($exitcond$i$i) { | |
| break; | |
| } else { | |
| $$sroa$06$011$i$i = $42;$45 = $48; | |
| } | |
| } | |
| } | |
| $49 = ((($0)) + 4|0); | |
| HEAP32[$49>>2] = $40; | |
| HEAP32[$0>>2] = 0; | |
| STACKTOP = sp;return; | |
| } | |
| $27 = ((($1)) + 16|0); | |
| HEAP8[$27>>0] = 1; | |
| $28 = HEAP8[$1>>0]|0; | |
| $not$switch$i = ($28<<24>>24)==(1); | |
| if (!($not$switch$i)) { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(1488); | |
| // unreachable; | |
| } | |
| $29 = ((($1)) + 1|0); | |
| $30 = HEAP8[$29>>0]|0; | |
| $switch$i41 = ($30<<24>>24)==(1); | |
| do { | |
| if ($switch$i41) { | |
| $r$sroa$0$1 = 0;$r$sroa$11$1 = 0;$r$sroa$8$1 = $3; | |
| } else { | |
| $31 = (_write(1,$2,$3)|0); | |
| $32 = ($31|0)==(-1); | |
| if ($32) { | |
| $33 = (___errno_location()|0); | |
| $34 = HEAP32[$33>>2]|0; | |
| $35 = ($34|0)==(9); | |
| $36 = $34; | |
| if ($35) { | |
| $r$sroa$0$1 = 0;$r$sroa$11$1 = $36;$r$sroa$8$1 = $3; | |
| break; | |
| } else { | |
| $50 = $36;$51 = 1;$52 = 0; | |
| } | |
| } else { | |
| $50 = 0;$51 = 0;$52 = $31; | |
| } | |
| $r$sroa$0$1 = $51;$r$sroa$11$1 = $50;$r$sroa$8$1 = $52; | |
| } | |
| } while(0); | |
| HEAP8[$27>>0] = 0; | |
| HEAP32[$0>>2] = $r$sroa$0$1; | |
| $37 = ((($0)) + 4|0); | |
| HEAP32[$37>>2] = $r$sroa$8$1; | |
| $38 = ((($0)) + 8|0); | |
| HEAP32[$38>>2] = $r$sroa$11$1; | |
| STACKTOP = sp;return; | |
| } | |
| function __ZN2io5stdio12Stdout_Write9write_fmt20h454ebc90fe128853AkhE($0,$$0$0$0$0$0$val,$args) { | |
| $0 = $0|0; | |
| $$0$0$0$0$0$val = $$0$0$0$0$0$val|0; | |
| $args = $args|0; | |
| var $$pre$i$i$i$i = 0, $$pre$i$i$i$i4 = 0, $$pre$i$i$i$i9 = 0, $$sink$i$index = 0, $$sink$i$index2 = 0, $$sink$in$phi$trans$insert$i$i$i$i = 0, $$sink$in$phi$trans$insert$i$i$i$i2 = 0, $$sink$in$phi$trans$insert$i$i$i$i7 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; | |
| var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; | |
| var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; | |
| var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; | |
| var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; | |
| var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arg$i = 0, $cond$i$i$i = 0, $cond$i$i$i$i$i = 0, $cond$i$i$i$i10$i = 0, $cond$i$i9$i = 0, $eh$lpad$body$index7Z2D = 0, $eh$lpad$body$indexZ2D = 0, $output$i = 0; | |
| var $phitmp$i$i$i$i = 0, $phitmp$i$i$i$i10 = 0, $phitmp$i$i$i$i5 = 0, $switch$i = 0, $switch$i$i$i$i$i = 0, $switch$i$i$i$i$i$i = 0, $switch$i$i$i$i$i15 = 0, $switchtmp$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i12 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $output$i = sp + 32|0; | |
| $arg$i = sp + 8|0; | |
| $1 = sp; | |
| $2 = ((($$0$0$0$0$0$val)) + 8|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| (_pthread_mutex_lock(($3|0))|0); | |
| $4 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0); | |
| $switchtmp$i$i$i$i$i$i$i = ($4|0)==(0|0); | |
| $5 = $2; | |
| if ($switchtmp$i$i$i$i$i$i$i) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57); | |
| // unreachable; | |
| } | |
| $6 = HEAP32[$4>>2]|0; | |
| $switch$i$i$i$i$i$i = ($6|0)==(1); | |
| if ($switch$i$i$i$i$i$i) { | |
| $$sink$in$phi$trans$insert$i$i$i$i = ((($4)) + 4|0); | |
| $$pre$i$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i>>2]|0; | |
| $phitmp$i$i$i$i = ($$pre$i$i$i$i|0)!=(0); | |
| $7 = $phitmp$i$i$i$i&1; | |
| $13 = 0;$15 = $7; | |
| } else { | |
| $8 = $4; | |
| $9 = $8; | |
| HEAP32[$9>>2] = 1; | |
| $10 = (($8) + 4)|0; | |
| $11 = $10; | |
| HEAP32[$11>>2] = 0; | |
| $13 = 0;$15 = 0; | |
| } | |
| $12 = $5 | $13; | |
| $14 = $15 | 54272; | |
| $16 = $1; | |
| $17 = $16; | |
| HEAP32[$17>>2] = $12; | |
| $18 = (($16) + 4)|0; | |
| $19 = $18; | |
| HEAP32[$19>>2] = $14; | |
| HEAP32[$output$i>>2] = $1; | |
| $20 = ((($output$i)) + 4|0); | |
| ;HEAP32[$20>>2]=HEAP32[6832>>2]|0;HEAP32[$20+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[6832+8>>2]|0; | |
| ;HEAP32[$arg$i>>2]=HEAP32[$args>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg$i+20>>2]=HEAP32[$args+20>>2]|0; | |
| __THREW__ = 0; | |
| $21 = (invoke_iiii(71,($output$i|0),(264|0),($arg$i|0))|0); | |
| $22 = __THREW__; __THREW__ = 0; | |
| $23 = $22&1; | |
| L8: do { | |
| if ($23) { | |
| $24 = ___cxa_find_matching_catch_2()|0; | |
| $25 = tempRet0; | |
| $$sink$i$index = $24;$$sink$i$index2 = $25; | |
| label = 9; | |
| } else { | |
| $switch$i = ($21<<24>>24)==(0); | |
| do { | |
| if ($switch$i) { | |
| ;HEAP32[$0>>2]=HEAP32[6832>>2]|0;HEAP32[$0+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[6832+8>>2]|0; | |
| } else { | |
| $45 = HEAP32[$20>>2]|0; | |
| $46 = ($45|0)==(1); | |
| if ($46) { | |
| ;HEAP32[$0>>2]=HEAP32[$20>>2]|0;HEAP32[$0+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$20+8>>2]|0; | |
| ;HEAP32[$20>>2]=488447261|0;HEAP32[$20+4>>2]=488447261|0;HEAP32[$20+8>>2]=488447261|0; | |
| break; | |
| } | |
| $49 = ((($0)) + 4|0); | |
| __THREW__ = 0; | |
| invoke_viiii(75,($49|0),16,(2528|0),15); | |
| $50 = __THREW__; __THREW__ = 0; | |
| $51 = $50&1; | |
| if ($51) { | |
| $47 = ___cxa_find_matching_catch_2()|0; | |
| $48 = tempRet0; | |
| $$sink$i$index = $47;$$sink$i$index2 = $48; | |
| label = 9; | |
| break L8; | |
| } else { | |
| HEAP32[$0>>2] = 1; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $52 = ((($output$i)) + 4|0); | |
| $53 = HEAP32[$52>>2]|0; | |
| $cond$i$i9$i = ($53|0)==(1); | |
| if ($cond$i$i9$i) { | |
| $54 = ((($output$i)) + 8|0); | |
| $55 = HEAP32[$54>>2]|0; | |
| $cond$i$i$i$i10$i = ($55|0)==(1); | |
| if ($cond$i$i$i$i10$i) { | |
| $56 = ((($output$i)) + 12|0); | |
| $57 = HEAP32[$56>>2]|0; | |
| $58 = ($57|0)==((488447261)|0); | |
| if (!($58)) { | |
| $59 = ((($57)) + 4|0); | |
| $60 = HEAP32[$59>>2]|0; | |
| $61 = ($60|0)==((488447261)|0); | |
| if (!($61)) { | |
| $62 = ((($57)) + 8|0); | |
| $63 = HEAP32[$62>>2]|0; | |
| $64 = HEAP32[$63>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vi($64|0,($60|0)); | |
| $65 = __THREW__; __THREW__ = 0; | |
| $66 = $65&1; | |
| if ($66) { | |
| label = 42; | |
| break; | |
| } | |
| $67 = HEAP32[$62>>2]|0; | |
| $68 = ((($67)) + 4|0); | |
| $69 = HEAP32[$68>>2]|0; | |
| $70 = ($69|0)==(0); | |
| if (!($70)) { | |
| _free($60); | |
| } | |
| } | |
| _free($57); | |
| } | |
| } | |
| } | |
| $71 = ((($1)) + 5|0); | |
| $72 = HEAP8[$71>>0]|0; | |
| $73 = ($72<<24>>24)==(-44); | |
| if (!($73)) { | |
| STACKTOP = sp;return; | |
| } | |
| $74 = HEAP32[$1>>2]|0; | |
| $75 = ((($1)) + 4|0); | |
| $76 = HEAP8[$75>>0]|0; | |
| $77 = ($76<<24>>24)==(0); | |
| do { | |
| if ($77) { | |
| $78 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0); | |
| $switchtmp$i$i$i$i$i$i = ($78|0)==(0|0); | |
| if ($switchtmp$i$i$i$i$i$i) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57); | |
| // unreachable; | |
| } | |
| $79 = HEAP32[$78>>2]|0; | |
| $switch$i$i$i$i$i = ($79|0)==(1); | |
| if (!($switch$i$i$i$i$i)) { | |
| $80 = $78; | |
| $81 = $80; | |
| HEAP32[$81>>2] = 1; | |
| $82 = (($80) + 4)|0; | |
| $83 = $82; | |
| HEAP32[$83>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i$i$i$i2 = ((($78)) + 4|0); | |
| $$pre$i$i$i$i4 = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i2>>2]|0; | |
| $phitmp$i$i$i$i5 = ($$pre$i$i$i$i4|0)==(0); | |
| if (!($phitmp$i$i$i$i5)) { | |
| $84 = ((($74)) + 4|0); | |
| HEAP8[$84>>0] = 1; | |
| } | |
| } | |
| } while(0); | |
| $85 = HEAP32[$1>>2]|0; | |
| $86 = HEAP32[$85>>2]|0; | |
| (_pthread_mutex_unlock(($86|0))|0); | |
| STACKTOP = sp;return; | |
| } | |
| } while(0); | |
| do { | |
| if ((label|0) == 9) { | |
| $26 = ((($output$i)) + 4|0); | |
| $27 = HEAP32[$26>>2]|0; | |
| $cond$i$i$i = ($27|0)==(1); | |
| if ($cond$i$i$i) { | |
| $28 = ((($output$i)) + 8|0); | |
| $29 = HEAP32[$28>>2]|0; | |
| $cond$i$i$i$i$i = ($29|0)==(1); | |
| if ($cond$i$i$i$i$i) { | |
| $30 = ((($output$i)) + 12|0); | |
| $31 = HEAP32[$30>>2]|0; | |
| $32 = ($31|0)==((488447261)|0); | |
| if (!($32)) { | |
| $33 = ((($31)) + 4|0); | |
| $34 = HEAP32[$33>>2]|0; | |
| $35 = ($34|0)==((488447261)|0); | |
| if (!($35)) { | |
| $36 = ((($31)) + 8|0); | |
| $37 = HEAP32[$36>>2]|0; | |
| $38 = HEAP32[$37>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vi($38|0,($34|0)); | |
| $39 = __THREW__; __THREW__ = 0; | |
| $40 = $39&1; | |
| if ($40) { | |
| label = 42; | |
| break; | |
| } | |
| $41 = HEAP32[$36>>2]|0; | |
| $42 = ((($41)) + 4|0); | |
| $43 = HEAP32[$42>>2]|0; | |
| $44 = ($43|0)==(0); | |
| if (!($44)) { | |
| _free($34); | |
| } | |
| } | |
| _free($31); | |
| } | |
| } | |
| } | |
| $eh$lpad$body$index7Z2D = $$sink$i$index2;$eh$lpad$body$indexZ2D = $$sink$i$index; | |
| } | |
| } while(0); | |
| if ((label|0) == 42) { | |
| $87 = ___cxa_find_matching_catch_2()|0; | |
| $88 = tempRet0; | |
| $eh$lpad$body$index7Z2D = $88;$eh$lpad$body$indexZ2D = $87; | |
| } | |
| $89 = ((($1)) + 5|0); | |
| $90 = HEAP8[$89>>0]|0; | |
| $91 = ($90<<24>>24)==(-44); | |
| if (!($91)) { | |
| ___resumeException($eh$lpad$body$indexZ2D|0); | |
| // unreachable; | |
| } | |
| $92 = HEAP32[$1>>2]|0; | |
| $93 = ((($1)) + 4|0); | |
| $94 = HEAP8[$93>>0]|0; | |
| $95 = ($94<<24>>24)==(0); | |
| do { | |
| if ($95) { | |
| $96 = (__ZN6thread5local2os12Key_LT_T_GT_3get19h380830629066678370E()|0); | |
| $switchtmp$i$i$i$i$i$i12 = ($96|0)==(0|0); | |
| if ($switchtmp$i$i$i$i$i$i12) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(2393,57); | |
| // unreachable; | |
| } | |
| $97 = HEAP32[$96>>2]|0; | |
| $switch$i$i$i$i$i15 = ($97|0)==(1); | |
| if (!($switch$i$i$i$i$i15)) { | |
| $98 = $96; | |
| $99 = $98; | |
| HEAP32[$99>>2] = 1; | |
| $100 = (($98) + 4)|0; | |
| $101 = $100; | |
| HEAP32[$101>>2] = 0; | |
| break; | |
| } | |
| $$sink$in$phi$trans$insert$i$i$i$i7 = ((($96)) + 4|0); | |
| $$pre$i$i$i$i9 = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i7>>2]|0; | |
| $phitmp$i$i$i$i10 = ($$pre$i$i$i$i9|0)==(0); | |
| if (!($phitmp$i$i$i$i10)) { | |
| $102 = ((($92)) + 4|0); | |
| HEAP8[$102>>0] = 1; | |
| } | |
| } | |
| } while(0); | |
| $103 = HEAP32[$1>>2]|0; | |
| $104 = HEAP32[$103>>2]|0; | |
| (_pthread_mutex_unlock(($104|0))|0); | |
| ___resumeException($eh$lpad$body$indexZ2D|0); | |
| // unreachable; | |
| } | |
| function __ZN58io__Write__write_fmt__Adaptor_LT_io__stdio__StdoutLock_GT_10drop_4157817h5fed5982ba911202E($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i = 0, $cond$i$i$i = 0, label = 0; | |
| var sp = 0; | |
| sp = STACKTOP; | |
| $1 = ((($0)) + 4|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $cond$i = ($2|0)==(1); | |
| if (!($cond$i)) { | |
| return; | |
| } | |
| $3 = ((($0)) + 8|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $cond$i$i$i = ($4|0)==(1); | |
| if (!($cond$i$i$i)) { | |
| return; | |
| } | |
| $5 = ((($0)) + 12|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = ($6|0)==((488447261)|0); | |
| if ($7) { | |
| return; | |
| } | |
| $8 = ((($6)) + 4|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = ($9|0)==((488447261)|0); | |
| if (!($10)) { | |
| $11 = ((($6)) + 8|0); | |
| $12 = HEAP32[$11>>2]|0; | |
| $13 = HEAP32[$12>>2]|0; | |
| FUNCTION_TABLE_vi[$13 & 127]($9); | |
| $14 = HEAP32[$11>>2]|0; | |
| $15 = ((($14)) + 4|0); | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = ($16|0)==(0); | |
| if (!($17)) { | |
| _free($9); | |
| } | |
| } | |
| _free($6); | |
| return; | |
| } | |
| function __ZN2io5Write9write_fmt41Adaptor_LT__u27_a_C__u20_T_GT__fmt__Write9write_str21h15670028490896270507E($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$idx$val = 0, $$idx1$val = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; | |
| var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; | |
| var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; | |
| var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; | |
| var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $buf$sroa$0$051$ph$i = 0, $buf$sroa$5$052$ph$i = 0, $cond$i$i$i5 = 0, $cond$i4 = 0, $cond13$i = 0, $cond36$i = 0, $sret_slot$sroa$0$015 = 0, $switch$i = 0, $switch$i$i = 0, $switch76$i = 0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $3 = sp + 16|0; | |
| $4 = sp; | |
| $5 = ($2|0)==(0); | |
| L1: do { | |
| if (!($5)) { | |
| $6 = HEAP32[$0>>2]|0; | |
| $7 = ((($3)) + 4|0); | |
| $8 = ((($3)) + 8|0); | |
| $9 = ((($3)) + 4|0); | |
| $buf$sroa$0$051$ph$i = $1;$buf$sroa$5$052$ph$i = $2; | |
| L3: while(1) { | |
| $$idx1$val = HEAP32[$6>>2]|0; | |
| __ZN2io5stdio30StdoutLock_LT__u27_a_GT__Write5write20h932a6dd67e3b18cbTkhE($3,$$idx1$val,$buf$sroa$0$051$ph$i,$buf$sroa$5$052$ph$i); | |
| $10 = HEAP32[$3>>2]|0; | |
| $switch76$i = ($10|0)==(1); | |
| if ($switch76$i) { | |
| while(1) { | |
| $17 = HEAP32[$7>>2]|0; | |
| $switch$i$i = ($17|0)==(1); | |
| if ($switch$i$i) { | |
| $21 = HEAP32[$8>>2]|0; | |
| $22 = HEAP8[$21>>0]|0; | |
| $23 = ($22<<24>>24)==(15); | |
| if (!($23)) { | |
| label = 15; | |
| break L3; | |
| } | |
| $52 = ($21|0)==((488447261)|0); | |
| if (!($52)) { | |
| $53 = ((($21)) + 4|0); | |
| $54 = HEAP32[$53>>2]|0; | |
| $55 = ($54|0)==((488447261)|0); | |
| if (!($55)) { | |
| $56 = ((($21)) + 8|0); | |
| $57 = HEAP32[$56>>2]|0; | |
| $58 = HEAP32[$57>>2]|0; | |
| FUNCTION_TABLE_vi[$58 & 127]($54); | |
| $59 = HEAP32[$56>>2]|0; | |
| $60 = ((($59)) + 4|0); | |
| $61 = HEAP32[$60>>2]|0; | |
| $62 = ($61|0)==(0); | |
| if (!($62)) { | |
| _free($54); | |
| } | |
| } | |
| _free($21); | |
| } | |
| } else { | |
| $18 = HEAP32[$8>>2]|0; | |
| $cond36$i = ($18|0)==(4); | |
| if (!($cond36$i)) { | |
| label = 15; | |
| break L3; | |
| } | |
| } | |
| $$idx$val = HEAP32[$6>>2]|0; | |
| __ZN2io5stdio30StdoutLock_LT__u27_a_GT__Write5write20h932a6dd67e3b18cbTkhE($3,$$idx$val,$buf$sroa$0$051$ph$i,$buf$sroa$5$052$ph$i); | |
| $63 = HEAP32[$3>>2]|0; | |
| $switch$i = ($63|0)==(1); | |
| if (!($switch$i)) { | |
| break; | |
| } | |
| } | |
| } | |
| $11 = HEAP32[$9>>2]|0; | |
| $cond13$i = ($11|0)==(0); | |
| if ($cond13$i) { | |
| label = 8; | |
| break; | |
| } | |
| $12 = ($buf$sroa$5$052$ph$i>>>0)<($11>>>0); | |
| if ($12) { | |
| label = 7; | |
| break; | |
| } | |
| $64 = (($buf$sroa$0$051$ph$i) + ($11)|0); | |
| $65 = (($buf$sroa$5$052$ph$i) - ($11))|0; | |
| $66 = ($buf$sroa$5$052$ph$i|0)==($11|0); | |
| if ($66) { | |
| break L1; | |
| } else { | |
| $buf$sroa$0$051$ph$i = $64;$buf$sroa$5$052$ph$i = $65; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 7) { | |
| __THREW__ = 0; | |
| invoke_vii(84,($11|0),($buf$sroa$5$052$ph$i|0)); | |
| $13 = __THREW__; __THREW__ = 0; | |
| $19 = ___cxa_find_matching_catch_2()|0; | |
| $20 = tempRet0; | |
| ___resumeException($19|0); | |
| // unreachable; | |
| } | |
| else if ((label|0) == 8) { | |
| $14 = ((($4)) + 4|0); | |
| __THREW__ = 0; | |
| invoke_viiii(75,($14|0),14,(2500|0),28); | |
| $15 = __THREW__; __THREW__ = 0; | |
| $16 = $15&1; | |
| if ($16) { | |
| $19 = ___cxa_find_matching_catch_2()|0; | |
| $20 = tempRet0; | |
| ___resumeException($19|0); | |
| // unreachable; | |
| } else { | |
| HEAP32[$4>>2] = 1; | |
| break; | |
| } | |
| } | |
| else if ((label|0) == 15) { | |
| $24 = ((($4)) + 4|0); | |
| $25 = $7; | |
| $26 = $25; | |
| $27 = HEAP32[$26>>2]|0; | |
| $28 = (($25) + 4)|0; | |
| $29 = $28; | |
| $30 = HEAP32[$29>>2]|0; | |
| $31 = $24; | |
| $32 = $31; | |
| HEAP32[$32>>2] = $27; | |
| $33 = (($31) + 4)|0; | |
| $34 = $33; | |
| HEAP32[$34>>2] = $30; | |
| HEAP32[$4>>2] = 1; | |
| $35 = $7; | |
| $36 = $35; | |
| HEAP32[$36>>2] = 488447261; | |
| $37 = (($35) + 4)|0; | |
| $38 = $37; | |
| HEAP32[$38>>2] = 488447261; | |
| } | |
| } while(0); | |
| $39 = ((($4)) + 4|0); | |
| $40 = $39; | |
| $41 = $40; | |
| $42 = HEAP32[$41>>2]|0; | |
| $43 = (($40) + 4)|0; | |
| $44 = $43; | |
| $45 = HEAP32[$44>>2]|0; | |
| $46 = $39; | |
| $47 = $46; | |
| HEAP32[$47>>2] = 488447261; | |
| $48 = (($46) + 4)|0; | |
| $49 = $48; | |
| HEAP32[$49>>2] = 488447261; | |
| $50 = ((($0)) + 4|0); | |
| $51 = HEAP32[$50>>2]|0; | |
| $cond$i4 = ($51|0)==(1); | |
| if ($cond$i4) { | |
| $67 = ((($0)) + 8|0); | |
| $68 = HEAP32[$67>>2]|0; | |
| $cond$i$i$i5 = ($68|0)==(1); | |
| if ($cond$i$i$i5) { | |
| $69 = ((($0)) + 12|0); | |
| $70 = HEAP32[$69>>2]|0; | |
| $71 = ($70|0)==((488447261)|0); | |
| if (!($71)) { | |
| $72 = ((($70)) + 4|0); | |
| $73 = HEAP32[$72>>2]|0; | |
| $74 = ($73|0)==((488447261)|0); | |
| if (!($74)) { | |
| $75 = ((($70)) + 8|0); | |
| $76 = HEAP32[$75>>2]|0; | |
| $77 = HEAP32[$76>>2]|0; | |
| FUNCTION_TABLE_vi[$77 & 127]($73); | |
| $78 = HEAP32[$75>>2]|0; | |
| $79 = ((($78)) + 4|0); | |
| $80 = HEAP32[$79>>2]|0; | |
| $81 = ($80|0)==(0); | |
| if (!($81)) { | |
| _free($73); | |
| } | |
| } | |
| _free($70); | |
| } | |
| } | |
| } | |
| HEAP32[$50>>2] = 1; | |
| $82 = ((($0)) + 8|0); | |
| $83 = $82; | |
| $84 = $83; | |
| HEAP32[$84>>2] = $42; | |
| $85 = (($83) + 4)|0; | |
| $86 = $85; | |
| HEAP32[$86>>2] = $45; | |
| $87 = $39; | |
| $88 = $87; | |
| HEAP32[$88>>2] = 488447261; | |
| $89 = (($87) + 4)|0; | |
| $90 = $89; | |
| HEAP32[$90>>2] = 488447261; | |
| $sret_slot$sroa$0$015 = 1; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$015|0); | |
| } | |
| } while(0); | |
| ;HEAP32[$4>>2]=HEAP32[6832>>2]|0;HEAP32[$4+4>>2]=HEAP32[6832+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[6832+8>>2]|0; | |
| $sret_slot$sroa$0$015 = 0; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$015|0); | |
| } | |
| function __ZN3fmt5Write10write_char21h14423873843138435358E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$sroa$8$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; | |
| var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; | |
| var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $utf_8 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $utf_8 = sp; | |
| HEAP32[$utf_8>>2] = 0; | |
| $2 = ($1>>>0)<(128); | |
| do { | |
| if ($2) { | |
| $3 = $1&255; | |
| HEAP8[$utf_8>>0] = $3; | |
| $$sroa$8$0 = 1; | |
| } else { | |
| $4 = ($1>>>0)<(2048); | |
| if ($4) { | |
| $5 = $1 >>> 6; | |
| $6 = $5 & 31; | |
| $7 = $6&255; | |
| $8 = $7 | -64; | |
| HEAP8[$utf_8>>0] = $8; | |
| $9 = $1 & 63; | |
| $10 = $9&255; | |
| $11 = $10 | -128; | |
| $12 = ((($utf_8)) + 1|0); | |
| HEAP8[$12>>0] = $11; | |
| $$sroa$8$0 = 2; | |
| break; | |
| } | |
| $13 = ($1>>>0)<(65536); | |
| if ($13) { | |
| $14 = $1 >>> 12; | |
| $15 = $14 & 15; | |
| $16 = $15&255; | |
| $17 = $16 | -32; | |
| HEAP8[$utf_8>>0] = $17; | |
| $18 = $1 >>> 6; | |
| $19 = $18 & 63; | |
| $20 = $19&255; | |
| $21 = $20 | -128; | |
| $22 = ((($utf_8)) + 1|0); | |
| HEAP8[$22>>0] = $21; | |
| $23 = $1 & 63; | |
| $24 = $23&255; | |
| $25 = $24 | -128; | |
| $26 = ((($utf_8)) + 2|0); | |
| HEAP8[$26>>0] = $25; | |
| $$sroa$8$0 = 3; | |
| break; | |
| } else { | |
| $27 = $1 >>> 18; | |
| $28 = $27 & 7; | |
| $29 = $28&255; | |
| $30 = $29 | -16; | |
| HEAP8[$utf_8>>0] = $30; | |
| $31 = $1 >>> 12; | |
| $32 = $31 & 63; | |
| $33 = $32&255; | |
| $34 = $33 | -128; | |
| $35 = ((($utf_8)) + 1|0); | |
| HEAP8[$35>>0] = $34; | |
| $36 = $1 >>> 6; | |
| $37 = $36 & 63; | |
| $38 = $37&255; | |
| $39 = $38 | -128; | |
| $40 = ((($utf_8)) + 2|0); | |
| HEAP8[$40>>0] = $39; | |
| $41 = $1 & 63; | |
| $42 = $41&255; | |
| $43 = $42 | -128; | |
| $44 = ((($utf_8)) + 3|0); | |
| HEAP8[$44>>0] = $43; | |
| $$sroa$8$0 = 4; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $45 = (__ZN2io5Write9write_fmt41Adaptor_LT__u27_a_C__u20_T_GT__fmt__Write9write_str21h15670028490896270507E($0,$utf_8,$$sroa$8$0)|0); | |
| STACKTOP = sp;return ($45|0); | |
| } | |
| function __ZN3fmt5Write9write_fmt20h6783855622911877017E($0,$args) { | |
| $0 = $0|0; | |
| $args = $args|0; | |
| var $1 = 0, $2 = 0, $addr_of = 0, $arg = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $addr_of = sp + 24|0; | |
| $arg = sp; | |
| $1 = $0; | |
| HEAP32[$addr_of>>2] = $1; | |
| ;HEAP32[$arg>>2]=HEAP32[$args>>2]|0;HEAP32[$arg+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg+20>>2]=HEAP32[$args+20>>2]|0; | |
| $2 = (__ZN3fmt5write20h7901236a83d456cd7oXE($addr_of,288,$arg)|0); | |
| STACKTOP = sp;return ($2|0); | |
| } | |
| function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_str20h7599248871222275748E($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $3 = 0, $4 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$0>>2]|0; | |
| $4 = (__ZN2io5Write9write_fmt41Adaptor_LT__u27_a_C__u20_T_GT__fmt__Write9write_str21h15670028490896270507E($3,$1,$2)|0); | |
| return ($4|0); | |
| } | |
| function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write10write_char21h13302168570642632320E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, $3 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = (__ZN3fmt5Write10write_char21h14423873843138435358E($2,$1)|0); | |
| return ($3|0); | |
| } | |
| function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_fmt20h5846458197719742408E($0,$args) { | |
| $0 = $0|0; | |
| $args = $args|0; | |
| var $1 = 0, $2 = 0, $addr_of$i = 0, $arg$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $addr_of$i = sp + 24|0; | |
| $arg$i = sp; | |
| $1 = HEAP32[$0>>2]|0; | |
| HEAP32[$addr_of$i>>2] = $1; | |
| ;HEAP32[$arg$i>>2]=HEAP32[$args>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg$i+20>>2]=HEAP32[$args+20>>2]|0; | |
| $2 = (__ZN3fmt5write20h7901236a83d456cd7oXE($addr_of$i,288,$arg$i)|0); | |
| STACKTOP = sp;return ($2|0); | |
| } | |
| function ___rust_try($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| __THREW__ = 0; | |
| invoke_vi($0|0,($1|0)); | |
| $3 = __THREW__; __THREW__ = 0; | |
| $4 = $3&1; | |
| if ($4) { | |
| $5 = ___cxa_find_matching_catch_3(0|0)|0; | |
| $6 = tempRet0; | |
| HEAP32[$2>>2] = $5; | |
| return 1; | |
| } else { | |
| return 0; | |
| } | |
| return (0)|0; | |
| } | |
| function _rust_eh_personality_catch($0,$1,$2,$3,$4,$5) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| $4 = $4|0; | |
| $5 = $5|0; | |
| var $6 = 0, $7 = 0, $8 = 0, $sret_slot$0$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $6 = $1 & 1; | |
| $7 = ($6|0)==(0); | |
| if ($7) { | |
| $8 = (___gcc_personality_v0(($0|0),($1|0),($2|0),($3|0),($4|0),($5|0))|0); | |
| $sret_slot$0$i = $8; | |
| } else { | |
| $sret_slot$0$i = 6; | |
| } | |
| return ($sret_slot$0$i|0); | |
| } | |
| function __ZN133core_collections__vec__Vec_LT_Box_LT_alloc__boxed__FnBox_LT__LP__RP__C__u20_Output_u3d__LP__RP__GT__u20__u2b__u20__u27_static_GT__GT_10drop_4328417h070b94256ba94c31E($0) { | |
| $0 = $0|0; | |
| var $$pr = 0, $$pr$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; | |
| var $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch$split12D = 0, $switch$split2D = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = ((($0)) + 4|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $3 = ($2|0)==(488447261); | |
| if ($3) { | |
| return; | |
| } | |
| $4 = HEAP32[$0>>2]|0; | |
| $5 = ((($0)) + 8|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = (($4) + ($6<<3)|0); | |
| $8 = ($6|0)>(0); | |
| do { | |
| if ($8) { | |
| $10 = $4; | |
| while(1) { | |
| $9 = HEAP32[$10>>2]|0; | |
| $11 = ($9|0)==((488447261)|0); | |
| if (!($11)) { | |
| $12 = ((($10)) + 4|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = HEAP32[$13>>2]|0; | |
| __THREW__ = 0; | |
| invoke_vi($14|0,($9|0)); | |
| $15 = __THREW__; __THREW__ = 0; | |
| $16 = $15&1; | |
| if ($16) { | |
| break; | |
| } | |
| $17 = HEAP32[$12>>2]|0; | |
| $18 = ((($17)) + 4|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| $20 = ($19|0)==(0); | |
| if (!($20)) { | |
| _free($9); | |
| } | |
| } | |
| $21 = ((($10)) + 8|0); | |
| $22 = ($21>>>0)<($7>>>0); | |
| if ($22) { | |
| $10 = $21; | |
| } else { | |
| label = 8; | |
| break; | |
| } | |
| } | |
| if ((label|0) == 8) { | |
| $$pr$pre = HEAP32[$1>>2]|0; | |
| $$pr = $$pr$pre; | |
| break; | |
| } | |
| $24 = ___cxa_find_matching_catch_2()|0; | |
| $25 = tempRet0; | |
| $26 = HEAP32[$1>>2]|0; | |
| $switch$split12D = ($26|0)<(488447261); | |
| L15: do { | |
| if ($switch$split12D) { | |
| switch ($26|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L15; | |
| } | |
| } | |
| ___resumeException($24|0); | |
| // unreachable; | |
| } else { | |
| switch ($26|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L15; | |
| } | |
| } | |
| ___resumeException($24|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $27 = HEAP32[$0>>2]|0; | |
| _free($27); | |
| ___resumeException($24|0); | |
| // unreachable; | |
| } else { | |
| $$pr = $2; | |
| } | |
| } while(0); | |
| $switch$split2D = ($$pr|0)<(488447261); | |
| L23: do { | |
| if ($switch$split2D) { | |
| switch ($$pr|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L23; | |
| } | |
| } | |
| return; | |
| } else { | |
| switch ($$pr|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L23; | |
| } | |
| } | |
| return; | |
| } | |
| } while(0); | |
| $23 = HEAP32[$0>>2]|0; | |
| _free($23); | |
| return; | |
| } | |
| function __ZN3sys4init11oom_handler20h57f3000324fa6a9buCzE() { | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| (_write(2,3551,35)|0); | |
| _llvm_trap(); | |
| // unreachable; | |
| } | |
| function __ZN4iter30Map_LT_I_C__u20_F_GT__Iterator4next21h12106674120955211352E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$pre$i$i$i$i$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; | |
| var $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ptr$0$i$i$i$i$i$i$i = 0, $scevgep$i$i$i$i$i = 0, $switch$split2D = 0, $vector$i$i$i$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $vector$i$i$i$i$i = sp; | |
| $2 = ((($1)) + 4|0); | |
| $3 = HEAP32[$1>>2]|0; | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = ($3|0)<($4|0); | |
| if (!($5)) { | |
| ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; | |
| STACKTOP = sp;return; | |
| } | |
| $6 = (($3) + 1)|0; | |
| HEAP32[$1>>2] = $6; | |
| $7 = ((($1)) + 8|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = (($9) + ($3<<2)|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = (_strlen($11)|0); | |
| $13 = ($12|0)==(-1); | |
| if ($13) { | |
| __ZN5slice20slice_index_len_fail20h9ec8212373ae0291u9PE(-1,0); | |
| // unreachable; | |
| } | |
| $14 = ($12|0)<(0); | |
| if ($14) { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(1444); | |
| // unreachable; | |
| } | |
| $15 = ($12|0)==(0); | |
| if ($15) { | |
| $ptr$0$i$i$i$i$i$i$i = (1); | |
| } else { | |
| $16 = (_malloc($12)|0); | |
| $17 = ($16|0)==(0|0); | |
| if ($17) { | |
| __ZN3oom3oom20hc88b31053092c214PzbE(); | |
| // unreachable; | |
| } else { | |
| $ptr$0$i$i$i$i$i$i$i = $16; | |
| } | |
| } | |
| $18 = $ptr$0$i$i$i$i$i$i$i; | |
| HEAP32[$vector$i$i$i$i$i>>2] = $18; | |
| $19 = ((($vector$i$i$i$i$i)) + 4|0); | |
| HEAP32[$19>>2] = $12; | |
| $20 = ((($vector$i$i$i$i$i)) + 8|0); | |
| HEAP32[$20>>2] = 0; | |
| __THREW__ = 0; | |
| invoke_vii(77,($vector$i$i$i$i$i|0),($12|0)); | |
| $21 = __THREW__; __THREW__ = 0; | |
| $22 = $21&1; | |
| if (!($22)) { | |
| if (!($15)) { | |
| $$pre$i$i$i$i$i$i = HEAP32[$20>>2]|0; | |
| $23 = HEAP32[$vector$i$i$i$i$i>>2]|0; | |
| $scevgep$i$i$i$i$i = (($23) + ($$pre$i$i$i$i$i$i)|0); | |
| _memcpy(($scevgep$i$i$i$i$i|0),($11|0),($12|0))|0; | |
| $24 = (($$pre$i$i$i$i$i$i) + ($12))|0; | |
| HEAP32[$20>>2] = $24; | |
| } | |
| ;HEAP32[$0>>2]=HEAP32[$vector$i$i$i$i$i>>2]|0;HEAP32[$0+4>>2]=HEAP32[$vector$i$i$i$i$i+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$vector$i$i$i$i$i+8>>2]|0; | |
| STACKTOP = sp;return; | |
| } | |
| $25 = ___cxa_find_matching_catch_2()|0; | |
| $26 = tempRet0; | |
| $27 = HEAP32[$19>>2]|0; | |
| $switch$split2D = ($27|0)<(488447261); | |
| L22: do { | |
| if ($switch$split2D) { | |
| switch ($27|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L22; | |
| } | |
| } | |
| ___resumeException($25|0); | |
| // unreachable; | |
| } else { | |
| switch ($27|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L22; | |
| } | |
| } | |
| ___resumeException($25|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $28 = HEAP32[$vector$i$i$i$i$i>>2]|0; | |
| _free($28); | |
| ___resumeException($25|0); | |
| // unreachable; | |
| } | |
| function __ZN10sys_common6unwind3try6try_fn20h3996338125958159049E($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $switchtmp$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = HEAP32[$0>>2]|0; | |
| $2 = ((($0)) + 4|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = $0; | |
| $5 = $4; | |
| HEAP32[$5>>2] = 0; | |
| $6 = (($4) + 4)|0; | |
| $7 = $6; | |
| HEAP32[$7>>2] = 0; | |
| $switchtmp$i = ($1|0)==(0|0); | |
| if ($switchtmp$i) { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(1488); | |
| // unreachable; | |
| } else { | |
| FUNCTION_TABLE_v[$1 & 127](); | |
| HEAP8[$3>>0] = 1; | |
| return; | |
| } | |
| } | |
| function __ZN3vec12Vec_LT_T_GT_7reserve21h14454169163144195688E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$arith = 0, $$overflow = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ptr$0$i = 0, label = 0; | |
| var sp = 0; | |
| sp = STACKTOP; | |
| $2 = ((($0)) + 8|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($0)) + 4|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = (($5) - ($3))|0; | |
| $7 = ($6>>>0)<($1>>>0); | |
| if (!($7)) { | |
| return; | |
| } | |
| $$arith = (($3) + ($1))|0; | |
| $$overflow = ($$arith>>>0)<($3>>>0); | |
| if ($$overflow) { | |
| __ZN6option13expect_failed20h1df5d3b437d73060lTOE(3708,17); | |
| // unreachable; | |
| } | |
| $8 = $5 << 1; | |
| $9 = ($$arith>>>0)>=($8>>>0); | |
| $10 = $9 ? $$arith : $8; | |
| $11 = ($10|0)<(0); | |
| if ($11) { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(1444); | |
| // unreachable; | |
| } | |
| $12 = ($5|0)==(0); | |
| if ($12) { | |
| $13 = (_malloc($10)|0); | |
| $ptr$0$i = $13; | |
| } else { | |
| $14 = HEAP32[$0>>2]|0; | |
| $15 = (_realloc($14,$10)|0); | |
| $ptr$0$i = $15; | |
| } | |
| $16 = ($ptr$0$i|0)==(0|0); | |
| if ($16) { | |
| __ZN3oom3oom20hc88b31053092c214PzbE(); | |
| // unreachable; | |
| } | |
| $17 = $ptr$0$i; | |
| HEAP32[$0>>2] = $17; | |
| HEAP32[$4>>2] = $10; | |
| return; | |
| } | |
| function __ZN3str11str_ToOwned8to_owned20h27f191d2b0131fa4EVeE($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$pre$i$i$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ptr$0$i$i$i$i$i = 0, $scevgep$i$i$i = 0, $switch$split2D = 0; | |
| var $vector$i$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $vector$i$i$i = sp + 16|0; | |
| $3 = sp; | |
| $4 = ($2|0)<(0); | |
| if ($4) { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(1444); | |
| // unreachable; | |
| } | |
| $5 = ($2|0)==(0); | |
| if ($5) { | |
| $ptr$0$i$i$i$i$i = (1); | |
| } else { | |
| $6 = (_malloc($2)|0); | |
| $7 = ($6|0)==(0|0); | |
| if ($7) { | |
| __ZN3oom3oom20hc88b31053092c214PzbE(); | |
| // unreachable; | |
| } else { | |
| $ptr$0$i$i$i$i$i = $6; | |
| } | |
| } | |
| $8 = $ptr$0$i$i$i$i$i; | |
| HEAP32[$vector$i$i$i>>2] = $8; | |
| $9 = ((($vector$i$i$i)) + 4|0); | |
| HEAP32[$9>>2] = $2; | |
| $10 = ((($vector$i$i$i)) + 8|0); | |
| HEAP32[$10>>2] = 0; | |
| __THREW__ = 0; | |
| invoke_vii(83,($vector$i$i$i|0),($2|0)); | |
| $11 = __THREW__; __THREW__ = 0; | |
| $12 = $11&1; | |
| if (!($12)) { | |
| if (!($5)) { | |
| $$pre$i$i$i$i = HEAP32[$10>>2]|0; | |
| $13 = HEAP32[$vector$i$i$i>>2]|0; | |
| $scevgep$i$i$i = (($13) + ($$pre$i$i$i$i)|0); | |
| _memcpy(($scevgep$i$i$i|0),($1|0),($2|0))|0; | |
| $14 = (($$pre$i$i$i$i) + ($2))|0; | |
| HEAP32[$10>>2] = $14; | |
| } | |
| ;HEAP32[$3>>2]=HEAP32[$vector$i$i$i>>2]|0;HEAP32[$3+4>>2]=HEAP32[$vector$i$i$i+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$vector$i$i$i+8>>2]|0; | |
| ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$3+8>>2]|0; | |
| STACKTOP = sp;return; | |
| } | |
| $15 = ___cxa_find_matching_catch_2()|0; | |
| $16 = tempRet0; | |
| $17 = HEAP32[$9>>2]|0; | |
| $switch$split2D = ($17|0)<(488447261); | |
| L14: do { | |
| if ($switch$split2D) { | |
| switch ($17|0) { | |
| case 0: { | |
| break; | |
| } | |
| default: { | |
| break L14; | |
| } | |
| } | |
| ___resumeException($15|0); | |
| // unreachable; | |
| } else { | |
| switch ($17|0) { | |
| case 488447261: { | |
| break; | |
| } | |
| default: { | |
| break L14; | |
| } | |
| } | |
| ___resumeException($15|0); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $18 = HEAP32[$vector$i$i$i>>2]|0; | |
| _free($18); | |
| ___resumeException($15|0); | |
| // unreachable; | |
| } | |
| function __ZN3oom3oom20hc88b31053092c214PzbE() { | |
| var $0 = 0, $1 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = HEAP32[366]|0; | |
| $1 = $0; | |
| FUNCTION_TABLE_v[$1 & 127](); | |
| // unreachable; | |
| } | |
| function __ZN3oom19default_oom_handler20hd3a16dff633efe0aIzbE() { | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| _llvm_trap(); | |
| // unreachable; | |
| } | |
| function __ZN3fmt3num16u32_fmt__Display3fmt20h7895cdea9637338bclWE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; | |
| var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf8 = 0, $curr$0$lcssa = 0; | |
| var $curr$09 = 0, $curr$1 = 0, $curr$2 = 0, $n$1$lcssa = 0, $n$110 = 0, $n2$0 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $buf8 = sp; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = ($2>>>0)>(9999); | |
| if ($3) { | |
| $curr$09 = 20;$n$110 = $2; | |
| while(1) { | |
| $5 = (($n$110>>>0) % 10000)&-1; | |
| $6 = (($n$110>>>0) / 10000)&-1; | |
| $7 = (($5>>>0) / 100)&-1; | |
| $8 = $7 << 1; | |
| $9 = (($5>>>0) % 100)&-1; | |
| $10 = $9 << 1; | |
| $11 = (($curr$09) + -4)|0; | |
| $12 = (4049 + ($8)|0); | |
| $13 = (($buf8) + ($11)|0); | |
| $14 = HEAPU8[$12>>0]|(HEAPU8[$12+1>>0]<<8); | |
| HEAP8[$13>>0]=$14&255;HEAP8[$13+1>>0]=$14>>8; | |
| $15 = (4049 + ($10)|0); | |
| $16 = (($curr$09) + -2)|0; | |
| $17 = (($buf8) + ($16)|0); | |
| $18 = HEAPU8[$15>>0]|(HEAPU8[$15+1>>0]<<8); | |
| HEAP8[$17>>0]=$18&255;HEAP8[$17+1>>0]=$18>>8; | |
| $19 = ($n$110>>>0)>(99999999); | |
| if ($19) { | |
| $curr$09 = $11;$n$110 = $6; | |
| } else { | |
| $curr$0$lcssa = $11;$n$1$lcssa = $6; | |
| break; | |
| } | |
| } | |
| } else { | |
| $curr$0$lcssa = 20;$n$1$lcssa = $2; | |
| } | |
| $4 = ($n$1$lcssa|0)>(99); | |
| if ($4) { | |
| $20 = (($n$1$lcssa|0) % 100)&-1; | |
| $21 = $20 << 1; | |
| $22 = (($n$1$lcssa|0) / 100)&-1; | |
| $23 = (($curr$0$lcssa) + -2)|0; | |
| $24 = (4049 + ($21)|0); | |
| $25 = (($buf8) + ($23)|0); | |
| $26 = HEAPU8[$24>>0]|(HEAPU8[$24+1>>0]<<8); | |
| HEAP8[$25>>0]=$26&255;HEAP8[$25+1>>0]=$26>>8; | |
| $curr$1 = $23;$n2$0 = $22; | |
| } else { | |
| $curr$1 = $curr$0$lcssa;$n2$0 = $n$1$lcssa; | |
| } | |
| $27 = ($n2$0|0)<(10); | |
| if ($27) { | |
| $28 = (($curr$1) + -1)|0; | |
| $29 = $n2$0&255; | |
| $30 = (($29) + 48)<<24>>24; | |
| $31 = (($buf8) + ($28)|0); | |
| HEAP8[$31>>0] = $30; | |
| $curr$2 = $28; | |
| $37 = (($buf8) + ($curr$2)|0); | |
| $38 = (20 - ($curr$2))|0; | |
| $39 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,1,7692,0,$37,$38)|0); | |
| STACKTOP = sp;return ($39|0); | |
| } else { | |
| $32 = $n2$0 << 1; | |
| $33 = (($curr$1) + -2)|0; | |
| $34 = (4049 + ($32)|0); | |
| $35 = (($buf8) + ($33)|0); | |
| $36 = HEAPU8[$34>>0]|(HEAPU8[$34+1>>0]<<8); | |
| HEAP8[$35>>0]=$36&255;HEAP8[$35+1>>0]=$36>>8; | |
| $curr$2 = $33; | |
| $37 = (($buf8) + ($curr$2)|0); | |
| $38 = (20 - ($curr$2))|0; | |
| $39 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,1,7692,0,$37,$38)|0); | |
| STACKTOP = sp;return ($39|0); | |
| } | |
| return (0)|0; | |
| } | |
| function __ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($0,$1,$2,$3,$4,$5) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| $4 = $4|0; | |
| $5 = $5|0; | |
| var $$$i = 0, $$$i61 = 0, $$pre = 0, $$sroa$01$1$i$i = 0, $$sroa$01$2$i$i = 0, $$sroa$01$3$i$i = 0, $$sroa$01$5$ph$i$i = 0, $$sroa$011$0$i = 0, $$sroa$012$0$i = 0, $$sroa$06$0$i = 0, $$sroa$07$0$i = 0, $$sroa$078$0$i = 0, $$sroa$080$0$i = 0, $$sroa$6$0$i = 0, $$sroa$6$0$i65 = 0, $$sroa$8$0$i = 0, $$sroa$8$0$i73 = 0, $10 = 0, $100 = 0, $101 = 0; | |
| var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; | |
| var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; | |
| var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; | |
| var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; | |
| var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; | |
| var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0; | |
| var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; | |
| var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; | |
| var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; | |
| var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; | |
| var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $accum$0$lcssa$i$i = 0, $accum$04$i$i = 0, $cond$i = 0, $cond$i60 = 0, $fill$i = 0, $fill$i58 = 0, $iret_slot$sroa$0$0 = 0, $prefix = 0, $prefixed = 0, $sign = 0; | |
| var $switch = 0, $switch$i1$i = 0, $switch52 = 0, $switch53 = 0, $switch54 = 0, $switch70$i = 0, $switch72$i = 0, $switch73$i = 0, $switch74$i = 0, $switch75$i = 0, $switch76$i = 0, $width$0 = 0, $width$1 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $fill$i58 = sp + 20|0; | |
| $fill$i = sp + 16|0; | |
| $prefix = sp + 8|0; | |
| $sign = sp; | |
| $prefixed = sp + 24|0; | |
| HEAP32[$prefix>>2] = $2; | |
| $6 = ((($prefix)) + 4|0); | |
| HEAP32[$6>>2] = $3; | |
| $7 = $sign; | |
| $8 = $7; | |
| HEAP32[$8>>2] = 0; | |
| $9 = (($7) + 4)|0; | |
| $10 = $9; | |
| HEAP32[$10>>2] = 0; | |
| if ($1) { | |
| $16 = HEAP32[$0>>2]|0; | |
| $17 = $16 & 1; | |
| $18 = ($17|0)==(0); | |
| if ($18) { | |
| $25 = $16;$width$0 = $5; | |
| } else { | |
| $19 = $sign; | |
| $20 = $19; | |
| HEAP32[$20>>2] = 1; | |
| $21 = (($19) + 4)|0; | |
| $22 = $21; | |
| HEAP32[$22>>2] = 43; | |
| $23 = (($5) + 1)|0; | |
| $25 = $16;$width$0 = $23; | |
| } | |
| } else { | |
| $11 = $sign; | |
| $12 = $11; | |
| HEAP32[$12>>2] = 1; | |
| $13 = (($11) + 4)|0; | |
| $14 = $13; | |
| HEAP32[$14>>2] = 45; | |
| $15 = (($5) + 1)|0; | |
| $$pre = HEAP32[$0>>2]|0; | |
| $25 = $$pre;$width$0 = $15; | |
| } | |
| HEAP8[$prefixed>>0] = 0; | |
| $24 = $25 & 4; | |
| $26 = ($24|0)==(0); | |
| if ($26) { | |
| $width$1 = $width$0; | |
| } else { | |
| HEAP8[$prefixed>>0] = 1; | |
| $27 = (($2) + ($3)|0); | |
| $28 = ($3|0)==(0); | |
| if ($28) { | |
| $accum$0$lcssa$i$i = 0; | |
| } else { | |
| $30 = $2;$accum$04$i$i = 0; | |
| while(1) { | |
| $29 = ((($30)) + 1|0); | |
| $31 = $29; | |
| $32 = HEAP8[$30>>0]|0; | |
| $33 = ($32<<24>>24)<(0); | |
| if ($33) { | |
| $34 = ($29|0)==($27|0); | |
| $35 = ((($30)) + 2|0); | |
| $36 = $35; | |
| $$sroa$01$1$i$i = $34 ? $31 : $36; | |
| $37 = $34 ? $27 : $35; | |
| $38 = ($32&255)>(223); | |
| if ($38) { | |
| $39 = ($37|0)==($27|0); | |
| $40 = ((($37)) + 1|0); | |
| $41 = $40; | |
| $$sroa$01$2$i$i = $39 ? $$sroa$01$1$i$i : $41; | |
| $42 = $39 ? $27 : $40; | |
| $43 = ($32&255)>(239); | |
| if ($43) { | |
| $44 = ($42|0)==($27|0); | |
| $45 = ((($42)) + 1|0); | |
| $46 = $45; | |
| $$sroa$01$3$i$i = $44 ? $$sroa$01$2$i$i : $46; | |
| $$sroa$01$5$ph$i$i = $$sroa$01$3$i$i; | |
| } else { | |
| $$sroa$01$5$ph$i$i = $$sroa$01$2$i$i; | |
| } | |
| } else { | |
| $$sroa$01$5$ph$i$i = $$sroa$01$1$i$i; | |
| } | |
| } else { | |
| $$sroa$01$5$ph$i$i = $31; | |
| } | |
| $47 = (($accum$04$i$i) + 1)|0; | |
| $48 = $$sroa$01$5$ph$i$i; | |
| $49 = ($48|0)==($27|0); | |
| if ($49) { | |
| $accum$0$lcssa$i$i = $47; | |
| break; | |
| } else { | |
| $30 = $48;$accum$04$i$i = $47; | |
| } | |
| } | |
| } | |
| $50 = (($accum$0$lcssa$i$i) + ($width$0))|0; | |
| $width$1 = $50; | |
| } | |
| $51 = ((($0)) + 12|0); | |
| $52 = HEAP32[$51>>2]|0; | |
| $switch = ($52|0)==(1); | |
| L18: do { | |
| if ($switch) { | |
| $54 = ((($0)) + 16|0); | |
| $55 = HEAP32[$54>>2]|0; | |
| $56 = ($55>>>0)>($width$1>>>0); | |
| if (!($56)) { | |
| $57 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral28__u7b__u7b_closure_u7d__u7d_13closure_55365E($sign,$prefixed,$prefix,$0)|0); | |
| $switch53 = ($57<<24>>24)==(0); | |
| if (!($switch53)) { | |
| label = 40; | |
| break; | |
| } | |
| $141 = ((($0)) + 28|0); | |
| $142 = HEAP32[$141>>2]|0; | |
| $143 = ((($0)) + 32|0); | |
| $144 = HEAP32[$143>>2]|0; | |
| $145 = ((($144)) + 12|0); | |
| $146 = HEAP32[$145>>2]|0; | |
| $147 = (FUNCTION_TABLE_iiii[$146 & 127]($142,$4,$5)|0); | |
| $iret_slot$sroa$0$0 = $147; | |
| label = 61; | |
| break; | |
| } | |
| $58 = $25 & 8; | |
| $59 = ($58|0)==(0); | |
| if ($59) { | |
| $62 = (($55) - ($width$1))|0; | |
| $63 = ((($0)) + 8|0); | |
| $64 = HEAP8[$63>>0]|0; | |
| $cond$i60 = ($64<<24>>24)==(3); | |
| $$$i61 = $cond$i60 ? 1 : $64; | |
| switch ($$$i61<<24>>24) { | |
| case 0: { | |
| $$sroa$080$0$i = 0;$$sroa$6$0$i65 = $62; | |
| break; | |
| } | |
| case 3: case 1: { | |
| $$sroa$080$0$i = $62;$$sroa$6$0$i65 = 0; | |
| break; | |
| } | |
| case 2: { | |
| $65 = $62 >>> 1; | |
| $66 = (($62) + 1)|0; | |
| $67 = $66 >>> 1; | |
| $$sroa$080$0$i = $65;$$sroa$6$0$i65 = $67; | |
| break; | |
| } | |
| default: { | |
| // unreachable; | |
| } | |
| } | |
| HEAP32[$fill$i58>>2] = 0; | |
| $68 = ((($0)) + 4|0); | |
| $69 = HEAP32[$68>>2]|0; | |
| $70 = ($69>>>0)<(128); | |
| do { | |
| if ($70) { | |
| $71 = $69&255; | |
| HEAP8[$fill$i58>>0] = $71; | |
| $$sroa$8$0$i73 = 1; | |
| } else { | |
| $72 = ($69>>>0)<(2048); | |
| if ($72) { | |
| $73 = $69 >>> 6; | |
| $74 = $73 & 31; | |
| $75 = $74&255; | |
| $76 = $75 | -64; | |
| HEAP8[$fill$i58>>0] = $76; | |
| $77 = $69 & 63; | |
| $78 = $77&255; | |
| $79 = $78 | -128; | |
| $80 = ((($fill$i58)) + 1|0); | |
| HEAP8[$80>>0] = $79; | |
| $$sroa$8$0$i73 = 2; | |
| break; | |
| } | |
| $81 = ($69>>>0)<(65536); | |
| if ($81) { | |
| $82 = $69 >>> 12; | |
| $83 = $82 & 15; | |
| $84 = $83&255; | |
| $85 = $84 | -32; | |
| HEAP8[$fill$i58>>0] = $85; | |
| $86 = $69 >>> 6; | |
| $87 = $86 & 63; | |
| $88 = $87&255; | |
| $89 = $88 | -128; | |
| $90 = ((($fill$i58)) + 1|0); | |
| HEAP8[$90>>0] = $89; | |
| $91 = $69 & 63; | |
| $92 = $91&255; | |
| $93 = $92 | -128; | |
| $94 = ((($fill$i58)) + 2|0); | |
| HEAP8[$94>>0] = $93; | |
| $$sroa$8$0$i73 = 3; | |
| break; | |
| } else { | |
| $95 = $69 >>> 18; | |
| $96 = $95&255; | |
| $97 = $96 | -16; | |
| HEAP8[$fill$i58>>0] = $97; | |
| $98 = $69 >>> 12; | |
| $99 = $98 & 63; | |
| $100 = $99&255; | |
| $101 = $100 | -128; | |
| $102 = ((($fill$i58)) + 1|0); | |
| HEAP8[$102>>0] = $101; | |
| $103 = $69 >>> 6; | |
| $104 = $103 & 63; | |
| $105 = $104&255; | |
| $106 = $105 | -128; | |
| $107 = ((($fill$i58)) + 2|0); | |
| HEAP8[$107>>0] = $106; | |
| $108 = $69 & 63; | |
| $109 = $108&255; | |
| $110 = $109 | -128; | |
| $111 = ((($fill$i58)) + 3|0); | |
| HEAP8[$111>>0] = $110; | |
| $$sroa$8$0$i73 = 4; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $112 = ((($0)) + 28|0); | |
| $113 = ((($0)) + 32|0); | |
| $$sroa$012$0$i = 0; | |
| while(1) { | |
| $114 = ($$sroa$012$0$i>>>0)<($$sroa$080$0$i>>>0); | |
| if (!($114)) { | |
| label = 34; | |
| break; | |
| } | |
| $115 = (($$sroa$012$0$i) + 1)|0; | |
| $116 = HEAP32[$112>>2]|0; | |
| $117 = HEAP32[$113>>2]|0; | |
| $118 = ((($117)) + 12|0); | |
| $119 = HEAP32[$118>>2]|0; | |
| $120 = (FUNCTION_TABLE_iiii[$119 & 127]($116,$fill$i58,$$sroa$8$0$i73)|0); | |
| $switch72$i = ($120<<24>>24)==(0); | |
| if ($switch72$i) { | |
| $$sroa$012$0$i = $115; | |
| } else { | |
| break; | |
| } | |
| } | |
| L44: do { | |
| if ((label|0) == 34) { | |
| $121 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral28__u7b__u7b_closure_u7d__u7d_13closure_55365E($sign,$prefixed,$prefix,$0)|0); | |
| $switch$i1$i = ($121<<24>>24)==(0); | |
| if ($switch$i1$i) { | |
| $122 = HEAP32[$112>>2]|0; | |
| $123 = HEAP32[$113>>2]|0; | |
| $124 = ((($123)) + 12|0); | |
| $125 = HEAP32[$124>>2]|0; | |
| $126 = (FUNCTION_TABLE_iiii[$125 & 127]($122,$4,$5)|0); | |
| $switch76$i = ($126<<24>>24)==(0); | |
| if ($switch76$i) { | |
| $$sroa$07$0$i = 0; | |
| while(1) { | |
| $127 = ($$sroa$07$0$i>>>0)<($$sroa$6$0$i65>>>0); | |
| if (!($127)) { | |
| break; | |
| } | |
| $128 = (($$sroa$07$0$i) + 1)|0; | |
| $129 = HEAP32[$112>>2]|0; | |
| $130 = HEAP32[$113>>2]|0; | |
| $131 = ((($130)) + 12|0); | |
| $132 = HEAP32[$131>>2]|0; | |
| $133 = (FUNCTION_TABLE_iiii[$132 & 127]($129,$fill$i58,$$sroa$8$0$i73)|0); | |
| $switch75$i = ($133<<24>>24)==(0); | |
| if ($switch75$i) { | |
| $$sroa$07$0$i = $128; | |
| } else { | |
| break L44; | |
| } | |
| } | |
| $iret_slot$sroa$0$0 = 0; | |
| label = 61; | |
| break L18; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $iret_slot$sroa$0$0 = 1; | |
| label = 61; | |
| break; | |
| } else { | |
| $60 = ((($0)) + 4|0); | |
| HEAP32[$60>>2] = 48; | |
| $61 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral28__u7b__u7b_closure_u7d__u7d_13closure_55365E($sign,$prefixed,$prefix,$0)|0); | |
| $switch54 = ($61<<24>>24)==(0); | |
| if (!($switch54)) { | |
| label = 40; | |
| break; | |
| } | |
| $148 = (($55) - ($width$1))|0; | |
| $149 = ((($0)) + 8|0); | |
| $150 = HEAP8[$149>>0]|0; | |
| $cond$i = ($150<<24>>24)==(3); | |
| $$$i = $cond$i ? 1 : $150; | |
| switch ($$$i<<24>>24) { | |
| case 0: { | |
| $$sroa$078$0$i = 0;$$sroa$6$0$i = $148; | |
| break; | |
| } | |
| case 3: case 1: { | |
| $$sroa$078$0$i = $148;$$sroa$6$0$i = 0; | |
| break; | |
| } | |
| case 2: { | |
| $151 = $148 >>> 1; | |
| $152 = (($148) + 1)|0; | |
| $153 = $152 >>> 1; | |
| $$sroa$078$0$i = $151;$$sroa$6$0$i = $153; | |
| break; | |
| } | |
| default: { | |
| // unreachable; | |
| } | |
| } | |
| HEAP32[$fill$i>>2] = 0; | |
| $154 = HEAP32[$60>>2]|0; | |
| $155 = ($154>>>0)<(128); | |
| do { | |
| if ($155) { | |
| $156 = $154&255; | |
| HEAP8[$fill$i>>0] = $156; | |
| $$sroa$8$0$i = 1; | |
| } else { | |
| $157 = ($154>>>0)<(2048); | |
| if ($157) { | |
| $158 = $154 >>> 6; | |
| $159 = $158 & 31; | |
| $160 = $159&255; | |
| $161 = $160 | -64; | |
| HEAP8[$fill$i>>0] = $161; | |
| $162 = $154 & 63; | |
| $163 = $162&255; | |
| $164 = $163 | -128; | |
| $165 = ((($fill$i)) + 1|0); | |
| HEAP8[$165>>0] = $164; | |
| $$sroa$8$0$i = 2; | |
| break; | |
| } | |
| $166 = ($154>>>0)<(65536); | |
| if ($166) { | |
| $167 = $154 >>> 12; | |
| $168 = $167 & 15; | |
| $169 = $168&255; | |
| $170 = $169 | -32; | |
| HEAP8[$fill$i>>0] = $170; | |
| $171 = $154 >>> 6; | |
| $172 = $171 & 63; | |
| $173 = $172&255; | |
| $174 = $173 | -128; | |
| $175 = ((($fill$i)) + 1|0); | |
| HEAP8[$175>>0] = $174; | |
| $176 = $154 & 63; | |
| $177 = $176&255; | |
| $178 = $177 | -128; | |
| $179 = ((($fill$i)) + 2|0); | |
| HEAP8[$179>>0] = $178; | |
| $$sroa$8$0$i = 3; | |
| break; | |
| } else { | |
| $180 = $154 >>> 18; | |
| $181 = $180&255; | |
| $182 = $181 | -16; | |
| HEAP8[$fill$i>>0] = $182; | |
| $183 = $154 >>> 12; | |
| $184 = $183 & 63; | |
| $185 = $184&255; | |
| $186 = $185 | -128; | |
| $187 = ((($fill$i)) + 1|0); | |
| HEAP8[$187>>0] = $186; | |
| $188 = $154 >>> 6; | |
| $189 = $188 & 63; | |
| $190 = $189&255; | |
| $191 = $190 | -128; | |
| $192 = ((($fill$i)) + 2|0); | |
| HEAP8[$192>>0] = $191; | |
| $193 = $154 & 63; | |
| $194 = $193&255; | |
| $195 = $194 | -128; | |
| $196 = ((($fill$i)) + 3|0); | |
| HEAP8[$196>>0] = $195; | |
| $$sroa$8$0$i = 4; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $197 = ((($0)) + 28|0); | |
| $198 = ((($0)) + 32|0); | |
| $$sroa$011$0$i = 0; | |
| while(1) { | |
| $199 = ($$sroa$011$0$i>>>0)<($$sroa$078$0$i>>>0); | |
| if (!($199)) { | |
| label = 57; | |
| break; | |
| } | |
| $200 = (($$sroa$011$0$i) + 1)|0; | |
| $201 = HEAP32[$197>>2]|0; | |
| $202 = HEAP32[$198>>2]|0; | |
| $203 = ((($202)) + 12|0); | |
| $204 = HEAP32[$203>>2]|0; | |
| $205 = (FUNCTION_TABLE_iiii[$204 & 127]($201,$fill$i,$$sroa$8$0$i)|0); | |
| $switch70$i = ($205<<24>>24)==(0); | |
| if ($switch70$i) { | |
| $$sroa$011$0$i = $200; | |
| } else { | |
| break; | |
| } | |
| } | |
| L72: do { | |
| if ((label|0) == 57) { | |
| $206 = HEAP32[$197>>2]|0; | |
| $207 = HEAP32[$198>>2]|0; | |
| $208 = ((($207)) + 12|0); | |
| $209 = HEAP32[$208>>2]|0; | |
| $210 = (FUNCTION_TABLE_iiii[$209 & 127]($206,$4,$5)|0); | |
| $switch74$i = ($210<<24>>24)==(0); | |
| if ($switch74$i) { | |
| $$sroa$06$0$i = 0; | |
| while(1) { | |
| $211 = ($$sroa$06$0$i>>>0)<($$sroa$6$0$i>>>0); | |
| if (!($211)) { | |
| break; | |
| } | |
| $212 = (($$sroa$06$0$i) + 1)|0; | |
| $213 = HEAP32[$197>>2]|0; | |
| $214 = HEAP32[$198>>2]|0; | |
| $215 = ((($214)) + 12|0); | |
| $216 = HEAP32[$215>>2]|0; | |
| $217 = (FUNCTION_TABLE_iiii[$216 & 127]($213,$fill$i,$$sroa$8$0$i)|0); | |
| $switch73$i = ($217<<24>>24)==(0); | |
| if ($switch73$i) { | |
| $$sroa$06$0$i = $212; | |
| } else { | |
| break L72; | |
| } | |
| } | |
| $iret_slot$sroa$0$0 = 0; | |
| label = 61; | |
| break L18; | |
| } | |
| } | |
| } while(0); | |
| $iret_slot$sroa$0$0 = 1; | |
| label = 61; | |
| break; | |
| } | |
| } else { | |
| $53 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral28__u7b__u7b_closure_u7d__u7d_13closure_55365E($sign,$prefixed,$prefix,$0)|0); | |
| $switch52 = ($53<<24>>24)==(0); | |
| if ($switch52) { | |
| $134 = ((($0)) + 28|0); | |
| $135 = HEAP32[$134>>2]|0; | |
| $136 = ((($0)) + 32|0); | |
| $137 = HEAP32[$136>>2]|0; | |
| $138 = ((($137)) + 12|0); | |
| $139 = HEAP32[$138>>2]|0; | |
| $140 = (FUNCTION_TABLE_iiii[$139 & 127]($135,$4,$5)|0); | |
| $iret_slot$sroa$0$0 = $140; | |
| label = 61; | |
| } else { | |
| label = 40; | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 40) { | |
| $218 = 1; | |
| STACKTOP = sp;return ($218|0); | |
| } | |
| else if ((label|0) == 61) { | |
| $218 = $iret_slot$sroa$0$0; | |
| STACKTOP = sp;return ($218|0); | |
| } | |
| return (0)|0; | |
| } | |
| function __ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral28__u7b__u7b_closure_u7d__u7d_13closure_55365E($$0$0$val,$$0$1$val,$$0$2$val,$0) { | |
| $$0$0$val = $$0$0$val|0; | |
| $$0$1$val = $$0$1$val|0; | |
| $$0$2$val = $$0$2$val|0; | |
| $0 = $0|0; | |
| var $$sroa$8$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; | |
| var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; | |
| var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; | |
| var $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $b = 0, $cond = 0, $switch = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $b = sp; | |
| $1 = HEAP32[$$0$0$val>>2]|0; | |
| $cond = ($1|0)==(1); | |
| if ($cond) { | |
| $2 = ((($$0$0$val)) + 4|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| HEAP32[$b>>2] = 0; | |
| $4 = ($3>>>0)<(128); | |
| do { | |
| if ($4) { | |
| $5 = $3&255; | |
| HEAP8[$b>>0] = $5; | |
| $$sroa$8$0 = 1; | |
| } else { | |
| $6 = ($3>>>0)<(2048); | |
| if ($6) { | |
| $7 = $3 >>> 6; | |
| $8 = $7 & 31; | |
| $9 = $8&255; | |
| $10 = $9 | -64; | |
| HEAP8[$b>>0] = $10; | |
| $11 = $3 & 63; | |
| $12 = $11&255; | |
| $13 = $12 | -128; | |
| $14 = ((($b)) + 1|0); | |
| HEAP8[$14>>0] = $13; | |
| $$sroa$8$0 = 2; | |
| break; | |
| } | |
| $15 = ($3>>>0)<(65536); | |
| if ($15) { | |
| $16 = $3 >>> 12; | |
| $17 = $16 & 15; | |
| $18 = $17&255; | |
| $19 = $18 | -32; | |
| HEAP8[$b>>0] = $19; | |
| $20 = $3 >>> 6; | |
| $21 = $20 & 63; | |
| $22 = $21&255; | |
| $23 = $22 | -128; | |
| $24 = ((($b)) + 1|0); | |
| HEAP8[$24>>0] = $23; | |
| $25 = $3 & 63; | |
| $26 = $25&255; | |
| $27 = $26 | -128; | |
| $28 = ((($b)) + 2|0); | |
| HEAP8[$28>>0] = $27; | |
| $$sroa$8$0 = 3; | |
| break; | |
| } else { | |
| $29 = $3 >>> 18; | |
| $30 = $29&255; | |
| $31 = $30 | -16; | |
| HEAP8[$b>>0] = $31; | |
| $32 = $3 >>> 12; | |
| $33 = $32 & 63; | |
| $34 = $33&255; | |
| $35 = $34 | -128; | |
| $36 = ((($b)) + 1|0); | |
| HEAP8[$36>>0] = $35; | |
| $37 = $3 >>> 6; | |
| $38 = $37 & 63; | |
| $39 = $38&255; | |
| $40 = $39 | -128; | |
| $41 = ((($b)) + 2|0); | |
| HEAP8[$41>>0] = $40; | |
| $42 = $3 & 63; | |
| $43 = $42&255; | |
| $44 = $43 | -128; | |
| $45 = ((($b)) + 3|0); | |
| HEAP8[$45>>0] = $44; | |
| $$sroa$8$0 = 4; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $46 = ((($0)) + 28|0); | |
| $47 = HEAP32[$46>>2]|0; | |
| $48 = ((($0)) + 32|0); | |
| $49 = HEAP32[$48>>2]|0; | |
| $50 = ((($49)) + 12|0); | |
| $51 = HEAP32[$50>>2]|0; | |
| $52 = (FUNCTION_TABLE_iiii[$51 & 127]($47,$b,$$sroa$8$0)|0); | |
| $switch = ($52<<24>>24)==(0); | |
| if (!($switch)) { | |
| $65 = 1; | |
| STACKTOP = sp;return ($65|0); | |
| } | |
| } | |
| $53 = HEAP8[$$0$1$val>>0]|0; | |
| $54 = ($53<<24>>24)==(0); | |
| if ($54) { | |
| $65 = 0; | |
| STACKTOP = sp;return ($65|0); | |
| } | |
| $55 = ((($0)) + 28|0); | |
| $56 = HEAP32[$55>>2]|0; | |
| $57 = ((($0)) + 32|0); | |
| $58 = HEAP32[$57>>2]|0; | |
| $59 = ((($58)) + 12|0); | |
| $60 = HEAP32[$59>>2]|0; | |
| $61 = HEAP32[$$0$2$val>>2]|0; | |
| $62 = ((($$0$2$val)) + 4|0); | |
| $63 = HEAP32[$62>>2]|0; | |
| $64 = (FUNCTION_TABLE_iiii[$60 & 127]($56,$61,$63)|0); | |
| $65 = $64; | |
| STACKTOP = sp;return ($65|0); | |
| } | |
| function __ZN9panicking9panic_fmt20h354880378c07fbbe7mME($fmt,$0) { | |
| $fmt = $fmt|0; | |
| $0 = $0|0; | |
| var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $arg$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $arg$i$i = sp + 16|0; | |
| $1 = sp; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = ((($0)) + 4|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = ((($0)) + 8|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| ;HEAP32[$arg$i$i>>2]=HEAP32[$fmt>>2]|0;HEAP32[$arg$i$i+4>>2]=HEAP32[$fmt+4>>2]|0;HEAP32[$arg$i$i+8>>2]=HEAP32[$fmt+8>>2]|0;HEAP32[$arg$i$i+12>>2]=HEAP32[$fmt+12>>2]|0;HEAP32[$arg$i$i+16>>2]=HEAP32[$fmt+16>>2]|0;HEAP32[$arg$i$i+20>>2]=HEAP32[$fmt+20>>2]|0; | |
| HEAP32[$1>>2] = $2; | |
| $7 = ((($1)) + 4|0); | |
| HEAP32[$7>>2] = $4; | |
| $8 = ((($1)) + 8|0); | |
| HEAP32[$8>>2] = $6; | |
| __ZN10sys_common6unwind16begin_unwind_fmt20h0ca53700e4e0b4b7houE($arg$i$i,$1); | |
| // unreachable; | |
| } | |
| function __ZN9panicking5panic20h505ed693e1be0208ElME($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; | |
| var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $1 = sp + 24|0; | |
| $2 = sp + 16|0; | |
| $3 = sp; | |
| $4 = $0; | |
| $5 = $4; | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = (($4) + 4)|0; | |
| $8 = $7; | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = ((($0)) + 8|0); | |
| $11 = $10; | |
| $12 = $11; | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = (($11) + 4)|0; | |
| $15 = $14; | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = ((($0)) + 16|0); | |
| $18 = HEAP32[$17>>2]|0; | |
| $19 = $2; | |
| $20 = $19; | |
| HEAP32[$20>>2] = $6; | |
| $21 = (($19) + 4)|0; | |
| $22 = $21; | |
| HEAP32[$22>>2] = $9; | |
| HEAP32[$1>>2] = $2; | |
| $23 = ((($1)) + 4|0); | |
| HEAP32[$23>>2] = 1; | |
| $24 = ((($1)) + 8|0); | |
| $25 = $24; | |
| $26 = $25; | |
| HEAP32[$26>>2] = 0; | |
| $27 = (($25) + 4)|0; | |
| $28 = $27; | |
| HEAP32[$28>>2] = 0; | |
| $29 = ((($1)) + 16|0); | |
| HEAP32[$29>>2] = 7144; | |
| $30 = ((($1)) + 20|0); | |
| HEAP32[$30>>2] = 0; | |
| $31 = $3; | |
| $32 = $31; | |
| HEAP32[$32>>2] = $13; | |
| $33 = (($31) + 4)|0; | |
| $34 = $33; | |
| HEAP32[$34>>2] = $16; | |
| $35 = ((($3)) + 8|0); | |
| HEAP32[$35>>2] = $18; | |
| __ZN9panicking9panic_fmt20h354880378c07fbbe7mME($1,$3); | |
| // unreachable; | |
| } | |
| function __ZN9panicking18panic_bounds_check20h8e1f5fdc350eb389dmME($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $index = 0, $len = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $index = sp + 44|0; | |
| $len = sp + 40|0; | |
| $3 = sp + 16|0; | |
| $4 = sp; | |
| HEAP32[$index>>2] = $1; | |
| HEAP32[$len>>2] = $2; | |
| $5 = ((($4)) + 4|0); | |
| HEAP32[$5>>2] = 104; | |
| HEAP32[$4>>2] = $len; | |
| $6 = ((($4)) + 8|0); | |
| $7 = ((($4)) + 12|0); | |
| HEAP32[$7>>2] = 104; | |
| HEAP32[$6>>2] = $index; | |
| HEAP32[$3>>2] = 1576; | |
| $8 = ((($3)) + 4|0); | |
| HEAP32[$8>>2] = 2; | |
| $9 = ((($3)) + 8|0); | |
| $10 = $9; | |
| $11 = $10; | |
| HEAP32[$11>>2] = 0; | |
| $12 = (($10) + 4)|0; | |
| $13 = $12; | |
| HEAP32[$13>>2] = 0; | |
| $14 = ((($3)) + 16|0); | |
| HEAP32[$14>>2] = $4; | |
| $15 = ((($3)) + 20|0); | |
| HEAP32[$15>>2] = 2; | |
| __ZN9panicking9panic_fmt20h354880378c07fbbe7mME($3,$0); | |
| // unreachable; | |
| } | |
| function __ZN3fmt3num18usize_fmt__Display3fmt20h66dfdb06047ad5520AWE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; | |
| var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf8 = 0, $curr$0$lcssa = 0; | |
| var $curr$09 = 0, $curr$1 = 0, $curr$2 = 0, $n$1$lcssa = 0, $n$110 = 0, $n2$0 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $buf8 = sp; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = ($2>>>0)>(9999); | |
| if ($3) { | |
| $curr$09 = 20;$n$110 = $2; | |
| while(1) { | |
| $5 = (($n$110>>>0) % 10000)&-1; | |
| $6 = (($n$110>>>0) / 10000)&-1; | |
| $7 = (($5>>>0) / 100)&-1; | |
| $8 = $7 << 1; | |
| $9 = (($5>>>0) % 100)&-1; | |
| $10 = $9 << 1; | |
| $11 = (($curr$09) + -4)|0; | |
| $12 = (4049 + ($8)|0); | |
| $13 = (($buf8) + ($11)|0); | |
| $14 = HEAPU8[$12>>0]|(HEAPU8[$12+1>>0]<<8); | |
| HEAP8[$13>>0]=$14&255;HEAP8[$13+1>>0]=$14>>8; | |
| $15 = (4049 + ($10)|0); | |
| $16 = (($curr$09) + -2)|0; | |
| $17 = (($buf8) + ($16)|0); | |
| $18 = HEAPU8[$15>>0]|(HEAPU8[$15+1>>0]<<8); | |
| HEAP8[$17>>0]=$18&255;HEAP8[$17+1>>0]=$18>>8; | |
| $19 = ($n$110>>>0)>(99999999); | |
| if ($19) { | |
| $curr$09 = $11;$n$110 = $6; | |
| } else { | |
| $curr$0$lcssa = $11;$n$1$lcssa = $6; | |
| break; | |
| } | |
| } | |
| } else { | |
| $curr$0$lcssa = 20;$n$1$lcssa = $2; | |
| } | |
| $4 = ($n$1$lcssa|0)>(99); | |
| if ($4) { | |
| $20 = (($n$1$lcssa|0) % 100)&-1; | |
| $21 = $20 << 1; | |
| $22 = (($n$1$lcssa|0) / 100)&-1; | |
| $23 = (($curr$0$lcssa) + -2)|0; | |
| $24 = (4049 + ($21)|0); | |
| $25 = (($buf8) + ($23)|0); | |
| $26 = HEAPU8[$24>>0]|(HEAPU8[$24+1>>0]<<8); | |
| HEAP8[$25>>0]=$26&255;HEAP8[$25+1>>0]=$26>>8; | |
| $curr$1 = $23;$n2$0 = $22; | |
| } else { | |
| $curr$1 = $curr$0$lcssa;$n2$0 = $n$1$lcssa; | |
| } | |
| $27 = ($n2$0|0)<(10); | |
| if ($27) { | |
| $28 = (($curr$1) + -1)|0; | |
| $29 = $n2$0&255; | |
| $30 = (($29) + 48)<<24>>24; | |
| $31 = (($buf8) + ($28)|0); | |
| HEAP8[$31>>0] = $30; | |
| $curr$2 = $28; | |
| $37 = (($buf8) + ($curr$2)|0); | |
| $38 = (20 - ($curr$2))|0; | |
| $39 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,1,7692,0,$37,$38)|0); | |
| STACKTOP = sp;return ($39|0); | |
| } else { | |
| $32 = $n2$0 << 1; | |
| $33 = (($curr$1) + -2)|0; | |
| $34 = (4049 + ($32)|0); | |
| $35 = (($buf8) + ($33)|0); | |
| $36 = HEAPU8[$34>>0]|(HEAPU8[$34+1>>0]<<8); | |
| HEAP8[$35>>0]=$36&255;HEAP8[$35+1>>0]=$36>>8; | |
| $curr$2 = $33; | |
| $37 = (($buf8) + ($curr$2)|0); | |
| $38 = (20 - ($curr$2))|0; | |
| $39 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,1,7692,0,$37,$38)|0); | |
| STACKTOP = sp;return ($39|0); | |
| } | |
| return (0)|0; | |
| } | |
| function __ZN5slice22slice_index_order_fail20h0ea23a39457ab7feuaQE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $end = 0, $index = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $index = sp + 44|0; | |
| $end = sp + 40|0; | |
| $2 = sp + 16|0; | |
| $3 = sp; | |
| HEAP32[$index>>2] = $0; | |
| HEAP32[$end>>2] = $1; | |
| $4 = ((($3)) + 4|0); | |
| HEAP32[$4>>2] = 104; | |
| HEAP32[$3>>2] = $index; | |
| $5 = ((($3)) + 8|0); | |
| $6 = ((($3)) + 12|0); | |
| HEAP32[$6>>2] = 104; | |
| HEAP32[$5>>2] = $end; | |
| HEAP32[$2>>2] = 1592; | |
| $7 = ((($2)) + 4|0); | |
| HEAP32[$7>>2] = 2; | |
| $8 = ((($2)) + 8|0); | |
| $9 = $8; | |
| $10 = $9; | |
| HEAP32[$10>>2] = 0; | |
| $11 = (($9) + 4)|0; | |
| $12 = $11; | |
| HEAP32[$12>>2] = 0; | |
| $13 = ((($2)) + 16|0); | |
| HEAP32[$13>>2] = $3; | |
| $14 = ((($2)) + 20|0); | |
| HEAP32[$14>>2] = 2; | |
| __ZN9panicking9panic_fmt20h354880378c07fbbe7mME($2,1608); | |
| // unreachable; | |
| } | |
| function __ZN5slice20slice_index_len_fail20h9ec8212373ae0291u9PE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $index = 0, $len = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $index = sp + 44|0; | |
| $len = sp + 40|0; | |
| $2 = sp + 16|0; | |
| $3 = sp; | |
| HEAP32[$index>>2] = $0; | |
| HEAP32[$len>>2] = $1; | |
| $4 = ((($3)) + 4|0); | |
| HEAP32[$4>>2] = 104; | |
| HEAP32[$3>>2] = $index; | |
| $5 = ((($3)) + 8|0); | |
| $6 = ((($3)) + 12|0); | |
| HEAP32[$6>>2] = 104; | |
| HEAP32[$5>>2] = $len; | |
| HEAP32[$2>>2] = 1620; | |
| $7 = ((($2)) + 4|0); | |
| HEAP32[$7>>2] = 2; | |
| $8 = ((($2)) + 8|0); | |
| $9 = $8; | |
| $10 = $9; | |
| HEAP32[$10>>2] = 0; | |
| $11 = (($9) + 4)|0; | |
| $12 = $11; | |
| HEAP32[$12>>2] = 0; | |
| $13 = ((($2)) + 16|0); | |
| HEAP32[$13>>2] = $3; | |
| $14 = ((($2)) + 20|0); | |
| HEAP32[$14>>2] = 2; | |
| __ZN9panicking9panic_fmt20h354880378c07fbbe7mME($2,1636); | |
| // unreachable; | |
| } | |
| function __ZN3num26ParseIntError___fmt__Debug3fmt20h02f2104e1bdb08e8KGkE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0; | |
| var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $addr_of = 0, $builder = 0, $sret_slot$sroa$0$0$i$i = 0, $switch$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $builder = sp; | |
| $addr_of = sp + 8|0; | |
| HEAP32[$addr_of>>2] = 488447261; | |
| $2 = ((($1)) + 28|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($1)) + 32|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = ((($5)) + 12|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = (FUNCTION_TABLE_iiii[$7 & 127]($3,4377,13)|0); | |
| HEAP32[$builder>>2] = $1; | |
| $9 = ((($builder)) + 4|0); | |
| HEAP8[$9>>0] = $8; | |
| $10 = ((($builder)) + 5|0); | |
| HEAP8[$10>>0] = 0; | |
| HEAP32[$addr_of>>2] = $0; | |
| __ZN3fmt8builders39DebugStruct_LT__u27_a_C__u20__u27_b_GT_5field20he6f34b3e8a5f32e49HWE($builder,4390,4,$addr_of,312); | |
| $11 = HEAP8[$10>>0]|0; | |
| $12 = ($11<<24>>24)==(0); | |
| $$pre$i = HEAP8[$9>>0]|0; | |
| if ($12) { | |
| $25 = $$pre$i; | |
| STACKTOP = sp;return ($25|0); | |
| } | |
| $switch$i$i = ($$pre$i<<24>>24)==(0); | |
| do { | |
| if ($switch$i$i) { | |
| $13 = HEAP32[$builder>>2]|0; | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = $14 & 4; | |
| $16 = ($15|0)==(0); | |
| $17 = ((($13)) + 28|0); | |
| $18 = HEAP32[$17>>2]|0; | |
| $19 = ((($13)) + 32|0); | |
| $20 = HEAP32[$19>>2]|0; | |
| $21 = ((($20)) + 12|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| if ($16) { | |
| $24 = (FUNCTION_TABLE_iiii[$22 & 127]($18,4047,2)|0); | |
| $sret_slot$sroa$0$0$i$i = $24; | |
| break; | |
| } else { | |
| $23 = (FUNCTION_TABLE_iiii[$22 & 127]($18,4544,2)|0); | |
| $sret_slot$sroa$0$0$i$i = $23; | |
| break; | |
| } | |
| } else { | |
| $sret_slot$sroa$0$0$i$i = 1; | |
| } | |
| } while(0); | |
| HEAP8[$9>>0] = $sret_slot$sroa$0$0$i$i; | |
| $25 = $sret_slot$sroa$0$0$i$i; | |
| STACKTOP = sp;return ($25|0); | |
| } | |
| function __ZN2i810drop_5455217hdd39705df3949024E($0) { | |
| $0 = $0|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| return; | |
| } | |
| function __ZN3fmt23__RF__u27_a_u20_T_Debug3fmt19h220124151501175716E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; | |
| var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sret_slot$sroa$0$0$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = HEAP8[$2>>0]|0; | |
| switch ($3<<24>>24) { | |
| case 0: { | |
| $4 = ((($1)) + 28|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = ((($1)) + 32|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = ((($7)) + 12|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = (FUNCTION_TABLE_iiii[$9 & 127]($5,4394,5)|0); | |
| $sret_slot$sroa$0$0$i = $10; | |
| return ($sret_slot$sroa$0$0$i|0); | |
| break; | |
| } | |
| case 1: { | |
| $11 = ((($1)) + 28|0); | |
| $12 = HEAP32[$11>>2]|0; | |
| $13 = ((($1)) + 32|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = ((($14)) + 12|0); | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = (FUNCTION_TABLE_iiii[$16 & 127]($12,4399,12)|0); | |
| $sret_slot$sroa$0$0$i = $17; | |
| return ($sret_slot$sroa$0$0$i|0); | |
| break; | |
| } | |
| case 2: { | |
| $18 = ((($1)) + 28|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| $20 = ((($1)) + 32|0); | |
| $21 = HEAP32[$20>>2]|0; | |
| $22 = ((($21)) + 12|0); | |
| $23 = HEAP32[$22>>2]|0; | |
| $24 = (FUNCTION_TABLE_iiii[$23 & 127]($19,4411,8)|0); | |
| $sret_slot$sroa$0$0$i = $24; | |
| return ($sret_slot$sroa$0$0$i|0); | |
| break; | |
| } | |
| case 3: { | |
| $25 = ((($1)) + 28|0); | |
| $26 = HEAP32[$25>>2]|0; | |
| $27 = ((($1)) + 32|0); | |
| $28 = HEAP32[$27>>2]|0; | |
| $29 = ((($28)) + 12|0); | |
| $30 = HEAP32[$29>>2]|0; | |
| $31 = (FUNCTION_TABLE_iiii[$30 & 127]($26,4419,9)|0); | |
| $sret_slot$sroa$0$0$i = $31; | |
| return ($sret_slot$sroa$0$0$i|0); | |
| break; | |
| } | |
| default: { | |
| // unreachable; | |
| } | |
| } | |
| return (0)|0; | |
| } | |
| function __ZN3fmt8builders39DebugStruct_LT__u27_a_C__u20__u27_b_GT_5field20he6f34b3e8a5f32e49HWE($0,$1,$2,$3,$4) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| $4 = $4|0; | |
| var $$pre = 0, $$pre$phiZ2D = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; | |
| var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; | |
| var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; | |
| var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $arg$i$i$i = 0, $name = 0, $prefix$i$i = 0, $sret_slot$sroa$0$0$i = 0, $sret_slot$sroa$0$0$i$i = 0, $switch$i = 0, $value = 0, $writer$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $arg$i$i$i = sp + 104|0; | |
| $prefix$i$i = sp + 96|0; | |
| $writer$i$i = sp + 88|0; | |
| $5 = sp + 64|0; | |
| $6 = sp + 40|0; | |
| $7 = sp + 16|0; | |
| $name = sp + 8|0; | |
| $value = sp; | |
| HEAP32[$name>>2] = $1; | |
| $8 = ((($name)) + 4|0); | |
| HEAP32[$8>>2] = $2; | |
| HEAP32[$value>>2] = $3; | |
| $9 = ((($value)) + 4|0); | |
| HEAP32[$9>>2] = $4; | |
| $10 = ((($0)) + 4|0); | |
| $11 = HEAP8[$10>>0]|0; | |
| $12 = $name; | |
| $13 = $value; | |
| $switch$i = ($11<<24>>24)==(0); | |
| if (!($switch$i)) { | |
| $$pre = ((($0)) + 5|0); | |
| $$pre$phiZ2D = $$pre;$sret_slot$sroa$0$0$i = 1; | |
| HEAP8[$10>>0] = $sret_slot$sroa$0$0$i; | |
| HEAP8[$$pre$phiZ2D>>0] = 1; | |
| STACKTOP = sp;return; | |
| } | |
| $14 = ((($0)) + 5|0); | |
| $15 = HEAP8[$14>>0]|0; | |
| $16 = ($15<<24>>24)==(0); | |
| $17 = 328; | |
| $18 = $17; | |
| $19 = HEAP32[$18>>2]|0; | |
| $20 = (($17) + 4)|0; | |
| $21 = $20; | |
| $22 = HEAP32[$21>>2]|0; | |
| $23 = 336; | |
| $24 = $23; | |
| $25 = HEAP32[$24>>2]|0; | |
| $26 = (($23) + 4)|0; | |
| $27 = $26; | |
| $28 = HEAP32[$27>>2]|0; | |
| $29 = $16 ? $19 : $25; | |
| $30 = $16 ? $22 : $28; | |
| $31 = $prefix$i$i; | |
| $32 = $31; | |
| HEAP32[$32>>2] = $29; | |
| $33 = (($31) + 4)|0; | |
| $34 = $33; | |
| HEAP32[$34>>2] = $30; | |
| $35 = HEAP32[$0>>2]|0; | |
| $36 = HEAP32[$35>>2]|0; | |
| $37 = $36 & 4; | |
| $38 = ($37|0)==(0); | |
| if ($38) { | |
| $52 = ((($7)) + 4|0); | |
| HEAP32[$52>>2] = 67; | |
| HEAP32[$7>>2] = $prefix$i$i; | |
| $53 = ((($7)) + 8|0); | |
| $54 = ((($7)) + 12|0); | |
| HEAP32[$54>>2] = 67; | |
| HEAP32[$53>>2] = $12; | |
| $55 = ((($7)) + 16|0); | |
| $56 = ((($7)) + 20|0); | |
| HEAP32[$56>>2] = 68; | |
| HEAP32[$55>>2] = $13; | |
| $57 = ((($35)) + 28|0); | |
| $58 = HEAP32[$57>>2]|0; | |
| $59 = ((($35)) + 32|0); | |
| $60 = HEAP32[$59>>2]|0; | |
| HEAP32[$arg$i$i$i>>2] = 1900; | |
| $61 = ((($arg$i$i$i)) + 4|0); | |
| HEAP32[$61>>2] = 3; | |
| $62 = ((($arg$i$i$i)) + 8|0); | |
| $63 = $62; | |
| $64 = $63; | |
| HEAP32[$64>>2] = 0; | |
| $65 = (($63) + 4)|0; | |
| $66 = $65; | |
| HEAP32[$66>>2] = 0; | |
| $67 = ((($arg$i$i$i)) + 16|0); | |
| HEAP32[$67>>2] = $7; | |
| $68 = ((($arg$i$i$i)) + 20|0); | |
| HEAP32[$68>>2] = 3; | |
| $69 = (__ZN3fmt5write20h7901236a83d456cd7oXE($58,$60,$arg$i$i$i)|0); | |
| $sret_slot$sroa$0$0$i$i = $69; | |
| } else { | |
| $39 = $35; | |
| HEAP32[$writer$i$i>>2] = $39; | |
| $40 = ((($writer$i$i)) + 4|0); | |
| HEAP8[$40>>0] = 0; | |
| $41 = ((($6)) + 4|0); | |
| HEAP32[$41>>2] = 67; | |
| HEAP32[$6>>2] = $prefix$i$i; | |
| $42 = ((($6)) + 8|0); | |
| $43 = ((($6)) + 12|0); | |
| HEAP32[$43>>2] = 67; | |
| HEAP32[$42>>2] = $12; | |
| $44 = ((($6)) + 16|0); | |
| $45 = ((($6)) + 20|0); | |
| HEAP32[$45>>2] = 68; | |
| HEAP32[$44>>2] = $13; | |
| HEAP32[$5>>2] = 1744; | |
| $46 = ((($5)) + 4|0); | |
| HEAP32[$46>>2] = 3; | |
| $47 = ((($5)) + 8|0); | |
| HEAP32[$47>>2] = 1768; | |
| $48 = ((($5)) + 12|0); | |
| HEAP32[$48>>2] = 3; | |
| $49 = ((($5)) + 16|0); | |
| HEAP32[$49>>2] = $6; | |
| $50 = ((($5)) + 20|0); | |
| HEAP32[$50>>2] = 3; | |
| $51 = (__ZN3fmt5write20h7901236a83d456cd7oXE($writer$i$i,360,$5)|0); | |
| $sret_slot$sroa$0$0$i$i = $51; | |
| } | |
| $$pre$phiZ2D = $14;$sret_slot$sroa$0$0$i = $sret_slot$sroa$0$0$i$i; | |
| HEAP8[$10>>0] = $sret_slot$sroa$0$0$i; | |
| HEAP8[$$pre$phiZ2D>>0] = 1; | |
| STACKTOP = sp;return; | |
| } | |
| function __ZN3fmt25__RF__u27_a_u20_T_Display3fmt21h16554294782745317568E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = ((($0)) + 4|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = (__ZN3fmt23Formatter_LT__u27_a_GT_3pad20h4dc31ec7f968f174LyXE($1,$2,$4)|0); | |
| return ($5|0); | |
| } | |
| function __ZN3fmt23Formatter_LT__u27_a_GT_3pad20h4dc31ec7f968f174LyXE($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$$i = 0, $$cast$i$i$i$i = 0, $$cast$i$i11$i$i = 0, $$lobit$i$i = 0, $$lobit$not$i$i = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre4 = 0, $$sroa$01$1$i$i = 0, $$sroa$01$1$i$i31 = 0, $$sroa$01$2$i$i = 0, $$sroa$01$2$i$i33 = 0, $$sroa$01$3$i$i = 0, $$sroa$01$3$i$i35 = 0, $$sroa$01$5$ph$i$i = 0, $$sroa$01$5$ph$i$i37 = 0, $$sroa$011$0$i = 0, $$sroa$046$0 = 0, $$sroa$06$0$i = 0; | |
| var $$sroa$078$0$i = 0, $$sroa$6$0$i = 0, $$sroa$8$0$i = 0, $$sroa$848$0$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; | |
| var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; | |
| var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; | |
| var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; | |
| var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; | |
| var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; | |
| var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; | |
| var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; | |
| var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; | |
| var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $accum$0$lcssa$i$i = 0, $accum$0$lcssa$i$i39 = 0, $accum$04$i$i = 0, $accum$04$i$i29 = 0, $cond$i = 0, $cond21 = 0, $extract$t4$i$i = 0, $fill$i = 0, $n$010$i$i = 0; | |
| var $not$$i$i = 0, $sret_slot$sroa$0$0 = 0, $switch70$i = 0, $switch73$i = 0, $switch74$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $fill$i = sp; | |
| $3 = ((($0)) + 12|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = ($4|0)==(1); | |
| $$phi$trans$insert = ((($0)) + 20|0); | |
| $$pre = HEAP32[$$phi$trans$insert>>2]|0; | |
| $cond21 = ($$pre|0)==(1); | |
| if ($5) { | |
| if ($cond21) { | |
| label = 6; | |
| } else { | |
| $$pre4 = (($1) + ($2)|0); | |
| $$pre$phiZ2D = $$pre4; | |
| } | |
| } else { | |
| if ($cond21) { | |
| label = 6; | |
| } else { | |
| $6 = ((($0)) + 28|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = ((($0)) + 32|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = ((($9)) + 12|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = (FUNCTION_TABLE_iiii[$11 & 127]($7,$1,$2)|0); | |
| $sret_slot$sroa$0$0 = $12; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0|0); | |
| } | |
| } | |
| do { | |
| if ((label|0) == 6) { | |
| $13 = ((($0)) + 24|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (($1) + ($2)|0); | |
| $16 = ($14|0)==(0); | |
| $17 = ($2|0)==(0); | |
| L9: do { | |
| if ($16) { | |
| if ($17) { | |
| label = 21; | |
| } else { | |
| $$sroa$848$0$off0 = 0; | |
| } | |
| } else { | |
| if ($17) { | |
| label = 21; | |
| } else { | |
| $18 = $1; | |
| $$cast$i$i11$i$i = $1;$$sroa$046$0 = 0;$20 = $18;$n$010$i$i = $14; | |
| while(1) { | |
| $25 = ((($$cast$i$i11$i$i)) + 1|0); | |
| $26 = HEAP8[$$cast$i$i11$i$i>>0]|0; | |
| $27 = ($26<<24>>24)<(0); | |
| $28 = $25; | |
| if ($27) { | |
| $29 = ($25|0)==($15|0); | |
| $30 = ((($$cast$i$i11$i$i)) + 2|0); | |
| $31 = $30; | |
| $32 = $29 ? $28 : $31; | |
| $33 = $29 ? $15 : $30; | |
| $34 = ($26&255)>(223); | |
| if ($34) { | |
| $35 = ($33|0)==($15|0); | |
| $36 = ((($33)) + 1|0); | |
| $37 = $36; | |
| $38 = $35 ? $32 : $37; | |
| $39 = $35 ? $15 : $36; | |
| $40 = ($26&255)>(239); | |
| if ($40) { | |
| $41 = ($39|0)==($15|0); | |
| $42 = ((($39)) + 1|0); | |
| $43 = $42; | |
| $44 = $41 ? $38 : $43; | |
| $22 = $44; | |
| } else { | |
| $22 = $38; | |
| } | |
| } else { | |
| $22 = $32; | |
| } | |
| } else { | |
| $22 = $28; | |
| } | |
| $45 = ($n$010$i$i|0)==(0); | |
| if ($45) { | |
| $$sroa$848$0$off0 = $$sroa$046$0; | |
| break L9; | |
| } | |
| $19 = (($$sroa$046$0) - ($20))|0; | |
| $21 = (($19) + ($22))|0; | |
| $23 = (($n$010$i$i) + -1)|0; | |
| $$cast$i$i$i$i = $22; | |
| $24 = ($$cast$i$i$i$i|0)==($15|0); | |
| if ($24) { | |
| label = 21; | |
| break; | |
| } else { | |
| $$cast$i$i11$i$i = $$cast$i$i$i$i;$$sroa$046$0 = $21;$20 = $22;$n$010$i$i = $23; | |
| } | |
| } | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 21) { | |
| if ($5) { | |
| $$pre$phiZ2D = $15; | |
| break; | |
| } | |
| $59 = ((($0)) + 28|0); | |
| $60 = HEAP32[$59>>2]|0; | |
| $61 = ((($0)) + 32|0); | |
| $62 = HEAP32[$61>>2]|0; | |
| $63 = ((($62)) + 12|0); | |
| $64 = HEAP32[$63>>2]|0; | |
| $65 = (FUNCTION_TABLE_iiii[$64 & 127]($60,$1,$2)|0); | |
| $sret_slot$sroa$0$0 = $65; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0|0); | |
| } | |
| $46 = ((($0)) + 28|0); | |
| $47 = HEAP32[$46>>2]|0; | |
| $48 = ((($0)) + 32|0); | |
| $49 = HEAP32[$48>>2]|0; | |
| $50 = ((($49)) + 12|0); | |
| $51 = HEAP32[$50>>2]|0; | |
| $52 = ($$sroa$848$0$off0|0)==($2|0); | |
| if (!($52)) { | |
| $not$$i$i = ($$sroa$848$0$off0>>>0)<($2>>>0); | |
| if (!($not$$i$i)) { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($1,$2,0,$$sroa$848$0$off0); | |
| // unreachable; | |
| } | |
| $53 = (($1) + ($$sroa$848$0$off0)|0); | |
| $54 = HEAP8[$53>>0]|0; | |
| $55 = ($54&255)>(191); | |
| $$lobit$i$i = ($54&255) >>> 7; | |
| $$lobit$not$i$i = $$lobit$i$i ^ 1; | |
| $56 = $55&1; | |
| $57 = $$lobit$not$i$i | $56; | |
| $extract$t4$i$i = ($57<<24>>24)==(0); | |
| if ($extract$t4$i$i) { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($1,$2,0,$$sroa$848$0$off0); | |
| // unreachable; | |
| } | |
| } | |
| $58 = (FUNCTION_TABLE_iiii[$51 & 127]($47,$1,$$sroa$848$0$off0)|0); | |
| $sret_slot$sroa$0$0 = $58; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0|0); | |
| } | |
| } while(0); | |
| $66 = ((($0)) + 16|0); | |
| $67 = HEAP32[$66>>2]|0; | |
| $68 = ($2|0)==(0); | |
| if ($68) { | |
| $accum$0$lcssa$i$i39 = 0; | |
| } else { | |
| $70 = $1;$accum$04$i$i29 = 0; | |
| while(1) { | |
| $69 = ((($70)) + 1|0); | |
| $71 = $69; | |
| $72 = HEAP8[$70>>0]|0; | |
| $73 = ($72<<24>>24)<(0); | |
| if ($73) { | |
| $74 = ($69|0)==($$pre$phiZ2D|0); | |
| $75 = ((($70)) + 2|0); | |
| $76 = $75; | |
| $$sroa$01$1$i$i31 = $74 ? $71 : $76; | |
| $77 = $74 ? $$pre$phiZ2D : $75; | |
| $78 = ($72&255)>(223); | |
| if ($78) { | |
| $79 = ($77|0)==($$pre$phiZ2D|0); | |
| $80 = ((($77)) + 1|0); | |
| $81 = $80; | |
| $$sroa$01$2$i$i33 = $79 ? $$sroa$01$1$i$i31 : $81; | |
| $82 = $79 ? $$pre$phiZ2D : $80; | |
| $83 = ($72&255)>(239); | |
| if ($83) { | |
| $84 = ($82|0)==($$pre$phiZ2D|0); | |
| $85 = ((($82)) + 1|0); | |
| $86 = $85; | |
| $$sroa$01$3$i$i35 = $84 ? $$sroa$01$2$i$i33 : $86; | |
| $$sroa$01$5$ph$i$i37 = $$sroa$01$3$i$i35; | |
| } else { | |
| $$sroa$01$5$ph$i$i37 = $$sroa$01$2$i$i33; | |
| } | |
| } else { | |
| $$sroa$01$5$ph$i$i37 = $$sroa$01$1$i$i31; | |
| } | |
| } else { | |
| $$sroa$01$5$ph$i$i37 = $71; | |
| } | |
| $87 = (($accum$04$i$i29) + 1)|0; | |
| $88 = $$sroa$01$5$ph$i$i37; | |
| $89 = ($88|0)==($$pre$phiZ2D|0); | |
| if ($89) { | |
| $accum$0$lcssa$i$i39 = $87; | |
| break; | |
| } else { | |
| $70 = $88;$accum$04$i$i29 = $87; | |
| } | |
| } | |
| } | |
| $90 = ($accum$0$lcssa$i$i39>>>0)<($67>>>0); | |
| if (!($90)) { | |
| $91 = ((($0)) + 28|0); | |
| $92 = HEAP32[$91>>2]|0; | |
| $93 = ((($0)) + 32|0); | |
| $94 = HEAP32[$93>>2]|0; | |
| $95 = ((($94)) + 12|0); | |
| $96 = HEAP32[$95>>2]|0; | |
| $97 = (FUNCTION_TABLE_iiii[$96 & 127]($92,$1,$2)|0); | |
| $sret_slot$sroa$0$0 = $97; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0|0); | |
| } | |
| if ($68) { | |
| $accum$0$lcssa$i$i = 0; | |
| } else { | |
| $99 = $1;$accum$04$i$i = 0; | |
| while(1) { | |
| $98 = ((($99)) + 1|0); | |
| $100 = $98; | |
| $101 = HEAP8[$99>>0]|0; | |
| $102 = ($101<<24>>24)<(0); | |
| if ($102) { | |
| $103 = ($98|0)==($$pre$phiZ2D|0); | |
| $104 = ((($99)) + 2|0); | |
| $105 = $104; | |
| $$sroa$01$1$i$i = $103 ? $100 : $105; | |
| $106 = $103 ? $$pre$phiZ2D : $104; | |
| $107 = ($101&255)>(223); | |
| if ($107) { | |
| $108 = ($106|0)==($$pre$phiZ2D|0); | |
| $109 = ((($106)) + 1|0); | |
| $110 = $109; | |
| $$sroa$01$2$i$i = $108 ? $$sroa$01$1$i$i : $110; | |
| $111 = $108 ? $$pre$phiZ2D : $109; | |
| $112 = ($101&255)>(239); | |
| if ($112) { | |
| $113 = ($111|0)==($$pre$phiZ2D|0); | |
| $114 = ((($111)) + 1|0); | |
| $115 = $114; | |
| $$sroa$01$3$i$i = $113 ? $$sroa$01$2$i$i : $115; | |
| $$sroa$01$5$ph$i$i = $$sroa$01$3$i$i; | |
| } else { | |
| $$sroa$01$5$ph$i$i = $$sroa$01$2$i$i; | |
| } | |
| } else { | |
| $$sroa$01$5$ph$i$i = $$sroa$01$1$i$i; | |
| } | |
| } else { | |
| $$sroa$01$5$ph$i$i = $100; | |
| } | |
| $116 = (($accum$04$i$i) + 1)|0; | |
| $117 = $$sroa$01$5$ph$i$i; | |
| $118 = ($117|0)==($$pre$phiZ2D|0); | |
| if ($118) { | |
| $accum$0$lcssa$i$i = $116; | |
| break; | |
| } else { | |
| $99 = $117;$accum$04$i$i = $116; | |
| } | |
| } | |
| } | |
| $119 = (($67) - ($accum$0$lcssa$i$i))|0; | |
| $120 = ((($0)) + 8|0); | |
| $121 = HEAP8[$120>>0]|0; | |
| $cond$i = ($121<<24>>24)==(3); | |
| $$$i = $cond$i ? 0 : $121; | |
| switch ($$$i<<24>>24) { | |
| case 0: { | |
| $$sroa$078$0$i = 0;$$sroa$6$0$i = $119; | |
| break; | |
| } | |
| case 3: case 1: { | |
| $$sroa$078$0$i = $119;$$sroa$6$0$i = 0; | |
| break; | |
| } | |
| case 2: { | |
| $122 = $119 >>> 1; | |
| $123 = (($119) + 1)|0; | |
| $124 = $123 >>> 1; | |
| $$sroa$078$0$i = $122;$$sroa$6$0$i = $124; | |
| break; | |
| } | |
| default: { | |
| // unreachable; | |
| } | |
| } | |
| HEAP32[$fill$i>>2] = 0; | |
| $125 = ((($0)) + 4|0); | |
| $126 = HEAP32[$125>>2]|0; | |
| $127 = ($126>>>0)<(128); | |
| do { | |
| if ($127) { | |
| $128 = $126&255; | |
| HEAP8[$fill$i>>0] = $128; | |
| $$sroa$8$0$i = 1; | |
| } else { | |
| $129 = ($126>>>0)<(2048); | |
| if ($129) { | |
| $130 = $126 >>> 6; | |
| $131 = $130 & 31; | |
| $132 = $131&255; | |
| $133 = $132 | -64; | |
| HEAP8[$fill$i>>0] = $133; | |
| $134 = $126 & 63; | |
| $135 = $134&255; | |
| $136 = $135 | -128; | |
| $137 = ((($fill$i)) + 1|0); | |
| HEAP8[$137>>0] = $136; | |
| $$sroa$8$0$i = 2; | |
| break; | |
| } | |
| $138 = ($126>>>0)<(65536); | |
| if ($138) { | |
| $139 = $126 >>> 12; | |
| $140 = $139 & 15; | |
| $141 = $140&255; | |
| $142 = $141 | -32; | |
| HEAP8[$fill$i>>0] = $142; | |
| $143 = $126 >>> 6; | |
| $144 = $143 & 63; | |
| $145 = $144&255; | |
| $146 = $145 | -128; | |
| $147 = ((($fill$i)) + 1|0); | |
| HEAP8[$147>>0] = $146; | |
| $148 = $126 & 63; | |
| $149 = $148&255; | |
| $150 = $149 | -128; | |
| $151 = ((($fill$i)) + 2|0); | |
| HEAP8[$151>>0] = $150; | |
| $$sroa$8$0$i = 3; | |
| break; | |
| } else { | |
| $152 = $126 >>> 18; | |
| $153 = $152&255; | |
| $154 = $153 | -16; | |
| HEAP8[$fill$i>>0] = $154; | |
| $155 = $126 >>> 12; | |
| $156 = $155 & 63; | |
| $157 = $156&255; | |
| $158 = $157 | -128; | |
| $159 = ((($fill$i)) + 1|0); | |
| HEAP8[$159>>0] = $158; | |
| $160 = $126 >>> 6; | |
| $161 = $160 & 63; | |
| $162 = $161&255; | |
| $163 = $162 | -128; | |
| $164 = ((($fill$i)) + 2|0); | |
| HEAP8[$164>>0] = $163; | |
| $165 = $126 & 63; | |
| $166 = $165&255; | |
| $167 = $166 | -128; | |
| $168 = ((($fill$i)) + 3|0); | |
| HEAP8[$168>>0] = $167; | |
| $$sroa$8$0$i = 4; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $169 = ((($0)) + 28|0); | |
| $170 = ((($0)) + 32|0); | |
| $$sroa$011$0$i = 0; | |
| while(1) { | |
| $171 = ($$sroa$011$0$i>>>0)<($$sroa$078$0$i>>>0); | |
| if (!($171)) { | |
| label = 52; | |
| break; | |
| } | |
| $172 = (($$sroa$011$0$i) + 1)|0; | |
| $173 = HEAP32[$169>>2]|0; | |
| $174 = HEAP32[$170>>2]|0; | |
| $175 = ((($174)) + 12|0); | |
| $176 = HEAP32[$175>>2]|0; | |
| $177 = (FUNCTION_TABLE_iiii[$176 & 127]($173,$fill$i,$$sroa$8$0$i)|0); | |
| $switch70$i = ($177<<24>>24)==(0); | |
| if ($switch70$i) { | |
| $$sroa$011$0$i = $172; | |
| } else { | |
| break; | |
| } | |
| } | |
| L75: do { | |
| if ((label|0) == 52) { | |
| $178 = HEAP32[$169>>2]|0; | |
| $179 = HEAP32[$170>>2]|0; | |
| $180 = ((($179)) + 12|0); | |
| $181 = HEAP32[$180>>2]|0; | |
| $182 = (FUNCTION_TABLE_iiii[$181 & 127]($178,$1,$2)|0); | |
| $switch74$i = ($182<<24>>24)==(0); | |
| if ($switch74$i) { | |
| $$sroa$06$0$i = 0; | |
| while(1) { | |
| $183 = ($$sroa$06$0$i>>>0)<($$sroa$6$0$i>>>0); | |
| if (!($183)) { | |
| break; | |
| } | |
| $184 = (($$sroa$06$0$i) + 1)|0; | |
| $185 = HEAP32[$169>>2]|0; | |
| $186 = HEAP32[$170>>2]|0; | |
| $187 = ((($186)) + 12|0); | |
| $188 = HEAP32[$187>>2]|0; | |
| $189 = (FUNCTION_TABLE_iiii[$188 & 127]($185,$fill$i,$$sroa$8$0$i)|0); | |
| $switch73$i = ($189<<24>>24)==(0); | |
| if ($switch73$i) { | |
| $$sroa$06$0$i = $184; | |
| } else { | |
| break L75; | |
| } | |
| } | |
| $sret_slot$sroa$0$0 = 0; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0|0); | |
| } | |
| } | |
| } while(0); | |
| $sret_slot$sroa$0$0 = 1; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0|0); | |
| } | |
| function __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($0,$1,$2,$3) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| var $$lobit$i$i = 0, $$lobit$not$i$i = 0, $$sroa$0$0 = 0, $$sroa$8$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; | |
| var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; | |
| var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $begin = 0; | |
| var $ellipsis = 0, $end = 0, $extract$t4$i$i = 0, $max$0$i37 = 0, $not$$i$i = 0, $s1 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $begin = sp + 132|0; | |
| $end = sp + 128|0; | |
| $s1 = sp + 120|0; | |
| $ellipsis = sp + 112|0; | |
| $4 = sp + 88|0; | |
| $5 = sp + 56|0; | |
| $6 = sp + 32|0; | |
| $7 = sp; | |
| HEAP32[$begin>>2] = $2; | |
| HEAP32[$end>>2] = $3; | |
| $8 = ($1>>>0)<(257); | |
| L1: do { | |
| if ($8) { | |
| $$sroa$0$0 = 344;$$sroa$8$0 = $1; | |
| } else { | |
| $max$0$i37 = 256; | |
| while(1) { | |
| $not$$i$i = ($max$0$i37>>>0)<($1>>>0); | |
| if ($not$$i$i) { | |
| $9 = (($0) + ($max$0$i37)|0); | |
| $10 = HEAP8[$9>>0]|0; | |
| $11 = ($10&255)>(191); | |
| $$lobit$i$i = ($10&255) >>> 7; | |
| $$lobit$not$i$i = $$lobit$i$i ^ 1; | |
| $12 = $11&1; | |
| $13 = $$lobit$not$i$i | $12; | |
| $extract$t4$i$i = ($13<<24>>24)==(0); | |
| if (!($extract$t4$i$i)) { | |
| $$sroa$0$0 = 352;$$sroa$8$0 = $max$0$i37; | |
| break L1; | |
| } | |
| } | |
| $14 = (($max$0$i37) + -1)|0; | |
| $15 = ($14|0)==($1|0); | |
| if ($15) { | |
| $$sroa$0$0 = 352;$$sroa$8$0 = $1; | |
| break; | |
| } else { | |
| $max$0$i37 = $14; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $16 = $0; | |
| HEAP32[$s1>>2] = $16; | |
| $17 = ((($s1)) + 4|0); | |
| HEAP32[$17>>2] = $$sroa$8$0; | |
| $18 = $$sroa$0$0; | |
| $19 = $18; | |
| $20 = HEAP32[$19>>2]|0; | |
| $21 = (($18) + 4)|0; | |
| $22 = $21; | |
| $23 = HEAP32[$22>>2]|0; | |
| $24 = $ellipsis; | |
| $25 = $24; | |
| HEAP32[$25>>2] = $20; | |
| $26 = (($24) + 4)|0; | |
| $27 = $26; | |
| HEAP32[$27>>2] = $23; | |
| $28 = ($2>>>0)>($3>>>0); | |
| if ($28) { | |
| $29 = ((($5)) + 4|0); | |
| HEAP32[$29>>2] = 104; | |
| HEAP32[$5>>2] = $begin; | |
| $30 = ((($5)) + 8|0); | |
| $31 = ((($5)) + 12|0); | |
| HEAP32[$31>>2] = 104; | |
| HEAP32[$30>>2] = $end; | |
| $32 = ((($5)) + 16|0); | |
| $33 = ((($5)) + 20|0); | |
| HEAP32[$33>>2] = 67; | |
| HEAP32[$32>>2] = $s1; | |
| $34 = ((($5)) + 24|0); | |
| $35 = ((($5)) + 28|0); | |
| HEAP32[$35>>2] = 67; | |
| HEAP32[$34>>2] = $ellipsis; | |
| HEAP32[$4>>2] = 1648; | |
| $36 = ((($4)) + 4|0); | |
| HEAP32[$36>>2] = 4; | |
| $37 = ((($4)) + 8|0); | |
| $38 = $37; | |
| $39 = $38; | |
| HEAP32[$39>>2] = 0; | |
| $40 = (($38) + 4)|0; | |
| $41 = $40; | |
| HEAP32[$41>>2] = 0; | |
| $42 = ((($4)) + 16|0); | |
| HEAP32[$42>>2] = $5; | |
| $43 = ((($4)) + 20|0); | |
| HEAP32[$43>>2] = 4; | |
| __ZN9panicking9panic_fmt20h354880378c07fbbe7mME($4,1680); | |
| // unreachable; | |
| } else { | |
| $44 = ((($7)) + 4|0); | |
| HEAP32[$44>>2] = 104; | |
| HEAP32[$7>>2] = $begin; | |
| $45 = ((($7)) + 8|0); | |
| $46 = ((($7)) + 12|0); | |
| HEAP32[$46>>2] = 104; | |
| HEAP32[$45>>2] = $end; | |
| $47 = ((($7)) + 16|0); | |
| $48 = ((($7)) + 20|0); | |
| HEAP32[$48>>2] = 67; | |
| HEAP32[$47>>2] = $s1; | |
| $49 = ((($7)) + 24|0); | |
| $50 = ((($7)) + 28|0); | |
| HEAP32[$50>>2] = 67; | |
| HEAP32[$49>>2] = $ellipsis; | |
| HEAP32[$6>>2] = 1692; | |
| $51 = ((($6)) + 4|0); | |
| HEAP32[$51>>2] = 5; | |
| $52 = ((($6)) + 8|0); | |
| $53 = $52; | |
| $54 = $53; | |
| HEAP32[$54>>2] = 0; | |
| $55 = (($53) + 4)|0; | |
| $56 = $55; | |
| HEAP32[$56>>2] = 0; | |
| $57 = ((($6)) + 16|0); | |
| HEAP32[$57>>2] = $7; | |
| $58 = ((($6)) + 20|0); | |
| HEAP32[$58>>2] = 4; | |
| __ZN9panicking9panic_fmt20h354880378c07fbbe7mME($6,1732); | |
| // unreachable; | |
| } | |
| } | |
| function __ZN3fmt23__RF__u27_a_u20_T_Debug3fmt21h16131240844635683947E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = ((($0)) + 4|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = ((($4)) + 12|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = (FUNCTION_TABLE_iii[$6 & 127]($2,$1)|0); | |
| return ($7|0); | |
| } | |
| function __ZN3fmt8builders49PadAdapter_LT__u27_a_C__u20__u27_b_GT__fmt__Write9write_str20hcb8c496e42906fbcDFWE($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$cast$i$i$i = 0, $$lobit$i$i = 0, $$lobit$i$i31 = 0, $$lobit$not$i$i = 0, $$lobit$not$i$i32 = 0, $$mux = 0, $$sroa$54$0$ph$i$i$i = 0, $$sroa$6$0$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; | |
| var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; | |
| var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; | |
| var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; | |
| var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $brmerge = 0, $extract$t4$i$i = 0, $extract$t4$i$i33 = 0, $not$$i$i = 0, $not$$i$i$i$i = 0, $not$$i$i29 = 0, $phitmp$i$i$i$i$i = 0, $phitmp29$i$i$i$i$i = 0, $phitmp30$i$i$i$i$i = 0, $s$sroa$0$044 = 0, $s$sroa$7$045 = 0, $split$0 = 0; | |
| var $sret_slot$0$i$i$i$i$i$i = 0, $sret_slot$0$i13$i$i$i$i$i = 0, $sret_slot$0$i20$i$i$i$i$i = 0, $sret_slot$sroa$0$0 = 0, $switch = 0, $switch25$not = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($2|0)==(0); | |
| if ($3) { | |
| $sret_slot$sroa$0$0 = 0; | |
| return ($sret_slot$sroa$0$0|0); | |
| } | |
| $4 = ((($0)) + 4|0); | |
| $s$sroa$0$044 = $1;$s$sroa$7$045 = $2; | |
| while(1) { | |
| $5 = HEAP8[$4>>0]|0; | |
| $6 = ($5<<24>>24)==(0); | |
| if (!($6)) { | |
| $7 = HEAP32[$0>>2]|0; | |
| $8 = ((($7)) + 28|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = ((($7)) + 32|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = ((($11)) + 12|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = (FUNCTION_TABLE_iiii[$13 & 127]($9,4517,4)|0); | |
| $switch = ($14<<24>>24)==(0); | |
| if (!($switch)) { | |
| $sret_slot$sroa$0$0 = 1; | |
| label = 3; | |
| break; | |
| } | |
| } | |
| $15 = $s$sroa$0$044; | |
| $16 = (($s$sroa$0$044) + ($s$sroa$7$045)|0); | |
| $$sroa$6$0$i = 0;$17 = $15; | |
| while(1) { | |
| $$cast$i$i$i = $17; | |
| $18 = ($$cast$i$i$i|0)==($16|0); | |
| if ($18) { | |
| label = 21; | |
| break; | |
| } | |
| $19 = ((($$cast$i$i$i)) + 1|0); | |
| $20 = HEAP8[$$cast$i$i$i>>0]|0; | |
| $21 = ($20<<24>>24)<(0); | |
| $22 = $19; | |
| if ($21) { | |
| $24 = $20 & 31; | |
| $25 = $24&255; | |
| $26 = ($19|0)==($16|0); | |
| if ($26) { | |
| $34 = $16;$80 = $22;$sret_slot$0$i20$i$i$i$i$i = 0; | |
| } else { | |
| $27 = ((($$cast$i$i$i)) + 2|0); | |
| $28 = HEAP8[$19>>0]|0; | |
| $phitmp$i$i$i$i$i = $28 & 63; | |
| $29 = $27; | |
| $34 = $27;$80 = $29;$sret_slot$0$i20$i$i$i$i$i = $phitmp$i$i$i$i$i; | |
| } | |
| $30 = $25 << 6; | |
| $31 = $sret_slot$0$i20$i$i$i$i$i&255; | |
| $32 = $31 | $30; | |
| $33 = ($20&255)>(223); | |
| if ($33) { | |
| $35 = ($34|0)==($16|0); | |
| if ($35) { | |
| $45 = $16;$81 = $80;$sret_slot$0$i13$i$i$i$i$i = 0; | |
| } else { | |
| $36 = ((($34)) + 1|0); | |
| $37 = HEAP8[$34>>0]|0; | |
| $phitmp29$i$i$i$i$i = $37 & 63; | |
| $38 = $36; | |
| $45 = $36;$81 = $38;$sret_slot$0$i13$i$i$i$i$i = $phitmp29$i$i$i$i$i; | |
| } | |
| $39 = $31 << 6; | |
| $40 = $sret_slot$0$i13$i$i$i$i$i&255; | |
| $41 = $40 | $39; | |
| $42 = $25 << 12; | |
| $43 = $41 | $42; | |
| $44 = ($20&255)>(239); | |
| if ($44) { | |
| $46 = ($45|0)==($16|0); | |
| if ($46) { | |
| $82 = $81;$sret_slot$0$i$i$i$i$i$i = 0; | |
| } else { | |
| $47 = ((($45)) + 1|0); | |
| $48 = HEAP8[$45>>0]|0; | |
| $phitmp30$i$i$i$i$i = $48 & 63; | |
| $49 = $47; | |
| $82 = $49;$sret_slot$0$i$i$i$i$i$i = $phitmp30$i$i$i$i$i; | |
| } | |
| $50 = $25 << 18; | |
| $51 = $50 & 1835008; | |
| $52 = $41 << 6; | |
| $53 = $sret_slot$0$i$i$i$i$i$i&255; | |
| $54 = $52 | $51; | |
| $55 = $54 | $53; | |
| $$sroa$54$0$ph$i$i$i = $55;$58 = $82; | |
| } else { | |
| $$sroa$54$0$ph$i$i$i = $43;$58 = $81; | |
| } | |
| } else { | |
| $$sroa$54$0$ph$i$i$i = $32;$58 = $80; | |
| } | |
| } else { | |
| $23 = $20&255; | |
| $$sroa$54$0$ph$i$i$i = $23;$58 = $22; | |
| } | |
| $56 = (($$sroa$6$0$i) - ($17))|0; | |
| $57 = (($56) + ($58))|0; | |
| $not$$i$i$i$i = ($$sroa$54$0$ph$i$i$i|0)==(10); | |
| if ($not$$i$i$i$i) { | |
| label = 20; | |
| break; | |
| } else { | |
| $$sroa$6$0$i = $57;$17 = $58; | |
| } | |
| } | |
| if ((label|0) == 20) { | |
| label = 0; | |
| HEAP8[$4>>0] = 1; | |
| $59 = (($$sroa$6$0$i) + 1)|0; | |
| $split$0 = $59; | |
| } | |
| else if ((label|0) == 21) { | |
| label = 0; | |
| HEAP8[$4>>0] = 0; | |
| $split$0 = $s$sroa$7$045; | |
| } | |
| $60 = HEAP32[$0>>2]|0; | |
| $61 = ($s$sroa$7$045|0)==($split$0|0); | |
| if (!($61)) { | |
| $not$$i$i29 = ($s$sroa$7$045>>>0)>($split$0>>>0); | |
| if (!($not$$i$i29)) { | |
| label = 25; | |
| break; | |
| } | |
| $62 = (($s$sroa$0$044) + ($split$0)|0); | |
| $63 = HEAP8[$62>>0]|0; | |
| $64 = ($63&255)>(191); | |
| $$lobit$i$i31 = ($63&255) >>> 7; | |
| $$lobit$not$i$i32 = $$lobit$i$i31 ^ 1; | |
| $65 = $64&1; | |
| $66 = $$lobit$not$i$i32 | $65; | |
| $extract$t4$i$i33 = ($66<<24>>24)==(0); | |
| if ($extract$t4$i$i33) { | |
| label = 25; | |
| break; | |
| } | |
| } | |
| $67 = ((($60)) + 28|0); | |
| $68 = HEAP32[$67>>2]|0; | |
| $69 = ((($60)) + 32|0); | |
| $70 = HEAP32[$69>>2]|0; | |
| $71 = ((($70)) + 12|0); | |
| $72 = HEAP32[$71>>2]|0; | |
| $73 = (FUNCTION_TABLE_iiii[$72 & 127]($68,$s$sroa$0$044,$split$0)|0); | |
| $switch25$not = ($73<<24>>24)!=(0); | |
| $brmerge = $switch25$not | $61; | |
| $$mux = $switch25$not&1; | |
| if ($brmerge) { | |
| $sret_slot$sroa$0$0 = $$mux; | |
| label = 3; | |
| break; | |
| } | |
| $not$$i$i = ($s$sroa$7$045>>>0)>($split$0>>>0); | |
| if (!($not$$i$i)) { | |
| label = 30; | |
| break; | |
| } | |
| $74 = (($s$sroa$0$044) + ($split$0)|0); | |
| $75 = HEAP8[$74>>0]|0; | |
| $76 = ($75&255)>(191); | |
| $$lobit$i$i = ($75&255) >>> 7; | |
| $$lobit$not$i$i = $$lobit$i$i ^ 1; | |
| $77 = $76&1; | |
| $78 = $$lobit$not$i$i | $77; | |
| $extract$t4$i$i = ($78<<24>>24)==(0); | |
| if ($extract$t4$i$i) { | |
| label = 30; | |
| break; | |
| } | |
| $79 = (($s$sroa$7$045) - ($split$0))|0; | |
| $s$sroa$0$044 = $74;$s$sroa$7$045 = $79; | |
| } | |
| if ((label|0) == 3) { | |
| return ($sret_slot$sroa$0$0|0); | |
| } | |
| else if ((label|0) == 25) { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($s$sroa$0$044,$s$sroa$7$045,0,$split$0); | |
| // unreachable; | |
| } | |
| else if ((label|0) == 30) { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($s$sroa$0$044,$s$sroa$7$045,$split$0,$s$sroa$7$045); | |
| // unreachable; | |
| } | |
| return (0)|0; | |
| } | |
| function __ZN3fmt5Write10write_char20h2958573309410202893E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$sroa$8$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; | |
| var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; | |
| var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $utf_8 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $utf_8 = sp; | |
| HEAP32[$utf_8>>2] = 0; | |
| $2 = ($1>>>0)<(128); | |
| do { | |
| if ($2) { | |
| $3 = $1&255; | |
| HEAP8[$utf_8>>0] = $3; | |
| $$sroa$8$0 = 1; | |
| } else { | |
| $4 = ($1>>>0)<(2048); | |
| if ($4) { | |
| $5 = $1 >>> 6; | |
| $6 = $5 & 31; | |
| $7 = $6&255; | |
| $8 = $7 | -64; | |
| HEAP8[$utf_8>>0] = $8; | |
| $9 = $1 & 63; | |
| $10 = $9&255; | |
| $11 = $10 | -128; | |
| $12 = ((($utf_8)) + 1|0); | |
| HEAP8[$12>>0] = $11; | |
| $$sroa$8$0 = 2; | |
| break; | |
| } | |
| $13 = ($1>>>0)<(65536); | |
| if ($13) { | |
| $14 = $1 >>> 12; | |
| $15 = $14 & 15; | |
| $16 = $15&255; | |
| $17 = $16 | -32; | |
| HEAP8[$utf_8>>0] = $17; | |
| $18 = $1 >>> 6; | |
| $19 = $18 & 63; | |
| $20 = $19&255; | |
| $21 = $20 | -128; | |
| $22 = ((($utf_8)) + 1|0); | |
| HEAP8[$22>>0] = $21; | |
| $23 = $1 & 63; | |
| $24 = $23&255; | |
| $25 = $24 | -128; | |
| $26 = ((($utf_8)) + 2|0); | |
| HEAP8[$26>>0] = $25; | |
| $$sroa$8$0 = 3; | |
| break; | |
| } else { | |
| $27 = $1 >>> 18; | |
| $28 = $27 & 7; | |
| $29 = $28&255; | |
| $30 = $29 | -16; | |
| HEAP8[$utf_8>>0] = $30; | |
| $31 = $1 >>> 12; | |
| $32 = $31 & 63; | |
| $33 = $32&255; | |
| $34 = $33 | -128; | |
| $35 = ((($utf_8)) + 1|0); | |
| HEAP8[$35>>0] = $34; | |
| $36 = $1 >>> 6; | |
| $37 = $36 & 63; | |
| $38 = $37&255; | |
| $39 = $38 | -128; | |
| $40 = ((($utf_8)) + 2|0); | |
| HEAP8[$40>>0] = $39; | |
| $41 = $1 & 63; | |
| $42 = $41&255; | |
| $43 = $42 | -128; | |
| $44 = ((($utf_8)) + 3|0); | |
| HEAP8[$44>>0] = $43; | |
| $$sroa$8$0 = 4; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $45 = (__ZN3fmt8builders49PadAdapter_LT__u27_a_C__u20__u27_b_GT__fmt__Write9write_str20hcb8c496e42906fbcDFWE($0,$utf_8,$$sroa$8$0)|0); | |
| STACKTOP = sp;return ($45|0); | |
| } | |
| function __ZN3fmt5Write9write_fmt21h14257324459998045848E($0,$args) { | |
| $0 = $0|0; | |
| $args = $args|0; | |
| var $1 = 0, $2 = 0, $addr_of = 0, $arg = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $addr_of = sp + 24|0; | |
| $arg = sp; | |
| $1 = $0; | |
| HEAP32[$addr_of>>2] = $1; | |
| ;HEAP32[$arg>>2]=HEAP32[$args>>2]|0;HEAP32[$arg+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg+20>>2]=HEAP32[$args+20>>2]|0; | |
| $2 = (__ZN3fmt5write20h7901236a83d456cd7oXE($addr_of,384,$arg)|0); | |
| STACKTOP = sp;return ($2|0); | |
| } | |
| function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_str20h3096043918816894604E($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $3 = 0, $4 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$0>>2]|0; | |
| $4 = (__ZN3fmt8builders49PadAdapter_LT__u27_a_C__u20__u27_b_GT__fmt__Write9write_str20hcb8c496e42906fbcDFWE($3,$1,$2)|0); | |
| return ($4|0); | |
| } | |
| function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write10write_char21h11977108049716014882E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, $3 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = (__ZN3fmt5Write10write_char20h2958573309410202893E($2,$1)|0); | |
| return ($3|0); | |
| } | |
| function __ZN3fmt5Write9write_fmt36Adapter_LT__u27_a_C__u20_T_GT__Write9write_fmt21h10034855926276546313E($0,$args) { | |
| $0 = $0|0; | |
| $args = $args|0; | |
| var $1 = 0, $2 = 0, $addr_of$i = 0, $arg$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $addr_of$i = sp + 24|0; | |
| $arg$i = sp; | |
| $1 = HEAP32[$0>>2]|0; | |
| HEAP32[$addr_of$i>>2] = $1; | |
| ;HEAP32[$arg$i>>2]=HEAP32[$args>>2]|0;HEAP32[$arg$i+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$arg$i+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$arg$i+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$arg$i+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$arg$i+20>>2]=HEAP32[$args+20>>2]|0; | |
| $2 = (__ZN3fmt5write20h7901236a83d456cd7oXE($addr_of$i,384,$arg$i)|0); | |
| STACKTOP = sp;return ($2|0); | |
| } | |
| function __ZN3fmt5write20h7901236a83d456cd7oXE($0,$1,$args) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $args = $args|0; | |
| var $$sroa$0130$0$in = 0, $$sroa$0139$0$in = 0, $$sroa$10$0$i = 0, $$sroa$1020$0$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; | |
| var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; | |
| var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; | |
| var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; | |
| var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; | |
| var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; | |
| var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; | |
| var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $formatter = 0, $inttoptr = 0, $or$cond = 0; | |
| var $pieces$sroa$0$0 = 0, $pieces$sroa$0$2 = 0, $pieces$sroa$0$4 = 0, $sret_slot$sroa$0$0 = 0, $switch$i = 0, $switch108tmp = 0, $switch109 = 0, $switch112 = 0, $switch114tmp = 0, $switch115 = 0, $switch116 = 0, $switch117 = 0, $switchtmp = 0, $value$sroa$0$0$i = 0, $value$sroa$0$0$in$i = 0, $value$sroa$5$0$i = 0, $value$sroa$5$0$in$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $formatter = sp; | |
| HEAP32[$formatter>>2] = 0; | |
| $2 = ((($formatter)) + 12|0); | |
| $3 = ((($formatter)) + 20|0); | |
| $4 = ((($formatter)) + 28|0); | |
| ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0; | |
| HEAP32[$4>>2] = $0; | |
| $5 = ((($formatter)) + 32|0); | |
| HEAP32[$5>>2] = $1; | |
| $6 = ((($formatter)) + 8|0); | |
| HEAP8[$6>>0] = 3; | |
| $7 = ((($formatter)) + 4|0); | |
| HEAP32[$7>>2] = 32; | |
| $8 = ((($formatter)) + 44|0); | |
| $9 = ((($args)) + 16|0); | |
| $10 = $9; | |
| $11 = $10; | |
| $12 = HEAP32[$11>>2]|0; | |
| $13 = (($10) + 4)|0; | |
| $14 = $13; | |
| $15 = HEAP32[$14>>2]|0; | |
| $16 = $8; | |
| $17 = $16; | |
| HEAP32[$17>>2] = $12; | |
| $18 = (($16) + 4)|0; | |
| $19 = $18; | |
| HEAP32[$19>>2] = $15; | |
| $inttoptr = $12; | |
| $20 = ((($args)) + 20|0); | |
| $21 = HEAP32[$20>>2]|0; | |
| $22 = ((($formatter)) + 36|0); | |
| HEAP32[$22>>2] = $inttoptr; | |
| $23 = ((($formatter)) + 40|0); | |
| $24 = (($inttoptr) + ($21<<3)|0); | |
| HEAP32[$23>>2] = $24; | |
| $25 = HEAP32[$args>>2]|0; | |
| $26 = ((($args)) + 4|0); | |
| $27 = HEAP32[$26>>2]|0; | |
| $28 = (($25) + ($27<<3)|0); | |
| $29 = ((($args)) + 8|0); | |
| $30 = HEAP32[$29>>2]|0; | |
| $switchtmp = ($30|0)==(0|0); | |
| L1: do { | |
| if ($switchtmp) { | |
| $$sroa$0139$0$in = $inttoptr;$pieces$sroa$0$0 = $25; | |
| while(1) { | |
| $36 = ($$sroa$0139$0$in|0)==($24|0); | |
| if ($36) { | |
| $pieces$sroa$0$4 = $pieces$sroa$0$0; | |
| label = 41; | |
| break L1; | |
| } | |
| $37 = ((($$sroa$0139$0$in)) + 8|0); | |
| $38 = ($pieces$sroa$0$0|0)==($28|0); | |
| if ($38) { | |
| label = 43; | |
| break L1; | |
| } | |
| $39 = ((($pieces$sroa$0$0)) + 8|0); | |
| $switch108tmp = ($$sroa$0139$0$in|0)==(0|0); | |
| if ($switch108tmp) { | |
| $pieces$sroa$0$4 = $39; | |
| label = 41; | |
| break L1; | |
| } | |
| $40 = HEAP32[$4>>2]|0; | |
| $41 = HEAP32[$5>>2]|0; | |
| $42 = ((($41)) + 12|0); | |
| $43 = HEAP32[$42>>2]|0; | |
| $44 = HEAP32[$pieces$sroa$0$0>>2]|0; | |
| $45 = ((($pieces$sroa$0$0)) + 4|0); | |
| $46 = HEAP32[$45>>2]|0; | |
| $47 = (FUNCTION_TABLE_iiii[$43 & 127]($40,$44,$46)|0); | |
| $switch109 = ($47<<24>>24)==(0); | |
| if (!($switch109)) { | |
| label = 9; | |
| break L1; | |
| } | |
| $48 = ((($$sroa$0139$0$in)) + 4|0); | |
| $49 = HEAP32[$48>>2]|0; | |
| $50 = HEAP32[$$sroa$0139$0$in>>2]|0; | |
| $51 = (FUNCTION_TABLE_iii[$49 & 127]($50,$formatter)|0); | |
| $switch116 = ($51<<24>>24)==(0); | |
| if ($switch116) { | |
| $$sroa$0139$0$in = $37;$pieces$sroa$0$0 = $39; | |
| } else { | |
| label = 9; | |
| break; | |
| } | |
| } | |
| } else { | |
| $31 = ((($args)) + 12|0); | |
| $32 = HEAP32[$31>>2]|0; | |
| $33 = (($30) + (($32*36)|0)|0); | |
| $34 = ((($formatter)) + 48|0); | |
| $35 = ((($formatter)) + 44|0); | |
| $$sroa$0130$0$in = $30;$pieces$sroa$0$2 = $25; | |
| L9: while(1) { | |
| $52 = ($$sroa$0130$0$in|0)==($33|0); | |
| if ($52) { | |
| $pieces$sroa$0$4 = $pieces$sroa$0$2; | |
| label = 41; | |
| break L1; | |
| } | |
| $53 = ((($$sroa$0130$0$in)) + 36|0); | |
| $54 = ($pieces$sroa$0$2|0)==($28|0); | |
| if ($54) { | |
| label = 43; | |
| break L1; | |
| } | |
| $55 = ((($pieces$sroa$0$2)) + 8|0); | |
| $56 = HEAP32[$4>>2]|0; | |
| $57 = HEAP32[$5>>2]|0; | |
| $58 = ((($57)) + 12|0); | |
| $59 = HEAP32[$58>>2]|0; | |
| $60 = HEAP32[$pieces$sroa$0$2>>2]|0; | |
| $61 = ((($pieces$sroa$0$2)) + 4|0); | |
| $62 = HEAP32[$61>>2]|0; | |
| $63 = (FUNCTION_TABLE_iiii[$59 & 127]($56,$60,$62)|0); | |
| $switch112 = ($63<<24>>24)==(0); | |
| if (!($switch112)) { | |
| label = 9; | |
| break L1; | |
| } | |
| $64 = ((($$sroa$0130$0$in)) + 8|0); | |
| $65 = HEAP32[$64>>2]|0; | |
| HEAP32[$7>>2] = $65; | |
| $66 = ((($$sroa$0130$0$in)) + 12|0); | |
| $67 = HEAP8[$66>>0]|0; | |
| HEAP8[$6>>0] = $67; | |
| $68 = ((($$sroa$0130$0$in)) + 16|0); | |
| $69 = HEAP32[$68>>2]|0; | |
| HEAP32[$formatter>>2] = $69; | |
| $70 = ((($$sroa$0130$0$in)) + 28|0); | |
| $71 = HEAP32[$70>>2]|0; | |
| switch ($71|0) { | |
| case 0: { | |
| $72 = ((($$sroa$0130$0$in)) + 32|0); | |
| $73 = HEAP32[$72>>2]|0; | |
| $$sroa$1020$0$i = $73;$95 = 0;$98 = 1; | |
| break; | |
| } | |
| case 3: { | |
| $$sroa$1020$0$i = 0;$95 = 0;$98 = 0; | |
| break; | |
| } | |
| case 1: { | |
| $74 = ((($$sroa$0130$0$in)) + 32|0); | |
| $75 = HEAP32[$74>>2]|0; | |
| $76 = HEAP32[$34>>2]|0; | |
| $77 = ($75>>>0)<($76>>>0); | |
| if (!($77)) { | |
| label = 22; | |
| break L9; | |
| } | |
| $87 = HEAP32[$35>>2]|0; | |
| $88 = (((($87) + ($75<<3)|0)) + 4|0); | |
| $89 = HEAP32[$88>>2]|0; | |
| $90 = ($89|0)==((94)|0); | |
| if ($90) { | |
| $91 = (($87) + ($75<<3)|0); | |
| $92 = HEAP32[$91>>2]|0; | |
| $93 = HEAP32[$92>>2]|0; | |
| $$sroa$1020$0$i = $93;$95 = 0;$98 = 1; | |
| } else { | |
| $$sroa$1020$0$i = 0;$95 = 0;$98 = 0; | |
| } | |
| break; | |
| } | |
| case 2: { | |
| $78 = HEAP32[$22>>2]|0; | |
| $79 = HEAP32[$23>>2]|0; | |
| $80 = ($78|0)==($79|0); | |
| if ($80) { | |
| $$sroa$1020$0$i = 0;$95 = 0;$98 = 0; | |
| } else { | |
| $81 = ((($78)) + 8|0); | |
| HEAP32[$22>>2] = $81; | |
| $82 = ((($78)) + 4|0); | |
| $83 = HEAP32[$82>>2]|0; | |
| $84 = ($83|0)==((94)|0); | |
| if ($84) { | |
| $85 = HEAP32[$78>>2]|0; | |
| $86 = HEAP32[$85>>2]|0; | |
| $$sroa$1020$0$i = $86;$95 = 0;$98 = 1; | |
| } else { | |
| $$sroa$1020$0$i = 0;$95 = 0;$98 = 0; | |
| } | |
| } | |
| break; | |
| } | |
| default: { | |
| label = 14; | |
| break L9; | |
| } | |
| } | |
| $94 = $$sroa$1020$0$i | $95; | |
| $96 = $2; | |
| $97 = $96; | |
| HEAP32[$97>>2] = $98; | |
| $99 = (($96) + 4)|0; | |
| $100 = $99; | |
| HEAP32[$100>>2] = $94; | |
| $101 = ((($$sroa$0130$0$in)) + 20|0); | |
| $102 = HEAP32[$101>>2]|0; | |
| switch ($102|0) { | |
| case 0: { | |
| $103 = ((($$sroa$0130$0$in)) + 24|0); | |
| $104 = HEAP32[$103>>2]|0; | |
| $$sroa$10$0$i = $104;$126 = 0;$129 = 1; | |
| break; | |
| } | |
| case 3: { | |
| $$sroa$10$0$i = 0;$126 = 0;$129 = 0; | |
| break; | |
| } | |
| case 1: { | |
| $105 = ((($$sroa$0130$0$in)) + 24|0); | |
| $106 = HEAP32[$105>>2]|0; | |
| $107 = HEAP32[$34>>2]|0; | |
| $108 = ($106>>>0)<($107>>>0); | |
| if (!($108)) { | |
| label = 32; | |
| break L9; | |
| } | |
| $118 = HEAP32[$35>>2]|0; | |
| $119 = (((($118) + ($106<<3)|0)) + 4|0); | |
| $120 = HEAP32[$119>>2]|0; | |
| $121 = ($120|0)==((94)|0); | |
| if ($121) { | |
| $122 = (($118) + ($106<<3)|0); | |
| $123 = HEAP32[$122>>2]|0; | |
| $124 = HEAP32[$123>>2]|0; | |
| $$sroa$10$0$i = $124;$126 = 0;$129 = 1; | |
| } else { | |
| $$sroa$10$0$i = 0;$126 = 0;$129 = 0; | |
| } | |
| break; | |
| } | |
| case 2: { | |
| $109 = HEAP32[$22>>2]|0; | |
| $110 = HEAP32[$23>>2]|0; | |
| $111 = ($109|0)==($110|0); | |
| if ($111) { | |
| $$sroa$10$0$i = 0;$126 = 0;$129 = 0; | |
| } else { | |
| $112 = ((($109)) + 8|0); | |
| HEAP32[$22>>2] = $112; | |
| $113 = ((($109)) + 4|0); | |
| $114 = HEAP32[$113>>2]|0; | |
| $115 = ($114|0)==((94)|0); | |
| if ($115) { | |
| $116 = HEAP32[$109>>2]|0; | |
| $117 = HEAP32[$116>>2]|0; | |
| $$sroa$10$0$i = $117;$126 = 0;$129 = 1; | |
| } else { | |
| $$sroa$10$0$i = 0;$126 = 0;$129 = 0; | |
| } | |
| } | |
| break; | |
| } | |
| default: { | |
| label = 24; | |
| break L9; | |
| } | |
| } | |
| $125 = $$sroa$10$0$i | $126; | |
| $127 = $3; | |
| $128 = $127; | |
| HEAP32[$128>>2] = $129; | |
| $130 = (($127) + 4)|0; | |
| $131 = $130; | |
| HEAP32[$131>>2] = $125; | |
| $132 = HEAP32[$$sroa$0130$0$in>>2]|0; | |
| $switch$i = ($132|0)==(1); | |
| if ($switch$i) { | |
| $138 = ((($$sroa$0130$0$in)) + 4|0); | |
| $139 = HEAP32[$138>>2]|0; | |
| $140 = HEAP32[$34>>2]|0; | |
| $141 = ($139>>>0)<($140>>>0); | |
| if (!($141)) { | |
| label = 39; | |
| break; | |
| } | |
| $142 = HEAP32[$35>>2]|0; | |
| $143 = (($142) + ($139<<3)|0); | |
| $144 = (((($142) + ($139<<3)|0)) + 4|0); | |
| $value$sroa$0$0$in$i = $143;$value$sroa$5$0$in$i = $144; | |
| } else { | |
| $133 = HEAP32[$22>>2]|0; | |
| $134 = HEAP32[$23>>2]|0; | |
| $135 = ($133|0)==($134|0); | |
| if ($135) { | |
| label = 36; | |
| break; | |
| } | |
| $136 = ((($133)) + 8|0); | |
| HEAP32[$22>>2] = $136; | |
| $137 = ((($133)) + 4|0); | |
| $value$sroa$0$0$in$i = $133;$value$sroa$5$0$in$i = $137; | |
| } | |
| $value$sroa$5$0$i = HEAP32[$value$sroa$5$0$in$i>>2]|0; | |
| $value$sroa$0$0$i = HEAP32[$value$sroa$0$0$in$i>>2]|0; | |
| $145 = (FUNCTION_TABLE_iii[$value$sroa$5$0$i & 127]($value$sroa$0$0$i,$formatter)|0); | |
| $switch117 = ($145<<24>>24)==(0); | |
| if ($switch117) { | |
| $$sroa$0130$0$in = $53;$pieces$sroa$0$2 = $55; | |
| } else { | |
| label = 9; | |
| break L1; | |
| } | |
| } | |
| if ((label|0) == 14) { | |
| // unreachable; | |
| } | |
| else if ((label|0) == 22) { | |
| __ZN9panicking18panic_bounds_check20h8e1f5fdc350eb389dmME(1876,$75,$76); | |
| // unreachable; | |
| } | |
| else if ((label|0) == 24) { | |
| // unreachable; | |
| } | |
| else if ((label|0) == 32) { | |
| __ZN9panicking18panic_bounds_check20h8e1f5fdc350eb389dmME(1876,$106,$107); | |
| // unreachable; | |
| } | |
| else if ((label|0) == 36) { | |
| __ZN9panicking5panic20h505ed693e1be0208ElME(1488); | |
| // unreachable; | |
| } | |
| else if ((label|0) == 39) { | |
| __ZN9panicking18panic_bounds_check20h8e1f5fdc350eb389dmME(1888,$139,$140); | |
| // unreachable; | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 41) { | |
| $146 = ($pieces$sroa$0$4|0)==($28|0); | |
| $switch114tmp = ($pieces$sroa$0$4|0)==(0|0); | |
| $or$cond = $146 | $switch114tmp; | |
| if ($or$cond) { | |
| label = 43; | |
| } else { | |
| $147 = HEAP32[$4>>2]|0; | |
| $148 = HEAP32[$5>>2]|0; | |
| $149 = ((($148)) + 12|0); | |
| $150 = HEAP32[$149>>2]|0; | |
| $151 = HEAP32[$pieces$sroa$0$4>>2]|0; | |
| $152 = ((($pieces$sroa$0$4)) + 4|0); | |
| $153 = HEAP32[$152>>2]|0; | |
| $154 = (FUNCTION_TABLE_iiii[$150 & 127]($147,$151,$153)|0); | |
| $switch115 = ($154<<24>>24)==(0); | |
| if ($switch115) { | |
| label = 43; | |
| } else { | |
| label = 9; | |
| } | |
| } | |
| } | |
| if ((label|0) == 9) { | |
| $sret_slot$sroa$0$0 = 1; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0|0); | |
| } | |
| else if ((label|0) == 43) { | |
| $sret_slot$sroa$0$0 = 0; | |
| STACKTOP = sp;return ($sret_slot$sroa$0$0|0); | |
| } | |
| return (0)|0; | |
| } | |
| function __ZN3fmt24ArgumentV1_LT__u27_a_GT_10show_usize20h1b7ce89cc9819610hiXE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = (__ZN3fmt3num18usize_fmt__Display3fmt20h66dfdb06047ad5520AWE($0,$1)|0); | |
| return ($2|0); | |
| } | |
| function __ZN3fmt23__RF__u27_a_u20_T_Debug3fmt21h12518113613696437806E($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, $3 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = (__ZN3fmt3num18usize_fmt__Display3fmt20h66dfdb06047ad5520AWE($2,$1)|0); | |
| return ($3|0); | |
| } | |
| function __ZN3fmt3num15u8_fmt__Display3fmt20hbf9bb40ab253c9eao5VE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; | |
| var $9 = 0, $buf7 = 0, $curr$09 = 0, $curr$1 = 0, $div = 0, $n2$08 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $buf7 = sp; | |
| $2 = HEAP8[$0>>0]|0; | |
| $3 = $2&255; | |
| $4 = ($2&255)>(99); | |
| if ($4) { | |
| $5 = (($2&255) % 100)&-1; | |
| $6 = $5&255; | |
| $7 = $6 << 1; | |
| $div = (($2&255) / 100)&-1; | |
| $8 = $div&255; | |
| $9 = (4049 + ($7)|0); | |
| $10 = ((($buf7)) + 18|0); | |
| $11 = HEAPU8[$9>>0]|(HEAPU8[$9+1>>0]<<8); | |
| HEAP8[$10>>0]=$11&255;HEAP8[$10+1>>0]=$11>>8; | |
| $curr$09 = 17;$n2$08 = $8; | |
| label = 4; | |
| } else { | |
| $12 = ($2&255)<(10); | |
| if ($12) { | |
| $curr$09 = 19;$n2$08 = $3; | |
| label = 4; | |
| } else { | |
| $16 = $3 << 1; | |
| $17 = (4049 + ($16)|0); | |
| $18 = ((($buf7)) + 18|0); | |
| $19 = HEAPU8[$17>>0]|(HEAPU8[$17+1>>0]<<8); | |
| HEAP8[$18>>0]=$19&255;HEAP8[$18+1>>0]=$19>>8; | |
| $curr$1 = 18; | |
| } | |
| } | |
| if ((label|0) == 4) { | |
| $13 = $n2$08&255; | |
| $14 = (($13) + 48)<<24>>24; | |
| $15 = (($buf7) + ($curr$09)|0); | |
| HEAP8[$15>>0] = $14; | |
| $curr$1 = $curr$09; | |
| } | |
| $20 = (($buf7) + ($curr$1)|0); | |
| $21 = (20 - ($curr$1))|0; | |
| $22 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,1,7692,0,$20,$21)|0); | |
| STACKTOP = sp;return ($22|0); | |
| } | |
| function __ZN3fmt3num18isize_fmt__Display3fmt20h41668f672922a5bd3wWE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; | |
| var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; | |
| var $buf8 = 0, $curr$0$lcssa = 0, $curr$09 = 0, $curr$1 = 0, $curr$2 = 0, $n$0 = 0, $n$1$lcssa = 0, $n$110 = 0, $n2$0 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $buf8 = sp; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = ($2|0)>(-1); | |
| $4 = (0 - ($2))|0; | |
| $n$0 = $3 ? $2 : $4; | |
| $5 = ($n$0>>>0)>(9999); | |
| if ($5) { | |
| $curr$09 = 20;$n$110 = $n$0; | |
| while(1) { | |
| $7 = (($n$110>>>0) % 10000)&-1; | |
| $8 = (($n$110>>>0) / 10000)&-1; | |
| $9 = (($7>>>0) / 100)&-1; | |
| $10 = $9 << 1; | |
| $11 = (($7>>>0) % 100)&-1; | |
| $12 = $11 << 1; | |
| $13 = (($curr$09) + -4)|0; | |
| $14 = (4049 + ($10)|0); | |
| $15 = (($buf8) + ($13)|0); | |
| $16 = HEAPU8[$14>>0]|(HEAPU8[$14+1>>0]<<8); | |
| HEAP8[$15>>0]=$16&255;HEAP8[$15+1>>0]=$16>>8; | |
| $17 = (4049 + ($12)|0); | |
| $18 = (($curr$09) + -2)|0; | |
| $19 = (($buf8) + ($18)|0); | |
| $20 = HEAPU8[$17>>0]|(HEAPU8[$17+1>>0]<<8); | |
| HEAP8[$19>>0]=$20&255;HEAP8[$19+1>>0]=$20>>8; | |
| $21 = ($n$110>>>0)>(99999999); | |
| if ($21) { | |
| $curr$09 = $13;$n$110 = $8; | |
| } else { | |
| $curr$0$lcssa = $13;$n$1$lcssa = $8; | |
| break; | |
| } | |
| } | |
| } else { | |
| $curr$0$lcssa = 20;$n$1$lcssa = $n$0; | |
| } | |
| $6 = ($n$1$lcssa|0)>(99); | |
| if ($6) { | |
| $22 = (($n$1$lcssa|0) % 100)&-1; | |
| $23 = $22 << 1; | |
| $24 = (($n$1$lcssa|0) / 100)&-1; | |
| $25 = (($curr$0$lcssa) + -2)|0; | |
| $26 = (4049 + ($23)|0); | |
| $27 = (($buf8) + ($25)|0); | |
| $28 = HEAPU8[$26>>0]|(HEAPU8[$26+1>>0]<<8); | |
| HEAP8[$27>>0]=$28&255;HEAP8[$27+1>>0]=$28>>8; | |
| $curr$1 = $25;$n2$0 = $24; | |
| } else { | |
| $curr$1 = $curr$0$lcssa;$n2$0 = $n$1$lcssa; | |
| } | |
| $29 = ($n2$0|0)<(10); | |
| if ($29) { | |
| $30 = (($curr$1) + -1)|0; | |
| $31 = $n2$0&255; | |
| $32 = (($31) + 48)<<24>>24; | |
| $33 = (($buf8) + ($30)|0); | |
| HEAP8[$33>>0] = $32; | |
| $curr$2 = $30; | |
| $39 = (($buf8) + ($curr$2)|0); | |
| $40 = (20 - ($curr$2))|0; | |
| $41 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,$3,7692,0,$39,$40)|0); | |
| STACKTOP = sp;return ($41|0); | |
| } else { | |
| $34 = $n2$0 << 1; | |
| $35 = (($curr$1) + -2)|0; | |
| $36 = (4049 + ($34)|0); | |
| $37 = (($buf8) + ($35)|0); | |
| $38 = HEAPU8[$36>>0]|(HEAPU8[$36+1>>0]<<8); | |
| HEAP8[$37>>0]=$38&255;HEAP8[$37+1>>0]=$38>>8; | |
| $curr$2 = $35; | |
| $39 = (($buf8) + ($curr$2)|0); | |
| $40 = (20 - ($curr$2))|0; | |
| $41 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,$3,7692,0,$39,$40)|0); | |
| STACKTOP = sp;return ($41|0); | |
| } | |
| return (0)|0; | |
| } | |
| function __ZN6option13expect_failed20h1df5d3b437d73060lTOE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $msg = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $msg = sp + 32|0; | |
| $2 = sp + 8|0; | |
| $3 = sp; | |
| HEAP32[$msg>>2] = $0; | |
| $4 = ((($msg)) + 4|0); | |
| HEAP32[$4>>2] = $1; | |
| $5 = ((($3)) + 4|0); | |
| HEAP32[$5>>2] = 67; | |
| HEAP32[$3>>2] = $msg; | |
| HEAP32[$2>>2] = 2064; | |
| $6 = ((($2)) + 4|0); | |
| HEAP32[$6>>2] = 1; | |
| $7 = ((($2)) + 8|0); | |
| $8 = $7; | |
| $9 = $8; | |
| HEAP32[$9>>2] = 0; | |
| $10 = (($8) + 4)|0; | |
| $11 = $10; | |
| HEAP32[$11>>2] = 0; | |
| $12 = ((($2)) + 16|0); | |
| HEAP32[$12>>2] = $3; | |
| $13 = ((($2)) + 20|0); | |
| HEAP32[$13>>2] = 1; | |
| __ZN9panicking9panic_fmt20h354880378c07fbbe7mME($2,2072); | |
| // unreachable; | |
| } | |
| function __ZN3str22Utf8Error___fmt__Debug3fmt20h752b4455684592c4nqSE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0; | |
| var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $addr_of = 0, $builder = 0, $sret_slot$sroa$0$0$i$i = 0, $switch$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $builder = sp; | |
| $addr_of = sp + 8|0; | |
| HEAP32[$addr_of>>2] = 488447261; | |
| $2 = ((($1)) + 28|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($1)) + 32|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = ((($5)) + 12|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = (FUNCTION_TABLE_iiii[$7 & 127]($3,4597,9)|0); | |
| HEAP32[$builder>>2] = $1; | |
| $9 = ((($builder)) + 4|0); | |
| HEAP8[$9>>0] = $8; | |
| $10 = ((($builder)) + 5|0); | |
| HEAP8[$10>>0] = 0; | |
| HEAP32[$addr_of>>2] = $0; | |
| __ZN3fmt8builders39DebugStruct_LT__u27_a_C__u20__u27_b_GT_5field20he6f34b3e8a5f32e49HWE($builder,4606,11,$addr_of,424); | |
| $11 = HEAP8[$10>>0]|0; | |
| $12 = ($11<<24>>24)==(0); | |
| $$pre$i = HEAP8[$9>>0]|0; | |
| if ($12) { | |
| $25 = $$pre$i; | |
| STACKTOP = sp;return ($25|0); | |
| } | |
| $switch$i$i = ($$pre$i<<24>>24)==(0); | |
| do { | |
| if ($switch$i$i) { | |
| $13 = HEAP32[$builder>>2]|0; | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = $14 & 4; | |
| $16 = ($15|0)==(0); | |
| $17 = ((($13)) + 28|0); | |
| $18 = HEAP32[$17>>2]|0; | |
| $19 = ((($13)) + 32|0); | |
| $20 = HEAP32[$19>>2]|0; | |
| $21 = ((($20)) + 12|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| if ($16) { | |
| $24 = (FUNCTION_TABLE_iiii[$22 & 127]($18,4047,2)|0); | |
| $sret_slot$sroa$0$0$i$i = $24; | |
| break; | |
| } else { | |
| $23 = (FUNCTION_TABLE_iiii[$22 & 127]($18,4544,2)|0); | |
| $sret_slot$sroa$0$0$i$i = $23; | |
| break; | |
| } | |
| } else { | |
| $sret_slot$sroa$0$0$i$i = 1; | |
| } | |
| } while(0); | |
| HEAP8[$9>>0] = $sret_slot$sroa$0$0$i$i; | |
| $25 = $sret_slot$sroa$0$0$i$i; | |
| STACKTOP = sp;return ($25|0); | |
| } | |
| function __ZN3str9from_utf820h89a4a927a5863b3a3sSE($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$off$i = 0, $$off112$i = 0, $$off115$i = 0, $$off117$i = 0, $$off119$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; | |
| var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; | |
| var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; | |
| var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; | |
| var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $cond103$i = 0, $cond104$i = 0, $cond105$i = 0, $offset$0$be$i = 0, $offset$0148$i = 0, $offset$1$i = 0, $offset$2143$i = 0, $offset$3$ph$i = 0, $offset$3145$i = 0, $or$cond$i = 0, $or$cond106$i = 0, $or$cond125$i = 0, $or$cond127$i = 0, $or$cond131$i = 0, $or$cond133$i = 0; | |
| var $or$cond149$i = 0, $switch$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($2|0)==(0); | |
| L1: do { | |
| if (!($3)) { | |
| $4 = $1; | |
| $5 = ($2>>>0)<(8); | |
| $6 = (($2) + -8)|0; | |
| $offset$0148$i = 0; | |
| L3: while(1) { | |
| $7 = (($1) + ($offset$0148$i)|0); | |
| $8 = HEAP8[$7>>0]|0; | |
| $9 = ($8<<24>>24)<(0); | |
| L5: do { | |
| if ($9) { | |
| $10 = (($offset$0148$i) + 1)|0; | |
| $11 = ($10>>>0)<($2>>>0); | |
| if (!($11)) { | |
| break L3; | |
| } | |
| $12 = $8&255; | |
| $13 = (4617 + ($12)|0); | |
| $14 = HEAP8[$13>>0]|0; | |
| $15 = (($1) + ($10)|0); | |
| $16 = HEAP8[$15>>0]|0; | |
| L8: do { | |
| switch ($14<<24>>24) { | |
| case 2: { | |
| $17 = $16 & -64; | |
| $18 = ($17<<24>>24)==(-128); | |
| if ($18) { | |
| $offset$1$i = $10; | |
| } else { | |
| break L3; | |
| } | |
| break; | |
| } | |
| case 3: { | |
| $19 = (($offset$0148$i) + 2)|0; | |
| $20 = ($19>>>0)<($2>>>0); | |
| if (!($20)) { | |
| break L3; | |
| } | |
| $23 = (($1) + ($19)|0); | |
| $24 = HEAP8[$23>>0]|0; | |
| $25 = $24 & -64; | |
| $cond105$i = ($25<<24>>24)==(-128); | |
| if (!($cond105$i)) { | |
| break L3; | |
| } | |
| $26 = ($16&255)<(192); | |
| $27 = $16 & -32; | |
| $28 = ($27<<24>>24)==(-96); | |
| if ($28) { | |
| $$off119$i = (($8) + 31)<<24>>24; | |
| $29 = ($$off119$i&255)<(12); | |
| if ($29) { | |
| $offset$1$i = $19; | |
| break L8; | |
| } | |
| switch ($8<<24>>24) { | |
| case -32: case -18: case -17: { | |
| $offset$1$i = $19; | |
| break L8; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } | |
| $30 = ($16<<24>>24)<(0); | |
| $31 = $30 & $26; | |
| if ($31) { | |
| $$off117$i = (($8) + 31)<<24>>24; | |
| $32 = ($$off117$i&255)<(12); | |
| $33 = $8 & -2; | |
| $34 = ($33<<24>>24)==(-18); | |
| $or$cond125$i = $32 | $34; | |
| if ($or$cond125$i) { | |
| $offset$1$i = $19; | |
| break L8; | |
| } | |
| } | |
| $35 = ($16&255)<(160); | |
| $36 = $30 & $35; | |
| if (!($36)) { | |
| break L3; | |
| } | |
| $$off115$i = (($8) + 31)<<24>>24; | |
| $37 = ($$off115$i&255)<(13); | |
| $38 = $8 & -2; | |
| $39 = ($38<<24>>24)==(-18); | |
| $or$cond127$i = $37 | $39; | |
| if ($or$cond127$i) { | |
| $offset$1$i = $19; | |
| } else { | |
| break L3; | |
| } | |
| break; | |
| } | |
| case 4: { | |
| $21 = (($offset$0148$i) + 2)|0; | |
| $22 = ($21>>>0)<($2>>>0); | |
| if (!($22)) { | |
| break L3; | |
| } | |
| $40 = (($offset$0148$i) + 3)|0; | |
| $41 = ($40>>>0)<($2>>>0); | |
| if (!($41)) { | |
| break L3; | |
| } | |
| $42 = (($1) + ($21)|0); | |
| $43 = HEAP8[$42>>0]|0; | |
| $44 = $43 & -64; | |
| $45 = (($1) + ($40)|0); | |
| $46 = HEAP8[$45>>0]|0; | |
| $47 = $46 & -64; | |
| $cond103$i = ($47<<24>>24)==(-128); | |
| $cond104$i = ($44<<24>>24)==(-128); | |
| $or$cond106$i = $cond104$i & $cond103$i; | |
| if (!($or$cond106$i)) { | |
| break L3; | |
| } | |
| $$off$i = (($16) + 112)<<24>>24; | |
| $48 = ($$off$i&255)<(48); | |
| $49 = $8 & -4; | |
| $switch$i = ($49<<24>>24)==(-16); | |
| $or$cond$i = $switch$i & $48; | |
| if ($or$cond$i) { | |
| $offset$1$i = $40; | |
| } else { | |
| $50 = ($16&255)<(192); | |
| $51 = ($16<<24>>24)<(0); | |
| $52 = $51 & $50; | |
| $$off112$i = (($8) + 15)<<24>>24; | |
| $53 = ($$off112$i&255)<(3); | |
| $or$cond131$i = $53 & $52; | |
| if ($or$cond131$i) { | |
| $offset$1$i = $40; | |
| } else { | |
| $54 = ($16&255)<(144); | |
| $55 = $51 & $54; | |
| $56 = ($$off112$i&255)<(4); | |
| $or$cond133$i = $56 & $55; | |
| if ($or$cond133$i) { | |
| $offset$1$i = $40; | |
| } else { | |
| break L3; | |
| } | |
| } | |
| } | |
| break; | |
| } | |
| default: { | |
| break L3; | |
| } | |
| } | |
| } while(0); | |
| $57 = (($offset$1$i) + 1)|0; | |
| $offset$0$be$i = $57; | |
| } else { | |
| $58 = (($offset$0148$i) + ($4))|0; | |
| $59 = $58 & 3; | |
| $60 = ($59|0)==(0); | |
| if (!($60)) { | |
| $78 = (($offset$0148$i) + 1)|0; | |
| $offset$0$be$i = $78; | |
| break; | |
| } | |
| $61 = ($offset$0148$i>>>0)>($6>>>0); | |
| $or$cond149$i = $5 | $61; | |
| L32: do { | |
| if ($or$cond149$i) { | |
| $offset$3$ph$i = $offset$0148$i; | |
| } else { | |
| $offset$2143$i = $offset$0148$i; | |
| while(1) { | |
| $62 = (($1) + ($offset$2143$i)|0); | |
| $63 = HEAP32[$62>>2]|0; | |
| $64 = (($offset$2143$i) + 4)|0; | |
| $65 = (($1) + ($64)|0); | |
| $66 = HEAP32[$65>>2]|0; | |
| $67 = $66 | $63; | |
| $68 = $67 & -2139062144; | |
| $69 = ($68|0)==(0); | |
| if (!($69)) { | |
| $offset$3$ph$i = $offset$2143$i; | |
| break L32; | |
| } | |
| $71 = (($offset$2143$i) + 8)|0; | |
| $72 = ($71>>>0)>($6>>>0); | |
| if ($72) { | |
| $offset$3$ph$i = $71; | |
| break; | |
| } else { | |
| $offset$2143$i = $71; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $70 = ($offset$3$ph$i>>>0)<($2>>>0); | |
| if ($70) { | |
| $offset$3145$i = $offset$3$ph$i; | |
| while(1) { | |
| $75 = (($1) + ($offset$3145$i)|0); | |
| $76 = HEAP8[$75>>0]|0; | |
| $77 = ($76<<24>>24)>(-1); | |
| if (!($77)) { | |
| $offset$0$be$i = $offset$3145$i; | |
| break L5; | |
| } | |
| $73 = (($offset$3145$i) + 1)|0; | |
| $74 = ($73>>>0)<($2>>>0); | |
| if ($74) { | |
| $offset$3145$i = $73; | |
| } else { | |
| $offset$0$be$i = $73; | |
| break; | |
| } | |
| } | |
| } else { | |
| $offset$0$be$i = $offset$3$ph$i; | |
| } | |
| } | |
| } while(0); | |
| $79 = ($offset$0$be$i>>>0)<($2>>>0); | |
| if ($79) { | |
| $offset$0148$i = $offset$0$be$i; | |
| } else { | |
| break L1; | |
| } | |
| } | |
| $82 = ((($0)) + 4|0); | |
| HEAP32[$82>>2] = $offset$0148$i; | |
| HEAP32[$0>>2] = 1; | |
| return; | |
| } | |
| } while(0); | |
| $80 = ((($0)) + 4|0); | |
| HEAP32[$80>>2] = $1; | |
| $81 = ((($0)) + 8|0); | |
| HEAP32[$81>>2] = $2; | |
| HEAP32[$0>>2] = 0; | |
| return; | |
| } | |
| function __ZN3fmt9str_Debug3fmt20h89aaf11c090de66eOVXE($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$$i = 0, $$$i85 = 0, $$cast$i = 0, $$cast$i166 = 0, $$cast$i166177 = 0, $$cast$i169 = 0, $$lobit$i$i = 0, $$lobit$i$i99 = 0, $$lobit$i6$i = 0, $$lobit$not$i$i = 0, $$lobit$not$i$i100 = 0, $$lobit$not$i7$i = 0, $$off$i = 0, $$pre$phi$iZ2D = 0, $$sink$i$i = 0, $$sroa$0108$0 = 0, $$sroa$0108$1$ph = 0, $$sroa$0117$0$ph172 = 0, $$sroa$0117$0167 = 0, $$sroa$14$0$ph = 0; | |
| var $$sroa$54$0$ph$i = 0, $$sroa$6118$0$ph173 = 0, $$sroa$6118$0168 = 0, $$sroa$6118$1 = 0, $$sroa$6118$2 = 0, $$sroa$6118$3 = 0, $$sroa$6118$4 = 0, $$sroa$7$0 = 0, $$sroa$7$1$ph = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; | |
| var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; | |
| var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; | |
| var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; | |
| var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; | |
| var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; | |
| var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $extract$t4$i$i = 0, $extract$t4$i$i101 = 0, $extract$t4$i8$i = 0, $from$0$ph$lcssa165 = 0, $from$0$ph174 = 0, $init_state$sroa$0$0$i127129137 = 0; | |
| var $init_state$sroa$0$0$i127129137$ph = 0, $init_state$sroa$9$0$i125130136 = 0, $n$0$i$i = 0, $n$0$i$i92 = 0, $not$$i$i = 0, $not$$i$i102 = 0, $not$$i4$i = 0, $phitmp$i$i$i = 0, $phitmp29$i$i$i = 0, $phitmp30$i$i$i = 0, $sret_slot$0$i = 0, $sret_slot$0$i$i$i$i = 0, $sret_slot$0$i13$i$i$i = 0, $sret_slot$0$i20$i$i$i = 0, $sret_slot$sroa$0$2 = 0, $switch = 0, $switch74 = 0, $switch77 = 0, $switch78 = 0, label = 0; | |
| var sp = 0; | |
| sp = STACKTOP; | |
| $3 = ((($2)) + 28|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = ((($2)) + 32|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = ((($6)) + 16|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = (FUNCTION_TABLE_iii[$8 & 127]($4,34)|0); | |
| $switch = ($9<<24>>24)==(0); | |
| if (!($switch)) { | |
| $sret_slot$sroa$0$2 = 1; | |
| return ($sret_slot$sroa$0$2|0); | |
| } | |
| $10 = (($0) + ($1)|0); | |
| $11 = ($1|0)==(0); | |
| L4: do { | |
| if ($11) { | |
| $from$0$ph$lcssa165 = 0; | |
| } else { | |
| $12 = $0; | |
| $$cast$i166177 = $0;$$sroa$0117$0$ph172 = 0;$$sroa$6118$0$ph173 = $12;$from$0$ph174 = 0; | |
| L6: while(1) { | |
| $$cast$i169 = $$cast$i166177;$$sroa$0117$0167 = $$sroa$0117$0$ph172;$$sroa$6118$0168 = $$sroa$6118$0$ph173; | |
| L8: while(1) { | |
| $13 = ((($$cast$i169)) + 1|0); | |
| $14 = $13; | |
| $15 = HEAP8[$$cast$i169>>0]|0; | |
| $16 = ($15<<24>>24)<(0); | |
| if ($16) { | |
| $18 = $15 & 31; | |
| $19 = $18&255; | |
| $20 = ($13|0)==($10|0); | |
| if ($20) { | |
| $$sroa$6118$1 = $14;$28 = $10;$sret_slot$0$i20$i$i$i = 0; | |
| } else { | |
| $21 = ((($$cast$i169)) + 2|0); | |
| $22 = $21; | |
| $23 = HEAP8[$13>>0]|0; | |
| $phitmp$i$i$i = $23 & 63; | |
| $$sroa$6118$1 = $22;$28 = $21;$sret_slot$0$i20$i$i$i = $phitmp$i$i$i; | |
| } | |
| $24 = $19 << 6; | |
| $25 = $sret_slot$0$i20$i$i$i&255; | |
| $26 = $25 | $24; | |
| $27 = ($15&255)>(223); | |
| if ($27) { | |
| $29 = ($28|0)==($10|0); | |
| if ($29) { | |
| $$sroa$6118$2 = $$sroa$6118$1;$39 = $10;$sret_slot$0$i13$i$i$i = 0; | |
| } else { | |
| $30 = ((($28)) + 1|0); | |
| $31 = $30; | |
| $32 = HEAP8[$28>>0]|0; | |
| $phitmp29$i$i$i = $32 & 63; | |
| $$sroa$6118$2 = $31;$39 = $30;$sret_slot$0$i13$i$i$i = $phitmp29$i$i$i; | |
| } | |
| $33 = $25 << 6; | |
| $34 = $sret_slot$0$i13$i$i$i&255; | |
| $35 = $34 | $33; | |
| $36 = $19 << 12; | |
| $37 = $35 | $36; | |
| $38 = ($15&255)>(239); | |
| if ($38) { | |
| $40 = ($39|0)==($10|0); | |
| if ($40) { | |
| $$sroa$6118$3 = $$sroa$6118$2;$sret_slot$0$i$i$i$i = 0; | |
| } else { | |
| $41 = ((($39)) + 1|0); | |
| $42 = $41; | |
| $43 = HEAP8[$39>>0]|0; | |
| $phitmp30$i$i$i = $43 & 63; | |
| $$sroa$6118$3 = $42;$sret_slot$0$i$i$i$i = $phitmp30$i$i$i; | |
| } | |
| $44 = $19 << 18; | |
| $45 = $44 & 1835008; | |
| $46 = $35 << 6; | |
| $47 = $sret_slot$0$i$i$i$i&255; | |
| $48 = $46 | $45; | |
| $49 = $48 | $47; | |
| $$sroa$54$0$ph$i = $49;$$sroa$6118$4 = $$sroa$6118$3; | |
| } else { | |
| $$sroa$54$0$ph$i = $37;$$sroa$6118$4 = $$sroa$6118$2; | |
| } | |
| } else { | |
| $$sroa$54$0$ph$i = $26;$$sroa$6118$4 = $$sroa$6118$1; | |
| } | |
| } else { | |
| $17 = $15&255; | |
| $$sroa$54$0$ph$i = $17;$$sroa$6118$4 = $14; | |
| } | |
| $50 = (($$sroa$0117$0167) - ($$sroa$6118$0168))|0; | |
| $51 = (($50) + ($$sroa$6118$4))|0; | |
| switch ($$sroa$54$0$ph$i|0) { | |
| case 34: case 39: case 92: { | |
| $init_state$sroa$0$0$i127129137$ph = 0; | |
| label = 22; | |
| break L8; | |
| break; | |
| } | |
| case 9: { | |
| label = 23; | |
| break L8; | |
| break; | |
| } | |
| case 13: { | |
| $init_state$sroa$0$0$i127129137 = 0;$init_state$sroa$9$0$i125130136 = 114; | |
| break L8; | |
| break; | |
| } | |
| case 10: { | |
| label = 21; | |
| break L8; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| $$off$i = (($$sroa$54$0$ph$i) + -32)|0; | |
| $52 = ($$off$i>>>0)<(95); | |
| $$$i85 = $52 ? 1 : 3; | |
| if (!($52)) { | |
| $n$0$i$i92 = 0; | |
| while(1) { | |
| $54 = (($n$0$i$i92) + 1)|0; | |
| $55 = $54 << 2; | |
| $56 = $55 & 28; | |
| $57 = $$sroa$54$0$ph$i >>> $56; | |
| $58 = ($57|0)==(0); | |
| if ($58) { | |
| break; | |
| } else { | |
| $n$0$i$i92 = $54; | |
| } | |
| } | |
| $59 = ($n$0$i$i92|0)==(-4); | |
| if (!($59)) { | |
| $init_state$sroa$0$0$i127129137$ph = $$$i85; | |
| label = 22; | |
| break; | |
| } | |
| } | |
| $$cast$i = $$sroa$6118$4; | |
| $53 = ($$cast$i|0)==($10|0); | |
| if ($53) { | |
| $from$0$ph$lcssa165 = $from$0$ph174; | |
| break L4; | |
| } else { | |
| $$cast$i169 = $$cast$i;$$sroa$0117$0167 = $51;$$sroa$6118$0168 = $$sroa$6118$4; | |
| } | |
| } | |
| if ((label|0) == 21) { | |
| label = 0; | |
| $init_state$sroa$0$0$i127129137 = 0;$init_state$sroa$9$0$i125130136 = 110; | |
| } | |
| else if ((label|0) == 22) { | |
| label = 0; | |
| $init_state$sroa$0$0$i127129137 = $init_state$sroa$0$0$i127129137$ph;$init_state$sroa$9$0$i125130136 = $$sroa$54$0$ph$i; | |
| } | |
| else if ((label|0) == 23) { | |
| label = 0; | |
| $init_state$sroa$0$0$i127129137 = 0;$init_state$sroa$9$0$i125130136 = 116; | |
| } | |
| $60 = ($$sroa$0117$0167>>>0)<($from$0$ph174>>>0); | |
| if ($60) { | |
| label = 31; | |
| break; | |
| } | |
| $66 = ($from$0$ph174|0)==($1|0); | |
| if (!($66)) { | |
| $not$$i$i102 = ($from$0$ph174>>>0)<($1>>>0); | |
| if (!($not$$i$i102)) { | |
| label = 31; | |
| break; | |
| } | |
| $61 = (($0) + ($from$0$ph174)|0); | |
| $62 = HEAP8[$61>>0]|0; | |
| $63 = ($62&255)>(191); | |
| $$lobit$i$i99 = ($62&255) >>> 7; | |
| $$lobit$not$i$i100 = $$lobit$i$i99 ^ 1; | |
| $64 = $63&1; | |
| $65 = $$lobit$not$i$i100 | $64; | |
| $extract$t4$i$i101 = ($65<<24>>24)==(0); | |
| if ($extract$t4$i$i101) { | |
| label = 31; | |
| break; | |
| } | |
| } | |
| $72 = ($$sroa$0117$0167|0)==($1|0); | |
| if (!($72)) { | |
| $not$$i4$i = ($$sroa$0117$0167>>>0)<($1>>>0); | |
| if (!($not$$i4$i)) { | |
| label = 31; | |
| break; | |
| } | |
| $67 = (($0) + ($$sroa$0117$0167)|0); | |
| $68 = HEAP8[$67>>0]|0; | |
| $69 = ($68&255)>(191); | |
| $$lobit$i6$i = ($68&255) >>> 7; | |
| $$lobit$not$i7$i = $$lobit$i6$i ^ 1; | |
| $70 = $69&1; | |
| $71 = $$lobit$not$i7$i | $70; | |
| $extract$t4$i8$i = ($71<<24>>24)==(0); | |
| if ($extract$t4$i8$i) { | |
| label = 31; | |
| break; | |
| } | |
| } | |
| $73 = (($0) + ($from$0$ph174)|0); | |
| $74 = (($$sroa$0117$0167) - ($from$0$ph174))|0; | |
| $75 = HEAP32[$3>>2]|0; | |
| $76 = HEAP32[$5>>2]|0; | |
| $77 = ((($76)) + 12|0); | |
| $78 = HEAP32[$77>>2]|0; | |
| $79 = (FUNCTION_TABLE_iiii[$78 & 127]($75,$73,$74)|0); | |
| $switch74 = ($79<<24>>24)==(0); | |
| if ($switch74) { | |
| $$sroa$0108$0 = $init_state$sroa$0$0$i127129137;$$sroa$7$0 = $init_state$sroa$9$0$i125130136;$80 = 0;$81 = 0; | |
| } else { | |
| $sret_slot$sroa$0$2 = 1; | |
| label = 55; | |
| break; | |
| } | |
| L45: while(1) { | |
| L47: do { | |
| switch ($$sroa$0108$0|0) { | |
| case 2: { | |
| break L45; | |
| break; | |
| } | |
| case 0: { | |
| $$sroa$0108$1$ph = 1;$$sroa$14$0$ph = 92;$$sroa$7$1$ph = $$sroa$7$0;$126 = $80;$127 = $81; | |
| break; | |
| } | |
| case 1: { | |
| $$sroa$0108$1$ph = 2;$$sroa$14$0$ph = $$sroa$7$0;$$sroa$7$1$ph = 0;$126 = 0;$127 = 0; | |
| break; | |
| } | |
| case 3: { | |
| switch ($80|0) { | |
| case 5: { | |
| break L45; | |
| break; | |
| } | |
| case 0: { | |
| $$sroa$0108$1$ph = 3;$$sroa$14$0$ph = 92;$$sroa$7$1$ph = $$sroa$7$0;$126 = 1;$127 = 0; | |
| break L47; | |
| break; | |
| } | |
| case 1: { | |
| $$sroa$0108$1$ph = 3;$$sroa$14$0$ph = 117;$$sroa$7$1$ph = $$sroa$7$0;$126 = 2;$127 = 0; | |
| break L47; | |
| break; | |
| } | |
| case 2: { | |
| $n$0$i$i = 0; | |
| while(1) { | |
| $93 = (($n$0$i$i) + 1)|0; | |
| $94 = $93 << 2; | |
| $95 = $94 & 28; | |
| $96 = $$sroa$7$0 >>> $95; | |
| $97 = ($96|0)==(0); | |
| if ($97) { | |
| break; | |
| } else { | |
| $n$0$i$i = $93; | |
| } | |
| } | |
| $$sroa$0108$1$ph = 3;$$sroa$14$0$ph = 123;$$sroa$7$1$ph = $$sroa$7$0;$126 = 3;$127 = $n$0$i$i; | |
| break L47; | |
| break; | |
| } | |
| case 3: { | |
| $82 = (_bitshift64Shl(($81|0),0,2)|0); | |
| $83 = tempRet0; | |
| $84 = $82 & 28; | |
| $85 = $$sroa$7$0 >>> $84; | |
| $86 = $85 & 15; | |
| $87 = $86&255; | |
| $88 = ($87&255)<(10); | |
| $89 = $86 | 48; | |
| $90 = (($86) + 87)|0; | |
| $$sink$i$i = $88 ? $89 : $90; | |
| $91 = $$sink$i$i & 127; | |
| $92 = ($81|0)==(0); | |
| if ($92) { | |
| $$sroa$0108$1$ph = 3;$$sroa$14$0$ph = $91;$$sroa$7$1$ph = $$sroa$7$0;$126 = 4;$127 = 0; | |
| break L47; | |
| } | |
| $98 = (($81) + -1)|0; | |
| $$sroa$0108$1$ph = 3;$$sroa$14$0$ph = $91;$$sroa$7$1$ph = $$sroa$7$0;$126 = 3;$127 = $98; | |
| break L47; | |
| break; | |
| } | |
| case 4: { | |
| $$sroa$0108$1$ph = 3;$$sroa$14$0$ph = 125;$$sroa$7$1$ph = $$sroa$7$0;$126 = 5;$127 = 0; | |
| break L47; | |
| break; | |
| } | |
| default: { | |
| label = 37; | |
| break L6; | |
| } | |
| } | |
| break; | |
| } | |
| default: { | |
| label = 34; | |
| break L6; | |
| } | |
| } | |
| } while(0); | |
| $99 = HEAP32[$3>>2]|0; | |
| $100 = HEAP32[$5>>2]|0; | |
| $101 = ((($100)) + 16|0); | |
| $102 = HEAP32[$101>>2]|0; | |
| $103 = (FUNCTION_TABLE_iii[$102 & 127]($99,$$sroa$14$0$ph)|0); | |
| $switch77 = ($103<<24>>24)==(0); | |
| if ($switch77) { | |
| $$sroa$0108$0 = $$sroa$0108$1$ph;$$sroa$7$0 = $$sroa$7$1$ph;$80 = $126;$81 = $127; | |
| } else { | |
| $sret_slot$sroa$0$2 = 1; | |
| label = 55; | |
| break L6; | |
| } | |
| } | |
| $104 = ($$sroa$54$0$ph$i>>>0)<(128); | |
| if ($104) { | |
| $sret_slot$0$i = 1; | |
| } else { | |
| $105 = ($$sroa$54$0$ph$i>>>0)<(2048); | |
| if ($105) { | |
| $sret_slot$0$i = 2; | |
| } else { | |
| $106 = ($$sroa$54$0$ph$i>>>0)<(65536); | |
| $$$i = $106 ? 3 : 4; | |
| $sret_slot$0$i = $$$i; | |
| } | |
| } | |
| $107 = (($sret_slot$0$i) + ($$sroa$0117$0167))|0; | |
| $$cast$i166 = $$sroa$6118$4; | |
| $108 = ($$cast$i166|0)==($10|0); | |
| if ($108) { | |
| $from$0$ph$lcssa165 = $107; | |
| break L4; | |
| } else { | |
| $$cast$i166177 = $$cast$i166;$$sroa$0117$0$ph172 = $51;$$sroa$6118$0$ph173 = $$sroa$6118$4;$from$0$ph174 = $107; | |
| } | |
| } | |
| if ((label|0) == 31) { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($0,$1,$from$0$ph174,$$sroa$0117$0167); | |
| // unreachable; | |
| } | |
| else if ((label|0) == 34) { | |
| // unreachable; | |
| } | |
| else if ((label|0) == 37) { | |
| // unreachable; | |
| } | |
| else if ((label|0) == 55) { | |
| return ($sret_slot$sroa$0$2|0); | |
| } | |
| } | |
| } while(0); | |
| $109 = ($from$0$ph$lcssa165|0)==($1|0); | |
| if ($109) { | |
| $$pre$phi$iZ2D = $10; | |
| } else { | |
| $not$$i$i = ($from$0$ph$lcssa165>>>0)<($1>>>0); | |
| if (!($not$$i$i)) { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($0,$1,$from$0$ph$lcssa165,$1); | |
| // unreachable; | |
| } | |
| $110 = (($0) + ($from$0$ph$lcssa165)|0); | |
| $111 = HEAP8[$110>>0]|0; | |
| $112 = ($111&255)>(191); | |
| $$lobit$i$i = ($111&255) >>> 7; | |
| $$lobit$not$i$i = $$lobit$i$i ^ 1; | |
| $113 = $112&1; | |
| $114 = $$lobit$not$i$i | $113; | |
| $extract$t4$i$i = ($114<<24>>24)==(0); | |
| if ($extract$t4$i$i) { | |
| __ZN3str16slice_error_fail20h9030b44f9d76d1cdVFTE($0,$1,$from$0$ph$lcssa165,$1); | |
| // unreachable; | |
| } else { | |
| $$pre$phi$iZ2D = $110; | |
| } | |
| } | |
| $115 = (($1) - ($from$0$ph$lcssa165))|0; | |
| $116 = HEAP32[$3>>2]|0; | |
| $117 = HEAP32[$5>>2]|0; | |
| $118 = ((($117)) + 12|0); | |
| $119 = HEAP32[$118>>2]|0; | |
| $120 = (FUNCTION_TABLE_iiii[$119 & 127]($116,$$pre$phi$iZ2D,$115)|0); | |
| $switch78 = ($120<<24>>24)==(0); | |
| if (!($switch78)) { | |
| $sret_slot$sroa$0$2 = 1; | |
| return ($sret_slot$sroa$0$2|0); | |
| } | |
| $121 = HEAP32[$3>>2]|0; | |
| $122 = HEAP32[$5>>2]|0; | |
| $123 = ((($122)) + 16|0); | |
| $124 = HEAP32[$123>>2]|0; | |
| $125 = (FUNCTION_TABLE_iii[$124 & 127]($121,34)|0); | |
| $sret_slot$sroa$0$2 = $125; | |
| return ($sret_slot$sroa$0$2|0); | |
| } | |
| function __ZN3fmt31Arguments_LT__u27_a_GT__Display3fmt20h6737774e6cfd27db1mXE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $arg = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $arg = sp; | |
| $2 = ((($1)) + 28|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($1)) + 32|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| ;HEAP32[$arg>>2]=HEAP32[$0>>2]|0;HEAP32[$arg+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$arg+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$arg+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$arg+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$arg+20>>2]=HEAP32[$0+20>>2]|0; | |
| $6 = (__ZN3fmt5write20h7901236a83d456cd7oXE($3,$5,$arg)|0); | |
| STACKTOP = sp;return ($6|0); | |
| } | |
| function __ZN3fmt3num16i32_fmt__Display3fmt20hd41f468b70333a45fhWE($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; | |
| var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; | |
| var $buf8 = 0, $curr$0$lcssa = 0, $curr$09 = 0, $curr$1 = 0, $curr$2 = 0, $n$0 = 0, $n$1$lcssa = 0, $n$110 = 0, $n2$0 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $buf8 = sp; | |
| $2 = HEAP32[$0>>2]|0; | |
| $3 = ($2|0)>(-1); | |
| $4 = (0 - ($2))|0; | |
| $n$0 = $3 ? $2 : $4; | |
| $5 = ($n$0>>>0)>(9999); | |
| if ($5) { | |
| $curr$09 = 20;$n$110 = $n$0; | |
| while(1) { | |
| $7 = (($n$110>>>0) % 10000)&-1; | |
| $8 = (($n$110>>>0) / 10000)&-1; | |
| $9 = (($7>>>0) / 100)&-1; | |
| $10 = $9 << 1; | |
| $11 = (($7>>>0) % 100)&-1; | |
| $12 = $11 << 1; | |
| $13 = (($curr$09) + -4)|0; | |
| $14 = (4049 + ($10)|0); | |
| $15 = (($buf8) + ($13)|0); | |
| $16 = HEAPU8[$14>>0]|(HEAPU8[$14+1>>0]<<8); | |
| HEAP8[$15>>0]=$16&255;HEAP8[$15+1>>0]=$16>>8; | |
| $17 = (4049 + ($12)|0); | |
| $18 = (($curr$09) + -2)|0; | |
| $19 = (($buf8) + ($18)|0); | |
| $20 = HEAPU8[$17>>0]|(HEAPU8[$17+1>>0]<<8); | |
| HEAP8[$19>>0]=$20&255;HEAP8[$19+1>>0]=$20>>8; | |
| $21 = ($n$110>>>0)>(99999999); | |
| if ($21) { | |
| $curr$09 = $13;$n$110 = $8; | |
| } else { | |
| $curr$0$lcssa = $13;$n$1$lcssa = $8; | |
| break; | |
| } | |
| } | |
| } else { | |
| $curr$0$lcssa = 20;$n$1$lcssa = $n$0; | |
| } | |
| $6 = ($n$1$lcssa|0)>(99); | |
| if ($6) { | |
| $22 = (($n$1$lcssa|0) % 100)&-1; | |
| $23 = $22 << 1; | |
| $24 = (($n$1$lcssa|0) / 100)&-1; | |
| $25 = (($curr$0$lcssa) + -2)|0; | |
| $26 = (4049 + ($23)|0); | |
| $27 = (($buf8) + ($25)|0); | |
| $28 = HEAPU8[$26>>0]|(HEAPU8[$26+1>>0]<<8); | |
| HEAP8[$27>>0]=$28&255;HEAP8[$27+1>>0]=$28>>8; | |
| $curr$1 = $25;$n2$0 = $24; | |
| } else { | |
| $curr$1 = $curr$0$lcssa;$n2$0 = $n$1$lcssa; | |
| } | |
| $29 = ($n2$0|0)<(10); | |
| if ($29) { | |
| $30 = (($curr$1) + -1)|0; | |
| $31 = $n2$0&255; | |
| $32 = (($31) + 48)<<24>>24; | |
| $33 = (($buf8) + ($30)|0); | |
| HEAP8[$33>>0] = $32; | |
| $curr$2 = $30; | |
| $39 = (($buf8) + ($curr$2)|0); | |
| $40 = (20 - ($curr$2))|0; | |
| $41 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,$3,7692,0,$39,$40)|0); | |
| STACKTOP = sp;return ($41|0); | |
| } else { | |
| $34 = $n2$0 << 1; | |
| $35 = (($curr$1) + -2)|0; | |
| $36 = (4049 + ($34)|0); | |
| $37 = (($buf8) + ($35)|0); | |
| $38 = HEAPU8[$36>>0]|(HEAPU8[$36+1>>0]<<8); | |
| HEAP8[$37>>0]=$38&255;HEAP8[$37+1>>0]=$38>>8; | |
| $curr$2 = $35; | |
| $39 = (($buf8) + ($curr$2)|0); | |
| $40 = (20 - ($curr$2))|0; | |
| $41 = (__ZN3fmt23Formatter_LT__u27_a_GT_12pad_integral20h051d8c1a7b501c091tXE($1,$3,7692,0,$39,$40)|0); | |
| STACKTOP = sp;return ($41|0); | |
| } | |
| return (0)|0; | |
| } | |
| function ___stdio_close($f) { | |
| $f = $f|0; | |
| var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $vararg_buffer = sp; | |
| $0 = ((($f)) + 60|0); | |
| $1 = HEAP32[$0>>2]|0; | |
| HEAP32[$vararg_buffer>>2] = $1; | |
| $2 = (___syscall6(6,($vararg_buffer|0))|0); | |
| $3 = (___syscall_ret($2)|0); | |
| STACKTOP = sp;return ($3|0); | |
| } | |
| function ___syscall_ret($r) { | |
| $r = $r|0; | |
| var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = ($r>>>0)>(4294963200); | |
| if ($0) { | |
| $1 = (0 - ($r))|0; | |
| $2 = (___errno_location()|0); | |
| HEAP32[$2>>2] = $1; | |
| $$0 = -1; | |
| } else { | |
| $$0 = $r; | |
| } | |
| return ($$0|0); | |
| } | |
| function ___errno_location() { | |
| var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = HEAP32[1787]|0; | |
| $1 = ($0|0)==(0|0); | |
| if ($1) { | |
| $$0 = 7192; | |
| } else { | |
| $2 = (_pthread_self()|0); | |
| $3 = ((($2)) + 64|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $$0 = $4; | |
| } | |
| return ($$0|0); | |
| } | |
| function ___stdout_write($f,$buf,$len) { | |
| $f = $f|0; | |
| $buf = $buf|0; | |
| $len = $len|0; | |
| var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tio = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $vararg_buffer = sp; | |
| $tio = sp + 12|0; | |
| $0 = ((($f)) + 36|0); | |
| HEAP32[$0>>2] = 105; | |
| $1 = HEAP32[$f>>2]|0; | |
| $2 = $1 & 64; | |
| $3 = ($2|0)==(0); | |
| if ($3) { | |
| $4 = ((($f)) + 60|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| HEAP32[$vararg_buffer>>2] = $5; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = 21505; | |
| $vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$vararg_ptr2>>2] = $tio; | |
| $6 = (___syscall54(54,($vararg_buffer|0))|0); | |
| $7 = ($6|0)==(0); | |
| if (!($7)) { | |
| $8 = ((($f)) + 75|0); | |
| HEAP8[$8>>0] = -1; | |
| } | |
| } | |
| $9 = (___stdio_write($f,$buf,$len)|0); | |
| STACKTOP = sp;return ($9|0); | |
| } | |
| function ___stdio_write($f,$buf,$len) { | |
| $f = $f|0; | |
| $buf = $buf|0; | |
| $len = $len|0; | |
| var $$0 = 0, $$phi$trans$insert = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; | |
| var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; | |
| var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt$0 = 0, $cnt$1 = 0, $iov$0 = 0, $iov$0$lcssa11 = 0, $iov$1 = 0, $iovcnt$0 = 0, $iovcnt$0$lcssa12 = 0; | |
| var $iovcnt$1 = 0, $iovs = 0, $rem$0 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $vararg_buffer3 = sp + 16|0; | |
| $vararg_buffer = sp; | |
| $iovs = sp + 32|0; | |
| $0 = ((($f)) + 28|0); | |
| $1 = HEAP32[$0>>2]|0; | |
| HEAP32[$iovs>>2] = $1; | |
| $2 = ((($iovs)) + 4|0); | |
| $3 = ((($f)) + 20|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = (($4) - ($1))|0; | |
| HEAP32[$2>>2] = $5; | |
| $6 = ((($iovs)) + 8|0); | |
| HEAP32[$6>>2] = $buf; | |
| $7 = ((($iovs)) + 12|0); | |
| HEAP32[$7>>2] = $len; | |
| $8 = (($5) + ($len))|0; | |
| $9 = ((($f)) + 60|0); | |
| $10 = ((($f)) + 44|0); | |
| $iov$0 = $iovs;$iovcnt$0 = 2;$rem$0 = $8; | |
| while(1) { | |
| $11 = HEAP32[1787]|0; | |
| $12 = ($11|0)==(0|0); | |
| if ($12) { | |
| $16 = HEAP32[$9>>2]|0; | |
| HEAP32[$vararg_buffer3>>2] = $16; | |
| $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); | |
| HEAP32[$vararg_ptr6>>2] = $iov$0; | |
| $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); | |
| HEAP32[$vararg_ptr7>>2] = $iovcnt$0; | |
| $17 = (___syscall146(146,($vararg_buffer3|0))|0); | |
| $18 = (___syscall_ret($17)|0); | |
| $cnt$0 = $18; | |
| } else { | |
| _pthread_cleanup_push((106|0),($f|0)); | |
| $13 = HEAP32[$9>>2]|0; | |
| HEAP32[$vararg_buffer>>2] = $13; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = $iov$0; | |
| $vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$vararg_ptr2>>2] = $iovcnt$0; | |
| $14 = (___syscall146(146,($vararg_buffer|0))|0); | |
| $15 = (___syscall_ret($14)|0); | |
| _pthread_cleanup_pop(0); | |
| $cnt$0 = $15; | |
| } | |
| $19 = ($rem$0|0)==($cnt$0|0); | |
| if ($19) { | |
| label = 6; | |
| break; | |
| } | |
| $26 = ($cnt$0|0)<(0); | |
| if ($26) { | |
| $iov$0$lcssa11 = $iov$0;$iovcnt$0$lcssa12 = $iovcnt$0; | |
| label = 8; | |
| break; | |
| } | |
| $34 = (($rem$0) - ($cnt$0))|0; | |
| $35 = ((($iov$0)) + 4|0); | |
| $36 = HEAP32[$35>>2]|0; | |
| $37 = ($cnt$0>>>0)>($36>>>0); | |
| if ($37) { | |
| $38 = HEAP32[$10>>2]|0; | |
| HEAP32[$0>>2] = $38; | |
| HEAP32[$3>>2] = $38; | |
| $39 = (($cnt$0) - ($36))|0; | |
| $40 = ((($iov$0)) + 8|0); | |
| $41 = (($iovcnt$0) + -1)|0; | |
| $$phi$trans$insert = ((($iov$0)) + 12|0); | |
| $$pre = HEAP32[$$phi$trans$insert>>2]|0; | |
| $49 = $$pre;$cnt$1 = $39;$iov$1 = $40;$iovcnt$1 = $41; | |
| } else { | |
| $42 = ($iovcnt$0|0)==(2); | |
| if ($42) { | |
| $43 = HEAP32[$0>>2]|0; | |
| $44 = (($43) + ($cnt$0)|0); | |
| HEAP32[$0>>2] = $44; | |
| $49 = $36;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = 2; | |
| } else { | |
| $49 = $36;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = $iovcnt$0; | |
| } | |
| } | |
| $45 = HEAP32[$iov$1>>2]|0; | |
| $46 = (($45) + ($cnt$1)|0); | |
| HEAP32[$iov$1>>2] = $46; | |
| $47 = ((($iov$1)) + 4|0); | |
| $48 = (($49) - ($cnt$1))|0; | |
| HEAP32[$47>>2] = $48; | |
| $iov$0 = $iov$1;$iovcnt$0 = $iovcnt$1;$rem$0 = $34; | |
| } | |
| if ((label|0) == 6) { | |
| $20 = HEAP32[$10>>2]|0; | |
| $21 = ((($f)) + 48|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| $23 = (($20) + ($22)|0); | |
| $24 = ((($f)) + 16|0); | |
| HEAP32[$24>>2] = $23; | |
| $25 = $20; | |
| HEAP32[$0>>2] = $25; | |
| HEAP32[$3>>2] = $25; | |
| $$0 = $len; | |
| } | |
| else if ((label|0) == 8) { | |
| $27 = ((($f)) + 16|0); | |
| HEAP32[$27>>2] = 0; | |
| HEAP32[$0>>2] = 0; | |
| HEAP32[$3>>2] = 0; | |
| $28 = HEAP32[$f>>2]|0; | |
| $29 = $28 | 32; | |
| HEAP32[$f>>2] = $29; | |
| $30 = ($iovcnt$0$lcssa12|0)==(2); | |
| if ($30) { | |
| $$0 = 0; | |
| } else { | |
| $31 = ((($iov$0$lcssa11)) + 4|0); | |
| $32 = HEAP32[$31>>2]|0; | |
| $33 = (($len) - ($32))|0; | |
| $$0 = $33; | |
| } | |
| } | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| function _cleanup_475($p) { | |
| $p = $p|0; | |
| var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = ((($p)) + 68|0); | |
| $1 = HEAP32[$0>>2]|0; | |
| $2 = ($1|0)==(0); | |
| if ($2) { | |
| ___unlockfile($p); | |
| } | |
| return; | |
| } | |
| function ___unlockfile($f) { | |
| $f = $f|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| return; | |
| } | |
| function ___stdio_seek($f,$off,$whence) { | |
| $f = $f|0; | |
| $off = $off|0; | |
| $whence = $whence|0; | |
| var $$pre = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ret = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $vararg_buffer = sp; | |
| $ret = sp + 20|0; | |
| $0 = ((($f)) + 60|0); | |
| $1 = HEAP32[$0>>2]|0; | |
| HEAP32[$vararg_buffer>>2] = $1; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = 0; | |
| $vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$vararg_ptr2>>2] = $off; | |
| $vararg_ptr3 = ((($vararg_buffer)) + 12|0); | |
| HEAP32[$vararg_ptr3>>2] = $ret; | |
| $vararg_ptr4 = ((($vararg_buffer)) + 16|0); | |
| HEAP32[$vararg_ptr4>>2] = $whence; | |
| $2 = (___syscall140(140,($vararg_buffer|0))|0); | |
| $3 = (___syscall_ret($2)|0); | |
| $4 = ($3|0)<(0); | |
| if ($4) { | |
| HEAP32[$ret>>2] = -1; | |
| $5 = -1; | |
| } else { | |
| $$pre = HEAP32[$ret>>2]|0; | |
| $5 = $$pre; | |
| } | |
| STACKTOP = sp;return ($5|0); | |
| } | |
| function _strlen($s) { | |
| $s = $s|0; | |
| var $$0 = 0, $$01$lcssa = 0, $$014 = 0, $$1$lcssa = 0, $$lcssa20 = 0, $$pn = 0, $$pn15 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; | |
| var $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $w$0 = 0, $w$0$lcssa = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = $s; | |
| $1 = $0 & 3; | |
| $2 = ($1|0)==(0); | |
| L1: do { | |
| if ($2) { | |
| $$01$lcssa = $s; | |
| label = 4; | |
| } else { | |
| $$014 = $s;$21 = $0; | |
| while(1) { | |
| $3 = HEAP8[$$014>>0]|0; | |
| $4 = ($3<<24>>24)==(0); | |
| if ($4) { | |
| $$pn = $21; | |
| break L1; | |
| } | |
| $5 = ((($$014)) + 1|0); | |
| $6 = $5; | |
| $7 = $6 & 3; | |
| $8 = ($7|0)==(0); | |
| if ($8) { | |
| $$01$lcssa = $5; | |
| label = 4; | |
| break; | |
| } else { | |
| $$014 = $5;$21 = $6; | |
| } | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 4) { | |
| $w$0 = $$01$lcssa; | |
| while(1) { | |
| $9 = HEAP32[$w$0>>2]|0; | |
| $10 = (($9) + -16843009)|0; | |
| $11 = $9 & -2139062144; | |
| $12 = $11 ^ -2139062144; | |
| $13 = $12 & $10; | |
| $14 = ($13|0)==(0); | |
| $15 = ((($w$0)) + 4|0); | |
| if ($14) { | |
| $w$0 = $15; | |
| } else { | |
| $$lcssa20 = $9;$w$0$lcssa = $w$0; | |
| break; | |
| } | |
| } | |
| $16 = $$lcssa20&255; | |
| $17 = ($16<<24>>24)==(0); | |
| if ($17) { | |
| $$1$lcssa = $w$0$lcssa; | |
| } else { | |
| $$pn15 = $w$0$lcssa; | |
| while(1) { | |
| $18 = ((($$pn15)) + 1|0); | |
| $$pre = HEAP8[$18>>0]|0; | |
| $19 = ($$pre<<24>>24)==(0); | |
| if ($19) { | |
| $$1$lcssa = $18; | |
| break; | |
| } else { | |
| $$pn15 = $18; | |
| } | |
| } | |
| } | |
| $20 = $$1$lcssa; | |
| $$pn = $20; | |
| } | |
| $$0 = (($$pn) - ($0))|0; | |
| return ($$0|0); | |
| } | |
| function _strerror($e) { | |
| $e = $e|0; | |
| var $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$03 = 0, $i$03$lcssa = 0, $i$12 = 0, $s$0$lcssa = 0, $s$01 = 0, $s$1 = 0, label = 0; | |
| var sp = 0; | |
| sp = STACKTOP; | |
| $i$03 = 0; | |
| while(1) { | |
| $1 = (4897 + ($i$03)|0); | |
| $2 = HEAP8[$1>>0]|0; | |
| $3 = $2&255; | |
| $4 = ($3|0)==($e|0); | |
| if ($4) { | |
| $i$03$lcssa = $i$03; | |
| label = 2; | |
| break; | |
| } | |
| $5 = (($i$03) + 1)|0; | |
| $6 = ($5|0)==(87); | |
| if ($6) { | |
| $i$12 = 87;$s$01 = 4985; | |
| label = 5; | |
| break; | |
| } else { | |
| $i$03 = $5; | |
| } | |
| } | |
| if ((label|0) == 2) { | |
| $0 = ($i$03$lcssa|0)==(0); | |
| if ($0) { | |
| $s$0$lcssa = 4985; | |
| } else { | |
| $i$12 = $i$03$lcssa;$s$01 = 4985; | |
| label = 5; | |
| } | |
| } | |
| if ((label|0) == 5) { | |
| while(1) { | |
| label = 0; | |
| $s$1 = $s$01; | |
| while(1) { | |
| $7 = HEAP8[$s$1>>0]|0; | |
| $8 = ($7<<24>>24)==(0); | |
| $9 = ((($s$1)) + 1|0); | |
| if ($8) { | |
| $$lcssa = $9; | |
| break; | |
| } else { | |
| $s$1 = $9; | |
| } | |
| } | |
| $10 = (($i$12) + -1)|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $s$0$lcssa = $$lcssa; | |
| break; | |
| } else { | |
| $i$12 = $10;$s$01 = $$lcssa; | |
| label = 5; | |
| } | |
| } | |
| } | |
| return ($s$0$lcssa|0); | |
| } | |
| function _memchr($src,$c,$n) { | |
| $src = $src|0; | |
| $c = $c|0; | |
| $n = $n|0; | |
| var $$0$lcssa = 0, $$0$lcssa30 = 0, $$019 = 0, $$1$lcssa = 0, $$110 = 0, $$110$lcssa = 0, $$24 = 0, $$3 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; | |
| var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; | |
| var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, $s$0$lcssa = 0, $s$0$lcssa29 = 0, $s$020 = 0, $s$15 = 0, $s$2 = 0, $w$0$lcssa = 0, $w$011 = 0, $w$011$lcssa = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = $c & 255; | |
| $1 = $src; | |
| $2 = $1 & 3; | |
| $3 = ($2|0)!=(0); | |
| $4 = ($n|0)!=(0); | |
| $or$cond18 = $4 & $3; | |
| L1: do { | |
| if ($or$cond18) { | |
| $5 = $c&255; | |
| $$019 = $n;$s$020 = $src; | |
| while(1) { | |
| $6 = HEAP8[$s$020>>0]|0; | |
| $7 = ($6<<24>>24)==($5<<24>>24); | |
| if ($7) { | |
| $$0$lcssa30 = $$019;$s$0$lcssa29 = $s$020; | |
| label = 6; | |
| break L1; | |
| } | |
| $8 = ((($s$020)) + 1|0); | |
| $9 = (($$019) + -1)|0; | |
| $10 = $8; | |
| $11 = $10 & 3; | |
| $12 = ($11|0)!=(0); | |
| $13 = ($9|0)!=(0); | |
| $or$cond = $13 & $12; | |
| if ($or$cond) { | |
| $$019 = $9;$s$020 = $8; | |
| } else { | |
| $$0$lcssa = $9;$$lcssa = $13;$s$0$lcssa = $8; | |
| label = 5; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$0$lcssa = $n;$$lcssa = $4;$s$0$lcssa = $src; | |
| label = 5; | |
| } | |
| } while(0); | |
| if ((label|0) == 5) { | |
| if ($$lcssa) { | |
| $$0$lcssa30 = $$0$lcssa;$s$0$lcssa29 = $s$0$lcssa; | |
| label = 6; | |
| } else { | |
| $$3 = 0;$s$2 = $s$0$lcssa; | |
| } | |
| } | |
| L8: do { | |
| if ((label|0) == 6) { | |
| $14 = HEAP8[$s$0$lcssa29>>0]|0; | |
| $15 = $c&255; | |
| $16 = ($14<<24>>24)==($15<<24>>24); | |
| if ($16) { | |
| $$3 = $$0$lcssa30;$s$2 = $s$0$lcssa29; | |
| } else { | |
| $17 = Math_imul($0, 16843009)|0; | |
| $18 = ($$0$lcssa30>>>0)>(3); | |
| L11: do { | |
| if ($18) { | |
| $$110 = $$0$lcssa30;$w$011 = $s$0$lcssa29; | |
| while(1) { | |
| $19 = HEAP32[$w$011>>2]|0; | |
| $20 = $19 ^ $17; | |
| $21 = (($20) + -16843009)|0; | |
| $22 = $20 & -2139062144; | |
| $23 = $22 ^ -2139062144; | |
| $24 = $23 & $21; | |
| $25 = ($24|0)==(0); | |
| if (!($25)) { | |
| $$110$lcssa = $$110;$w$011$lcssa = $w$011; | |
| break; | |
| } | |
| $26 = ((($w$011)) + 4|0); | |
| $27 = (($$110) + -4)|0; | |
| $28 = ($27>>>0)>(3); | |
| if ($28) { | |
| $$110 = $27;$w$011 = $26; | |
| } else { | |
| $$1$lcssa = $27;$w$0$lcssa = $26; | |
| label = 11; | |
| break L11; | |
| } | |
| } | |
| $$24 = $$110$lcssa;$s$15 = $w$011$lcssa; | |
| } else { | |
| $$1$lcssa = $$0$lcssa30;$w$0$lcssa = $s$0$lcssa29; | |
| label = 11; | |
| } | |
| } while(0); | |
| if ((label|0) == 11) { | |
| $29 = ($$1$lcssa|0)==(0); | |
| if ($29) { | |
| $$3 = 0;$s$2 = $w$0$lcssa; | |
| break; | |
| } else { | |
| $$24 = $$1$lcssa;$s$15 = $w$0$lcssa; | |
| } | |
| } | |
| while(1) { | |
| $30 = HEAP8[$s$15>>0]|0; | |
| $31 = ($30<<24>>24)==($15<<24>>24); | |
| if ($31) { | |
| $$3 = $$24;$s$2 = $s$15; | |
| break L8; | |
| } | |
| $32 = ((($s$15)) + 1|0); | |
| $33 = (($$24) + -1)|0; | |
| $34 = ($33|0)==(0); | |
| if ($34) { | |
| $$3 = 0;$s$2 = $32; | |
| break; | |
| } else { | |
| $$24 = $33;$s$15 = $32; | |
| } | |
| } | |
| } | |
| } | |
| } while(0); | |
| $35 = ($$3|0)!=(0); | |
| $36 = $35 ? $s$2 : 0; | |
| return ($36|0); | |
| } | |
| function ___lockfile($f) { | |
| $f = $f|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| return 0; | |
| } | |
| function _memcmp($vl,$vr,$n) { | |
| $vl = $vl|0; | |
| $vr = $vr|0; | |
| $n = $n|0; | |
| var $$03 = 0, $$lcssa = 0, $$lcssa19 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$04 = 0, $r$05 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = ($n|0)==(0); | |
| L1: do { | |
| if ($0) { | |
| $11 = 0; | |
| } else { | |
| $$03 = $n;$l$04 = $vl;$r$05 = $vr; | |
| while(1) { | |
| $1 = HEAP8[$l$04>>0]|0; | |
| $2 = HEAP8[$r$05>>0]|0; | |
| $3 = ($1<<24>>24)==($2<<24>>24); | |
| if (!($3)) { | |
| $$lcssa = $1;$$lcssa19 = $2; | |
| break; | |
| } | |
| $4 = (($$03) + -1)|0; | |
| $5 = ((($l$04)) + 1|0); | |
| $6 = ((($r$05)) + 1|0); | |
| $7 = ($4|0)==(0); | |
| if ($7) { | |
| $11 = 0; | |
| break L1; | |
| } else { | |
| $$03 = $4;$l$04 = $5;$r$05 = $6; | |
| } | |
| } | |
| $8 = $$lcssa&255; | |
| $9 = $$lcssa19&255; | |
| $10 = (($8) - ($9))|0; | |
| $11 = $10; | |
| } | |
| } while(0); | |
| return ($11|0); | |
| } | |
| function _write($fd,$buf,$count) { | |
| $fd = $fd|0; | |
| $buf = $buf|0; | |
| $count = $count|0; | |
| var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); | |
| $vararg_buffer = sp; | |
| HEAP32[$vararg_buffer>>2] = $fd; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = $buf; | |
| $vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$vararg_ptr2>>2] = $count; | |
| $0 = (___syscall4(4,($vararg_buffer|0))|0); | |
| $1 = (___syscall_ret($0)|0); | |
| STACKTOP = sp;return ($1|0); | |
| } | |
| function _fflush($f) { | |
| $f = $f|0; | |
| var $$0 = 0, $$01 = 0, $$012 = 0, $$014 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; | |
| var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, $r$0$lcssa = 0, $r$03 = 0, $r$1 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = ($f|0)==(0|0); | |
| do { | |
| if ($0) { | |
| $7 = HEAP32[554]|0; | |
| $8 = ($7|0)==(0|0); | |
| if ($8) { | |
| $27 = 0; | |
| } else { | |
| $9 = HEAP32[554]|0; | |
| $10 = (_fflush($9)|0); | |
| $27 = $10; | |
| } | |
| ___lock(((7176)|0)); | |
| $$012 = HEAP32[(7172)>>2]|0; | |
| $11 = ($$012|0)==(0|0); | |
| if ($11) { | |
| $r$0$lcssa = $27; | |
| } else { | |
| $$014 = $$012;$r$03 = $27; | |
| while(1) { | |
| $12 = ((($$014)) + 76|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = ($13|0)>(-1); | |
| if ($14) { | |
| $15 = (___lockfile($$014)|0); | |
| $23 = $15; | |
| } else { | |
| $23 = 0; | |
| } | |
| $16 = ((($$014)) + 20|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = ((($$014)) + 28|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| $20 = ($17>>>0)>($19>>>0); | |
| if ($20) { | |
| $21 = (___fflush_unlocked($$014)|0); | |
| $22 = $21 | $r$03; | |
| $r$1 = $22; | |
| } else { | |
| $r$1 = $r$03; | |
| } | |
| $24 = ($23|0)==(0); | |
| if (!($24)) { | |
| ___unlockfile($$014); | |
| } | |
| $25 = ((($$014)) + 56|0); | |
| $$01 = HEAP32[$25>>2]|0; | |
| $26 = ($$01|0)==(0|0); | |
| if ($26) { | |
| $r$0$lcssa = $r$1; | |
| break; | |
| } else { | |
| $$014 = $$01;$r$03 = $r$1; | |
| } | |
| } | |
| } | |
| ___unlock(((7176)|0)); | |
| $$0 = $r$0$lcssa; | |
| } else { | |
| $1 = ((($f)) + 76|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $3 = ($2|0)>(-1); | |
| if (!($3)) { | |
| $4 = (___fflush_unlocked($f)|0); | |
| $$0 = $4; | |
| break; | |
| } | |
| $5 = (___lockfile($f)|0); | |
| $phitmp = ($5|0)==(0); | |
| $6 = (___fflush_unlocked($f)|0); | |
| if ($phitmp) { | |
| $$0 = $6; | |
| } else { | |
| ___unlockfile($f); | |
| $$0 = $6; | |
| } | |
| } | |
| } while(0); | |
| return ($$0|0); | |
| } | |
| function ___fflush_unlocked($f) { | |
| $f = $f|0; | |
| var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; | |
| var $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = ((($f)) + 20|0); | |
| $1 = HEAP32[$0>>2]|0; | |
| $2 = ((($f)) + 28|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ($1>>>0)>($3>>>0); | |
| if ($4) { | |
| $5 = ((($f)) + 36|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| (FUNCTION_TABLE_iiii[$6 & 127]($f,0,0)|0); | |
| $7 = HEAP32[$0>>2]|0; | |
| $8 = ($7|0)==(0|0); | |
| if ($8) { | |
| $$0 = -1; | |
| } else { | |
| label = 3; | |
| } | |
| } else { | |
| label = 3; | |
| } | |
| if ((label|0) == 3) { | |
| $9 = ((($f)) + 4|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ((($f)) + 8|0); | |
| $12 = HEAP32[$11>>2]|0; | |
| $13 = ($10>>>0)<($12>>>0); | |
| if ($13) { | |
| $14 = ((($f)) + 40|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| $16 = $10; | |
| $17 = $12; | |
| $18 = (($16) - ($17))|0; | |
| (FUNCTION_TABLE_iiii[$15 & 127]($f,$18,1)|0); | |
| } | |
| $19 = ((($f)) + 16|0); | |
| HEAP32[$19>>2] = 0; | |
| HEAP32[$2>>2] = 0; | |
| HEAP32[$0>>2] = 0; | |
| HEAP32[$11>>2] = 0; | |
| HEAP32[$9>>2] = 0; | |
| $$0 = 0; | |
| } | |
| return ($$0|0); | |
| } | |
| function _strerror_r($err,$buf,$buflen) { | |
| $err = $err|0; | |
| $buf = $buf|0; | |
| $buflen = $buflen|0; | |
| var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = (_strerror($err)|0); | |
| $1 = (_strlen($0)|0); | |
| $2 = ($1>>>0)<($buflen>>>0); | |
| if ($2) { | |
| $6 = (($1) + 1)|0; | |
| _memcpy(($buf|0),($0|0),($6|0))|0; | |
| $$0 = 0; | |
| } else { | |
| $3 = ($buflen|0)==(0); | |
| if ($3) { | |
| $$0 = 34; | |
| } else { | |
| $4 = (($buflen) + -1)|0; | |
| _memcpy(($buf|0),($0|0),($4|0))|0; | |
| $5 = (($buf) + ($4)|0); | |
| HEAP8[$5>>0] = 0; | |
| $$0 = 34; | |
| } | |
| } | |
| return ($$0|0); | |
| } | |
| function _malloc($bytes) { | |
| $bytes = $bytes|0; | |
| var $$0 = 0, $$lcssa = 0, $$lcssa141 = 0, $$lcssa142 = 0, $$lcssa144 = 0, $$lcssa147 = 0, $$lcssa149 = 0, $$lcssa151 = 0, $$lcssa153 = 0, $$lcssa155 = 0, $$lcssa157 = 0, $$not$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i13 = 0, $$pre$i16$i = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i14Z2D = 0, $$pre$phi$i17$iZ2D = 0; | |
| var $$pre$phi$iZ2D = 0, $$pre$phi10$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre71 = 0, $$pre9$i$i = 0, $$rsize$0$i = 0, $$rsize$4$i = 0, $$v$0$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0; | |
| var $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0; | |
| var $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0; | |
| var $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0; | |
| var $1062 = 0, $1063 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; | |
| var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0; | |
| var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0; | |
| var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0; | |
| var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0; | |
| var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0; | |
| var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0; | |
| var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0; | |
| var $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0; | |
| var $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0; | |
| var $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; | |
| var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; | |
| var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; | |
| var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; | |
| var $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; | |
| var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0; | |
| var $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; | |
| var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; | |
| var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; | |
| var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; | |
| var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; | |
| var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0; | |
| var $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0; | |
| var $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0; | |
| var $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0; | |
| var $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0; | |
| var $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0; | |
| var $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0; | |
| var $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0; | |
| var $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0; | |
| var $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0; | |
| var $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0; | |
| var $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0; | |
| var $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0; | |
| var $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0; | |
| var $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0; | |
| var $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0; | |
| var $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0; | |
| var $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0; | |
| var $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0; | |
| var $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0; | |
| var $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0; | |
| var $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0; | |
| var $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0; | |
| var $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0; | |
| var $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0; | |
| var $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0; | |
| var $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0; | |
| var $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0; | |
| var $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $F$0$i$i = 0, $F1$0$i = 0, $F4$0 = 0, $F4$0$i$i = 0, $F5$0$i = 0, $I1$0$i$i = 0, $I7$0$i = 0, $I7$0$i$i = 0; | |
| var $K12$0$i = 0, $K2$0$i$i = 0, $K8$0$i$i = 0, $R$1$i = 0, $R$1$i$i = 0, $R$1$i$i$lcssa = 0, $R$1$i$lcssa = 0, $R$1$i9 = 0, $R$1$i9$lcssa = 0, $R$3$i = 0, $R$3$i$i = 0, $R$3$i11 = 0, $RP$1$i = 0, $RP$1$i$i = 0, $RP$1$i$i$lcssa = 0, $RP$1$i$lcssa = 0, $RP$1$i8 = 0, $RP$1$i8$lcssa = 0, $T$0$i = 0, $T$0$i$i = 0; | |
| var $T$0$i$i$lcssa = 0, $T$0$i$i$lcssa140 = 0, $T$0$i$lcssa = 0, $T$0$i$lcssa156 = 0, $T$0$i18$i = 0, $T$0$i18$i$lcssa = 0, $T$0$i18$i$lcssa139 = 0, $br$2$ph$i = 0, $cond$i = 0, $cond$i$i = 0, $cond$i12 = 0, $exitcond$i$i = 0, $i$01$i$i = 0, $idx$0$i = 0, $nb$0 = 0, $not$$i$i = 0, $not$$i20$i = 0, $not$7$i = 0, $oldfirst$0$i$i = 0, $or$cond$i = 0; | |
| var $or$cond$i17 = 0, $or$cond1$i = 0, $or$cond1$i16 = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond2$i = 0, $or$cond48$i = 0, $or$cond5$i = 0, $or$cond7$i = 0, $or$cond8$i = 0, $p$0$i$i = 0, $qsize$0$i$i = 0, $rsize$0$i = 0, $rsize$0$i$lcssa = 0, $rsize$0$i5 = 0, $rsize$1$i = 0, $rsize$3$i = 0, $rsize$4$lcssa$i = 0, $rsize$412$i = 0, $rst$0$i = 0; | |
| var $rst$1$i = 0, $sizebits$0$$i = 0, $sizebits$0$i = 0, $sp$0$i$i = 0, $sp$0$i$i$i = 0, $sp$068$i = 0, $sp$068$i$lcssa = 0, $sp$167$i = 0, $sp$167$i$lcssa = 0, $ssize$0$i = 0, $ssize$2$ph$i = 0, $ssize$5$i = 0, $t$0$i = 0, $t$0$i4 = 0, $t$2$i = 0, $t$4$ph$i = 0, $t$4$v$4$i = 0, $t$411$i = 0, $tbase$746$i = 0, $tsize$745$i = 0; | |
| var $v$0$i = 0, $v$0$i$lcssa = 0, $v$0$i6 = 0, $v$1$i = 0, $v$3$i = 0, $v$4$lcssa$i = 0, $v$413$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = ($bytes>>>0)<(245); | |
| do { | |
| if ($0) { | |
| $1 = ($bytes>>>0)<(11); | |
| $2 = (($bytes) + 11)|0; | |
| $3 = $2 & -8; | |
| $4 = $1 ? 16 : $3; | |
| $5 = $4 >>> 3; | |
| $6 = HEAP32[1799]|0; | |
| $7 = $6 >>> $5; | |
| $8 = $7 & 3; | |
| $9 = ($8|0)==(0); | |
| if (!($9)) { | |
| $10 = $7 & 1; | |
| $11 = $10 ^ 1; | |
| $12 = (($11) + ($5))|0; | |
| $13 = $12 << 1; | |
| $14 = (7236 + ($13<<2)|0); | |
| $15 = ((($14)) + 8|0); | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = ((($16)) + 8|0); | |
| $18 = HEAP32[$17>>2]|0; | |
| $19 = ($14|0)==($18|0); | |
| do { | |
| if ($19) { | |
| $20 = 1 << $12; | |
| $21 = $20 ^ -1; | |
| $22 = $6 & $21; | |
| HEAP32[1799] = $22; | |
| } else { | |
| $23 = HEAP32[(7212)>>2]|0; | |
| $24 = ($18>>>0)<($23>>>0); | |
| if ($24) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $25 = ((($18)) + 12|0); | |
| $26 = HEAP32[$25>>2]|0; | |
| $27 = ($26|0)==($16|0); | |
| if ($27) { | |
| HEAP32[$25>>2] = $14; | |
| HEAP32[$15>>2] = $18; | |
| break; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| } while(0); | |
| $28 = $12 << 3; | |
| $29 = $28 | 3; | |
| $30 = ((($16)) + 4|0); | |
| HEAP32[$30>>2] = $29; | |
| $31 = (($16) + ($28)|0); | |
| $32 = ((($31)) + 4|0); | |
| $33 = HEAP32[$32>>2]|0; | |
| $34 = $33 | 1; | |
| HEAP32[$32>>2] = $34; | |
| $$0 = $17; | |
| return ($$0|0); | |
| } | |
| $35 = HEAP32[(7204)>>2]|0; | |
| $36 = ($4>>>0)>($35>>>0); | |
| if ($36) { | |
| $37 = ($7|0)==(0); | |
| if (!($37)) { | |
| $38 = $7 << $5; | |
| $39 = 2 << $5; | |
| $40 = (0 - ($39))|0; | |
| $41 = $39 | $40; | |
| $42 = $38 & $41; | |
| $43 = (0 - ($42))|0; | |
| $44 = $42 & $43; | |
| $45 = (($44) + -1)|0; | |
| $46 = $45 >>> 12; | |
| $47 = $46 & 16; | |
| $48 = $45 >>> $47; | |
| $49 = $48 >>> 5; | |
| $50 = $49 & 8; | |
| $51 = $50 | $47; | |
| $52 = $48 >>> $50; | |
| $53 = $52 >>> 2; | |
| $54 = $53 & 4; | |
| $55 = $51 | $54; | |
| $56 = $52 >>> $54; | |
| $57 = $56 >>> 1; | |
| $58 = $57 & 2; | |
| $59 = $55 | $58; | |
| $60 = $56 >>> $58; | |
| $61 = $60 >>> 1; | |
| $62 = $61 & 1; | |
| $63 = $59 | $62; | |
| $64 = $60 >>> $62; | |
| $65 = (($63) + ($64))|0; | |
| $66 = $65 << 1; | |
| $67 = (7236 + ($66<<2)|0); | |
| $68 = ((($67)) + 8|0); | |
| $69 = HEAP32[$68>>2]|0; | |
| $70 = ((($69)) + 8|0); | |
| $71 = HEAP32[$70>>2]|0; | |
| $72 = ($67|0)==($71|0); | |
| do { | |
| if ($72) { | |
| $73 = 1 << $65; | |
| $74 = $73 ^ -1; | |
| $75 = $6 & $74; | |
| HEAP32[1799] = $75; | |
| $89 = $35; | |
| } else { | |
| $76 = HEAP32[(7212)>>2]|0; | |
| $77 = ($71>>>0)<($76>>>0); | |
| if ($77) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $78 = ((($71)) + 12|0); | |
| $79 = HEAP32[$78>>2]|0; | |
| $80 = ($79|0)==($69|0); | |
| if ($80) { | |
| HEAP32[$78>>2] = $67; | |
| HEAP32[$68>>2] = $71; | |
| $$pre = HEAP32[(7204)>>2]|0; | |
| $89 = $$pre; | |
| break; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| } while(0); | |
| $81 = $65 << 3; | |
| $82 = (($81) - ($4))|0; | |
| $83 = $4 | 3; | |
| $84 = ((($69)) + 4|0); | |
| HEAP32[$84>>2] = $83; | |
| $85 = (($69) + ($4)|0); | |
| $86 = $82 | 1; | |
| $87 = ((($85)) + 4|0); | |
| HEAP32[$87>>2] = $86; | |
| $88 = (($85) + ($82)|0); | |
| HEAP32[$88>>2] = $82; | |
| $90 = ($89|0)==(0); | |
| if (!($90)) { | |
| $91 = HEAP32[(7216)>>2]|0; | |
| $92 = $89 >>> 3; | |
| $93 = $92 << 1; | |
| $94 = (7236 + ($93<<2)|0); | |
| $95 = HEAP32[1799]|0; | |
| $96 = 1 << $92; | |
| $97 = $95 & $96; | |
| $98 = ($97|0)==(0); | |
| if ($98) { | |
| $99 = $95 | $96; | |
| HEAP32[1799] = $99; | |
| $$pre71 = ((($94)) + 8|0); | |
| $$pre$phiZ2D = $$pre71;$F4$0 = $94; | |
| } else { | |
| $100 = ((($94)) + 8|0); | |
| $101 = HEAP32[$100>>2]|0; | |
| $102 = HEAP32[(7212)>>2]|0; | |
| $103 = ($101>>>0)<($102>>>0); | |
| if ($103) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $$pre$phiZ2D = $100;$F4$0 = $101; | |
| } | |
| } | |
| HEAP32[$$pre$phiZ2D>>2] = $91; | |
| $104 = ((($F4$0)) + 12|0); | |
| HEAP32[$104>>2] = $91; | |
| $105 = ((($91)) + 8|0); | |
| HEAP32[$105>>2] = $F4$0; | |
| $106 = ((($91)) + 12|0); | |
| HEAP32[$106>>2] = $94; | |
| } | |
| HEAP32[(7204)>>2] = $82; | |
| HEAP32[(7216)>>2] = $85; | |
| $$0 = $70; | |
| return ($$0|0); | |
| } | |
| $107 = HEAP32[(7200)>>2]|0; | |
| $108 = ($107|0)==(0); | |
| if ($108) { | |
| $nb$0 = $4; | |
| } else { | |
| $109 = (0 - ($107))|0; | |
| $110 = $107 & $109; | |
| $111 = (($110) + -1)|0; | |
| $112 = $111 >>> 12; | |
| $113 = $112 & 16; | |
| $114 = $111 >>> $113; | |
| $115 = $114 >>> 5; | |
| $116 = $115 & 8; | |
| $117 = $116 | $113; | |
| $118 = $114 >>> $116; | |
| $119 = $118 >>> 2; | |
| $120 = $119 & 4; | |
| $121 = $117 | $120; | |
| $122 = $118 >>> $120; | |
| $123 = $122 >>> 1; | |
| $124 = $123 & 2; | |
| $125 = $121 | $124; | |
| $126 = $122 >>> $124; | |
| $127 = $126 >>> 1; | |
| $128 = $127 & 1; | |
| $129 = $125 | $128; | |
| $130 = $126 >>> $128; | |
| $131 = (($129) + ($130))|0; | |
| $132 = (7500 + ($131<<2)|0); | |
| $133 = HEAP32[$132>>2]|0; | |
| $134 = ((($133)) + 4|0); | |
| $135 = HEAP32[$134>>2]|0; | |
| $136 = $135 & -8; | |
| $137 = (($136) - ($4))|0; | |
| $rsize$0$i = $137;$t$0$i = $133;$v$0$i = $133; | |
| while(1) { | |
| $138 = ((($t$0$i)) + 16|0); | |
| $139 = HEAP32[$138>>2]|0; | |
| $140 = ($139|0)==(0|0); | |
| if ($140) { | |
| $141 = ((($t$0$i)) + 20|0); | |
| $142 = HEAP32[$141>>2]|0; | |
| $143 = ($142|0)==(0|0); | |
| if ($143) { | |
| $rsize$0$i$lcssa = $rsize$0$i;$v$0$i$lcssa = $v$0$i; | |
| break; | |
| } else { | |
| $145 = $142; | |
| } | |
| } else { | |
| $145 = $139; | |
| } | |
| $144 = ((($145)) + 4|0); | |
| $146 = HEAP32[$144>>2]|0; | |
| $147 = $146 & -8; | |
| $148 = (($147) - ($4))|0; | |
| $149 = ($148>>>0)<($rsize$0$i>>>0); | |
| $$rsize$0$i = $149 ? $148 : $rsize$0$i; | |
| $$v$0$i = $149 ? $145 : $v$0$i; | |
| $rsize$0$i = $$rsize$0$i;$t$0$i = $145;$v$0$i = $$v$0$i; | |
| } | |
| $150 = HEAP32[(7212)>>2]|0; | |
| $151 = ($v$0$i$lcssa>>>0)<($150>>>0); | |
| if ($151) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $152 = (($v$0$i$lcssa) + ($4)|0); | |
| $153 = ($v$0$i$lcssa>>>0)<($152>>>0); | |
| if (!($153)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $154 = ((($v$0$i$lcssa)) + 24|0); | |
| $155 = HEAP32[$154>>2]|0; | |
| $156 = ((($v$0$i$lcssa)) + 12|0); | |
| $157 = HEAP32[$156>>2]|0; | |
| $158 = ($157|0)==($v$0$i$lcssa|0); | |
| do { | |
| if ($158) { | |
| $168 = ((($v$0$i$lcssa)) + 20|0); | |
| $169 = HEAP32[$168>>2]|0; | |
| $170 = ($169|0)==(0|0); | |
| if ($170) { | |
| $171 = ((($v$0$i$lcssa)) + 16|0); | |
| $172 = HEAP32[$171>>2]|0; | |
| $173 = ($172|0)==(0|0); | |
| if ($173) { | |
| $R$3$i = 0; | |
| break; | |
| } else { | |
| $R$1$i = $172;$RP$1$i = $171; | |
| } | |
| } else { | |
| $R$1$i = $169;$RP$1$i = $168; | |
| } | |
| while(1) { | |
| $174 = ((($R$1$i)) + 20|0); | |
| $175 = HEAP32[$174>>2]|0; | |
| $176 = ($175|0)==(0|0); | |
| if (!($176)) { | |
| $R$1$i = $175;$RP$1$i = $174; | |
| continue; | |
| } | |
| $177 = ((($R$1$i)) + 16|0); | |
| $178 = HEAP32[$177>>2]|0; | |
| $179 = ($178|0)==(0|0); | |
| if ($179) { | |
| $R$1$i$lcssa = $R$1$i;$RP$1$i$lcssa = $RP$1$i; | |
| break; | |
| } else { | |
| $R$1$i = $178;$RP$1$i = $177; | |
| } | |
| } | |
| $180 = ($RP$1$i$lcssa>>>0)<($150>>>0); | |
| if ($180) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| HEAP32[$RP$1$i$lcssa>>2] = 0; | |
| $R$3$i = $R$1$i$lcssa; | |
| break; | |
| } | |
| } else { | |
| $159 = ((($v$0$i$lcssa)) + 8|0); | |
| $160 = HEAP32[$159>>2]|0; | |
| $161 = ($160>>>0)<($150>>>0); | |
| if ($161) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $162 = ((($160)) + 12|0); | |
| $163 = HEAP32[$162>>2]|0; | |
| $164 = ($163|0)==($v$0$i$lcssa|0); | |
| if (!($164)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $165 = ((($157)) + 8|0); | |
| $166 = HEAP32[$165>>2]|0; | |
| $167 = ($166|0)==($v$0$i$lcssa|0); | |
| if ($167) { | |
| HEAP32[$162>>2] = $157; | |
| HEAP32[$165>>2] = $160; | |
| $R$3$i = $157; | |
| break; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| } while(0); | |
| $181 = ($155|0)==(0|0); | |
| do { | |
| if (!($181)) { | |
| $182 = ((($v$0$i$lcssa)) + 28|0); | |
| $183 = HEAP32[$182>>2]|0; | |
| $184 = (7500 + ($183<<2)|0); | |
| $185 = HEAP32[$184>>2]|0; | |
| $186 = ($v$0$i$lcssa|0)==($185|0); | |
| if ($186) { | |
| HEAP32[$184>>2] = $R$3$i; | |
| $cond$i = ($R$3$i|0)==(0|0); | |
| if ($cond$i) { | |
| $187 = 1 << $183; | |
| $188 = $187 ^ -1; | |
| $189 = HEAP32[(7200)>>2]|0; | |
| $190 = $189 & $188; | |
| HEAP32[(7200)>>2] = $190; | |
| break; | |
| } | |
| } else { | |
| $191 = HEAP32[(7212)>>2]|0; | |
| $192 = ($155>>>0)<($191>>>0); | |
| if ($192) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $193 = ((($155)) + 16|0); | |
| $194 = HEAP32[$193>>2]|0; | |
| $195 = ($194|0)==($v$0$i$lcssa|0); | |
| if ($195) { | |
| HEAP32[$193>>2] = $R$3$i; | |
| } else { | |
| $196 = ((($155)) + 20|0); | |
| HEAP32[$196>>2] = $R$3$i; | |
| } | |
| $197 = ($R$3$i|0)==(0|0); | |
| if ($197) { | |
| break; | |
| } | |
| } | |
| $198 = HEAP32[(7212)>>2]|0; | |
| $199 = ($R$3$i>>>0)<($198>>>0); | |
| if ($199) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $200 = ((($R$3$i)) + 24|0); | |
| HEAP32[$200>>2] = $155; | |
| $201 = ((($v$0$i$lcssa)) + 16|0); | |
| $202 = HEAP32[$201>>2]|0; | |
| $203 = ($202|0)==(0|0); | |
| do { | |
| if (!($203)) { | |
| $204 = ($202>>>0)<($198>>>0); | |
| if ($204) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $205 = ((($R$3$i)) + 16|0); | |
| HEAP32[$205>>2] = $202; | |
| $206 = ((($202)) + 24|0); | |
| HEAP32[$206>>2] = $R$3$i; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $207 = ((($v$0$i$lcssa)) + 20|0); | |
| $208 = HEAP32[$207>>2]|0; | |
| $209 = ($208|0)==(0|0); | |
| if (!($209)) { | |
| $210 = HEAP32[(7212)>>2]|0; | |
| $211 = ($208>>>0)<($210>>>0); | |
| if ($211) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $212 = ((($R$3$i)) + 20|0); | |
| HEAP32[$212>>2] = $208; | |
| $213 = ((($208)) + 24|0); | |
| HEAP32[$213>>2] = $R$3$i; | |
| break; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $214 = ($rsize$0$i$lcssa>>>0)<(16); | |
| if ($214) { | |
| $215 = (($rsize$0$i$lcssa) + ($4))|0; | |
| $216 = $215 | 3; | |
| $217 = ((($v$0$i$lcssa)) + 4|0); | |
| HEAP32[$217>>2] = $216; | |
| $218 = (($v$0$i$lcssa) + ($215)|0); | |
| $219 = ((($218)) + 4|0); | |
| $220 = HEAP32[$219>>2]|0; | |
| $221 = $220 | 1; | |
| HEAP32[$219>>2] = $221; | |
| } else { | |
| $222 = $4 | 3; | |
| $223 = ((($v$0$i$lcssa)) + 4|0); | |
| HEAP32[$223>>2] = $222; | |
| $224 = $rsize$0$i$lcssa | 1; | |
| $225 = ((($152)) + 4|0); | |
| HEAP32[$225>>2] = $224; | |
| $226 = (($152) + ($rsize$0$i$lcssa)|0); | |
| HEAP32[$226>>2] = $rsize$0$i$lcssa; | |
| $227 = HEAP32[(7204)>>2]|0; | |
| $228 = ($227|0)==(0); | |
| if (!($228)) { | |
| $229 = HEAP32[(7216)>>2]|0; | |
| $230 = $227 >>> 3; | |
| $231 = $230 << 1; | |
| $232 = (7236 + ($231<<2)|0); | |
| $233 = HEAP32[1799]|0; | |
| $234 = 1 << $230; | |
| $235 = $233 & $234; | |
| $236 = ($235|0)==(0); | |
| if ($236) { | |
| $237 = $233 | $234; | |
| HEAP32[1799] = $237; | |
| $$pre$i = ((($232)) + 8|0); | |
| $$pre$phi$iZ2D = $$pre$i;$F1$0$i = $232; | |
| } else { | |
| $238 = ((($232)) + 8|0); | |
| $239 = HEAP32[$238>>2]|0; | |
| $240 = HEAP32[(7212)>>2]|0; | |
| $241 = ($239>>>0)<($240>>>0); | |
| if ($241) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $$pre$phi$iZ2D = $238;$F1$0$i = $239; | |
| } | |
| } | |
| HEAP32[$$pre$phi$iZ2D>>2] = $229; | |
| $242 = ((($F1$0$i)) + 12|0); | |
| HEAP32[$242>>2] = $229; | |
| $243 = ((($229)) + 8|0); | |
| HEAP32[$243>>2] = $F1$0$i; | |
| $244 = ((($229)) + 12|0); | |
| HEAP32[$244>>2] = $232; | |
| } | |
| HEAP32[(7204)>>2] = $rsize$0$i$lcssa; | |
| HEAP32[(7216)>>2] = $152; | |
| } | |
| $245 = ((($v$0$i$lcssa)) + 8|0); | |
| $$0 = $245; | |
| return ($$0|0); | |
| } | |
| } else { | |
| $nb$0 = $4; | |
| } | |
| } else { | |
| $246 = ($bytes>>>0)>(4294967231); | |
| if ($246) { | |
| $nb$0 = -1; | |
| } else { | |
| $247 = (($bytes) + 11)|0; | |
| $248 = $247 & -8; | |
| $249 = HEAP32[(7200)>>2]|0; | |
| $250 = ($249|0)==(0); | |
| if ($250) { | |
| $nb$0 = $248; | |
| } else { | |
| $251 = (0 - ($248))|0; | |
| $252 = $247 >>> 8; | |
| $253 = ($252|0)==(0); | |
| if ($253) { | |
| $idx$0$i = 0; | |
| } else { | |
| $254 = ($248>>>0)>(16777215); | |
| if ($254) { | |
| $idx$0$i = 31; | |
| } else { | |
| $255 = (($252) + 1048320)|0; | |
| $256 = $255 >>> 16; | |
| $257 = $256 & 8; | |
| $258 = $252 << $257; | |
| $259 = (($258) + 520192)|0; | |
| $260 = $259 >>> 16; | |
| $261 = $260 & 4; | |
| $262 = $261 | $257; | |
| $263 = $258 << $261; | |
| $264 = (($263) + 245760)|0; | |
| $265 = $264 >>> 16; | |
| $266 = $265 & 2; | |
| $267 = $262 | $266; | |
| $268 = (14 - ($267))|0; | |
| $269 = $263 << $266; | |
| $270 = $269 >>> 15; | |
| $271 = (($268) + ($270))|0; | |
| $272 = $271 << 1; | |
| $273 = (($271) + 7)|0; | |
| $274 = $248 >>> $273; | |
| $275 = $274 & 1; | |
| $276 = $275 | $272; | |
| $idx$0$i = $276; | |
| } | |
| } | |
| $277 = (7500 + ($idx$0$i<<2)|0); | |
| $278 = HEAP32[$277>>2]|0; | |
| $279 = ($278|0)==(0|0); | |
| L123: do { | |
| if ($279) { | |
| $rsize$3$i = $251;$t$2$i = 0;$v$3$i = 0; | |
| label = 86; | |
| } else { | |
| $280 = ($idx$0$i|0)==(31); | |
| $281 = $idx$0$i >>> 1; | |
| $282 = (25 - ($281))|0; | |
| $283 = $280 ? 0 : $282; | |
| $284 = $248 << $283; | |
| $rsize$0$i5 = $251;$rst$0$i = 0;$sizebits$0$i = $284;$t$0$i4 = $278;$v$0$i6 = 0; | |
| while(1) { | |
| $285 = ((($t$0$i4)) + 4|0); | |
| $286 = HEAP32[$285>>2]|0; | |
| $287 = $286 & -8; | |
| $288 = (($287) - ($248))|0; | |
| $289 = ($288>>>0)<($rsize$0$i5>>>0); | |
| if ($289) { | |
| $290 = ($287|0)==($248|0); | |
| if ($290) { | |
| $rsize$412$i = $288;$t$411$i = $t$0$i4;$v$413$i = $t$0$i4; | |
| label = 90; | |
| break L123; | |
| } else { | |
| $rsize$1$i = $288;$v$1$i = $t$0$i4; | |
| } | |
| } else { | |
| $rsize$1$i = $rsize$0$i5;$v$1$i = $v$0$i6; | |
| } | |
| $291 = ((($t$0$i4)) + 20|0); | |
| $292 = HEAP32[$291>>2]|0; | |
| $293 = $sizebits$0$i >>> 31; | |
| $294 = (((($t$0$i4)) + 16|0) + ($293<<2)|0); | |
| $295 = HEAP32[$294>>2]|0; | |
| $296 = ($292|0)==(0|0); | |
| $297 = ($292|0)==($295|0); | |
| $or$cond1$i = $296 | $297; | |
| $rst$1$i = $or$cond1$i ? $rst$0$i : $292; | |
| $298 = ($295|0)==(0|0); | |
| $299 = $298&1; | |
| $300 = $299 ^ 1; | |
| $sizebits$0$$i = $sizebits$0$i << $300; | |
| if ($298) { | |
| $rsize$3$i = $rsize$1$i;$t$2$i = $rst$1$i;$v$3$i = $v$1$i; | |
| label = 86; | |
| break; | |
| } else { | |
| $rsize$0$i5 = $rsize$1$i;$rst$0$i = $rst$1$i;$sizebits$0$i = $sizebits$0$$i;$t$0$i4 = $295;$v$0$i6 = $v$1$i; | |
| } | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 86) { | |
| $301 = ($t$2$i|0)==(0|0); | |
| $302 = ($v$3$i|0)==(0|0); | |
| $or$cond$i = $301 & $302; | |
| if ($or$cond$i) { | |
| $303 = 2 << $idx$0$i; | |
| $304 = (0 - ($303))|0; | |
| $305 = $303 | $304; | |
| $306 = $249 & $305; | |
| $307 = ($306|0)==(0); | |
| if ($307) { | |
| $nb$0 = $248; | |
| break; | |
| } | |
| $308 = (0 - ($306))|0; | |
| $309 = $306 & $308; | |
| $310 = (($309) + -1)|0; | |
| $311 = $310 >>> 12; | |
| $312 = $311 & 16; | |
| $313 = $310 >>> $312; | |
| $314 = $313 >>> 5; | |
| $315 = $314 & 8; | |
| $316 = $315 | $312; | |
| $317 = $313 >>> $315; | |
| $318 = $317 >>> 2; | |
| $319 = $318 & 4; | |
| $320 = $316 | $319; | |
| $321 = $317 >>> $319; | |
| $322 = $321 >>> 1; | |
| $323 = $322 & 2; | |
| $324 = $320 | $323; | |
| $325 = $321 >>> $323; | |
| $326 = $325 >>> 1; | |
| $327 = $326 & 1; | |
| $328 = $324 | $327; | |
| $329 = $325 >>> $327; | |
| $330 = (($328) + ($329))|0; | |
| $331 = (7500 + ($330<<2)|0); | |
| $332 = HEAP32[$331>>2]|0; | |
| $t$4$ph$i = $332; | |
| } else { | |
| $t$4$ph$i = $t$2$i; | |
| } | |
| $333 = ($t$4$ph$i|0)==(0|0); | |
| if ($333) { | |
| $rsize$4$lcssa$i = $rsize$3$i;$v$4$lcssa$i = $v$3$i; | |
| } else { | |
| $rsize$412$i = $rsize$3$i;$t$411$i = $t$4$ph$i;$v$413$i = $v$3$i; | |
| label = 90; | |
| } | |
| } | |
| if ((label|0) == 90) { | |
| while(1) { | |
| label = 0; | |
| $334 = ((($t$411$i)) + 4|0); | |
| $335 = HEAP32[$334>>2]|0; | |
| $336 = $335 & -8; | |
| $337 = (($336) - ($248))|0; | |
| $338 = ($337>>>0)<($rsize$412$i>>>0); | |
| $$rsize$4$i = $338 ? $337 : $rsize$412$i; | |
| $t$4$v$4$i = $338 ? $t$411$i : $v$413$i; | |
| $339 = ((($t$411$i)) + 16|0); | |
| $340 = HEAP32[$339>>2]|0; | |
| $341 = ($340|0)==(0|0); | |
| if (!($341)) { | |
| $rsize$412$i = $$rsize$4$i;$t$411$i = $340;$v$413$i = $t$4$v$4$i; | |
| label = 90; | |
| continue; | |
| } | |
| $342 = ((($t$411$i)) + 20|0); | |
| $343 = HEAP32[$342>>2]|0; | |
| $344 = ($343|0)==(0|0); | |
| if ($344) { | |
| $rsize$4$lcssa$i = $$rsize$4$i;$v$4$lcssa$i = $t$4$v$4$i; | |
| break; | |
| } else { | |
| $rsize$412$i = $$rsize$4$i;$t$411$i = $343;$v$413$i = $t$4$v$4$i; | |
| label = 90; | |
| } | |
| } | |
| } | |
| $345 = ($v$4$lcssa$i|0)==(0|0); | |
| if ($345) { | |
| $nb$0 = $248; | |
| } else { | |
| $346 = HEAP32[(7204)>>2]|0; | |
| $347 = (($346) - ($248))|0; | |
| $348 = ($rsize$4$lcssa$i>>>0)<($347>>>0); | |
| if ($348) { | |
| $349 = HEAP32[(7212)>>2]|0; | |
| $350 = ($v$4$lcssa$i>>>0)<($349>>>0); | |
| if ($350) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $351 = (($v$4$lcssa$i) + ($248)|0); | |
| $352 = ($v$4$lcssa$i>>>0)<($351>>>0); | |
| if (!($352)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $353 = ((($v$4$lcssa$i)) + 24|0); | |
| $354 = HEAP32[$353>>2]|0; | |
| $355 = ((($v$4$lcssa$i)) + 12|0); | |
| $356 = HEAP32[$355>>2]|0; | |
| $357 = ($356|0)==($v$4$lcssa$i|0); | |
| do { | |
| if ($357) { | |
| $367 = ((($v$4$lcssa$i)) + 20|0); | |
| $368 = HEAP32[$367>>2]|0; | |
| $369 = ($368|0)==(0|0); | |
| if ($369) { | |
| $370 = ((($v$4$lcssa$i)) + 16|0); | |
| $371 = HEAP32[$370>>2]|0; | |
| $372 = ($371|0)==(0|0); | |
| if ($372) { | |
| $R$3$i11 = 0; | |
| break; | |
| } else { | |
| $R$1$i9 = $371;$RP$1$i8 = $370; | |
| } | |
| } else { | |
| $R$1$i9 = $368;$RP$1$i8 = $367; | |
| } | |
| while(1) { | |
| $373 = ((($R$1$i9)) + 20|0); | |
| $374 = HEAP32[$373>>2]|0; | |
| $375 = ($374|0)==(0|0); | |
| if (!($375)) { | |
| $R$1$i9 = $374;$RP$1$i8 = $373; | |
| continue; | |
| } | |
| $376 = ((($R$1$i9)) + 16|0); | |
| $377 = HEAP32[$376>>2]|0; | |
| $378 = ($377|0)==(0|0); | |
| if ($378) { | |
| $R$1$i9$lcssa = $R$1$i9;$RP$1$i8$lcssa = $RP$1$i8; | |
| break; | |
| } else { | |
| $R$1$i9 = $377;$RP$1$i8 = $376; | |
| } | |
| } | |
| $379 = ($RP$1$i8$lcssa>>>0)<($349>>>0); | |
| if ($379) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| HEAP32[$RP$1$i8$lcssa>>2] = 0; | |
| $R$3$i11 = $R$1$i9$lcssa; | |
| break; | |
| } | |
| } else { | |
| $358 = ((($v$4$lcssa$i)) + 8|0); | |
| $359 = HEAP32[$358>>2]|0; | |
| $360 = ($359>>>0)<($349>>>0); | |
| if ($360) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $361 = ((($359)) + 12|0); | |
| $362 = HEAP32[$361>>2]|0; | |
| $363 = ($362|0)==($v$4$lcssa$i|0); | |
| if (!($363)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $364 = ((($356)) + 8|0); | |
| $365 = HEAP32[$364>>2]|0; | |
| $366 = ($365|0)==($v$4$lcssa$i|0); | |
| if ($366) { | |
| HEAP32[$361>>2] = $356; | |
| HEAP32[$364>>2] = $359; | |
| $R$3$i11 = $356; | |
| break; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| } while(0); | |
| $380 = ($354|0)==(0|0); | |
| do { | |
| if (!($380)) { | |
| $381 = ((($v$4$lcssa$i)) + 28|0); | |
| $382 = HEAP32[$381>>2]|0; | |
| $383 = (7500 + ($382<<2)|0); | |
| $384 = HEAP32[$383>>2]|0; | |
| $385 = ($v$4$lcssa$i|0)==($384|0); | |
| if ($385) { | |
| HEAP32[$383>>2] = $R$3$i11; | |
| $cond$i12 = ($R$3$i11|0)==(0|0); | |
| if ($cond$i12) { | |
| $386 = 1 << $382; | |
| $387 = $386 ^ -1; | |
| $388 = HEAP32[(7200)>>2]|0; | |
| $389 = $388 & $387; | |
| HEAP32[(7200)>>2] = $389; | |
| break; | |
| } | |
| } else { | |
| $390 = HEAP32[(7212)>>2]|0; | |
| $391 = ($354>>>0)<($390>>>0); | |
| if ($391) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $392 = ((($354)) + 16|0); | |
| $393 = HEAP32[$392>>2]|0; | |
| $394 = ($393|0)==($v$4$lcssa$i|0); | |
| if ($394) { | |
| HEAP32[$392>>2] = $R$3$i11; | |
| } else { | |
| $395 = ((($354)) + 20|0); | |
| HEAP32[$395>>2] = $R$3$i11; | |
| } | |
| $396 = ($R$3$i11|0)==(0|0); | |
| if ($396) { | |
| break; | |
| } | |
| } | |
| $397 = HEAP32[(7212)>>2]|0; | |
| $398 = ($R$3$i11>>>0)<($397>>>0); | |
| if ($398) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $399 = ((($R$3$i11)) + 24|0); | |
| HEAP32[$399>>2] = $354; | |
| $400 = ((($v$4$lcssa$i)) + 16|0); | |
| $401 = HEAP32[$400>>2]|0; | |
| $402 = ($401|0)==(0|0); | |
| do { | |
| if (!($402)) { | |
| $403 = ($401>>>0)<($397>>>0); | |
| if ($403) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $404 = ((($R$3$i11)) + 16|0); | |
| HEAP32[$404>>2] = $401; | |
| $405 = ((($401)) + 24|0); | |
| HEAP32[$405>>2] = $R$3$i11; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $406 = ((($v$4$lcssa$i)) + 20|0); | |
| $407 = HEAP32[$406>>2]|0; | |
| $408 = ($407|0)==(0|0); | |
| if (!($408)) { | |
| $409 = HEAP32[(7212)>>2]|0; | |
| $410 = ($407>>>0)<($409>>>0); | |
| if ($410) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $411 = ((($R$3$i11)) + 20|0); | |
| HEAP32[$411>>2] = $407; | |
| $412 = ((($407)) + 24|0); | |
| HEAP32[$412>>2] = $R$3$i11; | |
| break; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $413 = ($rsize$4$lcssa$i>>>0)<(16); | |
| do { | |
| if ($413) { | |
| $414 = (($rsize$4$lcssa$i) + ($248))|0; | |
| $415 = $414 | 3; | |
| $416 = ((($v$4$lcssa$i)) + 4|0); | |
| HEAP32[$416>>2] = $415; | |
| $417 = (($v$4$lcssa$i) + ($414)|0); | |
| $418 = ((($417)) + 4|0); | |
| $419 = HEAP32[$418>>2]|0; | |
| $420 = $419 | 1; | |
| HEAP32[$418>>2] = $420; | |
| } else { | |
| $421 = $248 | 3; | |
| $422 = ((($v$4$lcssa$i)) + 4|0); | |
| HEAP32[$422>>2] = $421; | |
| $423 = $rsize$4$lcssa$i | 1; | |
| $424 = ((($351)) + 4|0); | |
| HEAP32[$424>>2] = $423; | |
| $425 = (($351) + ($rsize$4$lcssa$i)|0); | |
| HEAP32[$425>>2] = $rsize$4$lcssa$i; | |
| $426 = $rsize$4$lcssa$i >>> 3; | |
| $427 = ($rsize$4$lcssa$i>>>0)<(256); | |
| if ($427) { | |
| $428 = $426 << 1; | |
| $429 = (7236 + ($428<<2)|0); | |
| $430 = HEAP32[1799]|0; | |
| $431 = 1 << $426; | |
| $432 = $430 & $431; | |
| $433 = ($432|0)==(0); | |
| if ($433) { | |
| $434 = $430 | $431; | |
| HEAP32[1799] = $434; | |
| $$pre$i13 = ((($429)) + 8|0); | |
| $$pre$phi$i14Z2D = $$pre$i13;$F5$0$i = $429; | |
| } else { | |
| $435 = ((($429)) + 8|0); | |
| $436 = HEAP32[$435>>2]|0; | |
| $437 = HEAP32[(7212)>>2]|0; | |
| $438 = ($436>>>0)<($437>>>0); | |
| if ($438) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $$pre$phi$i14Z2D = $435;$F5$0$i = $436; | |
| } | |
| } | |
| HEAP32[$$pre$phi$i14Z2D>>2] = $351; | |
| $439 = ((($F5$0$i)) + 12|0); | |
| HEAP32[$439>>2] = $351; | |
| $440 = ((($351)) + 8|0); | |
| HEAP32[$440>>2] = $F5$0$i; | |
| $441 = ((($351)) + 12|0); | |
| HEAP32[$441>>2] = $429; | |
| break; | |
| } | |
| $442 = $rsize$4$lcssa$i >>> 8; | |
| $443 = ($442|0)==(0); | |
| if ($443) { | |
| $I7$0$i = 0; | |
| } else { | |
| $444 = ($rsize$4$lcssa$i>>>0)>(16777215); | |
| if ($444) { | |
| $I7$0$i = 31; | |
| } else { | |
| $445 = (($442) + 1048320)|0; | |
| $446 = $445 >>> 16; | |
| $447 = $446 & 8; | |
| $448 = $442 << $447; | |
| $449 = (($448) + 520192)|0; | |
| $450 = $449 >>> 16; | |
| $451 = $450 & 4; | |
| $452 = $451 | $447; | |
| $453 = $448 << $451; | |
| $454 = (($453) + 245760)|0; | |
| $455 = $454 >>> 16; | |
| $456 = $455 & 2; | |
| $457 = $452 | $456; | |
| $458 = (14 - ($457))|0; | |
| $459 = $453 << $456; | |
| $460 = $459 >>> 15; | |
| $461 = (($458) + ($460))|0; | |
| $462 = $461 << 1; | |
| $463 = (($461) + 7)|0; | |
| $464 = $rsize$4$lcssa$i >>> $463; | |
| $465 = $464 & 1; | |
| $466 = $465 | $462; | |
| $I7$0$i = $466; | |
| } | |
| } | |
| $467 = (7500 + ($I7$0$i<<2)|0); | |
| $468 = ((($351)) + 28|0); | |
| HEAP32[$468>>2] = $I7$0$i; | |
| $469 = ((($351)) + 16|0); | |
| $470 = ((($469)) + 4|0); | |
| HEAP32[$470>>2] = 0; | |
| HEAP32[$469>>2] = 0; | |
| $471 = HEAP32[(7200)>>2]|0; | |
| $472 = 1 << $I7$0$i; | |
| $473 = $471 & $472; | |
| $474 = ($473|0)==(0); | |
| if ($474) { | |
| $475 = $471 | $472; | |
| HEAP32[(7200)>>2] = $475; | |
| HEAP32[$467>>2] = $351; | |
| $476 = ((($351)) + 24|0); | |
| HEAP32[$476>>2] = $467; | |
| $477 = ((($351)) + 12|0); | |
| HEAP32[$477>>2] = $351; | |
| $478 = ((($351)) + 8|0); | |
| HEAP32[$478>>2] = $351; | |
| break; | |
| } | |
| $479 = HEAP32[$467>>2]|0; | |
| $480 = ($I7$0$i|0)==(31); | |
| $481 = $I7$0$i >>> 1; | |
| $482 = (25 - ($481))|0; | |
| $483 = $480 ? 0 : $482; | |
| $484 = $rsize$4$lcssa$i << $483; | |
| $K12$0$i = $484;$T$0$i = $479; | |
| while(1) { | |
| $485 = ((($T$0$i)) + 4|0); | |
| $486 = HEAP32[$485>>2]|0; | |
| $487 = $486 & -8; | |
| $488 = ($487|0)==($rsize$4$lcssa$i|0); | |
| if ($488) { | |
| $T$0$i$lcssa = $T$0$i; | |
| label = 148; | |
| break; | |
| } | |
| $489 = $K12$0$i >>> 31; | |
| $490 = (((($T$0$i)) + 16|0) + ($489<<2)|0); | |
| $491 = $K12$0$i << 1; | |
| $492 = HEAP32[$490>>2]|0; | |
| $493 = ($492|0)==(0|0); | |
| if ($493) { | |
| $$lcssa157 = $490;$T$0$i$lcssa156 = $T$0$i; | |
| label = 145; | |
| break; | |
| } else { | |
| $K12$0$i = $491;$T$0$i = $492; | |
| } | |
| } | |
| if ((label|0) == 145) { | |
| $494 = HEAP32[(7212)>>2]|0; | |
| $495 = ($$lcssa157>>>0)<($494>>>0); | |
| if ($495) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| HEAP32[$$lcssa157>>2] = $351; | |
| $496 = ((($351)) + 24|0); | |
| HEAP32[$496>>2] = $T$0$i$lcssa156; | |
| $497 = ((($351)) + 12|0); | |
| HEAP32[$497>>2] = $351; | |
| $498 = ((($351)) + 8|0); | |
| HEAP32[$498>>2] = $351; | |
| break; | |
| } | |
| } | |
| else if ((label|0) == 148) { | |
| $499 = ((($T$0$i$lcssa)) + 8|0); | |
| $500 = HEAP32[$499>>2]|0; | |
| $501 = HEAP32[(7212)>>2]|0; | |
| $502 = ($500>>>0)>=($501>>>0); | |
| $not$7$i = ($T$0$i$lcssa>>>0)>=($501>>>0); | |
| $503 = $502 & $not$7$i; | |
| if ($503) { | |
| $504 = ((($500)) + 12|0); | |
| HEAP32[$504>>2] = $351; | |
| HEAP32[$499>>2] = $351; | |
| $505 = ((($351)) + 8|0); | |
| HEAP32[$505>>2] = $500; | |
| $506 = ((($351)) + 12|0); | |
| HEAP32[$506>>2] = $T$0$i$lcssa; | |
| $507 = ((($351)) + 24|0); | |
| HEAP32[$507>>2] = 0; | |
| break; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $508 = ((($v$4$lcssa$i)) + 8|0); | |
| $$0 = $508; | |
| return ($$0|0); | |
| } else { | |
| $nb$0 = $248; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } while(0); | |
| $509 = HEAP32[(7204)>>2]|0; | |
| $510 = ($509>>>0)<($nb$0>>>0); | |
| if (!($510)) { | |
| $511 = (($509) - ($nb$0))|0; | |
| $512 = HEAP32[(7216)>>2]|0; | |
| $513 = ($511>>>0)>(15); | |
| if ($513) { | |
| $514 = (($512) + ($nb$0)|0); | |
| HEAP32[(7216)>>2] = $514; | |
| HEAP32[(7204)>>2] = $511; | |
| $515 = $511 | 1; | |
| $516 = ((($514)) + 4|0); | |
| HEAP32[$516>>2] = $515; | |
| $517 = (($514) + ($511)|0); | |
| HEAP32[$517>>2] = $511; | |
| $518 = $nb$0 | 3; | |
| $519 = ((($512)) + 4|0); | |
| HEAP32[$519>>2] = $518; | |
| } else { | |
| HEAP32[(7204)>>2] = 0; | |
| HEAP32[(7216)>>2] = 0; | |
| $520 = $509 | 3; | |
| $521 = ((($512)) + 4|0); | |
| HEAP32[$521>>2] = $520; | |
| $522 = (($512) + ($509)|0); | |
| $523 = ((($522)) + 4|0); | |
| $524 = HEAP32[$523>>2]|0; | |
| $525 = $524 | 1; | |
| HEAP32[$523>>2] = $525; | |
| } | |
| $526 = ((($512)) + 8|0); | |
| $$0 = $526; | |
| return ($$0|0); | |
| } | |
| $527 = HEAP32[(7208)>>2]|0; | |
| $528 = ($527>>>0)>($nb$0>>>0); | |
| if ($528) { | |
| $529 = (($527) - ($nb$0))|0; | |
| HEAP32[(7208)>>2] = $529; | |
| $530 = HEAP32[(7220)>>2]|0; | |
| $531 = (($530) + ($nb$0)|0); | |
| HEAP32[(7220)>>2] = $531; | |
| $532 = $529 | 1; | |
| $533 = ((($531)) + 4|0); | |
| HEAP32[$533>>2] = $532; | |
| $534 = $nb$0 | 3; | |
| $535 = ((($530)) + 4|0); | |
| HEAP32[$535>>2] = $534; | |
| $536 = ((($530)) + 8|0); | |
| $$0 = $536; | |
| return ($$0|0); | |
| } | |
| $537 = HEAP32[1917]|0; | |
| $538 = ($537|0)==(0); | |
| do { | |
| if ($538) { | |
| $539 = (_sysconf(30)|0); | |
| $540 = (($539) + -1)|0; | |
| $541 = $540 & $539; | |
| $542 = ($541|0)==(0); | |
| if ($542) { | |
| HEAP32[(7676)>>2] = $539; | |
| HEAP32[(7672)>>2] = $539; | |
| HEAP32[(7680)>>2] = -1; | |
| HEAP32[(7684)>>2] = -1; | |
| HEAP32[(7688)>>2] = 0; | |
| HEAP32[(7640)>>2] = 0; | |
| $543 = (_time((0|0))|0); | |
| $544 = $543 & -16; | |
| $545 = $544 ^ 1431655768; | |
| HEAP32[1917] = $545; | |
| break; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| } while(0); | |
| $546 = (($nb$0) + 48)|0; | |
| $547 = HEAP32[(7676)>>2]|0; | |
| $548 = (($nb$0) + 47)|0; | |
| $549 = (($547) + ($548))|0; | |
| $550 = (0 - ($547))|0; | |
| $551 = $549 & $550; | |
| $552 = ($551>>>0)>($nb$0>>>0); | |
| if (!($552)) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $553 = HEAP32[(7636)>>2]|0; | |
| $554 = ($553|0)==(0); | |
| if (!($554)) { | |
| $555 = HEAP32[(7628)>>2]|0; | |
| $556 = (($555) + ($551))|0; | |
| $557 = ($556>>>0)<=($555>>>0); | |
| $558 = ($556>>>0)>($553>>>0); | |
| $or$cond1$i16 = $557 | $558; | |
| if ($or$cond1$i16) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| } | |
| $559 = HEAP32[(7640)>>2]|0; | |
| $560 = $559 & 4; | |
| $561 = ($560|0)==(0); | |
| L257: do { | |
| if ($561) { | |
| $562 = HEAP32[(7220)>>2]|0; | |
| $563 = ($562|0)==(0|0); | |
| L259: do { | |
| if ($563) { | |
| label = 173; | |
| } else { | |
| $sp$0$i$i = (7644); | |
| while(1) { | |
| $564 = HEAP32[$sp$0$i$i>>2]|0; | |
| $565 = ($564>>>0)>($562>>>0); | |
| if (!($565)) { | |
| $566 = ((($sp$0$i$i)) + 4|0); | |
| $567 = HEAP32[$566>>2]|0; | |
| $568 = (($564) + ($567)|0); | |
| $569 = ($568>>>0)>($562>>>0); | |
| if ($569) { | |
| $$lcssa153 = $sp$0$i$i;$$lcssa155 = $566; | |
| break; | |
| } | |
| } | |
| $570 = ((($sp$0$i$i)) + 8|0); | |
| $571 = HEAP32[$570>>2]|0; | |
| $572 = ($571|0)==(0|0); | |
| if ($572) { | |
| label = 173; | |
| break L259; | |
| } else { | |
| $sp$0$i$i = $571; | |
| } | |
| } | |
| $595 = HEAP32[(7208)>>2]|0; | |
| $596 = (($549) - ($595))|0; | |
| $597 = $596 & $550; | |
| $598 = ($597>>>0)<(2147483647); | |
| if ($598) { | |
| $599 = (_sbrk(($597|0))|0); | |
| $600 = HEAP32[$$lcssa153>>2]|0; | |
| $601 = HEAP32[$$lcssa155>>2]|0; | |
| $602 = (($600) + ($601)|0); | |
| $603 = ($599|0)==($602|0); | |
| if ($603) { | |
| $604 = ($599|0)==((-1)|0); | |
| if (!($604)) { | |
| $tbase$746$i = $599;$tsize$745$i = $597; | |
| label = 193; | |
| break L257; | |
| } | |
| } else { | |
| $br$2$ph$i = $599;$ssize$2$ph$i = $597; | |
| label = 183; | |
| } | |
| } | |
| } | |
| } while(0); | |
| do { | |
| if ((label|0) == 173) { | |
| $573 = (_sbrk(0)|0); | |
| $574 = ($573|0)==((-1)|0); | |
| if (!($574)) { | |
| $575 = $573; | |
| $576 = HEAP32[(7672)>>2]|0; | |
| $577 = (($576) + -1)|0; | |
| $578 = $577 & $575; | |
| $579 = ($578|0)==(0); | |
| if ($579) { | |
| $ssize$0$i = $551; | |
| } else { | |
| $580 = (($577) + ($575))|0; | |
| $581 = (0 - ($576))|0; | |
| $582 = $580 & $581; | |
| $583 = (($551) - ($575))|0; | |
| $584 = (($583) + ($582))|0; | |
| $ssize$0$i = $584; | |
| } | |
| $585 = HEAP32[(7628)>>2]|0; | |
| $586 = (($585) + ($ssize$0$i))|0; | |
| $587 = ($ssize$0$i>>>0)>($nb$0>>>0); | |
| $588 = ($ssize$0$i>>>0)<(2147483647); | |
| $or$cond$i17 = $587 & $588; | |
| if ($or$cond$i17) { | |
| $589 = HEAP32[(7636)>>2]|0; | |
| $590 = ($589|0)==(0); | |
| if (!($590)) { | |
| $591 = ($586>>>0)<=($585>>>0); | |
| $592 = ($586>>>0)>($589>>>0); | |
| $or$cond2$i = $591 | $592; | |
| if ($or$cond2$i) { | |
| break; | |
| } | |
| } | |
| $593 = (_sbrk(($ssize$0$i|0))|0); | |
| $594 = ($593|0)==($573|0); | |
| if ($594) { | |
| $tbase$746$i = $573;$tsize$745$i = $ssize$0$i; | |
| label = 193; | |
| break L257; | |
| } else { | |
| $br$2$ph$i = $593;$ssize$2$ph$i = $ssize$0$i; | |
| label = 183; | |
| } | |
| } | |
| } | |
| } | |
| } while(0); | |
| L279: do { | |
| if ((label|0) == 183) { | |
| $605 = (0 - ($ssize$2$ph$i))|0; | |
| $606 = ($br$2$ph$i|0)!=((-1)|0); | |
| $607 = ($ssize$2$ph$i>>>0)<(2147483647); | |
| $or$cond7$i = $607 & $606; | |
| $608 = ($546>>>0)>($ssize$2$ph$i>>>0); | |
| $or$cond8$i = $608 & $or$cond7$i; | |
| do { | |
| if ($or$cond8$i) { | |
| $609 = HEAP32[(7676)>>2]|0; | |
| $610 = (($548) - ($ssize$2$ph$i))|0; | |
| $611 = (($610) + ($609))|0; | |
| $612 = (0 - ($609))|0; | |
| $613 = $611 & $612; | |
| $614 = ($613>>>0)<(2147483647); | |
| if ($614) { | |
| $615 = (_sbrk(($613|0))|0); | |
| $616 = ($615|0)==((-1)|0); | |
| if ($616) { | |
| (_sbrk(($605|0))|0); | |
| break L279; | |
| } else { | |
| $617 = (($613) + ($ssize$2$ph$i))|0; | |
| $ssize$5$i = $617; | |
| break; | |
| } | |
| } else { | |
| $ssize$5$i = $ssize$2$ph$i; | |
| } | |
| } else { | |
| $ssize$5$i = $ssize$2$ph$i; | |
| } | |
| } while(0); | |
| $618 = ($br$2$ph$i|0)==((-1)|0); | |
| if (!($618)) { | |
| $tbase$746$i = $br$2$ph$i;$tsize$745$i = $ssize$5$i; | |
| label = 193; | |
| break L257; | |
| } | |
| } | |
| } while(0); | |
| $619 = HEAP32[(7640)>>2]|0; | |
| $620 = $619 | 4; | |
| HEAP32[(7640)>>2] = $620; | |
| label = 190; | |
| } else { | |
| label = 190; | |
| } | |
| } while(0); | |
| if ((label|0) == 190) { | |
| $621 = ($551>>>0)<(2147483647); | |
| if ($621) { | |
| $622 = (_sbrk(($551|0))|0); | |
| $623 = (_sbrk(0)|0); | |
| $624 = ($622|0)!=((-1)|0); | |
| $625 = ($623|0)!=((-1)|0); | |
| $or$cond5$i = $624 & $625; | |
| $626 = ($622>>>0)<($623>>>0); | |
| $or$cond10$i = $626 & $or$cond5$i; | |
| if ($or$cond10$i) { | |
| $627 = $623; | |
| $628 = $622; | |
| $629 = (($627) - ($628))|0; | |
| $630 = (($nb$0) + 40)|0; | |
| $$not$i = ($629>>>0)>($630>>>0); | |
| if ($$not$i) { | |
| $tbase$746$i = $622;$tsize$745$i = $629; | |
| label = 193; | |
| } | |
| } | |
| } | |
| } | |
| if ((label|0) == 193) { | |
| $631 = HEAP32[(7628)>>2]|0; | |
| $632 = (($631) + ($tsize$745$i))|0; | |
| HEAP32[(7628)>>2] = $632; | |
| $633 = HEAP32[(7632)>>2]|0; | |
| $634 = ($632>>>0)>($633>>>0); | |
| if ($634) { | |
| HEAP32[(7632)>>2] = $632; | |
| } | |
| $635 = HEAP32[(7220)>>2]|0; | |
| $636 = ($635|0)==(0|0); | |
| do { | |
| if ($636) { | |
| $637 = HEAP32[(7212)>>2]|0; | |
| $638 = ($637|0)==(0|0); | |
| $639 = ($tbase$746$i>>>0)<($637>>>0); | |
| $or$cond11$i = $638 | $639; | |
| if ($or$cond11$i) { | |
| HEAP32[(7212)>>2] = $tbase$746$i; | |
| } | |
| HEAP32[(7644)>>2] = $tbase$746$i; | |
| HEAP32[(7648)>>2] = $tsize$745$i; | |
| HEAP32[(7656)>>2] = 0; | |
| $640 = HEAP32[1917]|0; | |
| HEAP32[(7232)>>2] = $640; | |
| HEAP32[(7228)>>2] = -1; | |
| $i$01$i$i = 0; | |
| while(1) { | |
| $641 = $i$01$i$i << 1; | |
| $642 = (7236 + ($641<<2)|0); | |
| $643 = ((($642)) + 12|0); | |
| HEAP32[$643>>2] = $642; | |
| $644 = ((($642)) + 8|0); | |
| HEAP32[$644>>2] = $642; | |
| $645 = (($i$01$i$i) + 1)|0; | |
| $exitcond$i$i = ($645|0)==(32); | |
| if ($exitcond$i$i) { | |
| break; | |
| } else { | |
| $i$01$i$i = $645; | |
| } | |
| } | |
| $646 = (($tsize$745$i) + -40)|0; | |
| $647 = ((($tbase$746$i)) + 8|0); | |
| $648 = $647; | |
| $649 = $648 & 7; | |
| $650 = ($649|0)==(0); | |
| $651 = (0 - ($648))|0; | |
| $652 = $651 & 7; | |
| $653 = $650 ? 0 : $652; | |
| $654 = (($tbase$746$i) + ($653)|0); | |
| $655 = (($646) - ($653))|0; | |
| HEAP32[(7220)>>2] = $654; | |
| HEAP32[(7208)>>2] = $655; | |
| $656 = $655 | 1; | |
| $657 = ((($654)) + 4|0); | |
| HEAP32[$657>>2] = $656; | |
| $658 = (($654) + ($655)|0); | |
| $659 = ((($658)) + 4|0); | |
| HEAP32[$659>>2] = 40; | |
| $660 = HEAP32[(7684)>>2]|0; | |
| HEAP32[(7224)>>2] = $660; | |
| } else { | |
| $sp$068$i = (7644); | |
| while(1) { | |
| $661 = HEAP32[$sp$068$i>>2]|0; | |
| $662 = ((($sp$068$i)) + 4|0); | |
| $663 = HEAP32[$662>>2]|0; | |
| $664 = (($661) + ($663)|0); | |
| $665 = ($tbase$746$i|0)==($664|0); | |
| if ($665) { | |
| $$lcssa147 = $661;$$lcssa149 = $662;$$lcssa151 = $663;$sp$068$i$lcssa = $sp$068$i; | |
| label = 203; | |
| break; | |
| } | |
| $666 = ((($sp$068$i)) + 8|0); | |
| $667 = HEAP32[$666>>2]|0; | |
| $668 = ($667|0)==(0|0); | |
| if ($668) { | |
| break; | |
| } else { | |
| $sp$068$i = $667; | |
| } | |
| } | |
| if ((label|0) == 203) { | |
| $669 = ((($sp$068$i$lcssa)) + 12|0); | |
| $670 = HEAP32[$669>>2]|0; | |
| $671 = $670 & 8; | |
| $672 = ($671|0)==(0); | |
| if ($672) { | |
| $673 = ($635>>>0)>=($$lcssa147>>>0); | |
| $674 = ($635>>>0)<($tbase$746$i>>>0); | |
| $or$cond48$i = $674 & $673; | |
| if ($or$cond48$i) { | |
| $675 = (($$lcssa151) + ($tsize$745$i))|0; | |
| HEAP32[$$lcssa149>>2] = $675; | |
| $676 = HEAP32[(7208)>>2]|0; | |
| $677 = ((($635)) + 8|0); | |
| $678 = $677; | |
| $679 = $678 & 7; | |
| $680 = ($679|0)==(0); | |
| $681 = (0 - ($678))|0; | |
| $682 = $681 & 7; | |
| $683 = $680 ? 0 : $682; | |
| $684 = (($635) + ($683)|0); | |
| $685 = (($tsize$745$i) - ($683))|0; | |
| $686 = (($685) + ($676))|0; | |
| HEAP32[(7220)>>2] = $684; | |
| HEAP32[(7208)>>2] = $686; | |
| $687 = $686 | 1; | |
| $688 = ((($684)) + 4|0); | |
| HEAP32[$688>>2] = $687; | |
| $689 = (($684) + ($686)|0); | |
| $690 = ((($689)) + 4|0); | |
| HEAP32[$690>>2] = 40; | |
| $691 = HEAP32[(7684)>>2]|0; | |
| HEAP32[(7224)>>2] = $691; | |
| break; | |
| } | |
| } | |
| } | |
| $692 = HEAP32[(7212)>>2]|0; | |
| $693 = ($tbase$746$i>>>0)<($692>>>0); | |
| if ($693) { | |
| HEAP32[(7212)>>2] = $tbase$746$i; | |
| $757 = $tbase$746$i; | |
| } else { | |
| $757 = $692; | |
| } | |
| $694 = (($tbase$746$i) + ($tsize$745$i)|0); | |
| $sp$167$i = (7644); | |
| while(1) { | |
| $695 = HEAP32[$sp$167$i>>2]|0; | |
| $696 = ($695|0)==($694|0); | |
| if ($696) { | |
| $$lcssa144 = $sp$167$i;$sp$167$i$lcssa = $sp$167$i; | |
| label = 211; | |
| break; | |
| } | |
| $697 = ((($sp$167$i)) + 8|0); | |
| $698 = HEAP32[$697>>2]|0; | |
| $699 = ($698|0)==(0|0); | |
| if ($699) { | |
| $sp$0$i$i$i = (7644); | |
| break; | |
| } else { | |
| $sp$167$i = $698; | |
| } | |
| } | |
| if ((label|0) == 211) { | |
| $700 = ((($sp$167$i$lcssa)) + 12|0); | |
| $701 = HEAP32[$700>>2]|0; | |
| $702 = $701 & 8; | |
| $703 = ($702|0)==(0); | |
| if ($703) { | |
| HEAP32[$$lcssa144>>2] = $tbase$746$i; | |
| $704 = ((($sp$167$i$lcssa)) + 4|0); | |
| $705 = HEAP32[$704>>2]|0; | |
| $706 = (($705) + ($tsize$745$i))|0; | |
| HEAP32[$704>>2] = $706; | |
| $707 = ((($tbase$746$i)) + 8|0); | |
| $708 = $707; | |
| $709 = $708 & 7; | |
| $710 = ($709|0)==(0); | |
| $711 = (0 - ($708))|0; | |
| $712 = $711 & 7; | |
| $713 = $710 ? 0 : $712; | |
| $714 = (($tbase$746$i) + ($713)|0); | |
| $715 = ((($694)) + 8|0); | |
| $716 = $715; | |
| $717 = $716 & 7; | |
| $718 = ($717|0)==(0); | |
| $719 = (0 - ($716))|0; | |
| $720 = $719 & 7; | |
| $721 = $718 ? 0 : $720; | |
| $722 = (($694) + ($721)|0); | |
| $723 = $722; | |
| $724 = $714; | |
| $725 = (($723) - ($724))|0; | |
| $726 = (($714) + ($nb$0)|0); | |
| $727 = (($725) - ($nb$0))|0; | |
| $728 = $nb$0 | 3; | |
| $729 = ((($714)) + 4|0); | |
| HEAP32[$729>>2] = $728; | |
| $730 = ($722|0)==($635|0); | |
| do { | |
| if ($730) { | |
| $731 = HEAP32[(7208)>>2]|0; | |
| $732 = (($731) + ($727))|0; | |
| HEAP32[(7208)>>2] = $732; | |
| HEAP32[(7220)>>2] = $726; | |
| $733 = $732 | 1; | |
| $734 = ((($726)) + 4|0); | |
| HEAP32[$734>>2] = $733; | |
| } else { | |
| $735 = HEAP32[(7216)>>2]|0; | |
| $736 = ($722|0)==($735|0); | |
| if ($736) { | |
| $737 = HEAP32[(7204)>>2]|0; | |
| $738 = (($737) + ($727))|0; | |
| HEAP32[(7204)>>2] = $738; | |
| HEAP32[(7216)>>2] = $726; | |
| $739 = $738 | 1; | |
| $740 = ((($726)) + 4|0); | |
| HEAP32[$740>>2] = $739; | |
| $741 = (($726) + ($738)|0); | |
| HEAP32[$741>>2] = $738; | |
| break; | |
| } | |
| $742 = ((($722)) + 4|0); | |
| $743 = HEAP32[$742>>2]|0; | |
| $744 = $743 & 3; | |
| $745 = ($744|0)==(1); | |
| if ($745) { | |
| $746 = $743 & -8; | |
| $747 = $743 >>> 3; | |
| $748 = ($743>>>0)<(256); | |
| L331: do { | |
| if ($748) { | |
| $749 = ((($722)) + 8|0); | |
| $750 = HEAP32[$749>>2]|0; | |
| $751 = ((($722)) + 12|0); | |
| $752 = HEAP32[$751>>2]|0; | |
| $753 = $747 << 1; | |
| $754 = (7236 + ($753<<2)|0); | |
| $755 = ($750|0)==($754|0); | |
| do { | |
| if (!($755)) { | |
| $756 = ($750>>>0)<($757>>>0); | |
| if ($756) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $758 = ((($750)) + 12|0); | |
| $759 = HEAP32[$758>>2]|0; | |
| $760 = ($759|0)==($722|0); | |
| if ($760) { | |
| break; | |
| } | |
| _abort(); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $761 = ($752|0)==($750|0); | |
| if ($761) { | |
| $762 = 1 << $747; | |
| $763 = $762 ^ -1; | |
| $764 = HEAP32[1799]|0; | |
| $765 = $764 & $763; | |
| HEAP32[1799] = $765; | |
| break; | |
| } | |
| $766 = ($752|0)==($754|0); | |
| do { | |
| if ($766) { | |
| $$pre9$i$i = ((($752)) + 8|0); | |
| $$pre$phi10$i$iZ2D = $$pre9$i$i; | |
| } else { | |
| $767 = ($752>>>0)<($757>>>0); | |
| if ($767) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $768 = ((($752)) + 8|0); | |
| $769 = HEAP32[$768>>2]|0; | |
| $770 = ($769|0)==($722|0); | |
| if ($770) { | |
| $$pre$phi10$i$iZ2D = $768; | |
| break; | |
| } | |
| _abort(); | |
| // unreachable; | |
| } | |
| } while(0); | |
| $771 = ((($750)) + 12|0); | |
| HEAP32[$771>>2] = $752; | |
| HEAP32[$$pre$phi10$i$iZ2D>>2] = $750; | |
| } else { | |
| $772 = ((($722)) + 24|0); | |
| $773 = HEAP32[$772>>2]|0; | |
| $774 = ((($722)) + 12|0); | |
| $775 = HEAP32[$774>>2]|0; | |
| $776 = ($775|0)==($722|0); | |
| do { | |
| if ($776) { | |
| $786 = ((($722)) + 16|0); | |
| $787 = ((($786)) + 4|0); | |
| $788 = HEAP32[$787>>2]|0; | |
| $789 = ($788|0)==(0|0); | |
| if ($789) { | |
| $790 = HEAP32[$786>>2]|0; | |
| $791 = ($790|0)==(0|0); | |
| if ($791) { | |
| $R$3$i$i = 0; | |
| break; | |
| } else { | |
| $R$1$i$i = $790;$RP$1$i$i = $786; | |
| } | |
| } else { | |
| $R$1$i$i = $788;$RP$1$i$i = $787; | |
| } | |
| while(1) { | |
| $792 = ((($R$1$i$i)) + 20|0); | |
| $793 = HEAP32[$792>>2]|0; | |
| $794 = ($793|0)==(0|0); | |
| if (!($794)) { | |
| $R$1$i$i = $793;$RP$1$i$i = $792; | |
| continue; | |
| } | |
| $795 = ((($R$1$i$i)) + 16|0); | |
| $796 = HEAP32[$795>>2]|0; | |
| $797 = ($796|0)==(0|0); | |
| if ($797) { | |
| $R$1$i$i$lcssa = $R$1$i$i;$RP$1$i$i$lcssa = $RP$1$i$i; | |
| break; | |
| } else { | |
| $R$1$i$i = $796;$RP$1$i$i = $795; | |
| } | |
| } | |
| $798 = ($RP$1$i$i$lcssa>>>0)<($757>>>0); | |
| if ($798) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| HEAP32[$RP$1$i$i$lcssa>>2] = 0; | |
| $R$3$i$i = $R$1$i$i$lcssa; | |
| break; | |
| } | |
| } else { | |
| $777 = ((($722)) + 8|0); | |
| $778 = HEAP32[$777>>2]|0; | |
| $779 = ($778>>>0)<($757>>>0); | |
| if ($779) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $780 = ((($778)) + 12|0); | |
| $781 = HEAP32[$780>>2]|0; | |
| $782 = ($781|0)==($722|0); | |
| if (!($782)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $783 = ((($775)) + 8|0); | |
| $784 = HEAP32[$783>>2]|0; | |
| $785 = ($784|0)==($722|0); | |
| if ($785) { | |
| HEAP32[$780>>2] = $775; | |
| HEAP32[$783>>2] = $778; | |
| $R$3$i$i = $775; | |
| break; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| } while(0); | |
| $799 = ($773|0)==(0|0); | |
| if ($799) { | |
| break; | |
| } | |
| $800 = ((($722)) + 28|0); | |
| $801 = HEAP32[$800>>2]|0; | |
| $802 = (7500 + ($801<<2)|0); | |
| $803 = HEAP32[$802>>2]|0; | |
| $804 = ($722|0)==($803|0); | |
| do { | |
| if ($804) { | |
| HEAP32[$802>>2] = $R$3$i$i; | |
| $cond$i$i = ($R$3$i$i|0)==(0|0); | |
| if (!($cond$i$i)) { | |
| break; | |
| } | |
| $805 = 1 << $801; | |
| $806 = $805 ^ -1; | |
| $807 = HEAP32[(7200)>>2]|0; | |
| $808 = $807 & $806; | |
| HEAP32[(7200)>>2] = $808; | |
| break L331; | |
| } else { | |
| $809 = HEAP32[(7212)>>2]|0; | |
| $810 = ($773>>>0)<($809>>>0); | |
| if ($810) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $811 = ((($773)) + 16|0); | |
| $812 = HEAP32[$811>>2]|0; | |
| $813 = ($812|0)==($722|0); | |
| if ($813) { | |
| HEAP32[$811>>2] = $R$3$i$i; | |
| } else { | |
| $814 = ((($773)) + 20|0); | |
| HEAP32[$814>>2] = $R$3$i$i; | |
| } | |
| $815 = ($R$3$i$i|0)==(0|0); | |
| if ($815) { | |
| break L331; | |
| } | |
| } | |
| } while(0); | |
| $816 = HEAP32[(7212)>>2]|0; | |
| $817 = ($R$3$i$i>>>0)<($816>>>0); | |
| if ($817) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $818 = ((($R$3$i$i)) + 24|0); | |
| HEAP32[$818>>2] = $773; | |
| $819 = ((($722)) + 16|0); | |
| $820 = HEAP32[$819>>2]|0; | |
| $821 = ($820|0)==(0|0); | |
| do { | |
| if (!($821)) { | |
| $822 = ($820>>>0)<($816>>>0); | |
| if ($822) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $823 = ((($R$3$i$i)) + 16|0); | |
| HEAP32[$823>>2] = $820; | |
| $824 = ((($820)) + 24|0); | |
| HEAP32[$824>>2] = $R$3$i$i; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $825 = ((($819)) + 4|0); | |
| $826 = HEAP32[$825>>2]|0; | |
| $827 = ($826|0)==(0|0); | |
| if ($827) { | |
| break; | |
| } | |
| $828 = HEAP32[(7212)>>2]|0; | |
| $829 = ($826>>>0)<($828>>>0); | |
| if ($829) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $830 = ((($R$3$i$i)) + 20|0); | |
| HEAP32[$830>>2] = $826; | |
| $831 = ((($826)) + 24|0); | |
| HEAP32[$831>>2] = $R$3$i$i; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $832 = (($722) + ($746)|0); | |
| $833 = (($746) + ($727))|0; | |
| $oldfirst$0$i$i = $832;$qsize$0$i$i = $833; | |
| } else { | |
| $oldfirst$0$i$i = $722;$qsize$0$i$i = $727; | |
| } | |
| $834 = ((($oldfirst$0$i$i)) + 4|0); | |
| $835 = HEAP32[$834>>2]|0; | |
| $836 = $835 & -2; | |
| HEAP32[$834>>2] = $836; | |
| $837 = $qsize$0$i$i | 1; | |
| $838 = ((($726)) + 4|0); | |
| HEAP32[$838>>2] = $837; | |
| $839 = (($726) + ($qsize$0$i$i)|0); | |
| HEAP32[$839>>2] = $qsize$0$i$i; | |
| $840 = $qsize$0$i$i >>> 3; | |
| $841 = ($qsize$0$i$i>>>0)<(256); | |
| if ($841) { | |
| $842 = $840 << 1; | |
| $843 = (7236 + ($842<<2)|0); | |
| $844 = HEAP32[1799]|0; | |
| $845 = 1 << $840; | |
| $846 = $844 & $845; | |
| $847 = ($846|0)==(0); | |
| do { | |
| if ($847) { | |
| $848 = $844 | $845; | |
| HEAP32[1799] = $848; | |
| $$pre$i16$i = ((($843)) + 8|0); | |
| $$pre$phi$i17$iZ2D = $$pre$i16$i;$F4$0$i$i = $843; | |
| } else { | |
| $849 = ((($843)) + 8|0); | |
| $850 = HEAP32[$849>>2]|0; | |
| $851 = HEAP32[(7212)>>2]|0; | |
| $852 = ($850>>>0)<($851>>>0); | |
| if (!($852)) { | |
| $$pre$phi$i17$iZ2D = $849;$F4$0$i$i = $850; | |
| break; | |
| } | |
| _abort(); | |
| // unreachable; | |
| } | |
| } while(0); | |
| HEAP32[$$pre$phi$i17$iZ2D>>2] = $726; | |
| $853 = ((($F4$0$i$i)) + 12|0); | |
| HEAP32[$853>>2] = $726; | |
| $854 = ((($726)) + 8|0); | |
| HEAP32[$854>>2] = $F4$0$i$i; | |
| $855 = ((($726)) + 12|0); | |
| HEAP32[$855>>2] = $843; | |
| break; | |
| } | |
| $856 = $qsize$0$i$i >>> 8; | |
| $857 = ($856|0)==(0); | |
| do { | |
| if ($857) { | |
| $I7$0$i$i = 0; | |
| } else { | |
| $858 = ($qsize$0$i$i>>>0)>(16777215); | |
| if ($858) { | |
| $I7$0$i$i = 31; | |
| break; | |
| } | |
| $859 = (($856) + 1048320)|0; | |
| $860 = $859 >>> 16; | |
| $861 = $860 & 8; | |
| $862 = $856 << $861; | |
| $863 = (($862) + 520192)|0; | |
| $864 = $863 >>> 16; | |
| $865 = $864 & 4; | |
| $866 = $865 | $861; | |
| $867 = $862 << $865; | |
| $868 = (($867) + 245760)|0; | |
| $869 = $868 >>> 16; | |
| $870 = $869 & 2; | |
| $871 = $866 | $870; | |
| $872 = (14 - ($871))|0; | |
| $873 = $867 << $870; | |
| $874 = $873 >>> 15; | |
| $875 = (($872) + ($874))|0; | |
| $876 = $875 << 1; | |
| $877 = (($875) + 7)|0; | |
| $878 = $qsize$0$i$i >>> $877; | |
| $879 = $878 & 1; | |
| $880 = $879 | $876; | |
| $I7$0$i$i = $880; | |
| } | |
| } while(0); | |
| $881 = (7500 + ($I7$0$i$i<<2)|0); | |
| $882 = ((($726)) + 28|0); | |
| HEAP32[$882>>2] = $I7$0$i$i; | |
| $883 = ((($726)) + 16|0); | |
| $884 = ((($883)) + 4|0); | |
| HEAP32[$884>>2] = 0; | |
| HEAP32[$883>>2] = 0; | |
| $885 = HEAP32[(7200)>>2]|0; | |
| $886 = 1 << $I7$0$i$i; | |
| $887 = $885 & $886; | |
| $888 = ($887|0)==(0); | |
| if ($888) { | |
| $889 = $885 | $886; | |
| HEAP32[(7200)>>2] = $889; | |
| HEAP32[$881>>2] = $726; | |
| $890 = ((($726)) + 24|0); | |
| HEAP32[$890>>2] = $881; | |
| $891 = ((($726)) + 12|0); | |
| HEAP32[$891>>2] = $726; | |
| $892 = ((($726)) + 8|0); | |
| HEAP32[$892>>2] = $726; | |
| break; | |
| } | |
| $893 = HEAP32[$881>>2]|0; | |
| $894 = ($I7$0$i$i|0)==(31); | |
| $895 = $I7$0$i$i >>> 1; | |
| $896 = (25 - ($895))|0; | |
| $897 = $894 ? 0 : $896; | |
| $898 = $qsize$0$i$i << $897; | |
| $K8$0$i$i = $898;$T$0$i18$i = $893; | |
| while(1) { | |
| $899 = ((($T$0$i18$i)) + 4|0); | |
| $900 = HEAP32[$899>>2]|0; | |
| $901 = $900 & -8; | |
| $902 = ($901|0)==($qsize$0$i$i|0); | |
| if ($902) { | |
| $T$0$i18$i$lcssa = $T$0$i18$i; | |
| label = 281; | |
| break; | |
| } | |
| $903 = $K8$0$i$i >>> 31; | |
| $904 = (((($T$0$i18$i)) + 16|0) + ($903<<2)|0); | |
| $905 = $K8$0$i$i << 1; | |
| $906 = HEAP32[$904>>2]|0; | |
| $907 = ($906|0)==(0|0); | |
| if ($907) { | |
| $$lcssa = $904;$T$0$i18$i$lcssa139 = $T$0$i18$i; | |
| label = 278; | |
| break; | |
| } else { | |
| $K8$0$i$i = $905;$T$0$i18$i = $906; | |
| } | |
| } | |
| if ((label|0) == 278) { | |
| $908 = HEAP32[(7212)>>2]|0; | |
| $909 = ($$lcssa>>>0)<($908>>>0); | |
| if ($909) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| HEAP32[$$lcssa>>2] = $726; | |
| $910 = ((($726)) + 24|0); | |
| HEAP32[$910>>2] = $T$0$i18$i$lcssa139; | |
| $911 = ((($726)) + 12|0); | |
| HEAP32[$911>>2] = $726; | |
| $912 = ((($726)) + 8|0); | |
| HEAP32[$912>>2] = $726; | |
| break; | |
| } | |
| } | |
| else if ((label|0) == 281) { | |
| $913 = ((($T$0$i18$i$lcssa)) + 8|0); | |
| $914 = HEAP32[$913>>2]|0; | |
| $915 = HEAP32[(7212)>>2]|0; | |
| $916 = ($914>>>0)>=($915>>>0); | |
| $not$$i20$i = ($T$0$i18$i$lcssa>>>0)>=($915>>>0); | |
| $917 = $916 & $not$$i20$i; | |
| if ($917) { | |
| $918 = ((($914)) + 12|0); | |
| HEAP32[$918>>2] = $726; | |
| HEAP32[$913>>2] = $726; | |
| $919 = ((($726)) + 8|0); | |
| HEAP32[$919>>2] = $914; | |
| $920 = ((($726)) + 12|0); | |
| HEAP32[$920>>2] = $T$0$i18$i$lcssa; | |
| $921 = ((($726)) + 24|0); | |
| HEAP32[$921>>2] = 0; | |
| break; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $1052 = ((($714)) + 8|0); | |
| $$0 = $1052; | |
| return ($$0|0); | |
| } else { | |
| $sp$0$i$i$i = (7644); | |
| } | |
| } | |
| while(1) { | |
| $922 = HEAP32[$sp$0$i$i$i>>2]|0; | |
| $923 = ($922>>>0)>($635>>>0); | |
| if (!($923)) { | |
| $924 = ((($sp$0$i$i$i)) + 4|0); | |
| $925 = HEAP32[$924>>2]|0; | |
| $926 = (($922) + ($925)|0); | |
| $927 = ($926>>>0)>($635>>>0); | |
| if ($927) { | |
| $$lcssa142 = $926; | |
| break; | |
| } | |
| } | |
| $928 = ((($sp$0$i$i$i)) + 8|0); | |
| $929 = HEAP32[$928>>2]|0; | |
| $sp$0$i$i$i = $929; | |
| } | |
| $930 = ((($$lcssa142)) + -47|0); | |
| $931 = ((($930)) + 8|0); | |
| $932 = $931; | |
| $933 = $932 & 7; | |
| $934 = ($933|0)==(0); | |
| $935 = (0 - ($932))|0; | |
| $936 = $935 & 7; | |
| $937 = $934 ? 0 : $936; | |
| $938 = (($930) + ($937)|0); | |
| $939 = ((($635)) + 16|0); | |
| $940 = ($938>>>0)<($939>>>0); | |
| $941 = $940 ? $635 : $938; | |
| $942 = ((($941)) + 8|0); | |
| $943 = ((($941)) + 24|0); | |
| $944 = (($tsize$745$i) + -40)|0; | |
| $945 = ((($tbase$746$i)) + 8|0); | |
| $946 = $945; | |
| $947 = $946 & 7; | |
| $948 = ($947|0)==(0); | |
| $949 = (0 - ($946))|0; | |
| $950 = $949 & 7; | |
| $951 = $948 ? 0 : $950; | |
| $952 = (($tbase$746$i) + ($951)|0); | |
| $953 = (($944) - ($951))|0; | |
| HEAP32[(7220)>>2] = $952; | |
| HEAP32[(7208)>>2] = $953; | |
| $954 = $953 | 1; | |
| $955 = ((($952)) + 4|0); | |
| HEAP32[$955>>2] = $954; | |
| $956 = (($952) + ($953)|0); | |
| $957 = ((($956)) + 4|0); | |
| HEAP32[$957>>2] = 40; | |
| $958 = HEAP32[(7684)>>2]|0; | |
| HEAP32[(7224)>>2] = $958; | |
| $959 = ((($941)) + 4|0); | |
| HEAP32[$959>>2] = 27; | |
| ;HEAP32[$942>>2]=HEAP32[(7644)>>2]|0;HEAP32[$942+4>>2]=HEAP32[(7644)+4>>2]|0;HEAP32[$942+8>>2]=HEAP32[(7644)+8>>2]|0;HEAP32[$942+12>>2]=HEAP32[(7644)+12>>2]|0; | |
| HEAP32[(7644)>>2] = $tbase$746$i; | |
| HEAP32[(7648)>>2] = $tsize$745$i; | |
| HEAP32[(7656)>>2] = 0; | |
| HEAP32[(7652)>>2] = $942; | |
| $p$0$i$i = $943; | |
| while(1) { | |
| $960 = ((($p$0$i$i)) + 4|0); | |
| HEAP32[$960>>2] = 7; | |
| $961 = ((($960)) + 4|0); | |
| $962 = ($961>>>0)<($$lcssa142>>>0); | |
| if ($962) { | |
| $p$0$i$i = $960; | |
| } else { | |
| break; | |
| } | |
| } | |
| $963 = ($941|0)==($635|0); | |
| if (!($963)) { | |
| $964 = $941; | |
| $965 = $635; | |
| $966 = (($964) - ($965))|0; | |
| $967 = HEAP32[$959>>2]|0; | |
| $968 = $967 & -2; | |
| HEAP32[$959>>2] = $968; | |
| $969 = $966 | 1; | |
| $970 = ((($635)) + 4|0); | |
| HEAP32[$970>>2] = $969; | |
| HEAP32[$941>>2] = $966; | |
| $971 = $966 >>> 3; | |
| $972 = ($966>>>0)<(256); | |
| if ($972) { | |
| $973 = $971 << 1; | |
| $974 = (7236 + ($973<<2)|0); | |
| $975 = HEAP32[1799]|0; | |
| $976 = 1 << $971; | |
| $977 = $975 & $976; | |
| $978 = ($977|0)==(0); | |
| if ($978) { | |
| $979 = $975 | $976; | |
| HEAP32[1799] = $979; | |
| $$pre$i$i = ((($974)) + 8|0); | |
| $$pre$phi$i$iZ2D = $$pre$i$i;$F$0$i$i = $974; | |
| } else { | |
| $980 = ((($974)) + 8|0); | |
| $981 = HEAP32[$980>>2]|0; | |
| $982 = HEAP32[(7212)>>2]|0; | |
| $983 = ($981>>>0)<($982>>>0); | |
| if ($983) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $$pre$phi$i$iZ2D = $980;$F$0$i$i = $981; | |
| } | |
| } | |
| HEAP32[$$pre$phi$i$iZ2D>>2] = $635; | |
| $984 = ((($F$0$i$i)) + 12|0); | |
| HEAP32[$984>>2] = $635; | |
| $985 = ((($635)) + 8|0); | |
| HEAP32[$985>>2] = $F$0$i$i; | |
| $986 = ((($635)) + 12|0); | |
| HEAP32[$986>>2] = $974; | |
| break; | |
| } | |
| $987 = $966 >>> 8; | |
| $988 = ($987|0)==(0); | |
| if ($988) { | |
| $I1$0$i$i = 0; | |
| } else { | |
| $989 = ($966>>>0)>(16777215); | |
| if ($989) { | |
| $I1$0$i$i = 31; | |
| } else { | |
| $990 = (($987) + 1048320)|0; | |
| $991 = $990 >>> 16; | |
| $992 = $991 & 8; | |
| $993 = $987 << $992; | |
| $994 = (($993) + 520192)|0; | |
| $995 = $994 >>> 16; | |
| $996 = $995 & 4; | |
| $997 = $996 | $992; | |
| $998 = $993 << $996; | |
| $999 = (($998) + 245760)|0; | |
| $1000 = $999 >>> 16; | |
| $1001 = $1000 & 2; | |
| $1002 = $997 | $1001; | |
| $1003 = (14 - ($1002))|0; | |
| $1004 = $998 << $1001; | |
| $1005 = $1004 >>> 15; | |
| $1006 = (($1003) + ($1005))|0; | |
| $1007 = $1006 << 1; | |
| $1008 = (($1006) + 7)|0; | |
| $1009 = $966 >>> $1008; | |
| $1010 = $1009 & 1; | |
| $1011 = $1010 | $1007; | |
| $I1$0$i$i = $1011; | |
| } | |
| } | |
| $1012 = (7500 + ($I1$0$i$i<<2)|0); | |
| $1013 = ((($635)) + 28|0); | |
| HEAP32[$1013>>2] = $I1$0$i$i; | |
| $1014 = ((($635)) + 20|0); | |
| HEAP32[$1014>>2] = 0; | |
| HEAP32[$939>>2] = 0; | |
| $1015 = HEAP32[(7200)>>2]|0; | |
| $1016 = 1 << $I1$0$i$i; | |
| $1017 = $1015 & $1016; | |
| $1018 = ($1017|0)==(0); | |
| if ($1018) { | |
| $1019 = $1015 | $1016; | |
| HEAP32[(7200)>>2] = $1019; | |
| HEAP32[$1012>>2] = $635; | |
| $1020 = ((($635)) + 24|0); | |
| HEAP32[$1020>>2] = $1012; | |
| $1021 = ((($635)) + 12|0); | |
| HEAP32[$1021>>2] = $635; | |
| $1022 = ((($635)) + 8|0); | |
| HEAP32[$1022>>2] = $635; | |
| break; | |
| } | |
| $1023 = HEAP32[$1012>>2]|0; | |
| $1024 = ($I1$0$i$i|0)==(31); | |
| $1025 = $I1$0$i$i >>> 1; | |
| $1026 = (25 - ($1025))|0; | |
| $1027 = $1024 ? 0 : $1026; | |
| $1028 = $966 << $1027; | |
| $K2$0$i$i = $1028;$T$0$i$i = $1023; | |
| while(1) { | |
| $1029 = ((($T$0$i$i)) + 4|0); | |
| $1030 = HEAP32[$1029>>2]|0; | |
| $1031 = $1030 & -8; | |
| $1032 = ($1031|0)==($966|0); | |
| if ($1032) { | |
| $T$0$i$i$lcssa = $T$0$i$i; | |
| label = 307; | |
| break; | |
| } | |
| $1033 = $K2$0$i$i >>> 31; | |
| $1034 = (((($T$0$i$i)) + 16|0) + ($1033<<2)|0); | |
| $1035 = $K2$0$i$i << 1; | |
| $1036 = HEAP32[$1034>>2]|0; | |
| $1037 = ($1036|0)==(0|0); | |
| if ($1037) { | |
| $$lcssa141 = $1034;$T$0$i$i$lcssa140 = $T$0$i$i; | |
| label = 304; | |
| break; | |
| } else { | |
| $K2$0$i$i = $1035;$T$0$i$i = $1036; | |
| } | |
| } | |
| if ((label|0) == 304) { | |
| $1038 = HEAP32[(7212)>>2]|0; | |
| $1039 = ($$lcssa141>>>0)<($1038>>>0); | |
| if ($1039) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| HEAP32[$$lcssa141>>2] = $635; | |
| $1040 = ((($635)) + 24|0); | |
| HEAP32[$1040>>2] = $T$0$i$i$lcssa140; | |
| $1041 = ((($635)) + 12|0); | |
| HEAP32[$1041>>2] = $635; | |
| $1042 = ((($635)) + 8|0); | |
| HEAP32[$1042>>2] = $635; | |
| break; | |
| } | |
| } | |
| else if ((label|0) == 307) { | |
| $1043 = ((($T$0$i$i$lcssa)) + 8|0); | |
| $1044 = HEAP32[$1043>>2]|0; | |
| $1045 = HEAP32[(7212)>>2]|0; | |
| $1046 = ($1044>>>0)>=($1045>>>0); | |
| $not$$i$i = ($T$0$i$i$lcssa>>>0)>=($1045>>>0); | |
| $1047 = $1046 & $not$$i$i; | |
| if ($1047) { | |
| $1048 = ((($1044)) + 12|0); | |
| HEAP32[$1048>>2] = $635; | |
| HEAP32[$1043>>2] = $635; | |
| $1049 = ((($635)) + 8|0); | |
| HEAP32[$1049>>2] = $1044; | |
| $1050 = ((($635)) + 12|0); | |
| HEAP32[$1050>>2] = $T$0$i$i$lcssa; | |
| $1051 = ((($635)) + 24|0); | |
| HEAP32[$1051>>2] = 0; | |
| break; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| } | |
| } | |
| } while(0); | |
| $1053 = HEAP32[(7208)>>2]|0; | |
| $1054 = ($1053>>>0)>($nb$0>>>0); | |
| if ($1054) { | |
| $1055 = (($1053) - ($nb$0))|0; | |
| HEAP32[(7208)>>2] = $1055; | |
| $1056 = HEAP32[(7220)>>2]|0; | |
| $1057 = (($1056) + ($nb$0)|0); | |
| HEAP32[(7220)>>2] = $1057; | |
| $1058 = $1055 | 1; | |
| $1059 = ((($1057)) + 4|0); | |
| HEAP32[$1059>>2] = $1058; | |
| $1060 = $nb$0 | 3; | |
| $1061 = ((($1056)) + 4|0); | |
| HEAP32[$1061>>2] = $1060; | |
| $1062 = ((($1056)) + 8|0); | |
| $$0 = $1062; | |
| return ($$0|0); | |
| } | |
| } | |
| $1063 = (___errno_location()|0); | |
| HEAP32[$1063>>2] = 12; | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| function _free($mem) { | |
| $mem = $mem|0; | |
| var $$lcssa = 0, $$pre = 0, $$pre$phi41Z2D = 0, $$pre$phi43Z2D = 0, $$pre$phiZ2D = 0, $$pre40 = 0, $$pre42 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; | |
| var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; | |
| var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; | |
| var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0; | |
| var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0; | |
| var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0; | |
| var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; | |
| var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; | |
| var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; | |
| var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; | |
| var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; | |
| var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0; | |
| var $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; | |
| var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; | |
| var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; | |
| var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; | |
| var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F18$0 = 0, $I20$0 = 0, $K21$0 = 0, $R$1 = 0, $R$1$lcssa = 0, $R$3 = 0, $R8$1 = 0, $R8$1$lcssa = 0, $R8$3 = 0, $RP$1 = 0, $RP$1$lcssa = 0, $RP10$1 = 0, $RP10$1$lcssa = 0; | |
| var $T$0 = 0, $T$0$lcssa = 0, $T$0$lcssa48 = 0, $cond20 = 0, $cond21 = 0, $not$ = 0, $p$1 = 0, $psize$1 = 0, $psize$2 = 0, $sp$0$i = 0, $sp$0$in$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = ($mem|0)==(0|0); | |
| if ($0) { | |
| return; | |
| } | |
| $1 = ((($mem)) + -8|0); | |
| $2 = HEAP32[(7212)>>2]|0; | |
| $3 = ($1>>>0)<($2>>>0); | |
| if ($3) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $4 = ((($mem)) + -4|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = $5 & 3; | |
| $7 = ($6|0)==(1); | |
| if ($7) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $8 = $5 & -8; | |
| $9 = (($1) + ($8)|0); | |
| $10 = $5 & 1; | |
| $11 = ($10|0)==(0); | |
| do { | |
| if ($11) { | |
| $12 = HEAP32[$1>>2]|0; | |
| $13 = ($6|0)==(0); | |
| if ($13) { | |
| return; | |
| } | |
| $14 = (0 - ($12))|0; | |
| $15 = (($1) + ($14)|0); | |
| $16 = (($12) + ($8))|0; | |
| $17 = ($15>>>0)<($2>>>0); | |
| if ($17) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $18 = HEAP32[(7216)>>2]|0; | |
| $19 = ($15|0)==($18|0); | |
| if ($19) { | |
| $104 = ((($9)) + 4|0); | |
| $105 = HEAP32[$104>>2]|0; | |
| $106 = $105 & 3; | |
| $107 = ($106|0)==(3); | |
| if (!($107)) { | |
| $p$1 = $15;$psize$1 = $16; | |
| break; | |
| } | |
| HEAP32[(7204)>>2] = $16; | |
| $108 = $105 & -2; | |
| HEAP32[$104>>2] = $108; | |
| $109 = $16 | 1; | |
| $110 = ((($15)) + 4|0); | |
| HEAP32[$110>>2] = $109; | |
| $111 = (($15) + ($16)|0); | |
| HEAP32[$111>>2] = $16; | |
| return; | |
| } | |
| $20 = $12 >>> 3; | |
| $21 = ($12>>>0)<(256); | |
| if ($21) { | |
| $22 = ((($15)) + 8|0); | |
| $23 = HEAP32[$22>>2]|0; | |
| $24 = ((($15)) + 12|0); | |
| $25 = HEAP32[$24>>2]|0; | |
| $26 = $20 << 1; | |
| $27 = (7236 + ($26<<2)|0); | |
| $28 = ($23|0)==($27|0); | |
| if (!($28)) { | |
| $29 = ($23>>>0)<($2>>>0); | |
| if ($29) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $30 = ((($23)) + 12|0); | |
| $31 = HEAP32[$30>>2]|0; | |
| $32 = ($31|0)==($15|0); | |
| if (!($32)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| $33 = ($25|0)==($23|0); | |
| if ($33) { | |
| $34 = 1 << $20; | |
| $35 = $34 ^ -1; | |
| $36 = HEAP32[1799]|0; | |
| $37 = $36 & $35; | |
| HEAP32[1799] = $37; | |
| $p$1 = $15;$psize$1 = $16; | |
| break; | |
| } | |
| $38 = ($25|0)==($27|0); | |
| if ($38) { | |
| $$pre42 = ((($25)) + 8|0); | |
| $$pre$phi43Z2D = $$pre42; | |
| } else { | |
| $39 = ($25>>>0)<($2>>>0); | |
| if ($39) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $40 = ((($25)) + 8|0); | |
| $41 = HEAP32[$40>>2]|0; | |
| $42 = ($41|0)==($15|0); | |
| if ($42) { | |
| $$pre$phi43Z2D = $40; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| $43 = ((($23)) + 12|0); | |
| HEAP32[$43>>2] = $25; | |
| HEAP32[$$pre$phi43Z2D>>2] = $23; | |
| $p$1 = $15;$psize$1 = $16; | |
| break; | |
| } | |
| $44 = ((($15)) + 24|0); | |
| $45 = HEAP32[$44>>2]|0; | |
| $46 = ((($15)) + 12|0); | |
| $47 = HEAP32[$46>>2]|0; | |
| $48 = ($47|0)==($15|0); | |
| do { | |
| if ($48) { | |
| $58 = ((($15)) + 16|0); | |
| $59 = ((($58)) + 4|0); | |
| $60 = HEAP32[$59>>2]|0; | |
| $61 = ($60|0)==(0|0); | |
| if ($61) { | |
| $62 = HEAP32[$58>>2]|0; | |
| $63 = ($62|0)==(0|0); | |
| if ($63) { | |
| $R$3 = 0; | |
| break; | |
| } else { | |
| $R$1 = $62;$RP$1 = $58; | |
| } | |
| } else { | |
| $R$1 = $60;$RP$1 = $59; | |
| } | |
| while(1) { | |
| $64 = ((($R$1)) + 20|0); | |
| $65 = HEAP32[$64>>2]|0; | |
| $66 = ($65|0)==(0|0); | |
| if (!($66)) { | |
| $R$1 = $65;$RP$1 = $64; | |
| continue; | |
| } | |
| $67 = ((($R$1)) + 16|0); | |
| $68 = HEAP32[$67>>2]|0; | |
| $69 = ($68|0)==(0|0); | |
| if ($69) { | |
| $R$1$lcssa = $R$1;$RP$1$lcssa = $RP$1; | |
| break; | |
| } else { | |
| $R$1 = $68;$RP$1 = $67; | |
| } | |
| } | |
| $70 = ($RP$1$lcssa>>>0)<($2>>>0); | |
| if ($70) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| HEAP32[$RP$1$lcssa>>2] = 0; | |
| $R$3 = $R$1$lcssa; | |
| break; | |
| } | |
| } else { | |
| $49 = ((($15)) + 8|0); | |
| $50 = HEAP32[$49>>2]|0; | |
| $51 = ($50>>>0)<($2>>>0); | |
| if ($51) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $52 = ((($50)) + 12|0); | |
| $53 = HEAP32[$52>>2]|0; | |
| $54 = ($53|0)==($15|0); | |
| if (!($54)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $55 = ((($47)) + 8|0); | |
| $56 = HEAP32[$55>>2]|0; | |
| $57 = ($56|0)==($15|0); | |
| if ($57) { | |
| HEAP32[$52>>2] = $47; | |
| HEAP32[$55>>2] = $50; | |
| $R$3 = $47; | |
| break; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| } while(0); | |
| $71 = ($45|0)==(0|0); | |
| if ($71) { | |
| $p$1 = $15;$psize$1 = $16; | |
| } else { | |
| $72 = ((($15)) + 28|0); | |
| $73 = HEAP32[$72>>2]|0; | |
| $74 = (7500 + ($73<<2)|0); | |
| $75 = HEAP32[$74>>2]|0; | |
| $76 = ($15|0)==($75|0); | |
| if ($76) { | |
| HEAP32[$74>>2] = $R$3; | |
| $cond20 = ($R$3|0)==(0|0); | |
| if ($cond20) { | |
| $77 = 1 << $73; | |
| $78 = $77 ^ -1; | |
| $79 = HEAP32[(7200)>>2]|0; | |
| $80 = $79 & $78; | |
| HEAP32[(7200)>>2] = $80; | |
| $p$1 = $15;$psize$1 = $16; | |
| break; | |
| } | |
| } else { | |
| $81 = HEAP32[(7212)>>2]|0; | |
| $82 = ($45>>>0)<($81>>>0); | |
| if ($82) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $83 = ((($45)) + 16|0); | |
| $84 = HEAP32[$83>>2]|0; | |
| $85 = ($84|0)==($15|0); | |
| if ($85) { | |
| HEAP32[$83>>2] = $R$3; | |
| } else { | |
| $86 = ((($45)) + 20|0); | |
| HEAP32[$86>>2] = $R$3; | |
| } | |
| $87 = ($R$3|0)==(0|0); | |
| if ($87) { | |
| $p$1 = $15;$psize$1 = $16; | |
| break; | |
| } | |
| } | |
| $88 = HEAP32[(7212)>>2]|0; | |
| $89 = ($R$3>>>0)<($88>>>0); | |
| if ($89) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $90 = ((($R$3)) + 24|0); | |
| HEAP32[$90>>2] = $45; | |
| $91 = ((($15)) + 16|0); | |
| $92 = HEAP32[$91>>2]|0; | |
| $93 = ($92|0)==(0|0); | |
| do { | |
| if (!($93)) { | |
| $94 = ($92>>>0)<($88>>>0); | |
| if ($94) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $95 = ((($R$3)) + 16|0); | |
| HEAP32[$95>>2] = $92; | |
| $96 = ((($92)) + 24|0); | |
| HEAP32[$96>>2] = $R$3; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $97 = ((($91)) + 4|0); | |
| $98 = HEAP32[$97>>2]|0; | |
| $99 = ($98|0)==(0|0); | |
| if ($99) { | |
| $p$1 = $15;$psize$1 = $16; | |
| } else { | |
| $100 = HEAP32[(7212)>>2]|0; | |
| $101 = ($98>>>0)<($100>>>0); | |
| if ($101) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $102 = ((($R$3)) + 20|0); | |
| HEAP32[$102>>2] = $98; | |
| $103 = ((($98)) + 24|0); | |
| HEAP32[$103>>2] = $R$3; | |
| $p$1 = $15;$psize$1 = $16; | |
| break; | |
| } | |
| } | |
| } | |
| } else { | |
| $p$1 = $1;$psize$1 = $8; | |
| } | |
| } while(0); | |
| $112 = ($p$1>>>0)<($9>>>0); | |
| if (!($112)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $113 = ((($9)) + 4|0); | |
| $114 = HEAP32[$113>>2]|0; | |
| $115 = $114 & 1; | |
| $116 = ($115|0)==(0); | |
| if ($116) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $117 = $114 & 2; | |
| $118 = ($117|0)==(0); | |
| if ($118) { | |
| $119 = HEAP32[(7220)>>2]|0; | |
| $120 = ($9|0)==($119|0); | |
| if ($120) { | |
| $121 = HEAP32[(7208)>>2]|0; | |
| $122 = (($121) + ($psize$1))|0; | |
| HEAP32[(7208)>>2] = $122; | |
| HEAP32[(7220)>>2] = $p$1; | |
| $123 = $122 | 1; | |
| $124 = ((($p$1)) + 4|0); | |
| HEAP32[$124>>2] = $123; | |
| $125 = HEAP32[(7216)>>2]|0; | |
| $126 = ($p$1|0)==($125|0); | |
| if (!($126)) { | |
| return; | |
| } | |
| HEAP32[(7216)>>2] = 0; | |
| HEAP32[(7204)>>2] = 0; | |
| return; | |
| } | |
| $127 = HEAP32[(7216)>>2]|0; | |
| $128 = ($9|0)==($127|0); | |
| if ($128) { | |
| $129 = HEAP32[(7204)>>2]|0; | |
| $130 = (($129) + ($psize$1))|0; | |
| HEAP32[(7204)>>2] = $130; | |
| HEAP32[(7216)>>2] = $p$1; | |
| $131 = $130 | 1; | |
| $132 = ((($p$1)) + 4|0); | |
| HEAP32[$132>>2] = $131; | |
| $133 = (($p$1) + ($130)|0); | |
| HEAP32[$133>>2] = $130; | |
| return; | |
| } | |
| $134 = $114 & -8; | |
| $135 = (($134) + ($psize$1))|0; | |
| $136 = $114 >>> 3; | |
| $137 = ($114>>>0)<(256); | |
| do { | |
| if ($137) { | |
| $138 = ((($9)) + 8|0); | |
| $139 = HEAP32[$138>>2]|0; | |
| $140 = ((($9)) + 12|0); | |
| $141 = HEAP32[$140>>2]|0; | |
| $142 = $136 << 1; | |
| $143 = (7236 + ($142<<2)|0); | |
| $144 = ($139|0)==($143|0); | |
| if (!($144)) { | |
| $145 = HEAP32[(7212)>>2]|0; | |
| $146 = ($139>>>0)<($145>>>0); | |
| if ($146) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $147 = ((($139)) + 12|0); | |
| $148 = HEAP32[$147>>2]|0; | |
| $149 = ($148|0)==($9|0); | |
| if (!($149)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| $150 = ($141|0)==($139|0); | |
| if ($150) { | |
| $151 = 1 << $136; | |
| $152 = $151 ^ -1; | |
| $153 = HEAP32[1799]|0; | |
| $154 = $153 & $152; | |
| HEAP32[1799] = $154; | |
| break; | |
| } | |
| $155 = ($141|0)==($143|0); | |
| if ($155) { | |
| $$pre40 = ((($141)) + 8|0); | |
| $$pre$phi41Z2D = $$pre40; | |
| } else { | |
| $156 = HEAP32[(7212)>>2]|0; | |
| $157 = ($141>>>0)<($156>>>0); | |
| if ($157) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $158 = ((($141)) + 8|0); | |
| $159 = HEAP32[$158>>2]|0; | |
| $160 = ($159|0)==($9|0); | |
| if ($160) { | |
| $$pre$phi41Z2D = $158; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| $161 = ((($139)) + 12|0); | |
| HEAP32[$161>>2] = $141; | |
| HEAP32[$$pre$phi41Z2D>>2] = $139; | |
| } else { | |
| $162 = ((($9)) + 24|0); | |
| $163 = HEAP32[$162>>2]|0; | |
| $164 = ((($9)) + 12|0); | |
| $165 = HEAP32[$164>>2]|0; | |
| $166 = ($165|0)==($9|0); | |
| do { | |
| if ($166) { | |
| $177 = ((($9)) + 16|0); | |
| $178 = ((($177)) + 4|0); | |
| $179 = HEAP32[$178>>2]|0; | |
| $180 = ($179|0)==(0|0); | |
| if ($180) { | |
| $181 = HEAP32[$177>>2]|0; | |
| $182 = ($181|0)==(0|0); | |
| if ($182) { | |
| $R8$3 = 0; | |
| break; | |
| } else { | |
| $R8$1 = $181;$RP10$1 = $177; | |
| } | |
| } else { | |
| $R8$1 = $179;$RP10$1 = $178; | |
| } | |
| while(1) { | |
| $183 = ((($R8$1)) + 20|0); | |
| $184 = HEAP32[$183>>2]|0; | |
| $185 = ($184|0)==(0|0); | |
| if (!($185)) { | |
| $R8$1 = $184;$RP10$1 = $183; | |
| continue; | |
| } | |
| $186 = ((($R8$1)) + 16|0); | |
| $187 = HEAP32[$186>>2]|0; | |
| $188 = ($187|0)==(0|0); | |
| if ($188) { | |
| $R8$1$lcssa = $R8$1;$RP10$1$lcssa = $RP10$1; | |
| break; | |
| } else { | |
| $R8$1 = $187;$RP10$1 = $186; | |
| } | |
| } | |
| $189 = HEAP32[(7212)>>2]|0; | |
| $190 = ($RP10$1$lcssa>>>0)<($189>>>0); | |
| if ($190) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| HEAP32[$RP10$1$lcssa>>2] = 0; | |
| $R8$3 = $R8$1$lcssa; | |
| break; | |
| } | |
| } else { | |
| $167 = ((($9)) + 8|0); | |
| $168 = HEAP32[$167>>2]|0; | |
| $169 = HEAP32[(7212)>>2]|0; | |
| $170 = ($168>>>0)<($169>>>0); | |
| if ($170) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $171 = ((($168)) + 12|0); | |
| $172 = HEAP32[$171>>2]|0; | |
| $173 = ($172|0)==($9|0); | |
| if (!($173)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $174 = ((($165)) + 8|0); | |
| $175 = HEAP32[$174>>2]|0; | |
| $176 = ($175|0)==($9|0); | |
| if ($176) { | |
| HEAP32[$171>>2] = $165; | |
| HEAP32[$174>>2] = $168; | |
| $R8$3 = $165; | |
| break; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| } while(0); | |
| $191 = ($163|0)==(0|0); | |
| if (!($191)) { | |
| $192 = ((($9)) + 28|0); | |
| $193 = HEAP32[$192>>2]|0; | |
| $194 = (7500 + ($193<<2)|0); | |
| $195 = HEAP32[$194>>2]|0; | |
| $196 = ($9|0)==($195|0); | |
| if ($196) { | |
| HEAP32[$194>>2] = $R8$3; | |
| $cond21 = ($R8$3|0)==(0|0); | |
| if ($cond21) { | |
| $197 = 1 << $193; | |
| $198 = $197 ^ -1; | |
| $199 = HEAP32[(7200)>>2]|0; | |
| $200 = $199 & $198; | |
| HEAP32[(7200)>>2] = $200; | |
| break; | |
| } | |
| } else { | |
| $201 = HEAP32[(7212)>>2]|0; | |
| $202 = ($163>>>0)<($201>>>0); | |
| if ($202) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $203 = ((($163)) + 16|0); | |
| $204 = HEAP32[$203>>2]|0; | |
| $205 = ($204|0)==($9|0); | |
| if ($205) { | |
| HEAP32[$203>>2] = $R8$3; | |
| } else { | |
| $206 = ((($163)) + 20|0); | |
| HEAP32[$206>>2] = $R8$3; | |
| } | |
| $207 = ($R8$3|0)==(0|0); | |
| if ($207) { | |
| break; | |
| } | |
| } | |
| $208 = HEAP32[(7212)>>2]|0; | |
| $209 = ($R8$3>>>0)<($208>>>0); | |
| if ($209) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $210 = ((($R8$3)) + 24|0); | |
| HEAP32[$210>>2] = $163; | |
| $211 = ((($9)) + 16|0); | |
| $212 = HEAP32[$211>>2]|0; | |
| $213 = ($212|0)==(0|0); | |
| do { | |
| if (!($213)) { | |
| $214 = ($212>>>0)<($208>>>0); | |
| if ($214) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $215 = ((($R8$3)) + 16|0); | |
| HEAP32[$215>>2] = $212; | |
| $216 = ((($212)) + 24|0); | |
| HEAP32[$216>>2] = $R8$3; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $217 = ((($211)) + 4|0); | |
| $218 = HEAP32[$217>>2]|0; | |
| $219 = ($218|0)==(0|0); | |
| if (!($219)) { | |
| $220 = HEAP32[(7212)>>2]|0; | |
| $221 = ($218>>>0)<($220>>>0); | |
| if ($221) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $222 = ((($R8$3)) + 20|0); | |
| HEAP32[$222>>2] = $218; | |
| $223 = ((($218)) + 24|0); | |
| HEAP32[$223>>2] = $R8$3; | |
| break; | |
| } | |
| } | |
| } | |
| } | |
| } while(0); | |
| $224 = $135 | 1; | |
| $225 = ((($p$1)) + 4|0); | |
| HEAP32[$225>>2] = $224; | |
| $226 = (($p$1) + ($135)|0); | |
| HEAP32[$226>>2] = $135; | |
| $227 = HEAP32[(7216)>>2]|0; | |
| $228 = ($p$1|0)==($227|0); | |
| if ($228) { | |
| HEAP32[(7204)>>2] = $135; | |
| return; | |
| } else { | |
| $psize$2 = $135; | |
| } | |
| } else { | |
| $229 = $114 & -2; | |
| HEAP32[$113>>2] = $229; | |
| $230 = $psize$1 | 1; | |
| $231 = ((($p$1)) + 4|0); | |
| HEAP32[$231>>2] = $230; | |
| $232 = (($p$1) + ($psize$1)|0); | |
| HEAP32[$232>>2] = $psize$1; | |
| $psize$2 = $psize$1; | |
| } | |
| $233 = $psize$2 >>> 3; | |
| $234 = ($psize$2>>>0)<(256); | |
| if ($234) { | |
| $235 = $233 << 1; | |
| $236 = (7236 + ($235<<2)|0); | |
| $237 = HEAP32[1799]|0; | |
| $238 = 1 << $233; | |
| $239 = $237 & $238; | |
| $240 = ($239|0)==(0); | |
| if ($240) { | |
| $241 = $237 | $238; | |
| HEAP32[1799] = $241; | |
| $$pre = ((($236)) + 8|0); | |
| $$pre$phiZ2D = $$pre;$F18$0 = $236; | |
| } else { | |
| $242 = ((($236)) + 8|0); | |
| $243 = HEAP32[$242>>2]|0; | |
| $244 = HEAP32[(7212)>>2]|0; | |
| $245 = ($243>>>0)<($244>>>0); | |
| if ($245) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $$pre$phiZ2D = $242;$F18$0 = $243; | |
| } | |
| } | |
| HEAP32[$$pre$phiZ2D>>2] = $p$1; | |
| $246 = ((($F18$0)) + 12|0); | |
| HEAP32[$246>>2] = $p$1; | |
| $247 = ((($p$1)) + 8|0); | |
| HEAP32[$247>>2] = $F18$0; | |
| $248 = ((($p$1)) + 12|0); | |
| HEAP32[$248>>2] = $236; | |
| return; | |
| } | |
| $249 = $psize$2 >>> 8; | |
| $250 = ($249|0)==(0); | |
| if ($250) { | |
| $I20$0 = 0; | |
| } else { | |
| $251 = ($psize$2>>>0)>(16777215); | |
| if ($251) { | |
| $I20$0 = 31; | |
| } else { | |
| $252 = (($249) + 1048320)|0; | |
| $253 = $252 >>> 16; | |
| $254 = $253 & 8; | |
| $255 = $249 << $254; | |
| $256 = (($255) + 520192)|0; | |
| $257 = $256 >>> 16; | |
| $258 = $257 & 4; | |
| $259 = $258 | $254; | |
| $260 = $255 << $258; | |
| $261 = (($260) + 245760)|0; | |
| $262 = $261 >>> 16; | |
| $263 = $262 & 2; | |
| $264 = $259 | $263; | |
| $265 = (14 - ($264))|0; | |
| $266 = $260 << $263; | |
| $267 = $266 >>> 15; | |
| $268 = (($265) + ($267))|0; | |
| $269 = $268 << 1; | |
| $270 = (($268) + 7)|0; | |
| $271 = $psize$2 >>> $270; | |
| $272 = $271 & 1; | |
| $273 = $272 | $269; | |
| $I20$0 = $273; | |
| } | |
| } | |
| $274 = (7500 + ($I20$0<<2)|0); | |
| $275 = ((($p$1)) + 28|0); | |
| HEAP32[$275>>2] = $I20$0; | |
| $276 = ((($p$1)) + 16|0); | |
| $277 = ((($p$1)) + 20|0); | |
| HEAP32[$277>>2] = 0; | |
| HEAP32[$276>>2] = 0; | |
| $278 = HEAP32[(7200)>>2]|0; | |
| $279 = 1 << $I20$0; | |
| $280 = $278 & $279; | |
| $281 = ($280|0)==(0); | |
| do { | |
| if ($281) { | |
| $282 = $278 | $279; | |
| HEAP32[(7200)>>2] = $282; | |
| HEAP32[$274>>2] = $p$1; | |
| $283 = ((($p$1)) + 24|0); | |
| HEAP32[$283>>2] = $274; | |
| $284 = ((($p$1)) + 12|0); | |
| HEAP32[$284>>2] = $p$1; | |
| $285 = ((($p$1)) + 8|0); | |
| HEAP32[$285>>2] = $p$1; | |
| } else { | |
| $286 = HEAP32[$274>>2]|0; | |
| $287 = ($I20$0|0)==(31); | |
| $288 = $I20$0 >>> 1; | |
| $289 = (25 - ($288))|0; | |
| $290 = $287 ? 0 : $289; | |
| $291 = $psize$2 << $290; | |
| $K21$0 = $291;$T$0 = $286; | |
| while(1) { | |
| $292 = ((($T$0)) + 4|0); | |
| $293 = HEAP32[$292>>2]|0; | |
| $294 = $293 & -8; | |
| $295 = ($294|0)==($psize$2|0); | |
| if ($295) { | |
| $T$0$lcssa = $T$0; | |
| label = 130; | |
| break; | |
| } | |
| $296 = $K21$0 >>> 31; | |
| $297 = (((($T$0)) + 16|0) + ($296<<2)|0); | |
| $298 = $K21$0 << 1; | |
| $299 = HEAP32[$297>>2]|0; | |
| $300 = ($299|0)==(0|0); | |
| if ($300) { | |
| $$lcssa = $297;$T$0$lcssa48 = $T$0; | |
| label = 127; | |
| break; | |
| } else { | |
| $K21$0 = $298;$T$0 = $299; | |
| } | |
| } | |
| if ((label|0) == 127) { | |
| $301 = HEAP32[(7212)>>2]|0; | |
| $302 = ($$lcssa>>>0)<($301>>>0); | |
| if ($302) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| HEAP32[$$lcssa>>2] = $p$1; | |
| $303 = ((($p$1)) + 24|0); | |
| HEAP32[$303>>2] = $T$0$lcssa48; | |
| $304 = ((($p$1)) + 12|0); | |
| HEAP32[$304>>2] = $p$1; | |
| $305 = ((($p$1)) + 8|0); | |
| HEAP32[$305>>2] = $p$1; | |
| break; | |
| } | |
| } | |
| else if ((label|0) == 130) { | |
| $306 = ((($T$0$lcssa)) + 8|0); | |
| $307 = HEAP32[$306>>2]|0; | |
| $308 = HEAP32[(7212)>>2]|0; | |
| $309 = ($307>>>0)>=($308>>>0); | |
| $not$ = ($T$0$lcssa>>>0)>=($308>>>0); | |
| $310 = $309 & $not$; | |
| if ($310) { | |
| $311 = ((($307)) + 12|0); | |
| HEAP32[$311>>2] = $p$1; | |
| HEAP32[$306>>2] = $p$1; | |
| $312 = ((($p$1)) + 8|0); | |
| HEAP32[$312>>2] = $307; | |
| $313 = ((($p$1)) + 12|0); | |
| HEAP32[$313>>2] = $T$0$lcssa; | |
| $314 = ((($p$1)) + 24|0); | |
| HEAP32[$314>>2] = 0; | |
| break; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $315 = HEAP32[(7228)>>2]|0; | |
| $316 = (($315) + -1)|0; | |
| HEAP32[(7228)>>2] = $316; | |
| $317 = ($316|0)==(0); | |
| if ($317) { | |
| $sp$0$in$i = (7652); | |
| } else { | |
| return; | |
| } | |
| while(1) { | |
| $sp$0$i = HEAP32[$sp$0$in$i>>2]|0; | |
| $318 = ($sp$0$i|0)==(0|0); | |
| $319 = ((($sp$0$i)) + 8|0); | |
| if ($318) { | |
| break; | |
| } else { | |
| $sp$0$in$i = $319; | |
| } | |
| } | |
| HEAP32[(7228)>>2] = -1; | |
| return; | |
| } | |
| function _realloc($oldmem,$bytes) { | |
| $oldmem = $oldmem|0; | |
| $bytes = $bytes|0; | |
| var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; | |
| var $7 = 0, $8 = 0, $9 = 0, $mem$1 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = ($oldmem|0)==(0|0); | |
| if ($0) { | |
| $1 = (_malloc($bytes)|0); | |
| $mem$1 = $1; | |
| return ($mem$1|0); | |
| } | |
| $2 = ($bytes>>>0)>(4294967231); | |
| if ($2) { | |
| $3 = (___errno_location()|0); | |
| HEAP32[$3>>2] = 12; | |
| $mem$1 = 0; | |
| return ($mem$1|0); | |
| } | |
| $4 = ($bytes>>>0)<(11); | |
| $5 = (($bytes) + 11)|0; | |
| $6 = $5 & -8; | |
| $7 = $4 ? 16 : $6; | |
| $8 = ((($oldmem)) + -8|0); | |
| $9 = (_try_realloc_chunk($8,$7)|0); | |
| $10 = ($9|0)==(0|0); | |
| if (!($10)) { | |
| $11 = ((($9)) + 8|0); | |
| $mem$1 = $11; | |
| return ($mem$1|0); | |
| } | |
| $12 = (_malloc($bytes)|0); | |
| $13 = ($12|0)==(0|0); | |
| if ($13) { | |
| $mem$1 = 0; | |
| return ($mem$1|0); | |
| } | |
| $14 = ((($oldmem)) + -4|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| $16 = $15 & -8; | |
| $17 = $15 & 3; | |
| $18 = ($17|0)==(0); | |
| $19 = $18 ? 8 : 4; | |
| $20 = (($16) - ($19))|0; | |
| $21 = ($20>>>0)<($bytes>>>0); | |
| $22 = $21 ? $20 : $bytes; | |
| _memcpy(($12|0),($oldmem|0),($22|0))|0; | |
| _free($oldmem); | |
| $mem$1 = $12; | |
| return ($mem$1|0); | |
| } | |
| function _try_realloc_chunk($p,$nb) { | |
| $p = $p|0; | |
| $nb = $nb|0; | |
| var $$pre = 0, $$pre$phiZ2D = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; | |
| var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; | |
| var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; | |
| var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; | |
| var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; | |
| var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; | |
| var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; | |
| var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; | |
| var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $R$1 = 0, $R$1$lcssa = 0; | |
| var $R$3 = 0, $RP$1 = 0, $RP$1$lcssa = 0, $cond = 0, $newp$2 = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = ((($p)) + 4|0); | |
| $1 = HEAP32[$0>>2]|0; | |
| $2 = $1 & -8; | |
| $3 = (($p) + ($2)|0); | |
| $4 = HEAP32[(7212)>>2]|0; | |
| $5 = $1 & 3; | |
| $notlhs = ($p>>>0)>=($4>>>0); | |
| $notrhs = ($5|0)!=(1); | |
| $or$cond$not = $notrhs & $notlhs; | |
| $6 = ($p>>>0)<($3>>>0); | |
| $or$cond3 = $or$cond$not & $6; | |
| if (!($or$cond3)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $7 = ((($3)) + 4|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = $8 & 1; | |
| $10 = ($9|0)==(0); | |
| if ($10) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $11 = ($5|0)==(0); | |
| if ($11) { | |
| $12 = ($nb>>>0)<(256); | |
| if ($12) { | |
| $newp$2 = 0; | |
| return ($newp$2|0); | |
| } | |
| $13 = (($nb) + 4)|0; | |
| $14 = ($2>>>0)<($13>>>0); | |
| if (!($14)) { | |
| $15 = (($2) - ($nb))|0; | |
| $16 = HEAP32[(7676)>>2]|0; | |
| $17 = $16 << 1; | |
| $18 = ($15>>>0)>($17>>>0); | |
| if (!($18)) { | |
| $newp$2 = $p; | |
| return ($newp$2|0); | |
| } | |
| } | |
| $newp$2 = 0; | |
| return ($newp$2|0); | |
| } | |
| $19 = ($2>>>0)<($nb>>>0); | |
| if (!($19)) { | |
| $20 = (($2) - ($nb))|0; | |
| $21 = ($20>>>0)>(15); | |
| if (!($21)) { | |
| $newp$2 = $p; | |
| return ($newp$2|0); | |
| } | |
| $22 = (($p) + ($nb)|0); | |
| $23 = $1 & 1; | |
| $24 = $23 | $nb; | |
| $25 = $24 | 2; | |
| HEAP32[$0>>2] = $25; | |
| $26 = ((($22)) + 4|0); | |
| $27 = $20 | 3; | |
| HEAP32[$26>>2] = $27; | |
| $28 = (($22) + ($20)|0); | |
| $29 = ((($28)) + 4|0); | |
| $30 = HEAP32[$29>>2]|0; | |
| $31 = $30 | 1; | |
| HEAP32[$29>>2] = $31; | |
| _dispose_chunk($22,$20); | |
| $newp$2 = $p; | |
| return ($newp$2|0); | |
| } | |
| $32 = HEAP32[(7220)>>2]|0; | |
| $33 = ($3|0)==($32|0); | |
| if ($33) { | |
| $34 = HEAP32[(7208)>>2]|0; | |
| $35 = (($34) + ($2))|0; | |
| $36 = ($35>>>0)>($nb>>>0); | |
| if (!($36)) { | |
| $newp$2 = 0; | |
| return ($newp$2|0); | |
| } | |
| $37 = (($35) - ($nb))|0; | |
| $38 = (($p) + ($nb)|0); | |
| $39 = $1 & 1; | |
| $40 = $39 | $nb; | |
| $41 = $40 | 2; | |
| HEAP32[$0>>2] = $41; | |
| $42 = ((($38)) + 4|0); | |
| $43 = $37 | 1; | |
| HEAP32[$42>>2] = $43; | |
| HEAP32[(7220)>>2] = $38; | |
| HEAP32[(7208)>>2] = $37; | |
| $newp$2 = $p; | |
| return ($newp$2|0); | |
| } | |
| $44 = HEAP32[(7216)>>2]|0; | |
| $45 = ($3|0)==($44|0); | |
| if ($45) { | |
| $46 = HEAP32[(7204)>>2]|0; | |
| $47 = (($46) + ($2))|0; | |
| $48 = ($47>>>0)<($nb>>>0); | |
| if ($48) { | |
| $newp$2 = 0; | |
| return ($newp$2|0); | |
| } | |
| $49 = (($47) - ($nb))|0; | |
| $50 = ($49>>>0)>(15); | |
| if ($50) { | |
| $51 = (($p) + ($nb)|0); | |
| $52 = (($51) + ($49)|0); | |
| $53 = $1 & 1; | |
| $54 = $53 | $nb; | |
| $55 = $54 | 2; | |
| HEAP32[$0>>2] = $55; | |
| $56 = ((($51)) + 4|0); | |
| $57 = $49 | 1; | |
| HEAP32[$56>>2] = $57; | |
| HEAP32[$52>>2] = $49; | |
| $58 = ((($52)) + 4|0); | |
| $59 = HEAP32[$58>>2]|0; | |
| $60 = $59 & -2; | |
| HEAP32[$58>>2] = $60; | |
| $storemerge = $51;$storemerge1 = $49; | |
| } else { | |
| $61 = $1 & 1; | |
| $62 = $61 | $47; | |
| $63 = $62 | 2; | |
| HEAP32[$0>>2] = $63; | |
| $64 = (($p) + ($47)|0); | |
| $65 = ((($64)) + 4|0); | |
| $66 = HEAP32[$65>>2]|0; | |
| $67 = $66 | 1; | |
| HEAP32[$65>>2] = $67; | |
| $storemerge = 0;$storemerge1 = 0; | |
| } | |
| HEAP32[(7204)>>2] = $storemerge1; | |
| HEAP32[(7216)>>2] = $storemerge; | |
| $newp$2 = $p; | |
| return ($newp$2|0); | |
| } | |
| $68 = $8 & 2; | |
| $69 = ($68|0)==(0); | |
| if (!($69)) { | |
| $newp$2 = 0; | |
| return ($newp$2|0); | |
| } | |
| $70 = $8 & -8; | |
| $71 = (($70) + ($2))|0; | |
| $72 = ($71>>>0)<($nb>>>0); | |
| if ($72) { | |
| $newp$2 = 0; | |
| return ($newp$2|0); | |
| } | |
| $73 = (($71) - ($nb))|0; | |
| $74 = $8 >>> 3; | |
| $75 = ($8>>>0)<(256); | |
| do { | |
| if ($75) { | |
| $76 = ((($3)) + 8|0); | |
| $77 = HEAP32[$76>>2]|0; | |
| $78 = ((($3)) + 12|0); | |
| $79 = HEAP32[$78>>2]|0; | |
| $80 = $74 << 1; | |
| $81 = (7236 + ($80<<2)|0); | |
| $82 = ($77|0)==($81|0); | |
| if (!($82)) { | |
| $83 = ($77>>>0)<($4>>>0); | |
| if ($83) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $84 = ((($77)) + 12|0); | |
| $85 = HEAP32[$84>>2]|0; | |
| $86 = ($85|0)==($3|0); | |
| if (!($86)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| $87 = ($79|0)==($77|0); | |
| if ($87) { | |
| $88 = 1 << $74; | |
| $89 = $88 ^ -1; | |
| $90 = HEAP32[1799]|0; | |
| $91 = $90 & $89; | |
| HEAP32[1799] = $91; | |
| break; | |
| } | |
| $92 = ($79|0)==($81|0); | |
| if ($92) { | |
| $$pre = ((($79)) + 8|0); | |
| $$pre$phiZ2D = $$pre; | |
| } else { | |
| $93 = ($79>>>0)<($4>>>0); | |
| if ($93) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $94 = ((($79)) + 8|0); | |
| $95 = HEAP32[$94>>2]|0; | |
| $96 = ($95|0)==($3|0); | |
| if ($96) { | |
| $$pre$phiZ2D = $94; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| $97 = ((($77)) + 12|0); | |
| HEAP32[$97>>2] = $79; | |
| HEAP32[$$pre$phiZ2D>>2] = $77; | |
| } else { | |
| $98 = ((($3)) + 24|0); | |
| $99 = HEAP32[$98>>2]|0; | |
| $100 = ((($3)) + 12|0); | |
| $101 = HEAP32[$100>>2]|0; | |
| $102 = ($101|0)==($3|0); | |
| do { | |
| if ($102) { | |
| $112 = ((($3)) + 16|0); | |
| $113 = ((($112)) + 4|0); | |
| $114 = HEAP32[$113>>2]|0; | |
| $115 = ($114|0)==(0|0); | |
| if ($115) { | |
| $116 = HEAP32[$112>>2]|0; | |
| $117 = ($116|0)==(0|0); | |
| if ($117) { | |
| $R$3 = 0; | |
| break; | |
| } else { | |
| $R$1 = $116;$RP$1 = $112; | |
| } | |
| } else { | |
| $R$1 = $114;$RP$1 = $113; | |
| } | |
| while(1) { | |
| $118 = ((($R$1)) + 20|0); | |
| $119 = HEAP32[$118>>2]|0; | |
| $120 = ($119|0)==(0|0); | |
| if (!($120)) { | |
| $R$1 = $119;$RP$1 = $118; | |
| continue; | |
| } | |
| $121 = ((($R$1)) + 16|0); | |
| $122 = HEAP32[$121>>2]|0; | |
| $123 = ($122|0)==(0|0); | |
| if ($123) { | |
| $R$1$lcssa = $R$1;$RP$1$lcssa = $RP$1; | |
| break; | |
| } else { | |
| $R$1 = $122;$RP$1 = $121; | |
| } | |
| } | |
| $124 = ($RP$1$lcssa>>>0)<($4>>>0); | |
| if ($124) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| HEAP32[$RP$1$lcssa>>2] = 0; | |
| $R$3 = $R$1$lcssa; | |
| break; | |
| } | |
| } else { | |
| $103 = ((($3)) + 8|0); | |
| $104 = HEAP32[$103>>2]|0; | |
| $105 = ($104>>>0)<($4>>>0); | |
| if ($105) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $106 = ((($104)) + 12|0); | |
| $107 = HEAP32[$106>>2]|0; | |
| $108 = ($107|0)==($3|0); | |
| if (!($108)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $109 = ((($101)) + 8|0); | |
| $110 = HEAP32[$109>>2]|0; | |
| $111 = ($110|0)==($3|0); | |
| if ($111) { | |
| HEAP32[$106>>2] = $101; | |
| HEAP32[$109>>2] = $104; | |
| $R$3 = $101; | |
| break; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| } while(0); | |
| $125 = ($99|0)==(0|0); | |
| if (!($125)) { | |
| $126 = ((($3)) + 28|0); | |
| $127 = HEAP32[$126>>2]|0; | |
| $128 = (7500 + ($127<<2)|0); | |
| $129 = HEAP32[$128>>2]|0; | |
| $130 = ($3|0)==($129|0); | |
| if ($130) { | |
| HEAP32[$128>>2] = $R$3; | |
| $cond = ($R$3|0)==(0|0); | |
| if ($cond) { | |
| $131 = 1 << $127; | |
| $132 = $131 ^ -1; | |
| $133 = HEAP32[(7200)>>2]|0; | |
| $134 = $133 & $132; | |
| HEAP32[(7200)>>2] = $134; | |
| break; | |
| } | |
| } else { | |
| $135 = HEAP32[(7212)>>2]|0; | |
| $136 = ($99>>>0)<($135>>>0); | |
| if ($136) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $137 = ((($99)) + 16|0); | |
| $138 = HEAP32[$137>>2]|0; | |
| $139 = ($138|0)==($3|0); | |
| if ($139) { | |
| HEAP32[$137>>2] = $R$3; | |
| } else { | |
| $140 = ((($99)) + 20|0); | |
| HEAP32[$140>>2] = $R$3; | |
| } | |
| $141 = ($R$3|0)==(0|0); | |
| if ($141) { | |
| break; | |
| } | |
| } | |
| $142 = HEAP32[(7212)>>2]|0; | |
| $143 = ($R$3>>>0)<($142>>>0); | |
| if ($143) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $144 = ((($R$3)) + 24|0); | |
| HEAP32[$144>>2] = $99; | |
| $145 = ((($3)) + 16|0); | |
| $146 = HEAP32[$145>>2]|0; | |
| $147 = ($146|0)==(0|0); | |
| do { | |
| if (!($147)) { | |
| $148 = ($146>>>0)<($142>>>0); | |
| if ($148) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $149 = ((($R$3)) + 16|0); | |
| HEAP32[$149>>2] = $146; | |
| $150 = ((($146)) + 24|0); | |
| HEAP32[$150>>2] = $R$3; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $151 = ((($145)) + 4|0); | |
| $152 = HEAP32[$151>>2]|0; | |
| $153 = ($152|0)==(0|0); | |
| if (!($153)) { | |
| $154 = HEAP32[(7212)>>2]|0; | |
| $155 = ($152>>>0)<($154>>>0); | |
| if ($155) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $156 = ((($R$3)) + 20|0); | |
| HEAP32[$156>>2] = $152; | |
| $157 = ((($152)) + 24|0); | |
| HEAP32[$157>>2] = $R$3; | |
| break; | |
| } | |
| } | |
| } | |
| } | |
| } while(0); | |
| $158 = ($73>>>0)<(16); | |
| if ($158) { | |
| $159 = $1 & 1; | |
| $160 = $71 | $159; | |
| $161 = $160 | 2; | |
| HEAP32[$0>>2] = $161; | |
| $162 = (($p) + ($71)|0); | |
| $163 = ((($162)) + 4|0); | |
| $164 = HEAP32[$163>>2]|0; | |
| $165 = $164 | 1; | |
| HEAP32[$163>>2] = $165; | |
| $newp$2 = $p; | |
| return ($newp$2|0); | |
| } else { | |
| $166 = (($p) + ($nb)|0); | |
| $167 = $1 & 1; | |
| $168 = $167 | $nb; | |
| $169 = $168 | 2; | |
| HEAP32[$0>>2] = $169; | |
| $170 = ((($166)) + 4|0); | |
| $171 = $73 | 3; | |
| HEAP32[$170>>2] = $171; | |
| $172 = (($166) + ($73)|0); | |
| $173 = ((($172)) + 4|0); | |
| $174 = HEAP32[$173>>2]|0; | |
| $175 = $174 | 1; | |
| HEAP32[$173>>2] = $175; | |
| _dispose_chunk($166,$73); | |
| $newp$2 = $p; | |
| return ($newp$2|0); | |
| } | |
| return (0)|0; | |
| } | |
| function _dispose_chunk($p,$psize) { | |
| $p = $p|0; | |
| $psize = $psize|0; | |
| var $$1 = 0, $$14 = 0, $$2 = 0, $$lcssa = 0, $$pre = 0, $$pre$phi22Z2D = 0, $$pre$phi24Z2D = 0, $$pre$phiZ2D = 0, $$pre21 = 0, $$pre23 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; | |
| var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; | |
| var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; | |
| var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; | |
| var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; | |
| var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; | |
| var $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; | |
| var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; | |
| var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; | |
| var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; | |
| var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; | |
| var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0; | |
| var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; | |
| var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; | |
| var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; | |
| var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F17$0 = 0, $I20$0 = 0, $K21$0 = 0, $R$1 = 0, $R$1$lcssa = 0; | |
| var $R$3 = 0, $R7$1 = 0, $R7$1$lcssa = 0, $R7$3 = 0, $RP$1 = 0, $RP$1$lcssa = 0, $RP9$1 = 0, $RP9$1$lcssa = 0, $T$0 = 0, $T$0$lcssa = 0, $T$0$lcssa30 = 0, $cond = 0, $cond16 = 0, $not$ = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = (($p) + ($psize)|0); | |
| $1 = ((($p)) + 4|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $3 = $2 & 1; | |
| $4 = ($3|0)==(0); | |
| do { | |
| if ($4) { | |
| $5 = HEAP32[$p>>2]|0; | |
| $6 = $2 & 3; | |
| $7 = ($6|0)==(0); | |
| if ($7) { | |
| return; | |
| } | |
| $8 = (0 - ($5))|0; | |
| $9 = (($p) + ($8)|0); | |
| $10 = (($5) + ($psize))|0; | |
| $11 = HEAP32[(7212)>>2]|0; | |
| $12 = ($9>>>0)<($11>>>0); | |
| if ($12) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $13 = HEAP32[(7216)>>2]|0; | |
| $14 = ($9|0)==($13|0); | |
| if ($14) { | |
| $99 = ((($0)) + 4|0); | |
| $100 = HEAP32[$99>>2]|0; | |
| $101 = $100 & 3; | |
| $102 = ($101|0)==(3); | |
| if (!($102)) { | |
| $$1 = $9;$$14 = $10; | |
| break; | |
| } | |
| HEAP32[(7204)>>2] = $10; | |
| $103 = $100 & -2; | |
| HEAP32[$99>>2] = $103; | |
| $104 = $10 | 1; | |
| $105 = ((($9)) + 4|0); | |
| HEAP32[$105>>2] = $104; | |
| $106 = (($9) + ($10)|0); | |
| HEAP32[$106>>2] = $10; | |
| return; | |
| } | |
| $15 = $5 >>> 3; | |
| $16 = ($5>>>0)<(256); | |
| if ($16) { | |
| $17 = ((($9)) + 8|0); | |
| $18 = HEAP32[$17>>2]|0; | |
| $19 = ((($9)) + 12|0); | |
| $20 = HEAP32[$19>>2]|0; | |
| $21 = $15 << 1; | |
| $22 = (7236 + ($21<<2)|0); | |
| $23 = ($18|0)==($22|0); | |
| if (!($23)) { | |
| $24 = ($18>>>0)<($11>>>0); | |
| if ($24) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $25 = ((($18)) + 12|0); | |
| $26 = HEAP32[$25>>2]|0; | |
| $27 = ($26|0)==($9|0); | |
| if (!($27)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| $28 = ($20|0)==($18|0); | |
| if ($28) { | |
| $29 = 1 << $15; | |
| $30 = $29 ^ -1; | |
| $31 = HEAP32[1799]|0; | |
| $32 = $31 & $30; | |
| HEAP32[1799] = $32; | |
| $$1 = $9;$$14 = $10; | |
| break; | |
| } | |
| $33 = ($20|0)==($22|0); | |
| if ($33) { | |
| $$pre23 = ((($20)) + 8|0); | |
| $$pre$phi24Z2D = $$pre23; | |
| } else { | |
| $34 = ($20>>>0)<($11>>>0); | |
| if ($34) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $35 = ((($20)) + 8|0); | |
| $36 = HEAP32[$35>>2]|0; | |
| $37 = ($36|0)==($9|0); | |
| if ($37) { | |
| $$pre$phi24Z2D = $35; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| $38 = ((($18)) + 12|0); | |
| HEAP32[$38>>2] = $20; | |
| HEAP32[$$pre$phi24Z2D>>2] = $18; | |
| $$1 = $9;$$14 = $10; | |
| break; | |
| } | |
| $39 = ((($9)) + 24|0); | |
| $40 = HEAP32[$39>>2]|0; | |
| $41 = ((($9)) + 12|0); | |
| $42 = HEAP32[$41>>2]|0; | |
| $43 = ($42|0)==($9|0); | |
| do { | |
| if ($43) { | |
| $53 = ((($9)) + 16|0); | |
| $54 = ((($53)) + 4|0); | |
| $55 = HEAP32[$54>>2]|0; | |
| $56 = ($55|0)==(0|0); | |
| if ($56) { | |
| $57 = HEAP32[$53>>2]|0; | |
| $58 = ($57|0)==(0|0); | |
| if ($58) { | |
| $R$3 = 0; | |
| break; | |
| } else { | |
| $R$1 = $57;$RP$1 = $53; | |
| } | |
| } else { | |
| $R$1 = $55;$RP$1 = $54; | |
| } | |
| while(1) { | |
| $59 = ((($R$1)) + 20|0); | |
| $60 = HEAP32[$59>>2]|0; | |
| $61 = ($60|0)==(0|0); | |
| if (!($61)) { | |
| $R$1 = $60;$RP$1 = $59; | |
| continue; | |
| } | |
| $62 = ((($R$1)) + 16|0); | |
| $63 = HEAP32[$62>>2]|0; | |
| $64 = ($63|0)==(0|0); | |
| if ($64) { | |
| $R$1$lcssa = $R$1;$RP$1$lcssa = $RP$1; | |
| break; | |
| } else { | |
| $R$1 = $63;$RP$1 = $62; | |
| } | |
| } | |
| $65 = ($RP$1$lcssa>>>0)<($11>>>0); | |
| if ($65) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| HEAP32[$RP$1$lcssa>>2] = 0; | |
| $R$3 = $R$1$lcssa; | |
| break; | |
| } | |
| } else { | |
| $44 = ((($9)) + 8|0); | |
| $45 = HEAP32[$44>>2]|0; | |
| $46 = ($45>>>0)<($11>>>0); | |
| if ($46) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $47 = ((($45)) + 12|0); | |
| $48 = HEAP32[$47>>2]|0; | |
| $49 = ($48|0)==($9|0); | |
| if (!($49)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $50 = ((($42)) + 8|0); | |
| $51 = HEAP32[$50>>2]|0; | |
| $52 = ($51|0)==($9|0); | |
| if ($52) { | |
| HEAP32[$47>>2] = $42; | |
| HEAP32[$50>>2] = $45; | |
| $R$3 = $42; | |
| break; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| } while(0); | |
| $66 = ($40|0)==(0|0); | |
| if ($66) { | |
| $$1 = $9;$$14 = $10; | |
| } else { | |
| $67 = ((($9)) + 28|0); | |
| $68 = HEAP32[$67>>2]|0; | |
| $69 = (7500 + ($68<<2)|0); | |
| $70 = HEAP32[$69>>2]|0; | |
| $71 = ($9|0)==($70|0); | |
| if ($71) { | |
| HEAP32[$69>>2] = $R$3; | |
| $cond = ($R$3|0)==(0|0); | |
| if ($cond) { | |
| $72 = 1 << $68; | |
| $73 = $72 ^ -1; | |
| $74 = HEAP32[(7200)>>2]|0; | |
| $75 = $74 & $73; | |
| HEAP32[(7200)>>2] = $75; | |
| $$1 = $9;$$14 = $10; | |
| break; | |
| } | |
| } else { | |
| $76 = HEAP32[(7212)>>2]|0; | |
| $77 = ($40>>>0)<($76>>>0); | |
| if ($77) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $78 = ((($40)) + 16|0); | |
| $79 = HEAP32[$78>>2]|0; | |
| $80 = ($79|0)==($9|0); | |
| if ($80) { | |
| HEAP32[$78>>2] = $R$3; | |
| } else { | |
| $81 = ((($40)) + 20|0); | |
| HEAP32[$81>>2] = $R$3; | |
| } | |
| $82 = ($R$3|0)==(0|0); | |
| if ($82) { | |
| $$1 = $9;$$14 = $10; | |
| break; | |
| } | |
| } | |
| $83 = HEAP32[(7212)>>2]|0; | |
| $84 = ($R$3>>>0)<($83>>>0); | |
| if ($84) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $85 = ((($R$3)) + 24|0); | |
| HEAP32[$85>>2] = $40; | |
| $86 = ((($9)) + 16|0); | |
| $87 = HEAP32[$86>>2]|0; | |
| $88 = ($87|0)==(0|0); | |
| do { | |
| if (!($88)) { | |
| $89 = ($87>>>0)<($83>>>0); | |
| if ($89) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $90 = ((($R$3)) + 16|0); | |
| HEAP32[$90>>2] = $87; | |
| $91 = ((($87)) + 24|0); | |
| HEAP32[$91>>2] = $R$3; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $92 = ((($86)) + 4|0); | |
| $93 = HEAP32[$92>>2]|0; | |
| $94 = ($93|0)==(0|0); | |
| if ($94) { | |
| $$1 = $9;$$14 = $10; | |
| } else { | |
| $95 = HEAP32[(7212)>>2]|0; | |
| $96 = ($93>>>0)<($95>>>0); | |
| if ($96) { | |
| _abort(); | |
| // unreachable; | |
| } else { | |
| $97 = ((($R$3)) + 20|0); | |
| HEAP32[$97>>2] = $93; | |
| $98 = ((($93)) + 24|0); | |
| HEAP32[$98>>2] = $R$3; | |
| $$1 = $9;$$14 = $10; | |
| break; | |
| } | |
| } | |
| } | |
| } else { | |
| $$1 = $p;$$14 = $psize; | |
| } | |
| } while(0); | |
| $107 = HEAP32[(7212)>>2]|0; | |
| $108 = ($0>>>0)<($107>>>0); | |
| if ($108) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $109 = ((($0)) + 4|0); | |
| $110 = HEAP32[$109>>2]|0; | |
| $111 = $110 & 2; | |
| $112 = ($111|0)==(0); | |
| if ($112) { | |
| $113 = HEAP32[(7220)>>2]|0; | |
| $114 = ($0|0)==($113|0); | |
| if ($114) { | |
| $115 = HEAP32[(7208)>>2]|0; | |
| $116 = (($115) + ($$14))|0; | |
| HEAP32[(7208)>>2] = $116; | |
| HEAP32[(7220)>>2] = $$1; | |
| $117 = $116 | 1; | |
| $118 = ((($$1)) + 4|0); | |
| HEAP32[$118>>2] = $117; | |
| $119 = HEAP32[(7216)>>2]|0; | |
| $120 = ($$1|0)==($119|0); | |
| if (!($120)) { | |
| return; | |
| } | |
| HEAP32[(7216)>>2] = 0; | |
| HEAP32[(7204)>>2] = 0; | |
| return; | |
| } | |
| $121 = HEAP32[(7216)>>2]|0; | |
| $122 = ($0|0)==($121|0); | |
| if ($122) { | |
| $123 = HEAP32[(7204)>>2]|0; | |
| $124 = (($123) + ($$14))|0; | |
| HEAP32[(7204)>>2] = $124; | |
| HEAP32[(7216)>>2] = $$1; | |
| $125 = $124 | 1; | |
| $126 = ((($$1)) + 4|0); | |
| HEAP32[$126>>2] = $125; | |
| $127 = (($$1) + ($124)|0); | |
| HEAP32[$127>>2] = $124; | |
| return; | |
| } | |
| $128 = $110 & -8; | |
| $129 = (($128) + ($$14))|0; | |
| $130 = $110 >>> 3; | |
| $131 = ($110>>>0)<(256); | |
| do { | |
| if ($131) { | |
| $132 = ((($0)) + 8|0); | |
| $133 = HEAP32[$132>>2]|0; | |
| $134 = ((($0)) + 12|0); | |
| $135 = HEAP32[$134>>2]|0; | |
| $136 = $130 << 1; | |
| $137 = (7236 + ($136<<2)|0); | |
| $138 = ($133|0)==($137|0); | |
| if (!($138)) { | |
| $139 = ($133>>>0)<($107>>>0); | |
| if ($139) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $140 = ((($133)) + 12|0); | |
| $141 = HEAP32[$140>>2]|0; | |
| $142 = ($141|0)==($0|0); | |
| if (!($142)) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| $143 = ($135|0)==($133|0); | |
| if ($143) { | |
| $144 = 1 << $130; | |
| $145 = $144 ^ -1; | |
| $146 = HEAP32[1799]|0; | |
| $147 = $146 & $145; | |
| HEAP32[1799] = $147; | |
| break; | |
| } | |
| $148 = ($135|0)==($137|0); | |
| if ($148) { | |
| $$pre21 = ((($135)) + 8|0); | |
| $$pre$phi22Z2D = $$pre21; | |
| } else { | |
| $149 = ($135>>>0)<($107>>>0); | |
| if ($149) { | |
| _abort(); | |
| // unreachable; | |
| } | |
| $150 = ((($135)) + 8|0); | |
| $151 = HEAP32[$150>>2]|0; | |
| $152 = ($151|0)==($0|0); | |
| if ($152) { | |
| $$pre$phi22Z2D = $150; | |
| } else { | |
| _abort(); | |
| // unreachable; | |
| } | |
| } | |
| $153 = ((($133)) + 12|0); | |
| HEAP32[$153>>2] = $135; | |
| HEAP32[$$pre$phi22Z2D>>2] = $133; | |
| } else { | |
| $154 = ((($0)) + 24|0); | |
| $155 = HEAP32[$154>>2]|0; | |
| $156 = ((($0)) + 12|0); | |
| $157 = HEAP32[$156>>2]|0; | |
| $158 = ($157|0)==($0|0); | |
| do { | |
| if ($158) { | |
| $168 = ((($0)) + 16|0); | |
| $169 = ((($168)) + 4|0); | |
| $170 = HEAP32[$169>>2]|0; | |
| $171 = ($170|0)==(0|0); | |
| if ($171) { | |
| $172 = HEAP32[$168>>2]|0; | |
| $173 = ($172|0)==(0|0); | |
| if ($173) { | |
| $R7$3 = 0; | |
| break; | |
| } else { | |
| $R7$1 = $172;$RP9$1 = $168; | |
| } | |
| } else { | |
| $R7$1 = $170;$RP9$1 = $169; | |
| } | |
| while(1) { | |
| $174 = ((($R7$1)) + 20|0); | |
| $175 = HEAP32[$174>>2]|0; | |
| $176 = ($175|0)==(0|0); | 
            View raw
              
    (Sorry about that, but we can’t show files that are this big right now.)
            View raw
              
    (Sorry about that, but we can’t show files that are this big right now.)
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment