Skip to content

Instantly share code, notes, and snippets.

@sbeckeriv
Created November 5, 2016 16:15
Show Gist options
  • Save sbeckeriv/0cdf6a0ece7e6e824f9aff627f686382 to your computer and use it in GitHub Desktop.
Save sbeckeriv/0cdf6a0ece7e6e824f9aff627f686382 to your computer and use it in GitHub Desktop.
rust js
This file has been truncated, but you can view the full file.
// 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);
return binary ? ret : ret.toString();
};
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' };
}
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);
assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
return Module['dynCall_' + sig].apply(null, [ptr].concat(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]) {
// optimize away arguments usage in common cases
if (sig.length === 1) {
sigCache[func] = function dynCall_wrapper() {
return Runtime.dynCall(sig, func);
};
} else if (sig.length === 2) {
sigCache[func] = function dynCall_wrapper(arg) {
return Runtime.dynCall(sig, func, [arg]);
};
} else {
// general case
sigCache[func] = function dynCall_wrapper() {
return Runtime.dynCall(sig, func, Array.prototype.slice.call(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) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = 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 = 0; // 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'
var len = (str.length << 2) + 1;
ret = Runtime.stackAlloc(len);
stringToUTF8(str, ret, len);
}
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 (!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.
var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined;
function UTF8ArrayToString(u8Array, idx) {
var endPtr = idx;
// TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself.
// Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
while (u8Array[endPtr]) ++endPtr;
if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
} else {
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.
var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined;
function UTF16ToString(ptr) {
assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!');
var endPtr = ptr;
// TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself.
// Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
var idx = endPtr >> 1;
while (HEAP16[idx]) ++idx;
endPtr = idx << 1;
if (endPtr - ptr > 32 && UTF16Decoder) {
return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr));
} else {
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(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!');
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) {
assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!');
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(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!');
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 s = func.substr(1);
var len = lengthBytesUTF8(s)+1;
var buf = _malloc(len);
stringToUTF8(s, buf, len);
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
} catch(e) {
// ignore problems here
} finally {
if (buf) _free(buf);
if (status) _free(status);
if (ret) _free(ret);
}
// failure when using libcxxabi, don't demangle
return func;
}
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() {
var js = jsStackTrace();
if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace']();
return demangleAll(js);
}
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, STATICTOP, staticSealed; // static area
var STACK_BASE, STACKTOP, STACK_MAX; // stack area
var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk
STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0;
staticSealed = false;
// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode.
function writeStackCookie() {
assert((STACK_MAX & 3) == 0);
HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467;
HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE;
}
function checkStackCookie() {
if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) {
abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16));
}
// Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own.
if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!';
}
function abortStackOverflow(allocSize) {
abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - asm.stackSave() + allocSize) + ' bytes available!');
}
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 WASM_PAGE_SIZE = 64 * 1024;
var totalMemory = WASM_PAGE_SIZE;
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 {
// Use a WebAssembly memory where available
{
buffer = new ArrayBuffer(TOTAL_MEMORY);
}
assert(buffer.byteLength === TOTAL_MEMORY);
}
updateGlobalBufferViews();
function getTotalMemory() {
return TOTAL_MEMORY;
}
// Endianness check (note: assumes compiler arch was little-endian)
HEAP32[0] = 0x63736d65; /* 'emsc' */
HEAP16[1] = 0x6373;
if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!';
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() {
checkStackCookie();
if (runtimeInitialized) return;
runtimeInitialized = true;
callRuntimeCallbacks(__ATINIT__);
}
function preMain() {
checkStackCookie();
callRuntimeCallbacks(__ATMAIN__);
}
function exitRuntime() {
checkStackCookie();
callRuntimeCallbacks(__ATEXIT__);
runtimeExited = true;
}
function postRun() {
checkStackCookie();
// 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;
// Deprecated: This function should not be called because it is unsafe and does not provide
// a maximum length limit of how many bytes it is allowed to write. Prefer calling the
// function stringToUTF8Array() instead, which takes in a maximum length that can be used
// to be secure from out of bounds writes.
function writeStringToMemory(string, buffer, dontAddNull) {
Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!');
var lastChar, end;
if (dontAddNull) {
// stringToUTF8Array always appends null. If we don't want to do that, remember the
// character that existed at the location where the null will be placed, and restore
// that after the write (below).
end = buffer + lengthBytesUTF8(string);
lastChar = HEAP8[end];
}
stringToUTF8(string, buffer, Infinity);
if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character.
}
Module["writeStringToMemory"] = writeStringToMemory;
function writeArrayToMemory(array, buffer) {
HEAP8.set(array, buffer);
}
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_round = Math.round;
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 + 14896;
/* global initializers */ __ATINIT__.push();
/* memory initializer */ allocate([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,4,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,12,0,0,0,4,0,0,0,10,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,15,0,0,0,16,0,0,0,4,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,12,0,0,0,4,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,25,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,29,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,30,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,31,0,0,0,5,0,0,0,8,0,0,0,4,0,0,0,32,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,33,0,0,0,34,0,0,0,16,0,0,0,4,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3,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,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,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,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,3,0,0,0,0,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3,2,0,0,0,0,6,0,2,0,0,7,0,0,2,8,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,10,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,11,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,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,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,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,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,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,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,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,2,4,0,0,12,0,2,0,0,0,0,0,8,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,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,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,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,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,0,0,2,0,0,0,96,7,0,0,13,0,0,0,0,1,2,3,3,3,4,3,3,3,3,3,3,5,6,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,117,34,0,0,192,1,0,0,200,7,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,0,0,0,0,255,3,0,0,0,0,0,0,0,0,255,3,0,0,255,3,0,0,0,0,0,0,0,0,0,0,0,192,1,0,192,255,0,0,0,0,0,0,255,3,255,3,0,0,0,0,0,0,0,0,0,0,255,3,0,0,0,0,255,255,255,255,231,1,0,0,0,0,0,0,128,0,0,0,254,3,0,7,0,0,255,3,0,0,255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,31,0,2,4,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,255,3,0,0,0,0,0,0,192,255,0,0,0,0,0,0,0,0,255,3,0,0,0,0,0,0,192,255,0,0,255,3,0,0,0,0,255,3,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,192,255,255,255,255,255,255,44,0,0,0,8,0,0,0,4,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,44,0,0,0,4,0,0,0,4,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,44,0,0,0,4,0,0,0,4,0,0,0,51,0,0,0,44,0,0,0,4,0,0,0,4,0,0,0,52,0,0,0,136,8,0,0,1,0,0,0,236,20,0,0,19,0,0,0,255,20,0,0,44,0,0,0,43,21,0,0,11,0,0,0,54,21,0,0,2,0,0,0,165,21,0,0,108,0,0,0,54,0,0,0,165,21,0,0,108,0,0,0,59,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,17,22,0,0,114,0,0,0,21,0,0,0,247,29,0,0,104,0,0,0,98,0,0,0,56,21,0,0,109,0,0,0,47,0,0,0,56,21,0,0,109,0,0,0,45,0,0,0,56,21,0,0,109,0,0,0,43,0,0,0,56,21,0,0,109,0,0,0,41,0,0,0,141,29,0,0,106,0,0,0,83,0,0,0,25,29,0,0,116,0,0,0,188,0,0,0,166,28,0,0,115,0,0,0,51,0,0,0,0,0,0,0,3,0,0,0,51,28,0,0,115,0,0,0,55,0,0,0,205,27,0,0,102,0,0,0,84,1,0,0,205,27,0,0,102,0,0,0,41,1,0,0,205,27,0,0,102,0,0,0,5,1,0,0,100,27,0,0,105,0,0,0,236,0,0,0,255,26,0,0,101,0,0,0,138,2,0,0,0,0,0,0,2,0,0,0,159,26,0,0,96,0,0,0,203,0,0,0,56,26,0,0,103,0,0,0,51,2,0,0,233,25,0,0,50,0,0,0,10,23,0,0,43,0,0,0,75,23,0,0,32,0,0,0,53,23,0,0,21,0,0,0,74,23,0,0,1,0,0,0,197,24,0,0,8,0,0,0,205,24,0,0,15,0,0,0,220,24,0,0,3,0,0,0,223,24,0,0,1,0,0,0,74,23,0,0,1,0,0,0,193,23,0,0,51,0,0,0,180,24,0,0,17,0,0,0,158,24,0,0,22,0,0,0,10,0,0,0,151,24,0,0,2,0,0,0,153,24,0,0,2,0,0,0,155,24,0,0,3,0,0,0,1,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,1,0,0,0,1,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,142,24,0,0,9,0,0,0,161,25,0,0,36,0,0,0,197,25,0,0,3,0,0,0,40,54,0,0,0,0,0,0,27,26,0,0,11,0,0,0,34,24,0,0,1,0,0,0,81,31,0,0,27,0,0,0,2,0,0,0,229,32,0,0,40,0,0,0,123,32,0,0,106,0,0,0,49,0,0,0,91,32,0,0,32,0,0,0,123,32,0,0,106,0,0,0,33,0,0,0,117,33,0,0,28,0,0,0,13,33,0,0,104,0,0,0,42,4,0,0,18,34,0,0,99,0,0,0,12,2,0,0,165,33,0,0,109,0,0,0,67,0,0,0,165,33,0,0,109,0,0,0,63,0,0,0,172,36,0,0,36,0,0,0,70,36,0,0,102,0,0,0,248,1,0,0,53,36,0,0,17,0,0,0,70,36,0,0,102,0,0,0,60,2,0,0,43,0,0,0,50,37,0,0,40,0,0,0,208,36,0,0,98,0,0,0,90,1,0,0,90,37,0,0,43,0,0,0,133,37,0,0,100,0,0,0,67,1,0,0,233,37,0,0,100,0,0,0,69,3,0,0,124,11,0,0,2,0,0,0,40,54,0,0,0,0,0,0,77,38,0,0,2,0,0,0,178,38,0,0,101,0,0,0,185,6,0,0,178,38,0,0,101,0,0,0,183,6,0,0,79,38,0,0,99,0,0,0,35,2,0,0,79,38,0,0,99,0,0,0,29,2,0,0,133,37,0,0,100,0,0,0,193,2,0,0,23,40,0,0,101,0,0,0,110,10,0,0,124,40,0,0,32,0,0,0,156,40,0,0,18,0,0,0,118,41,0,0,6,0,0,0,124,41,0,0,34,0,0,0,158,41,0,0,22,0,0,0,180,41,0,0,13,0,0,0,245,41,0,0,14,0,0,0,3,42,0,0,4,0,0,0,7,42,0,0,16,0,0,0,211,41,0,0,1,0,0,0,118,41,0,0,6,0,0,0,198,41,0,0,8,0,0,0,206,41,0,0,5,0,0,0,211,41,0,0,1,0,0,0,212,41,0,0,33,0,0,0,23,42,0,0,101,0,0,0,110,3,0,0,23,42,0,0,101,0,0,0,98,3,0,0,40,54,0,0,0,0,0,0,124,42,0,0,1,0,0,0,1,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,1,0,0,0,1,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,40,54,0,0,0,0,0,0,40,54,0,0,0,0,0,0,40,54,0,0,0,0,0,0,40,54,0,0,0,0,0,0,40,54,0,0,0,0,0,0,124,42,0,0,1,0,0,0,77,38,0,0,2,0,0,0,1,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,1,0,0,0,1,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,1,0,0,0,2,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,40,54,0,0,0,0,0,0,126,42,0,0,1,0,0,0,77,38,0,0,2,0,0,0,40,54,0,0,0,0,0,0,40,54,0,0,0,0,0,0,164,42,0,0,1,0,0,0,165,42,0,0,106,0,0,0,24,0,0,0,26,43,0,0,60,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0,0,55,0,0,0,48,54,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,164,13,0,0,173,0,120,3,121,3,139,3,141,3,162,3,87,5,88,5,96,5,136,5,144,5,28,6,29,6,221,6,14,7,15,7,75,7,76,7,46,8,47,8,63,8,92,8,93,8,161,8,255,8,120,9,128,9,132,9,141,9,142,9,145,9,146,9,169,9,177,9,186,9,187,9,197,9,198,9,201,9,202,9,222,9,228,9,229,9,4,10,17,10,18,10,41,10,49,10,52,10,55,10,58,10,59,10,61,10,73,10,74,10,93,10,132,10,142,10,146,10,169,10,177,10,180,10,186,10,187,10,198,10,202,10,206,10,207,10,228,10,229,10,4,11,13,11,14,11,17,11,18,11,41,11,49,11,52,11,58,11,59,11,69,11,70,11,73,11,74,11,94,11,100,11,101,11,132,11,145,11,155,11,157,11,201,11,206,11,207,11,4,12,13,12,17,12,41,12,52,12,69,12,73,12,87,12,100,12,101,12,128,12,129,12,132,12,141,12,145,12,169,12,180,12,186,12,187,12,197,12,201,12,223,12,228,12,229,12,240,12,4,13,13,13,17,13,59,13,60,13,69,13,73,13,100,13,101,13,128,13,129,13,132,13,178,13,188,13,190,13,191,13,213,13,215,13,131,14,133,14,134,14,137,14,139,14,140,14,152,14,160,14,164,14,166,14,168,14,169,14,172,14,186,14,190,14,191,14,197,14,199,14,206,14,207,14,218,14,219,14,72,15,152,15,189,15,205,15,198,16,206,16,207,16,73,18,78,18,79,18,87,18,89,18,94,18,95,18,137,18,142,18,143,18,177,18,182,18,183,18,191,18,193,18,198,18,199,18,215,18,17,19,22,19,23,19,91,19,92,19,128,22,13,23,109,23,113,23,222,23,223,23,14,24,15,24,110,25,111,25,28,26,29,26,95,26,125,26,126,26,22,31,23,31,30,31,31,31,70,31,71,31,78,31,79,31,88,31,90,31,92,31,94,31,126,31,127,31,181,31,197,31,212,31,213,31,220,31,240,31,241,31,245,31,114,32,115,32,143,32,0,39,47,44,95,44,38,45,46,45,47,45,167,45,175,45,183,45,191,45,199,45,207,45,215,45,223,45,154,46,64,48,151,48,152,48,143,49,31,50,255,50,143,167,206,169,78,170,79,170,90,170,91,170,7,171,8,171,15,171,16,171,39,171,238,171,239,171,110,250,111,250,55,251,61,251,63,251,66,251,69,251,144,253,145,253,254,253,255,253,83,254,103,254,117,254,200,255,201,255,208,255,209,255,216,255,217,255,231,255,254,255,255,255,0,0,32,0,127,0,34,0,127,3,5,0,40,5,9,0,139,5,4,0,200,5,8,0,235,5,5,0,245,5,17,0,178,7,14,0,251,7,5,0,95,8,65,0,173,8,55,0,179,9,3,0,207,9,8,0,216,9,4,0,252,9,5,0,11,10,4,0,67,10,4,0,78,10,3,0,82,10,7,0,95,10,7,0,118,10,11,0,209,10,15,0,242,10,15,0,78,11,8,0,88,11,4,0,120,11,10,0,139,11,3,0,150,11,3,0,160,11,3,0,165,11,3,0,171,11,3,0,186,11,4,0,195,11,3,0,209,11,6,0,216,11,14,0,251,11,6,0,58,12,3,0,78,12,7,0,90,12,6,0,112,12,8,0,206,12,7,0,215,12,7,0,243,12,15,0,79,13,8,0,88,13,8,0,118,13,3,0,151,13,3,0,199,13,3,0,203,13,4,0,224,13,18,0,245,13,12,0,59,14,4,0,92,14,37,0,142,14,6,0,224,14,32,0,109,15,4,0,219,15,37,0,200,16,5,0,125,19,3,0,154,19,6,0,245,19,11,0,157,22,3,0,241,22,15,0,21,23,11,0,55,23,9,0,84,23,12,0,116,23,12,0,234,23,6,0,250,23,6,0,26,24,6,0,120,24,8,0,171,24,5,0,246,24,10,0,29,25,3,0,44,25,4,0,60,25,4,0,65,25,3,0,117,25,11,0,172,25,4,0,202,25,6,0,219,25,3,0,138,26,6,0,154,26,6,0,174,26,82,0,76,27,4,0,125,27,3,0,244,27,8,0,56,28,3,0,74,28,3,0,128,28,64,0,200,28,8,0,247,28,9,0,231,29,21,0,255,31,17,0,40,32,8,0,95,32,17,0,157,32,3,0,186,32,22,0,241,32,15,0,138,33,6,0,244,35,12,0,39,36,25,0,75,36,21,0,77,43,3,0,90,43,166,0,244,44,5,0,40,45,5,0,104,45,7,0,113,45,14,0,151,45,9,0,60,46,68,0,244,46,12,0,214,47,26,0,252,47,5,0,0,49,5,0,46,49,3,0,187,49,5,0,228,49,12,0,0,52,192,25,0,78,0,82,141,164,3,0,199,164,9,0,44,166,20,0,152,166,7,0,248,166,8,0,148,167,12,0,171,167,77,0,44,168,4,0,58,168,6,0,120,168,8,0,197,168,9,0,218,168,6,0,252,168,4,0,84,169,11,0,125,169,3,0,218,169,4,0,224,169,32,0,55,170,9,0,124,170,4,0,195,170,24,0,247,170,10,0,23,171,9,0,47,171,145,0,250,171,182,43,199,215,4,0,252,215,4,33,218,250,38,0,7,251,12,0,24,251,5,0,194,251,17,0,64,253,16,0,200,253,40,0,26,254,6,0,39,254,9,0,108,254,4,0,253,254,4,0,191,255,3,0,221,255,3,0,239,255,13,0,12,0,39,0,59,0,62,0,78,0,79,0,31,3,158,3,158,4,159,4,6,8,7,8,9,8,54,8,61,8,62,8,86,8,4,10,20,10,24,10,86,11,87,11,189,16,53,17,39,209,40,209,85,212,157,212,160,212,161,212,163,212,164,212,167,212,168,212,173,212,186,212,188,212,196,212,6,213,11,213,12,213,21,213,29,213,58,213,63,213,69,213,81,213,166,214,167,214,204,215,205,215,4,238,32,238,35,238,37,238,38,238,40,238,51,238,56,238,58,238,72,238,74,238,76,238,80,238,83,238,85,238,86,238,88,238,90,238,92,238,94,238,96,238,99,238,101,238,102,238,107,238,115,238,120,238,125,238,127,238,138,238,164,238,170,238,175,240,176,240,191,240,192,240,208,240,47,241,54,243,197,243,63,244,65,244,248,244,62,245,63,245,94,0,34,0,251,0,5,0,3,1,4,0,52,1,3,0,139,1,5,0,156,1,52,0,254,1,130,0,157,2,3,0,209,2,47,0,36,3,12,0,75,3,53,0,196,3,4,0,214,3,42,0,170,4,86,3,57,8,3,0,96,8,160,0,28,9,3,0,58,9,5,0,64,9,64,0,184,9,6,0,192,9,64,0,7,10,5,0,52,10,4,0,59,10,4,0,72,10,8,0,89,10,7,0,128,10,128,0,54,11,3,0,115,11,5,0,128,11,128,0,73,12,23,2,127,14,129,1,78,16,4,0,112,16,16,0,194,16,14,0,233,16,7,0,250,16,6,0,68,17,60,0,201,17,7,0,218,17,166,4,184,22,8,0,202,22,54,9,111,35,145,0,99,36,13,0,116,36,140,11,47,52,209,51,57,106,199,4,69,111,11,0,127,111,16,0,160,111,96,64,2,176,254,31,246,208,10,0,115,209,8,0,222,209,34,0,70,210,186,0,87,211,9,0,114,211,142,0,71,213,3,0,0,216,0,22,60,238,6,0,67,238,4,0,156,238,5,0,188,238,52,0,242,238,14,1,44,240,4,0,148,240,12,0,224,240,32,0,11,241,5,0,108,241,4,0,155,241,75,0,3,242,13,0,59,242,5,0,73,242,7,0,82,242,174,0,33,243,15,0,125,243,3,0,148,243,12,0,203,243,21,0,241,243,15,0,253,244,3,0,68,245,12,0,104,245,147,0,65,246,4,0,80,246,48,0,198,246,58,0,116,247,140,8,72,101,108,108,111,44,32,69,109,115,99,114,105,112,116,101,110,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,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,117,110,105,120,47,99,111,110,100,118,97,114,46,114,115,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,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,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,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,1,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,114,119,108,111,99,107,32,109,97,120,105,109,117,109,32,114,101,97,100,101,114,32,99,111,117,110,116,32,101,120,99,101,101,100,101,100,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,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,102,97,116,97,108,32,114,117,110,116,105,109,101,32,101,114,114,111,114,58,32,10,102,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,116,101,32,112,97,110,105,99,44,32,101,114,114,111,114,32,82,85,83,84,95,66,65,67,75,84,82,65,67,69,48,66,111,120,60,65,110,121,62,60,117,110,110,97,109,101,100,62,102,111,114,109,97,116,116,101,114,32,101,114,114,111,114,83,116,114,105,110,103,69,114,114,111,114,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,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,69,95,90,78,90,78,58,58,95,36,46,36,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,41,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,36,117,55,98,36,123,36,117,55,100,36,125,36,117,51,98,36,59,36,117,50,98,36,43,36,117,50,50,36,34,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,60,117,110,107,110,111,119,110,62,32,32,58,32,32,45,32,32,46,46,46,32,60,102,114,97,109,101,115,32,111,109,105,116,116,101,100,62,10,115,116,97,99,107,32,98,97,99,107,116,114,97,99,101,58,10,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,97,108,114,101,97,100,121,32,98,111,114,114,111,119,101,100,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,116,104,114,101,97,100,32,110,97,109,101,32,109,97,121,32,110,111,116,32,99,111,110,116,97,105,110,32,105,110,116,101,114,105,111,114,32,110,117,108,108,32,98,121,116,101,115,102,97,105,108,101,100,32,116,111,32,103,101,110,101,114,97,116,101,32,117,110,105,113,117,101,32,116,104,114,101,97,100,32,73,68,58,32,98,105,116,115,112,97,99,101,32,101,120,104,97,117,115,116,101,100,99,97,112,97,99,105,116,121,32,111,118,101,114,102,108,111,119,78,117,108,69,114,114,111,114,97,108,114,101,97,100,121,32,109,117,116,97,98,108,121,32,98,111,114,114,111,119,101,100,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,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,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,32,40,111,115,32,101,114,114,111,114,32,115,116,114,101,114,114,111,114,95,114,32,102,97,105,108,117,114,101,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,115,116,100,47,116,104,114,101,97,100,47,109,111,100,46,114,115,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,115,116,100,47,101,110,118,46,114,115,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,115,116,100,47,105,111,47,115,116,100,105,111,46,114,115,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,115,116,100,47,115,121,110,99,47,99,111,110,100,118,97,114,46,114,115,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,115,116,100,47,115,121,110,99,47,111,110,99,101,46,114,115,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,115,116,100,47,115,121,115,95,99,111,109,109,111,110,47,97,116,95,101,120,105,116,95,105,109,112,46,114,115,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,115,116,100,47,115,121,115,95,99,111,109,109,111,110,47,116,104,114,101,97,100,95,105,110,102,111,46,114,115,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,115,116,100,47,115,121,115,95,99,111,109,109,111,110,47,116,104,114,101,97,100,95,108,111,99,97,108,46,114,115,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,117,110,105,120,47,97,114,103,115,46,114,115,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,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,117,115,101,32,111,102,32,115,116,100,58,58,116,104,114,101,97,100,58,58,99,117,114,114,101,110,116,40,41,32,105,115,32,110,111,116,32,112,111,115,115,105,98,108,101,32,97,102,116,101,114,32,116,104,101,32,116,104,114,101,97,100,39,115,32,108,111,99,97,108,32,100,97,116,97,32,104,97,115,32,98,101,101,110,32,100,101,115,116,114,111,121,101,100,97,116,116,101,109,112,116,101,100,32,116,111,32,117,115,101,32,97,32,99,111,110,100,105,116,105,111,110,32,118,97,114,105,97,98,108,101,32,119,105,116,104,32,116,119,111,32,109,117,116,101,120,101,115,80,111,105,115,111,110,69,114,114,111,114,32,123,32,105,110,110,101,114,58,32,46,46,32,125,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,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,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,79,110,99,101,32,105,110,115,116,97,110,99,101,32,104,97,115,32,112,114,101,118,105,111,117,115,108,121,32,98,101,101,110,32,112,111,105,115,111,110,101,100,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,115,116,97,116,101,32,38,32,83,84,65,84,69,95,77,65,83,75,32,61,61,32,82,85,78,78,73,78,71,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,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,109,97,105,110,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,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,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,33,112,116,114,46,105,115,95,110,117,108,108,40,41,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,112,97,110,105,99,95,117,110,119,105,110,100,47,101,109,99,99,46,114,115,105,110,116,101,114,110,97,108,32,101,114,114,111,114,58,32,101,110,116,101,114,101,100,32,117,110,114,101,97,99,104,97,98,108,101,32,99,111,100,101,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,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,239,191,189,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,114,117,115,116,99,95,117,110,105,99,111,100,101,47,116,97,98,108,101,115,46,114,115,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,99,111,114,101,47,115,108,105,99,101,46,114,115,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,3,0,0,4,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,5,0,6,7,0,0,8,0,0,0,6,0,0,0,0,0,8,0,8,0,0,0,0,0,8,0,9,6,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,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,10,11,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,8,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,12,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,0,0,0,8,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,99,97,112,97,99,105,116,121,32,111,118,101,114,102,108,111,119,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,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,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,99,111,114,101,47,99,104,97,114,46,114,115,116,111,95,100,105,103,105,116,58,32,114,97,100,105,120,32,105,115,32,116,111,111,32,104,105,103,104,32,40,109,97,120,105,109,117,109,32,51,54,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,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,99,111,114,101,47,111,112,116,105,111,110,46,114,115,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,99,111,114,101,47,114,101,115,117,108,116,46,114,115,58,32,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,99,111,114,101,47,115,108,105,99,101,46,114,115,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,99,111,114,101,47,115,116,114,47,109,111,100,46,114,115,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], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE);
/* memory initializer */ allocate([4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,99,111,114,101,47,110,117,109,47,109,111,100,46,114,115,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,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,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,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,91,46,46,46,93,32,97,110,100,47,111,114,32,32,105,110,32,96,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,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,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,99,111,114,101,47,102,109,116,47,109,111,100,46,114,115,10,41,32,32,32,32,32,66,111,114,114,111,119,69,114,114,111,114,66,111,114,114,111,119,77,117,116,69,114,114,111,114,32,123,10,125,32,125,44,32,91,47,98,117,105,108,100,115,108,97,118,101,47,114,117,115,116,45,98,117,105,108,100,98,111,116,47,115,108,97,118,101,47,110,105,103,104,116,108,121,45,100,105,115,116,45,114,117,115,116,99,45,99,114,111,115,115,45,114,117,115,116,98,117,105,108,100,45,108,105,110,117,120,47,98,117,105,108,100,47,115,114,99,47,108,105,98,99,111,114,101,47,99,104,97,114,95,112,114,105,118,97,116,101,46,114,115,107,105,110,100,69,109,112,116,121,48,120,102,114,111,109,95,115,116,114,95,114,97,100,105,120,95,105,110,116,58,32,109,117,115,116,32,108,105,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,96,91,50,44,32,51,54,93,96,32,45,32,102,111,117,110,100,32,80,97,114,115,101,73,110,116,69,114,114,111,114,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,85,116,102,56,69,114,114,111,114,118,97,108,105,100,95,117,112,95,116,111,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+10240);
/* 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}}
Module["_i64Add"] = _i64Add;
function _pthread_mutex_destroy() {}
function __ZSt18uncaught_exceptionv() { // std::uncaught_exception()
return !!__ZSt18uncaught_exceptionv.uncaught_exception;
}
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--;
// A rethrown exception can reach refcount 0; it must not be discarded
// Its next handler will clear the rethrown flag and addRef it, prior to
// final decRef and destruction here
if (info.refcount === 0 && !info.rethrown) {
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; }
throw ptr;
}function ___cxa_find_matching_catch() {
var thrown = EXCEPTIONS.last;
if (!thrown) {
// just pass through the null ptr
return ((asm["setTempRet0"](0),0)|0);
}
var info = EXCEPTIONS.infos[thrown];
var throwntype = info.type;
if (!throwntype) {
// just pass through the thrown ptr
return ((asm["setTempRet0"](0),thrown)|0);
}
var typeArray = Array.prototype.slice.call(arguments);
var pointer = Module['___cxa_is_pointer_type'](throwntype);
// can_catch receives a **, add indirection
if (!___cxa_find_matching_catch.buffer) ___cxa_find_matching_catch.buffer = _malloc(4);
HEAP32[((___cxa_find_matching_catch.buffer)>>2)]=thrown;
thrown = ___cxa_find_matching_catch.buffer;
// The different catch blocks are denoted by different types.
// Due to inheritance, those types may not precisely match the
// type of the thrown object. Find one which matches, and
// return the type of the catch block which should be called.
for (var i = 0; i < typeArray.length; i++) {
if (typeArray[i] && Module['___cxa_can_catch'](typeArray[i], throwntype, thrown)) {
thrown = HEAP32[((thrown)>>2)]; // undo indirection
info.adjusted = thrown;
return ((asm["setTempRet0"](typeArray[i]),thrown)|0);
}
}
// Shouldn't happen unless we have bogus data in typeArray
// or encounter a type for which emscripten doesn't have suitable
// typeinfo defined. Best-efforts match just in case.
thrown = HEAP32[((thrown)>>2)]; // undo indirection
return ((asm["setTempRet0"](throwntype),thrown)|0);
}function ___cxa_throw(ptr, type, destructor) {
EXCEPTIONS.infos[ptr] = {
ptr: ptr,
adjusted: ptr,
type: type,
destructor: destructor,
refcount: 0,
caught: false,
rethrown: false
};
EXCEPTIONS.last = ptr;
if (!("uncaught_exception" in __ZSt18uncaught_exceptionv)) {
__ZSt18uncaught_exceptionv.uncaught_exception = 1;
} else {
__ZSt18uncaught_exceptionv.uncaught_exception++;
}
throw ptr;
}
Module["_memset"] = _memset;
function __Unwind_FindEnclosingFunction() {
return 0; // we cannot succeed
}
Module["_pthread_mutex_lock"] = _pthread_mutex_lock;
function _pthread_mutexattr_settype() {}
function _abort() {
Module['abort']();
}
function _pthread_cond_destroy() { return 0; }
function _pthread_condattr_destroy() { return 0; }
function _free() {
}
Module["_free"] = _free;function ___cxa_free_exception(ptr) {
try {
return _free(ptr);
} catch(e) { // XXX FIXME
Module.printErr('exception during cxa_free_exception: ' + e);
}
}
function _pthread_condattr_setclock() { return 0; }
function ___lock() {}
function ___unlock() {}
function _pthread_mutexattr_init() {}
var PTHREAD_SPECIFIC={};function _pthread_getspecific(key) {
return PTHREAD_SPECIFIC[key] || 0;
}
var PTHREAD_SPECIFIC_NEXT_KEY=1;
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 _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;
}
Module["_pthread_self"] = _pthread_self;
function _pthread_setspecific(key, value) {
if (!(key in PTHREAD_SPECIFIC)) {
return ERRNO_CODES.EINVAL;
}
PTHREAD_SPECIFIC[key] = value;
return 0;
}
function _pthread_mutexattr_destroy() {}
function _emscripten_memcpy_big(dest, src, num) {
HEAPU8.set(HEAPU8.subarray(src, src+num), dest);
return dest;
}
Module["_memcpy"] = _memcpy;
Module["_memmove"] = _memmove;
function _malloc(bytes) {
/* Over-allocate to make sure it is byte-aligned by 8.
* This will leak memory, but this is only the dummy
* implementation (replaced by dlmalloc normally) so
* not an issue.
*/
var ptr = Runtime.dynamicAlloc(bytes + 8);
return (ptr+8) & 0xFFFFFFF8;
}
Module["_malloc"] = _malloc;function ___cxa_allocate_exception(size) {
return _malloc(size);
}
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"};
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 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 isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion
var fd = process.stdin.fd;
if (isPosixPlatform) {
// 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) {}
}
try {
bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
} catch(e) {
// Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes,
// reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0.
if (e.toString().indexOf('EOF') != -1) bytesRead = 0;
else throw e;
}
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);
}
if (!req) {
return callback("Unable to connect to IndexedDB");
}
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 &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
flags &= ~0x80000 /*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('/');
// Issue 4254: Using curr as a node name will prevent the node
// from being found in FS.nameTable when FS.open is called on
// a path which holds a child of this node,
// given that all FS functions assume node names
// are just their corresponding parts within their given path,
// rather than incremental aggregates which include their parent's
// directories.
if (!createdParents[curr]) {
createdParents[curr] = WORKERFS.createNode(parent, parts[i], 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);
},mkdirTree:function (path, mode) {
var dirs = path.split('/');
var d = '';
for (var i = 0; i < dirs.length; ++i) {
if (!dirs[i]) continue;
d += '/' + dirs[i];
try {
FS.mkdir(d, mode);
} catch(e) {
if (e.errno != ERRNO_CODES.EEXIST) throw e;
}
}
},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) {
// According to POSIX, we should map EISDIR to EPERM, but
// we instead do what Linux does (and we must, as we use
// the musl linux libc).
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 | 511 /* 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);
var len = Math.min(bufsize, lengthBytesUTF8(ret));
var endChar = HEAP8[buf+len];
stringToUTF8(ret, buf, bufsize+1);
// readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!)
// stringToUTF8() always appends a null byte, so restore the character under the null byte after the write.
HEAP8[buf+len] = endChar;
return len;
},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 _llvm_trap() {
abort('trap!');
}
var _llvm_ctlz_i32=true;
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 = Runtime.dynCall('iii', [0, arg]);
if (ret !== 0) return;
}
}
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);
}
Module["_pthread_mutex_unlock"] = _pthread_mutex_unlock;
function _pthread_cond_signal() { return 0; }
function _pthread_cond_init() { return 0; }
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;
}
}
var _llvm_nacl_atomic_cmpxchg_i8=undefined;
Module["_sbrk"] = _sbrk;
Module["_bitshift64Shl"] = _bitshift64Shl;
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;
}
function ___gxx_personality_v0() {
}
function _pthread_cond_wait() { return 0; }
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;
}
}
Module["_llvm_bswap_i32"] = _llvm_bswap_i32;
function _pthread_condattr_init() { return 0; }
Module["_llvm_bswap_i16"] = _llvm_bswap_i16;
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 _llvm_nacl_atomic_cmpxchg_i32=undefined;
function _pthread_rwlock_unlock() { return 0; }
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);;
DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC);
STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP);
STACK_MAX = STACK_BASE + TOTAL_STACK;
DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX);
HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE;
staticSealed = true; // seal the static portion of memory
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, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "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_cond_wait": _pthread_cond_wait, "_pthread_key_create": _pthread_key_create, "__Unwind_FindEnclosingFunction": __Unwind_FindEnclosingFunction, "_emscripten_get_callstack_js": _emscripten_get_callstack_js, "___gxx_personality_v0": ___gxx_personality_v0, "_pthread_rwlock_unlock": _pthread_rwlock_unlock, "___cxa_find_matching_catch_2": ___cxa_find_matching_catch_2, "___cxa_find_matching_catch": ___cxa_find_matching_catch, "___buildEnvironment": ___buildEnvironment, "_pthread_cond_init": _pthread_cond_init, "__Unwind_GetIPInfo": __Unwind_GetIPInfo, "_pthread_mutexattr_destroy": _pthread_mutexattr_destroy, "__emscripten_traverse_stack": __emscripten_traverse_stack, "___setErrNo": ___setErrNo, "___cxa_free_exception": ___cxa_free_exception, "_pthread_key_delete": _pthread_key_delete, "___cxa_allocate_exception": ___cxa_allocate_exception, "_emscripten_memcpy_big": _emscripten_memcpy_big, "___resumeException": ___resumeException, "__ZSt18uncaught_exceptionv": __ZSt18uncaught_exceptionv, "_pthread_condattr_setclock": _pthread_condattr_setclock, "_pthread_getspecific": _pthread_getspecific, "___cxa_find_matching_catch_3": ___cxa_find_matching_catch_3, "_pthread_rwlock_rdlock": _pthread_rwlock_rdlock, "_pthread_cond_signal": _pthread_cond_signal, "_pthread_mutex_destroy": _pthread_mutex_destroy, "_abort": _abort, "_pthread_condattr_init": _pthread_condattr_init, "_pthread_mutexattr_settype": _pthread_mutexattr_settype, "_getenv": _getenv, "_pthread_condattr_destroy": _pthread_condattr_destroy, "___syscall54": ___syscall54, "___unlock": ___unlock, "___syscall140": ___syscall140, "_pthread_mutexattr_init": _pthread_mutexattr_init, "_pthread_setspecific": _pthread_setspecific, "_dladdr": _dladdr, "___cxa_throw": ___cxa_throw, "___lock": ___lock, "___syscall6": ___syscall6, "_pthread_cleanup_push": _pthread_cleanup_push, "___syscall4": ___syscall4, "_pthread_cond_destroy": _pthread_cond_destroy, "_llvm_trap": _llvm_trap, "_pthread_mutex_init": _pthread_mutex_init, "__Unwind_Backtrace": __Unwind_Backtrace, "___syscall146": ___syscall146, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "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 DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|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 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_max=global.Math.max;
var Math_clz32=global.Math.clz32;
var abort=env.abort;
var assert=env.assert;
var enlargeMemory=env.enlargeMemory;
var getTotalMemory=env.getTotalMemory;
var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory;
var abortStackOverflow=env.abortStackOverflow;
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_cond_wait=env._pthread_cond_wait;
var _pthread_key_create=env._pthread_key_create;
var __Unwind_FindEnclosingFunction=env.__Unwind_FindEnclosingFunction;
var _emscripten_get_callstack_js=env._emscripten_get_callstack_js;
var ___gxx_personality_v0=env.___gxx_personality_v0;
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=env.___cxa_find_matching_catch;
var ___buildEnvironment=env.___buildEnvironment;
var _pthread_cond_init=env._pthread_cond_init;
var __Unwind_GetIPInfo=env.__Unwind_GetIPInfo;
var _pthread_mutexattr_destroy=env._pthread_mutexattr_destroy;
var __emscripten_traverse_stack=env.__emscripten_traverse_stack;
var ___setErrNo=env.___setErrNo;
var ___cxa_free_exception=env.___cxa_free_exception;
var _pthread_key_delete=env._pthread_key_delete;
var ___cxa_allocate_exception=env.___cxa_allocate_exception;
var _emscripten_memcpy_big=env._emscripten_memcpy_big;
var ___resumeException=env.___resumeException;
var __ZSt18uncaught_exceptionv=env.__ZSt18uncaught_exceptionv;
var _pthread_condattr_setclock=env._pthread_condattr_setclock;
var _pthread_getspecific=env._pthread_getspecific;
var ___cxa_find_matching_catch_3=env.___cxa_find_matching_catch_3;
var _pthread_rwlock_rdlock=env._pthread_rwlock_rdlock;
var _pthread_cond_signal=env._pthread_cond_signal;
var _pthread_mutex_destroy=env._pthread_mutex_destroy;
var _abort=env._abort;
var _pthread_condattr_init=env._pthread_condattr_init;
var _pthread_mutexattr_settype=env._pthread_mutexattr_settype;
var _getenv=env._getenv;
var _pthread_condattr_destroy=env._pthread_condattr_destroy;
var ___syscall54=env.___syscall54;
var ___unlock=env.___unlock;
var ___syscall140=env.___syscall140;
var _pthread_mutexattr_init=env._pthread_mutexattr_init;
var _pthread_setspecific=env._pthread_setspecific;
var _dladdr=env._dladdr;
var ___cxa_throw=env.___cxa_throw;
var ___lock=env.___lock;
var ___syscall6=env.___syscall6;
var _pthread_cleanup_push=env._pthread_cleanup_push;
var ___syscall4=env.___syscall4;
var _pthread_cond_destroy=env._pthread_cond_destroy;
var _llvm_trap=env._llvm_trap;
var _pthread_mutex_init=env._pthread_mutex_init;
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)) abortStackOverflow(size|0);
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 setTempRet0(value) {
value = value|0;
tempRet0 = value;
}
function getTempRet0() {
return tempRet0|0;
}
function __ZN4core3fmt9Arguments6new_v117hfa2b75e2d9d8283fE($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $_6 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$_6 = sp;
HEAP32[$_6>>2] = 0;
HEAP32[$0>>2] = $1;
$5 = ((($0)) + 4|0);
HEAP32[$5>>2] = $2;
$6 = ((($0)) + 8|0);
;HEAP32[$6>>2]=HEAP32[$_6>>2]|0;HEAP32[$6+4>>2]=HEAP32[$_6+4>>2]|0;
$7 = ((($0)) + 16|0);
HEAP32[$7>>2] = $3;
$8 = ((($7)) + 4|0);
HEAP32[$8>>2] = $4;
STACKTOP = sp;return;
}
function __ZN5hello4main17he0456e9afe624279E() {
var $0 = 0, $1 = 0, $_2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$_2 = sp;
$0 = HEAP32[544]|0;
$1 = HEAP32[(2180)>>2]|0;
__ZN4core3fmt9Arguments6new_v117hfa2b75e2d9d8283fE($_2,$0,$1,13320,0);
__ZN3std2io5stdio6_print17hdec71e61010c0598E($_2);
STACKTOP = sp;return;
}
function _main($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__ZN3std2rt10lang_start17hbf07045205cfddc7E(56,$0,$1)|0);
return ($2|0);
}
function __ZN3std9panicking11begin_panic17h2ee86974cf685435E($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 = (___rust_allocate(8,4)|0);
$4 = ($3|0)==(0|0);
if ($4) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
} else {
HEAP32[$3>>2] = $0;
$5 = ((($3)) + 4|0);
HEAP32[$5>>2] = $1;
__ZN3std9panicking20rust_panic_with_hook17h9a51a84778194480E($3,256,$2);
// unreachable;
}
}
function __ZN60__LT_std__io__error__Error_u20_as_u20_core__fmt__Display_GT_3fmt17h9b13579db3fb8dd1E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$pre$phiZ2D = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$sroa$0$0 = 0, $_11 = 0, $_16 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $code = 0, $detail = 0, $not$$i$i$i$i$i = 0, $not$$i$i$i$i$i14 = 0;
var $switch = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$code = sp + 52|0;
$detail = sp + 40|0;
$_11 = sp + 16|0;
$_16 = sp;
$2 = HEAP32[$0>>2]|0;
$switch = ($2|0)==(1);
if ($switch) {
$16 = ((($0)) + 4|0);
$17 = HEAP32[$16>>2]|0;
$18 = ((($17)) + 4|0);
$19 = HEAP32[$18>>2]|0;
$20 = ((($17)) + 8|0);
$21 = HEAP32[$20>>2]|0;
$22 = ((($21)) + 24|0);
$23 = HEAP32[$22>>2]|0;
$24 = (FUNCTION_TABLE_iii[$23 & 255]($19,$1)|0);
$$pre$phiZ2D = $code;$_0$sroa$0$0 = $24;
STACKTOP = sp;return ($_0$sroa$0$0|0);
}
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
HEAP32[$code>>2] = $4;
__ZN3std3sys3imp2os12error_string17h649876b011bf277aE($detail,$4);
$5 = $detail;
$6 = $code;
HEAP32[$_16>>2] = $5;
$7 = ((($_16)) + 4|0);
HEAP32[$7>>2] = (57);
$8 = ((($_16)) + 8|0);
HEAP32[$8>>2] = $6;
$9 = ((($_16)) + 12|0);
HEAP32[$9>>2] = (58);
HEAP32[$_11>>2] = 2704;
$10 = ((($_11)) + 4|0);
HEAP32[$10>>2] = 3;
$_6$sroa$0$0$$sroa_idx$i = ((($_11)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$11 = ((($_11)) + 16|0);
HEAP32[$11>>2] = $_16;
$12 = ((($_11)) + 20|0);
HEAP32[$12>>2] = 2;
__THREW__ = 0;
$13 = (invoke_iii(59,($1|0),($_11|0))|0);
$14 = __THREW__; __THREW__ = 0;
$15 = $14&1;
if ($15) {
$25 = ___cxa_find_matching_catch_2()|0;
$29 = tempRet0;
$30 = ((($detail)) + 4|0);
$31 = HEAP32[$30>>2]|0;
$not$$i$i$i$i$i = ($31|0)==(0);
if ($not$$i$i$i$i$i) {
___resumeException($25|0);
// unreachable;
}
$32 = HEAP32[$detail>>2]|0;
___rust_deallocate($32,$31,1);
___resumeException($25|0);
// unreachable;
} else {
$26 = ((($detail)) + 4|0);
$27 = HEAP32[$26>>2]|0;
$not$$i$i$i$i$i14 = ($27|0)==(0);
if (!($not$$i$i$i$i$i14)) {
$28 = HEAP32[$detail>>2]|0;
___rust_deallocate($28,$27,1);
}
$$pre$phiZ2D = $code;$_0$sroa$0$0 = $13;
STACKTOP = sp;return ($_0$sroa$0$0|0);
}
return (0)|0;
}
function __ZN3std9panicking15begin_panic_fmt17h0b5c900cf8f76eedE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_1$sroa$4$0$$sroa_idx3$i = 0, $_1$sroa$5$0$$sroa_idx5$i = 0, $_10$i = 0, $_11 = 0, $_8$i = 0, $not$$i$i$i$i$i = 0, $personalityslot$sroa$0$0 = 0, $personalityslot$sroa$5$0 = 0, $s = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$_8$i = sp + 56|0;
$_10$i = sp + 32|0;
$s = sp + 16|0;
$_11 = sp;
HEAP32[$s>>2] = 1;
$_1$sroa$4$0$$sroa_idx3$i = ((($s)) + 4|0);
HEAP32[$_1$sroa$4$0$$sroa_idx3$i>>2] = 0;
$_1$sroa$5$0$$sroa_idx5$i = ((($s)) + 8|0);
HEAP32[$_1$sroa$5$0$$sroa_idx5$i>>2] = 0;
HEAP32[$_8$i>>2] = $s;
;HEAP32[$_10$i>>2]=HEAP32[$0>>2]|0;HEAP32[$_10$i+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$_10$i+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$_10$i+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$_10$i+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$_10$i+20>>2]=HEAP32[$0+20>>2]|0;
__THREW__ = 0;
(invoke_iiii(60,($_8$i|0),(40|0),($_10$i|0))|0);
$2 = __THREW__; __THREW__ = 0;
$3 = $2&1;
if (!($3)) {
;HEAP32[$_11>>2]=HEAP32[$s>>2]|0;HEAP32[$_11+4>>2]=HEAP32[$s+4>>2]|0;HEAP32[$_11+8>>2]=HEAP32[$s+8>>2]|0;
__THREW__ = 0;
invoke_vii(61,($_11|0),($1|0));
$4 = __THREW__; __THREW__ = 0;
$5 = ___cxa_find_matching_catch_2()|0;
$6 = tempRet0;
$personalityslot$sroa$0$0 = $5;$personalityslot$sroa$5$0 = $6;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$7 = ___cxa_find_matching_catch_2()|0;
$8 = tempRet0;
$9 = HEAP32[$_1$sroa$4$0$$sroa_idx3$i>>2]|0;
$not$$i$i$i$i$i = ($9|0)==(0);
if ($not$$i$i$i$i$i) {
$personalityslot$sroa$0$0 = $7;$personalityslot$sroa$5$0 = $8;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$10 = HEAP32[$s>>2]|0;
___rust_deallocate($10,$9,1);
$personalityslot$sroa$0$0 = $7;$personalityslot$sroa$5$0 = $8;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
function __ZN3std9panicking11begin_panic17hb4983fedd4757d7cE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $x$sroa$0$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$x$sroa$0$i = sp;
;HEAP32[$x$sroa$0$i>>2]=HEAP32[$0>>2]|0;HEAP32[$x$sroa$0$i+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$x$sroa$0$i+8>>2]=HEAP32[$0+8>>2]|0;
$2 = (___rust_allocate(12,4)|0);
$3 = ($2|0)==(0|0);
if ($3) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
} else {
;HEAP32[$2>>2]=HEAP32[$x$sroa$0$i>>2]|0;HEAP32[$2+4>>2]=HEAP32[$x$sroa$0$i+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$x$sroa$0$i+8>>2]|0;
__ZN3std9panicking20rust_panic_with_hook17h9a51a84778194480E($2,64,$1);
// unreachable;
}
}
function __ZN3std9panicking20rust_panic_with_hook17h9a51a84778194480E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$pre = 0, $$pre22 = 0, $$sink$in$phi$trans$insert = 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, $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, $_13 = 0;
var $_26$sroa$0$0$$sroa_idx = 0, $_26$sroa$4$0$$sroa_idx8 = 0, $_26$sroa$5$0$$sroa_idx10 = 0, $_45 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_6$sroa$0$0$$sroa_idx$i12 = 0, $eh$lpad$body20$index2Z2D = 0, $eh$lpad$body20$indexZ2D = 0, $info = 0, $not$ = 0, $phitmp = 0, $switch = 0, $switch$i$i = 0, $switch2tmp$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$_13 = sp + 48|0;
$info = sp + 24|0;
$_45 = sp;
$3 = $0;
$4 = $1;
$5 = HEAP32[$2>>2]|0;
$6 = ((($2)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($2)) + 8|0);
$9 = HEAP32[$8>>2]|0;
__THREW__ = 0;
$10 = (invoke_i(62)|0);
$11 = __THREW__; __THREW__ = 0;
$12 = $11&1;
do {
if ($12) {
label = 6;
} else {
$switch2tmp$i$i$i = ($10|0)==(0|0);
if ($switch2tmp$i$i$i) {
__THREW__ = 0;
invoke_vii(63,(5764|0),57);
$13 = __THREW__; __THREW__ = 0;
label = 6;
break;
}
$14 = HEAP32[$10>>2]|0;
$switch$i$i = ($14|0)==(1);
if ($switch$i$i) {
$$sink$in$phi$trans$insert = ((($10)) + 4|0);
$$pre = HEAP32[$$sink$in$phi$trans$insert>>2]|0;
$phitmp = (($$pre) + 1)|0;
HEAP32[$$sink$in$phi$trans$insert>>2] = $phitmp;
$21 = ($phitmp>>>0)>(2);
if ($21) {
HEAP32[$_13>>2] = 2476;
$28 = ((($_13)) + 4|0);
HEAP32[$28>>2] = 1;
$_6$sroa$0$0$$sroa_idx$i12 = ((($_13)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i12>>2] = 0;
$29 = ((($_13)) + 16|0);
HEAP32[$29>>2] = 13320;
$30 = ((($_13)) + 20|0);
HEAP32[$30>>2] = 0;
__THREW__ = 0;
invoke_vi(65,($_13|0));
$31 = __THREW__; __THREW__ = 0;
$32 = $31&1;
if (!($32)) {
_llvm_trap();
// unreachable;
}
} else {
$45 = $phitmp;
label = 9;
}
} else {
$15 = $10;
$16 = $15;
HEAP32[$16>>2] = 1;
$17 = (($15) + 4)|0;
$18 = $17;
HEAP32[$18>>2] = 0;
$$pre22 = ((($10)) + 4|0);
HEAP32[$$pre22>>2] = 1;
$45 = 1;
label = 9;
}
L11: do {
if ((label|0) == 9) {
HEAP32[$info>>2] = $3;
$22 = ((($info)) + 4|0);
HEAP32[$22>>2] = $4;
$_26$sroa$0$0$$sroa_idx = ((($info)) + 8|0);
HEAP32[$_26$sroa$0$0$$sroa_idx>>2] = $5;
$_26$sroa$4$0$$sroa_idx8 = ((($info)) + 12|0);
HEAP32[$_26$sroa$4$0$$sroa_idx8>>2] = $7;
$_26$sroa$5$0$$sroa_idx10 = ((($info)) + 16|0);
HEAP32[$_26$sroa$5$0$$sroa_idx10>>2] = $9;
$23 = (_pthread_rwlock_rdlock(((13048)|0))|0);
switch ($23|0) {
case 11: {
__THREW__ = 0;
invoke_viii(64,(5821|0),36,(2216|0));
$24 = __THREW__; __THREW__ = 0;
break L11;
break;
}
case 35: {
break;
}
default: {
label = 11;
}
}
do {
if ((label|0) == 11) {
$25 = HEAP8[(13080)>>0]|0;
$not$ = ($25<<24>>24)==(0);
if (!($not$)) {
$26 = ($23|0)==(0);
if (!($26)) {
break;
}
(_pthread_rwlock_unlock(((13048)|0))|0);
break;
}
$33 = HEAP32[(13084)>>2]|0;HEAP32[(13084)>>2] = (($33+1)|0);
$34 = HEAP32[3322]|0;
$switch = ($34|0)==(1);
if ($switch) {
$37 = HEAP32[(13292)>>2]|0;
$38 = HEAP32[(13296)>>2]|0;
$39 = ((($38)) + 12|0);
$40 = HEAP32[$39>>2]|0;
__THREW__ = 0;
invoke_vii($40|0,($37|0),($info|0));
$41 = __THREW__; __THREW__ = 0;
$42 = $41&1;
if ($42) {
break L11;
}
} else {
__THREW__ = 0;
invoke_vi(66,($info|0));
$35 = __THREW__; __THREW__ = 0;
$36 = $35&1;
if ($36) {
break L11;
}
}
$43 = HEAP32[(13084)>>2]|0;HEAP32[(13084)>>2] = (($43-1)|0);
(_pthread_rwlock_unlock(((13048)|0))|0);
$44 = ($45>>>0)>(1);
if (!($44)) {
_rust_panic($0,$1);
// unreachable;
}
HEAP32[$_45>>2] = 2484;
$46 = ((($_45)) + 4|0);
HEAP32[$46>>2] = 1;
$_6$sroa$0$0$$sroa_idx$i = ((($_45)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$47 = ((($_45)) + 16|0);
HEAP32[$47>>2] = 13320;
$48 = ((($_45)) + 20|0);
HEAP32[$48>>2] = 0;
__THREW__ = 0;
invoke_vi(65,($_45|0));
$49 = __THREW__; __THREW__ = 0;
$50 = $49&1;
if ($50) {
break L11;
}
_llvm_trap();
// unreachable;
}
} while(0);
__THREW__ = 0;
invoke_viii(64,(5857|0),41,(2228|0));
$27 = __THREW__; __THREW__ = 0;
}
} while(0);
$57 = ___cxa_find_matching_catch_2()|0;
$58 = tempRet0;
$eh$lpad$body20$index2Z2D = $58;$eh$lpad$body20$indexZ2D = $57;
}
} while(0);
if ((label|0) == 6) {
$19 = ___cxa_find_matching_catch_2()|0;
$20 = tempRet0;
$eh$lpad$body20$index2Z2D = $20;$eh$lpad$body20$indexZ2D = $19;
}
$51 = HEAP32[$1>>2]|0;
FUNCTION_TABLE_vi[$51 & 255]($0);
$52 = ((($1)) + 4|0);
$53 = HEAP32[$52>>2]|0;
$54 = ($53|0)==(0);
if ($54) {
___resumeException($eh$lpad$body20$indexZ2D|0);
// unreachable;
}
$55 = ((($1)) + 8|0);
$56 = HEAP32[$55>>2]|0;
___rust_deallocate($0,$53,$56);
___resumeException($eh$lpad$body20$indexZ2D|0);
// unreachable;
}
function __ZN3std9panicking18update_panic_count11PANIC_COUNT7__getit17h14dfe58ada842e81E() {
var $$$i = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$0$i$i$i = 0, $_0$0$i$i3$i = 0, $cond$i$i$i = 0;
var $cond$i$i1$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[560]|0;
$cond$i$i$i = ($0|0)==(0);
if ($cond$i$i$i) {
$1 = (__ZN3std10sys_common12thread_local9StaticKey9lazy_init17hfc6d2d1726d17391E(2240)|0);
$_0$0$i$i$i = $1;
} else {
$_0$0$i$i$i = $0;
}
$2 = (_pthread_getspecific(($_0$0$i$i$i|0))|0);
$3 = ($2|0)==(0|0);
if (!($3)) {
$4 = ($2|0)==((1)|0);
$5 = ((($2)) + 4|0);
$$$i = $4 ? 0 : $5;
$15 = $$$i;
return ($15|0);
}
$6 = (___rust_allocate(12,4)|0);
$7 = ($6|0)==(0|0);
if ($7) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
}
HEAP32[$6>>2] = 2240;
$8 = ((($6)) + 4|0);
$9 = $8;
$10 = $9;
HEAP32[$10>>2] = 0;
$11 = (($9) + 4)|0;
$12 = $11;
HEAP32[$12>>2] = 0;
$13 = HEAP32[560]|0;
$cond$i$i1$i = ($13|0)==(0);
if ($cond$i$i1$i) {
$14 = (__ZN3std10sys_common12thread_local9StaticKey9lazy_init17hfc6d2d1726d17391E(2240)|0);
$_0$0$i$i3$i = $14;
} else {
$_0$0$i$i3$i = $13;
}
(_pthread_setspecific(($_0$0$i$i3$i|0),($6|0))|0);
$15 = $8;
return ($15|0);
}
function __ZN3std10sys_common4util10dumb_print17h1b8efa574e577866E($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_3$sroa$12$4$$sroa_idx18 = 0, $_3$sroa$12$4$copyload = 0, $_3$sroa$5$4$copyload = 0, $_3$sroa$9$4$$sroa_idx15 = 0, $_3$sroa$9$4$copyload = 0, $_5$i$i = 0, $_8$i = 0, $cond$i$i = 0, $cond$i$i$i$i = 0;
var $or$cond = 0, $stderr$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$stderr$i$i = sp + 40|0;
$_5$i$i = sp + 16|0;
$_8$i = sp;
;HEAP32[$_5$i$i>>2]=HEAP32[$0>>2]|0;HEAP32[$_5$i$i+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$_5$i$i+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$_5$i$i+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$_5$i$i+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$_5$i$i+20>>2]=HEAP32[$0+20>>2]|0;
__ZN3std2io5Write9write_fmt17h027ac3f189e6f6bfE($_8$i,$stderr$i$i,$_5$i$i);
$_3$sroa$5$4$copyload = HEAP32[$_8$i>>2]|0;
$_3$sroa$9$4$$sroa_idx15 = ((($_8$i)) + 4|0);
$_3$sroa$9$4$copyload = HEAP32[$_3$sroa$9$4$$sroa_idx15>>2]|0;
$_3$sroa$12$4$$sroa_idx18 = ((($_8$i)) + 8|0);
$_3$sroa$12$4$copyload = HEAP32[$_3$sroa$12$4$$sroa_idx18>>2]|0;
$cond$i$i = ($_3$sroa$5$4$copyload|0)==(1);
$cond$i$i$i$i = ($_3$sroa$9$4$copyload|0)==(1);
$or$cond = $cond$i$i & $cond$i$i$i$i;
if (!($or$cond)) {
STACKTOP = sp;return;
}
$1 = ((($_3$sroa$12$4$copyload)) + 4|0);
$2 = HEAP32[$1>>2]|0;
$3 = ((($_3$sroa$12$4$copyload)) + 8|0);
$4 = HEAP32[$3>>2]|0;
$5 = HEAP32[$4>>2]|0;
FUNCTION_TABLE_vi[$5 & 255]($2);
$6 = HEAP32[$3>>2]|0;
$7 = ((($6)) + 4|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(0);
if (!($9)) {
$10 = ((($6)) + 8|0);
$11 = HEAP32[$10>>2]|0;
___rust_deallocate($2,$8,$11);
}
___rust_deallocate($_3$sroa$12$4$copyload,12,4);
STACKTOP = sp;return;
}
function __ZN3std9panicking12default_hook17h0a62153e8fbaeddeE($0) {
$0 = $0|0;
var $$fca$0$extract15244273 = 0, $$fca$0$extract27364 = 0, $$fca$1$extract17245274 = 0, $$fca$1$extract29365 = 0, $$fca$1$gep = 0, $$in = 0, $$pre = 0, $$pre$i$i = 0, $$pre351 = 0, $$pre353 = 0, $$sink$in$phi$trans$insert = 0, $$sroa_idx = 0, $1 = 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, $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, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
var $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, $78 = 0;
var $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, $96 = 0;
var $97 = 0, $98 = 0, $99 = 0, $_0$0$i71 = 0, $_0$sroa$0$0$i = 0, $_0$sroa$3$0$i = 0, $_13$sroa$4$0$$sroa_idx$i$i = 0, $_13$sroa$4$0$$sroa_idx$i$i132 = 0, $_15$0$i147$in355 = 0, $_17$sroa$0$0 = 0, $_17$sroa$5$0 = 0, $_30$sroa$0$0 = 0, $_30$sroa$6$0 = 0, $_45 = 0, $_69$0$off0 = 0, $_69$0$off0$not = 0, $_69$1269 = 0, $_69$1270 = 0, $_69$2$off0233 = 0, $_9$i = 0;
var $brmerge = 0, $cond$i$i$i$i$i = 0, $cond$i$i$i$i$i148 = 0, $err = 0, $extract$t = 0, $file = 0, $lhsc$i$i = 0, $line = 0, $log_backtrace = 0, $msg = 0, $name = 0, $not$$i$i$i$i$i$i23$i = 0, $or$cond = 0, $personalityslot$sroa$0$0 = 0, $personalityslot$sroa$0$2 = 0, $personalityslot$sroa$0$3235 = 0, $personalityslot$sroa$9$0 = 0, $personalityslot$sroa$9$2 = 0, $personalityslot$sroa$9$3234 = 0, $src$i$sroa$5$0$$sroa_idx24$i$i = 0;
var $src$i$sroa$5$0$$sroa_idx24$i$i127 = 0, $storemerge = 0, $switch$i = 0, $switch$i108 = 0, $switch$i122 = 0, $switch$i178 = 0, $switch1tmp$i = 0, $switch2tmp$i$i = 0, $switch2tmp$i$i117 = 0, $switch2tmp$i$i173 = 0, $switch4tmp$i = 0, $switch7tmp = 0, $switch8tmp = 0, $switch9tmp = 0, $switchtmp = 0, $switchtmp$i = 0, $switchtmp$i$i = 0, $switchtmp$i$i$i$i$i = 0, $switchtmp$i22$i$i = 0, $switchtmp$i265 = 0;
var $switchtmp$i79 = 0, $thread = 0, $val$0$i$ph = 0, $write = 0, $x$i$sroa$5$0$$sroa_idx221 = 0, $x$i$sroa$5$0$copyload = 0, $x$i$sroa$6$0$$sroa_idx223 = 0, $x$i$sroa$6$0$copyload = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
$_9$i = sp + 80|0;
$log_backtrace = sp + 96|0;
$file = sp + 72|0;
$line = sp + 92|0;
$msg = sp + 64|0;
$err = sp + 56|0;
$thread = sp + 48|0;
$name = sp + 40|0;
$write = sp + 16|0;
$_45 = sp;
$1 = (__ZN3std9panicking18update_panic_count11PANIC_COUNT7__getit17h14dfe58ada842e81E()|0);
$switch2tmp$i$i173 = ($1|0)==(0|0);
if ($switch2tmp$i$i173) {
__ZN4core6option13expect_failed17h199949141d849bddE(5764,57);
// unreachable;
}
$2 = HEAP32[$1>>2]|0;
$switch$i178 = ($2|0)==(1);
if ($switch$i178) {
$$sink$in$phi$trans$insert = ((($1)) + 4|0);
$$pre = HEAP32[$$sink$in$phi$trans$insert>>2]|0;
$7 = ($$pre>>>0)>(1);
if ($7) {
$storemerge = 1;
} else {
label = 6;
}
} else {
$3 = $1;
$4 = $3;
HEAP32[$4>>2] = 1;
$5 = (($3) + 4)|0;
$6 = $5;
HEAP32[$6>>2] = 0;
label = 6;
}
L7: do {
if ((label|0) == 6) {
$8 = HEAP32[3327]|0;
switch ($8|0) {
case 1: {
$storemerge = 0;
break L7;
break;
}
case 2: {
break;
}
default: {
__ZN3std3env7_var_os17h3e1fa020e543dcc9E($_9$i,5995,14);
$9 = HEAP32[$_9$i>>2]|0;
$switch4tmp$i = ($9|0)==(0|0);
if ($switch4tmp$i) {
HEAP32[3327] = 1;
$storemerge = 0;
break L7;
}
$x$i$sroa$5$0$$sroa_idx221 = ((($_9$i)) + 4|0);
$x$i$sroa$5$0$copyload = HEAP32[$x$i$sroa$5$0$$sroa_idx221>>2]|0;
$x$i$sroa$6$0$$sroa_idx223 = ((($_9$i)) + 8|0);
$x$i$sroa$6$0$copyload = HEAP32[$x$i$sroa$6$0$$sroa_idx223>>2]|0;
$10 = ($x$i$sroa$6$0$copyload|0)==(1);
do {
if ($10) {
$11 = ($9|0)==(6009|0);
if (!($11)) {
$lhsc$i$i = HEAP8[$9>>0]|0;
$12 = ($lhsc$i$i<<24>>24)==(48);
if (!($12)) {
$val$0$i$ph = 2;
break;
}
}
$val$0$i$ph = 1;
} else {
$val$0$i$ph = 2;
}
} while(0);
$not$$i$i$i$i$i$i23$i = ($x$i$sroa$5$0$copyload|0)==(0);
if (!($not$$i$i$i$i$i$i23$i)) {
___rust_deallocate($9,$x$i$sroa$5$0$copyload,1);
}
HEAP32[3327] = $val$0$i$ph;
$13 = ($val$0$i$ph|0)==(2);
if (!($13)) {
$storemerge = 0;
break L7;
}
}
}
$storemerge = 1;
}
} while(0);
HEAP8[$log_backtrace>>0] = $storemerge;
$14 = ((($0)) + 8|0);
$15 = HEAP32[$14>>2]|0;
$16 = ((($0)) + 12|0);
$17 = HEAP32[$16>>2]|0;
HEAP32[$file>>2] = $15;
$18 = ((($file)) + 4|0);
HEAP32[$18>>2] = $17;
$19 = ((($0)) + 16|0);
$20 = HEAP32[$19>>2]|0;
HEAP32[$line>>2] = $20;
$21 = HEAP32[$0>>2]|0;
$22 = ((($0)) + 4|0);
$23 = HEAP32[$22>>2]|0;
$24 = ((($23)) + 12|0);
$25 = HEAP32[$24>>2]|0;
$26 = (FUNCTION_TABLE_ii[$25 & 127]($21)|0);
$27 = tempRet0;
$28 = ($26|0)==(1133457186);
$29 = ($27|0)==(703347955);
$30 = $28 & $29;
if ($30) {
$37 = HEAP32[$21>>2]|0;
$38 = ((($21)) + 4|0);
$39 = HEAP32[$38>>2]|0;
HEAP32[$msg>>2] = $37;
$40 = ((($msg)) + 4|0);
HEAP32[$40>>2] = $39;
} else {
$31 = HEAP32[$24>>2]|0;
$32 = (FUNCTION_TABLE_ii[$31 & 127]($21)|0);
$33 = tempRet0;
$34 = ($32|0)==(1517333009);
$35 = ($33|0)==(-585903640);
$36 = $34 & $35;
if ($36) {
$41 = HEAP32[$21>>2]|0;
$42 = ((($21)) + 8|0);
$43 = HEAP32[$42>>2]|0;
$_17$sroa$0$0 = $41;$_17$sroa$5$0 = $43;
} else {
$_17$sroa$0$0 = 6010;$_17$sroa$5$0 = 8;
}
HEAP32[$msg>>2] = $_17$sroa$0$0;
$44 = ((($msg)) + 4|0);
HEAP32[$44>>2] = $_17$sroa$5$0;
}
HEAP8[$err>>0] = 1;
__THREW__ = 0;
$45 = (invoke_i(67)|0);
$46 = __THREW__; __THREW__ = 0;
$47 = $46&1;
do {
if (!($47)) {
$switchtmp$i$i = ($45|0)==(0|0);
if ($switchtmp$i$i) {
HEAP32[$thread>>2] = 0;
$191 = $name;$94 = 0;$_30$sroa$0$0 = 0;$_30$sroa$6$0 = 0;$switchtmp$i265 = 1;
label = 31;
} else {
__THREW__ = 0;
$48 = (invoke_i(68)|0);
$49 = __THREW__; __THREW__ = 0;
$50 = $49&1;
if ($50) {
break;
}
HEAP32[$thread>>2] = $48;
$switchtmp$i = ($48|0)==(0);
$51 = $48;
if ($switchtmp$i) {
$191 = $name;$94 = $51;$_30$sroa$0$0 = 0;$_30$sroa$6$0 = 0;$switchtmp$i265 = 1;
label = 31;
} else {
$52 = ((($51)) + 8|0);
$53 = HEAP32[$52>>2]|0;
$switchtmp$i$i$i$i$i = ($53|0)==(0|0);
if ($switchtmp$i$i$i$i$i) {
$191 = $name;$94 = $51;$_30$sroa$0$0 = 0;$_30$sroa$6$0 = 0;$switchtmp$i265 = 0;
label = 31;
} else {
$54 = ((($51)) + 12|0);
$55 = HEAP32[$54>>2]|0;
$56 = (($55) + -1)|0;
$57 = ($55|0)==(0);
if ($57) {
__THREW__ = 0;
invoke_vii(69,($56|0),0);
$58 = __THREW__; __THREW__ = 0;
$59 = ___cxa_find_matching_catch_2()|0;
$60 = tempRet0;
$$fca$0$extract15244273 = $59;$$fca$1$extract17245274 = $60;$148 = $51;
} else {
$191 = $name;$94 = $51;$_30$sroa$0$0 = $53;$_30$sroa$6$0 = $56;$switchtmp$i265 = 0;
label = 31;
}
}
}
}
L41: do {
if ((label|0) == 31) {
$switch1tmp$i = ($_30$sroa$0$0|0)==(0|0);
$_0$sroa$0$0$i = $switch1tmp$i ? 6018 : $_30$sroa$0$0;
$_0$sroa$3$0$i = $switch1tmp$i ? 9 : $_30$sroa$6$0;
HEAP32[$name>>2] = $_0$sroa$0$0$i;
$$fca$1$gep = ((($name)) + 4|0);
HEAP32[$$fca$1$gep>>2] = $_0$sroa$3$0$i;
HEAP32[$write>>2] = $name;
$61 = ((($write)) + 4|0);
HEAP32[$61>>2] = $msg;
$62 = ((($write)) + 8|0);
HEAP32[$62>>2] = $file;
$63 = ((($write)) + 12|0);
HEAP32[$63>>2] = $line;
$64 = ((($write)) + 16|0);
HEAP32[$64>>2] = $log_backtrace;
__THREW__ = 0;
$65 = (invoke_ii(70,(2248|0))|0);
$66 = __THREW__; __THREW__ = 0;
$67 = $66&1;
do {
if (!($67)) {
$switch2tmp$i$i117 = ($65|0)==(0|0);
if ($switch2tmp$i$i117) {
__THREW__ = 0;
invoke_vii(63,(5764|0),57);
$68 = __THREW__; __THREW__ = 0;
break;
}
$69 = HEAP32[$65>>2]|0;
$switch$i122 = ($69|0)==(1);
if ($switch$i122) {
$74 = ((($65)) + 4|0);
$$pre351 = HEAP32[$74>>2]|0;
$cond$i$i$i$i$i148 = ($$pre351|0)==(0);
if ($cond$i$i$i$i$i148) {
$_15$0$i147$in355 = $74;
} else {
__THREW__ = 0;
invoke_v(71);
$75 = __THREW__; __THREW__ = 0;
$76 = ___cxa_find_matching_catch_2()|0;
$77 = tempRet0;
if ($switchtmp$i265) {
$personalityslot$sroa$0$0 = $76;$personalityslot$sroa$9$0 = $77;
} else {
$$fca$0$extract15244273 = $76;$$fca$1$extract17245274 = $77;$148 = $94;
break L41;
}
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
} else {
$src$i$sroa$5$0$$sroa_idx24$i$i127 = ((($65)) + 8|0);
HEAP32[$65>>2] = 1;
$_13$sroa$4$0$$sroa_idx$i$i132 = ((($65)) + 4|0);
HEAP32[$_13$sroa$4$0$$sroa_idx$i$i132>>2] = 0;
$70 = $src$i$sroa$5$0$$sroa_idx24$i$i127;
$71 = $70;
HEAP32[$71>>2] = 0;
$72 = (($70) + 4)|0;
$73 = $72;
HEAP32[$73>>2] = 0;
$_15$0$i147$in355 = $_13$sroa$4$0$$sroa_idx$i$i132;
}
$80 = ((($65)) + 8|0);
$81 = $80;
$82 = $81;
$83 = HEAP32[$82>>2]|0;
$84 = (($81) + 4)|0;
$85 = $84;
$86 = HEAP32[$85>>2]|0;
HEAP32[$80>>2] = 0;
HEAP32[$_15$0$i147$in355>>2] = 0;
$87 = HEAP8[$err>>0]|0;
$switch$i = ($87<<24>>24)==(1);
$88 = ((($err)) + 1|0);
$_0$0$i71 = $switch$i ? $88 : 0;
HEAP32[$_45>>2] = $83;
$$sroa_idx = ((($_45)) + 4|0);
HEAP32[$$sroa_idx>>2] = $86;
$89 = ((($_45)) + 8|0);
HEAP32[$89>>2] = $_0$0$i71;
$90 = $83;
$switchtmp = ($83|0)==(0);
$91 = $86;
L54: do {
if ($switchtmp) {
$switch8tmp = ($_0$0$i71|0)==(0|0);
if (!($switch8tmp)) {
__THREW__ = 0;
invoke_viii(72,($write|0),($89|0),(80|0));
$98 = __THREW__; __THREW__ = 0;
$99 = $98&1;
if ($99) {
$166 = ___cxa_find_matching_catch_2()|0;
$167 = tempRet0;
$_69$2$off0233 = 1;$personalityslot$sroa$0$3235 = $166;$personalityslot$sroa$9$3234 = $167;
label = 41;
break;
}
}
if ($switchtmp$i265) {
$_69$1270 = 1;
} else {
$_69$1269 = 1;
label = 48;
}
} else {
__THREW__ = 0;
invoke_viii(72,($write|0),($90|0),($91|0));
$96 = __THREW__; __THREW__ = 0;
$97 = $96&1;
if ($97) {
$158 = ___cxa_find_matching_catch_2()|0;
$159 = tempRet0;
$160 = HEAP32[$91>>2]|0;
FUNCTION_TABLE_vi[$160 & 255]($90);
$161 = ((($91)) + 4|0);
$162 = HEAP32[$161>>2]|0;
$163 = ($162|0)==(0);
if ($163) {
$_69$2$off0233 = 0;$personalityslot$sroa$0$3235 = $158;$personalityslot$sroa$9$3234 = $159;
label = 41;
break;
}
$164 = ((($91)) + 8|0);
$165 = HEAP32[$164>>2]|0;
___rust_deallocate($90,$162,$165);
$_69$2$off0233 = 0;$personalityslot$sroa$0$3235 = $158;$personalityslot$sroa$9$3234 = $159;
label = 41;
break;
}
__THREW__ = 0;
$104 = (invoke_ii(70,(2248|0))|0);
$105 = __THREW__; __THREW__ = 0;
$106 = $105&1;
do {
if ($106) {
$107 = ___cxa_find_matching_catch_2()|0;
$108 = tempRet0;
$$fca$0$extract27364 = $107;$$fca$1$extract29365 = $108;
} else {
$switch2tmp$i$i = ($104|0)==(0|0);
if ($switch2tmp$i$i) {
__THREW__ = 0;
invoke_vii(63,(5764|0),57);
$109 = __THREW__; __THREW__ = 0;
$110 = ___cxa_find_matching_catch_2()|0;
$111 = tempRet0;
$switchtmp$i79 = ($83|0)==(0);
if ($switchtmp$i79) {
$_69$2$off0233 = 0;$personalityslot$sroa$0$3235 = $110;$personalityslot$sroa$9$3234 = $111;
label = 41;
break L54;
} else {
$$fca$0$extract27364 = $110;$$fca$1$extract29365 = $111;
break;
}
}
$112 = HEAP32[$104>>2]|0;
$switch$i108 = ($112|0)==(1);
if ($switch$i108) {
$117 = ((($104)) + 4|0);
$$pre353 = HEAP32[$117>>2]|0;
$cond$i$i$i$i$i = ($$pre353|0)==(0);
if ($cond$i$i$i$i$i) {
$$in = $117;
} else {
__THREW__ = 0;
invoke_v(71);
$118 = __THREW__; __THREW__ = 0;
$119 = ___cxa_find_matching_catch_2()|0;
$120 = tempRet0;
$121 = HEAP32[$91>>2]|0;
__THREW__ = 0;
invoke_vi($121|0,($90|0));
$122 = __THREW__; __THREW__ = 0;
$123 = $122&1;
if ($123) {
$143 = ___cxa_find_matching_catch_2()|0;
$144 = tempRet0;
$_69$2$off0233 = 0;$personalityslot$sroa$0$3235 = $143;$personalityslot$sroa$9$3234 = $144;
label = 41;
break L54;
}
$136 = ((($91)) + 4|0);
$137 = HEAP32[$136>>2]|0;
$138 = ($137|0)==(0);
if ($138) {
$_69$2$off0233 = 0;$personalityslot$sroa$0$3235 = $119;$personalityslot$sroa$9$3234 = $120;
label = 41;
break L54;
}
$139 = ((($91)) + 8|0);
$140 = HEAP32[$139>>2]|0;
___rust_deallocate($90,$137,$140);
$_69$2$off0233 = 0;$personalityslot$sroa$0$3235 = $119;$personalityslot$sroa$9$3234 = $120;
label = 41;
break L54;
}
} else {
$src$i$sroa$5$0$$sroa_idx24$i$i = ((($104)) + 8|0);
HEAP32[$104>>2] = 1;
$_13$sroa$4$0$$sroa_idx$i$i = ((($104)) + 4|0);
HEAP32[$_13$sroa$4$0$$sroa_idx$i$i>>2] = 0;
$113 = $src$i$sroa$5$0$$sroa_idx24$i$i;
$114 = $113;
HEAP32[$114>>2] = 0;
$115 = (($113) + 4)|0;
$116 = $115;
HEAP32[$116>>2] = 0;
$$in = $_13$sroa$4$0$$sroa_idx$i$i;
}
HEAP32[$$in>>2] = -1;
$124 = ((($104)) + 8|0);
$125 = HEAP32[$124>>2]|0;
$switchtmp$i22$i$i = ($125|0)==(0|0);
$$pre$i$i = ((($104)) + 12|0);
do {
if (!($switchtmp$i22$i$i)) {
$126 = HEAP32[$$pre$i$i>>2]|0;
$127 = HEAP32[$126>>2]|0;
__THREW__ = 0;
invoke_vi($127|0,($125|0));
$128 = __THREW__; __THREW__ = 0;
$129 = $128&1;
if ($129) {
$141 = ___cxa_find_matching_catch_2()|0;
$142 = tempRet0;
HEAP32[$124>>2] = $83;
HEAP32[$$pre$i$i>>2] = $86;
HEAP32[$$in>>2] = 0;
$_69$2$off0233 = 0;$personalityslot$sroa$0$3235 = $141;$personalityslot$sroa$9$3234 = $142;
label = 41;
break L54;
}
$130 = HEAP32[$$pre$i$i>>2]|0;
$131 = ((($130)) + 4|0);
$132 = HEAP32[$131>>2]|0;
$133 = ($132|0)==(0);
if ($133) {
break;
}
$134 = ((($130)) + 8|0);
$135 = HEAP32[$134>>2]|0;
___rust_deallocate($125,$132,$135);
}
} while(0);
HEAP32[$124>>2] = $83;
HEAP32[$$pre$i$i>>2] = $86;
HEAP32[$$in>>2] = 0;
if ($switchtmp$i265) {
$_69$1270 = 0;
break L54;
} else {
$_69$1269 = 0;
label = 48;
break L54;
}
}
} while(0);
$182 = $83;
$183 = HEAP32[$91>>2]|0;
FUNCTION_TABLE_vi[$183 & 255]($182);
$184 = ((($91)) + 4|0);
$185 = HEAP32[$184>>2]|0;
$186 = ($185|0)==(0);
if ($186) {
$_69$2$off0233 = 0;$personalityslot$sroa$0$3235 = $$fca$0$extract27364;$personalityslot$sroa$9$3234 = $$fca$1$extract29365;
label = 41;
} else {
$187 = ((($91)) + 8|0);
$188 = HEAP32[$187>>2]|0;
___rust_deallocate($182,$185,$188);
$_69$2$off0233 = 0;$personalityslot$sroa$0$3235 = $$fca$0$extract27364;$personalityslot$sroa$9$3234 = $$fca$1$extract29365;
label = 41;
}
}
} while(0);
if ((label|0) == 41) {
if ($switchtmp$i265) {
$_69$0$off0 = $_69$2$off0233;$personalityslot$sroa$0$2 = $personalityslot$sroa$0$3235;$personalityslot$sroa$9$2 = $personalityslot$sroa$9$3234;
label = 40;
} else {
$93 = HEAP32[$94>>2]|0;HEAP32[$94>>2] = (($93-1)|0);
$95 = ($93|0)==(1);
if ($95) {
/* fence */;
__ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h097a8e42cb8d207fE($thread);
$_69$0$off0 = $_69$2$off0233;$personalityslot$sroa$0$2 = $personalityslot$sroa$0$3235;$personalityslot$sroa$9$2 = $personalityslot$sroa$9$3234;
label = 40;
} else {
$_69$0$off0 = $_69$2$off0233;$personalityslot$sroa$0$2 = $personalityslot$sroa$0$3235;$personalityslot$sroa$9$2 = $personalityslot$sroa$9$3234;
label = 40;
}
}
}
else if ((label|0) == 48) {
$100 = HEAP32[$94>>2]|0;HEAP32[$94>>2] = (($100-1)|0);
$101 = ($100|0)==(1);
if ($101) {
/* fence */;
__THREW__ = 0;
invoke_vi(73,($thread|0));
$102 = __THREW__; __THREW__ = 0;
$103 = $102&1;
if ($103) {
$189 = ___cxa_find_matching_catch_2()|0;
$190 = tempRet0;
$extract$t = ($_69$1269<<24>>24)!=(0);
$_69$0$off0 = $extract$t;$personalityslot$sroa$0$2 = $189;$personalityslot$sroa$9$2 = $190;
label = 40;
} else {
$_69$1270 = $_69$1269;
}
} else {
$_69$1270 = $_69$1269;
}
}
if ((label|0) == 40) {
$92 = HEAP32[$_45>>2]|0;
$switch7tmp = ($92|0)==(0|0);
$_69$0$off0$not = $_69$0$off0 ^ 1;
$brmerge = $switch7tmp | $_69$0$off0$not;
if ($brmerge) {
$personalityslot$sroa$0$0 = $personalityslot$sroa$0$2;$personalityslot$sroa$9$0 = $personalityslot$sroa$9$2;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$150 = HEAP32[$$sroa_idx>>2]|0;
$151 = HEAP32[$150>>2]|0;
FUNCTION_TABLE_vi[$151 & 255]($92);
$152 = HEAP32[$$sroa_idx>>2]|0;
$153 = ((($152)) + 4|0);
$154 = HEAP32[$153>>2]|0;
$155 = ($154|0)==(0);
if ($155) {
$personalityslot$sroa$0$0 = $personalityslot$sroa$0$2;$personalityslot$sroa$9$0 = $personalityslot$sroa$9$2;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$156 = ((($152)) + 8|0);
$157 = HEAP32[$156>>2]|0;
___rust_deallocate($92,$154,$157);
$personalityslot$sroa$0$0 = $personalityslot$sroa$0$2;$personalityslot$sroa$9$0 = $personalityslot$sroa$9$2;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$145 = HEAP32[$_45>>2]|0;
$switch9tmp = ($145|0)==(0|0);
$146 = ($_69$1270<<24>>24)==(0);
$or$cond = $146 | $switch9tmp;
if ($or$cond) {
STACKTOP = sp;return;
}
$168 = HEAP32[$$sroa_idx>>2]|0;
$169 = HEAP32[$168>>2]|0;
__THREW__ = 0;
invoke_vi($169|0,($145|0));
$170 = __THREW__; __THREW__ = 0;
$171 = $170&1;
if ($171) {
$178 = ___cxa_find_matching_catch_2()|0;
$179 = tempRet0;
$personalityslot$sroa$0$0 = $178;$personalityslot$sroa$9$0 = $179;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$172 = HEAP32[$$sroa_idx>>2]|0;
$173 = ((($172)) + 4|0);
$174 = HEAP32[$173>>2]|0;
$175 = ($174|0)==(0);
if ($175) {
STACKTOP = sp;return;
}
$176 = ((($172)) + 8|0);
$177 = HEAP32[$176>>2]|0;
___rust_deallocate($145,$174,$177);
STACKTOP = sp;return;
}
} while(0);
$78 = ___cxa_find_matching_catch_2()|0;
$79 = tempRet0;
if ($switchtmp$i265) {
$personalityslot$sroa$0$0 = $78;$personalityslot$sroa$9$0 = $79;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
} else {
$$fca$0$extract15244273 = $78;$$fca$1$extract17245274 = $79;$148 = $94;
}
}
} while(0);
$147 = HEAP32[$148>>2]|0;HEAP32[$148>>2] = (($147-1)|0);
$149 = ($147|0)==(1);
if (!($149)) {
$personalityslot$sroa$0$0 = $$fca$0$extract15244273;$personalityslot$sroa$9$0 = $$fca$1$extract17245274;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
/* fence */;
__ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h097a8e42cb8d207fE($thread);
$personalityslot$sroa$0$0 = $$fca$0$extract15244273;$personalityslot$sroa$9$0 = $$fca$1$extract17245274;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
} while(0);
$180 = ___cxa_find_matching_catch_2()|0;
$181 = tempRet0;
$personalityslot$sroa$0$0 = $180;$personalityslot$sroa$9$0 = $181;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
function _rust_panic($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, $_12$sroa$3$0$$sroa_idx5 = 0, $_12$sroa$4$0$$sroa_idx6 = 0, $_12$sroa$58$0$$sroa_idx9 = 0, $_12$sroa$6$0$$sroa_idx10 = 0, $_17 = 0, $_4$i = 0, $_6$sroa$0$0$$sroa_idx$i$i = 0, $_9$i = 0, $args$i = 0, $code = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$args$i = sp + 40|0;
$_4$i = sp + 16|0;
$_9$i = sp + 8|0;
$code = sp + 64|0;
$_17 = sp;
$2 = $0;
$3 = $1;
$4 = (___rust_start_panic($2,$3)|0);
HEAP32[$code>>2] = $4;
$5 = $code;
HEAP32[$_17>>2] = $5;
$6 = ((($_17)) + 4|0);
HEAP32[$6>>2] = (74);
HEAP32[$args$i>>2] = 2492;
$_12$sroa$3$0$$sroa_idx5 = ((($args$i)) + 4|0);
HEAP32[$_12$sroa$3$0$$sroa_idx5>>2] = 1;
$_12$sroa$4$0$$sroa_idx6 = ((($args$i)) + 8|0);
HEAP32[$_12$sroa$4$0$$sroa_idx6>>2] = 0;
$_12$sroa$58$0$$sroa_idx9 = ((($args$i)) + 16|0);
HEAP32[$_12$sroa$58$0$$sroa_idx9>>2] = $_17;
$_12$sroa$6$0$$sroa_idx10 = ((($args$i)) + 20|0);
HEAP32[$_12$sroa$6$0$$sroa_idx10>>2] = 1;
$7 = $args$i;
HEAP32[$_9$i>>2] = $7;
$8 = ((($_9$i)) + 4|0);
HEAP32[$8>>2] = (75);
HEAP32[$_4$i>>2] = 2500;
$9 = ((($_4$i)) + 4|0);
HEAP32[$9>>2] = 2;
$_6$sroa$0$0$$sroa_idx$i$i = ((($_4$i)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i$i>>2] = 0;
$10 = ((($_4$i)) + 16|0);
HEAP32[$10>>2] = $_9$i;
$11 = ((($_4$i)) + 20|0);
HEAP32[$11>>2] = 1;
__ZN3std10sys_common4util10dumb_print17h1b8efa574e577866E($_4$i);
_abort();
// unreachable;
}
function __ZN3std3env7_var_os17h3e1fa020e543dcc9E($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, $8 = 0, $9 = 0, $_13$i = 0, $_13$i$sroa_raw_idx = 0, $_13$i19 = 0, $_14$i = 0, $_29$sroa$4$0$copyload$i = 0, $_6$i = 0, $_6$sroa$0$0$$sroa_idx$i$i = 0, $_8$i = 0, $_8$sroa$0$i$sroa$4$0$_8$sroa$0$0$$sroa_cast29$i$sroa_idx63 = 0;
var $_8$sroa$0$i$sroa$5$0$_8$sroa$0$0$$sroa_cast29$i$sroa_idx65 = 0, $cond$i$i$i23 = 0, $e$i = 0, $eh$lpad$body$i$index3Z2D = 0, $eh$lpad$body$i$indexZ2D = 0, $err$sroa$5$0$$sroa_idx144$i = 0, $err$sroa$6$0$$sroa_idx147$i = 0, $err$sroa$7$0$$sroa_idx150$i = 0, $key = 0, $local_len$sroa$5$0$lcssa$i$i$i$i = 0, $not$$i$i$i$i$i$i$i = 0, $personalityslot$sroa$0$1171$i = 0, $personalityslot$sroa$7$1170$i = 0, $phitmp = 0, $ptr$0$i$i$i$i$i = 0, $ret$sroa$0$0$i = 0, $ret$sroa$6$0$i = 0, $ret$sroa$7$0$i = 0, $self$sroa$0$0$copyload$i$i = 0, $self$sroa$11$0$$sroa_idx42$i$i = 0;
var $self$sroa$11$0$copyload$i$i = 0, $self$sroa$16$0$$sroa_idx49$i$i = 0, $self$sroa$16$0$copyload$i$i = 0, $self$sroa$18$0$$sroa_idx53$i$i = 0, $self$sroa$18$0$copyload$i$i = 0, $self$sroa$5$0$$sroa_idx36$i$i = 0, $self$sroa$5$0$copyload$i$i = 0, $switch3$i$i = 0, $vector$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
$e$i = sp + 112|0;
$_8$i = sp + 88|0;
$_13$i19 = sp + 72|0;
$vector$i$i$i = sp + 56|0;
$_6$i = sp + 32|0;
$_13$i = sp + 24|0;
$_14$i = sp + 8|0;
$key = sp;
HEAP32[$key>>2] = $1;
$3 = ((($key)) + 4|0);
HEAP32[$3>>2] = $2;
__THREW__ = 0;
invoke_viii(76,($_6$i|0),($1|0),($2|0));
$4 = __THREW__; __THREW__ = 0;
$5 = $4&1;
if ($5) {
$37 = ___cxa_find_matching_catch_2()|0;
$38 = tempRet0;
$personalityslot$sroa$0$1171$i = $37;$personalityslot$sroa$7$1170$i = $38;
___resumeException($personalityslot$sroa$0$1171$i|0);
// unreachable;
}
$self$sroa$0$0$copyload$i$i = HEAP32[$_6$i>>2]|0;
$self$sroa$5$0$$sroa_idx36$i$i = ((($_6$i)) + 4|0);
$self$sroa$5$0$copyload$i$i = HEAP32[$self$sroa$5$0$$sroa_idx36$i$i>>2]|0;
$self$sroa$11$0$$sroa_idx42$i$i = ((($_6$i)) + 8|0);
$self$sroa$11$0$copyload$i$i = HEAP32[$self$sroa$11$0$$sroa_idx42$i$i>>2]|0;
$switch3$i$i = ($self$sroa$0$0$copyload$i$i|0)==(1);
if ($switch3$i$i) {
$self$sroa$18$0$$sroa_idx53$i$i = ((($_6$i)) + 16|0);
$self$sroa$18$0$copyload$i$i = HEAP32[$self$sroa$18$0$$sroa_idx53$i$i>>2]|0;
$self$sroa$16$0$$sroa_idx49$i$i = ((($_6$i)) + 12|0);
$self$sroa$16$0$copyload$i$i = HEAP32[$self$sroa$16$0$$sroa_idx49$i$i>>2]|0;
HEAP32[$_14$i>>2] = $self$sroa$5$0$copyload$i$i;
$err$sroa$5$0$$sroa_idx144$i = ((($_14$i)) + 4|0);
HEAP32[$err$sroa$5$0$$sroa_idx144$i>>2] = $self$sroa$11$0$copyload$i$i;
$err$sroa$6$0$$sroa_idx147$i = ((($_14$i)) + 8|0);
HEAP32[$err$sroa$6$0$$sroa_idx147$i>>2] = $self$sroa$16$0$copyload$i$i;
$err$sroa$7$0$$sroa_idx150$i = ((($_14$i)) + 12|0);
HEAP32[$err$sroa$7$0$$sroa_idx150$i>>2] = $self$sroa$18$0$copyload$i$i;
__THREW__ = 0;
invoke_vii(77,($_13$i|0),($_14$i|0));
$6 = __THREW__; __THREW__ = 0;
$7 = $6&1;
if ($7) {
$39 = ___cxa_find_matching_catch_2()|0;
$40 = tempRet0;
$personalityslot$sroa$0$1171$i = $39;$personalityslot$sroa$7$1170$i = $40;
___resumeException($personalityslot$sroa$0$1171$i|0);
// unreachable;
}
$44 = HEAP32[$_13$i>>2]|0;
$_13$i$sroa_raw_idx = ((($_13$i)) + 4|0);
$45 = HEAP32[$_13$i$sroa_raw_idx>>2]|0;
$46 = $e$i;
$47 = $46;
HEAP32[$47>>2] = $44;
$48 = (($46) + 4)|0;
$49 = $48;
HEAP32[$49>>2] = $45;
$50 = $key;
$51 = $e$i;
HEAP32[$_13$i19>>2] = $50;
$52 = ((($_13$i19)) + 4|0);
HEAP32[$52>>2] = (81);
$53 = ((($_13$i19)) + 8|0);
HEAP32[$53>>2] = $51;
$54 = ((($_13$i19)) + 12|0);
HEAP32[$54>>2] = (82);
HEAP32[$_8$i>>2] = 2688;
$55 = ((($_8$i)) + 4|0);
HEAP32[$55>>2] = 2;
$_6$sroa$0$0$$sroa_idx$i$i = ((($_8$i)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i$i>>2] = 0;
$56 = ((($_8$i)) + 16|0);
HEAP32[$56>>2] = $_13$i19;
$57 = ((($_8$i)) + 20|0);
HEAP32[$57>>2] = 2;
__THREW__ = 0;
invoke_vii(83,($_8$i|0),(2452|0));
$58 = __THREW__; __THREW__ = 0;
$43 = ___cxa_find_matching_catch_2()|0;
$59 = tempRet0;
$60 = HEAP32[$e$i>>2]|0;
$cond$i$i$i23 = ($60|0)==(1);
if (!($cond$i$i$i23)) {
___resumeException($43|0);
// unreachable;
}
$61 = ((($e$i)) + 4|0);
$62 = HEAP32[$61>>2]|0;
$63 = ((($62)) + 4|0);
$64 = HEAP32[$63>>2]|0;
$65 = ((($62)) + 8|0);
$66 = HEAP32[$65>>2]|0;
$67 = HEAP32[$66>>2]|0;
FUNCTION_TABLE_vi[$67 & 255]($64);
$68 = HEAP32[$65>>2]|0;
$69 = ((($68)) + 4|0);
$70 = HEAP32[$69>>2]|0;
$71 = ($70|0)==(0);
if (!($71)) {
$72 = ((($68)) + 8|0);
$73 = HEAP32[$72>>2]|0;
___rust_deallocate($64,$70,$73);
}
___rust_deallocate($62,12,4);
___resumeException($43|0);
// unreachable;
}
(_pthread_mutex_lock(((13088)|0))|0);
$8 = $self$sroa$5$0$copyload$i$i;
$9 = (_getenv(($8|0))|0);
$10 = ($9|0)==(0|0);
L19: do {
if ($10) {
$ret$sroa$0$0$i = 0;$ret$sroa$6$0$i = 0;$ret$sroa$7$0$i = 0;
} else {
$11 = (_strlen($9)|0);
$12 = ($11|0)==(-1);
do {
if ($12) {
__THREW__ = 0;
invoke_vii(69,-1,0);
$13 = __THREW__; __THREW__ = 0;
label = 25;
} else {
$14 = ($11|0)<(0);
if ($14) {
__THREW__ = 0;
invoke_vi(78,(2856|0));
$15 = __THREW__; __THREW__ = 0;
label = 25;
break;
}
$16 = ($11|0)==(0);
if ($16) {
$ptr$0$i$i$i$i$i = (1);
} else {
$17 = (___rust_allocate($11,1)|0);
$18 = ($17|0)==(0|0);
if ($18) {
__THREW__ = 0;
invoke_v(79);
$19 = __THREW__; __THREW__ = 0;
label = 25;
break;
} else {
$ptr$0$i$i$i$i$i = $17;
}
}
$20 = $ptr$0$i$i$i$i$i;
HEAP32[$vector$i$i$i>>2] = $20;
$21 = ((($vector$i$i$i)) + 4|0);
HEAP32[$21>>2] = $11;
$22 = ((($vector$i$i$i)) + 8|0);
HEAP32[$22>>2] = 0;
__THREW__ = 0;
invoke_vii(80,($vector$i$i$i|0),($11|0));
$23 = __THREW__; __THREW__ = 0;
$24 = $23&1;
if ($24) {
$29 = ___cxa_find_matching_catch_2()|0;
$30 = tempRet0;
$31 = HEAP32[$21>>2]|0;
$not$$i$i$i$i$i$i$i = ($31|0)==(0);
if ($not$$i$i$i$i$i$i$i) {
$eh$lpad$body$i$index3Z2D = $30;$eh$lpad$body$i$indexZ2D = $29;
break;
}
$32 = HEAP32[$vector$i$i$i>>2]|0;
___rust_deallocate($32,$31,1);
$eh$lpad$body$i$index3Z2D = $30;$eh$lpad$body$i$indexZ2D = $29;
break;
}
$25 = HEAP32[$22>>2]|0;
$26 = HEAP32[$vector$i$i$i>>2]|0;
if ($16) {
$local_len$sroa$5$0$lcssa$i$i$i$i = $25;
} else {
$27 = (($26) + ($25)|0);
$28 = (($25) + ($11))|0;
_memcpy(($27|0),($9|0),($11|0))|0;
$local_len$sroa$5$0$lcssa$i$i$i$i = $28;
}
HEAP32[$22>>2] = $local_len$sroa$5$0$lcssa$i$i$i$i;
$_29$sroa$4$0$copyload$i = HEAP32[$21>>2]|0;
$phitmp = $26;
$ret$sroa$0$0$i = $phitmp;$ret$sroa$6$0$i = $_29$sroa$4$0$copyload$i;$ret$sroa$7$0$i = $local_len$sroa$5$0$lcssa$i$i$i$i;
break L19;
}
} while(0);
if ((label|0) == 25) {
$41 = ___cxa_find_matching_catch_2()|0;
$42 = tempRet0;
$eh$lpad$body$i$index3Z2D = $42;$eh$lpad$body$i$indexZ2D = $41;
}
$35 = $self$sroa$5$0$copyload$i$i;
HEAP8[$35>>0] = 0;
$36 = ($self$sroa$11$0$copyload$i$i|0)==(0);
if ($36) {
$personalityslot$sroa$0$1171$i = $eh$lpad$body$i$indexZ2D;$personalityslot$sroa$7$1170$i = $eh$lpad$body$i$index3Z2D;
___resumeException($personalityslot$sroa$0$1171$i|0);
// unreachable;
}
___rust_deallocate($35,$self$sroa$11$0$copyload$i$i,1);
$personalityslot$sroa$0$1171$i = $eh$lpad$body$i$indexZ2D;$personalityslot$sroa$7$1170$i = $eh$lpad$body$i$index3Z2D;
___resumeException($personalityslot$sroa$0$1171$i|0);
// unreachable;
}
} while(0);
(_pthread_mutex_unlock(((13088)|0))|0);
$33 = $self$sroa$5$0$copyload$i$i;
HEAP8[$33>>0] = 0;
$34 = ($self$sroa$11$0$copyload$i$i|0)==(0);
if ($34) {
HEAP32[$0>>2] = $ret$sroa$0$0$i;
$_8$sroa$0$i$sroa$4$0$_8$sroa$0$0$$sroa_cast29$i$sroa_idx63 = ((($0)) + 4|0);
HEAP32[$_8$sroa$0$i$sroa$4$0$_8$sroa$0$0$$sroa_cast29$i$sroa_idx63>>2] = $ret$sroa$6$0$i;
$_8$sroa$0$i$sroa$5$0$_8$sroa$0$0$$sroa_cast29$i$sroa_idx65 = ((($0)) + 8|0);
HEAP32[$_8$sroa$0$i$sroa$5$0$_8$sroa$0$0$$sroa_cast29$i$sroa_idx65>>2] = $ret$sroa$7$0$i;
STACKTOP = sp;return;
}
___rust_deallocate($33,$self$sroa$11$0$copyload$i$i,1);
HEAP32[$0>>2] = $ret$sroa$0$0$i;
$_8$sroa$0$i$sroa$4$0$_8$sroa$0$0$$sroa_cast29$i$sroa_idx63 = ((($0)) + 4|0);
HEAP32[$_8$sroa$0$i$sroa$4$0$_8$sroa$0$0$$sroa_cast29$i$sroa_idx63>>2] = $ret$sroa$6$0$i;
$_8$sroa$0$i$sroa$5$0$_8$sroa$0$0$$sroa_cast29$i$sroa_idx65 = ((($0)) + 8|0);
HEAP32[$_8$sroa$0$i$sroa$5$0$_8$sroa$0$0$$sroa_cast29$i$sroa_idx65>>2] = $ret$sroa$7$0$i;
STACKTOP = sp;return;
}
function __ZN45__LT_std__thread__local__os__Key_LT_T_GT__GT_3get17h7b74ee800eb23807E() {
var $$ = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$0$i$i = 0, $_0$0$i$i3 = 0, $_23$sroa$0$0$$sroa_idx = 0, $cond$i$i = 0, $cond$i$i1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[591]|0;
$cond$i$i1 = ($0|0)==(0);
if ($cond$i$i1) {
$1 = (__ZN3std10sys_common12thread_local9StaticKey9lazy_init17hfc6d2d1726d17391E(2364)|0);
$_0$0$i$i3 = $1;
} else {
$_0$0$i$i3 = $0;
}
$2 = (_pthread_getspecific(($_0$0$i$i3|0))|0);
$3 = ($2|0)==(0|0);
if (!($3)) {
$4 = ($2|0)==((1)|0);
$5 = ((($2)) + 4|0);
$$ = $4 ? 0 : $5;
return ($$|0);
}
$6 = (___rust_allocate(24,4)|0);
$7 = ($6|0)==(0|0);
if ($7) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
}
HEAP32[$6>>2] = 2364;
$_23$sroa$0$0$$sroa_idx = ((($6)) + 4|0);
HEAP32[$_23$sroa$0$0$$sroa_idx>>2] = 0;
$8 = HEAP32[591]|0;
$cond$i$i = ($8|0)==(0);
if (!($cond$i$i)) {
$_0$0$i$i = $8;
(_pthread_setspecific(($_0$0$i$i|0),($6|0))|0);
return ($_23$sroa$0$0$$sroa_idx|0);
}
$9 = (__ZN3std10sys_common12thread_local9StaticKey9lazy_init17hfc6d2d1726d17391E(2364)|0);
$_0$0$i$i = $9;
(_pthread_setspecific(($_0$0$i$i|0),($6|0))|0);
return ($_23$sroa$0$0$$sroa_idx|0);
}
function __ZN46__LT_std__thread__local__LocalKey_LT_T_GT__GT_4with17h5aefd9b53bdedc6fE() {
var $$pre = 0, $$pre$phiZ2D = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_10$i = 0, $_12$i = 0, $_13$sroa$5$0$$sroa_idx52$i = 0, $_4$i = 0, $cond$i$i = 0, $cond$i$i$i$i = 0, $cond$i$i$i54$i = 0, $cond$i$i$i59$i = 0, $not$switch$i$i = 0, $personalityslot$sroa$0$1$i = 0, $personalityslot$sroa$10$1$i = 0, $switch = 0, $switch2tmp$i = 0;
var $switchtmp$i$i = 0, $switchtmp$i$i$i$i$i = 0, $switchtmp$i64$i = 0, $switchtmp$i66$i = 0, $value$i$sroa$0$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx = 0, $value$i$sroa$414$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$_4$i = sp + 40|0;
$_12$i = sp + 24|0;
$_10$i = sp;
$0 = (__ZN45__LT_std__thread__local__os__Key_LT_T_GT__GT_3get17h7b74ee800eb23807E()|0);
$switch2tmp$i = ($0|0)==(0|0);
if ($switch2tmp$i) {
__ZN4core6option13expect_failed17h199949141d849bddE(5764,57);
// unreachable;
}
$1 = HEAP32[$0>>2]|0;
$switch = ($1|0)==(1);
do {
if ($switch) {
$$pre = ((($0)) + 4|0);
$$pre$phiZ2D = $$pre;
} else {
;HEAP32[$_10$i>>2]=HEAP32[$0>>2]|0;HEAP32[$_10$i+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$_10$i+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$_10$i+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$_10$i+16>>2]=HEAP32[$0+16>>2]|0;
HEAP32[$0>>2] = 1;
$value$i$sroa$0$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx = ((($0)) + 4|0);
HEAP32[$value$i$sroa$0$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx>>2] = 0;
$value$i$sroa$414$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx = ((($0)) + 16|0);
HEAP32[$value$i$sroa$414$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx>>2] = 0;
$2 = HEAP32[$_10$i>>2]|0;
$cond$i$i = ($2|0)==(1);
if ($cond$i$i) {
$3 = ((($_10$i)) + 16|0);
$4 = HEAP32[$3>>2]|0;
$switchtmp$i$i$i$i$i = ($4|0)==(0|0);
if (!($switchtmp$i$i$i$i$i)) {
$5 = HEAP32[$4>>2]|0;HEAP32[$4>>2] = (($5-1)|0);
$6 = ($5|0)==(1);
if ($6) {
/* fence */;
__ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h097a8e42cb8d207fE($3);
}
}
}
$7 = HEAP32[$0>>2]|0;
$not$switch$i$i = ($7|0)==(1);
if ($not$switch$i$i) {
$$pre$phiZ2D = $value$i$sroa$0$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx;
break;
} else {
__ZN4core9panicking5panic17h7842870c7e688275E(2900);
// unreachable;
}
}
} while(0);
$8 = HEAP32[$$pre$phiZ2D>>2]|0;
$cond$i$i$i$i = ($8|0)==(-1);
L16: do {
if ($cond$i$i$i$i) {
__THREW__ = 0;
invoke_v(84);
$9 = __THREW__; __THREW__ = 0;
} else {
$10 = (($8) + 1)|0;
HEAP32[$$pre$phiZ2D>>2] = $10;
$11 = ((($0)) + 8|0);
$12 = ((($0)) + 16|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==(0|0);
HEAP32[$$pre$phiZ2D>>2] = $8;
do {
if ($14) {
HEAP32[$_4$i>>2] = 0;
__THREW__ = 0;
$15 = (invoke_ii(85,($_4$i|0))|0);
$16 = __THREW__; __THREW__ = 0;
$17 = $16&1;
if ($17) {
break L16;
}
$18 = $15;
HEAP32[$_12$i>>2] = 0;
$_13$sroa$5$0$$sroa_idx52$i = ((($_12$i)) + 8|0);
HEAP32[$_13$sroa$5$0$$sroa_idx52$i>>2] = $18;
$19 = HEAP32[$$pre$phiZ2D>>2]|0;
$cond$i$i$i54$i = ($19|0)==(0);
if ($cond$i$i$i54$i) {
HEAP32[$$pre$phiZ2D>>2] = -1;
$23 = HEAP32[$12>>2]|0;
$switchtmp$i$i = ($23|0)==(0|0);
if (!($switchtmp$i$i)) {
$24 = HEAP32[$23>>2]|0;HEAP32[$23>>2] = (($24-1)|0);
$25 = ($24|0)==(1);
if ($25) {
/* fence */;
__THREW__ = 0;
invoke_vi(73,($12|0));
$26 = __THREW__; __THREW__ = 0;
$27 = $26&1;
if ($27) {
$40 = ___cxa_find_matching_catch_2()|0;
$41 = tempRet0;
;HEAP32[$11>>2]=HEAP32[$_12$i>>2]|0;HEAP32[$11+4>>2]=HEAP32[$_12$i+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$_12$i+8>>2]|0;
HEAP32[$$pre$phiZ2D>>2] = 0;
$personalityslot$sroa$0$1$i = $40;$personalityslot$sroa$10$1$i = $41;
___resumeException($personalityslot$sroa$0$1$i|0);
// unreachable;
}
}
}
;HEAP32[$11>>2]=HEAP32[$_12$i>>2]|0;HEAP32[$11+4>>2]=HEAP32[$_12$i+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$_12$i+8>>2]|0;
HEAP32[$$pre$phiZ2D>>2] = 0;
break;
} else {
__THREW__ = 0;
invoke_v(71);
$20 = __THREW__; __THREW__ = 0;
$21 = ___cxa_find_matching_catch_2()|0;
$22 = tempRet0;
$switchtmp$i66$i = ($15|0)==(0);
if ($switchtmp$i66$i) {
$personalityslot$sroa$0$1$i = $21;$personalityslot$sroa$10$1$i = $22;
___resumeException($personalityslot$sroa$0$1$i|0);
// unreachable;
}
$37 = HEAP32[$18>>2]|0;HEAP32[$18>>2] = (($37-1)|0);
$38 = ($37|0)==(1);
if (!($38)) {
$personalityslot$sroa$0$1$i = $21;$personalityslot$sroa$10$1$i = $22;
___resumeException($personalityslot$sroa$0$1$i|0);
// unreachable;
}
$39 = ((($_12$i)) + 8|0);
/* fence */;
__ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h097a8e42cb8d207fE($39);
$personalityslot$sroa$0$1$i = $21;$personalityslot$sroa$10$1$i = $22;
___resumeException($personalityslot$sroa$0$1$i|0);
// unreachable;
}
} else {
$cond$i$i$i59$i = ($8|0)==(0);
if (!($cond$i$i$i59$i)) {
__THREW__ = 0;
invoke_v(71);
$28 = __THREW__; __THREW__ = 0;
$29 = ___cxa_find_matching_catch_2()|0;
$30 = tempRet0;
$personalityslot$sroa$0$1$i = $29;$personalityslot$sroa$10$1$i = $30;
___resumeException($personalityslot$sroa$0$1$i|0);
// unreachable;
}
}
} while(0);
HEAP32[$$pre$phiZ2D>>2] = -1;
$31 = HEAP32[$12>>2]|0;
$switchtmp$i64$i = ($31|0)==(0|0);
if ($switchtmp$i64$i) {
__THREW__ = 0;
invoke_vi(78,(2900|0));
$32 = __THREW__; __THREW__ = 0;
$33 = ___cxa_find_matching_catch_2()|0;
$34 = tempRet0;
HEAP32[$$pre$phiZ2D>>2] = 0;
$personalityslot$sroa$0$1$i = $33;$personalityslot$sroa$10$1$i = $34;
___resumeException($personalityslot$sroa$0$1$i|0);
// unreachable;
}
$35 = HEAP32[$31>>2]|0;HEAP32[$31>>2] = (($35+1)|0);
$36 = ($35|0)<(0);
if ($36) {
_llvm_trap();
// unreachable;
} else {
$44 = $31;
HEAP32[$$pre$phiZ2D>>2] = 0;
STACKTOP = sp;return ($44|0);
}
}
} while(0);
$42 = ___cxa_find_matching_catch_2()|0;
$43 = tempRet0;
$personalityslot$sroa$0$1$i = $42;$personalityslot$sroa$10$1$i = $43;
___resumeException($personalityslot$sroa$0$1$i|0);
// unreachable;
return (0)|0;
}
function __ZN45__LT_std__thread__local__os__Key_LT_T_GT__GT_3get17h5ad7067208c5d35eE($0) {
$0 = $0|0;
var $$ = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$0$i$i = 0, $_0$0$i$i14 = 0, $_23$sroa$0$0$$sroa_idx = 0, $cond$i$i = 0, $cond$i$i12 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$cond$i$i12 = ($1|0)==(0);
if ($cond$i$i12) {
$2 = (__ZN3std10sys_common12thread_local9StaticKey9lazy_init17hfc6d2d1726d17391E($0)|0);
$_0$0$i$i14 = $2;
} else {
$_0$0$i$i14 = $1;
}
$3 = (_pthread_getspecific(($_0$0$i$i14|0))|0);
$4 = ($3|0)==(0|0);
if (!($4)) {
$5 = ($3|0)==((1)|0);
$6 = ((($3)) + 4|0);
$$ = $5 ? 0 : $6;
return ($$|0);
}
$7 = (___rust_allocate(20,4)|0);
$8 = ($7|0)==(0|0);
if ($8) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
}
HEAP32[$7>>2] = $0;
$_23$sroa$0$0$$sroa_idx = ((($7)) + 4|0);
HEAP32[$_23$sroa$0$0$$sroa_idx>>2] = 0;
$9 = HEAP32[$0>>2]|0;
$cond$i$i = ($9|0)==(0);
if (!($cond$i$i)) {
$_0$0$i$i = $9;
(_pthread_setspecific(($_0$0$i$i|0),($7|0))|0);
return ($_23$sroa$0$0$$sroa_idx|0);
}
$10 = (__ZN3std10sys_common12thread_local9StaticKey9lazy_init17hfc6d2d1726d17391E($0)|0);
$_0$0$i$i = $10;
(_pthread_setspecific(($_0$0$i$i|0),($7|0))|0);
return ($_23$sroa$0$0$$sroa_idx|0);
}
function __ZN4core6result13unwrap_failed17hd81802a3931adfa8E() {
var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_12 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_7 = 0, $error = 0, $msg = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$error = sp + 48|0;
$msg = sp + 40|0;
$_7 = sp + 16|0;
$_12 = sp;
HEAP32[$msg>>2] = 6368;
$0 = ((($msg)) + 4|0);
HEAP32[$0>>2] = 16;
$1 = HEAP32[733]|0;
$2 = HEAP32[(2936)>>2]|0;
$3 = $msg;
$4 = $error;
HEAP32[$_12>>2] = $3;
$5 = ((($_12)) + 4|0);
HEAP32[$5>>2] = (86);
$6 = ((($_12)) + 8|0);
HEAP32[$6>>2] = $4;
$7 = ((($_12)) + 12|0);
HEAP32[$7>>2] = (87);
HEAP32[$_7>>2] = $1;
$8 = ((($_7)) + 4|0);
HEAP32[$8>>2] = $2;
$_6$sroa$0$0$$sroa_idx$i = ((($_7)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$9 = ((($_7)) + 16|0);
HEAP32[$9>>2] = $_12;
$10 = ((($_7)) + 20|0);
HEAP32[$10>>2] = 2;
__ZN4core9panicking9panic_fmt17hd37574de04720b9cE($_7,2920);
// unreachable;
}
function __ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h097a8e42cb8d207fE($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, $switchtmp$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = ((($1)) + 8|0);
$3 = HEAP32[$2>>2]|0;
$switchtmp$i$i = ($3|0)==(0|0);
if (!($switchtmp$i$i)) {
HEAP8[$3>>0] = 0;
$4 = ((($1)) + 12|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0);
if (!($6)) {
$7 = HEAP32[$2>>2]|0;
___rust_deallocate($7,$5,1);
}
}
$8 = ((($1)) + 24|0);
$9 = HEAP32[$8>>2]|0;
(_pthread_mutex_destroy(($9|0))|0);
$10 = HEAP32[$8>>2]|0;
___rust_deallocate($10,24,8);
$11 = ((($1)) + 32|0);
$12 = HEAP32[$11>>2]|0;
(_pthread_cond_destroy(($12|0))|0);
$13 = HEAP32[$11>>2]|0;
___rust_deallocate($13,48,8);
$14 = HEAP32[$0>>2]|0;
$15 = ((($14)) + 4|0);
$16 = HEAP32[$15>>2]|0;HEAP32[$15>>2] = (($16-1)|0);
$17 = ($16|0)==(1);
if (!($17)) {
return;
}
/* fence */;
___rust_deallocate($1,40,8);
return;
}
function __ZN3std9panicking12default_hook28__u7b__u7b_closure_u7d__u7d_17h2be06fae7817da3eE($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, $9 = 0, $_0$sroa$3$0$insert$ext$i$i$i = 0, $_11 = 0;
var $_35 = 0, $_4 = 0, $_41 = 0, $_43 = 0, $_6 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_6$sroa$0$0$$sroa_idx$i12 = 0, $cond$i = 0, $cond$i$i$i = 0, $cond$i$i$i14 = 0, $cond$i$i$i21 = 0, $cond$i13 = 0, $cond$i20 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
$_4 = sp + 112|0;
$_6 = sp + 88|0;
$_11 = sp + 56|0;
$_35 = sp + 40|0;
$_41 = sp + 24|0;
$_43 = sp;
$3 = HEAP32[$0>>2]|0;
$4 = ((($0)) + 4|0);
$5 = HEAP32[$4>>2]|0;
$6 = ((($0)) + 8|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($0)) + 12|0);
$9 = HEAP32[$8>>2]|0;
HEAP32[$_11>>2] = $3;
$10 = ((($_11)) + 4|0);
HEAP32[$10>>2] = (86);
$11 = ((($_11)) + 8|0);
HEAP32[$11>>2] = $5;
$12 = ((($_11)) + 12|0);
HEAP32[$12>>2] = (86);
$13 = ((($_11)) + 16|0);
HEAP32[$13>>2] = $7;
$14 = ((($_11)) + 20|0);
HEAP32[$14>>2] = (86);
$15 = ((($_11)) + 24|0);
HEAP32[$15>>2] = $9;
$16 = ((($_11)) + 28|0);
HEAP32[$16>>2] = (74);
HEAP32[$_6>>2] = 2516;
$17 = ((($_6)) + 4|0);
HEAP32[$17>>2] = 5;
$_6$sroa$0$0$$sroa_idx$i = ((($_6)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$18 = ((($_6)) + 16|0);
HEAP32[$18>>2] = $_11;
$19 = ((($_6)) + 20|0);
HEAP32[$19>>2] = 4;
$20 = ((($2)) + 24|0);
$21 = HEAP32[$20>>2]|0;
FUNCTION_TABLE_viii[$21 & 127]($_4,$1,$_6);
$22 = HEAP32[$_4>>2]|0;
$cond$i20 = ($22|0)==(1);
if ($cond$i20) {
$23 = ((($_4)) + 4|0);
$24 = HEAP32[$23>>2]|0;
$cond$i$i$i21 = ($24|0)==(1);
if ($cond$i$i$i21) {
$25 = ((($_4)) + 8|0);
$26 = HEAP32[$25>>2]|0;
$27 = ((($26)) + 4|0);
$28 = HEAP32[$27>>2]|0;
$29 = ((($26)) + 8|0);
$30 = HEAP32[$29>>2]|0;
$31 = HEAP32[$30>>2]|0;
FUNCTION_TABLE_vi[$31 & 255]($28);
$32 = HEAP32[$29>>2]|0;
$33 = ((($32)) + 4|0);
$34 = HEAP32[$33>>2]|0;
$35 = ($34|0)==(0);
if (!($35)) {
$36 = ((($32)) + 8|0);
$37 = HEAP32[$36>>2]|0;
___rust_deallocate($28,$34,$37);
}
___rust_deallocate($26,12,4);
}
}
$38 = ((($0)) + 16|0);
$39 = HEAP32[$38>>2]|0;
$40 = HEAP8[$39>>0]|0;
$41 = ($40<<24>>24)==(0);
if (!($41)) {
__ZN3std3sys3imp9backtrace7tracing3imp5write17h5c1f69946077e594E($_35,$1,$2);
$42 = HEAP32[$_35>>2]|0;
$cond$i13 = ($42|0)==(1);
if ($cond$i13) {
$43 = ((($_35)) + 4|0);
$44 = HEAP32[$43>>2]|0;
$cond$i$i$i14 = ($44|0)==(1);
if ($cond$i$i$i14) {
$45 = ((($_35)) + 8|0);
$46 = HEAP32[$45>>2]|0;
$47 = ((($46)) + 4|0);
$48 = HEAP32[$47>>2]|0;
$49 = ((($46)) + 8|0);
$50 = HEAP32[$49>>2]|0;
$51 = HEAP32[$50>>2]|0;
FUNCTION_TABLE_vi[$51 & 255]($48);
$52 = HEAP32[$49>>2]|0;
$53 = ((($52)) + 4|0);
$54 = HEAP32[$53>>2]|0;
$55 = ($54|0)==(0);
if (!($55)) {
$56 = ((($52)) + 8|0);
$57 = HEAP32[$56>>2]|0;
___rust_deallocate($48,$54,$57);
}
___rust_deallocate($46,12,4);
}
}
STACKTOP = sp;return;
}
$58 = HEAP8[5763]|0;if (($58<<24>>24) == 1) HEAP8[5763] = 0;
$_0$sroa$3$0$insert$ext$i$i$i = $58&255;
$59 = ($_0$sroa$3$0$insert$ext$i$i$i << 8)&65535;
$60 = ($59&65535)>(255);
if (!($60)) {
STACKTOP = sp;return;
}
HEAP32[$_43>>2] = 2556;
$61 = ((($_43)) + 4|0);
HEAP32[$61>>2] = 1;
$_6$sroa$0$0$$sroa_idx$i12 = ((($_43)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i12>>2] = 0;
$62 = ((($_43)) + 16|0);
HEAP32[$62>>2] = 13320;
$63 = ((($_43)) + 20|0);
HEAP32[$63>>2] = 0;
$64 = HEAP32[$20>>2]|0;
FUNCTION_TABLE_viii[$64 & 127]($_41,$1,$_43);
$65 = HEAP32[$_41>>2]|0;
$cond$i = ($65|0)==(1);
if ($cond$i) {
$66 = ((($_41)) + 4|0);
$67 = HEAP32[$66>>2]|0;
$cond$i$i$i = ($67|0)==(1);
if ($cond$i$i$i) {
$68 = ((($_41)) + 8|0);
$69 = HEAP32[$68>>2]|0;
$70 = ((($69)) + 4|0);
$71 = HEAP32[$70>>2]|0;
$72 = ((($69)) + 8|0);
$73 = HEAP32[$72>>2]|0;
$74 = HEAP32[$73>>2]|0;
FUNCTION_TABLE_vi[$74 & 255]($71);
$75 = HEAP32[$72>>2]|0;
$76 = ((($75)) + 4|0);
$77 = HEAP32[$76>>2]|0;
$78 = ($77|0)==(0);
if (!($78)) {
$79 = ((($75)) + 8|0);
$80 = HEAP32[$79>>2]|0;
___rust_deallocate($71,$77,$80);
}
___rust_deallocate($69,12,4);
}
}
STACKTOP = sp;return;
}
function __ZN4drop17h668a231c50907c3fE($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function __ZN3std2io5impls69__LT_impl_u20_std__io__Write_u20_for_u20__RF__u27_a_u20_mut_u20_W_GT_5write17hccb3fe3f370c30edE($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$sink$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ret$i$sroa$4$0$$sroa_idx2$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 = 1;$10 = 0;$13 = $7;
} else {
$$sink$i$i = 0;$10 = $4;$13 = 0;
}
HEAP32[$0>>2] = $$sink$i$i;
$ret$i$sroa$4$0$$sroa_idx2$i = ((($0)) + 4|0);
$8 = $ret$i$sroa$4$0$$sroa_idx2$i;
$9 = $8;
HEAP32[$9>>2] = $10;
$11 = (($8) + 4)|0;
$12 = $11;
HEAP32[$12>>2] = $13;
return;
}
function __ZN3std2io5impls69__LT_impl_u20_std__io__Write_u20_for_u20__RF__u27_a_u20_mut_u20_W_GT_5flush17h0a722be713cd51ebE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
HEAP32[$0>>2] = 0;
return;
}
function __ZN3std2io5impls69__LT_impl_u20_std__io__Write_u20_for_u20__RF__u27_a_u20_mut_u20_W_GT_9write_all17h7ed450863aafde66E($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = HEAP32[$1>>2]|0;
__ZN3std2io5Write9write_all17h5a18b379a2b5ca05E($0,$4,$2,$3);
return;
}
function __ZN3std2io5impls69__LT_impl_u20_std__io__Write_u20_for_u20__RF__u27_a_u20_mut_u20_W_GT_9write_fmt17he7051651c8b3baa5E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $_6 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$_6 = sp;
$3 = HEAP32[$1>>2]|0;
;HEAP32[$_6>>2]=HEAP32[$2>>2]|0;HEAP32[$_6+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$_6+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$_6+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$_6+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$_6+20>>2]=HEAP32[$2+20>>2]|0;
__ZN3std2io5Write9write_fmt17h027ac3f189e6f6bfE($0,$3,$_6);
STACKTOP = sp;return;
}
function __ZN3std2io5Write9write_fmt17h027ac3f189e6f6bfE($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$sroa_idx = 0, $$sroa_idx31 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_14 = 0, $_3$i$i$i = 0, $_8$sroa$0$0$$sroa_idx = 0, $cond$i = 0, $cond$i$i$i = 0;
var $cond$i$i$i22 = 0, $cond$i21 = 0, $output = 0, $personalityslot$sroa$0$0 = 0, $personalityslot$sroa$5$0 = 0, $switch = 0, $x$i$sroa$4$0$$sroa_raw_idx$i = 0, $x$i$sroa$4$i = 0, $x$i$sroa$5$0$$sroa_idx$i = 0, $x$i$sroa$6$0$$sroa_idx$i = 0, $x$sroa$0$i$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$x$i$sroa$4$i = sp + 68|0;
$x$sroa$0$i$i$i$i$i = sp + 56|0;
$_3$i$i$i = sp + 40|0;
$output = sp + 24|0;
$_14 = sp;
HEAP32[$output>>2] = $1;
$_8$sroa$0$0$$sroa_idx = ((($output)) + 4|0);
HEAP32[$_8$sroa$0$0$$sroa_idx>>2] = 0;
;HEAP32[$_14>>2]=HEAP32[$2>>2]|0;HEAP32[$_14+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$_14+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$_14+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$_14+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$_14+20>>2]=HEAP32[$2+20>>2]|0;
__THREW__ = 0;
$3 = (invoke_iiii(60,($output|0),(112|0),($_14|0))|0);
$4 = __THREW__; __THREW__ = 0;
$5 = $4&1;
L1: do {
if (!($5)) {
$switch = ($3<<24>>24)==(0);
do {
if ($switch) {
HEAP32[$0>>2] = 0;
} else {
$6 = ((($output)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(1);
if ($8) {
;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$6+8>>2]|0;
STACKTOP = sp;return;
}
__THREW__ = 0;
invoke_viii(88,($_3$i$i$i|0),(6027|0),15);
$9 = __THREW__; __THREW__ = 0;
$10 = $9&1;
if ($10) {
break L1;
}
;HEAP32[$x$sroa$0$i$i$i$i$i>>2]=HEAP32[$_3$i$i$i>>2]|0;HEAP32[$x$sroa$0$i$i$i$i$i+4>>2]=HEAP32[$_3$i$i$i+4>>2]|0;HEAP32[$x$sroa$0$i$i$i$i$i+8>>2]=HEAP32[$_3$i$i$i+8>>2]|0;
$11 = (___rust_allocate(12,4)|0);
$12 = ($11|0)==(0|0);
if ($12) {
__THREW__ = 0;
invoke_v(79);
$13 = __THREW__; __THREW__ = 0;
break L1;
}
;HEAP32[$11>>2]=HEAP32[$x$sroa$0$i$i$i$i$i>>2]|0;HEAP32[$11+4>>2]=HEAP32[$x$sroa$0$i$i$i$i$i+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$x$sroa$0$i$i$i$i$i+8>>2]|0;
$14 = (___rust_allocate(12,4)|0);
$15 = ($14|0)==(0|0);
if ($15) {
__THREW__ = 0;
invoke_v(79);
$16 = __THREW__; __THREW__ = 0;
break L1;
} else {
HEAP8[$14>>0] = 16;
$x$i$sroa$4$0$$sroa_raw_idx$i = ((($14)) + 1|0);
;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i>>0]=HEAP8[$x$i$sroa$4$i>>0]|0;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i+1>>0]=HEAP8[$x$i$sroa$4$i+1>>0]|0;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i+2>>0]=HEAP8[$x$i$sroa$4$i+2>>0]|0;
$x$i$sroa$5$0$$sroa_idx$i = ((($14)) + 4|0);
HEAP32[$x$i$sroa$5$0$$sroa_idx$i>>2] = $11;
$x$i$sroa$6$0$$sroa_idx$i = ((($14)) + 8|0);
HEAP32[$x$i$sroa$6$0$$sroa_idx$i>>2] = 136;
$17 = $14;
HEAP32[$0>>2] = 1;
$$sroa_idx = ((($0)) + 4|0);
HEAP32[$$sroa_idx>>2] = 1;
$$sroa_idx31 = ((($0)) + 8|0);
HEAP32[$$sroa_idx31>>2] = $17;
break;
}
}
} while(0);
$18 = HEAP32[$_8$sroa$0$0$$sroa_idx>>2]|0;
$cond$i21 = ($18|0)==(1);
if (!($cond$i21)) {
STACKTOP = sp;return;
}
$19 = ((($output)) + 8|0);
$20 = HEAP32[$19>>2]|0;
$cond$i$i$i22 = ($20|0)==(1);
if (!($cond$i$i$i22)) {
STACKTOP = sp;return;
}
$21 = ((($output)) + 12|0);
$22 = HEAP32[$21>>2]|0;
$23 = ((($22)) + 4|0);
$24 = HEAP32[$23>>2]|0;
$25 = ((($22)) + 8|0);
$26 = HEAP32[$25>>2]|0;
$27 = HEAP32[$26>>2]|0;
__THREW__ = 0;
invoke_vi($27|0,($24|0));
$28 = __THREW__; __THREW__ = 0;
$29 = $28&1;
if ($29) {
$54 = ___cxa_find_matching_catch_2()|0;
$55 = tempRet0;
$personalityslot$sroa$0$0 = $54;$personalityslot$sroa$5$0 = $55;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$30 = HEAP32[$25>>2]|0;
$31 = ((($30)) + 4|0);
$32 = HEAP32[$31>>2]|0;
$33 = ($32|0)==(0);
if (!($33)) {
$34 = ((($30)) + 8|0);
$35 = HEAP32[$34>>2]|0;
___rust_deallocate($24,$32,$35);
}
___rust_deallocate($22,12,4);
STACKTOP = sp;return;
}
} while(0);
$36 = ___cxa_find_matching_catch_2()|0;
$37 = tempRet0;
$38 = HEAP32[$_8$sroa$0$0$$sroa_idx>>2]|0;
$cond$i = ($38|0)==(1);
if (!($cond$i)) {
$personalityslot$sroa$0$0 = $36;$personalityslot$sroa$5$0 = $37;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$39 = ((($output)) + 8|0);
$40 = HEAP32[$39>>2]|0;
$cond$i$i$i = ($40|0)==(1);
if (!($cond$i$i$i)) {
$personalityslot$sroa$0$0 = $36;$personalityslot$sroa$5$0 = $37;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$41 = ((($output)) + 12|0);
$42 = HEAP32[$41>>2]|0;
$43 = ((($42)) + 4|0);
$44 = HEAP32[$43>>2]|0;
$45 = ((($42)) + 8|0);
$46 = HEAP32[$45>>2]|0;
$47 = HEAP32[$46>>2]|0;
FUNCTION_TABLE_vi[$47 & 255]($44);
$48 = HEAP32[$45>>2]|0;
$49 = ((($48)) + 4|0);
$50 = HEAP32[$49>>2]|0;
$51 = ($50|0)==(0);
if (!($51)) {
$52 = ((($48)) + 8|0);
$53 = HEAP32[$52>>2]|0;
___rust_deallocate($44,$50,$53);
}
___rust_deallocate($42,12,4);
$personalityslot$sroa$0$0 = $36;$personalityslot$sroa$5$0 = $37;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
function __ZN4drop17h9815f6de9a86fbe6E($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $not$$i$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 4|0);
$2 = HEAP32[$1>>2]|0;
$not$$i$i$i$i$i = ($2|0)==(0);
if ($not$$i$i$i$i$i) {
return;
}
$3 = HEAP32[$0>>2]|0;
___rust_deallocate($3,$2,1);
return;
}
function __ZN223__LT__LT_Box_LT_std__error__Error_u20__u2b__u20_Send_u20__u2b__u20_Sync_u20__u2b__u20__u27_static_GT__u20_as_u20_core__convert__From_LT_collections__string__String_GT__GT___from__StringError_u20_as_u20_std__error__Error_GT_11description17h3e8e6b2e7ecad6d3E($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 __ZN3std5error5Error5cause17hd5b1feb0e6b89473E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
HEAP32[$0>>2] = 0;
return;
}
function __ZN3std5error5Error7type_id17h3ccc9959db662534E($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
tempRet0 = (1075717062);
return -613879580;
}
function __ZN224__LT__LT_Box_LT_std__error__Error_u20__u2b__u20_Send_u20__u2b__u20_Sync_u20__u2b__u20__u27_static_GT__u20_as_u20_core__convert__From_LT_collections__string__String_GT__GT___from__StringError_u20_as_u20_core__fmt__Display_GT_3fmt17h56c7445236bc80d5E($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 = (__ZN42__LT_str_u20_as_u20_core__fmt__Display_GT_3fmt17hd6b964e9fa51e196E($2,$4,$1)|0);
return ($5|0);
}
function __ZN222__LT__LT_Box_LT_std__error__Error_u20__u2b__u20_Send_u20__u2b__u20_Sync_u20__u2b__u20__u27_static_GT__u20_as_u20_core__convert__From_LT_collections__string__String_GT__GT___from__StringError_u20_as_u20_core__fmt__Debug_GT_3fmt17he46077ccb4757486E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $_15 = 0, $builder = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$builder = sp;
$_15 = sp + 16|0;
__ZN4core3fmt8builders15debug_tuple_new17h47104df397fae61fE($builder,$1,6042,11);
HEAP32[$_15>>2] = $0;
(__ZN4core3fmt8builders10DebugTuple5field17habc4853fa96c697cE($builder,$_15,168)|0);
$2 = (__ZN4core3fmt8builders10DebugTuple6finish17h564a1cf01486d042E($builder)|0);
STACKTOP = sp;return ($2|0);
}
function __ZN53__LT__RF__u27_a_u20_T_u20_as_u20_core__fmt__Debug_GT_3fmt17ha535056ab23dfac1E($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 = (__ZN40__LT_str_u20_as_u20_core__fmt__Debug_GT_3fmt17heb04748374127a20E($3,$5,$1)|0);
return ($6|0);
}
function __ZN4drop17h5a062acac04c46edE($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)) + 4|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($6)) + 8|0);
$10 = HEAP32[$9>>2]|0;
$11 = HEAP32[$10>>2]|0;
FUNCTION_TABLE_vi[$11 & 255]($8);
$12 = HEAP32[$9>>2]|0;
$13 = ((($12)) + 4|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)==(0);
if (!($15)) {
$16 = ((($12)) + 8|0);
$17 = HEAP32[$16>>2]|0;
___rust_deallocate($8,$14,$17);
}
___rust_deallocate($6,12,4);
return;
}
function __ZN94__LT_std__io__Write__write_fmt__Adaptor_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_str17h9ad2f576f333581fE($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$sroa$0$062 = 0, $_13$sroa$5$0$$sroa_idx = 0, $_13$sroa$5$0$$sroa_idx26 = 0;
var $_5 = 0, $cond$i = 0, $cond$i$i$i = 0, $e$sroa$0$0$$sroa_idx33 = 0, $switch3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$_5 = sp;
$3 = HEAP32[$0>>2]|0;
__ZN3std2io5Write9write_all17h5a18b379a2b5ca05E($_5,$3,$1,$2);
$4 = HEAP32[$_5>>2]|0;
$switch3 = ($4|0)==(1);
if (!($switch3)) {
$_0$sroa$0$062 = 0;
STACKTOP = sp;return ($_0$sroa$0$062|0);
}
$e$sroa$0$0$$sroa_idx33 = ((($_5)) + 4|0);
$5 = $e$sroa$0$0$$sroa_idx33;
$6 = $5;
$7 = HEAP32[$6>>2]|0;
$8 = (($5) + 4)|0;
$9 = $8;
$10 = HEAP32[$9>>2]|0;
$11 = ((($0)) + 4|0);
$12 = HEAP32[$11>>2]|0;
$cond$i = ($12|0)==(1);
if ($cond$i) {
$13 = ((($0)) + 8|0);
$14 = HEAP32[$13>>2]|0;
$cond$i$i$i = ($14|0)==(1);
if ($cond$i$i$i) {
$15 = ((($0)) + 12|0);
$16 = HEAP32[$15>>2]|0;
$17 = ((($16)) + 4|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($16)) + 8|0);
$20 = HEAP32[$19>>2]|0;
$21 = HEAP32[$20>>2]|0;
__THREW__ = 0;
invoke_vi($21|0,($18|0));
$22 = __THREW__; __THREW__ = 0;
$23 = $22&1;
if ($23) {
$34 = ___cxa_find_matching_catch_2()|0;
$35 = tempRet0;
HEAP32[$11>>2] = 1;
$_13$sroa$5$0$$sroa_idx = ((($0)) + 8|0);
$36 = $_13$sroa$5$0$$sroa_idx;
$37 = $36;
HEAP32[$37>>2] = $7;
$38 = (($36) + 4)|0;
$39 = $38;
HEAP32[$39>>2] = $10;
___resumeException($34|0);
// unreachable;
}
$24 = HEAP32[$19>>2]|0;
$25 = ((($24)) + 4|0);
$26 = HEAP32[$25>>2]|0;
$27 = ($26|0)==(0);
if (!($27)) {
$28 = ((($24)) + 8|0);
$29 = HEAP32[$28>>2]|0;
___rust_deallocate($18,$26,$29);
}
___rust_deallocate($16,12,4);
}
}
HEAP32[$11>>2] = 1;
$_13$sroa$5$0$$sroa_idx26 = ((($0)) + 8|0);
$30 = $_13$sroa$5$0$$sroa_idx26;
$31 = $30;
HEAP32[$31>>2] = $7;
$32 = (($30) + 4)|0;
$33 = $32;
HEAP32[$33>>2] = $10;
$_0$sroa$0$062 = 1;
STACKTOP = sp;return ($_0$sroa$0$062|0);
}
function __ZN4core3fmt5Write10write_char17h9ddaad80f8b1e77eE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$sreg$field = 0, $$sreg$field2 = 0, $$sreg$index1 = 0, $2 = 0, $3 = 0, $_12 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
$_12 = sp + 8|0;
HEAP32[$_12>>2] = 0;
__ZN44__LT_char_u20_as_u20_core__char__CharExt_GT_11encode_utf817h06babbec5fb340b3E($2,$1,$_12);
$$sreg$field = HEAP32[$2>>2]|0;
$$sreg$index1 = ((($2)) + 4|0);
$$sreg$field2 = HEAP32[$$sreg$index1>>2]|0;
$3 = (__ZN94__LT_std__io__Write__write_fmt__Adaptor_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_str17h9ad2f576f333581fE($0,$$sreg$field,$$sreg$field2)|0);
STACKTOP = sp;return ($3|0);
}
function __ZN4core3fmt5Write9write_fmt17h500266ef091eb07dE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $_10 = 0, $_8 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$_8 = sp + 24|0;
$_10 = sp;
HEAP32[$_8>>2] = $0;
;HEAP32[$_10>>2]=HEAP32[$1>>2]|0;HEAP32[$_10+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$_10+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$_10+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$_10+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$_10+20>>2]=HEAP32[$1+20>>2]|0;
$2 = (__ZN4core3fmt5write17hd46092952e27f1dbE($_8,184,$_10)|0);
STACKTOP = sp;return ($2|0);
}
function __ZN96__LT_core__fmt__Write__write_fmt__Adapter_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_str17hfbac8f6e5ad39525E($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 = (__ZN94__LT_std__io__Write__write_fmt__Adaptor_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_str17h9ad2f576f333581fE($3,$1,$2)|0);
return ($4|0);
}
function __ZN96__LT_core__fmt__Write__write_fmt__Adapter_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_10write_char17hf3d66f2209b40856E($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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_12$i = 0, $len$2$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$_12$i = sp;
$2 = HEAP32[$0>>2]|0;
HEAP32[$_12$i>>2] = 0;
$3 = ($1>>>0)<(128);
do {
if ($3) {
$4 = $1&255;
HEAP8[$_12$i>>0] = $4;
$len$2$i = 1;
} else {
$5 = ($1>>>0)<(2048);
if ($5) {
$6 = $1 >>> 6;
$7 = $6 & 31;
$8 = $7&255;
$9 = $8 | -64;
HEAP8[$_12$i>>0] = $9;
$10 = $1 & 63;
$11 = $10&255;
$12 = ((($_12$i)) + 1|0);
$13 = $11 | -128;
HEAP8[$12>>0] = $13;
$len$2$i = 2;
break;
}
$14 = ($1>>>0)<(65536);
if ($14) {
$15 = $1 >>> 12;
$16 = $15 & 15;
$17 = $16&255;
$18 = $17 | -32;
HEAP8[$_12$i>>0] = $18;
$19 = $1 >>> 6;
$20 = $19 & 63;
$21 = $20&255;
$22 = ((($_12$i)) + 1|0);
$23 = $21 | -128;
HEAP8[$22>>0] = $23;
$24 = $1 & 63;
$25 = $24&255;
$26 = ((($_12$i)) + 2|0);
$27 = $25 | -128;
HEAP8[$26>>0] = $27;
$len$2$i = 3;
break;
} else {
$28 = $1 >>> 18;
$29 = $28 & 7;
$30 = $29&255;
$31 = $30 | -16;
HEAP8[$_12$i>>0] = $31;
$32 = $1 >>> 12;
$33 = $32 & 63;
$34 = $33&255;
$35 = ((($_12$i)) + 1|0);
$36 = $34 | -128;
HEAP8[$35>>0] = $36;
$37 = $1 >>> 6;
$38 = $37 & 63;
$39 = $38&255;
$40 = ((($_12$i)) + 2|0);
$41 = $39 | -128;
HEAP8[$40>>0] = $41;
$42 = $1 & 63;
$43 = $42&255;
$44 = ((($_12$i)) + 3|0);
$45 = $43 | -128;
HEAP8[$44>>0] = $45;
$len$2$i = 4;
break;
}
}
} while(0);
$46 = (__ZN94__LT_std__io__Write__write_fmt__Adaptor_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_str17h9ad2f576f333581fE($2,$_12$i,$len$2$i)|0);
STACKTOP = sp;return ($46|0);
}
function __ZN96__LT_core__fmt__Write__write_fmt__Adapter_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_fmt17h0d70bdd38a039c8cE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $_10$i = 0, $_8$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$_8$i = sp + 24|0;
$_10$i = sp;
$2 = HEAP32[$0>>2]|0;
HEAP32[$_8$i>>2] = $2;
;HEAP32[$_10$i>>2]=HEAP32[$1>>2]|0;HEAP32[$_10$i+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$_10$i+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$_10$i+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$_10$i+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$_10$i+20>>2]=HEAP32[$1+20>>2]|0;
$3 = (__ZN4core3fmt5write17hd46092952e27f1dbE($_8$i,184,$_10$i)|0);
STACKTOP = sp;return ($3|0);
}
function __ZN44__LT_char_u20_as_u20_core__char__CharExt_GT_11encode_utf817h06babbec5fb340b3E($retVal,$0,$1) {
$retVal = $retVal|0;
$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, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, $len$2 = 0, $retVal$index1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0>>>0)<(128);
do {
if ($2) {
$3 = $0&255;
HEAP8[$1>>0] = $3;
$len$2 = 1;
} else {
$4 = ($0>>>0)<(2048);
if ($4) {
$5 = $0 >>> 6;
$6 = $5 & 31;
$7 = $6&255;
$8 = $7 | -64;
HEAP8[$1>>0] = $8;
$9 = $0 & 63;
$10 = $9&255;
$11 = ((($1)) + 1|0);
$12 = $10 | -128;
HEAP8[$11>>0] = $12;
$len$2 = 2;
break;
}
$13 = ($0>>>0)<(65536);
if ($13) {
$14 = $0 >>> 12;
$15 = $14 & 15;
$16 = $15&255;
$17 = $16 | -32;
HEAP8[$1>>0] = $17;
$18 = $0 >>> 6;
$19 = $18 & 63;
$20 = $19&255;
$21 = ((($1)) + 1|0);
$22 = $20 | -128;
HEAP8[$21>>0] = $22;
$23 = $0 & 63;
$24 = $23&255;
$25 = ((($1)) + 2|0);
$26 = $24 | -128;
HEAP8[$25>>0] = $26;
$len$2 = 3;
break;
} else {
$27 = $0 >>> 18;
$28 = $27 & 7;
$29 = $28&255;
$30 = $29 | -16;
HEAP8[$1>>0] = $30;
$31 = $0 >>> 12;
$32 = $31 & 63;
$33 = $32&255;
$34 = ((($1)) + 1|0);
$35 = $33 | -128;
HEAP8[$34>>0] = $35;
$36 = $0 >>> 6;
$37 = $36 & 63;
$38 = $37&255;
$39 = ((($1)) + 2|0);
$40 = $38 | -128;
HEAP8[$39>>0] = $40;
$41 = $0 & 63;
$42 = $41&255;
$43 = ((($1)) + 3|0);
$44 = $42 | -128;
HEAP8[$43>>0] = $44;
$len$2 = 4;
break;
}
}
} while(0);
HEAP32[$retVal>>2] = $1;
$retVal$index1 = ((($retVal)) + 4|0);
HEAP32[$retVal$index1>>2] = $len$2;
return;
}
function __ZN3std2io5Write9write_all17h5a18b379a2b5ca05E($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$sroa_idx = 0, $$sroa_idx75 = 0, $$sroa_idx80 = 0, $$sroa_idx81 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_3$i$i$i = 0, $buf$sroa$0$0$ph167 = 0, $buf$sroa$8$0$ph168 = 0;
var $cond160 = 0, $x$i$sroa$4$0$$sroa_raw_idx$i = 0, $x$i$sroa$4$i = 0, $x$i$sroa$5$0$$sroa_idx$i = 0, $x$i$sroa$6$0$$sroa_idx$i = 0, $x$sroa$0$i$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$x$i$sroa$4$i = sp + 28|0;
$x$sroa$0$i$i$i$i$i = sp + 16|0;
$_3$i$i$i = sp;
$4 = ($3|0)==(0);
L1: do {
if (!($4)) {
$buf$sroa$0$0$ph167 = $2;$buf$sroa$8$0$ph168 = $3;
L2: while(1) {
L4: while(1) {
$5 = (_write(2,$buf$sroa$0$0$ph167,$buf$sroa$8$0$ph168)|0);
switch ($5|0) {
case 0: {
label = 5;
break L2;
break;
}
case -1: {
break;
}
default: {
break L4;
}
}
$10 = (___errno_location()|0);
$11 = HEAP32[$10>>2]|0;
$cond160 = ($11|0)==(4);
if (!($cond160)) {
label = 14;
break L2;
}
}
$12 = ($buf$sroa$8$0$ph168>>>0)<($5>>>0);
if ($12) {
label = 11;
break;
}
$14 = (($buf$sroa$0$0$ph167) + ($5)|0);
$15 = (($buf$sroa$8$0$ph168) - ($5))|0;
$16 = ($15|0)==(0);
if ($16) {
break L1;
} else {
$buf$sroa$0$0$ph167 = $14;$buf$sroa$8$0$ph168 = $15;
}
}
if ((label|0) == 5) {
__ZN93__LT_collections__string__String_u20_as_u20_core__convert__From_LT__RF__u27_a_u20_str_GT__GT_4from17h47cb495aa7cb953dE($_3$i$i$i,6053,28);
;HEAP32[$x$sroa$0$i$i$i$i$i>>2]=HEAP32[$_3$i$i$i>>2]|0;HEAP32[$x$sroa$0$i$i$i$i$i+4>>2]=HEAP32[$_3$i$i$i+4>>2]|0;HEAP32[$x$sroa$0$i$i$i$i$i+8>>2]=HEAP32[$_3$i$i$i+8>>2]|0;
$6 = (___rust_allocate(12,4)|0);
$7 = ($6|0)==(0|0);
if ($7) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
}
;HEAP32[$6>>2]=HEAP32[$x$sroa$0$i$i$i$i$i>>2]|0;HEAP32[$6+4>>2]=HEAP32[$x$sroa$0$i$i$i$i$i+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$x$sroa$0$i$i$i$i$i+8>>2]|0;
$8 = (___rust_allocate(12,4)|0);
$9 = ($8|0)==(0|0);
if ($9) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
}
HEAP8[$8>>0] = 14;
$x$i$sroa$4$0$$sroa_raw_idx$i = ((($8)) + 1|0);
;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i>>0]=HEAP8[$x$i$sroa$4$i>>0]|0;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i+1>>0]=HEAP8[$x$i$sroa$4$i+1>>0]|0;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i+2>>0]=HEAP8[$x$i$sroa$4$i+2>>0]|0;
$x$i$sroa$5$0$$sroa_idx$i = ((($8)) + 4|0);
HEAP32[$x$i$sroa$5$0$$sroa_idx$i>>2] = $6;
$x$i$sroa$6$0$$sroa_idx$i = ((($8)) + 8|0);
HEAP32[$x$i$sroa$6$0$$sroa_idx$i>>2] = 136;
$13 = $8;
HEAP32[$0>>2] = 1;
$$sroa_idx = ((($0)) + 4|0);
HEAP32[$$sroa_idx>>2] = 1;
$$sroa_idx75 = ((($0)) + 8|0);
HEAP32[$$sroa_idx75>>2] = $13;
STACKTOP = sp;return;
}
else if ((label|0) == 11) {
__ZN4core5slice22slice_index_order_fail17h18a93bce132b6e5bE($5,$buf$sroa$8$0$ph168);
// unreachable;
}
else if ((label|0) == 14) {
HEAP32[$0>>2] = 1;
$$sroa_idx80 = ((($0)) + 4|0);
HEAP32[$$sroa_idx80>>2] = 0;
$$sroa_idx81 = ((($0)) + 8|0);
HEAP32[$$sroa_idx81>>2] = $11;
STACKTOP = sp;return;
}
}
} while(0);
HEAP32[$0>>2] = 0;
STACKTOP = sp;return;
}
function __ZN55__LT__RF__u27_a_u20_T_u20_as_u20_core__fmt__Display_GT_3fmt17h8641688ac8cd7009E($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 = (__ZN42__LT_str_u20_as_u20_core__fmt__Display_GT_3fmt17hd6b964e9fa51e196E($2,$4,$1)|0);
return ($5|0);
}
function __ZN3std3sys3imp9backtrace7tracing3imp5write17h5c1f69946077e594E($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_10 = 0, $_28$sroa$0$0$$sroa_idx = 0;
var $_28$sroa$4$0$$sroa_idx = 0, $_3$sroa$0$0$$sroa_idx3$i = 0, $_44$sroa$4$0$$sroa_idx98 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_8 = 0, $brmerge = 0, $cond = 0, $cond$i$i = 0, $cx = 0, $or$cond = 0, $ret$sroa$0$0 = 0, $self$i$sroa$0$0$copyload = 0, $self$i$sroa$4$0$$sroa_idx127 = 0, $self$i$sroa$4$0$copyload = 0, $self$i$sroa$5$0$$sroa_idx129 = 0, $self$i$sroa$5$0$copyload = 0, $switch3$i = 0, $switch6 = 0, $switch7$not = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$_8 = sp + 48|0;
$_10 = sp + 24|0;
$cx = sp;
(_pthread_mutex_lock(((13112)|0))|0);
HEAP32[$_10>>2] = 2564;
$3 = ((($_10)) + 4|0);
HEAP32[$3>>2] = 1;
$_6$sroa$0$0$$sroa_idx$i = ((($_10)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$4 = ((($_10)) + 16|0);
HEAP32[$4>>2] = 13320;
$5 = ((($_10)) + 20|0);
HEAP32[$5>>2] = 0;
$6 = ((($2)) + 24|0);
$7 = HEAP32[$6>>2]|0;
FUNCTION_TABLE_viii[$7 & 127]($_8,$1,$_10);
$self$i$sroa$0$0$copyload = HEAP32[$_8>>2]|0;
$switch3$i = ($self$i$sroa$0$0$copyload|0)==(1);
if ($switch3$i) {
$self$i$sroa$5$0$$sroa_idx129 = ((($_8)) + 8|0);
$self$i$sroa$5$0$copyload = HEAP32[$self$i$sroa$5$0$$sroa_idx129>>2]|0;
$self$i$sroa$4$0$$sroa_idx127 = ((($_8)) + 4|0);
$self$i$sroa$4$0$copyload = HEAP32[$self$i$sroa$4$0$$sroa_idx127>>2]|0;
HEAP32[$0>>2] = 1;
$_3$sroa$0$0$$sroa_idx3$i = ((($0)) + 4|0);
$8 = $_3$sroa$0$0$$sroa_idx3$i;
$9 = $8;
HEAP32[$9>>2] = $self$i$sroa$4$0$copyload;
$10 = (($8) + 4)|0;
$11 = $10;
HEAP32[$11>>2] = $self$i$sroa$5$0$copyload;
STACKTOP = sp;return;
}
HEAP32[$cx>>2] = 0;
$12 = ((($cx)) + 4|0);
HEAP32[$12>>2] = $1;
$13 = ((($cx)) + 8|0);
HEAP32[$13>>2] = $2;
$_28$sroa$0$0$$sroa_idx = ((($cx)) + 12|0);
HEAP32[$_28$sroa$0$0$$sroa_idx>>2] = 0;
$_28$sroa$4$0$$sroa_idx = ((($cx)) + 16|0);
$14 = (__Unwind_Backtrace((89|0),($cx|0))|0);
$cond = ($14|0)==(0);
$15 = HEAP32[$_28$sroa$0$0$$sroa_idx>>2]|0;
$switch6 = ($15|0)==(1);
$or$cond = $cond & $switch6;
$16 = $_28$sroa$4$0$$sroa_idx;
$17 = $16;
$18 = HEAP32[$17>>2]|0;
$19 = (($16) + 4)|0;
$20 = $19;
$21 = HEAP32[$20>>2]|0;
$ret$sroa$0$0 = $or$cond&1;
(_pthread_mutex_unlock(((13112)|0))|0);
HEAP32[$0>>2] = $ret$sroa$0$0;
$_44$sroa$4$0$$sroa_idx98 = ((($0)) + 4|0);
$22 = $_44$sroa$4$0$$sroa_idx98;
$23 = $22;
HEAP32[$23>>2] = $18;
$24 = (($22) + 4)|0;
$25 = $24;
HEAP32[$25>>2] = $21;
$26 = HEAP32[$_28$sroa$0$0$$sroa_idx>>2]|0;
$switch7$not = ($26|0)!=(1);
$brmerge = $or$cond | $switch7$not;
if (!($brmerge)) {
$27 = HEAP32[$_28$sroa$4$0$$sroa_idx>>2]|0;
$cond$i$i = ($27|0)==(1);
if ($cond$i$i) {
$28 = ((($cx)) + 20|0);
$29 = HEAP32[$28>>2]|0;
$30 = ((($29)) + 4|0);
$31 = HEAP32[$30>>2]|0;
$32 = ((($29)) + 8|0);
$33 = HEAP32[$32>>2]|0;
$34 = HEAP32[$33>>2]|0;
FUNCTION_TABLE_vi[$34 & 255]($31);
$35 = HEAP32[$32>>2]|0;
$36 = ((($35)) + 4|0);
$37 = HEAP32[$36>>2]|0;
$38 = ($37|0)==(0);
if (!($38)) {
$39 = ((($35)) + 8|0);
$40 = HEAP32[$39>>2]|0;
___rust_deallocate($31,$37,$40);
}
___rust_deallocate($29,12,4);
}
}
STACKTOP = sp;return;
}
function __ZN3std3sys3imp9backtrace7tracing3imp5write8trace_fn17hb12ad3a1321b437fE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 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;
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, $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, $_0$0 = 0, $_0$1 = 0, $_21$i = 0, $_26$i = 0, $_38 = 0, $_40 = 0, $_56 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $cond$i = 0, $cond$i$i$i = 0, $cond$i$i$i93 = 0, $cond$i92 = 0, $e$sroa$0$0$$sroa_idx73 = 0, $e1$sroa$0$0$$sroa_idx44 = 0, $info$i = 0, $ip$0 = 0, $ip$0$v = 0, $ip_before_insn = 0;
var $or$cond = 0, $personalityslot$sroa$0$0 = 0, $personalityslot$sroa$6$0 = 0, $switch$i = 0, $switch8 = 0, $switch9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
$info$i = sp + 72|0;
$_21$i = sp + 64|0;
$_26$i = sp + 56|0;
$ip_before_insn = sp + 88|0;
$_38 = sp + 40|0;
$_40 = sp + 16|0;
$_56 = sp;
HEAP32[$ip_before_insn>>2] = 0;
$2 = (__Unwind_GetIPInfo(($0|0),($ip_before_insn|0))|0);
$3 = ($2|0)!=(0);
$4 = HEAP32[$ip_before_insn>>2]|0;
$5 = ($4|0)==(0);
$or$cond = $3 & $5;
$6 = $or$cond << 31 >> 31;
$ip$0$v = (($6) + ($2))|0;
$ip$0 = $ip$0$v;
(__Unwind_FindEnclosingFunction(($ip$0|0))|0);
$7 = HEAP32[$1>>2]|0;
$8 = (($7) + 1)|0;
HEAP32[$1>>2] = $8;
$9 = ($8|0)<(1);
do {
if ($9) {
$_0$1 = 0;
} else {
$10 = ($8|0)>(100);
if ($10) {
$11 = ((($1)) + 4|0);
$12 = HEAP32[$11>>2]|0;
$13 = ((($1)) + 8|0);
$14 = HEAP32[$13>>2]|0;
HEAP32[$_40>>2] = 2572;
$15 = ((($_40)) + 4|0);
HEAP32[$15>>2] = 1;
$_6$sroa$0$0$$sroa_idx$i = ((($_40)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$16 = ((($_40)) + 16|0);
HEAP32[$16>>2] = 13320;
$17 = ((($_40)) + 20|0);
HEAP32[$17>>2] = 0;
$18 = ((($14)) + 24|0);
$19 = HEAP32[$18>>2]|0;
FUNCTION_TABLE_viii[$19 & 127]($_38,$12,$_40);
$20 = HEAP32[$_38>>2]|0;
$switch8 = ($20|0)==(1);
if ($switch8) {
$e$sroa$0$0$$sroa_idx73 = ((($_38)) + 4|0);
$23 = $e$sroa$0$0$$sroa_idx73;
$24 = $23;
$25 = HEAP32[$24>>2]|0;
$26 = (($23) + 4)|0;
$27 = $26;
$28 = HEAP32[$27>>2]|0;
$29 = ((($1)) + 12|0);
$30 = HEAP32[$29>>2]|0;
$cond$i = ($30|0)==(1);
$31 = ((($1)) + 16|0);
if ($cond$i) {
$32 = HEAP32[$31>>2]|0;
$cond$i$i$i = ($32|0)==(1);
if ($cond$i$i$i) {
$33 = ((($1)) + 20|0);
$34 = HEAP32[$33>>2]|0;
$35 = ((($34)) + 4|0);
$36 = HEAP32[$35>>2]|0;
$37 = ((($34)) + 8|0);
$38 = HEAP32[$37>>2]|0;
$39 = HEAP32[$38>>2]|0;
__THREW__ = 0;
invoke_vi($39|0,($36|0));
$40 = __THREW__; __THREW__ = 0;
$41 = $40&1;
if ($41) {
$98 = ___cxa_find_matching_catch_2()|0;
$99 = tempRet0;
HEAP32[$29>>2] = 1;
$100 = $31;
$101 = $100;
HEAP32[$101>>2] = $25;
$102 = (($100) + 4)|0;
$103 = $102;
HEAP32[$103>>2] = $28;
$personalityslot$sroa$0$0 = $98;$personalityslot$sroa$6$0 = $99;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$42 = HEAP32[$37>>2]|0;
$43 = ((($42)) + 4|0);
$44 = HEAP32[$43>>2]|0;
$45 = ($44|0)==(0);
if (!($45)) {
$46 = ((($42)) + 8|0);
$47 = HEAP32[$46>>2]|0;
___rust_deallocate($36,$44,$47);
}
___rust_deallocate($34,12,4);
}
}
HEAP32[$29>>2] = 1;
$48 = $31;
$49 = $48;
HEAP32[$49>>2] = $25;
$50 = (($48) + 4)|0;
$51 = $50;
HEAP32[$51>>2] = $28;
}
$_0$1 = 9;
break;
}
$21 = ((($1)) + 12|0);
$22 = HEAP32[$21>>2]|0;
$switch$i = ($22|0)==(1);
if ($switch$i) {
$_0$1 = 9;
} else {
$52 = ((($1)) + 4|0);
$53 = HEAP32[$52>>2]|0;
$54 = ((($1)) + 8|0);
$55 = HEAP32[$54>>2]|0;
;HEAP32[$info$i>>2]=0|0;HEAP32[$info$i+4>>2]=0|0;HEAP32[$info$i+8>>2]=0|0;HEAP32[$info$i+12>>2]=0|0;
$56 = (_dladdr(($ip$0|0),($info$i|0))|0);
$57 = ($56|0)==(0);
do {
if ($57) {
HEAP32[$_21$i>>2] = 0;
__ZN3std10sys_common9backtrace6output17had5a5a85501dcff1E($_56,$53,$55,$8,$ip$0,$_21$i);
} else {
$58 = ((($info$i)) + 8|0);
$59 = HEAP32[$58>>2]|0;
$60 = (_strlen($59)|0);
$61 = ($60|0)==(-1);
if ($61) {
__ZN4core5slice20slice_index_len_fail17hb40dd6e1275ffb59E(-1,0);
// unreachable;
} else {
HEAP32[$_26$i>>2] = $59;
$62 = ((($_26$i)) + 4|0);
HEAP32[$62>>2] = $60;
__ZN3std10sys_common9backtrace6output17had5a5a85501dcff1E($_56,$53,$55,$8,$ip$0,$_26$i);
break;
}
}
} while(0);
$63 = HEAP32[$_56>>2]|0;
$switch9 = ($63|0)==(1);
if ($switch9) {
$e1$sroa$0$0$$sroa_idx44 = ((($_56)) + 4|0);
$64 = $e1$sroa$0$0$$sroa_idx44;
$65 = $64;
$66 = HEAP32[$65>>2]|0;
$67 = (($64) + 4)|0;
$68 = $67;
$69 = HEAP32[$68>>2]|0;
$70 = HEAP32[$21>>2]|0;
$cond$i92 = ($70|0)==(1);
$71 = ((($1)) + 16|0);
if ($cond$i92) {
$72 = HEAP32[$71>>2]|0;
$cond$i$i$i93 = ($72|0)==(1);
if ($cond$i$i$i93) {
$73 = ((($1)) + 20|0);
$74 = HEAP32[$73>>2]|0;
$75 = ((($74)) + 4|0);
$76 = HEAP32[$75>>2]|0;
$77 = ((($74)) + 8|0);
$78 = HEAP32[$77>>2]|0;
$79 = HEAP32[$78>>2]|0;
__THREW__ = 0;
invoke_vi($79|0,($76|0));
$80 = __THREW__; __THREW__ = 0;
$81 = $80&1;
if ($81) {
$92 = ___cxa_find_matching_catch_2()|0;
$93 = tempRet0;
HEAP32[$21>>2] = 1;
$94 = $71;
$95 = $94;
HEAP32[$95>>2] = $66;
$96 = (($94) + 4)|0;
$97 = $96;
HEAP32[$97>>2] = $69;
$personalityslot$sroa$0$0 = $92;$personalityslot$sroa$6$0 = $93;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$82 = HEAP32[$77>>2]|0;
$83 = ((($82)) + 4|0);
$84 = HEAP32[$83>>2]|0;
$85 = ($84|0)==(0);
if (!($85)) {
$86 = ((($82)) + 8|0);
$87 = HEAP32[$86>>2]|0;
___rust_deallocate($76,$84,$87);
}
___rust_deallocate($74,12,4);
}
}
HEAP32[$21>>2] = 1;
$88 = $71;
$89 = $88;
HEAP32[$89>>2] = $66;
$90 = (($88) + 4)|0;
$91 = $90;
HEAP32[$91>>2] = $69;
}
$_0$0 = 0;
STACKTOP = sp;return ($_0$0|0);
}
}
} while(0);
$_0$0 = $_0$1;
STACKTOP = sp;return ($_0$0|0);
}
function __ZN3std10sys_common9backtrace6output17had5a5a85501dcff1E($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 $$4763$i = 0, $$cast$i$i$i$i = 0, $$lcssa1243 = 0, $$off$i$i = 0, $$off$i996$i = 0, $$phi$trans$insert$i = 0, $$phi$trans$insert4256$i = 0, $$phi$trans$insert4258$i = 0, $$phi$trans$insert4260$i = 0, $$phi$trans$insert4262$i = 0, $$phi$trans$insert4264$i = 0, $$phi$trans$insert4266$i = 0, $$phi$trans$insert4268$i = 0, $$phi$trans$insert4270$i = 0, $$phi$trans$insert4272$i = 0, $$phi$trans$insert4274$i = 0, $$phi$trans$insert4276$i = 0, $$phi$trans$insert4278$i = 0, $$phi$trans$insert4280$i = 0, $$phi$trans$insert4282$i = 0;
var $$phi$trans$insert4284$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i1065$ptr$i = 0, $$pre$i1221$i = 0, $$pre$i1247$i = 0, $$pre$i1273$i = 0, $$pre$i1299$i = 0, $$pre$i1333$i = 0, $$pre$i1374$i = 0, $$pre$i1416$i = 0, $$pre$i1450$i = 0, $$pre$i1491$i = 0, $$pre$i1533$i = 0, $$pre$i1567$i = 0, $$pre$i1608$i = 0, $$pre$i1650$i = 0, $$pre$i1684$i = 0, $$pre$i1725$i = 0;
var $$pre$i1767$i = 0, $$pre$i1801$i = 0, $$pre$i1850$i = 0, $$pre$i1900$i = 0, $$pre$phi$i$i$i$i$iZ2D = 0, $$pre$phi$i$i$i$i870$iZ2D = 0, $$pre$phi$i1455$iZ2D = 0, $$pre$phi$i1496$iZ2D = 0, $$pre$phi$i1538$iZ2D = 0, $$pre$phi$i1572$iZ2D = 0, $$pre$phi$i1613$iZ2D = 0, $$pre$phi$i1655$iZ2D = 0, $$pre$phi$i1689$iZ2D = 0, $$pre$phi$i1730$iZ2D = 0, $$pre$phi$i1772$iZ2D = 0, $$pre$phi$i1806$iZ2D = 0, $$pre$phi$i1855$iZ2D = 0, $$pre$phi$i1905$iZ2D = 0, $$pre$phi$i2894$iZ2D = 0, $$pre4257$i = 0;
var $$pre4259$i = 0, $$pre4261$i = 0, $$pre4263$i = 0, $$pre4265$i = 0, $$pre4267$i = 0, $$pre4269$i = 0, $$pre4271$i = 0, $$pre4273$i = 0, $$pre4275$i = 0, $$pre4277$i = 0, $$pre4279$i = 0, $$pre4281$i = 0, $$pre4283$i = 0, $$pre4285$i = 0, $$ptr$i = 0, $$sink$i$index = 0, $$sink$i$index2 = 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, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0;
var $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, $247 = 0;
var $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, $265 = 0;
var $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, $283 = 0;
var $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, $301 = 0;
var $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, $32 = 0;
var $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, $338 = 0;
var $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, $356 = 0;
var $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, $374 = 0;
var $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, $392 = 0;
var $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, $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, $50 = 0, $500 = 0, $501 = 0;
var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 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, $_0$0$i10$i$i$i$i = 0, $_0$0$i10$i$i$i$i$i$i = 0, $_0$0$i10$i$i1092$i = 0, $_0$0$i10$i$i988$i = 0, $_0$0$i16$i$i$i$i = 0, $_0$0$i16$i$i$i$i$i$i = 0, $_0$0$i16$i$i1087$i = 0, $_0$0$i16$i$i983$i = 0, $_0$0$i23$i$i$i$i = 0, $_0$0$i23$i$i$i$i$i$i = 0, $_0$0$i23$i$i1082$i = 0, $_0$0$i23$i$i978$i = 0, $_11 = 0, $_114$i = 0, $_13 = 0, $_131$sroa$4$2$ph$i = 0;
var $_141$i = 0, $_176$sroa$5$2$ph$i = 0, $_18 = 0, $_186$i = 0, $_205$i = 0, $_228$i = 0, $_251$i = 0, $_274$i = 0, $_297$i = 0, $_3$sroa$0$0$$sroa_idx3$i = 0, $_3$sroa$0$0$$sroa_idx3$i123 = 0, $_3$sroa$0$0$$sroa_idx3$i132 = 0, $_320$i = 0, $_343$i = 0, $_366$i = 0, $_389$i = 0, $_4$i$i = 0, $_412$i = 0, $_435$i = 0, $_458$i = 0;
var $_481$i = 0, $_50$sroa$29$0$ph$off0 = 0, $_50$sroa$29$0$ph$off32 = 0, $_504$i = 0, $_527$i = 0, $_550$i = 0, $_56$sroa$5$2$ph$i = 0, $_573$i = 0, $_596$i = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_619$i = 0, $_62 = 0, $_64 = 0, $_640$i = 0, $_657$sroa$0$0$i = 0, $_665$i = 0, $_8$sroa$0$0$$sroa_idx$i = 0, $_8$sroa$4$0$$sroa_idx2$i = 0, $_93$i = 0, $accum$0$lcssa$i$i$i = 0;
var $accum$010$i$i$i = 0, $addr = 0, $cond$i107 = 0, $first$0$off03698$i = 0, $i$0$lcssa$i = 0, $i$03701$i = 0, $idx = 0, $idx$0$i = 0, $inner$sroa$0$1$i = 0, $inner$sroa$0$23699$i = 0, $inner$sroa$12$1$i = 0, $inner$sroa$12$1$in$i = 0, $inner$sroa$12$23700$i = 0, $iter$sroa$4$09$i$i$i = 0, $not$$i$i$i$i1031$i = 0, $not$$i$i$i$i1164$i = 0, $not$$i$i$i$i1433$i = 0, $not$$i$i$i$i1474$i = 0, $not$$i$i$i$i1508$i = 0, $not$$i$i$i$i1550$i = 0;
var $not$$i$i$i$i1591$i = 0, $not$$i$i$i$i1625$i = 0, $not$$i$i$i$i1667$i = 0, $not$$i$i$i$i1708$i = 0, $not$$i$i$i$i1742$i = 0, $not$$i$i$i$i1784$i = 0, $not$$i$i1009$i = 0, $not$$i$i1019$i = 0, $not$$i$i1452$i = 0, $not$$i$i1493$i = 0, $not$$i$i1535$i = 0, $not$$i$i1569$i = 0, $not$$i$i1610$i = 0, $not$$i$i1652$i = 0, $not$$i$i1686$i = 0, $not$$i$i1727$i = 0, $not$$i$i1769$i = 0, $not$$i$i1803$i = 0, $not$$i$i1852$i = 0, $not$$i$i1869$i = 0;
var $not$$i$i1902$i = 0, $or$cond = 0, $or$cond$i$i1008$i = 0, $or$cond$i$i1018$i = 0, $or$cond$i$i1868$i = 0, $or$cond$i$i930$i = 0, $or$cond14$i$i$i = 0, $phitmp$i$i$i$i = 0, $phitmp$i$i$i$i$i$i = 0, $phitmp$i$i1080$i = 0, $phitmp$i$i976$i = 0, $phitmp32$i$i$i$i = 0, $phitmp32$i$i$i$i$i$i = 0, $phitmp32$i$i1085$i = 0, $phitmp32$i$i981$i = 0, $phitmp33$i$i$i$i = 0, $phitmp33$i$i$i$i$i$i = 0, $phitmp33$i$i1090$i = 0, $phitmp33$i$i986$i = 0, $rest$sroa$0$03611$i = 0;
var $rest$sroa$0$1$be$i = 0, $rest$sroa$0$13621$i = 0, $rest$sroa$82$03612$i = 0, $rest$sroa$82$03612$lcssa3762$i = 0, $rest$sroa$82$1$be$i = 0, $rest$sroa$82$13658$i = 0, $rhsc$i$i$i$i = 0, $rhsc$i$i$i872$i = 0, $rhsc3028$i = 0, $self$i$sroa$0$0$copyload = 0, $self$i$sroa$0$0$copyload$i = 0, $self$i$sroa$4$0$$sroa_idx260 = 0, $self$i$sroa$4$0$$sroa_idx2759$i = 0, $self$i$sroa$4$0$copyload = 0, $self$i$sroa$4$0$copyload$i = 0, $self$i$sroa$5$0$$sroa_idx262 = 0, $self$i$sroa$5$0$$sroa_idx2761$i = 0, $self$i$sroa$5$0$copyload = 0, $self$i$sroa$5$0$copyload$i = 0, $self$i1114$sroa$0$0$copyload$i = 0;
var $self$i1114$sroa$4$0$$sroa_idx2769$i = 0, $self$i1114$sroa$4$0$copyload$i = 0, $self$i1114$sroa$5$0$$sroa_idx2771$i = 0, $self$i1114$sroa$5$0$copyload$i = 0, $self$i1121$sroa$0$0$copyload$i = 0, $self$i1121$sroa$4$0$$sroa_idx2774$i = 0, $self$i1121$sroa$4$0$copyload$i = 0, $self$i1121$sroa$5$0$$sroa_idx2776$i = 0, $self$i1121$sroa$5$0$copyload$i = 0, $self$i1188$sroa$0$0$copyload$i = 0, $self$i1188$sroa$4$0$$sroa_idx2779$i = 0, $self$i1188$sroa$4$0$copyload$i = 0, $self$i1188$sroa$5$0$$sroa_idx2781$i = 0, $self$i1188$sroa$5$0$copyload$i = 0, $self$i1230$sroa$0$0$copyload$i = 0, $self$i1230$sroa$4$0$$sroa_idx2784$i = 0, $self$i1230$sroa$4$0$copyload$i = 0, $self$i1230$sroa$5$0$$sroa_idx2786$i = 0, $self$i1230$sroa$5$0$copyload$i = 0, $self$i1256$sroa$0$0$copyload$i = 0;
var $self$i1256$sroa$4$0$$sroa_idx2789$i = 0, $self$i1256$sroa$4$0$copyload$i = 0, $self$i1256$sroa$5$0$$sroa_idx2791$i = 0, $self$i1256$sroa$5$0$copyload$i = 0, $self$i1282$sroa$0$0$copyload$i = 0, $self$i1282$sroa$4$0$$sroa_idx2794$i = 0, $self$i1282$sroa$4$0$copyload$i = 0, $self$i1282$sroa$5$0$$sroa_idx2796$i = 0, $self$i1282$sroa$5$0$copyload$i = 0, $self$i1308$sroa$0$0$copyload$i = 0, $self$i1308$sroa$4$0$$sroa_idx2799$i = 0, $self$i1308$sroa$4$0$copyload$i = 0, $self$i1308$sroa$5$0$$sroa_idx2801$i = 0, $self$i1308$sroa$5$0$copyload$i = 0, $self$i1342$sroa$0$0$copyload$i = 0, $self$i1342$sroa$4$0$$sroa_idx2804$i = 0, $self$i1342$sroa$4$0$copyload$i = 0, $self$i1342$sroa$5$0$$sroa_idx2806$i = 0, $self$i1342$sroa$5$0$copyload$i = 0, $self$i1383$sroa$0$0$copyload$i = 0;
var $self$i1383$sroa$4$0$$sroa_idx2809$i = 0, $self$i1383$sroa$4$0$copyload$i = 0, $self$i1383$sroa$5$0$$sroa_idx2811$i = 0, $self$i1383$sroa$5$0$copyload$i = 0, $self$i1425$sroa$0$0$copyload$i = 0, $self$i1425$sroa$4$0$$sroa_idx2814$i = 0, $self$i1425$sroa$4$0$copyload$i = 0, $self$i1425$sroa$5$0$$sroa_idx2816$i = 0, $self$i1425$sroa$5$0$copyload$i = 0, $self$i1459$sroa$0$0$copyload$i = 0, $self$i1459$sroa$4$0$$sroa_idx2819$i = 0, $self$i1459$sroa$4$0$copyload$i = 0, $self$i1459$sroa$5$0$$sroa_idx2821$i = 0, $self$i1459$sroa$5$0$copyload$i = 0, $self$i1500$sroa$0$0$copyload$i = 0, $self$i1500$sroa$4$0$$sroa_idx2824$i = 0, $self$i1500$sroa$4$0$copyload$i = 0, $self$i1500$sroa$5$0$$sroa_idx2826$i = 0, $self$i1500$sroa$5$0$copyload$i = 0, $self$i1542$sroa$0$0$copyload$i = 0;
var $self$i1542$sroa$4$0$$sroa_idx2829$i = 0, $self$i1542$sroa$4$0$copyload$i = 0, $self$i1542$sroa$5$0$$sroa_idx2831$i = 0, $self$i1542$sroa$5$0$copyload$i = 0, $self$i1576$sroa$0$0$copyload$i = 0, $self$i1576$sroa$4$0$$sroa_idx2834$i = 0, $self$i1576$sroa$4$0$copyload$i = 0, $self$i1576$sroa$5$0$$sroa_idx2836$i = 0, $self$i1576$sroa$5$0$copyload$i = 0, $self$i1617$sroa$0$0$copyload$i = 0, $self$i1617$sroa$4$0$$sroa_idx2839$i = 0, $self$i1617$sroa$4$0$copyload$i = 0, $self$i1617$sroa$5$0$$sroa_idx2841$i = 0, $self$i1617$sroa$5$0$copyload$i = 0, $self$i1659$sroa$0$0$copyload$i = 0, $self$i1659$sroa$4$0$$sroa_idx2844$i = 0, $self$i1659$sroa$4$0$copyload$i = 0, $self$i1659$sroa$5$0$$sroa_idx2846$i = 0, $self$i1659$sroa$5$0$copyload$i = 0, $self$i1693$sroa$0$0$copyload$i = 0;
var $self$i1693$sroa$4$0$$sroa_idx2849$i = 0, $self$i1693$sroa$4$0$copyload$i = 0, $self$i1693$sroa$5$0$$sroa_idx2851$i = 0, $self$i1693$sroa$5$0$copyload$i = 0, $self$i1734$sroa$0$0$copyload$i = 0, $self$i1734$sroa$4$0$$sroa_idx2854$i = 0, $self$i1734$sroa$4$0$copyload$i = 0, $self$i1734$sroa$5$0$$sroa_idx2856$i = 0, $self$i1734$sroa$5$0$copyload$i = 0, $self$i1776$sroa$0$0$copyload$i = 0, $self$i1776$sroa$4$0$$sroa_idx2859$i = 0, $self$i1776$sroa$4$0$copyload$i = 0, $self$i1776$sroa$5$0$$sroa_idx2861$i = 0, $self$i1776$sroa$5$0$copyload$i = 0, $self$i1810$sroa$0$0$copyload$i = 0, $self$i1810$sroa$4$0$$sroa_idx2864$i = 0, $self$i1810$sroa$4$0$copyload$i = 0, $self$i1810$sroa$5$0$$sroa_idx2866$i = 0, $self$i1810$sroa$5$0$copyload$i = 0, $self$i1825$sroa$0$0$copyload$i = 0;
var $self$i1825$sroa$4$0$$sroa_idx2869$i = 0, $self$i1825$sroa$4$0$copyload$i = 0, $self$i1825$sroa$5$0$$sroa_idx2871$i = 0, $self$i1825$sroa$5$0$copyload$i = 0, $self$i1875$sroa$0$0$copyload$i = 0, $self$i1875$sroa$4$0$$sroa_idx2874$i = 0, $self$i1875$sroa$4$0$copyload$i = 0, $self$i1875$sroa$5$0$$sroa_idx2876$i = 0, $self$i1875$sroa$5$0$copyload$i = 0, $self$i946$sroa$0$0$copyload$i = 0, $self$i946$sroa$4$0$$sroa_idx2764$i = 0, $self$i946$sroa$4$0$copyload$i = 0, $self$i946$sroa$5$0$$sroa_idx2766$i = 0, $self$i946$sroa$5$0$copyload$i = 0, $self$i99$sroa$0$0$copyload = 0, $self$i99$sroa$4$0$$sroa_idx265 = 0, $self$i99$sroa$4$0$copyload = 0, $self$i99$sroa$5$0$$sroa_idx267 = 0, $self$i99$sroa$5$0$copyload = 0, $self$sroa$0$0$copyload$i$i$i = 0;
var $self$sroa$0$0$copyload$i1014$i = 0, $self$sroa$5$0$copyload9$i$i$i = 0, $self$sroa$6$0$$sroa_idx7$i$i$i = 0, $self$sroa$6$0$copyload$i$i$i = 0, $self$sroa$720$0$$sroa_idx21$i$i = 0, $self$sroa$720$0$copyload$i$i = 0, $switch1$i$i$i = 0, $switch16tmp = 0, $switch2$i1015$i = 0, $switch2tmp$i = 0, $switch3$i = 0, $switch3$i$i = 0, $switch3$i100 = 0, $switch3$i1115$i = 0, $switch3$i1122$i = 0, $switch3$i1189$i = 0, $switch3$i1231$i = 0, $switch3$i1257$i = 0, $switch3$i1283$i = 0, $switch3$i1309$i = 0;
var $switch3$i1343$i = 0, $switch3$i1384$i = 0, $switch3$i1426$i = 0, $switch3$i1460$i = 0, $switch3$i1501$i = 0, $switch3$i1543$i = 0, $switch3$i1577$i = 0, $switch3$i1618$i = 0, $switch3$i1660$i = 0, $switch3$i1694$i = 0, $switch3$i1735$i = 0, $switch3$i1777$i = 0, $switch3$i1811$i = 0, $switch3$i1826$i = 0, $switch3$i1876$i = 0, $switch3$i947$i = 0, $tmp_ret4 = 0, $trunc$i$i$i = 0, $trunc$i$i$i$clear = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(528|0);
$_93$i = sp + 504|0;
$_114$i = sp + 488|0;
$_141$i = sp + 480|0;
$_186$i = sp + 464|0;
$_205$i = sp + 448|0;
$_228$i = sp + 432|0;
$_251$i = sp + 416|0;
$_274$i = sp + 400|0;
$_297$i = sp + 384|0;
$_320$i = sp + 368|0;
$_343$i = sp + 352|0;
$_366$i = sp + 336|0;
$_389$i = sp + 320|0;
$_412$i = sp + 304|0;
$_435$i = sp + 288|0;
$_458$i = sp + 272|0;
$_481$i = sp + 256|0;
$_504$i = sp + 240|0;
$_527$i = sp + 224|0;
$_550$i = sp + 208|0;
$_573$i = sp + 192|0;
$_596$i = sp + 176|0;
$_619$i = sp + 160|0;
$_640$i = sp + 144|0;
$_665$i = sp + 128|0;
$_4$i$i = sp + 112|0;
$idx = sp + 520|0;
$addr = sp + 516|0;
$_11 = sp + 96|0;
$_13 = sp + 72|0;
$_18 = sp + 48|0;
$_62 = sp + 32|0;
$_64 = sp + 8|0;
$tmp_ret4 = sp;
HEAP32[$idx>>2] = $3;
HEAP32[$addr>>2] = $4;
$6 = $5;
$7 = $6;
$8 = HEAP32[$7>>2]|0;
$9 = (($6) + 4)|0;
$10 = $9;
$11 = HEAP32[$10>>2]|0;
$12 = $idx;
$13 = $addr;
__ZN4core3fmt10ArgumentV110from_usize17h87243fdafce78d5cE($tmp_ret4,2580);
$14 = ((($tmp_ret4)) + 4|0);
$15 = HEAP32[$tmp_ret4>>2]|0;
$16 = HEAP32[$14>>2]|0;
HEAP32[$_18>>2] = $12;
$17 = ((($_18)) + 4|0);
HEAP32[$17>>2] = (90);
$18 = ((($_18)) + 8|0);
HEAP32[$18>>2] = $13;
$19 = ((($_18)) + 12|0);
HEAP32[$19>>2] = (91);
$20 = ((($_18)) + 16|0);
HEAP32[$20>>2] = $15;
$21 = ((($_18)) + 20|0);
HEAP32[$21>>2] = $16;
HEAP32[$_13>>2] = 2584;
$22 = ((($_13)) + 4|0);
HEAP32[$22>>2] = 3;
$_8$sroa$0$0$$sroa_idx$i = ((($_13)) + 8|0);
HEAP32[$_8$sroa$0$0$$sroa_idx$i>>2] = 2608;
$_8$sroa$4$0$$sroa_idx2$i = ((($_13)) + 12|0);
HEAP32[$_8$sroa$4$0$$sroa_idx2$i>>2] = 2;
$23 = ((($_13)) + 16|0);
HEAP32[$23>>2] = $_18;
$24 = ((($_13)) + 20|0);
HEAP32[$24>>2] = 3;
$25 = ((($2)) + 24|0);
$26 = HEAP32[$25>>2]|0;
FUNCTION_TABLE_viii[$26 & 127]($_11,$1,$_13);
$self$i$sroa$0$0$copyload = HEAP32[$_11>>2]|0;
$switch3$i = ($self$i$sroa$0$0$copyload|0)==(1);
L1: do {
if ($switch3$i) {
$self$i$sroa$5$0$$sroa_idx262 = ((($_11)) + 8|0);
$self$i$sroa$5$0$copyload = HEAP32[$self$i$sroa$5$0$$sroa_idx262>>2]|0;
$self$i$sroa$4$0$$sroa_idx260 = ((($_11)) + 4|0);
$self$i$sroa$4$0$copyload = HEAP32[$self$i$sroa$4$0$$sroa_idx260>>2]|0;
HEAP32[$0>>2] = 1;
$_3$sroa$0$0$$sroa_idx3$i = ((($0)) + 4|0);
$27 = $_3$sroa$0$0$$sroa_idx3$i;
$28 = $27;
HEAP32[$28>>2] = $self$i$sroa$4$0$copyload;
$29 = (($27) + 4)|0;
$30 = $29;
HEAP32[$30>>2] = $self$i$sroa$5$0$copyload;
} else {
$switch2tmp$i = ($8|0)==(0);
L4: do {
if ($switch2tmp$i) {
label = 8;
} else {
$31 = $8;
__ZN4core3str9from_utf817hb30f9b28629f31d9E($_4$i$i,$31,$11);
$self$sroa$0$0$copyload$i$i$i = HEAP32[$_4$i$i>>2]|0;
$switch1$i$i$i = ($self$sroa$0$0$copyload$i$i$i|0)==(0);
$self$sroa$6$0$$sroa_idx7$i$i$i = ((($_4$i$i)) + 8|0);
$self$sroa$6$0$copyload$i$i$i = HEAP32[$self$sroa$6$0$$sroa_idx7$i$i$i>>2]|0;
$32 = ((($_4$i$i)) + 4|0);
$self$sroa$5$0$copyload9$i$i$i = HEAP32[$32>>2]|0;
if ($switch1$i$i$i) {
$33 = $self$sroa$5$0$copyload9$i$i$i;
$switch16tmp = ($self$sroa$5$0$copyload9$i$i$i|0)==(0);
if ($switch16tmp) {
label = 8;
} else {
$38 = ($self$sroa$6$0$copyload$i$i$i>>>0)>(4);
do {
if ($38) {
$46 = ((($33)) + 3|0);
$47 = HEAP8[$46>>0]|0;
$48 = ($47<<24>>24)>(-65);
if ($48) {
$49 = ($33|0)==(6133|0);
if (!($49)) {
$50 = (_memcmp(6133,$33,3)|0);
$51 = ($50|0)==(0);
if (!($51)) {
label = 25;
break;
}
}
$41 = (($self$sroa$6$0$copyload$i$i$i) + -1)|0;
$42 = ($41|0)==(0);
if ($42) {
$$pre$phi$i$i$i$i$iZ2D = $33;
} else {
$43 = (($33) + ($41)|0);
$44 = HEAP8[$43>>0]|0;
$45 = ($44<<24>>24)>(-65);
if ($45) {
$$pre$phi$i$i$i$i$iZ2D = $43;
} else {
label = 25;
break;
}
}
$39 = ($$pre$phi$i$i$i$i$iZ2D|0)==(6132|0);
if (!($39)) {
$rhsc$i$i$i$i = HEAP8[$$pre$phi$i$i$i$i$iZ2D>>0]|0;
$40 = ($rhsc$i$i$i$i<<24>>24)==(69);
if (!($40)) {
label = 25;
break;
}
}
$52 = ($41>>>0)<(3);
if ($52) {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($33,$self$sroa$6$0$copyload$i$i$i,3,$41);
// unreachable;
}
$53 = (($33) + ($41)|0);
$54 = HEAP8[$53>>0]|0;
$55 = ($54<<24>>24)>(-65);
if ($55) {
$inner$sroa$0$1$i = $46;$inner$sroa$12$1$in$i = $41;
label = 30;
} else {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($33,$self$sroa$6$0$copyload$i$i$i,3,$41);
// unreachable;
}
} else {
label = 25;
}
} else {
$56 = ($self$sroa$6$0$copyload$i$i$i|0)==(4);
if ($56) {
label = 25;
} else {
label = 59;
}
}
} while(0);
do {
if ((label|0) == 25) {
$64 = ((($33)) + 2|0);
$65 = HEAP8[$64>>0]|0;
$66 = ($65<<24>>24)>(-65);
if ($66) {
$67 = ($33|0)==(6136|0);
if (!($67)) {
$68 = (_memcmp(6136,$33,2)|0);
$69 = ($68|0)==(0);
if (!($69)) {
label = 59;
break;
}
}
$59 = (($self$sroa$6$0$copyload$i$i$i) + -1)|0;
$60 = ($59|0)==(0);
if ($60) {
$$pre$phi$i$i$i$i870$iZ2D = $33;
} else {
$61 = (($33) + ($59)|0);
$62 = HEAP8[$61>>0]|0;
$63 = ($62<<24>>24)>(-65);
if ($63) {
$$pre$phi$i$i$i$i870$iZ2D = $61;
} else {
label = 59;
break;
}
}
$57 = ($$pre$phi$i$i$i$i870$iZ2D|0)==(6132|0);
if (!($57)) {
$rhsc$i$i$i872$i = HEAP8[$$pre$phi$i$i$i$i870$iZ2D>>0]|0;
$58 = ($rhsc$i$i$i872$i<<24>>24)==(69);
if (!($58)) {
label = 59;
break;
}
}
$70 = (($33) + ($59)|0);
$71 = HEAP8[$70>>0]|0;
$72 = ($71<<24>>24)>(-65);
if ($72) {
$inner$sroa$0$1$i = $64;$inner$sroa$12$1$in$i = $self$sroa$6$0$copyload$i$i$i;
label = 30;
} else {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($33,$self$sroa$6$0$copyload$i$i$i,2,$59);
// unreachable;
}
} else {
label = 59;
}
}
} while(0);
L38: do {
if ((label|0) == 30) {
$inner$sroa$12$1$i = (($inner$sroa$12$1$in$i) + -3)|0;
$73 = (($inner$sroa$0$1$i) + ($inner$sroa$12$1$i)|0);
$75 = $inner$sroa$0$1$i;
while(1) {
$74 = ($75|0)==($73|0);
if ($74) {
$120 = $75;
break;
} else {
$79 = $75;$i$03701$i = 0;
}
while(1) {
$78 = ((($79)) + 1|0);
$77 = HEAP8[$79>>0]|0;
$80 = ($77<<24>>24)>(-1);
if ($80) {
$76 = $77&255;
$117 = $78;$_56$sroa$5$2$ph$i = $76;
} else {
$81 = $77 & 31;
$82 = $81&255;
$83 = ($78|0)==($73|0);
if ($83) {
$91 = $73;$_0$0$i23$i$i$i$i = 0;
} else {
$84 = ((($79)) + 2|0);
$85 = HEAP8[$78>>0]|0;
$phitmp$i$i$i$i = $85 & 63;
$91 = $84;$_0$0$i23$i$i$i$i = $phitmp$i$i$i$i;
}
$86 = $82 << 6;
$87 = $_0$0$i23$i$i$i$i&255;
$88 = $87 | $86;
$89 = ($77&255)>(223);
if ($89) {
$90 = ($91|0)==($73|0);
if ($90) {
$101 = $73;$_0$0$i16$i$i$i$i = 0;
} else {
$92 = ((($91)) + 1|0);
$93 = HEAP8[$91>>0]|0;
$phitmp32$i$i$i$i = $93 & 63;
$101 = $92;$_0$0$i16$i$i$i$i = $phitmp32$i$i$i$i;
}
$94 = $87 << 6;
$95 = $_0$0$i16$i$i$i$i&255;
$96 = $95 | $94;
$97 = $82 << 12;
$98 = $96 | $97;
$99 = ($77&255)>(239);
if ($99) {
$100 = ($101|0)==($73|0);
if ($100) {
$495 = $101;$_0$0$i10$i$i$i$i = 0;
} else {
$102 = ((($101)) + 1|0);
$103 = HEAP8[$101>>0]|0;
$phitmp33$i$i$i$i = $103 & 63;
$495 = $102;$_0$0$i10$i$i$i$i = $phitmp33$i$i$i$i;
}
$104 = $82 << 18;
$105 = $104 & 1835008;
$106 = $96 << 6;
$107 = $_0$0$i10$i$i$i$i&255;
$108 = $106 | $105;
$109 = $108 | $107;
$117 = $495;$_56$sroa$5$2$ph$i = $109;
} else {
$117 = $101;$_56$sroa$5$2$ph$i = $98;
}
} else {
$117 = $91;$_56$sroa$5$2$ph$i = $88;
}
}
$$off$i$i = (($_56$sroa$5$2$ph$i) + -48)|0;
$110 = ($$off$i$i>>>0)<(10);
if (!($110)) {
$111 = ($_56$sroa$5$2$ph$i>>>0)>(127);
if (!($111)) {
$$lcssa1243 = $117;$i$0$lcssa$i = $i$03701$i;
break;
}
$112 = (__ZN13rustc_unicode6tables16general_category1N17hf00b2606dd8d0f6aE($_56$sroa$5$2$ph$i)|0);
if (!($112)) {
$$lcssa1243 = $117;$i$0$lcssa$i = $i$03701$i;
break;
}
}
$113 = ($i$03701$i*10)|0;
$114 = (($113) + -48)|0;
$115 = (($114) + ($_56$sroa$5$2$ph$i))|0;
$116 = ($117|0)==($73|0);
if ($116) {
$$lcssa1243 = $73;$i$0$lcssa$i = $115;
break;
} else {
$79 = $117;$i$03701$i = $115;
}
}
$118 = ($i$0$lcssa$i|0)==(0);
if ($118) {
$120 = $$lcssa1243;
break;
}
$121 = (($i$0$lcssa$i) + -1)|0;
$122 = ($121|0)==(0);
L65: do {
if ($122) {
$496 = $$lcssa1243;$accum$0$lcssa$i$i$i = 0;
} else {
$125 = $$lcssa1243;$accum$010$i$i$i = 0;$iter$sroa$4$09$i$i$i = $121;
while(1) {
$123 = (($iter$sroa$4$09$i$i$i) + -1)|0;
$124 = ($125|0)==($73|0);
if ($124) {
$496 = $73;$accum$0$lcssa$i$i$i = $accum$010$i$i$i;
break L65;
}
$126 = ((($125)) + 1|0);
$127 = HEAP8[$125>>0]|0;
$128 = ($127<<24>>24)>(-1);
if ($128) {
$497 = $126;
} else {
$129 = ($126|0)==($73|0);
if ($129) {
$497 = $73;
} else {
$130 = ((($125)) + 2|0);
$131 = ($127&255)<(224);
$132 = ($130|0)==($73|0);
$or$cond14$i$i$i = $132 | $131;
if ($or$cond14$i$i$i) {
$497 = $130;
} else {
$133 = ((($125)) + 3|0);
$134 = ($127&255)<(240);
$135 = ($133|0)==($73|0);
$or$cond$i$i930$i = $135 | $134;
$136 = ((($125)) + 4|0);
$$4763$i = $or$cond$i$i930$i ? $133 : $136;
$497 = $$4763$i;
}
}
}
$137 = (($accum$010$i$i$i) + 1)|0;
$138 = ($123|0)==(0);
if ($138) {
$496 = $497;$accum$0$lcssa$i$i$i = $137;
break;
} else {
$125 = $497;$accum$010$i$i$i = $137;$iter$sroa$4$09$i$i$i = $123;
}
}
}
} while(0);
$139 = ($accum$0$lcssa$i$i$i|0)==($121|0);
if ($139) {
$75 = $496;
} else {
label = 59;
break L38;
}
}
$119 = ($120|0)==($73|0);
if ($119) {
$140 = ($inner$sroa$12$1$i|0)==(0);
if ($140) {
break L4;
}
$141 = ((($2)) + 20|0);
$self$sroa$720$0$$sroa_idx21$i$i = ((($_141$i)) + 4|0);
$first$0$off03698$i = 1;$inner$sroa$0$23699$i = $inner$sroa$0$1$i;$inner$sroa$12$23700$i = $inner$sroa$12$1$i;
L78: while(1) {
if (!($first$0$off03698$i)) {
$144 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$144 & 127]($_114$i,$1,6138,2);
$self$i946$sroa$0$0$copyload$i = HEAP32[$_114$i>>2]|0;
$switch3$i947$i = ($self$i946$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i947$i) {
label = 64;
break;
}
}
$145 = (($inner$sroa$0$23699$i) + ($inner$sroa$12$23700$i)|0);
$$pre = HEAP8[$inner$sroa$0$23699$i>>0]|0;
$147 = $$pre;$161 = $145;$rest$sroa$0$03611$i = $inner$sroa$0$23699$i;$rest$sroa$82$03612$i = $inner$sroa$12$23700$i;
while(1) {
$148 = ((($rest$sroa$0$03611$i)) + 1|0);
$149 = ($147<<24>>24)>(-1);
if ($149) {
$146 = $147&255;
$_131$sroa$4$2$ph$i = $146;
} else {
$150 = $147 & 31;
$151 = $150&255;
$152 = ($rest$sroa$82$03612$i|0)==(1);
if ($152) {
$160 = $161;$_0$0$i23$i$i978$i = 0;
} else {
$153 = ((($rest$sroa$0$03611$i)) + 2|0);
$154 = HEAP8[$148>>0]|0;
$phitmp$i$i976$i = $154 & 63;
$160 = $153;$_0$0$i23$i$i978$i = $phitmp$i$i976$i;
}
$155 = $151 << 6;
$156 = $_0$0$i23$i$i978$i&255;
$157 = $156 | $155;
$158 = ($147&255)>(223);
if ($158) {
$159 = ($160|0)==($161|0);
if ($159) {
$171 = $161;$_0$0$i16$i$i983$i = 0;
} else {
$162 = ((($160)) + 1|0);
$163 = HEAP8[$160>>0]|0;
$phitmp32$i$i981$i = $163 & 63;
$171 = $162;$_0$0$i16$i$i983$i = $phitmp32$i$i981$i;
}
$164 = $156 << 6;
$165 = $_0$0$i16$i$i983$i&255;
$166 = $165 | $164;
$167 = $151 << 12;
$168 = $166 | $167;
$169 = ($147&255)>(239);
if ($169) {
$170 = ($171|0)==($161|0);
if ($170) {
$_0$0$i10$i$i988$i = 0;
} else {
$172 = HEAP8[$171>>0]|0;
$phitmp33$i$i986$i = $172 & 63;
$_0$0$i10$i$i988$i = $phitmp33$i$i986$i;
}
$173 = $151 << 18;
$174 = $173 & 1835008;
$175 = $166 << 6;
$176 = $_0$0$i10$i$i988$i&255;
$177 = $175 | $174;
$178 = $177 | $176;
$_131$sroa$4$2$ph$i = $178;
} else {
$_131$sroa$4$2$ph$i = $168;
}
} else {
$_131$sroa$4$2$ph$i = $157;
}
}
$$off$i996$i = (($_131$sroa$4$2$ph$i) + -48)|0;
$179 = ($$off$i996$i>>>0)<(10);
if (!($179)) {
$180 = ($_131$sroa$4$2$ph$i>>>0)>(127);
if (!($180)) {
break;
}
$181 = (__ZN13rustc_unicode6tables16general_category1N17hf00b2606dd8d0f6aE($_131$sroa$4$2$ph$i)|0);
if (!($181)) {
break;
}
}
switch ($rest$sroa$82$03612$i|0) {
case 1: {
label = 78;
break L78;
break;
}
case 0: {
$rest$sroa$82$03612$lcssa3762$i = 0;
label = 100;
break L78;
break;
}
default: {
}
}
$204 = HEAP8[$148>>0]|0;
$205 = ($204<<24>>24)>(-65);
if (!($205)) {
$rest$sroa$82$03612$lcssa3762$i = $rest$sroa$82$03612$i;
label = 100;
break L78;
}
$206 = (($rest$sroa$82$03612$i) + -1)|0;
$207 = (($148) + ($206)|0);
$208 = ($206|0)==(0);
if ($208) {
label = 78;
break L78;
} else {
$147 = $204;$161 = $207;$rest$sroa$0$03611$i = $148;$rest$sroa$82$03612$i = $206;
}
}
$182 = (($inner$sroa$12$23700$i) - ($rest$sroa$82$03612$i))|0;
$183 = ($182|0)==(0);
$184 = ($rest$sroa$82$03612$i|0)==(0);
$or$cond$i$i1008$i = $184 | $183;
if (!($or$cond$i$i1008$i)) {
$not$$i$i1009$i = ($inner$sroa$12$23700$i>>>0)>($182>>>0);
if (!($not$$i$i1009$i)) {
label = 85;
break;
}
$185 = (($inner$sroa$0$23699$i) + ($182)|0);
$186 = HEAP8[$185>>0]|0;
$187 = ($186<<24>>24)>(-65);
if (!($187)) {
label = 85;
break;
}
}
__ZN4core3num54__LT_impl_u20_core__str__FromStr_u20_for_u20_usize_GT_8from_str17h4793feede7feceaaE($_141$i,$inner$sroa$0$23699$i,$182);
$self$sroa$0$0$copyload$i1014$i = HEAP16[$_141$i>>1]|0;
$188 = $self$sroa$0$0$copyload$i1014$i&255;
$switch2$i1015$i = ($188<<24>>24)==(0);
if (!($switch2$i1015$i)) {
label = 87;
break;
}
$self$sroa$720$0$copyload$i$i = HEAP32[$self$sroa$720$0$$sroa_idx21$i$i>>2]|0;
$191 = ($self$sroa$720$0$copyload$i$i|0)==(0);
$192 = ($rest$sroa$82$03612$i|0)==($self$sroa$720$0$copyload$i$i|0);
$or$cond$i$i1018$i = $191 | $192;
if ($or$cond$i$i1018$i) {
$$pre$i$i = (($rest$sroa$0$03611$i) + ($self$sroa$720$0$copyload$i$i)|0);
$$pre$phi$i2894$iZ2D = $$pre$i$i;
} else {
$not$$i$i1019$i = ($rest$sroa$82$03612$i>>>0)>($self$sroa$720$0$copyload$i$i>>>0);
if (!($not$$i$i1019$i)) {
label = 92;
break;
}
$193 = (($rest$sroa$0$03611$i) + ($self$sroa$720$0$copyload$i$i)|0);
$194 = HEAP8[$193>>0]|0;
$195 = ($194<<24>>24)>(-65);
if ($195) {
$$pre$phi$i2894$iZ2D = $193;
} else {
label = 92;
break;
}
}
$196 = (($rest$sroa$82$03612$i) - ($self$sroa$720$0$copyload$i$i))|0;
$197 = ($self$sroa$720$0$copyload$i$i|0)==(2);
do {
if ($197) {
label = 96;
} else {
$not$$i$i$i$i1031$i = ($self$sroa$720$0$copyload$i$i>>>0)>(2);
if ($not$$i$i$i$i1031$i) {
$198 = ((($rest$sroa$0$03611$i)) + 2|0);
$199 = HEAP8[$198>>0]|0;
$200 = ($199<<24>>24)>(-65);
if ($200) {
label = 96;
break;
} else {
$rest$sroa$0$13621$i = $rest$sroa$0$03611$i;$rest$sroa$82$13658$i = $self$sroa$720$0$copyload$i$i;
label = 106;
break;
}
} else {
if ($191) {
break;
} else {
$rest$sroa$0$13621$i = $rest$sroa$0$03611$i;$rest$sroa$82$13658$i = 1;
label = 106;
break;
}
}
}
} while(0);
do {
if ((label|0) == 96) {
label = 0;
$201 = ($rest$sroa$0$03611$i|0)==(6140|0);
if (!($201)) {
$202 = (_memcmp(6140,$rest$sroa$0$03611$i,2)|0);
$203 = ($202|0)==(0);
if (!($203)) {
$rest$sroa$0$13621$i = $rest$sroa$0$03611$i;$rest$sroa$82$13658$i = $self$sroa$720$0$copyload$i$i;
label = 106;
break;
}
}
$209 = HEAP8[$148>>0]|0;
$210 = ($209<<24>>24)>(-65);
if (!($210)) {
label = 103;
break L78;
}
$211 = (($self$sroa$720$0$copyload$i$i) + -1)|0;
$rest$sroa$0$13621$i = $148;$rest$sroa$82$13658$i = $211;
label = 106;
}
} while(0);
L129: do {
if ((label|0) == 106) {
L130: while(1) {
label = 0;
$212 = ($rest$sroa$82$13658$i|0)==(1);
if ($212) {
label = 108;
} else {
$213 = ((($rest$sroa$0$13621$i)) + 1|0);
$214 = HEAP8[$213>>0]|0;
$215 = ($214<<24>>24)>(-65);
if ($215) {
label = 108;
} else {
label = 147;
}
}
L134: do {
if ((label|0) == 108) {
label = 0;
$216 = ($rest$sroa$0$13621$i|0)==(6142|0);
do {
if (!($216)) {
$rhsc3028$i = HEAP8[$rest$sroa$0$13621$i>>0]|0;
$217 = ($rhsc3028$i<<24>>24)==(46);
if ($217) {
break;
}
if (!($212)) {
$$phi$trans$insert$i = ((($rest$sroa$0$13621$i)) + 1|0);
$$pre$i = HEAP8[$$phi$trans$insert$i>>0]|0;
$253 = ($$pre$i<<24>>24)>(-65);
if (!($253)) {
label = 147;
break L134;
}
}
$254 = ($rest$sroa$0$13621$i|0)==(6143|0);
$255 = ($rhsc3028$i<<24>>24)==(36);
$or$cond = $254 | $255;
if (!($or$cond)) {
label = 147;
break L134;
}
$264 = ($rest$sroa$82$13658$i|0)==(4);
do {
if ($264) {
label = 145;
} else {
$not$$i$i$i$i1164$i = ($rest$sroa$82$13658$i>>>0)>(4);
if ($not$$i$i$i$i1164$i) {
$265 = ((($rest$sroa$0$13621$i)) + 4|0);
$266 = HEAP8[$265>>0]|0;
$267 = ($266<<24>>24)>(-65);
if ($267) {
label = 145;
break;
} else {
label = 223;
break;
}
} else {
$364 = ($rest$sroa$82$13658$i|0)==(3);
if ($364) {
$502 = 1;
label = 224;
break;
} else {
break L130;
}
}
}
} while(0);
L148: do {
if ((label|0) == 145) {
label = 0;
$268 = ($rest$sroa$0$13621$i|0)==(6144|0);
do {
if (!($268)) {
$269 = (_memcmp(6144,$rest$sroa$0$13621$i,4)|0);
$270 = ($269|0)==(0);
if ($270) {
break;
}
if (!($264)) {
$$phi$trans$insert4256$i = ((($rest$sroa$0$13621$i)) + 4|0);
$$pre4257$i = HEAP8[$$phi$trans$insert4256$i>>0]|0;
$316 = ($$pre4257$i<<24>>24)>(-65);
if (!($316)) {
label = 223;
break L148;
}
}
$317 = ($rest$sroa$0$13621$i|0)==(6149|0);
do {
if (!($317)) {
$318 = (_memcmp(6149,$rest$sroa$0$13621$i,4)|0);
$319 = ($318|0)==(0);
if ($319) {
break;
}
if (!($264)) {
$$phi$trans$insert4258$i = ((($rest$sroa$0$13621$i)) + 4|0);
$$pre4259$i = HEAP8[$$phi$trans$insert4258$i>>0]|0;
$324 = ($$pre4259$i<<24>>24)>(-65);
if (!($324)) {
label = 223;
break L148;
}
}
$325 = ($rest$sroa$0$13621$i|0)==(6154|0);
do {
if (!($325)) {
$326 = (_memcmp(6154,$rest$sroa$0$13621$i,4)|0);
$327 = ($326|0)==(0);
if ($327) {
break;
}
if (!($264)) {
$$phi$trans$insert4260$i = ((($rest$sroa$0$13621$i)) + 4|0);
$$pre4261$i = HEAP8[$$phi$trans$insert4260$i>>0]|0;
$332 = ($$pre4261$i<<24>>24)>(-65);
if (!($332)) {
label = 223;
break L148;
}
}
$333 = ($rest$sroa$0$13621$i|0)==(6159|0);
do {
if (!($333)) {
$334 = (_memcmp(6159,$rest$sroa$0$13621$i,4)|0);
$335 = ($334|0)==(0);
if ($335) {
break;
}
if (!($264)) {
$$phi$trans$insert4262$i = ((($rest$sroa$0$13621$i)) + 4|0);
$$pre4263$i = HEAP8[$$phi$trans$insert4262$i>>0]|0;
$340 = ($$pre4263$i<<24>>24)>(-65);
if (!($340)) {
label = 223;
break L148;
}
}
$341 = ($rest$sroa$0$13621$i|0)==(6164|0);
do {
if (!($341)) {
$342 = (_memcmp(6164,$rest$sroa$0$13621$i,4)|0);
$343 = ($342|0)==(0);
if ($343) {
break;
}
if (!($264)) {
$$phi$trans$insert4264$i = ((($rest$sroa$0$13621$i)) + 4|0);
$$pre4265$i = HEAP8[$$phi$trans$insert4264$i>>0]|0;
$348 = ($$pre4265$i<<24>>24)>(-65);
if (!($348)) {
label = 223;
break L148;
}
}
$349 = ($rest$sroa$0$13621$i|0)==(6169|0);
do {
if (!($349)) {
$350 = (_memcmp(6169,$rest$sroa$0$13621$i,4)|0);
$351 = ($350|0)==(0);
if ($351) {
break;
}
if (!($264)) {
$$phi$trans$insert4266$i = ((($rest$sroa$0$13621$i)) + 4|0);
$$pre4267$i = HEAP8[$$phi$trans$insert4266$i>>0]|0;
$356 = ($$pre4267$i<<24>>24)>(-65);
if (!($356)) {
label = 223;
break L148;
}
}
$357 = ($rest$sroa$0$13621$i|0)==(6174|0);
if (!($357)) {
$358 = (_memcmp(6174,$rest$sroa$0$13621$i,4)|0);
$359 = ($358|0)==(0);
if (!($359)) {
label = 223;
break L148;
}
}
$363 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$363 & 127]($_366$i,$1,6178,1);
$self$i1383$sroa$0$0$copyload$i = HEAP32[$_366$i>>2]|0;
$switch3$i1384$i = ($self$i1383$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1384$i) {
label = 226;
break L78;
}
$$pre$i1416$i = ((($rest$sroa$0$13621$i)) + 4|0);
if (!($264)) {
$371 = HEAP8[$$pre$i1416$i>>0]|0;
$372 = ($371<<24>>24)>(-65);
if (!($372)) {
label = 229;
break L78;
}
}
$373 = (($rest$sroa$82$13658$i) + -4)|0;
$rest$sroa$0$1$be$i = $$pre$i1416$i;$rest$sroa$82$1$be$i = $373;
break L134;
}
} while(0);
$355 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$355 & 127]($_343$i,$1,6173,1);
$self$i1342$sroa$0$0$copyload$i = HEAP32[$_343$i>>2]|0;
$switch3$i1343$i = ($self$i1342$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1343$i) {
label = 216;
break L78;
}
$$pre$i1374$i = ((($rest$sroa$0$13621$i)) + 4|0);
if (!($264)) {
$360 = HEAP8[$$pre$i1374$i>>0]|0;
$361 = ($360<<24>>24)>(-65);
if (!($361)) {
label = 219;
break L78;
}
}
$362 = (($rest$sroa$82$13658$i) + -4)|0;
$rest$sroa$0$1$be$i = $$pre$i1374$i;$rest$sroa$82$1$be$i = $362;
break L134;
}
} while(0);
$347 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$347 & 127]($_320$i,$1,6168,1);
$self$i1308$sroa$0$0$copyload$i = HEAP32[$_320$i>>2]|0;
$switch3$i1309$i = ($self$i1308$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1309$i) {
label = 206;
break L78;
}
$$pre$i1333$i = ((($rest$sroa$0$13621$i)) + 4|0);
if (!($264)) {
$352 = HEAP8[$$pre$i1333$i>>0]|0;
$353 = ($352<<24>>24)>(-65);
if (!($353)) {
label = 209;
break L78;
}
}
$354 = (($rest$sroa$82$13658$i) + -4)|0;
$rest$sroa$0$1$be$i = $$pre$i1333$i;$rest$sroa$82$1$be$i = $354;
break L134;
}
} while(0);
$339 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$339 & 127]($_297$i,$1,6163,1);
$self$i1282$sroa$0$0$copyload$i = HEAP32[$_297$i>>2]|0;
$switch3$i1283$i = ($self$i1282$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1283$i) {
label = 196;
break L78;
}
$$pre$i1299$i = ((($rest$sroa$0$13621$i)) + 4|0);
if (!($264)) {
$344 = HEAP8[$$pre$i1299$i>>0]|0;
$345 = ($344<<24>>24)>(-65);
if (!($345)) {
label = 199;
break L78;
}
}
$346 = (($rest$sroa$82$13658$i) + -4)|0;
$rest$sroa$0$1$be$i = $$pre$i1299$i;$rest$sroa$82$1$be$i = $346;
break L134;
}
} while(0);
$331 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$331 & 127]($_274$i,$1,6158,1);
$self$i1256$sroa$0$0$copyload$i = HEAP32[$_274$i>>2]|0;
$switch3$i1257$i = ($self$i1256$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1257$i) {
label = 186;
break L78;
}
$$pre$i1273$i = ((($rest$sroa$0$13621$i)) + 4|0);
if (!($264)) {
$336 = HEAP8[$$pre$i1273$i>>0]|0;
$337 = ($336<<24>>24)>(-65);
if (!($337)) {
label = 189;
break L78;
}
}
$338 = (($rest$sroa$82$13658$i) + -4)|0;
$rest$sroa$0$1$be$i = $$pre$i1273$i;$rest$sroa$82$1$be$i = $338;
break L134;
}
} while(0);
$323 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$323 & 127]($_251$i,$1,6153,1);
$self$i1230$sroa$0$0$copyload$i = HEAP32[$_251$i>>2]|0;
$switch3$i1231$i = ($self$i1230$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1231$i) {
label = 176;
break L78;
}
$$pre$i1247$i = ((($rest$sroa$0$13621$i)) + 4|0);
if (!($264)) {
$328 = HEAP8[$$pre$i1247$i>>0]|0;
$329 = ($328<<24>>24)>(-65);
if (!($329)) {
label = 179;
break L78;
}
}
$330 = (($rest$sroa$82$13658$i) + -4)|0;
$rest$sroa$0$1$be$i = $$pre$i1247$i;$rest$sroa$82$1$be$i = $330;
break L134;
}
} while(0);
$315 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$315 & 127]($_228$i,$1,6148,1);
$self$i1188$sroa$0$0$copyload$i = HEAP32[$_228$i>>2]|0;
$switch3$i1189$i = ($self$i1188$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1189$i) {
label = 166;
break L78;
}
$$pre$i1221$i = ((($rest$sroa$0$13621$i)) + 4|0);
if (!($264)) {
$320 = HEAP8[$$pre$i1221$i>>0]|0;
$321 = ($320<<24>>24)>(-65);
if (!($321)) {
label = 169;
break L78;
}
}
$322 = (($rest$sroa$82$13658$i) + -4)|0;
$rest$sroa$0$1$be$i = $$pre$i1221$i;$rest$sroa$82$1$be$i = $322;
break L134;
}
} while(0);
if ((label|0) == 223) {
label = 0;
$365 = ((($rest$sroa$0$13621$i)) + 3|0);
$366 = HEAP8[$365>>0]|0;
$367 = ($366<<24>>24)>(-65);
if ($367) {
$502 = 0;
label = 224;
}
}
do {
if ((label|0) == 224) {
label = 0;
$368 = ($rest$sroa$0$13621$i|0)==(6179|0);
if (!($368)) {
$369 = (_memcmp(6179,$rest$sroa$0$13621$i,3)|0);
$370 = ($369|0)==(0);
if (!($370)) {
break;
}
}
$374 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$374 & 127]($_389$i,$1,6182,1);
$self$i1425$sroa$0$0$copyload$i = HEAP32[$_389$i>>2]|0;
$switch3$i1426$i = ($self$i1425$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1426$i) {
label = 237;
break L78;
}
if ($502) {
$$pre$i1450$i = ((($rest$sroa$0$13621$i)) + 3|0);
$$pre$phi$i1455$iZ2D = $$pre$i1450$i;
} else {
$not$$i$i1452$i = ($rest$sroa$82$13658$i>>>0)>(3);
if (!($not$$i$i1452$i)) {
label = 242;
break L78;
}
$382 = ((($rest$sroa$0$13621$i)) + 3|0);
$383 = HEAP8[$382>>0]|0;
$384 = ($383<<24>>24)>(-65);
if ($384) {
$$pre$phi$i1455$iZ2D = $382;
} else {
label = 242;
break L78;
}
}
$385 = (($rest$sroa$82$13658$i) + -3)|0;
$rest$sroa$0$1$be$i = $$pre$phi$i1455$iZ2D;$rest$sroa$82$1$be$i = $385;
break L134;
}
} while(0);
$375 = ($rest$sroa$82$13658$i|0)==(5);
if ($375) {
$503 = 1;
} else {
$not$$i$i$i$i1433$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i$i$i1433$i)) {
break L130;
}
$376 = ((($rest$sroa$0$13621$i)) + 5|0);
$377 = HEAP8[$376>>0]|0;
$378 = ($377<<24>>24)>(-65);
if ($378) {
$503 = 0;
} else {
break L130;
}
}
$379 = ($rest$sroa$0$13621$i|0)==(6183|0);
do {
if (!($379)) {
$380 = (_memcmp(6183,$rest$sroa$0$13621$i,5)|0);
$381 = ($380|0)==(0);
if ($381) {
break;
}
if ($503) {
$504 = 1;
} else {
$not$$i$i$i$i1474$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i$i$i1474$i)) {
break L130;
}
$$phi$trans$insert4268$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre4269$i = HEAP8[$$phi$trans$insert4268$i>>0]|0;
$387 = ($$pre4269$i<<24>>24)>(-65);
if ($387) {
$504 = 0;
} else {
break L130;
}
}
$388 = ($rest$sroa$0$13621$i|0)==(6189|0);
do {
if (!($388)) {
$389 = (_memcmp(6189,$rest$sroa$0$13621$i,5)|0);
$390 = ($389|0)==(0);
if ($390) {
break;
}
if ($504) {
$505 = 1;
} else {
$not$$i$i$i$i1508$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i$i$i1508$i)) {
break L130;
}
$$phi$trans$insert4270$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre4271$i = HEAP8[$$phi$trans$insert4270$i>>0]|0;
$396 = ($$pre4271$i<<24>>24)>(-65);
if ($396) {
$505 = 0;
} else {
break L130;
}
}
$397 = ($rest$sroa$0$13621$i|0)==(6195|0);
do {
if (!($397)) {
$398 = (_memcmp(6195,$rest$sroa$0$13621$i,5)|0);
$399 = ($398|0)==(0);
if ($399) {
break;
}
if ($505) {
$506 = 1;
} else {
$not$$i$i$i$i1550$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i$i$i1550$i)) {
break L130;
}
$$phi$trans$insert4272$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre4273$i = HEAP8[$$phi$trans$insert4272$i>>0]|0;
$405 = ($$pre4273$i<<24>>24)>(-65);
if ($405) {
$506 = 0;
} else {
break L130;
}
}
$406 = ($rest$sroa$0$13621$i|0)==(6201|0);
do {
if (!($406)) {
$407 = (_memcmp(6201,$rest$sroa$0$13621$i,5)|0);
$408 = ($407|0)==(0);
if ($408) {
break;
}
if ($506) {
$507 = 1;
} else {
$not$$i$i$i$i1591$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i$i$i1591$i)) {
break L130;
}
$$phi$trans$insert4274$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre4275$i = HEAP8[$$phi$trans$insert4274$i>>0]|0;
$414 = ($$pre4275$i<<24>>24)>(-65);
if ($414) {
$507 = 0;
} else {
break L130;
}
}
$415 = ($rest$sroa$0$13621$i|0)==(6207|0);
do {
if (!($415)) {
$416 = (_memcmp(6207,$rest$sroa$0$13621$i,5)|0);
$417 = ($416|0)==(0);
if ($417) {
break;
}
if ($507) {
$508 = 1;
} else {
$not$$i$i$i$i1625$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i$i$i1625$i)) {
break L130;
}
$$phi$trans$insert4276$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre4277$i = HEAP8[$$phi$trans$insert4276$i>>0]|0;
$423 = ($$pre4277$i<<24>>24)>(-65);
if ($423) {
$508 = 0;
} else {
break L130;
}
}
$424 = ($rest$sroa$0$13621$i|0)==(6213|0);
do {
if (!($424)) {
$425 = (_memcmp(6213,$rest$sroa$0$13621$i,5)|0);
$426 = ($425|0)==(0);
if ($426) {
break;
}
if ($508) {
$509 = 1;
} else {
$not$$i$i$i$i1667$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i$i$i1667$i)) {
break L130;
}
$$phi$trans$insert4278$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre4279$i = HEAP8[$$phi$trans$insert4278$i>>0]|0;
$432 = ($$pre4279$i<<24>>24)>(-65);
if ($432) {
$509 = 0;
} else {
break L130;
}
}
$433 = ($rest$sroa$0$13621$i|0)==(6219|0);
do {
if (!($433)) {
$434 = (_memcmp(6219,$rest$sroa$0$13621$i,5)|0);
$435 = ($434|0)==(0);
if ($435) {
break;
}
if ($509) {
$510 = 1;
} else {
$not$$i$i$i$i1708$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i$i$i1708$i)) {
break L130;
}
$$phi$trans$insert4280$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre4281$i = HEAP8[$$phi$trans$insert4280$i>>0]|0;
$441 = ($$pre4281$i<<24>>24)>(-65);
if ($441) {
$510 = 0;
} else {
break L130;
}
}
$442 = ($rest$sroa$0$13621$i|0)==(6225|0);
do {
if (!($442)) {
$443 = (_memcmp(6225,$rest$sroa$0$13621$i,5)|0);
$444 = ($443|0)==(0);
if ($444) {
break;
}
if ($510) {
$511 = 1;
} else {
$not$$i$i$i$i1742$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i$i$i1742$i)) {
break L130;
}
$$phi$trans$insert4282$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre4283$i = HEAP8[$$phi$trans$insert4282$i>>0]|0;
$450 = ($$pre4283$i<<24>>24)>(-65);
if ($450) {
$511 = 0;
} else {
break L130;
}
}
$451 = ($rest$sroa$0$13621$i|0)==(6231|0);
do {
if (!($451)) {
$452 = (_memcmp(6231,$rest$sroa$0$13621$i,5)|0);
$453 = ($452|0)==(0);
if ($453) {
break;
}
if ($511) {
$512 = 1;
} else {
$not$$i$i$i$i1784$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i$i$i1784$i)) {
break L130;
}
$$phi$trans$insert4284$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre4285$i = HEAP8[$$phi$trans$insert4284$i>>0]|0;
$459 = ($$pre4285$i<<24>>24)>(-65);
if ($459) {
$512 = 0;
} else {
break L130;
}
}
$460 = ($rest$sroa$0$13621$i|0)==(6237|0);
if (!($460)) {
$461 = (_memcmp(6237,$rest$sroa$0$13621$i,5)|0);
$462 = ($461|0)==(0);
if (!($462)) {
break L130;
}
}
$467 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$467 & 127]($_619$i,$1,6242,1);
$self$i1810$sroa$0$0$copyload$i = HEAP32[$_619$i>>2]|0;
$switch3$i1811$i = ($self$i1810$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1811$i) {
label = 363;
break L78;
}
if ($512) {
$$pre$i1850$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre$phi$i1855$iZ2D = $$pre$i1850$i;
} else {
$not$$i$i1852$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i1852$i)) {
label = 368;
break L78;
}
$469 = ((($rest$sroa$0$13621$i)) + 5|0);
$470 = HEAP8[$469>>0]|0;
$471 = ($470<<24>>24)>(-65);
if ($471) {
$$pre$phi$i1855$iZ2D = $469;
} else {
label = 368;
break L78;
}
}
$472 = (($rest$sroa$82$13658$i) + -5)|0;
$rest$sroa$0$1$be$i = $$pre$phi$i1855$iZ2D;$rest$sroa$82$1$be$i = $472;
break L134;
}
} while(0);
$458 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$458 & 127]($_596$i,$1,6236,1);
$self$i1776$sroa$0$0$copyload$i = HEAP32[$_596$i>>2]|0;
$switch3$i1777$i = ($self$i1776$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1777$i) {
label = 354;
break L78;
}
if ($511) {
$$pre$i1801$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre$phi$i1806$iZ2D = $$pre$i1801$i;
} else {
$not$$i$i1803$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i1803$i)) {
label = 359;
break L78;
}
$463 = ((($rest$sroa$0$13621$i)) + 5|0);
$464 = HEAP8[$463>>0]|0;
$465 = ($464<<24>>24)>(-65);
if ($465) {
$$pre$phi$i1806$iZ2D = $463;
} else {
label = 359;
break L78;
}
}
$466 = (($rest$sroa$82$13658$i) + -5)|0;
$rest$sroa$0$1$be$i = $$pre$phi$i1806$iZ2D;$rest$sroa$82$1$be$i = $466;
break L134;
}
} while(0);
$449 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$449 & 127]($_573$i,$1,6230,1);
$self$i1734$sroa$0$0$copyload$i = HEAP32[$_573$i>>2]|0;
$switch3$i1735$i = ($self$i1734$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1735$i) {
label = 341;
break L78;
}
if ($510) {
$$pre$i1767$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre$phi$i1772$iZ2D = $$pre$i1767$i;
} else {
$not$$i$i1769$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i1769$i)) {
label = 346;
break L78;
}
$454 = ((($rest$sroa$0$13621$i)) + 5|0);
$455 = HEAP8[$454>>0]|0;
$456 = ($455<<24>>24)>(-65);
if ($456) {
$$pre$phi$i1772$iZ2D = $454;
} else {
label = 346;
break L78;
}
}
$457 = (($rest$sroa$82$13658$i) + -5)|0;
$rest$sroa$0$1$be$i = $$pre$phi$i1772$iZ2D;$rest$sroa$82$1$be$i = $457;
break L134;
}
} while(0);
$440 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$440 & 127]($_550$i,$1,6224,1);
$self$i1693$sroa$0$0$copyload$i = HEAP32[$_550$i>>2]|0;
$switch3$i1694$i = ($self$i1693$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1694$i) {
label = 328;
break L78;
}
if ($509) {
$$pre$i1725$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre$phi$i1730$iZ2D = $$pre$i1725$i;
} else {
$not$$i$i1727$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i1727$i)) {
label = 333;
break L78;
}
$445 = ((($rest$sroa$0$13621$i)) + 5|0);
$446 = HEAP8[$445>>0]|0;
$447 = ($446<<24>>24)>(-65);
if ($447) {
$$pre$phi$i1730$iZ2D = $445;
} else {
label = 333;
break L78;
}
}
$448 = (($rest$sroa$82$13658$i) + -5)|0;
$rest$sroa$0$1$be$i = $$pre$phi$i1730$iZ2D;$rest$sroa$82$1$be$i = $448;
break L134;
}
} while(0);
$431 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$431 & 127]($_527$i,$1,6218,1);
$self$i1659$sroa$0$0$copyload$i = HEAP32[$_527$i>>2]|0;
$switch3$i1660$i = ($self$i1659$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1660$i) {
label = 315;
break L78;
}
if ($508) {
$$pre$i1684$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre$phi$i1689$iZ2D = $$pre$i1684$i;
} else {
$not$$i$i1686$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i1686$i)) {
label = 320;
break L78;
}
$436 = ((($rest$sroa$0$13621$i)) + 5|0);
$437 = HEAP8[$436>>0]|0;
$438 = ($437<<24>>24)>(-65);
if ($438) {
$$pre$phi$i1689$iZ2D = $436;
} else {
label = 320;
break L78;
}
}
$439 = (($rest$sroa$82$13658$i) + -5)|0;
$rest$sroa$0$1$be$i = $$pre$phi$i1689$iZ2D;$rest$sroa$82$1$be$i = $439;
break L134;
}
} while(0);
$422 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$422 & 127]($_504$i,$1,6212,1);
$self$i1617$sroa$0$0$copyload$i = HEAP32[$_504$i>>2]|0;
$switch3$i1618$i = ($self$i1617$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1618$i) {
label = 302;
break L78;
}
if ($507) {
$$pre$i1650$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre$phi$i1655$iZ2D = $$pre$i1650$i;
} else {
$not$$i$i1652$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i1652$i)) {
label = 307;
break L78;
}
$427 = ((($rest$sroa$0$13621$i)) + 5|0);
$428 = HEAP8[$427>>0]|0;
$429 = ($428<<24>>24)>(-65);
if ($429) {
$$pre$phi$i1655$iZ2D = $427;
} else {
label = 307;
break L78;
}
}
$430 = (($rest$sroa$82$13658$i) + -5)|0;
$rest$sroa$0$1$be$i = $$pre$phi$i1655$iZ2D;$rest$sroa$82$1$be$i = $430;
break L134;
}
} while(0);
$413 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$413 & 127]($_481$i,$1,6206,1);
$self$i1576$sroa$0$0$copyload$i = HEAP32[$_481$i>>2]|0;
$switch3$i1577$i = ($self$i1576$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1577$i) {
label = 289;
break L78;
}
if ($506) {
$$pre$i1608$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre$phi$i1613$iZ2D = $$pre$i1608$i;
} else {
$not$$i$i1610$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i1610$i)) {
label = 294;
break L78;
}
$418 = ((($rest$sroa$0$13621$i)) + 5|0);
$419 = HEAP8[$418>>0]|0;
$420 = ($419<<24>>24)>(-65);
if ($420) {
$$pre$phi$i1613$iZ2D = $418;
} else {
label = 294;
break L78;
}
}
$421 = (($rest$sroa$82$13658$i) + -5)|0;
$rest$sroa$0$1$be$i = $$pre$phi$i1613$iZ2D;$rest$sroa$82$1$be$i = $421;
break L134;
}
} while(0);
$404 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$404 & 127]($_458$i,$1,6200,1);
$self$i1542$sroa$0$0$copyload$i = HEAP32[$_458$i>>2]|0;
$switch3$i1543$i = ($self$i1542$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1543$i) {
label = 276;
break L78;
}
if ($505) {
$$pre$i1567$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre$phi$i1572$iZ2D = $$pre$i1567$i;
} else {
$not$$i$i1569$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i1569$i)) {
label = 281;
break L78;
}
$409 = ((($rest$sroa$0$13621$i)) + 5|0);
$410 = HEAP8[$409>>0]|0;
$411 = ($410<<24>>24)>(-65);
if ($411) {
$$pre$phi$i1572$iZ2D = $409;
} else {
label = 281;
break L78;
}
}
$412 = (($rest$sroa$82$13658$i) + -5)|0;
$rest$sroa$0$1$be$i = $$pre$phi$i1572$iZ2D;$rest$sroa$82$1$be$i = $412;
break L134;
}
} while(0);
$395 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$395 & 127]($_435$i,$1,6194,1);
$self$i1500$sroa$0$0$copyload$i = HEAP32[$_435$i>>2]|0;
$switch3$i1501$i = ($self$i1500$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1501$i) {
label = 263;
break L78;
}
if ($504) {
$$pre$i1533$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre$phi$i1538$iZ2D = $$pre$i1533$i;
} else {
$not$$i$i1535$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i1535$i)) {
label = 268;
break L78;
}
$400 = ((($rest$sroa$0$13621$i)) + 5|0);
$401 = HEAP8[$400>>0]|0;
$402 = ($401<<24>>24)>(-65);
if ($402) {
$$pre$phi$i1538$iZ2D = $400;
} else {
label = 268;
break L78;
}
}
$403 = (($rest$sroa$82$13658$i) + -5)|0;
$rest$sroa$0$1$be$i = $$pre$phi$i1538$iZ2D;$rest$sroa$82$1$be$i = $403;
break L134;
}
} while(0);
$386 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$386 & 127]($_412$i,$1,6188,1);
$self$i1459$sroa$0$0$copyload$i = HEAP32[$_412$i>>2]|0;
$switch3$i1460$i = ($self$i1459$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1460$i) {
label = 250;
break L78;
}
if ($503) {
$$pre$i1491$i = ((($rest$sroa$0$13621$i)) + 5|0);
$$pre$phi$i1496$iZ2D = $$pre$i1491$i;
} else {
$not$$i$i1493$i = ($rest$sroa$82$13658$i>>>0)>(5);
if (!($not$$i$i1493$i)) {
label = 255;
break L78;
}
$391 = ((($rest$sroa$0$13621$i)) + 5|0);
$392 = HEAP8[$391>>0]|0;
$393 = ($392<<24>>24)>(-65);
if ($393) {
$$pre$phi$i1496$iZ2D = $391;
} else {
label = 255;
break L78;
}
}
$394 = (($rest$sroa$82$13658$i) + -5)|0;
$rest$sroa$0$1$be$i = $$pre$phi$i1496$iZ2D;$rest$sroa$82$1$be$i = $394;
break L134;
}
} while(0);
$$pre$i1065$ptr$i = ((($rest$sroa$0$13621$i)) + 1|0);
do {
if ($212) {
$498 = 0;
label = 129;
} else {
$218 = HEAP8[$$pre$i1065$ptr$i>>0]|0;
$219 = ($218<<24>>24)>(-65);
if (!($219)) {
label = 112;
break L78;
}
$220 = (($rest$sroa$82$13658$i) + -1)|0;
$$ptr$i = (($rest$sroa$0$13621$i) + ($rest$sroa$82$13658$i)|0);
$221 = ($220|0)==(0);
if ($221) {
$498 = 0;
label = 129;
break;
}
$223 = ((($rest$sroa$0$13621$i)) + 2|0);
$224 = ($218<<24>>24)>(-1);
do {
if ($224) {
$222 = $218&255;
$_176$sroa$5$2$ph$i = $222;
} else {
$225 = $218 & 31;
$226 = $225&255;
$227 = ($rest$sroa$82$13658$i|0)==(2);
if ($227) {
$235 = $$ptr$i;$_0$0$i23$i$i1082$i = 0;
} else {
$228 = ((($rest$sroa$0$13621$i)) + 3|0);
$229 = HEAP8[$223>>0]|0;
$phitmp$i$i1080$i = $229 & 63;
$235 = $228;$_0$0$i23$i$i1082$i = $phitmp$i$i1080$i;
}
$230 = $226 << 6;
$231 = $_0$0$i23$i$i1082$i&255;
$232 = $231 | $230;
$233 = ($218&255)>(223);
if (!($233)) {
$_176$sroa$5$2$ph$i = $232;
break;
}
$234 = ($235|0)==($$ptr$i|0);
if ($234) {
$245 = $$ptr$i;$_0$0$i16$i$i1087$i = 0;
} else {
$236 = ((($235)) + 1|0);
$237 = HEAP8[$235>>0]|0;
$phitmp32$i$i1085$i = $237 & 63;
$245 = $236;$_0$0$i16$i$i1087$i = $phitmp32$i$i1085$i;
}
$238 = $231 << 6;
$239 = $_0$0$i16$i$i1087$i&255;
$240 = $239 | $238;
$241 = $226 << 12;
$242 = $240 | $241;
$243 = ($218&255)>(239);
if (!($243)) {
$_176$sroa$5$2$ph$i = $242;
break;
}
$244 = ($245|0)==($$ptr$i|0);
if ($244) {
$_0$0$i10$i$i1092$i = 0;
} else {
$246 = HEAP8[$245>>0]|0;
$phitmp33$i$i1090$i = $246 & 63;
$_0$0$i10$i$i1092$i = $phitmp33$i$i1090$i;
}
$247 = $226 << 18;
$248 = $247 & 1835008;
$249 = $240 << 6;
$250 = $_0$0$i10$i$i1092$i&255;
$251 = $249 | $248;
$252 = $251 | $250;
$_176$sroa$5$2$ph$i = $252;
}
} while(0);
$cond$i107 = ($_176$sroa$5$2$ph$i|0)==(46);
if (!($cond$i107)) {
$498 = $220;
label = 129;
break;
}
$256 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$256 & 127]($_186$i,$1,6138,2);
$self$i1114$sroa$0$0$copyload$i = HEAP32[$_186$i>>2]|0;
$switch3$i1115$i = ($self$i1114$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1115$i) {
label = 132;
break L78;
}
$258 = ($rest$sroa$82$13658$i|0)==(2);
if (!($258)) {
$259 = HEAP8[$223>>0]|0;
$260 = ($259<<24>>24)>(-65);
if (!($260)) {
label = 135;
break L78;
}
}
$261 = (($rest$sroa$82$13658$i) + -2)|0;
$$sink$i$index = $223;$$sink$i$index2 = $261;
}
} while(0);
if ((label|0) == 129) {
label = 0;
$257 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$257 & 127]($_205$i,$1,6142,1);
$self$i1121$sroa$0$0$copyload$i = HEAP32[$_205$i>>2]|0;
$switch3$i1122$i = ($self$i1121$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1122$i) {
label = 137;
break L78;
}
if (!($212)) {
$262 = HEAP8[$$pre$i1065$ptr$i>>0]|0;
$263 = ($262<<24>>24)>(-65);
if (!($263)) {
label = 140;
break L78;
}
}
$$sink$i$index = $$pre$i1065$ptr$i;$$sink$i$index2 = $498;
}
$rest$sroa$0$1$be$i = $$sink$i$index;$rest$sroa$82$1$be$i = $$sink$i$index2;
}
} while(0);
if ((label|0) == 147) {
label = 0;
$271 = (($rest$sroa$0$13621$i) + ($rest$sroa$82$13658$i)|0);
$272 = $rest$sroa$0$13621$i;
$273 = $272;$_657$sroa$0$0$i = 0;
L410: while(1) {
$$cast$i$i$i$i = $273;
$274 = ($$cast$i$i$i$i|0)==($271|0);
if ($274) {
$idx$0$i = $rest$sroa$82$13658$i;
break;
}
$277 = ((($$cast$i$i$i$i)) + 1|0);
$276 = HEAP8[$$cast$i$i$i$i>>0]|0;
$278 = ($276<<24>>24)>(-1);
$279 = $277;
do {
if ($278) {
$275 = $276&255;
$314 = $279;$trunc$i$i$i = $275;
} else {
$280 = $276 & 31;
$281 = $280&255;
$282 = ($277|0)==($271|0);
if ($282) {
$291 = $271;$499 = $279;$_0$0$i23$i$i$i$i$i$i = 0;
} else {
$283 = ((($$cast$i$i$i$i)) + 2|0);
$284 = HEAP8[$277>>0]|0;
$phitmp$i$i$i$i$i$i = $284 & 63;
$285 = $283;
$291 = $283;$499 = $285;$_0$0$i23$i$i$i$i$i$i = $phitmp$i$i$i$i$i$i;
}
$286 = $281 << 6;
$287 = $_0$0$i23$i$i$i$i$i$i&255;
$288 = $287 | $286;
$289 = ($276&255)>(223);
if (!($289)) {
$314 = $499;$trunc$i$i$i = $288;
break;
}
$290 = ($291|0)==($271|0);
if ($290) {
$302 = $271;$500 = $499;$_0$0$i16$i$i$i$i$i$i = 0;
} else {
$292 = ((($291)) + 1|0);
$293 = HEAP8[$291>>0]|0;
$phitmp32$i$i$i$i$i$i = $293 & 63;
$294 = $292;
$302 = $292;$500 = $294;$_0$0$i16$i$i$i$i$i$i = $phitmp32$i$i$i$i$i$i;
}
$295 = $287 << 6;
$296 = $_0$0$i16$i$i$i$i$i$i&255;
$297 = $296 | $295;
$298 = $281 << 12;
$299 = $297 | $298;
$300 = ($276&255)>(239);
if (!($300)) {
$314 = $500;$trunc$i$i$i = $299;
break;
}
$301 = ($302|0)==($271|0);
if ($301) {
$501 = $500;$_0$0$i10$i$i$i$i$i$i = 0;
} else {
$303 = ((($302)) + 1|0);
$304 = HEAP8[$302>>0]|0;
$phitmp33$i$i$i$i$i$i = $304 & 63;
$305 = $303;
$501 = $305;$_0$0$i10$i$i$i$i$i$i = $phitmp33$i$i$i$i$i$i;
}
$306 = $281 << 18;
$307 = $306 & 1835008;
$308 = $297 << 6;
$309 = $_0$0$i10$i$i$i$i$i$i&255;
$310 = $308 | $307;
$311 = $310 | $309;
$314 = $501;$trunc$i$i$i = $311;
}
} while(0);
$312 = (($_657$sroa$0$0$i) - ($273))|0;
$313 = (($312) + ($314))|0;
$trunc$i$i$i$clear = $trunc$i$i$i & 2097151;
switch ($trunc$i$i$i$clear|0) {
case 46: case 36: {
$idx$0$i = $_657$sroa$0$0$i;
break L410;
break;
}
default: {
$273 = $314;$_657$sroa$0$0$i = $313;
}
}
}
$474 = ($idx$0$i|0)==(0);
$475 = ($rest$sroa$82$13658$i|0)==($idx$0$i|0);
$or$cond$i$i1868$i = $474 | $475;
if (!($or$cond$i$i1868$i)) {
$not$$i$i1869$i = ($rest$sroa$82$13658$i>>>0)>($idx$0$i>>>0);
if (!($not$$i$i1869$i)) {
label = 376;
break L78;
}
$476 = (($rest$sroa$0$13621$i) + ($idx$0$i)|0);
$477 = HEAP8[$476>>0]|0;
$478 = ($477<<24>>24)>(-65);
if (!($478)) {
label = 376;
break L78;
}
}
$479 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$479 & 127]($_665$i,$1,$rest$sroa$0$13621$i,$idx$0$i);
$self$i1875$sroa$0$0$copyload$i = HEAP32[$_665$i>>2]|0;
$switch3$i1876$i = ($self$i1875$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1876$i) {
label = 378;
break L78;
}
if ($or$cond$i$i1868$i) {
$$pre$i1900$i = (($rest$sroa$0$13621$i) + ($idx$0$i)|0);
$$pre$phi$i1905$iZ2D = $$pre$i1900$i;
} else {
$not$$i$i1902$i = ($rest$sroa$82$13658$i>>>0)>($idx$0$i>>>0);
if (!($not$$i$i1902$i)) {
label = 383;
break L78;
}
$480 = (($rest$sroa$0$13621$i) + ($idx$0$i)|0);
$481 = HEAP8[$480>>0]|0;
$482 = ($481<<24>>24)>(-65);
if ($482) {
$$pre$phi$i1905$iZ2D = $480;
} else {
label = 383;
break L78;
}
}
$483 = (($rest$sroa$82$13658$i) - ($idx$0$i))|0;
$rest$sroa$0$1$be$i = $$pre$phi$i1905$iZ2D;$rest$sroa$82$1$be$i = $483;
}
$484 = ($rest$sroa$82$1$be$i|0)==(0);
if ($484) {
break L129;
} else {
$rest$sroa$0$13621$i = $rest$sroa$0$1$be$i;$rest$sroa$82$13658$i = $rest$sroa$82$1$be$i;
label = 106;
}
}
$468 = HEAP32[$141>>2]|0;
FUNCTION_TABLE_viiii[$468 & 127]($_640$i,$1,$rest$sroa$0$13621$i,$rest$sroa$82$13658$i);
$self$i1825$sroa$0$0$copyload$i = HEAP32[$_640$i>>2]|0;
$switch3$i1826$i = ($self$i1825$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i1826$i) {
label = 370;
break L78;
}
}
} while(0);
$473 = ($196|0)==(0);
if ($473) {
break L4;
} else {
$first$0$off03698$i = 0;$inner$sroa$0$23699$i = $$pre$phi$i2894$iZ2D;$inner$sroa$12$23700$i = $196;
}
}
switch (label|0) {
case 64: {
$self$i946$sroa$5$0$$sroa_idx2766$i = ((($_114$i)) + 8|0);
$self$i946$sroa$5$0$copyload$i = HEAP32[$self$i946$sroa$5$0$$sroa_idx2766$i>>2]|0;
$self$i946$sroa$4$0$$sroa_idx2764$i = ((($_114$i)) + 4|0);
$self$i946$sroa$4$0$copyload$i = HEAP32[$self$i946$sroa$4$0$$sroa_idx2764$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i946$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i946$sroa$5$0$copyload$i;
break L38;
break;
}
case 78: {
__ZN4core9panicking5panic17h7842870c7e688275E(2900);
// unreachable;
break;
}
case 85: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($inner$sroa$0$23699$i,$inner$sroa$12$23700$i,0,$182);
// unreachable;
break;
}
case 87: {
$189 = ($self$sroa$0$0$copyload$i1014$i&65535) >>> 8;
$190 = $189&255;
__ZN4core6result13unwrap_failed17h361d666164b3a1f1E($190);
// unreachable;
break;
}
case 92: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$03611$i,$rest$sroa$82$03612$i,$self$sroa$720$0$copyload$i$i,$rest$sroa$82$03612$i);
// unreachable;
break;
}
case 100: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$03611$i,$rest$sroa$82$03612$lcssa3762$i,1,$rest$sroa$82$03612$lcssa3762$i);
// unreachable;
break;
}
case 103: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$03611$i,$self$sroa$720$0$copyload$i$i,1,$self$sroa$720$0$copyload$i$i);
// unreachable;
break;
}
case 112: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,1,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 132: {
$self$i1114$sroa$5$0$$sroa_idx2771$i = ((($_186$i)) + 8|0);
$self$i1114$sroa$5$0$copyload$i = HEAP32[$self$i1114$sroa$5$0$$sroa_idx2771$i>>2]|0;
$self$i1114$sroa$4$0$$sroa_idx2769$i = ((($_186$i)) + 4|0);
$self$i1114$sroa$4$0$copyload$i = HEAP32[$self$i1114$sroa$4$0$$sroa_idx2769$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1114$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1114$sroa$5$0$copyload$i;
break L38;
break;
}
case 135: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,2,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 137: {
$self$i1121$sroa$5$0$$sroa_idx2776$i = ((($_205$i)) + 8|0);
$self$i1121$sroa$5$0$copyload$i = HEAP32[$self$i1121$sroa$5$0$$sroa_idx2776$i>>2]|0;
$self$i1121$sroa$4$0$$sroa_idx2774$i = ((($_205$i)) + 4|0);
$self$i1121$sroa$4$0$copyload$i = HEAP32[$self$i1121$sroa$4$0$$sroa_idx2774$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1121$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1121$sroa$5$0$copyload$i;
break L38;
break;
}
case 140: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,1,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 166: {
$self$i1188$sroa$5$0$$sroa_idx2781$i = ((($_228$i)) + 8|0);
$self$i1188$sroa$5$0$copyload$i = HEAP32[$self$i1188$sroa$5$0$$sroa_idx2781$i>>2]|0;
$self$i1188$sroa$4$0$$sroa_idx2779$i = ((($_228$i)) + 4|0);
$self$i1188$sroa$4$0$copyload$i = HEAP32[$self$i1188$sroa$4$0$$sroa_idx2779$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1188$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1188$sroa$5$0$copyload$i;
break L38;
break;
}
case 169: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,4,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 176: {
$self$i1230$sroa$5$0$$sroa_idx2786$i = ((($_251$i)) + 8|0);
$self$i1230$sroa$5$0$copyload$i = HEAP32[$self$i1230$sroa$5$0$$sroa_idx2786$i>>2]|0;
$self$i1230$sroa$4$0$$sroa_idx2784$i = ((($_251$i)) + 4|0);
$self$i1230$sroa$4$0$copyload$i = HEAP32[$self$i1230$sroa$4$0$$sroa_idx2784$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1230$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1230$sroa$5$0$copyload$i;
break L38;
break;
}
case 179: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,4,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 186: {
$self$i1256$sroa$5$0$$sroa_idx2791$i = ((($_274$i)) + 8|0);
$self$i1256$sroa$5$0$copyload$i = HEAP32[$self$i1256$sroa$5$0$$sroa_idx2791$i>>2]|0;
$self$i1256$sroa$4$0$$sroa_idx2789$i = ((($_274$i)) + 4|0);
$self$i1256$sroa$4$0$copyload$i = HEAP32[$self$i1256$sroa$4$0$$sroa_idx2789$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1256$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1256$sroa$5$0$copyload$i;
break L38;
break;
}
case 189: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,4,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 196: {
$self$i1282$sroa$5$0$$sroa_idx2796$i = ((($_297$i)) + 8|0);
$self$i1282$sroa$5$0$copyload$i = HEAP32[$self$i1282$sroa$5$0$$sroa_idx2796$i>>2]|0;
$self$i1282$sroa$4$0$$sroa_idx2794$i = ((($_297$i)) + 4|0);
$self$i1282$sroa$4$0$copyload$i = HEAP32[$self$i1282$sroa$4$0$$sroa_idx2794$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1282$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1282$sroa$5$0$copyload$i;
break L38;
break;
}
case 199: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,4,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 206: {
$self$i1308$sroa$5$0$$sroa_idx2801$i = ((($_320$i)) + 8|0);
$self$i1308$sroa$5$0$copyload$i = HEAP32[$self$i1308$sroa$5$0$$sroa_idx2801$i>>2]|0;
$self$i1308$sroa$4$0$$sroa_idx2799$i = ((($_320$i)) + 4|0);
$self$i1308$sroa$4$0$copyload$i = HEAP32[$self$i1308$sroa$4$0$$sroa_idx2799$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1308$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1308$sroa$5$0$copyload$i;
break L38;
break;
}
case 209: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,4,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 216: {
$self$i1342$sroa$5$0$$sroa_idx2806$i = ((($_343$i)) + 8|0);
$self$i1342$sroa$5$0$copyload$i = HEAP32[$self$i1342$sroa$5$0$$sroa_idx2806$i>>2]|0;
$self$i1342$sroa$4$0$$sroa_idx2804$i = ((($_343$i)) + 4|0);
$self$i1342$sroa$4$0$copyload$i = HEAP32[$self$i1342$sroa$4$0$$sroa_idx2804$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1342$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1342$sroa$5$0$copyload$i;
break L38;
break;
}
case 219: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,4,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 226: {
$self$i1383$sroa$5$0$$sroa_idx2811$i = ((($_366$i)) + 8|0);
$self$i1383$sroa$5$0$copyload$i = HEAP32[$self$i1383$sroa$5$0$$sroa_idx2811$i>>2]|0;
$self$i1383$sroa$4$0$$sroa_idx2809$i = ((($_366$i)) + 4|0);
$self$i1383$sroa$4$0$copyload$i = HEAP32[$self$i1383$sroa$4$0$$sroa_idx2809$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1383$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1383$sroa$5$0$copyload$i;
break L38;
break;
}
case 229: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,4,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 237: {
$self$i1425$sroa$5$0$$sroa_idx2816$i = ((($_389$i)) + 8|0);
$self$i1425$sroa$5$0$copyload$i = HEAP32[$self$i1425$sroa$5$0$$sroa_idx2816$i>>2]|0;
$self$i1425$sroa$4$0$$sroa_idx2814$i = ((($_389$i)) + 4|0);
$self$i1425$sroa$4$0$copyload$i = HEAP32[$self$i1425$sroa$4$0$$sroa_idx2814$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1425$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1425$sroa$5$0$copyload$i;
break L38;
break;
}
case 242: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,3,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 250: {
$self$i1459$sroa$5$0$$sroa_idx2821$i = ((($_412$i)) + 8|0);
$self$i1459$sroa$5$0$copyload$i = HEAP32[$self$i1459$sroa$5$0$$sroa_idx2821$i>>2]|0;
$self$i1459$sroa$4$0$$sroa_idx2819$i = ((($_412$i)) + 4|0);
$self$i1459$sroa$4$0$copyload$i = HEAP32[$self$i1459$sroa$4$0$$sroa_idx2819$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1459$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1459$sroa$5$0$copyload$i;
break L38;
break;
}
case 255: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,5,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 263: {
$self$i1500$sroa$5$0$$sroa_idx2826$i = ((($_435$i)) + 8|0);
$self$i1500$sroa$5$0$copyload$i = HEAP32[$self$i1500$sroa$5$0$$sroa_idx2826$i>>2]|0;
$self$i1500$sroa$4$0$$sroa_idx2824$i = ((($_435$i)) + 4|0);
$self$i1500$sroa$4$0$copyload$i = HEAP32[$self$i1500$sroa$4$0$$sroa_idx2824$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1500$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1500$sroa$5$0$copyload$i;
break L38;
break;
}
case 268: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,5,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 276: {
$self$i1542$sroa$5$0$$sroa_idx2831$i = ((($_458$i)) + 8|0);
$self$i1542$sroa$5$0$copyload$i = HEAP32[$self$i1542$sroa$5$0$$sroa_idx2831$i>>2]|0;
$self$i1542$sroa$4$0$$sroa_idx2829$i = ((($_458$i)) + 4|0);
$self$i1542$sroa$4$0$copyload$i = HEAP32[$self$i1542$sroa$4$0$$sroa_idx2829$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1542$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1542$sroa$5$0$copyload$i;
break L38;
break;
}
case 281: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,5,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 289: {
$self$i1576$sroa$5$0$$sroa_idx2836$i = ((($_481$i)) + 8|0);
$self$i1576$sroa$5$0$copyload$i = HEAP32[$self$i1576$sroa$5$0$$sroa_idx2836$i>>2]|0;
$self$i1576$sroa$4$0$$sroa_idx2834$i = ((($_481$i)) + 4|0);
$self$i1576$sroa$4$0$copyload$i = HEAP32[$self$i1576$sroa$4$0$$sroa_idx2834$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1576$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1576$sroa$5$0$copyload$i;
break L38;
break;
}
case 294: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,5,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 302: {
$self$i1617$sroa$5$0$$sroa_idx2841$i = ((($_504$i)) + 8|0);
$self$i1617$sroa$5$0$copyload$i = HEAP32[$self$i1617$sroa$5$0$$sroa_idx2841$i>>2]|0;
$self$i1617$sroa$4$0$$sroa_idx2839$i = ((($_504$i)) + 4|0);
$self$i1617$sroa$4$0$copyload$i = HEAP32[$self$i1617$sroa$4$0$$sroa_idx2839$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1617$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1617$sroa$5$0$copyload$i;
break L38;
break;
}
case 307: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,5,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 315: {
$self$i1659$sroa$5$0$$sroa_idx2846$i = ((($_527$i)) + 8|0);
$self$i1659$sroa$5$0$copyload$i = HEAP32[$self$i1659$sroa$5$0$$sroa_idx2846$i>>2]|0;
$self$i1659$sroa$4$0$$sroa_idx2844$i = ((($_527$i)) + 4|0);
$self$i1659$sroa$4$0$copyload$i = HEAP32[$self$i1659$sroa$4$0$$sroa_idx2844$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1659$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1659$sroa$5$0$copyload$i;
break L38;
break;
}
case 320: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,5,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 328: {
$self$i1693$sroa$5$0$$sroa_idx2851$i = ((($_550$i)) + 8|0);
$self$i1693$sroa$5$0$copyload$i = HEAP32[$self$i1693$sroa$5$0$$sroa_idx2851$i>>2]|0;
$self$i1693$sroa$4$0$$sroa_idx2849$i = ((($_550$i)) + 4|0);
$self$i1693$sroa$4$0$copyload$i = HEAP32[$self$i1693$sroa$4$0$$sroa_idx2849$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1693$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1693$sroa$5$0$copyload$i;
break L38;
break;
}
case 333: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,5,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 341: {
$self$i1734$sroa$5$0$$sroa_idx2856$i = ((($_573$i)) + 8|0);
$self$i1734$sroa$5$0$copyload$i = HEAP32[$self$i1734$sroa$5$0$$sroa_idx2856$i>>2]|0;
$self$i1734$sroa$4$0$$sroa_idx2854$i = ((($_573$i)) + 4|0);
$self$i1734$sroa$4$0$copyload$i = HEAP32[$self$i1734$sroa$4$0$$sroa_idx2854$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1734$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1734$sroa$5$0$copyload$i;
break L38;
break;
}
case 346: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,5,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 354: {
$self$i1776$sroa$5$0$$sroa_idx2861$i = ((($_596$i)) + 8|0);
$self$i1776$sroa$5$0$copyload$i = HEAP32[$self$i1776$sroa$5$0$$sroa_idx2861$i>>2]|0;
$self$i1776$sroa$4$0$$sroa_idx2859$i = ((($_596$i)) + 4|0);
$self$i1776$sroa$4$0$copyload$i = HEAP32[$self$i1776$sroa$4$0$$sroa_idx2859$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1776$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1776$sroa$5$0$copyload$i;
break L38;
break;
}
case 359: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,5,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 363: {
$self$i1810$sroa$5$0$$sroa_idx2866$i = ((($_619$i)) + 8|0);
$self$i1810$sroa$5$0$copyload$i = HEAP32[$self$i1810$sroa$5$0$$sroa_idx2866$i>>2]|0;
$self$i1810$sroa$4$0$$sroa_idx2864$i = ((($_619$i)) + 4|0);
$self$i1810$sroa$4$0$copyload$i = HEAP32[$self$i1810$sroa$4$0$$sroa_idx2864$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1810$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1810$sroa$5$0$copyload$i;
break L38;
break;
}
case 368: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,5,$rest$sroa$82$13658$i);
// unreachable;
break;
}
case 370: {
$self$i1825$sroa$5$0$$sroa_idx2871$i = ((($_640$i)) + 8|0);
$self$i1825$sroa$5$0$copyload$i = HEAP32[$self$i1825$sroa$5$0$$sroa_idx2871$i>>2]|0;
$self$i1825$sroa$4$0$$sroa_idx2869$i = ((($_640$i)) + 4|0);
$self$i1825$sroa$4$0$copyload$i = HEAP32[$self$i1825$sroa$4$0$$sroa_idx2869$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1825$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1825$sroa$5$0$copyload$i;
break L38;
break;
}
case 376: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,0,$idx$0$i);
// unreachable;
break;
}
case 378: {
$self$i1875$sroa$5$0$$sroa_idx2876$i = ((($_665$i)) + 8|0);
$self$i1875$sroa$5$0$copyload$i = HEAP32[$self$i1875$sroa$5$0$$sroa_idx2876$i>>2]|0;
$self$i1875$sroa$4$0$$sroa_idx2874$i = ((($_665$i)) + 4|0);
$self$i1875$sroa$4$0$copyload$i = HEAP32[$self$i1875$sroa$4$0$$sroa_idx2874$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i1875$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i1875$sroa$5$0$copyload$i;
break L38;
break;
}
case 383: {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($rest$sroa$0$13621$i,$rest$sroa$82$13658$i,$idx$0$i,$rest$sroa$82$13658$i);
// unreachable;
break;
}
}
} else {
label = 59;
}
}
} while(0);
do {
if ((label|0) == 59) {
$142 = ((($2)) + 20|0);
$143 = HEAP32[$142>>2]|0;
FUNCTION_TABLE_viiii[$143 & 127]($_93$i,$1,$33,$self$sroa$6$0$copyload$i$i$i);
$self$i$sroa$0$0$copyload$i = HEAP32[$_93$i>>2]|0;
$switch3$i$i = ($self$i$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i$i) {
$self$i$sroa$5$0$$sroa_idx2761$i = ((($_93$i)) + 8|0);
$self$i$sroa$5$0$copyload$i = HEAP32[$self$i$sroa$5$0$$sroa_idx2761$i>>2]|0;
$self$i$sroa$4$0$$sroa_idx2759$i = ((($_93$i)) + 4|0);
$self$i$sroa$4$0$copyload$i = HEAP32[$self$i$sroa$4$0$$sroa_idx2759$i>>2]|0;
$_50$sroa$29$0$ph$off0 = $self$i$sroa$4$0$copyload$i;$_50$sroa$29$0$ph$off32 = $self$i$sroa$5$0$copyload$i;
break;
} else {
break L4;
}
}
} while(0);
HEAP32[$0>>2] = 1;
$_3$sroa$0$0$$sroa_idx3$i123 = ((($0)) + 4|0);
$487 = $_3$sroa$0$0$$sroa_idx3$i123;
$488 = $487;
HEAP32[$488>>2] = $_50$sroa$29$0$ph$off0;
$489 = (($487) + 4)|0;
$490 = $489;
HEAP32[$490>>2] = $_50$sroa$29$0$ph$off32;
break L1;
}
} else {
label = 8;
}
}
} while(0);
do {
if ((label|0) == 8) {
HEAP32[$_64>>2] = 2680;
$34 = ((($_64)) + 4|0);
HEAP32[$34>>2] = 1;
$_6$sroa$0$0$$sroa_idx$i = ((($_64)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$35 = ((($_64)) + 16|0);
HEAP32[$35>>2] = 13320;
$36 = ((($_64)) + 20|0);
HEAP32[$36>>2] = 0;
$37 = HEAP32[$25>>2]|0;
FUNCTION_TABLE_viii[$37 & 127]($_62,$1,$_64);
$self$i99$sroa$0$0$copyload = HEAP32[$_62>>2]|0;
$switch3$i100 = ($self$i99$sroa$0$0$copyload|0)==(1);
if ($switch3$i100) {
$self$i99$sroa$5$0$$sroa_idx267 = ((($_62)) + 8|0);
$self$i99$sroa$5$0$copyload = HEAP32[$self$i99$sroa$5$0$$sroa_idx267>>2]|0;
$self$i99$sroa$4$0$$sroa_idx265 = ((($_62)) + 4|0);
$self$i99$sroa$4$0$copyload = HEAP32[$self$i99$sroa$4$0$$sroa_idx265>>2]|0;
HEAP32[$0>>2] = 1;
$_3$sroa$0$0$$sroa_idx3$i132 = ((($0)) + 4|0);
$491 = $_3$sroa$0$0$$sroa_idx3$i132;
$492 = $491;
HEAP32[$492>>2] = $self$i99$sroa$4$0$copyload;
$493 = (($491) + 4)|0;
$494 = $493;
HEAP32[$494>>2] = $self$i99$sroa$5$0$copyload;
break L1;
} else {
break;
}
}
} while(0);
$485 = ((($2)) + 20|0);
$486 = HEAP32[$485>>2]|0;
FUNCTION_TABLE_viiii[$486 & 127]($0,$1,5962,1);
STACKTOP = sp;return;
}
} while(0);
STACKTOP = sp;return;
}
function __ZN50__LT__BP_mut_u20_T_u20_as_u20_core__fmt__Debug_GT_3fmt17h398260fe16c32b40E($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, $_26$i$i = 0, $switch$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$_26$i$i = sp;
$2 = HEAP32[$0>>2]|0;
$3 = ((($1)) + 12|0);
$4 = $3;
$5 = $4;
$6 = HEAP32[$5>>2]|0;
$7 = (($4) + 4)|0;
$8 = $7;
$9 = HEAP32[$8>>2]|0;
$10 = HEAP32[$1>>2]|0;
$11 = (__ZN4core3fmt9Formatter9alternate17h0e69d5f2818bb74fE($1)|0);
$12 = HEAP32[$1>>2]|0;
if ($11) {
$13 = $12 | 8;
HEAP32[$1>>2] = $13;
$14 = HEAP32[$3>>2]|0;
$switch$i$i = ($14|0)==(1);
if ($switch$i$i) {
$17 = $13;
} else {
HEAP32[$3>>2] = 1;
$15 = ((($1)) + 16|0);
HEAP32[$15>>2] = 10;
$17 = $13;
}
} else {
$17 = $12;
}
$16 = $17 | 4;
HEAP32[$1>>2] = $16;
HEAP32[$_26$i$i>>2] = $2;
$18 = (__ZN4core3fmt3num55__LT_impl_u20_core__fmt__LowerHex_u20_for_u20_usize_GT_3fmt17h50d85f4db307b74eE($_26$i$i,$1)|0);
$19 = $3;
$20 = $19;
HEAP32[$20>>2] = $6;
$21 = (($19) + 4)|0;
$22 = $21;
HEAP32[$22>>2] = $9;
HEAP32[$1>>2] = $10;
STACKTOP = sp;return ($18|0);
}
function __ZN4core6result13unwrap_failed17h361d666164b3a1f1E($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_12 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_7 = 0, $error = 0, $msg = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$msg = sp + 48|0;
$error = sp + 40|0;
$_7 = sp + 16|0;
$_12 = sp;
HEAP32[$msg>>2] = 6243;
$1 = ((($msg)) + 4|0);
HEAP32[$1>>2] = 43;
HEAP8[$error>>0] = $0;
$2 = HEAP32[733]|0;
$3 = HEAP32[(2936)>>2]|0;
$4 = $msg;
$5 = $error;
HEAP32[$_12>>2] = $4;
$6 = ((($_12)) + 4|0);
HEAP32[$6>>2] = (86);
$7 = ((($_12)) + 8|0);
HEAP32[$7>>2] = $5;
$8 = ((($_12)) + 12|0);
HEAP32[$8>>2] = (92);
HEAP32[$_7>>2] = $2;
$9 = ((($_7)) + 4|0);
HEAP32[$9>>2] = $3;
$_6$sroa$0$0$$sroa_idx$i = ((($_7)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$10 = ((($_7)) + 16|0);
HEAP32[$10>>2] = $_12;
$11 = ((($_7)) + 20|0);
HEAP32[$11>>2] = 2;
__ZN4core9panicking9panic_fmt17hd37574de04720b9cE($_7,2920);
// unreachable;
}
function __ZN3std10sys_common12thread_local9StaticKey9lazy_init17hfc6d2d1726d17391E($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$0 = 0, $_24$i = 0, $_24$i13 = 0, $_29$i = 0, $_6$sroa$0$0$$sroa_idx$i$i = 0, $_6$sroa$0$0$$sroa_idx$i$i17 = 0, $_7$i = 0, $_7$i10 = 0, $key$028 = 0, $key$i = 0, $key$i9 = 0, $left_val$i = 0;
var $left_val$i11 = 0, $right_val$i = 0, $right_val$i12 = 0, $success = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
$key$i9 = sp + 92|0;
$_7$i10 = sp + 88|0;
$left_val$i11 = sp + 84|0;
$right_val$i12 = sp + 80|0;
$_24$i13 = sp + 40|0;
$key$i = sp + 76|0;
$_7$i = sp + 72|0;
$left_val$i = sp + 68|0;
$right_val$i = sp + 64|0;
$_24$i = sp + 16|0;
$_29$i = sp;
$1 = ((($0)) + 4|0);
$2 = HEAP32[$1>>2]|0;
HEAP32[$key$i>>2] = 0;
$3 = (_pthread_key_create(($key$i|0),($2|0))|0);
HEAP32[$_7$i>>2] = $3;
HEAP32[$left_val$i>>2] = $_7$i;
HEAP32[$right_val$i>>2] = 13316;
$4 = ($3|0)==(0);
if (!($4)) {
$5 = $left_val$i;
$6 = $right_val$i;
HEAP32[$_29$i>>2] = $5;
$7 = ((($_29$i)) + 4|0);
HEAP32[$7>>2] = (93);
$8 = ((($_29$i)) + 8|0);
HEAP32[$8>>2] = $6;
$9 = ((($_29$i)) + 12|0);
HEAP32[$9>>2] = (93);
HEAP32[$_24$i>>2] = 2192;
$10 = ((($_24$i)) + 4|0);
HEAP32[$10>>2] = 3;
$_6$sroa$0$0$$sroa_idx$i$i = ((($_24$i)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i$i>>2] = 0;
$11 = ((($_24$i)) + 16|0);
HEAP32[$11>>2] = $_29$i;
$12 = ((($_24$i)) + 20|0);
HEAP32[$12>>2] = 2;
__ZN3std9panicking15begin_panic_fmt17h0b5c900cf8f76eedE($_24$i,2256);
// unreachable;
}
$13 = HEAP32[$key$i>>2]|0;
$14 = ($13|0)==(0);
if ($14) {
$15 = HEAP32[$1>>2]|0;
HEAP32[$key$i9>>2] = 0;
$16 = (_pthread_key_create(($key$i9|0),($15|0))|0);
HEAP32[$_7$i10>>2] = $16;
HEAP32[$left_val$i11>>2] = $_7$i10;
HEAP32[$right_val$i12>>2] = 13316;
$17 = ($16|0)==(0);
if (!($17)) {
$18 = $left_val$i11;
$19 = $right_val$i12;
HEAP32[$_29$i>>2] = $18;
$20 = ((($_29$i)) + 4|0);
HEAP32[$20>>2] = (93);
$21 = ((($_29$i)) + 8|0);
HEAP32[$21>>2] = $19;
$22 = ((($_29$i)) + 12|0);
HEAP32[$22>>2] = (93);
HEAP32[$_24$i13>>2] = 2192;
$23 = ((($_24$i13)) + 4|0);
HEAP32[$23>>2] = 3;
$_6$sroa$0$0$$sroa_idx$i$i17 = ((($_24$i13)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i$i17>>2] = 0;
$24 = ((($_24$i13)) + 16|0);
HEAP32[$24>>2] = $_29$i;
$25 = ((($_24$i13)) + 20|0);
HEAP32[$25>>2] = 2;
__ZN3std9panicking15begin_panic_fmt17h0b5c900cf8f76eedE($_24$i13,2256);
// unreachable;
}
$26 = HEAP32[$key$i9>>2]|0;
(_pthread_key_delete(0)|0);
$27 = ($26|0)==(0);
if ($27) {
__ZN3std9panicking11begin_panic17h2ee86974cf685435E(6384,26,2340);
// unreachable;
} else {
$key$028 = $26;
}
} else {
$key$028 = $13;
}
$28 = HEAP32[$0>>2]|0;if (($28|0) == 0) HEAP32[$0>>2] = $key$028;
$success = ($28|0)==(0);
if ($success) {
$_0$0 = $key$028;
STACKTOP = sp;return ($_0$0|0);
}
(_pthread_key_delete(($key$028|0))|0);
$_0$0 = $28;
STACKTOP = sp;return ($_0$0|0);
}
function __ZN53__LT__RF__u27_a_u20_T_u20_as_u20_core__fmt__Debug_GT_3fmt17h3eb2f2ad12fc07cfE($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 = (__ZN4core3fmt3num50__LT_impl_u20_core__fmt__Debug_u20_for_u20_i32_GT_3fmt17h359494dc342ace64E($2,$1)|0);
return ($3|0);
}
function __ZN4core6result13unwrap_failed17h5ce3495efb625dc9E() {
var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_12 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_7 = 0, $error = 0, $msg = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$error = sp + 48|0;
$msg = sp + 40|0;
$_7 = sp + 16|0;
$_12 = sp;
HEAP32[$msg>>2] = 6537;
$0 = ((($msg)) + 4|0);
HEAP32[$0>>2] = 24;
$1 = HEAP32[733]|0;
$2 = HEAP32[(2936)>>2]|0;
$3 = $msg;
$4 = $error;
HEAP32[$_12>>2] = $3;
$5 = ((($_12)) + 4|0);
HEAP32[$5>>2] = (86);
$6 = ((($_12)) + 8|0);
HEAP32[$6>>2] = $4;
$7 = ((($_12)) + 12|0);
HEAP32[$7>>2] = (94);
HEAP32[$_7>>2] = $1;
$8 = ((($_7)) + 4|0);
HEAP32[$8>>2] = $2;
$_6$sroa$0$0$$sroa_idx$i = ((($_7)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$9 = ((($_7)) + 16|0);
HEAP32[$9>>2] = $_12;
$10 = ((($_7)) + 20|0);
HEAP32[$10>>2] = 2;
__ZN4core9panicking9panic_fmt17hd37574de04720b9cE($_7,2920);
// unreachable;
}
function __ZN3std6thread6Thread3new17h58cb1c986a2f86ecE($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, $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, $7 = 0, $8 = 0, $9 = 0, $_11$i$i$i = 0;
var $_13$i$i$i$i = 0, $_13$i$i$sroa_raw_idx$i$i = 0, $_14$i$i$i$i = 0, $_4$i$i$i = 0, $_5$i$i$i = 0, $_8$sroa$0$0$$sroa_idx$i = 0, $_8$sroa$4$0$$sroa_idx$i = 0, $_8$sroa$5$0$$sroa_idx$i = 0, $_8$sroa$6$0$$sroa_idx$i = 0, $_8$sroa$7$0$$sroa_idx$i = 0, $_8$sroa$8$0$$sroa_idx$i = 0, $_8$sroa$9$0$$sroa_idx$i = 0, $_9$sroa$0$sroa$4$0$_9$sroa$0$0$$sroa_cast39$sroa_idx76$i = 0, $_9$sroa$0$sroa$5$0$_9$sroa$0$0$$sroa_cast39$sroa_idx78$i = 0, $attr$i$i$i = 0, $bytes$sroa$0$0$copyload$i$i$i$i = 0, $bytes$sroa$7$0$$sroa_idx24$i$i$i$i = 0, $bytes$sroa$7$0$$sroa_idx25$i$i$i$i = 0, $bytes$sroa$7$0$copyload$i$i$i$i = 0, $bytes$sroa$8$0$$sroa_idx30$i$i$i$i = 0;
var $bytes$sroa$8$0$$sroa_idx31$i$i$i$i = 0, $bytes$sroa$8$0$copyload$i$i$i$i = 0, $cname$sroa$0$0 = 0, $cname$sroa$5$0 = 0, $e$sroa$4$0$$sroa_idx23$i$i$i = 0, $e$sroa$5$0$$sroa_idx25$i$i$i = 0, $e$sroa$6$0$$sroa_idx27$i$i$i = 0, $eh$lpad$body$index2Z2D = 0, $eh$lpad$body$indexZ2D = 0, $name$sroa$0$sroa$0$0$copyload = 0, $name$sroa$0$sroa$4$0$copyload = 0, $name$sroa$0$sroa$4$0$name$sroa$0$0$$sroa_cast21$sroa_idx78 = 0, $name$sroa$0$sroa$5$0$copyload = 0, $name$sroa$0$sroa$5$0$name$sroa$0$0$$sroa_cast21$sroa_idx80 = 0, $personalityslot$sroa$0$0 = 0, $personalityslot$sroa$0$1$ph = 0, $personalityslot$sroa$6$0 = 0, $personalityslot$sroa$6$1$ph = 0, $switch3tmp$i = 0, $switchtmp$i = 0;
var dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$attr$i$i$i = sp + 72|0;
$_11$i$i$i = sp + 56|0;
$_13$i$i$i$i = sp + 48|0;
$_14$i$i$i$i = sp + 32|0;
$_4$i$i$i = sp + 16|0;
$_5$i$i$i = sp;
$name$sroa$0$sroa$0$0$copyload = HEAP32[$0>>2]|0;
$switch3tmp$i = ($name$sroa$0$sroa$0$0$copyload|0)==(0|0);
L1: do {
if ($switch3tmp$i) {
$cname$sroa$0$0 = 0;$cname$sroa$5$0 = 0;
} else {
$name$sroa$0$sroa$5$0$name$sroa$0$0$$sroa_cast21$sroa_idx80 = ((($0)) + 8|0);
$name$sroa$0$sroa$5$0$copyload = HEAP32[$name$sroa$0$sroa$5$0$name$sroa$0$0$$sroa_cast21$sroa_idx80>>2]|0;
$name$sroa$0$sroa$4$0$name$sroa$0$0$$sroa_cast21$sroa_idx78 = ((($0)) + 4|0);
$name$sroa$0$sroa$4$0$copyload = HEAP32[$name$sroa$0$sroa$4$0$name$sroa$0$0$$sroa_cast21$sroa_idx78>>2]|0;
HEAP32[$_5$i$i$i>>2] = $name$sroa$0$sroa$0$0$copyload;
$_9$sroa$0$sroa$4$0$_9$sroa$0$0$$sroa_cast39$sroa_idx76$i = ((($_5$i$i$i)) + 4|0);
HEAP32[$_9$sroa$0$sroa$4$0$_9$sroa$0$0$$sroa_cast39$sroa_idx76$i>>2] = $name$sroa$0$sroa$4$0$copyload;
$_9$sroa$0$sroa$5$0$_9$sroa$0$0$$sroa_cast39$sroa_idx78$i = ((($_5$i$i$i)) + 8|0);
HEAP32[$_9$sroa$0$sroa$5$0$_9$sroa$0$0$$sroa_cast39$sroa_idx78$i>>2] = $name$sroa$0$sroa$5$0$copyload;
__THREW__ = 0;
invoke_vii(95,($_4$i$i$i|0),($_5$i$i$i|0));
$1 = __THREW__; __THREW__ = 0;
$2 = $1&1;
do {
if (!($2)) {
$bytes$sroa$0$0$copyload$i$i$i$i = HEAP32[$_4$i$i$i>>2]|0;
$bytes$sroa$7$0$$sroa_idx24$i$i$i$i = ((($_4$i$i$i)) + 4|0);
$bytes$sroa$7$0$copyload$i$i$i$i = HEAP32[$bytes$sroa$7$0$$sroa_idx24$i$i$i$i>>2]|0;
$bytes$sroa$8$0$$sroa_idx30$i$i$i$i = ((($_4$i$i$i)) + 8|0);
$bytes$sroa$8$0$copyload$i$i$i$i = HEAP32[$bytes$sroa$8$0$$sroa_idx30$i$i$i$i>>2]|0;
$3 = (_memchr($bytes$sroa$0$0$copyload$i$i$i$i,0,$bytes$sroa$8$0$copyload$i$i$i$i)|0);
$4 = ($3|0)==(0|0);
if (!($4)) {
$5 = $3;
$6 = $bytes$sroa$0$0$copyload$i$i$i$i;
$7 = (($5) - ($6))|0;
HEAP32[$_11$i$i$i>>2] = $7;
$e$sroa$4$0$$sroa_idx23$i$i$i = ((($_11$i$i$i)) + 4|0);
HEAP32[$e$sroa$4$0$$sroa_idx23$i$i$i>>2] = $6;
$e$sroa$5$0$$sroa_idx25$i$i$i = ((($_11$i$i$i)) + 8|0);
HEAP32[$e$sroa$5$0$$sroa_idx25$i$i$i>>2] = $bytes$sroa$7$0$copyload$i$i$i$i;
$e$sroa$6$0$$sroa_idx27$i$i$i = ((($_11$i$i$i)) + 12|0);
HEAP32[$e$sroa$6$0$$sroa_idx27$i$i$i>>2] = $bytes$sroa$8$0$copyload$i$i$i$i;
__THREW__ = 0;
invoke_viii(96,(6410|0),47,($_11$i$i$i|0));
$8 = __THREW__; __THREW__ = 0;
break;
}
HEAP32[$_14$i$i$i$i>>2] = $bytes$sroa$0$0$copyload$i$i$i$i;
$bytes$sroa$7$0$$sroa_idx25$i$i$i$i = ((($_14$i$i$i$i)) + 4|0);
HEAP32[$bytes$sroa$7$0$$sroa_idx25$i$i$i$i>>2] = $bytes$sroa$7$0$copyload$i$i$i$i;
$bytes$sroa$8$0$$sroa_idx31$i$i$i$i = ((($_14$i$i$i$i)) + 8|0);
HEAP32[$bytes$sroa$8$0$$sroa_idx31$i$i$i$i>>2] = $bytes$sroa$8$0$copyload$i$i$i$i;
__THREW__ = 0;
invoke_vii(97,($_13$i$i$i$i|0),($_14$i$i$i$i|0));
$9 = __THREW__; __THREW__ = 0;
$10 = $9&1;
if (!($10)) {
$11 = HEAP32[$_13$i$i$i$i>>2]|0;
$_13$i$i$sroa_raw_idx$i$i = ((($_13$i$i$i$i)) + 4|0);
$12 = HEAP32[$_13$i$i$sroa_raw_idx$i$i>>2]|0;
$cname$sroa$0$0 = $11;$cname$sroa$5$0 = $12;
break L1;
}
}
} while(0);
$56 = ___cxa_find_matching_catch_2()|0;
$57 = tempRet0;
$personalityslot$sroa$0$0 = $56;$personalityslot$sroa$6$0 = $57;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
} while(0);
(_pthread_mutex_lock(((13192)|0))|0);
$13 = 13184;
$14 = $13;
$15 = HEAP32[$14>>2]|0;
$16 = (($13) + 4)|0;
$17 = $16;
$18 = HEAP32[$17>>2]|0;
$19 = ($15|0)==(-1);
$20 = ($18|0)==(-1);
$21 = $19 & $20;
do {
if ($21) {
(_pthread_mutex_unlock(((13192)|0))|0);
__THREW__ = 0;
invoke_viii(64,(6457|0),55,(2464|0));
$22 = __THREW__; __THREW__ = 0;
label = 24;
} else {
$23 = (_i64Add(($15|0),($18|0),1,0)|0);
$24 = tempRet0;
$25 = 13184;
$26 = $25;
HEAP32[$26>>2] = $23;
$27 = (($25) + 4)|0;
$28 = $27;
HEAP32[$28>>2] = $24;
(_pthread_mutex_unlock(((13192)|0))|0);
$29 = (___rust_allocate(24,8)|0);
$30 = ($29|0)==(0|0);
if ($30) {
__THREW__ = 0;
invoke_v(79);
$31 = __THREW__; __THREW__ = 0;
label = 24;
break;
}
;HEAP32[$29>>2]=HEAP32[(13216)>>2]|0;HEAP32[$29+4>>2]=HEAP32[(13216)+4>>2]|0;HEAP32[$29+8>>2]=HEAP32[(13216)+8>>2]|0;HEAP32[$29+12>>2]=HEAP32[(13216)+12>>2]|0;HEAP32[$29+16>>2]=HEAP32[(13216)+16>>2]|0;HEAP32[$29+20>>2]=HEAP32[(13216)+20>>2]|0;
$32 = $29;
HEAP32[$attr$i$i$i>>2] = 0;
(_pthread_mutexattr_init(($attr$i$i$i|0))|0);
(_pthread_mutexattr_settype(($attr$i$i$i|0),0)|0);
(_pthread_mutex_init(($29|0),($attr$i$i$i|0))|0);
(_pthread_mutexattr_destroy(($attr$i$i$i|0))|0);
$33 = (___rust_allocate(48,8)|0);
$34 = ($33|0)==(0|0);
do {
if ($34) {
__THREW__ = 0;
invoke_v(79);
$35 = __THREW__; __THREW__ = 0;
$36 = ___cxa_find_matching_catch_2()|0;
$37 = tempRet0;
$eh$lpad$body$index2Z2D = $37;$eh$lpad$body$indexZ2D = $36;
} else {
dest=$33; src=(13240); 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));
__THREW__ = 0;
invoke_vi(98,($33|0));
$40 = __THREW__; __THREW__ = 0;
$41 = $40&1;
if ($41) {
$38 = ___cxa_find_matching_catch_2()|0;
$39 = tempRet0;
(_pthread_cond_destroy(($33|0))|0);
___rust_deallocate($33,48,8);
$eh$lpad$body$index2Z2D = $39;$eh$lpad$body$indexZ2D = $38;
break;
}
$42 = (___rust_allocate(40,8)|0);
$43 = ($42|0)==(0|0);
if (!($43)) {
$47 = $33;
HEAP32[$42>>2] = 1;
$48 = ((($42)) + 4|0);
HEAP32[$48>>2] = 1;
$_8$sroa$0$0$$sroa_idx$i = ((($42)) + 8|0);
HEAP32[$_8$sroa$0$0$$sroa_idx$i>>2] = $cname$sroa$0$0;
$_8$sroa$4$0$$sroa_idx$i = ((($42)) + 12|0);
HEAP32[$_8$sroa$4$0$$sroa_idx$i>>2] = $cname$sroa$5$0;
$_8$sroa$5$0$$sroa_idx$i = ((($42)) + 16|0);
$49 = $_8$sroa$5$0$$sroa_idx$i;
$50 = $49;
HEAP32[$50>>2] = $15;
$51 = (($49) + 4)|0;
$52 = $51;
HEAP32[$52>>2] = $18;
$_8$sroa$6$0$$sroa_idx$i = ((($42)) + 24|0);
HEAP32[$_8$sroa$6$0$$sroa_idx$i>>2] = $32;
$_8$sroa$7$0$$sroa_idx$i = ((($42)) + 28|0);
HEAP32[$_8$sroa$7$0$$sroa_idx$i>>2] = 0;
$_8$sroa$8$0$$sroa_idx$i = ((($42)) + 32|0);
HEAP32[$_8$sroa$8$0$$sroa_idx$i>>2] = $47;
$_8$sroa$9$0$$sroa_idx$i = ((($42)) + 36|0);
HEAP32[$_8$sroa$9$0$$sroa_idx$i>>2] = 0;
$53 = $42;
STACKTOP = sp;return ($53|0);
}
__THREW__ = 0;
invoke_v(79);
$44 = __THREW__; __THREW__ = 0;
$45 = ___cxa_find_matching_catch_2()|0;
$46 = tempRet0;
$personalityslot$sroa$0$0 = $45;$personalityslot$sroa$6$0 = $46;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
} while(0);
(_pthread_mutex_destroy(($29|0))|0);
___rust_deallocate($29,24,8);
$personalityslot$sroa$0$1$ph = $eh$lpad$body$indexZ2D;$personalityslot$sroa$6$1$ph = $eh$lpad$body$index2Z2D;
}
} while(0);
if ((label|0) == 24) {
$58 = ___cxa_find_matching_catch_2()|0;
$59 = tempRet0;
$personalityslot$sroa$0$1$ph = $58;$personalityslot$sroa$6$1$ph = $59;
}
$54 = $cname$sroa$0$0;
$switchtmp$i = ($cname$sroa$0$0|0)==(0);
if ($switchtmp$i) {
$personalityslot$sroa$0$0 = $personalityslot$sroa$0$1$ph;$personalityslot$sroa$6$0 = $personalityslot$sroa$6$1$ph;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
HEAP8[$54>>0] = 0;
$55 = ($cname$sroa$5$0|0)==(0);
if ($55) {
$personalityslot$sroa$0$0 = $personalityslot$sroa$0$1$ph;$personalityslot$sroa$6$0 = $personalityslot$sroa$6$1$ph;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
___rust_deallocate($54,$cname$sroa$5$0,1);
$personalityslot$sroa$0$0 = $personalityslot$sroa$0$1$ph;$personalityslot$sroa$6$0 = $personalityslot$sroa$6$1$ph;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
return (0)|0;
}
function __ZN4core6result13unwrap_failed17h2cecbde05feb2576E($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_12 = 0, $_6$sroa$0$0$$sroa_idx$i = 0;
var $_7 = 0, $error = 0, $msg = 0, $not$$i$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$msg = sp + 56|0;
$error = sp + 40|0;
$_7 = sp + 16|0;
$_12 = sp;
HEAP32[$msg>>2] = $0;
$3 = ((($msg)) + 4|0);
HEAP32[$3>>2] = $1;
;HEAP32[$error>>2]=HEAP32[$2>>2]|0;HEAP32[$error+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$error+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$error+12>>2]=HEAP32[$2+12>>2]|0;
$4 = HEAP32[733]|0;
$5 = HEAP32[(2936)>>2]|0;
$6 = $msg;
$7 = $error;
HEAP32[$_12>>2] = $6;
$8 = ((($_12)) + 4|0);
HEAP32[$8>>2] = (86);
$9 = ((($_12)) + 8|0);
HEAP32[$9>>2] = $7;
$10 = ((($_12)) + 12|0);
HEAP32[$10>>2] = (99);
HEAP32[$_7>>2] = $4;
$11 = ((($_7)) + 4|0);
HEAP32[$11>>2] = $5;
$_6$sroa$0$0$$sroa_idx$i = ((($_7)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$12 = ((($_7)) + 16|0);
HEAP32[$12>>2] = $_12;
$13 = ((($_7)) + 20|0);
HEAP32[$13>>2] = 2;
__THREW__ = 0;
invoke_vii(100,($_7|0),(2920|0));
$14 = __THREW__; __THREW__ = 0;
$15 = ___cxa_find_matching_catch_2()|0;
$16 = tempRet0;
$17 = ((($error)) + 8|0);
$18 = HEAP32[$17>>2]|0;
$not$$i$i$i$i$i = ($18|0)==(0);
if ($not$$i$i$i$i$i) {
___resumeException($15|0);
// unreachable;
}
$19 = ((($error)) + 4|0);
$20 = HEAP32[$19>>2]|0;
___rust_deallocate($20,$18,1);
___resumeException($15|0);
// unreachable;
}
function __ZN3std3ffi5c_str7CString18from_vec_unchecked17hef96674ec6302f7bE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$pre$i = 0, $$sreg$field = 0, $$sreg$field2 = 0, $$sreg$index1 = 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, $3 = 0, $4 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_9 = 0, $not$$i$i$i$i = 0, $v = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$2 = sp;
$v = sp + 24|0;
$_9 = sp + 8|0;
;HEAP32[$v>>2]=HEAP32[$1>>2]|0;HEAP32[$v+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$v+8>>2]=HEAP32[$1+8>>2]|0;
__THREW__ = 0;
invoke_vii(101,($v|0),1);
$3 = __THREW__; __THREW__ = 0;
$4 = $3&1;
do {
if (!($4)) {
$6 = ((($v)) + 8|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($v)) + 4|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($7|0)==($9|0);
if ($10) {
__THREW__ = 0;
invoke_vi(102,($v|0));
$11 = __THREW__; __THREW__ = 0;
$12 = $11&1;
if ($12) {
break;
}
$$pre$i = HEAP32[$6>>2]|0;
$15 = $$pre$i;
} else {
$15 = $7;
}
$13 = HEAP32[$v>>2]|0;
$14 = (($13) + ($15)|0);
HEAP8[$14>>0] = 0;
$16 = (($15) + 1)|0;
HEAP32[$6>>2] = $16;
;HEAP32[$_9>>2]=HEAP32[$v>>2]|0;HEAP32[$_9+4>>2]=HEAP32[$v+4>>2]|0;HEAP32[$_9+8>>2]=HEAP32[$v+8>>2]|0;
__ZN39__LT_collections__vec__Vec_LT_T_GT__GT_16into_boxed_slice17heb9aff0db942310cE($2,$_9);
$$sreg$field = HEAP32[$2>>2]|0;
$$sreg$index1 = ((($2)) + 4|0);
$$sreg$field2 = HEAP32[$$sreg$index1>>2]|0;
HEAP32[$0>>2] = $$sreg$field;
$17 = ((($0)) + 4|0);
HEAP32[$17>>2] = $$sreg$field2;
STACKTOP = sp;return;
}
} while(0);
$5 = ___cxa_find_matching_catch_2()|0;
$18 = tempRet0;
$19 = ((($v)) + 4|0);
$20 = HEAP32[$19>>2]|0;
$not$$i$i$i$i = ($20|0)==(0);
if ($not$$i$i$i$i) {
___resumeException($5|0);
// unreachable;
}
$21 = HEAP32[$v>>2]|0;
___rust_deallocate($21,$20,1);
___resumeException($5|0);
// unreachable;
}
function __ZN3std3sys3imp7condvar7Condvar4init17hb38fd69b72272bfcE($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 $_103 = 0, $_135 = 0, $_140 = 0, $_22 = 0, $_27 = 0, $_59 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_6$sroa$0$0$$sroa_idx$i26 = 0, $_6$sroa$0$0$$sroa_idx$i27 = 0, $_6$sroa$0$0$$sroa_idx$i28 = 0, $_64 = 0, $_98 = 0, $attr = 0, $left_val = 0, $left_val2 = 0, $left_val5 = 0, $left_val8 = 0, $r = 0, $r1 = 0, $r4 = 0;
var $r7 = 0, $right_val = 0, $right_val3 = 0, $right_val6 = 0, $right_val9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
$attr = sp + 160|0;
$r = sp + 208|0;
$left_val = sp + 204|0;
$right_val = sp + 200|0;
$_22 = sp + 136|0;
$_27 = sp + 120|0;
$r1 = sp + 196|0;
$left_val2 = sp + 192|0;
$right_val3 = sp + 188|0;
$_59 = sp + 96|0;
$_64 = sp + 80|0;
$r4 = sp + 184|0;
$left_val5 = sp + 180|0;
$right_val6 = sp + 176|0;
$_98 = sp + 56|0;
$_103 = sp + 40|0;
$r7 = sp + 172|0;
$left_val8 = sp + 168|0;
$right_val9 = sp + 164|0;
$_135 = sp + 16|0;
$_140 = sp;
HEAP32[$attr>>2] = 0;
$1 = (_pthread_condattr_init(($attr|0))|0);
HEAP32[$r>>2] = $1;
HEAP32[$left_val>>2] = $r;
HEAP32[$right_val>>2] = 13316;
$2 = ($1|0)==(0);
if (!($2)) {
$3 = $left_val;
$4 = $right_val;
HEAP32[$_27>>2] = $3;
$5 = ((($_27)) + 4|0);
HEAP32[$5>>2] = (93);
$6 = ((($_27)) + 8|0);
HEAP32[$6>>2] = $4;
$7 = ((($_27)) + 12|0);
HEAP32[$7>>2] = (93);
HEAP32[$_22>>2] = 2192;
$8 = ((($_22)) + 4|0);
HEAP32[$8>>2] = 3;
$_6$sroa$0$0$$sroa_idx$i = ((($_22)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$9 = ((($_22)) + 16|0);
HEAP32[$9>>2] = $_27;
$10 = ((($_22)) + 20|0);
HEAP32[$10>>2] = 2;
__ZN3std9panicking15begin_panic_fmt17h0b5c900cf8f76eedE($_22,2316);
// unreachable;
}
$11 = (_pthread_condattr_setclock(($attr|0),1)|0);
HEAP32[$r1>>2] = $11;
HEAP32[$left_val2>>2] = $r1;
HEAP32[$right_val3>>2] = 13316;
$12 = ($11|0)==(0);
if (!($12)) {
$13 = $left_val2;
$14 = $right_val3;
HEAP32[$_64>>2] = $13;
$15 = ((($_64)) + 4|0);
HEAP32[$15>>2] = (93);
$16 = ((($_64)) + 8|0);
HEAP32[$16>>2] = $14;
$17 = ((($_64)) + 12|0);
HEAP32[$17>>2] = (93);
HEAP32[$_59>>2] = 2192;
$18 = ((($_59)) + 4|0);
HEAP32[$18>>2] = 3;
$_6$sroa$0$0$$sroa_idx$i26 = ((($_59)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i26>>2] = 0;
$19 = ((($_59)) + 16|0);
HEAP32[$19>>2] = $_64;
$20 = ((($_59)) + 20|0);
HEAP32[$20>>2] = 2;
__ZN3std9panicking15begin_panic_fmt17h0b5c900cf8f76eedE($_59,2304);
// unreachable;
}
$21 = (_pthread_cond_init(($0|0),($attr|0))|0);
HEAP32[$r4>>2] = $21;
HEAP32[$left_val5>>2] = $r4;
HEAP32[$right_val6>>2] = 13316;
$22 = ($21|0)==(0);
if (!($22)) {
$23 = $left_val5;
$24 = $right_val6;
HEAP32[$_103>>2] = $23;
$25 = ((($_103)) + 4|0);
HEAP32[$25>>2] = (93);
$26 = ((($_103)) + 8|0);
HEAP32[$26>>2] = $24;
$27 = ((($_103)) + 12|0);
HEAP32[$27>>2] = (93);
HEAP32[$_98>>2] = 2192;
$28 = ((($_98)) + 4|0);
HEAP32[$28>>2] = 3;
$_6$sroa$0$0$$sroa_idx$i27 = ((($_98)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i27>>2] = 0;
$29 = ((($_98)) + 16|0);
HEAP32[$29>>2] = $_103;
$30 = ((($_98)) + 20|0);
HEAP32[$30>>2] = 2;
__ZN3std9panicking15begin_panic_fmt17h0b5c900cf8f76eedE($_98,2292);
// unreachable;
}
$31 = (_pthread_condattr_destroy(($attr|0))|0);
HEAP32[$r7>>2] = $31;
HEAP32[$left_val8>>2] = $r7;
HEAP32[$right_val9>>2] = 13316;
$32 = ($31|0)==(0);
if ($32) {
STACKTOP = sp;return;
} else {
$33 = $left_val8;
$34 = $right_val9;
HEAP32[$_140>>2] = $33;
$35 = ((($_140)) + 4|0);
HEAP32[$35>>2] = (93);
$36 = ((($_140)) + 8|0);
HEAP32[$36>>2] = $34;
$37 = ((($_140)) + 12|0);
HEAP32[$37>>2] = (93);
HEAP32[$_135>>2] = 2192;
$38 = ((($_135)) + 4|0);
HEAP32[$38>>2] = 3;
$_6$sroa$0$0$$sroa_idx$i28 = ((($_135)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i28>>2] = 0;
$39 = ((($_135)) + 16|0);
HEAP32[$39>>2] = $_140;
$40 = ((($_135)) + 20|0);
HEAP32[$40>>2] = 2;
__ZN3std9panicking15begin_panic_fmt17h0b5c900cf8f76eedE($_135,2280);
// unreachable;
}
}
function __ZN39__LT_collections__vec__Vec_LT_T_GT__GT_13reserve_exact17h25f269886cd136c9E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$arith = 0, $$overflow = 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, $ptr$0$i = 0, label = 0, 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) {
__ZN4core6option13expect_failed17h199949141d849bddE(6512,17);
// unreachable;
}
$8 = ($$arith|0)<(0);
if ($8) {
__ZN4core9panicking5panic17h7842870c7e688275E(2856);
// unreachable;
}
$9 = ($5|0)==(0);
if ($9) {
$10 = (___rust_allocate($$arith,1)|0);
$ptr$0$i = $10;
} else {
$11 = HEAP32[$0>>2]|0;
$12 = (___rust_reallocate($11,$5,$$arith,1)|0);
$ptr$0$i = $12;
}
$13 = ($ptr$0$i|0)==(0|0);
if ($13) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
}
HEAP32[$0>>2] = $ptr$0$i;
HEAP32[$4>>2] = $$arith;
return;
}
function __ZN40__LT_alloc__raw_vec__RawVec_LT_T_GT__GT_6double17h311bb811fac4931eE($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_14$sroa$0$0 = 0, $_14$sroa$5$0 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 4|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(0);
do {
if ($3) {
$8 = (___rust_allocate(4,1)|0);
$_14$sroa$0$0 = 4;$_14$sroa$5$0 = $8;
} else {
$4 = $2 << 1;
$5 = ($4|0)<(0);
if ($5) {
__ZN4core9panicking5panic17h7842870c7e688275E(2856);
// unreachable;
} else {
$6 = HEAP32[$0>>2]|0;
$7 = (___rust_reallocate($6,$2,$4,1)|0);
$_14$sroa$0$0 = $4;$_14$sroa$5$0 = $7;
break;
}
}
} while(0);
$9 = ($_14$sroa$5$0|0)==(0|0);
if ($9) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
} else {
HEAP32[$0>>2] = $_14$sroa$5$0;
HEAP32[$1>>2] = $_14$sroa$0$0;
return;
}
}
function __ZN39__LT_collections__vec__Vec_LT_T_GT__GT_16into_boxed_slice17heb9aff0db942310cE($retVal,$0) {
$retVal = $retVal|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, $not$$i$i$i$i = 0, $not$$i$i$i$i15 = 0, $retVal$index1 = 0, $self$sroa$0$0$$sroa_cast28$sroa_idx = 0, $self$sroa$0$0$copyload46 = 0, $self$sroa$0$0$copyload48 = 0;
var $self$sroa$0$sroa$0$0 = 0, $self$sroa$0$sroa$10$0 = 0, $self$sroa$13$0$$sroa_idx39 = 0, $self$sroa$13$0$copyload = 0, label = 0, sp = 0;
sp = STACKTOP;
$self$sroa$0$0$copyload46 = HEAP32[$0>>2]|0;
$self$sroa$0$0$$sroa_cast28$sroa_idx = ((($0)) + 4|0);
$self$sroa$0$0$copyload48 = HEAP32[$self$sroa$0$0$$sroa_cast28$sroa_idx>>2]|0;
$self$sroa$13$0$$sroa_idx39 = ((($0)) + 8|0);
$self$sroa$13$0$copyload = HEAP32[$self$sroa$13$0$$sroa_idx39>>2]|0;
$1 = ($self$sroa$0$0$copyload48>>>0)<($self$sroa$13$0$copyload>>>0);
L1: do {
if ($1) {
__THREW__ = 0;
invoke_vi(78,(2836|0));
$2 = __THREW__; __THREW__ = 0;
} else {
$3 = ($self$sroa$13$0$copyload|0)==(0);
do {
if ($3) {
$not$$i$i$i$i = ($self$sroa$0$0$copyload48|0)==(0);
if ($not$$i$i$i$i) {
$self$sroa$0$sroa$0$0 = 1;$self$sroa$0$sroa$10$0 = 0;
} else {
$4 = $self$sroa$0$0$copyload46;
___rust_deallocate($4,$self$sroa$0$0$copyload48,1);
$self$sroa$0$sroa$0$0 = 1;$self$sroa$0$sroa$10$0 = 0;
}
} else {
$5 = ($self$sroa$0$0$copyload48|0)==($self$sroa$13$0$copyload|0);
if ($5) {
$self$sroa$0$sroa$0$0 = $self$sroa$0$0$copyload46;$self$sroa$0$sroa$10$0 = $self$sroa$0$0$copyload48;
} else {
$6 = $self$sroa$0$0$copyload46;
$7 = (___rust_reallocate($6,$self$sroa$0$0$copyload48,$self$sroa$13$0$copyload,1)|0);
$8 = ($7|0)==(0|0);
if ($8) {
__THREW__ = 0;
invoke_v(79);
$9 = __THREW__; __THREW__ = 0;
break L1;
} else {
$10 = $7;
$self$sroa$0$sroa$0$0 = $10;$self$sroa$0$sroa$10$0 = $self$sroa$13$0$copyload;
break;
}
}
}
} while(0);
$12 = $self$sroa$0$sroa$0$0;
HEAP32[$retVal>>2] = $12;
$retVal$index1 = ((($retVal)) + 4|0);
HEAP32[$retVal$index1>>2] = $self$sroa$0$sroa$10$0;
return;
}
} while(0);
$11 = ___cxa_find_matching_catch_2()|0;
$13 = tempRet0;
$not$$i$i$i$i15 = ($self$sroa$0$0$copyload48|0)==(0);
if ($not$$i$i$i$i15) {
___resumeException($11|0);
// unreachable;
}
$14 = $self$sroa$0$0$copyload46;
___rust_deallocate($14,$self$sroa$0$0$copyload48,1);
___resumeException($11|0);
// unreachable;
}
function __ZN62__LT_std__ffi__c_str__NulError_u20_as_u20_core__fmt__Debug_GT_3fmt17hf6e6459e32dea0f4E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $_16 = 0, $_22 = 0, $builder = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$builder = sp;
$_16 = sp + 20|0;
$_22 = sp + 16|0;
$2 = ((($0)) + 4|0);
__ZN4core3fmt8builders15debug_tuple_new17h47104df397fae61fE($builder,$1,6529,8);
HEAP32[$_16>>2] = $0;
(__ZN4core3fmt8builders10DebugTuple5field17habc4853fa96c697cE($builder,$_16,208)|0);
HEAP32[$_22>>2] = $2;
(__ZN4core3fmt8builders10DebugTuple5field17habc4853fa96c697cE($builder,$_22,224)|0);
$3 = (__ZN4core3fmt8builders10DebugTuple6finish17h564a1cf01486d042E($builder)|0);
STACKTOP = sp;return ($3|0);
}
function __ZN53__LT__RF__u27_a_u20_T_u20_as_u20_core__fmt__Debug_GT_3fmt17he3e672703783965cE($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, $_8$i$i = 0, $entry$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$entry$i$i$i = sp + 8|0;
$_8$i$i = sp;
$2 = HEAP32[$0>>2]|0;
$3 = HEAP32[$2>>2]|0;
$4 = ((($2)) + 8|0);
$5 = HEAP32[$4>>2]|0;
__ZN4core3fmt8builders14debug_list_new17h488b25187e18b842E($_8$i$i,$1);
$6 = (($3) + ($5)|0);
$7 = ($5|0)==(0);
if (!($7)) {
$9 = $3;
while(1) {
$8 = ((($9)) + 1|0);
HEAP32[$entry$i$i$i>>2] = $9;
(__ZN4core3fmt8builders9DebugList5entry17hbd8ca6411b27d3c0E($_8$i$i,$entry$i$i$i,240)|0);
$10 = ($8|0)==($6|0);
if ($10) {
break;
} else {
$9 = $8;
}
}
}
$11 = (__ZN4core3fmt8builders9DebugList6finish17hddbce7136dbcb81aE($_8$i$i)|0);
STACKTOP = sp;return ($11|0);
}
function __ZN53__LT__RF__u27_a_u20_T_u20_as_u20_core__fmt__Debug_GT_3fmt17h04985862b4fcbd12E($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 = (__ZN4core3fmt3num49__LT_impl_u20_core__fmt__Debug_u20_for_u20_u8_GT_3fmt17h12b2a76cb508f5ebE($2,$1)|0);
return ($3|0);
}
function __ZN53__LT__RF__u27_a_u20_T_u20_as_u20_core__fmt__Debug_GT_3fmt17hfe092e253a460d45E($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 = (__ZN4core3fmt3num52__LT_impl_u20_core__fmt__Debug_u20_for_u20_usize_GT_3fmt17h5388028cc0adc33cE($2,$1)|0);
return ($3|0);
}
function __ZN3std3ffi5c_str7CString3new17hb36e04772ea4f55bE($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$sink$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, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_10$sroa$4$sroa$0$0$_10$sroa$4$0$$sroa_cast8$sroa_idx$i = 0, $_10$sroa$4$sroa$4$0$_10$sroa$4$0$$sroa_cast8$sroa_idx42$i = 0, $_10$sroa$4$sroa$5$0$_10$sroa$4$0$$sroa_cast8$sroa_idx44$i = 0, $_13$i = 0, $_14$i = 0;
var $_4$sroa$0$0$copyload = 0, $_4$sroa$0$0$copyload$pre = 0, $_4$sroa$4$0$copyload = 0, $bytes$sroa$7$0$$sroa_idx25$i = 0, $bytes$sroa$8$0$$sroa_idx31$i = 0, $local_len$sroa$5$0$lcssa$i$i$i$i$i = 0, $not$$i$i$i$i$i$i$i$i = 0, $ptr$0$i$i$i$i$i$i = 0, $vector$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$_13$i = sp + 32|0;
$_14$i = sp + 16|0;
$vector$i$i$i$i = sp;
$3 = ($2|0)<(0);
if ($3) {
__ZN4core9panicking5panic17h7842870c7e688275E(2856);
// unreachable;
}
$5 = ($2|0)==(0);
if ($5) {
$ptr$0$i$i$i$i$i$i = (1);
} else {
$6 = (___rust_allocate($2,1)|0);
$7 = ($6|0)==(0|0);
if ($7) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// 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] = $2;
$10 = ((($vector$i$i$i$i)) + 8|0);
HEAP32[$10>>2] = 0;
__THREW__ = 0;
invoke_vii(80,($vector$i$i$i$i|0),($2|0));
$11 = __THREW__; __THREW__ = 0;
$12 = $11&1;
if ($12) {
$4 = ___cxa_find_matching_catch_2()|0;
$17 = tempRet0;
$18 = HEAP32[$9>>2]|0;
$not$$i$i$i$i$i$i$i$i = ($18|0)==(0);
if ($not$$i$i$i$i$i$i$i$i) {
___resumeException($4|0);
// unreachable;
}
$19 = HEAP32[$vector$i$i$i$i>>2]|0;
___rust_deallocate($19,$18,1);
___resumeException($4|0);
// unreachable;
}
$13 = HEAP32[$10>>2]|0;
if ($5) {
$_4$sroa$0$0$copyload$pre = HEAP32[$vector$i$i$i$i>>2]|0;
$_4$sroa$0$0$copyload = $_4$sroa$0$0$copyload$pre;$local_len$sroa$5$0$lcssa$i$i$i$i$i = $13;
} else {
$14 = (($13) + ($2))|0;
$15 = HEAP32[$vector$i$i$i$i>>2]|0;
$16 = (($15) + ($13)|0);
_memcpy(($16|0),($1|0),($2|0))|0;
$_4$sroa$0$0$copyload = $15;$local_len$sroa$5$0$lcssa$i$i$i$i$i = $14;
}
HEAP32[$10>>2] = $local_len$sroa$5$0$lcssa$i$i$i$i$i;
$_4$sroa$4$0$copyload = HEAP32[$9>>2]|0;
$20 = (_memchr($_4$sroa$0$0$copyload,0,$local_len$sroa$5$0$lcssa$i$i$i$i$i)|0);
$21 = ($20|0)==(0|0);
if ($21) {
HEAP32[$_14$i>>2] = $_4$sroa$0$0$copyload;
$bytes$sroa$7$0$$sroa_idx25$i = ((($_14$i)) + 4|0);
HEAP32[$bytes$sroa$7$0$$sroa_idx25$i>>2] = $_4$sroa$4$0$copyload;
$bytes$sroa$8$0$$sroa_idx31$i = ((($_14$i)) + 8|0);
HEAP32[$bytes$sroa$8$0$$sroa_idx31$i>>2] = $local_len$sroa$5$0$lcssa$i$i$i$i$i;
__ZN3std3ffi5c_str7CString18from_vec_unchecked17hef96674ec6302f7bE($_13$i,$_14$i);
$22 = ((($0)) + 4|0);
$23 = $_13$i;
$24 = $23;
$25 = HEAP32[$24>>2]|0;
$26 = (($23) + 4)|0;
$27 = $26;
$28 = HEAP32[$27>>2]|0;
$29 = $22;
$30 = $29;
HEAP32[$30>>2] = $25;
$31 = (($29) + 4)|0;
$32 = $31;
HEAP32[$32>>2] = $28;
$$sink$i = 0;
HEAP32[$0>>2] = $$sink$i;
STACKTOP = sp;return;
} else {
$33 = $20;
$34 = $_4$sroa$0$0$copyload;
$35 = (($33) - ($34))|0;
$36 = ((($0)) + 4|0);
HEAP32[$36>>2] = $35;
$_10$sroa$4$sroa$0$0$_10$sroa$4$0$$sroa_cast8$sroa_idx$i = ((($0)) + 8|0);
HEAP32[$_10$sroa$4$sroa$0$0$_10$sroa$4$0$$sroa_cast8$sroa_idx$i>>2] = $_4$sroa$0$0$copyload;
$_10$sroa$4$sroa$4$0$_10$sroa$4$0$$sroa_cast8$sroa_idx42$i = ((($0)) + 12|0);
HEAP32[$_10$sroa$4$sroa$4$0$_10$sroa$4$0$$sroa_cast8$sroa_idx42$i>>2] = $_4$sroa$4$0$copyload;
$_10$sroa$4$sroa$5$0$_10$sroa$4$0$$sroa_cast8$sroa_idx44$i = ((($0)) + 16|0);
HEAP32[$_10$sroa$4$sroa$5$0$_10$sroa$4$0$$sroa_cast8$sroa_idx44$i>>2] = $local_len$sroa$5$0$lcssa$i$i$i$i$i;
$$sink$i = 1;
HEAP32[$0>>2] = $$sink$i;
STACKTOP = sp;return;
}
}
function __ZN3std3ffi5c_str104__LT_impl_u20_core__convert__From_LT_std__ffi__c_str__NulError_GT__u20_for_u20_std__io__error__Error_GT_4from17h37018db6d365fbdaE($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_3$i$i$i = 0, $_5$sroa$4$0$$sroa_idx6$i = 0;
var $not$$i$i$i$i$i = 0, $not$$i$i$i$i$i12 = 0, $x$i$sroa$4$0$$sroa_raw_idx$i = 0, $x$i$sroa$4$i = 0, $x$i$sroa$5$0$$sroa_idx$i = 0, $x$i$sroa$6$0$$sroa_idx$i = 0, $x$sroa$0$i$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$x$i$sroa$4$i = sp + 28|0;
$x$sroa$0$i$i$i$i$i = sp + 16|0;
$_3$i$i$i = sp;
__THREW__ = 0;
invoke_viii(88,($_3$i$i$i|0),(6600|0),33);
$2 = __THREW__; __THREW__ = 0;
$3 = $2&1;
do {
if (!($3)) {
;HEAP32[$x$sroa$0$i$i$i$i$i>>2]=HEAP32[$_3$i$i$i>>2]|0;HEAP32[$x$sroa$0$i$i$i$i$i+4>>2]=HEAP32[$_3$i$i$i+4>>2]|0;HEAP32[$x$sroa$0$i$i$i$i$i+8>>2]=HEAP32[$_3$i$i$i+8>>2]|0;
$4 = (___rust_allocate(12,4)|0);
$5 = ($4|0)==(0|0);
if ($5) {
__THREW__ = 0;
invoke_v(79);
$6 = __THREW__; __THREW__ = 0;
break;
}
;HEAP32[$4>>2]=HEAP32[$x$sroa$0$i$i$i$i$i>>2]|0;HEAP32[$4+4>>2]=HEAP32[$x$sroa$0$i$i$i$i$i+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$x$sroa$0$i$i$i$i$i+8>>2]|0;
$7 = (___rust_allocate(12,4)|0);
$8 = ($7|0)==(0|0);
if ($8) {
__THREW__ = 0;
invoke_v(79);
$9 = __THREW__; __THREW__ = 0;
break;
}
HEAP8[$7>>0] = 11;
$x$i$sroa$4$0$$sroa_raw_idx$i = ((($7)) + 1|0);
;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i>>0]=HEAP8[$x$i$sroa$4$i>>0]|0;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i+1>>0]=HEAP8[$x$i$sroa$4$i+1>>0]|0;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i+2>>0]=HEAP8[$x$i$sroa$4$i+2>>0]|0;
$x$i$sroa$5$0$$sroa_idx$i = ((($7)) + 4|0);
HEAP32[$x$i$sroa$5$0$$sroa_idx$i>>2] = $4;
$x$i$sroa$6$0$$sroa_idx$i = ((($7)) + 8|0);
HEAP32[$x$i$sroa$6$0$$sroa_idx$i>>2] = 136;
HEAP32[$0>>2] = 1;
$_5$sroa$4$0$$sroa_idx6$i = ((($0)) + 4|0);
HEAP32[$_5$sroa$4$0$$sroa_idx6$i>>2] = $7;
$11 = ((($1)) + 8|0);
$12 = HEAP32[$11>>2]|0;
$not$$i$i$i$i$i = ($12|0)==(0);
if ($not$$i$i$i$i$i) {
STACKTOP = sp;return;
}
$13 = ((($1)) + 4|0);
$14 = HEAP32[$13>>2]|0;
___rust_deallocate($14,$12,1);
STACKTOP = sp;return;
}
} while(0);
$10 = ___cxa_find_matching_catch_2()|0;
$15 = tempRet0;
$16 = ((($1)) + 8|0);
$17 = HEAP32[$16>>2]|0;
$not$$i$i$i$i$i12 = ($17|0)==(0);
if ($not$$i$i$i$i$i12) {
___resumeException($10|0);
// unreachable;
}
$18 = ((($1)) + 4|0);
$19 = HEAP32[$18>>2]|0;
___rust_deallocate($19,$17,1);
___resumeException($10|0);
// unreachable;
}
function __ZN39__LT_collections__vec__Vec_LT_T_GT__GT_7reserve17h78bfb0aa55abb3ddE($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$0$sroa$speculated$i$i$i = 0, $ptr$0$i = 0, label = 0, 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) {
__ZN4core6option13expect_failed17h199949141d849bddE(6512,17);
// unreachable;
}
$8 = $5 << 1;
$9 = ($$arith>>>0)>=($8>>>0);
$_0$0$sroa$speculated$i$i$i = $9 ? $$arith : $8;
$10 = ($_0$0$sroa$speculated$i$i$i|0)<(0);
if ($10) {
__ZN4core9panicking5panic17h7842870c7e688275E(2856);
// unreachable;
}
$11 = ($5|0)==(0);
if ($11) {
$12 = (___rust_allocate($_0$0$sroa$speculated$i$i$i,1)|0);
$ptr$0$i = $12;
} else {
$13 = HEAP32[$0>>2]|0;
$14 = (___rust_reallocate($13,$5,$_0$0$sroa$speculated$i$i$i,1)|0);
$ptr$0$i = $14;
}
$15 = ($ptr$0$i|0)==(0|0);
if ($15) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
}
HEAP32[$0>>2] = $ptr$0$i;
HEAP32[$4>>2] = $_0$0$sroa$speculated$i$i$i;
return;
}
function __ZN53__LT__RF__u27_a_u20_T_u20_as_u20_core__fmt__Debug_GT_3fmt17h84fd00d13a8fb836E($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 = (__ZN65__LT_std__sys__imp__os_str__Slice_u20_as_u20_core__fmt__Debug_GT_3fmt17hd701291d530501fcE($2,$4,$1)|0);
return ($5|0);
}
function __ZN65__LT_std__sys__imp__os_str__Slice_u20_as_u20_core__fmt__Debug_GT_3fmt17hd701291d530501fcE($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$sroa$0$0$i16 = 0, $_6 = 0, $not$$i$i$i$i$i$i = 0;
var $not$$i$i$i$i$i$i12 = 0, $switch$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$_6 = sp;
__ZN11collections6string6String15from_utf8_lossy17h26e62798961bbfa1E($_6,$0,$1);
$3 = HEAP32[$_6>>2]|0;
$switch$i = ($3|0)==(1);
$4 = ((($_6)) + 4|0);
$5 = HEAP32[$4>>2]|0;
if (!($switch$i)) {
$6 = ((($_6)) + 8|0);
$7 = HEAP32[$6>>2]|0;
$8 = (__ZN40__LT_str_u20_as_u20_core__fmt__Debug_GT_3fmt17heb04748374127a20E($5,$7,$2)|0);
$_0$sroa$0$0$i16 = $8;
STACKTOP = sp;return ($_0$sroa$0$0$i16|0);
}
$9 = ((($_6)) + 12|0);
$10 = HEAP32[$9>>2]|0;
__THREW__ = 0;
$11 = (invoke_iiii(103,($5|0),($10|0),($2|0))|0);
$12 = __THREW__; __THREW__ = 0;
$13 = $12&1;
if ($13) {
$14 = ___cxa_find_matching_catch_2()|0;
$17 = tempRet0;
$18 = ((($_6)) + 8|0);
$19 = HEAP32[$18>>2]|0;
$not$$i$i$i$i$i$i12 = ($19|0)==(0);
if ($not$$i$i$i$i$i$i12) {
___resumeException($14|0);
// unreachable;
}
___rust_deallocate($5,$19,1);
___resumeException($14|0);
// unreachable;
} else {
$15 = ((($_6)) + 8|0);
$16 = HEAP32[$15>>2]|0;
$not$$i$i$i$i$i$i = ($16|0)==(0);
if ($not$$i$i$i$i$i$i) {
$_0$sroa$0$0$i16 = $11;
STACKTOP = sp;return ($_0$sroa$0$0$i16|0);
}
___rust_deallocate($5,$16,1);
$_0$sroa$0$0$i16 = $11;
STACKTOP = sp;return ($_0$sroa$0$0$i16|0);
}
return (0)|0;
}
function __ZN4drop17h2079f0d619c8e718E($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $not$$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 4|0);
$2 = HEAP32[$1>>2]|0;
$not$$i$i$i$i = ($2|0)==(0);
if ($not$$i$i$i$i) {
return;
}
$3 = HEAP32[$0>>2]|0;
___rust_deallocate($3,$2,1);
return;
}
function __ZN36__LT_T_u20_as_u20_core__any__Any_GT_11get_type_id17haddcbac4170296f5E($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
tempRet0 = (-585903640);
return 1517333009;
}
function __ZN96__LT_core__fmt__Write__write_fmt__Adapter_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_str17hddae344dbf3e54c6E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $local_len$sroa$5$0$lcssa$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[$0>>2]|0;
__ZN39__LT_collections__vec__Vec_LT_T_GT__GT_7reserve17h78bfb0aa55abb3ddE($3,$2);
$4 = ((($3)) + 8|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($2|0)==(0);
if ($6) {
$local_len$sroa$5$0$lcssa$i$i$i = $5;
HEAP32[$4>>2] = $local_len$sroa$5$0$lcssa$i$i$i;
return 0;
}
$7 = (($5) + ($2))|0;
$8 = HEAP32[$3>>2]|0;
$9 = (($8) + ($5)|0);
_memcpy(($9|0),($1|0),($2|0))|0;
$local_len$sroa$5$0$lcssa$i$i$i = $7;
HEAP32[$4>>2] = $local_len$sroa$5$0$lcssa$i$i$i;
return 0;
}
function __ZN96__LT_core__fmt__Write__write_fmt__Adapter_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_10write_char17heff3a01fbc621ab2E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$pre$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, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_19$i$i = 0, $_19$i$i$1$_19$i$1$$sroa_raw_idx = 0, $_19$i$i$1$_19$i$1$$sroa_raw_idx7 = 0, $_19$i$i$1$_19$i$1$$sroa_raw_idx9 = 0, $_19$i$i$2$_19$i$2$$sroa_raw_idx = 0, $_19$i$i$2$_19$i$2$$sroa_raw_idx11 = 0;
var $_19$i$i$3$_19$i$3$$sroa_raw_idx = 0, $len$2$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$_19$i$i = sp;
$2 = HEAP32[$0>>2]|0;
$3 = ($1>>>0)<(128);
if ($3) {
$4 = $1&255;
$5 = ((($2)) + 8|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($2)) + 4|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($6|0)==($8|0);
if ($9) {
__ZN40__LT_alloc__raw_vec__RawVec_LT_T_GT__GT_6double17h311bb811fac4931eE($2);
$$pre$i$i$i = HEAP32[$5>>2]|0;
$12 = $$pre$i$i$i;
} else {
$12 = $6;
}
$10 = HEAP32[$2>>2]|0;
$11 = (($10) + ($12)|0);
HEAP8[$11>>0] = $4;
$13 = HEAP32[$5>>2]|0;
$14 = (($13) + 1)|0;
HEAP32[$5>>2] = $14;
STACKTOP = sp;return 0;
}
HEAP32[$_19$i$i>>2] = 0;
$15 = ($1>>>0)<(2048);
do {
if ($15) {
$16 = $1 >>> 6;
$17 = $16 & 31;
$18 = $17&255;
$19 = $18 | -64;
HEAP8[$_19$i$i>>0] = $19;
$20 = $1 & 63;
$21 = $20&255;
$22 = $21 | -128;
$_19$i$i$1$_19$i$1$$sroa_raw_idx9 = ((($_19$i$i)) + 1|0);
HEAP8[$_19$i$i$1$_19$i$1$$sroa_raw_idx9>>0] = $22;
$len$2$i$i$i$i = 2;
} else {
$23 = ($1>>>0)<(65536);
if ($23) {
$24 = $1 >>> 12;
$25 = $24 & 15;
$26 = $25&255;
$27 = $26 | -32;
HEAP8[$_19$i$i>>0] = $27;
$28 = $1 >>> 6;
$29 = $28 & 63;
$30 = $29&255;
$31 = $30 | -128;
$_19$i$i$1$_19$i$1$$sroa_raw_idx7 = ((($_19$i$i)) + 1|0);
HEAP8[$_19$i$i$1$_19$i$1$$sroa_raw_idx7>>0] = $31;
$32 = $1 & 63;
$33 = $32&255;
$34 = $33 | -128;
$_19$i$i$2$_19$i$2$$sroa_raw_idx11 = ((($_19$i$i)) + 2|0);
HEAP8[$_19$i$i$2$_19$i$2$$sroa_raw_idx11>>0] = $34;
$len$2$i$i$i$i = 3;
break;
} else {
$35 = $1 >>> 18;
$36 = $35 & 7;
$37 = $36&255;
$38 = $37 | -16;
HEAP8[$_19$i$i>>0] = $38;
$39 = $1 >>> 12;
$40 = $39 & 63;
$41 = $40&255;
$42 = $41 | -128;
$_19$i$i$1$_19$i$1$$sroa_raw_idx = ((($_19$i$i)) + 1|0);
HEAP8[$_19$i$i$1$_19$i$1$$sroa_raw_idx>>0] = $42;
$43 = $1 >>> 6;
$44 = $43 & 63;
$45 = $44&255;
$46 = $45 | -128;
$_19$i$i$2$_19$i$2$$sroa_raw_idx = ((($_19$i$i)) + 2|0);
HEAP8[$_19$i$i$2$_19$i$2$$sroa_raw_idx>>0] = $46;
$47 = $1 & 63;
$48 = $47&255;
$49 = $48 | -128;
$_19$i$i$3$_19$i$3$$sroa_raw_idx = ((($_19$i$i)) + 3|0);
HEAP8[$_19$i$i$3$_19$i$3$$sroa_raw_idx>>0] = $49;
$len$2$i$i$i$i = 4;
break;
}
}
} while(0);
__ZN39__LT_collections__vec__Vec_LT_T_GT__GT_7reserve17h78bfb0aa55abb3ddE($2,$len$2$i$i$i$i);
$50 = ((($2)) + 8|0);
$51 = HEAP32[$50>>2]|0;
$52 = (($51) + ($len$2$i$i$i$i))|0;
$53 = HEAP32[$2>>2]|0;
$54 = (($53) + ($51)|0);
_memcpy(($54|0),($_19$i$i|0),($len$2$i$i$i$i|0))|0;
HEAP32[$50>>2] = $52;
STACKTOP = sp;return 0;
}
function __ZN96__LT_core__fmt__Write__write_fmt__Adapter_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_fmt17hb1aab8f1728f2eaaE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $_10$i = 0, $_8$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$_8$i = sp + 24|0;
$_10$i = sp;
$2 = HEAP32[$0>>2]|0;
HEAP32[$_8$i>>2] = $2;
;HEAP32[$_10$i>>2]=HEAP32[$1>>2]|0;HEAP32[$_10$i+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$_10$i+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$_10$i+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$_10$i+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$_10$i+20>>2]=HEAP32[$1+20>>2]|0;
$3 = (__ZN4core3fmt5write17hd46092952e27f1dbE($_8$i,40,$_10$i)|0);
STACKTOP = sp;return ($3|0);
}
function __ZN3std3sys3imp2os12error_string17h649876b011bf277aE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $_26 = 0, $buf = 0, $self$sroa$0$0$copyload$i = 0, $self$sroa$6$0$$sroa_idx19$i = 0, $self$sroa$6$0$copyload$i = 0, $self$sroa$8$0$$sroa_idx21$i = 0, $self$sroa$8$0$copyload$i = 0, $switch2$i = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
$buf = sp + 16|0;
$_26 = sp;
dest=$buf; stop=dest+128|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
$2 = (_strerror_r($1,$buf,128)|0);
$3 = ($2|0)<(0);
if ($3) {
__ZN3std9panicking11begin_panic17h2ee86974cf685435E(6694,18,2268);
// unreachable;
}
$4 = (_strlen($buf)|0);
$5 = ($4|0)==(-1);
if ($5) {
__ZN4core5slice20slice_index_len_fail17hb40dd6e1275ffb59E(-1,0);
// unreachable;
}
__ZN4core3str9from_utf817hb30f9b28629f31d9E($_26,$buf,$4);
$self$sroa$0$0$copyload$i = HEAP32[$_26>>2]|0;
$self$sroa$6$0$$sroa_idx19$i = ((($_26)) + 4|0);
$self$sroa$6$0$copyload$i = HEAP32[$self$sroa$6$0$$sroa_idx19$i>>2]|0;
$switch2$i = ($self$sroa$0$0$copyload$i|0)==(0);
if ($switch2$i) {
$self$sroa$8$0$$sroa_idx21$i = ((($_26)) + 8|0);
$self$sroa$8$0$copyload$i = HEAP32[$self$sroa$8$0$$sroa_idx21$i>>2]|0;
$6 = $self$sroa$6$0$copyload$i;
__ZN11collections3str62__LT_impl_u20_collections__borrow__ToOwned_u20_for_u20_str_GT_8to_owned17ha0187c01fb57bc17E($0,$6,$self$sroa$8$0$copyload$i);
STACKTOP = sp;return;
} else {
__ZN4core6result13unwrap_failed17h9a11cdedbffa1b66E($self$sroa$6$0$copyload$i);
// unreachable;
}
}
function __ZN66__LT_collections__string__String_u20_as_u20_core__fmt__Display_GT_3fmt17h81d8e7b254fa4669E($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 = (__ZN42__LT_str_u20_as_u20_core__fmt__Display_GT_3fmt17hd6b964e9fa51e196E($2,$4,$1)|0);
return ($5|0);
}
function __ZN4core6result13unwrap_failed17h9a11cdedbffa1b66E($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_12 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_7 = 0, $error = 0, $msg = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$msg = sp + 48|0;
$error = sp + 40|0;
$_7 = sp + 16|0;
$_12 = sp;
HEAP32[$msg>>2] = 6243;
$1 = ((($msg)) + 4|0);
HEAP32[$1>>2] = 43;
HEAP32[$error>>2] = $0;
$2 = HEAP32[733]|0;
$3 = HEAP32[(2936)>>2]|0;
$4 = $msg;
$5 = $error;
HEAP32[$_12>>2] = $4;
$6 = ((($_12)) + 4|0);
HEAP32[$6>>2] = (86);
$7 = ((($_12)) + 8|0);
HEAP32[$7>>2] = $5;
$8 = ((($_12)) + 12|0);
HEAP32[$8>>2] = (104);
HEAP32[$_7>>2] = $2;
$9 = ((($_7)) + 4|0);
HEAP32[$9>>2] = $3;
$_6$sroa$0$0$$sroa_idx$i = ((($_7)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$10 = ((($_7)) + 16|0);
HEAP32[$10>>2] = $_12;
$11 = ((($_7)) + 20|0);
HEAP32[$11>>2] = 2;
__ZN4core9panicking9panic_fmt17hd37574de04720b9cE($_7,2920);
// unreachable;
}
function __ZN36__LT_T_u20_as_u20_core__any__Any_GT_11get_type_id17h651d1bcf01682bd4E($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
tempRet0 = (703347955);
return 1133457186;
}
function __ZN3std2io5stdio6stdout11stdout_init17hca897d61afccf914E() {
var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_5$sroa$9$i$i = 0, $_6$sroa$5$sroa$0 = 0, $_6$sroa$5$sroa$12 = 0, $_7$sroa$11 = 0, $attr$i$i = 0, $data$i$sroa$0$0$$sroa_idx = 0, $data$i$sroa$4$0$$sroa_raw_idx = 0, $data$i$sroa$5$sroa$0 = 0, $data$i$sroa$5$sroa$0$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx = 0, $data$i$sroa$5$sroa$10$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx = 0;
var $data$i$sroa$5$sroa$11$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx = 0, $data$i$sroa$5$sroa$12 = 0, $data$i$sroa$5$sroa$12$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx = 0, $data$i$sroa$5$sroa$4$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx = 0, $data$i$sroa$5$sroa$5$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx = 0, $data$i$sroa$5$sroa$6$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx = 0, $data$i$sroa$5$sroa$8$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx = 0, $data$i$sroa$5$sroa$9$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx = 0, $mutex$i$sroa$5$sroa$0 = 0, $t$i$sroa$11 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$attr$i$i = sp;
$t$i$sroa$11 = sp + 25|0;
$mutex$i$sroa$5$sroa$0 = sp + 22|0;
$_5$sroa$9$i$i = sp + 19|0;
$data$i$sroa$5$sroa$0 = sp + 16|0;
$data$i$sroa$5$sroa$12 = sp + 13|0;
$_6$sroa$5$sroa$0 = sp + 10|0;
$_6$sroa$5$sroa$12 = sp + 7|0;
$_7$sroa$11 = sp + 4|0;
$0 = (___rust_allocate(1024,1)|0);
$1 = ($0|0)==(0|0);
if ($1) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
}
$2 = $0;
;HEAP8[$_7$sroa$11>>0]=HEAP8[$_5$sroa$9$i$i>>0]|0;HEAP8[$_7$sroa$11+1>>0]=HEAP8[$_5$sroa$9$i$i+1>>0]|0;HEAP8[$_7$sroa$11+2>>0]=HEAP8[$_5$sroa$9$i$i+2>>0]|0;
;HEAP8[$t$i$sroa$11>>0]=HEAP8[$_7$sroa$11>>0]|0;HEAP8[$t$i$sroa$11+1>>0]=HEAP8[$_7$sroa$11+1>>0]|0;HEAP8[$t$i$sroa$11+2>>0]=HEAP8[$_7$sroa$11+2>>0]|0;
$3 = (___rust_allocate(24,8)|0);
$4 = ($3|0)==(0|0);
if ($4) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
}
;HEAP8[$_6$sroa$5$sroa$12>>0]=HEAP8[$t$i$sroa$11>>0]|0;HEAP8[$_6$sroa$5$sroa$12+1>>0]=HEAP8[$t$i$sroa$11+1>>0]|0;HEAP8[$_6$sroa$5$sroa$12+2>>0]=HEAP8[$t$i$sroa$11+2>>0]|0;
HEAP32[$attr$i$i>>2] = 0;
(_pthread_mutexattr_init(($attr$i$i|0))|0);
(_pthread_mutexattr_settype(($attr$i$i|0),1)|0);
(_pthread_mutex_init(($3|0),($attr$i$i|0))|0);
(_pthread_mutexattr_destroy(($attr$i$i|0))|0);
;HEAP8[$_6$sroa$5$sroa$0>>0]=HEAP8[$mutex$i$sroa$5$sroa$0>>0]|0;HEAP8[$_6$sroa$5$sroa$0+1>>0]=HEAP8[$mutex$i$sroa$5$sroa$0+1>>0]|0;HEAP8[$_6$sroa$5$sroa$0+2>>0]=HEAP8[$mutex$i$sroa$5$sroa$0+2>>0]|0;
;HEAP8[$data$i$sroa$5$sroa$0>>0]=HEAP8[$_6$sroa$5$sroa$0>>0]|0;HEAP8[$data$i$sroa$5$sroa$0+1>>0]=HEAP8[$_6$sroa$5$sroa$0+1>>0]|0;HEAP8[$data$i$sroa$5$sroa$0+2>>0]=HEAP8[$_6$sroa$5$sroa$0+2>>0]|0;
;HEAP8[$data$i$sroa$5$sroa$12>>0]=HEAP8[$_6$sroa$5$sroa$12>>0]|0;HEAP8[$data$i$sroa$5$sroa$12+1>>0]=HEAP8[$_6$sroa$5$sroa$12+1>>0]|0;HEAP8[$data$i$sroa$5$sroa$12+2>>0]=HEAP8[$_6$sroa$5$sroa$12+2>>0]|0;
$5 = (___rust_allocate(40,4)|0);
$6 = ($5|0)==(0|0);
if ($6) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
} else {
$7 = $3;
HEAP32[$5>>2] = 1;
$8 = ((($5)) + 4|0);
HEAP32[$8>>2] = 1;
$data$i$sroa$0$0$$sroa_idx = ((($5)) + 8|0);
HEAP32[$data$i$sroa$0$0$$sroa_idx>>2] = $7;
$data$i$sroa$4$0$$sroa_raw_idx = ((($5)) + 12|0);
HEAP8[$data$i$sroa$4$0$$sroa_raw_idx>>0] = 0;
$data$i$sroa$5$sroa$0$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx = ((($5)) + 13|0);
;HEAP8[$data$i$sroa$5$sroa$0$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx>>0]=HEAP8[$data$i$sroa$5$sroa$0>>0]|0;HEAP8[$data$i$sroa$5$sroa$0$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx+1>>0]=HEAP8[$data$i$sroa$5$sroa$0+1>>0]|0;HEAP8[$data$i$sroa$5$sroa$0$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx+2>>0]=HEAP8[$data$i$sroa$5$sroa$0+2>>0]|0;
$data$i$sroa$5$sroa$4$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx = ((($5)) + 16|0);
HEAP8[$data$i$sroa$5$sroa$4$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx>>0]=0&255;HEAP8[$data$i$sroa$5$sroa$4$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx+1>>0]=(0>>8)&255;HEAP8[$data$i$sroa$5$sroa$4$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx+2>>0]=(0>>16)&255;HEAP8[$data$i$sroa$5$sroa$4$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx+3>>0]=0>>24;
$data$i$sroa$5$sroa$5$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx = ((($5)) + 20|0);
HEAP8[$data$i$sroa$5$sroa$5$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx>>0] = 1;
$data$i$sroa$5$sroa$6$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx = ((($5)) + 21|0);
HEAP8[$data$i$sroa$5$sroa$6$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx>>0] = 0;
$data$i$sroa$5$sroa$8$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx = ((($5)) + 24|0);
HEAP8[$data$i$sroa$5$sroa$8$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx>>0]=$2&255;HEAP8[$data$i$sroa$5$sroa$8$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx+1>>0]=($2>>8)&255;HEAP8[$data$i$sroa$5$sroa$8$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx+2>>0]=($2>>16)&255;HEAP8[$data$i$sroa$5$sroa$8$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx+3>>0]=$2>>24;
$data$i$sroa$5$sroa$9$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx = ((($5)) + 28|0);
HEAP8[$data$i$sroa$5$sroa$9$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx>>0]=1024&255;HEAP8[$data$i$sroa$5$sroa$9$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx+1>>0]=(1024>>8)&255;HEAP8[$data$i$sroa$5$sroa$9$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx+2>>0]=(1024>>16)&255;HEAP8[$data$i$sroa$5$sroa$9$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx+3>>0]=1024>>24;
$data$i$sroa$5$sroa$10$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx = ((($5)) + 32|0);
HEAP8[$data$i$sroa$5$sroa$10$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx>>0]=0&255;HEAP8[$data$i$sroa$5$sroa$10$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx+1>>0]=(0>>8)&255;HEAP8[$data$i$sroa$5$sroa$10$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx+2>>0]=(0>>16)&255;HEAP8[$data$i$sroa$5$sroa$10$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_idx+3>>0]=0>>24;
$data$i$sroa$5$sroa$11$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx = ((($5)) + 36|0);
HEAP8[$data$i$sroa$5$sroa$11$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx>>0] = 0;
$data$i$sroa$5$sroa$12$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx = ((($5)) + 37|0);
;HEAP8[$data$i$sroa$5$sroa$12$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx>>0]=HEAP8[$data$i$sroa$5$sroa$12>>0]|0;HEAP8[$data$i$sroa$5$sroa$12$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx+1>>0]=HEAP8[$data$i$sroa$5$sroa$12+1>>0]|0;HEAP8[$data$i$sroa$5$sroa$12$0$data$i$sroa$5$0$$sroa_raw_idx$sroa_raw_idx+2>>0]=HEAP8[$data$i$sroa$5$sroa$12+2>>0]|0;
$9 = $5;
STACKTOP = sp;return ($9|0);
}
return (0)|0;
}
function __ZN3std6thread5local2os13destroy_value17hd3e1e2f34b172818E($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, $_0$0$i$i = 0, $_0$0$i$i8 = 0, $cond$i$i = 0, $cond$i$i$i$i = 0, $cond$i$i$i$i$i = 0;
var $cond$i$i6 = 0, $switchtmp$i$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = HEAP32[$1>>2]|0;
$cond$i$i = ($2|0)==(0);
if ($cond$i$i) {
__THREW__ = 0;
$3 = (invoke_ii(105,($1|0))|0);
$4 = __THREW__; __THREW__ = 0;
$5 = $4&1;
if ($5) {
$21 = ___cxa_find_matching_catch_2()|0;
$22 = tempRet0;
$23 = ((($0)) + 4|0);
$24 = HEAP32[$23>>2]|0;
$cond$i$i$i$i = ($24|0)==(1);
if (!($cond$i$i$i$i)) {
___rust_deallocate($0,20,4);
___resumeException($21|0);
// unreachable;
}
$25 = ((($0)) + 12|0);
$26 = HEAP32[$25>>2]|0;
$switchtmp$i$i$i$i$i$i$i = ($26|0)==(0|0);
if ($switchtmp$i$i$i$i$i$i$i) {
___rust_deallocate($0,20,4);
___resumeException($21|0);
// unreachable;
}
$27 = ((($0)) + 16|0);
$28 = HEAP32[$27>>2]|0;
$29 = HEAP32[$28>>2]|0;
FUNCTION_TABLE_vi[$29 & 255]($26);
$30 = HEAP32[$27>>2]|0;
$31 = ((($30)) + 4|0);
$32 = HEAP32[$31>>2]|0;
$33 = ($32|0)==(0);
if ($33) {
___rust_deallocate($0,20,4);
___resumeException($21|0);
// unreachable;
}
$34 = ((($30)) + 8|0);
$35 = HEAP32[$34>>2]|0;
___rust_deallocate($26,$32,$35);
___rust_deallocate($0,20,4);
___resumeException($21|0);
// unreachable;
} else {
$_0$0$i$i = $3;
}
} else {
$_0$0$i$i = $2;
}
(_pthread_setspecific(($_0$0$i$i|0),((1)|0))|0);
$6 = ((($0)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$cond$i$i$i$i$i = ($7|0)==(1);
if ($cond$i$i$i$i$i) {
$8 = ((($0)) + 12|0);
$9 = HEAP32[$8>>2]|0;
$switchtmp$i$i$i$i$i$i$i$i = ($9|0)==(0|0);
if (!($switchtmp$i$i$i$i$i$i$i$i)) {
$10 = ((($0)) + 16|0);
$11 = HEAP32[$10>>2]|0;
$12 = HEAP32[$11>>2]|0;
FUNCTION_TABLE_vi[$12 & 255]($9);
$13 = HEAP32[$10>>2]|0;
$14 = ((($13)) + 4|0);
$15 = HEAP32[$14>>2]|0;
$16 = ($15|0)==(0);
if (!($16)) {
$17 = ((($13)) + 8|0);
$18 = HEAP32[$17>>2]|0;
___rust_deallocate($9,$15,$18);
}
}
}
___rust_deallocate($0,20,4);
$19 = HEAP32[$1>>2]|0;
$cond$i$i6 = ($19|0)==(0);
if (!($cond$i$i6)) {
$_0$0$i$i8 = $19;
(_pthread_setspecific(($_0$0$i$i8|0),(0|0))|0);
return;
}
$20 = (__ZN3std10sys_common12thread_local9StaticKey9lazy_init17hfc6d2d1726d17391E($1)|0);
$_0$0$i$i8 = $20;
(_pthread_setspecific(($_0$0$i$i8|0),(0|0))|0);
return;
}
function __ZN3std6thread5local2os13destroy_value17hf3074b9477751334E($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $_0$0$i$i = 0, $_0$0$i$i8 = 0, $cond$i$i = 0, $cond$i$i$i$i = 0, $cond$i$i$i$i$i = 0, $cond$i$i6 = 0, $switchtmp$i$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = HEAP32[$1>>2]|0;
$cond$i$i = ($2|0)==(0);
if ($cond$i$i) {
__THREW__ = 0;
$3 = (invoke_ii(105,($1|0))|0);
$4 = __THREW__; __THREW__ = 0;
$5 = $4&1;
if ($5) {
$14 = ___cxa_find_matching_catch_2()|0;
$15 = tempRet0;
$16 = ((($0)) + 4|0);
$17 = HEAP32[$16>>2]|0;
$cond$i$i$i$i = ($17|0)==(1);
if (!($cond$i$i$i$i)) {
___rust_deallocate($0,24,4);
___resumeException($14|0);
// unreachable;
}
$18 = ((($0)) + 20|0);
$19 = HEAP32[$18>>2]|0;
$switchtmp$i$i$i$i$i$i$i = ($19|0)==(0|0);
if ($switchtmp$i$i$i$i$i$i$i) {
___rust_deallocate($0,24,4);
___resumeException($14|0);
// unreachable;
}
$20 = HEAP32[$19>>2]|0;HEAP32[$19>>2] = (($20-1)|0);
$21 = ($20|0)==(1);
if (!($21)) {
___rust_deallocate($0,24,4);
___resumeException($14|0);
// unreachable;
}
/* fence */;
__ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h097a8e42cb8d207fE($18);
___rust_deallocate($0,24,4);
___resumeException($14|0);
// unreachable;
} else {
$_0$0$i$i = $3;
}
} else {
$_0$0$i$i = $2;
}
(_pthread_setspecific(($_0$0$i$i|0),((1)|0))|0);
$6 = ((($0)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$cond$i$i$i$i$i = ($7|0)==(1);
if ($cond$i$i$i$i$i) {
$8 = ((($0)) + 20|0);
$9 = HEAP32[$8>>2]|0;
$switchtmp$i$i$i$i$i$i$i$i = ($9|0)==(0|0);
if (!($switchtmp$i$i$i$i$i$i$i$i)) {
$10 = HEAP32[$9>>2]|0;HEAP32[$9>>2] = (($10-1)|0);
$11 = ($10|0)==(1);
if ($11) {
/* fence */;
__ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h097a8e42cb8d207fE($8);
}
}
}
___rust_deallocate($0,24,4);
$12 = HEAP32[$1>>2]|0;
$cond$i$i6 = ($12|0)==(0);
if (!($cond$i$i6)) {
$_0$0$i$i8 = $12;
(_pthread_setspecific(($_0$0$i$i8|0),(0|0))|0);
return;
}
$13 = (__ZN3std10sys_common12thread_local9StaticKey9lazy_init17hfc6d2d1726d17391E($1)|0);
$_0$0$i$i8 = $13;
(_pthread_setspecific(($_0$0$i$i8|0),(0|0))|0);
return;
}
function __ZN3std6thread5local2os13destroy_value17h8603434527364459E($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$0$i$i = 0, $_0$0$i$i7 = 0, $cond$i$i = 0, $cond$i$i5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = HEAP32[$1>>2]|0;
$cond$i$i = ($2|0)==(0);
if ($cond$i$i) {
__THREW__ = 0;
$3 = (invoke_ii(105,($1|0))|0);
$4 = __THREW__; __THREW__ = 0;
$5 = $4&1;
if ($5) {
$8 = ___cxa_find_matching_catch_2()|0;
$9 = tempRet0;
___rust_deallocate($0,12,4);
___resumeException($8|0);
// unreachable;
} else {
$_0$0$i$i = $3;
}
} else {
$_0$0$i$i = $2;
}
(_pthread_setspecific(($_0$0$i$i|0),((1)|0))|0);
___rust_deallocate($0,12,4);
$6 = HEAP32[$1>>2]|0;
$cond$i$i5 = ($6|0)==(0);
if (!($cond$i$i5)) {
$_0$0$i$i7 = $6;
(_pthread_setspecific(($_0$0$i$i7|0),(0|0))|0);
return;
}
$7 = (__ZN3std10sys_common12thread_local9StaticKey9lazy_init17hfc6d2d1726d17391E($1)|0);
$_0$0$i$i7 = $7;
(_pthread_setspecific(($_0$0$i$i7|0),(0|0))|0);
return;
}
function __ZN3std6thread4park17h131e67933a9cc1d4E() {
var $$cast = 0, $$pre = 0, $$pre$i$i$i$i$i$i = 0, $$pre$i$i$i$i$i$i$i = 0, $$pre$i$i$i$i$i$i57 = 0, $$pre$phi$i$i$i$i$i$iZ2D = 0, $$pre3$i$i$i$i$i$i = 0, $$pre3$i$i$i$i$i$i$i = 0, $$pre3$i$i$i$i$i$i53 = 0, $$sink$in$phi$trans$insert$i$i$i$i$i$i = 0, $$sink$in$phi$trans$insert$i$i$i$i$i$i$i = 0, $$sink$in$phi$trans$insert$i$i$i$i$i$i55 = 0, $0 = 0, $1 = 0, $10 = 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 $9 = 0, $_10$i = 0, $_10$i32 = 0, $_10$sroa_cast27$i$hi = 0, $_10$sroa_cast27$i44$hi = 0, $_10$sroa_raw_idx$i = 0, $_10$sroa_raw_idx$i42 = 0, $_10$sroa_raw_idx26$i = 0, $_10$sroa_raw_idx26$i43 = 0, $lpad$thr_comm$split$lp$sink$index3ZZ2D = 0, $lpad$thr_comm$split$lp$sink$indexZZ2D = 0, $or$cond$i$i = 0, $or$cond$i$i131 = 0, $personalityslot$sroa$0$0 = 0, $personalityslot$sroa$6$0 = 0, $success = 0, $success8 = 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$i51 = 0;
var $switch2tmp$i$i$i$i$i$i$i$i = 0, $switch2tmp$i$i$i$i$i$i$i$i$i = 0, $switch2tmp$i$i$i$i$i$i$i$i48 = 0, $switch3tmp$i$i = 0, $switchtmp$i$i$i = 0, $thread = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$_10$i32 = sp + 16|0;
$_10$i = sp + 8|0;
$thread = sp;
__THREW__ = 0;
$0 = (invoke_i(67)|0);
$1 = __THREW__; __THREW__ = 0;
$2 = $1&1;
do {
if (!($2)) {
$switchtmp$i$i$i = ($0|0)==(0|0);
if (!($switchtmp$i$i$i)) {
__THREW__ = 0;
$3 = (invoke_i(68)|0);
$4 = __THREW__; __THREW__ = 0;
$5 = $4&1;
if ($5) {
break;
}
$switch3tmp$i$i = ($3|0)==(0);
if (!($switch3tmp$i$i)) {
HEAP32[$thread>>2] = $3;
$$cast = $3;
$7 = ((($$cast)) + 24|0);
$8 = HEAP32[$7>>2]|0;
(_pthread_mutex_lock(($8|0))|0);
$9 = $7;
__THREW__ = 0;
$10 = (invoke_i(62)|0);
$11 = __THREW__; __THREW__ = 0;
$12 = $11&1;
L7: do {
if ($12) {
label = 45;
} else {
$switch2tmp$i$i$i$i$i$i$i$i = ($10|0)==(0|0);
if ($switch2tmp$i$i$i$i$i$i$i$i) {
__THREW__ = 0;
invoke_vii(63,(5764|0),57);
$13 = __THREW__; __THREW__ = 0;
label = 45;
break;
}
$14 = HEAP32[$10>>2]|0;
$switch$i$i$i$i$i$i$i = ($14|0)==(1);
if ($switch$i$i$i$i$i$i$i) {
$$sink$in$phi$trans$insert$i$i$i$i$i$i = ((($10)) + 4|0);
$$pre$i$i$i$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i$i$i>>2]|0;
$$pre$phi$i$i$i$i$i$iZ2D = $$sink$in$phi$trans$insert$i$i$i$i$i$i;$19 = $$pre$i$i$i$i$i$i;
} else {
$15 = $10;
$16 = $15;
HEAP32[$16>>2] = 1;
$17 = (($15) + 4)|0;
$18 = $17;
HEAP32[$18>>2] = 0;
$$pre3$i$i$i$i$i$i = ((($10)) + 4|0);
$$pre$phi$i$i$i$i$i$iZ2D = $$pre3$i$i$i$i$i$i;$19 = 0;
}
HEAP32[$$pre$phi$i$i$i$i$i$iZ2D>>2] = $19;
$20 = ($19|0)!=(0);
$21 = ((($$cast)) + 28|0);
$22 = HEAP8[$21>>0]|0;
$23 = ($22<<24>>24)==(0);
$24 = $20&1;
if (!($23)) {
HEAP32[$_10$i>>2] = $9;
$_10$sroa_raw_idx$i = ((($_10$i)) + 4|0);
HEAP8[$_10$sroa_raw_idx$i>>0] = $24;
$_10$sroa_raw_idx26$i = ((($_10$i)) + 5|0);
HEAP8[$_10$sroa_raw_idx26$i>>0]=0&255;HEAP8[$_10$sroa_raw_idx26$i+1>>0]=0>>8;
$_10$sroa_cast27$i$hi = ((($_10$sroa_raw_idx26$i)) + 2|0);
HEAP8[$_10$sroa_cast27$i$hi>>0] = 0;
__THREW__ = 0;
invoke_vi(106,($_10$i|0));
$25 = __THREW__; __THREW__ = 0;
label = 45;
break;
}
$26 = ((($$cast)) + 29|0);
$27 = HEAP8[$26>>0]|0;
$28 = ($27<<24>>24)==(0);
L19: do {
if ($28) {
$29 = HEAP32[$7>>2]|0;
$30 = $29;
$31 = ((($$cast)) + 36|0);
$32 = HEAP32[$31>>2]|0;if (($32|0) == 0) HEAP32[$31>>2] = $30;
$success = ($32|0)==(0);
$33 = ($32|0)==($30|0);
$or$cond$i$i131 = $success | $33;
L21: do {
if ($or$cond$i$i131) {
$39 = $$cast;$41 = $29;
while(1) {
$38 = ((($39)) + 32|0);
$40 = HEAP32[$38>>2]|0;
(_pthread_cond_wait(($40|0),($41|0))|0);
$42 = HEAP8[$21>>0]|0;
$43 = ($42<<24>>24)==(0);
if (!($43)) {
break;
}
$78 = HEAP8[$26>>0]|0;
$79 = ($78<<24>>24)==(0);
if (!($79)) {
break L19;
}
$$pre = HEAP32[$thread>>2]|0;
$80 = HEAP32[$7>>2]|0;
$81 = $80;
$82 = ((($$pre)) + 36|0);
$83 = HEAP32[$82>>2]|0;if (($83|0) == 0) HEAP32[$82>>2] = $81;
$success8 = ($83|0)==(0);
$84 = ($83|0)==($81|0);
$or$cond$i$i = $success8 | $84;
if ($or$cond$i$i) {
$39 = $$pre;$41 = $80;
} else {
break L21;
}
}
HEAP32[$_10$i32>>2] = $9;
$_10$sroa_raw_idx$i42 = ((($_10$i32)) + 4|0);
HEAP8[$_10$sroa_raw_idx$i42>>0] = $24;
$_10$sroa_raw_idx26$i43 = ((($_10$i32)) + 5|0);
HEAP8[$_10$sroa_raw_idx26$i43>>0]=0&255;HEAP8[$_10$sroa_raw_idx26$i43+1>>0]=0>>8;
$_10$sroa_cast27$i44$hi = ((($_10$sroa_raw_idx26$i43)) + 2|0);
HEAP8[$_10$sroa_cast27$i44$hi>>0] = 0;
__THREW__ = 0;
invoke_vi(106,($_10$i32|0));
$54 = __THREW__; __THREW__ = 0;
label = 45;
break L7;
}
} while(0);
__THREW__ = 0;
invoke_viii(64,(7869|0),54,(2420|0));
$35 = __THREW__; __THREW__ = 0;
$36 = ___cxa_find_matching_catch_2()|0;
$37 = tempRet0;
do {
if (!($20)) {
__THREW__ = 0;
$44 = (invoke_i(62)|0);
$45 = __THREW__; __THREW__ = 0;
$46 = $45&1;
if ($46) {
label = 45;
break L7;
}
$switch2tmp$i$i$i$i$i$i$i$i$i = ($44|0)==(0|0);
if ($switch2tmp$i$i$i$i$i$i$i$i$i) {
__THREW__ = 0;
invoke_vii(63,(5764|0),57);
$47 = __THREW__; __THREW__ = 0;
label = 45;
break L7;
}
$48 = HEAP32[$44>>2]|0;
$switch$i$i$i$i$i$i$i$i = ($48|0)==(1);
if (!($switch$i$i$i$i$i$i$i$i)) {
$49 = $44;
$50 = $49;
HEAP32[$50>>2] = 1;
$51 = (($49) + 4)|0;
$52 = $51;
HEAP32[$52>>2] = 0;
$$pre3$i$i$i$i$i$i$i = ((($44)) + 4|0);
HEAP32[$$pre3$i$i$i$i$i$i$i>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i$i$i$i$i$i$i = ((($44)) + 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;
$53 = ($$pre$i$i$i$i$i$i$i|0)==(0);
if (!($53)) {
HEAP8[$21>>0] = 1;
}
}
} while(0);
$34 = HEAP32[$7>>2]|0;
(_pthread_mutex_unlock(($34|0))|0);
$lpad$thr_comm$split$lp$sink$index3ZZ2D = $37;$lpad$thr_comm$split$lp$sink$indexZZ2D = $36;
break L7;
}
} while(0);
HEAP8[$26>>0] = 0;
L40: do {
if (!($20)) {
__THREW__ = 0;
$55 = (invoke_i(62)|0);
$56 = __THREW__; __THREW__ = 0;
$57 = $56&1;
do {
if (!($57)) {
$switch2tmp$i$i$i$i$i$i$i$i48 = ($55|0)==(0|0);
if ($switch2tmp$i$i$i$i$i$i$i$i48) {
__THREW__ = 0;
invoke_vii(63,(5764|0),57);
$58 = __THREW__; __THREW__ = 0;
break;
}
$59 = HEAP32[$55>>2]|0;
$switch$i$i$i$i$i$i$i51 = ($59|0)==(1);
if (!($switch$i$i$i$i$i$i$i51)) {
$60 = $55;
$61 = $60;
HEAP32[$61>>2] = 1;
$62 = (($60) + 4)|0;
$63 = $62;
HEAP32[$63>>2] = 0;
$$pre3$i$i$i$i$i$i53 = ((($55)) + 4|0);
HEAP32[$$pre3$i$i$i$i$i$i53>>2] = 0;
break L40;
}
$$sink$in$phi$trans$insert$i$i$i$i$i$i55 = ((($55)) + 4|0);
$$pre$i$i$i$i$i$i57 = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i$i$i55>>2]|0;
$64 = ($$pre$i$i$i$i$i$i57|0)==(0);
if ($64) {
break L40;
}
HEAP8[$21>>0] = 1;
break L40;
}
} while(0);
$76 = ___cxa_find_matching_catch_2()|0;
$77 = tempRet0;
$lpad$thr_comm$split$lp$sink$index3ZZ2D = $77;$lpad$thr_comm$split$lp$sink$indexZZ2D = $76;
break L7;
}
} while(0);
$65 = HEAP32[$7>>2]|0;
(_pthread_mutex_unlock(($65|0))|0);
$66 = HEAP32[$thread>>2]|0;
$67 = HEAP32[$66>>2]|0;HEAP32[$66>>2] = (($67-1)|0);
$68 = ($67|0)==(1);
if (!($68)) {
STACKTOP = sp;return;
}
/* fence */;
__THREW__ = 0;
invoke_vi(73,($thread|0));
$69 = __THREW__; __THREW__ = 0;
$70 = $69&1;
if (!($70)) {
STACKTOP = sp;return;
}
$87 = ___cxa_find_matching_catch_2()|0;
$88 = tempRet0;
$personalityslot$sroa$0$0 = $87;$personalityslot$sroa$6$0 = $88;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
} while(0);
if ((label|0) == 45) {
$85 = ___cxa_find_matching_catch_2()|0;
$86 = tempRet0;
$lpad$thr_comm$split$lp$sink$index3ZZ2D = $86;$lpad$thr_comm$split$lp$sink$indexZZ2D = $85;
}
$71 = HEAP32[$thread>>2]|0;
$72 = HEAP32[$71>>2]|0;HEAP32[$71>>2] = (($72-1)|0);
$73 = ($72|0)==(1);
if (!($73)) {
$personalityslot$sroa$0$0 = $lpad$thr_comm$split$lp$sink$indexZZ2D;$personalityslot$sroa$6$0 = $lpad$thr_comm$split$lp$sink$index3ZZ2D;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
/* fence */;
__ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h097a8e42cb8d207fE($thread);
$personalityslot$sroa$0$0 = $lpad$thr_comm$split$lp$sink$indexZZ2D;$personalityslot$sroa$6$0 = $lpad$thr_comm$split$lp$sink$index3ZZ2D;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
}
__THREW__ = 0;
invoke_vii(63,(7775|0),94);
$6 = __THREW__; __THREW__ = 0;
}
} while(0);
$74 = ___cxa_find_matching_catch_2()|0;
$75 = tempRet0;
$personalityslot$sroa$0$0 = $74;$personalityslot$sroa$6$0 = $75;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
function __ZN4core6result13unwrap_failed17h3ecf05092efba87cE($0) {
$0 = $0|0;
var $$pre$i$i$i$i$i$i$i = 0, $$pre3$i$i$i$i$i$i$i = 0, $$sink$in$phi$trans$insert$i$i$i$i$i$i$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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $_12 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_7 = 0, $error = 0, $msg = 0, $switch$i$i$i$i$i$i$i$i = 0, $switch2tmp$i$i$i$i$i$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$msg = sp + 48|0;
$error = sp + 40|0;
$_7 = sp + 16|0;
$_12 = sp;
HEAP32[$msg>>2] = 6243;
$1 = ((($msg)) + 4|0);
HEAP32[$1>>2] = 43;
$2 = $0;
$3 = $2;
$4 = HEAP32[$3>>2]|0;
$5 = (($2) + 4)|0;
$6 = $5;
$7 = HEAP32[$6>>2]|0;
$8 = $error;
$9 = $8;
HEAP32[$9>>2] = $4;
$10 = (($8) + 4)|0;
$11 = $10;
HEAP32[$11>>2] = $7;
$12 = HEAP32[733]|0;
$13 = HEAP32[(2936)>>2]|0;
$14 = $msg;
$15 = $error;
HEAP32[$_12>>2] = $14;
$16 = ((($_12)) + 4|0);
HEAP32[$16>>2] = (86);
$17 = ((($_12)) + 8|0);
HEAP32[$17>>2] = $15;
$18 = ((($_12)) + 12|0);
HEAP32[$18>>2] = (107);
HEAP32[$_7>>2] = $12;
$19 = ((($_7)) + 4|0);
HEAP32[$19>>2] = $13;
$_6$sroa$0$0$$sroa_idx$i = ((($_7)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$20 = ((($_7)) + 16|0);
HEAP32[$20>>2] = $_12;
$21 = ((($_7)) + 20|0);
HEAP32[$21>>2] = 2;
__THREW__ = 0;
invoke_vii(100,($_7|0),(2920|0));
$22 = __THREW__; __THREW__ = 0;
$23 = ___cxa_find_matching_catch_2()|0;
$24 = tempRet0;
$25 = HEAP32[$error>>2]|0;
$26 = ((($error)) + 4|0);
$27 = HEAP8[$26>>0]|0;
$28 = ($27<<24>>24)==(0);
do {
if ($28) {
$29 = (__ZN3std9panicking18update_panic_count11PANIC_COUNT7__getit17h14dfe58ada842e81E()|0);
$switch2tmp$i$i$i$i$i$i$i$i$i = ($29|0)==(0|0);
if ($switch2tmp$i$i$i$i$i$i$i$i$i) {
__ZN4core6option13expect_failed17h199949141d849bddE(5764,57);
// unreachable;
}
$30 = HEAP32[$29>>2]|0;
$switch$i$i$i$i$i$i$i$i = ($30|0)==(1);
if (!($switch$i$i$i$i$i$i$i$i)) {
$31 = $29;
$32 = $31;
HEAP32[$32>>2] = 1;
$33 = (($31) + 4)|0;
$34 = $33;
HEAP32[$34>>2] = 0;
$$pre3$i$i$i$i$i$i$i = ((($29)) + 4|0);
HEAP32[$$pre3$i$i$i$i$i$i$i>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i$i$i$i$i$i$i = ((($29)) + 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;
$35 = ($$pre$i$i$i$i$i$i$i|0)==(0);
if (!($35)) {
$36 = ((($25)) + 4|0);
HEAP8[$36>>0] = 1;
}
}
} while(0);
$37 = HEAP32[$error>>2]|0;
$38 = HEAP32[$37>>2]|0;
(_pthread_mutex_unlock(($38|0))|0);
___resumeException($23|0);
// unreachable;
}
function __ZN82__LT_std__sys_common__poison__PoisonError_LT_T_GT__u20_as_u20_core__fmt__Debug_GT_3fmt17he19c193dabd952faE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__ZN40__LT_str_u20_as_u20_core__fmt__Debug_GT_3fmt17heb04748374127a20E(7923,25,$1)|0);
return ($2|0);
}
function __ZN3std6thread6Thread6unpark17h34a8a64550fec8cdE($0) {
$0 = $0|0;
var $$pre$i$i$i$i$i$i16 = 0, $$pre$i$i$i$i$i$i32 = 0, $$pre$phi$i$i$i$i$i$iZ2D = 0, $$pre3$i$i$i$i$i$i17 = 0, $$pre3$i$i$i$i$i$i27 = 0, $$sink$in$phi$trans$insert$i$i$i$i$i$i14 = 0, $$sink$in$phi$trans$insert$i$i$i$i$i$i30 = 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;
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_10$i = 0, $_10$sroa_cast27$i$hi = 0, $_10$sroa_raw_idx$i = 0, $_10$sroa_raw_idx26$i = 0;
var $switch$i$i$i$i$i$i$i12 = 0, $switch$i$i$i$i$i$i$i25 = 0, $switch2tmp$i$i$i$i$i$i$i$i10 = 0, $switch2tmp$i$i$i$i$i$i$i$i22 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$_10$i = sp;
$1 = HEAP32[$0>>2]|0;
$2 = ((($1)) + 24|0);
$3 = HEAP32[$2>>2]|0;
(_pthread_mutex_lock(($3|0))|0);
$4 = $2;
$5 = (__ZN3std9panicking18update_panic_count11PANIC_COUNT7__getit17h14dfe58ada842e81E()|0);
$switch2tmp$i$i$i$i$i$i$i$i10 = ($5|0)==(0|0);
if ($switch2tmp$i$i$i$i$i$i$i$i10) {
__ZN4core6option13expect_failed17h199949141d849bddE(5764,57);
// unreachable;
}
$6 = HEAP32[$5>>2]|0;
$switch$i$i$i$i$i$i$i12 = ($6|0)==(1);
if ($switch$i$i$i$i$i$i$i12) {
$$sink$in$phi$trans$insert$i$i$i$i$i$i14 = ((($5)) + 4|0);
$$pre$i$i$i$i$i$i16 = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i$i$i14>>2]|0;
$$pre$phi$i$i$i$i$i$iZ2D = $$sink$in$phi$trans$insert$i$i$i$i$i$i14;$11 = $$pre$i$i$i$i$i$i16;
} else {
$7 = $5;
$8 = $7;
HEAP32[$8>>2] = 1;
$9 = (($7) + 4)|0;
$10 = $9;
HEAP32[$10>>2] = 0;
$$pre3$i$i$i$i$i$i17 = ((($5)) + 4|0);
$$pre$phi$i$i$i$i$i$iZ2D = $$pre3$i$i$i$i$i$i17;$11 = 0;
}
HEAP32[$$pre$phi$i$i$i$i$i$iZ2D>>2] = $11;
$12 = ($11|0)!=(0);
$13 = ((($1)) + 28|0);
$14 = HEAP8[$13>>0]|0;
$15 = ($14<<24>>24)==(0);
if (!($15)) {
$16 = $12&1;
HEAP32[$_10$i>>2] = $4;
$_10$sroa_raw_idx$i = ((($_10$i)) + 4|0);
HEAP8[$_10$sroa_raw_idx$i>>0] = $16;
$_10$sroa_raw_idx26$i = ((($_10$i)) + 5|0);
HEAP8[$_10$sroa_raw_idx26$i>>0]=0&255;HEAP8[$_10$sroa_raw_idx26$i+1>>0]=0>>8;
$_10$sroa_cast27$i$hi = ((($_10$sroa_raw_idx26$i)) + 2|0);
HEAP8[$_10$sroa_cast27$i$hi>>0] = 0;
__ZN4core6result13unwrap_failed17h3ecf05092efba87cE($_10$i);
// unreachable;
}
$17 = ((($1)) + 29|0);
$18 = HEAP8[$17>>0]|0;
$19 = ($18<<24>>24)==(0);
if ($19) {
HEAP8[$17>>0] = 1;
$20 = ((($1)) + 32|0);
$21 = HEAP32[$20>>2]|0;
(_pthread_cond_signal(($21|0))|0);
}
if ($12) {
$29 = HEAP32[$2>>2]|0;
(_pthread_mutex_unlock(($29|0))|0);
STACKTOP = sp;return;
}
$22 = (__ZN3std9panicking18update_panic_count11PANIC_COUNT7__getit17h14dfe58ada842e81E()|0);
$switch2tmp$i$i$i$i$i$i$i$i22 = ($22|0)==(0|0);
if ($switch2tmp$i$i$i$i$i$i$i$i22) {
__ZN4core6option13expect_failed17h199949141d849bddE(5764,57);
// unreachable;
}
$23 = HEAP32[$22>>2]|0;
$switch$i$i$i$i$i$i$i25 = ($23|0)==(1);
if (!($switch$i$i$i$i$i$i$i25)) {
$24 = $22;
$25 = $24;
HEAP32[$25>>2] = 1;
$26 = (($24) + 4)|0;
$27 = $26;
HEAP32[$27>>2] = 0;
$$pre3$i$i$i$i$i$i27 = ((($22)) + 4|0);
HEAP32[$$pre3$i$i$i$i$i$i27>>2] = 0;
$29 = HEAP32[$2>>2]|0;
(_pthread_mutex_unlock(($29|0))|0);
STACKTOP = sp;return;
}
$$sink$in$phi$trans$insert$i$i$i$i$i$i30 = ((($22)) + 4|0);
$$pre$i$i$i$i$i$i32 = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i$i$i30>>2]|0;
$28 = ($$pre$i$i$i$i$i$i32|0)==(0);
if ($28) {
$29 = HEAP32[$2>>2]|0;
(_pthread_mutex_unlock(($29|0))|0);
STACKTOP = sp;return;
}
HEAP8[$13>>0] = 1;
$29 = HEAP32[$2>>2]|0;
(_pthread_mutex_unlock(($29|0))|0);
STACKTOP = sp;return;
}
function __ZN39__LT_collections__vec__Vec_LT_T_GT__GT_7reserve17hfd9ffedf8e79a499E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$arith = 0, $$arith2 = 0, $$overflow = 0, $$overflow3 = 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, $_0$0$sroa$speculated$i$i$i = 0;
var $ptr$0$i = 0, label = 0, 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) {
__ZN4core6option13expect_failed17h199949141d849bddE(6512,17);
// unreachable;
}
$8 = $5 << 1;
$9 = ($$arith>>>0)>=($8>>>0);
$_0$0$sroa$speculated$i$i$i = $9 ? $$arith : $8;
$$arith2 = ($_0$0$sroa$speculated$i$i$i*12)|0;
$$overflow3 = ($_0$0$sroa$speculated$i$i$i>>>0)>(357913941);
if ($$overflow3) {
__ZN4core6option13expect_failed17h199949141d849bddE(6512,17);
// unreachable;
}
$10 = ($$arith2|0)<(0);
if ($10) {
__ZN4core9panicking5panic17h7842870c7e688275E(2856);
// unreachable;
}
$11 = ($5|0)==(0);
if ($11) {
$12 = (___rust_allocate($$arith2,4)|0);
$ptr$0$i = $12;
} else {
$13 = HEAP32[$0>>2]|0;
$14 = ($5*12)|0;
$15 = (___rust_reallocate($13,$14,$$arith2,4)|0);
$ptr$0$i = $15;
}
$16 = ($ptr$0$i|0)==(0|0);
if ($16) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
}
HEAP32[$0>>2] = $ptr$0$i;
HEAP32[$4>>2] = $_0$0$sroa$speculated$i$i$i;
return;
}
function __ZN3std10sys_common11at_exit_imp4push17hd3703ee4b0aa416dE($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, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $personalityslot$sroa$0$0 = 0, $personalityslot$sroa$5$0 = 0, $ret$0$off025 = 0, label = 0, sp = 0;
sp = STACKTOP;
(_pthread_mutex_lock(((13160)|0))|0);
$2 = HEAP32[3328]|0;
$3 = $2;
L1: do {
switch ($2|0) {
case 0: {
$4 = (___rust_allocate(12,4)|0);
$5 = ($4|0)==(0|0);
if (!($5)) {
HEAP32[$4>>2] = 1;
$13 = ((($4)) + 4|0);
HEAP32[$13>>2] = 0;
$14 = ((($4)) + 8|0);
HEAP32[$14>>2] = 0;
HEAP32[3328] = $4;
$16 = $4;
break L1;
}
__THREW__ = 0;
invoke_v(79);
$6 = __THREW__; __THREW__ = 0;
$7 = ___cxa_find_matching_catch_2()|0;
$8 = tempRet0;
$9 = HEAP32[$1>>2]|0;
FUNCTION_TABLE_vi[$9 & 255]($0);
$10 = ((($1)) + 4|0);
$11 = HEAP32[$10>>2]|0;
$12 = ($11|0)==(0);
if ($12) {
$personalityslot$sroa$0$0 = $7;$personalityslot$sroa$5$0 = $8;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$39 = ((($1)) + 8|0);
$40 = HEAP32[$39>>2]|0;
___rust_deallocate($0,$11,$40);
$personalityslot$sroa$0$0 = $7;$personalityslot$sroa$5$0 = $8;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
break;
}
case 1: {
(_pthread_mutex_unlock(((13160)|0))|0);
$41 = HEAP32[$1>>2]|0;
__THREW__ = 0;
invoke_vi($41|0,($0|0));
$42 = __THREW__; __THREW__ = 0;
$43 = $42&1;
if ($43) {
$51 = ___cxa_find_matching_catch_2()|0;
$52 = tempRet0;
$personalityslot$sroa$0$0 = $51;$personalityslot$sroa$5$0 = $52;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$44 = ((($1)) + 4|0);
$45 = HEAP32[$44>>2]|0;
$46 = ($45|0)==(0);
if ($46) {
$ret$0$off025 = 0;
return ($ret$0$off025|0);
}
$47 = ((($1)) + 8|0);
$48 = HEAP32[$47>>2]|0;
___rust_deallocate($0,$45,$48);
$ret$0$off025 = 0;
return ($ret$0$off025|0);
break;
}
default: {
$16 = $3;
}
}
} while(0);
$15 = ((($16)) + 8|0);
$17 = HEAP32[$15>>2]|0;
$18 = ((($16)) + 4|0);
$19 = HEAP32[$18>>2]|0;
$20 = ($17|0)==($19|0);
do {
if ($20) {
__THREW__ = 0;
invoke_vi(108,($16|0));
$21 = __THREW__; __THREW__ = 0;
$22 = $21&1;
if (!($22)) {
$$pre$i = HEAP32[$15>>2]|0;
$35 = $$pre$i;
break;
}
$23 = ___cxa_find_matching_catch_2()|0;
$24 = tempRet0;
$25 = HEAP32[$1>>2]|0;
__THREW__ = 0;
invoke_vi($25|0,($0|0));
$26 = __THREW__; __THREW__ = 0;
$27 = $26&1;
if ($27) {
$49 = ___cxa_find_matching_catch_2()|0;
$50 = tempRet0;
$personalityslot$sroa$0$0 = $49;$personalityslot$sroa$5$0 = $50;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$28 = ((($1)) + 4|0);
$29 = HEAP32[$28>>2]|0;
$30 = ($29|0)==(0);
if (!($30)) {
$31 = ((($1)) + 8|0);
$32 = HEAP32[$31>>2]|0;
___rust_deallocate($0,$29,$32);
}
$personalityslot$sroa$0$0 = $23;$personalityslot$sroa$5$0 = $24;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
} else {
$35 = $17;
}
} while(0);
$33 = HEAP32[$16>>2]|0;
$34 = (($33) + ($35<<3)|0);
HEAP32[$34>>2] = $0;
$36 = (((($33) + ($35<<3)|0)) + 4|0);
HEAP32[$36>>2] = $1;
$37 = HEAP32[$15>>2]|0;
$38 = (($37) + 1)|0;
HEAP32[$15>>2] = $38;
(_pthread_mutex_unlock(((13160)|0))|0);
$ret$0$off025 = 1;
return ($ret$0$off025|0);
}
function __ZN40__LT_alloc__raw_vec__RawVec_LT_T_GT__GT_6double17h8e2c86d255f4e3daE($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_14$sroa$0$0 = 0, $_14$sroa$5$0 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 4|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(0);
do {
if ($3) {
$10 = (___rust_allocate(32,4)|0);
$_14$sroa$0$0 = 4;$_14$sroa$5$0 = $10;
} else {
$4 = $2 << 4;
$5 = ($4|0)<(0);
if ($5) {
__ZN4core9panicking5panic17h7842870c7e688275E(2856);
// unreachable;
} else {
$6 = $2 << 1;
$7 = HEAP32[$0>>2]|0;
$8 = $2 << 3;
$9 = (___rust_reallocate($7,$8,$4,4)|0);
$_14$sroa$0$0 = $6;$_14$sroa$5$0 = $9;
break;
}
}
} while(0);
$11 = ($_14$sroa$5$0|0)==(0|0);
if ($11) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
} else {
HEAP32[$0>>2] = $_14$sroa$5$0;
HEAP32[$1>>2] = $_14$sroa$0$0;
return;
}
}
function __ZN3std2io5stdio6stdout17h67c613aec10f4e0eE() {
var $$fca$0$0$0$0$load1$i = 0, $$fca$0$0$0$load1$i$i = 0, $$fca$0$0$0$load1$pre$i$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, $3 = 0, $4 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $magicptr$i = 0, $ret$i$i = 0, $switch3tmp$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$ret$i$i = sp;
(_pthread_mutex_lock(((8)|0))|0);
$0 = HEAP32[(32)>>2]|0;
$magicptr$i = $0;
L1: do {
switch ($magicptr$i|0) {
case 0: {
$2 = (___rust_allocate(4,4)|0);
$3 = ($2|0)==(0|0);
if ($3) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
}
HEAP32[$2>>2] = 8;
$4 = (__ZN3std10sys_common11at_exit_imp4push17hd3703ee4b0aa416dE($2,272)|0);
$5 = HEAP32[(36)>>2]|0;
$6 = (FUNCTION_TABLE_i[$5 & 127]()|0);
HEAP32[$ret$i$i>>2] = $6;
$7 = $6;
do {
if ($4) {
$8 = HEAP32[$7>>2]|0;HEAP32[$7>>2] = (($8+1)|0);
$9 = ($8|0)<(0);
if ($9) {
_llvm_trap();
// unreachable;
}
$10 = (___rust_allocate(4,4)|0);
$11 = ($10|0)==(0|0);
if (!($11)) {
HEAP32[$10>>2] = $7;
HEAP32[(32)>>2] = $10;
$$fca$0$0$0$load1$pre$i$i = HEAP32[$ret$i$i>>2]|0;
$$fca$0$0$0$load1$i$i = $$fca$0$0$0$load1$pre$i$i;
break;
}
__THREW__ = 0;
invoke_v(79);
$12 = __THREW__; __THREW__ = 0;
$1 = ___cxa_find_matching_catch_2()|0;
$13 = tempRet0;
$14 = HEAP32[$ret$i$i>>2]|0;
$15 = HEAP32[$14>>2]|0;HEAP32[$14>>2] = (($15-1)|0);
$16 = ($15|0)==(1);
if (!($16)) {
___resumeException($1|0);
// unreachable;
}
/* fence */;
__ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h105aa355a7f7fc32E($ret$i$i);
___resumeException($1|0);
// unreachable;
} else {
$$fca$0$0$0$load1$i$i = $6;
}
} while(0);
$$fca$0$0$0$0$load1$i = $$fca$0$0$0$load1$i$i;
break;
}
case 1: {
(_pthread_mutex_unlock(((8)|0))|0);
__ZN4core6option13expect_failed17h199949141d849bddE(7948,36);
// unreachable;
break;
}
default: {
$17 = HEAP32[$0>>2]|0;
$18 = HEAP32[$17>>2]|0;HEAP32[$17>>2] = (($18+1)|0);
$19 = ($18|0)<(0);
if ($19) {
_llvm_trap();
// unreachable;
} else {
$20 = $17;
$$fca$0$0$0$0$load1$i = $20;
break L1;
}
}
}
} while(0);
(_pthread_mutex_unlock(((8)|0))|0);
$switch3tmp$i = ($$fca$0$0$0$0$load1$i|0)==(0);
if ($switch3tmp$i) {
__ZN4core6option13expect_failed17h199949141d849bddE(7948,36);
// unreachable;
} else {
STACKTOP = sp;return ($$fca$0$0$0$0$load1$i|0);
}
return (0)|0;
}
function __ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h105aa355a7f7fc32E($0) {
$0 = $0|0;
var $1 = 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)) + 8|0);
$3 = HEAP32[$2>>2]|0;
(_pthread_mutex_destroy(($3|0))|0);
$4 = HEAP32[$2>>2]|0;
___rust_deallocate($4,24,8);
$5 = ((($1)) + 20|0);
__ZN4drop17hf4e3ce5c702f2b52E($5);
$6 = HEAP32[$0>>2]|0;
$7 = ((($6)) + 4|0);
$8 = HEAP32[$7>>2]|0;HEAP32[$7>>2] = (($8-1)|0);
$9 = ($8|0)==(1);
if (!($9)) {
return;
}
/* fence */;
___rust_deallocate($1,40,4);
return;
}
function __ZN4drop17hf4e3ce5c702f2b52E($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_r$i$i$i = 0, $cond$i$i$i$i = 0, $cond$i$i$i$i$i$i = 0, $not$$i$i$i$i$i$i$i = 0, $not$$i$i$i$i$i6$i$i = 0, $switch$i$i$i$i = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$_r$i$i$i = sp;
$1 = HEAP8[$0>>0]|0;
$switch$i$i$i$i = ($1<<24>>24)==(1);
L1: do {
if ($switch$i$i$i$i) {
$2 = ((($0)) + 16|0);
$3 = HEAP8[$2>>0]|0;
$4 = ($3<<24>>24)==(0);
if ($4) {
__THREW__ = 0;
invoke_vii(109,($_r$i$i$i|0),($0|0));
$5 = __THREW__; __THREW__ = 0;
$6 = $5&1;
do {
if (!($6)) {
$7 = HEAP32[$_r$i$i$i>>2]|0;
$cond$i$i$i$i = ($7|0)==(1);
if ($cond$i$i$i$i) {
$8 = ((($_r$i$i$i)) + 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 = ((($_r$i$i$i)) + 8|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($11)) + 4|0);
$13 = HEAP32[$12>>2]|0;
$14 = ((($11)) + 8|0);
$15 = HEAP32[$14>>2]|0;
$16 = HEAP32[$15>>2]|0;
__THREW__ = 0;
invoke_vi($16|0,($13|0));
$17 = __THREW__; __THREW__ = 0;
$18 = $17&1;
if ($18) {
break;
}
$19 = HEAP32[$14>>2]|0;
$20 = ((($19)) + 4|0);
$21 = HEAP32[$20>>2]|0;
$22 = ($21|0)==(0);
if (!($22)) {
$23 = ((($19)) + 8|0);
$24 = HEAP32[$23>>2]|0;
___rust_deallocate($13,$21,$24);
}
___rust_deallocate($11,12,4);
}
}
break L1;
}
} while(0);
$29 = ___cxa_find_matching_catch_2()|0;
$30 = tempRet0;
$31 = ((($0)) + 8|0);
$32 = HEAP32[$31>>2]|0;
$not$$i$i$i$i$i6$i$i = ($32|0)==(0);
if ($not$$i$i$i$i$i6$i$i) {
___resumeException($29|0);
// unreachable;
}
$33 = ((($0)) + 4|0);
$34 = HEAP32[$33>>2]|0;
___rust_deallocate($34,$32,1);
___resumeException($29|0);
// unreachable;
}
}
} while(0);
$25 = ((($0)) + 8|0);
$26 = HEAP32[$25>>2]|0;
$not$$i$i$i$i$i$i$i = ($26|0)==(0);
if ($not$$i$i$i$i$i$i$i) {
STACKTOP = sp;return;
}
$27 = ((($0)) + 4|0);
$28 = HEAP32[$27>>2]|0;
___rust_deallocate($28,$26,1);
STACKTOP = sp;return;
}
function __ZN46__LT_std__io__buffered__BufWriter_LT_W_GT__GT_9flush_buf17h30dd2f97a231eb31E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$mux = 0, $$not = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_3$i$i$i = 0, $_51$sroa$4$0$$sroa_idx248 = 0;
var $_51$sroa$5$0$$sroa_idx250 = 0, $brmerge = 0, $cond = 0, $cond$i = 0, $cond$i$i$i = 0, $cond321$not = 0, $not$switch$i = 0, $or$cond = 0, $personalityslot$sroa$0$0 = 0, $personalityslot$sroa$8$0 = 0, $r$sroa$12$2283 = 0, $ret$sroa$0$1 = 0, $ret$sroa$11$sroa$0$1 = 0, $ret$sroa$11$sroa$10$1 = 0, $switch$i89 = 0, $written$0$ph = 0, $x$i$sroa$4$0$$sroa_raw_idx$i = 0, $x$i$sroa$4$i = 0, $x$i$sroa$5$0$$sroa_idx$i = 0, $x$i$sroa$6$0$$sroa_idx$i = 0;
var $x$sroa$0$i$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$x$i$sroa$4$i = sp + 28|0;
$x$sroa$0$i$i$i$i$i = sp + 16|0;
$_3$i$i$i = sp;
$2 = ((($1)) + 12|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($1)) + 16|0);
$5 = ((($1)) + 1|0);
$6 = ((($1)) + 4|0);
$written$0$ph = 0;
L1: while(1) {
$7 = ($written$0$ph>>>0)<($3>>>0);
if (!($7)) {
$ret$sroa$0$1 = 0;$ret$sroa$11$sroa$0$1 = 0;$ret$sroa$11$sroa$10$1 = 0;
break;
}
$$not = $7 ^ 1;
while(1) {
HEAP8[$4>>0] = 1;
$21 = HEAP8[$1>>0]|0;
$not$switch$i = ($21<<24>>24)==(1);
if (!($not$switch$i)) {
label = 11;
break L1;
}
$23 = HEAP32[$2>>2]|0;
$24 = ($23>>>0)<($written$0$ph>>>0);
if ($24) {
label = 13;
break L1;
}
$26 = (($23) - ($written$0$ph))|0;
$27 = HEAP8[$5>>0]|0;
$switch$i89 = ($27<<24>>24)==(1);
if ($switch$i89) {
$r$sroa$12$2283 = $26;
break;
}
$28 = HEAP32[$6>>2]|0;
$29 = (($28) + ($written$0$ph)|0);
$30 = (_write(1,$29,$26)|0);
$31 = ($30|0)==(-1);
if (!($31)) {
$r$sroa$12$2283 = $30;
break;
}
$32 = (___errno_location()|0);
$33 = HEAP32[$32>>2]|0;
$34 = ($33|0)==(9);
if ($34) {
$r$sroa$12$2283 = $26;
break;
}
HEAP8[$4>>0] = 0;
$cond321$not = ($33|0)!=(4);
$brmerge = $cond321$not | $$not;
if ($brmerge) {
label = 8;
break L1;
}
}
HEAP8[$4>>0] = 0;
$cond = ($r$sroa$12$2283|0)==(0);
$43 = (($r$sroa$12$2283) + ($written$0$ph))|0;
if ($cond) {
label = 17;
break;
} else {
$written$0$ph = $43;
}
}
L12: do {
if ((label|0) == 8) {
$$mux = $cond321$not&1;
$ret$sroa$0$1 = $$mux;$ret$sroa$11$sroa$0$1 = 0;$ret$sroa$11$sroa$10$1 = $33;
}
else if ((label|0) == 11) {
__THREW__ = 0;
invoke_vi(78,(2900|0));
$22 = __THREW__; __THREW__ = 0;
label = 30;
}
else if ((label|0) == 13) {
__THREW__ = 0;
invoke_vii(110,($written$0$ph|0),($23|0));
$25 = __THREW__; __THREW__ = 0;
label = 30;
}
else if ((label|0) == 17) {
__THREW__ = 0;
invoke_viii(88,($_3$i$i$i|0),(7984|0),33);
$35 = __THREW__; __THREW__ = 0;
$36 = $35&1;
do {
if (!($36)) {
;HEAP32[$x$sroa$0$i$i$i$i$i>>2]=HEAP32[$_3$i$i$i>>2]|0;HEAP32[$x$sroa$0$i$i$i$i$i+4>>2]=HEAP32[$_3$i$i$i+4>>2]|0;HEAP32[$x$sroa$0$i$i$i$i$i+8>>2]=HEAP32[$_3$i$i$i+8>>2]|0;
$37 = (___rust_allocate(12,4)|0);
$38 = ($37|0)==(0|0);
if ($38) {
__THREW__ = 0;
invoke_v(79);
$39 = __THREW__; __THREW__ = 0;
break;
}
;HEAP32[$37>>2]=HEAP32[$x$sroa$0$i$i$i$i$i>>2]|0;HEAP32[$37+4>>2]=HEAP32[$x$sroa$0$i$i$i$i$i+4>>2]|0;HEAP32[$37+8>>2]=HEAP32[$x$sroa$0$i$i$i$i$i+8>>2]|0;
$40 = (___rust_allocate(12,4)|0);
$41 = ($40|0)==(0|0);
if ($41) {
__THREW__ = 0;
invoke_v(79);
$42 = __THREW__; __THREW__ = 0;
break;
} else {
HEAP8[$40>>0] = 14;
$x$i$sroa$4$0$$sroa_raw_idx$i = ((($40)) + 1|0);
;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i>>0]=HEAP8[$x$i$sroa$4$i>>0]|0;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i+1>>0]=HEAP8[$x$i$sroa$4$i+1>>0]|0;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i+2>>0]=HEAP8[$x$i$sroa$4$i+2>>0]|0;
$x$i$sroa$5$0$$sroa_idx$i = ((($40)) + 4|0);
HEAP32[$x$i$sroa$5$0$$sroa_idx$i>>2] = $37;
$x$i$sroa$6$0$$sroa_idx$i = ((($40)) + 8|0);
HEAP32[$x$i$sroa$6$0$$sroa_idx$i>>2] = 136;
$57 = $40;
$ret$sroa$0$1 = 1;$ret$sroa$11$sroa$0$1 = 1;$ret$sroa$11$sroa$10$1 = $57;
break L12;
}
}
} while(0);
$53 = ___cxa_find_matching_catch_2()|0;
$54 = tempRet0;
$personalityslot$sroa$0$0 = $53;$personalityslot$sroa$8$0 = $54;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
} while(0);
if ((label|0) == 30) {
$55 = ___cxa_find_matching_catch_2()|0;
$56 = tempRet0;
$personalityslot$sroa$0$0 = $55;$personalityslot$sroa$8$0 = $56;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$20 = ($written$0$ph|0)==(0);
if ($20) {
HEAP32[$0>>2] = $ret$sroa$0$1;
$_51$sroa$4$0$$sroa_idx248 = ((($0)) + 4|0);
HEAP32[$_51$sroa$4$0$$sroa_idx248>>2] = $ret$sroa$11$sroa$0$1;
$_51$sroa$5$0$$sroa_idx250 = ((($0)) + 8|0);
HEAP32[$_51$sroa$5$0$$sroa_idx250>>2] = $ret$sroa$11$sroa$10$1;
STACKTOP = sp;return;
}
$44 = HEAP32[$2>>2]|0;
$45 = ($44>>>0)<($written$0$ph>>>0);
if (!($45)) {
HEAP32[$2>>2] = 0;
$49 = (($44) - ($written$0$ph))|0;
$50 = ($49|0)==(0);
if ($50) {
HEAP32[$0>>2] = $ret$sroa$0$1;
$_51$sroa$4$0$$sroa_idx248 = ((($0)) + 4|0);
HEAP32[$_51$sroa$4$0$$sroa_idx248>>2] = $ret$sroa$11$sroa$0$1;
$_51$sroa$5$0$$sroa_idx250 = ((($0)) + 8|0);
HEAP32[$_51$sroa$5$0$$sroa_idx250>>2] = $ret$sroa$11$sroa$10$1;
STACKTOP = sp;return;
}
$51 = HEAP32[$6>>2]|0;
$52 = (($51) + ($written$0$ph)|0);
_memmove(($51|0),($52|0),($49|0))|0;
HEAP32[$2>>2] = $49;
HEAP32[$0>>2] = $ret$sroa$0$1;
$_51$sroa$4$0$$sroa_idx248 = ((($0)) + 4|0);
HEAP32[$_51$sroa$4$0$$sroa_idx248>>2] = $ret$sroa$11$sroa$0$1;
$_51$sroa$5$0$$sroa_idx250 = ((($0)) + 8|0);
HEAP32[$_51$sroa$5$0$$sroa_idx250>>2] = $ret$sroa$11$sroa$10$1;
STACKTOP = sp;return;
}
__THREW__ = 0;
invoke_vi(78,(2780|0));
$46 = __THREW__; __THREW__ = 0;
$47 = ___cxa_find_matching_catch_2()|0;
$48 = tempRet0;
$cond$i = ($ret$sroa$0$1|0)==(1);
$cond$i$i$i = ($ret$sroa$11$sroa$0$1|0)==(1);
$or$cond = $cond$i & $cond$i$i$i;
if (!($or$cond)) {
$personalityslot$sroa$0$0 = $47;$personalityslot$sroa$8$0 = $48;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$8 = $ret$sroa$11$sroa$10$1;
$9 = ((($8)) + 4|0);
$10 = HEAP32[$9>>2]|0;
$11 = ((($8)) + 8|0);
$12 = HEAP32[$11>>2]|0;
$13 = HEAP32[$12>>2]|0;
FUNCTION_TABLE_vi[$13 & 255]($10);
$14 = HEAP32[$11>>2]|0;
$15 = ((($14)) + 4|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($16|0)==(0);
if (!($17)) {
$18 = ((($14)) + 8|0);
$19 = HEAP32[$18>>2]|0;
___rust_deallocate($10,$16,$19);
}
___rust_deallocate($8,12,4);
$personalityslot$sroa$0$0 = $47;$personalityslot$sroa$8$0 = $48;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
function __ZN50__LT_F_u20_as_u20_alloc__boxed__FnBox_LT_A_GT__GT_8call_box17h8ba603e4a6a589efE($0) {
$0 = $0|0;
var $$unpack13 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$$unpack13 = HEAP32[$0>>2]|0;
(_pthread_mutex_lock(($$unpack13|0))|0);
$1 = ((($$unpack13)) + 24|0);
$2 = HEAP32[$1>>2]|0;
HEAP32[$1>>2] = (1);
(_pthread_mutex_unlock(($$unpack13|0))|0);
$3 = HEAP32[$2>>2]|0;
$4 = HEAP32[$3>>2]|0;HEAP32[$3>>2] = (($4-1)|0);
$5 = ($4|0)==(1);
if (!($5)) {
___rust_deallocate($2,4,4);
___rust_deallocate($0,4,4);
return;
}
/* fence */;
__THREW__ = 0;
invoke_vi(111,($2|0));
$6 = __THREW__; __THREW__ = 0;
$7 = $6&1;
if ($7) {
$8 = ___cxa_find_matching_catch_2()|0;
$9 = tempRet0;
___rust_deallocate($0,4,4);
___resumeException($8|0);
// unreachable;
} else {
___rust_deallocate($2,4,4);
___rust_deallocate($0,4,4);
return;
}
}
function __ZN75__LT_std__io__stdio__StdoutLock_LT__u27_a_GT__u20_as_u20_std__io__Write_GT_5write17hdfb7ece55431ec3aE($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$sink$i$i = 0, $$sink67$i$i = 0, $$sroa_idx53$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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_10$i = 0, $_3$i$i = 0, $_3$sroa$0$0$$sroa_idx3$i$i = 0, $_40$i = 0, $_5$i = 0, $cond$i$i$i = 0, $cond$i$i$i53$i = 0, $not$switch$i$i$i$i$i$i = 0, $self$i$sroa$0$0$copyload$i = 0, $self$i$sroa$4$0$$sroa_idx101$i = 0;
var $self$i$sroa$4$0$copyload$i = 0, $self$i$sroa$6$0$$sroa_idx104$i = 0, $self$i$sroa$6$0$copyload$i = 0, $self$sroa$0$0$copyload$i$i = 0, $self$sroa$0$0$copyload$i$i$i = 0, $self$sroa$5$0$$sroa_idx56$i$i = 0, $self$sroa$5$0$copyload$i$i = 0, $self$sroa$6$0$$sroa_idx56$i$i$i = 0, $self$sroa$6$0$copyload$i$i$i = 0, $self$sroa$9$0$$sroa_idx60$i$i$i = 0, $self$sroa$9$0$$sroa_idx61$i$i = 0, $self$sroa$9$0$copyload$i$i = 0, $self$sroa$9$0$copyload$i$i109$i = 0, $switch3$i$i = 0, $switch3$i$i$i = 0, $switch3$i49$i = 0, $switch7$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$_3$i$i = sp + 40|0;
$_5$i = sp + 32|0;
$_10$i = sp + 16|0;
$_40$i = sp;
$4 = HEAP32[$1>>2]|0;
$5 = ((($4)) + 8|0);
$6 = HEAP32[$5>>2]|0;
$cond$i$i$i = ($6|0)==(0);
if (!($cond$i$i$i)) {
__ZN4core6result13unwrap_failed17hd81802a3931adfa8E();
// unreachable;
}
HEAP32[$5>>2] = -1;
$7 = ((($4)) + 12|0);
__THREW__ = 0;
invoke_viiii(112,($_5$i|0),10,($2|0),($3|0));
$8 = __THREW__; __THREW__ = 0;
$9 = $8&1;
L4: do {
if (!($9)) {
$10 = HEAP32[$_5$i>>2]|0;
$switch7$i = ($10|0)==(1);
L6: do {
if ($switch7$i) {
$13 = ((($_5$i)) + 4|0);
$14 = HEAP32[$13>>2]|0;
$15 = (($14) + 1)|0;
$16 = ($15>>>0)>($3>>>0);
if ($16) {
__THREW__ = 0;
invoke_vii(69,($15|0),($3|0));
$17 = __THREW__; __THREW__ = 0;
break L4;
}
__THREW__ = 0;
invoke_viiii(113,($_10$i|0),($7|0),($2|0),($15|0));
$18 = __THREW__; __THREW__ = 0;
$19 = $18&1;
if ($19) {
break L4;
}
$self$i$sroa$0$0$copyload$i = HEAP32[$_10$i>>2]|0;
$self$i$sroa$4$0$$sroa_idx101$i = ((($_10$i)) + 4|0);
$self$i$sroa$4$0$copyload$i = HEAP32[$self$i$sroa$4$0$$sroa_idx101$i>>2]|0;
$switch3$i$i = ($self$i$sroa$0$0$copyload$i|0)==(1);
if ($switch3$i$i) {
$self$i$sroa$6$0$$sroa_idx104$i = ((($_10$i)) + 8|0);
$self$i$sroa$6$0$copyload$i = HEAP32[$self$i$sroa$6$0$$sroa_idx104$i>>2]|0;
HEAP32[$0>>2] = 1;
$_3$sroa$0$0$$sroa_idx3$i$i = ((($0)) + 4|0);
$20 = $_3$sroa$0$0$$sroa_idx3$i$i;
$21 = $20;
HEAP32[$21>>2] = $self$i$sroa$4$0$copyload$i;
$22 = (($20) + 4)|0;
$23 = $22;
HEAP32[$23>>2] = $self$i$sroa$6$0$copyload$i;
} else {
$24 = ($self$i$sroa$4$0$copyload$i|0)==($15|0);
do {
if ($24) {
__THREW__ = 0;
invoke_vii(109,($_3$i$i|0),($7|0));
$30 = __THREW__; __THREW__ = 0;
$31 = $30&1;
if ($31) {
break L4;
}
$self$sroa$0$0$copyload$i$i$i = HEAP32[$_3$i$i>>2]|0;
$switch3$i$i$i = ($self$sroa$0$0$copyload$i$i$i|0)==(1);
if ($switch3$i$i$i) {
$self$sroa$9$0$$sroa_idx60$i$i$i = ((($_3$i$i)) + 8|0);
$self$sroa$9$0$copyload$i$i109$i = HEAP32[$self$sroa$9$0$$sroa_idx60$i$i$i>>2]|0;
$self$sroa$6$0$$sroa_idx56$i$i$i = ((($_3$i$i)) + 4|0);
$self$sroa$6$0$copyload$i$i$i = HEAP32[$self$sroa$6$0$$sroa_idx56$i$i$i>>2]|0;
$cond$i$i$i53$i = ($self$sroa$6$0$copyload$i$i$i|0)==(1);
if (!($cond$i$i$i53$i)) {
break;
}
$34 = ((($self$sroa$9$0$copyload$i$i109$i)) + 4|0);
$35 = HEAP32[$34>>2]|0;
$36 = ((($self$sroa$9$0$copyload$i$i109$i)) + 8|0);
$37 = HEAP32[$36>>2]|0;
$38 = HEAP32[$37>>2]|0;
__THREW__ = 0;
invoke_vi($38|0,($35|0));
$39 = __THREW__; __THREW__ = 0;
$40 = $39&1;
if ($40) {
break L4;
}
$41 = HEAP32[$36>>2]|0;
$42 = ((($41)) + 4|0);
$43 = HEAP32[$42>>2]|0;
$44 = ($43|0)==(0);
if (!($44)) {
$45 = ((($41)) + 8|0);
$46 = HEAP32[$45>>2]|0;
___rust_deallocate($35,$43,$46);
}
___rust_deallocate($self$sroa$9$0$copyload$i$i109$i,12,4);
break;
}
$32 = HEAP8[$7>>0]|0;
$not$switch$i$i$i$i$i$i = ($32<<24>>24)==(1);
if (!($not$switch$i$i$i$i$i$i)) {
__THREW__ = 0;
invoke_vi(78,(2900|0));
$33 = __THREW__; __THREW__ = 0;
break L4;
}
$25 = (($2) + ($15)|0);
$26 = (($3) - ($15))|0;
__THREW__ = 0;
invoke_viiii(113,($_40$i|0),($7|0),($25|0),($26|0));
$27 = __THREW__; __THREW__ = 0;
$28 = $27&1;
if ($28) {
break L4;
}
$self$sroa$0$0$copyload$i$i = HEAP32[$_40$i>>2]|0;
$self$sroa$5$0$$sroa_idx56$i$i = ((($_40$i)) + 4|0);
$self$sroa$5$0$copyload$i$i = HEAP32[$self$sroa$5$0$$sroa_idx56$i$i>>2]|0;
$switch3$i49$i = ($self$sroa$0$0$copyload$i$i|0)==(1);
if ($switch3$i49$i) {
$self$sroa$9$0$$sroa_idx61$i$i = ((($_40$i)) + 8|0);
$self$sroa$9$0$copyload$i$i = HEAP32[$self$sroa$9$0$$sroa_idx61$i$i>>2]|0;
$$sroa_idx53$i$i = ((($0)) + 8|0);
HEAP32[$$sroa_idx53$i$i>>2] = $self$sroa$9$0$copyload$i$i;
$$sink$i$i = $self$sroa$5$0$copyload$i$i;$$sink67$i$i = 1;
} else {
$29 = (($self$sroa$5$0$copyload$i$i) + ($15))|0;
$$sink$i$i = $29;$$sink67$i$i = 0;
}
HEAP32[$0>>2] = $$sink67$i$i;
$48 = ((($0)) + 4|0);
HEAP32[$48>>2] = $$sink$i$i;
break L6;
}
} while(0);
HEAP32[$0>>2] = 0;
$47 = ((($0)) + 4|0);
HEAP32[$47>>2] = $self$i$sroa$4$0$copyload$i;
}
HEAP32[$5>>2] = 0;
STACKTOP = sp;return;
} else {
__THREW__ = 0;
invoke_viiii(113,($0|0),($7|0),($2|0),($3|0));
$11 = __THREW__; __THREW__ = 0;
$12 = $11&1;
if ($12) {
break L4;
}
}
} while(0);
HEAP32[$5>>2] = 0;
STACKTOP = sp;return;
}
} while(0);
$49 = ___cxa_find_matching_catch_2()|0;
$50 = tempRet0;
HEAP32[$5>>2] = 0;
___resumeException($49|0);
// unreachable;
}
function __ZN3std3sys3imp6memchr7memrchr17hb90bda4078336785E($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|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 $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, $48 = 0;
var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_21$0$i$i = 0, $i$0$i$i$i = 0, $i$0$i25$i$i = 0, $offset$0$i$i = 0, $offset$1$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = $2;
$5 = (($4) + ($3))|0;
$6 = $5 & 3;
$7 = ($6|0)==(0);
L1: do {
if ($7) {
$offset$0$i$i = $3;
} else {
$8 = ($6>>>0)<($3>>>0);
$9 = (($3) - ($6))|0;
$_21$0$i$i = $8 ? $9 : 0;
$10 = ($_21$0$i$i>>>0)>($3>>>0);
if ($10) {
__ZN4core5slice22slice_index_order_fail17h18a93bce132b6e5bE($_21$0$i$i,$3);
// unreachable;
}
$11 = (($2) + ($_21$0$i$i)|0);
$12 = (($3) - ($_21$0$i$i))|0;
$13 = (($11) + ($12)|0);
$15 = $13;$i$0$i25$i$i = $12;
while(1) {
$14 = ($15|0)==($11|0);
if ($14) {
$offset$0$i$i = $_21$0$i$i;
break L1;
}
$16 = ((($15)) + -1|0);
$17 = HEAP8[$16>>0]|0;
$18 = ($17<<24>>24)==($1<<24>>24);
$19 = (($i$0$i25$i$i) + -1)|0;
if ($18) {
break;
} else {
$15 = $16;$i$0$i25$i$i = $19;
}
}
$20 = (($19) + ($_21$0$i$i))|0;
HEAP32[$0>>2] = 1;
$21 = ((($0)) + 4|0);
HEAP32[$21>>2] = $20;
return;
}
} while(0);
$22 = $1&255;
$23 = $22 << 8;
$24 = $23 | $22;
$25 = $24 << 16;
$26 = $25 | $24;
$offset$1$i$i = $offset$0$i$i;
while(1) {
$27 = ($offset$1$i$i>>>0)>(7);
if (!($27)) {
break;
}
$37 = (($offset$1$i$i) + -8)|0;
$38 = (($2) + ($37)|0);
$39 = HEAP32[$38>>2]|0;
$40 = (($offset$1$i$i) + -4)|0;
$41 = (($2) + ($40)|0);
$42 = HEAP32[$41>>2]|0;
$43 = $39 ^ $26;
$44 = (($43) + -16843009)|0;
$45 = $43 & -2139062144;
$46 = $45 ^ -2139062144;
$47 = $46 & $44;
$48 = $42 ^ $26;
$49 = (($48) + -16843009)|0;
$50 = $48 & -2139062144;
$51 = $50 ^ -2139062144;
$52 = $51 & $49;
$53 = $52 | $47;
$54 = ($53|0)==(0);
if ($54) {
$offset$1$i$i = $37;
} else {
break;
}
}
$28 = ($offset$1$i$i>>>0)>($3>>>0);
if ($28) {
__ZN4core5slice20slice_index_len_fail17hb40dd6e1275ffb59E($offset$1$i$i,$3);
// unreachable;
}
$29 = (($2) + ($offset$1$i$i)|0);
$31 = $29;$i$0$i$i$i = $offset$1$i$i;
while(1) {
$30 = ($31|0)==($2|0);
if ($30) {
label = 16;
break;
}
$32 = ((($31)) + -1|0);
$33 = HEAP8[$32>>0]|0;
$34 = ($33<<24>>24)==($1<<24>>24);
$35 = (($i$0$i$i$i) + -1)|0;
if ($34) {
label = 15;
break;
} else {
$31 = $32;$i$0$i$i$i = $35;
}
}
if ((label|0) == 15) {
HEAP32[$0>>2] = 1;
$36 = ((($0)) + 4|0);
HEAP32[$36>>2] = $35;
return;
}
else if ((label|0) == 16) {
HEAP32[$0>>2] = 0;
return;
}
}
function __ZN72__LT_std__io__buffered__BufWriter_LT_W_GT__u20_as_u20_std__io__Write_GT_5write17hf218559c1e871fd3E($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$pre = 0, $$sink$i$i$i115 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_16 = 0, $_3$sroa$0$0$$sroa_idx3$i = 0, $_37$sroa$4$0$$sroa_idx63 = 0, $_37$sroa$5$0$$sroa_idx65 = 0, $local_len$sroa$5$0$lcssa$i$i = 0, $not$switch$i = 0, $r$sroa$0$1 = 0, $r$sroa$6$1 = 0, $r$sroa$8$1 = 0, $ret$sroa$5$sroa$0$0$i$i111 = 0;
var $ret$sroa$5$sroa$6$0$i$i114 = 0, $self$i$sroa$0$0$copyload = 0, $self$i$sroa$4$0$$sroa_idx93 = 0, $self$i$sroa$4$0$copyload = 0, $self$i$sroa$5$0$$sroa_idx95 = 0, $self$i$sroa$5$0$copyload = 0, $switch$i40 = 0, $switch3$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$_16 = sp;
$4 = ((($1)) + 4|0);
$5 = ((($1)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$7 = (($6) + ($3))|0;
$8 = ((($1)) + 8|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($7>>>0)>($9>>>0);
do {
if ($10) {
__ZN46__LT_std__io__buffered__BufWriter_LT_W_GT__GT_9flush_buf17h30dd2f97a231eb31E($_16,$1);
$self$i$sroa$0$0$copyload = HEAP32[$_16>>2]|0;
$switch3$i = ($self$i$sroa$0$0$copyload|0)==(1);
if (!($switch3$i)) {
$$pre = HEAP32[$8>>2]|0;
$16 = $$pre;
break;
}
$self$i$sroa$5$0$$sroa_idx95 = ((($_16)) + 8|0);
$self$i$sroa$5$0$copyload = HEAP32[$self$i$sroa$5$0$$sroa_idx95>>2]|0;
$self$i$sroa$4$0$$sroa_idx93 = ((($_16)) + 4|0);
$self$i$sroa$4$0$copyload = HEAP32[$self$i$sroa$4$0$$sroa_idx93>>2]|0;
HEAP32[$0>>2] = 1;
$_3$sroa$0$0$$sroa_idx3$i = ((($0)) + 4|0);
$11 = $_3$sroa$0$0$$sroa_idx3$i;
$12 = $11;
HEAP32[$12>>2] = $self$i$sroa$4$0$copyload;
$13 = (($11) + 4)|0;
$14 = $13;
HEAP32[$14>>2] = $self$i$sroa$5$0$copyload;
STACKTOP = sp;return;
} else {
$16 = $9;
}
} while(0);
$15 = ($16>>>0)>($3>>>0);
if ($15) {
__ZN39__LT_collections__vec__Vec_LT_T_GT__GT_7reserve17h78bfb0aa55abb3ddE($4,$3);
$17 = HEAP32[$5>>2]|0;
$18 = ($3|0)==(0);
if ($18) {
$local_len$sroa$5$0$lcssa$i$i = $17;
} else {
$19 = (($17) + ($3))|0;
$20 = HEAP32[$4>>2]|0;
$21 = (($20) + ($17)|0);
_memcpy(($21|0),($2|0),($3|0))|0;
$local_len$sroa$5$0$lcssa$i$i = $19;
}
HEAP32[$5>>2] = $local_len$sroa$5$0$lcssa$i$i;
HEAP32[$0>>2] = 0;
$22 = ((($0)) + 4|0);
HEAP32[$22>>2] = $3;
STACKTOP = sp;return;
}
$23 = ((($1)) + 16|0);
HEAP8[$23>>0] = 1;
$24 = HEAP8[$1>>0]|0;
$not$switch$i = ($24<<24>>24)==(1);
if (!($not$switch$i)) {
__ZN4core9panicking5panic17h7842870c7e688275E(2900);
// unreachable;
}
$25 = ((($1)) + 1|0);
$26 = HEAP8[$25>>0]|0;
$switch$i40 = ($26<<24>>24)==(1);
do {
if ($switch$i40) {
$r$sroa$0$1 = 0;$r$sroa$6$1 = $3;$r$sroa$8$1 = 0;
} else {
$27 = (_write(1,$2,$3)|0);
$28 = ($27|0)==(-1);
if ($28) {
$29 = (___errno_location()|0);
$30 = HEAP32[$29>>2]|0;
$31 = ($30|0)==(9);
if ($31) {
$r$sroa$0$1 = 0;$r$sroa$6$1 = $3;$r$sroa$8$1 = 9;
break;
} else {
$$sink$i$i$i115 = 1;$ret$sroa$5$sroa$0$0$i$i111 = 0;$ret$sroa$5$sroa$6$0$i$i114 = $30;
}
} else {
$$sink$i$i$i115 = 0;$ret$sroa$5$sroa$0$0$i$i111 = $27;$ret$sroa$5$sroa$6$0$i$i114 = 0;
}
$r$sroa$0$1 = $$sink$i$i$i115;$r$sroa$6$1 = $ret$sroa$5$sroa$0$0$i$i111;$r$sroa$8$1 = $ret$sroa$5$sroa$6$0$i$i114;
}
} while(0);
HEAP8[$23>>0] = 0;
HEAP32[$0>>2] = $r$sroa$0$1;
$_37$sroa$4$0$$sroa_idx63 = ((($0)) + 4|0);
HEAP32[$_37$sroa$4$0$$sroa_idx63>>2] = $r$sroa$6$1;
$_37$sroa$5$0$$sroa_idx65 = ((($0)) + 8|0);
HEAP32[$_37$sroa$5$0$$sroa_idx65>>2] = $r$sroa$8$1;
STACKTOP = sp;return;
}
function __ZN3std2io5Write9write_all17h263131b6e0393a85E($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$sink$index = 0, $$sink$index2 = 0, $$sroa_idx = 0, $$sroa_idx74 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_10 = 0, $_3$i$i$i = 0;
var $_32$sroa$0$0$$sroa_idx15 = 0, $buf$sroa$0$097$ph = 0, $buf$sroa$8$098$ph = 0, $cond = 0, $cond80 = 0, $switch$i = 0, $switch3 = 0, $switch3126 = 0, $switch3127 = 0, $x$i$sroa$4$0$$sroa_raw_idx$i = 0, $x$i$sroa$4$i = 0, $x$i$sroa$5$0$$sroa_idx$i = 0, $x$i$sroa$6$0$$sroa_idx$i = 0, $x$sroa$0$i$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$x$i$sroa$4$i = sp + 44|0;
$x$sroa$0$i$i$i$i$i = sp + 32|0;
$_3$i$i$i = sp + 16|0;
$_10 = sp;
$4 = ($3|0)==(0);
L1: do {
if (!($4)) {
$5 = ((($_10)) + 4|0);
$6 = ((($_10)) + 8|0);
$7 = ((($_10)) + 4|0);
$buf$sroa$0$097$ph = $2;$buf$sroa$8$098$ph = $3;
L3: while(1) {
__ZN75__LT_std__io__stdio__StdoutLock_LT__u27_a_GT__u20_as_u20_std__io__Write_GT_5write17hdfb7ece55431ec3aE($_10,$1,$buf$sroa$0$097$ph,$buf$sroa$8$098$ph);
$8 = HEAP32[$_10>>2]|0;
$switch3126 = ($8|0)==(1);
if ($switch3126) {
$switch3127 = $switch3126;
while(1) {
$18 = HEAP32[$5>>2]|0;
$switch$i = ($18|0)==(1);
if ($switch$i) {
$22 = HEAP32[$6>>2]|0;
$23 = HEAP8[$22>>0]|0;
$24 = ($23<<24>>24)==(15);
if (!($24)) {
label = 18;
break L3;
}
if ($switch3127) {
$36 = HEAP32[$6>>2]|0;
$37 = ((($36)) + 4|0);
$38 = HEAP32[$37>>2]|0;
$39 = ((($36)) + 8|0);
$40 = HEAP32[$39>>2]|0;
$41 = HEAP32[$40>>2]|0;
__THREW__ = 0;
invoke_vi($41|0,($38|0));
$42 = __THREW__; __THREW__ = 0;
$43 = $42&1;
if ($43) {
label = 30;
break L3;
}
$44 = HEAP32[$39>>2]|0;
$45 = ((($44)) + 4|0);
$46 = HEAP32[$45>>2]|0;
$47 = ($46|0)==(0);
if (!($47)) {
$48 = ((($44)) + 8|0);
$49 = HEAP32[$48>>2]|0;
___rust_deallocate($38,$46,$49);
}
___rust_deallocate($36,12,4);
}
} else {
$19 = HEAP32[$6>>2]|0;
$cond80 = ($19|0)==(4);
if (!($cond80)) {
label = 18;
break L3;
}
}
__ZN75__LT_std__io__stdio__StdoutLock_LT__u27_a_GT__u20_as_u20_std__io__Write_GT_5write17hdfb7ece55431ec3aE($_10,$1,$buf$sroa$0$097$ph,$buf$sroa$8$098$ph);
$50 = HEAP32[$_10>>2]|0;
$switch3 = ($50|0)==(1);
if ($switch3) {
$switch3127 = $switch3;
} else {
break;
}
}
}
$17 = HEAP32[$7>>2]|0;
$cond = ($17|0)==(0);
if ($cond) {
label = 6;
break;
}
$20 = ($buf$sroa$8$098$ph>>>0)<($17>>>0);
if ($20) {
label = 16;
break;
}
$51 = (($buf$sroa$0$097$ph) + ($17)|0);
$52 = (($buf$sroa$8$098$ph) - ($17))|0;
$53 = ($52|0)==(0);
if ($53) {
break L1;
} else {
$buf$sroa$0$097$ph = $51;$buf$sroa$8$098$ph = $52;
}
}
do {
if ((label|0) == 6) {
__THREW__ = 0;
invoke_viii(88,($_3$i$i$i|0),(6053|0),28);
$9 = __THREW__; __THREW__ = 0;
$10 = $9&1;
if (!($10)) {
;HEAP32[$x$sroa$0$i$i$i$i$i>>2]=HEAP32[$_3$i$i$i>>2]|0;HEAP32[$x$sroa$0$i$i$i$i$i+4>>2]=HEAP32[$_3$i$i$i+4>>2]|0;HEAP32[$x$sroa$0$i$i$i$i$i+8>>2]=HEAP32[$_3$i$i$i+8>>2]|0;
$11 = (___rust_allocate(12,4)|0);
$12 = ($11|0)==(0|0);
if ($12) {
__THREW__ = 0;
invoke_v(79);
$13 = __THREW__; __THREW__ = 0;
break;
}
;HEAP32[$11>>2]=HEAP32[$x$sroa$0$i$i$i$i$i>>2]|0;HEAP32[$11+4>>2]=HEAP32[$x$sroa$0$i$i$i$i$i+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$x$sroa$0$i$i$i$i$i+8>>2]|0;
$14 = (___rust_allocate(12,4)|0);
$15 = ($14|0)==(0|0);
if ($15) {
__THREW__ = 0;
invoke_v(79);
$16 = __THREW__; __THREW__ = 0;
break;
}
HEAP8[$14>>0] = 14;
$x$i$sroa$4$0$$sroa_raw_idx$i = ((($14)) + 1|0);
;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i>>0]=HEAP8[$x$i$sroa$4$i>>0]|0;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i+1>>0]=HEAP8[$x$i$sroa$4$i+1>>0]|0;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i+2>>0]=HEAP8[$x$i$sroa$4$i+2>>0]|0;
$x$i$sroa$5$0$$sroa_idx$i = ((($14)) + 4|0);
HEAP32[$x$i$sroa$5$0$$sroa_idx$i>>2] = $11;
$x$i$sroa$6$0$$sroa_idx$i = ((($14)) + 8|0);
HEAP32[$x$i$sroa$6$0$$sroa_idx$i>>2] = 136;
$35 = $14;
HEAP32[$0>>2] = 1;
$$sroa_idx = ((($0)) + 4|0);
HEAP32[$$sroa_idx>>2] = 1;
$$sroa_idx74 = ((($0)) + 8|0);
HEAP32[$$sroa_idx74>>2] = $35;
STACKTOP = sp;return;
}
}
else if ((label|0) == 16) {
__THREW__ = 0;
invoke_vii(110,($17|0),($buf$sroa$8$098$ph|0));
$21 = __THREW__; __THREW__ = 0;
}
else if ((label|0) == 18) {
$25 = $5;
$26 = $25;
$27 = HEAP32[$26>>2]|0;
$28 = (($25) + 4)|0;
$29 = $28;
$30 = HEAP32[$29>>2]|0;
HEAP32[$0>>2] = 1;
$_32$sroa$0$0$$sroa_idx15 = ((($0)) + 4|0);
$31 = $_32$sroa$0$0$$sroa_idx15;
$32 = $31;
HEAP32[$32>>2] = $27;
$33 = (($31) + 4)|0;
$34 = $33;
HEAP32[$34>>2] = $30;
STACKTOP = sp;return;
}
else if ((label|0) == 30) {
$56 = ___cxa_find_matching_catch_2()|0;
$57 = tempRet0;
$$sink$index = $56;$$sink$index2 = $57;
___resumeException($$sink$index|0);
// unreachable;
}
} while(0);
$54 = ___cxa_find_matching_catch_2()|0;
$55 = tempRet0;
$$sink$index = $54;$$sink$index2 = $55;
___resumeException($$sink$index|0);
// unreachable;
}
} while(0);
HEAP32[$0>>2] = 0;
STACKTOP = sp;return;
}
function __ZN57__LT_std__io__stdio__Stdout_u20_as_u20_std__io__Write_GT_9write_fmt17h5be961856e605546E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$pre$i$i$i$i$i$i$i = 0, $$pre$i$i$i$i$i$i$i19 = 0, $$pre$i$i$i$i$i$i$i32 = 0, $$pre$phi$i$i$i$i$i$i$iZ2D = 0, $$pre3$i$i$i$i$i$i$i = 0, $$pre3$i$i$i$i$i$i$i15 = 0, $$pre3$i$i$i$i$i$i$i27 = 0, $$sink$in$phi$trans$insert$i$i$i$i$i$i$i = 0, $$sink$in$phi$trans$insert$i$i$i$i$i$i$i17 = 0, $$sink$in$phi$trans$insert$i$i$i$i$i$i$i30 = 0, $$sroa_idx$i = 0, $$sroa_idx31$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0;
var $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, $3 = 0, $30 = 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, $_14$i = 0, $_3$i$i$i$i = 0, $_4$sroa$4$0$off32$i = 0, $_6 = 0, $_8$sroa$0$0$$sroa_idx$i = 0;
var $args = 0, $cond$i$i = 0, $cond$i$i$i$i = 0, $cond$i$i$i22$i = 0, $cond$i21$i = 0, $eh$lpad$body$index2Z2D = 0, $eh$lpad$body$indexZ2D = 0, $output$i = 0, $personalityslot$sroa$0$0 = 0, $personalityslot$sroa$0$0$i = 0, $personalityslot$sroa$5$0 = 0, $personalityslot$sroa$5$0$i = 0, $switch$i = 0, $switch$i$i$i$i$i$i$i$i = 0, $switch$i$i$i$i$i$i$i$i13 = 0, $switch$i$i$i$i$i$i$i$i25 = 0, $switch2tmp$i$i$i$i$i$i$i$i$i = 0, $switch2tmp$i$i$i$i$i$i$i$i$i11 = 0, $switch2tmp$i$i$i$i$i$i$i$i$i22 = 0, $x$i$sroa$4$0$$sroa_raw_idx$i$i = 0;
var $x$i$sroa$4$i$i = 0, $x$i$sroa$5$0$$sroa_idx$i$i = 0, $x$i$sroa$6$0$$sroa_idx$i$i = 0, $x$sroa$0$i$i$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
$x$i$sroa$4$i$i = sp + 100|0;
$x$sroa$0$i$i$i$i$i$i = sp + 88|0;
$_3$i$i$i$i = sp + 72|0;
$output$i = sp + 56|0;
$_14$i = sp + 32|0;
$args = sp + 8|0;
$_6 = sp;
;HEAP32[$args>>2]=HEAP32[$2>>2]|0;HEAP32[$args+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$args+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$args+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$args+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$args+20>>2]=HEAP32[$2+20>>2]|0;
$3 = HEAP32[$1>>2]|0;
$4 = ((($3)) + 8|0);
$5 = HEAP32[$4>>2]|0;
(_pthread_mutex_lock(($5|0))|0);
$6 = $4;
$7 = (__ZN3std9panicking18update_panic_count11PANIC_COUNT7__getit17h14dfe58ada842e81E()|0);
$switch2tmp$i$i$i$i$i$i$i$i$i = ($7|0)==(0|0);
if ($switch2tmp$i$i$i$i$i$i$i$i$i) {
__ZN4core6option13expect_failed17h199949141d849bddE(5764,57);
// unreachable;
}
$8 = HEAP32[$7>>2]|0;
$switch$i$i$i$i$i$i$i$i = ($8|0)==(1);
if ($switch$i$i$i$i$i$i$i$i) {
$$sink$in$phi$trans$insert$i$i$i$i$i$i$i = ((($7)) + 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;
$$pre$phi$i$i$i$i$i$i$iZ2D = $$sink$in$phi$trans$insert$i$i$i$i$i$i$i;$13 = $$pre$i$i$i$i$i$i$i;
} else {
$9 = $7;
$10 = $9;
HEAP32[$10>>2] = 1;
$11 = (($9) + 4)|0;
$12 = $11;
HEAP32[$12>>2] = 0;
$$pre3$i$i$i$i$i$i$i = ((($7)) + 4|0);
$$pre$phi$i$i$i$i$i$i$iZ2D = $$pre3$i$i$i$i$i$i$i;$13 = 0;
}
HEAP32[$$pre$phi$i$i$i$i$i$i$iZ2D>>2] = $13;
$14 = ($13|0)!=(0);
$15 = ((($3)) + 12|0);
$16 = HEAP8[$15>>0]|0;
$_4$sroa$4$0$off32$i = $14&1;
HEAP32[$_6>>2] = $6;
$17 = ((($_6)) + 4|0);
HEAP8[$17>>0] = $_4$sroa$4$0$off32$i;
HEAP32[$output$i>>2] = $_6;
$_8$sroa$0$0$$sroa_idx$i = ((($output$i)) + 4|0);
HEAP32[$_8$sroa$0$0$$sroa_idx$i>>2] = 0;
;HEAP32[$_14$i>>2]=HEAP32[$args>>2]|0;HEAP32[$_14$i+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$_14$i+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$_14$i+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$_14$i+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$_14$i+20>>2]=HEAP32[$args+20>>2]|0;
__THREW__ = 0;
$18 = (invoke_iiii(60,($output$i|0),(288|0),($_14$i|0))|0);
$19 = __THREW__; __THREW__ = 0;
$20 = $19&1;
L8: do {
if ($20) {
label = 24;
} else {
$switch$i = ($18<<24>>24)==(0);
do {
if ($switch$i) {
HEAP32[$0>>2] = 0;
label = 18;
} else {
$21 = ((($output$i)) + 4|0);
$22 = HEAP32[$21>>2]|0;
$23 = ($22|0)==(1);
if ($23) {
;HEAP32[$0>>2]=HEAP32[$21>>2]|0;HEAP32[$0+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$21+8>>2]|0;
break;
}
__THREW__ = 0;
invoke_viii(88,($_3$i$i$i$i|0),(6027|0),15);
$24 = __THREW__; __THREW__ = 0;
$25 = $24&1;
if ($25) {
label = 24;
break L8;
}
;HEAP32[$x$sroa$0$i$i$i$i$i$i>>2]=HEAP32[$_3$i$i$i$i>>2]|0;HEAP32[$x$sroa$0$i$i$i$i$i$i+4>>2]=HEAP32[$_3$i$i$i$i+4>>2]|0;HEAP32[$x$sroa$0$i$i$i$i$i$i+8>>2]=HEAP32[$_3$i$i$i$i+8>>2]|0;
$26 = (___rust_allocate(12,4)|0);
$27 = ($26|0)==(0|0);
if ($27) {
__THREW__ = 0;
invoke_v(79);
$28 = __THREW__; __THREW__ = 0;
label = 24;
break L8;
}
;HEAP32[$26>>2]=HEAP32[$x$sroa$0$i$i$i$i$i$i>>2]|0;HEAP32[$26+4>>2]=HEAP32[$x$sroa$0$i$i$i$i$i$i+4>>2]|0;HEAP32[$26+8>>2]=HEAP32[$x$sroa$0$i$i$i$i$i$i+8>>2]|0;
$29 = (___rust_allocate(12,4)|0);
$30 = ($29|0)==(0|0);
if ($30) {
__THREW__ = 0;
invoke_v(79);
$31 = __THREW__; __THREW__ = 0;
label = 24;
break L8;
} else {
HEAP8[$29>>0] = 16;
$x$i$sroa$4$0$$sroa_raw_idx$i$i = ((($29)) + 1|0);
;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i$i>>0]=HEAP8[$x$i$sroa$4$i$i>>0]|0;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i$i+1>>0]=HEAP8[$x$i$sroa$4$i$i+1>>0]|0;HEAP8[$x$i$sroa$4$0$$sroa_raw_idx$i$i+2>>0]=HEAP8[$x$i$sroa$4$i$i+2>>0]|0;
$x$i$sroa$5$0$$sroa_idx$i$i = ((($29)) + 4|0);
HEAP32[$x$i$sroa$5$0$$sroa_idx$i$i>>2] = $26;
$x$i$sroa$6$0$$sroa_idx$i$i = ((($29)) + 8|0);
HEAP32[$x$i$sroa$6$0$$sroa_idx$i$i>>2] = 136;
$32 = $29;
HEAP32[$0>>2] = 1;
$$sroa_idx$i = ((($0)) + 4|0);
HEAP32[$$sroa_idx$i>>2] = 1;
$$sroa_idx31$i = ((($0)) + 8|0);
HEAP32[$$sroa_idx31$i>>2] = $32;
label = 18;
break;
}
}
} while(0);
if ((label|0) == 18) {
$33 = HEAP32[$_8$sroa$0$0$$sroa_idx$i>>2]|0;
$cond$i21$i = ($33|0)==(1);
if ($cond$i21$i) {
$34 = ((($output$i)) + 8|0);
$35 = HEAP32[$34>>2]|0;
$cond$i$i$i22$i = ($35|0)==(1);
if ($cond$i$i$i22$i) {
$36 = ((($output$i)) + 12|0);
$37 = HEAP32[$36>>2]|0;
$38 = ((($37)) + 4|0);
$39 = HEAP32[$38>>2]|0;
$40 = ((($37)) + 8|0);
$41 = HEAP32[$40>>2]|0;
$42 = HEAP32[$41>>2]|0;
__THREW__ = 0;
invoke_vi($42|0,($39|0));
$43 = __THREW__; __THREW__ = 0;
$44 = $43&1;
if ($44) {
$71 = ___cxa_find_matching_catch_2()|0;
$72 = tempRet0;
$personalityslot$sroa$0$0$i = $71;$personalityslot$sroa$5$0$i = $72;
label = 7;
break;
}
$45 = HEAP32[$40>>2]|0;
$46 = ((($45)) + 4|0);
$47 = HEAP32[$46>>2]|0;
$48 = ($47|0)==(0);
if (!($48)) {
$49 = ((($45)) + 8|0);
$50 = HEAP32[$49>>2]|0;
___rust_deallocate($39,$47,$50);
}
___rust_deallocate($37,12,4);
}
}
}
$73 = HEAP32[$_6>>2]|0;
$74 = HEAP8[$17>>0]|0;
$75 = ($74<<24>>24)==(0);
if (!($75)) {
$87 = HEAP32[$_6>>2]|0;
$88 = HEAP32[$87>>2]|0;
(_pthread_mutex_unlock(($88|0))|0);
STACKTOP = sp;return;
}
__THREW__ = 0;
$76 = (invoke_i(62)|0);
$77 = __THREW__; __THREW__ = 0;
$78 = $77&1;
do {
if (!($78)) {
$switch2tmp$i$i$i$i$i$i$i$i$i11 = ($76|0)==(0|0);
if ($switch2tmp$i$i$i$i$i$i$i$i$i11) {
__THREW__ = 0;
invoke_vii(63,(5764|0),57);
$79 = __THREW__; __THREW__ = 0;
break;
}
$80 = HEAP32[$76>>2]|0;
$switch$i$i$i$i$i$i$i$i13 = ($80|0)==(1);
if (!($switch$i$i$i$i$i$i$i$i13)) {
$81 = $76;
$82 = $81;
HEAP32[$82>>2] = 1;
$83 = (($81) + 4)|0;
$84 = $83;
HEAP32[$84>>2] = 0;
$$pre3$i$i$i$i$i$i$i15 = ((($76)) + 4|0);
HEAP32[$$pre3$i$i$i$i$i$i$i15>>2] = 0;
$87 = HEAP32[$_6>>2]|0;
$88 = HEAP32[$87>>2]|0;
(_pthread_mutex_unlock(($88|0))|0);
STACKTOP = sp;return;
}
$$sink$in$phi$trans$insert$i$i$i$i$i$i$i17 = ((($76)) + 4|0);
$$pre$i$i$i$i$i$i$i19 = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i$i$i$i17>>2]|0;
$85 = ($$pre$i$i$i$i$i$i$i19|0)==(0);
if ($85) {
$87 = HEAP32[$_6>>2]|0;
$88 = HEAP32[$87>>2]|0;
(_pthread_mutex_unlock(($88|0))|0);
STACKTOP = sp;return;
}
$86 = ((($73)) + 4|0);
HEAP8[$86>>0] = 1;
$87 = HEAP32[$_6>>2]|0;
$88 = HEAP32[$87>>2]|0;
(_pthread_mutex_unlock(($88|0))|0);
STACKTOP = sp;return;
}
} while(0);
$104 = ___cxa_find_matching_catch_2()|0;
$105 = tempRet0;
$personalityslot$sroa$0$0 = $104;$personalityslot$sroa$5$0 = $105;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
} while(0);
do {
if ((label|0) == 24) {
$51 = ___cxa_find_matching_catch_2()|0;
$52 = tempRet0;
$53 = HEAP32[$_8$sroa$0$0$$sroa_idx$i>>2]|0;
$cond$i$i = ($53|0)==(1);
if ($cond$i$i) {
$54 = ((($output$i)) + 8|0);
$55 = HEAP32[$54>>2]|0;
$cond$i$i$i$i = ($55|0)==(1);
if ($cond$i$i$i$i) {
$56 = ((($output$i)) + 12|0);
$57 = HEAP32[$56>>2]|0;
$58 = ((($57)) + 4|0);
$59 = HEAP32[$58>>2]|0;
$60 = ((($57)) + 8|0);
$61 = HEAP32[$60>>2]|0;
$62 = HEAP32[$61>>2]|0;
__THREW__ = 0;
invoke_vi($62|0,($59|0));
$63 = __THREW__; __THREW__ = 0;
$64 = $63&1;
if ($64) {
$89 = ___cxa_find_matching_catch_2()|0;
$90 = tempRet0;
$eh$lpad$body$index2Z2D = $90;$eh$lpad$body$indexZ2D = $89;
break;
}
$65 = HEAP32[$60>>2]|0;
$66 = ((($65)) + 4|0);
$67 = HEAP32[$66>>2]|0;
$68 = ($67|0)==(0);
if (!($68)) {
$69 = ((($65)) + 8|0);
$70 = HEAP32[$69>>2]|0;
___rust_deallocate($59,$67,$70);
}
___rust_deallocate($57,12,4);
$personalityslot$sroa$0$0$i = $51;$personalityslot$sroa$5$0$i = $52;
label = 7;
} else {
$personalityslot$sroa$0$0$i = $51;$personalityslot$sroa$5$0$i = $52;
label = 7;
}
} else {
$personalityslot$sroa$0$0$i = $51;$personalityslot$sroa$5$0$i = $52;
label = 7;
}
}
} while(0);
if ((label|0) == 7) {
$eh$lpad$body$index2Z2D = $personalityslot$sroa$5$0$i;$eh$lpad$body$indexZ2D = $personalityslot$sroa$0$0$i;
}
$91 = HEAP32[$_6>>2]|0;
$92 = HEAP8[$17>>0]|0;
$93 = ($92<<24>>24)==(0);
do {
if ($93) {
$94 = (__ZN3std9panicking18update_panic_count11PANIC_COUNT7__getit17h14dfe58ada842e81E()|0);
$switch2tmp$i$i$i$i$i$i$i$i$i22 = ($94|0)==(0|0);
if ($switch2tmp$i$i$i$i$i$i$i$i$i22) {
__ZN4core6option13expect_failed17h199949141d849bddE(5764,57);
// unreachable;
}
$95 = HEAP32[$94>>2]|0;
$switch$i$i$i$i$i$i$i$i25 = ($95|0)==(1);
if (!($switch$i$i$i$i$i$i$i$i25)) {
$96 = $94;
$97 = $96;
HEAP32[$97>>2] = 1;
$98 = (($96) + 4)|0;
$99 = $98;
HEAP32[$99>>2] = 0;
$$pre3$i$i$i$i$i$i$i27 = ((($94)) + 4|0);
HEAP32[$$pre3$i$i$i$i$i$i$i27>>2] = 0;
break;
}
$$sink$in$phi$trans$insert$i$i$i$i$i$i$i30 = ((($94)) + 4|0);
$$pre$i$i$i$i$i$i$i32 = HEAP32[$$sink$in$phi$trans$insert$i$i$i$i$i$i$i30>>2]|0;
$100 = ($$pre$i$i$i$i$i$i$i32|0)==(0);
if (!($100)) {
$101 = ((($91)) + 4|0);
HEAP8[$101>>0] = 1;
}
}
} while(0);
$102 = HEAP32[$_6>>2]|0;
$103 = HEAP32[$102>>2]|0;
(_pthread_mutex_unlock(($103|0))|0);
$personalityslot$sroa$0$0 = $eh$lpad$body$indexZ2D;$personalityslot$sroa$5$0 = $eh$lpad$body$index2Z2D;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
function __ZN4drop17hf9853522c6677e3cE($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)) + 4|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($6)) + 8|0);
$10 = HEAP32[$9>>2]|0;
$11 = HEAP32[$10>>2]|0;
FUNCTION_TABLE_vi[$11 & 255]($8);
$12 = HEAP32[$9>>2]|0;
$13 = ((($12)) + 4|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)==(0);
if (!($15)) {
$16 = ((($12)) + 8|0);
$17 = HEAP32[$16>>2]|0;
___rust_deallocate($8,$14,$17);
}
___rust_deallocate($6,12,4);
return;
}
function __ZN94__LT_std__io__Write__write_fmt__Adaptor_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_str17he6d6140287a72df0E($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$sroa$0$062 = 0, $_13$sroa$5$0$$sroa_idx = 0, $_13$sroa$5$0$$sroa_idx26 = 0;
var $_5 = 0, $cond$i = 0, $cond$i$i$i = 0, $e$sroa$0$0$$sroa_idx33 = 0, $switch3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$_5 = sp;
$3 = HEAP32[$0>>2]|0;
__ZN3std2io5Write9write_all17h263131b6e0393a85E($_5,$3,$1,$2);
$4 = HEAP32[$_5>>2]|0;
$switch3 = ($4|0)==(1);
if (!($switch3)) {
$_0$sroa$0$062 = 0;
STACKTOP = sp;return ($_0$sroa$0$062|0);
}
$e$sroa$0$0$$sroa_idx33 = ((($_5)) + 4|0);
$5 = $e$sroa$0$0$$sroa_idx33;
$6 = $5;
$7 = HEAP32[$6>>2]|0;
$8 = (($5) + 4)|0;
$9 = $8;
$10 = HEAP32[$9>>2]|0;
$11 = ((($0)) + 4|0);
$12 = HEAP32[$11>>2]|0;
$cond$i = ($12|0)==(1);
if ($cond$i) {
$13 = ((($0)) + 8|0);
$14 = HEAP32[$13>>2]|0;
$cond$i$i$i = ($14|0)==(1);
if ($cond$i$i$i) {
$15 = ((($0)) + 12|0);
$16 = HEAP32[$15>>2]|0;
$17 = ((($16)) + 4|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($16)) + 8|0);
$20 = HEAP32[$19>>2]|0;
$21 = HEAP32[$20>>2]|0;
__THREW__ = 0;
invoke_vi($21|0,($18|0));
$22 = __THREW__; __THREW__ = 0;
$23 = $22&1;
if ($23) {
$34 = ___cxa_find_matching_catch_2()|0;
$35 = tempRet0;
HEAP32[$11>>2] = 1;
$_13$sroa$5$0$$sroa_idx = ((($0)) + 8|0);
$36 = $_13$sroa$5$0$$sroa_idx;
$37 = $36;
HEAP32[$37>>2] = $7;
$38 = (($36) + 4)|0;
$39 = $38;
HEAP32[$39>>2] = $10;
___resumeException($34|0);
// unreachable;
}
$24 = HEAP32[$19>>2]|0;
$25 = ((($24)) + 4|0);
$26 = HEAP32[$25>>2]|0;
$27 = ($26|0)==(0);
if (!($27)) {
$28 = ((($24)) + 8|0);
$29 = HEAP32[$28>>2]|0;
___rust_deallocate($18,$26,$29);
}
___rust_deallocate($16,12,4);
}
}
HEAP32[$11>>2] = 1;
$_13$sroa$5$0$$sroa_idx26 = ((($0)) + 8|0);
$30 = $_13$sroa$5$0$$sroa_idx26;
$31 = $30;
HEAP32[$31>>2] = $7;
$32 = (($30) + 4)|0;
$33 = $32;
HEAP32[$33>>2] = $10;
$_0$sroa$0$062 = 1;
STACKTOP = sp;return ($_0$sroa$0$062|0);
}
function __ZN4core3fmt5Write10write_char17h9fac9f8f57666887E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$sreg$field = 0, $$sreg$field2 = 0, $$sreg$index1 = 0, $2 = 0, $3 = 0, $_12 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
$_12 = sp + 8|0;
HEAP32[$_12>>2] = 0;
__ZN44__LT_char_u20_as_u20_core__char__CharExt_GT_11encode_utf817h06babbec5fb340b3E($2,$1,$_12);
$$sreg$field = HEAP32[$2>>2]|0;
$$sreg$index1 = ((($2)) + 4|0);
$$sreg$field2 = HEAP32[$$sreg$index1>>2]|0;
$3 = (__ZN94__LT_std__io__Write__write_fmt__Adaptor_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_str17he6d6140287a72df0E($0,$$sreg$field,$$sreg$field2)|0);
STACKTOP = sp;return ($3|0);
}
function __ZN4core3fmt5Write9write_fmt17h987c119bdf627aefE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $_10 = 0, $_8 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$_8 = sp + 24|0;
$_10 = sp;
HEAP32[$_8>>2] = $0;
;HEAP32[$_10>>2]=HEAP32[$1>>2]|0;HEAP32[$_10+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$_10+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$_10+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$_10+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$_10+20>>2]=HEAP32[$1+20>>2]|0;
$2 = (__ZN4core3fmt5write17hd46092952e27f1dbE($_8,312,$_10)|0);
STACKTOP = sp;return ($2|0);
}
function __ZN96__LT_core__fmt__Write__write_fmt__Adapter_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_str17h675397618c63259eE($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 = (__ZN94__LT_std__io__Write__write_fmt__Adaptor_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_str17he6d6140287a72df0E($3,$1,$2)|0);
return ($4|0);
}
function __ZN96__LT_core__fmt__Write__write_fmt__Adapter_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_10write_char17h742e27a06aeda770E($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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_12$i = 0, $len$2$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$_12$i = sp;
$2 = HEAP32[$0>>2]|0;
HEAP32[$_12$i>>2] = 0;
$3 = ($1>>>0)<(128);
do {
if ($3) {
$4 = $1&255;
HEAP8[$_12$i>>0] = $4;
$len$2$i = 1;
} else {
$5 = ($1>>>0)<(2048);
if ($5) {
$6 = $1 >>> 6;
$7 = $6 & 31;
$8 = $7&255;
$9 = $8 | -64;
HEAP8[$_12$i>>0] = $9;
$10 = $1 & 63;
$11 = $10&255;
$12 = ((($_12$i)) + 1|0);
$13 = $11 | -128;
HEAP8[$12>>0] = $13;
$len$2$i = 2;
break;
}
$14 = ($1>>>0)<(65536);
if ($14) {
$15 = $1 >>> 12;
$16 = $15 & 15;
$17 = $16&255;
$18 = $17 | -32;
HEAP8[$_12$i>>0] = $18;
$19 = $1 >>> 6;
$20 = $19 & 63;
$21 = $20&255;
$22 = ((($_12$i)) + 1|0);
$23 = $21 | -128;
HEAP8[$22>>0] = $23;
$24 = $1 & 63;
$25 = $24&255;
$26 = ((($_12$i)) + 2|0);
$27 = $25 | -128;
HEAP8[$26>>0] = $27;
$len$2$i = 3;
break;
} else {
$28 = $1 >>> 18;
$29 = $28 & 7;
$30 = $29&255;
$31 = $30 | -16;
HEAP8[$_12$i>>0] = $31;
$32 = $1 >>> 12;
$33 = $32 & 63;
$34 = $33&255;
$35 = ((($_12$i)) + 1|0);
$36 = $34 | -128;
HEAP8[$35>>0] = $36;
$37 = $1 >>> 6;
$38 = $37 & 63;
$39 = $38&255;
$40 = ((($_12$i)) + 2|0);
$41 = $39 | -128;
HEAP8[$40>>0] = $41;
$42 = $1 & 63;
$43 = $42&255;
$44 = ((($_12$i)) + 3|0);
$45 = $43 | -128;
HEAP8[$44>>0] = $45;
$len$2$i = 4;
break;
}
}
} while(0);
$46 = (__ZN94__LT_std__io__Write__write_fmt__Adaptor_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_str17he6d6140287a72df0E($2,$_12$i,$len$2$i)|0);
STACKTOP = sp;return ($46|0);
}
function __ZN96__LT_core__fmt__Write__write_fmt__Adapter_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_fmt17h385ef4f85767304cE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $_10$i = 0, $_8$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$_8$i = sp + 24|0;
$_10$i = sp;
$2 = HEAP32[$0>>2]|0;
HEAP32[$_8$i>>2] = $2;
;HEAP32[$_10$i>>2]=HEAP32[$1>>2]|0;HEAP32[$_10$i+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$_10$i+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$_10$i+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$_10$i+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$_10$i+20>>2]=HEAP32[$1+20>>2]|0;
$3 = (__ZN4core3fmt5write17hd46092952e27f1dbE($_8$i,312,$_10$i)|0);
STACKTOP = sp;return ($3|0);
}
function __ZN3std2io5stdio6_print17hdec71e61010c0598E($0) {
$0 = $0|0;
var $$in$i = 0, $$pre = 0, $$pre$i = 0, $$pre$phi61Z2D = 0, $$pre60 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 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, $99 = 0, $_13$sroa$4$0$$sroa_idx$i$i = 0, $_18 = 0, $_23 = 0, $_24$i$i = 0, $_25$i$i = 0, $_6$i$i$i = 0, $_6$sroa$0$0$$sroa_idx$i = 0;
var $_8 = 0, $_9 = 0, $args = 0, $cond = 0, $cond$i$i = 0, $cond$i$i42 = 0, $e = 0, $personalityslot$sroa$0$0 = 0, $personalityslot$sroa$7$0 = 0, $phitmp = 0, $phitmp$i = 0, $result = 0, $src$i$sroa$5$0$$sroa_idx24$i$i = 0, $switch = 0, $switch$i = 0, $switch2tmp$i$i = 0, $switchtmp$i = 0, $switchtmp$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(176|0);
$_6$i$i$i = sp + 144|0;
$_24$i$i = sp + 136|0;
$_25$i$i = sp + 112|0;
$args = sp + 88|0;
$result = sp + 72|0;
$_8 = sp + 64|0;
$_9 = sp + 40|0;
$e = sp + 32|0;
$_18 = sp + 8|0;
$_23 = sp;
;HEAP32[$args>>2]=HEAP32[$0>>2]|0;HEAP32[$args+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$args+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$args+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$args+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$args+20>>2]=HEAP32[$0+20>>2]|0;
__THREW__ = 0;
$1 = (invoke_ii(70,(2444|0))|0);
$2 = __THREW__; __THREW__ = 0;
$3 = $2&1;
L1: do {
if (!($3)) {
$switchtmp$i = ($1|0)==(0|0);
L3: do {
if ($switchtmp$i) {
label = 5;
} else {
$4 = HEAP32[$1>>2]|0;
$cond = ($4|0)==(1);
if ($cond) {
__THREW__ = 0;
$8 = (invoke_ii(70,(2444|0))|0);
$9 = __THREW__; __THREW__ = 0;
$10 = $9&1;
if ($10) {
break L1;
}
$switch2tmp$i$i = ($8|0)==(0|0);
if ($switch2tmp$i$i) {
__THREW__ = 0;
invoke_vii(63,(5764|0),57);
$11 = __THREW__; __THREW__ = 0;
break L1;
}
$12 = HEAP32[$8>>2]|0;
$switch$i = ($12|0)==(1);
if ($switch$i) {
$17 = ((($8)) + 4|0);
$$pre$i = HEAP32[$17>>2]|0;
$phitmp$i = ($$pre$i|0)==(0);
if ($phitmp$i) {
$$pre60 = ((($8)) + 8|0);
$$in$i = $17;$$pre$phi61Z2D = $$pre60;
label = 13;
}
} else {
$src$i$sroa$5$0$$sroa_idx24$i$i = ((($8)) + 8|0);
HEAP32[$8>>2] = 1;
$_13$sroa$4$0$$sroa_idx$i$i = ((($8)) + 4|0);
HEAP32[$_13$sroa$4$0$$sroa_idx$i$i>>2] = 0;
$13 = $src$i$sroa$5$0$$sroa_idx24$i$i;
$14 = $13;
HEAP32[$14>>2] = 0;
$15 = (($13) + 4)|0;
$16 = $15;
HEAP32[$16>>2] = 0;
$$in$i = $_13$sroa$4$0$$sroa_idx$i$i;$$pre$phi61Z2D = $src$i$sroa$5$0$$sroa_idx24$i$i;
label = 13;
}
do {
if ((label|0) == 13) {
HEAP32[$$in$i>>2] = -1;
$18 = HEAP32[$$pre$phi61Z2D>>2]|0;
$switchtmp$i$i$i = ($18|0)==(0|0);
if ($switchtmp$i$i$i) {
HEAP32[$$in$i>>2] = 0;
break;
}
$19 = ((($8)) + 12|0);
$20 = HEAP32[$19>>2]|0;
;HEAP32[$_6$i$i$i>>2]=HEAP32[$args>>2]|0;HEAP32[$_6$i$i$i+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$_6$i$i$i+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$_6$i$i$i+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$_6$i$i$i+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$_6$i$i$i+20>>2]=HEAP32[$args+20>>2]|0;
$21 = ((($20)) + 24|0);
$22 = HEAP32[$21>>2]|0;
__THREW__ = 0;
invoke_viii($22|0,($result|0),($18|0),($_6$i$i$i|0));
$23 = __THREW__; __THREW__ = 0;
$24 = $23&1;
if (!($24)) {
HEAP32[$$in$i>>2] = 0;
break L3;
}
$35 = ___cxa_find_matching_catch_2()|0;
$36 = tempRet0;
HEAP32[$$in$i>>2] = 0;
$personalityslot$sroa$0$0 = $35;$personalityslot$sroa$7$0 = $36;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
} while(0);
__THREW__ = 0;
$25 = (invoke_i(114)|0);
$26 = __THREW__; __THREW__ = 0;
$27 = $26&1;
if ($27) {
break L1;
}
HEAP32[$_24$i$i>>2] = $25;
;HEAP32[$_25$i$i>>2]=HEAP32[$args>>2]|0;HEAP32[$_25$i$i+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$_25$i$i+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$_25$i$i+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$_25$i$i+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$_25$i$i+20>>2]=HEAP32[$args+20>>2]|0;
$28 = $25;
__THREW__ = 0;
invoke_viii(115,($result|0),($_24$i$i|0),($_25$i$i|0));
$29 = __THREW__; __THREW__ = 0;
$30 = $29&1;
if ($30) {
$39 = ___cxa_find_matching_catch_2()|0;
$40 = tempRet0;
$41 = HEAP32[$28>>2]|0;HEAP32[$28>>2] = (($41-1)|0);
$42 = ($41|0)==(1);
if (!($42)) {
$personalityslot$sroa$0$0 = $39;$personalityslot$sroa$7$0 = $40;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
/* fence */;
__THREW__ = 0;
invoke_vi(111,($_24$i$i|0));
$43 = __THREW__; __THREW__ = 0;
$44 = $43&1;
if ($44) {
break L1;
} else {
$personalityslot$sroa$0$0 = $39;$personalityslot$sroa$7$0 = $40;
}
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$31 = HEAP32[$28>>2]|0;HEAP32[$28>>2] = (($31-1)|0);
$32 = ($31|0)==(1);
if ($32) {
/* fence */;
__THREW__ = 0;
invoke_vi(111,($_24$i$i|0));
$33 = __THREW__; __THREW__ = 0;
$34 = $33&1;
if ($34) {
$37 = ___cxa_find_matching_catch_2()|0;
$38 = tempRet0;
$personalityslot$sroa$0$0 = $37;$personalityslot$sroa$7$0 = $38;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
}
} else {
label = 5;
}
}
} while(0);
if ((label|0) == 5) {
__THREW__ = 0;
$5 = (invoke_i(114)|0);
$6 = __THREW__; __THREW__ = 0;
$7 = $6&1;
if ($7) {
break;
}
HEAP32[$_8>>2] = $5;
;HEAP32[$_9>>2]=HEAP32[$args>>2]|0;HEAP32[$_9+4>>2]=HEAP32[$args+4>>2]|0;HEAP32[$_9+8>>2]=HEAP32[$args+8>>2]|0;HEAP32[$_9+12>>2]=HEAP32[$args+12>>2]|0;HEAP32[$_9+16>>2]=HEAP32[$args+16>>2]|0;HEAP32[$_9+20>>2]=HEAP32[$args+20>>2]|0;
$46 = $5;
__THREW__ = 0;
invoke_viii(115,($result|0),($_8|0),($_9|0));
$47 = __THREW__; __THREW__ = 0;
$48 = $47&1;
if ($48) {
$92 = ___cxa_find_matching_catch_2()|0;
$93 = tempRet0;
$94 = HEAP32[$46>>2]|0;HEAP32[$46>>2] = (($94-1)|0);
$95 = ($94|0)==(1);
if (!($95)) {
$personalityslot$sroa$0$0 = $92;$personalityslot$sroa$7$0 = $93;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
/* fence */;
__ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h105aa355a7f7fc32E($_8);
$personalityslot$sroa$0$0 = $92;$personalityslot$sroa$7$0 = $93;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$49 = HEAP32[$46>>2]|0;HEAP32[$46>>2] = (($49-1)|0);
$50 = ($49|0)==(1);
if ($50) {
/* fence */;
__THREW__ = 0;
invoke_vi(111,($_8|0));
$51 = __THREW__; __THREW__ = 0;
$52 = $51&1;
if ($52) {
$88 = ___cxa_find_matching_catch_2()|0;
$89 = tempRet0;
$$pre = HEAP32[$result>>2]|0;
$phitmp = ($$pre|0)==(1);
if (!($phitmp)) {
$personalityslot$sroa$0$0 = $88;$personalityslot$sroa$7$0 = $89;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$73 = ((($result)) + 4|0);
$74 = HEAP32[$73>>2]|0;
$cond$i$i = ($74|0)==(1);
if (!($cond$i$i)) {
$personalityslot$sroa$0$0 = $88;$personalityslot$sroa$7$0 = $89;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$75 = ((($result)) + 8|0);
$76 = HEAP32[$75>>2]|0;
$77 = ((($76)) + 4|0);
$78 = HEAP32[$77>>2]|0;
$79 = ((($76)) + 8|0);
$80 = HEAP32[$79>>2]|0;
$81 = HEAP32[$80>>2]|0;
FUNCTION_TABLE_vi[$81 & 255]($78);
$82 = HEAP32[$79>>2]|0;
$83 = ((($82)) + 4|0);
$84 = HEAP32[$83>>2]|0;
$85 = ($84|0)==(0);
if (!($85)) {
$86 = ((($82)) + 8|0);
$87 = HEAP32[$86>>2]|0;
___rust_deallocate($78,$84,$87);
}
___rust_deallocate($76,12,4);
$personalityslot$sroa$0$0 = $88;$personalityslot$sroa$7$0 = $89;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
}
}
$45 = HEAP32[$result>>2]|0;
$switch = ($45|0)==(1);
if (!($switch)) {
STACKTOP = sp;return;
}
$53 = ((($result)) + 4|0);
$54 = $53;
$55 = $54;
$56 = HEAP32[$55>>2]|0;
$57 = (($54) + 4)|0;
$58 = $57;
$59 = HEAP32[$58>>2]|0;
$60 = $e;
$61 = $60;
HEAP32[$61>>2] = $56;
$62 = (($60) + 4)|0;
$63 = $62;
HEAP32[$63>>2] = $59;
$64 = $e;
HEAP32[$_23>>2] = $64;
$65 = ((($_23)) + 4|0);
HEAP32[$65>>2] = (82);
HEAP32[$_18>>2] = 2728;
$66 = ((($_18)) + 4|0);
HEAP32[$66>>2] = 1;
$_6$sroa$0$0$$sroa_idx$i = ((($_18)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$67 = ((($_18)) + 16|0);
HEAP32[$67>>2] = $_23;
$68 = ((($_18)) + 20|0);
HEAP32[$68>>2] = 1;
__THREW__ = 0;
invoke_vii(83,($_18|0),(2432|0));
$69 = __THREW__; __THREW__ = 0;
$70 = ___cxa_find_matching_catch_2()|0;
$71 = tempRet0;
$72 = HEAP32[$e>>2]|0;
$cond$i$i42 = ($72|0)==(1);
if (!($cond$i$i42)) {
$personalityslot$sroa$0$0 = $70;$personalityslot$sroa$7$0 = $71;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$96 = ((($e)) + 4|0);
$97 = HEAP32[$96>>2]|0;
$98 = ((($97)) + 4|0);
$99 = HEAP32[$98>>2]|0;
$100 = ((($97)) + 8|0);
$101 = HEAP32[$100>>2]|0;
$102 = HEAP32[$101>>2]|0;
FUNCTION_TABLE_vi[$102 & 255]($99);
$103 = HEAP32[$100>>2]|0;
$104 = ((($103)) + 4|0);
$105 = HEAP32[$104>>2]|0;
$106 = ($105|0)==(0);
if (!($106)) {
$107 = ((($103)) + 8|0);
$108 = HEAP32[$107>>2]|0;
___rust_deallocate($99,$105,$108);
}
___rust_deallocate($97,12,4);
$personalityslot$sroa$0$0 = $70;$personalityslot$sroa$7$0 = $71;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
} while(0);
$90 = ___cxa_find_matching_catch_2()|0;
$91 = tempRet0;
$personalityslot$sroa$0$0 = $90;$personalityslot$sroa$7$0 = $91;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
function __ZN3std4sync4once4Once10call_inner17hdb8ab6fa16dddad1E($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$fca$0$0$insert$fca$0$0$gep = 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, $28 = 0;
var $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, $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, $7 = 0, $8 = 0, $9 = 0, $complete = 0, $lpad$phi$index = 0;
var $lpad$phi$index2 = 0, $lpad$phi54$index = 0, $lpad$phi54$index7 = 0, $node = 0, $personalityslot$sroa$0$0 = 0, $personalityslot$sroa$7$0 = 0, $state$0 = 0, $state$1 = 0, $success = 0, $success11 = 0, $switch3tmp$i$i = 0, $switchtmp$i$i = 0, $switchtmp$i$i$i = 0, $switchtmp$i$i37 = 0, $switchtmp$i$i42 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$complete = sp + 16|0;
$node = sp;
$4 = HEAP32[$0>>2]|0;
$$fca$0$0$insert$fca$0$0$gep = ((($node)) + 4|0);
$5 = ((($node)) + 8|0);
$6 = $node;
$7 = $6 | 2;
$state$0 = $4;
L1: while(1) {
switch ($state$0|0) {
case 3: {
label = 7;
break L1;
break;
}
case 1: {
if (!($1)) {
label = 3;
break L1;
}
break;
}
case 0: {
break;
}
default: {
$9 = $state$0 & 3;
$10 = ($9|0)==(2);
if (!($10)) {
label = 12;
break L1;
}
__THREW__ = 0;
$19 = (invoke_i(67)|0);
$20 = __THREW__; __THREW__ = 0;
$21 = $20&1;
if ($21) {
label = 34;
break L1;
}
$switchtmp$i$i$i = ($19|0)==(0|0);
if ($switchtmp$i$i$i) {
label = 17;
break L1;
}
__THREW__ = 0;
$22 = (invoke_i(68)|0);
$23 = __THREW__; __THREW__ = 0;
$24 = $23&1;
if ($24) {
label = 34;
break L1;
}
$switch3tmp$i$i = ($22|0)==(0);
if ($switch3tmp$i$i) {
label = 17;
break L1;
}
HEAP32[$node>>2] = $22;
HEAP8[$$fca$0$0$insert$fca$0$0$gep>>0] = 0;
HEAP32[$5>>2] = 0;
$state$1 = $state$0;
while(1) {
$28 = $state$1 & 3;
$29 = ($28|0)==(2);
if (!($29)) {
label = 20;
break;
}
$35 = $state$1 & -4;
$36 = $35;
HEAP32[$5>>2] = $36;
$37 = HEAP32[$0>>2]|0;if (($37|0) == ($state$1|0)) HEAP32[$0>>2] = $7;
$success11 = ($37|0)==($state$1|0);
if ($success11) {
break;
} else {
$state$1 = $37;
}
}
if ((label|0) == 20) {
label = 0;
$30 = HEAP32[$node>>2]|0;
$switchtmp$i$i37 = ($30|0)==(0|0);
if (!($switchtmp$i$i37)) {
$31 = HEAP32[$30>>2]|0;HEAP32[$30>>2] = (($31-1)|0);
$32 = ($31|0)==(1);
if ($32) {
/* fence */;
__THREW__ = 0;
invoke_vi(73,($node|0));
$33 = __THREW__; __THREW__ = 0;
$34 = $33&1;
if ($34) {
label = 36;
break L1;
}
}
}
$state$0 = $state$1;
continue L1;
}
while(1) {
$38 = HEAP8[$$fca$0$0$insert$fca$0$0$gep>>0]|0;
$39 = ($38<<24>>24)==(0);
if (!($39)) {
break;
}
__THREW__ = 0;
invoke_v(117);
$40 = __THREW__; __THREW__ = 0;
$41 = $40&1;
if ($41) {
label = 31;
break L1;
}
}
$42 = HEAP32[$0>>2]|0;
$43 = HEAP32[$node>>2]|0;
$switchtmp$i$i42 = ($43|0)==(0|0);
if (!($switchtmp$i$i42)) {
$44 = HEAP32[$43>>2]|0;HEAP32[$43>>2] = (($44-1)|0);
$45 = ($44|0)==(1);
if ($45) {
/* fence */;
__THREW__ = 0;
invoke_vi(73,($node|0));
$46 = __THREW__; __THREW__ = 0;
$47 = $46&1;
if ($47) {
label = 36;
break L1;
}
}
}
$state$0 = $42;
continue L1;
}
}
$8 = HEAP32[$0>>2]|0;if (($8|0) == ($state$0|0)) HEAP32[$0>>2] = 2;
$success = ($8|0)==($state$0|0);
if ($success) {
label = 8;
break;
} else {
$state$0 = $8;
}
}
do {
if ((label|0) == 3) {
__ZN3std9panicking11begin_panic17h2ee86974cf685435E(8044,42,2408);
// unreachable;
}
else if ((label|0) == 7) {
STACKTOP = sp;return;
}
else if ((label|0) == 8) {
HEAP8[$complete>>0] = 1;
$11 = ((($complete)) + 4|0);
HEAP32[$11>>2] = $0;
$12 = ($state$0|0)==(1);
$13 = ((($3)) + 12|0);
$14 = HEAP32[$13>>2]|0;
__THREW__ = 0;
invoke_vii($14|0,($2|0),($12|0));
$15 = __THREW__; __THREW__ = 0;
$16 = $15&1;
if ($16) {
$59 = ___cxa_find_matching_catch_2()|0;
$60 = tempRet0;
__ZN59__LT_std__sync__once__Finish_u20_as_u20_core__ops__Drop_GT_4drop17h25f04ddd30a903dbE($complete);
$personalityslot$sroa$0$0 = $59;$personalityslot$sroa$7$0 = $60;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
HEAP8[$complete>>0] = 0;
__THREW__ = 0;
invoke_vi(116,($complete|0));
$17 = __THREW__; __THREW__ = 0;
$18 = $17&1;
if ($18) {
$57 = ___cxa_find_matching_catch_2()|0;
$58 = tempRet0;
$lpad$phi54$index = $57;$lpad$phi54$index7 = $58;
label = 38;
break;
}
STACKTOP = sp;return;
}
else if ((label|0) == 12) {
__ZN3std9panicking11begin_panic17h2ee86974cf685435E(8086,47,2396);
// unreachable;
}
else if ((label|0) == 17) {
__THREW__ = 0;
invoke_vii(63,(7775|0),94);
$25 = __THREW__; __THREW__ = 0;
$26 = ___cxa_find_matching_catch_2()|0;
$27 = tempRet0;
$lpad$phi$index = $26;$lpad$phi$index2 = $27;
label = 35;
}
else if ((label|0) == 31) {
$48 = ___cxa_find_matching_catch_2()|0;
$49 = tempRet0;
$50 = HEAP32[$node>>2]|0;
$switchtmp$i$i = ($50|0)==(0|0);
if ($switchtmp$i$i) {
$personalityslot$sroa$0$0 = $48;$personalityslot$sroa$7$0 = $49;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$51 = HEAP32[$50>>2]|0;HEAP32[$50>>2] = (($51-1)|0);
$52 = ($51|0)==(1);
if (!($52)) {
$personalityslot$sroa$0$0 = $48;$personalityslot$sroa$7$0 = $49;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
/* fence */;
__ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h097a8e42cb8d207fE($node);
$personalityslot$sroa$0$0 = $48;$personalityslot$sroa$7$0 = $49;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
else if ((label|0) == 34) {
$53 = ___cxa_find_matching_catch_2()|0;
$54 = tempRet0;
$lpad$phi$index = $53;$lpad$phi$index2 = $54;
label = 35;
}
else if ((label|0) == 36) {
$55 = ___cxa_find_matching_catch_2()|0;
$56 = tempRet0;
$lpad$phi54$index = $55;$lpad$phi54$index7 = $56;
label = 38;
}
} while(0);
if ((label|0) == 35) {
$personalityslot$sroa$0$0 = $lpad$phi$index;$personalityslot$sroa$7$0 = $lpad$phi$index2;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
else if ((label|0) == 38) {
$personalityslot$sroa$0$0 = $lpad$phi54$index;$personalityslot$sroa$7$0 = $lpad$phi54$index7;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
}
function __ZN59__LT_std__sync__once__Finish_u20_as_u20_core__ops__Drop_GT_4drop17h25f04ddd30a903dbE($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, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $_12 = 0, $_25 = 0, $_30 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $left_val = 0, $personalityslot$sroa$0$0 = 0, $personalityslot$sroa$5$0 = 0, $queue$0 = 0, $queue1$033 = 0, $right_val = 0, $switch3tmp$i = 0, $thread = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$_12 = sp + 56|0;
$left_val = sp + 52|0;
$right_val = sp + 48|0;
$_25 = sp + 24|0;
$_30 = sp + 8|0;
$thread = sp;
$1 = HEAP8[$0>>0]|0;
$2 = ($1<<24>>24)==(0);
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
if ($2) {
$6 = HEAP32[$4>>2]|0;HEAP32[$4>>2] = 3;
$queue$0 = $6;
} else {
$5 = HEAP32[$4>>2]|0;HEAP32[$4>>2] = 1;
$queue$0 = $5;
}
$7 = $queue$0 & 3;
HEAP32[$_12>>2] = $7;
HEAP32[$left_val>>2] = $_12;
HEAP32[$right_val>>2] = 2736;
$8 = ($7|0)==(2);
if (!($8)) {
$9 = $left_val;
$10 = $right_val;
HEAP32[$_30>>2] = $9;
$11 = ((($_30)) + 4|0);
HEAP32[$11>>2] = (29);
$12 = ((($_30)) + 8|0);
HEAP32[$12>>2] = $10;
$13 = ((($_30)) + 12|0);
HEAP32[$13>>2] = (29);
HEAP32[$_25>>2] = 2192;
$14 = ((($_25)) + 4|0);
HEAP32[$14>>2] = 3;
$_6$sroa$0$0$$sroa_idx$i = ((($_25)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$15 = ((($_25)) + 16|0);
HEAP32[$15>>2] = $_30;
$16 = ((($_25)) + 20|0);
HEAP32[$16>>2] = 2;
__ZN3std9panicking15begin_panic_fmt17h0b5c900cf8f76eedE($_25,2384);
// unreachable;
}
$17 = $queue$0 & -4;
$18 = ($17|0)==(0);
if ($18) {
STACKTOP = sp;return;
}
$19 = $17;
$queue1$033 = $19;
while(1) {
$20 = ((($queue1$033)) + 8|0);
$21 = HEAP32[$20>>2]|0;
$22 = HEAP32[$queue1$033>>2]|0;
HEAP32[$queue1$033>>2] = 0;
$switch3tmp$i = ($22|0)==(0);
if ($switch3tmp$i) {
label = 11;
break;
}
HEAP32[$thread>>2] = $22;
$26 = ((($queue1$033)) + 4|0);
HEAP8[$26>>0] = 1;
__THREW__ = 0;
invoke_vi(118,($thread|0));
$27 = __THREW__; __THREW__ = 0;
$28 = $27&1;
if ($28) {
label = 16;
break;
}
$29 = HEAP32[$thread>>2]|0;
$30 = HEAP32[$29>>2]|0;HEAP32[$29>>2] = (($30-1)|0);
$31 = ($30|0)==(1);
if ($31) {
/* fence */;
__THREW__ = 0;
invoke_vi(73,($thread|0));
$32 = __THREW__; __THREW__ = 0;
$33 = $32&1;
if ($33) {
label = 18;
break;
}
}
$34 = ($21|0)==(0|0);
if ($34) {
label = 8;
break;
} else {
$queue1$033 = $21;
}
}
if ((label|0) == 8) {
STACKTOP = sp;return;
}
else if ((label|0) == 11) {
__THREW__ = 0;
invoke_vi(78,(2900|0));
$23 = __THREW__; __THREW__ = 0;
$24 = ___cxa_find_matching_catch_2()|0;
$25 = tempRet0;
$personalityslot$sroa$0$0 = $24;$personalityslot$sroa$5$0 = $25;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
else if ((label|0) == 16) {
$35 = ___cxa_find_matching_catch_2()|0;
$36 = tempRet0;
$37 = HEAP32[$thread>>2]|0;
$38 = HEAP32[$37>>2]|0;HEAP32[$37>>2] = (($38-1)|0);
$39 = ($38|0)==(1);
if (!($39)) {
$personalityslot$sroa$0$0 = $35;$personalityslot$sroa$5$0 = $36;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
/* fence */;
__ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h097a8e42cb8d207fE($thread);
$personalityslot$sroa$0$0 = $35;$personalityslot$sroa$5$0 = $36;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
else if ((label|0) == 18) {
$40 = ___cxa_find_matching_catch_2()|0;
$41 = tempRet0;
$personalityslot$sroa$0$0 = $40;$personalityslot$sroa$5$0 = $41;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
}
function __ZN3std4sync4once4Once9call_once28__u7b__u7b_closure_u7d__u7d_17hd39efe9a72b5fde0E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$$i$i = 0, $$sroa_idx$i$i$i$i = 0, $$sroa_idx$i$i$i$i$i$i$i = 0, $$sroa_idx$i$i$i$i$i42$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;
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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_37$sroa$0$0$copyload$i$i = 0, $_37$sroa$4$0$$sroa_idx88$i$i = 0, $_37$sroa$4$0$copyload$i$i = 0;
var $_37$sroa$5$0$$sroa_idx90$i$i = 0, $_37$sroa$5$0$copyload$i$i = 0, $iter$sroa$0$0$i$i = 0, $iter$sroa$0$0$ph$i$i = 0, $iter2$sroa$7$0$i$i = 0, $magicptr$i$i = 0, $not$$i$i$i$i$i$i = 0, $not$$i$i$i$i48$i$i = 0, $personalityslot$sroa$0$2$i$i = 0, $personalityslot$sroa$7$2$i$i = 0, $switch2$i = 0, $switch3tmp$i$i$i$i = 0, $switch3tmp$i$i43$i$i = 0, $switchtmp$i$i = 0, $t$sroa$0$0$copyload$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$t$sroa$0$0$copyload$i$i$i = HEAP8[$2>>0]|0;
HEAP8[$2>>0] = 0;
$switch2$i = ($t$sroa$0$0$copyload$i$i$i<<24>>24)==(0);
if ($switch2$i) {
__ZN4core9panicking5panic17h7842870c7e688275E(2900);
// unreachable;
}
(_pthread_mutex_lock(((13136)|0))|0);
__ZN4drop17he57411abe140316eE(13300);
HEAP32[3325] = 0;
(_pthread_mutex_unlock(((13136)|0))|0);
$iter$sroa$0$0$ph$i$i = 0;
L4: while(1) {
$iter$sroa$0$0$i$i = $iter$sroa$0$0$ph$i$i;
L6: while(1) {
$3 = ($iter$sroa$0$0$i$i>>>0)<(10);
$4 = (($iter$sroa$0$0$i$i) + 1)|0;
if (!($3)) {
label = 30;
break L4;
}
(_pthread_mutex_lock(((13160)|0))|0);
$5 = HEAP32[3328]|0;
$6 = ($iter$sroa$0$0$i$i|0)==(9);
$$$i$i = $6 ? (1) : 0;
HEAP32[3328] = $$$i$i;
(_pthread_mutex_unlock(((13160)|0))|0);
$magicptr$i$i = $5;
switch ($magicptr$i$i|0) {
case 1: {
label = 7;
break L4;
break;
}
case 0: {
$iter$sroa$0$0$i$i = $4;
break;
}
default: {
break L6;
}
}
}
$_37$sroa$0$0$copyload$i$i = HEAP32[$5>>2]|0;
$_37$sroa$4$0$$sroa_idx88$i$i = ((($5)) + 4|0);
$_37$sroa$4$0$copyload$i$i = HEAP32[$_37$sroa$4$0$$sroa_idx88$i$i>>2]|0;
$_37$sroa$5$0$$sroa_idx90$i$i = ((($5)) + 8|0);
$_37$sroa$5$0$copyload$i$i = HEAP32[$_37$sroa$5$0$$sroa_idx90$i$i>>2]|0;
$7 = (($_37$sroa$0$0$copyload$i$i) + ($_37$sroa$5$0$copyload$i$i<<3)|0);
$iter2$sroa$7$0$i$i = $_37$sroa$0$0$copyload$i$i;
while(1) {
$8 = ($iter2$sroa$7$0$i$i|0)==($7|0);
if ($8) {
break;
}
$12 = ((($iter2$sroa$7$0$i$i)) + 8|0);
$28 = HEAP32[$iter2$sroa$7$0$i$i>>2]|0;
$switchtmp$i$i = ($28|0)==(0);
if ($switchtmp$i$i) {
label = 20;
break;
}
$$sroa_idx$i$i$i$i = ((($iter2$sroa$7$0$i$i)) + 4|0);
$29 = HEAP32[$$sroa_idx$i$i$i$i>>2]|0;
$30 = $28;
$31 = ((($29)) + 12|0);
$32 = HEAP32[$31>>2]|0;
__THREW__ = 0;
invoke_vi($32|0,($30|0));
$33 = __THREW__; __THREW__ = 0;
$34 = $33&1;
if ($34) {
label = 11;
break L4;
} else {
$iter2$sroa$7$0$i$i = $12;
}
}
L14: do {
if ((label|0) == 20) {
label = 0;
$35 = ($12|0)==($7|0);
if (!($35)) {
$37 = $12;
while(1) {
$36 = ((($37)) + 8|0);
$38 = HEAP32[$37>>2]|0;
$$sroa_idx$i$i$i$i$i42$i$i = ((($37)) + 4|0);
$39 = HEAP32[$$sroa_idx$i$i$i$i$i42$i$i>>2]|0;
$40 = $38;
$switch3tmp$i$i43$i$i = ($38|0)==(0);
if ($switch3tmp$i$i43$i$i) {
break L14;
}
$41 = $39;
$42 = HEAP32[$41>>2]|0;
__THREW__ = 0;
invoke_vi($42|0,($40|0));
$43 = __THREW__; __THREW__ = 0;
$44 = $43&1;
if ($44) {
label = 29;
break L4;
}
$45 = $39;
$46 = ((($45)) + 4|0);
$47 = HEAP32[$46>>2]|0;
$48 = ($47|0)==(0);
if (!($48)) {
$50 = ((($45)) + 8|0);
$51 = HEAP32[$50>>2]|0;
___rust_deallocate($40,$47,$51);
}
$49 = ($36|0)==($7|0);
if ($49) {
break;
} else {
$37 = $36;
}
}
}
}
} while(0);
$not$$i$i$i$i48$i$i = ($_37$sroa$4$0$copyload$i$i|0)==(0);
if (!($not$$i$i$i$i48$i$i)) {
$52 = $_37$sroa$4$0$copyload$i$i << 3;
___rust_deallocate($_37$sroa$0$0$copyload$i$i,$52,4);
}
___rust_deallocate($5,12,4);
$iter$sroa$0$0$ph$i$i = $4;
}
if ((label|0) == 7) {
__ZN3std9panicking11begin_panic17h2ee86974cf685435E(8133,39,2372);
// unreachable;
}
else if ((label|0) == 11) {
$9 = ___cxa_find_matching_catch_2()|0;
$10 = tempRet0;
$11 = ($12|0)==($7|0);
L29: do {
if (!($11)) {
$14 = $12;
while(1) {
$13 = ((($14)) + 8|0);
$15 = HEAP32[$14>>2]|0;
$$sroa_idx$i$i$i$i$i$i$i = ((($14)) + 4|0);
$16 = HEAP32[$$sroa_idx$i$i$i$i$i$i$i>>2]|0;
$17 = $15;
$switch3tmp$i$i$i$i = ($15|0)==(0);
if ($switch3tmp$i$i$i$i) {
break L29;
}
$18 = $16;
$19 = HEAP32[$18>>2]|0;
FUNCTION_TABLE_vi[$19 & 255]($17);
$20 = $16;
$21 = ((($20)) + 4|0);
$22 = HEAP32[$21>>2]|0;
$23 = ($22|0)==(0);
if (!($23)) {
$25 = ((($20)) + 8|0);
$26 = HEAP32[$25>>2]|0;
___rust_deallocate($17,$22,$26);
}
$24 = ($13|0)==($7|0);
if ($24) {
break;
} else {
$14 = $13;
}
}
}
} while(0);
$not$$i$i$i$i$i$i = ($_37$sroa$4$0$copyload$i$i|0)==(0);
if ($not$$i$i$i$i$i$i) {
$personalityslot$sroa$0$2$i$i = $9;$personalityslot$sroa$7$2$i$i = $10;
___rust_deallocate($5,12,4);
___resumeException($personalityslot$sroa$0$2$i$i|0);
// unreachable;
}
$27 = $_37$sroa$4$0$copyload$i$i << 3;
___rust_deallocate($_37$sroa$0$0$copyload$i$i,$27,4);
$personalityslot$sroa$0$2$i$i = $9;$personalityslot$sroa$7$2$i$i = $10;
___rust_deallocate($5,12,4);
___resumeException($personalityslot$sroa$0$2$i$i|0);
// unreachable;
}
else if ((label|0) == 29) {
$53 = ___cxa_find_matching_catch_2()|0;
$54 = tempRet0;
$personalityslot$sroa$0$2$i$i = $53;$personalityslot$sroa$7$2$i$i = $54;
___rust_deallocate($5,12,4);
___resumeException($personalityslot$sroa$0$2$i$i|0);
// unreachable;
}
else if ((label|0) == 30) {
return;
}
}
function __ZN4core3ops6FnOnce9call_once17h0c2c7fad35901345E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $self = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$self = sp;
HEAP32[$self>>2] = $0;
__ZN3std4sync4once4Once9call_once28__u7b__u7b_closure_u7d__u7d_17hd39efe9a72b5fde0E($self,$1);
STACKTOP = sp;return;
}
function __ZN4drop17he57411abe140316eE($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, $not$$i$i$i$i$i = 0, $not$$i$i$i$i$i$i$i$i = 0, $switchtmp = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$switchtmp = ($1|0)==(0|0);
if ($switchtmp) {
return;
}
$2 = HEAP32[$1>>2]|0;
$3 = ((($1)) + 8|0);
$4 = HEAP32[$3>>2]|0;
$5 = (($2) + (($4*12)|0)|0);
$6 = ($4|0)==(0);
if (!($6)) {
$8 = $2;
while(1) {
$7 = ((($8)) + 4|0);
$9 = HEAP32[$7>>2]|0;
$not$$i$i$i$i$i$i$i$i = ($9|0)==(0);
if (!($not$$i$i$i$i$i$i$i$i)) {
$10 = HEAP32[$8>>2]|0;
___rust_deallocate($10,$9,1);
}
$11 = ((($8)) + 12|0);
$12 = ($11|0)==($5|0);
if ($12) {
break;
} else {
$8 = $11;
}
}
}
$13 = ((($1)) + 4|0);
$14 = HEAP32[$13>>2]|0;
$not$$i$i$i$i$i = ($14|0)==(0);
if (!($not$$i$i$i$i$i)) {
$15 = ($14*12)|0;
$16 = HEAP32[$1>>2]|0;
___rust_deallocate($16,$15,4);
}
___rust_deallocate($1,12,4);
return;
}
function __ZN3std10sys_common11thread_info3set17h7557ed765f1e7f80E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$fca$0$0$0$0$load17 = 0, $$pre$i = 0, $$pre$i28 = 0, $$pre$phi$i41Z2D = 0, $$pre$phi$iZ2D = 0, $$unpack$unpack$unpack$unpack38$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;
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, $_10$i$i = 0;
var $_10$i$i23 = 0, $_11$sroa$4$0$$sroa_idx52 = 0, $_12$i = 0, $_4$i$i = 0, $_5$sroa$4$0$$sroa_idx28$i$i = 0, $cond$i$i$i = 0, $cond$i$i$i$i$i = 0, $cond$i$i$i$i$i42 = 0, $cond$i$i$i31 = 0, $eh$lpad$body55$index3Z2D = 0, $eh$lpad$body55$indexZ2D = 0, $f$i = 0, $not$switch$i$i$i = 0, $not$switch$i$i$i37 = 0, $personalityslot$sroa$0$017$i = 0, $personalityslot$sroa$5$016$i = 0, $switch$i = 0, $switch$i26 = 0, $switch2tmp$i$i = 0, $switch2tmp$i$i24 = 0;
var $switchtmp$i$i$i = 0, $switchtmp$i$i$i$i$i$i = 0, $switchtmp$i$i$i$i$i$i33 = 0, $switchtmp$i39$i$i = 0, $thread = 0, $value$i$sroa$0$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx$i = 0, $value$i$sroa$0$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx$i30 = 0, $value$i$sroa$410$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx$i = 0, $value$i$sroa$411$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
$_4$i$i = sp + 88|0;
$_10$i$i23 = sp + 64|0;
$f$i = sp + 48|0;
$_12$i = sp + 32|0;
$_10$i$i = sp + 8|0;
$thread = sp;
$2 = $0;
$3 = $2;
$4 = HEAP32[$3>>2]|0;
$5 = (($2) + 4)|0;
$6 = $5;
$7 = HEAP32[$6>>2]|0;
$8 = $1;
HEAP32[$thread>>2] = $8;
__THREW__ = 0;
$9 = (invoke_i(67)|0);
$10 = __THREW__; __THREW__ = 0;
$11 = $10&1;
L1: do {
if (!($11)) {
$switch2tmp$i$i = ($9|0)==(0|0);
if ($switch2tmp$i$i) {
__THREW__ = 0;
invoke_vii(63,(5764|0),57);
$12 = __THREW__; __THREW__ = 0;
break;
}
$13 = HEAP32[$9>>2]|0;
$switch$i = ($13|0)==(1);
do {
if ($switch$i) {
$$pre$i = ((($9)) + 4|0);
$$pre$phi$iZ2D = $$pre$i;
} else {
;HEAP32[$_10$i$i>>2]=HEAP32[$9>>2]|0;HEAP32[$_10$i$i+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$_10$i$i+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$_10$i$i+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$_10$i$i+16>>2]=HEAP32[$9+16>>2]|0;
HEAP32[$9>>2] = 1;
$value$i$sroa$0$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx$i = ((($9)) + 4|0);
HEAP32[$value$i$sroa$0$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx$i>>2] = 0;
$value$i$sroa$410$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx$i = ((($9)) + 16|0);
HEAP32[$value$i$sroa$410$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx$i>>2] = 0;
$14 = HEAP32[$_10$i$i>>2]|0;
$cond$i$i$i = ($14|0)==(1);
if ($cond$i$i$i) {
$15 = ((($_10$i$i)) + 16|0);
$16 = HEAP32[$15>>2]|0;
$switchtmp$i$i$i$i$i$i = ($16|0)==(0|0);
if (!($switchtmp$i$i$i$i$i$i)) {
$17 = HEAP32[$16>>2]|0;HEAP32[$16>>2] = (($17-1)|0);
$18 = ($17|0)==(1);
if ($18) {
/* fence */;
__THREW__ = 0;
invoke_vi(73,($15|0));
$19 = __THREW__; __THREW__ = 0;
$20 = $19&1;
if ($20) {
break L1;
}
}
}
}
$21 = HEAP32[$9>>2]|0;
$not$switch$i$i$i = ($21|0)==(1);
if ($not$switch$i$i$i) {
$$pre$phi$iZ2D = $value$i$sroa$0$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx$i;
break;
} else {
__THREW__ = 0;
invoke_vi(78,(2900|0));
$22 = __THREW__; __THREW__ = 0;
break L1;
}
}
} while(0);
$23 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$cond$i$i$i$i$i = ($23|0)==(-1);
if ($cond$i$i$i$i$i) {
__THREW__ = 0;
invoke_v(84);
$24 = __THREW__; __THREW__ = 0;
break;
}
$25 = ((($9)) + 16|0);
$26 = HEAP32[$25>>2]|0;
$27 = ($26|0)==(0|0);
if (!($27)) {
__THREW__ = 0;
invoke_viii(64,(8172|0),38,(2352|0));
$28 = __THREW__; __THREW__ = 0;
break;
}
$$fca$0$0$0$0$load17 = HEAP32[$thread>>2]|0;
$29 = $f$i;
$30 = $29;
HEAP32[$30>>2] = $4;
$31 = (($29) + 4)|0;
$32 = $31;
HEAP32[$32>>2] = $7;
$_11$sroa$4$0$$sroa_idx52 = ((($f$i)) + 8|0);
HEAP32[$_11$sroa$4$0$$sroa_idx52>>2] = $$fca$0$0$0$0$load17;
$33 = $$fca$0$0$0$0$load17;
__THREW__ = 0;
$34 = (invoke_i(67)|0);
$35 = __THREW__; __THREW__ = 0;
$36 = $35&1;
L24: do {
if ($36) {
label = 39;
} else {
$switch2tmp$i$i24 = ($34|0)==(0|0);
if ($switch2tmp$i$i24) {
__THREW__ = 0;
invoke_vii(63,(5764|0),57);
$37 = __THREW__; __THREW__ = 0;
label = 39;
break;
}
;HEAP32[$_12$i>>2]=HEAP32[$f$i>>2]|0;HEAP32[$_12$i+4>>2]=HEAP32[$f$i+4>>2]|0;HEAP32[$_12$i+8>>2]=HEAP32[$f$i+8>>2]|0;
$38 = HEAP32[$34>>2]|0;
$switch$i26 = ($38|0)==(1);
L29: do {
if ($switch$i26) {
$$pre$i28 = ((($34)) + 4|0);
$$pre$phi$i41Z2D = $$pre$i28;
} else {
;HEAP32[$_10$i$i23>>2]=HEAP32[$34>>2]|0;HEAP32[$_10$i$i23+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$_10$i$i23+8>>2]=HEAP32[$34+8>>2]|0;HEAP32[$_10$i$i23+12>>2]=HEAP32[$34+12>>2]|0;HEAP32[$_10$i$i23+16>>2]=HEAP32[$34+16>>2]|0;
HEAP32[$34>>2] = 1;
$value$i$sroa$0$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx$i30 = ((($34)) + 4|0);
HEAP32[$value$i$sroa$0$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx$i30>>2] = 0;
$value$i$sroa$411$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx$i = ((($34)) + 16|0);
HEAP32[$value$i$sroa$411$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx$i>>2] = 0;
$39 = HEAP32[$_10$i$i23>>2]|0;
$cond$i$i$i31 = ($39|0)==(1);
if ($cond$i$i$i31) {
$40 = ((($_10$i$i23)) + 16|0);
$41 = HEAP32[$40>>2]|0;
$switchtmp$i$i$i$i$i$i33 = ($41|0)==(0|0);
if ($switchtmp$i$i$i$i$i$i33) {
label = 28;
} else {
$42 = HEAP32[$41>>2]|0;HEAP32[$41>>2] = (($42-1)|0);
$43 = ($42|0)==(1);
if ($43) {
/* fence */;
__THREW__ = 0;
invoke_vi(73,($40|0));
$44 = __THREW__; __THREW__ = 0;
$45 = $44&1;
if (!($45)) {
label = 28;
}
} else {
label = 28;
}
}
} else {
label = 28;
}
do {
if ((label|0) == 28) {
$46 = HEAP32[$34>>2]|0;
$not$switch$i$i$i37 = ($46|0)==(1);
if ($not$switch$i$i$i37) {
$$pre$phi$i41Z2D = $value$i$sroa$0$0$_13$sroa$4$0$$sroa_cast5$i$sroa_idx$i30;
break L29;
} else {
__THREW__ = 0;
invoke_vi(78,(2900|0));
$47 = __THREW__; __THREW__ = 0;
break;
}
}
} while(0);
$82 = ___cxa_find_matching_catch_2()|0;
$83 = tempRet0;
$84 = ((($_12$i)) + 8|0);
$85 = HEAP32[$84>>2]|0;
$86 = HEAP32[$85>>2]|0;HEAP32[$85>>2] = (($86-1)|0);
$87 = ($86|0)==(1);
if (!($87)) {
$personalityslot$sroa$0$017$i = $82;$personalityslot$sroa$5$016$i = $83;
break L24;
}
/* fence */;
__ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h097a8e42cb8d207fE($84);
$personalityslot$sroa$0$017$i = $82;$personalityslot$sroa$5$016$i = $83;
break L24;
}
} while(0);
$48 = $_12$i;
$49 = $48;
$50 = HEAP32[$49>>2]|0;
$51 = (($48) + 4)|0;
$52 = $51;
$53 = HEAP32[$52>>2]|0;
$54 = ((($_12$i)) + 8|0);
$$unpack$unpack$unpack$unpack38$i$i = HEAP32[$54>>2]|0;
$55 = $_4$i$i;
$56 = $55;
HEAP32[$56>>2] = $50;
$57 = (($55) + 4)|0;
$58 = $57;
HEAP32[$58>>2] = $53;
$_5$sroa$4$0$$sroa_idx28$i$i = ((($_4$i$i)) + 8|0);
HEAP32[$_5$sroa$4$0$$sroa_idx28$i$i>>2] = $$unpack$unpack$unpack$unpack38$i$i;
$59 = HEAP32[$$pre$phi$i41Z2D>>2]|0;
$cond$i$i$i$i$i42 = ($59|0)==(0);
$60 = $$unpack$unpack$unpack$unpack38$i$i;
if (!($cond$i$i$i$i$i42)) {
__THREW__ = 0;
invoke_v(71);
$61 = __THREW__; __THREW__ = 0;
$62 = ___cxa_find_matching_catch_2()|0;
$63 = tempRet0;
$switchtmp$i$i$i = ($$unpack$unpack$unpack$unpack38$i$i|0)==(0);
if ($switchtmp$i$i$i) {
$personalityslot$sroa$0$017$i = $62;$personalityslot$sroa$5$016$i = $63;
break;
}
$71 = HEAP32[$60>>2]|0;HEAP32[$60>>2] = (($71-1)|0);
$72 = ($71|0)==(1);
if (!($72)) {
$personalityslot$sroa$0$017$i = $62;$personalityslot$sroa$5$016$i = $63;
break;
}
$73 = ((($_4$i$i)) + 8|0);
/* fence */;
__THREW__ = 0;
invoke_vi(73,($73|0));
$74 = __THREW__; __THREW__ = 0;
$75 = $74&1;
if (!($75)) {
$personalityslot$sroa$0$017$i = $62;$personalityslot$sroa$5$016$i = $63;
break;
}
$88 = ___cxa_find_matching_catch_2()|0;
$89 = tempRet0;
$personalityslot$sroa$0$017$i = $88;$personalityslot$sroa$5$016$i = $89;
break;
}
HEAP32[$$pre$phi$i41Z2D>>2] = -1;
$64 = ((($34)) + 8|0);
$65 = ((($34)) + 16|0);
$66 = HEAP32[$65>>2]|0;
$switchtmp$i39$i$i = ($66|0)==(0|0);
if ($switchtmp$i39$i$i) {
;HEAP32[$64>>2]=HEAP32[$_4$i$i>>2]|0;HEAP32[$64+4>>2]=HEAP32[$_4$i$i+4>>2]|0;HEAP32[$64+8>>2]=HEAP32[$_4$i$i+8>>2]|0;
HEAP32[$$pre$phi$i41Z2D>>2] = 0;
STACKTOP = sp;return;
}
$67 = HEAP32[$66>>2]|0;HEAP32[$66>>2] = (($67-1)|0);
$68 = ($67|0)==(1);
if (!($68)) {
;HEAP32[$64>>2]=HEAP32[$_4$i$i>>2]|0;HEAP32[$64+4>>2]=HEAP32[$_4$i$i+4>>2]|0;HEAP32[$64+8>>2]=HEAP32[$_4$i$i+8>>2]|0;
HEAP32[$$pre$phi$i41Z2D>>2] = 0;
STACKTOP = sp;return;
}
/* fence */;
__THREW__ = 0;
invoke_vi(73,($65|0));
$69 = __THREW__; __THREW__ = 0;
$70 = $69&1;
if ($70) {
$76 = ___cxa_find_matching_catch_2()|0;
$77 = tempRet0;
;HEAP32[$64>>2]=HEAP32[$_4$i$i>>2]|0;HEAP32[$64+4>>2]=HEAP32[$_4$i$i+4>>2]|0;HEAP32[$64+8>>2]=HEAP32[$_4$i$i+8>>2]|0;
HEAP32[$$pre$phi$i41Z2D>>2] = 0;
$personalityslot$sroa$0$017$i = $76;$personalityslot$sroa$5$016$i = $77;
break;
} else {
;HEAP32[$64>>2]=HEAP32[$_4$i$i>>2]|0;HEAP32[$64+4>>2]=HEAP32[$_4$i$i+4>>2]|0;HEAP32[$64+8>>2]=HEAP32[$_4$i$i+8>>2]|0;
HEAP32[$$pre$phi$i41Z2D>>2] = 0;
STACKTOP = sp;return;
}
}
} while(0);
if ((label|0) == 39) {
$78 = ___cxa_find_matching_catch_2()|0;
$79 = tempRet0;
$80 = HEAP32[$33>>2]|0;HEAP32[$33>>2] = (($80-1)|0);
$81 = ($80|0)==(1);
if ($81) {
/* fence */;
__ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h097a8e42cb8d207fE($_11$sroa$4$0$$sroa_idx52);
$personalityslot$sroa$0$017$i = $78;$personalityslot$sroa$5$016$i = $79;
} else {
$personalityslot$sroa$0$017$i = $78;$personalityslot$sroa$5$016$i = $79;
}
}
$eh$lpad$body55$index3Z2D = $personalityslot$sroa$5$016$i;$eh$lpad$body55$indexZ2D = $personalityslot$sroa$0$017$i;
___resumeException($eh$lpad$body55$indexZ2D|0);
// unreachable;
}
} while(0);
$90 = ___cxa_find_matching_catch_2()|0;
$91 = tempRet0;
$92 = HEAP32[$thread>>2]|0;
$93 = HEAP32[$92>>2]|0;HEAP32[$92>>2] = (($93-1)|0);
$94 = ($93|0)==(1);
if (!($94)) {
$eh$lpad$body55$index3Z2D = $91;$eh$lpad$body55$indexZ2D = $90;
___resumeException($eh$lpad$body55$indexZ2D|0);
// unreachable;
}
/* fence */;
__ZN33__LT_alloc__arc__Arc_LT_T_GT__GT_9drop_slow17h097a8e42cb8d207fE($thread);
$eh$lpad$body55$index3Z2D = $91;$eh$lpad$body55$indexZ2D = $90;
___resumeException($eh$lpad$body55$indexZ2D|0);
// unreachable;
}
function _rust_begin_unwind($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, $5 = 0, $_12 = 0, $msg = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$msg = sp + 16|0;
$_12 = sp;
;HEAP32[$msg>>2]=HEAP32[$0>>2]|0;HEAP32[$msg+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$msg+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$msg+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$msg+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$msg+20>>2]=HEAP32[$0+20>>2]|0;
HEAP32[$_12>>2] = $1;
$4 = ((($_12)) + 4|0);
HEAP32[$4>>2] = $2;
$5 = ((($_12)) + 8|0);
HEAP32[$5>>2] = $3;
__ZN3std9panicking15begin_panic_fmt17h0b5c900cf8f76eedE($msg,$_12);
// unreachable;
}
function __ZN3std2rt10lang_start17hbf07045205cfddc7E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$$i$i$i$i$i = 0, $$$i$i$i$i$i$i = 0, $$$i$i$i$i$i$i$i$i = 0, $$$i$i$i$i$i$i$i$i$i = 0, $$arith = 0, $$arith11 = 0, $$arith15 = 0, $$overflow = 0, $$overflow12 = 0, $$overflow16 = 0, $$pre$i$i$i = 0, $$pre$i$i$i$i = 0, $$pre$phi$i$i$iZ2D = 0, $$pre3$i$i$i = 0, $$sink$in$phi$trans$insert$i$i$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0;
var $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, $120 = 0;
var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 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, $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, $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;
var $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, $98 = 0, $99 = 0;
var $_14 = 0, $_18 = 0, $_19$i$i = 0, $_25$sroa$4$0$$sroa_idx98$i$i$i$i = 0, $_25$sroa$5$0$$sroa_idx100$i$i$i$i = 0, $_27$sroa$4$0$$sroa_idx$i$i = 0, $_27$sroa$5$0$$sroa_idx$i$i = 0, $_28$sroa$4$0$$sroa_idx76$i$i$i$i = 0, $_28$sroa$5$0$$sroa_idx78$i$i$i$i = 0, $_31$sroa$0$0$$sroa_idx$i$i$i$i$i = 0, $_31$sroa$4$0$$sroa_idx46$i$i$i$i$i = 0, $_31$sroa$5$0$$sroa_idx48$i$i$i$i$i = 0, $_4$i = 0, $_6$i$i$i$i$i = 0, $_6$sroa$4$0$$sroa_idx23$i$i = 0, $_7$i$i$i$i = 0, $any_data$i$i = 0, $any_vtable$i$i = 0, $args$sroa$0$0$copyload30$i$i = 0, $args$sroa$0$0$i$i = 0;
var $args$sroa$7$0$copyload34$i$i = 0, $args$sroa$7$0$i$i = 0, $args$sroa$9$0$copyload38$i$i = 0, $args$sroa$9$0$i$i = 0, $argv$i$i = 0, $data$i$i = 0, $eh$lpad$body$index4Z2D = 0, $eh$lpad$body$indexZ2D = 0, $element$sroa$6$0$$sroa_idx36$i$i$i$i$i = 0, $element$sroa$6$0$$sroa_idx87$i$i$i$i = 0, $element$sroa$6$0$copyload$i$i$i$i = 0, $element$sroa$6$0$copyload$i$i$i$i$i = 0, $element$sroa$7$0$$sroa_idx41$i$i$i$i$i = 0, $element$sroa$7$0$$sroa_idx92$i$i$i$i = 0, $element$sroa$7$0$copyload$i$i$i$i = 0, $element$sroa$7$0$copyload$i$i$i$i$i = 0, $f$i$i = 0, $iterator$i$i$i$i = 0, $iterator$i$i$i$i$i = 0, $not$$i$i$i$i$i$i = 0;
var $not$$i$i$i$i$i$i$i$i$i = 0, $not$$i$i$i$i$i$i$i50$i$i$i$i = 0, $not$$i$i$i$i$i48$i$i$i$i = 0, $not$$i$i$i$i38$i$i$i$i = 0, $not$$i$i$i$i54$i$i$i$i = 0, $personalityslot$sroa$0$0 = 0, $personalityslot$sroa$0$0$i$i$i$i$i = 0, $personalityslot$sroa$0$0106$i$i$i$i = 0, $personalityslot$sroa$5$0 = 0, $personalityslot$sroa$6$0$i$i$i$i$i = 0, $personalityslot$sroa$7$0105$i$i$i$i = 0, $phitmp$i$i = 0, $ptr$0$i$i$i$i$i$i = 0, $res$sroa$0$0 = 0, $res$sroa$7$0 = 0, $switch$i$i$i$i = 0, $switch2tmp$i$i$i$i$i = 0, $switchtmp$i = 0, $switchtmp$i$i$i$i = 0, $switchtmp$i23 = 0;
var $switchtmp$i47$i$i$i$i = 0, $vector$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
$f$i$i = sp + 136|0;
$_19$i$i = sp + 128|0;
$any_data$i$i = sp + 148|0;
$any_vtable$i$i = sp + 144|0;
$data$i$i = sp + 120|0;
$iterator$i$i$i$i$i = sp + 104|0;
$_6$i$i$i$i$i = sp + 88|0;
$iterator$i$i$i$i = sp + 72|0;
$vector$i$i$i$i = sp + 56|0;
$_7$i$i$i$i = sp + 40|0;
$argv$i$i = sp + 140|0;
$_4$i = sp + 24|0;
$_14 = sp + 8|0;
$_18 = sp;
__ZN5alloc3oom15set_oom_handler17hdf38efba684520b4E(119);
__THREW__ = 0;
invoke_viii(120,($_14|0),(8210|0),4);
$3 = __THREW__; __THREW__ = 0;
$4 = $3&1;
L1: do {
if ($4) {
label = 64;
} else {
;HEAP32[$_4$i>>2]=HEAP32[$_14>>2]|0;HEAP32[$_4$i+4>>2]=HEAP32[$_14+4>>2]|0;HEAP32[$_4$i+8>>2]=HEAP32[$_14+8>>2]|0;
__THREW__ = 0;
$5 = (invoke_ii(85,($_4$i|0))|0);
$6 = __THREW__; __THREW__ = 0;
$7 = $6&1;
if ($7) {
label = 64;
} else {
$8 = $_18;
$9 = $8;
HEAP32[$9>>2] = 0;
$10 = (($8) + 4)|0;
$11 = $10;
HEAP32[$11>>2] = 0;
__THREW__ = 0;
invoke_vii(121,($_18|0),($5|0));
$12 = __THREW__; __THREW__ = 0;
$13 = $12&1;
if ($13) {
label = 64;
} else {
HEAP32[$argv$i$i>>2] = $2;
HEAP32[$iterator$i$i$i$i>>2] = 0;
$_6$sroa$4$0$$sroa_idx23$i$i = ((($iterator$i$i$i$i)) + 4|0);
HEAP32[$_6$sroa$4$0$$sroa_idx23$i$i>>2] = $1;
$14 = ((($iterator$i$i$i$i)) + 8|0);
HEAP32[$14>>2] = $argv$i$i;
__THREW__ = 0;
invoke_vii(122,($_7$i$i$i$i|0),($iterator$i$i$i$i|0));
$15 = __THREW__; __THREW__ = 0;
$16 = $15&1;
L5: do {
if ($16) {
$17 = ___cxa_find_matching_catch_2()|0;
$18 = tempRet0;
$personalityslot$sroa$0$0106$i$i$i$i = $17;$personalityslot$sroa$7$0105$i$i$i$i = $18;
} else {
$19 = HEAP32[$_7$i$i$i$i>>2]|0;
$switchtmp$i$i$i$i = ($19|0)==(0|0);
L8: do {
if ($switchtmp$i$i$i$i) {
$args$sroa$0$0$i$i = 1;$args$sroa$7$0$i$i = 0;$args$sroa$9$0$i$i = 0;
} else {
$element$sroa$6$0$$sroa_idx87$i$i$i$i = ((($_7$i$i$i$i)) + 4|0);
$element$sroa$6$0$copyload$i$i$i$i = HEAP32[$element$sroa$6$0$$sroa_idx87$i$i$i$i>>2]|0;
$element$sroa$7$0$$sroa_idx92$i$i$i$i = ((($_7$i$i$i$i)) + 8|0);
$element$sroa$7$0$copyload$i$i$i$i = HEAP32[$element$sroa$7$0$$sroa_idx92$i$i$i$i>>2]|0;
$20 = HEAP32[$iterator$i$i$i$i>>2]|0;
$21 = HEAP32[$_6$sroa$4$0$$sroa_idx23$i$i>>2]|0;
$22 = ($21|0)>($20|0);
$23 = (($21) - ($20))|0;
$$$i$i$i$i$i$i$i$i = $22 ? $23 : 0;
$$arith11 = (($$$i$i$i$i$i$i$i$i) + 1)|0;
$$overflow12 = ($$$i$i$i$i$i$i$i$i>>>0)>(4294967294);
$$$i$i$i$i$i = $$overflow12 ? -1 : $$arith11;
$$arith15 = ($$$i$i$i$i$i*12)|0;
$$overflow16 = ($$$i$i$i$i$i>>>0)>(357913941);
do {
if ($$overflow16) {
__THREW__ = 0;
invoke_vii(63,(6512|0),17);
$24 = __THREW__; __THREW__ = 0;
} else {
$25 = ($$arith15|0)<(0);
if ($25) {
__THREW__ = 0;
invoke_vi(78,(2856|0));
$26 = __THREW__; __THREW__ = 0;
break;
}
$27 = ($$arith15|0)==(0);
if ($27) {
$ptr$0$i$i$i$i$i$i = (1);
} else {
$28 = (___rust_allocate($$arith15,4)|0);
$29 = ($28|0)==(0|0);
if ($29) {
__THREW__ = 0;
invoke_v(79);
$30 = __THREW__; __THREW__ = 0;
break;
} else {
$ptr$0$i$i$i$i$i$i = $28;
}
}
$31 = $ptr$0$i$i$i$i$i$i;
HEAP32[$ptr$0$i$i$i$i$i$i>>2] = $19;
$_25$sroa$4$0$$sroa_idx98$i$i$i$i = ((($ptr$0$i$i$i$i$i$i)) + 4|0);
HEAP32[$_25$sroa$4$0$$sroa_idx98$i$i$i$i>>2] = $element$sroa$6$0$copyload$i$i$i$i;
$_25$sroa$5$0$$sroa_idx100$i$i$i$i = ((($ptr$0$i$i$i$i$i$i)) + 8|0);
HEAP32[$_25$sroa$5$0$$sroa_idx100$i$i$i$i>>2] = $element$sroa$7$0$copyload$i$i$i$i;
HEAP32[$vector$i$i$i$i>>2] = $31;
$_28$sroa$4$0$$sroa_idx76$i$i$i$i = ((($vector$i$i$i$i)) + 4|0);
HEAP32[$_28$sroa$4$0$$sroa_idx76$i$i$i$i>>2] = $$$i$i$i$i$i;
$_28$sroa$5$0$$sroa_idx78$i$i$i$i = ((($vector$i$i$i$i)) + 8|0);
HEAP32[$_28$sroa$5$0$$sroa_idx78$i$i$i$i>>2] = 1;
;HEAP32[$iterator$i$i$i$i$i>>2]=HEAP32[$iterator$i$i$i$i>>2]|0;HEAP32[$iterator$i$i$i$i$i+4>>2]=HEAP32[$iterator$i$i$i$i+4>>2]|0;HEAP32[$iterator$i$i$i$i$i+8>>2]=HEAP32[$iterator$i$i$i$i+8>>2]|0;
$element$sroa$6$0$$sroa_idx36$i$i$i$i$i = ((($_6$i$i$i$i$i)) + 4|0);
$element$sroa$7$0$$sroa_idx41$i$i$i$i$i = ((($_6$i$i$i$i$i)) + 8|0);
$32 = ((($iterator$i$i$i$i$i)) + 4|0);
$126 = $ptr$0$i$i$i$i$i$i;$args$sroa$9$0$copyload38$i$i = 1;
while(1) {
__THREW__ = 0;
invoke_vii(122,($_6$i$i$i$i$i|0),($iterator$i$i$i$i$i|0));
$33 = __THREW__; __THREW__ = 0;
$34 = $33&1;
if ($34) {
label = 24;
break;
}
$35 = HEAP32[$_6$i$i$i$i$i>>2]|0;
$switchtmp$i47$i$i$i$i = ($35|0)==(0|0);
if ($switchtmp$i47$i$i$i$i) {
label = 25;
break;
}
$element$sroa$6$0$copyload$i$i$i$i$i = HEAP32[$element$sroa$6$0$$sroa_idx36$i$i$i$i$i>>2]|0;
$element$sroa$7$0$copyload$i$i$i$i$i = HEAP32[$element$sroa$7$0$$sroa_idx41$i$i$i$i$i>>2]|0;
$36 = HEAP32[$_28$sroa$4$0$$sroa_idx76$i$i$i$i>>2]|0;
$37 = ($args$sroa$9$0$copyload38$i$i|0)==($36|0);
if ($37) {
$38 = HEAP32[$iterator$i$i$i$i$i>>2]|0;
$39 = HEAP32[$32>>2]|0;
$40 = ($39|0)>($38|0);
$41 = (($39) - ($38))|0;
$$$i$i$i$i$i$i$i$i$i = $40 ? $41 : 0;
$$arith = (($$$i$i$i$i$i$i$i$i$i) + 1)|0;
$$overflow = ($$$i$i$i$i$i$i$i$i$i>>>0)>(4294967294);
$$$i$i$i$i$i$i = $$overflow ? -1 : $$arith;
__THREW__ = 0;
invoke_vii(123,($vector$i$i$i$i|0),($$$i$i$i$i$i$i|0));
$42 = __THREW__; __THREW__ = 0;
$43 = $42&1;
if ($43) {
label = 22;
break;
}
$$pre$i$i$i$i = HEAP32[$vector$i$i$i$i>>2]|0;
$44 = $$pre$i$i$i$i;
} else {
$44 = $126;
}
$_31$sroa$0$0$$sroa_idx$i$i$i$i$i = (($44) + (($args$sroa$9$0$copyload38$i$i*12)|0)|0);
HEAP32[$_31$sroa$0$0$$sroa_idx$i$i$i$i$i>>2] = $35;
$_31$sroa$4$0$$sroa_idx46$i$i$i$i$i = (((($44) + (($args$sroa$9$0$copyload38$i$i*12)|0)|0)) + 4|0);
HEAP32[$_31$sroa$4$0$$sroa_idx46$i$i$i$i$i>>2] = $element$sroa$6$0$copyload$i$i$i$i$i;
$_31$sroa$5$0$$sroa_idx48$i$i$i$i$i = (((($44) + (($args$sroa$9$0$copyload38$i$i*12)|0)|0)) + 8|0);
HEAP32[$_31$sroa$5$0$$sroa_idx48$i$i$i$i$i>>2] = $element$sroa$7$0$copyload$i$i$i$i$i;
$45 = (($args$sroa$9$0$copyload38$i$i) + 1)|0;
HEAP32[$_28$sroa$5$0$$sroa_idx78$i$i$i$i>>2] = $45;
$126 = $44;$args$sroa$9$0$copyload38$i$i = $45;
}
if ((label|0) == 22) {
$46 = ___cxa_find_matching_catch_2()|0;
$47 = tempRet0;
$not$$i$i$i$i$i48$i$i$i$i = ($element$sroa$6$0$copyload$i$i$i$i$i|0)==(0);
if ($not$$i$i$i$i$i48$i$i$i$i) {
$personalityslot$sroa$0$0$i$i$i$i$i = $46;$personalityslot$sroa$6$0$i$i$i$i$i = $47;
} else {
___rust_deallocate($35,$element$sroa$6$0$copyload$i$i$i$i$i,1);
$personalityslot$sroa$0$0$i$i$i$i$i = $46;$personalityslot$sroa$6$0$i$i$i$i$i = $47;
}
}
else if ((label|0) == 24) {
$48 = ___cxa_find_matching_catch_2()|0;
$49 = tempRet0;
$personalityslot$sroa$0$0$i$i$i$i$i = $48;$personalityslot$sroa$6$0$i$i$i$i$i = $49;
}
else if ((label|0) == 25) {
$args$sroa$0$0$copyload30$i$i = HEAP32[$vector$i$i$i$i>>2]|0;
$args$sroa$7$0$copyload34$i$i = HEAP32[$_28$sroa$4$0$$sroa_idx76$i$i$i$i>>2]|0;
$args$sroa$0$0$i$i = $args$sroa$0$0$copyload30$i$i;$args$sroa$7$0$i$i = $args$sroa$7$0$copyload34$i$i;$args$sroa$9$0$i$i = $args$sroa$9$0$copyload38$i$i;
break L8;
}
$50 = HEAP32[$vector$i$i$i$i>>2]|0;
$51 = HEAP32[$_28$sroa$5$0$$sroa_idx78$i$i$i$i>>2]|0;
$52 = (($50) + (($51*12)|0)|0);
$53 = ($51|0)==(0);
if (!($53)) {
$55 = $50;
while(1) {
$54 = ((($55)) + 4|0);
$56 = HEAP32[$54>>2]|0;
$not$$i$i$i$i$i$i$i50$i$i$i$i = ($56|0)==(0);
if (!($not$$i$i$i$i$i$i$i50$i$i$i$i)) {
$57 = HEAP32[$55>>2]|0;
___rust_deallocate($57,$56,1);
}
$58 = ((($55)) + 12|0);
$59 = ($58|0)==($52|0);
if ($59) {
break;
} else {
$55 = $58;
}
}
}
$60 = HEAP32[$_28$sroa$4$0$$sroa_idx76$i$i$i$i>>2]|0;
$not$$i$i$i$i54$i$i$i$i = ($60|0)==(0);
if ($not$$i$i$i$i54$i$i$i$i) {
$personalityslot$sroa$0$0106$i$i$i$i = $personalityslot$sroa$0$0$i$i$i$i$i;$personalityslot$sroa$7$0105$i$i$i$i = $personalityslot$sroa$6$0$i$i$i$i$i;
break L5;
}
$61 = ($60*12)|0;
___rust_deallocate($50,$61,4);
$personalityslot$sroa$0$0106$i$i$i$i = $personalityslot$sroa$0$0$i$i$i$i$i;$personalityslot$sroa$7$0105$i$i$i$i = $personalityslot$sroa$6$0$i$i$i$i$i;
break L5;
}
} while(0);
$62 = ___cxa_find_matching_catch_2()|0;
$63 = tempRet0;
$not$$i$i$i$i38$i$i$i$i = ($element$sroa$6$0$copyload$i$i$i$i|0)==(0);
if ($not$$i$i$i$i38$i$i$i$i) {
$personalityslot$sroa$0$0106$i$i$i$i = $62;$personalityslot$sroa$7$0105$i$i$i$i = $63;
break L5;
}
___rust_deallocate($19,$element$sroa$6$0$copyload$i$i$i$i,1);
$personalityslot$sroa$0$0106$i$i$i$i = $62;$personalityslot$sroa$7$0105$i$i$i$i = $63;
break L5;
}
} while(0);
(_pthread_mutex_lock(((13136)|0))|0);
$64 = HEAP32[3325]|0;
$65 = ($64|0)==(0|0);
if (!($65)) {
__THREW__ = 0;
invoke_viii(64,(8214|0),34,(2328|0));
$66 = __THREW__; __THREW__ = 0;
$67 = ___cxa_find_matching_catch_2()|0;
$68 = tempRet0;
$69 = $args$sroa$0$0$i$i;
$70 = (($69) + (($args$sroa$9$0$i$i*12)|0)|0);
$71 = ($args$sroa$9$0$i$i|0)==(0);
if (!($71)) {
$76 = $69;
while(1) {
$75 = ((($76)) + 4|0);
$77 = HEAP32[$75>>2]|0;
$not$$i$i$i$i$i$i$i$i$i = ($77|0)==(0);
if (!($not$$i$i$i$i$i$i$i$i$i)) {
$78 = HEAP32[$76>>2]|0;
___rust_deallocate($78,$77,1);
}
$79 = ((($76)) + 12|0);
$80 = ($79|0)==($70|0);
if ($80) {
break;
} else {
$76 = $79;
}
}
}
$not$$i$i$i$i$i$i = ($args$sroa$7$0$i$i|0)==(0);
if ($not$$i$i$i$i$i$i) {
$eh$lpad$body$index4Z2D = $68;$eh$lpad$body$indexZ2D = $67;
break L1;
}
$81 = ($args$sroa$7$0$i$i*12)|0;
$82 = $args$sroa$0$0$i$i;
___rust_deallocate($82,$81,4);
$eh$lpad$body$index4Z2D = $68;$eh$lpad$body$indexZ2D = $67;
break L1;
}
$72 = (___rust_allocate(12,4)|0);
$73 = ($72|0)==(0|0);
if ($73) {
__THREW__ = 0;
invoke_v(79);
$74 = __THREW__; __THREW__ = 0;
label = 64;
break L1;
}
HEAP32[$72>>2] = $args$sroa$0$0$i$i;
$_27$sroa$4$0$$sroa_idx$i$i = ((($72)) + 4|0);
HEAP32[$_27$sroa$4$0$$sroa_idx$i$i>>2] = $args$sroa$7$0$i$i;
$_27$sroa$5$0$$sroa_idx$i$i = ((($72)) + 8|0);
HEAP32[$_27$sroa$5$0$$sroa_idx$i$i>>2] = $args$sroa$9$0$i$i;
__ZN4drop17he57411abe140316eE(13300);
HEAP32[3325] = $72;
(_pthread_mutex_unlock(((13136)|0))|0);
HEAP32[$any_data$i$i>>2] = 0;
HEAP32[$any_vtable$i$i>>2] = 0;
HEAP32[$data$i$i>>2] = $0;
$83 = (___rust_maybe_catch_panic(124,$data$i$i,$any_data$i$i,$any_vtable$i$i)|0);
$84 = ($83|0)==(0);
L60: do {
if ($84) {
$res$sroa$0$0 = 0;$res$sroa$7$0 = 0;
} else {
__THREW__ = 0;
$85 = (invoke_i(62)|0);
$86 = __THREW__; __THREW__ = 0;
$87 = $86&1;
do {
if (!($87)) {
$switch2tmp$i$i$i$i$i = ($85|0)==(0|0);
if ($switch2tmp$i$i$i$i$i) {
__THREW__ = 0;
invoke_vii(63,(5764|0),57);
$88 = __THREW__; __THREW__ = 0;
break;
}
$89 = HEAP32[$85>>2]|0;
$switch$i$i$i$i = ($89|0)==(1);
if ($switch$i$i$i$i) {
$$sink$in$phi$trans$insert$i$i$i = ((($85)) + 4|0);
$$pre$i$i$i = HEAP32[$$sink$in$phi$trans$insert$i$i$i>>2]|0;
$phitmp$i$i = (($$pre$i$i$i) + -1)|0;
$$pre$phi$i$i$iZ2D = $$sink$in$phi$trans$insert$i$i$i;$94 = $phitmp$i$i;
} else {
$90 = $85;
$91 = $90;
HEAP32[$91>>2] = 1;
$92 = (($90) + 4)|0;
$93 = $92;
HEAP32[$93>>2] = 0;
$$pre3$i$i$i = ((($85)) + 4|0);
$$pre$phi$i$i$iZ2D = $$pre3$i$i$i;$94 = -1;
}
HEAP32[$$pre$phi$i$i$iZ2D>>2] = $94;
$95 = HEAP32[$any_data$i$i>>2]|0;
$96 = HEAP32[$any_vtable$i$i>>2]|0;
$res$sroa$0$0 = $95;$res$sroa$7$0 = $96;
break L60;
}
} while(0);
$124 = ___cxa_find_matching_catch_2()|0;
$125 = tempRet0;
$personalityslot$sroa$0$0 = $124;$personalityslot$sroa$5$0 = $125;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
} while(0);
$97 = HEAP32[3326]|0;
$98 = ($97|0)==(3);
do {
if (!($98)) {
HEAP8[$f$i$i>>0] = 1;
HEAP32[$_19$i$i>>2] = $f$i$i;
__THREW__ = 0;
invoke_viiii(125,(13304|0),0,($_19$i$i|0),(336|0));
$99 = __THREW__; __THREW__ = 0;
$100 = $99&1;
if (!($100)) {
break;
}
$112 = ___cxa_find_matching_catch_2()|0;
$113 = tempRet0;
$switchtmp$i = ($res$sroa$0$0|0)==(0|0);
if ($switchtmp$i) {
$personalityslot$sroa$0$0 = $112;$personalityslot$sroa$5$0 = $113;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$114 = $res$sroa$7$0;
$115 = HEAP32[$114>>2]|0;
FUNCTION_TABLE_vi[$115 & 255]($res$sroa$0$0);
$116 = $res$sroa$7$0;
$117 = ((($116)) + 4|0);
$118 = HEAP32[$117>>2]|0;
$119 = ($118|0)==(0);
if ($119) {
$personalityslot$sroa$0$0 = $112;$personalityslot$sroa$5$0 = $113;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
$120 = ((($116)) + 8|0);
$121 = HEAP32[$120>>2]|0;
___rust_deallocate($res$sroa$0$0,$118,$121);
$personalityslot$sroa$0$0 = $112;$personalityslot$sroa$5$0 = $113;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
}
} while(0);
$101 = ($res$sroa$0$0|0)!=(0|0);
$switchtmp$i23 = ($res$sroa$0$0|0)==(0|0);
if ($switchtmp$i23) {
$$ = $101 ? 101 : 0;
STACKTOP = sp;return ($$|0);
}
$102 = $res$sroa$7$0;
$103 = HEAP32[$102>>2]|0;
__THREW__ = 0;
invoke_vi($103|0,($res$sroa$0$0|0));
$104 = __THREW__; __THREW__ = 0;
$105 = $104&1;
if ($105) {
label = 64;
break L1;
}
$106 = $res$sroa$7$0;
$107 = ((($106)) + 4|0);
$108 = HEAP32[$107>>2]|0;
$109 = ($108|0)==(0);
if ($109) {
$$ = $101 ? 101 : 0;
STACKTOP = sp;return ($$|0);
}
$110 = ((($106)) + 8|0);
$111 = HEAP32[$110>>2]|0;
___rust_deallocate($res$sroa$0$0,$108,$111);
$$ = $101 ? 101 : 0;
STACKTOP = sp;return ($$|0);
}
} while(0);
$eh$lpad$body$index4Z2D = $personalityslot$sroa$7$0105$i$i$i$i;$eh$lpad$body$indexZ2D = $personalityslot$sroa$0$0106$i$i$i$i;
}
}
}
} while(0);
if ((label|0) == 64) {
$122 = ___cxa_find_matching_catch_2()|0;
$123 = tempRet0;
$eh$lpad$body$index4Z2D = $123;$eh$lpad$body$indexZ2D = $122;
}
$personalityslot$sroa$0$0 = $eh$lpad$body$indexZ2D;$personalityslot$sroa$5$0 = $eh$lpad$body$index4Z2D;
___resumeException($personalityslot$sroa$0$0|0);
// unreachable;
return (0)|0;
}
function __ZN3std3sys3imp4init11oom_handler17h4ce2960c8dcc4aceE() {
var label = 0, sp = 0;
sp = STACKTOP;
(_write(2,8248,35)|0);
_llvm_trap();
// unreachable;
}
function __ZN84__LT_core__iter__Map_LT_I_C__u20_F_GT__u20_as_u20_core__iter__iterator__Iterator_GT_4next17h2d42d70e5a6dc928E($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_7$i = 0, $local_len$sroa$5$0$lcssa$i$i$i$i$i$i = 0, $not$$i$i$i$i$i$i$i$i$i = 0, $ptr$0$i$i$i$i$i$i$i = 0, $vector$i$i$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vector$i$i$i$i$i = sp + 16|0;
$_7$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;
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) {
__ZN4core5slice20slice_index_len_fail17hb40dd6e1275ffb59E(-1,0);
// unreachable;
}
$14 = ($12|0)<(0);
if ($14) {
__ZN4core9panicking5panic17h7842870c7e688275E(2856);
// unreachable;
}
$16 = ($12|0)==(0);
if ($16) {
$ptr$0$i$i$i$i$i$i$i = (1);
} else {
$17 = (___rust_allocate($12,1)|0);
$18 = ($17|0)==(0|0);
if ($18) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
} else {
$ptr$0$i$i$i$i$i$i$i = $17;
}
}
$19 = $ptr$0$i$i$i$i$i$i$i;
HEAP32[$vector$i$i$i$i$i>>2] = $19;
$20 = ((($vector$i$i$i$i$i)) + 4|0);
HEAP32[$20>>2] = $12;
$21 = ((($vector$i$i$i$i$i)) + 8|0);
HEAP32[$21>>2] = 0;
__THREW__ = 0;
invoke_vii(80,($vector$i$i$i$i$i|0),($12|0));
$22 = __THREW__; __THREW__ = 0;
$23 = $22&1;
if ($23) {
$15 = ___cxa_find_matching_catch_2()|0;
$28 = tempRet0;
$29 = HEAP32[$20>>2]|0;
$not$$i$i$i$i$i$i$i$i$i = ($29|0)==(0);
if ($not$$i$i$i$i$i$i$i$i$i) {
___resumeException($15|0);
// unreachable;
}
$30 = HEAP32[$vector$i$i$i$i$i>>2]|0;
___rust_deallocate($30,$29,1);
___resumeException($15|0);
// unreachable;
} else {
$24 = HEAP32[$21>>2]|0;
if ($16) {
$local_len$sroa$5$0$lcssa$i$i$i$i$i$i = $24;
} else {
$25 = (($24) + ($12))|0;
$26 = HEAP32[$vector$i$i$i$i$i>>2]|0;
$27 = (($26) + ($24)|0);
_memcpy(($27|0),($11|0),($12|0))|0;
$local_len$sroa$5$0$lcssa$i$i$i$i$i$i = $25;
}
HEAP32[$21>>2] = $local_len$sroa$5$0$lcssa$i$i$i$i$i$i;
;HEAP32[$_7$i>>2]=HEAP32[$vector$i$i$i$i$i>>2]|0;HEAP32[$_7$i+4>>2]=HEAP32[$vector$i$i$i$i$i+4>>2]|0;HEAP32[$_7$i+8>>2]=HEAP32[$vector$i$i$i$i$i+8>>2]|0;
;HEAP32[$0>>2]=HEAP32[$_7$i>>2]|0;HEAP32[$0+4>>2]=HEAP32[$_7$i+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$_7$i+8>>2]|0;
STACKTOP = sp;return;
}
}
function __ZN3std9panicking3try7do_call17h1029322ee112cef1E($0) {
$0 = $0|0;
var $tmp$0$copyload$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$tmp$0$copyload$i = HEAP32[$0>>2]|0;
FUNCTION_TABLE_v[$tmp$0$copyload$i & 127]();
return;
}
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 = (___gxx_personality_v0(($0|0),($1|0),($2|0),($3|0),($4|0),($5|0))|0);
return ($6|0);
}
function ___rust_maybe_catch_panic($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$sroa_idx$i$i = 0, $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$0 = 0, label = 0, sp = 0;
sp = STACKTOP;
__THREW__ = 0;
invoke_vi($0|0,($1|0));
$4 = __THREW__; __THREW__ = 0;
$5 = $4&1;
if (!($5)) {
$_0$0 = 0;
return ($_0$0|0);
}
$6 = ___cxa_find_matching_catch_3(0|0)|0;
$7 = tempRet0;
$8 = ($6|0)==(0|0);
if ($8) {
__ZN4core9panicking5panic17h7842870c7e688275E(2760);
// unreachable;
}
$9 = HEAP32[$6>>2]|0;
$$sroa_idx$i$i = ((($6)) + 4|0);
$10 = HEAP32[$$sroa_idx$i$i>>2]|0;
___cxa_free_exception(($6|0));
HEAP32[$2>>2] = $9;
HEAP32[$3>>2] = $10;
$_0$0 = 1;
return ($_0$0|0);
}
function ___rust_start_panic($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = $0;
$3 = $1;
$4 = (___cxa_allocate_exception(8)|0);
$5 = ($4|0)==(0|0);
if (!($5)) {
HEAP32[$4>>2] = $2;
$12 = ((($4)) + 4|0);
HEAP32[$12>>2] = $3;
___cxa_throw(($4|0),(0|0),(0|0));
__ZN4core9panicking5panic17h7842870c7e688275E(2740);
// unreachable;
}
$6 = HEAP32[$3>>2]|0;
FUNCTION_TABLE_vi[$6 & 255]($2);
$7 = ((($3)) + 4|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(0);
if ($9) {
return 3;
}
$10 = ((($3)) + 8|0);
$11 = HEAP32[$10>>2]|0;
___rust_deallocate($2,$8,$11);
return 3;
}
function __ZN11collections3str62__LT_impl_u20_collections__borrow__ToOwned_u20_for_u20_str_GT_8to_owned17ha0187c01fb57bc17E($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_3 = 0, $local_len$sroa$5$0$lcssa$i$i$i$i = 0, $not$$i$i$i$i$i$i$i = 0;
var $ptr$0$i$i$i$i$i = 0, $vector$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vector$i$i$i = sp + 16|0;
$_3 = sp;
$3 = ($2|0)<(0);
if ($3) {
__ZN4core9panicking5panic17h7842870c7e688275E(2856);
// unreachable;
}
$5 = ($2|0)==(0);
if ($5) {
$ptr$0$i$i$i$i$i = (1);
} else {
$6 = (___rust_allocate($2,1)|0);
$7 = ($6|0)==(0|0);
if ($7) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// 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(126,($vector$i$i$i|0),($2|0));
$11 = __THREW__; __THREW__ = 0;
$12 = $11&1;
if (!($12)) {
$13 = HEAP32[$10>>2]|0;
if ($5) {
$local_len$sroa$5$0$lcssa$i$i$i$i = $13;
} else {
$14 = (($13) + ($2))|0;
$15 = HEAP32[$vector$i$i$i>>2]|0;
$16 = (($15) + ($13)|0);
_memcpy(($16|0),($1|0),($2|0))|0;
$local_len$sroa$5$0$lcssa$i$i$i$i = $14;
}
HEAP32[$10>>2] = $local_len$sroa$5$0$lcssa$i$i$i$i;
;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;
}
$4 = ___cxa_find_matching_catch_2()|0;
$17 = tempRet0;
$18 = HEAP32[$9>>2]|0;
$not$$i$i$i$i$i$i$i = ($18|0)==(0);
if ($not$$i$i$i$i$i$i$i) {
___resumeException($4|0);
// unreachable;
}
$19 = HEAP32[$vector$i$i$i>>2]|0;
___rust_deallocate($19,$18,1);
___resumeException($4|0);
// unreachable;
}
function __ZN39__LT_collections__vec__Vec_LT_T_GT__GT_7reserve17h78bfb0aa55abb3ddE_90($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$0$sroa$speculated$i$i$i = 0, $ptr$0$i = 0, label = 0, 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) {
__ZN4core6option13expect_failed17h199949141d849bddE(8593,17);
// unreachable;
}
$8 = $5 << 1;
$9 = ($$arith>>>0)>=($8>>>0);
$_0$0$sroa$speculated$i$i$i = $9 ? $$arith : $8;
$10 = ($_0$0$sroa$speculated$i$i$i|0)<(0);
if ($10) {
__ZN4core9panicking5panic17h7842870c7e688275E(2856);
// unreachable;
}
$11 = ($5|0)==(0);
if ($11) {
$12 = (___rust_allocate($_0$0$sroa$speculated$i$i$i,1)|0);
$ptr$0$i = $12;
} else {
$13 = HEAP32[$0>>2]|0;
$14 = (___rust_reallocate($13,$5,$_0$0$sroa$speculated$i$i$i,1)|0);
$ptr$0$i = $14;
}
$15 = ($ptr$0$i|0)==(0|0);
if ($15) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
}
HEAP32[$0>>2] = $ptr$0$i;
HEAP32[$4>>2] = $_0$0$sroa$speculated$i$i$i;
return;
}
function __ZN11collections6string6String15from_utf8_lossy17h26e62798961bbfa1E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$fca$0$gep82 = 0, $$fca$0$load = 0, $$off = 0, $$off283 = 0, $$off285 = 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;
var $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, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
var $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, $146 = 0, $147 = 0, $148 = 0, $149 = 0;
var $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, $164 = 0, $165 = 0, $166 = 0, $167 = 0;
var $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, $182 = 0, $183 = 0, $184 = 0, $185 = 0;
var $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, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0;
var $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, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0;
var $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, $236 = 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, $_3$sroa$4$0$$sroa_idx3$i = 0;
var $_3$sroa$5$0$$sroa_idx5$i = 0, $_315$sroa$0$0$$sroa_idx19 = 0, $_5 = 0, $cond = 0, $cond10 = 0, $cond11 = 0, $cond9 = 0, $e = 0, $i$0$be = 0, $i$0318 = 0, $local_len$sroa$5$0$lcssa$i131 = 0, $local_len$sroa$5$0$lcssa$i150 = 0, $local_len$sroa$5$0$lcssa$i160 = 0, $local_len$sroa$5$0$lcssa$i184 = 0, $local_len$sroa$5$0$lcssa$i202 = 0, $local_len$sroa$5$0$lcssa$i214 = 0, $local_len$sroa$5$0$lcssa$i230 = 0, $local_len$sroa$5$0$lcssa$i252 = 0, $lpad$phi$index = 0, $lpad$phi$index2 = 0;
var $not$$i$i$i$i$i = 0, $or$cond113 = 0, $or$cond114 = 0, $or$cond115 = 0, $or$cond116 = 0, $or$cond118 = 0, $or$cond119 = 0, $or$cond123 = 0, $or$cond124 = 0, $or$cond125 = 0, $or$cond126 = 0, $ptr$0$i$i$i = 0, $res = 0, $subseqidx$0$be = 0, $subseqidx$0$lcssa = 0, $subseqidx$0$ph = 0, $subseqidx$0317 = 0, $switch = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$_5 = sp + 24|0;
$e = sp + 16|0;
$res = sp;
__ZN4core3str9from_utf817hb30f9b28629f31d9E($_5,$1,$2);
$3 = HEAP32[$_5>>2]|0;
$switch = ($3|0)==(1);
if (!($switch)) {
$4 = ((($_5)) + 4|0);
$5 = HEAP32[$4>>2]|0;
$6 = ((($_5)) + 8|0);
$7 = HEAP32[$6>>2]|0;
HEAP32[$0>>2] = 0;
$8 = ((($0)) + 4|0);
HEAP32[$8>>2] = $5;
$9 = ((($0)) + 8|0);
HEAP32[$9>>2] = $7;
STACKTOP = sp;return;
}
$$fca$0$gep82 = ((($_5)) + 4|0);
$$fca$0$load = HEAP32[$$fca$0$gep82>>2]|0;
HEAP32[$e>>2] = $$fca$0$load;
$10 = (__ZN4core3str9Utf8Error11valid_up_to17h647bc81ca6a6056dE($e)|0);
$11 = ($2|0)<(0);
if ($11) {
__ZN4core9panicking5panic17h7842870c7e688275E(2856);
// unreachable;
}
$12 = ($2|0)==(0);
if ($12) {
$ptr$0$i$i$i = (1);
} else {
$13 = (___rust_allocate($2,1)|0);
$14 = ($13|0)==(0|0);
if ($14) {
__ZN5alloc3oom3oom17h99350b3e00ce1b1cE();
// unreachable;
} else {
$ptr$0$i$i$i = $13;
}
}
$15 = $ptr$0$i$i$i;
HEAP32[$res>>2] = $15;
$_3$sroa$4$0$$sroa_idx3$i = ((($res)) + 4|0);
HEAP32[$_3$sroa$4$0$$sroa_idx3$i>>2] = $2;
$_3$sroa$5$0$$sroa_idx5$i = ((($res)) + 8|0);
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = 0;
$16 = ($10|0)==(0);
do {
if ($16) {
$subseqidx$0$ph = 0;
label = 15;
} else {
$17 = ($10>>>0)>($2>>>0);
if ($17) {
__THREW__ = 0;
invoke_vii(69,($10|0),($2|0));
$18 = __THREW__; __THREW__ = 0;
label = 124;
break;
}
__THREW__ = 0;
invoke_vii(126,($res|0),($10|0));
$19 = __THREW__; __THREW__ = 0;
$20 = $19&1;
if ($20) {
label = 124;
} else {
$21 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$22 = (($21) + ($10))|0;
$23 = HEAP32[$res>>2]|0;
$24 = (($23) + ($21)|0);
_memcpy(($24|0),($1|0),($10|0))|0;
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $22;
$subseqidx$0$ph = $10;
label = 15;
}
}
} while(0);
L18: do {
if ((label|0) == 15) {
$25 = ($subseqidx$0$ph>>>0)<($2>>>0);
L20: do {
if ($25) {
$i$0318 = $subseqidx$0$ph;$subseqidx$0317 = $subseqidx$0$ph;
L22: while(1) {
$27 = (($1) + ($i$0318)|0);
$28 = HEAP8[$27>>0]|0;
$29 = (($i$0318) + 1)|0;
$30 = ($28<<24>>24)>(-1);
L24: do {
if ($30) {
$i$0$be = $29;$subseqidx$0$be = $subseqidx$0317;
} else {
$32 = $28&255;
$33 = (10007 + ($32)|0);
$34 = HEAP8[$33>>0]|0;
switch ($34<<24>>24) {
case 2: {
$35 = ($29>>>0)<($2>>>0);
if ($35) {
$39 = (($1) + ($29)|0);
$40 = HEAP8[$39>>0]|0;
$41 = $40 & -64;
$42 = ($41<<24>>24)==(-128);
if ($42) {
$44 = (($i$0318) + 2)|0;
$i$0$be = $44;$subseqidx$0$be = $subseqidx$0317;
break L24;
}
}
$43 = ($i$0318|0)==($subseqidx$0317|0);
if (!($43)) {
$45 = ($i$0318>>>0)<($subseqidx$0317>>>0);
if ($45) {
label = 29;
break L22;
}
$47 = ($i$0318>>>0)>($2>>>0);
if ($47) {
label = 31;
break L22;
}
$49 = (($1) + ($subseqidx$0317)|0);
$50 = (($i$0318) - ($subseqidx$0317))|0;
__THREW__ = 0;
invoke_vii(126,($res|0),($50|0));
$51 = __THREW__; __THREW__ = 0;
$52 = $51&1;
if ($52) {
label = 123;
break L22;
}
$53 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$54 = ($50|0)==(0);
if ($54) {
$local_len$sroa$5$0$lcssa$i160 = $53;
} else {
$55 = (($53) + ($50))|0;
$56 = HEAP32[$res>>2]|0;
$57 = (($56) + ($53)|0);
_memcpy(($57|0),($49|0),($50|0))|0;
$local_len$sroa$5$0$lcssa$i160 = $55;
}
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $local_len$sroa$5$0$lcssa$i160;
}
__THREW__ = 0;
invoke_vii(126,($res|0),3);
$58 = __THREW__; __THREW__ = 0;
$59 = $58&1;
if ($59) {
label = 123;
break L22;
}
$60 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$61 = HEAP32[$res>>2]|0;
$62 = (($61) + ($60)|0);
;HEAP8[$62>>0]=HEAP8[8610>>0]|0;HEAP8[$62+1>>0]=HEAP8[8610+1>>0]|0;HEAP8[$62+2>>0]=HEAP8[8610+2>>0]|0;
$63 = (($60) + 3)|0;
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $63;
$i$0$be = $29;$subseqidx$0$be = $29;
break L24;
break;
}
case 3: {
$36 = ($29>>>0)<($2>>>0);
do {
if ($36) {
$64 = (($1) + ($29)|0);
$65 = HEAP8[$64>>0]|0;
$cond10 = ($28<<24>>24)==(-32);
$66 = ($65&255)<(192);
$67 = $65 & -32;
$68 = ($67<<24>>24)==(-96);
$69 = $cond10 & $68;
if (!($69)) {
$$off285 = (($28) + 31)<<24>>24;
$71 = ($$off285&255)<(12);
$72 = ($65<<24>>24)<(0);
$or$cond113 = $71 & $72;
$or$cond114 = $66 & $or$cond113;
if (!($or$cond114)) {
$cond11 = ($28<<24>>24)==(-19);
$or$cond115 = $cond11 & $72;
$73 = ($65&255)<(160);
$or$cond116 = $73 & $or$cond115;
if (!($or$cond116)) {
$74 = $28 & -2;
$75 = ($74<<24>>24)==(-18);
$or$cond118 = $75 & $72;
$or$cond119 = $66 & $or$cond118;
if (!($or$cond119)) {
break;
}
}
}
}
$76 = (($i$0318) + 2)|0;
$77 = ($76>>>0)<($2>>>0);
if ($77) {
$97 = (($1) + ($76)|0);
$98 = HEAP8[$97>>0]|0;
$99 = $98 & -64;
$100 = ($99<<24>>24)==(-128);
if ($100) {
$102 = (($i$0318) + 3)|0;
$i$0$be = $102;$subseqidx$0$be = $subseqidx$0317;
break L24;
}
}
$101 = ($i$0318|0)==($subseqidx$0317|0);
if (!($101)) {
$103 = ($i$0318>>>0)<($subseqidx$0317>>>0);
if ($103) {
label = 58;
break L22;
}
$105 = ($i$0318>>>0)>($2>>>0);
if ($105) {
label = 60;
break L22;
}
$107 = (($1) + ($subseqidx$0317)|0);
$108 = (($i$0318) - ($subseqidx$0317))|0;
__THREW__ = 0;
invoke_vii(126,($res|0),($108|0));
$109 = __THREW__; __THREW__ = 0;
$110 = $109&1;
if ($110) {
label = 123;
break L22;
}
$111 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$112 = ($108|0)==(0);
if ($112) {
$local_len$sroa$5$0$lcssa$i202 = $111;
} else {
$113 = (($111) + ($108))|0;
$114 = HEAP32[$res>>2]|0;
$115 = (($114) + ($111)|0);
_memcpy(($115|0),($107|0),($108|0))|0;
$local_len$sroa$5$0$lcssa$i202 = $113;
}
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $local_len$sroa$5$0$lcssa$i202;
}
__THREW__ = 0;
invoke_vii(126,($res|0),3);
$116 = __THREW__; __THREW__ = 0;
$117 = $116&1;
if ($117) {
label = 123;
break L22;
}
$118 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$119 = HEAP32[$res>>2]|0;
$120 = (($119) + ($118)|0);
;HEAP8[$120>>0]=HEAP8[8610>>0]|0;HEAP8[$120+1>>0]=HEAP8[8610+1>>0]|0;HEAP8[$120+2>>0]=HEAP8[8610+2>>0]|0;
$121 = (($118) + 3)|0;
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $121;
$i$0$be = $76;$subseqidx$0$be = $76;
break L24;
}
} while(0);
$70 = ($i$0318|0)==($subseqidx$0317|0);
if (!($70)) {
$78 = ($i$0318>>>0)<($subseqidx$0317>>>0);
if ($78) {
label = 45;
break L22;
}
$80 = ($i$0318>>>0)>($2>>>0);
if ($80) {
label = 47;
break L22;
}
$82 = (($1) + ($subseqidx$0317)|0);
$83 = (($i$0318) - ($subseqidx$0317))|0;
__THREW__ = 0;
invoke_vii(126,($res|0),($83|0));
$84 = __THREW__; __THREW__ = 0;
$85 = $84&1;
if ($85) {
label = 123;
break L22;
}
$86 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$87 = ($83|0)==(0);
if ($87) {
$local_len$sroa$5$0$lcssa$i184 = $86;
} else {
$88 = (($86) + ($83))|0;
$89 = HEAP32[$res>>2]|0;
$90 = (($89) + ($86)|0);
_memcpy(($90|0),($82|0),($83|0))|0;
$local_len$sroa$5$0$lcssa$i184 = $88;
}
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $local_len$sroa$5$0$lcssa$i184;
}
__THREW__ = 0;
invoke_vii(126,($res|0),3);
$91 = __THREW__; __THREW__ = 0;
$92 = $91&1;
if ($92) {
label = 123;
break L22;
}
$93 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$94 = HEAP32[$res>>2]|0;
$95 = (($94) + ($93)|0);
;HEAP8[$95>>0]=HEAP8[8610>>0]|0;HEAP8[$95+1>>0]=HEAP8[8610+1>>0]|0;HEAP8[$95+2>>0]=HEAP8[8610+2>>0]|0;
$96 = (($93) + 3)|0;
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $96;
$i$0$be = $29;$subseqidx$0$be = $29;
break L24;
break;
}
case 4: {
$37 = ($29>>>0)<($2>>>0);
do {
if ($37) {
$122 = (($1) + ($29)|0);
$123 = HEAP8[$122>>0]|0;
$cond = ($28<<24>>24)==(-16);
$$off = (($123) + 112)<<24>>24;
$124 = ($$off&255)<(48);
$125 = $cond & $124;
if (!($125)) {
$127 = ($123&255)<(192);
$$off283 = (($28) + 15)<<24>>24;
$128 = ($$off283&255)<(3);
$129 = ($123<<24>>24)<(0);
$or$cond123 = $128 & $129;
$or$cond124 = $127 & $or$cond123;
if (!($or$cond124)) {
$cond9 = ($28<<24>>24)==(-12);
$or$cond125 = $cond9 & $129;
$130 = ($123&255)<(144);
$or$cond126 = $130 & $or$cond125;
if (!($or$cond126)) {
break;
}
}
}
$131 = (($i$0318) + 2)|0;
$132 = ($131>>>0)<($2>>>0);
if ($132) {
$152 = (($1) + ($131)|0);
$153 = HEAP8[$152>>0]|0;
$154 = $153 & -64;
$155 = ($154<<24>>24)==(-128);
if ($155) {
$157 = (($i$0318) + 3)|0;
$158 = ($157>>>0)<($2>>>0);
if ($158) {
$178 = (($1) + ($157)|0);
$179 = HEAP8[$178>>0]|0;
$180 = $179 & -64;
$181 = ($180<<24>>24)==(-128);
if ($181) {
$183 = (($i$0318) + 4)|0;
$i$0$be = $183;$subseqidx$0$be = $subseqidx$0317;
break L24;
}
}
$182 = ($i$0318|0)==($subseqidx$0317|0);
if (!($182)) {
$184 = ($i$0318>>>0)<($subseqidx$0317>>>0);
if ($184) {
label = 99;
break L22;
}
$186 = ($i$0318>>>0)>($2>>>0);
if ($186) {
label = 101;
break L22;
}
$188 = (($1) + ($subseqidx$0317)|0);
$189 = (($i$0318) - ($subseqidx$0317))|0;
__THREW__ = 0;
invoke_vii(126,($res|0),($189|0));
$190 = __THREW__; __THREW__ = 0;
$191 = $190&1;
if ($191) {
label = 123;
break L22;
}
$192 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$193 = ($189|0)==(0);
if ($193) {
$local_len$sroa$5$0$lcssa$i214 = $192;
} else {
$194 = (($192) + ($189))|0;
$195 = HEAP32[$res>>2]|0;
$196 = (($195) + ($192)|0);
_memcpy(($196|0),($188|0),($189|0))|0;
$local_len$sroa$5$0$lcssa$i214 = $194;
}
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $local_len$sroa$5$0$lcssa$i214;
}
__THREW__ = 0;
invoke_vii(126,($res|0),3);
$197 = __THREW__; __THREW__ = 0;
$198 = $197&1;
if ($198) {
label = 123;
break L22;
}
$199 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$200 = HEAP32[$res>>2]|0;
$201 = (($200) + ($199)|0);
;HEAP8[$201>>0]=HEAP8[8610>>0]|0;HEAP8[$201+1>>0]=HEAP8[8610+1>>0]|0;HEAP8[$201+2>>0]=HEAP8[8610+2>>0]|0;
$202 = (($199) + 3)|0;
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $202;
$i$0$be = $157;$subseqidx$0$be = $157;
break L24;
}
}
$156 = ($i$0318|0)==($subseqidx$0317|0);
if (!($156)) {
$159 = ($i$0318>>>0)<($subseqidx$0317>>>0);
if ($159) {
label = 86;
break L22;
}
$161 = ($i$0318>>>0)>($2>>>0);
if ($161) {
label = 88;
break L22;
}
$163 = (($1) + ($subseqidx$0317)|0);
$164 = (($i$0318) - ($subseqidx$0317))|0;
__THREW__ = 0;
invoke_vii(126,($res|0),($164|0));
$165 = __THREW__; __THREW__ = 0;
$166 = $165&1;
if ($166) {
label = 123;
break L22;
}
$167 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$168 = ($164|0)==(0);
if ($168) {
$local_len$sroa$5$0$lcssa$i252 = $167;
} else {
$169 = (($167) + ($164))|0;
$170 = HEAP32[$res>>2]|0;
$171 = (($170) + ($167)|0);
_memcpy(($171|0),($163|0),($164|0))|0;
$local_len$sroa$5$0$lcssa$i252 = $169;
}
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $local_len$sroa$5$0$lcssa$i252;
}
__THREW__ = 0;
invoke_vii(126,($res|0),3);
$172 = __THREW__; __THREW__ = 0;
$173 = $172&1;
if ($173) {
label = 123;
break L22;
}
$174 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$175 = HEAP32[$res>>2]|0;
$176 = (($175) + ($174)|0);
;HEAP8[$176>>0]=HEAP8[8610>>0]|0;HEAP8[$176+1>>0]=HEAP8[8610+1>>0]|0;HEAP8[$176+2>>0]=HEAP8[8610+2>>0]|0;
$177 = (($174) + 3)|0;
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $177;
$i$0$be = $131;$subseqidx$0$be = $131;
break L24;
}
} while(0);
$126 = ($i$0318|0)==($subseqidx$0317|0);
if (!($126)) {
$133 = ($i$0318>>>0)<($subseqidx$0317>>>0);
if ($133) {
label = 73;
break L22;
}
$135 = ($i$0318>>>0)>($2>>>0);
if ($135) {
label = 75;
break L22;
}
$137 = (($1) + ($subseqidx$0317)|0);
$138 = (($i$0318) - ($subseqidx$0317))|0;
__THREW__ = 0;
invoke_vii(126,($res|0),($138|0));
$139 = __THREW__; __THREW__ = 0;
$140 = $139&1;
if ($140) {
label = 123;
break L22;
}
$141 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$142 = ($138|0)==(0);
if ($142) {
$local_len$sroa$5$0$lcssa$i230 = $141;
} else {
$143 = (($141) + ($138))|0;
$144 = HEAP32[$res>>2]|0;
$145 = (($144) + ($141)|0);
_memcpy(($145|0),($137|0),($138|0))|0;
$local_len$sroa$5$0$lcssa$i230 = $143;
}
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $local_len$sroa$5$0$lcssa$i230;
}
__THREW__ = 0;
invoke_vii(126,($res|0),3);
$146 = __THREW__; __THREW__ = 0;
$147 = $146&1;
if ($147) {
label = 123;
break L22;
}
$148 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$149 = HEAP32[$res>>2]|0;
$150 = (($149) + ($148)|0);
;HEAP8[$150>>0]=HEAP8[8610>>0]|0;HEAP8[$150+1>>0]=HEAP8[8610+1>>0]|0;HEAP8[$150+2>>0]=HEAP8[8610+2>>0]|0;
$151 = (($148) + 3)|0;
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $151;
$i$0$be = $29;$subseqidx$0$be = $29;
break L24;
break;
}
default: {
$38 = ($i$0318|0)==($subseqidx$0317|0);
if (!($38)) {
$203 = ($i$0318>>>0)<($subseqidx$0317>>>0);
if ($203) {
label = 109;
break L22;
}
$205 = ($i$0318>>>0)>($2>>>0);
if ($205) {
label = 111;
break L22;
}
$207 = (($1) + ($subseqidx$0317)|0);
$208 = (($i$0318) - ($subseqidx$0317))|0;
__THREW__ = 0;
invoke_vii(126,($res|0),($208|0));
$209 = __THREW__; __THREW__ = 0;
$210 = $209&1;
if ($210) {
label = 123;
break L22;
}
$211 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$212 = ($208|0)==(0);
if ($212) {
$local_len$sroa$5$0$lcssa$i150 = $211;
} else {
$213 = (($211) + ($208))|0;
$214 = HEAP32[$res>>2]|0;
$215 = (($214) + ($211)|0);
_memcpy(($215|0),($207|0),($208|0))|0;
$local_len$sroa$5$0$lcssa$i150 = $213;
}
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $local_len$sroa$5$0$lcssa$i150;
}
__THREW__ = 0;
invoke_vii(126,($res|0),3);
$216 = __THREW__; __THREW__ = 0;
$217 = $216&1;
if ($217) {
label = 123;
break L22;
}
$218 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$219 = HEAP32[$res>>2]|0;
$220 = (($219) + ($218)|0);
;HEAP8[$220>>0]=HEAP8[8610>>0]|0;HEAP8[$220+1>>0]=HEAP8[8610+1>>0]|0;HEAP8[$220+2>>0]=HEAP8[8610+2>>0]|0;
$221 = (($218) + 3)|0;
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $221;
$i$0$be = $29;$subseqidx$0$be = $29;
break L24;
}
}
}
} while(0);
$31 = ($i$0$be>>>0)<($2>>>0);
if ($31) {
$i$0318 = $i$0$be;$subseqidx$0317 = $subseqidx$0$be;
} else {
$subseqidx$0$lcssa = $subseqidx$0$be;
break L20;
}
}
switch (label|0) {
case 29: {
__THREW__ = 0;
invoke_vii(110,($subseqidx$0317|0),($i$0318|0));
$46 = __THREW__; __THREW__ = 0;
label = 124;
break L18;
break;
}
case 31: {
__THREW__ = 0;
invoke_vii(69,($i$0318|0),($2|0));
$48 = __THREW__; __THREW__ = 0;
label = 124;
break L18;
break;
}
case 45: {
__THREW__ = 0;
invoke_vii(110,($subseqidx$0317|0),($i$0318|0));
$79 = __THREW__; __THREW__ = 0;
label = 124;
break L18;
break;
}
case 47: {
__THREW__ = 0;
invoke_vii(69,($i$0318|0),($2|0));
$81 = __THREW__; __THREW__ = 0;
label = 124;
break L18;
break;
}
case 58: {
__THREW__ = 0;
invoke_vii(110,($subseqidx$0317|0),($i$0318|0));
$104 = __THREW__; __THREW__ = 0;
label = 124;
break L18;
break;
}
case 60: {
__THREW__ = 0;
invoke_vii(69,($i$0318|0),($2|0));
$106 = __THREW__; __THREW__ = 0;
label = 124;
break L18;
break;
}
case 73: {
__THREW__ = 0;
invoke_vii(110,($subseqidx$0317|0),($i$0318|0));
$134 = __THREW__; __THREW__ = 0;
label = 124;
break L18;
break;
}
case 75: {
__THREW__ = 0;
invoke_vii(69,($i$0318|0),($2|0));
$136 = __THREW__; __THREW__ = 0;
label = 124;
break L18;
break;
}
case 86: {
__THREW__ = 0;
invoke_vii(110,($subseqidx$0317|0),($i$0318|0));
$160 = __THREW__; __THREW__ = 0;
label = 124;
break L18;
break;
}
case 88: {
__THREW__ = 0;
invoke_vii(69,($i$0318|0),($2|0));
$162 = __THREW__; __THREW__ = 0;
label = 124;
break L18;
break;
}
case 99: {
__THREW__ = 0;
invoke_vii(110,($subseqidx$0317|0),($i$0318|0));
$185 = __THREW__; __THREW__ = 0;
label = 124;
break L18;
break;
}
case 101: {
__THREW__ = 0;
invoke_vii(69,($i$0318|0),($2|0));
$187 = __THREW__; __THREW__ = 0;
label = 124;
break L18;
break;
}
case 109: {
__THREW__ = 0;
invoke_vii(110,($subseqidx$0317|0),($i$0318|0));
$204 = __THREW__; __THREW__ = 0;
label = 124;
break L18;
break;
}
case 111: {
__THREW__ = 0;
invoke_vii(69,($i$0318|0),($2|0));
$206 = __THREW__; __THREW__ = 0;
label = 124;
break L18;
break;
}
case 123: {
$231 = ___cxa_find_matching_catch_2()|0;
$232 = tempRet0;
$lpad$phi$index = $231;$lpad$phi$index2 = $232;
break L18;
break;
}
}
} else {
$subseqidx$0$lcssa = $subseqidx$0$ph;
}
} while(0);
$26 = ($subseqidx$0$lcssa>>>0)<($2>>>0);
if ($26) {
$222 = (($1) + ($subseqidx$0$lcssa)|0);
$223 = (($2) - ($subseqidx$0$lcssa))|0;
__THREW__ = 0;
invoke_vii(126,($res|0),($223|0));
$224 = __THREW__; __THREW__ = 0;
$225 = $224&1;
if ($225) {
label = 124;
break;
}
$226 = HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2]|0;
$227 = ($223|0)==(0);
if ($227) {
$local_len$sroa$5$0$lcssa$i131 = $226;
} else {
$228 = (($226) + ($223))|0;
$229 = HEAP32[$res>>2]|0;
$230 = (($229) + ($226)|0);
_memcpy(($230|0),($222|0),($223|0))|0;
$local_len$sroa$5$0$lcssa$i131 = $228;
}
HEAP32[$_3$sroa$5$0$$sroa_idx5$i>>2] = $local_len$sroa$5$0$lcssa$i131;
}
HEAP32[$0>>2] = 1;
$_315$sroa$0$0$$sroa_idx19 = ((($0)) + 4|0);
;HEAP32[$_315$sroa$0$0$$sroa_idx19>>2]=HEAP32[$res>>2]|0;HEAP32[$_315$sroa$0$0$$sroa_idx19+4>>2]=HEAP32[$res+4>>2]|0;HEAP32[$_315$sroa$0$0$$sroa_idx19+8>>2]=HEAP32[$res+8>>2]|0;
STACKTOP = sp;return;
}
} while(0);
if ((label|0) == 124) {
$233 = ___cxa_find_matching_catch_2()|0;
$234 = tempRet0;
$lpad$phi$index = $233;$lpad$phi$index2 = $234;
}
$235 = HEAP32[$_3$sroa$4$0$$sroa_idx3$i>>2]|0;
$not$$i$i$i$i$i = ($235|0)==(0);
if ($not$$i$i$i$i$i) {
___resumeException($lpad$phi$index|0);
// unreachable;
}
$236 = HEAP32[$res>>2]|0;
___rust_deallocate($236,$235,1);
___resumeException($lpad$phi$index|0);
// unreachable;
}
function __ZN93__LT_collections__string__String_u20_as_u20_core__convert__From_LT__RF__u27_a_u20_str_GT__GT_4from17h47cb495aa7cb953dE($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var label = 0, sp = 0;
sp = STACKTOP;
__ZN11collections3str62__LT_impl_u20_collections__borrow__ToOwned_u20_for_u20_str_GT_8to_owned17ha0187c01fb57bc17E($0,$1,$2);
return;
}
function __ZN106__LT_collections__string__String_u20_as_u20_core__convert__Into_LT_collections__vec__Vec_LT_u8_GT__GT__GT_4into17hb33cfd4786ef40d5E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$1+8>>2]|0;
return;
}
function __ZN13rustc_unicode6tables23trie_lookup_range_table17haad0a440f4c07326E($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, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0>>>0)<(2048);
if ($2) {
$3 = $0 >>> 6;
$4 = (($1) + ($3<<3)|0);
$5 = $4;
$6 = $5;
$7 = HEAP32[$6>>2]|0;
$8 = (($5) + 4)|0;
$9 = $8;
$10 = HEAP32[$9>>2]|0;
$11 = $0 & 63;
$12 = (_bitshift64Shl(1,0,($11|0))|0);
$13 = tempRet0;
$14 = $7 & $12;
$15 = $10 & $13;
$76 = $14;$78 = $15;
$75 = ($76|0)!=(0);
$77 = ($78|0)!=(0);
$79 = $75 | $77;
return ($79|0);
}
$16 = ($0>>>0)<(65536);
if ($16) {
$17 = $0 >>> 6;
$18 = (($17) + -32)|0;
$19 = ($18>>>0)<(992);
if (!($19)) {
__ZN4core9panicking18panic_bounds_check17h09c081b9b8d6b9c2E(2800,$18,992);
// unreachable;
}
$20 = (((($1)) + 256|0) + ($18)|0);
$21 = HEAP8[$20>>0]|0;
$22 = $21&255;
$23 = ((($1)) + 1252|0);
$24 = HEAP32[$23>>2]|0;
$25 = ($22>>>0)<($24>>>0);
if (!($25)) {
__ZN4core9panicking18panic_bounds_check17h09c081b9b8d6b9c2E(2824,$22,$24);
// unreachable;
}
$47 = ((($1)) + 1248|0);
$48 = HEAP32[$47>>2]|0;
$49 = (($48) + ($22<<3)|0);
$50 = $49;
$51 = $50;
$52 = HEAP32[$51>>2]|0;
$53 = (($50) + 4)|0;
$54 = $53;
$55 = HEAP32[$54>>2]|0;
$56 = $0 & 63;
$57 = (_bitshift64Shl(1,0,($56|0))|0);
$58 = tempRet0;
$59 = $52 & $57;
$60 = $55 & $58;
$76 = $59;$78 = $60;
$75 = ($76|0)!=(0);
$77 = ($78|0)!=(0);
$79 = $75 | $77;
return ($79|0);
}
$26 = $0 >>> 12;
$27 = (($26) + -16)|0;
$28 = ($27>>>0)<(256);
if (!($28)) {
__ZN4core9panicking18panic_bounds_check17h09c081b9b8d6b9c2E(2800,$27,256);
// unreachable;
}
$29 = (((($1)) + 1256|0) + ($27)|0);
$30 = HEAP8[$29>>0]|0;
$31 = ((($1)) + 1516|0);
$32 = HEAP32[$31>>2]|0;
$33 = $30&255;
$34 = $33 << 6;
$35 = $0 >>> 6;
$36 = $35 & 63;
$37 = $34 | $36;
$38 = ($37>>>0)<($32>>>0);
if (!($38)) {
__ZN4core9panicking18panic_bounds_check17h09c081b9b8d6b9c2E(2800,$37,$32);
// unreachable;
}
$39 = ((($1)) + 1512|0);
$40 = HEAP32[$39>>2]|0;
$41 = (($40) + ($37)|0);
$42 = HEAP8[$41>>0]|0;
$43 = $42&255;
$44 = ((($1)) + 1524|0);
$45 = HEAP32[$44>>2]|0;
$46 = ($43>>>0)<($45>>>0);
if (!($46)) {
__ZN4core9panicking18panic_bounds_check17h09c081b9b8d6b9c2E(2812,$43,$45);
// unreachable;
}
$61 = ((($1)) + 1520|0);
$62 = HEAP32[$61>>2]|0;
$63 = (($62) + ($43<<3)|0);
$64 = $63;
$65 = $64;
$66 = HEAP32[$65>>2]|0;
$67 = (($64) + 4)|0;
$68 = $67;
$69 = HEAP32[$68>>2]|0;
$70 = $0 & 63;
$71 = (_bitshift64Shl(1,0,($70|0))|0);
$72 = tempRet0;
$73 = $66 & $71;
$74 = $69 & $72;
$76 = $73;$78 = $74;
$75 = ($76|0)!=(0);
$77 = ($78|0)!=(0);
$79 = $75 | $77;
return ($79|0);
}
function __ZN13rustc_unicode6tables16general_category1N17hf00b2606dd8d0f6aE($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__ZN13rustc_unicode6tables23trie_lookup_range_table17haad0a440f4c07326E($0,360)|0);
return ($1|0);
}
function __ZN5alloc3oom3oom17h99350b3e00ce1b1cE() {
var $0 = 0, $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[719]|0;
$1 = $0;
FUNCTION_TABLE_v[$1 & 127]();
// unreachable;
}
function __ZN5alloc3oom19default_oom_handler17h3312ab603cc1c156E() {
var label = 0, sp = 0;
sp = STACKTOP;
_llvm_trap();
// unreachable;
}
function __ZN5alloc3oom15set_oom_handler17hdf38efba684520b4E($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = $0;
HEAP32[719] = $1;
return;
}
function ___rust_allocate($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$$i$i = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $_0$0$i = 0, $out$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$out$i$i = sp;
$2 = ($1>>>0)<(9);
if ($2) {
$3 = (_malloc($0)|0);
$_0$0$i = $3;
STACKTOP = sp;return ($_0$0$i|0);
} else {
HEAP32[$out$i$i>>2] = 0;
$4 = (_posix_memalign($out$i$i,$1,$0)|0);
$5 = ($4|0)==(0);
$6 = HEAP32[$out$i$i>>2]|0;
$$$i$i = $5 ? $6 : 0;
$_0$0$i = $$$i$i;
STACKTOP = sp;return ($_0$0$i|0);
}
return (0)|0;
}
function ___rust_deallocate($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var label = 0, sp = 0;
sp = STACKTOP;
_free($0);
return;
}
function ___rust_reallocate($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$0$i = 0, $_0$0$sroa$speculated$i$i = 0, $not$$i = 0, $out$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$out$i$i$i = sp;
$4 = ($3>>>0)<(9);
if ($4) {
$5 = (_realloc($0,$2)|0);
$_0$0$i = $5;
STACKTOP = sp;return ($_0$0$i|0);
}
HEAP32[$out$i$i$i>>2] = 0;
$6 = (_posix_memalign($out$i$i$i,$3,$2)|0);
$7 = HEAP32[$out$i$i$i>>2]|0;
$8 = ($7|0)==(0|0);
$not$$i = ($6|0)!=(0);
$9 = $not$$i | $8;
if ($9) {
$_0$0$i = 0;
STACKTOP = sp;return ($_0$0$i|0);
}
$10 = ($2>>>0)<=($1>>>0);
$_0$0$sroa$speculated$i$i = $10 ? $2 : $1;
_memmove(($7|0),($0|0),($_0$0$sroa$speculated$i$i|0))|0;
_free($0);
$_0$0$i = $7;
STACKTOP = sp;return ($_0$0$i|0);
}
function __ZN4core5slice20slice_index_len_fail17hb40dd6e1275ffb59E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_12 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_7 = 0, $index = 0, $len = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$index = sp + 44|0;
$len = sp + 40|0;
$_7 = sp + 16|0;
$_12 = sp;
HEAP32[$index>>2] = $0;
HEAP32[$len>>2] = $1;
$2 = $index;
$3 = $len;
HEAP32[$_12>>2] = $2;
$4 = ((($_12)) + 4|0);
HEAP32[$4>>2] = (127);
$5 = ((($_12)) + 8|0);
HEAP32[$5>>2] = $3;
$6 = ((($_12)) + 12|0);
HEAP32[$6>>2] = (127);
HEAP32[$_7>>2] = 3044;
$7 = ((($_7)) + 4|0);
HEAP32[$7>>2] = 2;
$_6$sroa$0$0$$sroa_idx$i = ((($_7)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$8 = ((($_7)) + 16|0);
HEAP32[$8>>2] = $_12;
$9 = ((($_7)) + 20|0);
HEAP32[$9>>2] = 2;
__ZN4core9panicking9panic_fmt17hd37574de04720b9cE($_7,2992);
// unreachable;
}
function __ZN4core9panicking18panic_bounds_check17h09c081b9b8d6b9c2E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_13 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_8 = 0, $index = 0, $len = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$index = sp + 44|0;
$len = sp + 40|0;
$_8 = sp + 16|0;
$_13 = sp;
HEAP32[$index>>2] = $1;
HEAP32[$len>>2] = $2;
$3 = $len;
$4 = $index;
HEAP32[$_13>>2] = $3;
$5 = ((($_13)) + 4|0);
HEAP32[$5>>2] = (127);
$6 = ((($_13)) + 8|0);
HEAP32[$6>>2] = $4;
$7 = ((($_13)) + 12|0);
HEAP32[$7>>2] = (127);
HEAP32[$_8>>2] = 3028;
$8 = ((($_8)) + 4|0);
HEAP32[$8>>2] = 2;
$_6$sroa$0$0$$sroa_idx$i = ((($_8)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$9 = ((($_8)) + 16|0);
HEAP32[$9>>2] = $_13;
$10 = ((($_8)) + 20|0);
HEAP32[$10>>2] = 2;
__ZN4core9panicking9panic_fmt17hd37574de04720b9cE($_8,$0);
// unreachable;
}
function __ZN4core3fmt3num54__LT_impl_u20_core__fmt__Display_u20_for_u20_usize_GT_3fmt17he5b488f276906c38E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$old5 = 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, $buf31 = 0, $curr$0 = 0;
var $curr$1 = 0, $curr$2 = 0, $curr$3 = 0, $n$1 = 0, $n$2 = 0, $n1$0 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$buf31 = sp;
$2 = HEAP32[$0>>2]|0;
$3 = ($2>>>0)>(9999);
if ($3) {
$curr$0 = 20;$n$1 = $2;
while(1) {
$4 = (($n$1>>>0) % 10000)&-1;
$5 = (($n$1>>>0) / 10000)&-1;
$6 = (($4>>>0) / 100)&-1;
$7 = $6 << 1;
$8 = (($4>>>0) % 100)&-1;
$9 = $8 << 1;
$10 = (($curr$0) + -4)|0;
$11 = (10414 + ($7)|0);
$12 = (($buf31) + ($10)|0);
$13 = HEAPU8[$11>>0]|(HEAPU8[$11+1>>0]<<8);
HEAP8[$12>>0]=$13&255;HEAP8[$12+1>>0]=$13>>8;
$14 = (10414 + ($9)|0);
$15 = (($curr$0) + -2)|0;
$16 = (($buf31) + ($15)|0);
$17 = HEAPU8[$14>>0]|(HEAPU8[$14+1>>0]<<8);
HEAP8[$16>>0]=$17&255;HEAP8[$16+1>>0]=$17>>8;
$$old5 = ($n$1>>>0)>(99999999);
if ($$old5) {
$curr$0 = $10;$n$1 = $5;
} else {
$curr$1 = $10;$n$2 = $5;
break;
}
}
} else {
$curr$1 = 20;$n$2 = $2;
}
$18 = ($n$2|0)>(99);
if ($18) {
$19 = (($n$2>>>0) % 100)&-1;
$20 = $19 << 1;
$21 = (($n$2>>>0) / 100)&-1;
$22 = (($curr$1) + -2)|0;
$23 = (10414 + ($20)|0);
$24 = (($buf31) + ($22)|0);
$25 = HEAPU8[$23>>0]|(HEAPU8[$23+1>>0]<<8);
HEAP8[$24>>0]=$25&255;HEAP8[$24+1>>0]=$25>>8;
$curr$2 = $22;$n1$0 = $21;
} else {
$curr$2 = $curr$1;$n1$0 = $n$2;
}
$26 = ($n1$0|0)<(10);
if ($26) {
$27 = (($curr$2) + -1)|0;
$28 = $n1$0&255;
$29 = (($buf31) + ($27)|0);
$30 = (($28) + 48)<<24>>24;
HEAP8[$29>>0] = $30;
$curr$3 = $27;
$36 = (($buf31) + ($curr$3)|0);
$37 = (20 - ($curr$3))|0;
$38 = (__ZN4core3fmt9Formatter12pad_integral17hbde224f8c8c7171fE($1,1,13864,0,$36,$37)|0);
STACKTOP = sp;return ($38|0);
} else {
$31 = $n1$0 << 1;
$32 = (($curr$2) + -2)|0;
$33 = (10414 + ($31)|0);
$34 = (($buf31) + ($32)|0);
$35 = HEAPU8[$33>>0]|(HEAPU8[$33+1>>0]<<8);
HEAP8[$34>>0]=$35&255;HEAP8[$34+1>>0]=$35>>8;
$curr$3 = $32;
$36 = (($buf31) + ($curr$3)|0);
$37 = (20 - ($curr$3))|0;
$38 = (__ZN4core3fmt9Formatter12pad_integral17hbde224f8c8c7171fE($1,1,13864,0,$36,$37)|0);
STACKTOP = sp;return ($38|0);
}
return (0)|0;
}
function __ZN4core9panicking9panic_fmt17hd37574de04720b9cE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $_8 = 0, $_8$byval_copy = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$_8$byval_copy = sp + 24|0;
$_8 = sp;
$2 = HEAP32[$1>>2]|0;
$3 = ((($1)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($1)) + 8|0);
$6 = HEAP32[$5>>2]|0;
;HEAP32[$_8>>2]=HEAP32[$0>>2]|0;HEAP32[$_8+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$_8+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$_8+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$_8+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$_8+20>>2]=HEAP32[$0+20>>2]|0;
;HEAP32[$_8$byval_copy>>2]=HEAP32[$_8>>2]|0;HEAP32[$_8$byval_copy+4>>2]=HEAP32[$_8+4>>2]|0;HEAP32[$_8$byval_copy+8>>2]=HEAP32[$_8+8>>2]|0;HEAP32[$_8$byval_copy+12>>2]=HEAP32[$_8+12>>2]|0;HEAP32[$_8$byval_copy+16>>2]=HEAP32[$_8+16>>2]|0;HEAP32[$_8$byval_copy+20>>2]=HEAP32[$_8+20>>2]|0;
_rust_begin_unwind($_8$byval_copy,$2,$4,$6);
// unreachable;
}
function __ZN4core3fmt9Formatter12pad_integral17hbde224f8c8c7171fE($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 $$201 = 0, $$pre = 0, $$pre$phi213Z2D = 0, $$pre$phi217Z2D = 0, $$pre210 = 0, $$pre212 = 0, $$pre214 = 0, $$pre216 = 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;
var $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, $128 = 0;
var $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, $146 = 0;
var $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, $164 = 0;
var $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, $182 = 0;
var $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, $20 = 0, $200 = 0;
var $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, $218 = 0, $219 = 0;
var $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, $236 = 0, $237 = 0;
var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $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, $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, $_0$sroa$0$1 = 0, $_15$sroa$0$0$i = 0, $_15$sroa$0$0$i98 = 0, $_15$sroa$6$0$i = 0, $_15$sroa$6$0$i99 = 0, $_16$i = 0, $_16$i$i$i = 0, $_16$i50 = 0, $_16$i71 = 0, $accum$0$lcssa$i$i = 0, $accum$016$i$i = 0, $align$0$off0$i = 0, $align$0$off0$i$clear = 0;
var $align$0$off0$i96 = 0, $align$0$off0$i96$clear = 0, $cond$i = 0, $cond$i94 = 0, $extract$t$i = 0, $extract$t$i95 = 0, $fill$i = 0, $fill$i92 = 0, $iter$sroa$0$0$i = 0, $iter$sroa$0$0$i102 = 0, $iter$sroa$0$1$i$i = 0, $iter$sroa$0$2$i$i = 0, $iter$sroa$0$3$i$i = 0, $iter$sroa$0$5$ph$i$i = 0, $iter2$sroa$0$0$i = 0, $iter2$sroa$0$0$i112 = 0, $len$2$i$i = 0, $len$2$i$i125 = 0, $not$switch4$i = 0, $not$switch4$i$i = 0;
var $not$switch4$i$i$i = 0, $not$switch4$i$i$i$i = 0, $not$switch4$i$i114 = 0, $not$switch4$i$i45 = 0, $not$switch4$i$i54 = 0, $not$switch4$i$i75 = 0, $not$switch4$i2$i = 0, $not$switch4$i2$i104 = 0, $not$switch4$i61 = 0, $not$switch4$i8$i = 0, $not$switch4$i8$i107 = 0, $not$switch4$i82 = 0, $prefixed$0 = 0, $sign$sroa$0$0 = 0, $sign$sroa$10$0 = 0, $switch = 0, $switch4$i = 0, $switch4$i$i$i = 0, $switch4$i51 = 0, $switch4$i72 = 0;
var $width$0 = 0, $width$1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$_16$i$i$i = sp + 20|0;
$fill$i92 = sp + 16|0;
$_16$i71 = sp + 12|0;
$_16$i50 = sp + 8|0;
$_16$i = sp + 4|0;
$fill$i = sp;
if ($1) {
$7 = HEAP32[$0>>2]|0;
$8 = $7 & 1;
$$201 = (($8) + ($5))|0;
$10 = $7;$sign$sroa$0$0 = $8;$sign$sroa$10$0 = 43;$width$0 = $$201;
} else {
$6 = (($5) + 1)|0;
$$pre = HEAP32[$0>>2]|0;
$10 = $$pre;$sign$sroa$0$0 = 1;$sign$sroa$10$0 = 45;$width$0 = $6;
}
$9 = $10 & 4;
$11 = ($9|0)==(0);
if ($11) {
$prefixed$0 = 0;$width$1 = $width$0;
} else {
$12 = (($2) + ($3)|0);
$13 = ($3|0)==(0);
if ($13) {
$accum$0$lcssa$i$i = 0;
} else {
$15 = $2;$accum$016$i$i = 0;
while(1) {
$14 = ((($15)) + 1|0);
$16 = $14;
$17 = HEAP8[$15>>0]|0;
$18 = ($17<<24>>24)>(-1);
if ($18) {
$iter$sroa$0$5$ph$i$i = $16;
} else {
$19 = ($14|0)==($12|0);
$20 = ((($15)) + 2|0);
$21 = $20;
$iter$sroa$0$1$i$i = $19 ? $16 : $21;
$22 = $19 ? $12 : $20;
$23 = ($17&255)>(223);
if ($23) {
$24 = ($22|0)==($12|0);
$25 = ((($22)) + 1|0);
$26 = $25;
$iter$sroa$0$2$i$i = $24 ? $iter$sroa$0$1$i$i : $26;
$27 = $24 ? $12 : $25;
$28 = ($17&255)>(239);
if ($28) {
$29 = ($27|0)==($12|0);
$30 = ((($27)) + 1|0);
$31 = $30;
$iter$sroa$0$3$i$i = $29 ? $iter$sroa$0$2$i$i : $31;
$iter$sroa$0$5$ph$i$i = $iter$sroa$0$3$i$i;
} else {
$iter$sroa$0$5$ph$i$i = $iter$sroa$0$2$i$i;
}
} else {
$iter$sroa$0$5$ph$i$i = $iter$sroa$0$1$i$i;
}
}
$32 = (($accum$016$i$i) + 1)|0;
$33 = $iter$sroa$0$5$ph$i$i;
$34 = ($33|0)==($12|0);
if ($34) {
$accum$0$lcssa$i$i = $32;
break;
} else {
$15 = $33;$accum$016$i$i = $32;
}
}
}
$35 = (($accum$0$lcssa$i$i) + ($width$0))|0;
$prefixed$0 = 1;$width$1 = $35;
}
$36 = ((($0)) + 12|0);
$37 = HEAP32[$36>>2]|0;
$switch = ($37|0)==(1);
if (!($switch)) {
$switch4$i = ($sign$sroa$0$0|0)==(1);
if ($switch4$i) {
$38 = ((($0)) + 28|0);
$39 = HEAP32[$38>>2]|0;
$40 = ((($0)) + 32|0);
$41 = HEAP32[$40>>2]|0;
HEAP32[$_16$i>>2] = 0;
HEAP8[$_16$i>>0] = $sign$sroa$10$0;
$42 = ((($41)) + 12|0);
$43 = HEAP32[$42>>2]|0;
$44 = (FUNCTION_TABLE_iiii[$43 & 255]($39,$_16$i,1)|0);
$not$switch4$i$i45 = ($44<<24>>24)==(0);
if (!($not$switch4$i$i45)) {
$_0$sroa$0$1 = 1;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
}
$45 = ($prefixed$0<<24>>24)==(0);
$$pre214 = ((($0)) + 28|0);
if ($45) {
$$pre216 = ((($0)) + 32|0);
$$pre$phi217Z2D = $$pre216;
} else {
$46 = HEAP32[$$pre214>>2]|0;
$47 = ((($0)) + 32|0);
$48 = HEAP32[$47>>2]|0;
$49 = ((($48)) + 12|0);
$50 = HEAP32[$49>>2]|0;
$51 = (FUNCTION_TABLE_iiii[$50 & 255]($46,$2,$3)|0);
$not$switch4$i = ($51<<24>>24)==(0);
if ($not$switch4$i) {
$$pre$phi217Z2D = $47;
} else {
$_0$sroa$0$1 = 1;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
}
$168 = HEAP32[$$pre214>>2]|0;
$169 = HEAP32[$$pre$phi217Z2D>>2]|0;
$170 = ((($169)) + 12|0);
$171 = HEAP32[$170>>2]|0;
$172 = (FUNCTION_TABLE_iiii[$171 & 255]($168,$4,$5)|0);
$_0$sroa$0$1 = $172;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
$82 = ((($0)) + 16|0);
$83 = HEAP32[$82>>2]|0;
$84 = ($83>>>0)>($width$1>>>0);
if (!($84)) {
$switch4$i51 = ($sign$sroa$0$0|0)==(1);
if ($switch4$i51) {
$52 = ((($0)) + 28|0);
$53 = HEAP32[$52>>2]|0;
$54 = ((($0)) + 32|0);
$55 = HEAP32[$54>>2]|0;
HEAP32[$_16$i50>>2] = 0;
HEAP8[$_16$i50>>0] = $sign$sroa$10$0;
$56 = ((($55)) + 12|0);
$57 = HEAP32[$56>>2]|0;
$58 = (FUNCTION_TABLE_iiii[$57 & 255]($53,$_16$i50,1)|0);
$not$switch4$i$i54 = ($58<<24>>24)==(0);
if (!($not$switch4$i$i54)) {
$_0$sroa$0$1 = 1;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
}
$59 = ($prefixed$0<<24>>24)==(0);
$$pre210 = ((($0)) + 28|0);
if ($59) {
$$pre212 = ((($0)) + 32|0);
$$pre$phi213Z2D = $$pre212;
} else {
$60 = HEAP32[$$pre210>>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 & 255]($60,$2,$3)|0);
$not$switch4$i61 = ($65<<24>>24)==(0);
if ($not$switch4$i61) {
$$pre$phi213Z2D = $61;
} else {
$_0$sroa$0$1 = 1;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
}
$173 = HEAP32[$$pre210>>2]|0;
$174 = HEAP32[$$pre$phi213Z2D>>2]|0;
$175 = ((($174)) + 12|0);
$176 = HEAP32[$175>>2]|0;
$177 = (FUNCTION_TABLE_iiii[$176 & 255]($173,$4,$5)|0);
$_0$sroa$0$1 = $177;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
$85 = $10 & 8;
$86 = ($85|0)==(0);
if ($86) {
$87 = (($83) - ($width$1))|0;
$88 = ((($0)) + 8|0);
$extract$t$i95 = HEAP8[$88>>0]|0;
$cond$i94 = ($extract$t$i95<<24>>24)==(3);
$align$0$off0$i96 = $cond$i94 ? 1 : $extract$t$i95;
$align$0$off0$i96$clear = $align$0$off0$i96 & 3;
switch ($align$0$off0$i96$clear<<24>>24) {
case 0: {
$_15$sroa$0$0$i98 = 0;$_15$sroa$6$0$i99 = $87;
break;
}
case 3: case 1: {
$_15$sroa$0$0$i98 = $87;$_15$sroa$6$0$i99 = 0;
break;
}
case 2: {
$92 = $87 >>> 1;
$93 = (($87) + 1)|0;
$94 = $93 >>> 1;
$_15$sroa$0$0$i98 = $92;$_15$sroa$6$0$i99 = $94;
break;
}
default: {
// unreachable;
}
}
HEAP32[$fill$i92>>2] = 0;
$89 = ((($0)) + 4|0);
$90 = HEAP32[$89>>2]|0;
$91 = ($90>>>0)<(128);
do {
if ($91) {
$127 = $90&255;
HEAP8[$fill$i92>>0] = $127;
$len$2$i$i125 = 1;
} else {
$128 = ($90>>>0)<(2048);
if ($128) {
$129 = $90 >>> 6;
$130 = $129 & 31;
$131 = $130&255;
$132 = $131 | -64;
HEAP8[$fill$i92>>0] = $132;
$133 = $90 & 63;
$134 = $133&255;
$135 = ((($fill$i92)) + 1|0);
$136 = $134 | -128;
HEAP8[$135>>0] = $136;
$len$2$i$i125 = 2;
break;
}
$137 = ($90>>>0)<(65536);
if ($137) {
$138 = $90 >>> 12;
$139 = $138 & 15;
$140 = $139&255;
$141 = $140 | -32;
HEAP8[$fill$i92>>0] = $141;
$142 = $90 >>> 6;
$143 = $142 & 63;
$144 = $143&255;
$145 = ((($fill$i92)) + 1|0);
$146 = $144 | -128;
HEAP8[$145>>0] = $146;
$147 = $90 & 63;
$148 = $147&255;
$149 = ((($fill$i92)) + 2|0);
$150 = $148 | -128;
HEAP8[$149>>0] = $150;
$len$2$i$i125 = 3;
break;
} else {
$151 = $90 >>> 18;
$152 = $151&255;
$153 = $152 | -16;
HEAP8[$fill$i92>>0] = $153;
$154 = $90 >>> 12;
$155 = $154 & 63;
$156 = $155&255;
$157 = ((($fill$i92)) + 1|0);
$158 = $156 | -128;
HEAP8[$157>>0] = $158;
$159 = $90 >>> 6;
$160 = $159 & 63;
$161 = $160&255;
$162 = ((($fill$i92)) + 2|0);
$163 = $161 | -128;
HEAP8[$162>>0] = $163;
$164 = $90 & 63;
$165 = $164&255;
$166 = ((($fill$i92)) + 3|0);
$167 = $165 | -128;
HEAP8[$166>>0] = $167;
$len$2$i$i125 = 4;
break;
}
}
} while(0);
$98 = ((($0)) + 28|0);
$100 = ((($0)) + 32|0);
$iter$sroa$0$0$i102 = 0;
while(1) {
$95 = ($iter$sroa$0$0$i102>>>0)<($_15$sroa$0$0$i98>>>0);
if (!($95)) {
break;
}
$96 = (($iter$sroa$0$0$i102) + 1)|0;
$97 = HEAP32[$98>>2]|0;
$99 = HEAP32[$100>>2]|0;
$101 = ((($99)) + 12|0);
$102 = HEAP32[$101>>2]|0;
$103 = (FUNCTION_TABLE_iiii[$102 & 255]($97,$fill$i92,$len$2$i$i125)|0);
$not$switch4$i2$i104 = ($103<<24>>24)==(0);
if ($not$switch4$i2$i104) {
$iter$sroa$0$0$i102 = $96;
} else {
label = 40;
break;
}
}
if ((label|0) == 40) {
$_0$sroa$0$1 = 1;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
$switch4$i$i$i = ($sign$sroa$0$0|0)==(1);
if ($switch4$i$i$i) {
$104 = HEAP32[$98>>2]|0;
$105 = HEAP32[$100>>2]|0;
HEAP32[$_16$i$i$i>>2] = 0;
HEAP8[$_16$i$i$i>>0] = $sign$sroa$10$0;
$106 = ((($105)) + 12|0);
$107 = HEAP32[$106>>2]|0;
$108 = (FUNCTION_TABLE_iiii[$107 & 255]($104,$_16$i$i$i,1)|0);
$not$switch4$i$i$i$i = ($108<<24>>24)==(0);
if ($not$switch4$i$i$i$i) {
label = 37;
}
} else {
label = 37;
}
do {
if ((label|0) == 37) {
$109 = ($prefixed$0<<24>>24)==(0);
if (!($109)) {
$110 = HEAP32[$98>>2]|0;
$111 = HEAP32[$100>>2]|0;
$112 = ((($111)) + 12|0);
$113 = HEAP32[$112>>2]|0;
$114 = (FUNCTION_TABLE_iiii[$113 & 255]($110,$2,$3)|0);
$not$switch4$i$i$i = ($114<<24>>24)==(0);
if (!($not$switch4$i$i$i)) {
break;
}
}
$115 = HEAP32[$98>>2]|0;
$116 = HEAP32[$100>>2]|0;
$117 = ((($116)) + 12|0);
$118 = HEAP32[$117>>2]|0;
$119 = (FUNCTION_TABLE_iiii[$118 & 255]($115,$4,$5)|0);
$not$switch4$i8$i107 = ($119<<24>>24)==(0);
if ($not$switch4$i8$i107) {
$iter2$sroa$0$0$i112 = 0;
while(1) {
$120 = ($iter2$sroa$0$0$i112>>>0)<($_15$sroa$6$0$i99>>>0);
if (!($120)) {
label = 44;
break;
}
$121 = (($iter2$sroa$0$0$i112) + 1)|0;
$122 = HEAP32[$98>>2]|0;
$123 = HEAP32[$100>>2]|0;
$124 = ((($123)) + 12|0);
$125 = HEAP32[$124>>2]|0;
$126 = (FUNCTION_TABLE_iiii[$125 & 255]($122,$fill$i92,$len$2$i$i125)|0);
$not$switch4$i$i114 = ($126<<24>>24)==(0);
if ($not$switch4$i$i114) {
$iter2$sroa$0$0$i112 = $121;
} else {
label = 45;
break;
}
}
if ((label|0) == 44) {
$_0$sroa$0$1 = 0;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
else if ((label|0) == 45) {
$_0$sroa$0$1 = 1;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
}
}
} while(0);
$_0$sroa$0$1 = 1;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
$66 = ((($0)) + 4|0);
HEAP32[$66>>2] = 48;
$switch4$i72 = ($sign$sroa$0$0|0)==(1);
if ($switch4$i72) {
$67 = ((($0)) + 28|0);
$68 = HEAP32[$67>>2]|0;
$69 = ((($0)) + 32|0);
$70 = HEAP32[$69>>2]|0;
HEAP32[$_16$i71>>2] = 0;
HEAP8[$_16$i71>>0] = $sign$sroa$10$0;
$71 = ((($70)) + 12|0);
$72 = HEAP32[$71>>2]|0;
$73 = (FUNCTION_TABLE_iiii[$72 & 255]($68,$_16$i71,1)|0);
$not$switch4$i$i75 = ($73<<24>>24)==(0);
if (!($not$switch4$i$i75)) {
$_0$sroa$0$1 = 1;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
}
$74 = ($prefixed$0<<24>>24)==(0);
if (!($74)) {
$75 = ((($0)) + 28|0);
$76 = HEAP32[$75>>2]|0;
$77 = ((($0)) + 32|0);
$78 = HEAP32[$77>>2]|0;
$79 = ((($78)) + 12|0);
$80 = HEAP32[$79>>2]|0;
$81 = (FUNCTION_TABLE_iiii[$80 & 255]($76,$2,$3)|0);
$not$switch4$i82 = ($81<<24>>24)==(0);
if (!($not$switch4$i82)) {
$_0$sroa$0$1 = 1;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
}
$178 = (($83) - ($width$1))|0;
$179 = ((($0)) + 8|0);
$extract$t$i = HEAP8[$179>>0]|0;
$cond$i = ($extract$t$i<<24>>24)==(3);
$align$0$off0$i = $cond$i ? 1 : $extract$t$i;
$align$0$off0$i$clear = $align$0$off0$i & 3;
switch ($align$0$off0$i$clear<<24>>24) {
case 0: {
$_15$sroa$0$0$i = 0;$_15$sroa$6$0$i = $178;
break;
}
case 3: case 1: {
$_15$sroa$0$0$i = $178;$_15$sroa$6$0$i = 0;
break;
}
case 2: {
$182 = $178 >>> 1;
$183 = (($178) + 1)|0;
$184 = $183 >>> 1;
$_15$sroa$0$0$i = $182;$_15$sroa$6$0$i = $184;
break;
}
default: {
// unreachable;
}
}
HEAP32[$fill$i>>2] = 0;
$180 = HEAP32[$66>>2]|0;
$181 = ($180>>>0)<(128);
do {
if ($181) {
$204 = $180&255;
HEAP8[$fill$i>>0] = $204;
$len$2$i$i = 1;
} else {
$205 = ($180>>>0)<(2048);
if ($205) {
$206 = $180 >>> 6;
$207 = $206 & 31;
$208 = $207&255;
$209 = $208 | -64;
HEAP8[$fill$i>>0] = $209;
$210 = $180 & 63;
$211 = $210&255;
$212 = ((($fill$i)) + 1|0);
$213 = $211 | -128;
HEAP8[$212>>0] = $213;
$len$2$i$i = 2;
break;
}
$214 = ($180>>>0)<(65536);
if ($214) {
$215 = $180 >>> 12;
$216 = $215 & 15;
$217 = $216&255;
$218 = $217 | -32;
HEAP8[$fill$i>>0] = $218;
$219 = $180 >>> 6;
$220 = $219 & 63;
$221 = $220&255;
$222 = ((($fill$i)) + 1|0);
$223 = $221 | -128;
HEAP8[$222>>0] = $223;
$224 = $180 & 63;
$225 = $224&255;
$226 = ((($fill$i)) + 2|0);
$227 = $225 | -128;
HEAP8[$226>>0] = $227;
$len$2$i$i = 3;
break;
} else {
$228 = $180 >>> 18;
$229 = $228&255;
$230 = $229 | -16;
HEAP8[$fill$i>>0] = $230;
$231 = $180 >>> 12;
$232 = $231 & 63;
$233 = $232&255;
$234 = ((($fill$i)) + 1|0);
$235 = $233 | -128;
HEAP8[$234>>0] = $235;
$236 = $180 >>> 6;
$237 = $236 & 63;
$238 = $237&255;
$239 = ((($fill$i)) + 2|0);
$240 = $238 | -128;
HEAP8[$239>>0] = $240;
$241 = $180 & 63;
$242 = $241&255;
$243 = ((($fill$i)) + 3|0);
$244 = $242 | -128;
HEAP8[$243>>0] = $244;
$len$2$i$i = 4;
break;
}
}
} while(0);
$187 = ((($0)) + 28|0);
$189 = ((($0)) + 32|0);
$iter$sroa$0$0$i = 0;
while(1) {
$185 = ($iter$sroa$0$0$i>>>0)<($_15$sroa$0$0$i>>>0);
$186 = HEAP32[$187>>2]|0;
$188 = HEAP32[$189>>2]|0;
if (!($185)) {
break;
}
$190 = (($iter$sroa$0$0$i) + 1)|0;
$191 = ((($188)) + 12|0);
$192 = HEAP32[$191>>2]|0;
$193 = (FUNCTION_TABLE_iiii[$192 & 255]($186,$fill$i,$len$2$i$i)|0);
$not$switch4$i2$i = ($193<<24>>24)==(0);
if ($not$switch4$i2$i) {
$iter$sroa$0$0$i = $190;
} else {
label = 64;
break;
}
}
if ((label|0) == 64) {
$_0$sroa$0$1 = 1;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
$194 = ((($188)) + 12|0);
$195 = HEAP32[$194>>2]|0;
$196 = (FUNCTION_TABLE_iiii[$195 & 255]($186,$4,$5)|0);
$not$switch4$i8$i = ($196<<24>>24)==(0);
if ($not$switch4$i8$i) {
$iter2$sroa$0$0$i = 0;
} else {
$_0$sroa$0$1 = 1;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
while(1) {
$197 = ($iter2$sroa$0$0$i>>>0)<($_15$sroa$6$0$i>>>0);
if (!($197)) {
label = 68;
break;
}
$198 = (($iter2$sroa$0$0$i) + 1)|0;
$199 = HEAP32[$187>>2]|0;
$200 = HEAP32[$189>>2]|0;
$201 = ((($200)) + 12|0);
$202 = HEAP32[$201>>2]|0;
$203 = (FUNCTION_TABLE_iiii[$202 & 255]($199,$fill$i,$len$2$i$i)|0);
$not$switch4$i$i = ($203<<24>>24)==(0);
if ($not$switch4$i$i) {
$iter2$sroa$0$0$i = $198;
} else {
label = 69;
break;
}
}
if ((label|0) == 68) {
$_0$sroa$0$1 = 0;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
else if ((label|0) == 69) {
$_0$sroa$0$1 = 1;
STACKTOP = sp;return ($_0$sroa$0$1|0);
}
return (0)|0;
}
function __ZN4core9panicking5panic17h7842870c7e688275E($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_11 = 0, $_19 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_7 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$_7 = sp + 24|0;
$_11 = sp + 16|0;
$_19 = sp;
$1 = HEAP32[$0>>2]|0;
$2 = ((($0)) + 4|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($0)) + 8|0);
$5 = HEAP32[$4>>2]|0;
$6 = ((($0)) + 12|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($0)) + 16|0);
$9 = HEAP32[$8>>2]|0;
HEAP32[$_11>>2] = $1;
$10 = ((($_11)) + 4|0);
HEAP32[$10>>2] = $3;
HEAP32[$_7>>2] = $_11;
$11 = ((($_7)) + 4|0);
HEAP32[$11>>2] = 1;
$_6$sroa$0$0$$sroa_idx$i = ((($_7)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$12 = ((($_7)) + 16|0);
HEAP32[$12>>2] = 13320;
$13 = ((($_7)) + 20|0);
HEAP32[$13>>2] = 0;
HEAP32[$_19>>2] = $5;
$14 = ((($_19)) + 4|0);
HEAP32[$14>>2] = $7;
$15 = ((($_19)) + 8|0);
HEAP32[$15>>2] = $9;
__ZN4core9panicking9panic_fmt17hd37574de04720b9cE($_7,$_19);
// unreachable;
}
function __ZN4core5slice22slice_index_order_fail17h18a93bce132b6e5bE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_12 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_7 = 0, $end = 0, $index = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$index = sp + 44|0;
$end = sp + 40|0;
$_7 = sp + 16|0;
$_12 = sp;
HEAP32[$index>>2] = $0;
HEAP32[$end>>2] = $1;
$2 = $index;
$3 = $end;
HEAP32[$_12>>2] = $2;
$4 = ((($_12)) + 4|0);
HEAP32[$4>>2] = (127);
$5 = ((($_12)) + 8|0);
HEAP32[$5>>2] = $3;
$6 = ((($_12)) + 12|0);
HEAP32[$6>>2] = (127);
HEAP32[$_7>>2] = 3060;
$7 = ((($_7)) + 4|0);
HEAP32[$7>>2] = 2;
$_6$sroa$0$0$$sroa_idx$i = ((($_7)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$8 = ((($_7)) + 16|0);
HEAP32[$8>>2] = $_12;
$9 = ((($_7)) + 20|0);
HEAP32[$9>>2] = 2;
__ZN4core9panicking9panic_fmt17hd37574de04720b9cE($_7,2980);
// unreachable;
}
function __ZN4core3fmt9Formatter3pad17h15e5e7ed51fd8b39E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$cast$i$i$i$i = 0, $$cast$i$i21$i$i = 0, $$phi$trans$insert = 0, $$pre = 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, $19 = 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, $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, $8 = 0;
var $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, $98 = 0;
var $99 = 0, $_0$sroa$0$0 = 0, $_15$sroa$0$0$i = 0, $_15$sroa$6$0$i = 0, $_20$sroa$0$0 = 0, $accum$0$lcssa$i$i = 0, $accum$0$lcssa$i$i39 = 0, $accum$016$i$i = 0, $accum$016$i$i29 = 0, $align$0$off0$i = 0, $align$0$off0$i$clear = 0, $cond$i = 0, $extract$t$i = 0, $fill$i = 0, $iter$sroa$0$0$i = 0, $iter$sroa$0$1$i$i = 0, $iter$sroa$0$1$i$i31 = 0, $iter$sroa$0$2$i$i = 0, $iter$sroa$0$2$i$i33 = 0, $iter$sroa$0$3$i$i = 0;
var $iter$sroa$0$3$i$i35 = 0, $iter$sroa$0$5$ph$i$i = 0, $iter$sroa$0$5$ph$i$i37 = 0, $iter2$sroa$0$0$i = 0, $len$2$i$i = 0, $n$020$i$i = 0, $not$$i$i = 0, $not$switch4$i$i = 0, $not$switch4$i2$i = 0, $not$switch4$i8$i = 0, $or$cond = 0, $or$cond$i$i = 0, $s1$sroa$10$0 = 0, $s1$sroa$10$0106 = 0, $switch = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$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;
$switch = ($$pre|0)==(1);
if ($5) {
if ($switch) {
label = 6;
} else {
$s1$sroa$10$0106 = $2;
}
} else {
if ($switch) {
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 & 255]($7,$1,$2)|0);
$_0$sroa$0$0 = $12;
STACKTOP = sp;return ($_0$sroa$0$0|0);
}
}
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);
$or$cond = $16 | $17;
L8: do {
if ($or$cond) {
$s1$sroa$10$0 = 0;
} else {
$18 = $1;
$$cast$i$i21$i$i = $1;$20 = $18;$_20$sroa$0$0 = 0;$n$020$i$i = $14;
while(1) {
$25 = ((($$cast$i$i21$i$i)) + 1|0);
$26 = HEAP8[$$cast$i$i21$i$i>>0]|0;
$27 = ($26<<24>>24)>(-1);
$28 = $25;
if ($27) {
$22 = $28;
} else {
$29 = ($25|0)==($15|0);
$30 = ((($$cast$i$i21$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;
}
}
$45 = ($n$020$i$i|0)==(0);
if ($45) {
break;
}
$19 = (($_20$sroa$0$0) - ($20))|0;
$21 = (($19) + ($22))|0;
$23 = (($n$020$i$i) + -1)|0;
$$cast$i$i$i$i = $22;
$24 = ($$cast$i$i$i$i|0)==($15|0);
if ($24) {
$s1$sroa$10$0 = $2;
break L8;
} else {
$$cast$i$i21$i$i = $$cast$i$i$i$i;$20 = $22;$_20$sroa$0$0 = $21;$n$020$i$i = $23;
}
}
$46 = ($_20$sroa$0$0|0)==(0);
$47 = ($_20$sroa$0$0|0)==($2|0);
$or$cond$i$i = $46 | $47;
if ($or$cond$i$i) {
$s1$sroa$10$0 = $_20$sroa$0$0;
} else {
$not$$i$i = ($_20$sroa$0$0>>>0)<($2>>>0);
if (!($not$$i$i)) {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($1,$2,0,$_20$sroa$0$0);
// unreachable;
}
$48 = (($1) + ($_20$sroa$0$0)|0);
$49 = HEAP8[$48>>0]|0;
$50 = ($49<<24>>24)>(-65);
if ($50) {
$s1$sroa$10$0 = $_20$sroa$0$0;
} else {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($1,$2,0,$_20$sroa$0$0);
// unreachable;
}
}
}
} while(0);
if ($5) {
$s1$sroa$10$0106 = $s1$sroa$10$0;
} else {
$51 = ((($0)) + 28|0);
$52 = HEAP32[$51>>2]|0;
$53 = ((($0)) + 32|0);
$54 = HEAP32[$53>>2]|0;
$55 = ((($54)) + 12|0);
$56 = HEAP32[$55>>2]|0;
$57 = (FUNCTION_TABLE_iiii[$56 & 255]($52,$1,$s1$sroa$10$0)|0);
$_0$sroa$0$0 = $57;
STACKTOP = sp;return ($_0$sroa$0$0|0);
}
}
$65 = ((($0)) + 16|0);
$66 = HEAP32[$65>>2]|0;
$67 = (($1) + ($s1$sroa$10$0106)|0);
$68 = ($s1$sroa$10$0106|0)==(0);
if ($68) {
$accum$0$lcssa$i$i39 = 0;
} else {
$70 = $1;$accum$016$i$i29 = 0;
while(1) {
$69 = ((($70)) + 1|0);
$71 = $69;
$72 = HEAP8[$70>>0]|0;
$73 = ($72<<24>>24)>(-1);
if ($73) {
$iter$sroa$0$5$ph$i$i37 = $71;
} else {
$74 = ($69|0)==($67|0);
$75 = ((($70)) + 2|0);
$76 = $75;
$iter$sroa$0$1$i$i31 = $74 ? $71 : $76;
$77 = $74 ? $67 : $75;
$78 = ($72&255)>(223);
if ($78) {
$79 = ($77|0)==($67|0);
$80 = ((($77)) + 1|0);
$81 = $80;
$iter$sroa$0$2$i$i33 = $79 ? $iter$sroa$0$1$i$i31 : $81;
$82 = $79 ? $67 : $80;
$83 = ($72&255)>(239);
if ($83) {
$84 = ($82|0)==($67|0);
$85 = ((($82)) + 1|0);
$86 = $85;
$iter$sroa$0$3$i$i35 = $84 ? $iter$sroa$0$2$i$i33 : $86;
$iter$sroa$0$5$ph$i$i37 = $iter$sroa$0$3$i$i35;
} else {
$iter$sroa$0$5$ph$i$i37 = $iter$sroa$0$2$i$i33;
}
} else {
$iter$sroa$0$5$ph$i$i37 = $iter$sroa$0$1$i$i31;
}
}
$87 = (($accum$016$i$i29) + 1)|0;
$88 = $iter$sroa$0$5$ph$i$i37;
$89 = ($88|0)==($67|0);
if ($89) {
$accum$0$lcssa$i$i39 = $87;
break;
} else {
$70 = $88;$accum$016$i$i29 = $87;
}
}
}
$90 = ($accum$0$lcssa$i$i39>>>0)<($66>>>0);
if (!($90)) {
$58 = ((($0)) + 28|0);
$59 = HEAP32[$58>>2]|0;
$60 = ((($0)) + 32|0);
$61 = HEAP32[$60>>2]|0;
$62 = ((($61)) + 12|0);
$63 = HEAP32[$62>>2]|0;
$64 = (FUNCTION_TABLE_iiii[$63 & 255]($59,$1,$s1$sroa$10$0106)|0);
$_0$sroa$0$0 = $64;
STACKTOP = sp;return ($_0$sroa$0$0|0);
}
if ($68) {
$accum$0$lcssa$i$i = 0;
} else {
$92 = $1;$accum$016$i$i = 0;
while(1) {
$91 = ((($92)) + 1|0);
$93 = $91;
$94 = HEAP8[$92>>0]|0;
$95 = ($94<<24>>24)>(-1);
if ($95) {
$iter$sroa$0$5$ph$i$i = $93;
} else {
$96 = ($91|0)==($67|0);
$97 = ((($92)) + 2|0);
$98 = $97;
$iter$sroa$0$1$i$i = $96 ? $93 : $98;
$99 = $96 ? $67 : $97;
$100 = ($94&255)>(223);
if ($100) {
$101 = ($99|0)==($67|0);
$102 = ((($99)) + 1|0);
$103 = $102;
$iter$sroa$0$2$i$i = $101 ? $iter$sroa$0$1$i$i : $103;
$104 = $101 ? $67 : $102;
$105 = ($94&255)>(239);
if ($105) {
$106 = ($104|0)==($67|0);
$107 = ((($104)) + 1|0);
$108 = $107;
$iter$sroa$0$3$i$i = $106 ? $iter$sroa$0$2$i$i : $108;
$iter$sroa$0$5$ph$i$i = $iter$sroa$0$3$i$i;
} else {
$iter$sroa$0$5$ph$i$i = $iter$sroa$0$2$i$i;
}
} else {
$iter$sroa$0$5$ph$i$i = $iter$sroa$0$1$i$i;
}
}
$109 = (($accum$016$i$i) + 1)|0;
$110 = $iter$sroa$0$5$ph$i$i;
$111 = ($110|0)==($67|0);
if ($111) {
$accum$0$lcssa$i$i = $109;
break;
} else {
$92 = $110;$accum$016$i$i = $109;
}
}
}
$112 = (($66) - ($accum$0$lcssa$i$i))|0;
$113 = ((($0)) + 8|0);
$extract$t$i = HEAP8[$113>>0]|0;
$cond$i = ($extract$t$i<<24>>24)==(3);
$align$0$off0$i = $cond$i ? 0 : $extract$t$i;
$align$0$off0$i$clear = $align$0$off0$i & 3;
switch ($align$0$off0$i$clear<<24>>24) {
case 0: {
$_15$sroa$0$0$i = 0;$_15$sroa$6$0$i = $112;
break;
}
case 3: case 1: {
$_15$sroa$0$0$i = $112;$_15$sroa$6$0$i = 0;
break;
}
case 2: {
$117 = $112 >>> 1;
$118 = (($112) + 1)|0;
$119 = $118 >>> 1;
$_15$sroa$0$0$i = $117;$_15$sroa$6$0$i = $119;
break;
}
default: {
// unreachable;
}
}
HEAP32[$fill$i>>2] = 0;
$114 = ((($0)) + 4|0);
$115 = HEAP32[$114>>2]|0;
$116 = ($115>>>0)<(128);
do {
if ($116) {
$139 = $115&255;
HEAP8[$fill$i>>0] = $139;
$len$2$i$i = 1;
} else {
$140 = ($115>>>0)<(2048);
if ($140) {
$141 = $115 >>> 6;
$142 = $141 & 31;
$143 = $142&255;
$144 = $143 | -64;
HEAP8[$fill$i>>0] = $144;
$145 = $115 & 63;
$146 = $145&255;
$147 = ((($fill$i)) + 1|0);
$148 = $146 | -128;
HEAP8[$147>>0] = $148;
$len$2$i$i = 2;
break;
}
$149 = ($115>>>0)<(65536);
if ($149) {
$150 = $115 >>> 12;
$151 = $150 & 15;
$152 = $151&255;
$153 = $152 | -32;
HEAP8[$fill$i>>0] = $153;
$154 = $115 >>> 6;
$155 = $154 & 63;
$156 = $155&255;
$157 = ((($fill$i)) + 1|0);
$158 = $156 | -128;
HEAP8[$157>>0] = $158;
$159 = $115 & 63;
$160 = $159&255;
$161 = ((($fill$i)) + 2|0);
$162 = $160 | -128;
HEAP8[$161>>0] = $162;
$len$2$i$i = 3;
break;
} else {
$163 = $115 >>> 18;
$164 = $163&255;
$165 = $164 | -16;
HEAP8[$fill$i>>0] = $165;
$166 = $115 >>> 12;
$167 = $166 & 63;
$168 = $167&255;
$169 = ((($fill$i)) + 1|0);
$170 = $168 | -128;
HEAP8[$169>>0] = $170;
$171 = $115 >>> 6;
$172 = $171 & 63;
$173 = $172&255;
$174 = ((($fill$i)) + 2|0);
$175 = $173 | -128;
HEAP8[$174>>0] = $175;
$176 = $115 & 63;
$177 = $176&255;
$178 = ((($fill$i)) + 3|0);
$179 = $177 | -128;
HEAP8[$178>>0] = $179;
$len$2$i$i = 4;
break;
}
}
} while(0);
$122 = ((($0)) + 28|0);
$124 = ((($0)) + 32|0);
$iter$sroa$0$0$i = 0;
while(1) {
$120 = ($iter$sroa$0$0$i>>>0)<($_15$sroa$0$0$i>>>0);
$121 = HEAP32[$122>>2]|0;
$123 = HEAP32[$124>>2]|0;
if (!($120)) {
break;
}
$125 = (($iter$sroa$0$0$i) + 1)|0;
$126 = ((($123)) + 12|0);
$127 = HEAP32[$126>>2]|0;
$128 = (FUNCTION_TABLE_iiii[$127 & 255]($121,$fill$i,$len$2$i$i)|0);
$not$switch4$i2$i = ($128<<24>>24)==(0);
if ($not$switch4$i2$i) {
$iter$sroa$0$0$i = $125;
} else {
label = 41;
break;
}
}
if ((label|0) == 41) {
$_0$sroa$0$0 = 1;
STACKTOP = sp;return ($_0$sroa$0$0|0);
}
$129 = ((($123)) + 12|0);
$130 = HEAP32[$129>>2]|0;
$131 = (FUNCTION_TABLE_iiii[$130 & 255]($121,$1,$s1$sroa$10$0106)|0);
$not$switch4$i8$i = ($131<<24>>24)==(0);
if ($not$switch4$i8$i) {
$iter2$sroa$0$0$i = 0;
} else {
$_0$sroa$0$0 = 1;
STACKTOP = sp;return ($_0$sroa$0$0|0);
}
while(1) {
$132 = ($iter2$sroa$0$0$i>>>0)<($_15$sroa$6$0$i>>>0);
if (!($132)) {
label = 45;
break;
}
$133 = (($iter2$sroa$0$0$i) + 1)|0;
$134 = HEAP32[$122>>2]|0;
$135 = HEAP32[$124>>2]|0;
$136 = ((($135)) + 12|0);
$137 = HEAP32[$136>>2]|0;
$138 = (FUNCTION_TABLE_iiii[$137 & 255]($134,$fill$i,$len$2$i$i)|0);
$not$switch4$i$i = ($138<<24>>24)==(0);
if ($not$switch4$i$i) {
$iter2$sroa$0$0$i = $133;
} else {
label = 46;
break;
}
}
if ((label|0) == 45) {
$_0$sroa$0$0 = 0;
STACKTOP = sp;return ($_0$sroa$0$0|0);
}
else if ((label|0) == 46) {
$_0$sroa$0$0 = 1;
STACKTOP = sp;return ($_0$sroa$0$0|0);
}
return (0)|0;
}
function __ZN4core3str16slice_error_fail17he0c77f824296691dE($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$ = 0, $$27 = 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, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $_19 = 0, $_24 = 0, $_50 = 0, $_55 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_6$sroa$0$0$$sroa_idx$i8 = 0, $_9$sroa$0$0 = 0, $_9$sroa$8$0 = 0, $begin = 0, $ellipsis = 0, $end = 0, $max$0$i25 = 0, $not$$i$i = 0, $or$cond$i$i = 0, $s = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
$begin = sp + 132|0;
$end = sp + 128|0;
$s = sp + 120|0;
$ellipsis = sp + 112|0;
$_19 = sp + 88|0;
$_24 = sp + 56|0;
$_50 = sp + 32|0;
$_55 = sp;
HEAP32[$begin>>2] = $2;
HEAP32[$end>>2] = $3;
$4 = ($1>>>0)<(257);
L1: do {
if ($4) {
$_9$sroa$0$0 = 1;$_9$sroa$8$0 = $1;
} else {
$max$0$i25 = 256;
while(1) {
$not$$i$i = ($max$0$i25>>>0)<($1>>>0);
if ($not$$i$i) {
$5 = (($0) + ($max$0$i25)|0);
$6 = HEAP8[$5>>0]|0;
$7 = ($6<<24>>24)>(-65);
if ($7) {
$_9$sroa$0$0 = 0;$_9$sroa$8$0 = $max$0$i25;
break L1;
}
}
$8 = (($max$0$i25) + -1)|0;
$9 = ($8|0)==(0);
$10 = ($8|0)==($1|0);
$or$cond$i$i = $9 | $10;
if ($or$cond$i$i) {
$_9$sroa$0$0 = 0;$_9$sroa$8$0 = $8;
break;
} else {
$max$0$i25 = $8;
}
}
}
} while(0);
$11 = $0;
HEAP32[$s>>2] = $11;
$12 = ((($s)) + 4|0);
HEAP32[$12>>2] = $_9$sroa$8$0;
$$ = $_9$sroa$0$0 ? 13864 : 10689;
$$27 = $_9$sroa$0$0 ? 0 : 5;
HEAP32[$ellipsis>>2] = $$;
$13 = ((($ellipsis)) + 4|0);
HEAP32[$13>>2] = $$27;
$14 = ($2>>>0)>($3>>>0);
if ($14) {
$15 = $begin;
$16 = $end;
$17 = $s;
$18 = $ellipsis;
HEAP32[$_24>>2] = $15;
$19 = ((($_24)) + 4|0);
HEAP32[$19>>2] = (127);
$20 = ((($_24)) + 8|0);
HEAP32[$20>>2] = $16;
$21 = ((($_24)) + 12|0);
HEAP32[$21>>2] = (127);
$22 = ((($_24)) + 16|0);
HEAP32[$22>>2] = $17;
$23 = ((($_24)) + 20|0);
HEAP32[$23>>2] = (128);
$24 = ((($_24)) + 24|0);
HEAP32[$24>>2] = $18;
$25 = ((($_24)) + 28|0);
HEAP32[$25>>2] = (128);
HEAP32[$_19>>2] = 3076;
$26 = ((($_19)) + 4|0);
HEAP32[$26>>2] = 4;
$_6$sroa$0$0$$sroa_idx$i = ((($_19)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$27 = ((($_19)) + 16|0);
HEAP32[$27>>2] = $_24;
$28 = ((($_19)) + 20|0);
HEAP32[$28>>2] = 4;
__ZN4core9panicking9panic_fmt17hd37574de04720b9cE($_19,2968);
// unreachable;
} else {
$29 = $begin;
$30 = $end;
$31 = $s;
$32 = $ellipsis;
HEAP32[$_55>>2] = $29;
$33 = ((($_55)) + 4|0);
HEAP32[$33>>2] = (127);
$34 = ((($_55)) + 8|0);
HEAP32[$34>>2] = $30;
$35 = ((($_55)) + 12|0);
HEAP32[$35>>2] = (127);
$36 = ((($_55)) + 16|0);
HEAP32[$36>>2] = $31;
$37 = ((($_55)) + 20|0);
HEAP32[$37>>2] = (128);
$38 = ((($_55)) + 24|0);
HEAP32[$38>>2] = $32;
$39 = ((($_55)) + 28|0);
HEAP32[$39>>2] = (128);
HEAP32[$_50>>2] = 3108;
$40 = ((($_50)) + 4|0);
HEAP32[$40>>2] = 5;
$_6$sroa$0$0$$sroa_idx$i8 = ((($_50)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i8>>2] = 0;
$41 = ((($_50)) + 16|0);
HEAP32[$41>>2] = $_55;
$42 = ((($_50)) + 20|0);
HEAP32[$42>>2] = 4;
__ZN4core9panicking9panic_fmt17hd37574de04720b9cE($_50,2956);
// unreachable;
}
}
function __ZN55__LT__RF__u27_a_u20_T_u20_as_u20_core__fmt__Display_GT_3fmt17h8641688ac8cd7009E_257($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 = (__ZN4core3fmt9Formatter3pad17h15e5e7ed51fd8b39E($1,$2,$4)|0);
return ($5|0);
}
function __ZN4core3fmt5write17hd46092952e27f1dbE($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$sroa_idx = 0, $$sroa_idx203 = 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, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
var $134 = 0, $135 = 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;
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, $_0$sroa$0$0 = 0, $_12$sroa$8$2$i = 0, $_6$sroa$0$0$$sroa_idx = 0, $_7$sroa$0$0$$sroa_idx = 0, $_8$sroa$8$2$i = 0;
var $args$sroa$0$0$copyload = 0, $args$sroa$12$0$$sroa_idx63 = 0, $args$sroa$12$0$copyload = 0, $args$sroa$5$0$$sroa_idx48 = 0, $args$sroa$5$0$copyload = 0, $args$sroa$6$0$$sroa_idx51 = 0, $args$sroa$6$0$copyload = 0, $args$sroa$8$0$$sroa_idx55 = 0, $args$sroa$8$0$copyload = 0, $args$sroa$9$0$$sroa_idx58 = 0, $args$sroa$9$0$copyload = 0, $formatter = 0, $iter$sroa$0$0 = 0, $iter2$sroa$0$0 = 0, $not$switch4$i = 0, $not$switch4$i68 = 0, $not$switch4$i70 = 0, $not$switch4$i72 = 0, $not$switch4$i74 = 0, $or$cond = 0;
var $pieces$sroa$0$0 = 0, $pieces$sroa$0$1 = 0, $pieces$sroa$0$4 = 0, $switch$i = 0, $switch21tmp = 0, $switch22tmp = 0, $switchtmp = 0, $trunc$i$i = 0, $trunc$i$i$clear = 0, $trunc$i5$i = 0, $trunc$i5$i$clear = 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)) abortStackOverflow(64|0);
$formatter = sp;
$args$sroa$0$0$copyload = HEAP32[$2>>2]|0;
$args$sroa$5$0$$sroa_idx48 = ((($2)) + 4|0);
$args$sroa$5$0$copyload = HEAP32[$args$sroa$5$0$$sroa_idx48>>2]|0;
$args$sroa$6$0$$sroa_idx51 = ((($2)) + 8|0);
$args$sroa$6$0$copyload = HEAP32[$args$sroa$6$0$$sroa_idx51>>2]|0;
$args$sroa$8$0$$sroa_idx55 = ((($2)) + 12|0);
$args$sroa$8$0$copyload = HEAP32[$args$sroa$8$0$$sroa_idx55>>2]|0;
$args$sroa$9$0$$sroa_idx58 = ((($2)) + 16|0);
$args$sroa$9$0$copyload = HEAP32[$args$sroa$9$0$$sroa_idx58>>2]|0;
$args$sroa$12$0$$sroa_idx63 = ((($2)) + 20|0);
$args$sroa$12$0$copyload = HEAP32[$args$sroa$12$0$$sroa_idx63>>2]|0;
$3 = (($args$sroa$9$0$copyload) + ($args$sroa$12$0$copyload<<3)|0);
$4 = $args$sroa$9$0$copyload;
$5 = $3;
HEAP32[$formatter>>2] = 0;
$6 = ((($formatter)) + 4|0);
HEAP32[$6>>2] = 32;
$7 = ((($formatter)) + 8|0);
HEAP8[$7>>0] = 3;
$_6$sroa$0$0$$sroa_idx = ((($formatter)) + 12|0);
HEAP32[$_6$sroa$0$0$$sroa_idx>>2] = 0;
$_7$sroa$0$0$$sroa_idx = ((($formatter)) + 20|0);
HEAP32[$_7$sroa$0$0$$sroa_idx>>2] = 0;
$8 = ((($formatter)) + 28|0);
HEAP32[$8>>2] = $0;
$9 = ((($formatter)) + 32|0);
HEAP32[$9>>2] = $1;
$$sroa_idx = ((($formatter)) + 36|0);
HEAP32[$$sroa_idx>>2] = $4;
$$sroa_idx203 = ((($formatter)) + 40|0);
HEAP32[$$sroa_idx203>>2] = $5;
$10 = ((($formatter)) + 44|0);
HEAP32[$10>>2] = $args$sroa$9$0$copyload;
$11 = ((($formatter)) + 48|0);
HEAP32[$11>>2] = $args$sroa$12$0$copyload;
$12 = (($args$sroa$0$0$copyload) + ($args$sroa$5$0$copyload<<3)|0);
$switchtmp = ($args$sroa$6$0$copyload|0)==(0|0);
L1: do {
if ($switchtmp) {
$iter$sroa$0$0 = $args$sroa$9$0$copyload;$pieces$sroa$0$1 = $args$sroa$0$0$copyload;
while(1) {
$18 = ($iter$sroa$0$0|0)==($3|0);
if ($18) {
$pieces$sroa$0$0 = $pieces$sroa$0$1;
label = 3;
break L1;
}
$19 = ((($iter$sroa$0$0)) + 8|0);
$20 = ($pieces$sroa$0$1|0)==($12|0);
if ($20) {
label = 43;
break L1;
}
$21 = ((($pieces$sroa$0$1)) + 8|0);
$switch22tmp = ($iter$sroa$0$0|0)==(0|0);
if ($switch22tmp) {
$pieces$sroa$0$0 = $21;
label = 3;
break L1;
}
$22 = HEAP32[$8>>2]|0;
$23 = HEAP32[$9>>2]|0;
$24 = HEAP32[$pieces$sroa$0$1>>2]|0;
$25 = ((($pieces$sroa$0$1)) + 4|0);
$26 = HEAP32[$25>>2]|0;
$27 = ((($23)) + 12|0);
$28 = HEAP32[$27>>2]|0;
$29 = (FUNCTION_TABLE_iiii[$28 & 255]($22,$24,$26)|0);
$not$switch4$i74 = ($29<<24>>24)==(0);
if (!($not$switch4$i74)) {
label = 10;
break L1;
}
$30 = ((($iter$sroa$0$0)) + 4|0);
$31 = HEAP32[$30>>2]|0;
$32 = HEAP32[$iter$sroa$0$0>>2]|0;
$33 = (FUNCTION_TABLE_iii[$31 & 255]($32,$formatter)|0);
$not$switch4$i72 = ($33<<24>>24)==(0);
if ($not$switch4$i72) {
$iter$sroa$0$0 = $19;$pieces$sroa$0$1 = $21;
} else {
label = 10;
break;
}
}
} else {
$13 = (($args$sroa$6$0$copyload) + (($args$sroa$8$0$copyload*36)|0)|0);
$14 = ((($formatter)) + 12|0);
$15 = ((($formatter)) + 20|0);
$16 = ((($formatter)) + 36|0);
$iter2$sroa$0$0 = $args$sroa$6$0$copyload;$pieces$sroa$0$4 = $args$sroa$0$0$copyload;
L9: while(1) {
$34 = ($iter2$sroa$0$0|0)==($13|0);
if ($34) {
$pieces$sroa$0$0 = $pieces$sroa$0$4;
label = 3;
break L1;
}
$35 = ((($iter2$sroa$0$0)) + 36|0);
$36 = ($pieces$sroa$0$4|0)==($12|0);
if ($36) {
label = 43;
break L1;
}
$37 = ((($pieces$sroa$0$4)) + 8|0);
$38 = HEAP32[$8>>2]|0;
$39 = HEAP32[$9>>2]|0;
$40 = HEAP32[$pieces$sroa$0$4>>2]|0;
$41 = ((($pieces$sroa$0$4)) + 4|0);
$42 = HEAP32[$41>>2]|0;
$43 = ((($39)) + 12|0);
$44 = HEAP32[$43>>2]|0;
$45 = (FUNCTION_TABLE_iiii[$44 & 255]($38,$40,$42)|0);
$not$switch4$i70 = ($45<<24>>24)==(0);
if (!($not$switch4$i70)) {
label = 10;
break L1;
}
$46 = ((($iter2$sroa$0$0)) + 8|0);
$47 = HEAP32[$46>>2]|0;
HEAP32[$6>>2] = $47;
$48 = ((($iter2$sroa$0$0)) + 12|0);
$49 = HEAP8[$48>>0]|0;
HEAP8[$7>>0] = $49;
$50 = ((($iter2$sroa$0$0)) + 16|0);
$51 = HEAP32[$50>>2]|0;
HEAP32[$formatter>>2] = $51;
$52 = ((($iter2$sroa$0$0)) + 28|0);
$53 = HEAP32[$52>>2]|0;
$trunc$i$i = $53&255;
$trunc$i$i$clear = $trunc$i$i & 3;
switch ($trunc$i$i$clear<<24>>24) {
case 0: {
$63 = ((($iter2$sroa$0$0)) + 32|0);
$64 = HEAP32[$63>>2]|0;
$77 = 0;$80 = 1;$_8$sroa$8$2$i = $64;
break;
}
case 1: {
$65 = ((($iter2$sroa$0$0)) + 32|0);
$66 = HEAP32[$65>>2]|0;
$67 = HEAP32[$11>>2]|0;
$68 = ($66>>>0)<($67>>>0);
if (!($68)) {
label = 23;
break L9;
}
$69 = HEAP32[$10>>2]|0;
$70 = (((($69) + ($66<<3)|0)) + 4|0);
$71 = HEAP32[$70>>2]|0;
$72 = ($71|0)==((129)|0);
if ($72) {
$73 = (($69) + ($66<<3)|0);
$74 = HEAP32[$73>>2]|0;
$75 = HEAP32[$74>>2]|0;
$77 = 0;$80 = 1;$_8$sroa$8$2$i = $75;
} else {
$77 = 0;$80 = 0;$_8$sroa$8$2$i = 0;
}
break;
}
case 2: {
$54 = HEAP32[$16>>2]|0;
$55 = HEAP32[$$sroa_idx203>>2]|0;
$56 = ($54|0)==($55|0);
if ($56) {
$77 = 0;$80 = 0;$_8$sroa$8$2$i = 0;
} else {
$57 = ((($54)) + 8|0);
HEAP32[$16>>2] = $57;
$58 = ((($54)) + 4|0);
$59 = HEAP32[$58>>2]|0;
$60 = ($59|0)==((129)|0);
if ($60) {
$61 = HEAP32[$54>>2]|0;
$62 = HEAP32[$61>>2]|0;
$77 = 0;$80 = 1;$_8$sroa$8$2$i = $62;
} else {
$77 = 0;$80 = 0;$_8$sroa$8$2$i = 0;
}
}
break;
}
case 3: {
$77 = 0;$80 = 0;$_8$sroa$8$2$i = 0;
break;
}
default: {
label = 22;
break L9;
}
}
$76 = $_8$sroa$8$2$i | $77;
$78 = $14;
$79 = $78;
HEAP32[$79>>2] = $80;
$81 = (($78) + 4)|0;
$82 = $81;
HEAP32[$82>>2] = $76;
$83 = ((($iter2$sroa$0$0)) + 20|0);
$84 = HEAP32[$83>>2]|0;
$trunc$i5$i = $84&255;
$trunc$i5$i$clear = $trunc$i5$i & 3;
switch ($trunc$i5$i$clear<<24>>24) {
case 0: {
$94 = ((($iter2$sroa$0$0)) + 24|0);
$95 = HEAP32[$94>>2]|0;
$108 = 0;$111 = 1;$_12$sroa$8$2$i = $95;
break;
}
case 1: {
$96 = ((($iter2$sroa$0$0)) + 24|0);
$97 = HEAP32[$96>>2]|0;
$98 = HEAP32[$11>>2]|0;
$99 = ($97>>>0)<($98>>>0);
if (!($99)) {
label = 33;
break L9;
}
$100 = HEAP32[$10>>2]|0;
$101 = (((($100) + ($97<<3)|0)) + 4|0);
$102 = HEAP32[$101>>2]|0;
$103 = ($102|0)==((129)|0);
if ($103) {
$104 = (($100) + ($97<<3)|0);
$105 = HEAP32[$104>>2]|0;
$106 = HEAP32[$105>>2]|0;
$108 = 0;$111 = 1;$_12$sroa$8$2$i = $106;
} else {
$108 = 0;$111 = 0;$_12$sroa$8$2$i = 0;
}
break;
}
case 2: {
$85 = HEAP32[$16>>2]|0;
$86 = HEAP32[$$sroa_idx203>>2]|0;
$87 = ($85|0)==($86|0);
if ($87) {
$108 = 0;$111 = 0;$_12$sroa$8$2$i = 0;
} else {
$88 = ((($85)) + 8|0);
HEAP32[$16>>2] = $88;
$89 = ((($85)) + 4|0);
$90 = HEAP32[$89>>2]|0;
$91 = ($90|0)==((129)|0);
if ($91) {
$92 = HEAP32[$85>>2]|0;
$93 = HEAP32[$92>>2]|0;
$108 = 0;$111 = 1;$_12$sroa$8$2$i = $93;
} else {
$108 = 0;$111 = 0;$_12$sroa$8$2$i = 0;
}
}
break;
}
case 3: {
$108 = 0;$111 = 0;$_12$sroa$8$2$i = 0;
break;
}
default: {
label = 32;
break L9;
}
}
$107 = $_12$sroa$8$2$i | $108;
$109 = $15;
$110 = $109;
HEAP32[$110>>2] = $111;
$112 = (($109) + 4)|0;
$113 = $112;
HEAP32[$113>>2] = $107;
$114 = HEAP32[$iter2$sroa$0$0>>2]|0;
$switch$i = ($114|0)==(1);
if ($switch$i) {
$120 = ((($iter2$sroa$0$0)) + 4|0);
$121 = HEAP32[$120>>2]|0;
$122 = HEAP32[$11>>2]|0;
$123 = ($121>>>0)<($122>>>0);
if (!($123)) {
label = 40;
break;
}
$124 = HEAP32[$10>>2]|0;
$125 = (($124) + ($121<<3)|0);
$126 = (((($124) + ($121<<3)|0)) + 4|0);
$value$sroa$0$0$in$i = $125;$value$sroa$5$0$in$i = $126;
} else {
$115 = HEAP32[$16>>2]|0;
$116 = HEAP32[$$sroa_idx203>>2]|0;
$117 = ($115|0)==($116|0);
if ($117) {
label = 37;
break;
}
$118 = ((($115)) + 8|0);
HEAP32[$16>>2] = $118;
$119 = ((($115)) + 4|0);
$value$sroa$0$0$in$i = $115;$value$sroa$5$0$in$i = $119;
}
$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;
$127 = (FUNCTION_TABLE_iii[$value$sroa$5$0$i & 255]($value$sroa$0$0$i,$formatter)|0);
$not$switch4$i68 = ($127<<24>>24)==(0);
if ($not$switch4$i68) {
$iter2$sroa$0$0 = $35;$pieces$sroa$0$4 = $37;
} else {
label = 10;
break L1;
}
}
if ((label|0) == 22) {
// unreachable;
}
else if ((label|0) == 23) {
__ZN4core9panicking18panic_bounds_check17h09c081b9b8d6b9c2E(3148,$66,$67);
// unreachable;
}
else if ((label|0) == 32) {
// unreachable;
}
else if ((label|0) == 33) {
__ZN4core9panicking18panic_bounds_check17h09c081b9b8d6b9c2E(3148,$97,$98);
// unreachable;
}
else if ((label|0) == 37) {
__ZN4core9panicking5panic17h7842870c7e688275E(2900);
// unreachable;
}
else if ((label|0) == 40) {
__ZN4core9panicking18panic_bounds_check17h09c081b9b8d6b9c2E(3160,$121,$122);
// unreachable;
}
}
} while(0);
if ((label|0) == 3) {
$17 = ($pieces$sroa$0$0|0)==($12|0);
$switch21tmp = ($pieces$sroa$0$0|0)==(0|0);
$or$cond = $17 | $switch21tmp;
if ($or$cond) {
label = 43;
} else {
$128 = HEAP32[$8>>2]|0;
$129 = HEAP32[$9>>2]|0;
$130 = HEAP32[$pieces$sroa$0$0>>2]|0;
$131 = ((($pieces$sroa$0$0)) + 4|0);
$132 = HEAP32[$131>>2]|0;
$133 = ((($129)) + 12|0);
$134 = HEAP32[$133>>2]|0;
$135 = (FUNCTION_TABLE_iiii[$134 & 255]($128,$130,$132)|0);
$not$switch4$i = ($135<<24>>24)==(0);
if ($not$switch4$i) {
label = 43;
} else {
label = 10;
}
}
}
if ((label|0) == 10) {
$_0$sroa$0$0 = 1;
STACKTOP = sp;return ($_0$sroa$0$0|0);
}
else if ((label|0) == 43) {
$_0$sroa$0$0 = 0;
STACKTOP = sp;return ($_0$sroa$0$0|0);
}
return (0)|0;
}
function __ZN4core3fmt10ArgumentV110show_usize17hc3f7e03c7b3b211eE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__ZN4core3fmt3num54__LT_impl_u20_core__fmt__Display_u20_for_u20_usize_GT_3fmt17he5b488f276906c38E($0,$1)|0);
return ($2|0);
}
function __ZN4core3fmt8builders10DebugTuple5field17habc4853fa96c697cE($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$$i$i = 0, $$15$i$i = 0, $$16$i$i = 0, $$elt = 0, $$unpack = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $_0$sroa$0$0$i = 0, $_0$sroa$0$0$i$i = 0, $_15$i$i = 0, $_20$i$i = 0, $_34$sroa$4$0$$sroa_idx19$i$i = 0, $_34$sroa$5$0$$sroa_idx21$i$i = 0, $_34$sroa$624$0$$sroa_idx26$i$i = 0, $_34$sroa$7$0$$sroa_idx28$i$i = 0, $_39$i$i = 0, $_7$i$i$i = 0, $_8$sroa$0$0$$sroa_idx$i$i$i = 0, $_8$sroa$4$0$$sroa_idx2$i$i$i = 0, $prefix$i$i = 0, $space$i$i = 0, $switch3$i = 0, $value = 0, $writer$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
$_7$i$i$i = sp + 96|0;
$prefix$i$i = sp + 88|0;
$space$i$i = sp + 80|0;
$writer$i$i = sp + 72|0;
$_15$i$i = sp + 48|0;
$_20$i$i = sp + 32|0;
$_39$i$i = sp + 8|0;
$value = sp;
HEAP32[$value>>2] = $1;
$3 = ((($value)) + 4|0);
HEAP32[$3>>2] = $2;
$$elt = ((($0)) + 4|0);
$$unpack = HEAP8[$$elt>>0]|0;
$4 = $value;
$switch3$i = ($$unpack<<24>>24)==(0);
$5 = ((($0)) + 8|0);
if (!($switch3$i)) {
$_0$sroa$0$0$i = 1;
HEAP8[$$elt>>0] = $_0$sroa$0$0$i;
$37 = HEAP32[$5>>2]|0;
$38 = (($37) + 1)|0;
HEAP32[$5>>2] = $38;
STACKTOP = sp;return ($0|0);
}
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==(0);
$$$i$i = $7 ? 6173 : 6182;
$$15$i$i = $7 ? 13864 : 10878;
$8 = $7&1;
$$16$i$i = $8 ^ 1;
HEAP32[$prefix$i$i>>2] = $$$i$i;
$9 = ((($prefix$i$i)) + 4|0);
HEAP32[$9>>2] = 1;
HEAP32[$space$i$i>>2] = $$15$i$i;
$10 = ((($space$i$i)) + 4|0);
HEAP32[$10>>2] = $$16$i$i;
$11 = HEAP32[$0>>2]|0;
$12 = HEAP32[$11>>2]|0;
$13 = $12 & 4;
$14 = ($13|0)==(0);
if ($14) {
$25 = $prefix$i$i;
$26 = $space$i$i;
HEAP32[$_39$i$i>>2] = $25;
$27 = ((($_39$i$i)) + 4|0);
HEAP32[$27>>2] = (128);
$28 = ((($_39$i$i)) + 8|0);
HEAP32[$28>>2] = $26;
$29 = ((($_39$i$i)) + 12|0);
HEAP32[$29>>2] = (128);
$30 = ((($_39$i$i)) + 16|0);
HEAP32[$30>>2] = $4;
$31 = ((($_39$i$i)) + 20|0);
HEAP32[$31>>2] = (130);
$32 = ((($11)) + 28|0);
$33 = HEAP32[$32>>2]|0;
$34 = ((($11)) + 32|0);
$35 = HEAP32[$34>>2]|0;
HEAP32[$_7$i$i$i>>2] = 3260;
$_34$sroa$4$0$$sroa_idx19$i$i = ((($_7$i$i$i)) + 4|0);
HEAP32[$_34$sroa$4$0$$sroa_idx19$i$i>>2] = 3;
$_34$sroa$5$0$$sroa_idx21$i$i = ((($_7$i$i$i)) + 8|0);
HEAP32[$_34$sroa$5$0$$sroa_idx21$i$i>>2] = 0;
$_34$sroa$624$0$$sroa_idx26$i$i = ((($_7$i$i$i)) + 16|0);
HEAP32[$_34$sroa$624$0$$sroa_idx26$i$i>>2] = $_39$i$i;
$_34$sroa$7$0$$sroa_idx28$i$i = ((($_7$i$i$i)) + 20|0);
HEAP32[$_34$sroa$7$0$$sroa_idx28$i$i>>2] = 3;
$36 = (__ZN4core3fmt5write17hd46092952e27f1dbE($33,$35,$_7$i$i$i)|0);
$_0$sroa$0$0$i$i = $36;
} else {
$15 = $11;
HEAP32[$writer$i$i>>2] = $15;
$16 = ((($writer$i$i)) + 4|0);
HEAP8[$16>>0] = 0;
$17 = $prefix$i$i;
HEAP32[$_20$i$i>>2] = $17;
$18 = ((($_20$i$i)) + 4|0);
HEAP32[$18>>2] = (128);
$19 = ((($_20$i$i)) + 8|0);
HEAP32[$19>>2] = $4;
$20 = ((($_20$i$i)) + 12|0);
HEAP32[$20>>2] = (130);
HEAP32[$_15$i$i>>2] = 3172;
$21 = ((($_15$i$i)) + 4|0);
HEAP32[$21>>2] = 2;
$_8$sroa$0$0$$sroa_idx$i$i$i = ((($_15$i$i)) + 8|0);
HEAP32[$_8$sroa$0$0$$sroa_idx$i$i$i>>2] = 3188;
$_8$sroa$4$0$$sroa_idx2$i$i$i = ((($_15$i$i)) + 12|0);
HEAP32[$_8$sroa$4$0$$sroa_idx2$i$i$i>>2] = 2;
$22 = ((($_15$i$i)) + 16|0);
HEAP32[$22>>2] = $_20$i$i;
$23 = ((($_15$i$i)) + 20|0);
HEAP32[$23>>2] = 2;
$24 = (__ZN4core3fmt5write17hd46092952e27f1dbE($writer$i$i,2096,$_15$i$i)|0);
$_0$sroa$0$0$i$i = $24;
}
$_0$sroa$0$0$i = $_0$sroa$0$0$i$i;
HEAP8[$$elt>>0] = $_0$sroa$0$0$i;
$37 = HEAP32[$5>>2]|0;
$38 = (($37) + 1)|0;
HEAP32[$5>>2] = $38;
STACKTOP = sp;return ($0|0);
}
function __ZN53__LT__RF__u27_a_u20_T_u20_as_u20_core__fmt__Debug_GT_3fmt17h74118edd2e4eb702E($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 & 255]($2,$1)|0);
return ($7|0);
}
function __ZN4drop17h74219d1319be4fbbE($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function __ZN96__LT_core__fmt__builders__PadAdapter_LT__u27_a_C__u20__u27_b_GT__u20_as_u20_core__fmt__Write_GT_9write_str17hca7dcac49a505152E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$$i$i$i = 0, $$cast$i$i$i$i$i = 0, $$pre$i = 0, $$pre$phi$iZ2D = 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, $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, $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, $8 = 0;
var $80 = 0, $81 = 0, $9 = 0, $_0$0$i10$i$i$i$i$i$i$i = 0, $_0$0$i16$i$i$i$i$i$i$i = 0, $_0$0$i23$i$i$i$i$i$i$i = 0, $_0$sroa$0$0 = 0, $_5$sroa$0$0$i$i$i = 0, $_5$sroa$4$0$ph$i$i$i$i$i = 0, $_5$sroa$8$0$i$i$i = 0, $_5$sroa$8$1$i$i$i = 0, $_7$sroa$6$0$i = 0, $_7$sroa$6$1$i = 0, $not$$i$i = 0, $not$$i$i$i = 0, $not$$i$i44 = 0, $not$switch4$i = 0, $not$switch4$i41 = 0, $or$cond$i$i43 = 0, $phitmp$i$i$i$i$i$i$i = 0;
var $phitmp32$i$i$i$i$i$i$i = 0, $phitmp33$i$i$i$i$i$i$i = 0, $s$sroa$0$062 = 0, $s$sroa$10$063 = 0, $split$0 = 0, $trunc$i$i$i = 0, $trunc$i$i$i$clear = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($2|0)==(0);
if ($3) {
$_0$sroa$0$0 = 0;
return ($_0$sroa$0$0|0);
}
$4 = ((($0)) + 4|0);
$s$sroa$0$062 = $1;$s$sroa$10$063 = $2;
L4: 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 & 255]($9,10879,4)|0);
$not$switch4$i = ($14<<24>>24)==(0);
if (!($not$switch4$i)) {
$_0$sroa$0$0 = 1;
label = 5;
break;
}
}
$15 = (($s$sroa$0$062) + ($s$sroa$10$063)|0);
$16 = $s$sroa$0$062;
$17 = $16;$_5$sroa$8$0$i$i$i = 0;$_7$sroa$6$0$i = 0;
L9: while(1) {
$$cast$i$i$i$i$i = $17;
$18 = ($$cast$i$i$i$i$i|0)==($15|0);
if ($18) {
$78 = $17;$_5$sroa$0$0$i$i$i = 2;$_5$sroa$8$1$i$i$i = $_5$sroa$8$0$i$i$i;$_7$sroa$6$1$i = $_7$sroa$6$0$i;
} else {
$21 = ((($$cast$i$i$i$i$i)) + 1|0);
$20 = HEAP8[$$cast$i$i$i$i$i>>0]|0;
$22 = ($20<<24>>24)>(-1);
$23 = $21;
if ($22) {
$19 = $20&255;
$58 = $23;$_5$sroa$4$0$ph$i$i$i$i$i = $19;
} else {
$24 = $20 & 31;
$25 = $24&255;
$26 = ($21|0)==($15|0);
if ($26) {
$35 = $15;$79 = $23;$_0$0$i23$i$i$i$i$i$i$i = 0;
} else {
$27 = ((($$cast$i$i$i$i$i)) + 2|0);
$28 = HEAP8[$21>>0]|0;
$phitmp$i$i$i$i$i$i$i = $28 & 63;
$29 = $27;
$35 = $27;$79 = $29;$_0$0$i23$i$i$i$i$i$i$i = $phitmp$i$i$i$i$i$i$i;
}
$30 = $25 << 6;
$31 = $_0$0$i23$i$i$i$i$i$i$i&255;
$32 = $31 | $30;
$33 = ($20&255)>(223);
if ($33) {
$34 = ($35|0)==($15|0);
if ($34) {
$46 = $15;$80 = $79;$_0$0$i16$i$i$i$i$i$i$i = 0;
} else {
$36 = ((($35)) + 1|0);
$37 = HEAP8[$35>>0]|0;
$phitmp32$i$i$i$i$i$i$i = $37 & 63;
$38 = $36;
$46 = $36;$80 = $38;$_0$0$i16$i$i$i$i$i$i$i = $phitmp32$i$i$i$i$i$i$i;
}
$39 = $31 << 6;
$40 = $_0$0$i16$i$i$i$i$i$i$i&255;
$41 = $40 | $39;
$42 = $25 << 12;
$43 = $41 | $42;
$44 = ($20&255)>(239);
if ($44) {
$45 = ($46|0)==($15|0);
if ($45) {
$81 = $80;$_0$0$i10$i$i$i$i$i$i$i = 0;
} else {
$47 = ((($46)) + 1|0);
$48 = HEAP8[$46>>0]|0;
$phitmp33$i$i$i$i$i$i$i = $48 & 63;
$49 = $47;
$81 = $49;$_0$0$i10$i$i$i$i$i$i$i = $phitmp33$i$i$i$i$i$i$i;
}
$50 = $25 << 18;
$51 = $50 & 1835008;
$52 = $41 << 6;
$53 = $_0$0$i10$i$i$i$i$i$i$i&255;
$54 = $52 | $51;
$55 = $54 | $53;
$58 = $81;$_5$sroa$4$0$ph$i$i$i$i$i = $55;
} else {
$58 = $80;$_5$sroa$4$0$ph$i$i$i$i$i = $43;
}
} else {
$58 = $79;$_5$sroa$4$0$ph$i$i$i$i$i = $32;
}
}
$56 = (($_7$sroa$6$0$i) - ($17))|0;
$57 = (($56) + ($58))|0;
$not$$i$i$i = ($_5$sroa$4$0$ph$i$i$i$i$i|0)!=(10);
$$$i$i$i = $not$$i$i$i&1;
$78 = $58;$_5$sroa$0$0$i$i$i = $$$i$i$i;$_5$sroa$8$1$i$i$i = $_7$sroa$6$0$i;$_7$sroa$6$1$i = $57;
}
$trunc$i$i$i = $_5$sroa$0$0$i$i$i&255;
$trunc$i$i$i$clear = $trunc$i$i$i & 3;
switch ($trunc$i$i$i$clear<<24>>24) {
case 1: {
$17 = $78;$_5$sroa$8$0$i$i$i = $_5$sroa$8$1$i$i$i;$_7$sroa$6$0$i = $_7$sroa$6$1$i;
break;
}
case 0: {
label = 23;
break L9;
break;
}
case 2: {
label = 22;
break L9;
break;
}
default: {
label = 21;
break L4;
}
}
}
if ((label|0) == 22) {
label = 0;
HEAP8[$4>>0] = 0;
$split$0 = $s$sroa$10$063;
}
else if ((label|0) == 23) {
label = 0;
HEAP8[$4>>0] = 1;
$59 = (($_5$sroa$8$1$i$i$i) + 1)|0;
$split$0 = $59;
}
$60 = HEAP32[$0>>2]|0;
$61 = ($split$0|0)==(0);
$62 = ($s$sroa$10$063|0)==($split$0|0);
$or$cond$i$i43 = $61 | $62;
if (!($or$cond$i$i43)) {
$not$$i$i44 = ($s$sroa$10$063>>>0)>($split$0>>>0);
if (!($not$$i$i44)) {
label = 27;
break;
}
$63 = (($s$sroa$0$062) + ($split$0)|0);
$64 = HEAP8[$63>>0]|0;
$65 = ($64<<24>>24)>(-65);
if (!($65)) {
label = 27;
break;
}
}
$66 = ((($60)) + 28|0);
$67 = HEAP32[$66>>2]|0;
$68 = ((($60)) + 32|0);
$69 = HEAP32[$68>>2]|0;
$70 = ((($69)) + 12|0);
$71 = HEAP32[$70>>2]|0;
$72 = (FUNCTION_TABLE_iiii[$71 & 255]($67,$s$sroa$0$062,$split$0)|0);
$not$switch4$i41 = ($72<<24>>24)==(0);
if (!($not$switch4$i41)) {
$_0$sroa$0$0 = 1;
label = 5;
break;
}
if ($or$cond$i$i43) {
$$pre$i = (($s$sroa$0$062) + ($split$0)|0);
$$pre$phi$iZ2D = $$pre$i;
} else {
$not$$i$i = ($s$sroa$10$063>>>0)>($split$0>>>0);
if (!($not$$i$i)) {
label = 33;
break;
}
$73 = (($s$sroa$0$062) + ($split$0)|0);
$74 = HEAP8[$73>>0]|0;
$75 = ($74<<24>>24)>(-65);
if ($75) {
$$pre$phi$iZ2D = $73;
} else {
label = 33;
break;
}
}
$76 = (($s$sroa$10$063) - ($split$0))|0;
$77 = ($76|0)==(0);
if ($77) {
$_0$sroa$0$0 = 0;
label = 5;
break;
} else {
$s$sroa$0$062 = $$pre$phi$iZ2D;$s$sroa$10$063 = $76;
}
}
if ((label|0) == 5) {
return ($_0$sroa$0$0|0);
}
else if ((label|0) == 21) {
// unreachable;
}
else if ((label|0) == 27) {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($s$sroa$0$062,$s$sroa$10$063,0,$split$0);
// unreachable;
}
else if ((label|0) == 33) {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($s$sroa$0$062,$s$sroa$10$063,$split$0,$s$sroa$10$063);
// unreachable;
}
return (0)|0;
}
function __ZN4core3fmt5Write10write_char17ha512e9a187cc3e72E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$sreg$field = 0, $$sreg$field2 = 0, $$sreg$index1 = 0, $2 = 0, $3 = 0, $_12 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
$_12 = sp + 8|0;
HEAP32[$_12>>2] = 0;
__ZN44__LT_char_u20_as_u20_core__char__CharExt_GT_11encode_utf817h06babbec5fb340b3E_281($2,$1,$_12);
$$sreg$field = HEAP32[$2>>2]|0;
$$sreg$index1 = ((($2)) + 4|0);
$$sreg$field2 = HEAP32[$$sreg$index1>>2]|0;
$3 = (__ZN96__LT_core__fmt__builders__PadAdapter_LT__u27_a_C__u20__u27_b_GT__u20_as_u20_core__fmt__Write_GT_9write_str17hca7dcac49a505152E($0,$$sreg$field,$$sreg$field2)|0);
STACKTOP = sp;return ($3|0);
}
function __ZN4core3fmt5Write9write_fmt17hdcdd3127db772540E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $_10 = 0, $_8 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$_8 = sp + 24|0;
$_10 = sp;
HEAP32[$_8>>2] = $0;
;HEAP32[$_10>>2]=HEAP32[$1>>2]|0;HEAP32[$_10+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$_10+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$_10+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$_10+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$_10+20>>2]=HEAP32[$1+20>>2]|0;
$2 = (__ZN4core3fmt5write17hd46092952e27f1dbE($_8,2120,$_10)|0);
STACKTOP = sp;return ($2|0);
}
function __ZN96__LT_core__fmt__Write__write_fmt__Adapter_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_str17h58c03e56384508cdE($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 = (__ZN96__LT_core__fmt__builders__PadAdapter_LT__u27_a_C__u20__u27_b_GT__u20_as_u20_core__fmt__Write_GT_9write_str17hca7dcac49a505152E($3,$1,$2)|0);
return ($4|0);
}
function __ZN96__LT_core__fmt__Write__write_fmt__Adapter_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_10write_char17h231789b4d56f71f1E($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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_12$i = 0, $len$2$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$_12$i = sp;
$2 = HEAP32[$0>>2]|0;
HEAP32[$_12$i>>2] = 0;
$3 = ($1>>>0)<(128);
do {
if ($3) {
$4 = $1&255;
HEAP8[$_12$i>>0] = $4;
$len$2$i = 1;
} else {
$5 = ($1>>>0)<(2048);
if ($5) {
$6 = $1 >>> 6;
$7 = $6 & 31;
$8 = $7&255;
$9 = $8 | -64;
HEAP8[$_12$i>>0] = $9;
$10 = $1 & 63;
$11 = $10&255;
$12 = ((($_12$i)) + 1|0);
$13 = $11 | -128;
HEAP8[$12>>0] = $13;
$len$2$i = 2;
break;
}
$14 = ($1>>>0)<(65536);
if ($14) {
$15 = $1 >>> 12;
$16 = $15 & 15;
$17 = $16&255;
$18 = $17 | -32;
HEAP8[$_12$i>>0] = $18;
$19 = $1 >>> 6;
$20 = $19 & 63;
$21 = $20&255;
$22 = ((($_12$i)) + 1|0);
$23 = $21 | -128;
HEAP8[$22>>0] = $23;
$24 = $1 & 63;
$25 = $24&255;
$26 = ((($_12$i)) + 2|0);
$27 = $25 | -128;
HEAP8[$26>>0] = $27;
$len$2$i = 3;
break;
} else {
$28 = $1 >>> 18;
$29 = $28 & 7;
$30 = $29&255;
$31 = $30 | -16;
HEAP8[$_12$i>>0] = $31;
$32 = $1 >>> 12;
$33 = $32 & 63;
$34 = $33&255;
$35 = ((($_12$i)) + 1|0);
$36 = $34 | -128;
HEAP8[$35>>0] = $36;
$37 = $1 >>> 6;
$38 = $37 & 63;
$39 = $38&255;
$40 = ((($_12$i)) + 2|0);
$41 = $39 | -128;
HEAP8[$40>>0] = $41;
$42 = $1 & 63;
$43 = $42&255;
$44 = ((($_12$i)) + 3|0);
$45 = $43 | -128;
HEAP8[$44>>0] = $45;
$len$2$i = 4;
break;
}
}
} while(0);
$46 = (__ZN96__LT_core__fmt__builders__PadAdapter_LT__u27_a_C__u20__u27_b_GT__u20_as_u20_core__fmt__Write_GT_9write_str17hca7dcac49a505152E($2,$_12$i,$len$2$i)|0);
STACKTOP = sp;return ($46|0);
}
function __ZN96__LT_core__fmt__Write__write_fmt__Adapter_LT__u27_a_C__u20_T_GT__u20_as_u20_core__fmt__Write_GT_9write_fmt17h2e8525a92ea62951E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $_10$i = 0, $_8$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$_8$i = sp + 24|0;
$_10$i = sp;
$2 = HEAP32[$0>>2]|0;
HEAP32[$_8$i>>2] = $2;
;HEAP32[$_10$i>>2]=HEAP32[$1>>2]|0;HEAP32[$_10$i+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$_10$i+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$_10$i+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$_10$i+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$_10$i+20>>2]=HEAP32[$1+20>>2]|0;
$3 = (__ZN4core3fmt5write17hd46092952e27f1dbE($_8$i,2120,$_10$i)|0);
STACKTOP = sp;return ($3|0);
}
function __ZN44__LT_char_u20_as_u20_core__char__CharExt_GT_11encode_utf817h06babbec5fb340b3E_281($retVal,$0,$1) {
$retVal = $retVal|0;
$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, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, $len$2 = 0, $retVal$index1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0>>>0)<(128);
do {
if ($2) {
$3 = $0&255;
HEAP8[$1>>0] = $3;
$len$2 = 1;
} else {
$4 = ($0>>>0)<(2048);
if ($4) {
$5 = $0 >>> 6;
$6 = $5 & 31;
$7 = $6&255;
$8 = $7 | -64;
HEAP8[$1>>0] = $8;
$9 = $0 & 63;
$10 = $9&255;
$11 = ((($1)) + 1|0);
$12 = $10 | -128;
HEAP8[$11>>0] = $12;
$len$2 = 2;
break;
}
$13 = ($0>>>0)<(65536);
if ($13) {
$14 = $0 >>> 12;
$15 = $14 & 15;
$16 = $15&255;
$17 = $16 | -32;
HEAP8[$1>>0] = $17;
$18 = $0 >>> 6;
$19 = $18 & 63;
$20 = $19&255;
$21 = ((($1)) + 1|0);
$22 = $20 | -128;
HEAP8[$21>>0] = $22;
$23 = $0 & 63;
$24 = $23&255;
$25 = ((($1)) + 2|0);
$26 = $24 | -128;
HEAP8[$25>>0] = $26;
$len$2 = 3;
break;
} else {
$27 = $0 >>> 18;
$28 = $27 & 7;
$29 = $28&255;
$30 = $29 | -16;
HEAP8[$1>>0] = $30;
$31 = $0 >>> 12;
$32 = $31 & 63;
$33 = $32&255;
$34 = ((($1)) + 1|0);
$35 = $33 | -128;
HEAP8[$34>>0] = $35;
$36 = $0 >>> 6;
$37 = $36 & 63;
$38 = $37&255;
$39 = ((($1)) + 2|0);
$40 = $38 | -128;
HEAP8[$39>>0] = $40;
$41 = $0 & 63;
$42 = $41&255;
$43 = ((($1)) + 3|0);
$44 = $42 | -128;
HEAP8[$43>>0] = $44;
$len$2 = 4;
break;
}
}
} while(0);
HEAP32[$retVal>>2] = $1;
$retVal$index1 = ((($retVal)) + 4|0);
HEAP32[$retVal$index1>>2] = $len$2;
return;
}
function __ZN60__LT_core__cell__BorrowError_u20_as_u20_core__fmt__Debug_GT_3fmt17hdfb0285ae4c88758E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$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 & 255]($3,10883,11)|0);
return ($8|0);
}
function __ZN63__LT_core__cell__BorrowMutError_u20_as_u20_core__fmt__Debug_GT_3fmt17hee348658ba2113a7E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$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 & 255]($3,10894,14)|0);
return ($8|0);
}
function __ZN4core6option13expect_failed17h199949141d849bddE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $_4 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $_9 = 0, $msg = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$msg = sp + 32|0;
$_4 = sp + 8|0;
$_9 = sp;
HEAP32[$msg>>2] = $0;
$2 = ((($msg)) + 4|0);
HEAP32[$2>>2] = $1;
$3 = $msg;
HEAP32[$_9>>2] = $3;
$4 = ((($_9)) + 4|0);
HEAP32[$4>>2] = (128);
HEAP32[$_4>>2] = 3284;
$5 = ((($_4)) + 4|0);
HEAP32[$5>>2] = 1;
$_6$sroa$0$0$$sroa_idx$i = ((($_4)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$6 = ((($_4)) + 16|0);
HEAP32[$6>>2] = $_9;
$7 = ((($_4)) + 20|0);
HEAP32[$7>>2] = 1;
__ZN4core9panicking9panic_fmt17hd37574de04720b9cE($_4,3004);
// unreachable;
}
function __ZN4core3str9Utf8Error11valid_up_to17h647bc81ca6a6056dE($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
return ($1|0);
}
function __ZN4core3str9from_utf817hb30f9b28629f31d9E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$off$i = 0, $$off114$i = 0, $$off116$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, $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, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $cond$i = 0, $cond12$i = 0, $cond13$i = 0, $cond14$i = 0, $cond15$i = 0;
var $cond19$i = 0, $cond7$i = 0, $offset$0$be$i = 0, $offset$0131$i = 0, $offset$1$i = 0, $offset$2126$i = 0, $offset$3$ph$i = 0, $offset$3128$i = 0, $or$cond$i = 0, $or$cond100$i = 0, $or$cond103$i = 0, $or$cond104$i = 0, $or$cond106$i = 0, $or$cond107$i = 0, $or$cond108$i = 0, $or$cond109$i = 0, $or$cond110$i = 0, $or$cond111$i = 0, $or$cond112$i = 0, $or$cond113$i = 0;
var $or$cond89$i = 0, $or$cond91$i = 0, $or$cond92$i = 0, $or$cond93$i = 0, $or$cond94$i = 0, $or$cond95$i = 0, $or$cond96$i = 0, $or$cond98$i = 0, $or$cond99$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$0131$i = 0;
L3: while(1) {
$7 = (($1) + ($offset$0131$i)|0);
$8 = HEAP8[$7>>0]|0;
$9 = ($8<<24>>24)<(0);
L5: do {
if ($9) {
$13 = (($offset$0131$i) + 1)|0;
$14 = ($13>>>0)<($2>>>0);
if (!($14)) {
break L3;
}
$15 = $8&255;
$16 = (10007 + ($15)|0);
$17 = HEAP8[$16>>0]|0;
$18 = (($1) + ($13)|0);
$19 = HEAP8[$18>>0]|0;
switch ($17<<24>>24) {
case 2: {
$20 = $19 & -64;
$21 = ($20<<24>>24)==(-128);
if ($21) {
$offset$1$i = $13;
} else {
break L3;
}
break;
}
case 3: {
$22 = (($offset$0131$i) + 2)|0;
$23 = ($22>>>0)<($2>>>0);
if (!($23)) {
break L3;
}
$27 = (($1) + ($22)|0);
$28 = HEAP8[$27>>0]|0;
$29 = $28 & -64;
$cond14$i = ($8<<24>>24)==(-32);
$30 = ($19&255)<(192);
$31 = $19 & -32;
$32 = ($31<<24>>24)==(-96);
$33 = $cond14$i & $32;
$cond19$i = ($29<<24>>24)==(-128);
$or$cond89$i = $33 & $cond19$i;
if ($or$cond89$i) {
$offset$1$i = $22;
} else {
$$off116$i = (($8) + 31)<<24>>24;
$34 = ($$off116$i&255)<(12);
$35 = ($19<<24>>24)<(0);
$or$cond91$i = $34 & $35;
$or$cond92$i = $30 & $or$cond91$i;
$or$cond93$i = $or$cond92$i & $cond19$i;
if ($or$cond93$i) {
$offset$1$i = $22;
} else {
$cond15$i = ($8<<24>>24)==(-19);
$or$cond94$i = $cond15$i & $35;
$36 = ($19&255)<(160);
$or$cond95$i = $36 & $or$cond94$i;
$or$cond96$i = $or$cond95$i & $cond19$i;
if ($or$cond96$i) {
$offset$1$i = $22;
} else {
$37 = $8 & -2;
$38 = ($37<<24>>24)==(-18);
$or$cond98$i = $38 & $35;
$or$cond99$i = $30 & $or$cond98$i;
$or$cond100$i = $or$cond99$i & $cond19$i;
if ($or$cond100$i) {
$offset$1$i = $22;
} else {
break L3;
}
}
}
}
break;
}
case 4: {
$24 = (($offset$0131$i) + 2)|0;
$25 = ($24>>>0)<($2>>>0);
if (!($25)) {
break L3;
}
$39 = (($offset$0131$i) + 3)|0;
$40 = ($39>>>0)<($2>>>0);
if (!($40)) {
break L3;
}
$41 = (($1) + ($24)|0);
$42 = HEAP8[$41>>0]|0;
$43 = $42 & -64;
$44 = (($1) + ($39)|0);
$45 = HEAP8[$44>>0]|0;
$46 = $45 & -64;
$cond$i = ($8<<24>>24)==(-16);
$$off$i = (($19) + 112)<<24>>24;
$47 = ($$off$i&255)<(48);
$48 = $cond$i & $47;
$cond12$i = ($43<<24>>24)==(-128);
$or$cond103$i = $48 & $cond12$i;
$cond13$i = ($46<<24>>24)==(-128);
$or$cond104$i = $or$cond103$i & $cond13$i;
if ($or$cond104$i) {
$offset$1$i = $39;
} else {
$49 = ($19&255)<(192);
$$off114$i = (($8) + 15)<<24>>24;
$50 = ($$off114$i&255)<(3);
$51 = ($19<<24>>24)<(0);
$or$cond106$i = $50 & $51;
$or$cond107$i = $49 & $or$cond106$i;
$or$cond108$i = $or$cond107$i & $cond12$i;
$or$cond109$i = $or$cond108$i & $cond13$i;
if ($or$cond109$i) {
$offset$1$i = $39;
} else {
$cond7$i = ($8<<24>>24)==(-12);
$or$cond110$i = $cond7$i & $51;
$52 = ($19&255)<(144);
$or$cond111$i = $52 & $or$cond110$i;
$or$cond112$i = $or$cond111$i & $cond12$i;
$or$cond113$i = $or$cond112$i & $cond13$i;
if ($or$cond113$i) {
$offset$1$i = $39;
} else {
break L3;
}
}
}
break;
}
default: {
break L3;
}
}
$26 = (($offset$1$i) + 1)|0;
$offset$0$be$i = $26;
} else {
$10 = (($offset$0131$i) + ($4))|0;
$11 = $10 & 3;
$12 = ($11|0)==(0);
if (!($12)) {
$54 = (($offset$0131$i) + 1)|0;
$offset$0$be$i = $54;
break;
}
$53 = ($offset$0131$i>>>0)>($6>>>0);
$or$cond$i = $5 | $53;
L25: do {
if ($or$cond$i) {
$offset$3$ph$i = $offset$0131$i;
} else {
$offset$2126$i = $offset$0131$i;
while(1) {
$56 = (($1) + ($offset$2126$i)|0);
$57 = HEAP32[$56>>2]|0;
$58 = (($offset$2126$i) + 4)|0;
$59 = (($1) + ($58)|0);
$60 = HEAP32[$59>>2]|0;
$61 = $60 | $57;
$62 = $61 & -2139062144;
$63 = ($62|0)==(0);
if (!($63)) {
$offset$3$ph$i = $offset$2126$i;
break L25;
}
$65 = (($offset$2126$i) + 8)|0;
$66 = ($65>>>0)>($6>>>0);
if ($66) {
$offset$3$ph$i = $65;
break;
} else {
$offset$2126$i = $65;
}
}
}
} while(0);
$64 = ($offset$3$ph$i>>>0)<($2>>>0);
if ($64) {
$offset$3128$i = $offset$3$ph$i;
while(1) {
$67 = (($1) + ($offset$3128$i)|0);
$68 = HEAP8[$67>>0]|0;
$69 = ($68<<24>>24)>(-1);
if (!($69)) {
$offset$0$be$i = $offset$3128$i;
break L5;
}
$70 = (($offset$3128$i) + 1)|0;
$71 = ($70>>>0)<($2>>>0);
if ($71) {
$offset$3128$i = $70;
} else {
$offset$0$be$i = $70;
break;
}
}
} else {
$offset$0$be$i = $offset$3$ph$i;
}
}
} while(0);
$55 = ($offset$0$be$i>>>0)<($2>>>0);
if ($55) {
$offset$0131$i = $offset$0$be$i;
} else {
break L1;
}
}
HEAP32[$0>>2] = 1;
$74 = ((($0)) + 4|0);
HEAP32[$74>>2] = $offset$0131$i;
return;
}
} while(0);
HEAP32[$0>>2] = 0;
$72 = ((($0)) + 4|0);
HEAP32[$72>>2] = $1;
$73 = ((($0)) + 8|0);
HEAP32[$73>>2] = $2;
return;
}
function __ZN4core3fmt8builders11DebugStruct5field17h31ee2ff35fec0accE($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$$i$i = 0, $$25$i$i = 0, $$elt = 0, $$pre = 0, $$pre$phiZ2D = 0, $$unpack = 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;
var $24 = 0, $25 = 0, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $_0$sroa$0$0$i = 0, $_0$sroa$0$0$i$i = 0, $_12$i$i = 0, $_17$i$i = 0, $_36$sroa$4$0$$sroa_idx15$i$i = 0, $_36$sroa$5$0$$sroa_idx17$i$i = 0, $_36$sroa$620$0$$sroa_idx22$i$i = 0, $_36$sroa$7$0$$sroa_idx24$i$i = 0, $_41$i$i = 0, $_7$i$i$i = 0, $_8$sroa$0$0$$sroa_idx$i$i$i = 0, $_8$sroa$4$0$$sroa_idx2$i$i$i = 0, $name = 0, $prefix$i$i = 0, $switch3$i = 0, $value = 0, $writer$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
$_7$i$i$i = sp + 104|0;
$prefix$i$i = sp + 96|0;
$writer$i$i = sp + 88|0;
$_12$i$i = sp + 64|0;
$_17$i$i = sp + 40|0;
$_41$i$i = sp + 16|0;
$name = sp + 8|0;
$value = sp;
HEAP32[$name>>2] = $1;
$5 = ((($name)) + 4|0);
HEAP32[$5>>2] = $2;
HEAP32[$value>>2] = $3;
$6 = ((($value)) + 4|0);
HEAP32[$6>>2] = $4;
$$elt = ((($0)) + 4|0);
$$unpack = HEAP8[$$elt>>0]|0;
$7 = $name;
$8 = $value;
$switch3$i = ($$unpack<<24>>24)==(0);
if (!($switch3$i)) {
$$pre = ((($0)) + 5|0);
$$pre$phiZ2D = $$pre;$_0$sroa$0$0$i = 1;
HEAP8[$$elt>>0] = $_0$sroa$0$0$i;
HEAP8[$$pre$phiZ2D>>0] = 1;
STACKTOP = sp;return ($0|0);
}
$9 = ((($0)) + 5|0);
$10 = HEAP8[$9>>0]|0;
$11 = ($10<<24>>24)==(0);
$$$i$i = $11 ? 10908 : 6182;
$$25$i$i = $11 ? 2 : 1;
HEAP32[$prefix$i$i>>2] = $$$i$i;
$12 = ((($prefix$i$i)) + 4|0);
HEAP32[$12>>2] = $$25$i$i;
$13 = HEAP32[$0>>2]|0;
$14 = HEAP32[$13>>2]|0;
$15 = $14 & 4;
$16 = ($15|0)==(0);
if ($16) {
$29 = $prefix$i$i;
HEAP32[$_41$i$i>>2] = $29;
$30 = ((($_41$i$i)) + 4|0);
HEAP32[$30>>2] = (128);
$31 = ((($_41$i$i)) + 8|0);
HEAP32[$31>>2] = $7;
$32 = ((($_41$i$i)) + 12|0);
HEAP32[$32>>2] = (128);
$33 = ((($_41$i$i)) + 16|0);
HEAP32[$33>>2] = $8;
$34 = ((($_41$i$i)) + 20|0);
HEAP32[$34>>2] = (130);
$35 = ((($13)) + 28|0);
$36 = HEAP32[$35>>2]|0;
$37 = ((($13)) + 32|0);
$38 = HEAP32[$37>>2]|0;
HEAP32[$_7$i$i$i>>2] = 3424;
$_36$sroa$4$0$$sroa_idx15$i$i = ((($_7$i$i$i)) + 4|0);
HEAP32[$_36$sroa$4$0$$sroa_idx15$i$i>>2] = 3;
$_36$sroa$5$0$$sroa_idx17$i$i = ((($_7$i$i$i)) + 8|0);
HEAP32[$_36$sroa$5$0$$sroa_idx17$i$i>>2] = 0;
$_36$sroa$620$0$$sroa_idx22$i$i = ((($_7$i$i$i)) + 16|0);
HEAP32[$_36$sroa$620$0$$sroa_idx22$i$i>>2] = $_41$i$i;
$_36$sroa$7$0$$sroa_idx24$i$i = ((($_7$i$i$i)) + 20|0);
HEAP32[$_36$sroa$7$0$$sroa_idx24$i$i>>2] = 3;
$39 = (__ZN4core3fmt5write17hd46092952e27f1dbE($36,$38,$_7$i$i$i)|0);
$_0$sroa$0$0$i$i = $39;
} else {
$17 = $13;
HEAP32[$writer$i$i>>2] = $17;
$18 = ((($writer$i$i)) + 4|0);
HEAP8[$18>>0] = 0;
$19 = $prefix$i$i;
HEAP32[$_17$i$i>>2] = $19;
$20 = ((($_17$i$i)) + 4|0);
HEAP32[$20>>2] = (128);
$21 = ((($_17$i$i)) + 8|0);
HEAP32[$21>>2] = $7;
$22 = ((($_17$i$i)) + 12|0);
HEAP32[$22>>2] = (128);
$23 = ((($_17$i$i)) + 16|0);
HEAP32[$23>>2] = $8;
$24 = ((($_17$i$i)) + 20|0);
HEAP32[$24>>2] = (130);
HEAP32[$_12$i$i>>2] = 3292;
$25 = ((($_12$i$i)) + 4|0);
HEAP32[$25>>2] = 3;
$_8$sroa$0$0$$sroa_idx$i$i$i = ((($_12$i$i)) + 8|0);
HEAP32[$_8$sroa$0$0$$sroa_idx$i$i$i>>2] = 3316;
$_8$sroa$4$0$$sroa_idx2$i$i$i = ((($_12$i$i)) + 12|0);
HEAP32[$_8$sroa$4$0$$sroa_idx2$i$i$i>>2] = 3;
$26 = ((($_12$i$i)) + 16|0);
HEAP32[$26>>2] = $_17$i$i;
$27 = ((($_12$i$i)) + 20|0);
HEAP32[$27>>2] = 3;
$28 = (__ZN4core3fmt5write17hd46092952e27f1dbE($writer$i$i,2096,$_12$i$i)|0);
$_0$sroa$0$0$i$i = $28;
}
$$pre$phiZ2D = $9;$_0$sroa$0$0$i = $_0$sroa$0$0$i$i;
HEAP8[$$elt>>0] = $_0$sroa$0$0$i;
HEAP8[$$pre$phiZ2D>>0] = 1;
STACKTOP = sp;return ($0|0);
}
function __ZN4core3fmt8builders15debug_tuple_new17h47104df397fae61fE($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$repack = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$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 & 255]($5,$2,$3)|0);
$11 = ($3|0)==(0);
HEAP32[$0>>2] = $1;
$$repack = ((($0)) + 4|0);
HEAP8[$$repack>>0] = $10;
$12 = ((($0)) + 8|0);
HEAP32[$12>>2] = 0;
$13 = ((($0)) + 12|0);
$14 = $11&1;
HEAP8[$13>>0] = $14;
return;
}
function __ZN4core3fmt8builders10DebugTuple6finish17h564a1cf01486d042E($0) {
$0 = $0|0;
var $$elt$phi$trans$insert = 0, $$pre = 0, $$unpack = 0, $$unpack$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;
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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$sroa$0$0$i = 0;
var $not$switch4$i$i$i = 0, $not$switch4$i19$i$i = 0, $switch4$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 8|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(0);
$$elt$phi$trans$insert = ((($0)) + 4|0);
$$unpack$pre = HEAP8[$$elt$phi$trans$insert>>0]|0;
if ($3) {
$$unpack = $$unpack$pre;
return ($$unpack|0);
}
$switch4$i = ($$unpack$pre<<24>>24)==(0);
do {
if ($switch4$i) {
$4 = HEAP32[$0>>2]|0;
$5 = HEAP32[$4>>2]|0;
$6 = $5 & 4;
$7 = ($6|0)==(0);
if ($7) {
$16 = $2;
} else {
$8 = ((($4)) + 28|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($4)) + 32|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($11)) + 12|0);
$13 = HEAP32[$12>>2]|0;
$14 = (FUNCTION_TABLE_iiii[$13 & 255]($9,10876,1)|0);
$not$switch4$i$i$i = ($14<<24>>24)==(0);
if (!($not$switch4$i$i$i)) {
$_0$sroa$0$0$i = 1;
break;
}
$$pre = HEAP32[$1>>2]|0;
$16 = $$pre;
}
$15 = ($16|0)==(1);
if ($15) {
$17 = ((($0)) + 12|0);
$18 = HEAP8[$17>>0]|0;
$19 = ($18<<24>>24)==(0);
if (!($19)) {
$20 = HEAP32[$0>>2]|0;
$21 = ((($20)) + 28|0);
$22 = HEAP32[$21>>2]|0;
$23 = ((($20)) + 32|0);
$24 = HEAP32[$23>>2]|0;
$25 = ((($24)) + 12|0);
$26 = HEAP32[$25>>2]|0;
$27 = (FUNCTION_TABLE_iiii[$26 & 255]($22,6182,1)|0);
$not$switch4$i19$i$i = ($27<<24>>24)==(0);
if (!($not$switch4$i19$i$i)) {
$_0$sroa$0$0$i = 1;
break;
}
}
}
$28 = HEAP32[$0>>2]|0;
$29 = ((($28)) + 28|0);
$30 = HEAP32[$29>>2]|0;
$31 = ((($28)) + 32|0);
$32 = HEAP32[$31>>2]|0;
$33 = ((($32)) + 12|0);
$34 = HEAP32[$33>>2]|0;
$35 = (FUNCTION_TABLE_iiii[$34 & 255]($30,10877,1)|0);
$_0$sroa$0$0$i = $35;
} else {
$_0$sroa$0$0$i = 1;
}
} while(0);
HEAP8[$$elt$phi$trans$insert>>0] = $_0$sroa$0$0$i;
$$unpack = $_0$sroa$0$0$i;
return ($$unpack|0);
}
function __ZN4core3fmt8builders10DebugInner5entry17h8fce3e38b40a4004E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$$i$i = 0, $$25$i$i = 0, $$26$i$i = 0, $$elt = 0, $$pre = 0, $$pre$phiZ2D = 0, $$unpack = 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;
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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$sroa$0$0$i = 0;
var $_12$i$i = 0, $_17$i$i = 0, $_33$sroa$4$0$$sroa_idx12$i$i = 0, $_33$sroa$5$0$$sroa_idx14$i$i = 0, $_33$sroa$617$0$$sroa_idx19$i$i = 0, $_33$sroa$7$0$$sroa_idx21$i$i = 0, $_38$i$i = 0, $_7$i$i$i = 0, $_8$sroa$0$0$$sroa_idx$i$i$i = 0, $_8$sroa$4$0$$sroa_idx2$i$i$i = 0, $entry = 0, $prefix$i$i = 0, $prefix1$i$i = 0, $switch3$i = 0, $writer$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
$_7$i$i$i = sp + 88|0;
$writer$i$i = sp + 80|0;
$prefix$i$i = sp + 72|0;
$_12$i$i = sp + 48|0;
$_17$i$i = sp + 32|0;
$prefix1$i$i = sp + 24|0;
$_38$i$i = sp + 8|0;
$entry = sp;
HEAP32[$entry>>2] = $1;
$3 = ((($entry)) + 4|0);
HEAP32[$3>>2] = $2;
$$elt = ((($0)) + 4|0);
$$unpack = HEAP8[$$elt>>0]|0;
$4 = $entry;
$switch3$i = ($$unpack<<24>>24)==(0);
if (!($switch3$i)) {
$$pre = ((($0)) + 5|0);
$$pre$phiZ2D = $$pre;$_0$sroa$0$0$i = 1;
HEAP8[$$elt>>0] = $_0$sroa$0$0$i;
HEAP8[$$pre$phiZ2D>>0] = 1;
STACKTOP = sp;return;
}
$5 = HEAP32[$0>>2]|0;
$6 = HEAP32[$5>>2]|0;
$7 = $6 & 4;
$8 = ($7|0)==(0);
$9 = ((($0)) + 5|0);
$10 = HEAP8[$9>>0]|0;
if ($8) {
$24 = ($10<<24>>24)==(0);
$$25$i$i = $24 ? 13864 : 10914;
$$26$i$i = $24 ? 0 : 2;
HEAP32[$prefix1$i$i>>2] = $$25$i$i;
$25 = ((($prefix1$i$i)) + 4|0);
HEAP32[$25>>2] = $$26$i$i;
$26 = $prefix1$i$i;
HEAP32[$_38$i$i>>2] = $26;
$27 = ((($_38$i$i)) + 4|0);
HEAP32[$27>>2] = (128);
$28 = ((($_38$i$i)) + 8|0);
HEAP32[$28>>2] = $4;
$29 = ((($_38$i$i)) + 12|0);
HEAP32[$29>>2] = (130);
$30 = ((($5)) + 28|0);
$31 = HEAP32[$30>>2]|0;
$32 = ((($5)) + 32|0);
$33 = HEAP32[$32>>2]|0;
HEAP32[$_7$i$i$i>>2] = 3448;
$_33$sroa$4$0$$sroa_idx12$i$i = ((($_7$i$i$i)) + 4|0);
HEAP32[$_33$sroa$4$0$$sroa_idx12$i$i>>2] = 2;
$_33$sroa$5$0$$sroa_idx14$i$i = ((($_7$i$i$i)) + 8|0);
HEAP32[$_33$sroa$5$0$$sroa_idx14$i$i>>2] = 0;
$_33$sroa$617$0$$sroa_idx19$i$i = ((($_7$i$i$i)) + 16|0);
HEAP32[$_33$sroa$617$0$$sroa_idx19$i$i>>2] = $_38$i$i;
$_33$sroa$7$0$$sroa_idx21$i$i = ((($_7$i$i$i)) + 20|0);
HEAP32[$_33$sroa$7$0$$sroa_idx21$i$i>>2] = 2;
$34 = (__ZN4core3fmt5write17hd46092952e27f1dbE($31,$33,$_7$i$i$i)|0);
$$pre$phiZ2D = $9;$_0$sroa$0$0$i = $34;
HEAP8[$$elt>>0] = $_0$sroa$0$0$i;
HEAP8[$$pre$phiZ2D>>0] = 1;
STACKTOP = sp;return;
} else {
$11 = $5;
HEAP32[$writer$i$i>>2] = $11;
$12 = ((($writer$i$i)) + 4|0);
HEAP8[$12>>0] = 0;
$13 = ($10<<24>>24)==(0);
$$$i$i = $13 ? 13864 : 6182;
$14 = $10&255;
HEAP32[$prefix$i$i>>2] = $$$i$i;
$15 = ((($prefix$i$i)) + 4|0);
HEAP32[$15>>2] = $14;
$16 = $prefix$i$i;
HEAP32[$_17$i$i>>2] = $16;
$17 = ((($_17$i$i)) + 4|0);
HEAP32[$17>>2] = (128);
$18 = ((($_17$i$i)) + 8|0);
HEAP32[$18>>2] = $4;
$19 = ((($_17$i$i)) + 12|0);
HEAP32[$19>>2] = (130);
HEAP32[$_12$i$i>>2] = 3172;
$20 = ((($_12$i$i)) + 4|0);
HEAP32[$20>>2] = 2;
$_8$sroa$0$0$$sroa_idx$i$i$i = ((($_12$i$i)) + 8|0);
HEAP32[$_8$sroa$0$0$$sroa_idx$i$i$i>>2] = 3188;
$_8$sroa$4$0$$sroa_idx2$i$i$i = ((($_12$i$i)) + 12|0);
HEAP32[$_8$sroa$4$0$$sroa_idx2$i$i$i>>2] = 2;
$21 = ((($_12$i$i)) + 16|0);
HEAP32[$21>>2] = $_17$i$i;
$22 = ((($_12$i$i)) + 20|0);
HEAP32[$22>>2] = 2;
$23 = (__ZN4core3fmt5write17hd46092952e27f1dbE($writer$i$i,2096,$_12$i$i)|0);
$$pre$phiZ2D = $9;$_0$sroa$0$0$i = $23;
HEAP8[$$elt>>0] = $_0$sroa$0$0$i;
HEAP8[$$pre$phiZ2D>>0] = 1;
STACKTOP = sp;return;
}
}
function __ZN4core3fmt8builders14debug_list_new17h488b25187e18b842E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $_12$sroa$4$0$$sroa_idx = 0, $_12$sroa$5$0$$sroa_idx = 0, $_5$sroa$4$0$$sroa_idx11 = 0, $_5$sroa$5$0$$sroa_idx13 = 0, $_5$sroa$616$0$$sroa_idx18 = 0, $_5$sroa$7$0$$sroa_idx20 = 0, $_7$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$_7$i = sp;
$2 = ((($1)) + 28|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($1)) + 32|0);
$5 = HEAP32[$4>>2]|0;
HEAP32[$_7$i>>2] = 3464;
$_5$sroa$4$0$$sroa_idx11 = ((($_7$i)) + 4|0);
HEAP32[$_5$sroa$4$0$$sroa_idx11>>2] = 1;
$_5$sroa$5$0$$sroa_idx13 = ((($_7$i)) + 8|0);
HEAP32[$_5$sroa$5$0$$sroa_idx13>>2] = 0;
$_5$sroa$616$0$$sroa_idx18 = ((($_7$i)) + 16|0);
HEAP32[$_5$sroa$616$0$$sroa_idx18>>2] = 13320;
$_5$sroa$7$0$$sroa_idx20 = ((($_7$i)) + 20|0);
HEAP32[$_5$sroa$7$0$$sroa_idx20>>2] = 0;
$6 = (__ZN4core3fmt5write17hd46092952e27f1dbE($3,$5,$_7$i)|0);
HEAP32[$0>>2] = $1;
$_12$sroa$4$0$$sroa_idx = ((($0)) + 4|0);
HEAP8[$_12$sroa$4$0$$sroa_idx>>0] = $6;
$_12$sroa$5$0$$sroa_idx = ((($0)) + 5|0);
HEAP8[$_12$sroa$5$0$$sroa_idx>>0] = 0;
STACKTOP = sp;return;
}
function __ZN4core3fmt8builders9DebugList5entry17hbd8ca6411b27d3c0E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var label = 0, sp = 0;
sp = STACKTOP;
__ZN4core3fmt8builders10DebugInner5entry17h8fce3e38b40a4004E($0,$1,$2);
return ($0|0);
}
function __ZN4core3fmt8builders9DebugList6finish17hddbce7136dbcb81aE($0) {
$0 = $0|0;
var $$elt$i = 0, $$unpack$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, $22 = 0, $3 = 0, $4 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$sroa$0$0$i = 0, $prefix$sroa$0$0$i = 0, $prefix$sroa$5$0$i = 0, $switch3$i$i = 0, $switch4$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = HEAP32[$1>>2]|0;
$3 = $2 & 4;
$4 = ($3|0)==(0);
if ($4) {
label = 3;
} else {
$5 = ((($0)) + 5|0);
$6 = HEAP8[$5>>0]|0;
$7 = ($6<<24>>24)==(0);
if ($7) {
label = 3;
} else {
$prefix$sroa$0$0$i = 10876;$prefix$sroa$5$0$i = 1;
}
}
if ((label|0) == 3) {
$prefix$sroa$0$0$i = 13864;$prefix$sroa$5$0$i = 0;
}
$$elt$i = ((($0)) + 4|0);
$$unpack$i = HEAP8[$$elt$i>>0]|0;
$switch3$i$i = ($$unpack$i<<24>>24)==(0);
if (!($switch3$i$i)) {
HEAP8[$$elt$i>>0] = 1;
$_0$sroa$0$0$i = 1;
return ($_0$sroa$0$0$i|0);
}
$8 = ((($1)) + 28|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($1)) + 32|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($11)) + 12|0);
$13 = HEAP32[$12>>2]|0;
$14 = (FUNCTION_TABLE_iiii[$13 & 255]($9,$prefix$sroa$0$0$i,$prefix$sroa$5$0$i)|0);
HEAP8[$$elt$i>>0] = $14;
$switch4$i = ($14<<24>>24)==(0);
if (!($switch4$i)) {
$_0$sroa$0$0$i = 1;
return ($_0$sroa$0$0$i|0);
}
$15 = HEAP32[$0>>2]|0;
$16 = ((($15)) + 28|0);
$17 = HEAP32[$16>>2]|0;
$18 = ((($15)) + 32|0);
$19 = HEAP32[$18>>2]|0;
$20 = ((($19)) + 12|0);
$21 = HEAP32[$20>>2]|0;
$22 = (FUNCTION_TABLE_iiii[$21 & 255]($17,6212,1)|0);
$_0$sroa$0$0$i = $22;
return ($_0$sroa$0$0$i|0);
}
function __ZN4core3fmt10ArgumentV110from_usize17h87243fdafce78d5cE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
HEAP32[$0>>2] = $1;
$2 = ((($0)) + 4|0);
HEAP32[$2>>2] = 129;
return;
}
function __ZN73__LT_core__fmt__Arguments_LT__u27_a_GT__u20_as_u20_core__fmt__Display_GT_3fmt17h6c8fa2d32bd81090E($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;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$_7 = sp;
$2 = ((($1)) + 28|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($1)) + 32|0);
$5 = HEAP32[$4>>2]|0;
;HEAP32[$_7>>2]=HEAP32[$0>>2]|0;HEAP32[$_7+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$_7+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$_7+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$_7+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$_7+20>>2]=HEAP32[$0+20>>2]|0;
$6 = (__ZN4core3fmt5write17hd46092952e27f1dbE($3,$5,$_7)|0);
STACKTOP = sp;return ($6|0);
}
function __ZN4core3fmt9Formatter9write_fmt17h7388fe1ca82e1a14E($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;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$_7 = sp;
$2 = ((($0)) + 28|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($0)) + 32|0);
$5 = HEAP32[$4>>2]|0;
;HEAP32[$_7>>2]=HEAP32[$1>>2]|0;HEAP32[$_7+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$_7+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$_7+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$_7+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$_7+20>>2]=HEAP32[$1+20>>2]|0;
$6 = (__ZN4core3fmt5write17hd46092952e27f1dbE($3,$5,$_7)|0);
STACKTOP = sp;return ($6|0);
}
function __ZN4core3fmt9Formatter9alternate17h0e69d5f2818bb74fE($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = $1 & 4;
$3 = ($2|0)!=(0);
return ($3|0);
}
function __ZN40__LT_str_u20_as_u20_core__fmt__Debug_GT_3fmt17heb04748374127a20E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$$i50 = 0, $$cast$i = 0, $$cast$i214 = 0, $$cast$i214224 = 0, $$cast$i217 = 0, $$iter2$sroa$9$0 = 0, $$pre$i = 0, $$pre$phi$iZ2D = 0, $$sink$i$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0;
var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 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, $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, $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;
var $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, $98 = 0, $99 = 0;
var $_0$0$i = 0, $_0$0$i10$i$i$i = 0, $_0$0$i16$i$i$i = 0, $_0$0$i23$i$i$i = 0, $_0$sroa$0$0 = 0, $_5$sroa$4$0$ph$i = 0, $_59$sroa$14$2$ph = 0, $from$0$ph$lcssa213 = 0, $from$0$ph$lcssa213255 = 0, $from$0$ph$lcssa213256 = 0, $from$0$ph223 = 0, $init_state$sroa$0$0$i = 0, $init_state$sroa$15$0$i$off32 = 0, $init_state$sroa$9$0$i = 0, $iter$sroa$0$0$ph221 = 0, $iter$sroa$0$0215 = 0, $iter$sroa$6$0$ph222 = 0, $iter$sroa$6$0216 = 0, $iter$sroa$6$1 = 0, $iter$sroa$6$2 = 0;
var $iter$sroa$6$3 = 0, $iter$sroa$6$4 = 0, $iter2$sroa$0$0 = 0, $iter2$sroa$0$1$ph = 0, $iter2$sroa$1587$0 = 0, $iter2$sroa$1587$2$ph = 0, $iter2$sroa$9$2$ph = 0, $not$$i$i = 0, $not$$i$i67 = 0, $not$$i8$i = 0, $not$switch4$i = 0, $not$switch4$i48 = 0, $not$switch4$i53 = 0, $not$switch4$i64 = 0, $or$cond$i$i = 0, $or$cond$i$i66 = 0, $or$cond$i7$i = 0, $phitmp$i$i$i = 0, $phitmp32$i$i$i = 0, $phitmp33$i$i$i = 0;
var $switch = 0, $trunc$i = 0, $trunc$i$clear = 0, $trunc$i$i = 0, $trunc$i$i$clear = 0, label = 0, 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 & 255]($4,34)|0);
$not$switch4$i = ($9<<24>>24)==(0);
if (!($not$switch4$i)) {
$_0$sroa$0$0 = 1;
return ($_0$sroa$0$0|0);
}
$10 = (($0) + ($1)|0);
$11 = ($1|0)==(0);
do {
if ($11) {
$from$0$ph$lcssa213256 = 0;
label = 17;
} else {
$12 = $0;
$$cast$i214224 = $0;$from$0$ph223 = 0;$iter$sroa$0$0$ph221 = 0;$iter$sroa$6$0$ph222 = $12;
L6: while(1) {
$$cast$i217 = $$cast$i214224;$iter$sroa$0$0215 = $iter$sroa$0$0$ph221;$iter$sroa$6$0216 = $iter$sroa$6$0$ph222;
while(1) {
$15 = ((($$cast$i217)) + 1|0);
$16 = $15;
$14 = HEAP8[$$cast$i217>>0]|0;
$17 = ($14<<24>>24)>(-1);
if ($17) {
$13 = $14&255;
$_5$sroa$4$0$ph$i = $13;$iter$sroa$6$4 = $16;
} else {
$18 = $14 & 31;
$19 = $18&255;
$20 = ($15|0)==($10|0);
if ($20) {
$29 = $10;$_0$0$i23$i$i$i = 0;$iter$sroa$6$1 = $16;
} else {
$21 = ((($$cast$i217)) + 2|0);
$22 = $21;
$23 = HEAP8[$15>>0]|0;
$phitmp$i$i$i = $23 & 63;
$29 = $21;$_0$0$i23$i$i$i = $phitmp$i$i$i;$iter$sroa$6$1 = $22;
}
$24 = $19 << 6;
$25 = $_0$0$i23$i$i$i&255;
$26 = $25 | $24;
$27 = ($14&255)>(223);
if ($27) {
$28 = ($29|0)==($10|0);
if ($28) {
$40 = $10;$_0$0$i16$i$i$i = 0;$iter$sroa$6$2 = $iter$sroa$6$1;
} else {
$30 = ((($29)) + 1|0);
$31 = $30;
$32 = HEAP8[$29>>0]|0;
$phitmp32$i$i$i = $32 & 63;
$40 = $30;$_0$0$i16$i$i$i = $phitmp32$i$i$i;$iter$sroa$6$2 = $31;
}
$33 = $25 << 6;
$34 = $_0$0$i16$i$i$i&255;
$35 = $34 | $33;
$36 = $19 << 12;
$37 = $35 | $36;
$38 = ($14&255)>(239);
if ($38) {
$39 = ($40|0)==($10|0);
if ($39) {
$_0$0$i10$i$i$i = 0;$iter$sroa$6$3 = $iter$sroa$6$2;
} else {
$41 = ((($40)) + 1|0);
$42 = $41;
$43 = HEAP8[$40>>0]|0;
$phitmp33$i$i$i = $43 & 63;
$_0$0$i10$i$i$i = $phitmp33$i$i$i;$iter$sroa$6$3 = $42;
}
$44 = $19 << 18;
$45 = $44 & 1835008;
$46 = $35 << 6;
$47 = $_0$0$i10$i$i$i&255;
$48 = $46 | $45;
$49 = $48 | $47;
$_5$sroa$4$0$ph$i = $49;$iter$sroa$6$4 = $iter$sroa$6$3;
} else {
$_5$sroa$4$0$ph$i = $37;$iter$sroa$6$4 = $iter$sroa$6$2;
}
} else {
$_5$sroa$4$0$ph$i = $26;$iter$sroa$6$4 = $iter$sroa$6$1;
}
}
$61 = (($iter$sroa$0$0215) - ($iter$sroa$6$0216))|0;
$62 = (($61) + ($iter$sroa$6$4))|0;
switch ($_5$sroa$4$0$ph$i|0) {
case 9: {
$init_state$sroa$0$0$i = 2;$init_state$sroa$15$0$i$off32 = 0;$init_state$sroa$9$0$i = 116;
break;
}
case 13: {
$init_state$sroa$0$0$i = 2;$init_state$sroa$15$0$i$off32 = 0;$init_state$sroa$9$0$i = 114;
break;
}
case 10: {
$init_state$sroa$0$0$i = 2;$init_state$sroa$15$0$i$off32 = 0;$init_state$sroa$9$0$i = 110;
break;
}
case 34: case 39: case 92: {
$init_state$sroa$0$0$i = 2;$init_state$sroa$15$0$i$off32 = 0;$init_state$sroa$9$0$i = $_5$sroa$4$0$ph$i;
break;
}
default: {
$63 = (__ZN4core12char_private12is_printable17h2d5bfbd79eaa54b2E($_5$sroa$4$0$ph$i)|0);
if ($63) {
$init_state$sroa$0$0$i = 1;$init_state$sroa$15$0$i$off32 = 0;$init_state$sroa$9$0$i = $_5$sroa$4$0$ph$i;
} else {
$64 = $_5$sroa$4$0$ph$i | 1;
$65 = (Math_clz32(($64|0))|0);
$66 = (31 - ($65))|0;
$67 = $66 >>> 2;
$init_state$sroa$0$0$i = 3;$init_state$sroa$15$0$i$off32 = $67;$init_state$sroa$9$0$i = $_5$sroa$4$0$ph$i;
}
}
}
$switch = ($init_state$sroa$0$0$i|0)==(1);
if (!($switch)) {
break;
}
$$cast$i = $iter$sroa$6$4;
$68 = ($$cast$i|0)==($10|0);
if ($68) {
$from$0$ph$lcssa213 = $from$0$ph223;
label = 16;
break L6;
} else {
$$cast$i217 = $$cast$i;$iter$sroa$0$0215 = $62;$iter$sroa$6$0216 = $iter$sroa$6$4;
}
}
$69 = ($iter$sroa$0$0215>>>0)<($from$0$ph223>>>0);
if ($69) {
label = 31;
break;
}
$75 = ($from$0$ph223|0)==(0);
$76 = ($from$0$ph223|0)==($1|0);
$or$cond$i7$i = $75 | $76;
if (!($or$cond$i7$i)) {
$not$$i8$i = ($from$0$ph223>>>0)<($1>>>0);
if (!($not$$i8$i)) {
label = 31;
break;
}
$77 = (($0) + ($from$0$ph223)|0);
$78 = HEAP8[$77>>0]|0;
$79 = ($78<<24>>24)>(-65);
if (!($79)) {
label = 31;
break;
}
}
$70 = ($iter$sroa$0$0215|0)==(0);
$71 = ($iter$sroa$0$0215|0)==($1|0);
$or$cond$i$i = $70 | $71;
if (!($or$cond$i$i)) {
$not$$i$i = ($iter$sroa$0$0215>>>0)<($1>>>0);
if (!($not$$i$i)) {
label = 31;
break;
}
$72 = (($0) + ($iter$sroa$0$0215)|0);
$73 = HEAP8[$72>>0]|0;
$74 = ($73<<24>>24)>(-65);
if (!($74)) {
label = 31;
break;
}
}
$80 = (($0) + ($from$0$ph223)|0);
$81 = (($iter$sroa$0$0215) - ($from$0$ph223))|0;
$82 = HEAP32[$3>>2]|0;
$83 = HEAP32[$5>>2]|0;
$84 = ((($83)) + 12|0);
$85 = HEAP32[$84>>2]|0;
$86 = (FUNCTION_TABLE_iiii[$85 & 255]($82,$80,$81)|0);
$not$switch4$i53 = ($86<<24>>24)==(0);
if ($not$switch4$i53) {
$iter2$sroa$0$0 = $init_state$sroa$0$0$i;$iter2$sroa$1587$0 = $init_state$sroa$15$0$i$off32;$trunc$i$i = 5;
} else {
$_0$sroa$0$0 = 1;
label = 4;
break;
}
L43: while(1) {
$trunc$i = $iter2$sroa$0$0&255;
$trunc$i$clear = $trunc$i & 3;
L45: do {
switch ($trunc$i$clear<<24>>24) {
case 0: {
break L43;
break;
}
case 1: {
$_59$sroa$14$2$ph = $init_state$sroa$9$0$i;$iter2$sroa$0$1$ph = 0;$iter2$sroa$1587$2$ph = $iter2$sroa$1587$0;$iter2$sroa$9$2$ph = $trunc$i$i;
break;
}
case 2: {
$_59$sroa$14$2$ph = 92;$iter2$sroa$0$1$ph = 1;$iter2$sroa$1587$2$ph = $iter2$sroa$1587$0;$iter2$sroa$9$2$ph = $trunc$i$i;
break;
}
case 3: {
$trunc$i$i$clear = $trunc$i$i & 7;
switch ($trunc$i$i$clear<<24>>24) {
case 0: {
break L43;
break;
}
case 5: {
$_59$sroa$14$2$ph = 92;$iter2$sroa$0$1$ph = $iter2$sroa$0$0;$iter2$sroa$1587$2$ph = $iter2$sroa$1587$0;$iter2$sroa$9$2$ph = 4;
break L45;
break;
}
case 1: {
$_59$sroa$14$2$ph = 125;$iter2$sroa$0$1$ph = $iter2$sroa$0$0;$iter2$sroa$1587$2$ph = $iter2$sroa$1587$0;$iter2$sroa$9$2$ph = 0;
break L45;
break;
}
case 2: {
$87 = $iter2$sroa$1587$0 << 2;
$88 = $87 & 28;
$89 = $init_state$sroa$9$0$i >>> $88;
$90 = $89 & 15;
$91 = $90&255;
$92 = ($91&255)<(10);
$93 = $90 | 48;
$94 = (($90) + 87)|0;
$$sink$i$i = $92 ? $93 : $94;
$95 = $$sink$i$i & 127;
$96 = ($iter2$sroa$1587$0|0)==(0);
$97 = (($iter2$sroa$1587$0) + -1)|0;
$$ = $96 ? 0 : $97;
$$iter2$sroa$9$0 = $96 ? 1 : $trunc$i$i;
$_59$sroa$14$2$ph = $95;$iter2$sroa$0$1$ph = $iter2$sroa$0$0;$iter2$sroa$1587$2$ph = $$;$iter2$sroa$9$2$ph = $$iter2$sroa$9$0;
break L45;
break;
}
case 3: {
$_59$sroa$14$2$ph = 123;$iter2$sroa$0$1$ph = $iter2$sroa$0$0;$iter2$sroa$1587$2$ph = $iter2$sroa$1587$0;$iter2$sroa$9$2$ph = 2;
break L45;
break;
}
case 4: {
$_59$sroa$14$2$ph = 117;$iter2$sroa$0$1$ph = $iter2$sroa$0$0;$iter2$sroa$1587$2$ph = $iter2$sroa$1587$0;$iter2$sroa$9$2$ph = 3;
break L45;
break;
}
default: {
label = 46;
break L6;
}
}
break;
}
default: {
label = 47;
break L6;
}
}
} while(0);
$103 = HEAP32[$3>>2]|0;
$104 = HEAP32[$5>>2]|0;
$105 = ((($104)) + 16|0);
$106 = HEAP32[$105>>2]|0;
$107 = (FUNCTION_TABLE_iii[$106 & 255]($103,$_59$sroa$14$2$ph)|0);
$not$switch4$i48 = ($107<<24>>24)==(0);
if ($not$switch4$i48) {
$iter2$sroa$0$0 = $iter2$sroa$0$1$ph;$iter2$sroa$1587$0 = $iter2$sroa$1587$2$ph;$trunc$i$i = $iter2$sroa$9$2$ph;
} else {
$_0$sroa$0$0 = 1;
label = 4;
break L6;
}
}
$98 = ($_5$sroa$4$0$ph$i>>>0)<(128);
if ($98) {
$_0$0$i = 1;
} else {
$99 = ($_5$sroa$4$0$ph$i>>>0)<(2048);
if ($99) {
$_0$0$i = 2;
} else {
$100 = ($_5$sroa$4$0$ph$i>>>0)<(65536);
$$$i50 = $100 ? 3 : 4;
$_0$0$i = $$$i50;
}
}
$101 = (($_0$0$i) + ($iter$sroa$0$0215))|0;
$$cast$i214 = $iter$sroa$6$4;
$102 = ($$cast$i214|0)==($10|0);
if ($102) {
$from$0$ph$lcssa213 = $101;
label = 16;
break;
} else {
$$cast$i214224 = $$cast$i214;$from$0$ph223 = $101;$iter$sroa$0$0$ph221 = $62;$iter$sroa$6$0$ph222 = $iter$sroa$6$4;
}
}
if ((label|0) == 4) {
return ($_0$sroa$0$0|0);
}
else if ((label|0) == 16) {
$50 = ($from$0$ph$lcssa213|0)==(0);
$51 = ($from$0$ph$lcssa213|0)==($1|0);
$or$cond$i$i66 = $50 | $51;
if ($or$cond$i$i66) {
$from$0$ph$lcssa213256 = $from$0$ph$lcssa213;
label = 17;
break;
}
$not$$i$i67 = ($from$0$ph$lcssa213>>>0)<($1>>>0);
if (!($not$$i$i67)) {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($0,$1,$from$0$ph$lcssa213,$1);
// unreachable;
}
$52 = (($0) + ($from$0$ph$lcssa213)|0);
$53 = HEAP8[$52>>0]|0;
$54 = ($53<<24>>24)>(-65);
if ($54) {
$$pre$phi$iZ2D = $52;$from$0$ph$lcssa213255 = $from$0$ph$lcssa213;
break;
}
__ZN4core3str16slice_error_fail17he0c77f824296691dE($0,$1,$from$0$ph$lcssa213,$1);
// unreachable;
}
else if ((label|0) == 31) {
__ZN4core3str16slice_error_fail17he0c77f824296691dE($0,$1,$from$0$ph223,$iter$sroa$0$0215);
// unreachable;
}
else if ((label|0) == 46) {
// unreachable;
}
else if ((label|0) == 47) {
// unreachable;
}
}
} while(0);
if ((label|0) == 17) {
$$pre$i = (($0) + ($from$0$ph$lcssa213256)|0);
$$pre$phi$iZ2D = $$pre$i;$from$0$ph$lcssa213255 = $from$0$ph$lcssa213256;
}
$55 = (($1) - ($from$0$ph$lcssa213255))|0;
$56 = HEAP32[$3>>2]|0;
$57 = HEAP32[$5>>2]|0;
$58 = ((($57)) + 12|0);
$59 = HEAP32[$58>>2]|0;
$60 = (FUNCTION_TABLE_iiii[$59 & 255]($56,$$pre$phi$iZ2D,$55)|0);
$not$switch4$i64 = ($60<<24>>24)==(0);
if (!($not$switch4$i64)) {
$_0$sroa$0$0 = 1;
return ($_0$sroa$0$0|0);
}
$108 = HEAP32[$3>>2]|0;
$109 = HEAP32[$5>>2]|0;
$110 = ((($109)) + 16|0);
$111 = HEAP32[$110>>2]|0;
$112 = (FUNCTION_TABLE_iii[$111 & 255]($108,34)|0);
$_0$sroa$0$0 = $112;
return ($_0$sroa$0$0|0);
}
function __ZN4core12char_private12is_printable17h2d5bfbd79eaa54b2E($0) {
$0 = $0|0;
var $$off = 0, $$off2 = 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, $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, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, $_0$0$shrunk = 0, $_0$0$sroa$speculated$i$i$i = 0, $_0$0$sroa$speculated$i$i$i15 = 0, $cond$i = 0, $cond$i18 = 0, $iter$sroa$0$0$in$i = 0, $iter$sroa$0$0$in$i6 = 0, $iter2$sroa$0$0$in$i = 0, $iter2$sroa$0$0$in$i13 = 0, $iter2$sroa$6$0$i = 0, $iter2$sroa$6$0$i12 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = $0&65535;
$2 = ($0>>>0)<(65536);
if ($2) {
$iter$sroa$0$0$in$i = 3608;
while(1) {
$3 = ($iter$sroa$0$0$in$i|0)==((4180)|0);
if ($3) {
break;
}
$4 = HEAP16[$iter$sroa$0$0$in$i>>1]|0;
$5 = ($4<<16>>16)==($1<<16>>16);
if ($5) {
$_0$0$shrunk = 0;
label = 22;
break;
}
$6 = ((($iter$sroa$0$0$in$i)) + 2|0);
$7 = ($4&65535)>($1&65535);
if ($7) {
break;
} else {
$iter$sroa$0$0$in$i = $6;
}
}
if ((label|0) == 22) {
return ($_0$0$shrunk|0);
}
$8 = $0 & 65535;
$iter2$sroa$0$0$in$i = 4180;$iter2$sroa$6$0$i = 320;
while(1) {
$9 = ($iter2$sroa$6$0$i|0)==(0);
if ($9) {
$_0$0$shrunk = 1;
label = 22;
break;
}
$10 = ($iter2$sroa$6$0$i>>>0)>(2);
$_0$0$sroa$speculated$i$i$i = $10 ? 2 : $iter2$sroa$6$0$i;
$11 = (($iter2$sroa$0$0$in$i) + ($_0$0$sroa$speculated$i$i$i<<1)|0);
$12 = (($iter2$sroa$6$0$i) - ($_0$0$sroa$speculated$i$i$i))|0;
$cond$i = ($_0$0$sroa$speculated$i$i$i|0)==(1);
if ($cond$i) {
label = 10;
break;
}
$13 = HEAP16[$iter2$sroa$0$0$in$i>>1]|0;
$14 = $13&65535;
$15 = (($8) - ($14))|0;
$16 = ($15|0)>(-1);
if (!($16)) {
$_0$0$shrunk = 1;
label = 22;
break;
}
$17 = ((($iter2$sroa$0$0$in$i)) + 2|0);
$18 = HEAP16[$17>>1]|0;
$19 = $18&65535;
$20 = ($15|0)<($19|0);
if ($20) {
$_0$0$shrunk = 0;
label = 22;
break;
} else {
$iter2$sroa$0$0$in$i = $11;$iter2$sroa$6$0$i = $12;
}
}
if ((label|0) == 10) {
__ZN4core9panicking18panic_bounds_check17h09c081b9b8d6b9c2E(3472,1,1);
// unreachable;
}
else if ((label|0) == 22) {
return ($_0$0$shrunk|0);
}
}
$21 = ($0>>>0)<(131072);
if ($21) {
$iter$sroa$0$0$in$i6 = 4820;
} else {
$40 = ($0>>>0)<(194560);
$$off = (($0) + -195102)|0;
$41 = ($$off>>>0)<(722658);
$or$cond = $40 | $41;
if ($or$cond) {
$_0$0$shrunk = 0;
return ($_0$0$shrunk|0);
} else {
$$off2 = (($0) + -918000)|0;
$not$ = ($$off2>>>0)>(196111);
return ($not$|0);
}
}
while(1) {
$22 = ($iter$sroa$0$0$in$i6|0)==((5012)|0);
if ($22) {
break;
}
$23 = HEAP16[$iter$sroa$0$0$in$i6>>1]|0;
$24 = ($23<<16>>16)==($1<<16>>16);
if ($24) {
$_0$0$shrunk = 0;
label = 22;
break;
}
$25 = ((($iter$sroa$0$0$in$i6)) + 2|0);
$26 = ($23&65535)>($1&65535);
if ($26) {
break;
} else {
$iter$sroa$0$0$in$i6 = $25;
}
}
if ((label|0) == 22) {
return ($_0$0$shrunk|0);
}
$27 = $0 & 65535;
$iter2$sroa$0$0$in$i13 = 5012;$iter2$sroa$6$0$i12 = 172;
while(1) {
$28 = ($iter2$sroa$6$0$i12|0)==(0);
if ($28) {
$_0$0$shrunk = 1;
label = 22;
break;
}
$29 = ($iter2$sroa$6$0$i12>>>0)>(2);
$_0$0$sroa$speculated$i$i$i15 = $29 ? 2 : $iter2$sroa$6$0$i12;
$30 = (($iter2$sroa$0$0$in$i13) + ($_0$0$sroa$speculated$i$i$i15<<1)|0);
$31 = (($iter2$sroa$6$0$i12) - ($_0$0$sroa$speculated$i$i$i15))|0;
$cond$i18 = ($_0$0$sroa$speculated$i$i$i15|0)==(1);
if ($cond$i18) {
label = 20;
break;
}
$32 = HEAP16[$iter2$sroa$0$0$in$i13>>1]|0;
$33 = $32&65535;
$34 = (($27) - ($33))|0;
$35 = ($34|0)>(-1);
if (!($35)) {
$_0$0$shrunk = 1;
label = 22;
break;
}
$36 = ((($iter2$sroa$0$0$in$i13)) + 2|0);
$37 = HEAP16[$36>>1]|0;
$38 = $37&65535;
$39 = ($34|0)<($38|0);
if ($39) {
$_0$0$shrunk = 0;
label = 22;
break;
} else {
$iter2$sroa$0$0$in$i13 = $30;$iter2$sroa$6$0$i12 = $31;
}
}
if ((label|0) == 20) {
__ZN4core9panicking18panic_bounds_check17h09c081b9b8d6b9c2E(3472,1,1);
// unreachable;
}
else if ((label|0) == 22) {
return ($_0$0$shrunk|0);
}
return (0)|0;
}
function __ZN42__LT_str_u20_as_u20_core__fmt__Display_GT_3fmt17hd6b964e9fa51e196E($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__ZN4core3fmt9Formatter3pad17h15e5e7ed51fd8b39E($2,$0,$1)|0);
return ($3|0);
}
function __ZN53__LT__RF__u27_a_u20_T_u20_as_u20_core__fmt__Debug_GT_3fmt17hfe092e253a460d45E_368($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 = (__ZN4core3fmt3num54__LT_impl_u20_core__fmt__Display_u20_for_u20_usize_GT_3fmt17he5b488f276906c38E($2,$1)|0);
return ($3|0);
}
function __ZN4core3fmt3num52__LT_impl_u20_core__fmt__Display_u20_for_u20_u32_GT_3fmt17ha812b737041bafa0E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$old5 = 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, $buf31 = 0, $curr$0 = 0;
var $curr$1 = 0, $curr$2 = 0, $curr$3 = 0, $n$1 = 0, $n$2 = 0, $n1$0 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$buf31 = sp;
$2 = HEAP32[$0>>2]|0;
$3 = ($2>>>0)>(9999);
if ($3) {
$curr$0 = 20;$n$1 = $2;
while(1) {
$4 = (($n$1>>>0) % 10000)&-1;
$5 = (($n$1>>>0) / 10000)&-1;
$6 = (($4>>>0) / 100)&-1;
$7 = $6 << 1;
$8 = (($4>>>0) % 100)&-1;
$9 = $8 << 1;
$10 = (($curr$0) + -4)|0;
$11 = (10414 + ($7)|0);
$12 = (($buf31) + ($10)|0);
$13 = HEAPU8[$11>>0]|(HEAPU8[$11+1>>0]<<8);
HEAP8[$12>>0]=$13&255;HEAP8[$12+1>>0]=$13>>8;
$14 = (10414 + ($9)|0);
$15 = (($curr$0) + -2)|0;
$16 = (($buf31) + ($15)|0);
$17 = HEAPU8[$14>>0]|(HEAPU8[$14+1>>0]<<8);
HEAP8[$16>>0]=$17&255;HEAP8[$16+1>>0]=$17>>8;
$$old5 = ($n$1>>>0)>(99999999);
if ($$old5) {
$curr$0 = $10;$n$1 = $5;
} else {
$curr$1 = $10;$n$2 = $5;
break;
}
}
} else {
$curr$1 = 20;$n$2 = $2;
}
$18 = ($n$2|0)>(99);
if ($18) {
$19 = (($n$2>>>0) % 100)&-1;
$20 = $19 << 1;
$21 = (($n$2>>>0) / 100)&-1;
$22 = (($curr$1) + -2)|0;
$23 = (10414 + ($20)|0);
$24 = (($buf31) + ($22)|0);
$25 = HEAPU8[$23>>0]|(HEAPU8[$23+1>>0]<<8);
HEAP8[$24>>0]=$25&255;HEAP8[$24+1>>0]=$25>>8;
$curr$2 = $22;$n1$0 = $21;
} else {
$curr$2 = $curr$1;$n1$0 = $n$2;
}
$26 = ($n1$0|0)<(10);
if ($26) {
$27 = (($curr$2) + -1)|0;
$28 = $n1$0&255;
$29 = (($buf31) + ($27)|0);
$30 = (($28) + 48)<<24>>24;
HEAP8[$29>>0] = $30;
$curr$3 = $27;
$36 = (($buf31) + ($curr$3)|0);
$37 = (20 - ($curr$3))|0;
$38 = (__ZN4core3fmt9Formatter12pad_integral17hbde224f8c8c7171fE($1,1,13864,0,$36,$37)|0);
STACKTOP = sp;return ($38|0);
} else {
$31 = $n1$0 << 1;
$32 = (($curr$2) + -2)|0;
$33 = (10414 + ($31)|0);
$34 = (($buf31) + ($32)|0);
$35 = HEAPU8[$33>>0]|(HEAPU8[$33+1>>0]<<8);
HEAP8[$34>>0]=$35&255;HEAP8[$34+1>>0]=$35>>8;
$curr$3 = $32;
$36 = (($buf31) + ($curr$3)|0);
$37 = (20 - ($curr$3))|0;
$38 = (__ZN4core3fmt9Formatter12pad_integral17hbde224f8c8c7171fE($1,1,13864,0,$36,$37)|0);
STACKTOP = sp;return ($38|0);
}
return (0)|0;
}
function __ZN4core3num14from_str_radix17hf3b8af2c4c5de625E($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$arith = 0, $$arith2 = 0, $$denom = 0, $$div = 0, $$iszero = 0, $$off = 0, $$off$i47 = 0, $$off6$i52 = 0, $$off7$i54 = 0, $$overflow = 0, $$overflow3 = 0, $$same = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $_13 = 0, $_18 = 0, $_44$sroa$10$0119 = 0, $_44$sroa$632$0118 = 0, $_6$sroa$0$0$$sroa_idx$i = 0, $cond = 0, $iter$sroa$0$0$in136 = 0, $not$ = 0, $radix = 0, $result$0137 = 0, $val$0$i56 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$radix = sp + 32|0;
$_13 = sp + 8|0;
$_18 = sp;
HEAP32[$radix>>2] = $3;
$$off = (($3) + -2)|0;
$not$ = ($$off>>>0)>(34);
if ($not$) {
$4 = $radix;
HEAP32[$_18>>2] = $4;
$5 = ((($_18)) + 4|0);
HEAP32[$5>>2] = (74);
HEAP32[$_13>>2] = 3484;
$6 = ((($_13)) + 4|0);
HEAP32[$6>>2] = 1;
$_6$sroa$0$0$$sroa_idx$i = ((($_13)) + 8|0);
HEAP32[$_6$sroa$0$0$$sroa_idx$i>>2] = 0;
$7 = ((($_13)) + 16|0);
HEAP32[$7>>2] = $_18;
$8 = ((($_13)) + 20|0);
HEAP32[$8>>2] = 1;
__ZN4core9panicking9panic_fmt17hd37574de04720b9cE($_13,3016);
// unreachable;
}
$9 = ($2|0)==(0);
do {
if ($9) {
HEAP8[$0>>0] = 1;
$10 = ((($0)) + 1|0);
HEAP8[$10>>0] = 0;
} else {
$11 = HEAP8[$1>>0]|0;
$cond = ($11<<24>>24)==(43);
if ($cond) {
$12 = ((($1)) + 1|0);
$13 = (($2) + -1)|0;
$14 = ($13|0)==(0);
if ($14) {
HEAP8[$0>>0] = 1;
$15 = ((($0)) + 1|0);
HEAP8[$15>>0] = 0;
break;
} else {
$_44$sroa$10$0119 = $13;$_44$sroa$632$0118 = $12;
}
} else {
$_44$sroa$10$0119 = $2;$_44$sroa$632$0118 = $1;
}
$16 = (($_44$sroa$632$0118) + ($_44$sroa$10$0119)|0);
$17 = ($3>>>0)>(36);
if ($17) {
__ZN4core9panicking5panic17h7842870c7e688275E(2880);
// unreachable;
} else {
$iter$sroa$0$0$in136 = $_44$sroa$632$0118;$result$0137 = 0;
}
L13: while(1) {
$18 = ((($iter$sroa$0$0$in136)) + 1|0);
$19 = HEAP8[$iter$sroa$0$0$in136>>0]|0;
$20 = $19&255;
$$off$i47 = (($20) + -48)|0;
$21 = ($$off$i47>>>0)<(10);
do {
if ($21) {
$val$0$i56 = $$off$i47;
} else {
$$off6$i52 = (($20) + -97)|0;
$24 = ($$off6$i52>>>0)<(26);
if ($24) {
$22 = (($20) + -87)|0;
$val$0$i56 = $22;
break;
}
$$off7$i54 = (($20) + -65)|0;
$25 = ($$off7$i54>>>0)<(26);
if (!($25)) {
label = 18;
break L13;
}
$23 = (($20) + -55)|0;
$val$0$i56 = $23;
}
} while(0);
$26 = ($val$0$i56>>>0)<($3>>>0);
if (!($26)) {
label = 18;
break;
}
$$arith2 = Math_imul($result$0137, $3)|0;
$$iszero = ($3|0)==(0);
$$denom = $$iszero ? 1 : $3;
$$div = (($$arith2>>>0) / ($$denom>>>0))&-1;
$$same = ($$div|0)!=($result$0137|0);
$$overflow3 = $$iszero ? 0 : $$same;
if ($$overflow3) {
label = 20;
break;
}
$$arith = (($$arith2) + ($val$0$i56))|0;
$$overflow = ($$arith>>>0)<($$arith2>>>0);
if ($$overflow) {
label = 22;
break;
}
$30 = ($18|0)==($16|0);
if ($30) {
label = 24;
break;
} else {
$iter$sroa$0$0$in136 = $18;$result$0137 = $$arith;
}
}
if ((label|0) == 18) {
HEAP8[$0>>0] = 1;
$27 = ((($0)) + 1|0);
HEAP8[$27>>0] = 1;
break;
}
else if ((label|0) == 20) {
HEAP8[$0>>0] = 1;
$28 = ((($0)) + 1|0);
HEAP8[$28>>0] = 2;
break;
}
else if ((label|0) == 22) {
HEAP8[$0>>0] = 1;
$29 = ((($0)) + 1|0);
HEAP8[$29>>0] = 2;
break;
}
else if ((label|0) == 24) {
HEAP8[$0>>0] = 0;
$31 = ((($0)) + 4|0);
HEAP32[$31>>2] = $$arith;
STACKTOP = sp;return;
}
}
} while(0);
STACKTOP = sp;return;
}
function __ZN4core3num54__LT_impl_u20_core__str__FromStr_u20_for_u20_usize_GT_8from_str17h4793feede7feceaaE($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var label = 0, sp = 0;
sp = STACKTOP;
__ZN4core3num14from_str_radix17hf3b8af2c4c5de625E($0,$1,$2,10);
return;
}
function __ZN61__LT_core__num__ParseIntError_u20_as_u20_core__fmt__Debug_GT_3fmt17h7eade207e0480d65E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$repack$i$i = 0, $$unpack$i = 0, $$unpack$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, $3 = 0, $4 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$sroa$0$0$i$i = 0, $_17 = 0, $builder = 0, $switch4$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$builder = sp;
$_17 = sp + 8|0;
$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 & 255]($3,11094,13)|0);
HEAP32[$builder>>2] = $1;
$$repack$i$i = ((($builder)) + 4|0);
HEAP8[$$repack$i$i>>0] = $8;
$9 = ((($builder)) + 5|0);
HEAP8[$9>>0] = 0;
HEAP32[$_17>>2] = $0;
(__ZN4core3fmt8builders11DebugStruct5field17h31ee2ff35fec0accE($builder,11023,4,$_17,2160)|0);
$10 = HEAP8[$9>>0]|0;
$11 = ($10<<24>>24)==(0);
$$unpack$pre$i = HEAP8[$$repack$i$i>>0]|0;
if ($11) {
$$unpack$i = $$unpack$pre$i;
STACKTOP = sp;return ($$unpack$i|0);
}
$switch4$i$i = ($$unpack$pre$i<<24>>24)==(0);
do {
if ($switch4$i$i) {
$12 = HEAP32[$builder>>2]|0;
$13 = HEAP32[$12>>2]|0;
$14 = $13 & 4;
$15 = ($14|0)==(0);
$16 = ((($12)) + 28|0);
$17 = HEAP32[$16>>2]|0;
$18 = ((($12)) + 32|0);
$19 = HEAP32[$18>>2]|0;
$20 = ((($19)) + 12|0);
$21 = HEAP32[$20>>2]|0;
if ($15) {
$23 = (FUNCTION_TABLE_iiii[$21 & 255]($17,10912,2)|0);
$_0$sroa$0$0$i$i = $23;
break;
} else {
$22 = (FUNCTION_TABLE_iiii[$21 & 255]($17,10910,2)|0);
$_0$sroa$0$0$i$i = $22;
break;
}
} else {
$_0$sroa$0$0$i$i = 1;
}
} while(0);
HEAP8[$$repack$i$i>>0] = $_0$sroa$0$0$i$i;
$$unpack$i = $_0$sroa$0$0$i$i;
STACKTOP = sp;return ($$unpack$i|0);
}
function __ZN53__LT__RF__u27_a_u20_T_u20_as_u20_core__fmt__Debug_GT_3fmt17hde03977e1954095dE($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$sroa$0$0$i = 0, $trunc$i = 0, $trunc$i$clear = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$trunc$i = HEAP8[$2>>0]|0;
$trunc$i$clear = $trunc$i & 3;
switch ($trunc$i$clear<<24>>24) {
case 0: {
$3 = ((($1)) + 28|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($1)) + 32|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($6)) + 12|0);
$8 = HEAP32[$7>>2]|0;
$9 = (FUNCTION_TABLE_iiii[$8 & 255]($4,11027,5)|0);
$_0$sroa$0$0$i = $9;
return ($_0$sroa$0$0$i|0);
break;
}
case 1: {
$10 = ((($1)) + 28|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($1)) + 32|0);
$13 = HEAP32[$12>>2]|0;
$14 = ((($13)) + 12|0);
$15 = HEAP32[$14>>2]|0;
$16 = (FUNCTION_TABLE_iiii[$15 & 255]($11,11107,12)|0);
$_0$sroa$0$0$i = $16;
return ($_0$sroa$0$0$i|0);
break;
}
case 2: {
$17 = ((($1)) + 28|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($1)) + 32|0);
$20 = HEAP32[$19>>2]|0;
$21 = ((($20)) + 12|0);
$22 = HEAP32[$21>>2]|0;
$23 = (FUNCTION_TABLE_iiii[$22 & 255]($18,11119,8)|0);
$_0$sroa$0$0$i = $23;
return ($_0$sroa$0$0$i|0);
break;
}
case 3: {
$24 = ((($1)) + 28|0);
$25 = HEAP32[$24>>2]|0;
$26 = ((($1)) + 32|0);
$27 = HEAP32[$26>>2]|0;
$28 = ((($27)) + 12|0);
$29 = HEAP32[$28>>2]|0;
$30 = (FUNCTION_TABLE_iiii[$29 & 255]($25,11127,9)|0);
$_0$sroa$0$0$i = $30;
return ($_0$sroa$0$0$i|0);
break;
}
default: {
// unreachable;
}
}
return (0)|0;
}
function __ZN4core3fmt3num49__LT_impl_u20_core__fmt__Debug_u20_for_u20_u8_GT_3fmt17h12b2a76cb508f5ebE($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, $buf31$i = 0, $curr$232$i = 0, $curr$3$i = 0, $div$i = 0, $n1$033$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$buf31$i = 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$i = (($2&255) / 100)&-1;
$8 = $div$i&255;
$9 = (10414 + ($7)|0);
$10 = ((($buf31$i)) + 18|0);
$11 = HEAPU8[$9>>0]|(HEAPU8[$9+1>>0]<<8);
HEAP8[$10>>0]=$11&255;HEAP8[$10+1>>0]=$11>>8;
$curr$232$i = 17;$n1$033$i = $8;
label = 4;
} else {
$12 = ($2&255)<(10);
if ($12) {
$curr$232$i = 19;$n1$033$i = $3;
label = 4;
} else {
$16 = $3 << 1;
$17 = (10414 + ($16)|0);
$18 = ((($buf31$i)) + 18|0);
$19 = HEAPU8[$17>>0]|(HEAPU8[$17+1>>0]<<8);
HEAP8[$18>>0]=$19&255;HEAP8[$18+1>>0]=$19>>8;
$curr$3$i = 18;
}
}
if ((label|0) == 4) {
$13 = $n1$033$i&255;
$14 = (($buf31$i) + ($curr$232$i)|0);
$15 = (($13) + 48)<<24>>24;
HEAP8[$14>>0] = $15;
$curr$3$i = $curr$232$i;
}
$20 = (($buf31$i) + ($curr$3$i)|0);
$21 = (20 - ($curr$3$i))|0;
$22 = (__ZN4core3fmt9Formatter12pad_integral17hbde224f8c8c7171fE($1,1,13864,0,$20,$21)|0);
STACKTOP = sp;return ($22|0);
}
function __ZN4core3fmt3num50__LT_impl_u20_core__fmt__Debug_u20_for_u20_i32_GT_3fmt17h359494dc342ace64E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__ZN4core3fmt3num52__LT_impl_u20_core__fmt__Display_u20_for_u20_i32_GT_3fmt17h000903950b9ba0ceE($0,$1)|0);
return ($2|0);
}
function __ZN4core3fmt3num52__LT_impl_u20_core__fmt__Display_u20_for_u20_i32_GT_3fmt17h000903950b9ba0ceE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$old5 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $buf31 = 0, $curr$0 = 0, $curr$1 = 0, $curr$2 = 0, $curr$3 = 0, $n$1 = 0, $n$2 = 0, $n1$0 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$buf31 = sp;
$2 = HEAP32[$0>>2]|0;
$3 = ($2|0)>(-1);
$4 = (0 - ($2))|0;
$$ = $3 ? $2 : $4;
$5 = ($$>>>0)>(9999);
if ($5) {
$curr$0 = 20;$n$1 = $$;
while(1) {
$6 = (($n$1>>>0) % 10000)&-1;
$7 = (($n$1>>>0) / 10000)&-1;
$8 = (($6>>>0) / 100)&-1;
$9 = $8 << 1;
$10 = (($6>>>0) % 100)&-1;
$11 = $10 << 1;
$12 = (($curr$0) + -4)|0;
$13 = (10414 + ($9)|0);
$14 = (($buf31) + ($12)|0);
$15 = HEAPU8[$13>>0]|(HEAPU8[$13+1>>0]<<8);
HEAP8[$14>>0]=$15&255;HEAP8[$14+1>>0]=$15>>8;
$16 = (10414 + ($11)|0);
$17 = (($curr$0) + -2)|0;
$18 = (($buf31) + ($17)|0);
$19 = HEAPU8[$16>>0]|(HEAPU8[$16+1>>0]<<8);
HEAP8[$18>>0]=$19&255;HEAP8[$18+1>>0]=$19>>8;
$$old5 = ($n$1>>>0)>(99999999);
if ($$old5) {
$curr$0 = $12;$n$1 = $7;
} else {
$curr$1 = $12;$n$2 = $7;
break;
}
}
} else {
$curr$1 = 20;$n$2 = $$;
}
$20 = ($n$2|0)>(99);
if ($20) {
$21 = (($n$2>>>0) % 100)&-1;
$22 = $21 << 1;
$23 = (($n$2>>>0) / 100)&-1;
$24 = (($curr$1) + -2)|0;
$25 = (10414 + ($22)|0);
$26 = (($buf31) + ($24)|0);
$27 = HEAPU8[$25>>0]|(HEAPU8[$25+1>>0]<<8);
HEAP8[$26>>0]=$27&255;HEAP8[$26+1>>0]=$27>>8;
$curr$2 = $24;$n1$0 = $23;
} else {
$curr$2 = $curr$1;$n1$0 = $n$2;
}
$28 = ($n1$0|0)<(10);
if ($28) {
$29 = (($curr$2) + -1)|0;
$30 = $n1$0&255;
$31 = (($buf31) + ($29)|0);
$32 = (($30) + 48)<<24>>24;
HEAP8[$31>>0] = $32;
$curr$3 = $29;
$38 = (($buf31) + ($curr$3)|0);
$39 = (20 - ($curr$3))|0;
$40 = (__ZN4core3fmt9Formatter12pad_integral17hbde224f8c8c7171fE($1,$3,13864,0,$38,$39)|0);
STACKTOP = sp;return ($40|0);
} else {
$33 = $n1$0 << 1;
$34 = (($curr$2) + -2)|0;
$35 = (10414 + ($33)|0);
$36 = (($buf31) + ($34)|0);
$37 = HEAPU8[$35>>0]|(HEAPU8[$35+1>>0]<<8);
HEAP8[$36>>0]=$37&255;HEAP8[$36+1>>0]=$37>>8;
$curr$3 = $34;
$38 = (($buf31) + ($curr$3)|0);
$39 = (20 - ($curr$3))|0;
$40 = (__ZN4core3fmt9Formatter12pad_integral17hbde224f8c8c7171fE($1,$3,13864,0,$38,$39)|0);
STACKTOP = sp;return ($40|0);
}
return (0)|0;
}
function __ZN4core3fmt3num54__LT_impl_u20_core__fmt__Display_u20_for_u20_isize_GT_3fmt17h9477595b41a17c3dE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$old5 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $buf31 = 0, $curr$0 = 0, $curr$1 = 0, $curr$2 = 0, $curr$3 = 0, $n$1 = 0, $n$2 = 0, $n1$0 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$buf31 = sp;
$2 = HEAP32[$0>>2]|0;
$3 = ($2|0)>(-1);
$4 = (0 - ($2))|0;
$$ = $3 ? $2 : $4;
$5 = ($$>>>0)>(9999);
if ($5) {
$curr$0 = 20;$n$1 = $$;
while(1) {
$6 = (($n$1>>>0) % 10000)&-1;
$7 = (($n$1>>>0) / 10000)&-1;
$8 = (($6>>>0) / 100)&-1;
$9 = $8 << 1;
$10 = (($6>>>0) % 100)&-1;
$11 = $10 << 1;
$12 = (($curr$0) + -4)|0;
$13 = (10414 + ($9)|0);
$14 = (($buf31) + ($12)|0);
$15 = HEAPU8[$13>>0]|(HEAPU8[$13+1>>0]<<8);
HEAP8[$14>>0]=$15&255;HEAP8[$14+1>>0]=$15>>8;
$16 = (10414 + ($11)|0);
$17 = (($curr$0) + -2)|0;
$18 = (($buf31) + ($17)|0);
$19 = HEAPU8[$16>>0]|(HEAPU8[$16+1>>0]<<8);
HEAP8[$18>>0]=$19&255;HEAP8[$18+1>>0]=$19>>8;
$$old5 = ($n$1>>>0)>(99999999);
if ($$old5) {
$curr$0 = $12;$n$1 = $7;
} else {
$curr$1 = $12;$n$2 = $7;
break;
}
}
} else {
$curr$1 = 20;$n$2 = $$;
}
$20 = ($n$2|0)>(99);
if ($20) {
$21 = (($n$2>>>0) % 100)&-1;
$22 = $21 << 1;
$23 = (($n$2>>>0) / 100)&-1;
$24 = (($curr$1) + -2)|0;
$25 = (10414 + ($22)|0);
$26 = (($buf31) + ($24)|0);
$27 = HEAPU8[$25>>0]|(HEAPU8[$25+1>>0]<<8);
HEAP8[$26>>0]=$27&255;HEAP8[$26+1>>0]=$27>>8;
$curr$2 = $24;$n1$0 = $23;
} else {
$curr$2 = $curr$1;$n1$0 = $n$2;
}
$28 = ($n1$0|0)<(10);
if ($28) {
$29 = (($curr$2) + -1)|0;
$30 = $n1$0&255;
$31 = (($buf31) + ($29)|0);
$32 = (($30) + 48)<<24>>24;
HEAP8[$31>>0] = $32;
$curr$3 = $29;
$38 = (($buf31) + ($curr$3)|0);
$39 = (20 - ($curr$3))|0;
$40 = (__ZN4core3fmt9Formatter12pad_integral17hbde224f8c8c7171fE($1,$3,13864,0,$38,$39)|0);
STACKTOP = sp;return ($40|0);
} else {
$33 = $n1$0 << 1;
$34 = (($curr$2) + -2)|0;
$35 = (10414 + ($33)|0);
$36 = (($buf31) + ($34)|0);
$37 = HEAPU8[$35>>0]|(HEAPU8[$35+1>>0]<<8);
HEAP8[$36>>0]=$37&255;HEAP8[$36+1>>0]=$37>>8;
$curr$3 = $34;
$38 = (($buf31) + ($curr$3)|0);
$39 = (20 - ($curr$3))|0;
$40 = (__ZN4core3fmt9Formatter12pad_integral17hbde224f8c8c7171fE($1,$3,13864,0,$38,$39)|0);
STACKTOP = sp;return ($40|0);
}
return (0)|0;
}
function __ZN4core3fmt3num52__LT_impl_u20_core__fmt__Debug_u20_for_u20_usize_GT_3fmt17h5388028cc0adc33cE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__ZN4core3fmt3num54__LT_impl_u20_core__fmt__Display_u20_for_u20_usize_GT_3fmt17he5b488f276906c38E($0,$1)|0);
return ($2|0);
}
function __ZN57__LT_core__str__Utf8Error_u20_as_u20_core__fmt__Debug_GT_3fmt17h76848e46f172b9d2E($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$repack$i$i = 0, $$unpack$i = 0, $$unpack$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, $3 = 0, $4 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $_0$sroa$0$0$i$i = 0, $_17 = 0, $builder = 0, $switch4$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$builder = sp;
$_17 = sp + 8|0;
$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 & 255]($3,11136,9)|0);
HEAP32[$builder>>2] = $1;
$$repack$i$i = ((($builder)) + 4|0);
HEAP8[$$repack$i$i>>0] = $8;
$9 = ((($builder)) + 5|0);
HEAP8[$9>>0] = 0;
HEAP32[$_17>>2] = $0;
(__ZN4core3fmt8builders11DebugStruct5field17h31ee2ff35fec0accE($builder,11145,11,$_17,2144)|0);
$10 = HEAP8[$9>>0]|0;
$11 = ($10<<24>>24)==(0);
$$unpack$pre$i = HEAP8[$$repack$i$i>>0]|0;
if ($11) {
$$unpack$i = $$unpack$pre$i;
STACKTOP = sp;return ($$unpack$i|0);
}
$switch4$i$i = ($$unpack$pre$i<<24>>24)==(0);
do {
if ($switch4$i$i) {
$12 = HEAP32[$builder>>2]|0;
$13 = HEAP32[$12>>2]|0;
$14 = $13 & 4;
$15 = ($14|0)==(0);
$16 = ((($12)) + 28|0);
$17 = HEAP32[$16>>2]|0;
$18 = ((($12)) + 32|0);
$19 = HEAP32[$18>>2]|0;
$20 = ((($19)) + 12|0);
$21 = HEAP32[$20>>2]|0;
if ($15) {
$23 = (FUNCTION_TABLE_iiii[$21 & 255]($17,10912,2)|0);
$_0$sroa$0$0$i$i = $23;
break;
} else {
$22 = (FUNCTION_TABLE_iiii[$21 & 255]($17,10910,2)|0);
$_0$sroa$0$0$i$i = $22;
break;
}
} else {
$_0$sroa$0$0$i$i = 1;
}
} while(0);
HEAP8[$$repack$i$i>>0] = $_0$sroa$0$0$i$i;
$$unpack$i = $_0$sroa$0$0$i$i;
STACKTOP = sp;return ($$unpack$i|0);
}
function __ZN4core3fmt3num55__LT_impl_u20_core__fmt__LowerHex_u20_for_u20_usize_GT_3fmt17h50d85f4db307b74eE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $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, $_0$0$i15$i = 0, $buf$i = 0, $curr$0$i = 0, $iter$sroa$4$0$in$i = 0, $x$0$i = 0;
var dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$buf$i = sp;
$2 = HEAP32[$0>>2]|0;
$3 = ((($buf$i)) + 64|0);
dest=$buf$i; stop=dest+64|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
$curr$0$i = 64;$iter$sroa$4$0$in$i = $3;$x$0$i = $2;
while(1) {
$4 = ((($iter$sroa$4$0$in$i)) + -1|0);
$5 = $x$0$i & 15;
$6 = $x$0$i >>> 4;
$7 = $5&255;
$8 = ($7&255)<(10);
$9 = $7 | 48;
$10 = (($7) + 87)<<24>>24;
$_0$0$i15$i = $8 ? $9 : $10;
HEAP8[$4>>0] = $_0$0$i15$i;
$11 = (($curr$0$i) + -1)|0;
$12 = ($6|0)==(0);
if ($12) {
break;
} else {
$curr$0$i = $11;$iter$sroa$4$0$in$i = $4;$x$0$i = $6;
}
}
$13 = ($11>>>0)>(64);
if ($13) {
__ZN4core5slice22slice_index_order_fail17h18a93bce132b6e5bE($11,64);
// unreachable;
} else {
$14 = (($buf$i) + ($11)|0);
$15 = (65 - ($curr$0$i))|0;
$16 = (__ZN4core3fmt9Formatter12pad_integral17hbde224f8c8c7171fE($1,1,11032,2,$14,$15)|0);
STACKTOP = sp;return ($16|0);
}
return (0)|0;
}
function ___stdio_close($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$1 = ((($0)) + 60|0);
$2 = HEAP32[$1>>2]|0;
HEAP32[$vararg_buffer>>2] = $2;
$3 = (___syscall6(6,($vararg_buffer|0))|0);
$4 = (___syscall_ret($3)|0);
STACKTOP = sp;return ($4|0);
}
function ___stdio_write($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$056 = 0, $$058 = 0, $$059 = 0, $$061 = 0, $$1 = 0, $$157 = 0, $$160 = 0, $$phi$trans$insert = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $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, $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, $6 = 0, $7 = 0, $8 = 0;
var $9 = 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)) abortStackOverflow(48|0);
$vararg_buffer3 = sp + 16|0;
$vararg_buffer = sp;
$3 = sp + 32|0;
$4 = ((($0)) + 28|0);
$5 = HEAP32[$4>>2]|0;
HEAP32[$3>>2] = $5;
$6 = ((($3)) + 4|0);
$7 = ((($0)) + 20|0);
$8 = HEAP32[$7>>2]|0;
$9 = (($8) - ($5))|0;
HEAP32[$6>>2] = $9;
$10 = ((($3)) + 8|0);
HEAP32[$10>>2] = $1;
$11 = ((($3)) + 12|0);
HEAP32[$11>>2] = $2;
$12 = (($9) + ($2))|0;
$13 = ((($0)) + 60|0);
$14 = ((($0)) + 44|0);
$$056 = 2;$$058 = $12;$$059 = $3;
while(1) {
$15 = HEAP32[3330]|0;
$16 = ($15|0)==(0|0);
if ($16) {
$20 = HEAP32[$13>>2]|0;
HEAP32[$vararg_buffer3>>2] = $20;
$vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
HEAP32[$vararg_ptr6>>2] = $$059;
$vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
HEAP32[$vararg_ptr7>>2] = $$056;
$21 = (___syscall146(146,($vararg_buffer3|0))|0);
$22 = (___syscall_ret($21)|0);
$$0 = $22;
} else {
_pthread_cleanup_push((131|0),($0|0));
$17 = HEAP32[$13>>2]|0;
HEAP32[$vararg_buffer>>2] = $17;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $$059;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $$056;
$18 = (___syscall146(146,($vararg_buffer|0))|0);
$19 = (___syscall_ret($18)|0);
_pthread_cleanup_pop(0);
$$0 = $19;
}
$23 = ($$058|0)==($$0|0);
if ($23) {
label = 6;
break;
}
$30 = ($$0|0)<(0);
if ($30) {
label = 8;
break;
}
$38 = (($$058) - ($$0))|0;
$39 = ((($$059)) + 4|0);
$40 = HEAP32[$39>>2]|0;
$41 = ($$0>>>0)>($40>>>0);
if ($41) {
$42 = HEAP32[$14>>2]|0;
HEAP32[$4>>2] = $42;
HEAP32[$7>>2] = $42;
$43 = (($$0) - ($40))|0;
$44 = ((($$059)) + 8|0);
$45 = (($$056) + -1)|0;
$$phi$trans$insert = ((($$059)) + 12|0);
$$pre = HEAP32[$$phi$trans$insert>>2]|0;
$$1 = $43;$$157 = $45;$$160 = $44;$53 = $$pre;
} else {
$46 = ($$056|0)==(2);
if ($46) {
$47 = HEAP32[$4>>2]|0;
$48 = (($47) + ($$0)|0);
HEAP32[$4>>2] = $48;
$$1 = $$0;$$157 = 2;$$160 = $$059;$53 = $40;
} else {
$$1 = $$0;$$157 = $$056;$$160 = $$059;$53 = $40;
}
}
$49 = HEAP32[$$160>>2]|0;
$50 = (($49) + ($$1)|0);
HEAP32[$$160>>2] = $50;
$51 = ((($$160)) + 4|0);
$52 = (($53) - ($$1))|0;
HEAP32[$51>>2] = $52;
$$056 = $$157;$$058 = $38;$$059 = $$160;
}
if ((label|0) == 6) {
$24 = HEAP32[$14>>2]|0;
$25 = ((($0)) + 48|0);
$26 = HEAP32[$25>>2]|0;
$27 = (($24) + ($26)|0);
$28 = ((($0)) + 16|0);
HEAP32[$28>>2] = $27;
$29 = $24;
HEAP32[$4>>2] = $29;
HEAP32[$7>>2] = $29;
$$061 = $2;
}
else if ((label|0) == 8) {
$31 = ((($0)) + 16|0);
HEAP32[$31>>2] = 0;
HEAP32[$4>>2] = 0;
HEAP32[$7>>2] = 0;
$32 = HEAP32[$0>>2]|0;
$33 = $32 | 32;
HEAP32[$0>>2] = $33;
$34 = ($$056|0)==(2);
if ($34) {
$$061 = 0;
} else {
$35 = ((($$059)) + 4|0);
$36 = HEAP32[$35>>2]|0;
$37 = (($2) - ($36))|0;
$$061 = $37;
}
}
STACKTOP = sp;return ($$061|0);
}
function ___stdio_seek($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$pre = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 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)) abortStackOverflow(32|0);
$vararg_buffer = sp;
$3 = sp + 20|0;
$4 = ((($0)) + 60|0);
$5 = HEAP32[$4>>2]|0;
HEAP32[$vararg_buffer>>2] = $5;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 0;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $1;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $3;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $2;
$6 = (___syscall140(140,($vararg_buffer|0))|0);
$7 = (___syscall_ret($6)|0);
$8 = ($7|0)<(0);
if ($8) {
HEAP32[$3>>2] = -1;
$9 = -1;
} else {
$$pre = HEAP32[$3>>2]|0;
$9 = $$pre;
}
STACKTOP = sp;return ($9|0);
}
function ___syscall_ret($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0>>>0)>(4294963200);
if ($1) {
$2 = (0 - ($0))|0;
$3 = (___errno_location()|0);
HEAP32[$3>>2] = $2;
$$0 = -1;
} else {
$$0 = $0;
}
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[3330]|0;
$1 = ($0|0)==(0|0);
if ($1) {
$$0 = 13364;
} else {
$2 = (_pthread_self()|0);
$3 = ((($2)) + 64|0);
$4 = HEAP32[$3>>2]|0;
$$0 = $4;
}
return ($$0|0);
}
function _cleanup_387($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 68|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(0);
if ($3) {
___unlockfile($0);
}
return;
}
function ___unlockfile($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function ___stdout_write($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, $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)) abortStackOverflow(80|0);
$vararg_buffer = sp;
$3 = sp + 12|0;
$4 = ((($0)) + 36|0);
HEAP32[$4>>2] = 132;
$5 = HEAP32[$0>>2]|0;
$6 = $5 & 64;
$7 = ($6|0)==(0);
if ($7) {
$8 = ((($0)) + 60|0);
$9 = HEAP32[$8>>2]|0;
HEAP32[$vararg_buffer>>2] = $9;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 21505;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $3;
$10 = (___syscall54(54,($vararg_buffer|0))|0);
$11 = ($10|0)==(0);
if (!($11)) {
$12 = ((($0)) + 75|0);
HEAP8[$12>>0] = -1;
}
}
$13 = (___stdio_write($0,$1,$2)|0);
STACKTOP = sp;return ($13|0);
}
function _memcmp($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($2|0)==(0);
L1: do {
if ($3) {
$14 = 0;
} else {
$$01318 = $0;$$01417 = $2;$$019 = $1;
while(1) {
$4 = HEAP8[$$01318>>0]|0;
$5 = HEAP8[$$019>>0]|0;
$6 = ($4<<24>>24)==($5<<24>>24);
if (!($6)) {
break;
}
$7 = (($$01417) + -1)|0;
$8 = ((($$01318)) + 1|0);
$9 = ((($$019)) + 1|0);
$10 = ($7|0)==(0);
if ($10) {
$14 = 0;
break L1;
} else {
$$01318 = $8;$$01417 = $7;$$019 = $9;
}
}
$11 = $4&255;
$12 = $5&255;
$13 = (($11) - ($12))|0;
$14 = $13;
}
} while(0);
return ($14|0);
}
function ___lockfile($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return 0;
}
function _strerror($0) {
$0 = $0|0;
var $$011$lcssa = 0, $$01113 = 0, $$015 = 0, $$112 = 0, $$114 = 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, label = 0, sp = 0;
sp = STACKTOP;
$$015 = 0;
while(1) {
$2 = (11156 + ($$015)|0);
$3 = HEAP8[$2>>0]|0;
$4 = $3&255;
$5 = ($4|0)==($0|0);
if ($5) {
label = 2;
break;
}
$6 = (($$015) + 1)|0;
$7 = ($6|0)==(87);
if ($7) {
$$01113 = 11244;$$114 = 87;
label = 5;
break;
} else {
$$015 = $6;
}
}
if ((label|0) == 2) {
$1 = ($$015|0)==(0);
if ($1) {
$$011$lcssa = 11244;
} else {
$$01113 = 11244;$$114 = $$015;
label = 5;
}
}
if ((label|0) == 5) {
while(1) {
label = 0;
$$112 = $$01113;
while(1) {
$8 = HEAP8[$$112>>0]|0;
$9 = ($8<<24>>24)==(0);
$10 = ((($$112)) + 1|0);
if ($9) {
break;
} else {
$$112 = $10;
}
}
$11 = (($$114) + -1)|0;
$12 = ($11|0)==(0);
if ($12) {
$$011$lcssa = $10;
break;
} else {
$$01113 = $10;$$114 = $11;
label = 5;
}
}
}
return ($$011$lcssa|0);
}
function _memchr($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
var $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, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = $1 & 255;
$4 = $0;
$5 = $4 & 3;
$6 = ($5|0)!=(0);
$7 = ($2|0)!=(0);
$or$cond53 = $7 & $6;
L1: do {
if ($or$cond53) {
$8 = $1&255;
$$03555 = $0;$$03654 = $2;
while(1) {
$9 = HEAP8[$$03555>>0]|0;
$10 = ($9<<24>>24)==($8<<24>>24);
if ($10) {
$$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654;
label = 6;
break L1;
}
$11 = ((($$03555)) + 1|0);
$12 = (($$03654) + -1)|0;
$13 = $11;
$14 = $13 & 3;
$15 = ($14|0)!=(0);
$16 = ($12|0)!=(0);
$or$cond = $16 & $15;
if ($or$cond) {
$$03555 = $11;$$03654 = $12;
} else {
$$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16;
label = 5;
break;
}
}
} else {
$$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7;
label = 5;
}
} while(0);
if ((label|0) == 5) {
if ($$lcssa) {
$$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa;
label = 6;
} else {
$$2 = $$035$lcssa;$$3 = 0;
}
}
L8: do {
if ((label|0) == 6) {
$17 = HEAP8[$$035$lcssa65>>0]|0;
$18 = $1&255;
$19 = ($17<<24>>24)==($18<<24>>24);
if ($19) {
$$2 = $$035$lcssa65;$$3 = $$036$lcssa64;
} else {
$20 = Math_imul($3, 16843009)|0;
$21 = ($$036$lcssa64>>>0)>(3);
L11: do {
if ($21) {
$$046 = $$035$lcssa65;$$13745 = $$036$lcssa64;
while(1) {
$22 = HEAP32[$$046>>2]|0;
$23 = $22 ^ $20;
$24 = (($23) + -16843009)|0;
$25 = $23 & -2139062144;
$26 = $25 ^ -2139062144;
$27 = $26 & $24;
$28 = ($27|0)==(0);
if (!($28)) {
break;
}
$29 = ((($$046)) + 4|0);
$30 = (($$13745) + -4)|0;
$31 = ($30>>>0)>(3);
if ($31) {
$$046 = $29;$$13745 = $30;
} else {
$$0$lcssa = $29;$$137$lcssa = $30;
label = 11;
break L11;
}
}
$$140 = $$046;$$23839 = $$13745;
} else {
$$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64;
label = 11;
}
} while(0);
if ((label|0) == 11) {
$32 = ($$137$lcssa|0)==(0);
if ($32) {
$$2 = $$0$lcssa;$$3 = 0;
break;
} else {
$$140 = $$0$lcssa;$$23839 = $$137$lcssa;
}
}
while(1) {
$33 = HEAP8[$$140>>0]|0;
$34 = ($33<<24>>24)==($18<<24>>24);
if ($34) {
$$2 = $$140;$$3 = $$23839;
break L8;
}
$35 = ((($$140)) + 1|0);
$36 = (($$23839) + -1)|0;
$37 = ($36|0)==(0);
if ($37) {
$$2 = $35;$$3 = 0;
break;
} else {
$$140 = $35;$$23839 = $36;
}
}
}
}
} while(0);
$38 = ($$3|0)!=(0);
$39 = $38 ? $$2 : 0;
return ($39|0);
}
function _strlen($0) {
$0 = $0|0;
var $$0 = 0, $$014 = 0, $$015$lcssa = 0, $$01518 = 0, $$1$lcssa = 0, $$pn = 0, $$pn29 = 0, $$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;
var $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = $0;
$2 = $1 & 3;
$3 = ($2|0)==(0);
L1: do {
if ($3) {
$$015$lcssa = $0;
label = 4;
} else {
$$01518 = $0;$22 = $1;
while(1) {
$4 = HEAP8[$$01518>>0]|0;
$5 = ($4<<24>>24)==(0);
if ($5) {
$$pn = $22;
break L1;
}
$6 = ((($$01518)) + 1|0);
$7 = $6;
$8 = $7 & 3;
$9 = ($8|0)==(0);
if ($9) {
$$015$lcssa = $6;
label = 4;
break;
} else {
$$01518 = $6;$22 = $7;
}
}
}
} while(0);
if ((label|0) == 4) {
$$0 = $$015$lcssa;
while(1) {
$10 = HEAP32[$$0>>2]|0;
$11 = (($10) + -16843009)|0;
$12 = $10 & -2139062144;
$13 = $12 ^ -2139062144;
$14 = $13 & $11;
$15 = ($14|0)==(0);
$16 = ((($$0)) + 4|0);
if ($15) {
$$0 = $16;
} else {
break;
}
}
$17 = $10&255;
$18 = ($17<<24>>24)==(0);
if ($18) {
$$1$lcssa = $$0;
} else {
$$pn29 = $$0;
while(1) {
$19 = ((($$pn29)) + 1|0);
$$pre = HEAP8[$19>>0]|0;
$20 = ($$pre<<24>>24)==(0);
if ($20) {
$$1$lcssa = $19;
break;
} else {
$$pn29 = $19;
}
}
}
$21 = $$1$lcssa;
$$pn = $21;
}
$$014 = (($$pn) - ($1))|0;
return ($$014|0);
}
function _write($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 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)) abortStackOverflow(16|0);
$vararg_buffer = sp;
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $1;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $2;
$3 = (___syscall4(4,($vararg_buffer|0))|0);
$4 = (___syscall_ret($3)|0);
STACKTOP = sp;return ($4|0);
}
function _fflush($0) {
$0 = $0|0;
var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 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;
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
do {
if ($1) {
$8 = HEAP32[901]|0;
$9 = ($8|0)==(0|0);
if ($9) {
$28 = 0;
} else {
$10 = HEAP32[901]|0;
$11 = (_fflush($10)|0);
$28 = $11;
}
___lock(((13348)|0));
$$02325 = HEAP32[(13344)>>2]|0;
$12 = ($$02325|0)==(0|0);
if ($12) {
$$024$lcssa = $28;
} else {
$$02327 = $$02325;$$02426 = $28;
while(1) {
$13 = ((($$02327)) + 76|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)>(-1);
if ($15) {
$16 = (___lockfile($$02327)|0);
$25 = $16;
} else {
$25 = 0;
}
$17 = ((($$02327)) + 20|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($$02327)) + 28|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($18>>>0)>($20>>>0);
if ($21) {
$22 = (___fflush_unlocked($$02327)|0);
$23 = $22 | $$02426;
$$1 = $23;
} else {
$$1 = $$02426;
}
$24 = ($25|0)==(0);
if (!($24)) {
___unlockfile($$02327);
}
$26 = ((($$02327)) + 56|0);
$$023 = HEAP32[$26>>2]|0;
$27 = ($$023|0)==(0|0);
if ($27) {
$$024$lcssa = $$1;
break;
} else {
$$02327 = $$023;$$02426 = $$1;
}
}
}
___unlock(((13348)|0));
$$0 = $$024$lcssa;
} else {
$2 = ((($0)) + 76|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)>(-1);
if (!($4)) {
$5 = (___fflush_unlocked($0)|0);
$$0 = $5;
break;
}
$6 = (___lockfile($0)|0);
$phitmp = ($6|0)==(0);
$7 = (___fflush_unlocked($0)|0);
if ($phitmp) {
$$0 = $7;
} else {
___unlockfile($0);
$$0 = $7;
}
}
} while(0);
return ($$0|0);
}
function ___fflush_unlocked($0) {
$0 = $0|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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 20|0);
$2 = HEAP32[$1>>2]|0;
$3 = ((($0)) + 28|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($2>>>0)>($4>>>0);
if ($5) {
$6 = ((($0)) + 36|0);
$7 = HEAP32[$6>>2]|0;
(FUNCTION_TABLE_iiii[$7 & 255]($0,0,0)|0);
$8 = HEAP32[$1>>2]|0;
$9 = ($8|0)==(0|0);
if ($9) {
$$0 = -1;
} else {
label = 3;
}
} else {
label = 3;
}
if ((label|0) == 3) {
$10 = ((($0)) + 4|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($0)) + 8|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($11>>>0)<($13>>>0);
if ($14) {
$15 = ((($0)) + 40|0);
$16 = HEAP32[$15>>2]|0;
$17 = $11;
$18 = $13;
$19 = (($17) - ($18))|0;
(FUNCTION_TABLE_iiii[$16 & 255]($0,$19,1)|0);
}
$20 = ((($0)) + 16|0);
HEAP32[$20>>2] = 0;
HEAP32[$3>>2] = 0;
HEAP32[$1>>2] = 0;
HEAP32[$12>>2] = 0;
HEAP32[$10>>2] = 0;
$$0 = 0;
}
return ($$0|0);
}
function _htons($0) {
$0 = $0|0;
var $rev$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$rev$i = (_llvm_bswap_i16(($0|0))|0);
return ($rev$i|0);
}
function _htonl($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_llvm_bswap_i32(($0|0))|0);
return ($1|0);
}
function _ntohs($0) {
$0 = $0|0;
var $rev$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$rev$i = (_llvm_bswap_i16(($0|0))|0);
return ($rev$i|0);
}
function _strerror_r($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (_strerror($0)|0);
$4 = (_strlen($3)|0);
$5 = ($4>>>0)<($2>>>0);
if ($5) {
$9 = (($4) + 1)|0;
_memcpy(($1|0),($3|0),($9|0))|0;
$$0 = 0;
} else {
$6 = ($2|0)==(0);
$7 = (($2) + -1)|0;
if ($6) {
$$0 = 34;
} else {
$8 = (($1) + ($7)|0);
_memcpy(($1|0),($3|0),($7|0))|0;
HEAP8[$8>>0] = 0;
$$0 = 34;
}
}
return ($$0|0);
}
function _malloc($0) {
$0 = $0|0;
var $$$0190$i = 0, $$$0191$i = 0, $$$4349$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i17$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0187$i = 0, $$0189$i = 0, $$0190$i = 0, $$0191$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0, $$0212$i$i = 0;
var $$024370$i = 0, $$0286$i$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0294$i$i = 0, $$0295$i$i = 0, $$0340$i = 0, $$0342$i = 0, $$0343$i = 0, $$0345$i = 0, $$0351$i = 0, $$0356$i = 0, $$0357$$i = 0, $$0357$i = 0, $$0359$i = 0, $$0360$i = 0, $$0366$i = 0, $$1194$i = 0, $$1196$i = 0, $$124469$i = 0;
var $$1290$i$i = 0, $$1292$i$i = 0, $$1341$i = 0, $$1346$i = 0, $$1361$i = 0, $$1368$i = 0, $$1372$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2353$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3348$i = 0, $$3370$i = 0, $$4$lcssa$i = 0, $$413$i = 0, $$4349$lcssa$i = 0, $$434912$i = 0, $$4355$$4$i = 0;
var $$4355$ph$i = 0, $$435511$i = 0, $$5256$i = 0, $$723947$i = 0, $$748$i = 0, $$not$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i205 = 0, $$pre$i208 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i206Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi10$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre9$i$i = 0, $1 = 0;
var $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0;
var $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0;
var $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0;
var $1053 = 0, $1054 = 0, $1055 = 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, $120 = 0;
var $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, $139 = 0;
var $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, $157 = 0;
var $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, $175 = 0;
var $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, $193 = 0;
var $194 = 0, $195 = 0, $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;
var $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, $229 = 0;
var $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, $247 = 0;
var $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, $265 = 0;
var $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, $283 = 0;
var $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, $3 = 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, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0;
var $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, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0;
var $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, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0;
var $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, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0;
var $464 = 0, $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;
var $482 = 0, $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;
var $50 = 0, $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;
var $518 = 0, $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;
var $536 = 0, $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;
var $554 = 0, $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;
var $572 = 0, $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;
var $590 = 0, $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;
var $608 = 0, $609 = 0, $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;
var $626 = 0, $627 = 0, $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;
var $644 = 0, $645 = 0, $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;
var $662 = 0, $663 = 0, $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;
var $680 = 0, $681 = 0, $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;
var $699 = 0, $7 = 0, $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;
var $716 = 0, $717 = 0, $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;
var $734 = 0, $735 = 0, $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;
var $752 = 0, $753 = 0, $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;
var $770 = 0, $771 = 0, $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;
var $789 = 0, $79 = 0, $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;
var $806 = 0, $807 = 0, $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;
var $824 = 0, $825 = 0, $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;
var $842 = 0, $843 = 0, $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;
var $860 = 0, $861 = 0, $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;
var $879 = 0, $88 = 0, $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;
var $897 = 0, $898 = 0, $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;
var $914 = 0, $915 = 0, $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;
var $932 = 0, $933 = 0, $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;
var $950 = 0, $951 = 0, $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;
var $969 = 0, $97 = 0, $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;
var $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i204 = 0, $exitcond$i$i = 0, $not$$i$i = 0, $not$$i22$i = 0;
var $not$7$i = 0, $or$cond$i = 0, $or$cond$i211 = 0, $or$cond1$i = 0, $or$cond1$i210 = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond7$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
$2 = ($0>>>0)<(245);
do {
if ($2) {
$3 = ($0>>>0)<(11);
$4 = (($0) + 11)|0;
$5 = $4 & -8;
$6 = $3 ? 16 : $5;
$7 = $6 >>> 3;
$8 = HEAP32[3342]|0;
$9 = $8 >>> $7;
$10 = $9 & 3;
$11 = ($10|0)==(0);
if (!($11)) {
$12 = $9 & 1;
$13 = $12 ^ 1;
$14 = (($13) + ($7))|0;
$15 = $14 << 1;
$16 = (13408 + ($15<<2)|0);
$17 = ((($16)) + 8|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($18)) + 8|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($16|0)==($20|0);
do {
if ($21) {
$22 = 1 << $14;
$23 = $22 ^ -1;
$24 = $8 & $23;
HEAP32[3342] = $24;
} else {
$25 = HEAP32[(13384)>>2]|0;
$26 = ($20>>>0)<($25>>>0);
if ($26) {
_abort();
// unreachable;
}
$27 = ((($20)) + 12|0);
$28 = HEAP32[$27>>2]|0;
$29 = ($28|0)==($18|0);
if ($29) {
HEAP32[$27>>2] = $16;
HEAP32[$17>>2] = $20;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$30 = $14 << 3;
$31 = $30 | 3;
$32 = ((($18)) + 4|0);
HEAP32[$32>>2] = $31;
$33 = (($18) + ($30)|0);
$34 = ((($33)) + 4|0);
$35 = HEAP32[$34>>2]|0;
$36 = $35 | 1;
HEAP32[$34>>2] = $36;
$$0 = $19;
STACKTOP = sp;return ($$0|0);
}
$37 = HEAP32[(13376)>>2]|0;
$38 = ($6>>>0)>($37>>>0);
if ($38) {
$39 = ($9|0)==(0);
if (!($39)) {
$40 = $9 << $7;
$41 = 2 << $7;
$42 = (0 - ($41))|0;
$43 = $41 | $42;
$44 = $40 & $43;
$45 = (0 - ($44))|0;
$46 = $44 & $45;
$47 = (($46) + -1)|0;
$48 = $47 >>> 12;
$49 = $48 & 16;
$50 = $47 >>> $49;
$51 = $50 >>> 5;
$52 = $51 & 8;
$53 = $52 | $49;
$54 = $50 >>> $52;
$55 = $54 >>> 2;
$56 = $55 & 4;
$57 = $53 | $56;
$58 = $54 >>> $56;
$59 = $58 >>> 1;
$60 = $59 & 2;
$61 = $57 | $60;
$62 = $58 >>> $60;
$63 = $62 >>> 1;
$64 = $63 & 1;
$65 = $61 | $64;
$66 = $62 >>> $64;
$67 = (($65) + ($66))|0;
$68 = $67 << 1;
$69 = (13408 + ($68<<2)|0);
$70 = ((($69)) + 8|0);
$71 = HEAP32[$70>>2]|0;
$72 = ((($71)) + 8|0);
$73 = HEAP32[$72>>2]|0;
$74 = ($69|0)==($73|0);
do {
if ($74) {
$75 = 1 << $67;
$76 = $75 ^ -1;
$77 = $8 & $76;
HEAP32[3342] = $77;
$98 = $77;
} else {
$78 = HEAP32[(13384)>>2]|0;
$79 = ($73>>>0)<($78>>>0);
if ($79) {
_abort();
// unreachable;
}
$80 = ((($73)) + 12|0);
$81 = HEAP32[$80>>2]|0;
$82 = ($81|0)==($71|0);
if ($82) {
HEAP32[$80>>2] = $69;
HEAP32[$70>>2] = $73;
$98 = $8;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$83 = $67 << 3;
$84 = (($83) - ($6))|0;
$85 = $6 | 3;
$86 = ((($71)) + 4|0);
HEAP32[$86>>2] = $85;
$87 = (($71) + ($6)|0);
$88 = $84 | 1;
$89 = ((($87)) + 4|0);
HEAP32[$89>>2] = $88;
$90 = (($87) + ($84)|0);
HEAP32[$90>>2] = $84;
$91 = ($37|0)==(0);
if (!($91)) {
$92 = HEAP32[(13388)>>2]|0;
$93 = $37 >>> 3;
$94 = $93 << 1;
$95 = (13408 + ($94<<2)|0);
$96 = 1 << $93;
$97 = $98 & $96;
$99 = ($97|0)==(0);
if ($99) {
$100 = $98 | $96;
HEAP32[3342] = $100;
$$pre = ((($95)) + 8|0);
$$0199 = $95;$$pre$phiZ2D = $$pre;
} else {
$101 = ((($95)) + 8|0);
$102 = HEAP32[$101>>2]|0;
$103 = HEAP32[(13384)>>2]|0;
$104 = ($102>>>0)<($103>>>0);
if ($104) {
_abort();
// unreachable;
} else {
$$0199 = $102;$$pre$phiZ2D = $101;
}
}
HEAP32[$$pre$phiZ2D>>2] = $92;
$105 = ((($$0199)) + 12|0);
HEAP32[$105>>2] = $92;
$106 = ((($92)) + 8|0);
HEAP32[$106>>2] = $$0199;
$107 = ((($92)) + 12|0);
HEAP32[$107>>2] = $95;
}
HEAP32[(13376)>>2] = $84;
HEAP32[(13388)>>2] = $87;
$$0 = $72;
STACKTOP = sp;return ($$0|0);
}
$108 = HEAP32[(13372)>>2]|0;
$109 = ($108|0)==(0);
if ($109) {
$$0197 = $6;
} else {
$110 = (0 - ($108))|0;
$111 = $108 & $110;
$112 = (($111) + -1)|0;
$113 = $112 >>> 12;
$114 = $113 & 16;
$115 = $112 >>> $114;
$116 = $115 >>> 5;
$117 = $116 & 8;
$118 = $117 | $114;
$119 = $115 >>> $117;
$120 = $119 >>> 2;
$121 = $120 & 4;
$122 = $118 | $121;
$123 = $119 >>> $121;
$124 = $123 >>> 1;
$125 = $124 & 2;
$126 = $122 | $125;
$127 = $123 >>> $125;
$128 = $127 >>> 1;
$129 = $128 & 1;
$130 = $126 | $129;
$131 = $127 >>> $129;
$132 = (($130) + ($131))|0;
$133 = (13672 + ($132<<2)|0);
$134 = HEAP32[$133>>2]|0;
$135 = ((($134)) + 4|0);
$136 = HEAP32[$135>>2]|0;
$137 = $136 & -8;
$138 = (($137) - ($6))|0;
$$0189$i = $134;$$0190$i = $134;$$0191$i = $138;
while(1) {
$139 = ((($$0189$i)) + 16|0);
$140 = HEAP32[$139>>2]|0;
$141 = ($140|0)==(0|0);
if ($141) {
$142 = ((($$0189$i)) + 20|0);
$143 = HEAP32[$142>>2]|0;
$144 = ($143|0)==(0|0);
if ($144) {
break;
} else {
$146 = $143;
}
} else {
$146 = $140;
}
$145 = ((($146)) + 4|0);
$147 = HEAP32[$145>>2]|0;
$148 = $147 & -8;
$149 = (($148) - ($6))|0;
$150 = ($149>>>0)<($$0191$i>>>0);
$$$0191$i = $150 ? $149 : $$0191$i;
$$$0190$i = $150 ? $146 : $$0190$i;
$$0189$i = $146;$$0190$i = $$$0190$i;$$0191$i = $$$0191$i;
}
$151 = HEAP32[(13384)>>2]|0;
$152 = ($$0190$i>>>0)<($151>>>0);
if ($152) {
_abort();
// unreachable;
}
$153 = (($$0190$i) + ($6)|0);
$154 = ($$0190$i>>>0)<($153>>>0);
if (!($154)) {
_abort();
// unreachable;
}
$155 = ((($$0190$i)) + 24|0);
$156 = HEAP32[$155>>2]|0;
$157 = ((($$0190$i)) + 12|0);
$158 = HEAP32[$157>>2]|0;
$159 = ($158|0)==($$0190$i|0);
do {
if ($159) {
$169 = ((($$0190$i)) + 20|0);
$170 = HEAP32[$169>>2]|0;
$171 = ($170|0)==(0|0);
if ($171) {
$172 = ((($$0190$i)) + 16|0);
$173 = HEAP32[$172>>2]|0;
$174 = ($173|0)==(0|0);
if ($174) {
$$3$i = 0;
break;
} else {
$$1194$i = $173;$$1196$i = $172;
}
} else {
$$1194$i = $170;$$1196$i = $169;
}
while(1) {
$175 = ((($$1194$i)) + 20|0);
$176 = HEAP32[$175>>2]|0;
$177 = ($176|0)==(0|0);
if (!($177)) {
$$1194$i = $176;$$1196$i = $175;
continue;
}
$178 = ((($$1194$i)) + 16|0);
$179 = HEAP32[$178>>2]|0;
$180 = ($179|0)==(0|0);
if ($180) {
break;
} else {
$$1194$i = $179;$$1196$i = $178;
}
}
$181 = ($$1196$i>>>0)<($151>>>0);
if ($181) {
_abort();
// unreachable;
} else {
HEAP32[$$1196$i>>2] = 0;
$$3$i = $$1194$i;
break;
}
} else {
$160 = ((($$0190$i)) + 8|0);
$161 = HEAP32[$160>>2]|0;
$162 = ($161>>>0)<($151>>>0);
if ($162) {
_abort();
// unreachable;
}
$163 = ((($161)) + 12|0);
$164 = HEAP32[$163>>2]|0;
$165 = ($164|0)==($$0190$i|0);
if (!($165)) {
_abort();
// unreachable;
}
$166 = ((($158)) + 8|0);
$167 = HEAP32[$166>>2]|0;
$168 = ($167|0)==($$0190$i|0);
if ($168) {
HEAP32[$163>>2] = $158;
HEAP32[$166>>2] = $161;
$$3$i = $158;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$182 = ($156|0)==(0|0);
do {
if (!($182)) {
$183 = ((($$0190$i)) + 28|0);
$184 = HEAP32[$183>>2]|0;
$185 = (13672 + ($184<<2)|0);
$186 = HEAP32[$185>>2]|0;
$187 = ($$0190$i|0)==($186|0);
if ($187) {
HEAP32[$185>>2] = $$3$i;
$cond$i = ($$3$i|0)==(0|0);
if ($cond$i) {
$188 = 1 << $184;
$189 = $188 ^ -1;
$190 = $108 & $189;
HEAP32[(13372)>>2] = $190;
break;
}
} else {
$191 = HEAP32[(13384)>>2]|0;
$192 = ($156>>>0)<($191>>>0);
if ($192) {
_abort();
// unreachable;
}
$193 = ((($156)) + 16|0);
$194 = HEAP32[$193>>2]|0;
$195 = ($194|0)==($$0190$i|0);
if ($195) {
HEAP32[$193>>2] = $$3$i;
} else {
$196 = ((($156)) + 20|0);
HEAP32[$196>>2] = $$3$i;
}
$197 = ($$3$i|0)==(0|0);
if ($197) {
break;
}
}
$198 = HEAP32[(13384)>>2]|0;
$199 = ($$3$i>>>0)<($198>>>0);
if ($199) {
_abort();
// unreachable;
}
$200 = ((($$3$i)) + 24|0);
HEAP32[$200>>2] = $156;
$201 = ((($$0190$i)) + 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 = ((($$3$i)) + 16|0);
HEAP32[$205>>2] = $202;
$206 = ((($202)) + 24|0);
HEAP32[$206>>2] = $$3$i;
break;
}
}
} while(0);
$207 = ((($$0190$i)) + 20|0);
$208 = HEAP32[$207>>2]|0;
$209 = ($208|0)==(0|0);
if (!($209)) {
$210 = HEAP32[(13384)>>2]|0;
$211 = ($208>>>0)<($210>>>0);
if ($211) {
_abort();
// unreachable;
} else {
$212 = ((($$3$i)) + 20|0);
HEAP32[$212>>2] = $208;
$213 = ((($208)) + 24|0);
HEAP32[$213>>2] = $$3$i;
break;
}
}
}
} while(0);
$214 = ($$0191$i>>>0)<(16);
if ($214) {
$215 = (($$0191$i) + ($6))|0;
$216 = $215 | 3;
$217 = ((($$0190$i)) + 4|0);
HEAP32[$217>>2] = $216;
$218 = (($$0190$i) + ($215)|0);
$219 = ((($218)) + 4|0);
$220 = HEAP32[$219>>2]|0;
$221 = $220 | 1;
HEAP32[$219>>2] = $221;
} else {
$222 = $6 | 3;
$223 = ((($$0190$i)) + 4|0);
HEAP32[$223>>2] = $222;
$224 = $$0191$i | 1;
$225 = ((($153)) + 4|0);
HEAP32[$225>>2] = $224;
$226 = (($153) + ($$0191$i)|0);
HEAP32[$226>>2] = $$0191$i;
$227 = ($37|0)==(0);
if (!($227)) {
$228 = HEAP32[(13388)>>2]|0;
$229 = $37 >>> 3;
$230 = $229 << 1;
$231 = (13408 + ($230<<2)|0);
$232 = 1 << $229;
$233 = $8 & $232;
$234 = ($233|0)==(0);
if ($234) {
$235 = $8 | $232;
HEAP32[3342] = $235;
$$pre$i = ((($231)) + 8|0);
$$0187$i = $231;$$pre$phi$iZ2D = $$pre$i;
} else {
$236 = ((($231)) + 8|0);
$237 = HEAP32[$236>>2]|0;
$238 = HEAP32[(13384)>>2]|0;
$239 = ($237>>>0)<($238>>>0);
if ($239) {
_abort();
// unreachable;
} else {
$$0187$i = $237;$$pre$phi$iZ2D = $236;
}
}
HEAP32[$$pre$phi$iZ2D>>2] = $228;
$240 = ((($$0187$i)) + 12|0);
HEAP32[$240>>2] = $228;
$241 = ((($228)) + 8|0);
HEAP32[$241>>2] = $$0187$i;
$242 = ((($228)) + 12|0);
HEAP32[$242>>2] = $231;
}
HEAP32[(13376)>>2] = $$0191$i;
HEAP32[(13388)>>2] = $153;
}
$243 = ((($$0190$i)) + 8|0);
$$0 = $243;
STACKTOP = sp;return ($$0|0);
}
} else {
$$0197 = $6;
}
} else {
$244 = ($0>>>0)>(4294967231);
if ($244) {
$$0197 = -1;
} else {
$245 = (($0) + 11)|0;
$246 = $245 & -8;
$247 = HEAP32[(13372)>>2]|0;
$248 = ($247|0)==(0);
if ($248) {
$$0197 = $246;
} else {
$249 = (0 - ($246))|0;
$250 = $245 >>> 8;
$251 = ($250|0)==(0);
if ($251) {
$$0356$i = 0;
} else {
$252 = ($246>>>0)>(16777215);
if ($252) {
$$0356$i = 31;
} else {
$253 = (($250) + 1048320)|0;
$254 = $253 >>> 16;
$255 = $254 & 8;
$256 = $250 << $255;
$257 = (($256) + 520192)|0;
$258 = $257 >>> 16;
$259 = $258 & 4;
$260 = $259 | $255;
$261 = $256 << $259;
$262 = (($261) + 245760)|0;
$263 = $262 >>> 16;
$264 = $263 & 2;
$265 = $260 | $264;
$266 = (14 - ($265))|0;
$267 = $261 << $264;
$268 = $267 >>> 15;
$269 = (($266) + ($268))|0;
$270 = $269 << 1;
$271 = (($269) + 7)|0;
$272 = $246 >>> $271;
$273 = $272 & 1;
$274 = $273 | $270;
$$0356$i = $274;
}
}
$275 = (13672 + ($$0356$i<<2)|0);
$276 = HEAP32[$275>>2]|0;
$277 = ($276|0)==(0|0);
L123: do {
if ($277) {
$$2353$i = 0;$$3$i201 = 0;$$3348$i = $249;
label = 86;
} else {
$278 = ($$0356$i|0)==(31);
$279 = $$0356$i >>> 1;
$280 = (25 - ($279))|0;
$281 = $278 ? 0 : $280;
$282 = $246 << $281;
$$0340$i = 0;$$0345$i = $249;$$0351$i = $276;$$0357$i = $282;$$0360$i = 0;
while(1) {
$283 = ((($$0351$i)) + 4|0);
$284 = HEAP32[$283>>2]|0;
$285 = $284 & -8;
$286 = (($285) - ($246))|0;
$287 = ($286>>>0)<($$0345$i>>>0);
if ($287) {
$288 = ($286|0)==(0);
if ($288) {
$$413$i = $$0351$i;$$434912$i = 0;$$435511$i = $$0351$i;
label = 90;
break L123;
} else {
$$1341$i = $$0351$i;$$1346$i = $286;
}
} else {
$$1341$i = $$0340$i;$$1346$i = $$0345$i;
}
$289 = ((($$0351$i)) + 20|0);
$290 = HEAP32[$289>>2]|0;
$291 = $$0357$i >>> 31;
$292 = (((($$0351$i)) + 16|0) + ($291<<2)|0);
$293 = HEAP32[$292>>2]|0;
$294 = ($290|0)==(0|0);
$295 = ($290|0)==($293|0);
$or$cond1$i = $294 | $295;
$$1361$i = $or$cond1$i ? $$0360$i : $290;
$296 = ($293|0)==(0|0);
$297 = $296&1;
$298 = $297 ^ 1;
$$0357$$i = $$0357$i << $298;
if ($296) {
$$2353$i = $$1361$i;$$3$i201 = $$1341$i;$$3348$i = $$1346$i;
label = 86;
break;
} else {
$$0340$i = $$1341$i;$$0345$i = $$1346$i;$$0351$i = $293;$$0357$i = $$0357$$i;$$0360$i = $$1361$i;
}
}
}
} while(0);
if ((label|0) == 86) {
$299 = ($$2353$i|0)==(0|0);
$300 = ($$3$i201|0)==(0|0);
$or$cond$i = $299 & $300;
if ($or$cond$i) {
$301 = 2 << $$0356$i;
$302 = (0 - ($301))|0;
$303 = $301 | $302;
$304 = $247 & $303;
$305 = ($304|0)==(0);
if ($305) {
$$0197 = $246;
break;
}
$306 = (0 - ($304))|0;
$307 = $304 & $306;
$308 = (($307) + -1)|0;
$309 = $308 >>> 12;
$310 = $309 & 16;
$311 = $308 >>> $310;
$312 = $311 >>> 5;
$313 = $312 & 8;
$314 = $313 | $310;
$315 = $311 >>> $313;
$316 = $315 >>> 2;
$317 = $316 & 4;
$318 = $314 | $317;
$319 = $315 >>> $317;
$320 = $319 >>> 1;
$321 = $320 & 2;
$322 = $318 | $321;
$323 = $319 >>> $321;
$324 = $323 >>> 1;
$325 = $324 & 1;
$326 = $322 | $325;
$327 = $323 >>> $325;
$328 = (($326) + ($327))|0;
$329 = (13672 + ($328<<2)|0);
$330 = HEAP32[$329>>2]|0;
$$4355$ph$i = $330;
} else {
$$4355$ph$i = $$2353$i;
}
$331 = ($$4355$ph$i|0)==(0|0);
if ($331) {
$$4$lcssa$i = $$3$i201;$$4349$lcssa$i = $$3348$i;
} else {
$$413$i = $$3$i201;$$434912$i = $$3348$i;$$435511$i = $$4355$ph$i;
label = 90;
}
}
if ((label|0) == 90) {
while(1) {
label = 0;
$332 = ((($$435511$i)) + 4|0);
$333 = HEAP32[$332>>2]|0;
$334 = $333 & -8;
$335 = (($334) - ($246))|0;
$336 = ($335>>>0)<($$434912$i>>>0);
$$$4349$i = $336 ? $335 : $$434912$i;
$$4355$$4$i = $336 ? $$435511$i : $$413$i;
$337 = ((($$435511$i)) + 16|0);
$338 = HEAP32[$337>>2]|0;
$339 = ($338|0)==(0|0);
if (!($339)) {
$$413$i = $$4355$$4$i;$$434912$i = $$$4349$i;$$435511$i = $338;
label = 90;
continue;
}
$340 = ((($$435511$i)) + 20|0);
$341 = HEAP32[$340>>2]|0;
$342 = ($341|0)==(0|0);
if ($342) {
$$4$lcssa$i = $$4355$$4$i;$$4349$lcssa$i = $$$4349$i;
break;
} else {
$$413$i = $$4355$$4$i;$$434912$i = $$$4349$i;$$435511$i = $341;
label = 90;
}
}
}
$343 = ($$4$lcssa$i|0)==(0|0);
if ($343) {
$$0197 = $246;
} else {
$344 = HEAP32[(13376)>>2]|0;
$345 = (($344) - ($246))|0;
$346 = ($$4349$lcssa$i>>>0)<($345>>>0);
if ($346) {
$347 = HEAP32[(13384)>>2]|0;
$348 = ($$4$lcssa$i>>>0)<($347>>>0);
if ($348) {
_abort();
// unreachable;
}
$349 = (($$4$lcssa$i) + ($246)|0);
$350 = ($$4$lcssa$i>>>0)<($349>>>0);
if (!($350)) {
_abort();
// unreachable;
}
$351 = ((($$4$lcssa$i)) + 24|0);
$352 = HEAP32[$351>>2]|0;
$353 = ((($$4$lcssa$i)) + 12|0);
$354 = HEAP32[$353>>2]|0;
$355 = ($354|0)==($$4$lcssa$i|0);
do {
if ($355) {
$365 = ((($$4$lcssa$i)) + 20|0);
$366 = HEAP32[$365>>2]|0;
$367 = ($366|0)==(0|0);
if ($367) {
$368 = ((($$4$lcssa$i)) + 16|0);
$369 = HEAP32[$368>>2]|0;
$370 = ($369|0)==(0|0);
if ($370) {
$$3370$i = 0;
break;
} else {
$$1368$i = $369;$$1372$i = $368;
}
} else {
$$1368$i = $366;$$1372$i = $365;
}
while(1) {
$371 = ((($$1368$i)) + 20|0);
$372 = HEAP32[$371>>2]|0;
$373 = ($372|0)==(0|0);
if (!($373)) {
$$1368$i = $372;$$1372$i = $371;
continue;
}
$374 = ((($$1368$i)) + 16|0);
$375 = HEAP32[$374>>2]|0;
$376 = ($375|0)==(0|0);
if ($376) {
break;
} else {
$$1368$i = $375;$$1372$i = $374;
}
}
$377 = ($$1372$i>>>0)<($347>>>0);
if ($377) {
_abort();
// unreachable;
} else {
HEAP32[$$1372$i>>2] = 0;
$$3370$i = $$1368$i;
break;
}
} else {
$356 = ((($$4$lcssa$i)) + 8|0);
$357 = HEAP32[$356>>2]|0;
$358 = ($357>>>0)<($347>>>0);
if ($358) {
_abort();
// unreachable;
}
$359 = ((($357)) + 12|0);
$360 = HEAP32[$359>>2]|0;
$361 = ($360|0)==($$4$lcssa$i|0);
if (!($361)) {
_abort();
// unreachable;
}
$362 = ((($354)) + 8|0);
$363 = HEAP32[$362>>2]|0;
$364 = ($363|0)==($$4$lcssa$i|0);
if ($364) {
HEAP32[$359>>2] = $354;
HEAP32[$362>>2] = $357;
$$3370$i = $354;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$378 = ($352|0)==(0|0);
do {
if ($378) {
$470 = $247;
} else {
$379 = ((($$4$lcssa$i)) + 28|0);
$380 = HEAP32[$379>>2]|0;
$381 = (13672 + ($380<<2)|0);
$382 = HEAP32[$381>>2]|0;
$383 = ($$4$lcssa$i|0)==($382|0);
if ($383) {
HEAP32[$381>>2] = $$3370$i;
$cond$i204 = ($$3370$i|0)==(0|0);
if ($cond$i204) {
$384 = 1 << $380;
$385 = $384 ^ -1;
$386 = $247 & $385;
HEAP32[(13372)>>2] = $386;
$470 = $386;
break;
}
} else {
$387 = HEAP32[(13384)>>2]|0;
$388 = ($352>>>0)<($387>>>0);
if ($388) {
_abort();
// unreachable;
}
$389 = ((($352)) + 16|0);
$390 = HEAP32[$389>>2]|0;
$391 = ($390|0)==($$4$lcssa$i|0);
if ($391) {
HEAP32[$389>>2] = $$3370$i;
} else {
$392 = ((($352)) + 20|0);
HEAP32[$392>>2] = $$3370$i;
}
$393 = ($$3370$i|0)==(0|0);
if ($393) {
$470 = $247;
break;
}
}
$394 = HEAP32[(13384)>>2]|0;
$395 = ($$3370$i>>>0)<($394>>>0);
if ($395) {
_abort();
// unreachable;
}
$396 = ((($$3370$i)) + 24|0);
HEAP32[$396>>2] = $352;
$397 = ((($$4$lcssa$i)) + 16|0);
$398 = HEAP32[$397>>2]|0;
$399 = ($398|0)==(0|0);
do {
if (!($399)) {
$400 = ($398>>>0)<($394>>>0);
if ($400) {
_abort();
// unreachable;
} else {
$401 = ((($$3370$i)) + 16|0);
HEAP32[$401>>2] = $398;
$402 = ((($398)) + 24|0);
HEAP32[$402>>2] = $$3370$i;
break;
}
}
} while(0);
$403 = ((($$4$lcssa$i)) + 20|0);
$404 = HEAP32[$403>>2]|0;
$405 = ($404|0)==(0|0);
if ($405) {
$470 = $247;
} else {
$406 = HEAP32[(13384)>>2]|0;
$407 = ($404>>>0)<($406>>>0);
if ($407) {
_abort();
// unreachable;
} else {
$408 = ((($$3370$i)) + 20|0);
HEAP32[$408>>2] = $404;
$409 = ((($404)) + 24|0);
HEAP32[$409>>2] = $$3370$i;
$470 = $247;
break;
}
}
}
} while(0);
$410 = ($$4349$lcssa$i>>>0)<(16);
do {
if ($410) {
$411 = (($$4349$lcssa$i) + ($246))|0;
$412 = $411 | 3;
$413 = ((($$4$lcssa$i)) + 4|0);
HEAP32[$413>>2] = $412;
$414 = (($$4$lcssa$i) + ($411)|0);
$415 = ((($414)) + 4|0);
$416 = HEAP32[$415>>2]|0;
$417 = $416 | 1;
HEAP32[$415>>2] = $417;
} else {
$418 = $246 | 3;
$419 = ((($$4$lcssa$i)) + 4|0);
HEAP32[$419>>2] = $418;
$420 = $$4349$lcssa$i | 1;
$421 = ((($349)) + 4|0);
HEAP32[$421>>2] = $420;
$422 = (($349) + ($$4349$lcssa$i)|0);
HEAP32[$422>>2] = $$4349$lcssa$i;
$423 = $$4349$lcssa$i >>> 3;
$424 = ($$4349$lcssa$i>>>0)<(256);
if ($424) {
$425 = $423 << 1;
$426 = (13408 + ($425<<2)|0);
$427 = HEAP32[3342]|0;
$428 = 1 << $423;
$429 = $427 & $428;
$430 = ($429|0)==(0);
if ($430) {
$431 = $427 | $428;
HEAP32[3342] = $431;
$$pre$i205 = ((($426)) + 8|0);
$$0366$i = $426;$$pre$phi$i206Z2D = $$pre$i205;
} else {
$432 = ((($426)) + 8|0);
$433 = HEAP32[$432>>2]|0;
$434 = HEAP32[(13384)>>2]|0;
$435 = ($433>>>0)<($434>>>0);
if ($435) {
_abort();
// unreachable;
} else {
$$0366$i = $433;$$pre$phi$i206Z2D = $432;
}
}
HEAP32[$$pre$phi$i206Z2D>>2] = $349;
$436 = ((($$0366$i)) + 12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment