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 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