summaryrefslogtreecommitdiff
path: root/test/memorygrowth.asm.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-03-21 12:34:09 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-03-21 12:34:09 -0700
commit3dd7f17b10a1c6d0de11f3fa297beb9b18016e38 (patch)
treeb246799c17329bdf54fe26f5e631f0e2936423a6 /test/memorygrowth.asm.js
parentc4c132bd59acec4b81c5c6d5807499c9b3108be3 (diff)
downloadbinaryen-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.js2387
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