var output = [];
function g(s) {
    for (var i = 0; i < s.length; i++) {
        s.charAt()
    }
}
function h(f, inputs) {
    results = []
    for (var j = 0; j < 99; ++j) {
        for (var k = 0; k < 99; ++k) {
            try {
                results.push(f())
            } catch (e) {}
        }
    }
    g(uneval(results))
}
try {
    x()
} catch (e) {}
m = function(y) {
    return y;
};
h(m, []);
try {
    output.push(b);
    let b = "";
} catch (e) {}

assertEq(output.length, 0);
