blob: 2cc42ea3dcee05fe2abed09ee12c904cd3359954 [file] [log] [blame] [edit]
// EMSCRIPTEN_START_ASM
function instantiate(asmLibraryArg, wasmMemory, wasmTable) {
function asmFunc(global, env, buffer) {
var memory = env.memory;
var FUNCTION_TABLE = wasmTable;
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 Math_imul = global.Math.imul;
var Math_fround = global.Math.fround;
var Math_abs = global.Math.abs;
var Math_clz32 = global.Math.clz32;
var Math_min = global.Math.min;
var Math_max = global.Math.max;
var Math_floor = global.Math.floor;
var Math_ceil = global.Math.ceil;
var Math_sqrt = global.Math.sqrt;
var abort = env.abort;
var nan = global.NaN;
var infinity = global.Infinity;
var fimport$0 = env.fd_write;
var fimport$1 = env.emscripten_memcpy_big;
var global$0 = 5245632;
var i64toi32_i32$HIGH_BITS = 0;
// EMSCRIPTEN_START_FUNCS
;
function $0($0_1, $1_1) {
var $2_1 = 0, $3_1 = 0, $4_1 = 0, $5_1 = 0, $6_1 = 0;
$5_1 = 1024;
$2_1 = HEAP32[$1_1 + 16 >> 2];
label$1 : {
if (!$2_1) {
if ($1($1_1)) {
break label$1
}
$2_1 = HEAP32[$1_1 + 16 >> 2];
}
$4_1 = HEAP32[$1_1 + 20 >> 2];
if ($2_1 - $4_1 >>> 0 < $0_1 >>> 0) {
return FUNCTION_TABLE[HEAP32[$1_1 + 36 >> 2]]($1_1, 1024, $0_1) | 0
}
label$5 : {
if (HEAP8[$1_1 + 75 | 0] < 0) {
break label$5
}
$3_1 = $0_1;
while (1) {
$2_1 = $3_1;
if (!$2_1) {
break label$5
}
$3_1 = $2_1 + -1 | 0;
if (HEAPU8[$3_1 + 1024 | 0] != 10) {
continue
}
break;
};
$3_1 = FUNCTION_TABLE[HEAP32[$1_1 + 36 >> 2]]($1_1, 1024, $2_1) | 0;
if ($3_1 >>> 0 < $2_1 >>> 0) {
break label$1
}
$0_1 = $0_1 - $2_1 | 0;
$5_1 = $2_1 + 1024 | 0;
$4_1 = HEAP32[$1_1 + 20 >> 2];
$6_1 = $2_1;
}
$3($4_1, $5_1, $0_1);
HEAP32[$1_1 + 20 >> 2] = HEAP32[$1_1 + 20 >> 2] + $0_1;
$3_1 = $0_1 + $6_1 | 0;
}
return $3_1;
}
function $1($0_1) {
var $1_1 = 0;
$1_1 = HEAPU8[$0_1 + 74 | 0];
HEAP8[$0_1 + 74 | 0] = $1_1 + -1 | $1_1;
$1_1 = HEAP32[$0_1 >> 2];
if ($1_1 & 8) {
HEAP32[$0_1 >> 2] = $1_1 | 32;
return -1;
}
HEAP32[$0_1 + 4 >> 2] = 0;
HEAP32[$0_1 + 8 >> 2] = 0;
$1_1 = HEAP32[$0_1 + 44 >> 2];
HEAP32[$0_1 + 28 >> 2] = $1_1;
HEAP32[$0_1 + 20 >> 2] = $1_1;
HEAP32[$0_1 + 16 >> 2] = $1_1 + HEAP32[$0_1 + 48 >> 2];
return 0;
}
function $2($0_1) {
if (!$0_1) {
return 0
}
HEAP32[300] = $0_1;
return -1;
}
function $3($0_1, $1_1, $2_1) {
var $3_1 = 0, $4_1 = 0;
if ($2_1 >>> 0 >= 512) {
fimport$1($0_1 | 0, $1_1 | 0, $2_1 | 0) | 0;
return;
}
$3_1 = $0_1 + $2_1 | 0;
label$2 : {
if (!(($0_1 ^ $1_1) & 3)) {
label$4 : {
if (($2_1 | 0) < 1) {
$2_1 = $0_1;
break label$4;
}
if (!($0_1 & 3)) {
$2_1 = $0_1;
break label$4;
}
$2_1 = $0_1;
while (1) {
HEAP8[$2_1 | 0] = HEAPU8[$1_1 | 0];
$1_1 = $1_1 + 1 | 0;
$2_1 = $2_1 + 1 | 0;
if ($2_1 >>> 0 >= $3_1 >>> 0) {
break label$4
}
if ($2_1 & 3) {
continue
}
break;
};
}
$0_1 = $3_1 & -4;
label$8 : {
if ($0_1 >>> 0 < 64) {
break label$8
}
$4_1 = $0_1 + -64 | 0;
if ($2_1 >>> 0 > $4_1 >>> 0) {
break label$8
}
while (1) {
HEAP32[$2_1 >> 2] = HEAP32[$1_1 >> 2];
HEAP32[$2_1 + 4 >> 2] = HEAP32[$1_1 + 4 >> 2];
HEAP32[$2_1 + 8 >> 2] = HEAP32[$1_1 + 8 >> 2];
HEAP32[$2_1 + 12 >> 2] = HEAP32[$1_1 + 12 >> 2];
HEAP32[$2_1 + 16 >> 2] = HEAP32[$1_1 + 16 >> 2];
HEAP32[$2_1 + 20 >> 2] = HEAP32[$1_1 + 20 >> 2];
HEAP32[$2_1 + 24 >> 2] = HEAP32[$1_1 + 24 >> 2];
HEAP32[$2_1 + 28 >> 2] = HEAP32[$1_1 + 28 >> 2];
HEAP32[$2_1 + 32 >> 2] = HEAP32[$1_1 + 32 >> 2];
HEAP32[$2_1 + 36 >> 2] = HEAP32[$1_1 + 36 >> 2];
HEAP32[$2_1 + 40 >> 2] = HEAP32[$1_1 + 40 >> 2];
HEAP32[$2_1 + 44 >> 2] = HEAP32[$1_1 + 44 >> 2];
HEAP32[$2_1 + 48 >> 2] = HEAP32[$1_1 + 48 >> 2];
HEAP32[$2_1 + 52 >> 2] = HEAP32[$1_1 + 52 >> 2];
HEAP32[$2_1 + 56 >> 2] = HEAP32[$1_1 + 56 >> 2];
HEAP32[$2_1 + 60 >> 2] = HEAP32[$1_1 + 60 >> 2];
$1_1 = $1_1 - -64 | 0;
$2_1 = $2_1 - -64 | 0;
if ($2_1 >>> 0 <= $4_1 >>> 0) {
continue
}
break;
};
}
if ($2_1 >>> 0 >= $0_1 >>> 0) {
break label$2
}
while (1) {
HEAP32[$2_1 >> 2] = HEAP32[$1_1 >> 2];
$1_1 = $1_1 + 4 | 0;
$2_1 = $2_1 + 4 | 0;
if ($2_1 >>> 0 < $0_1 >>> 0) {
continue
}
break;
};
break label$2;
}
if ($3_1 >>> 0 < 4) {
$2_1 = $0_1;
break label$2;
}
$4_1 = $3_1 + -4 | 0;
if ($4_1 >>> 0 < $0_1 >>> 0) {
$2_1 = $0_1;
break label$2;
}
$2_1 = $0_1;
while (1) {
HEAP8[$2_1 | 0] = HEAPU8[$1_1 | 0];
HEAP8[$2_1 + 1 | 0] = HEAPU8[$1_1 + 1 | 0];
HEAP8[$2_1 + 2 | 0] = HEAPU8[$1_1 + 2 | 0];
HEAP8[$2_1 + 3 | 0] = HEAPU8[$1_1 + 3 | 0];
$1_1 = $1_1 + 4 | 0;
$2_1 = $2_1 + 4 | 0;
if ($2_1 >>> 0 <= $4_1 >>> 0) {
continue
}
break;
};
}
if ($2_1 >>> 0 < $3_1 >>> 0) {
while (1) {
HEAP8[$2_1 | 0] = HEAPU8[$1_1 | 0];
$1_1 = $1_1 + 1 | 0;
$2_1 = $2_1 + 1 | 0;
if (($3_1 | 0) != ($2_1 | 0)) {
continue
}
break;
}
}
}
function $4($0_1, $1_1, $2_1, $3_1) {
$0_1 = $0_1 | 0;
$1_1 = $1_1 | 0;
$2_1 = $2_1 | 0;
$3_1 = $3_1 | 0;
i64toi32_i32$HIGH_BITS = 0;
return 0;
}
function $5($0_1) {
$0_1 = $0_1 | 0;
return 0;
}
function $6($0_1, $1_1, $2_1) {
$0_1 = $0_1 | 0;
$1_1 = $1_1 | 0;
$2_1 = $2_1 | 0;
var $3_1 = 0, $4_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0;
$3_1 = global$0 - 32 | 0;
global$0 = $3_1;
$4_1 = HEAP32[$0_1 + 28 >> 2];
HEAP32[$3_1 + 16 >> 2] = $4_1;
$5_1 = HEAP32[$0_1 + 20 >> 2];
HEAP32[$3_1 + 28 >> 2] = $2_1;
HEAP32[$3_1 + 24 >> 2] = $1_1;
$1_1 = $5_1 - $4_1 | 0;
HEAP32[$3_1 + 20 >> 2] = $1_1;
$4_1 = $1_1 + $2_1 | 0;
$7_1 = 2;
$1_1 = $3_1 + 16 | 0;
label$1 : {
label$2 : {
label$3 : {
if (!$2(fimport$0(HEAP32[$0_1 + 60 >> 2], $3_1 + 16 | 0, 2, $3_1 + 12 | 0) | 0)) {
while (1) {
$5_1 = HEAP32[$3_1 + 12 >> 2];
if (($5_1 | 0) == ($4_1 | 0)) {
break label$3
}
if (($5_1 | 0) <= -1) {
break label$2
}
$6_1 = HEAP32[$1_1 + 4 >> 2];
$8_1 = $5_1 >>> 0 > $6_1 >>> 0;
$1_1 = $8_1 ? $1_1 + 8 | 0 : $1_1;
$6_1 = $5_1 - ($8_1 ? $6_1 : 0) | 0;
HEAP32[$1_1 >> 2] = $6_1 + HEAP32[$1_1 >> 2];
HEAP32[$1_1 + 4 >> 2] = HEAP32[$1_1 + 4 >> 2] - $6_1;
$4_1 = $4_1 - $5_1 | 0;
$7_1 = $7_1 - $8_1 | 0;
if (!$2(fimport$0(HEAP32[$0_1 + 60 >> 2], $1_1 | 0, $7_1 | 0, $3_1 + 12 | 0) | 0)) {
continue
}
break;
}
}
HEAP32[$3_1 + 12 >> 2] = -1;
if (($4_1 | 0) != -1) {
break label$2
}
}
$1_1 = HEAP32[$0_1 + 44 >> 2];
HEAP32[$0_1 + 28 >> 2] = $1_1;
HEAP32[$0_1 + 20 >> 2] = $1_1;
HEAP32[$0_1 + 16 >> 2] = $1_1 + HEAP32[$0_1 + 48 >> 2];
$0_1 = $2_1;
break label$1;
}
HEAP32[$0_1 + 28 >> 2] = 0;
HEAP32[$0_1 + 16 >> 2] = 0;
HEAP32[$0_1 + 20 >> 2] = 0;
HEAP32[$0_1 >> 2] = HEAP32[$0_1 >> 2] | 32;
$0_1 = 0;
if (($7_1 | 0) == 2) {
break label$1
}
$0_1 = $2_1 - HEAP32[$1_1 + 4 >> 2] | 0;
}
global$0 = $3_1 + 32 | 0;
return $0_1 | 0;
}
function $7($0_1) {
$0_1 = $0_1 | 0;
return abort() | 0;
}
function $8() {
var $0_1 = 0, $1_1 = 0, $2_1 = 0;
$1_1 = 1024;
while (1) {
$0_1 = $1_1;
$1_1 = $0_1 + 4 | 0;
$2_1 = HEAP32[$0_1 >> 2];
if (!(($2_1 ^ -1) & $2_1 + -16843009 & -2139062144)) {
continue
}
break;
};
if (!($2_1 & 255)) {
return $0_1 - 1024 | 0
}
while (1) {
$2_1 = HEAPU8[$0_1 + 1 | 0];
$1_1 = $0_1 + 1 | 0;
$0_1 = $1_1;
if ($2_1) {
continue
}
break;
};
return $1_1 - 1024 | 0;
}
function $9() {
var $0_1 = 0, $1_1 = 0;
$0_1 = HEAP32[260];
$0_1;
$1_1 = $8();
label$3 : {
if (((($11($1_1, $0_1) | 0) != ($1_1 | 0) ? -1 : 0) | 0) < 0) {
break label$3
}
label$4 : {
if (HEAPU8[$0_1 + 75 | 0] == 10) {
break label$4
}
$1_1 = HEAP32[$0_1 + 20 >> 2];
if ($1_1 >>> 0 >= HEAPU32[$0_1 + 16 >> 2]) {
break label$4
}
HEAP32[$0_1 + 20 >> 2] = $1_1 + 1;
HEAP8[$1_1 | 0] = 10;
break label$3;
}
$10($0_1);
}
}
function $10($0_1) {
var $1_1 = 0, $2_1 = 0, $3_1 = 0;
$1_1 = global$0 - 16 | 0;
global$0 = $1_1;
HEAP8[$1_1 + 15 | 0] = 10;
$2_1 = HEAP32[$0_1 + 16 >> 2];
label$1 : {
if (!$2_1) {
if ($1($0_1)) {
break label$1
}
$2_1 = HEAP32[$0_1 + 16 >> 2];
}
$3_1 = HEAP32[$0_1 + 20 >> 2];
if (!(HEAP8[$0_1 + 75 | 0] == 10 | $3_1 >>> 0 >= $2_1 >>> 0)) {
HEAP32[$0_1 + 20 >> 2] = $3_1 + 1;
HEAP8[$3_1 | 0] = 10;
break label$1;
}
if ((FUNCTION_TABLE[HEAP32[$0_1 + 36 >> 2]]($0_1, $1_1 + 15 | 0, 1) | 0) != 1) {
break label$1
}
}
global$0 = $1_1 + 16 | 0;
}
function $11($0_1, $1_1) {
var $2_1 = 0, $3_1 = 0;
$2_1 = $0_1;
$3_1 = $2_1;
label$1 : {
if (HEAP32[$1_1 + 76 >> 2] <= -1) {
$1_1 = $0($2_1, $1_1);
break label$1;
}
$1_1 = $0($2_1, $1_1);
}
if (($3_1 | 0) == ($1_1 | 0)) {
return $0_1
}
return $1_1;
}
function $12($0_1, $1_1) {
$0_1 = $0_1 | 0;
$1_1 = $1_1 | 0;
$9();
return 0;
}
function $13() {
}
// EMSCRIPTEN_END_FUNCS
;
FUNCTION_TABLE[1] = $5;
FUNCTION_TABLE[2] = $6;
FUNCTION_TABLE[3] = $4;
function __wasm_memory_size() {
return buffer.byteLength / 65536 | 0;
}
return {
"__wasm_call_ctors": $13,
"main": $12,
"__growWasmMemory": $7
};
}
return asmFunc({
'Int8Array': Int8Array,
'Int16Array': Int16Array,
'Int32Array': Int32Array,
'Uint8Array': Uint8Array,
'Uint16Array': Uint16Array,
'Uint32Array': Uint32Array,
'Float32Array': Float32Array,
'Float64Array': Float64Array,
'NaN': NaN,
'Infinity': Infinity,
'Math': Math
},
asmLibraryArg,
wasmMemory.buffer
)
}
// EMSCRIPTEN_END_ASM
// EMSCRIPTEN_GENERATED_FUNCTIONS