We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
// original code // (beautified) var _calls_ = 10, a = 100, b = 10, c = 0; { var brake1 = 5; while (a && --brake1 > 0) { switch (function a_2() { c = c + 1; { return --b + (a++ + { c: (c = c + 1) + -((4 !== null != ("a" ^ {})) / (c = c + 1, this - 0)), null: a++ + (1 === 1 ? a : b), in: typeof a_2 == "function" && --_calls_ >= 0 && a_2(--b + (0 === 1 ? a : b), (c = c + 1) + a_2), var: a_2, 3: [ (c = c + 1) + (0 === 1 ? a : b) ] } || 2).toString()[a++ + a--]; } c = c + 1; { var brake6 = 5; do { switch ((c = c + 1) + /[abc4]/.test((b-- || b || 5).toString())) { default: if (--b + +(this ^ 22 && "b" / "undefined" && 25 % "b" > -2 >>> NaN)) { var a_1 = function f0(Infinity_2, bar_2) { c = 1 + c, (Infinity_2 && (Infinity_2[c = 1 + c, delete (22 / 25) | (true || 24..toString()) % (4 ^ 23..toString())] += 1 !== "b")) < (undefined != "") || !("" * "object"); c = 1 + c, (c = c + 1, 5) % (23..toString() << 3) ^ ("number" ^ 0) != ([ , 0 ].length === 2 === 23..toString()); }("c", (c = 1 + c, (a_2 = (-0 > 1) - "object" / false) << (null % [ , 0 ][1] && 1 === "object")), (c = 1 + c, (a_1 >>>= ("b" > "a") >>> "c" % null) !== (0 & 24..toString() | ([ , 0 ][1] || Infinity)))); } else { switch (void ((-3 !== "function") <= (a_1 && (a_1[c = 1 + c, a_1 = "bar" + ([ , 0 ].length === 2) >= "b" - Infinity && (c = c + 1, -0) < ("foo" || 25)] <<= 5 >>> null)) === (false < []) + (3 << "undefined"))) { case b--: { return c = 1 + c, (1 !== -1 ^ (c = c + 1, "function")) != ((NaN & null) !== (-1 !== [])); } c = 1 + c, (22 ^ "object") % (null + this) <= (-3 * 22, 38..toString() != 38..toString()); break; case --b + [].null: if (c = 1 + c, (-2 & {}) <= (5 ^ true) < (38..toString() === 23..toString() || -3 > /[a2][^e]+$/)) { c = 1 + c, (-4 === "bar") << (a_1 -= [] != null) == (-4 === 24..toString() !== (a_1 && (a_1[c = 1 + c, ((a_2 && (a_2.foo += true + "number")) << (true >>> "foo")) - (a_1 && (a_1.Infinity = 22 | "") || undefined != Infinity)] -= 1 + "undefined"))); } break; default: case --b + b--: { } { } break; } } for (var brake19 = 5; (c = c + 1) + (void function() { c = 1 + c, ([ , 0 ][1] !== 2) + ("number" && []) + (this > false ^ 24..toString() - 25); c = 1 + c, (-5 ^ []) % (true == "undefined") * ((this << "a") - (a_1 && (a_1.b = [ , 0 ][1] >= []))); }() || a || 3).toString() && brake19 > 0; --brake19) { L25565: { { var brake23 = 5; while ((c = 1 + c, ("number" | {}) + (2 | "undefined") + (("b" || 38..toString()) | 0 <= "c")) && --brake23 > 0) { c = 1 + c, a_1 && (a_1.a += ("" < NaN && 23..toString() > 38..toString()) << (Infinity * this & 22 > [ , 0 ][1])); } } { var expr25 = (c = 1 + c, (c = c + 1, c_2 && (c_2[c = 1 + c, a_1 && (a_1[--b + +function b() { c = 1 + c, 24..toString() == undefined == ("a" || undefined) & 24..toString() + [] < ([] & [ , 0 ][1]); c = 1 + c, (null < "bar" && -4 - Infinity) !== (false << "b") / (a_2 && (a_2[c = 1 + c, c = c + 1, ("object" && 24..toString()) ^ (this || /[a2][^e]+$/)] += true << 38..toString())); c = 1 + c, (/[a2][^e]+$/ ^ [ , 0 ][1]) * (5 > "c") ^ (c_2 = "c" | 25) === (c_2 && (c_2[c = 1 + c, (a_1 = 3 | 5) > {} >> "function" ^ ({}, 23..toString()) >> ("" & 1)] ^= 4 >= 2)); }()] += (c_2 && (c_2[c = 1 + c, (3 !== "function" || -3 ^ 3) && 3 / Infinity !== (c = c + 1, 3)] += "b" <= 2)) >>> (c = c + 1, [ , 0 ][1]) < ((23..toString() ^ -1) !== ("number" == -3)))] >>= -0 << /[a2][^e]+$/)) == (false >> "c" || /[a2][^e]+$/ !== "b")); L25566: for (var key25 in expr25) { c = 1 + c; var c_2 = expr25[key25]; c = 1 + c, (a_1 = this > 5 == (a_2 && (a_2.Infinity = false != null))) + (a_1 += ("function", -1) / delete this); } } { var expr30 = (c = 1 + c, c_2 && (c_2.var += ("object" | undefined) - undefined * 1 >= (a_1 && (a_1[c = 1 + c, (("foo" | "number") ^ true !== 38..toString()) >> (("bar" < "c") >>> (c_2 += [ , 0 ][1] / 25))] <<= "foo" >= 3)) << (a_2 && (a_2[c = 1 + c, (delete "bar", this - "c") % void ("c" >= 4)] = [ , 0 ][1] * 22)))); L25567: for (var key30 in expr30) { c = 1 + c, (-0 && "bar") >>> "" % "foo" ^ (c_2 && (c_2[c = 1 + c, "foo" / this == (a_2 && (a_2[c = 1 + c, ("undefined" / /[a2][^e]+$/, a_2 && (a_2.in = -4 === 1)) ^ (-0 ^ null) > (null === 0)] += 25 ^ 24..toString())) && -4 < /[a2][^e]+$/ === (25 ^ true)] = 0 >= 5)) - (1 !== false); } } } } case --b + [ (c = c + 1) + (--b + void function Infinity() { c = 1 + c, ("bar" + [] >= (0 >= 2)) * ((23..toString() ^ -1) != 3 >> {}); c = 1 + c, a_1 && (a_1.c >>>= (a_2 += (-0 >>> this) * ("a" / {})) | -0 % "a" - (NaN << "a")); }()) ][void 5 ^ 23..toString() - "foo" | false >>> -5 >> (c = c + 1, 2)]: { var foo = function f1(a_1, a_1) { c = c + 1; var bar_1 = (c = 1 + c, "b" + 0 >>> (a_1 && (a_1.NaN = "object" * 22)) << (("a" & 2) >>> (-5 !== 0))), parseInt = (c = 1 + c, (25 && "a") <= "foo" + 2 && (bar_1 && (bar_1.null = (a_1 && (a_1.a -= "undefined" != "b")) !== ~"a"))); }({}, 2); } { { var brake38 = 5; L25568: while (a++ + { c: (c = 1 + c, (5 % Infinity !== -3 >>> -1) + ((c_2 && (c_2[c = 1 + c, ("number" > 5) * (a_1 >>>= 24..toString() === "b") - ((5 && 38..toString()) >>> 3 % 1)] += "function" > 38..toString())) ^ ("object" || true))), foo: (c = 1 + c, (a_1 && (a_1[a++ + a_2] ^= "c" >>> 38..toString() < +this)) === (c = c + 1, -4 && 1)) }[c = 1 + c, (1 >= [] & -0 > ([ , 0 ].length === 2)) > (true % 23..toString() < (23..toString() === this))] && --brake38 > 0) { L25569: { } } } } break; case typeof undefined == "object": try { var Infinity_1 = {}.c, a_2 = a++ + { "\t": (c = 1 + c, (undefined ^ [ , 0 ].length === 2) + (Infinity < /[a2][^e]+$/) & ((c_2 = -2 >>> 2) ^ (a_2 && (a_2[c = 1 + c, a_2 && (a_2.NaN -= ("" === 0 ^ 38..toString() >> /[a2][^e]+$/) * (Infinity === undefined ^ (4 && "c")))] >>>= 25 >= "bar")))), length: (c = 1 + c, (2 > -4 | 23..toString() & 38..toString()) != ("function" != 3) * (/[a2][^e]+$/ * 3)), null: (c = 1 + c, (23..toString() >>> 24..toString(), 22 >>> "b") <= (-3 < "undefined" < (undefined || "object"))) }[a++ + a_2]; } catch (b_2) { { return --b + (b *= a); } c = c + 1; } --b + /[abc4]/.test(((c = c + 1) + [ (c = 1 + c, (a_1 = (delete 22, undefined >= "object")) ^ -4 / Infinity / (NaN ^ 1)), (c = 1 + c, a_2 += ("foo" || undefined) * (true << "undefined") ^ ("bar" >> "undefined" && "undefined" ^ Infinity)), (c = 1 + c, (a_2 += "function" == undefined) && NaN <= false, ("a", "object") & 2 / -0), (c = 1 + c, ("undefined" != "foo" ^ (a_2 && (a_2[c = 1 + c, (a_2 += -2 > -4) > void "foo" !== (c = c + 1, 1 % "c")] += "function" + "b"))) & (-3 & [ , 0 ][1]) >= (38..toString(), 5)), (c = 1 + c, 25 <= "" && (a_2 = [] * "undefined"), false % {} != 0 / {}) ][function Infinity_1() { }] || b || 5).toString()); break; case c_2 = {}[(c = c + 1) + (1 === 1 ? a : b)]: break; } } while (--b + (typeof f2 == "function" && --_calls_ >= 0 && f2(typeof f0 == "function" && --_calls_ >= 0 && f0(), b = a)) && --brake6 > 0); } }) { default: { var a = function f2(undefined, b_2, a_1) { var parseInt = a++ + ++a; if (a_1) { var foo = function f3(bar_2, a_1_1, parseInt_2) { switch (c = 1 + c, a_1 && (a_1[--b + (typeof bar_2_2 != "crap")] = ("undefined" << 3 !== "b" <= "function") / ({} && -2 || (Infinity || Infinity)))) { case c = 1 + c, +(("c" >= null) - (this | 24..toString())): ; break; case c = 1 + c, (2 * 3 || "undefined" | 0) ^ "c" - 0 & 24..toString() / -0: ; default: ; case c = 1 + c, (c = c + 1, "foo" * "function") > (bar_2 = 5 >> 1 != (a_1_1 && (a_1_1[c = 1 + c, ("object" != 23..toString()) << ("bar" !== "object") < (true >> "undefined" >= (bar_2 && (bar_2.c += -3 == false)))] += -4 <= -2))): ; break; } { var expr50 = (c = 1 + c, (-0 & "function") % ~"function" != (a_1 && (a_1[c = 1 + c, parseInt_2 && (parseInt_2[((c = 1 + c, (24..toString() !== "b" ^ void "foo") > (4 % this <= (true < null))) || a || 3).toString()] += (c = c + 1, null) == [] + false) && (-2 !== 22) < (a_1_1 = -1 || null)] = (a_1_1 && (a_1_1[c = 1 + c, (bar_2 && (bar_2[c = 1 + c, (b_2 && (b_2[c = 1 + c, (([ , 0 ].length === 2) >>> 1) + ([ , 0 ][1] >>> 22) != ((22 || -5) && 38..toString() << 3)] = null & 22)) % ("undefined" << -2) >>> (c = c + 1, 1 << /[a2][^e]+$/)] += 22 << "c")) != "number" < 3 && NaN !== 23..toString() != undefined % -5] += [ , 0 ][1] & Infinity)) > 2 >> 2))); for (var key50 in expr50) { c = 1 + c, "bar" != -5 != (c = c + 1, 38..toString()), ("bar" || [ , 0 ].length === 2) / (Infinity || 0); } } }([ , 0 ].length === 2, 5, ~a); } }("a", ([ ([ , 0 ][1] || a || 3).toString(), a--, a++ + a, a, a && a[(c = c + 1) + a++] ] || a || 3).toString(), this); } case [ a++ + { "\t": (--b + b++ || 9).toString()[(c = c + 1) + [ 24..toString() ][a++ + (void (false > /[a2][^e]+$/) >= ((a && (a[c = 1 + c, (NaN != "c") - -5 / 24..toString() << !("b" * "b")] = undefined != "b")) ^ -0 & "bar"))]], 1.5: a && a[(typeof f5 == "function" && --_calls_ >= 0 && f5(a++ + { 1.5: (c = 1 + c, (a && (a[c = 1 + c, ([ , 0 ].length === 2) < undefined <= (5 ^ {}) ^ (a && (a.NaN += +undefined >= (0 <= "b")))] += "number" ^ false)) >>> (a && (a.undefined = "object" >> "undefined")) > (0 ^ false) >> (-2 >>> /[a2][^e]+$/)), a: (c = 1 + c, (a && (a[a++] += "a" > true == (c = c + 1, 4))) % (-3 * -1 === (a && (a.Infinity += null !== 22)))), c: (c = 1 + c, (false !== null, {} / -3) % (({}, "a") != "foo" + this)), 1.5: (c = 1 + c, c = c + 1, -2 % 38..toString() == "object" << true), NaN: (c = 1 + c, "b" * "number" > (a && (a[c = 1 + c, a && (a[/[abc4]/.test(((c = 1 + c, c = c + 1, (this | [ , 0 ][1]) * (Infinity & this)) || b || 5).toString())] += (c = c + 1, "undefined") ^ void 25) || (5 / "bar" || a && (a[c = 1 + c, (a |= NaN * 4 < 24..toString() - 23..toString()) > (+NaN ^ -3 << [])] >>= "function" != "number"))] += "foo" % "")) && 23..toString() <= -1 != 4 % 22) }, +b, -1) || 9).toString()[--b + (typeof f5 == "function" && --_calls_ >= 0 && f5(3, (c = 1 + c, ((5, {}) ^ ([ , 0 ].length === 2 ^ -3)) + !([] || -3)), (c = 1 + c, 2 / [] != ("number" ^ [ , 0 ][1]) ^ (undefined != "number") * (-2 % 2))) || a || 3).toString()]] }, --b + { 1.5: a++ + { undefined: b >>= a, length: -a, null: a++ + { c: typeof foo_1 === "object" }.foo, 0: 0 === 1 ? a : b }[{ Infinity: --b + (!function() { }() ? (c = c + 1) + (a = (c = 1 + c, (c = c + 1, [ , 0 ].length === 2 || [ , 0 ].length === 2) === (a = [ , 0 ][1] > 0) * ("b" >= "undefined"))) : (c = c + 1) + [ (c = 1 + c, ("object" <= "number" ^ (c = c + 1, 3)) === (-2 !== "bar" ^ 25 + "undefined")), (c = 1 + c, 4 >>> false > (c = c + 1, "c") || false != "undefined" ^ (/[a2][^e]+$/ | "number")), (c = 1 + c, (~undefined && 25 - Infinity) !== ({}, "number") - (c = c + 1, "undefined")), (c = 1 + c, (c = c + 1, Infinity === "") > (/[a2][^e]+$/ & false) << (false == NaN)) ].a), Infinity: [ (c = 1 + c, (a && (a.null += 3 ^ 3 || -0 && -0)) << ((undefined ^ this) & (2 ^ 24..toString()))), (c = 1 + c, a += (a && (a.c += ([] ^ this) - (true || -1))) << (-5 ^ /[a2][^e]+$/ && "number" >= {})), (c = 1 + c, (c = c + 1, 5 * "bar") ^ !(undefined / "function")) ].NaN, "-2": a && a.undefined, 3: a++ + !function() {}(), "": a++ + (a && a[-b]) }.a] }, (c = c + 1) + (true === -0 == (-5 && this)) / (("" <= Infinity) >>> (this | "object")), (c = c + 1) + [][(c = c + 1) + (typeof f2 == "function" && --_calls_ >= 0 && f2())], typeof a == "crap" ].length: if ((--b + (--b + (a && (a.foo = (c = c + 1, 4) / ("undefined" * 22) % (2 === /[a2][^e]+$/ || {} <= 3))) ? (c = c + 1) + /[abc4]/.test((a++ + (typeof a == "function" && --_calls_ >= 0 && a()) || b || 5).toString()) : 25) || a || 3).toString()) { try { try { { var brake55 = 5; while (--b + (a && a.foo) && --brake55 > 0) { var undefined = function arguments_1(Infinity_1, parseInt_2, b_2) { if (c = 1 + c, void {} + ("undefined" ^ [ , 0 ][1]) >>> (0 == 0 ^ false % this)) { c = 1 + c, c = c + 1, ("bar" < "undefined") + (c = c + 1, null); } var b_2 = (c = 1 + c, b_2 && (b_2[a++ + a--] = ({} & -1) - ("a" <= 25) || (c = c + 1, 1) * (-5 >= this))); }("b", -0, -3); } } } catch (undefined) { switch ((c = c + 1) + (b = a)) { case b++: switch ((c = c + 1) + /[abc4]/.test(((c = 1 + c, a && (a.foo = (c = c + 1, this) % (false ^ "object") || (25 == "") - (-5 | undefined))) || b || 5).toString())) { case typeof bar_2 == "function": c = 1 + c, ("bar" > "b") % (a && (a[c = 1 + c, a += 25 * "function" <= 22 / -4 || NaN <= 2 ^ (a += "undefined" >>> false)] += -1 === /[a2][^e]+$/)) - (NaN ^ 1 ^ Infinity << null); break; default: c = 1 + c, (-4 >> ([] & -1)) * (true * true >>> (23..toString() >>> Infinity)); case (c = c + 1) + a: c = 1 + c, delete -0 >> (-5 ^ "object") <= (null >= null && -5 < "foo"); break; case --b + /[abc4]/.test(((c = 1 + c, !(a && (a.in += -4 && "undefined")) != (a && (a.b = ("number" & -2) - (5 << 4)))) || b || 5).toString()): c = 1 + c, (38..toString() | -0) < ({}, 3) != (-4 ^ "b") >>> (-4 ^ -0); break; } { var brake66 = 5; do { try { c = 1 + c, (2 || false) % (-2 >>> -5) >= (25 !== -3, "foo" !== 0); } catch (undefined_1) { } } while (--b + a-- && --brake66 > 0); } break; case (c = c + 1) + ((c = c + 1) + a || a || 3).toString(): break; case a++ + +((null >>> [] ^ 24..toString() / null) != ("bar" * false == [ , 0 ][1] <= this)): var b_1; break; case (b_1 += -2 + "undefined") << (b_1 && (b_1.a = 4 ^ 38..toString())) & -0 !== 1 != "a" + "bar": { var brake70 = 5; L25570: do { { } } while (typeof b_1 == "function" && --_calls_ >= 0 && b_1(undefined, (c = 1 + c, b_1 = NaN % true << ("" >>> false) < ("object" >= "foo") >> (-3 <= 22))) && --brake70 > 0); } if (--b + a++) { var brake73 = 5; while ((c = 1 + c, "undefined" >>> "number" != (b_1 && (b_1[c = 1 + c, (22 << "foo" >> (38..toString() || "foo")) + (b_1 && (b_1.Infinity = -5 < 2 != (Infinity ^ 25)))] *= "" !== undefined)) === (/[a2][^e]+$/ & 0) >= ("bar" != /[a2][^e]+$/)) && --brake73 > 0) { c = 1 + c, (Infinity << Infinity) % ("a" << "b") * (b_1 = (b_1 && (b_1[c = 1 + c, (true == 5) >= (b_1 && (b_1[c = 1 + c, b_1 && (b_1[typeof f3 == "function" && --_calls_ >= 0 && f3(-0, (c = 1 + c, "c" > "a" === (b_1 && (b_1.NaN = "bar" << [ , 0 ][1])) ^ (b_1 && (b_1[c = 1 + c, b_1 && (b_1.c = 22 << [] >>> (25 > {}) != (c = c + 1, 23..toString() > 4))] = "a" || this)) + (b_1 && (b_1[c = 1 + c, (("number" && null) ^ (24..toString() || 38..toString())) & (b_1 += (c = c + 1, /[a2][^e]+$/) ^ "object" != 3)] &= "a" == true))), (c = 1 + c, ((c = c + 1, -5) ^ "b" >= 24..toString()) !== ("a" & [ , 0 ].length === 2 | -undefined)))] = ("function" * null > (undefined == -2)) % ((-4 != 3) <= ([ , 0 ].length === 2) >> 24..toString()))] = Infinity << "b")) ^ (c = c + 1, "c") >= (b_1 <<= 4 - 2)] = [ , 0 ].length === 2 && "c")) + (b_1 && (b_1[c = 1 + c, (-2 || 5) / ("bar" & 23..toString()) == (false << ([ , 0 ].length === 2)) / (38..toString() - null)] += 1 == true))); } } else { var brake75 = 5; while ((c = 1 + c, undefined / 38..toString() < ({} >= /[a2][^e]+$/) <= ("number" + "bar") * (-2 | "a")) && --brake75 > 0) { c = 1 + c, (38..toString() || -4) > -"bar" != (-1 / -3 && "" - 0); } } break; } } finally { { var expr79 = (--b + /[abc4]/.test((((c = 1 + c, ([] && "undefined") === "number" >= "" == ((foo_1 && (foo_1.c = -0 || "function")) == (-1 | 0))) || 2).toString()[c = 1 + c, ("" | "function") ^ 2 > "object" ^ -4 + "" <= (-0 ^ -4)] || b || 5).toString()) || 8).toString()[((foo_1 && (foo_1.b += {} > "bar")) & [ , 0 ][1] != NaN) / (NaN >>> "c", 1 == 38..toString())]; for (var key79 in expr79) { c = 1 + c; var foo_1 = expr79[key79]; switch (--b + typeof foo_1) { case --b + -2: { } { } break; case a++ + ("a" % {} + (b_1 && (b_1.undefined = 25 !== "number")) << ("a" | "c" || this != "foo")): try { c = 1 + c, c = c + 1, (false >= 23..toString()) >> "bar" - 23..toString(); } catch (foo) { } finally { } { var brake85 = 5; L25571: do { c = 1 + c, -(("bar" ^ this) + (-3 == 38..toString())); } while ((c = 1 + c, ("a" ^ "number") * ("function" >> "") + ((38..toString() !== Infinity) << (b_1 && (b_1.undefined = Infinity - [ , 0 ][1])))) && --brake85 > 0); } break; case a--: break; case (a++ + [ (c = 1 + c, (b_1 |= true >= "undefined") / (0 >> /[a2][^e]+$/) ^ {} >> "object" <= -5 + null), (c = 1 + c, (foo_1 = "object" / this >>> ("bar" || [ , 0 ].length === 2)) & (null || /[a2][^e]+$/) >>> (undefined >>> -2)), (c = 1 + c, (38..toString() === 22) % ([] || "") <= (25 << -0 || "" % "number")) ] || a || 3).toString(): for (var brake87 = 5; (c = 1 + c, 22 * "" | (c = c + 1, -5) || (23..toString() - "a") % ({} >>> "")) && brake87 > 0; --brake87) { c = 1 + c, b_1 && (b_1.Infinity = ([] ^ {}) / ("object" === 3)) || b_1 && (b_1[(c = c + 1) + (typeof foo_1 == "function" && --_calls_ >= 0 && foo_1("foo", (c = 1 + c, b_1 && (b_1[a++ + a++] += ((2 > 2) >>> (-0 || undefined)) + (("number" || "bar") == /[a2][^e]+$/ >= ([ , 0 ].length === 2)))), (c = 1 + c, foo_1 && (foo_1.NaN += (b_1 += ("foo" >>> "foo") * ~25) == ((b_1 && (b_1.in = this ^ {})) | (foo_1 += -1 - "undefined"))))))] = ([ , 0 ][1] / 3, 24..toString() * 0)); } break; } } } } } finally { { var expr89 = --b; for (var key89 in expr89) { a++ + ((b <<= a) || a || 3).toString(); } } { typeof foo_1 == "function" && --_calls_ >= 0 && foo_1((c = 1 + c, -2 * false + (22 ^ "object") + (-1 % "" == false - "function")), "b", (c = 1 + c, ~(b_1 && (b_1[c = 1 + c, (foo_1 && (foo_1.undefined = (-4 !== true) / ("object" % 38..toString()))) & (25 > NaN) + "object" / -4] += ([ , 0 ].length === 2, 0)), this * -1))); { var brake93 = 5; do { if ((c = 1 + c, 23..toString() >>> 25 < (foo_1 && (foo_1[c = 1 + c, ("b" || "undefined") >> NaN % ([ , 0 ].length === 2) ^ (b_1 = {} & -5) & (false ^ "a")] = null * "bar")), /[a2][^e]+$/ <= -3 !== 0 < 22) ? (c = 1 + c, ("function" >> this != 3 > 0) * (NaN + "function" > ("b" || 22))) : (c = 1 + c, (-5 >= []) % ("foo" + [ , 0 ][1]) >= (b_1 && (b_1[--b] += 24..toString() >> -5 >>> ("undefined" && 24..toString()))))) { var expr95 = (c = 1 + c, (b_1 && (b_1[c = 1 + c, ("a" <= "a") % (-2 - -5) * ((b_1 && (b_1[c = 1 + c, null / "b" >> (23..toString() <= [ , 0 ][1]), b_1 = (undefined || NaN) << ([ , 0 ][1] ^ 25)] = 1 === -1)) >= (undefined == true))] = 38..toString() * /[a2][^e]+$/)) <= [ , 0 ][1] * 23..toString() > (5 << [] ^ "c" + /[a2][^e]+$/)); L25572: for (var key95 in expr95) { c = 1 + c; var arguments = expr95[key95]; c = 1 + c, (foo_1 &= 4 >> 23..toString()) < (0 > 1) == (2 * "function" ^ [] === ""); } } } while (/[abc4]/.test((--b + [ (c = 1 + c, (c = c + 1, [ , 0 ].length === 2) > (-4 > {}) >= (foo_1 && (foo_1.null *= foo_1 && (foo_1.foo += "undefined" == 22) || (b_1 <<= "" & 3)))) ][c = 1 + c, (b_1 && (b_1[c = 1 + c, (null - 22 || [] && 24..toString()) >= (-5 >= NaN ^ -2 % 3)] = 5 % ([ , 0 ].length === 2))) & (foo_1 && (foo_1[c = 1 + c, (-0 != NaN) / (-5 <= -2) || (Infinity <= "c") / (null && "bar")] += "bar" >= -5)), -5 * "function" >>> 4 + -1] || b || 5).toString()) && --brake93 > 0); } { if (c = 1 + c, ([] | 2) < (c = c + 1, 22) && (23..toString() || "") > (3 & "undefined")) { c = 1 + c, (NaN >> Infinity) - (c = c + 1, [ , 0 ].length === 2) && ("bar" | true) >>> ("" != "b"); } else { c = 1 + c, foo_1 && (foo_1.b = (0 % 24..toString() && -2 >> "") != ("object" | /[a2][^e]+$/ || 1 >> 25)); } { } { var brake102 = 5; while ((c = 1 + c, (1 === -0 || "b" && "a") & ((foo_1 && (foo_1.undefined = [ , 0 ].length === 2 != NaN)) & ([ , 0 ][1] ^ -5))) && --brake102 > 0) { c = 1 + c, foo_1 && (foo_1[--b + (c = 1 + c, (25 != []) - (0 <= NaN) + ((-5 === -2) > Infinity + ([ , 0 ].length === 2)))] = NaN ^ [] | 38..toString() < 5) || b_1 && (b_1[a++ + (foo_1 += (c = 1 + c, (5 ^ 23..toString()) << (false ^ /[a2][^e]+$/) << -(3 !== -3)))] = -4 / ([ , 0 ].length === 2) && 24..toString() ^ -0); } } } { var brake104 = 5; while (foo_1 && --brake104 > 0) { var brake105 = 5; do { { } } while ((c = c + 1) + { get foo() { c = 1 + c, b_1 && (b_1.c = (4 == -2 & null != [], NaN === false, -5 === 2)); }, 1.5: (c = 1 + c, !((b_1 += [] >> undefined) | -0 * 22)) } && --brake105 > 0); } } } } } try { var parseInt = (c = c + 1) + +function() { { } { var expr112 = void ((23..toString() <= []) * ("" && -3) ^ (foo_1 && (foo_1[a++ + (b_1 && b_1.NaN)] = (-3 >= "b") >> "bar" - undefined))); for (var key112 in expr112) { c = 1 + c; var foo_2 = expr112[key112]; switch (typeof b_1 == "function" && --_calls_ >= 0 && b_1(2, (c = 1 + c, (/[a2][^e]+$/ ^ 22) << 25 % "a" ^ "undefined" * undefined !== ("a" != 4)), (c = 1 + c, (foo_1 += (2 || "number") && 0 % null) << (0 >>> Infinity >= (-3 != -1))))) { case a++ + function b() { c = 1 + c, (-3 ^ "foo") > (b_1 &= -4 ^ -1) > ~(22 || /[a2][^e]+$/); }: L25573: for (var brake115 = 5; (c = 1 + c, ([ , 0 ].length === 2 || "number") != (24..toString() ^ -1) != ("bar" & "foo") << ("" >> 25)) && brake115 > 0; --brake115) { c = 1 + c, 3 < undefined <= (Infinity ^ "c") !== (undefined, [ , 0 ][1]) % (c = c + 1, true); } break; case function() { c = 1 + c, (true >>> null != ([ , 0 ][1] | 38..toString())) * !("" << "c"); c = 1 + c, !((-4 > 5) + (undefined ^ NaN)); c = 1 + c, 3 % -1 !== "undefined" * true ^ (foo_1 && (foo_1.b = (/[a2][^e]+$/ & this) / (b_1 = -0 || {}))); }: { var brake120 = 5; while ((c = 1 + c, ("" <= false) % (-0 + 0), (foo_1 += "a" - "bar") <= ("object", -3)) && --brake120 > 0) { c = 1 + c, (c = c + 1, 0) !== -2 >>> /[a2][^e]+$/ | (c = c + 1, [] >= "foo"); } } break; case (3 * null ^ (-2 && 1)) / (-3 > NaN | +24..toString()): break; case -4: switch (c = 1 + c, (c = c + 1, 38..toString() >> ([ , 0 ].length === 2)) + (("function" ^ 3) + (foo_1 && (foo_1[c = 1 + c, (b_1 = "undefined" % this || true % "function") & "foo" >> false > (foo_2 && (foo_2[c = 1 + c, ("function" >>> 1 || 25 ^ "undefined") * ([] == 5 | /[a2][^e]+$/ >>> false)] *= "" <= 5))] >>= 3 << undefined)))) { case c = 1 + c, ("object" ^ 5) <= ("b" !== "b") < "number" % {} - (5 >= 1): ; break; default: ; case c = 1 + c, ("object" << 4 || [ , 0 ].length === 2 !== "b") < (false == [] | /[a2][^e]+$/ + 25): ; break; case c = 1 + c, (-2 !== 1) >>> (-5 !== 2) & 4 > 2 === (c = c + 1, "foo"): ; break; } { } break; } } } { var Infinity = function f4(undefined_1, b_2, a_1) { { var brake125 = 5; L25574: while ((c = 1 + c, c = c + 1, -2 << -5 | null == 3) && --brake125 > 0) { c = 1 + c, (b_1 && (b_1.var = NaN + "b")) % (Infinity + 23..toString()) << (25 == "a") / (4 ^ null); } } c = c + 1; }(-((b_1[NaN] = (3 === "bar") + (-0 === 38..toString())) < (foo_2 += "bar" >= 2 && -0 - /[a2][^e]+$/)), (c = c + 1) + foo_2, foo_2); } if (([ , (c = 1 + c, c = c + 1, (-1, -2) >= (-4 == null)), (c = 1 + c, 24..toString() / "a" > (5 ^ NaN) | !("a" && 0)) ][--b + ((foo_1 && (foo_1[c = 1 + c, ("a" != -2 & ("bar" ^ "foo")) >= (foo_1 = (-0 >> "") + 3 * NaN)] = 0 << 25) || [] & "") ^ !"number" == (this, 2))] || a || 3).toString()) { try { a++ + ((c = 1 + c, c = c + 1, foo_1 /= -4 < Infinity, /[a2][^e]+$/ << -3) || a || 3).toString(); } catch (a_2) { for (var brake131 = 5; (c = 1 + c, -0 * -3 - !2 == (null <= 3) + (-3 != -2)) && brake131 > 0; --brake131) { c = 1 + c, (this | "function") << (0 & 25) >= ({} < 38..toString() != (a_2 &= "object" / this)); } try { c = 1 + c, b_1 && (b_1[a++ + new function a_2_1() { this.Infinity += [] << -2 << (this >>> "undefined"); }()] %= (-0 === ([ , 0 ].length === 2) && (38..toString(), "object")) === -0 % "" << (b_1 && (b_1[c = 1 + c, (this === "a", NaN != 1) & (NaN <= -3) - ("number" <= 4)] -= 4 != true))); } catch (b_1) { } } } else { var NaN_1; } }(), b = --b + b--; } catch (a) { { var brake136 = 5; do { { { var brake138 = 5; while (foo_1 && foo_1[b_1 && b_1.NaN] && --brake138 > 0) { --b + ((c = 1 + c, (24..toString() || -5) / (22 < -2) >= (("number" | []) !== (/[a2][^e]+$/ ^ true))) ? (c = 1 + c, (22 ^ 3) >= "c" + this != ("a" > Infinity & "function" / this)) : (c = 1 + c, 1 / 25 >= "a" % -3 != (([ , 0 ].length === 2) <= {} === (true == false)))); } } L25575: {} { { var expr142 = (c = 1 + c, ((c = c + 1, "bar") ^ -5 !== "") / ([ , 0 ].length === 2 | "a", [ , 0 ][1] + "a")); L25576: for (var key142 in expr142) { c = 1 + c; var b_2 = expr142[key142]; c = 1 + c, ([ , 0 ][1] < -2, false / {}) >> ("a" >> "object" > (2 | -2)); } } var Math_2; } } } while ((b &= a) && --brake136 > 0); } } break; case foo_1 && foo_1.NaN: a++ + (typeof arguments_1 == "special"); break; case a++ + (typeof b_2 == "function" && --_calls_ >= 0 && b_2((c = c + 1) + b++)): { var expr147 = a++ + (a++ + b_2 || 9).toString()[a++ + { 3: void function parseInt_1() {}(), undefined: --b + void ((4 > -4) + ("object" << null) ^ (1 & "foo") * ({} ^ false)), "\t": (c = c + 1) + bar_1 ? b-- : function Infinity_2() {}(), undefined: --b + (b /= a), 0: --b + +a }]; for (var key147 in expr147) { c = 1 + c; var bar_1 = expr147[key147]; { var a_1 = function f5() { }([], b--); } } } break; } } } { var expr151 = a++ + ~((25 | "number") == ("a" ^ "foo") != (-4 >> 3 | ([ , 0 ].length === 2) / /[a2][^e]+$/)); for (var key151 in expr151) { { var expr152 = b += a; for (var key152 in expr152) { --b + (b += a); } } } } console.log(null, a, b, c, Infinity, NaN, undefined);
// uglified code // (beautified) for (var o = 10, r = 100, c = 10, N = 0, a = 5; r && 0 < --a; ) { switch (function() { return N += 1, --c + ("" + (r++ + { c: (N += 1) + -1 / (N += 1, this - 0), null: r++ + r, in: !1, var: void 0, 3: [ (N += 1) + c ] } || 2))[r++ + r--]; }) { default: r--, ++r && r[(N += 1) + r++], r++, r = void ++r; case [ r++ + { "\t": ("" + (--c + c++ || 9))[(N += 1) + [ "24" ][r++ + ((0 ^ (r && (r[N = 1 + N, 2] = "b" != s))) <= void 0)]], 1.5: r && r[("" + ("function" == typeof f5 && 0 <= --o && f5(r++ + { 1.5: (N = 1 + N, 0 < (r && (r[N = 1 + N, !0 < s <= 5 ^ (r && (r.NaN += !1 <= +s))] += 0)) >>> (r && (r.undefined = 0))), a: (N = 1 + N, (r && (r[r++] += 0 == (N += 1, 4))) % (3 === (r && (r.Infinity += !0)))), c: (N = 1 + N, NaN % ("a" != "foo" + this)), 1.5: (N = 1 + N, N += 1, !1), NaN: (N = 1 + N, (r && (r[N = 1 + N, r && (r[/[abc4]/.test("" + (N = 1 + N, N += 1, (0 | this) * (1 / 0 & this) || c || 5))] += void 0 ^ (N += 1, "undefined")) || r && (r[N = 1 + N, -3 < (r |= !1)] >>= !0)] += NaN)) < NaN && !0) }, +c, -1) || 9))[--c + "" + ("function" == typeof f5 && 0 <= --o && f5(3, (N = 1 + N, -4), (N = 1 + N, !0 ^ -0 * ("number" != s))) || r || 3)]] }, --c + { 1.5: r++ + { undefined: c >>= r, length: -r, null: r++ + { c: "object" == typeof h }.foo, 0: c }[{ Infinity: --c + ((N += 1) + (N = 1 + N, N += 1, r = !1)), Infinity: [ (N = 1 + N, (r && (r.null += -0)) << (26 & (s ^ this))), (N = 1 + N, r += (r && (r.c += ([] ^ this) - !0)) << !0), (N = 1 + N, N += 1, NaN ^ !(s / "function")) ].NaN, "-2": r && r.undefined, 3: r++ + !0, "": r++ + (r && r[-c]) }.a] }, (N += 1) + (0 == this) / (!0 >>> ("object" | this)), (N += 1) + [][(N += 1) + ("function" == typeof f2 && 0 <= --o && f2())], "crap" == typeof r ].length: if ("" + (--c + (--c + (r && (r.foo = (N += 1, NaN))) ? (N += 1) + /[abc4]/.test("" + (r++ + ("function" == typeof r && 0 <= --o && r()) || c || 5)) : 25) || r || 3)) { try { try { for (var n = 5; --c + (r && r.foo) && 0 < --n; ) { var s = function(a) { N = 1 + N, NaN >>> (!0 ^ !1 % this) && (N = 1 + N, N += 1, N += 1), N = 1 + N, a = a && (a[r++ + r--] = (N += 1, 1 * (this <= -5))); }(-3); } } catch (s) { switch ((N += 1) + (c = r)) { case c++: switch ((N += 1) + /[abc4]/.test("" + (N = 1 + N, r && (r.foo = (N += 1, this % 0 || !1 - (-5 | s))) || c || 5))) { case "function" == typeof bar_2: N = 1 + N, r && (r[N = 1 + N, r += !1 ^ (r += 0)] += !1); break; default: N = 1 + N; case (N += 1) + r: case --c + /[abc4]/.test("" + (N = 1 + N, !(r && (r.in += "undefined")) != (r && (r.b = -80)) || c || 5)): N = 1 + N; } var e = 5; do { try { N = 1 + N; } catch (a) {} } while (--c + r-- && 0 < --e); break; case (N += 1) + "" + ((N += 1) + r || r || 3): break; case r++ + +(0 != (NaN == 0 <= this)): var v; break; case (v += "-2undefined") << (v && (v.a = 34)) & !0: var i = 5; do {} while ("function" == typeof v && 0 <= --o && v(s, (N = 1 + N, v = !1)) && 0 < --i); if (--c + r++) { for (var t = 5; N = 1 + N, 0 != (v && (v[N = 1 + N, 0 + (v && (v.Infinity = !0))] *= "" !== s)) == 0 && 0 < --t; ) { N = 1 + N, v = (v && (v[N = 1 + N, (v && (v[N = 1 + N, v && (v["function" == typeof f3 && 0 <= --o && f3(-0, (N = 1 + N, !0 === (v && (v.NaN = 0)) ^ (v && (v[N = 1 + N, v && (v.c = 22 != (N += 1, !0))] = "a")) + (v && (v[N = 1 + N, 24 & (v += !0 ^ (N += 1, /[a2][^e]+$/))] &= !1))), (N = 1 + N, (!0 ^ (N += 1, -5)) != (0 | -s)))] = ((-2 == s) < NaN) % !1)] = 0)) <= !1 ^ (N += 1, (v <<= 2) <= "c")] = "c")) + (v && (v[N = 1 + N, !1] += !0)); } } else { for (var f = 5; N = 1 + N, s / "38" < !0 <= NaN && 0 < --f; ) { N = 1 + N; } } } } finally { var d = ("" + (--c + /[abc4]/.test("" + (("" + (N = 1 + N, 0 == (-1 == (h && (h.c = "function"))) || 2))[N = 1 + N, 1] || c || 5)) || 8))[(!0 & (h && (h.b += !1))) / !1]; for (var u in d) { N = 1 + N; var h = d[u]; switch (--c + typeof h) { case --c - 2: break; case r++ + (NaN + (v && (v.undefined = !0)) << ("foo" != this)): try { N = 1 + N, N += 1; } catch (a) {} for (var b = 5; N = 1 + (N = 1 + N), 0 + (!0 << (v && (v.undefined = 1 / 0))) && 0 < --b; ) {} break; case r--: break; case "" + (r++ + [ (v |= !1) / 0 ^ !1, (h = "object" / this >>> "bar") & /[a2][^e]+$/ >>> (s >>> -2), (N = 1 + (N = 1 + (N = 1 + N)), !1) ] || r || 3): for (var y = 5; N = 1 + N, 0 | (N += 1, -5) && 0 < y; --y) { N = 1 + N, v && (v.Infinity = NaN) || v && (v[(N += 1) + ("function" == typeof h && 0 <= --o && h("foo", (N = 1 + N, v && (v[r++ + r++] += (!1 >>> s) + !1)), (N = 1 + N, h && (h.NaN += (v += -0) == ((v && (v.in = this ^ {})) | (h += NaN))))))] = 0); } } } } } finally { var l = --c; for (var p in l) { c <<= ++r; } "function" == typeof h && 0 <= --o && h(22, "b", (N = 1 + (N = 1 + N), v && (v[N = 1 + N, NaN & (h && (h.undefined = NaN))] += 0), ~(-1 * this))); var k = 5; do { if (N = 1 + N, h && (h[N = 1 + N, 0 ^ 0 & (v = 0)] = NaN), N = 1 + N, !1 * ("function" >> this != 1)) { var w = (N = 1 + N, 5 < ((v && (v[N = 1 + N, 1 * ((v && (v[N = 1 + N, v = (s || NaN) << 25] = !1)) >= (1 == s))] = NaN)) <= 0)); for (var I in w) { N = 1 + (N = 1 + N), h &= 0; } } } while (/[abc4]/.test("" + (--c + [ (N = 1 + N, N += 1, (h && (h.null *= h && (h.foo += !1) || (v <<= 0))) <= !0) ][N = 1 + N, v && (v[N = 1 + N, !1] = 0), h && (h[N = 1 + N, 1] += !1), 0] || c || 5)) && 0 < --k); N = 1 + N, 2 < (N += 1, 22) ? (N = 1 + N, N += 1) : (N = 1 + N, h && (h.b = !1)); for (var g = 5; N = 1 + N, 0 & (h && (h.undefined = !0)) && 0 < --g; ) { N = 1 + N, h && (h[--c + (N = 1 + N, 1)] = 0) || v && (v[r++ + (h += (N = 1 + N, 0))] = 24); } for (var j = 5; h && 0 < --j; ) { var $ = 5; do {} while ((N += 1) + { get foo() { N = 1 + N, v && (v.c = !1); }, 1.5: (N = 1 + N, !(-0 | (v += [] >> s))) } && 0 < --$); } } } try { N += 1, function() { var a = void (h && (h[r++ + (v && v.NaN)] = !1 >> "bar" - s)); for (var n in a) { N = 1 + N; var e = a[n]; switch ("function" == typeof v && 0 <= --o && v(2, 22 ^ "undefined" * s !== !0, (N = 1 + (1 + N), (h += NaN) << (!0 <= 0 >>> f)))) { case r++ + function() { N = 1 + N, v &= 3; }: for (var i = 5; N = 1 + N, 0 < i; --i) { N = 1 + N, N += 1; } break; case function() { N = 1 + (1 + (1 + N)), h && (h.b = (/[a2][^e]+$/ & this) / (v = {})); }: for (var t = 5; N = 1 + N, (h += NaN) <= -3 && 0 < --t; ) { N = 1 + N, N += 1, N += 1; } break; case 1 / 24: break; case -4: switch (N = 1 + N, N += 1, 19 + (3 + (h && (h[N = 1 + N, (v = "undefined" % this || NaN) & (e && (e[N = 1 + N, 0] *= !0)) < 0] >>= 3 << s)))) { case N = 1 + N, !1: break; default: case N = 1 + N, !1: case N = 1 + N, 0 & !0 === (N += 1, "foo"): } } } var f = function() { for (var a = 5; N = 1 + N, N += 1, 0 < --a; ) { N = 1 + N, v && (v.var = "NaNb"); } N += 1; }((v.NaN = 0, e += !1, N += 1)); if ("" + ([ , !1, (N = 1 + ((N = 1 + N) + 1), 1) ][--c + (!1 ^ (h && (h[N = 1 + N, (h = NaN) <= 0] = 0) || 0))] || r || 3)) { try { r++, N = 1 + N, N += 1, h /= -4 < f; } catch (a) { N = 1 + N; try { N = 1 + N, v && (v[r++ + new function() { this.Infinity += 0 << (this >>> "undefined"); }()] %= !1 === NaN << (v && (v[N = 1 + N, 0] -= !0))); } catch (a) {} } } }(), c = --c + c--; } catch (r) { var m = 5; do { for (var _ = 5; h && h[v && v.NaN] && 0 < --_; ) { --c, N = 1 + (1 + N); } var q = (N = 1 + N, (!0 ^ (N += 1, "bar")) / "0a"); for (var x in q) { var z = q[x]; N = 1 + (1 + N); } } while ((c &= r) && 0 < --m); } break; case h && h.NaN: r++; break; case r++ + ("function" == typeof z && 0 <= --o && z((N += 1) + c++)): var A = r++ + ("" + (r++ + z || 9))[r++ + { 3: void 0, undefined: --c + void 0, "\t": (N += 1) + C ? c-- : void 0, undefined: --c + (c /= r), 0: --c + +r }]; for (var B in A) { N = 1 + N; var C = A[B]; c--; } } } var D = r++ - 2; for (var E in D) { var F = c += r; for (var G in F) { --c, c += r; } } console.log(null, r, c, N, 1 / 0, NaN, s);
original result: null NaN 0 42 Infinity NaN undefined uglified result: null NaN 0 28 Infinity NaN undefined minify(options): { "compress": { "passes": 1000000, "unsafe": true }, "toplevel": true }
The text was updated successfully, but these errors were encountered:
fix corner case in reduce_vars
reduce_vars
adf1679
fixes mishoo#3622
fix corner case in reduce_vars (#3623)
d68ddc3
fixes #3622
Successfully merging a pull request may close this issue.
The text was updated successfully, but these errors were encountered: