New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

coco

Package Overview
Dependencies
Maintainers
0
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

coco - npm Package Compare versions

Comparing version 0.2.2 to 0.3.3

lib/wsh.js

30

lib/browser.js

@@ -1,16 +0,1 @@

var Coco;
(Coco = require('./coco')).require = require;
Coco.eval = function(code, options){
return (0, eval)(Coco.compile(code, options));
};
Coco.run = function(code, options){
options == null && (options = {});
return Function(Coco.compile(code, (options.bare = true, options)))();
};
if (toString() === '[object BackstagePass]') {
this.EXPORTED_SYMBOLS = ['Coco'];
}
if (typeof window == 'undefined' || window === null) {
return;
}
Coco.load = function(url, options){

@@ -28,10 +13,6 @@ var xhr;

};
return xhr.send(null);
xhr.send(null);
return xhr;
};
if (self.addEventListener) {
addEventListener('DOMContentLoaded', runScripts, false);
} else {
attachEvent('onload', runScripts);
}
function runScripts(){
Coco.invoke = function(){
var type, script, _i, _ref, _len;

@@ -50,2 +31,7 @@ type = /^(?:text\/|application\/)?coco$/i;

}
};
if (this.attachEvent) {
attachEvent('onload', Coco.invoke);
} else {
addEventListener('DOMContentLoaded', Coco.invoke, false);
}

@@ -1,6 +0,6 @@

var Coco, lex, parser, fs, path;
(Coco = exports).VERSION = '0.2.2';
var Coco, lex, parser, nodes, fs, path, _ref;
Coco = exports;
lex = require('./lexer').lex;
parser = require('./parser').parser;
parser.yy = require('./nodes');
parser.yy = nodes = require('./nodes');
parser.lexer = {

@@ -20,44 +20,49 @@ lex: function(){

};
Coco.VERSION = '0.3.2';
Coco.compile = function(code, options){
var that;
try {
return parser.parse(lex(code)).compileRoot(options);
} catch (e) {
if (that = options != null ? options.fileName : void 8) {
e.message = "in " + that + ", " + e.message;
}
throw e;
}
return parser.parse(lex(code)).compileRoot(options);
};
Coco.nodes = function(it){
return parser.parse(typeof it == 'string' ? lex(it) : it);
return parser.parse(typeof it === 'string' ? lex(it) : it);
};
Coco.tokens = lex;
if (!((fs = require('fs')) && (path = require('path')))) {
return;
}
Coco.run = function(code, options){
var root;
root = module;
while (root.parent) {
root = root.parent;
Coco.lex = function(it){
return lex(it, {
rewrite: false
});
};
(_ref = Coco.nodes).parse = nodes.parse, _ref.fromJSON = nodes.fromJSON;
if ((fs = require('fs')) && (path = require('path'))) {
Coco.run = function(code, options){
var root, that;
options || (options = {});
root = module;
while (root.parent) {
root = root.parent;
}
root.filename = process.argv[1] = (that = options.filename) ? fs.realpathSync(that) : '.';
root.moduleCache && (root.moduleCache = {});
if (!options.js) {
if (require.extensions || path.extname(root.filename).toLowerCase() !== '.co') {
code = Coco.compile(code, options);
}
}
return root._compile(code, root.filename);
};
if (require.extensions) {
require.extensions['.co'] = function(module, filename){
return module._compile(Coco.compile(fs.readFileSync(filename, 'utf8')), filename);
};
} else if (require.registerExtension) {
require.registerExtension('.co', Coco.compile);
}
root.filename = fs.realpathSync((options != null ? options.fileName : void 8) || '.');
root.moduleCache && (root.moduleCache = {});
if (require.extensions || path.extname(root.filename).toLowerCase() !== '.co') {
code = Coco.compile(code, options);
} else {
Coco.run = function(code, options){
options || (options = {});
return Function(Coco.compile(code, (options.bare = true, options)))();
};
Coco.require = require;
if ("" + this === '[object BackstagePass]') {
this.EXPORTED_SYMBOLS = ['Coco'];
}
return root._compile(code, root.filename);
};
Coco.eval = function(code, options){
var __filename, __dirname;
__dirname = path.dirname(__filename = options != null ? options.fileName : void 8);
return eval(Coco.compile(code, options));
};
if (require.extensions) {
require.extensions['.co'] = function(module, filename){
return module._compile(Coco.compile(fs.readFileSync(filename, 'utf8')), filename);
};
} else if (require.registerExtension) {
require.registerExtension('.co', Coco.compile);
}

@@ -1,2 +0,3 @@

var Tasks, Aliases, Flags, printTasks, __slice = [].slice;
#!/usr/bin/env node
var Tasks, Aliases, Flags, Options, __slice = [].slice;
Tasks = {

@@ -9,2 +10,3 @@ __proto__: null

Flags = {};
Options = {};
global.Coco = require('./coco');

@@ -14,10 +16,9 @@ global.fs = require('fs');

global.task = function(name, description, action){
var abbr, _ref;
var _ref, _name;
if (!action) {
_ref = [description], action = _ref[0], description = _ref[1];
_ref = [description, ''], action = _ref[0], description = _ref[1];
}
abbr = name.split(/\W+/).filter(String).map(function(it){
Aliases[_name = name.split(/\W+/).filter(String).map(function(it){
return it[0];
}).join('');
Aliases[abbr] || (Aliases[abbr] = name);
}).join('')] || (Aliases[_name] = name);
return Tasks[name] = {

@@ -40,3 +41,3 @@ name: name,

}
return task.action(this);
return task.action(Options);
};

@@ -51,28 +52,28 @@ global.say = function(it){

global.dir = fs.readdirSync;
exports.run = function(){
var args, fileName, _ref;
(function(){
var args, filename, _ref;
args = process.argv.slice(2);
if ((_ref = args[0]) === '-f' || _ref === '--cokefile') {
fileName = args.splice(0, 2)[1];
filename = args.splice(0, 2)[1];
}
return path.exists(fileName || (fileName = 'Cokefile'), function(it){
var optparse, options;
return path.exists(filename || (filename = 'Cokefile'), function(it){
if (!it) {
console.error('no "%s" in %s', fileName, process.cwd());
console.error('no "%s" in %s', filename, process.cwd());
process.exit(1);
}
Coco.run(slurp(fileName), {
fileName: fileName
require.paths.push(process.cwd());
Coco.run(slurp(filename), {
filename: filename
});
optparse = require('./optparse');
if (!args.length) {
return printTasks(optparse);
Options = require('./optparse')(Flags, args);
if (args.length) {
return Options.$args.forEach(invoke);
} else {
return printTasks();
}
options = optparse(Flags, args);
return options.$args.forEach(invoke, options);
});
};
printTasks = function(optparse){
var width, pad, name, task, desc, _ref;
say('');
}());
function printTasks(){
var width, pad, name, task, that, _ref;
say('Usage: coke [coke options] [task options] [tasks]\n\nTasks:');
width = Math.max.apply(Math, Object.keys(Tasks).map(function(it){

@@ -84,9 +85,8 @@ return it.length;

task = _ref[name];
desc = task.description ? task.description : '';
say("coke " + (name + pad).slice(0, width) + " " + desc);
say(" " + (name + pad).slice(0, width) + " " + task.description);
}
if (Flags.length) {
say('\n' + optparse(Flags, []));
if (that = Options.toString()) {
say('\nTask options:\n' + that);
}
return say('\nCoke options:\n -f, --cokefile FILE use FILE as the Cokefile');
};
}

@@ -1,2 +0,7 @@

var o, sources, compileScripts, compileScript, compileStdin, watch, writeJs, printTokens, repl, forkNode, help, version, __importAll = function(obj, src){ for (var key in src) obj[key] = src[key]; return obj }, __slice = [].slice, __bind = function(me, fn){ return function(){ return fn.apply(me, arguments) } };
#!/usr/bin/env node
var o, sources, that, filename, _ref, __importAll = function(obj, src){ for (var key in src) obj[key] = src[key]; return obj }, __slice = [].slice, __import = function(obj, src){
var own = {}.hasOwnProperty;
for (var key in src) if (own.call(src, key)) obj[key] = src[key];
return obj;
}, __bind = function(me, fn){ return function(){ return fn.apply(me, arguments) } };
global.Coco = __importAll(require('./coco'), require('events').EventEmitter.prototype);

@@ -23,3 +28,3 @@ global.fs = require('fs');

eval: 'compile a string from the command line',
require: ['require a library before executing your script', 'FILE+'],
require: ['require libraries before executing', 'FILE+'],
bare: 'compile without the top-level function wrapper',

@@ -29,43 +34,61 @@ lex: 'print the tokens the lexer produces',

nodes: 'print the parse tree the parser produces',
nodejs: ['pass options through to the "node" binary', 'ARGS+', '-N'],
json: 'print the parse tree as JSON',
nodejs: ['pass options through to the "node" binary', 'ARGS+', 'N'],
version: 'display Coco version',
help: 'display this help message'
});
if (o.$unknowns.length) {
say("Unrecognized option(s): " + o.$unknowns.join(' ') + "\n");
help();
process.exit(1);
}
o.run = !(o.compile || o.print);
o.print || (o.print = o.eval || o.stdin && o.compile);
o.compile || (o.compile = o.output);
o.bare || (o.bare = o.eval && o.run);
sources = o.$args;
exports.run = function(){
var _ref;
if (o.nodejs) {
return forkNode();
}
if (o.version) {
return version();
}
if (o.help) {
return help();
}
switch (false) {
case !o.nodejs:
forkNode();
break;
case !o.version:
version();
break;
case !o.help:
help();
break;
default:
require.paths.push(process.cwd());
if (o.interactive) {
return repl();
if (that = o.require) {
filename = module.filename;
module.filename = '.';
that.forEach(require);
module.filename = filename;
}
if (o.stdin) {
return compileStdin();
switch (false) {
case !o.interactive:
repl();
break;
case !o.stdin:
compileStdin();
break;
case !o.eval:
compileScript('', sources.join('\n'));
break;
case !sources.length:
(_ref = process.argv).splice.apply(_ref, [2, 9e9].concat(__slice.call(o.run
? sources.splice(1)
: []), __slice.call(o.$literals)));
compileScripts();
break;
default:
version();
help();
repl();
}
if (o.eval) {
return compileScript('', sources[0]);
}
if (!sources.length) {
return (version(), help(), repl());
}
(_ref = process.argv).splice.apply(_ref, [2, 9e9].concat(__slice.call((o.run
? sources.splice(1)
: []).concat(o.$literals))));
return compileScripts();
};
compileScripts = function(){
}
function compileScripts(){
sources.forEach(function(source){
return path.exists(source, function(yes){
yes || die("No such file or directory: " + source);
return path.exists(source, function(it){
it || die("No such file or directory: " + source);
return walk(source, path.normalize(source), true);

@@ -77,3 +100,3 @@ });

if (stats.isDirectory()) {
fs.readdir(source, function(e, files){
return fs.readdir(source, function(e, files){
return files.forEach(function(it){

@@ -84,57 +107,74 @@ return walk(path.join(source, it), base);

} else if (top || path.extname(source).toLowerCase() === '.co') {
fs.readFile(source, function(e, buf){
return compileScript(source, buf.toString(), base);
});
if (o.watch) {
watch(source, base);
}
return fs.readFile(source, function(e, buf){
return compileScript(source, buf.toString(), base);
});
}
});
}
};
compileScript = function(file, input, base){
var options, req, t, _i, _ref, _len;
options = {
fileName: file,
bare: o.bare
}
function compileScript(file, input, base){
var t, _ref;
t = {
file: file,
input: input,
options: {
filename: file,
bare: !!o.bare
}
};
if (o.require) {
for (_i = 0, _len = (_ref = o.require).length; _i < _len; ++_i) {
req = _ref[_i];
require(req[0] === '.' ? fs.realpathSync(req) : req);
}
}
try {
Coco.emit('compile', t = {
file: file,
input: input,
options: options
Coco.emit('lex', t);
t.tokens = Coco.tokens(t.input, {
rewrite: !o.lex
});
switch (false) {
case !(o.lex || o.tokens):
return printTokens(Coco.tokens(input, {
rewrite: !o.lex
}));
case !o.nodes:
return say(Coco.nodes(input).toString().trim());
case !o.run:
return Coco.run(input, options);
default:
t.output = Coco.compile(input, options);
Coco.emit('success', t);
switch (false) {
case !o.print:
return say(t.output.trim());
case !o.compile:
return writeJs(file, t.output, base);
if (o.lex || o.tokens) {
printTokens(t.tokens);
throw 'ok';
}
Coco.emit('parse', t);
t.nodes = Coco.nodes(t.tokens);
if (o.nodes) {
say(t.nodes.toString().trim());
throw 'ok';
}
if (o.json) {
say(t.nodes.stringify(1));
throw 'ok';
}
Coco.emit('compile', t);
t.output = t.nodes.compileRoot(t.options);
if (o.run) {
Coco.emit('run', t);
if (o.eval) {
console.log((0, eval)(t.output));
} else {
Coco.run(t.output, (_ref = t.options, _ref.js = true, _ref));
}
} else {
Coco.emit('write', t);
if (o.print) {
say(t.output.trim());
} else {
writeJs(t.file, t.output, base);
}
}
} catch (e) {
Coco.emit('failure', e, t);
if (!Coco.listeners('failure').length) {
return (o.watch ? warn : die)((typeof e != 'undefined' && e !== null ? e.stack : void 8) || e);
if (e !== 'ok') {
if (Coco.listeners('failure').length) {
Coco.emit('failure', e, t);
} else {
if (file) {
warn("Failed at: " + file + "\n");
}
(o.watch ? warn : die)((typeof e != 'undefined' && e !== null ? e.stack : void 8) || e);
}
return;
}
}
};
compileStdin = function(){
return Coco.emit('success', t);
}
function compileStdin(){
var code, stdin;

@@ -151,4 +191,4 @@ code = '';

});
};
watch = function(source, base){
}
function watch(source, base){
return fs.watchFile(source, {

@@ -161,12 +201,10 @@ persistent: true,

}
return fs.readFile(source, function(err, code){
if (err) {
die(err.stack || err);
}
return fs.readFile(source, function(e, code){
e && die(e.stack || e);
return compileScript(source, code.toString(), base);
});
});
};
writeJs = function(source, js, base){
var filename, srcDir, that, dir, jsPath, compile;
}
function writeJs(source, js, base){
var filename, srcDir, that, dir, jsPath;
filename = path.basename(source, path.extname(source)) + '.js';

@@ -176,7 +214,8 @@ srcDir = path.dirname(source);

jsPath = path.join(dir, filename);
compile = function(){
return fs.writeFile(jsPath, js || ' ', function(err){
if (err) {
return warn(err);
} else if (o.compile && o.watch) {
function compile(){
return fs.writeFile(jsPath, js || '\n', function(e){
if (e) {
return warn(e);
}
if (o.compile && o.watch) {
return (function(){

@@ -191,5 +230,5 @@ try {

});
};
return path.exists(dir, function(exists){
if (exists) {
}
return path.exists(dir, function(it){
if (it) {
return compile();

@@ -200,4 +239,4 @@ } else {

});
};
printTokens = function(tokens){
}
function printTokens(tokens){
var lines, tag, val, lno, l, _i, _len, _ref, _results = [];

@@ -217,21 +256,32 @@ lines = [];

return _results;
};
repl = function(){
var stdin, repl;
global.__defineGetter__('quit', function(){
return process.exit(0);
});
repl = require('readline').createInterface(stdin = process.openStdin());
stdin.on('data', __bind(repl, repl.write));
}
function repl(){
var repl, Script, context, readline, stdin, buf, _ref;
module.filename = process.cwd() + '/repl';
Script = process.binding('evals').Script;
context = (_ref = Script.createContext(), __import(_ref, global), _ref.module = module, _ref.require = require, _ref);
readline = require('readline');
stdin = process.openStdin();
buf = '';
if (readline.createInterface.length < 3) {
repl = readline.createInterface(stdin);
stdin.on('data', __bind(repl, repl.write));
} else {
repl = readline.createInterface(stdin, process.stdout);
}
repl.on('close', __bind(stdin, stdin.destroy));
repl.on('line', function(it){
var code, _;
code = buf + '\n' + it;
if ('\\' === code.slice(-1)) {
buf = code.slice(0, -1);
return;
}
buf = '';
try {
global._ = Coco.eval("" + it, {
_ = Script.runInContext(Coco.compile(code.slice(1), {
bare: true,
globals: true,
fileName: 'repl'
});
if (_ !== void 8) {
console.dir(_);
}
repl: true
}), context);
_ === void 8 || console.dir(context._ = _);
} catch (e) {

@@ -243,13 +293,16 @@ say(e);

process.on('uncaughtException', function(it){
return say('\n' + ((typeof it != 'undefined' && it !== null ? it.stack : void 8) || it));
return say('\n' + ((it != null ? it.stack : void 8) || it));
});
__defineGetter__('quit', function(){
return process.exit(0);
});
repl.setPrompt('coco> ');
return repl.prompt();
};
forkNode = function(){
var args, i, arg;
}
function forkNode(){
var args, i, that;
args = process.argv.slice(1);
i = 0;
while (arg = args[++i]) {
if (arg === '-N' || arg === '--nodejs') {
while (that = args[++i]) {
if (that === '-N' || that === '--nodejs') {
args.splice(i--, 2);

@@ -263,8 +316,8 @@ }

});
};
help = function(){
return say('Usage: coco [options] [files]\n\n' + o);
};
version = function(){
}
function help(){
return say("Usage: coco [options] [files] [arguments]\n\nOptions:\n" + o);
}
function version(){
return say("Coco " + Coco.VERSION);
};
}

@@ -1,48 +0,44 @@

var unwrap, yy, o, bnf, operators, name, alternatives, alt, token, tokens;
var unwrap, o, bnf, operators, name, alternatives, alt, token, tokens;
unwrap = /^function\s*\(\)\s*\{\s*return\s*([\s\S]*);\s*\}/;
yy = /\b(?:(?!Er)[A-Z][\w.]+|mix\b)/g;
o = function(patterns, action, options){
patterns = patterns.trim().split(/\s+/);
action && (action = unwrap.exec(action)[1].replace(yy, 'yy.$&'));
return [patterns, action != null ? action : '$1', options];
action && (action = unwrap.exec(action)[1].replace(/\b(?!Er)[A-Z][\w.]*/g, 'yy.$&').replace(/\.L\(/g, '$&yylineno, '));
return [patterns, action || '', options];
};
bnf = {
Assignable: [o('SimpleAssignable'), o('Array'), o('Object')],
Assignable: [
o('SimpleAssignable'), o('[ ArgList OptComma ]', function(){
return L(Arr($2));
}), o('{ Properties OptComma }', function(){
return L(Obj($2));
})
],
Value: [
o('Assignable', function(){
return Value($1);
}), o('Primitive', function(){
return Value($1);
}), o('STRNUM', function(){
return Value(L(Literal($1)));
}), o('LITERAL', function(){
return Value(L(Literal($1)));
}), o('Parenthetical', function(){
return Value($1);
}), o('THIS', function(){
return Value(Literal('this', true));
}), o('Value CALL( ArgList OptComma )CALL', function(){
return Value(Call($1, $3, $2));
}), o('Value CALL( ... )CALL', function(){
return Value(Call($1, null, $2));
return Value(L(Call($1, $3, $2)));
})
],
Primitive: [
o('STRNUM', function(){
return Literal($1);
}), o('LITERAL', function(){
return Literal($1, true);
})
],
SimpleAssignable: [
o('IDENTIFIER', function(){
return Literal($1);
}), o('ThisProperty'), o('Value DOT IDENTIFIER', function(){
return $1.add(Index(Key($3), $2));
return L(Var($1));
}), o('Value DOT IDENTIFIER', function(){
return $1.add(Index(L(Key($3)), $2));
}), o('Value DOT STRNUM', function(){
return $1.add(Index(Literal($3), $2));
return $1.add(Index(L(Literal($3)), $2));
}), o('Value DOT Parenthetical', function(){
return $1.add(Index($3.it, $2));
}), o('Value DOT [ ArgList OptComma ]', function(){
return $1.add(Index($4, $2));
}), o('Value CLONE Object', function(){
return new Clone($1.unwrap(), $3);
return $1.add(L(Index($4, $2)));
}), o('Value CLONE { Properties OptComma }', function(){
return new Clone($1.unwrap(), $4);
}), o('SUPER', function(){
return new Super;
return L(new Super);
})

@@ -55,55 +51,54 @@ ],

return Assign($1, $3, $2);
}), o('Expression +- Expression', function(){
}), o('CREMENT SimpleAssignable', function(){
return Op($1, $2);
}), o('SimpleAssignable CREMENT', function(){
return Op($2, $1, null, true);
}), o('UNARY Expression', function(){
return ($1 === '!'
? $2.invert()
: Op($1, $2));
}), o('+- Expression', function(){
return Op($1, $2);
}, {
prec: 'UNARY'
}), o('Expression +- Expression', function(){
return Op($2, $1, $3);
}), o('Expression MATH Expression', function(){
}), o('Expression MATH Expression', function(){
return Op($2, $1, $3);
}), o('Expression SHIFT Expression', function(){
}), o('Expression SHIFT Expression', function(){
return Op($2, $1, $3);
}), o('Expression COMPARE Expression', function(){
}), o('Expression COMPARE Expression', function(){
return Op($2, $1, $3);
}), o('Expression LOGIC Expression', function(){
}), o('Expression BITWISE Expression', function(){
return Op($2, $1, $3);
}), o('Expression IMPORT Expression', function(){
}), o('Expression LOGIC Expression', function(){
return Op($2, $1, $3);
}), o('Expression RELATION Expression', function(){
return ('!' === $2.charAt(0)
? Op($2.slice(1), $1, $3).invert()
: Op($2, $1, $3));
}), o('Expression IMPORT Expression', function(){
return Import($1, $3, $2 === '<<<<');
}), o('Expression RELATION Expression', function(){
return $2.charAt(0) === '!'
? Op($2.slice(1), $1, $3).invert()
: Op($2, $1, $3);
}), o('UNARY Expression', function(){
return Op($1, $2);
}), o('+- Expression', function(){
return Op($1, $2);
}, {
prec: 'UNARY'
}), o('Expression ?', function(){
return Existence($1);
}), o('CREMENT SimpleAssignable', function(){
return Op($1, $2);
}), o('SimpleAssignable CREMENT', function(){
return Op($2, $1, null, true);
}), o('Fun'), o('FUNCTION Fun', function(){
return mix($2, {
statement: true
});
}), o('FUNCTION IDENTIFIER Fun', function(){
return mix($3, {
statement: true,
}), o('Function'), o('FUNCTION Function', function(){
return $2.named($1);
}), o('IfBlock'), o('IfBlock ELSE Block', function(){
return $1.addElse($3);
}), o('Expression POST_IF Expression', function(){
return L(If($3, $1, {
name: $2
});
}), o('IfBlock'), o('Expression POST_IF Expression', function(){
return If($3, $1, {
name: $2
});
}));
}), o('LoopHead Block', function(){
return $1.addBody($2);
}), o('Expression LoopHead', function(){
return $2.addBody(Lines($1));
return $2.addBody(Block($1));
}), o('RETURN Expression', function(){
return Return($2);
}), o('RETURN', function(){
return Return();
}), o('STATEMENT', function(){
return new Statement($1);
}), o('THROW Expression', function(){
return new Throw($2);
}), o('STATEMENT', function(){
return L(new Statement($1));
}), o('RETURN', function(){
return L(Return());
}), o('SWITCH Expression Cases', function(){

@@ -133,11 +128,13 @@ return new Switch($2, $3);

return new Class($2, $3, $4);
}), o('SimpleAssignable EXTENDS Expression', function(){
return Util.Extends($1, $3);
}), o('Value EXTENDS Expression', function(){
return Util.Extends($1.unwrap(), $3);
})
],
Line: [
o('Expression'), o('COMMENT', function(){
return Comment($1);
o('Expression'), o('PARAM( ArgList OptComma )PARAM BACKCALL Expression', function(){
return Call.back($2, $5, $6);
}), o('COMMENT', function(){
return L(JS($1, true, true));
}), o('...', function(){
return new Throw(Literal("Error('stub code executed')"));
return L(new Throw(JS("Error('unimplemented')")));
})

@@ -147,11 +144,15 @@ ],

o('Line', function(){
return Lines($1);
return Block($1);
}), o('Body TERMINATOR Line', function(){
return $1.add($3);
}), o('Body Block', function(){
return $1.add($2);
}), o('Body TERMINATOR')
],
OptComma: [o('', 0), o(',', 0)],
OptComma: [o(''), o(',')],
Arg: [
o('Expression'), o('... Expression', function(){
return Splat($2);
return L(Splat($2));
}), o('...', function(){
return L(Splat(Arr()));
})

@@ -170,25 +171,9 @@ ],

return $1.concat($4);
}), o('ArgSeq'), o('ArgList , ArgSeq', function(){
return $1.concat($3);
}), o('ArgList OptComma TERMINATOR ArgSeq', function(){
return $1.concat($4);
})
],
ArgSeq: [
o('Primitive Primitive', function(){
return [$1, $2];
}), o('ArgSeq Primitive', function(){
return $1.concat($2);
})
],
ThisProperty: [
o('THISPROP', function(){
return Value(Literal('this'), [Index(Key($1))], true);
})
],
Parenthetical: [
o('( Body )', function(){
return Parens($2.unwrap());
return L(Parens($2.unwrap()));
}), o('( INDENT Body DEDENT )', function(){
return Parens($3.unwrap());
return L(Parens($3.unwrap()));
})

@@ -200,37 +185,40 @@ ],

}), o('INDENT DEDENT', function(){
return Lines();
return Block();
})
],
Fun: [
Function: [
o('PARAM( ArgList OptComma )PARAM FUNC_ARROW Block', function(){
return Fun($2, $6, $5);
return L(Fun($2, $6, $5));
}), o('FUNC_ARROW Block', function(){
return Fun([], $2, $1);
return L(Fun([], $2, $1));
})
],
Array: [
o('[ ArgList OptComma ]', function(){
return Arr($2);
})
],
Key: [
KeyBase: [
o('IDENTIFIER', function(){
return Literal($1);
return L(Key($1));
}), o('STRNUM', function(){
return Literal($1);
}), o('Parenthetical'), o('ThisProperty')
return L(Literal($1));
})
],
Key: [o('KeyBase'), o('Parenthetical')],
KeyValue: [
o('Key'), o('LITERAL DOT KeyBase', function(){
return Assign($3, Value(Literal($1), [Index($3, $2)]), ':');
}), o('Key DOT KeyBase', function(){
return Assign($3, Value($1, [Index($3, $2)]), ':');
})
],
Property: [
o('Key : Expression', function(){
return Assign($1.asKey(), $3, ':');
}), o('Key : INDENT Expression DEDENT', function(){
return Assign($1.asKey(), $4, ':');
}), o('Key'), o('... Key', function(){
return Splat($2);
}), o('+- Key', function(){
o('Key : Expression', function(){
return Assign($1, $3, ':');
}), o('Key : Block', function(){
return Assign($1, $3.unwrap().asArr(), ':');
}), o('+- Key', function(){
return Assign($2.asKey(), Literal($1 === '+'), ':');
}), o('Key LOGIC Expression', function(){
}), o('KeyValue'), o('KeyValue LOGIC Expression', function(){
return Op($2, $1, $3);
}), o('... Expression', function(){
return Splat($2);
}), o('COMMENT', function(){
return Comment($1);
return L(JS($1, true, true));
})

@@ -249,20 +237,4 @@ ],

return $1.concat($4);
}), o('KeySeq'), o('Properties , KeySeq', function(){
return $1.concat($3);
}), o('Properties OptComma TERMINATOR KeySeq', function(){
return $1.concat($4);
})
],
KeySeq: [
o('STRNUM STRNUM', function(){
return [Literal($1), Literal($2)];
}), o('KeySeq STRNUM', function(){
return $1.concat(Literal($2));
})
],
Object: [
o('{ Properties OptComma }', function(){
return Obj($2);
})
],
IfBlock: [

@@ -277,4 +249,2 @@ o('IF Expression Block', function(){

}));
}), o('IfBlock ELSE Block', function(){
return $1.addElse($3);
})

@@ -284,3 +254,3 @@ ],

o('FOR Assignable FOROF Expression', function(){
return mix(new For, {
return new For({
name: $2,

@@ -291,3 +261,3 @@ index: $3,

}), o('FOR Assignable FOROF Expression BY Expression', function(){
return mix(new For, {
return new For({
name: $2,

@@ -299,3 +269,3 @@ index: $3,

}), o('FOR IDENTIFIER FORIN Expression', function(){
return mix(new For, {
return new For({
object: true,

@@ -307,3 +277,3 @@ own: !$1,

}), o('FOR IDENTIFIER , Assignable FORIN Expression', function(){
return mix(new For, {
return new For({
object: true,

@@ -316,3 +286,3 @@ own: !$1,

}), o('FOR IDENTIFIER FROM Expression', function(){
return mix(new For, {
return new For({
index: $2,

@@ -324,3 +294,3 @@ from: Literal(0),

}), o('FOR IDENTIFIER FROM Expression TO Expression', function(){
return mix(new For, {
return new For({
index: $2,

@@ -332,3 +302,3 @@ from: $4,

}), o('FOR IDENTIFIER FROM Expression TO Expression BY Expression', function(){
return mix(new For, {
return new For({
index: $2,

@@ -343,3 +313,3 @@ from: $4,

}), o('FOR EVER', function(){
return new While;
return L(new While);
})

@@ -362,8 +332,10 @@ ],

Root: [
o('Body'), o('Block TERMINATOR'), o('', function(){
return Lines();
o('Body'), o('Block TERMINATOR'), o('Block TERMINATOR Body', function(){
return $1.add($3);
}), o('', function(){
return Block();
})
]
};
operators = [['nonassoc', 'CREMENT'], ['left', '?'], ['right', 'UNARY'], ['left', 'MATH'], ['left', '+-'], ['left', 'SHIFT', 'IMPORT'], ['left', 'RELATION'], ['left', 'COMPARE'], ['left', 'LOGIC'], ['right', ':', 'ASSIGN', 'RETURN', 'THROW', 'EXTENDS', 'INDENT'], ['right', 'IF', 'ELSE', 'SWITCH', 'CASE', 'DEFAULT', 'CLASS', 'FORIN', 'FOROF', 'FROM', 'TO', 'BY'], ['left', 'POST_IF', 'FOR', 'WHILE']].reverse();
operators = [['nonassoc', 'CREMENT'], ['left', '?'], ['right', 'UNARY'], ['left', 'MATH'], ['left', '+-'], ['left', 'SHIFT', 'IMPORT'], ['left', 'RELATION'], ['left', 'COMPARE'], ['left', 'BITWISE'], ['left', 'LOGIC'], ['right', ':', 'ASSIGN', 'RETURN', 'THROW', 'EXTENDS', 'INDENT'], ['right', 'IF', 'ELSE', 'SWITCH', 'CASE', 'DEFAULT', 'CLASS', 'FORIN', 'FOROF', 'FROM', 'TO', 'BY'], ['left', 'POST_IF', 'FOR', 'WHILE']].reverse();
tokens = (function(){

@@ -375,3 +347,7 @@ var _ref, _i, _ref2, _len, _j, _ref3, _len2, _results = [];

alt = _ref2[_i];
alt[1] = "" + (name === 'Root' ? 'return' : '$$ =') + " " + alt[1] + ";";
if (name === 'Root') {
alt[1] = "return " + (alt[1] || '$$');
} else {
alt[1] && (alt[1] = "$$ = " + alt[1] + ";");
}
for (_j = 0, _len2 = (_ref3 = alt[0]).length; _j < _len2; ++_j) {

@@ -386,4 +362,3 @@ token = _ref3[_j];

return _results;
}());
tokens = tokens.join(' ');
}()).join(' ');
exports.parser = new (require('jison')).Parser({

@@ -390,0 +365,0 @@ bnf: bnf,

@@ -1,2 +0,2 @@

var string, untabify, JS_KEYWORDS, COCO_KEYWORDS, COCO_ALIASES, RESERVED, FORBIDDEN, IDENTIFIER, NUMBER, SYMBOL, SPACE, MULTIDENT, SIMPLESTR, JSTOKEN, REGEX, HEREGEX, HEREGEX_OMIT, MULTILINER, LINE_CONTINUER, __clone = function(it){
var rewrite, able, string, detab, unlines, enlines, JS_KEYWORDS, COCO_ALIASES, RESERVED, IDENTIFIER, NUMBER, SYMBOL, SPACE, MULTIDENT, SIMPLESTR, JSTOKEN, WORD, REGEX, HEREGEX, HEREGEX_OMIT, LINE_CONTINUER, _ref, __clone = function(it){
function fn(){ if (this.__proto__ !== it) this.__proto__ = it }

@@ -7,2 +7,3 @@ return fn.prototype = it, new fn;

};
_ref = require('./rewriter'), rewrite = _ref.rewrite, able = _ref.able;
exports.lex = function(code, options){

@@ -14,7 +15,7 @@ return __clone(exports).tokenize(code || '', options || {});

code = code.replace(/\r/g, '').replace(/\s+$/, '');
this.tokens = [this.last = ['DUMMY', '', 0]];
this.tokens = [this.last = ['TERMINATOR', '', 0]];
this.line = o.line | 0;
this.indent = this.indebt = this.dedebt = 0;
this.indents = [];
if (/^[^\n\S]+(?!#(?!##[^#]))\S/.test(code)) {
if (/^[^\n\S]+[^\s#]/.test(code)) {
code = '\n' + code;

@@ -26,2 +27,3 @@ --this.line;

case ' ':
case '#':
i = this.spaceToken(code);

@@ -32,2 +34,5 @@ break;

break;
case '\\':
i = this.backslashToken(code);
break;
case '\'':

@@ -40,14 +45,11 @@ i = this.heredocToken(code, '\'') || this.singleStringToken(code);

case '<':
i = '[' === code.charAt(1)
? this.wordsToken(code)
: this.literalToken(code);
i = this['[' === code.charAt(1) ? 'wordsToken' : 'literalToken'](code);
break;
case '/':
i = '//' === code.substr(1, 2)
? this.heregexToken(code)
: this.regexToken(code) || this.literalToken(code);
i = '*' === code.charAt(1)
? this.commentToken(code)
: '//' === code.substr(1, 2)
? this.heregexToken(code)
: this.regexToken(code) || this.literalToken(code);
break;
case '#':
i = this.spaceToken(code) || this.commentToken(code);
break;
case '`':

@@ -63,3 +65,3 @@ i = this.jsToken(code);

if (o.rewrite != 0) {
require('./rewriter').rewrite(this.tokens);
rewrite(this.tokens);
}

@@ -69,12 +71,13 @@ return this.tokens;

exports.identifierToken = function(it){
var match, id, at, tag, input, colon, prev, forcedIdentifier, alias, _ref, _ref2;
var match, last, id, tag, colon, _ref, _ref2;
if (!(match = IDENTIFIER.exec(it))) {
return 0;
}
last = this.last;
switch (id = match[1]) {
case 'own':
if (!(this.last[0] === 'FOR' && this.last[1])) {
if (!(last[0] === 'FOR' && last[1])) {
break;
}
this.last[1] = '';
last[1] = '';
return id.length;

@@ -89,3 +92,3 @@ case 'from':

case 'ever':
if (this.last[0] !== 'FOR') {
if (last[0] !== 'FOR') {
break;

@@ -99,8 +102,7 @@ }

this.seenFrom = false;
this.seenRange = true;
this.seenTo = true;
return this.token('TO', id).length;
} else if (this.last[0] === 'STRNUM' && /^[-+\d.]/.test(this.last[1])) {
_ref = this.last;
_ref[0] = 'RANGE';
_ref.op = id;
} else if (last[0] === 'STRNUM' && /^[-+\d.]/.test(last[1])) {
last[0] = 'RANGE';
last.op = id;
return id.length;

@@ -110,7 +112,7 @@ }

case 'by':
if (this.seenRange) {
this.seenRange = false;
if (this.seenTo) {
this.seenTo = false;
return this.token('BY', id).length;
} else if (this.last[0] === 'RANGE' && this.last.to) {
this.last.by = true;
} else if (last[0] === 'RANGE' && last.to) {
last.by = true;
return id.length;

@@ -120,18 +122,19 @@ }

case 'all':
if (!(this.last[0] === 'IMPORT' && this.last[1] === '<<<')) {
if (!(last[0] === 'IMPORT' && last[1] === '<<<')) {
break;
}
this.last[1] += '<';
last[1] += '<';
return id.length;
}
tag = (at = id.charAt(0) === '@') ? (id = id.slice(1), 'THISPROP') : 'IDENTIFIER';
input = match[0], colon = match[2];
forcedIdentifier = at || colon || (!(prev = this.last).spaced && prev[1].colon2
? this.token('DOT', '.')
: prev[0] === 'DOT');
if (forcedIdentifier) {
if (__indexOf.call(FORBIDDEN, id) >= 0) {
tag = 'IDENTIFIER';
colon = match[2];
if (colon || last[0] === 'DOT' || this.able() && !this.token('DOT', '')) {
if (__indexOf.call(JS_KEYWORDS, id) >= 0 || __indexOf.call(RESERVED, id) >= 0) {
(id = new String(id)).reserved = true;
}
} else if (__indexOf.call(COCO_KEYWORDS, id) >= 0) {
} else if (id === 'this' || id === 'eval') {
this.token('LITERAL', id);
this.last.callable = true;
return id.length;
} else if (__indexOf.call(JS_KEYWORDS, id) >= 0 || (id === 'then' || id === 'of' || id === 'arguments')) {
switch (tag = id.toUpperCase()) {

@@ -142,16 +145,15 @@ case 'FOR':

case 'THEN':
this.seenFrom = this.seenRange = false;
this.seenFrom = this.seenTo = false;
break;
case 'CATCH':
id = '';
break;
case 'IMPORT':
id = '<<<';
break;
case 'UNLESS':
tag = 'IF';
case 'TRUE':
case 'FALSE':
case 'NULL':
case 'VOID':
case 'ARGUMENTS':
case 'DEBUGGER':
tag = 'LITERAL';
break;
case 'UNTIL':
tag = 'WHILE';
break;
case 'NEW':

@@ -163,13 +165,10 @@ case 'DO':

break;
case 'TRUE':
case 'FALSE':
case 'NULL':
case 'VOID':
tag = 'LITERAL';
break;
case 'BREAK':
case 'CONTINUE':
case 'DEBUGGER':
tag = 'STATEMENT';
break;
case 'CATCH':
case 'FUNCTION':
id = '';
break;
case 'IN':

@@ -180,4 +179,4 @@ case 'OF':

if (tag === 'OF') {
this.seenRange = true;
id = prev[0] === 'IDENTIFIER' && (_ref = this.tokens)[_ref.length - 2][0] === ',' && (this.tokens.splice(-2, 2), prev[1]);
this.seenTo = true;
id = last[0] === 'IDENTIFIER' && (_ref = this.tokens)[_ref.length - 2][0] === ',' && (this.tokens.splice(-2, 2), last[1]);
}

@@ -188,3 +187,3 @@ this.seenFor = false;

}
if (prev[1] === '!') {
if (last[1] === '!') {
this.tokens.pop();

@@ -195,24 +194,38 @@ id = '!' + id;

}
} else if (alias = COCO_ALIASES.hasOwnProperty(id)) {
if (id === 'not' && prev.alias && prev[1] === '===') {
prev[1] = '!==';
} else {
switch (id) {
case 'and':
case 'or':
case 'is':
case 'not':
if (id === 'not' && last.alias && last[1] === '===') {
last[1] = '!==';
return id.length;
}
this.token.apply(this, COCO_ALIASES[id]);
this.last.alias = true;
return id.length;
case 'unless':
tag = 'IF';
break;
case 'until':
tag = 'WHILE';
break;
default:
if (__indexOf.call(RESERVED, id) >= 0) {
this.carp("reserved word \"" + id + "\"");
}
if (!last[1] && ((_ref = last[0]) === 'CATCH' || _ref === 'FUNCTION')) {
return (last[1] = id).length;
}
}
_ref = COCO_ALIASES[id], tag = _ref[0], id = _ref[1];
} else if (__indexOf.call(RESERVED, id) >= 0) {
this.carp("reserved word \"" + id + "\"");
} else if (prev[0] === 'CATCH' && !prev[1]) {
return (prev[1] = id).length;
}
this.token(tag, id);
if (alias) {
this.last.alias = true;
}
if (colon) {
this.token(':', ':');
}
return input.length;
return match[0].length;
};
exports.numberToken = function(it){
var match, num, last, radix, rnum, _ref;
var match, num, last, radix, rnum, sign, _ref;
if (!(match = NUMBER.exec(it))) {

@@ -225,5 +238,6 @@ return 0;

case '.':
if (this.callable() || ((_ref = last[0]) === '}' || _ref === 'LITERAL' || _ref === 'STRNUM')) {
if (this.able()) {
this.token('DOT', '.');
this.token('STRNUM', num.slice(1));
this.last.callable = true;
return match[0].length;

@@ -234,3 +248,3 @@ }

if ((_ref = num.charAt(1)) !== '' && _ref !== 'x' && _ref !== '.') {
this.carp("octal literal " + num + " is deprecated");
this.carp("deprecated octal literal " + num);
}

@@ -247,3 +261,3 @@ }

}
if (last[0] === '+-' && !last.spaced) {
if (sign = last[0] === '+-' && !last.spaced) {
num = last[1] + num;

@@ -255,4 +269,6 @@ this.tokens.pop();

last[last.to ? 'by' : 'to'] = num;
} else if (sign) {
this.token('STRNUM', num);
} else {
this.token('STRNUM', num);
this.strnum(num);
}

@@ -266,3 +282,3 @@ return match[0].length;

}
this.token('STRNUM', (str = str[0]).replace(MULTILINER, '\\\n'));
this.strnum(unlines(str = str[0]));
return this.countLines(str).length;

@@ -274,5 +290,5 @@ };

if (0 < str.indexOf('#{', 1)) {
this.interpolateString(str.slice(1, -1), '');
this.interpolate(str.slice(1, -1), unlines);
} else {
this.token('STRNUM', str.replace(MULTILINER, ''));
this.strnum(unlines(str));
}

@@ -282,3 +298,3 @@ return this.countLines(str).length;

exports.heredocToken = function(code, q){
var end, txt, doc, lnl, tabs, dent, m, len;
var end, txt, doc, lnl, tabs, dent, that, len;
if (!(code.slice(1, 3) === q + q && ~(end = code.indexOf(q + q + q, 3)))) {

@@ -292,9 +308,9 @@ return 0;

dent = 0 / 0;
while (m = tabs.exec(doc)) {
if (!(dent <= (len = m[0].length - 1))) {
while (that = tabs.exec(doc)) {
if (!(dent <= (len = that[0].length - 1))) {
dent = len;
}
}
doc = untabify(doc, dent);
if (doc.charAt(0) === '\n') {
doc = detab(doc, dent);
if ('\n' === doc.charAt(0)) {
doc = doc.slice(1);

@@ -305,5 +321,5 @@ ++this.line;

if (q === '"' && ~doc.indexOf('#{')) {
this.interpolateString(doc, '\\n');
this.interpolate(doc, enlines);
} else {
this.token('STRNUM', string(doc, q, '\\n'));
this.strnum(enlines(string(doc, q)));
this.countLines(doc);

@@ -317,7 +333,13 @@ }

exports.commentToken = function(it){
var end, text;
text = it.slice(3, ~(end = it.indexOf('###', 3)) ? end : 9e9);
this.token('COMMENT', untabify(text, this.indent));
this.token('TERMINATOR', '\n');
return this.countLines(text).length + 6;
var end, text, _ref;
text = ~(end = it.indexOf('*/', 2))
? it.slice(0, end + 2)
: it + '*/';
if ((_ref = this.last[0]) === 'TERMINATOR' || _ref === 'INDENT' || _ref === 'THEN') {
this.token('COMMENT', detab(text, this.indent));
this.token('TERMINATOR', '\n');
} else {
this.last.spaced = true;
}
return this.countLines(text).length;
};

@@ -329,15 +351,20 @@ exports.jsToken = function(it){

}
(js = new String(js[0].slice(1, -1))).js = true;
return this.countLines(this.token('LITERAL', js)).length + 2;
this.token('LITERAL', new String(detab((js = js[0]).slice(1, -1), this.indent)));
this.last[1].js = true;
return this.countLines(js).length;
};
exports.regexToken = function(it){
var prev, regex, _ref;
if (((_ref = (prev = this.last)[0]) === 'LITERAL' || _ref === 'CREMENT') || this.callable() || !(regex = REGEX.exec(it))) {
return 0;
var re;
if (able(this.tokens, null)) {
if (!(this.last.spaced && (re = REGEX.exec(it)))) {
return 0;
}
} else if (!(re = REGEX.exec(it))) {
this.carp('unterminated regex');
}
this.token('LITERAL', (regex = regex[0]) === '//' ? '/(?:)/' : regex);
return this.countLines(regex).length;
this.token('LITERAL', (re = re[0]) === '//' ? '/(?:)/' : re);
return re.length;
};
exports.heregexToken = function(it){
var match, heregex, body, flags, tokens, i, token, val, bs, _ref, _len;
var match, heregex, body, flags, dynaflag, tokens, interp, i, token, val, bs, _len;
if (!(match = HEREGEX.exec(it))) {

@@ -347,2 +374,5 @@ this.carp('unterminated heregex');

heregex = match[0], body = match[1], flags = match[2];
if (dynaflag = flags === '?') {
flags = '';
}
if (0 > body.indexOf('#{')) {

@@ -354,6 +384,10 @@ body = body.replace(HEREGEX_OMIT, '').replace(/\//g, '\\/');

this.token('IDENTIFIER', 'RegExp');
this.token('CALL(', '(');
this.token('CALL(', '');
tokens = this.tokens;
for (i = 0, _len = (_ref = this.interpolateString(body)).length; i < _len; ++i) {
token = _ref[i];
interp = this.interpolate(body);
if (dynaflag && interp[interp.length - 1][0] === 'TOKENS') {
flags = interp.pop()[1];
}
for (i = 0, _len = interp.length; i < _len; ++i) {
token = interp[i];
if (token[0] === 'TOKENS') {

@@ -366,4 +400,3 @@ tokens.push.apply(tokens, token[1]);

}
val = val.replace(bs || (bs = /\\/g), '\\\\');
tokens.push(['STRNUM', string(val, '\'', '\\n'), token[2]]);
tokens.push((token[0] = 'STRNUM', token[1] = string(val.replace(bs || (bs = /\\/g), '\\\\'), '\''), token));
}

@@ -375,24 +408,44 @@ tokens.push(['+-', '+', tokens[tokens.length - 1][2]]);

this.token(',', ',');
this.token('STRNUM', "'" + flags + "'");
if (typeof flags === 'string') {
this.token('STRNUM', "'" + flags + "'");
} else {
tokens.push.apply(tokens, flags);
}
}
this.token(')CALL', ')');
this.token(')CALL', '');
return heregex.length;
};
exports.backslashToken = function(it){
var word;
if (!(word = WORD.exec(it))) {
if ('\n' === it.charAt(1)) {
++this.line;
}
return 2;
}
word = word[0].slice(1);
this.strnum('\\' === word ? "'\\\\'" : string(word, '\''));
return word.length + 1;
};
exports.wordsToken = function(it){
var end, line, re, that, word, _i, _ref, _len, _j, _len2;
var end, tokens, line, row, w, that, word, _i, _ref, _len, _j, _len2, _ref2;
if (!~(end = it.indexOf(']>', 2))) {
this.carp('unterminated words');
}
if (this.able()) {
this.token('DOT', '');
}
this.token('[', '[');
tokens = this.tokens, line = this.line;
for (_i = 0, _len = (_ref = it.slice(2, end).split('\n')).length; _i < _len; ++_i) {
line = _ref[_i];
if (that = line.match(re || (re = /\S+/g))) {
row = _ref[_i];
if (that = row.match(w || (w = /\S+/g))) {
for (_j = 0, _len2 = that.length; _j < _len2; ++_j) {
word = that[_j];
this.tokens.push(['STRNUM', string(word, '\''), this.line]);
tokens.push((_ref2 = ['STRNUM', string(word, '\''), line], _ref2.spaced = true, _ref2));
}
}
++this.line;
++line;
}
--this.line;
this.line = line - 1;
if (!word) {

@@ -405,14 +458,16 @@ this.token('STRNUM', "''");

exports.lineToken = function(it){
var indent, last, size, noNewline, _ref;
this.countLines(indent = MULTIDENT.exec(it)[0]);
var input, indent, last, noNewline, size, that, _ref;
_ref = MULTIDENT.exec(it), input = _ref[0], indent = _ref[1];
this.countLines(input);
this.seenFrom = this.seenTo = false;
last = this.last;
last.eol = last.spaced = true;
this.seenFrom = this.seenRange = false;
size = indent.length - 1 - indent.lastIndexOf('\n');
noNewline = LINE_CONTINUER.test(it) || ((_ref = last[0]) === '+-' || _ref === 'DOT' || _ref === 'ASSIGN' || _ref === 'LOGIC' || _ref === 'MATH' || _ref === 'COMPARE' || _ref === 'RELATION' || _ref === 'SHIFT' || _ref === 'IMPORT');
noNewline = LINE_CONTINUER.test(it) || ((_ref = last[0]) === '+-' || _ref === 'DOT' || _ref === 'ASSIGN' || _ref === 'LOGIC' || _ref === 'MATH' || _ref === 'COMPARE' || _ref === 'RELATION' || _ref === 'IMPORT' || _ref === 'SHIFT' || _ref === 'BITWISE');
size = indent.length;
if (that = size && (this.emender || (this.emender = RegExp('[^' + indent.charAt(0) + ']'))).exec(indent)) {
this.carp("contaminated indent " + escape(that));
}
if (size - this.indebt === this.indent) {
if (!noNewline) {
this.newline();
}
return indent.length;
noNewline || this.newline();
return input.length;
}

@@ -422,3 +477,3 @@ if (size > this.indent) {

this.indebt = size - this.indent;
return indent.length;
return input.length;
}

@@ -432,3 +487,3 @@ this.indents.push(this.token('INDENT', size - this.indent + this.dedebt));

this.indent = size;
return indent.length;
return input.length;
};

@@ -440,3 +495,3 @@ exports.spaceToken = function(it){

exports.literalToken = function(it){
var val, tag, word, _ref;
var val, tag, tokens, i, next, _ref;
if (!(val = SYMBOL.exec(it))) {

@@ -446,30 +501,5 @@ return 0;

switch (tag = val = val[0]) {
case '->':
case '=>':
this.tagParameters();
tag = 'FUNC_ARROW';
break;
case '=':
case ':=':
case '+=':
case '-=':
case '*=':
case '/=':
case '%=':
case '&=':
case '^=':
case '|=':
case '<<=':
case '>>=':
case '>>>=':
tag = 'ASSIGN';
if (this.last[0] === 'LOGIC') {
this.tokens.pop();
(val = new String(val)).logic = this.last[1];
}
break;
case '.':
case '?.':
case '&.':
case '.=':
case '~.':
tag = 'DOT';

@@ -481,11 +511,7 @@ break;

break;
case '!':
case '~':
tag = 'UNARY';
break;
case '===':
case '!==':
case '<=':
case '<':
case '>':
case '<=':
case '>=':

@@ -498,5 +524,2 @@ case '==':

case '||':
case '&':
case '|':
case '^':
tag = 'LOGIC';

@@ -526,4 +549,6 @@ break;

break;
case '@':
tag = 'THIS';
case '&':
case '|':
case '^':
tag = 'BITWISE';
break;

@@ -536,32 +561,92 @@ case ';':

break;
case '()':
this.token('CALL(', '(');
this.token(')', ')');
return val.length;
case '=':
case ':=':
case '+=':
case '-=':
case '*=':
case '/=':
case '%=':
case '&=':
case '^=':
case '|=':
case '<<=':
case '>>=':
case '>>>=':
tag = 'ASSIGN';
switch (this.last[0]) {
case 'LOGIC':
(val = new String(val)).logic = this.tokens.pop()[1];
break;
case 'DOT':
if (this.last[1] === '.') {
this.last[1] += val;
return val.length;
}
}
break;
case '*':
tag = (_ref = this.last[0]) === '[' || _ref === '(' || _ref === 'DOT' || _ref === ',' || _ref === ';' ? 'STRNUM' : 'MATH';
break;
case '::':
this.token('DOT', '.');
this.token('IDENTIFIER', (_ref = new String('prototype'), _ref.colon2 = true, _ref));
case '!':
if (!this.last.spaced && this.last[1] === 'typeof') {
this.last[1] = 'classof';
return val.length;
}
/* fallthrough */
case '\\\n':
return val.length;
case '~':
tag = 'UNARY';
break;
case '->':
case '~>':
this.tagParameters();
tag = 'FUNC_ARROW';
break;
case '<-':
case '<~':
this.tagParameters();
tag = 'BACKCALL';
if (this.last[0] === ')PARAM') {
break;
}
tokens = this.tokens;
i = tokens.length;
while ((_ref = tokens[--i][0]) !== 'TERMINATOR' && _ref !== 'INDENT' && _ref !== 'THEN') {}
tokens.splice(i + 1, 0, ['PARAM(', '', tokens[i][2]]);
this.token(')PARAM', '');
break;
default:
switch (val.charAt(0)) {
switch (val) {
case '@':
this.token('IDENTIFIER', 'arguments');
if ('@' !== val.charAt(1)) {
this.token('DOT', '.');
this.token('STRNUM', val.slice(1));
}
this.token('LITERAL', 'this');
this.last.callable = true;
break;
case '@@':
this.token('LITERAL', 'arguments');
break;
case '::':
this.token('DOT', '');
this.token('IDENTIFIER', 'prototype');
break;
default:
next = true;
}
if (!next) {
return val.length;
case '\\':
word = val.slice(1);
this.token('STRNUM', word === '\\' ? "'\\\\'" : string(word, '\''));
return val.length;
}
switch (val.charAt(0)) {
case '(':
if (this.callable()) {
if (val.length > 1) {
this.token('CALL(', '(');
this.token(')CALL', ')');
return val.length;
}
if (this.able(true)) {
tag = 'CALL(';
}
break;
case '{':
this.able() && this.token('CLONE', '');
break;
case '[':
this.able() && this.token('DOT', '');
}

@@ -595,4 +680,4 @@ }

exports.tagParameters = function(){
var tokens, level, i, tok;
if (this.last[0] !== ')') {
var tokens, level, i, tok, that;
if (!(this.last[0] === ')' && this.last[1])) {
return;

@@ -602,6 +687,7 @@ }

level = 1;
tokens[i = tokens.length - 1][0] = ')PARAM';
i = tokens.length - 1;
while (tok = tokens[--i]) {
switch (tok[0]) {
switch (that = tok[0]) {
case ')':
case ')CALL':
++level;

@@ -611,5 +697,10 @@ break;

case 'CALL(':
if (!--level) {
return tok[0] = 'PARAM(';
if (--level) {
break;
}
if (that === '(') {
tok[0] = 'PARAM(';
this.last[0] = ')PARAM';
}
return;
}

@@ -630,7 +721,6 @@ }

stack.pop();
if (!stack.length) {
if (!(end = stack[stack.length - 1])) {
return str.slice(0, i + 1);
}
end = stack[stack.length - 1];
continue;
break;
case '"':

@@ -652,6 +742,6 @@ if ('{' === chr && '#' === str.charAt(i - 1)) {

}
return this.carp('missing ' + stack.pop());
return this.carp("missing " + stack.pop() + " in a string");
};
exports.interpolateString = function(str, newline){
var line, ts, pi, i, that, s, code, nested, tokens, t, _ref, _len;
exports.interpolate = function(str, nlines){
var line, ts, pi, i, that, s, code, nested, len, tokens, dot, t, _ref, _len;
line = this.line;

@@ -666,6 +756,6 @@ ts = [];

}
if (!(that === '#' && str.charAt(i + 1) === '{')) {
if (!(that === '#' && '{' === str.charAt(i + 1))) {
continue;
}
if (pi < i) {
if (pi < i || nested && s >= '') {
ts.push(['S', s = str.slice(pi, i), this.line]);

@@ -687,7 +777,9 @@ this.countLines(s);

}
if (nested.length > 1) {
nested.unshift(['(', '(', nested[0][2]]);
nested.push([')', ')', nested[nested.length - 1][2]]);
if (len = nested.length) {
if (len > 1) {
nested.unshift(['(', '(', nested[0][2]]);
nested.push([')', ')', nested[len][2]]);
}
ts.push(['TOKENS', nested]);
}
ts.push(['TOKENS', nested]);
this.countLines(code);

@@ -699,12 +791,12 @@ }

}
if (((_ref = ts[0]) != null ? _ref[0] : void 8) !== 'S') {
if (s == null) {
ts.unshift(['S', '', line]);
}
if (newline == null) {
if (nlines == null) {
return ts;
}
tokens = this.tokens;
if (this.last[1] === '@' && !this.last.spaced) {
tokens.push(['DOT', '.', line]);
}
dot = this.able()
? tokens.push(['DOT', '', line])
: this.last[0] === 'DOT';
tokens.push(['(', '(', line]);

@@ -719,7 +811,9 @@ for (i = 0, _len = ts.length; i < _len; ++i) {

} else {
tokens.push(['STRNUM', string(t[1], '"', newline), t[2]]);
tokens.push(['STRNUM', nlines(string(t[1], '"')), t[2]]);
}
}
this.token(')', ')');
return ts;
this.token(')', '');
if (dot) {
this.last.callable = true;
}
};

@@ -730,2 +824,12 @@ exports.token = function(tag, value){

};
exports.strnum = function(it){
var dot;
dot = this.able()
? !this.token('DOT', '')
: this.last[0] === 'DOT';
this.token('STRNUM', it);
if (dot) {
this.last.callable = true;
}
};
exports.countLines = function(str){

@@ -739,24 +843,9 @@ var pos;

};
exports.callable = function(){
var _ref, _ref2;
if (this.last.spaced) {
return false;
}
switch (this.last[0]) {
case 'IDENTIFIER':
case 'THISPROP':
case 'THIS':
case 'SUPER':
case ']':
case ')':
case '?':
return true;
case 'STRNUM':
return ((_ref = (_ref2 = this.tokens)[_ref2.length - 2]) != null ? _ref[0] : void 8) === 'DOT';
}
exports.able = function(call){
return !this.last.spaced && able(this.tokens, null, call);
};
exports.carp = function(it){
throw SyntaxError("" + it + " on line " + (this.line + 1));
throw SyntaxError(it + " on line " + (this.line + 1));
};
string = function(body, quote, newline){
string = function(body, quote){
if (!body) {

@@ -772,10 +861,7 @@ return quote + quote;

}).replace(RegExp('' + quote, 'g'), '\\$&');
if (newline != null) {
body = body.replace(MULTILINER, newline);
}
return quote + body + quote;
};
untabify = function(str, num){
if (num) {
return str.replace(RegExp('\\n[^\\n\\S]{' + num + '}', 'g'), '\n');
detab = function(str, len){
if (len) {
return str.replace(RegExp('\\n[^\\n\\S]{' + len + '}', 'g'), '\n');
} else {

@@ -785,4 +871,9 @@ return str;

};
unlines = function(it){
return it.replace(/\n[^\n\S]*/g, '');
};
enlines = function(it){
return it.replace(/\n/g, '\\n');
};
JS_KEYWORDS = ['true', 'false', 'null', 'this', 'void', 'super', 'return', 'throw', 'break', 'continue', 'if', 'else', 'for', 'while', 'switch', 'case', 'default', 'try', 'catch', 'finally', 'class', 'extends', 'new', 'do', 'delete', 'typeof', 'in', 'instanceof', 'import', 'function', 'debugger'];
COCO_KEYWORDS = JS_KEYWORDS.concat(['then', 'of', 'unless', 'until']);
COCO_ALIASES = {

@@ -794,15 +885,14 @@ not: ['UNARY', '!'],

};
RESERVED = ['var', 'with', 'const', 'let', 'enum', 'export', 'native'];
FORBIDDEN = JS_KEYWORDS.concat(RESERVED);
IDENTIFIER = /^(@?[$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)([^\n\S]*:(?![:=]))?/;
NUMBER = /^(?:0x[\da-f]+|([1-9]\d?)r([\da-z]+)|((?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)[a-z]*)/i;
SYMBOL = /^(?:[-+*\/%&|^:.<>]=|\\\S[^\s,;)}\]]*|([-+&|:])\1|[-=]>|\(\)|[!=]==?|\.{3}|[?&]\.|\?\(|<<<<?|<<=?|>>>?=?|@(?:@|\d+)|\\\n|\S)/;
SPACE = /^(?=.)[^\n\S]*(?:#(?!##[^#]).*)?/;
MULTIDENT = /^(?:\s*#(?!##[^#]).*)*(?:\n[^\n\S]*)+/;
RESERVED = ['var', 'with', 'const', 'enum', 'export', 'implements', 'interface', 'let', 'package', 'private', 'protected', 'public', 'static', 'yield'];
IDENTIFIER = /^([$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)([^\n\S]*:(?![:=]))?/;
NUMBER = /^(?:0x[\da-f]+|([1-9]\d?)r([\da-z]+)|((?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)[a-z_]*)/i;
SYMBOL = /^(?:[-+*\/%&|^:<>]=|([+&|:])\1|-[->]|\([^\n\S]*\)|[!=]==?|\.{3}|\?[.(]|~[.>]|<(?:<(?:=|<<?)?|[-~])|>>>?=?|@@|\S)/;
SPACE = /^(?=.)[^\n\S]*(?:#.*)?/;
MULTIDENT = /^(?:\s*#.*)*(?:\n([^\n\S]*))+/;
SIMPLESTR = /^'[^\\']*(?:\\.[^\\']*)*'/;
JSTOKEN = /^`[^\\`]*(?:\\.[^\\`]*)*`/;
REGEX = /^\/(?!\s)[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/[imgy]{0,4}(?!\w)/;
HEREGEX = /^\/{3}([\s\S]+?)\/{3}([imgy]{0,4})(?!\w)/;
WORD = /^\\\S[^\s,;)}\]]*/;
REGEX = /^\/(?!\s)[^[\/\n\\]*(?:(?:\\.|\[[^\]\n\\]*(?:\\.[^\]\n\\]*)*\])[^[\/\n\\]*)*\/[imgy]{0,4}(?!\d)/;
HEREGEX = /^\/{3}([\s\S]*?)\/{3}(\?|[imgy]{0,4})/;
HEREGEX_OMIT = /\s+(?:#.*)?/g;
MULTILINER = /\n/g;
LINE_CONTINUER = /^\s*(?:,|[?&]?\.(?!\.)|::)/;
LINE_CONTINUER = /^\s*(?:,|[?~]?\.(?!\.)|::)/;

@@ -0,6 +1,7 @@

var __toString = {}.toString;
module.exports = function(flags, args, options){
var MULTI, name, desc, arg, abbr, FLAG, i, literals, flag, value, _len, _i, _len2, _name;
var MULTI, name, desc, arg, abbr, FLAG, unknowns, i, literals, flag, value, _len, _i, _len2, _name;
args || (args = process.argv.slice(2));
options || (options = {});
if ('[object Array]' !== {}.toString.call(flags)) {
if (__toString.call(flags).slice(8, -1) !== 'Array') {
MULTI = /[*+]/;

@@ -12,3 +13,2 @@ flags = (function(){

_results.push({
long: '--' + name,
name: name,

@@ -18,4 +18,5 @@ desc: desc,

abbr: abbr,
long: '--' + name,
short: abbr != 0 && ("-" + (abbr || name)).slice(0, 2),
multi: arg && MULTI.test(arg)
multi: !!arg && MULTI.test(arg)
});

@@ -36,2 +37,3 @@ }

FLAG = /^-[-\w]+$/;
unknowns = [];
ARGS:

@@ -58,11 +60,11 @@ for (i = 0, _len = args.length; i < _len; ++i) {

if (FLAG.test(arg)) {
console.error('unrecognized option: %s', arg);
process.exit(1);
unknowns.push(arg);
} else {
break;
}
break;
}
return options.$flags = flags, options.$args = args.slice(i), options.$literals = literals || [], options.toString = help, options;
return options.$flags = flags, options.$args = args.slice(i), options.$literals = literals || [], options.$unknowns = unknowns, options.toString = help, options;
};
function help(){
var longs, width, pad, lines;
var longs, width, pad;
longs = this.$flags.map(function(it){

@@ -76,9 +78,8 @@ var that;

pad = Array(width >> 1).join(' ');
lines = this.$flags.map(function(flag, i){
var sf, lf;
sf = (flag.short && (flag.short += ',')) || ' ';
return this.$flags.map(function(flag, i){
var that, sf, lf;
sf = (that = flag.short) ? that + ',' : ' ';
lf = (longs[i] + pad).slice(0, width);
return " " + sf + " " + lf + " " + flag.desc;
});
return 'Available options:\n' + lines.join('\n');
}).join('\n');
}
exports.parser = {trace: function trace() { },
yy: {},
symbols_: {"error":2,"Assignable":3,"SimpleAssignable":4,"Array":5,"Object":6,"Value":7,"Primitive":8,"Parenthetical":9,"THIS":10,"CALL(":11,"ArgList":12,"OptComma":13,")CALL":14,"...":15,"STRNUM":16,"LITERAL":17,"IDENTIFIER":18,"ThisProperty":19,"DOT":20,"[":21,"]":22,"CLONE":23,"SUPER":24,"Expression":25,"ASSIGN":26,"+-":27,"MATH":28,"SHIFT":29,"COMPARE":30,"LOGIC":31,"IMPORT":32,"RELATION":33,"UNARY":34,"?":35,"CREMENT":36,"Fun":37,"FUNCTION":38,"IfBlock":39,"POST_IF":40,"LoopHead":41,"Block":42,"RETURN":43,"STATEMENT":44,"THROW":45,"SWITCH":46,"Cases":47,"DEFAULT":48,"TRY":49,"CATCH":50,"FINALLY":51,"CLASS":52,"OptExtends":53,"EXTENDS":54,"Line":55,"COMMENT":56,"Body":57,"TERMINATOR":58,",":59,"Arg":60,"INDENT":61,"DEDENT":62,"ArgSeq":63,"THISPROP":64,"(":65,")":66,"PARAM(":67,")PARAM":68,"FUNC_ARROW":69,"Key":70,"Property":71,":":72,"Properties":73,"KeySeq":74,"{":75,"}":76,"IF":77,"ELSE":78,"FOR":79,"FOROF":80,"BY":81,"FORIN":82,"FROM":83,"TO":84,"WHILE":85,"EVER":86,"CASE":87,"Root":88,"$accept":0,"$end":1},
terminals_: {2:"error",10:"THIS",11:"CALL(",14:")CALL",15:"...",16:"STRNUM",17:"LITERAL",18:"IDENTIFIER",20:"DOT",21:"[",22:"]",23:"CLONE",24:"SUPER",26:"ASSIGN",27:"+-",28:"MATH",29:"SHIFT",30:"COMPARE",31:"LOGIC",32:"IMPORT",33:"RELATION",34:"UNARY",35:"?",36:"CREMENT",38:"FUNCTION",40:"POST_IF",43:"RETURN",44:"STATEMENT",45:"THROW",46:"SWITCH",48:"DEFAULT",49:"TRY",50:"CATCH",51:"FINALLY",52:"CLASS",54:"EXTENDS",56:"COMMENT",58:"TERMINATOR",59:",",61:"INDENT",62:"DEDENT",64:"THISPROP",65:"(",66:")",67:"PARAM(",68:")PARAM",69:"FUNC_ARROW",72:":",75:"{",76:"}",77:"IF",78:"ELSE",79:"FOR",80:"FOROF",81:"BY",82:"FORIN",83:"FROM",84:"TO",85:"WHILE",86:"EVER",87:"CASE"},
productions_: [0,[3,1],[3,1],[3,1],[7,1],[7,1],[7,1],[7,1],[7,5],[7,4],[8,1],[8,1],[4,1],[4,1],[4,3],[4,3],[4,3],[4,6],[4,3],[4,1],[25,1],[25,3],[25,3],[25,3],[25,3],[25,3],[25,3],[25,3],[25,3],[25,2],[25,2],[25,2],[25,2],[25,2],[25,1],[25,2],[25,3],[25,1],[25,3],[25,2],[25,2],[25,2],[25,1],[25,1],[25,2],[25,3],[25,5],[25,2],[25,4],[25,2],[25,4],[25,6],[25,4],[25,2],[25,3],[25,3],[25,4],[25,3],[55,1],[55,1],[55,1],[57,1],[57,3],[57,2],[13,0],[13,1],[60,1],[60,2],[12,0],[12,1],[12,3],[12,4],[12,6],[12,1],[12,3],[12,4],[63,2],[63,2],[19,1],[9,3],[9,5],[42,3],[42,2],[37,6],[37,2],[5,4],[70,1],[70,1],[70,1],[70,1],[71,3],[71,5],[71,1],[71,2],[71,2],[71,3],[71,1],[73,0],[73,1],[73,3],[73,4],[73,6],[73,1],[73,3],[73,4],[74,2],[74,2],[6,4],[39,3],[39,5],[39,3],[41,4],[41,6],[41,4],[41,6],[41,4],[41,6],[41,8],[41,2],[41,2],[47,3],[47,4],[53,0],[53,2],[88,1],[88,2],[88,0]],
symbols_: {"error":2,"Assignable":3,"SimpleAssignable":4,"[":5,"ArgList":6,"OptComma":7,"]":8,"{":9,"Properties":10,"}":11,"Value":12,"STRNUM":13,"LITERAL":14,"Parenthetical":15,"CALL(":16,")CALL":17,"IDENTIFIER":18,"DOT":19,"CLONE":20,"SUPER":21,"Expression":22,"ASSIGN":23,"CREMENT":24,"UNARY":25,"+-":26,"MATH":27,"SHIFT":28,"COMPARE":29,"BITWISE":30,"LOGIC":31,"RELATION":32,"IMPORT":33,"?":34,"Function":35,"FUNCTION":36,"IfBlock":37,"ELSE":38,"Block":39,"POST_IF":40,"LoopHead":41,"RETURN":42,"THROW":43,"STATEMENT":44,"SWITCH":45,"Cases":46,"DEFAULT":47,"TRY":48,"CATCH":49,"FINALLY":50,"CLASS":51,"OptExtends":52,"EXTENDS":53,"Line":54,"PARAM(":55,")PARAM":56,"BACKCALL":57,"COMMENT":58,"...":59,"Body":60,"TERMINATOR":61,",":62,"Arg":63,"INDENT":64,"DEDENT":65,"(":66,")":67,"FUNC_ARROW":68,"KeyBase":69,"Key":70,"KeyValue":71,"Property":72,":":73,"IF":74,"FOR":75,"FOROF":76,"BY":77,"FORIN":78,"FROM":79,"TO":80,"WHILE":81,"EVER":82,"CASE":83,"Root":84,"$accept":0,"$end":1},
terminals_: {2:"error",5:"[",8:"]",9:"{",11:"}",13:"STRNUM",14:"LITERAL",16:"CALL(",17:")CALL",18:"IDENTIFIER",19:"DOT",20:"CLONE",21:"SUPER",23:"ASSIGN",24:"CREMENT",25:"UNARY",26:"+-",27:"MATH",28:"SHIFT",29:"COMPARE",30:"BITWISE",31:"LOGIC",32:"RELATION",33:"IMPORT",34:"?",36:"FUNCTION",38:"ELSE",40:"POST_IF",42:"RETURN",43:"THROW",44:"STATEMENT",45:"SWITCH",47:"DEFAULT",48:"TRY",49:"CATCH",50:"FINALLY",51:"CLASS",53:"EXTENDS",55:"PARAM(",56:")PARAM",57:"BACKCALL",58:"COMMENT",59:"...",61:"TERMINATOR",62:",",64:"INDENT",65:"DEDENT",66:"(",67:")",68:"FUNC_ARROW",73:":",74:"IF",75:"FOR",76:"FOROF",77:"BY",78:"FORIN",79:"FROM",80:"TO",81:"WHILE",82:"EVER",83:"CASE"},
productions_: [0,[3,1],[3,4],[3,4],[12,1],[12,1],[12,1],[12,1],[12,5],[4,1],[4,3],[4,3],[4,3],[4,6],[4,6],[4,1],[22,1],[22,3],[22,2],[22,2],[22,2],[22,2],[22,3],[22,3],[22,3],[22,3],[22,3],[22,3],[22,3],[22,3],[22,2],[22,1],[22,2],[22,1],[22,3],[22,3],[22,2],[22,2],[22,2],[22,2],[22,1],[22,1],[22,3],[22,5],[22,2],[22,4],[22,2],[22,4],[22,6],[22,4],[22,2],[22,3],[22,3],[22,4],[22,3],[54,1],[54,6],[54,1],[54,1],[60,1],[60,3],[60,2],[60,2],[7,0],[7,1],[63,1],[63,2],[63,1],[6,0],[6,1],[6,3],[6,4],[6,6],[15,3],[15,5],[39,3],[39,2],[35,6],[35,2],[69,1],[69,1],[70,1],[70,1],[71,1],[71,3],[71,3],[72,3],[72,3],[72,2],[72,1],[72,3],[72,2],[72,1],[10,0],[10,1],[10,3],[10,4],[10,6],[37,3],[37,5],[41,4],[41,6],[41,4],[41,6],[41,4],[41,6],[41,8],[41,2],[41,2],[46,3],[46,4],[52,0],[52,2],[84,1],[84,2],[84,3],[84,0]],
performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$) {

@@ -10,43 +10,43 @@

switch (yystate) {
case 1:this.$ = $$[$0];
case 2:this.$ = yy.L(yylineno, yy.Arr($$[$0-2]));
break;
case 2:this.$ = $$[$0];
case 3:this.$ = yy.L(yylineno, yy.Obj($$[$0-2]));
break;
case 3:this.$ = $$[$0];
break;
case 4:this.$ = yy.Value($$[$0]);
break;
case 5:this.$ = yy.Value($$[$0]);
case 5:this.$ = yy.Value(yy.L(yylineno, yy.Literal($$[$0])));
break;
case 6:this.$ = yy.Value($$[$0]);
case 6:this.$ = yy.Value(yy.L(yylineno, yy.Literal($$[$0])));
break;
case 7:this.$ = yy.Value(yy.Literal('this', true));
case 7:this.$ = yy.Value($$[$0]);
break;
case 8:this.$ = yy.Value(yy.Call($$[$0-4], $$[$0-2], $$[$0-3]));
case 8:this.$ = yy.Value(yy.L(yylineno, yy.Call($$[$0-4], $$[$0-2], $$[$0-3])));
break;
case 9:this.$ = yy.Value(yy.Call($$[$0-3], null, $$[$0-2]));
case 9:this.$ = yy.L(yylineno, yy.Var($$[$0]));
break;
case 10:this.$ = yy.Literal($$[$0]);
case 10:this.$ = $$[$0-2].add(yy.Index(yy.L(yylineno, yy.Key($$[$0])), $$[$0-1]));
break;
case 11:this.$ = yy.Literal($$[$0], true);
case 11:this.$ = $$[$0-2].add(yy.Index(yy.L(yylineno, yy.Literal($$[$0])), $$[$0-1]));
break;
case 12:this.$ = yy.Literal($$[$0]);
case 12:this.$ = $$[$0-2].add(yy.Index($$[$0].it, $$[$0-1]));
break;
case 13:this.$ = $$[$0];
case 13:this.$ = $$[$0-5].add(yy.L(yylineno, yy.Index($$[$0-2], $$[$0-4])));
break;
case 14:this.$ = $$[$0-2].add(yy.Index(yy.Key($$[$0]), $$[$0-1]));
case 14:this.$ = new yy.Clone($$[$0-5].unwrap(), $$[$0-2]);
break;
case 15:this.$ = $$[$0-2].add(yy.Index(yy.Literal($$[$0]), $$[$0-1]));
case 15:this.$ = yy.L(yylineno, new yy.Super);
break;
case 16:this.$ = $$[$0-2].add(yy.Index($$[$0].it, $$[$0-1]));
case 16:this.$ = $$[$0].unwrap();
break;
case 17:this.$ = $$[$0-5].add(yy.Index($$[$0-2], $$[$0-4]));
case 17:this.$ = yy.Assign($$[$0-2], $$[$0], $$[$0-1]);
break;
case 18:this.$ = new yy.Clone($$[$0-2].unwrap(), $$[$0]);
case 18:this.$ = yy.Op($$[$0-1], $$[$0]);
break;
case 19:this.$ = new yy.Super;
case 19:this.$ = yy.Op($$[$0], $$[$0-1], null, true);
break;
case 20:this.$ = $$[$0].unwrap();
case 20:this.$ = ($$[$0-1] === '!'
? $$[$0].invert()
: yy.Op($$[$0-1], $$[$0]));
break;
case 21:this.$ = yy.Assign($$[$0-2], $$[$0], $$[$0-1]);
case 21:this.$ = yy.Op($$[$0-1], $$[$0]);
break;

@@ -63,89 +63,74 @@ case 22:this.$ = yy.Op($$[$0-1], $$[$0-2], $$[$0]);

break;
case 27:this.$ = yy.Import($$[$0-2], $$[$0], $$[$0-1] === '<<<<');
case 27:this.$ = yy.Op($$[$0-1], $$[$0-2], $$[$0]);
break;
case 28:this.$ = $$[$0-1].charAt(0) === '!'
case 28:this.$ = ('!' === $$[$0-1].charAt(0)
? yy.Op($$[$0-1].slice(1), $$[$0-2], $$[$0]).invert()
: yy.Op($$[$0-1], $$[$0-2], $$[$0]);
: yy.Op($$[$0-1], $$[$0-2], $$[$0]));
break;
case 29:this.$ = yy.Op($$[$0-1], $$[$0]);
case 29:this.$ = yy.Import($$[$0-2], $$[$0], $$[$0-1] === '<<<<');
break;
case 30:this.$ = yy.Op($$[$0-1], $$[$0]);
case 30:this.$ = yy.Existence($$[$0-1]);
break;
case 31:this.$ = yy.Existence($$[$0-1]);
case 32:this.$ = $$[$0].named($$[$0-1]);
break;
case 32:this.$ = yy.Op($$[$0-1], $$[$0]);
case 34:this.$ = $$[$0-2].addElse($$[$0]);
break;
case 33:this.$ = yy.Op($$[$0], $$[$0-1], null, true);
break;
case 34:this.$ = $$[$0];
break;
case 35:this.$ = yy.mix($$[$0], {
statement: true
});
break;
case 36:this.$ = yy.mix($$[$0], {
statement: true,
case 35:this.$ = yy.L(yylineno, yy.If($$[$0], $$[$0-2], {
name: $$[$0-1]
});
}));
break;
case 37:this.$ = $$[$0];
case 36:this.$ = $$[$0-1].addBody($$[$0]);
break;
case 38:this.$ = yy.If($$[$0], $$[$0-2], {
name: $$[$0-1]
});
case 37:this.$ = $$[$0].addBody(yy.Block($$[$0-1]));
break;
case 39:this.$ = $$[$0-1].addBody($$[$0]);
case 38:this.$ = yy.Return($$[$0]);
break;
case 40:this.$ = $$[$0].addBody(yy.Lines($$[$0-1]));
case 39:this.$ = new yy.Throw($$[$0]);
break;
case 41:this.$ = yy.Return($$[$0]);
case 40:this.$ = yy.L(yylineno, new yy.Statement($$[$0]));
break;
case 42:this.$ = yy.Return();
case 41:this.$ = yy.L(yylineno, yy.Return());
break;
case 43:this.$ = new yy.Statement($$[$0]);
case 42:this.$ = new yy.Switch($$[$0-1], $$[$0]);
break;
case 44:this.$ = new yy.Throw($$[$0]);
case 43:this.$ = new yy.Switch($$[$0-3], $$[$0-2], $$[$0]);
break;
case 45:this.$ = new yy.Switch($$[$0-1], $$[$0]);
case 44:this.$ = new yy.Switch(null, $$[$0]);
break;
case 46:this.$ = new yy.Switch($$[$0-3], $$[$0-2], $$[$0]);
case 45:this.$ = new yy.Switch(null, $$[$0-2], $$[$0]);
break;
case 47:this.$ = new yy.Switch(null, $$[$0]);
case 46:this.$ = new yy.Try($$[$0]);
break;
case 48:this.$ = new yy.Switch(null, $$[$0-2], $$[$0]);
case 47:this.$ = new yy.Try($$[$0-2], $$[$0-1], $$[$0]);
break;
case 49:this.$ = new yy.Try($$[$0]);
case 48:this.$ = new yy.Try($$[$0-4], $$[$0-3], $$[$0-2], $$[$0]);
break;
case 50:this.$ = new yy.Try($$[$0-2], $$[$0-1], $$[$0]);
case 49:this.$ = new yy.Try($$[$0-2], null, null, $$[$0]);
break;
case 51:this.$ = new yy.Try($$[$0-4], $$[$0-3], $$[$0-2], $$[$0]);
case 50:this.$ = new yy.Class(null, $$[$0]);
break;
case 52:this.$ = new yy.Try($$[$0-2], null, null, $$[$0]);
case 51:this.$ = new yy.Class(null, $$[$0-1], $$[$0]);
break;
case 53:this.$ = new yy.Class(null, $$[$0]);
case 52:this.$ = new yy.Class($$[$0-1], $$[$0]);
break;
case 54:this.$ = new yy.Class(null, $$[$0-1], $$[$0]);
case 53:this.$ = new yy.Class($$[$0-2], $$[$0-1], $$[$0]);
break;
case 55:this.$ = new yy.Class($$[$0-1], $$[$0]);
case 54:this.$ = yy.Util.Extends($$[$0-2].unwrap(), $$[$0]);
break;
case 56:this.$ = new yy.Class($$[$0-2], $$[$0-1], $$[$0]);
case 56:this.$ = yy.Call.back($$[$0-4], $$[$0-1], $$[$0]);
break;
case 57:this.$ = yy.Util.Extends($$[$0-2], $$[$0]);
case 57:this.$ = yy.L(yylineno, yy.JS($$[$0], true, true));
break;
case 58:this.$ = $$[$0];
case 58:this.$ = yy.L(yylineno, new yy.Throw(yy.JS("Error('unimplemented')")));
break;
case 59:this.$ = yy.Comment($$[$0]);
case 59:this.$ = yy.Block($$[$0]);
break;
case 60:this.$ = new yy.Throw(yy.Literal("Error('stub code executed')"));
case 60:this.$ = $$[$0-2].add($$[$0]);
break;
case 61:this.$ = yy.Lines($$[$0]);
case 61:this.$ = $$[$0-1].add($$[$0]);
break;
case 62:this.$ = $$[$0-2].add($$[$0]);
case 66:this.$ = yy.L(yylineno, yy.Splat($$[$0]));
break;
case 63:this.$ = $$[$0-1];
case 67:this.$ = yy.L(yylineno, yy.Splat(yy.Arr()));
break;
case 66:this.$ = $$[$0];
break;
case 67:this.$ = yy.Splat($$[$0]);
break;
case 68:this.$ = [];

@@ -161,83 +146,53 @@ break;

break;
case 73:this.$ = $$[$0];
case 73:this.$ = yy.L(yylineno, yy.Parens($$[$0-1].unwrap()));
break;
case 74:this.$ = $$[$0-2].concat($$[$0]);
case 74:this.$ = yy.L(yylineno, yy.Parens($$[$0-2].unwrap()));
break;
case 75:this.$ = $$[$0-3].concat($$[$0]);
case 75:this.$ = $$[$0-1];
break;
case 76:this.$ = [$$[$0-1], $$[$0]];
case 76:this.$ = yy.Block();
break;
case 77:this.$ = $$[$0-1].concat($$[$0]);
case 77:this.$ = yy.L(yylineno, yy.Fun($$[$0-4], $$[$0], $$[$0-1]));
break;
case 78:this.$ = yy.Value(yy.Literal('this'), [yy.Index(yy.Key($$[$0]))], true);
case 78:this.$ = yy.L(yylineno, yy.Fun([], $$[$0], $$[$0-1]));
break;
case 79:this.$ = yy.Parens($$[$0-1].unwrap());
case 79:this.$ = yy.L(yylineno, yy.Key($$[$0]));
break;
case 80:this.$ = yy.Parens($$[$0-2].unwrap());
case 80:this.$ = yy.L(yylineno, yy.Literal($$[$0]));
break;
case 81:this.$ = $$[$0-1];
case 84:this.$ = yy.Assign($$[$0], yy.Value(yy.Literal($$[$0-2]), [yy.Index($$[$0], $$[$0-1])]), ':');
break;
case 82:this.$ = yy.Lines();
case 85:this.$ = yy.Assign($$[$0], yy.Value($$[$0-2], [yy.Index($$[$0], $$[$0-1])]), ':');
break;
case 83:this.$ = yy.Fun($$[$0-4], $$[$0], $$[$0-1]);
case 86:this.$ = yy.Assign($$[$0-2], $$[$0], ':');
break;
case 84:this.$ = yy.Fun([], $$[$0], $$[$0-1]);
case 87:this.$ = yy.Assign($$[$0-2], $$[$0].unwrap().asArr(), ':');
break;
case 85:this.$ = yy.Arr($$[$0-2]);
case 88:this.$ = yy.Assign($$[$0].asKey(), yy.Literal($$[$0-1] === '+'), ':');
break;
case 86:this.$ = yy.Literal($$[$0]);
case 90:this.$ = yy.Op($$[$0-1], $$[$0-2], $$[$0]);
break;
case 87:this.$ = yy.Literal($$[$0]);
case 91:this.$ = yy.Splat($$[$0]);
break;
case 88:this.$ = $$[$0];
case 92:this.$ = yy.L(yylineno, yy.JS($$[$0], true, true));
break;
case 89:this.$ = $$[$0];
case 93:this.$ = [];
break;
case 90:this.$ = yy.Assign($$[$0-2].asKey(), $$[$0], ':');
case 94:this.$ = [$$[$0]];
break;
case 91:this.$ = yy.Assign($$[$0-4].asKey(), $$[$0-1], ':');
case 95:this.$ = $$[$0-2].concat($$[$0]);
break;
case 92:this.$ = $$[$0];
case 96:this.$ = $$[$0-3].concat($$[$0]);
break;
case 93:this.$ = yy.Splat($$[$0]);
case 97:this.$ = $$[$0-5].concat($$[$0-2]);
break;
case 94:this.$ = yy.Assign($$[$0].asKey(), yy.Literal($$[$0-1] === '+'), ':');
break;
case 95:this.$ = yy.Op($$[$0-1], $$[$0-2], $$[$0]);
break;
case 96:this.$ = yy.Comment($$[$0]);
break;
case 97:this.$ = [];
break;
case 98:this.$ = [$$[$0]];
break;
case 99:this.$ = $$[$0-2].concat($$[$0]);
break;
case 100:this.$ = $$[$0-3].concat($$[$0]);
break;
case 101:this.$ = $$[$0-5].concat($$[$0-2]);
break;
case 102:this.$ = $$[$0];
break;
case 103:this.$ = $$[$0-2].concat($$[$0]);
break;
case 104:this.$ = $$[$0-3].concat($$[$0]);
break;
case 105:this.$ = [yy.Literal($$[$0-1]), yy.Literal($$[$0])];
break;
case 106:this.$ = $$[$0-1].concat(yy.Literal($$[$0]));
break;
case 107:this.$ = yy.Obj($$[$0-2]);
break;
case 108:this.$ = yy.If($$[$0-1], $$[$0], {
case 98:this.$ = yy.If($$[$0-1], $$[$0], {
name: $$[$0-2]
});
break;
case 109:this.$ = $$[$0-4].addElse(yy.If($$[$0-1], $$[$0], {
case 99:this.$ = $$[$0-4].addElse(yy.If($$[$0-1], $$[$0], {
name: $$[$0-2]
}));
break;
case 110:this.$ = $$[$0-2].addElse($$[$0]);
break;
case 111:this.$ = yy.mix(new yy.For, {
case 100:this.$ = new yy.For({
name: $$[$0-2],

@@ -248,3 +203,3 @@ index: $$[$0-1],

break;
case 112:this.$ = yy.mix(new yy.For, {
case 101:this.$ = new yy.For({
name: $$[$0-4],

@@ -256,3 +211,3 @@ index: $$[$0-3],

break;
case 113:this.$ = yy.mix(new yy.For, {
case 102:this.$ = new yy.For({
object: true,

@@ -264,3 +219,3 @@ own: !$$[$0-3],

break;
case 114:this.$ = yy.mix(new yy.For, {
case 103:this.$ = new yy.For({
object: true,

@@ -273,3 +228,3 @@ own: !$$[$0-5],

break;
case 115:this.$ = yy.mix(new yy.For, {
case 104:this.$ = new yy.For({
index: $$[$0-2],

@@ -281,3 +236,3 @@ from: yy.Literal(0),

break;
case 116:this.$ = yy.mix(new yy.For, {
case 105:this.$ = new yy.For({
index: $$[$0-4],

@@ -289,3 +244,3 @@ from: $$[$0-2],

break;
case 117:this.$ = yy.mix(new yy.For, {
case 106:this.$ = new yy.For({
index: $$[$0-6],

@@ -298,24 +253,26 @@ from: $$[$0-4],

break;
case 118:this.$ = new yy.While($$[$0], $$[$0-1]);
case 107:this.$ = new yy.While($$[$0], $$[$0-1]);
break;
case 119:this.$ = new yy.While;
case 108:this.$ = yy.L(yylineno, new yy.While);
break;
case 120:this.$ = [new yy.Case($$[$0-1], $$[$0])];
case 109:this.$ = [new yy.Case($$[$0-1], $$[$0])];
break;
case 121:this.$ = $$[$0-3].concat(new yy.Case($$[$0-1], $$[$0]));
case 110:this.$ = $$[$0-3].concat(new yy.Case($$[$0-1], $$[$0]));
break;
case 122:this.$ = null;
case 111:this.$ = null;
break;
case 123:this.$ = $$[$0];
case 112:this.$ = $$[$0];
break;
case 124:return $$[$0];
case 113:return this.$
break;
case 125:return $$[$0-1];
case 114:return this.$
break;
case 126:return yy.Lines();
case 115:return $$[$0-2].add($$[$0])
break;
case 116:return yy.Block()
break;
}
},
table: [{1:[2,126],3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],15:[1,8],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:6,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,42:3,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],55:4,56:[1,7],57:2,61:[1,5],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37],88:1},{1:[3]},{1:[2,124],58:[1,44]},{58:[1,45]},{1:[2,61],58:[2,61],62:[2,61],66:[2,61]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],15:[1,8],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:6,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],55:4,56:[1,7],57:46,62:[1,47],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{1:[2,58],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[1,56],41:57,58:[2,58],62:[2,58],66:[2,58],79:[1,36],85:[1,37]},{1:[2,59],58:[2,59],62:[2,59],66:[2,59]},{1:[2,60],58:[2,60],62:[2,60],66:[2,60]},{1:[2,20],11:[1,58],14:[2,20],20:[1,59],22:[2,20],23:[1,60],27:[2,20],28:[2,20],29:[2,20],30:[2,20],31:[2,20],32:[2,20],33:[2,20],35:[2,20],40:[2,20],58:[2,20],59:[2,20],61:[2,20],62:[2,20],66:[2,20],68:[2,20],76:[2,20],79:[2,20],81:[2,20],84:[2,20],85:[2,20],87:[2,20]},{1:[2,4],11:[2,4],14:[2,4],20:[2,4],22:[2,4],23:[2,4],26:[1,61],27:[2,4],28:[2,4],29:[2,4],30:[2,4],31:[2,4],32:[2,4],33:[2,4],35:[2,4],40:[2,4],58:[2,4],59:[2,4],61:[2,4],62:[2,4],66:[2,4],68:[2,4],76:[2,4],79:[2,4],81:[2,4],84:[2,4],85:[2,4],87:[2,4]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:62,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:63,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:66,4:64,5:28,6:29,7:65,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],64:[1,43],65:[1,40],75:[1,42]},{1:[2,1],11:[2,1],14:[2,1],20:[2,1],22:[2,1],23:[2,1],26:[2,1],27:[2,1],28:[2,1],29:[2,1],30:[2,1],31:[2,1],32:[2,1],33:[2,1],35:[2,1],36:[1,67],40:[2,1],54:[1,68],58:[2,1],59:[2,1],61:[2,1],62:[2,1],66:[2,1],68:[2,1],76:[2,1],79:[2,1],81:[2,1],84:[2,1],85:[2,1],87:[2,1]},{1:[2,34],14:[2,34],22:[2,34],27:[2,34],28:[2,34],29:[2,34],30:[2,34],31:[2,34],32:[2,34],33:[2,34],35:[2,34],40:[2,34],58:[2,34],59:[2,34],61:[2,34],62:[2,34],66:[2,34],68:[2,34],76:[2,34],79:[2,34],81:[2,34],84:[2,34],85:[2,34],87:[2,34]},{18:[1,70],37:69,67:[1,33],69:[1,34]},{1:[2,37],14:[2,37],22:[2,37],27:[2,37],28:[2,37],29:[2,37],30:[2,37],31:[2,37],32:[2,37],33:[2,37],35:[2,37],40:[2,37],58:[2,37],59:[2,37],61:[2,37],62:[2,37],66:[2,37],68:[2,37],76:[2,37],78:[1,71],79:[2,37],81:[2,37],84:[2,37],85:[2,37],87:[2,37]},{42:72,61:[1,5]},{1:[2,42],3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],14:[2,42],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],22:[2,42],24:[1,32],25:73,27:[1,12],28:[2,42],29:[2,42],30:[2,42],31:[2,42],32:[2,42],33:[2,42],34:[1,11],35:[2,42],36:[1,13],37:15,38:[1,16],39:17,40:[2,42],41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],58:[2,42],59:[2,42],61:[2,42],62:[2,42],64:[1,43],65:[1,40],66:[2,42],67:[1,33],68:[2,42],69:[1,34],75:[1,42],76:[2,42],77:[1,35],79:[2,42],81:[2,42],84:[2,42],85:[2,42],87:[2,42]},{1:[2,43],14:[2,43],22:[2,43],27:[2,43],28:[2,43],29:[2,43],30:[2,43],31:[2,43],32:[2,43],33:[2,43],35:[2,43],40:[2,43],58:[2,43],59:[2,43],61:[2,43],62:[2,43],66:[2,43],68:[2,43],76:[2,43],79:[2,43],81:[2,43],84:[2,43],85:[2,43],87:[2,43]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:74,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:75,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],47:76,49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37],87:[1,77]},{42:78,61:[1,5]},{1:[2,122],3:66,4:80,5:28,6:29,7:65,8:25,9:26,10:[1,27],14:[2,122],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],22:[2,122],24:[1,32],27:[2,122],28:[2,122],29:[2,122],30:[2,122],31:[2,122],32:[2,122],33:[2,122],35:[2,122],40:[2,122],53:79,54:[1,81],58:[2,122],59:[2,122],61:[2,122],62:[2,122],64:[1,43],65:[1,40],66:[2,122],68:[2,122],75:[1,42],76:[2,122],79:[2,122],81:[2,122],84:[2,122],85:[2,122],87:[2,122]},{1:[2,5],11:[2,5],14:[2,5],20:[2,5],22:[2,5],23:[2,5],27:[2,5],28:[2,5],29:[2,5],30:[2,5],31:[2,5],32:[2,5],33:[2,5],35:[2,5],40:[2,5],58:[2,5],59:[2,5],61:[2,5],62:[2,5],66:[2,5],68:[2,5],76:[2,5],79:[2,5],81:[2,5],84:[2,5],85:[2,5],87:[2,5]},{1:[2,6],11:[2,6],14:[2,6],20:[2,6],22:[2,6],23:[2,6],27:[2,6],28:[2,6],29:[2,6],30:[2,6],31:[2,6],32:[2,6],33:[2,6],35:[2,6],40:[2,6],58:[2,6],59:[2,6],61:[2,6],62:[2,6],66:[2,6],68:[2,6],76:[2,6],79:[2,6],81:[2,6],84:[2,6],85:[2,6],87:[2,6]},{1:[2,7],11:[2,7],14:[2,7],20:[2,7],22:[2,7],23:[2,7],27:[2,7],28:[2,7],29:[2,7],30:[2,7],31:[2,7],32:[2,7],33:[2,7],35:[2,7],40:[2,7],58:[2,7],59:[2,7],61:[2,7],62:[2,7],66:[2,7],68:[2,7],76:[2,7],79:[2,7],81:[2,7],84:[2,7],85:[2,7],87:[2,7]},{1:[2,2],11:[2,2],14:[2,2],20:[2,2],22:[2,2],23:[2,2],26:[2,2],27:[2,2],28:[2,2],29:[2,2],30:[2,2],31:[2,2],32:[2,2],33:[2,2],35:[2,2],40:[2,2],58:[2,2],59:[2,2],61:[2,2],62:[2,2],66:[2,2],68:[2,2],76:[2,2],79:[2,2],80:[2,2],81:[2,2],82:[2,2],84:[2,2],85:[2,2],87:[2,2]},{1:[2,3],11:[2,3],14:[2,3],20:[2,3],22:[2,3],23:[2,3],26:[2,3],27:[2,3],28:[2,3],29:[2,3],30:[2,3],31:[2,3],32:[2,3],33:[2,3],35:[2,3],40:[2,3],58:[2,3],59:[2,3],61:[2,3],62:[2,3],66:[2,3],68:[2,3],76:[2,3],79:[2,3],80:[2,3],81:[2,3],82:[2,3],84:[2,3],85:[2,3],87:[2,3]},{1:[2,12],11:[2,12],14:[2,12],20:[2,12],22:[2,12],23:[2,12],26:[2,12],27:[2,12],28:[2,12],29:[2,12],30:[2,12],31:[2,12],32:[2,12],33:[2,12],35:[2,12],36:[2,12],40:[2,12],54:[2,12],58:[2,12],59:[2,12],61:[2,12],62:[2,12],66:[2,12],68:[2,12],76:[2,12],79:[2,12],81:[2,12],82:[2,12],84:[2,12],85:[2,12],87:[2,12]},{1:[2,13],11:[2,13],14:[2,13],20:[2,13],22:[2,13],23:[2,13],26:[2,13],27:[2,13],28:[2,13],29:[2,13],30:[2,13],31:[2,13],32:[2,13],33:[2,13],35:[2,13],36:[2,13],40:[2,13],54:[2,13],58:[2,13],59:[2,13],61:[2,13],62:[2,13],66:[2,13],68:[2,13],76:[2,13],79:[2,13],80:[2,13],81:[2,13],82:[2,13],84:[2,13],85:[2,13],87:[2,13]},{1:[2,19],11:[2,19],14:[2,19],20:[2,19],22:[2,19],23:[2,19],26:[2,19],27:[2,19],28:[2,19],29:[2,19],30:[2,19],31:[2,19],32:[2,19],33:[2,19],35:[2,19],36:[2,19],40:[2,19],54:[2,19],58:[2,19],59:[2,19],61:[2,19],62:[2,19],66:[2,19],68:[2,19],76:[2,19],79:[2,19],80:[2,19],81:[2,19],82:[2,19],84:[2,19],85:[2,19],87:[2,19]},{3:10,4:14,5:28,6:29,7:9,8:87,9:26,10:[1,27],12:82,15:[1,86],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:85,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],58:[2,68],59:[2,68],60:83,61:[2,68],63:84,64:[1,43],65:[1,40],67:[1,33],68:[2,68],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{42:88,61:[1,5]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:89,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:90,4:93,5:28,6:29,7:65,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,91],19:31,21:[1,41],24:[1,32],64:[1,43],65:[1,40],75:[1,42],86:[1,92]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:94,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{1:[2,10],11:[2,10],14:[2,10],16:[2,10],17:[2,10],20:[2,10],22:[2,10],23:[2,10],27:[2,10],28:[2,10],29:[2,10],30:[2,10],31:[2,10],32:[2,10],33:[2,10],35:[2,10],40:[2,10],58:[2,10],59:[2,10],61:[2,10],62:[2,10],66:[2,10],68:[2,10],76:[2,10],79:[2,10],81:[2,10],84:[2,10],85:[2,10],87:[2,10]},{1:[2,11],11:[2,11],14:[2,11],16:[2,11],17:[2,11],20:[2,11],22:[2,11],23:[2,11],27:[2,11],28:[2,11],29:[2,11],30:[2,11],31:[2,11],32:[2,11],33:[2,11],35:[2,11],40:[2,11],58:[2,11],59:[2,11],61:[2,11],62:[2,11],66:[2,11],68:[2,11],76:[2,11],79:[2,11],81:[2,11],84:[2,11],85:[2,11],87:[2,11]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],15:[1,8],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:6,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],55:4,56:[1,7],57:95,61:[1,96],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:87,9:26,10:[1,27],12:97,15:[1,86],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],22:[2,68],24:[1,32],25:85,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],58:[2,68],59:[2,68],60:83,61:[2,68],63:84,64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{9:107,15:[1,102],16:[1,105],18:[1,106],19:108,27:[1,103],56:[1,104],58:[2,97],59:[2,97],61:[2,97],64:[1,43],65:[1,40],70:101,71:99,73:98,74:100,76:[2,97]},{1:[2,78],11:[2,78],14:[2,78],20:[2,78],22:[2,78],23:[2,78],26:[2,78],27:[2,78],28:[2,78],29:[2,78],30:[2,78],31:[2,78],32:[2,78],33:[2,78],35:[2,78],36:[2,78],40:[2,78],54:[2,78],58:[2,78],59:[2,78],61:[2,78],62:[2,78],66:[2,78],68:[2,78],72:[2,78],76:[2,78],79:[2,78],80:[2,78],81:[2,78],82:[2,78],84:[2,78],85:[2,78],87:[2,78]},{1:[2,63],3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],15:[1,8],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:6,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],55:109,56:[1,7],58:[2,63],62:[2,63],64:[1,43],65:[1,40],66:[2,63],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{1:[2,125]},{58:[1,44],62:[1,110]},{1:[2,82],14:[2,82],22:[2,82],27:[2,82],28:[2,82],29:[2,82],30:[2,82],31:[2,82],32:[2,82],33:[2,82],35:[2,82],40:[2,82],48:[2,82],50:[2,82],51:[2,82],58:[2,82],59:[2,82],61:[2,82],62:[2,82],66:[2,82],68:[2,82],76:[2,82],78:[2,82],79:[2,82],81:[2,82],84:[2,82],85:[2,82],87:[2,82]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:111,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:112,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:113,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:114,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:115,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:116,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:117,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{1:[2,31],14:[2,31],22:[2,31],27:[2,31],28:[2,31],29:[2,31],30:[2,31],31:[2,31],32:[2,31],33:[2,31],35:[2,31],40:[2,31],58:[2,31],59:[2,31],61:[2,31],62:[2,31],66:[2,31],68:[2,31],76:[2,31],79:[2,31],81:[2,31],84:[2,31],85:[2,31],87:[2,31]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:118,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{1:[2,40],14:[2,40],22:[2,40],27:[2,40],28:[2,40],29:[2,40],30:[2,40],31:[2,40],32:[2,40],33:[2,40],35:[2,40],40:[2,40],58:[2,40],59:[2,40],61:[2,40],62:[2,40],66:[2,40],68:[2,40],76:[2,40],79:[2,40],81:[2,40],84:[2,40],85:[2,40],87:[2,40]},{3:10,4:14,5:28,6:29,7:9,8:87,9:26,10:[1,27],12:119,14:[2,68],15:[1,120],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:85,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],58:[2,68],59:[2,68],60:83,61:[2,68],63:84,64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{9:123,16:[1,122],18:[1,121],21:[1,124],65:[1,40]},{6:125,75:[1,42]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:126,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{1:[2,29],14:[2,29],22:[2,29],27:[2,29],28:[2,29],29:[2,29],30:[2,29],31:[2,29],32:[2,29],33:[2,29],35:[1,55],40:[2,29],41:57,58:[2,29],59:[2,29],61:[2,29],62:[2,29],66:[2,29],68:[2,29],76:[2,29],79:[2,29],81:[2,29],84:[2,29],85:[2,29],87:[2,29]},{1:[2,30],14:[2,30],22:[2,30],27:[2,30],28:[2,30],29:[2,30],30:[2,30],31:[2,30],32:[2,30],33:[2,30],35:[1,55],40:[2,30],41:57,58:[2,30],59:[2,30],61:[2,30],62:[2,30],66:[2,30],68:[2,30],76:[2,30],79:[2,30],81:[2,30],84:[2,30],85:[2,30],87:[2,30]},{1:[2,32],11:[2,1],14:[2,32],20:[2,1],22:[2,32],23:[2,1],27:[2,32],28:[2,32],29:[2,32],30:[2,32],31:[2,32],32:[2,32],33:[2,32],35:[2,32],40:[2,32],58:[2,32],59:[2,32],61:[2,32],62:[2,32],66:[2,32],68:[2,32],76:[2,32],79:[2,32],81:[2,32],84:[2,32],85:[2,32],87:[2,32]},{11:[1,58],20:[1,59],23:[1,60]},{11:[2,4],20:[2,4],23:[2,4]},{1:[2,33],14:[2,33],22:[2,33],27:[2,33],28:[2,33],29:[2,33],30:[2,33],31:[2,33],32:[2,33],33:[2,33],35:[2,33],40:[2,33],58:[2,33],59:[2,33],61:[2,33],62:[2,33],66:[2,33],68:[2,33],76:[2,33],79:[2,33],81:[2,33],84:[2,33],85:[2,33],87:[2,33]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:127,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{1:[2,35],14:[2,35],22:[2,35],27:[2,35],28:[2,35],29:[2,35],30:[2,35],31:[2,35],32:[2,35],33:[2,35],35:[2,35],40:[2,35],58:[2,35],59:[2,35],61:[2,35],62:[2,35],66:[2,35],68:[2,35],76:[2,35],79:[2,35],81:[2,35],84:[2,35],85:[2,35],87:[2,35]},{37:128,67:[1,33],69:[1,34]},{42:130,61:[1,5],77:[1,129]},{1:[2,39],14:[2,39],22:[2,39],27:[2,39],28:[2,39],29:[2,39],30:[2,39],31:[2,39],32:[2,39],33:[2,39],35:[2,39],40:[2,39],58:[2,39],59:[2,39],61:[2,39],62:[2,39],66:[2,39],68:[2,39],76:[2,39],79:[2,39],81:[2,39],84:[2,39],85:[2,39],87:[2,39]},{1:[2,41],14:[2,41],22:[2,41],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[2,41],41:57,58:[2,41],59:[2,41],61:[2,41],62:[2,41],66:[2,41],68:[2,41],76:[2,41],79:[2,41],81:[2,41],84:[2,41],85:[2,41],87:[2,41]},{1:[2,44],14:[2,44],22:[2,44],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[2,44],41:57,58:[2,44],59:[2,44],61:[2,44],62:[2,44],66:[2,44],68:[2,44],76:[2,44],79:[2,44],81:[2,44],84:[2,44],85:[2,44],87:[2,44]},{27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[1,56],41:57,47:131,79:[1,36],85:[1,37],87:[1,77]},{1:[2,47],14:[2,47],22:[2,47],27:[2,47],28:[2,47],29:[2,47],30:[2,47],31:[2,47],32:[2,47],33:[2,47],35:[2,47],40:[2,47],48:[1,132],58:[2,47],59:[2,47],61:[2,47],62:[2,47],66:[2,47],68:[2,47],76:[2,47],79:[2,47],81:[2,47],84:[2,47],85:[2,47],87:[1,133]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:134,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{1:[2,49],14:[2,49],22:[2,49],27:[2,49],28:[2,49],29:[2,49],30:[2,49],31:[2,49],32:[2,49],33:[2,49],35:[2,49],40:[2,49],50:[1,135],51:[1,136],58:[2,49],59:[2,49],61:[2,49],62:[2,49],66:[2,49],68:[2,49],76:[2,49],79:[2,49],81:[2,49],84:[2,49],85:[2,49],87:[2,49]},{1:[2,53],14:[2,53],22:[2,53],27:[2,53],28:[2,53],29:[2,53],30:[2,53],31:[2,53],32:[2,53],33:[2,53],35:[2,53],40:[2,53],42:137,58:[2,53],59:[2,53],61:[1,5],62:[2,53],66:[2,53],68:[2,53],76:[2,53],79:[2,53],81:[2,53],84:[2,53],85:[2,53],87:[2,53]},{1:[2,122],11:[2,1],14:[2,122],20:[2,1],22:[2,122],23:[2,1],27:[2,122],28:[2,122],29:[2,122],30:[2,122],31:[2,122],32:[2,122],33:[2,122],35:[2,122],40:[2,122],53:138,54:[1,81],58:[2,122],59:[2,122],61:[2,122],62:[2,122],66:[2,122],68:[2,122],76:[2,122],79:[2,122],81:[2,122],84:[2,122],85:[2,122],87:[2,122]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:139,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{13:140,58:[2,64],59:[1,141],61:[2,64],68:[2,64]},{14:[2,69],22:[2,69],58:[2,69],59:[2,69],61:[2,69],62:[2,69],68:[2,69]},{8:142,14:[2,73],16:[1,38],17:[1,39],22:[2,73],58:[2,73],59:[2,73],61:[2,73],62:[2,73],68:[2,73]},{14:[2,66],22:[2,66],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[1,56],41:57,58:[2,66],59:[2,66],61:[2,66],62:[2,66],68:[2,66],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:143,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{8:144,11:[2,5],14:[2,5],16:[1,38],17:[1,39],20:[2,5],22:[2,5],23:[2,5],27:[2,5],28:[2,5],29:[2,5],30:[2,5],31:[2,5],32:[2,5],33:[2,5],35:[2,5],40:[2,5],58:[2,5],59:[2,5],61:[2,5],62:[2,5],68:[2,5],79:[2,5],85:[2,5]},{1:[2,84],14:[2,84],22:[2,84],27:[2,84],28:[2,84],29:[2,84],30:[2,84],31:[2,84],32:[2,84],33:[2,84],35:[2,84],40:[2,84],58:[2,84],59:[2,84],61:[2,84],62:[2,84],66:[2,84],68:[2,84],76:[2,84],79:[2,84],81:[2,84],84:[2,84],85:[2,84],87:[2,84]},{27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[1,56],41:57,42:145,61:[1,5],79:[1,36],85:[1,37]},{11:[2,4],20:[2,4],23:[2,4],80:[1,146]},{11:[2,12],20:[2,12],23:[2,12],59:[1,148],80:[2,12],82:[1,147],83:[1,149]},{1:[2,119],14:[2,119],22:[2,119],27:[2,119],28:[2,119],29:[2,119],30:[2,119],31:[2,119],32:[2,119],33:[2,119],35:[2,119],40:[2,119],58:[2,119],59:[2,119],61:[2,119],62:[2,119],66:[2,119],68:[2,119],76:[2,119],79:[2,119],81:[2,119],84:[2,119],85:[2,119],87:[2,119]},{11:[2,1],20:[2,1],23:[2,1],80:[2,1],82:[2,1]},{1:[2,118],14:[2,118],22:[2,118],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[2,118],41:57,58:[2,118],59:[2,118],61:[2,118],62:[2,118],66:[2,118],68:[2,118],76:[2,118],79:[2,118],81:[2,118],84:[2,118],85:[2,118],87:[2,118]},{58:[1,44],66:[1,150]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],15:[1,8],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:6,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],55:4,56:[1,7],57:151,64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{13:152,22:[2,64],58:[2,64],59:[1,141],61:[2,64]},{13:153,58:[2,64],59:[1,154],61:[2,64],76:[2,64]},{58:[2,98],59:[2,98],61:[2,98],62:[2,98],76:[2,98]},{16:[1,155],58:[2,102],59:[2,102],61:[2,102],62:[2,102],76:[2,102]},{31:[1,157],58:[2,92],59:[2,92],61:[2,92],62:[2,92],72:[1,156],76:[2,92]},{9:107,16:[1,159],18:[1,106],19:108,64:[1,43],65:[1,40],70:158},{9:107,16:[1,159],18:[1,106],19:108,64:[1,43],65:[1,40],70:160},{58:[2,96],59:[2,96],61:[2,96],62:[2,96],76:[2,96]},{16:[1,161],31:[2,87],58:[2,87],59:[2,87],61:[2,87],62:[2,87],72:[2,87],76:[2,87]},{31:[2,86],58:[2,86],59:[2,86],61:[2,86],62:[2,86],72:[2,86],76:[2,86]},{31:[2,88],58:[2,88],59:[2,88],61:[2,88],62:[2,88],72:[2,88],76:[2,88]},{31:[2,89],58:[2,89],59:[2,89],61:[2,89],62:[2,89],72:[2,89],76:[2,89]},{1:[2,62],58:[2,62],62:[2,62],66:[2,62]},{1:[2,81],14:[2,81],22:[2,81],27:[2,81],28:[2,81],29:[2,81],30:[2,81],31:[2,81],32:[2,81],33:[2,81],35:[2,81],40:[2,81],48:[2,81],50:[2,81],51:[2,81],58:[2,81],59:[2,81],61:[2,81],62:[2,81],66:[2,81],68:[2,81],76:[2,81],78:[2,81],79:[2,81],81:[2,81],84:[2,81],85:[2,81],87:[2,81]},{1:[2,22],14:[2,22],22:[2,22],27:[2,22],28:[1,49],29:[2,22],30:[2,22],31:[2,22],32:[2,22],33:[2,22],35:[1,55],40:[2,22],41:57,58:[2,22],59:[2,22],61:[2,22],62:[2,22],66:[2,22],68:[2,22],76:[2,22],79:[2,22],81:[2,22],84:[2,22],85:[2,22],87:[2,22]},{1:[2,23],14:[2,23],22:[2,23],27:[2,23],28:[2,23],29:[2,23],30:[2,23],31:[2,23],32:[2,23],33:[2,23],35:[1,55],40:[2,23],41:57,58:[2,23],59:[2,23],61:[2,23],62:[2,23],66:[2,23],68:[2,23],76:[2,23],79:[2,23],81:[2,23],84:[2,23],85:[2,23],87:[2,23]},{1:[2,24],14:[2,24],22:[2,24],27:[1,48],28:[1,49],29:[2,24],30:[2,24],31:[2,24],32:[2,24],33:[2,24],35:[1,55],40:[2,24],41:57,58:[2,24],59:[2,24],61:[2,24],62:[2,24],66:[2,24],68:[2,24],76:[2,24],79:[2,24],81:[2,24],84:[2,24],85:[2,24],87:[2,24]},{1:[2,25],14:[2,25],22:[2,25],27:[1,48],28:[1,49],29:[1,50],30:[2,25],31:[2,25],32:[1,53],33:[1,54],35:[1,55],40:[2,25],41:57,58:[2,25],59:[2,25],61:[2,25],62:[2,25],66:[2,25],68:[2,25],76:[2,25],79:[2,25],81:[2,25],84:[2,25],85:[2,25],87:[2,25]},{1:[2,26],14:[2,26],22:[2,26],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[2,26],32:[1,53],33:[1,54],35:[1,55],40:[2,26],41:57,58:[2,26],59:[2,26],61:[2,26],62:[2,26],66:[2,26],68:[2,26],76:[2,26],79:[2,26],81:[2,26],84:[2,26],85:[2,26],87:[2,26]},{1:[2,27],14:[2,27],22:[2,27],27:[1,48],28:[1,49],29:[2,27],30:[2,27],31:[2,27],32:[2,27],33:[2,27],35:[1,55],40:[2,27],41:57,58:[2,27],59:[2,27],61:[2,27],62:[2,27],66:[2,27],68:[2,27],76:[2,27],79:[2,27],81:[2,27],84:[2,27],85:[2,27],87:[2,27]},{1:[2,28],14:[2,28],22:[2,28],27:[1,48],28:[1,49],29:[1,50],30:[2,28],31:[2,28],32:[1,53],33:[2,28],35:[1,55],40:[2,28],41:57,58:[2,28],59:[2,28],61:[2,28],62:[2,28],66:[2,28],68:[2,28],76:[2,28],79:[2,28],81:[2,28],84:[2,28],85:[2,28],87:[2,28]},{1:[2,38],14:[2,38],22:[2,38],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[2,38],41:57,58:[2,38],59:[2,38],61:[2,38],62:[2,38],66:[2,38],68:[2,38],76:[2,38],79:[2,38],81:[2,38],84:[2,38],85:[2,38],87:[2,38]},{13:162,14:[2,64],58:[2,64],59:[1,141],61:[2,64]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],14:[1,163],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:143,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{1:[2,14],11:[2,14],14:[2,14],20:[2,14],22:[2,14],23:[2,14],26:[2,14],27:[2,14],28:[2,14],29:[2,14],30:[2,14],31:[2,14],32:[2,14],33:[2,14],35:[2,14],36:[2,14],40:[2,14],54:[2,14],58:[2,14],59:[2,14],61:[2,14],62:[2,14],66:[2,14],68:[2,14],76:[2,14],79:[2,14],80:[2,14],81:[2,14],82:[2,14],84:[2,14],85:[2,14],87:[2,14]},{1:[2,15],11:[2,15],14:[2,15],20:[2,15],22:[2,15],23:[2,15],26:[2,15],27:[2,15],28:[2,15],29:[2,15],30:[2,15],31:[2,15],32:[2,15],33:[2,15],35:[2,15],36:[2,15],40:[2,15],54:[2,15],58:[2,15],59:[2,15],61:[2,15],62:[2,15],66:[2,15],68:[2,15],76:[2,15],79:[2,15],80:[2,15],81:[2,15],82:[2,15],84:[2,15],85:[2,15],87:[2,15]},{1:[2,16],11:[2,16],14:[2,16],20:[2,16],22:[2,16],23:[2,16],26:[2,16],27:[2,16],28:[2,16],29:[2,16],30:[2,16],31:[2,16],32:[2,16],33:[2,16],35:[2,16],36:[2,16],40:[2,16],54:[2,16],58:[2,16],59:[2,16],61:[2,16],62:[2,16],66:[2,16],68:[2,16],76:[2,16],79:[2,16],80:[2,16],81:[2,16],82:[2,16],84:[2,16],85:[2,16],87:[2,16]},{3:10,4:14,5:28,6:29,7:9,8:87,9:26,10:[1,27],12:164,15:[1,86],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],22:[2,68],24:[1,32],25:85,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],58:[2,68],59:[2,68],60:83,61:[2,68],63:84,64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{1:[2,18],11:[2,18],14:[2,18],20:[2,18],22:[2,18],23:[2,18],26:[2,18],27:[2,18],28:[2,18],29:[2,18],30:[2,18],31:[2,18],32:[2,18],33:[2,18],35:[2,18],36:[2,18],40:[2,18],54:[2,18],58:[2,18],59:[2,18],61:[2,18],62:[2,18],66:[2,18],68:[2,18],76:[2,18],79:[2,18],80:[2,18],81:[2,18],82:[2,18],84:[2,18],85:[2,18],87:[2,18]},{1:[2,21],14:[2,21],22:[2,21],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[2,21],41:57,58:[2,21],59:[2,21],61:[2,21],62:[2,21],66:[2,21],68:[2,21],76:[2,21],79:[2,21],81:[2,21],84:[2,21],85:[2,21],87:[2,21]},{1:[2,57],14:[2,57],22:[2,57],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[2,57],41:57,58:[2,57],59:[2,57],61:[2,57],62:[2,57],66:[2,57],68:[2,57],76:[2,57],79:[2,57],81:[2,57],84:[2,57],85:[2,57],87:[2,57]},{1:[2,36],14:[2,36],22:[2,36],27:[2,36],28:[2,36],29:[2,36],30:[2,36],31:[2,36],32:[2,36],33:[2,36],35:[2,36],40:[2,36],58:[2,36],59:[2,36],61:[2,36],62:[2,36],66:[2,36],68:[2,36],76:[2,36],79:[2,36],81:[2,36],84:[2,36],85:[2,36],87:[2,36]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:165,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{1:[2,110],14:[2,110],22:[2,110],27:[2,110],28:[2,110],29:[2,110],30:[2,110],31:[2,110],32:[2,110],33:[2,110],35:[2,110],40:[2,110],58:[2,110],59:[2,110],61:[2,110],62:[2,110],66:[2,110],68:[2,110],76:[2,110],78:[2,110],79:[2,110],81:[2,110],84:[2,110],85:[2,110],87:[2,110]},{1:[2,45],14:[2,45],22:[2,45],27:[2,45],28:[2,45],29:[2,45],30:[2,45],31:[2,45],32:[2,45],33:[2,45],35:[2,45],40:[2,45],48:[1,166],58:[2,45],59:[2,45],61:[2,45],62:[2,45],66:[2,45],68:[2,45],76:[2,45],79:[2,45],81:[2,45],84:[2,45],85:[2,45],87:[1,133]},{42:167,61:[1,5]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:168,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[1,56],41:57,42:169,61:[1,5],79:[1,36],85:[1,37]},{42:170,61:[1,5]},{42:171,61:[1,5]},{1:[2,54],14:[2,54],22:[2,54],27:[2,54],28:[2,54],29:[2,54],30:[2,54],31:[2,54],32:[2,54],33:[2,54],35:[2,54],40:[2,54],58:[2,54],59:[2,54],61:[2,54],62:[2,54],66:[2,54],68:[2,54],76:[2,54],79:[2,54],81:[2,54],84:[2,54],85:[2,54],87:[2,54]},{1:[2,55],14:[2,55],22:[2,55],27:[2,55],28:[2,55],29:[2,55],30:[2,55],31:[2,55],32:[2,55],33:[2,55],35:[2,55],40:[2,55],42:172,58:[2,55],59:[2,55],61:[1,5],62:[2,55],66:[2,55],68:[2,55],76:[2,55],79:[2,55],81:[2,55],84:[2,55],85:[2,55],87:[2,55]},{1:[2,123],14:[2,123],22:[2,123],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[2,123],41:57,58:[2,123],59:[2,123],61:[2,123],62:[2,123],66:[2,123],68:[2,123],76:[2,123],79:[2,123],81:[2,123],84:[2,123],85:[2,123],87:[2,123]},{58:[1,174],61:[1,175],68:[1,173]},{3:10,4:14,5:28,6:29,7:9,8:87,9:26,10:[1,27],14:[2,65],15:[1,86],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],22:[2,65],24:[1,32],25:85,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],58:[2,65],60:176,61:[2,65],62:[2,65],63:177,64:[1,43],65:[1,40],67:[1,33],68:[2,65],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{14:[2,77],16:[2,77],17:[2,77],22:[2,77],58:[2,77],59:[2,77],61:[2,77],62:[2,77],68:[2,77]},{14:[2,67],22:[2,67],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[1,56],41:57,58:[2,67],59:[2,67],61:[2,67],62:[2,67],68:[2,67],79:[1,36],85:[1,37]},{14:[2,76],16:[2,76],17:[2,76],22:[2,76],58:[2,76],59:[2,76],61:[2,76],62:[2,76],68:[2,76]},{1:[2,108],14:[2,108],22:[2,108],27:[2,108],28:[2,108],29:[2,108],30:[2,108],31:[2,108],32:[2,108],33:[2,108],35:[2,108],40:[2,108],58:[2,108],59:[2,108],61:[2,108],62:[2,108],66:[2,108],68:[2,108],76:[2,108],78:[2,108],79:[2,108],81:[2,108],84:[2,108],85:[2,108],87:[2,108]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:178,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:179,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:180,4:93,5:28,6:29,7:65,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],64:[1,43],65:[1,40],75:[1,42]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:181,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{1:[2,79],11:[2,79],14:[2,79],20:[2,79],22:[2,79],23:[2,79],26:[2,79],27:[2,79],28:[2,79],29:[2,79],30:[2,79],31:[2,79],32:[2,79],33:[2,79],35:[2,79],36:[2,79],40:[2,79],54:[2,79],58:[2,79],59:[2,79],61:[2,79],62:[2,79],66:[2,79],68:[2,79],72:[2,79],76:[2,79],79:[2,79],80:[2,79],81:[2,79],82:[2,79],84:[2,79],85:[2,79],87:[2,79]},{58:[1,44],62:[1,182]},{22:[1,183],58:[1,174],61:[1,175]},{58:[1,185],61:[1,186],76:[1,184]},{9:107,15:[1,102],16:[1,105],18:[1,106],19:108,27:[1,103],56:[1,104],58:[2,65],61:[2,65],62:[2,65],64:[1,43],65:[1,40],70:101,71:187,74:188,76:[2,65]},{16:[2,106],58:[2,106],59:[2,106],61:[2,106],62:[2,106],76:[2,106]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:189,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],61:[1,190],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:191,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{58:[2,93],59:[2,93],61:[2,93],62:[2,93],76:[2,93]},{58:[2,87],59:[2,87],61:[2,87],62:[2,87],76:[2,87]},{58:[2,94],59:[2,94],61:[2,94],62:[2,94],76:[2,94]},{16:[2,105],58:[2,105],59:[2,105],61:[2,105],62:[2,105],76:[2,105]},{14:[1,192],58:[1,174],61:[1,175]},{1:[2,9],11:[2,9],14:[2,9],20:[2,9],22:[2,9],23:[2,9],27:[2,9],28:[2,9],29:[2,9],30:[2,9],31:[2,9],32:[2,9],33:[2,9],35:[2,9],40:[2,9],58:[2,9],59:[2,9],61:[2,9],62:[2,9],66:[2,9],68:[2,9],76:[2,9],79:[2,9],81:[2,9],84:[2,9],85:[2,9],87:[2,9]},{13:193,22:[2,64],58:[2,64],59:[1,141],61:[2,64]},{27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[1,56],41:57,42:194,61:[1,5],79:[1,36],85:[1,37]},{42:195,61:[1,5]},{1:[2,48],14:[2,48],22:[2,48],27:[2,48],28:[2,48],29:[2,48],30:[2,48],31:[2,48],32:[2,48],33:[2,48],35:[2,48],40:[2,48],58:[2,48],59:[2,48],61:[2,48],62:[2,48],66:[2,48],68:[2,48],76:[2,48],79:[2,48],81:[2,48],84:[2,48],85:[2,48],87:[2,48]},{27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[1,56],41:57,42:196,61:[1,5],79:[1,36],85:[1,37]},{1:[2,120],14:[2,120],22:[2,120],27:[2,120],28:[2,120],29:[2,120],30:[2,120],31:[2,120],32:[2,120],33:[2,120],35:[2,120],40:[2,120],48:[2,120],58:[2,120],59:[2,120],61:[2,120],62:[2,120],66:[2,120],68:[2,120],76:[2,120],79:[2,120],81:[2,120],84:[2,120],85:[2,120],87:[2,120]},{1:[2,50],14:[2,50],22:[2,50],27:[2,50],28:[2,50],29:[2,50],30:[2,50],31:[2,50],32:[2,50],33:[2,50],35:[2,50],40:[2,50],51:[1,197],58:[2,50],59:[2,50],61:[2,50],62:[2,50],66:[2,50],68:[2,50],76:[2,50],79:[2,50],81:[2,50],84:[2,50],85:[2,50],87:[2,50]},{1:[2,52],14:[2,52],22:[2,52],27:[2,52],28:[2,52],29:[2,52],30:[2,52],31:[2,52],32:[2,52],33:[2,52],35:[2,52],40:[2,52],58:[2,52],59:[2,52],61:[2,52],62:[2,52],66:[2,52],68:[2,52],76:[2,52],79:[2,52],81:[2,52],84:[2,52],85:[2,52],87:[2,52]},{1:[2,56],14:[2,56],22:[2,56],27:[2,56],28:[2,56],29:[2,56],30:[2,56],31:[2,56],32:[2,56],33:[2,56],35:[2,56],40:[2,56],58:[2,56],59:[2,56],61:[2,56],62:[2,56],66:[2,56],68:[2,56],76:[2,56],79:[2,56],81:[2,56],84:[2,56],85:[2,56],87:[2,56]},{69:[1,198]},{3:10,4:14,5:28,6:29,7:9,8:87,9:26,10:[1,27],15:[1,86],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:85,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],60:199,63:200,64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:87,9:26,10:[1,27],12:201,15:[1,86],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:85,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],58:[2,68],59:[2,68],60:83,61:[2,68],62:[2,68],63:84,64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{14:[2,70],22:[2,70],58:[2,70],59:[2,70],61:[2,70],62:[2,70],68:[2,70]},{8:142,14:[2,74],16:[1,38],17:[1,39],22:[2,74],58:[2,74],59:[2,74],61:[2,74],62:[2,74],68:[2,74]},{1:[2,111],14:[2,111],22:[2,111],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[2,111],41:57,58:[2,111],59:[2,111],61:[2,111],62:[2,111],66:[2,111],68:[2,111],76:[2,111],79:[2,111],81:[1,202],84:[2,111],85:[2,111],87:[2,111]},{1:[2,113],14:[2,113],22:[2,113],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[2,113],41:57,58:[2,113],59:[2,113],61:[2,113],62:[2,113],66:[2,113],68:[2,113],76:[2,113],79:[2,113],81:[2,113],84:[2,113],85:[2,113],87:[2,113]},{11:[2,4],20:[2,4],23:[2,4],82:[1,203]},{1:[2,115],14:[2,115],22:[2,115],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[2,115],41:57,58:[2,115],59:[2,115],61:[2,115],62:[2,115],66:[2,115],68:[2,115],76:[2,115],79:[2,115],81:[2,115],84:[1,204],85:[2,115],87:[2,115]},{66:[1,205]},{1:[2,85],11:[2,85],14:[2,85],20:[2,85],22:[2,85],23:[2,85],26:[2,85],27:[2,85],28:[2,85],29:[2,85],30:[2,85],31:[2,85],32:[2,85],33:[2,85],35:[2,85],40:[2,85],58:[2,85],59:[2,85],61:[2,85],62:[2,85],66:[2,85],68:[2,85],76:[2,85],79:[2,85],80:[2,85],81:[2,85],82:[2,85],84:[2,85],85:[2,85],87:[2,85]},{1:[2,107],11:[2,107],14:[2,107],20:[2,107],22:[2,107],23:[2,107],26:[2,107],27:[2,107],28:[2,107],29:[2,107],30:[2,107],31:[2,107],32:[2,107],33:[2,107],35:[2,107],36:[2,107],40:[2,107],54:[2,107],58:[2,107],59:[2,107],61:[2,107],62:[2,107],66:[2,107],68:[2,107],76:[2,107],79:[2,107],80:[2,107],81:[2,107],82:[2,107],84:[2,107],85:[2,107],87:[2,107]},{9:107,15:[1,102],16:[1,105],18:[1,106],19:108,27:[1,103],56:[1,104],64:[1,43],65:[1,40],70:101,71:206,74:207},{9:107,15:[1,102],16:[1,105],18:[1,106],19:108,27:[1,103],56:[1,104],58:[2,97],59:[2,97],61:[2,97],62:[2,97],64:[1,43],65:[1,40],70:101,71:99,73:208,74:100},{58:[2,99],59:[2,99],61:[2,99],62:[2,99],76:[2,99]},{16:[1,155],58:[2,103],59:[2,103],61:[2,103],62:[2,103],76:[2,103]},{27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[1,56],41:57,58:[2,90],59:[2,90],61:[2,90],62:[2,90],76:[2,90],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:209,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[1,56],41:57,58:[2,95],59:[2,95],61:[2,95],62:[2,95],76:[2,95],79:[1,36],85:[1,37]},{1:[2,8],11:[2,8],14:[2,8],20:[2,8],22:[2,8],23:[2,8],27:[2,8],28:[2,8],29:[2,8],30:[2,8],31:[2,8],32:[2,8],33:[2,8],35:[2,8],40:[2,8],58:[2,8],59:[2,8],61:[2,8],62:[2,8],66:[2,8],68:[2,8],76:[2,8],79:[2,8],81:[2,8],84:[2,8],85:[2,8],87:[2,8]},{22:[1,210],58:[1,174],61:[1,175]},{1:[2,109],14:[2,109],22:[2,109],27:[2,109],28:[2,109],29:[2,109],30:[2,109],31:[2,109],32:[2,109],33:[2,109],35:[2,109],40:[2,109],58:[2,109],59:[2,109],61:[2,109],62:[2,109],66:[2,109],68:[2,109],76:[2,109],78:[2,109],79:[2,109],81:[2,109],84:[2,109],85:[2,109],87:[2,109]},{1:[2,46],14:[2,46],22:[2,46],27:[2,46],28:[2,46],29:[2,46],30:[2,46],31:[2,46],32:[2,46],33:[2,46],35:[2,46],40:[2,46],58:[2,46],59:[2,46],61:[2,46],62:[2,46],66:[2,46],68:[2,46],76:[2,46],79:[2,46],81:[2,46],84:[2,46],85:[2,46],87:[2,46]},{1:[2,121],14:[2,121],22:[2,121],27:[2,121],28:[2,121],29:[2,121],30:[2,121],31:[2,121],32:[2,121],33:[2,121],35:[2,121],40:[2,121],48:[2,121],58:[2,121],59:[2,121],61:[2,121],62:[2,121],66:[2,121],68:[2,121],76:[2,121],79:[2,121],81:[2,121],84:[2,121],85:[2,121],87:[2,121]},{42:211,61:[1,5]},{42:212,61:[1,5]},{14:[2,71],22:[2,71],58:[2,71],59:[2,71],61:[2,71],62:[2,71],68:[2,71]},{8:142,14:[2,75],16:[1,38],17:[1,39],22:[2,75],58:[2,75],59:[2,75],61:[2,75],62:[2,75],68:[2,75]},{13:213,58:[2,64],59:[1,141],61:[2,64],62:[2,64]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:214,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:215,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:216,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{1:[2,80],11:[2,80],14:[2,80],20:[2,80],22:[2,80],23:[2,80],26:[2,80],27:[2,80],28:[2,80],29:[2,80],30:[2,80],31:[2,80],32:[2,80],33:[2,80],35:[2,80],36:[2,80],40:[2,80],54:[2,80],58:[2,80],59:[2,80],61:[2,80],62:[2,80],66:[2,80],68:[2,80],72:[2,80],76:[2,80],79:[2,80],80:[2,80],81:[2,80],82:[2,80],84:[2,80],85:[2,80],87:[2,80]},{58:[2,100],59:[2,100],61:[2,100],62:[2,100],76:[2,100]},{16:[1,155],58:[2,104],59:[2,104],61:[2,104],62:[2,104],76:[2,104]},{13:217,58:[2,64],59:[1,154],61:[2,64],62:[2,64]},{27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[1,56],41:57,62:[1,218],79:[1,36],85:[1,37]},{1:[2,17],11:[2,17],14:[2,17],20:[2,17],22:[2,17],23:[2,17],26:[2,17],27:[2,17],28:[2,17],29:[2,17],30:[2,17],31:[2,17],32:[2,17],33:[2,17],35:[2,17],36:[2,17],40:[2,17],54:[2,17],58:[2,17],59:[2,17],61:[2,17],62:[2,17],66:[2,17],68:[2,17],76:[2,17],79:[2,17],80:[2,17],81:[2,17],82:[2,17],84:[2,17],85:[2,17],87:[2,17]},{1:[2,51],14:[2,51],22:[2,51],27:[2,51],28:[2,51],29:[2,51],30:[2,51],31:[2,51],32:[2,51],33:[2,51],35:[2,51],40:[2,51],58:[2,51],59:[2,51],61:[2,51],62:[2,51],66:[2,51],68:[2,51],76:[2,51],79:[2,51],81:[2,51],84:[2,51],85:[2,51],87:[2,51]},{1:[2,83],14:[2,83],22:[2,83],27:[2,83],28:[2,83],29:[2,83],30:[2,83],31:[2,83],32:[2,83],33:[2,83],35:[2,83],40:[2,83],58:[2,83],59:[2,83],61:[2,83],62:[2,83],66:[2,83],68:[2,83],76:[2,83],79:[2,83],81:[2,83],84:[2,83],85:[2,83],87:[2,83]},{58:[1,174],61:[1,175],62:[1,219]},{1:[2,112],14:[2,112],22:[2,112],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[2,112],41:57,58:[2,112],59:[2,112],61:[2,112],62:[2,112],66:[2,112],68:[2,112],76:[2,112],79:[2,112],81:[2,112],84:[2,112],85:[2,112],87:[2,112]},{1:[2,114],14:[2,114],22:[2,114],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[2,114],41:57,58:[2,114],59:[2,114],61:[2,114],62:[2,114],66:[2,114],68:[2,114],76:[2,114],79:[2,114],81:[2,114],84:[2,114],85:[2,114],87:[2,114]},{1:[2,116],14:[2,116],22:[2,116],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[2,116],41:57,58:[2,116],59:[2,116],61:[2,116],62:[2,116],66:[2,116],68:[2,116],76:[2,116],79:[2,116],81:[1,220],84:[2,116],85:[2,116],87:[2,116]},{58:[1,185],61:[1,186],62:[1,221]},{58:[2,91],59:[2,91],61:[2,91],62:[2,91],76:[2,91]},{14:[2,72],22:[2,72],58:[2,72],59:[2,72],61:[2,72],62:[2,72],68:[2,72]},{3:10,4:14,5:28,6:29,7:9,8:25,9:26,10:[1,27],16:[1,38],17:[1,39],18:[1,30],19:31,21:[1,41],24:[1,32],25:222,27:[1,12],34:[1,11],36:[1,13],37:15,38:[1,16],39:17,41:18,43:[1,19],44:[1,20],45:[1,21],46:[1,22],49:[1,23],52:[1,24],64:[1,43],65:[1,40],67:[1,33],69:[1,34],75:[1,42],77:[1,35],79:[1,36],85:[1,37]},{58:[2,101],59:[2,101],61:[2,101],62:[2,101],76:[2,101]},{1:[2,117],14:[2,117],22:[2,117],27:[1,48],28:[1,49],29:[1,50],30:[1,51],31:[1,52],32:[1,53],33:[1,54],35:[1,55],40:[2,117],41:57,58:[2,117],59:[2,117],61:[2,117],62:[2,117],66:[2,117],68:[2,117],76:[2,117],79:[2,117],81:[2,117],84:[2,117],85:[2,117],87:[2,117]}],
defaultActions: {45:[2,125]},
table: [{1:[2,116],3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:6,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,39:3,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],54:4,55:[1,7],58:[1,8],59:[1,9],60:2,64:[1,5],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36],84:1},{1:[3]},{1:[2,113],39:39,61:[1,38],64:[1,5]},{61:[1,40]},{1:[2,59],61:[2,59],64:[2,59],65:[2,59],67:[2,59]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:6,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],54:4,55:[1,7],58:[1,8],59:[1,9],60:41,65:[1,42],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{1:[2,55],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[1,52],41:53,61:[2,55],64:[2,55],65:[2,55],67:[2,55],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],6:54,9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:56,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],56:[2,68],59:[1,57],61:[2,68],62:[2,68],63:55,64:[2,68],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{1:[2,57],61:[2,57],64:[2,57],65:[2,57],67:[2,57]},{1:[2,58],61:[2,58],64:[2,58],65:[2,58],67:[2,58]},{1:[2,16],8:[2,16],11:[2,16],16:[1,60],17:[2,16],19:[1,61],20:[1,62],26:[2,16],27:[2,16],28:[2,16],29:[2,16],30:[2,16],31:[2,16],32:[2,16],33:[2,16],34:[2,16],40:[2,16],53:[1,59],56:[2,16],61:[2,16],62:[2,16],64:[2,16],65:[2,16],67:[2,16],75:[2,16],77:[2,16],80:[2,16],81:[2,16],83:[2,16]},{1:[2,4],8:[2,4],11:[2,4],16:[2,4],17:[2,4],19:[2,4],20:[2,4],23:[1,63],26:[2,4],27:[2,4],28:[2,4],29:[2,4],30:[2,4],31:[2,4],32:[2,4],33:[2,4],34:[2,4],40:[2,4],53:[2,4],56:[2,4],61:[2,4],62:[2,4],64:[2,4],65:[2,4],67:[2,4],75:[2,4],77:[2,4],80:[2,4],81:[2,4],83:[2,4]},{3:66,4:64,5:[1,29],9:[1,30],12:65,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],66:[1,37]},{1:[2,1],8:[2,1],11:[2,1],16:[2,1],17:[2,1],19:[2,1],20:[2,1],23:[2,1],24:[1,67],26:[2,1],27:[2,1],28:[2,1],29:[2,1],30:[2,1],31:[2,1],32:[2,1],33:[2,1],34:[2,1],40:[2,1],53:[2,1],56:[2,1],61:[2,1],62:[2,1],64:[2,1],65:[2,1],67:[2,1],75:[2,1],77:[2,1],80:[2,1],81:[2,1],83:[2,1]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:68,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:69,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{1:[2,31],8:[2,31],11:[2,31],17:[2,31],26:[2,31],27:[2,31],28:[2,31],29:[2,31],30:[2,31],31:[2,31],32:[2,31],33:[2,31],34:[2,31],40:[2,31],56:[2,31],61:[2,31],62:[2,31],64:[2,31],65:[2,31],67:[2,31],75:[2,31],77:[2,31],80:[2,31],81:[2,31],83:[2,31]},{35:70,55:[1,58],68:[1,33]},{1:[2,33],8:[2,33],11:[2,33],17:[2,33],26:[2,33],27:[2,33],28:[2,33],29:[2,33],30:[2,33],31:[2,33],32:[2,33],33:[2,33],34:[2,33],38:[1,71],40:[2,33],56:[2,33],61:[2,33],62:[2,33],64:[2,33],65:[2,33],67:[2,33],75:[2,33],77:[2,33],80:[2,33],81:[2,33],83:[2,33]},{39:72,64:[1,5]},{1:[2,41],3:11,4:13,5:[1,29],8:[2,41],9:[1,30],11:[2,41],12:10,13:[1,26],14:[1,27],15:28,17:[2,41],18:[1,31],21:[1,32],22:73,24:[1,12],25:[1,14],26:[1,15],27:[2,41],28:[2,41],29:[2,41],30:[2,41],31:[2,41],32:[2,41],33:[2,41],34:[2,41],35:16,36:[1,17],37:18,40:[2,41],41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],56:[2,41],61:[2,41],62:[2,41],64:[2,41],65:[2,41],66:[1,37],67:[2,41],68:[1,33],74:[1,34],75:[2,41],77:[2,41],80:[2,41],81:[2,41],83:[2,41]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:74,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{1:[2,40],8:[2,40],11:[2,40],17:[2,40],26:[2,40],27:[2,40],28:[2,40],29:[2,40],30:[2,40],31:[2,40],32:[2,40],33:[2,40],34:[2,40],40:[2,40],56:[2,40],61:[2,40],62:[2,40],64:[2,40],65:[2,40],67:[2,40],75:[2,40],77:[2,40],80:[2,40],81:[2,40],83:[2,40]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:75,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],46:76,48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36],83:[1,77]},{39:78,64:[1,5]},{1:[2,111],3:66,4:80,5:[1,29],8:[2,111],9:[1,30],11:[2,111],12:65,13:[1,26],14:[1,27],15:28,17:[2,111],18:[1,31],21:[1,32],26:[2,111],27:[2,111],28:[2,111],29:[2,111],30:[2,111],31:[2,111],32:[2,111],33:[2,111],34:[2,111],40:[2,111],52:79,53:[1,81],56:[2,111],61:[2,111],62:[2,111],64:[2,111],65:[2,111],66:[1,37],67:[2,111],75:[2,111],77:[2,111],80:[2,111],81:[2,111],83:[2,111]},{1:[2,5],8:[2,5],11:[2,5],16:[2,5],17:[2,5],19:[2,5],20:[2,5],26:[2,5],27:[2,5],28:[2,5],29:[2,5],30:[2,5],31:[2,5],32:[2,5],33:[2,5],34:[2,5],40:[2,5],53:[2,5],56:[2,5],61:[2,5],62:[2,5],64:[2,5],65:[2,5],67:[2,5],75:[2,5],77:[2,5],80:[2,5],81:[2,5],83:[2,5]},{1:[2,6],8:[2,6],11:[2,6],16:[2,6],17:[2,6],19:[2,6],20:[2,6],26:[2,6],27:[2,6],28:[2,6],29:[2,6],30:[2,6],31:[2,6],32:[2,6],33:[2,6],34:[2,6],40:[2,6],53:[2,6],56:[2,6],61:[2,6],62:[2,6],64:[2,6],65:[2,6],67:[2,6],75:[2,6],77:[2,6],80:[2,6],81:[2,6],83:[2,6]},{1:[2,7],8:[2,7],11:[2,7],16:[2,7],17:[2,7],19:[2,7],20:[2,7],26:[2,7],27:[2,7],28:[2,7],29:[2,7],30:[2,7],31:[2,7],32:[2,7],33:[2,7],34:[2,7],40:[2,7],53:[2,7],56:[2,7],61:[2,7],62:[2,7],64:[2,7],65:[2,7],67:[2,7],75:[2,7],77:[2,7],80:[2,7],81:[2,7],83:[2,7]},{3:11,4:13,5:[1,29],6:82,8:[2,68],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:56,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],59:[1,57],61:[2,68],62:[2,68],63:55,64:[2,68],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{10:83,11:[2,93],13:[1,94],14:[1,92],15:91,18:[1,93],26:[1,86],58:[1,89],59:[1,88],61:[2,93],62:[2,93],64:[2,93],66:[1,37],69:90,70:85,71:87,72:84},{1:[2,9],8:[2,9],11:[2,9],16:[2,9],17:[2,9],19:[2,9],20:[2,9],23:[2,9],24:[2,9],26:[2,9],27:[2,9],28:[2,9],29:[2,9],30:[2,9],31:[2,9],32:[2,9],33:[2,9],34:[2,9],40:[2,9],53:[2,9],56:[2,9],61:[2,9],62:[2,9],64:[2,9],65:[2,9],67:[2,9],75:[2,9],77:[2,9],78:[2,9],80:[2,9],81:[2,9],83:[2,9]},{1:[2,15],8:[2,15],11:[2,15],16:[2,15],17:[2,15],19:[2,15],20:[2,15],23:[2,15],24:[2,15],26:[2,15],27:[2,15],28:[2,15],29:[2,15],30:[2,15],31:[2,15],32:[2,15],33:[2,15],34:[2,15],40:[2,15],53:[2,15],56:[2,15],61:[2,15],62:[2,15],64:[2,15],65:[2,15],67:[2,15],75:[2,15],76:[2,15],77:[2,15],78:[2,15],80:[2,15],81:[2,15],83:[2,15]},{39:95,64:[1,5]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:96,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:97,4:100,5:[1,29],9:[1,30],12:65,13:[1,26],14:[1,27],15:28,18:[1,98],21:[1,32],66:[1,37],82:[1,99]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:101,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:6,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],54:4,55:[1,7],58:[1,8],59:[1,9],60:102,64:[1,103],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{1:[2,62],3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:6,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],54:104,55:[1,7],58:[1,8],59:[1,9],61:[2,62],64:[2,62],65:[2,62],66:[1,37],67:[2,62],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{1:[2,61],61:[2,61],64:[2,61],65:[2,61],67:[2,61]},{1:[2,114],3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:6,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],54:4,55:[1,7],58:[1,8],59:[1,9],60:105,66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{39:39,61:[1,38],64:[1,5],65:[1,106]},{1:[2,76],8:[2,76],11:[2,76],17:[2,76],26:[2,76],27:[2,76],28:[2,76],29:[2,76],30:[2,76],31:[2,76],32:[2,76],33:[2,76],34:[2,76],38:[2,76],40:[2,76],47:[2,76],49:[2,76],50:[2,76],56:[2,76],61:[2,76],62:[2,76],64:[2,76],65:[2,76],67:[2,76],75:[2,76],77:[2,76],80:[2,76],81:[2,76],83:[2,76]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:107,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:108,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:109,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:110,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:111,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:112,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:113,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:114,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{1:[2,30],8:[2,30],11:[2,30],17:[2,30],26:[2,30],27:[2,30],28:[2,30],29:[2,30],30:[2,30],31:[2,30],32:[2,30],33:[2,30],34:[2,30],40:[2,30],56:[2,30],61:[2,30],62:[2,30],64:[2,30],65:[2,30],67:[2,30],75:[2,30],77:[2,30],80:[2,30],81:[2,30],83:[2,30]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:115,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{1:[2,37],8:[2,37],11:[2,37],17:[2,37],26:[2,37],27:[2,37],28:[2,37],29:[2,37],30:[2,37],31:[2,37],32:[2,37],33:[2,37],34:[2,37],40:[2,37],56:[2,37],61:[2,37],62:[2,37],64:[2,37],65:[2,37],67:[2,37],75:[2,37],77:[2,37],80:[2,37],81:[2,37],83:[2,37]},{7:116,56:[2,63],61:[2,63],62:[1,117],64:[2,63]},{8:[2,69],17:[2,69],56:[2,69],61:[2,69],62:[2,69],64:[2,69],65:[2,69]},{8:[2,65],17:[2,65],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[1,52],41:53,56:[2,65],61:[2,65],62:[2,65],64:[2,65],65:[2,65],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],8:[2,67],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,17:[2,67],18:[1,31],21:[1,32],22:118,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],56:[2,67],61:[2,67],62:[2,67],64:[2,67],65:[2,67],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],6:119,9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:56,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],56:[2,68],59:[1,57],61:[2,68],62:[2,68],63:55,64:[2,68],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:120,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],6:121,9:[1,30],12:10,13:[1,26],14:[1,27],15:28,17:[2,68],18:[1,31],21:[1,32],22:56,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],59:[1,57],61:[2,68],62:[2,68],63:55,64:[2,68],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{5:[1,125],13:[1,123],15:124,18:[1,122],66:[1,37]},{9:[1,126]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:127,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{1:[2,18],8:[2,18],11:[2,18],16:[2,1],17:[2,18],19:[2,1],20:[2,1],26:[2,18],27:[2,18],28:[2,18],29:[2,18],30:[2,18],31:[2,18],32:[2,18],33:[2,18],34:[2,18],40:[2,18],56:[2,18],61:[2,18],62:[2,18],64:[2,18],65:[2,18],67:[2,18],75:[2,18],77:[2,18],80:[2,18],81:[2,18],83:[2,18]},{16:[1,60],19:[1,61],20:[1,62]},{16:[2,4],19:[2,4],20:[2,4]},{1:[2,19],8:[2,19],11:[2,19],17:[2,19],26:[2,19],27:[2,19],28:[2,19],29:[2,19],30:[2,19],31:[2,19],32:[2,19],33:[2,19],34:[2,19],40:[2,19],56:[2,19],61:[2,19],62:[2,19],64:[2,19],65:[2,19],67:[2,19],75:[2,19],77:[2,19],80:[2,19],81:[2,19],83:[2,19]},{1:[2,20],8:[2,20],11:[2,20],17:[2,20],26:[2,20],27:[2,20],28:[2,20],29:[2,20],30:[2,20],31:[2,20],32:[2,20],33:[2,20],34:[1,51],40:[2,20],41:53,56:[2,20],61:[2,20],62:[2,20],64:[2,20],65:[2,20],67:[2,20],75:[2,20],77:[2,20],80:[2,20],81:[2,20],83:[2,20]},{1:[2,21],8:[2,21],11:[2,21],17:[2,21],26:[2,21],27:[2,21],28:[2,21],29:[2,21],30:[2,21],31:[2,21],32:[2,21],33:[2,21],34:[1,51],40:[2,21],41:53,56:[2,21],61:[2,21],62:[2,21],64:[2,21],65:[2,21],67:[2,21],75:[2,21],77:[2,21],80:[2,21],81:[2,21],83:[2,21]},{1:[2,32],8:[2,32],11:[2,32],17:[2,32],26:[2,32],27:[2,32],28:[2,32],29:[2,32],30:[2,32],31:[2,32],32:[2,32],33:[2,32],34:[2,32],40:[2,32],56:[2,32],61:[2,32],62:[2,32],64:[2,32],65:[2,32],67:[2,32],75:[2,32],77:[2,32],80:[2,32],81:[2,32],83:[2,32]},{39:128,64:[1,5],74:[1,129]},{1:[2,36],8:[2,36],11:[2,36],17:[2,36],26:[2,36],27:[2,36],28:[2,36],29:[2,36],30:[2,36],31:[2,36],32:[2,36],33:[2,36],34:[2,36],40:[2,36],56:[2,36],61:[2,36],62:[2,36],64:[2,36],65:[2,36],67:[2,36],75:[2,36],77:[2,36],80:[2,36],81:[2,36],83:[2,36]},{1:[2,38],8:[2,38],11:[2,38],17:[2,38],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[2,38],41:53,56:[2,38],61:[2,38],62:[2,38],64:[2,38],65:[2,38],67:[2,38],75:[2,38],77:[2,38],80:[2,38],81:[2,38],83:[2,38]},{1:[2,39],8:[2,39],11:[2,39],17:[2,39],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[2,39],41:53,56:[2,39],61:[2,39],62:[2,39],64:[2,39],65:[2,39],67:[2,39],75:[2,39],77:[2,39],80:[2,39],81:[2,39],83:[2,39]},{26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[1,52],41:53,46:130,75:[1,35],81:[1,36],83:[1,77]},{1:[2,44],8:[2,44],11:[2,44],17:[2,44],26:[2,44],27:[2,44],28:[2,44],29:[2,44],30:[2,44],31:[2,44],32:[2,44],33:[2,44],34:[2,44],40:[2,44],47:[1,131],56:[2,44],61:[2,44],62:[2,44],64:[2,44],65:[2,44],67:[2,44],75:[2,44],77:[2,44],80:[2,44],81:[2,44],83:[1,132]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:133,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{1:[2,46],8:[2,46],11:[2,46],17:[2,46],26:[2,46],27:[2,46],28:[2,46],29:[2,46],30:[2,46],31:[2,46],32:[2,46],33:[2,46],34:[2,46],40:[2,46],49:[1,134],50:[1,135],56:[2,46],61:[2,46],62:[2,46],64:[2,46],65:[2,46],67:[2,46],75:[2,46],77:[2,46],80:[2,46],81:[2,46],83:[2,46]},{1:[2,50],8:[2,50],11:[2,50],17:[2,50],26:[2,50],27:[2,50],28:[2,50],29:[2,50],30:[2,50],31:[2,50],32:[2,50],33:[2,50],34:[2,50],39:136,40:[2,50],56:[2,50],61:[2,50],62:[2,50],64:[1,5],65:[2,50],67:[2,50],75:[2,50],77:[2,50],80:[2,50],81:[2,50],83:[2,50]},{1:[2,111],8:[2,111],11:[2,111],16:[2,1],17:[2,111],19:[2,1],20:[2,1],26:[2,111],27:[2,111],28:[2,111],29:[2,111],30:[2,111],31:[2,111],32:[2,111],33:[2,111],34:[2,111],40:[2,111],52:137,53:[1,81],56:[2,111],61:[2,111],62:[2,111],64:[2,111],65:[2,111],67:[2,111],75:[2,111],77:[2,111],80:[2,111],81:[2,111],83:[2,111]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:138,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{7:139,8:[2,63],61:[2,63],62:[1,117],64:[2,63]},{7:140,11:[2,63],61:[2,63],62:[1,141],64:[2,63]},{11:[2,94],61:[2,94],62:[2,94],64:[2,94],65:[2,94]},{11:[2,83],19:[1,143],31:[2,83],61:[2,83],62:[2,83],64:[2,83],65:[2,83],73:[1,142]},{13:[1,94],15:91,18:[1,93],66:[1,37],69:90,70:144},{11:[2,89],31:[1,145],61:[2,89],62:[2,89],64:[2,89],65:[2,89]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:146,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{11:[2,92],61:[2,92],62:[2,92],64:[2,92],65:[2,92]},{11:[2,81],19:[2,81],31:[2,81],61:[2,81],62:[2,81],64:[2,81],65:[2,81],73:[2,81]},{11:[2,82],19:[2,82],31:[2,82],61:[2,82],62:[2,82],64:[2,82],65:[2,82],73:[2,82]},{19:[1,147]},{11:[2,79],19:[2,79],31:[2,79],61:[2,79],62:[2,79],64:[2,79],65:[2,79],73:[2,79]},{11:[2,80],19:[2,80],31:[2,80],61:[2,80],62:[2,80],64:[2,80],65:[2,80],73:[2,80]},{1:[2,78],8:[2,78],11:[2,78],17:[2,78],26:[2,78],27:[2,78],28:[2,78],29:[2,78],30:[2,78],31:[2,78],32:[2,78],33:[2,78],34:[2,78],40:[2,78],56:[2,78],61:[2,78],62:[2,78],64:[2,78],65:[2,78],67:[2,78],75:[2,78],77:[2,78],80:[2,78],81:[2,78],83:[2,78]},{26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],39:148,40:[1,52],41:53,64:[1,5],75:[1,35],81:[1,36]},{16:[2,4],19:[2,4],20:[2,4],76:[1,149]},{16:[2,9],19:[2,9],20:[2,9],62:[1,151],76:[2,9],78:[1,150],79:[1,152]},{1:[2,108],8:[2,108],11:[2,108],17:[2,108],26:[2,108],27:[2,108],28:[2,108],29:[2,108],30:[2,108],31:[2,108],32:[2,108],33:[2,108],34:[2,108],40:[2,108],56:[2,108],61:[2,108],62:[2,108],64:[2,108],65:[2,108],67:[2,108],75:[2,108],77:[2,108],80:[2,108],81:[2,108],83:[2,108]},{16:[2,1],19:[2,1],20:[2,1],76:[2,1],78:[2,1]},{1:[2,107],8:[2,107],11:[2,107],17:[2,107],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[2,107],41:53,56:[2,107],61:[2,107],62:[2,107],64:[2,107],65:[2,107],67:[2,107],75:[2,107],77:[2,107],80:[2,107],81:[2,107],83:[2,107]},{39:39,61:[1,38],64:[1,5],67:[1,153]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:6,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],54:4,55:[1,7],58:[1,8],59:[1,9],60:154,66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{1:[2,60],61:[2,60],64:[2,60],65:[2,60],67:[2,60]},{1:[2,115],39:39,61:[1,38],64:[1,5]},{1:[2,75],8:[2,75],11:[2,75],17:[2,75],26:[2,75],27:[2,75],28:[2,75],29:[2,75],30:[2,75],31:[2,75],32:[2,75],33:[2,75],34:[2,75],38:[2,75],40:[2,75],47:[2,75],49:[2,75],50:[2,75],56:[2,75],61:[2,75],62:[2,75],64:[2,75],65:[2,75],67:[2,75],75:[2,75],77:[2,75],80:[2,75],81:[2,75],83:[2,75]},{1:[2,22],8:[2,22],11:[2,22],17:[2,22],26:[2,22],27:[1,44],28:[2,22],29:[2,22],30:[2,22],31:[2,22],32:[2,22],33:[2,22],34:[1,51],40:[2,22],41:53,56:[2,22],61:[2,22],62:[2,22],64:[2,22],65:[2,22],67:[2,22],75:[2,22],77:[2,22],80:[2,22],81:[2,22],83:[2,22]},{1:[2,23],8:[2,23],11:[2,23],17:[2,23],26:[2,23],27:[2,23],28:[2,23],29:[2,23],30:[2,23],31:[2,23],32:[2,23],33:[2,23],34:[1,51],40:[2,23],41:53,56:[2,23],61:[2,23],62:[2,23],64:[2,23],65:[2,23],67:[2,23],75:[2,23],77:[2,23],80:[2,23],81:[2,23],83:[2,23]},{1:[2,24],8:[2,24],11:[2,24],17:[2,24],26:[1,43],27:[1,44],28:[2,24],29:[2,24],30:[2,24],31:[2,24],32:[2,24],33:[2,24],34:[1,51],40:[2,24],41:53,56:[2,24],61:[2,24],62:[2,24],64:[2,24],65:[2,24],67:[2,24],75:[2,24],77:[2,24],80:[2,24],81:[2,24],83:[2,24]},{1:[2,25],8:[2,25],11:[2,25],17:[2,25],26:[1,43],27:[1,44],28:[1,45],29:[2,25],30:[2,25],31:[2,25],32:[1,49],33:[1,50],34:[1,51],40:[2,25],41:53,56:[2,25],61:[2,25],62:[2,25],64:[2,25],65:[2,25],67:[2,25],75:[2,25],77:[2,25],80:[2,25],81:[2,25],83:[2,25]},{1:[2,26],8:[2,26],11:[2,26],17:[2,26],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[2,26],31:[2,26],32:[1,49],33:[1,50],34:[1,51],40:[2,26],41:53,56:[2,26],61:[2,26],62:[2,26],64:[2,26],65:[2,26],67:[2,26],75:[2,26],77:[2,26],80:[2,26],81:[2,26],83:[2,26]},{1:[2,27],8:[2,27],11:[2,27],17:[2,27],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[2,27],32:[1,49],33:[1,50],34:[1,51],40:[2,27],41:53,56:[2,27],61:[2,27],62:[2,27],64:[2,27],65:[2,27],67:[2,27],75:[2,27],77:[2,27],80:[2,27],81:[2,27],83:[2,27]},{1:[2,28],8:[2,28],11:[2,28],17:[2,28],26:[1,43],27:[1,44],28:[1,45],29:[2,28],30:[2,28],31:[2,28],32:[2,28],33:[1,50],34:[1,51],40:[2,28],41:53,56:[2,28],61:[2,28],62:[2,28],64:[2,28],65:[2,28],67:[2,28],75:[2,28],77:[2,28],80:[2,28],81:[2,28],83:[2,28]},{1:[2,29],8:[2,29],11:[2,29],17:[2,29],26:[1,43],27:[1,44],28:[2,29],29:[2,29],30:[2,29],31:[2,29],32:[2,29],33:[2,29],34:[1,51],40:[2,29],41:53,56:[2,29],61:[2,29],62:[2,29],64:[2,29],65:[2,29],67:[2,29],75:[2,29],77:[2,29],80:[2,29],81:[2,29],83:[2,29]},{1:[2,35],8:[2,35],11:[2,35],17:[2,35],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[2,35],41:53,56:[2,35],61:[2,35],62:[2,35],64:[2,35],65:[2,35],67:[2,35],75:[2,35],77:[2,35],80:[2,35],81:[2,35],83:[2,35]},{56:[1,155],61:[1,156],64:[1,157]},{3:11,4:13,5:[1,29],8:[2,64],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,17:[2,64],18:[1,31],21:[1,32],22:56,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],56:[2,64],59:[1,57],61:[2,64],63:158,64:[2,64],65:[2,64],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{8:[2,66],17:[2,66],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[1,52],41:53,56:[2,66],61:[2,66],62:[2,66],64:[2,66],65:[2,66],75:[1,35],81:[1,36]},{7:159,56:[2,63],61:[2,63],62:[1,117],64:[2,63]},{1:[2,54],8:[2,54],11:[2,54],17:[2,54],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[2,54],41:53,56:[2,54],61:[2,54],62:[2,54],64:[2,54],65:[2,54],67:[2,54],75:[2,54],77:[2,54],80:[2,54],81:[2,54],83:[2,54]},{7:160,17:[2,63],61:[2,63],62:[1,117],64:[2,63]},{1:[2,10],8:[2,10],11:[2,10],16:[2,10],17:[2,10],19:[2,10],20:[2,10],23:[2,10],24:[2,10],26:[2,10],27:[2,10],28:[2,10],29:[2,10],30:[2,10],31:[2,10],32:[2,10],33:[2,10],34:[2,10],40:[2,10],53:[2,10],56:[2,10],61:[2,10],62:[2,10],64:[2,10],65:[2,10],67:[2,10],75:[2,10],76:[2,10],77:[2,10],78:[2,10],80:[2,10],81:[2,10],83:[2,10]},{1:[2,11],8:[2,11],11:[2,11],16:[2,11],17:[2,11],19:[2,11],20:[2,11],23:[2,11],24:[2,11],26:[2,11],27:[2,11],28:[2,11],29:[2,11],30:[2,11],31:[2,11],32:[2,11],33:[2,11],34:[2,11],40:[2,11],53:[2,11],56:[2,11],61:[2,11],62:[2,11],64:[2,11],65:[2,11],67:[2,11],75:[2,11],76:[2,11],77:[2,11],78:[2,11],80:[2,11],81:[2,11],83:[2,11]},{1:[2,12],8:[2,12],11:[2,12],16:[2,12],17:[2,12],19:[2,12],20:[2,12],23:[2,12],24:[2,12],26:[2,12],27:[2,12],28:[2,12],29:[2,12],30:[2,12],31:[2,12],32:[2,12],33:[2,12],34:[2,12],40:[2,12],53:[2,12],56:[2,12],61:[2,12],62:[2,12],64:[2,12],65:[2,12],67:[2,12],75:[2,12],76:[2,12],77:[2,12],78:[2,12],80:[2,12],81:[2,12],83:[2,12]},{3:11,4:13,5:[1,29],6:161,8:[2,68],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:56,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],59:[1,57],61:[2,68],62:[2,68],63:55,64:[2,68],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{10:162,11:[2,93],13:[1,94],14:[1,92],15:91,18:[1,93],26:[1,86],58:[1,89],59:[1,88],61:[2,93],62:[2,93],64:[2,93],66:[1,37],69:90,70:85,71:87,72:84},{1:[2,17],8:[2,17],11:[2,17],17:[2,17],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[2,17],41:53,56:[2,17],61:[2,17],62:[2,17],64:[2,17],65:[2,17],67:[2,17],75:[2,17],77:[2,17],80:[2,17],81:[2,17],83:[2,17]},{1:[2,34],8:[2,34],11:[2,34],17:[2,34],26:[2,34],27:[2,34],28:[2,34],29:[2,34],30:[2,34],31:[2,34],32:[2,34],33:[2,34],34:[2,34],40:[2,34],56:[2,34],61:[2,34],62:[2,34],64:[2,34],65:[2,34],67:[2,34],75:[2,34],77:[2,34],80:[2,34],81:[2,34],83:[2,34]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:163,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{1:[2,42],8:[2,42],11:[2,42],17:[2,42],26:[2,42],27:[2,42],28:[2,42],29:[2,42],30:[2,42],31:[2,42],32:[2,42],33:[2,42],34:[2,42],40:[2,42],47:[1,164],56:[2,42],61:[2,42],62:[2,42],64:[2,42],65:[2,42],67:[2,42],75:[2,42],77:[2,42],80:[2,42],81:[2,42],83:[1,132]},{39:165,64:[1,5]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:166,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],39:167,40:[1,52],41:53,64:[1,5],75:[1,35],81:[1,36]},{39:168,64:[1,5]},{39:169,64:[1,5]},{1:[2,51],8:[2,51],11:[2,51],17:[2,51],26:[2,51],27:[2,51],28:[2,51],29:[2,51],30:[2,51],31:[2,51],32:[2,51],33:[2,51],34:[2,51],40:[2,51],56:[2,51],61:[2,51],62:[2,51],64:[2,51],65:[2,51],67:[2,51],75:[2,51],77:[2,51],80:[2,51],81:[2,51],83:[2,51]},{1:[2,52],8:[2,52],11:[2,52],17:[2,52],26:[2,52],27:[2,52],28:[2,52],29:[2,52],30:[2,52],31:[2,52],32:[2,52],33:[2,52],34:[2,52],39:170,40:[2,52],56:[2,52],61:[2,52],62:[2,52],64:[1,5],65:[2,52],67:[2,52],75:[2,52],77:[2,52],80:[2,52],81:[2,52],83:[2,52]},{1:[2,112],8:[2,112],11:[2,112],17:[2,112],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[2,112],41:53,56:[2,112],61:[2,112],62:[2,112],64:[2,112],65:[2,112],67:[2,112],75:[2,112],77:[2,112],80:[2,112],81:[2,112],83:[2,112]},{8:[1,171],61:[1,156],64:[1,157]},{11:[1,172],61:[1,173],64:[1,174]},{11:[2,64],13:[1,94],14:[1,92],15:91,18:[1,93],26:[1,86],58:[1,89],59:[1,88],61:[2,64],64:[2,64],65:[2,64],66:[1,37],69:90,70:85,71:87,72:175},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:176,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,39:177,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],64:[1,5],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{13:[1,94],18:[1,93],69:178},{11:[2,88],61:[2,88],62:[2,88],64:[2,88],65:[2,88]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:179,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{11:[2,91],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[1,52],41:53,61:[2,91],62:[2,91],64:[2,91],65:[2,91],75:[1,35],81:[1,36]},{13:[1,94],18:[1,93],69:180},{1:[2,98],8:[2,98],11:[2,98],17:[2,98],26:[2,98],27:[2,98],28:[2,98],29:[2,98],30:[2,98],31:[2,98],32:[2,98],33:[2,98],34:[2,98],38:[2,98],40:[2,98],56:[2,98],61:[2,98],62:[2,98],64:[2,98],65:[2,98],67:[2,98],75:[2,98],77:[2,98],80:[2,98],81:[2,98],83:[2,98]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:181,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:182,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:183,4:100,5:[1,29],9:[1,30],12:65,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],66:[1,37]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:184,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{1:[2,73],8:[2,73],11:[2,73],16:[2,73],17:[2,73],19:[2,73],20:[2,73],23:[2,73],24:[2,73],26:[2,73],27:[2,73],28:[2,73],29:[2,73],30:[2,73],31:[2,73],32:[2,73],33:[2,73],34:[2,73],40:[2,73],53:[2,73],56:[2,73],61:[2,73],62:[2,73],64:[2,73],65:[2,73],67:[2,73],73:[2,73],75:[2,73],76:[2,73],77:[2,73],78:[2,73],80:[2,73],81:[2,73],83:[2,73]},{39:39,61:[1,38],64:[1,5],65:[1,185]},{57:[1,186],68:[1,187]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:56,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],59:[1,57],63:188,66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],6:189,9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:56,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],59:[1,57],61:[2,68],62:[2,68],63:55,64:[2,68],65:[2,68],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{8:[2,70],17:[2,70],56:[2,70],61:[2,70],62:[2,70],64:[2,70],65:[2,70]},{56:[1,190],61:[1,156],64:[1,157]},{17:[1,191],61:[1,156],64:[1,157]},{7:192,8:[2,63],61:[2,63],62:[1,117],64:[2,63]},{7:193,11:[2,63],61:[2,63],62:[1,141],64:[2,63]},{26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],39:194,40:[1,52],41:53,64:[1,5],75:[1,35],81:[1,36]},{39:195,64:[1,5]},{1:[2,45],8:[2,45],11:[2,45],17:[2,45],26:[2,45],27:[2,45],28:[2,45],29:[2,45],30:[2,45],31:[2,45],32:[2,45],33:[2,45],34:[2,45],40:[2,45],56:[2,45],61:[2,45],62:[2,45],64:[2,45],65:[2,45],67:[2,45],75:[2,45],77:[2,45],80:[2,45],81:[2,45],83:[2,45]},{26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],39:196,40:[1,52],41:53,64:[1,5],75:[1,35],81:[1,36]},{1:[2,109],8:[2,109],11:[2,109],17:[2,109],26:[2,109],27:[2,109],28:[2,109],29:[2,109],30:[2,109],31:[2,109],32:[2,109],33:[2,109],34:[2,109],40:[2,109],47:[2,109],56:[2,109],61:[2,109],62:[2,109],64:[2,109],65:[2,109],67:[2,109],75:[2,109],77:[2,109],80:[2,109],81:[2,109],83:[2,109]},{1:[2,47],8:[2,47],11:[2,47],17:[2,47],26:[2,47],27:[2,47],28:[2,47],29:[2,47],30:[2,47],31:[2,47],32:[2,47],33:[2,47],34:[2,47],40:[2,47],50:[1,197],56:[2,47],61:[2,47],62:[2,47],64:[2,47],65:[2,47],67:[2,47],75:[2,47],77:[2,47],80:[2,47],81:[2,47],83:[2,47]},{1:[2,49],8:[2,49],11:[2,49],17:[2,49],26:[2,49],27:[2,49],28:[2,49],29:[2,49],30:[2,49],31:[2,49],32:[2,49],33:[2,49],34:[2,49],40:[2,49],56:[2,49],61:[2,49],62:[2,49],64:[2,49],65:[2,49],67:[2,49],75:[2,49],77:[2,49],80:[2,49],81:[2,49],83:[2,49]},{1:[2,53],8:[2,53],11:[2,53],17:[2,53],26:[2,53],27:[2,53],28:[2,53],29:[2,53],30:[2,53],31:[2,53],32:[2,53],33:[2,53],34:[2,53],40:[2,53],56:[2,53],61:[2,53],62:[2,53],64:[2,53],65:[2,53],67:[2,53],75:[2,53],77:[2,53],80:[2,53],81:[2,53],83:[2,53]},{1:[2,2],8:[2,2],11:[2,2],16:[2,2],17:[2,2],19:[2,2],20:[2,2],23:[2,2],26:[2,2],27:[2,2],28:[2,2],29:[2,2],30:[2,2],31:[2,2],32:[2,2],33:[2,2],34:[2,2],40:[2,2],53:[2,2],56:[2,2],61:[2,2],62:[2,2],64:[2,2],65:[2,2],67:[2,2],75:[2,2],76:[2,2],77:[2,2],78:[2,2],80:[2,2],81:[2,2],83:[2,2]},{1:[2,3],8:[2,3],11:[2,3],16:[2,3],17:[2,3],19:[2,3],20:[2,3],23:[2,3],26:[2,3],27:[2,3],28:[2,3],29:[2,3],30:[2,3],31:[2,3],32:[2,3],33:[2,3],34:[2,3],40:[2,3],53:[2,3],56:[2,3],61:[2,3],62:[2,3],64:[2,3],65:[2,3],67:[2,3],75:[2,3],76:[2,3],77:[2,3],78:[2,3],80:[2,3],81:[2,3],83:[2,3]},{13:[1,94],14:[1,92],15:91,18:[1,93],26:[1,86],58:[1,89],59:[1,88],66:[1,37],69:90,70:85,71:87,72:198},{10:199,13:[1,94],14:[1,92],15:91,18:[1,93],26:[1,86],58:[1,89],59:[1,88],61:[2,93],62:[2,93],64:[2,93],65:[2,93],66:[1,37],69:90,70:85,71:87,72:84},{11:[2,95],61:[2,95],62:[2,95],64:[2,95],65:[2,95]},{11:[2,86],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[1,52],41:53,61:[2,86],62:[2,86],64:[2,86],65:[2,86],75:[1,35],81:[1,36]},{11:[2,87],61:[2,87],62:[2,87],64:[2,87],65:[2,87]},{11:[2,85],31:[2,85],61:[2,85],62:[2,85],64:[2,85],65:[2,85]},{11:[2,90],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[1,52],41:53,61:[2,90],62:[2,90],64:[2,90],65:[2,90],75:[1,35],81:[1,36]},{11:[2,84],31:[2,84],61:[2,84],62:[2,84],64:[2,84],65:[2,84]},{1:[2,100],8:[2,100],11:[2,100],17:[2,100],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[2,100],41:53,56:[2,100],61:[2,100],62:[2,100],64:[2,100],65:[2,100],67:[2,100],75:[2,100],77:[1,200],80:[2,100],81:[2,100],83:[2,100]},{1:[2,102],8:[2,102],11:[2,102],17:[2,102],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[2,102],41:53,56:[2,102],61:[2,102],62:[2,102],64:[2,102],65:[2,102],67:[2,102],75:[2,102],77:[2,102],80:[2,102],81:[2,102],83:[2,102]},{16:[2,4],19:[2,4],20:[2,4],78:[1,201]},{1:[2,104],8:[2,104],11:[2,104],17:[2,104],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[2,104],41:53,56:[2,104],61:[2,104],62:[2,104],64:[2,104],65:[2,104],67:[2,104],75:[2,104],77:[2,104],80:[1,202],81:[2,104],83:[2,104]},{67:[1,203]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:204,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{39:205,64:[1,5]},{8:[2,71],17:[2,71],56:[2,71],61:[2,71],62:[2,71],64:[2,71],65:[2,71]},{7:206,61:[2,63],62:[1,117],64:[2,63],65:[2,63]},{68:[1,187]},{1:[2,8],8:[2,8],11:[2,8],16:[2,8],17:[2,8],19:[2,8],20:[2,8],26:[2,8],27:[2,8],28:[2,8],29:[2,8],30:[2,8],31:[2,8],32:[2,8],33:[2,8],34:[2,8],40:[2,8],53:[2,8],56:[2,8],61:[2,8],62:[2,8],64:[2,8],65:[2,8],67:[2,8],75:[2,8],77:[2,8],80:[2,8],81:[2,8],83:[2,8]},{8:[1,207],61:[1,156],64:[1,157]},{11:[1,208],61:[1,173],64:[1,174]},{1:[2,99],8:[2,99],11:[2,99],17:[2,99],26:[2,99],27:[2,99],28:[2,99],29:[2,99],30:[2,99],31:[2,99],32:[2,99],33:[2,99],34:[2,99],38:[2,99],40:[2,99],56:[2,99],61:[2,99],62:[2,99],64:[2,99],65:[2,99],67:[2,99],75:[2,99],77:[2,99],80:[2,99],81:[2,99],83:[2,99]},{1:[2,43],8:[2,43],11:[2,43],17:[2,43],26:[2,43],27:[2,43],28:[2,43],29:[2,43],30:[2,43],31:[2,43],32:[2,43],33:[2,43],34:[2,43],40:[2,43],56:[2,43],61:[2,43],62:[2,43],64:[2,43],65:[2,43],67:[2,43],75:[2,43],77:[2,43],80:[2,43],81:[2,43],83:[2,43]},{1:[2,110],8:[2,110],11:[2,110],17:[2,110],26:[2,110],27:[2,110],28:[2,110],29:[2,110],30:[2,110],31:[2,110],32:[2,110],33:[2,110],34:[2,110],40:[2,110],47:[2,110],56:[2,110],61:[2,110],62:[2,110],64:[2,110],65:[2,110],67:[2,110],75:[2,110],77:[2,110],80:[2,110],81:[2,110],83:[2,110]},{39:209,64:[1,5]},{11:[2,96],61:[2,96],62:[2,96],64:[2,96],65:[2,96]},{7:210,61:[2,63],62:[1,141],64:[2,63],65:[2,63]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:211,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:212,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:213,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{1:[2,74],8:[2,74],11:[2,74],16:[2,74],17:[2,74],19:[2,74],20:[2,74],23:[2,74],24:[2,74],26:[2,74],27:[2,74],28:[2,74],29:[2,74],30:[2,74],31:[2,74],32:[2,74],33:[2,74],34:[2,74],40:[2,74],53:[2,74],56:[2,74],61:[2,74],62:[2,74],64:[2,74],65:[2,74],67:[2,74],73:[2,74],75:[2,74],76:[2,74],77:[2,74],78:[2,74],80:[2,74],81:[2,74],83:[2,74]},{1:[2,56],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[1,52],41:53,61:[2,56],64:[2,56],65:[2,56],67:[2,56],75:[1,35],81:[1,36]},{1:[2,77],8:[2,77],11:[2,77],17:[2,77],26:[2,77],27:[2,77],28:[2,77],29:[2,77],30:[2,77],31:[2,77],32:[2,77],33:[2,77],34:[2,77],40:[2,77],56:[2,77],61:[2,77],62:[2,77],64:[2,77],65:[2,77],67:[2,77],75:[2,77],77:[2,77],80:[2,77],81:[2,77],83:[2,77]},{61:[1,156],64:[1,157],65:[1,214]},{1:[2,13],8:[2,13],11:[2,13],16:[2,13],17:[2,13],19:[2,13],20:[2,13],23:[2,13],24:[2,13],26:[2,13],27:[2,13],28:[2,13],29:[2,13],30:[2,13],31:[2,13],32:[2,13],33:[2,13],34:[2,13],40:[2,13],53:[2,13],56:[2,13],61:[2,13],62:[2,13],64:[2,13],65:[2,13],67:[2,13],75:[2,13],76:[2,13],77:[2,13],78:[2,13],80:[2,13],81:[2,13],83:[2,13]},{1:[2,14],8:[2,14],11:[2,14],16:[2,14],17:[2,14],19:[2,14],20:[2,14],23:[2,14],24:[2,14],26:[2,14],27:[2,14],28:[2,14],29:[2,14],30:[2,14],31:[2,14],32:[2,14],33:[2,14],34:[2,14],40:[2,14],53:[2,14],56:[2,14],61:[2,14],62:[2,14],64:[2,14],65:[2,14],67:[2,14],75:[2,14],76:[2,14],77:[2,14],78:[2,14],80:[2,14],81:[2,14],83:[2,14]},{1:[2,48],8:[2,48],11:[2,48],17:[2,48],26:[2,48],27:[2,48],28:[2,48],29:[2,48],30:[2,48],31:[2,48],32:[2,48],33:[2,48],34:[2,48],40:[2,48],56:[2,48],61:[2,48],62:[2,48],64:[2,48],65:[2,48],67:[2,48],75:[2,48],77:[2,48],80:[2,48],81:[2,48],83:[2,48]},{61:[1,173],64:[1,174],65:[1,215]},{1:[2,101],8:[2,101],11:[2,101],17:[2,101],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[2,101],41:53,56:[2,101],61:[2,101],62:[2,101],64:[2,101],65:[2,101],67:[2,101],75:[2,101],77:[2,101],80:[2,101],81:[2,101],83:[2,101]},{1:[2,103],8:[2,103],11:[2,103],17:[2,103],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[2,103],41:53,56:[2,103],61:[2,103],62:[2,103],64:[2,103],65:[2,103],67:[2,103],75:[2,103],77:[2,103],80:[2,103],81:[2,103],83:[2,103]},{1:[2,105],8:[2,105],11:[2,105],17:[2,105],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[2,105],41:53,56:[2,105],61:[2,105],62:[2,105],64:[2,105],65:[2,105],67:[2,105],75:[2,105],77:[1,216],80:[2,105],81:[2,105],83:[2,105]},{8:[2,72],17:[2,72],56:[2,72],61:[2,72],62:[2,72],64:[2,72],65:[2,72]},{11:[2,97],61:[2,97],62:[2,97],64:[2,97],65:[2,97]},{3:11,4:13,5:[1,29],9:[1,30],12:10,13:[1,26],14:[1,27],15:28,18:[1,31],21:[1,32],22:217,24:[1,12],25:[1,14],26:[1,15],35:16,36:[1,17],37:18,41:19,42:[1,20],43:[1,21],44:[1,22],45:[1,23],48:[1,24],51:[1,25],55:[1,58],66:[1,37],68:[1,33],74:[1,34],75:[1,35],81:[1,36]},{1:[2,106],8:[2,106],11:[2,106],17:[2,106],26:[1,43],27:[1,44],28:[1,45],29:[1,46],30:[1,47],31:[1,48],32:[1,49],33:[1,50],34:[1,51],40:[2,106],41:53,56:[2,106],61:[2,106],62:[2,106],64:[2,106],65:[2,106],67:[2,106],75:[2,106],77:[2,106],80:[2,106],81:[2,106],83:[2,106]}],
defaultActions: {},
parseError: function parseError(str, hash) {

@@ -322,0 +279,0 @@ throw new Error(str);

@@ -1,42 +0,27 @@

var BALANCED_PAIRS, INVERSES, EXPR_START, EXPR_END, left, rite, _i, _len, _ref, __indexOf = [].indexOf || function(x){
var BALANCED_PAIRS, INVERSES, EXPR_START, EXPR_END, left, rite, ARG, _i, _len, _ref, __indexOf = [].indexOf || function(x){
for (var i = this.length; i-- && this[i] !== x;); return i;
}, __slice = [].slice;
exports.rewrite = function(it){
return expandNumbers(rewriteClosingParens(ensureBalance(addImplicitParentheses(addImplicitBraces(tagPostfixConditionals(addImplicitIndentation(closeCalls(removeMidExpressionTerminators(removeLeadingTerminators(it))))))))));
};
function detectEnd(tokens, i, ok, go){
var levels, token, tag;
levels = 0;
while (token = tokens[i]) {
if (!levels) {
if (ok(token, i)) {
return go(token, i);
}
} else if (0 > levels) {
return go(token, i - 1);
}
tag = token[0];
if (__indexOf.call(EXPR_START, tag) >= 0) {
++levels;
} else if (__indexOf.call(EXPR_END, tag) >= 0) {
--levels;
}
++i;
}
exports.rewrite = rewrite;
exports.able = able;
function rewrite(it){
removeTerminators(it);
closeCalls(it);
addImplicitIndentation(it);
tagPostfixConditionals(it);
addImplicitParentheses(it);
addImplicitBraces(it);
ensureBalance(it);
rewriteClosingParens(it);
expandLiterals(it);
return it;
}
function removeLeadingTerminators(tokens){
var i, tag, _len;
for (i = 0, _len = tokens.length; i < _len; ++i) {
tag = tokens[i][0];
if (tag !== 'TERMINATOR') {
function removeTerminators(tokens){
var i, that;
i = -1;
while (that = tokens[++i]) {
if (that[0] !== 'TERMINATOR') {
break;
}
}
if (i) {
tokens.splice(0, i);
}
return tokens;
}
function removeMidExpressionTerminators(tokens){
var i, that;
i && tokens.splice(0, i);
i = 1;

@@ -52,3 +37,2 @@ while (that = tokens[++i]) {

}
return tokens;
}

@@ -70,26 +54,100 @@ function closeCalls(tokens){

}
return tokens;
}
function addImplicitBraces(tokens){
var go, ok, stack, i, token, tag, start, paren, idx, _ref;
go = function(token, i){
return tokens.splice(i, 0, ['}', '}', token[2]]);
};
ok = function(token, i){
var tag, one, _ref;
if (token[1] === ';' || 'DEDENT' === (tag = token[0])) {
return true;
function tagPostfixConditionals(tokens){
var i, token, _len;
for (i = 0, _len = tokens.length; i < _len; ++i) {
token = tokens[i];
if (token[0] === 'IF') {
detectEnd(tokens, i + 1, ok, go);
}
if (tag !== ',' && tag !== 'TERMINATOR') {
return false;
}
function ok(it){
var _ref;
return (_ref = it[0]) === 'TERMINATOR' || _ref === 'INDENT';
}
function go(it){
if (it[0] !== 'INDENT') {
return token[0] = 'POST_IF';
}
one = (_ref = tokens[i + 1]) != null ? _ref[0] : void 8;
if (tag === ',') {
return one !== 'IDENTIFIER' && one !== 'STRNUM' && one !== 'TERMINATOR' && one !== '(';
}
}
function addImplicitIndentation(tokens){
var i, token, tag, next, pair, indent, dedent, idx, seenSwitch, _ref;
i = -1;
while (token = tokens[++i]) {
tag = token[0];
if ('INDENT' === (next = (_ref = tokens[i + 1]) != null ? _ref[0] : void 8)) {
switch (false) {
case token[1] !== 'do':
(pair = tokens[indexOfPair(tokens, i + 1)])[0] = ')';
_ref = tokens[i + 1];
_ref.pair = pair;
_ref[0] = '(';
_ref[1] = 'do';
break;
default:
continue;
}
tokens.splice(i, 1);
continue;
}
if (next === 'THEN') {
continue;
}
if (!((tag === 'THEN' || tag === 'FUNC_ARROW' || tag === 'DEFAULT' || tag === 'TRY' || tag === 'CATCH' || tag === 'FINALLY') || tag === 'ELSE' && next !== 'IF')) {
continue;
}
indent = ['INDENT', 0, token[2]];
dedent = ['DEDENT', 0];
if (tag === 'THEN') {
if (((_ref = tokens[i - 1]) != null ? _ref[0] : void 8) === 'TERMINATOR') {
tokens.splice(--i, 1);
}
tokens[i] = indent;
} else {
return one !== 'COMMENT' && ':' !== ((_ref = tokens[one === '('
? 1 + indexOfPair(tokens, i + 1)
: i + 2]) != null ? _ref[0] : void 8);
tokens.splice(++i, 0, indent);
}
};
switch (false) {
case ',' !== (next = tokens[i + 1][0]):
--i;
/* fallthrough */
case ',' !== ((_ref = tokens[i + 2]) != null ? _ref[0] : void 8):
go(0, i += 2);
++i;
break;
case !((next === '(' || next === '[' || next === '{') && ',' === ((_ref = tokens[idx = 1 + indexOfPair(tokens, i + 1)]) != null ? _ref[0] : void 8)):
go(0, idx);
++i;
break;
default:
seenSwitch = false;
detectEnd(tokens, i + 1, ok, go);
}
}
function ok(token, i){
switch (token[0]) {
case 'DEDENT':
return true;
case 'TERMINATOR':
return token[1] !== ';';
case 'ELSE':
return tag === 'THEN';
case 'CATCH':
return tag === 'TRY';
case 'FINALLY':
return tag === 'TRY' || tag === 'CATCH' || tag === 'THEN';
case 'SWITCH':
return !(seenSwitch = true);
case 'CASE':
case 'DEFAULT':
return !seenSwitch;
}
}
function go(token, i){
dedent[2] = token[2];
return tokens.splice(tokens[i - 1][0] === ',' ? i - 1 : i, 0, dedent);
}
}
function addImplicitBraces(tokens){
var stack, i, token, tag, start, paren, oneline, idx, _ref;
stack = [];

@@ -112,3 +170,4 @@ i = -1;

paren = ((_ref = tokens[i - 1]) != null ? _ref[0] : void 8) === ')';
if (!(paren && ((_ref = tokens[start[1] - 1]) != null ? _ref[0] : void 8) === ':' || ((_ref = tokens[i - 2]) != null ? _ref[0] : void 8) === ':' || ((_ref = stack[stack.length - 1]) != null ? _ref[0] : void 8) !== '{')) {
oneline = paren && ((_ref = tokens[start[1] - 1]) != null ? _ref[0] : void 8) === ':' || ((_ref = tokens[i - 2]) != null ? _ref[0] : void 8) === ':';
if (!(oneline || ((_ref = stack[stack.length - 1]) != null ? _ref[0] : void 8) !== '{')) {
continue;

@@ -126,29 +185,56 @@ }

}
return tokens;
function ok(token, i){
var tag, t1, _ref;
if (token[1] === ';' || 'DEDENT' === (tag = token[0])) {
return true;
}
switch (tag) {
case ',':
break;
case 'TERMINATOR':
if (oneline) {
return true;
}
break;
default:
return false;
}
t1 = (_ref = tokens[i + 1]) != null ? _ref[0] : void 8;
return t1 !== (tag === ',' ? 'TERMINATOR' : 'COMMENT') && ':' !== ((_ref = tokens[t1 === '('
? 1 + indexOfPair(tokens, i + 1)
: i + 2]) != null ? _ref[0] : void 8);
}
function go(token, i){
return tokens.splice(i, 0, ['}', '', token[2]]);
}
}
function addImplicitParentheses(tokens){
var i, token, tag, prev, seenClass, seenSingle, soak, _ref;
var i, brackets, token, tag, prev, seenSwitch, skipBlock, soak;
i = 0;
brackets = [];
while (token = tokens[++i]) {
tag = token[0];
if (!(prev = tokens[i - 1]).spaced) {
switch (tag) {
case '?':
token.call = true;
break;
case '[':
case '{':
if (able(prev[0])) {
tokens.splice(i++, 0, [tag === '[' ? 'DOT' : 'CLONE', '', prev[2]]);
}
prev = tokens[i - 1];
if ('[' === tag) {
brackets.push(prev[0] === 'DOT');
}
if (']' === prev[0]) {
if (brackets.pop()) {
token.index = true;
} else {
continue;
}
}
if (!(prev.spaced && able(tokens, i, true))) {
continue;
}
if (!(prev.call || able(prev[0], true))) {
if (tag === '(' && token[1] === 'do') {
token[0] = 'CALL(';
token.pair[0] = ')CALL';
continue;
}
if (!(token.argument || (tag === '(' || tag === '[' || tag === '{' || tag === '...' || tag === 'IDENTIFIER' || tag === 'THISPROP' || tag === 'THIS' || tag === 'STRNUM' || tag === 'LITERAL' || tag === 'RANGE' || tag === 'UNARY' || tag === 'CREMENT' || tag === 'IF' || tag === 'TRY' || tag === 'CLASS' || tag === 'FUNCTION' || tag === 'SUPER') || tag === '+-' && !(token.spaced || token.eol) || (tag === 'PARAM(' || tag === 'FUNC_ARROW') && ((_ref = tokens[i - 2]) != null ? _ref[0] : void 8) !== 'FUNCTION')) {
if (!(__indexOf.call(ARG, tag) >= 0 || tag === '+-' && !(token.spaced || token.eol))) {
continue;
}
seenSingle = seenClass = false;
skipBlock = seenSwitch = false;
if (soak = prev[0] === '?') {

@@ -160,39 +246,42 @@ tokens.splice(--i, 1);

}
function able(tag, call){
var _ref;
return (tag === 'IDENTIFIER' || tag === 'THISPROP' || tag === 'SUPER' || tag === 'THIS' || tag === ')' || tag === ')CALL' || tag === ']') || (call
? tag === 'STRNUM' && ((_ref = tokens[i - 2]) != null ? _ref[0] : void 8) === 'DOT'
: tag === '}' || tag === 'STRNUM' || tag === 'LITERAL');
}
function ok(token, i){
var tag, pre, eol, _ref;
if (token.argument) {
return false;
}
if (!seenSingle && token.fromThen || token.alias && ((_ref = token[1]) === '&&' || _ref === '||')) {
var pre, _ref;
if (token.alias && ((_ref = token[1]) === '&&' || _ref === '||')) {
return true;
}
tag = token[0];
_ref = tokens[i - 1], pre = _ref[0], eol = _ref.eol;
switch (tag) {
pre = tokens[i - 1];
switch (token[0]) {
case 'SWITCH':
seenSwitch = true;
/* fallthrough */
case 'IF':
case 'CLASS':
seenClass = true;
skipBlock = true;
break;
case 'IF':
case 'CATCH':
seenSingle = true;
}
if (tag === 'DOT' && (eol || pre === 'DEDENT')) {
return true;
}
if (token.generated || pre === ',') {
return false;
}
if (tag === 'INDENT') {
if (seenClass) {
return seenClass = false;
case 'CASE':
if (seenSwitch) {
skipBlock = true;
} else {
return true;
}
return pre !== '{' && pre !== '[' && pre !== ',' && pre !== 'FUNC_ARROW' && pre !== 'TRY' && pre !== 'CATCH' && pre !== 'FINALLY';
break;
case 'DOT':
if (pre.eol || pre[0] === 'DEDENT') {
return true;
}
break;
case 'INDENT':
if (skipBlock) {
return skipBlock = false;
}
return (_ref = pre[0]) !== '{' && _ref !== '[' && _ref !== ',' && _ref !== 'FUNC_ARROW' && _ref !== 'ELSE' && _ref !== 'TRY' && _ref !== 'CATCH' && _ref !== 'FINALLY' && _ref !== 'DEFAULT';
case 'TERMINATOR':
case 'POST_IF':
case 'FOR':
case 'WHILE':
case 'BY':
case 'TO':
return pre[0] !== ',';
}
return tag === 'POST_IF' || tag === 'FOR' || tag === 'WHILE' || tag === 'BY' || tag === 'TO' || tag === 'CASE' || tag === 'DEFAULT' || tag === 'TERMINATOR';
return false;
}

@@ -205,97 +294,3 @@ function go(token, i){

}
return tokens;
}
function addImplicitIndentation(tokens){
var ok, go, i, token, tag, next, indent, dedent, idx, _ref;
ok = function(token, i){
switch (token[0]) {
case 'DEDENT':
case 'CASE':
case 'DEFAULT':
case 'CATCH':
case 'FINALLY':
return true;
case 'TERMINATOR':
return token[1] !== ';';
case 'ELSE':
return tag === 'IF' || tag === 'THEN';
}
};
go = function(token, i){
return tokens.splice(tokens[i - 1][0] === ',' ? i - 1 : i, 0, dedent);
};
i = -1;
while (token = tokens[++i]) {
tag = token[0];
if ('INDENT' === (next = (_ref = tokens[i + 1]) != null ? _ref[0] : void 8)) {
switch (false) {
case tag !== 'THEN':
tokens[i + 1].fromThen = true;
/* fallthrough */
case token[1] !== 'do':
tokens[i + 1].argument = true;
break;
default:
continue;
}
tokens.splice(i, 1);
continue;
}
if (next === 'THEN') {
continue;
}
if (!((tag === 'THEN' || tag === 'FUNC_ARROW' || tag === 'DEFAULT' || tag === 'TRY' || tag === 'CATCH' || tag === 'FINALLY') || tag === 'ELSE' && next !== 'IF')) {
continue;
}
indent = ['INDENT', 2, token[2]];
dedent = ['DEDENT', 2, token[2]];
indent.generated = dedent.generated = true;
if (tag === 'THEN') {
if (((_ref = tokens[i - 1]) != null ? _ref[0] : void 8) === 'TERMINATOR') {
tokens.splice(--i, 1);
}
tokens[i] = (indent.fromThen = true, indent);
} else {
tokens.splice(++i, 0, indent);
}
switch (false) {
case ',' !== (next = tokens[i + 1][0]):
--i;
/* fallthrough */
case ',' !== ((_ref = tokens[i + 2]) != null ? _ref[0] : void 8):
go(0, i += 2);
++i;
break;
case !((next === '(' || next === '[' || next === '{') && ',' === ((_ref = tokens[idx = 1 + indexOfPair(tokens, i + 1)]) != null ? _ref[0] : void 8)):
go(0, idx);
++i;
break;
default:
detectEnd(tokens, i + 1, ok, go);
}
}
return tokens;
}
function tagPostfixConditionals(tokens){
var ok, go, i, token, _len;
ok = function(_arg){
var tag;
tag = _arg[0];
return tag === 'TERMINATOR' || tag === 'INDENT';
};
go = function(_arg){
var tag;
tag = _arg[0];
if (tag !== 'INDENT') {
return token[0] = 'POST_IF';
}
};
for (i = 0, _len = tokens.length; i < _len; ++i) {
token = tokens[i];
if (token[0] === 'IF') {
detectEnd(tokens, i + 1, ok, go);
}
}
return tokens;
}
function ensureBalance(tokens){

@@ -326,3 +321,2 @@ var levels, olines, token, tag, open, close, level, _i, _len, _j, _ref, _len2, _ref2;

}
return tokens;
}

@@ -359,17 +353,12 @@ function rewriteClosingParens(tokens){

}
return tokens;
}
function expandNumbers(tokens){
var i, last, token, num, sign, ts, lno, to, n, _step;
function expandLiterals(tokens){
var i, token, num, sig, ts, lno, to, n, _step, _ref;
i = -1;
last = tokens[0];
while (token = tokens[++i]) {
switch (token[0]) {
case 'STRNUM':
num = '' + token[1];
if (~'+-'.indexOf(sign = num.charAt(0))) {
tokens.splice(i++, 0, ['+-', sign, token[2]]);
if (~'-+'.indexOf(sig = (num = '' + token[1]).charAt(0))) {
token[1] = num.slice(1);
} else if (last[1] === '@' && !last.spaced) {
tokens.splice(i++, 0, ['DOT', '.', token[2]]);
tokens.splice(i++, 0, ['+-', sig, token[2]]);
}

@@ -382,14 +371,68 @@ break;

for (n = +token[1], _step = +token.by || 1; _step < 0 ? n >= to : n <= to; n += _step) {
if (1024 < ts.push(['STRNUM', n, lno])) {
if (2048 < ts.push(['STRNUM', n, lno], [',', ',', lno])) {
carp('range limit exceeded', lno);
}
}
ts.length || carp('empty range', lno);
if (ts.length) {
ts.pop();
} else {
carp('empty range', lno);
}
tokens.splice.apply(tokens, [i, 1].concat(__slice.call(ts)));
i += ts.length - 1;
break;
case ')':
case ')CALL':
if (!token[1]) {
break;
}
break;
case '}':
if (token[1]) {
break;
}
break;
case ']':
if (!token.index) {
break;
}
break;
case 'LITERAL':
break;
default:
continue;
}
last = token;
if (token.spaced && (_ref = tokens[i + 1][0], __indexOf.call(ARG, _ref) >= 0)) {
tokens.splice(++i, 0, [',', ',', token[2]]);
}
}
return tokens;
}
function detectEnd(tokens, i, ok, go){
var levels, token, tag;
levels = 0;
while (token = tokens[i]) {
if (!levels) {
if (ok(token, i)) {
return go(token, i);
}
} else if (0 > levels) {
return go(token, i - 1);
}
tag = token[0];
if (__indexOf.call(EXPR_START, tag) >= 0) {
++levels;
} else if (__indexOf.call(EXPR_END, tag) >= 0) {
--levels;
}
++i;
}
}
function able(tokens, i, call){
var token, tag;
i == null && (i = tokens.length);
tag = (token = tokens[i - 1])[0];
return (tag === 'IDENTIFIER' || tag === 'SUPER' || tag === ']') || (call
? token.callable || tag === '?' || (tag === ')' || tag === ')CALL') && token[1]
: tag === 'STRNUM' || tag === 'LITERAL' || tag === ')' || tag === ')CALL' || tag === '}');
}
function indexOfPair(tokens, i){

@@ -423,2 +466,3 @@ var level, start, end, that;

EXPR_END.push(INVERSES[left] = rite);
}
}
ARG = ['(', '[', '{', '...', 'IDENTIFIER', 'STRNUM', 'LITERAL', 'RANGE', 'SUPER', 'PARAM(', 'FUNC_ARROW', 'FUNCTION', 'UNARY', 'CREMENT', 'IF', 'TRY', 'CLASS', 'SWITCH'];
{"name" : "coco"
,"description" : "Unfancy CoffeeScript"
,"keywords" : ["language", "compiler", "coffeescript", "javascript"]
,"author" : "satyr"
,"version" : "0.2.2"
,"author" : "satyr <murky.satyr@gmail.com> (http://satyr.github.com)"
,"version" : "0.3.3"
,"homepage" : "http://satyr.github.com/coco/"
,"repository" : {"type": "git", "url": "git://github.com/satyr/coco.git"}
,"licenses" :

@@ -10,9 +12,9 @@ [{"type" : "MIT"

}]
,"engines" : {"node": ">=0.2.5"}
,"engines" : {"node": ">=0.2.6"}
,"directories" : {"lib" : "./lib" }
,"main" : "./lib/coco"
,"bin" :
{"coco" : "./bin/coco"
,"coke" : "./bin/coke"
{"coco" : "./lib/command.js"
,"coke" : "./lib/coke.js"
}
}
# Coco
is a [CoffeeScript](http://coffeescript.org) dialect that aims to be more radical and practical.
## Why
On its way to hide bad parts of JavaScript, CoffeeScript accumulated its own:
horrible variable scope, confusing/pointless keywords, awkward ranges,
long extension, and so on.
Coco tries to amend them, entwining good parts of both.
## Principles
- Respect JavaScript/ECMAScript semantics, but supply ways to amend them.
- Reserve less keywords.
- Respect JavaScript/ECMAScript semantics.
- Die for [DRY](http://en.wikipedia.org/wiki/Don%27t_repeat_yourself).
- Performance over readability.
- Readability over compressability.
- Perl over Ruby.
- Reserve less keywords.
- Write less punctuations.

@@ -25,3 +32,2 @@ ## Differences

## Help

@@ -33,5 +39,76 @@

### 0.3.2
- Unrestricted ADI for identifiers beyond `@` and `::`.
$ coco -bpe '/x/exec(s)input'
/x/.exec(s).input;
- Expanded property shorthands beyond `@foo`:
$ coco -bpe '{a.b, (c.d)e}'
({
b: a.b,
e: c.d.e
});
- Added `typeof!`, which inspects the internal _[[Class]]_ property:
$ coco -e 'typeof! //'
RegExp
- Added shebang support.
$ coco -pe '`#!node`; ...'
#!node
(function(){
throw Error('unimplemented');
}).call(this);
- REPL results now evaluate more intuitively:
coco> i for i from 3
[ 0, 1, 2 ]
- Disallowed whitespace mixup for indentations.
### 0.3.1
- `debugger` now works anywhere.
- Revised heregex flag syntax: `///#{x}#{y}///?` -> `RegExp('' + x, y);`
- Removed `Coco.eval`.
- Made _extras/coco.js_ work as a mini-compiler on WSH.
- Added _extras/mode-coco.js_, an editing mode for Ace.
- Added `--json` option.
### 0.3.0
#### Pure Additions
- Added _backcall_, a sugar to flatten nested callbacks:
$ coco -bpe 'a <- f; b'
f(function(a){
return b;
});
- `do` block can now work as a pair of normal parentheses.
- Improved _ACI_ (automatic comma insertion): `f {} [] x` -> `f({}, [], x);`
- Improved _ADI_ (automatic dot insertion): `@@0'!'` -> `arguments[0]['!'];`
- Multi-line block on the RHS of object property now works as an implicit array:
$ coco -bsp
a:
b
c
({
a: [b, c]
});
- Heregexes now support dynamic flags: `/// x #{? y } ///` -> `RegExp('x', y);`
- Enabled compound _accessigns_: `a.+=b` -> `a += a.b;`
- `...` in array destructuring (same as `...[]`) now skips items rather than `slice`ing them. ([coffee#870](https://github.com/jashkenas/coffee-script/issues/870))
- Compilation errors now report line numbers.
- `Coco` object now emits more events for use with `--require`.
#### Incompatible Changes
- <del>`=>`</del> -> <ins>`~>`</ins>
- <del>`&.`</del> -> <ins>`~.`</ins>
- Braceless objects no longer consume property shorthands.
([coffee#618](https://github.com/jashkenas/coffee-script/issues/618))
- Indentations within non-here strings are now stripped.
$ coco -bsp
'123
456'
'123456';
- [Fixed](https://github.com/jashkenas/coffee-script/issues/1050)
block comment syntax to good ol' `/* */`.
- `@0` is now `this[0]` rather than `arguments[0]`.
### 0.2.2
- `is not` is the new `isnt`.
- `@'++'` is now valid as a shorhand for `@['++']`.
- `@'++'` is now valid as a shorthand for `@['++']`.
- Commas between primitive values are now optional.

@@ -42,3 +119,3 @@ $ coco -bpe '[null true 1 "2"]'

- _extras/coco.js_ now works as a Gecko JS Module.
- Grouped documentation suite into doc/ for portability.
- Grouped documentation suite into _doc/_ for portability.
- Rewrote _src/optparse.co_.

@@ -45,0 +122,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc