diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-03-21 12:34:09 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-03-21 12:34:09 -0700 |
commit | 3dd7f17b10a1c6d0de11f3fa297beb9b18016e38 (patch) | |
tree | b246799c17329bdf54fe26f5e631f0e2936423a6 /test/memorygrowth.asm.js | |
parent | c4c132bd59acec4b81c5c6d5807499c9b3108be3 (diff) | |
download | binaryen-3dd7f17b10a1c6d0de11f3fa297beb9b18016e38.tar.gz binaryen-3dd7f17b10a1c6d0de11f3fa297beb9b18016e38.tar.bz2 binaryen-3dd7f17b10a1c6d0de11f3fa297beb9b18016e38.zip |
add memory growth asm2wasm test
Diffstat (limited to 'test/memorygrowth.asm.js')
-rw-r--r-- | test/memorygrowth.asm.js | 2387 |
1 files changed, 2387 insertions, 0 deletions
diff --git a/test/memorygrowth.asm.js b/test/memorygrowth.asm.js new file mode 100644 index 000000000..e4bdc8a98 --- /dev/null +++ b/test/memorygrowth.asm.js @@ -0,0 +1,2387 @@ +Module["asm"] = (function(global,env,buffer) { + + "almost asm"; + var a = global.Int8Array; + var b = global.Int16Array; + var c = global.Int32Array; + var d = global.Uint8Array; + var e = global.Uint16Array; + var f = global.Uint32Array; + var g = global.Float32Array; + var h = global.Float64Array; + var i = new a(buffer); + var j = new b(buffer); + var k = new c(buffer); + var l = new d(buffer); + var m = new e(buffer); + var n = new f(buffer); + var o = new g(buffer); + var p = new h(buffer); + var q = global.byteLength; + var r = env.STACKTOP | 0; + var s = env.STACK_MAX | 0; + var t = env.tempDoublePtr | 0; + var u = env.ABORT | 0; + var v = 0; + var w = 0; + var x = 0; + var y = 0; + var z = global.NaN, A = global.Infinity; + var B = 0, C = 0, D = 0, E = 0, F = 0.0, G = 0, H = 0, I = 0, J = 0.0; + var K = 0; + var L = 0; + var M = 0; + var N = 0; + var O = 0; + var P = 0; + var Q = 0; + var R = 0; + var S = 0; + var T = 0; + var U = global.Math.floor; + var V = global.Math.abs; + var W = global.Math.sqrt; + var X = global.Math.pow; + var Y = global.Math.cos; + var Z = global.Math.sin; + var _ = global.Math.tan; + var $ = global.Math.acos; + var aa = global.Math.asin; + var ba = global.Math.atan; + var ca = global.Math.atan2; + var da = global.Math.exp; + var ea = global.Math.log; + var fa = global.Math.ceil; + var ga = global.Math.imul; + var ha = global.Math.min; + var ia = global.Math.clz32; + var ja = env.abort; + var ka = env.assert; + var la = env.invoke_ii; + var ma = env.invoke_iiii; + var na = env.invoke_vi; + var oa = env._pthread_cleanup_pop; + var pa = env.___lock; + var qa = env._abort; + var ra = env._pthread_cleanup_push; + var sa = env.___syscall6; + var ta = env._sbrk; + var ua = env.___syscall140; + var va = env._emscripten_memcpy_big; + var wa = env.___syscall54; + var xa = env.___unlock; + var ya = env.___syscall146; + var za = 0.0; + function Aa(newBuffer) { + if (q(newBuffer) & 16777215 || q(newBuffer) <= 16777215 || q(newBuffer) > 2147483648) return false; + i = new a(newBuffer); + j = new b(newBuffer); + k = new c(newBuffer); + l = new d(newBuffer); + m = new e(newBuffer); + n = new f(newBuffer); + o = new g(newBuffer); + p = new h(newBuffer); + buffer = newBuffer; + return true; + } + +// EMSCRIPTEN_START_FUNCS + +function eb(a) { + a = a | 0; + var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0, M = 0, N = 0, O = 0, P = 0, Q = 0, R = 0, S = 0, T = 0, U = 0, V = 0, W = 0, X = 0, Y = 0, Z = 0, _ = 0, $ = 0, aa = 0, ba = 0, ca = 0, da = 0, ea = 0, fa = 0, ga = 0, ha = 0, ia = 0, ja = 0, ka = 0, la = 0, ma = 0, na = 0, oa = 0, pa = 0, ra = 0, sa = 0, ua = 0, va = 0, wa = 0, xa = 0, ya = 0, za = 0, Aa = 0, Ba = 0, Ca = 0, Da = 0, Ea = 0, Fa = 0, Ga = 0, Ha = 0, Ia = 0, Ja = 0, Ka = 0, La = 0, Ma = 0, Na = 0, Oa = 0, Pa = 0, Ra = 0, Sa = 0; + b = r; + r = r + 16 | 0; + c = b; + do if (a >>> 0 < 245) { + d = a >>> 0 < 11 ? 16 : a + 11 & -8; + e = d >>> 3; + f = k[302] | 0; + g = f >>> e; + if (g & 3 | 0) { + h = (g & 1 ^ 1) + e | 0; + i = 1248 + (h << 1 << 2) | 0; + j = i + 8 | 0; + l = k[j >> 2] | 0; + m = l + 8 | 0; + n = k[m >> 2] | 0; + do if ((i | 0) == (n | 0)) k[302] = f & ~(1 << h); else { + if (n >>> 0 < (k[306] | 0) >>> 0) qa(); + o = n + 12 | 0; + if ((k[o >> 2] | 0) == (l | 0)) { + k[o >> 2] = i; + k[j >> 2] = n; + break; + } else qa(); + } while (0); + n = h << 3; + k[l + 4 >> 2] = n | 3; + j = l + n + 4 | 0; + k[j >> 2] = k[j >> 2] | 1; + p = m; + r = b; + return p | 0; + } + j = k[304] | 0; + if (d >>> 0 > j >>> 0) { + if (g | 0) { + n = 2 << e; + i = g << e & (n | 0 - n); + n = (i & 0 - i) + -1 | 0; + i = n >>> 12 & 16; + o = n >>> i; + n = o >>> 5 & 8; + q = o >>> n; + o = q >>> 2 & 4; + s = q >>> o; + q = s >>> 1 & 2; + t = s >>> q; + s = t >>> 1 & 1; + u = (n | i | o | q | s) + (t >>> s) | 0; + s = 1248 + (u << 1 << 2) | 0; + t = s + 8 | 0; + q = k[t >> 2] | 0; + o = q + 8 | 0; + i = k[o >> 2] | 0; + do if ((s | 0) == (i | 0)) { + k[302] = f & ~(1 << u); + v = j; + } else { + if (i >>> 0 < (k[306] | 0) >>> 0) qa(); + n = i + 12 | 0; + if ((k[n >> 2] | 0) == (q | 0)) { + k[n >> 2] = s; + k[t >> 2] = i; + v = k[304] | 0; + break; + } else qa(); + } while (0); + i = (u << 3) - d | 0; + k[q + 4 >> 2] = d | 3; + t = q + d | 0; + k[t + 4 >> 2] = i | 1; + k[t + i >> 2] = i; + if (v | 0) { + s = k[307] | 0; + j = v >>> 3; + f = 1248 + (j << 1 << 2) | 0; + e = k[302] | 0; + g = 1 << j; + if (!(e & g)) { + k[302] = e | g; + w = f + 8 | 0; + x = f; + } else { + g = f + 8 | 0; + e = k[g >> 2] | 0; + if (e >>> 0 < (k[306] | 0) >>> 0) qa(); else { + w = g; + x = e; + } + } + k[w >> 2] = s; + k[x + 12 >> 2] = s; + k[s + 8 >> 2] = x; + k[s + 12 >> 2] = f; + } + k[304] = i; + k[307] = t; + p = o; + r = b; + return p | 0; + } + t = k[303] | 0; + if (!t) y = d; else { + i = (t & 0 - t) + -1 | 0; + t = i >>> 12 & 16; + f = i >>> t; + i = f >>> 5 & 8; + s = f >>> i; + f = s >>> 2 & 4; + e = s >>> f; + s = e >>> 1 & 2; + g = e >>> s; + e = g >>> 1 & 1; + j = k[1512 + ((i | t | f | s | e) + (g >>> e) << 2) >> 2] | 0; + e = (k[j + 4 >> 2] & -8) - d | 0; + g = j; + s = j; + while (1) { + j = k[g + 16 >> 2] | 0; + if (!j) { + f = k[g + 20 >> 2] | 0; + if (!f) { + z = e; + A = s; + break; + } else B = f; + } else B = j; + j = (k[B + 4 >> 2] & -8) - d | 0; + f = j >>> 0 < e >>> 0; + e = f ? j : e; + g = B; + s = f ? B : s; + } + s = k[306] | 0; + if (A >>> 0 < s >>> 0) qa(); + g = A + d | 0; + if (A >>> 0 >= g >>> 0) qa(); + e = k[A + 24 >> 2] | 0; + o = k[A + 12 >> 2] | 0; + do if ((o | 0) == (A | 0)) { + q = A + 20 | 0; + u = k[q >> 2] | 0; + if (!u) { + f = A + 16 | 0; + j = k[f >> 2] | 0; + if (!j) { + C = 0; + break; + } else { + D = j; + E = f; + } + } else { + D = u; + E = q; + } + while (1) { + q = D + 20 | 0; + u = k[q >> 2] | 0; + if (u | 0) { + D = u; + E = q; + continue; + } + q = D + 16 | 0; + u = k[q >> 2] | 0; + if (!u) { + F = D; + G = E; + break; + } else { + D = u; + E = q; + } + } + if (G >>> 0 < s >>> 0) qa(); else { + k[G >> 2] = 0; + C = F; + break; + } + } else { + q = k[A + 8 >> 2] | 0; + if (q >>> 0 < s >>> 0) qa(); + u = q + 12 | 0; + if ((k[u >> 2] | 0) != (A | 0)) qa(); + f = o + 8 | 0; + if ((k[f >> 2] | 0) == (A | 0)) { + k[u >> 2] = o; + k[f >> 2] = q; + C = o; + break; + } else qa(); + } while (0); + do if (e | 0) { + o = k[A + 28 >> 2] | 0; + s = 1512 + (o << 2) | 0; + if ((A | 0) == (k[s >> 2] | 0)) { + k[s >> 2] = C; + if (!C) { + k[303] = k[303] & ~(1 << o); + break; + } + } else { + if (e >>> 0 < (k[306] | 0) >>> 0) qa(); + o = e + 16 | 0; + if ((k[o >> 2] | 0) == (A | 0)) k[o >> 2] = C; else k[e + 20 >> 2] = C; + if (!C) break; + } + o = k[306] | 0; + if (C >>> 0 < o >>> 0) qa(); + k[C + 24 >> 2] = e; + s = k[A + 16 >> 2] | 0; + do if (s | 0) if (s >>> 0 < o >>> 0) qa(); else { + k[C + 16 >> 2] = s; + k[s + 24 >> 2] = C; + break; + } while (0); + s = k[A + 20 >> 2] | 0; + if (s | 0) if (s >>> 0 < (k[306] | 0) >>> 0) qa(); else { + k[C + 20 >> 2] = s; + k[s + 24 >> 2] = C; + break; + } + } while (0); + if (z >>> 0 < 16) { + e = z + d | 0; + k[A + 4 >> 2] = e | 3; + s = A + e + 4 | 0; + k[s >> 2] = k[s >> 2] | 1; + } else { + k[A + 4 >> 2] = d | 3; + k[g + 4 >> 2] = z | 1; + k[g + z >> 2] = z; + s = k[304] | 0; + if (s | 0) { + e = k[307] | 0; + o = s >>> 3; + s = 1248 + (o << 1 << 2) | 0; + q = k[302] | 0; + f = 1 << o; + if (!(q & f)) { + k[302] = q | f; + H = s + 8 | 0; + I = s; + } else { + f = s + 8 | 0; + q = k[f >> 2] | 0; + if (q >>> 0 < (k[306] | 0) >>> 0) qa(); else { + H = f; + I = q; + } + } + k[H >> 2] = e; + k[I + 12 >> 2] = e; + k[e + 8 >> 2] = I; + k[e + 12 >> 2] = s; + } + k[304] = z; + k[307] = g; + } + p = A + 8 | 0; + r = b; + return p | 0; + } + } else y = d; + } else if (a >>> 0 > 4294967231) y = -1; else { + s = a + 11 | 0; + e = s & -8; + q = k[303] | 0; + if (!q) y = e; else { + f = 0 - e | 0; + o = s >>> 8; + if (!o) J = 0; else if (e >>> 0 > 16777215) J = 31; else { + s = (o + 1048320 | 0) >>> 16 & 8; + u = o << s; + o = (u + 520192 | 0) >>> 16 & 4; + j = u << o; + u = (j + 245760 | 0) >>> 16 & 2; + t = 14 - (o | s | u) + (j << u >>> 15) | 0; + J = e >>> (t + 7 | 0) & 1 | t << 1; + } + t = k[1512 + (J << 2) >> 2] | 0; + a : do if (!t) { + K = f; + L = 0; + M = 0; + N = 86; + } else { + u = f; + j = 0; + s = e << ((J | 0) == 31 ? 0 : 25 - (J >>> 1) | 0); + o = t; + i = 0; + while (1) { + m = k[o + 4 >> 2] & -8; + l = m - e | 0; + if (l >>> 0 < u >>> 0) if ((m | 0) == (e | 0)) { + O = l; + P = o; + Q = o; + N = 90; + break a; + } else { + R = l; + S = o; + } else { + R = u; + S = i; + } + l = k[o + 20 >> 2] | 0; + o = k[o + 16 + (s >>> 31 << 2) >> 2] | 0; + m = (l | 0) == 0 | (l | 0) == (o | 0) ? j : l; + l = (o | 0) == 0; + if (l) { + K = R; + L = m; + M = S; + N = 86; + break; + } else { + u = R; + j = m; + s = s << (l & 1 ^ 1); + i = S; + } + } + } while (0); + if ((N | 0) == 86) { + if ((L | 0) == 0 & (M | 0) == 0) { + t = 2 << J; + f = q & (t | 0 - t); + if (!f) { + y = e; + break; + } + t = (f & 0 - f) + -1 | 0; + f = t >>> 12 & 16; + d = t >>> f; + t = d >>> 5 & 8; + g = d >>> t; + d = g >>> 2 & 4; + i = g >>> d; + g = i >>> 1 & 2; + s = i >>> g; + i = s >>> 1 & 1; + T = k[1512 + ((t | f | d | g | i) + (s >>> i) << 2) >> 2] | 0; + } else T = L; + if (!T) { + U = K; + V = M; + } else { + O = K; + P = T; + Q = M; + N = 90; + } + } + if ((N | 0) == 90) while (1) { + N = 0; + i = (k[P + 4 >> 2] & -8) - e | 0; + s = i >>> 0 < O >>> 0; + g = s ? i : O; + i = s ? P : Q; + s = k[P + 16 >> 2] | 0; + if (s | 0) { + O = g; + P = s; + Q = i; + N = 90; + continue; + } + P = k[P + 20 >> 2] | 0; + if (!P) { + U = g; + V = i; + break; + } else { + O = g; + Q = i; + N = 90; + } + } + if (!V) y = e; else if (U >>> 0 < ((k[304] | 0) - e | 0) >>> 0) { + q = k[306] | 0; + if (V >>> 0 < q >>> 0) qa(); + i = V + e | 0; + if (V >>> 0 >= i >>> 0) qa(); + g = k[V + 24 >> 2] | 0; + s = k[V + 12 >> 2] | 0; + do if ((s | 0) == (V | 0)) { + d = V + 20 | 0; + f = k[d >> 2] | 0; + if (!f) { + t = V + 16 | 0; + j = k[t >> 2] | 0; + if (!j) { + W = 0; + break; + } else { + X = j; + Y = t; + } + } else { + X = f; + Y = d; + } + while (1) { + d = X + 20 | 0; + f = k[d >> 2] | 0; + if (f | 0) { + X = f; + Y = d; + continue; + } + d = X + 16 | 0; + f = k[d >> 2] | 0; + if (!f) { + Z = X; + _ = Y; + break; + } else { + X = f; + Y = d; + } + } + if (_ >>> 0 < q >>> 0) qa(); else { + k[_ >> 2] = 0; + W = Z; + break; + } + } else { + d = k[V + 8 >> 2] | 0; + if (d >>> 0 < q >>> 0) qa(); + f = d + 12 | 0; + if ((k[f >> 2] | 0) != (V | 0)) qa(); + t = s + 8 | 0; + if ((k[t >> 2] | 0) == (V | 0)) { + k[f >> 2] = s; + k[t >> 2] = d; + W = s; + break; + } else qa(); + } while (0); + do if (g | 0) { + s = k[V + 28 >> 2] | 0; + q = 1512 + (s << 2) | 0; + if ((V | 0) == (k[q >> 2] | 0)) { + k[q >> 2] = W; + if (!W) { + k[303] = k[303] & ~(1 << s); + break; + } + } else { + if (g >>> 0 < (k[306] | 0) >>> 0) qa(); + s = g + 16 | 0; + if ((k[s >> 2] | 0) == (V | 0)) k[s >> 2] = W; else k[g + 20 >> 2] = W; + if (!W) break; + } + s = k[306] | 0; + if (W >>> 0 < s >>> 0) qa(); + k[W + 24 >> 2] = g; + q = k[V + 16 >> 2] | 0; + do if (q | 0) if (q >>> 0 < s >>> 0) qa(); else { + k[W + 16 >> 2] = q; + k[q + 24 >> 2] = W; + break; + } while (0); + q = k[V + 20 >> 2] | 0; + if (q | 0) if (q >>> 0 < (k[306] | 0) >>> 0) qa(); else { + k[W + 20 >> 2] = q; + k[q + 24 >> 2] = W; + break; + } + } while (0); + do if (U >>> 0 < 16) { + g = U + e | 0; + k[V + 4 >> 2] = g | 3; + q = V + g + 4 | 0; + k[q >> 2] = k[q >> 2] | 1; + } else { + k[V + 4 >> 2] = e | 3; + k[i + 4 >> 2] = U | 1; + k[i + U >> 2] = U; + q = U >>> 3; + if (U >>> 0 < 256) { + g = 1248 + (q << 1 << 2) | 0; + s = k[302] | 0; + d = 1 << q; + if (!(s & d)) { + k[302] = s | d; + $ = g + 8 | 0; + aa = g; + } else { + d = g + 8 | 0; + s = k[d >> 2] | 0; + if (s >>> 0 < (k[306] | 0) >>> 0) qa(); else { + $ = d; + aa = s; + } + } + k[$ >> 2] = i; + k[aa + 12 >> 2] = i; + k[i + 8 >> 2] = aa; + k[i + 12 >> 2] = g; + break; + } + g = U >>> 8; + if (!g) ba = 0; else if (U >>> 0 > 16777215) ba = 31; else { + s = (g + 1048320 | 0) >>> 16 & 8; + d = g << s; + g = (d + 520192 | 0) >>> 16 & 4; + q = d << g; + d = (q + 245760 | 0) >>> 16 & 2; + t = 14 - (g | s | d) + (q << d >>> 15) | 0; + ba = U >>> (t + 7 | 0) & 1 | t << 1; + } + t = 1512 + (ba << 2) | 0; + k[i + 28 >> 2] = ba; + d = i + 16 | 0; + k[d + 4 >> 2] = 0; + k[d >> 2] = 0; + d = k[303] | 0; + q = 1 << ba; + if (!(d & q)) { + k[303] = d | q; + k[t >> 2] = i; + k[i + 24 >> 2] = t; + k[i + 12 >> 2] = i; + k[i + 8 >> 2] = i; + break; + } + q = U << ((ba | 0) == 31 ? 0 : 25 - (ba >>> 1) | 0); + d = k[t >> 2] | 0; + while (1) { + if ((k[d + 4 >> 2] & -8 | 0) == (U | 0)) { + ca = d; + N = 148; + break; + } + t = d + 16 + (q >>> 31 << 2) | 0; + s = k[t >> 2] | 0; + if (!s) { + da = t; + ea = d; + N = 145; + break; + } else { + q = q << 1; + d = s; + } + } + if ((N | 0) == 145) if (da >>> 0 < (k[306] | 0) >>> 0) qa(); else { + k[da >> 2] = i; + k[i + 24 >> 2] = ea; + k[i + 12 >> 2] = i; + k[i + 8 >> 2] = i; + break; + } else if ((N | 0) == 148) { + d = ca + 8 | 0; + q = k[d >> 2] | 0; + s = k[306] | 0; + if (q >>> 0 >= s >>> 0 & ca >>> 0 >= s >>> 0) { + k[q + 12 >> 2] = i; + k[d >> 2] = i; + k[i + 8 >> 2] = q; + k[i + 12 >> 2] = ca; + k[i + 24 >> 2] = 0; + break; + } else qa(); + } + } while (0); + p = V + 8 | 0; + r = b; + return p | 0; + } else y = e; + } + } while (0); + V = k[304] | 0; + if (V >>> 0 >= y >>> 0) { + ca = V - y | 0; + ea = k[307] | 0; + if (ca >>> 0 > 15) { + da = ea + y | 0; + k[307] = da; + k[304] = ca; + k[da + 4 >> 2] = ca | 1; + k[da + ca >> 2] = ca; + k[ea + 4 >> 2] = y | 3; + } else { + k[304] = 0; + k[307] = 0; + k[ea + 4 >> 2] = V | 3; + ca = ea + V + 4 | 0; + k[ca >> 2] = k[ca >> 2] | 1; + } + p = ea + 8 | 0; + r = b; + return p | 0; + } + ea = k[305] | 0; + if (ea >>> 0 > y >>> 0) { + ca = ea - y | 0; + k[305] = ca; + ea = k[308] | 0; + V = ea + y | 0; + k[308] = V; + k[V + 4 >> 2] = ca | 1; + k[ea + 4 >> 2] = y | 3; + p = ea + 8 | 0; + r = b; + return p | 0; + } + if (!(k[420] | 0)) { + k[422] = 4096; + k[421] = 4096; + k[423] = -1; + k[424] = -1; + k[425] = 0; + k[413] = 0; + ea = c & -16 ^ 1431655768; + k[c >> 2] = ea; + k[420] = ea; + } + ea = y + 48 | 0; + c = k[422] | 0; + ca = y + 47 | 0; + V = c + ca | 0; + da = 0 - c | 0; + c = V & da; + if (c >>> 0 <= y >>> 0) { + p = 0; + r = b; + return p | 0; + } + U = k[412] | 0; + if (U | 0) { + ba = k[410] | 0; + aa = ba + c | 0; + if (aa >>> 0 <= ba >>> 0 | aa >>> 0 > U >>> 0) { + p = 0; + r = b; + return p | 0; + } + } + b : do if (!(k[413] & 4)) { + U = k[308] | 0; + c : do if (!U) N = 171; else { + aa = 1656; + while (1) { + ba = k[aa >> 2] | 0; + if (ba >>> 0 <= U >>> 0) { + $ = aa + 4 | 0; + if ((ba + (k[$ >> 2] | 0) | 0) >>> 0 > U >>> 0) { + fa = aa; + ga = $; + break; + } + } + aa = k[aa + 8 >> 2] | 0; + if (!aa) { + N = 171; + break c; + } + } + aa = V - (k[305] | 0) & da; + if (aa >>> 0 < 2147483647) { + $ = ta(aa | 0) | 0; + if (($ | 0) == ((k[fa >> 2] | 0) + (k[ga >> 2] | 0) | 0)) { + if (($ | 0) != (-1 | 0)) { + ha = $; + ia = aa; + N = 191; + break b; + } + } else { + ja = $; + ka = aa; + N = 181; + } + } + } while (0); + do if ((N | 0) == 171) { + U = ta(0) | 0; + if ((U | 0) != (-1 | 0)) { + e = U; + aa = k[421] | 0; + $ = aa + -1 | 0; + if (!($ & e)) la = c; else la = c - e + ($ + e & 0 - aa) | 0; + aa = k[410] | 0; + e = aa + la | 0; + if (la >>> 0 > y >>> 0 & la >>> 0 < 2147483647) { + $ = k[412] | 0; + if ($ | 0) if (e >>> 0 <= aa >>> 0 | e >>> 0 > $ >>> 0) break; + $ = ta(la | 0) | 0; + if (($ | 0) == (U | 0)) { + ha = U; + ia = la; + N = 191; + break b; + } else { + ja = $; + ka = la; + N = 181; + } + } + } + } while (0); + d : do if ((N | 0) == 181) { + $ = 0 - ka | 0; + do if (ea >>> 0 > ka >>> 0 & (ka >>> 0 < 2147483647 & (ja | 0) != (-1 | 0))) { + U = k[422] | 0; + e = ca - ka + U & 0 - U; + if (e >>> 0 < 2147483647) if ((ta(e | 0) | 0) == (-1 | 0)) { + ta($ | 0) | 0; + break d; + } else { + ma = e + ka | 0; + break; + } else ma = ka; + } else ma = ka; while (0); + if ((ja | 0) != (-1 | 0)) { + ha = ja; + ia = ma; + N = 191; + break b; + } + } while (0); + k[413] = k[413] | 4; + N = 188; + } else N = 188; while (0); + if ((N | 0) == 188) if (c >>> 0 < 2147483647) { + ma = ta(c | 0) | 0; + c = ta(0) | 0; + if (ma >>> 0 < c >>> 0 & ((ma | 0) != (-1 | 0) & (c | 0) != (-1 | 0))) { + ja = c - ma | 0; + if (ja >>> 0 > (y + 40 | 0) >>> 0) { + ha = ma; + ia = ja; + N = 191; + } + } + } + if ((N | 0) == 191) { + ja = (k[410] | 0) + ia | 0; + k[410] = ja; + if (ja >>> 0 > (k[411] | 0) >>> 0) k[411] = ja; + ja = k[308] | 0; + do if (!ja) { + ma = k[306] | 0; + if ((ma | 0) == 0 | ha >>> 0 < ma >>> 0) k[306] = ha; + k[414] = ha; + k[415] = ia; + k[417] = 0; + k[311] = k[420]; + k[310] = -1; + ma = 0; + do { + c = 1248 + (ma << 1 << 2) | 0; + k[c + 12 >> 2] = c; + k[c + 8 >> 2] = c; + ma = ma + 1 | 0; + } while ((ma | 0) != 32); + ma = ha + 8 | 0; + c = (ma & 7 | 0) == 0 ? 0 : 0 - ma & 7; + ma = ha + c | 0; + ka = ia + -40 - c | 0; + k[308] = ma; + k[305] = ka; + k[ma + 4 >> 2] = ka | 1; + k[ma + ka + 4 >> 2] = 40; + k[309] = k[424]; + } else { + ka = 1656; + do { + ma = k[ka >> 2] | 0; + c = ka + 4 | 0; + ca = k[c >> 2] | 0; + if ((ha | 0) == (ma + ca | 0)) { + na = ma; + oa = c; + pa = ca; + ra = ka; + N = 201; + break; + } + ka = k[ka + 8 >> 2] | 0; + } while ((ka | 0) != 0); + if ((N | 0) == 201) if (!(k[ra + 12 >> 2] & 8)) if (ja >>> 0 < ha >>> 0 & ja >>> 0 >= na >>> 0) { + k[oa >> 2] = pa + ia; + ka = ja + 8 | 0; + ca = (ka & 7 | 0) == 0 ? 0 : 0 - ka & 7; + ka = ja + ca | 0; + c = ia - ca + (k[305] | 0) | 0; + k[308] = ka; + k[305] = c; + k[ka + 4 >> 2] = c | 1; + k[ka + c + 4 >> 2] = 40; + k[309] = k[424]; + break; + } + c = k[306] | 0; + if (ha >>> 0 < c >>> 0) { + k[306] = ha; + sa = ha; + } else sa = c; + c = ha + ia | 0; + ka = 1656; + while (1) { + if ((k[ka >> 2] | 0) == (c | 0)) { + ua = ka; + va = ka; + N = 209; + break; + } + ka = k[ka + 8 >> 2] | 0; + if (!ka) { + wa = 1656; + break; + } + } + if ((N | 0) == 209) if (!(k[va + 12 >> 2] & 8)) { + k[ua >> 2] = ha; + ka = va + 4 | 0; + k[ka >> 2] = (k[ka >> 2] | 0) + ia; + ka = ha + 8 | 0; + ca = ha + ((ka & 7 | 0) == 0 ? 0 : 0 - ka & 7) | 0; + ka = c + 8 | 0; + ma = c + ((ka & 7 | 0) == 0 ? 0 : 0 - ka & 7) | 0; + ka = ca + y | 0; + ea = ma - ca - y | 0; + k[ca + 4 >> 2] = y | 3; + do if ((ma | 0) == (ja | 0)) { + la = (k[305] | 0) + ea | 0; + k[305] = la; + k[308] = ka; + k[ka + 4 >> 2] = la | 1; + } else { + if ((ma | 0) == (k[307] | 0)) { + la = (k[304] | 0) + ea | 0; + k[304] = la; + k[307] = ka; + k[ka + 4 >> 2] = la | 1; + k[ka + la >> 2] = la; + break; + } + la = k[ma + 4 >> 2] | 0; + if ((la & 3 | 0) == 1) { + ga = la & -8; + fa = la >>> 3; + e : do if (la >>> 0 < 256) { + da = k[ma + 8 >> 2] | 0; + V = k[ma + 12 >> 2] | 0; + $ = 1248 + (fa << 1 << 2) | 0; + do if ((da | 0) != ($ | 0)) { + if (da >>> 0 < sa >>> 0) qa(); + if ((k[da + 12 >> 2] | 0) == (ma | 0)) break; + qa(); + } while (0); + if ((V | 0) == (da | 0)) { + k[302] = k[302] & ~(1 << fa); + break; + } + do if ((V | 0) == ($ | 0)) xa = V + 8 | 0; else { + if (V >>> 0 < sa >>> 0) qa(); + e = V + 8 | 0; + if ((k[e >> 2] | 0) == (ma | 0)) { + xa = e; + break; + } + qa(); + } while (0); + k[da + 12 >> 2] = V; + k[xa >> 2] = da; + } else { + $ = k[ma + 24 >> 2] | 0; + e = k[ma + 12 >> 2] | 0; + do if ((e | 0) == (ma | 0)) { + U = ma + 16 | 0; + aa = U + 4 | 0; + ba = k[aa >> 2] | 0; + if (!ba) { + W = k[U >> 2] | 0; + if (!W) { + ya = 0; + break; + } else { + za = W; + Aa = U; + } + } else { + za = ba; + Aa = aa; + } + while (1) { + aa = za + 20 | 0; + ba = k[aa >> 2] | 0; + if (ba | 0) { + za = ba; + Aa = aa; + continue; + } + aa = za + 16 | 0; + ba = k[aa >> 2] | 0; + if (!ba) { + Ba = za; + Ca = Aa; + break; + } else { + za = ba; + Aa = aa; + } + } + if (Ca >>> 0 < sa >>> 0) qa(); else { + k[Ca >> 2] = 0; + ya = Ba; + break; + } + } else { + aa = k[ma + 8 >> 2] | 0; + if (aa >>> 0 < sa >>> 0) qa(); + ba = aa + 12 | 0; + if ((k[ba >> 2] | 0) != (ma | 0)) qa(); + U = e + 8 | 0; + if ((k[U >> 2] | 0) == (ma | 0)) { + k[ba >> 2] = e; + k[U >> 2] = aa; + ya = e; + break; + } else qa(); + } while (0); + if (!$) break; + e = k[ma + 28 >> 2] | 0; + da = 1512 + (e << 2) | 0; + do if ((ma | 0) == (k[da >> 2] | 0)) { + k[da >> 2] = ya; + if (ya | 0) break; + k[303] = k[303] & ~(1 << e); + break e; + } else { + if ($ >>> 0 < (k[306] | 0) >>> 0) qa(); + V = $ + 16 | 0; + if ((k[V >> 2] | 0) == (ma | 0)) k[V >> 2] = ya; else k[$ + 20 >> 2] = ya; + if (!ya) break e; + } while (0); + e = k[306] | 0; + if (ya >>> 0 < e >>> 0) qa(); + k[ya + 24 >> 2] = $; + da = ma + 16 | 0; + V = k[da >> 2] | 0; + do if (V | 0) if (V >>> 0 < e >>> 0) qa(); else { + k[ya + 16 >> 2] = V; + k[V + 24 >> 2] = ya; + break; + } while (0); + V = k[da + 4 >> 2] | 0; + if (!V) break; + if (V >>> 0 < (k[306] | 0) >>> 0) qa(); else { + k[ya + 20 >> 2] = V; + k[V + 24 >> 2] = ya; + break; + } + } while (0); + Da = ma + ga | 0; + Ea = ga + ea | 0; + } else { + Da = ma; + Ea = ea; + } + fa = Da + 4 | 0; + k[fa >> 2] = k[fa >> 2] & -2; + k[ka + 4 >> 2] = Ea | 1; + k[ka + Ea >> 2] = Ea; + fa = Ea >>> 3; + if (Ea >>> 0 < 256) { + la = 1248 + (fa << 1 << 2) | 0; + V = k[302] | 0; + e = 1 << fa; + do if (!(V & e)) { + k[302] = V | e; + Fa = la + 8 | 0; + Ga = la; + } else { + fa = la + 8 | 0; + $ = k[fa >> 2] | 0; + if ($ >>> 0 >= (k[306] | 0) >>> 0) { + Fa = fa; + Ga = $; + break; + } + qa(); + } while (0); + k[Fa >> 2] = ka; + k[Ga + 12 >> 2] = ka; + k[ka + 8 >> 2] = Ga; + k[ka + 12 >> 2] = la; + break; + } + e = Ea >>> 8; + do if (!e) Ha = 0; else { + if (Ea >>> 0 > 16777215) { + Ha = 31; + break; + } + V = (e + 1048320 | 0) >>> 16 & 8; + ga = e << V; + $ = (ga + 520192 | 0) >>> 16 & 4; + fa = ga << $; + ga = (fa + 245760 | 0) >>> 16 & 2; + aa = 14 - ($ | V | ga) + (fa << ga >>> 15) | 0; + Ha = Ea >>> (aa + 7 | 0) & 1 | aa << 1; + } while (0); + e = 1512 + (Ha << 2) | 0; + k[ka + 28 >> 2] = Ha; + la = ka + 16 | 0; + k[la + 4 >> 2] = 0; + k[la >> 2] = 0; + la = k[303] | 0; + aa = 1 << Ha; + if (!(la & aa)) { + k[303] = la | aa; + k[e >> 2] = ka; + k[ka + 24 >> 2] = e; + k[ka + 12 >> 2] = ka; + k[ka + 8 >> 2] = ka; + break; + } + aa = Ea << ((Ha | 0) == 31 ? 0 : 25 - (Ha >>> 1) | 0); + la = k[e >> 2] | 0; + while (1) { + if ((k[la + 4 >> 2] & -8 | 0) == (Ea | 0)) { + Ia = la; + N = 279; + break; + } + e = la + 16 + (aa >>> 31 << 2) | 0; + ga = k[e >> 2] | 0; + if (!ga) { + Ja = e; + Ka = la; + N = 276; + break; + } else { + aa = aa << 1; + la = ga; + } + } + if ((N | 0) == 276) if (Ja >>> 0 < (k[306] | 0) >>> 0) qa(); else { + k[Ja >> 2] = ka; + k[ka + 24 >> 2] = Ka; + k[ka + 12 >> 2] = ka; + k[ka + 8 >> 2] = ka; + break; + } else if ((N | 0) == 279) { + la = Ia + 8 | 0; + aa = k[la >> 2] | 0; + ga = k[306] | 0; + if (aa >>> 0 >= ga >>> 0 & Ia >>> 0 >= ga >>> 0) { + k[aa + 12 >> 2] = ka; + k[la >> 2] = ka; + k[ka + 8 >> 2] = aa; + k[ka + 12 >> 2] = Ia; + k[ka + 24 >> 2] = 0; + break; + } else qa(); + } + } while (0); + p = ca + 8 | 0; + r = b; + return p | 0; + } else wa = 1656; + while (1) { + ka = k[wa >> 2] | 0; + if (ka >>> 0 <= ja >>> 0) { + ea = ka + (k[wa + 4 >> 2] | 0) | 0; + if (ea >>> 0 > ja >>> 0) { + La = ea; + break; + } + } + wa = k[wa + 8 >> 2] | 0; + } + ca = La + -47 | 0; + ea = ca + 8 | 0; + ka = ca + ((ea & 7 | 0) == 0 ? 0 : 0 - ea & 7) | 0; + ea = ja + 16 | 0; + ca = ka >>> 0 < ea >>> 0 ? ja : ka; + ka = ca + 8 | 0; + ma = ha + 8 | 0; + c = (ma & 7 | 0) == 0 ? 0 : 0 - ma & 7; + ma = ha + c | 0; + aa = ia + -40 - c | 0; + k[308] = ma; + k[305] = aa; + k[ma + 4 >> 2] = aa | 1; + k[ma + aa + 4 >> 2] = 40; + k[309] = k[424]; + aa = ca + 4 | 0; + k[aa >> 2] = 27; + k[ka >> 2] = k[414]; + k[ka + 4 >> 2] = k[415]; + k[ka + 8 >> 2] = k[416]; + k[ka + 12 >> 2] = k[417]; + k[414] = ha; + k[415] = ia; + k[417] = 0; + k[416] = ka; + ka = ca + 24 | 0; + do { + ka = ka + 4 | 0; + k[ka >> 2] = 7; + } while ((ka + 4 | 0) >>> 0 < La >>> 0); + if ((ca | 0) != (ja | 0)) { + ka = ca - ja | 0; + k[aa >> 2] = k[aa >> 2] & -2; + k[ja + 4 >> 2] = ka | 1; + k[ca >> 2] = ka; + ma = ka >>> 3; + if (ka >>> 0 < 256) { + c = 1248 + (ma << 1 << 2) | 0; + la = k[302] | 0; + ga = 1 << ma; + if (!(la & ga)) { + k[302] = la | ga; + Ma = c + 8 | 0; + Na = c; + } else { + ga = c + 8 | 0; + la = k[ga >> 2] | 0; + if (la >>> 0 < (k[306] | 0) >>> 0) qa(); else { + Ma = ga; + Na = la; + } + } + k[Ma >> 2] = ja; + k[Na + 12 >> 2] = ja; + k[ja + 8 >> 2] = Na; + k[ja + 12 >> 2] = c; + break; + } + c = ka >>> 8; + if (!c) Oa = 0; else if (ka >>> 0 > 16777215) Oa = 31; else { + la = (c + 1048320 | 0) >>> 16 & 8; + ga = c << la; + c = (ga + 520192 | 0) >>> 16 & 4; + ma = ga << c; + ga = (ma + 245760 | 0) >>> 16 & 2; + e = 14 - (c | la | ga) + (ma << ga >>> 15) | 0; + Oa = ka >>> (e + 7 | 0) & 1 | e << 1; + } + e = 1512 + (Oa << 2) | 0; + k[ja + 28 >> 2] = Oa; + k[ja + 20 >> 2] = 0; + k[ea >> 2] = 0; + ga = k[303] | 0; + ma = 1 << Oa; + if (!(ga & ma)) { + k[303] = ga | ma; + k[e >> 2] = ja; + k[ja + 24 >> 2] = e; + k[ja + 12 >> 2] = ja; + k[ja + 8 >> 2] = ja; + break; + } + ma = ka << ((Oa | 0) == 31 ? 0 : 25 - (Oa >>> 1) | 0); + ga = k[e >> 2] | 0; + while (1) { + if ((k[ga + 4 >> 2] & -8 | 0) == (ka | 0)) { + Pa = ga; + N = 305; + break; + } + e = ga + 16 + (ma >>> 31 << 2) | 0; + la = k[e >> 2] | 0; + if (!la) { + Ra = e; + Sa = ga; + N = 302; + break; + } else { + ma = ma << 1; + ga = la; + } + } + if ((N | 0) == 302) if (Ra >>> 0 < (k[306] | 0) >>> 0) qa(); else { + k[Ra >> 2] = ja; + k[ja + 24 >> 2] = Sa; + k[ja + 12 >> 2] = ja; + k[ja + 8 >> 2] = ja; + break; + } else if ((N | 0) == 305) { + ga = Pa + 8 | 0; + ma = k[ga >> 2] | 0; + ka = k[306] | 0; + if (ma >>> 0 >= ka >>> 0 & Pa >>> 0 >= ka >>> 0) { + k[ma + 12 >> 2] = ja; + k[ga >> 2] = ja; + k[ja + 8 >> 2] = ma; + k[ja + 12 >> 2] = Pa; + k[ja + 24 >> 2] = 0; + break; + } else qa(); + } + } + } while (0); + ja = k[305] | 0; + if (ja >>> 0 > y >>> 0) { + Pa = ja - y | 0; + k[305] = Pa; + ja = k[308] | 0; + N = ja + y | 0; + k[308] = N; + k[N + 4 >> 2] = Pa | 1; + k[ja + 4 >> 2] = y | 3; + p = ja + 8 | 0; + r = b; + return p | 0; + } + } + ja = Qa() | 0; + k[ja >> 2] = 12; + p = 0; + r = b; + return p | 0; +} + +function fb(a) { + a = a | 0; + var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0, J = 0, K = 0, L = 0; + if (!a) return; + b = a + -8 | 0; + c = k[306] | 0; + if (b >>> 0 < c >>> 0) qa(); + d = k[a + -4 >> 2] | 0; + a = d & 3; + if ((a | 0) == 1) qa(); + e = d & -8; + f = b + e | 0; + do if (!(d & 1)) { + g = k[b >> 2] | 0; + if (!a) return; + h = b + (0 - g) | 0; + i = g + e | 0; + if (h >>> 0 < c >>> 0) qa(); + if ((h | 0) == (k[307] | 0)) { + j = f + 4 | 0; + l = k[j >> 2] | 0; + if ((l & 3 | 0) != 3) { + m = h; + n = i; + break; + } + k[304] = i; + k[j >> 2] = l & -2; + k[h + 4 >> 2] = i | 1; + k[h + i >> 2] = i; + return; + } + l = g >>> 3; + if (g >>> 0 < 256) { + g = k[h + 8 >> 2] | 0; + j = k[h + 12 >> 2] | 0; + o = 1248 + (l << 1 << 2) | 0; + if ((g | 0) != (o | 0)) { + if (g >>> 0 < c >>> 0) qa(); + if ((k[g + 12 >> 2] | 0) != (h | 0)) qa(); + } + if ((j | 0) == (g | 0)) { + k[302] = k[302] & ~(1 << l); + m = h; + n = i; + break; + } + if ((j | 0) == (o | 0)) p = j + 8 | 0; else { + if (j >>> 0 < c >>> 0) qa(); + o = j + 8 | 0; + if ((k[o >> 2] | 0) == (h | 0)) p = o; else qa(); + } + k[g + 12 >> 2] = j; + k[p >> 2] = g; + m = h; + n = i; + break; + } + g = k[h + 24 >> 2] | 0; + j = k[h + 12 >> 2] | 0; + do if ((j | 0) == (h | 0)) { + o = h + 16 | 0; + l = o + 4 | 0; + q = k[l >> 2] | 0; + if (!q) { + r = k[o >> 2] | 0; + if (!r) { + s = 0; + break; + } else { + t = r; + u = o; + } + } else { + t = q; + u = l; + } + while (1) { + l = t + 20 | 0; + q = k[l >> 2] | 0; + if (q | 0) { + t = q; + u = l; + continue; + } + l = t + 16 | 0; + q = k[l >> 2] | 0; + if (!q) { + v = t; + w = u; + break; + } else { + t = q; + u = l; + } + } + if (w >>> 0 < c >>> 0) qa(); else { + k[w >> 2] = 0; + s = v; + break; + } + } else { + l = k[h + 8 >> 2] | 0; + if (l >>> 0 < c >>> 0) qa(); + q = l + 12 | 0; + if ((k[q >> 2] | 0) != (h | 0)) qa(); + o = j + 8 | 0; + if ((k[o >> 2] | 0) == (h | 0)) { + k[q >> 2] = j; + k[o >> 2] = l; + s = j; + break; + } else qa(); + } while (0); + if (!g) { + m = h; + n = i; + } else { + j = k[h + 28 >> 2] | 0; + l = 1512 + (j << 2) | 0; + if ((h | 0) == (k[l >> 2] | 0)) { + k[l >> 2] = s; + if (!s) { + k[303] = k[303] & ~(1 << j); + m = h; + n = i; + break; + } + } else { + if (g >>> 0 < (k[306] | 0) >>> 0) qa(); + j = g + 16 | 0; + if ((k[j >> 2] | 0) == (h | 0)) k[j >> 2] = s; else k[g + 20 >> 2] = s; + if (!s) { + m = h; + n = i; + break; + } + } + j = k[306] | 0; + if (s >>> 0 < j >>> 0) qa(); + k[s + 24 >> 2] = g; + l = h + 16 | 0; + o = k[l >> 2] | 0; + do if (o | 0) if (o >>> 0 < j >>> 0) qa(); else { + k[s + 16 >> 2] = o; + k[o + 24 >> 2] = s; + break; + } while (0); + o = k[l + 4 >> 2] | 0; + if (!o) { + m = h; + n = i; + } else if (o >>> 0 < (k[306] | 0) >>> 0) qa(); else { + k[s + 20 >> 2] = o; + k[o + 24 >> 2] = s; + m = h; + n = i; + break; + } + } + } else { + m = b; + n = e; + } while (0); + if (m >>> 0 >= f >>> 0) qa(); + e = f + 4 | 0; + b = k[e >> 2] | 0; + if (!(b & 1)) qa(); + if (!(b & 2)) { + if ((f | 0) == (k[308] | 0)) { + s = (k[305] | 0) + n | 0; + k[305] = s; + k[308] = m; + k[m + 4 >> 2] = s | 1; + if ((m | 0) != (k[307] | 0)) return; + k[307] = 0; + k[304] = 0; + return; + } + if ((f | 0) == (k[307] | 0)) { + s = (k[304] | 0) + n | 0; + k[304] = s; + k[307] = m; + k[m + 4 >> 2] = s | 1; + k[m + s >> 2] = s; + return; + } + s = (b & -8) + n | 0; + c = b >>> 3; + do if (b >>> 0 < 256) { + v = k[f + 8 >> 2] | 0; + w = k[f + 12 >> 2] | 0; + u = 1248 + (c << 1 << 2) | 0; + if ((v | 0) != (u | 0)) { + if (v >>> 0 < (k[306] | 0) >>> 0) qa(); + if ((k[v + 12 >> 2] | 0) != (f | 0)) qa(); + } + if ((w | 0) == (v | 0)) { + k[302] = k[302] & ~(1 << c); + break; + } + if ((w | 0) == (u | 0)) x = w + 8 | 0; else { + if (w >>> 0 < (k[306] | 0) >>> 0) qa(); + u = w + 8 | 0; + if ((k[u >> 2] | 0) == (f | 0)) x = u; else qa(); + } + k[v + 12 >> 2] = w; + k[x >> 2] = v; + } else { + v = k[f + 24 >> 2] | 0; + w = k[f + 12 >> 2] | 0; + do if ((w | 0) == (f | 0)) { + u = f + 16 | 0; + t = u + 4 | 0; + p = k[t >> 2] | 0; + if (!p) { + a = k[u >> 2] | 0; + if (!a) { + y = 0; + break; + } else { + z = a; + A = u; + } + } else { + z = p; + A = t; + } + while (1) { + t = z + 20 | 0; + p = k[t >> 2] | 0; + if (p | 0) { + z = p; + A = t; + continue; + } + t = z + 16 | 0; + p = k[t >> 2] | 0; + if (!p) { + B = z; + C = A; + break; + } else { + z = p; + A = t; + } + } + if (C >>> 0 < (k[306] | 0) >>> 0) qa(); else { + k[C >> 2] = 0; + y = B; + break; + } + } else { + t = k[f + 8 >> 2] | 0; + if (t >>> 0 < (k[306] | 0) >>> 0) qa(); + p = t + 12 | 0; + if ((k[p >> 2] | 0) != (f | 0)) qa(); + u = w + 8 | 0; + if ((k[u >> 2] | 0) == (f | 0)) { + k[p >> 2] = w; + k[u >> 2] = t; + y = w; + break; + } else qa(); + } while (0); + if (v | 0) { + w = k[f + 28 >> 2] | 0; + i = 1512 + (w << 2) | 0; + if ((f | 0) == (k[i >> 2] | 0)) { + k[i >> 2] = y; + if (!y) { + k[303] = k[303] & ~(1 << w); + break; + } + } else { + if (v >>> 0 < (k[306] | 0) >>> 0) qa(); + w = v + 16 | 0; + if ((k[w >> 2] | 0) == (f | 0)) k[w >> 2] = y; else k[v + 20 >> 2] = y; + if (!y) break; + } + w = k[306] | 0; + if (y >>> 0 < w >>> 0) qa(); + k[y + 24 >> 2] = v; + i = f + 16 | 0; + h = k[i >> 2] | 0; + do if (h | 0) if (h >>> 0 < w >>> 0) qa(); else { + k[y + 16 >> 2] = h; + k[h + 24 >> 2] = y; + break; + } while (0); + h = k[i + 4 >> 2] | 0; + if (h | 0) if (h >>> 0 < (k[306] | 0) >>> 0) qa(); else { + k[y + 20 >> 2] = h; + k[h + 24 >> 2] = y; + break; + } + } + } while (0); + k[m + 4 >> 2] = s | 1; + k[m + s >> 2] = s; + if ((m | 0) == (k[307] | 0)) { + k[304] = s; + return; + } else D = s; + } else { + k[e >> 2] = b & -2; + k[m + 4 >> 2] = n | 1; + k[m + n >> 2] = n; + D = n; + } + n = D >>> 3; + if (D >>> 0 < 256) { + b = 1248 + (n << 1 << 2) | 0; + e = k[302] | 0; + s = 1 << n; + if (!(e & s)) { + k[302] = e | s; + E = b + 8 | 0; + F = b; + } else { + s = b + 8 | 0; + e = k[s >> 2] | 0; + if (e >>> 0 < (k[306] | 0) >>> 0) qa(); else { + E = s; + F = e; + } + } + k[E >> 2] = m; + k[F + 12 >> 2] = m; + k[m + 8 >> 2] = F; + k[m + 12 >> 2] = b; + return; + } + b = D >>> 8; + if (!b) G = 0; else if (D >>> 0 > 16777215) G = 31; else { + F = (b + 1048320 | 0) >>> 16 & 8; + E = b << F; + b = (E + 520192 | 0) >>> 16 & 4; + e = E << b; + E = (e + 245760 | 0) >>> 16 & 2; + s = 14 - (b | F | E) + (e << E >>> 15) | 0; + G = D >>> (s + 7 | 0) & 1 | s << 1; + } + s = 1512 + (G << 2) | 0; + k[m + 28 >> 2] = G; + k[m + 20 >> 2] = 0; + k[m + 16 >> 2] = 0; + E = k[303] | 0; + e = 1 << G; + do if (!(E & e)) { + k[303] = E | e; + k[s >> 2] = m; + k[m + 24 >> 2] = s; + k[m + 12 >> 2] = m; + k[m + 8 >> 2] = m; + } else { + F = D << ((G | 0) == 31 ? 0 : 25 - (G >>> 1) | 0); + b = k[s >> 2] | 0; + while (1) { + if ((k[b + 4 >> 2] & -8 | 0) == (D | 0)) { + H = b; + I = 130; + break; + } + n = b + 16 + (F >>> 31 << 2) | 0; + y = k[n >> 2] | 0; + if (!y) { + J = n; + K = b; + I = 127; + break; + } else { + F = F << 1; + b = y; + } + } + if ((I | 0) == 127) if (J >>> 0 < (k[306] | 0) >>> 0) qa(); else { + k[J >> 2] = m; + k[m + 24 >> 2] = K; + k[m + 12 >> 2] = m; + k[m + 8 >> 2] = m; + break; + } else if ((I | 0) == 130) { + b = H + 8 | 0; + F = k[b >> 2] | 0; + i = k[306] | 0; + if (F >>> 0 >= i >>> 0 & H >>> 0 >= i >>> 0) { + k[F + 12 >> 2] = m; + k[b >> 2] = m; + k[m + 8 >> 2] = F; + k[m + 12 >> 2] = H; + k[m + 24 >> 2] = 0; + break; + } else qa(); + } + } while (0); + m = (k[310] | 0) + -1 | 0; + k[310] = m; + if (!m) L = 1664; else return; + while (1) { + m = k[L >> 2] | 0; + if (!m) break; else L = m + 8 | 0; + } + k[310] = -1; + return; +} + +function Ra(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0; + d = r; + r = r + 48 | 0; + e = d + 16 | 0; + f = d; + g = d + 32 | 0; + h = a + 28 | 0; + i = k[h >> 2] | 0; + k[g >> 2] = i; + j = a + 20 | 0; + l = (k[j >> 2] | 0) - i | 0; + k[g + 4 >> 2] = l; + k[g + 8 >> 2] = b; + k[g + 12 >> 2] = c; + b = a + 60 | 0; + i = a + 44 | 0; + m = g; + g = 2; + n = l + c | 0; + while (1) { + if (!(k[290] | 0)) { + k[e >> 2] = k[b >> 2]; + k[e + 4 >> 2] = m; + k[e + 8 >> 2] = g; + o = Pa(ya(146, e | 0) | 0) | 0; + } else { + ra(1, a | 0); + k[f >> 2] = k[b >> 2]; + k[f + 4 >> 2] = m; + k[f + 8 >> 2] = g; + l = Pa(ya(146, f | 0) | 0) | 0; + oa(0); + o = l; + } + if ((n | 0) == (o | 0)) { + p = 6; + break; + } + if ((o | 0) < 0) { + q = m; + s = g; + p = 8; + break; + } + l = n - o | 0; + t = k[m + 4 >> 2] | 0; + if (o >>> 0 > t >>> 0) { + u = k[i >> 2] | 0; + k[h >> 2] = u; + k[j >> 2] = u; + v = k[m + 12 >> 2] | 0; + w = o - t | 0; + x = m + 8 | 0; + y = g + -1 | 0; + } else if ((g | 0) == 2) { + k[h >> 2] = (k[h >> 2] | 0) + o; + v = t; + w = o; + x = m; + y = 2; + } else { + v = t; + w = o; + x = m; + y = g; + } + k[x >> 2] = (k[x >> 2] | 0) + w; + k[x + 4 >> 2] = v - w; + m = x; + g = y; + n = l; + } + if ((p | 0) == 6) { + n = k[i >> 2] | 0; + k[a + 16 >> 2] = n + (k[a + 48 >> 2] | 0); + i = n; + k[h >> 2] = i; + k[j >> 2] = i; + z = c; + } else if ((p | 0) == 8) { + k[a + 16 >> 2] = 0; + k[h >> 2] = 0; + k[j >> 2] = 0; + k[a >> 2] = k[a >> 2] | 32; + if ((s | 0) == 2) z = 0; else z = c - (k[q + 4 >> 2] | 0) | 0; + } + r = d; + return z | 0; +} + +function Wa(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = 0; + d = c + 16 | 0; + e = k[d >> 2] | 0; + if (!e) if (!(Xa(c) | 0)) { + f = k[d >> 2] | 0; + g = 5; + } else h = 0; else { + f = e; + g = 5; + } + a : do if ((g | 0) == 5) { + e = c + 20 | 0; + d = k[e >> 2] | 0; + j = d; + if ((f - d | 0) >>> 0 < b >>> 0) { + h = Ca[k[c + 36 >> 2] & 3](c, a, b) | 0; + break; + } + b : do if ((i[c + 75 >> 0] | 0) > -1) { + d = b; + while (1) { + if (!d) { + l = b; + m = a; + n = j; + o = 0; + break b; + } + p = d + -1 | 0; + if ((i[a + p >> 0] | 0) == 10) { + q = d; + break; + } else d = p; + } + if ((Ca[k[c + 36 >> 2] & 3](c, a, q) | 0) >>> 0 < q >>> 0) { + h = q; + break a; + } + l = b - q | 0; + m = a + q | 0; + n = k[e >> 2] | 0; + o = q; + } else { + l = b; + m = a; + n = j; + o = 0; + } while (0); + jb(n | 0, m | 0, l | 0) | 0; + k[e >> 2] = (k[e >> 2] | 0) + l; + h = o + l | 0; + } while (0); + return h | 0; +} + +function Za(a) { + a = a | 0; + var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, l = 0, m = 0; + b = a; + a : do if (!(b & 3)) { + c = a; + d = 4; + } else { + e = a; + f = b; + while (1) { + if (!(i[e >> 0] | 0)) { + g = f; + break a; + } + h = e + 1 | 0; + f = h; + if (!(f & 3)) { + c = h; + d = 4; + break; + } else e = h; + } + } while (0); + if ((d | 0) == 4) { + d = c; + while (1) { + c = k[d >> 2] | 0; + if (!((c & -2139062144 ^ -2139062144) & c + -16843009)) d = d + 4 | 0; else { + j = c; + l = d; + break; + } + } + if (!((j & 255) << 24 >> 24)) m = l; else { + j = l; + while (1) { + l = j + 1 | 0; + if (!(i[l >> 0] | 0)) { + m = l; + break; + } else j = l; + } + } + g = m; + } + return g - b | 0; +} + +function _a(a) { + a = a | 0; + var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + do if (!a) { + if (!(k[285] | 0)) b = 0; else b = _a(k[285] | 0) | 0; + pa(1188); + c = k[296] | 0; + if (!c) d = b; else { + e = c; + c = b; + while (1) { + if ((k[e + 76 >> 2] | 0) > -1) f = Ya(e) | 0; else f = 0; + if ((k[e + 20 >> 2] | 0) >>> 0 > (k[e + 28 >> 2] | 0) >>> 0) g = $a(e) | 0 | c; else g = c; + if (f | 0) Ta(e); + e = k[e + 56 >> 2] | 0; + if (!e) { + d = g; + break; + } else c = g; + } + } + xa(1188); + h = d; + } else { + if ((k[a + 76 >> 2] | 0) <= -1) { + h = $a(a) | 0; + break; + } + c = (Ya(a) | 0) == 0; + e = $a(a) | 0; + if (c) h = e; else { + Ta(a); + h = e; + } + } while (0); + return h | 0; +} + +function ab(a, b) { + a = a | 0; + b = b | 0; + var c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, j = 0, m = 0, n = 0; + c = r; + r = r + 16 | 0; + d = c; + e = b & 255; + i[d >> 0] = e; + f = a + 16 | 0; + g = k[f >> 2] | 0; + if (!g) if (!(Xa(a) | 0)) { + h = k[f >> 2] | 0; + j = 4; + } else m = -1; else { + h = g; + j = 4; + } + do if ((j | 0) == 4) { + g = a + 20 | 0; + f = k[g >> 2] | 0; + if (f >>> 0 < h >>> 0) { + n = b & 255; + if ((n | 0) != (i[a + 75 >> 0] | 0)) { + k[g >> 2] = f + 1; + i[f >> 0] = e; + m = n; + break; + } + } + if ((Ca[k[a + 36 >> 2] & 3](a, d, 1) | 0) == 1) m = l[d >> 0] | 0; else m = -1; + } while (0); + r = c; + return m | 0; +} + +function $a(a) { + a = a | 0; + var b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0; + b = a + 20 | 0; + c = a + 28 | 0; + if ((k[b >> 2] | 0) >>> 0 > (k[c >> 2] | 0) >>> 0) { + Ca[k[a + 36 >> 2] & 3](a, 0, 0) | 0; + if (!(k[b >> 2] | 0)) d = -1; else e = 3; + } else e = 3; + if ((e | 0) == 3) { + e = a + 4 | 0; + f = k[e >> 2] | 0; + g = a + 8 | 0; + h = k[g >> 2] | 0; + if (f >>> 0 < h >>> 0) Ca[k[a + 40 >> 2] & 3](a, f - h | 0, 1) | 0; + k[a + 16 >> 2] = 0; + k[c >> 2] = 0; + k[b >> 2] = 0; + k[g >> 2] = 0; + k[e >> 2] = 0; + d = 0; + } + return d | 0; +} + +function jb(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0; + if ((c | 0) >= 4096) return va(a | 0, b | 0, c | 0) | 0; + d = a | 0; + if ((a & 3) == (b & 3)) { + while (a & 3) { + if (!c) return d | 0; + i[a >> 0] = i[b >> 0] | 0; + a = a + 1 | 0; + b = b + 1 | 0; + c = c - 1 | 0; + } + while ((c | 0) >= 4) { + k[a >> 2] = k[b >> 2]; + a = a + 4 | 0; + b = b + 4 | 0; + c = c - 4 | 0; + } + } + while ((c | 0) > 0) { + i[a >> 0] = i[b >> 0] | 0; + a = a + 1 | 0; + b = b + 1 | 0; + c = c - 1 | 0; + } + return d | 0; +} + +function gb() {} +function hb(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0, g = 0; + d = a + c | 0; + if ((c | 0) >= 20) { + b = b & 255; + e = a & 3; + f = b | b << 8 | b << 16 | b << 24; + g = d & ~3; + if (e) { + e = a + 4 - e | 0; + while ((a | 0) < (e | 0)) { + i[a >> 0] = b; + a = a + 1 | 0; + } + } + while ((a | 0) < (g | 0)) { + k[a >> 2] = f; + a = a + 4 | 0; + } + } + while ((a | 0) < (d | 0)) { + i[a >> 0] = b; + a = a + 1 | 0; + } + return a - c | 0; +} + +function db(a) { + a = a | 0; + var b = 0, c = 0, d = 0, e = 0, f = 0; + b = k[256] | 0; + if ((k[b + 76 >> 2] | 0) > -1) c = Ya(b) | 0; else c = 0; + do if ((cb(a, b) | 0) < 0) d = 1; else { + if ((i[b + 75 >> 0] | 0) != 10) { + e = b + 20 | 0; + f = k[e >> 2] | 0; + if (f >>> 0 < (k[b + 16 >> 2] | 0) >>> 0) { + k[e >> 2] = f + 1; + i[f >> 0] = 10; + d = 0; + break; + } + } + d = (ab(b, 10) | 0) < 0; + } while (0); + if (c | 0) Ta(b); + return d << 31 >> 31 | 0; +} + +function Xa(a) { + a = a | 0; + var b = 0, c = 0, d = 0; + b = a + 74 | 0; + c = i[b >> 0] | 0; + i[b >> 0] = c + 255 | c; + c = k[a >> 2] | 0; + if (!(c & 8)) { + k[a + 8 >> 2] = 0; + k[a + 4 >> 2] = 0; + b = k[a + 44 >> 2] | 0; + k[a + 28 >> 2] = b; + k[a + 20 >> 2] = b; + k[a + 16 >> 2] = b + (k[a + 48 >> 2] | 0); + d = 0; + } else { + k[a >> 2] = c | 32; + d = -1; + } + return d | 0; +} + +function bb(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var e = 0, f = 0, g = 0, h = 0, i = 0; + e = ga(c, b) | 0; + if ((k[d + 76 >> 2] | 0) > -1) { + f = (Ya(d) | 0) == 0; + g = Wa(a, e, d) | 0; + if (f) h = g; else { + Ta(d); + h = g; + } + } else h = Wa(a, e, d) | 0; + if ((h | 0) == (e | 0)) i = c; else i = (h >>> 0) / (b >>> 0) | 0; + return i | 0; +} + +function Ua(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0, f = 0, g = 0; + d = r; + r = r + 32 | 0; + e = d; + f = d + 20 | 0; + k[e >> 2] = k[a + 60 >> 2]; + k[e + 4 >> 2] = 0; + k[e + 8 >> 2] = b; + k[e + 12 >> 2] = f; + k[e + 16 >> 2] = c; + if ((Pa(ua(140, e | 0) | 0) | 0) < 0) { + k[f >> 2] = -1; + g = -1; + } else g = k[f >> 2] | 0; + r = d; + return g | 0; +} + +function Va(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + var d = 0, e = 0; + d = r; + r = r + 80 | 0; + e = d; + k[a + 36 >> 2] = 3; + if (!(k[a >> 2] & 64)) { + k[e >> 2] = k[a + 60 >> 2]; + k[e + 4 >> 2] = 21505; + k[e + 8 >> 2] = d + 12; + if (wa(54, e | 0) | 0) i[a + 75 >> 0] = -1; + } + e = Ra(a, b, c) | 0; + r = d; + return e | 0; +} + +function Ka(a) { + a = a | 0; + i[t >> 0] = i[a >> 0]; + i[t + 1 >> 0] = i[a + 1 >> 0]; + i[t + 2 >> 0] = i[a + 2 >> 0]; + i[t + 3 >> 0] = i[a + 3 >> 0]; + i[t + 4 >> 0] = i[a + 4 >> 0]; + i[t + 5 >> 0] = i[a + 5 >> 0]; + i[t + 6 >> 0] = i[a + 6 >> 0]; + i[t + 7 >> 0] = i[a + 7 >> 0]; +} + +function Oa(a) { + a = a | 0; + var b = 0, c = 0; + b = r; + r = r + 16 | 0; + c = b; + k[c >> 2] = k[a + 60 >> 2]; + a = Pa(sa(6, c | 0) | 0) | 0; + r = b; + return a | 0; +} + +function Pa(a) { + a = a | 0; + var b = 0, c = 0; + if (a >>> 0 > 4294963200) { + b = Qa() | 0; + k[b >> 2] = 0 - a; + c = -1; + } else c = a; + return c | 0; +} + +function Ja(a) { + a = a | 0; + i[t >> 0] = i[a >> 0]; + i[t + 1 >> 0] = i[a + 1 >> 0]; + i[t + 2 >> 0] = i[a + 2 >> 0]; + i[t + 3 >> 0] = i[a + 3 >> 0]; +} + +function Qa() { + var a = 0, b = 0; + if (!(k[290] | 0)) a = 1204; else { + b = (ib() | 0) + 64 | 0; + a = k[b >> 2] | 0; + } + return a | 0; +} + +function lb(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + return Ca[a & 3](b | 0, c | 0, d | 0) | 0; +} +function Ea(a) { + a = a | 0; + var b = 0; + b = r; + r = r + a | 0; + r = r + 15 & -16; + return b | 0; +} + +function cb(a, b) { + a = a | 0; + b = b | 0; + return (bb(a, Za(a) | 0, 1, b) | 0) + -1 | 0; +} + +function ob(a, b, c) { + a = a | 0; + b = b | 0; + c = c | 0; + ja(1); + return 0; +} + +function Ia(a, b) { + a = a | 0; + b = b | 0; + if (!v) { + v = a; + w = b; + } +} + +function kb(a, b) { + a = a | 0; + b = b | 0; + return Ba[a & 1](b | 0) | 0; +} + +function Sa(a) { + a = a | 0; + if (!(k[a + 68 >> 2] | 0)) Ta(a); + return; +} + +function mb(a, b) { + a = a | 0; + b = b | 0; + Da[a & 1](b | 0); +} + +function Ha(a, b) { + a = a | 0; + b = b | 0; + r = a; + s = b; +} + +function nb(a) { + a = a | 0; + ja(0); + return 0; +} + +function Na() { + db(1144) | 0; + return 0; +} + +function Ya(a) { + a = a | 0; + return 0; +} + +function Ta(a) { + a = a | 0; + return; +} + +function pb(a) { + a = a | 0; + ja(2); +} + +function La(a) { + a = a | 0; + K = a; +} + +function Ga(a) { + a = a | 0; + r = a; +} + +function Ma() { + return K | 0; +} + +function Fa() { + return r | 0; +} + +function ib() { + return 0; +} + +// EMSCRIPTEN_END_FUNCS + + var Ba = [ nb, Oa ]; + var Ca = [ ob, Va, Ua, Ra ]; + var Da = [ pb, Sa ]; + return { + _free: fb, + _main: Na, + _pthread_self: ib, + _memset: hb, + _malloc: eb, + _memcpy: jb, + _fflush: _a, + ___errno_location: Qa, + runPostSets: gb, + _emscripten_replace_memory: Aa, + stackAlloc: Ea, + stackSave: Fa, + stackRestore: Ga, + establishStackSpace: Ha, + setThrew: Ia, + setTempRet0: La, + getTempRet0: Ma, + dynCall_ii: kb, + dynCall_iiii: lb, + dynCall_vi: mb + }; +}) + + +;
\ No newline at end of file |